Skip to content

Commit 4512019

Browse files
droserasproutVladimir BobrikovWizard1209
authored
Bump version 8.0.0 (#1087)
Co-authored-by: Vladimir Bobrikov <[email protected]> Co-authored-by: Lev Gorodetskiy <[email protected]> Co-authored-by: Wizard1209 <[email protected]>
1 parent ba9e116 commit 4512019

File tree

310 files changed

+2275
-3073
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

310 files changed

+2275
-3073
lines changed

CHANGELOG.md

Lines changed: 31 additions & 1164 deletions
Large diffs are not rendered by default.

Makefile

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,12 @@ demos: ## Recreate demo projects from templates
8888
python scripts/demos.py init ${DEMO}
8989
make format lint
9090

91+
demos_refresh:
92+
for demo in `ls src | grep demo | grep -v etherlink`; do cd src/$$demo && dipdup init -b -f && cd ../..; done
93+
make format lint
94+
9195
before_release: ## Prepare for a new release after updating version in pyproject.toml
92-
make format
93-
make lint
94-
make update
95-
make demos
96-
make test
97-
make docs
96+
make format lint update demos test docs
9897

9998
jsonschemas: ## Dump config JSON schemas
10099
python scripts/docs.py dump-jsonschema

benchmarks/Makefile

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
SHELL=/bin/bash
1+
SHELL=/usr/bin/zsh
22
DEMO=demo_evm_events
33

44
run_in_memory:
55
time dipdup -c ../src/${DEMO} -c ./oneshot_${DEMO}.yaml run
66

77
run_in_postgres:
8-
touch ../src/${DEMO}/deploy/test.env && \
9-
echo "HASURA_SECRET=test" > ../src/${DEMO}/deploy/test.env && \
10-
echo "POSTGRES_PASSWORD=test" >> ../src/${DEMO}/deploy/test.env && \
11-
cd ../src/${DEMO}/deploy && docker-compose --env-file test.env up -d db
8+
touch ../src/${DEMO}/deploy/.env && \
9+
echo "HASURA_SECRET=test" > ../src/${DEMO}/deploy/.env && \
10+
echo "POSTGRES_PASSWORD=test" >> ../src/${DEMO}/deploy/.env && \
11+
cd ../src/${DEMO}/deploy && docker-compose --env-file .env up -d db
1212

1313
export POSTGRES_PORT=`docker port ${DEMO}-db-1 5432 | cut -d: -f2` && \
1414
time dipdup -c ../src/${DEMO} -c ./oneshot_${DEMO}.yaml -c ./local_postgres.yaml run
1515

1616
down:
17-
cd ../src/${DEMO}/deploy && docker-compose down && rm test.env
17+
cd ../src/${DEMO}/deploy && docker-compose down && rm .env
1818
docker volume rm -f ${DEMO}_db
1919

2020
cpu_up:

benchmarks/README.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -44,31 +44,31 @@ See the Makefile for details.
4444
- interval: 10,000,000 to 10,100,000 (100,000 levels, 93,745 non-empty)
4545
- database: in-memory sqlite
4646

47-
| run | time | bps | vs. asyncio | vs. 7.5 |
48-
| ---------------- | ---------------------------------------------------- | --- | ----------- | ------- |
49-
| 7.5.9, asyncio | 1044,56s user 258,07s system 102% cpu 21:06,02 total | 79 | | |
50-
| 7.5.10, uvloop | 924,94s user 182,33s system 102% cpu 18:04,67 total | 92 | 1.15 | |
51-
| 8.0.0b4, asyncio | 832,32s user 163,20s system 101% cpu 16:19,93 total | 102 | | 1.29 |
52-
| 8.0.0b5, uvloop | 730,58s user 88,67s system 98% cpu 13:48,46 total | 121 | 1.18 | 1.31 |
47+
| run | time | bps | vs. asyncio | vs. 7.5 |
48+
| ---------------- | ---------------------------------------------------- | --------- | ----------- | ------- |
49+
| 7.5.9, asyncio | 1044,56s user 258,07s system 102% cpu 21:06,02 total | 79 | | |
50+
| 7.5.10, uvloop | 924,94s user 182,33s system 102% cpu 18:04,67 total | 92 | 1.15 | |
51+
| 8.0.0b4, asyncio | 832,32s user 163,20s system 101% cpu 16:19,93 total | 102 | | 1.29 |
52+
| 8.0.0, uvloop | 721,13s user 84,17s system 98% cpu 13:33,88 total | 123 (116) | 1.18 | 1.31 |
5353

5454
#### Without CPU boost
5555

5656
The same tests run without frequency boost, which increases frequency from 2.9 GHz base up to 4.2 GHz. Gives some understanding of the impact of CPU performance.
5757

5858
Run `echo 0 | sudo tee /sys/devices/system/cpu/cpufreq/boost`.
5959

60-
| run | time | bps | vs. boost |
61-
| ------------------------- | ---------------------------------------------------- | --- | --------- |
62-
| 7.5.10, uvloop, no boost | 1329,36s user 231,93s system 101% cpu 25:31,69 total | 65 | 0.82 |
63-
| 8.0.0b5, uvloop, no boost | 1048,85s user 115,34s system 99% cpu 19:35,61 total | 85 | 0.70 |
60+
| run | time | bps | vs. boost |
61+
| ------------------------ | ---------------------------------------------------- | --- | --------- |
62+
| 7.5.10, uvloop, no boost | 1329,36s user 231,93s system 101% cpu 25:31,69 total | 65 | 0.82 |
63+
| 8.0.0, uvloop, no boost | 1048,85s user 115,34s system 99% cpu 19:35,61 total | 85 | 0.70 |
6464

6565
In the subsequent runs, we will skip the 7.5 branch; speedup vs 8.0 is pretty stable.
6666

6767
#### With PostgreSQL
6868

69-
| run | time | bps | vs. in-memory |
70-
| --------------- | --------------------------------------------- | --- | ------------- |
71-
| 8.0.0b5, uvloop | real 36m30,878s user 17m23,406s sys 3m38,196s | 46 | 0.38 |
69+
| run | time | bps | vs. in-memory |
70+
| ------------- | --------------------------------------------------- | ------- | ------------- |
71+
| 8.0.0, uvloop | 1083,66s user 214,23s system 57% cpu 37:33,04 total | 46 (42) | 0.36 |
7272

7373
### starknet.events
7474

@@ -79,13 +79,13 @@ In the subsequent runs, we will skip the 7.5 branch; speedup vs 8.0 is pretty st
7979
| run | time | bps | speedup |
8080
| ---------------- | ------------------------------------------------- | --- | ------- |
8181
| 8.0.0b4, asyncio | 246,94s user 61,67s system 100% cpu 5:07,54 total | 326 | 1 |
82-
| 8.0.0b5, uvloop | 213,01s user 33,22s system 96% cpu 4:14,32 total | 394 | 1.20 |
82+
| 8.0.0, uvloop | 213,01s user 33,22s system 96% cpu 4:14,32 total | 394 | 1.20 |
8383

8484
#### With PostgreSQL
8585

86-
| run | time | bps | vs. in-memory |
87-
| --------------- | ------------------------------------------- | --- | ------------- |
88-
| 8.0.0b5, uvloop | real 12m6,394s user 5m24,683s sys 1m14,761s | 138 | 0.35 |
86+
| run | time | bps | vs. in-memory |
87+
| ------------- | ------------------------------------------- | --- | ------------- |
88+
| 8.0.0, uvloop | real 12m6,394s user 5m24,683s sys 1m14,761s | 138 | 0.35 |
8989

9090
### tezos.big_maps
9191

@@ -98,4 +98,4 @@ Only our code. And only 7% of blocks are non-empty.
9898
| run | time | bps | speedup |
9999
| ---------------- | ------------------------------------------------ | ---------- | ------- |
100100
| 8.0.0b4, asyncio | 136,63s user 17,91s system 98% cpu 2:37,40 total | 3185 (221) | 1 |
101-
| 8.0.0b5, uvloop | 124,44s user 9,75s system 98% cpu 2:16,80 total | 3650 (254) | 1.15 |
101+
| 8.0.0, uvloop | 124,44s user 9,75s system 98% cpu 2:16,80 total | 3650 (254) | 1.15 |

docs/0.quickstart-evm.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ Let's create an indexer for the [USDt token contract](https://etherscan.io/addre
1515

1616
A modern Linux/macOS distribution with Python 3.12 installed is required to run DipDup.
1717

18-
The easiest way to install DipDup as a CLI application [pipx](https://pipx.pypa.io/stable/). We have a convenient wrapper script that installs DipDup for the current user. Run the following command in your terminal:
18+
The recommended way to install DipDup CLI is [pipx](https://pipx.pypa.io/stable/). We also provide a convenient helper script that installs all necessary tools. Run the following command in your terminal:
1919

2020
{{ #include _curl-spell.md }}
2121

22-
See the [Installation](https://dipdup.io/docs/installation) page for all options.
22+
See the [Installation](../docs/1.getting-started/1.installation.md) page for all options.
2323

2424
## Create a project
2525

@@ -32,14 +32,14 @@ dipdup new
3232
Choose `EVM` network and `demo_evm_events` template.
3333

3434
::banner{type="note"}
35-
Want to skip a tutorial and start from scratch? Choose `[none]` and `demo_blank` instead and proceed to the [Config](1.getting-started/3.config.md) section.
35+
Want to skip a tutorial and start from scratch? Choose `[none]` and `demo_blank` instead and proceed to the [Config](../docs/1.getting-started/3.config.md) section.
3636
::
3737

3838
Follow the instructions; the project will be created in the new directory.
3939

4040
## Write a configuration file
4141

42-
In the project root, you'll find a file named `dipdup.yaml`. It's the main configuration file of your indexer. We will discuss it in detail in the [Config](1.getting-started/3.config.md) section; now it has the following content:
42+
In the project root, you'll find a file named `dipdup.yaml`. It's the main configuration file of your indexer. We will discuss it in detail in the [Config](../docs/1.getting-started/3.config.md) section; now it has the following content:
4343

4444
```yaml [dipdup.yaml]
4545
{{ #include ../src/demo_evm_events/dipdup.yaml }}
@@ -157,6 +157,6 @@ If you use SQLite, run this query to check the data:
157157
sqlite3 demo_evm_events.sqlite 'SELECT * FROM holder LIMIT 10'
158158
```
159159

160-
If you run a Compose stack, check open `http://127.0.0.1:8080` in your browser to see the Hasura console (an exposed port may differ). You can use it to explore the database and build GraphQL queries.
160+
If you run a Compose stack, open `http://127.0.0.1:8080` in your browser to see the Hasura console (an exposed port may differ). You can use it to explore the database and build GraphQL queries.
161161

162162
Congratulations! You've just created your first DipDup indexer. Proceed to the Getting Started section to learn more about DipDup configuration and features.

docs/0.quickstart-starknet.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ Let's create an indexer for the [USDt token contract](https://starkscan.co/contr
1515

1616
A modern Linux/macOS distribution with Python 3.12 installed is required to run DipDup.
1717

18-
The easiest way to install DipDup as a CLI application [pipx](https://pipx.pypa.io/stable/). We have a convenient wrapper script that installs DipDup for the current user. Run the following command in your terminal:
18+
The recommended way to install DipDup CLI is [pipx](https://pipx.pypa.io/stable/). We also provide a convenient helper script that installs all necessary tools. Run the following command in your terminal:
1919

2020
{{ #include _curl-spell.md }}
2121

22-
See the [Installation](https://dipdup.io/docs/installation) page for all options.
22+
See the [Installation](../docs/1.getting-started/1.installation.md) page for all options.
2323

2424
## Create a project
2525

@@ -32,14 +32,14 @@ dipdup new
3232
Choose `Starknet` network and `demo_starknet_events` template.
3333

3434
::banner{type="note"}
35-
Want to skip a tutorial and start from scratch? Choose `[none]` and `demo_blank` instead and proceed to the [Config](1.getting-started/3.config.md) section.
35+
Want to skip a tutorial and start from scratch? Choose `[none]` and `demo_blank` instead and proceed to the [Config](../docs/1.getting-started/3.config.md) section.
3636
::
3737

3838
Follow the instructions; the project will be created in the new directory.
3939

4040
## Write a configuration file
4141

42-
In the project root, you'll find a file named `dipdup.yaml`. It's the main configuration file of your indexer. We will discuss it in detail in the [Config](1.getting-started/3.config.md) section; now it has the following content:
42+
In the project root, you'll find a file named `dipdup.yaml`. It's the main configuration file of your indexer. We will discuss it in detail in the [Config](../docs/1.getting-started/3.config.md) section; now it has the following content:
4343

4444
```yaml [dipdup.yaml]
4545
{{ #include ../src/demo_starknet_events/dipdup.yaml }}
@@ -157,6 +157,6 @@ If you use SQLite, run this query to check the data:
157157
sqlite3 demo_starknet_events.sqlite 'SELECT * FROM holder LIMIT 10'
158158
```
159159

160-
If you run a Compose stack, check open `http://127.0.0.1:8080` in your browser to see the Hasura console (an exposed port may differ). You can use it to explore the database and build GraphQL queries.
160+
If you run a Compose stack, open `http://127.0.0.1:8080` in your browser to see the Hasura console (an exposed port may differ). You can use it to explore the database and build GraphQL queries.
161161

162162
Congratulations! You've just created your first DipDup indexer. Proceed to the Getting Started section to learn more about DipDup configuration and features.

docs/0.quickstart-tezos.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ Let's create an indexer for the [tzBTC FA1.2 token contract](https://tzkt.io/KT1
1515

1616
A modern Linux/macOS distribution with Python 3.12 installed is required to run DipDup.
1717

18-
The easiest way to install DipDup as a CLI application [pipx](https://pipx.pypa.io/stable/). We have a convenient wrapper script that installs DipDup for the current user. Run the following command in your terminal:
18+
The recommended way to install DipDup CLI is [pipx](https://pipx.pypa.io/stable/). We also provide a convenient helper script that installs all necessary tools. Run the following command in your terminal:
1919

2020
{{ #include _curl-spell.md }}
2121

22-
See the [Installation](https://dipdup.io/docs/installation) page for all options.
22+
See the [Installation](../docs/1.getting-started/1.installation.md) page for all options.
2323

2424
## Create a project
2525

@@ -32,14 +32,14 @@ dipdup new
3232
Choose `Tezos` network and `demo_tezos_token` template.
3333

3434
::banner{type="note"}
35-
Want to skip a tutorial and start from scratch? Choose `[none]` and `demo_blank` instead and proceed to the [Config](1.getting-started/3.config.md) section.
35+
Want to skip a tutorial and start from scratch? Choose `[none]` and `demo_blank` instead and proceed to the [Config](./1.getting-started/3.config.md) section.
3636
::
3737

3838
Follow the instructions; the project will be created in the new directory.
3939

4040
## Write a configuration file
4141

42-
In the project root, you'll find a file named `dipdup.yaml`. It's the main configuration file of your indexer. We will discuss it in detail in the [Config](1.getting-started/3.config.md) section; now it has the following content:
42+
In the project root, you'll find a file named `dipdup.yaml`. It's the main configuration file of your indexer. We will discuss it in detail in the [Config](../docs/1.getting-started/3.config.md) section; now it has the following content:
4343

4444
```yaml [dipdup.yaml]
4545
{{ #include ../src/demo_tezos_token/dipdup.yaml }}
@@ -170,6 +170,6 @@ If you use SQLite, run this query to check the data:
170170
sqlite3 demo_tezos_token.sqlite 'SELECT * FROM holder LIMIT 10'
171171
```
172172

173-
If you run a Compose stack, check open `http://127.0.0.1:8080` in your browser to see the Hasura console (an exposed port may differ). You can use it to explore the database and build GraphQL queries.
173+
If you run a Compose stack, open `http://127.0.0.1:8080` in your browser to see the Hasura console (an exposed port may differ). You can use it to explore the database and build GraphQL queries.
174174

175175
Congratulations! You've just created your first DipDup indexer. Proceed to the Getting Started section to learn more about DipDup configuration and features.

docs/1.getting-started/1.installation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,4 @@ pip install -r requirements.txt -e .
5252

5353
## Docker
5454

55-
For Docker installation, please refer to the [Docker](../6.deployment/2.docker.md) page.
55+
For Docker installation, please refer to the [Docker](../5.advanced/1.docker.md) page.

0 commit comments

Comments
 (0)