From b295dc6b09e1040c44778c66da2db5810552ba2b Mon Sep 17 00:00:00 2001 From: Lev Gorodetskii Date: Wed, 16 Oct 2024 16:47:46 -0300 Subject: [PATCH] Bump version 8.1.0 (#1127) --- CHANGELOG.md | 4 +- docs/7.references/2.config.md | 6 +- docs/8.examples/_demos_table.md | 36 ++-- docs/9.release-notes/1.v8.1.md | 14 +- docs/9.release-notes/_8.1_changelog.md | 2 +- pdm.lock | 173 ++++++++++-------- pyproject.toml | 16 +- requirements.txt | 19 +- schemas/dipdup-3.0.json | 12 +- src/demo_blank/pyproject.toml | 2 +- src/demo_evm_events/pyproject.toml | 2 +- .../types/eth_usdt/evm_events/transfer.py | 2 +- src/demo_evm_transactions/pyproject.toml | 2 +- .../eth_usdt/evm_transactions/transfer.py | 2 +- src/demo_evm_uniswap/pyproject.toml | 2 +- .../types/factory/evm_events/pool_created.py | 2 +- .../types/pool/evm_events/burn.py | 2 +- .../types/pool/evm_events/collect.py | 2 +- .../types/pool/evm_events/flash.py | 2 +- .../types/pool/evm_events/initialize.py | 2 +- .../types/pool/evm_events/mint.py | 2 +- .../types/pool/evm_events/swap.py | 2 +- .../position_manager/evm_events/collect.py | 2 +- .../evm_events/decrease_liquidity.py | 2 +- .../evm_events/increase_liquidity.py | 2 +- .../position_manager/evm_events/transfer.py | 2 +- src/demo_starknet_events/pyproject.toml | 2 +- .../stark_usdt/starknet_events/transfer.py | 2 +- src/demo_tezos_auction/pyproject.toml | 2 +- .../tzcolors_auction/tezos_parameters/bid.py | 2 +- .../tezos_parameters/create_auction.py | 2 +- .../tezos_parameters/withdraw.py | 2 +- .../types/tzcolors_auction/tezos_storage.py | 2 +- src/demo_tezos_dao/pyproject.toml | 2 +- .../registry/tezos_parameters/propose.py | 2 +- .../types/registry/tezos_storage.py | 2 +- src/demo_tezos_dex/pyproject.toml | 2 +- .../fa12_token/tezos_parameters/transfer.py | 2 +- .../types/fa12_token/tezos_storage.py | 2 +- .../fa2_token/tezos_parameters/transfer.py | 2 +- .../types/fa2_token/tezos_storage.py | 2 +- .../tezos_parameters/divest_liquidity.py | 2 +- .../tezos_parameters/invest_liquidity.py | 2 +- .../tezos_parameters/tez_to_token_payment.py | 2 +- .../tezos_parameters/token_to_tez_payment.py | 2 +- .../quipu_fa12/tezos_parameters/transfer.py | 2 +- .../tezos_parameters/withdraw_profit.py | 2 +- .../types/quipu_fa12/tezos_storage.py | 2 +- .../tezos_parameters/divest_liquidity.py | 2 +- .../tezos_parameters/invest_liquidity.py | 2 +- .../tezos_parameters/tez_to_token_payment.py | 2 +- .../tezos_parameters/token_to_tez_payment.py | 2 +- .../quipu_fa2/tezos_parameters/transfer.py | 2 +- .../tezos_parameters/withdraw_profit.py | 2 +- .../types/quipu_fa2/tezos_storage.py | 2 +- src/demo_tezos_domains/pyproject.toml | 2 +- .../tezos_big_maps/store_expiry_map_key.py | 2 +- .../tezos_big_maps/store_expiry_map_value.py | 2 +- .../tezos_big_maps/store_records_key.py | 2 +- .../tezos_big_maps/store_records_value.py | 2 +- src/demo_tezos_etherlink/pyproject.toml | 2 +- .../types/rollup/tezos_parameters/default.py | 2 +- .../types/rollup/tezos_storage.py | 2 +- .../ticket_helper/tezos_parameters/default.py | 2 +- .../types/ticket_helper/tezos_storage.py | 2 +- .../ticketer/tezos_parameters/deposit.py | 2 +- .../ticketer/tezos_parameters/withdraw.py | 2 +- .../types/ticketer/tezos_storage.py | 2 +- src/demo_tezos_events/pyproject.toml | 2 +- .../events_contract/tezos_events/move.py | 2 +- .../events_contract/tezos_events/roll.py | 2 +- src/demo_tezos_factories/pyproject.toml | 2 +- .../types/factory/tezos_storage.py | 2 +- .../types/token/tezos_parameters/transfer.py | 2 +- .../types/token/tezos_storage.py | 2 +- src/demo_tezos_head/pyproject.toml | 2 +- src/demo_tezos_nft_marketplace/pyproject.toml | 2 +- .../tezos_parameters/cancel_swap.py | 2 +- .../hen_minter/tezos_parameters/collect.py | 2 +- .../hen_minter/tezos_parameters/mint_objkt.py | 2 +- .../types/hen_minter/tezos_parameters/swap.py | 2 +- .../types/hen_minter/tezos_storage.py | 2 +- .../types/hen_objkts/tezos_parameters/mint.py | 2 +- .../types/hen_objkts/tezos_storage.py | 2 +- src/demo_tezos_raw/pyproject.toml | 2 +- src/demo_tezos_token/pyproject.toml | 2 +- .../types/tzbtc/tezos_parameters/mint.py | 2 +- .../types/tzbtc/tezos_parameters/transfer.py | 2 +- .../types/tzbtc/tezos_storage.py | 2 +- src/demo_tezos_token_balances/pyproject.toml | 2 +- src/demo_tezos_token_transfers/pyproject.toml | 2 +- src/dipdup/_version.py | 5 +- src/dipdup/config/__init__.py | 8 +- src/dipdup/fields.py | 20 +- src/dipdup/hasura.py | 19 +- src/dipdup/http.py | 7 +- src/dipdup/sentry.py | 2 +- 97 files changed, 259 insertions(+), 248 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2464c7e6..b83fd0347 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic Releases prior to 7.0 has been removed from this file to declutter search results; see the [archived copy](https://github.com/dipdup-io/dipdup/blob/8.0.0b5/CHANGELOG.md) for the full list. -## [8.1.0] - 2024-10-?? +## [8.1.0] - 2024-10-16 ### Added @@ -14,7 +14,7 @@ Releases prior to 7.0 has been removed from this file to declutter search result - cli: Added `schema` subcommands to manage database migrations: `migrate`, `upgrade`, `downgrade`, `heads` and `history`. - cli: Added interactive mode for `new` command. - database: Support database migrations using [`aerich`](https://github.com/tortoise/aerich). -- hasura: Added `ignore` and `ignore_internal` config options to hide specific tables/views. +- hasura: Added `hide` and `hide_internal` config options to make specified tables/views private. ### Fixed diff --git a/docs/7.references/2.config.md b/docs/7.references/2.config.md index e533a0867..ead794c18 100644 --- a/docs/7.references/2.config.md +++ b/docs/7.references/2.config.md @@ -333,7 +333,7 @@ description: "Config file reference" ## dipdup.config.HasuraConfig -class dipdup.config.HasuraConfig(url, admin_secret=None, create_source=False, source='default', select_limit=1000, allow_aggregations=True, allow_inconsistent_metadata=False, camel_case=False, rest=True, http=None, ignore_internal=False, ignore=None) +class dipdup.config.HasuraConfig(url, admin_secret=None, create_source=False, source='default', select_limit=1000, allow_aggregations=True, allow_inconsistent_metadata=False, camel_case=False, rest=True, http=None, hide_internal=False, hide=None)

Config for the Hasura integration.

Parameters:
@@ -348,8 +348,8 @@ description: "Config file reference"
  • camel_case (bool) – Whether to use camelCase instead of default pascal_case for the field names.

  • rest (bool) – Enable REST API both for autogenerated and custom queries.

  • http (HttpConfig | None) – HTTP connection tunables

  • -
  • ignore_internal (bool) – Whether to ignore internal tables (prefixed with “dipdup”) when generating the GraphQL API.

  • -
  • ignore (list[str]) – List of additional table names to ignore when generating the GraphQL API.

  • +
  • hide_internal (bool) – Whether to make internal tables (prefixed with “dipdup”) private.

  • +
  • hide (list[str]) – List of table/view names to make private.

  • diff --git a/docs/8.examples/_demos_table.md b/docs/8.examples/_demos_table.md index c552a6a52..2337fd031 100644 --- a/docs/8.examples/_demos_table.md +++ b/docs/8.examples/_demos_table.md @@ -1,21 +1,21 @@ | name | network | description | source | |-|-|-|-| -| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_blank) | -| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_evm_events) | -| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_evm_transactions) | -| demo_evm_uniswap | EVM | Uniswap V3 pools, positions, etc. (advanced, uses TimescaleDB) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_evm_uniswap) | -| demo_starknet_events | Starknet | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_starknet_events) | -| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_auction) | -| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_dao) | -| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_dex) | -| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_domains) | -| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_etherlink) | -| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_events) | -| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_factories) | -| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_head) | -| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_nft_marketplace) | -| demo_tezos_raw | Tezos | Process raw operations without filtering and typed payloads | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_raw) | -| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_token) | -| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_token_balances) | -| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.0.0/src/demo_tezos_token_transfers) | +| demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_blank) | +| demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_evm_events) | +| demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_evm_transactions) | +| demo_evm_uniswap | EVM | Uniswap V3 pools, positions, etc. (advanced, uses TimescaleDB) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_evm_uniswap) | +| demo_starknet_events | Starknet | ERC-20 token transfers (from events) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_starknet_events) | +| demo_tezos_auction | Tezos | NFT marketplace (TzColors) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_auction) | +| demo_tezos_dao | Tezos | DAO registry (Homebase DAO) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_dao) | +| demo_tezos_dex | Tezos | DEX balances and liquidity (Quipuswap) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_dex) | +| demo_tezos_domains | Tezos | Domain name service (Tezos Domains) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_domains) | +| demo_tezos_etherlink | Tezos | Etherlink smart rollup transactions | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_etherlink) | +| demo_tezos_events | Tezos | Processing contract events | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_events) | +| demo_tezos_factories | Tezos | Example of spawning indexes in runtime | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_factories) | +| demo_tezos_head | Tezos | Processing head block metadata (realtime only) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_head) | +| demo_tezos_nft_marketplace | Tezos | NFT marketplace (hic at nunc) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_nft_marketplace) | +| demo_tezos_raw | Tezos | Process raw operations without filtering and typed payloads | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_raw) | +| demo_tezos_token | Tezos | FA1.2 token contract operations | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_token) | +| demo_tezos_token_balances | Tezos | FA1.2 token balances | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_token_balances) | +| demo_tezos_token_transfers | Tezos | FA1.2 token transfers | [link](https://github.com/dipdup-io/dipdup/tree/8.1.0/src/demo_tezos_token_transfers) | diff --git a/docs/9.release-notes/1.v8.1.md b/docs/9.release-notes/1.v8.1.md index d29930f60..02c9c8247 100644 --- a/docs/9.release-notes/1.v8.1.md +++ b/docs/9.release-notes/1.v8.1.md @@ -7,5 +7,17 @@ description: DipDup 8.1 release notes # Release Notes: 8.1 -{{ #include 9.release-notes/_8.0_changelog.md }} +This release was created during the [ODHack 8.0](https://app.onlydust.com/hackathons/odhack-80) event by the following participants: + +@bigherc18 contributed support for database migrations using the Aerich tool. This optional integration allows to manage database migrations with the `dipdup schema` commands. See the [Migrations](../1.getting-started/5.database.md#migrations) section to learn to enable and use this integration. + +@JoE11-y contributed an interactive config generator. Now you can create a working DipDup config without knowing the syntax, just answering the questions. Run `dipdup new` command and choose "Interactively" to try it out. + +@tosoham contributed the `hide` and `hide_internal` config options to make tables/views private in Hasura API. See the [Hasura config reference](https://dipdup.io/docs/references/config#dipdupconfighasuraconfig). + +@MrRoudyk contributed improvements to the version checker, so you'll never miss an update. And @fabrobles92 improved the readability of app reports. + +Thank you! + +{{ #include 9.release-notes/_8.1_changelog.md }} {{ #include 9.release-notes/_footer.md }} diff --git a/docs/9.release-notes/_8.1_changelog.md b/docs/9.release-notes/_8.1_changelog.md index 69e1c57f2..04bc4bb9f 100644 --- a/docs/9.release-notes/_8.1_changelog.md +++ b/docs/9.release-notes/_8.1_changelog.md @@ -7,7 +7,7 @@ - cli: Added `schema` subcommands to manage database migrations: `migrate`, `upgrade`, `downgrade`, `heads` and `history`. - cli: Added interactive mode for `new` command. - database: Support database migrations using [`aerich`](https://github.com/tortoise/aerich). -- hasura: Added `ignore` and `ignore_internal` config options to hide specific tables/views. +- hasura: Added `hide` and `hide_internal` config options to make specified tables/views private. ### Fixed diff --git a/pdm.lock b/pdm.lock index b209e45fc..7e9c1348d 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "docs", "lint", "migrations", "perf", "test"] strategy = ["inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:7f4333f669cfe9240e257bef6afabd34b58ce39354dc611b6c74a4838ac66f85" +content_hash = "sha256:d20bdcb8b0b8ce671b85925a71abbe6cd643993a333e7c00cbeb0546c10559e7" [[metadata.targets]] requires_python = ">=3.12,<3.13" @@ -41,7 +41,7 @@ files = [ [[package]] name = "aiohttp" -version = "3.10.2" +version = "3.10.10" requires_python = ">=3.8" summary = "Async http client/server framework (asyncio)" groups = ["default", "test"] @@ -52,25 +52,25 @@ dependencies = [ "attrs>=17.3.0", "frozenlist>=1.1.1", "multidict<7.0,>=4.5", - "yarl<2.0,>=1.0", + "yarl<2.0,>=1.12.0", ] files = [ - {file = "aiohttp-3.10.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:14eb6b17f6246959fb0b035d4f4ae52caa870c4edfb6170aad14c0de5bfbf478"}, - {file = "aiohttp-3.10.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:465e445ec348d4e4bd349edd8b22db75f025da9d7b6dc1369c48e7935b85581e"}, - {file = "aiohttp-3.10.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:341f8ece0276a828d95b70cd265d20e257f5132b46bf77d759d7f4e0443f2906"}, - {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c01fbb87b5426381cd9418b3ddcf4fc107e296fa2d3446c18ce6c76642f340a3"}, - {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2c474af073e1a6763e1c5522bbb2d85ff8318197e4c6c919b8d7886e16213345"}, - {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d9076810a5621236e29b2204e67a68e1fe317c8727ee4c9abbfbb1083b442c38"}, - {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8f515d6859e673940e08de3922b9c4a2249653b0ac181169313bd6e4b1978ac"}, - {file = "aiohttp-3.10.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:655e583afc639bef06f3b2446972c1726007a21003cd0ef57116a123e44601bc"}, - {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8da9449a575133828cc99985536552ea2dcd690e848f9d41b48d8853a149a959"}, - {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:19073d57d0feb1865d12361e2a1f5a49cb764bf81a4024a3b608ab521568093a"}, - {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8e98e1845805f184d91fda6f9ab93d7c7b0dddf1c07e0255924bfdb151a8d05"}, - {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:377220a5efde6f9497c5b74649b8c261d3cce8a84cb661be2ed8099a2196400a"}, - {file = "aiohttp-3.10.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:92f7f4a4dc9cdb5980973a74d43cdbb16286dacf8d1896b6c3023b8ba8436f8e"}, - {file = "aiohttp-3.10.2-cp312-cp312-win32.whl", hash = "sha256:9bb2834a6f11d65374ce97d366d6311a9155ef92c4f0cee543b2155d06dc921f"}, - {file = "aiohttp-3.10.2-cp312-cp312-win_amd64.whl", hash = "sha256:518dc3cb37365255708283d1c1c54485bbacccd84f0a0fb87ed8917ba45eda5b"}, - {file = "aiohttp-3.10.2.tar.gz", hash = "sha256:4d1f694b5d6e459352e5e925a42e05bac66655bfde44d81c59992463d2897014"}, + {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9294bbb581f92770e6ed5c19559e1e99255e4ca604a22c5c6397b2f9dd3ee42c"}, + {file = "aiohttp-3.10.10-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a8fa23fe62c436ccf23ff930149c047f060c7126eae3ccea005f0483f27b2e28"}, + {file = "aiohttp-3.10.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5c6a5b8c7926ba5d8545c7dd22961a107526562da31a7a32fa2456baf040939f"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:007ec22fbc573e5eb2fb7dec4198ef8f6bf2fe4ce20020798b2eb5d0abda6138"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9627cc1a10c8c409b5822a92d57a77f383b554463d1884008e051c32ab1b3742"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:50edbcad60d8f0e3eccc68da67f37268b5144ecc34d59f27a02f9611c1d4eec7"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a45d85cf20b5e0d0aa5a8dca27cce8eddef3292bc29d72dcad1641f4ed50aa16"}, + {file = "aiohttp-3.10.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b00807e2605f16e1e198f33a53ce3c4523114059b0c09c337209ae55e3823a8"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f2d4324a98062be0525d16f768a03e0bbb3b9fe301ceee99611dc9a7953124e6"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:438cd072f75bb6612f2aca29f8bd7cdf6e35e8f160bc312e49fbecab77c99e3a"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:baa42524a82f75303f714108fea528ccacf0386af429b69fff141ffef1c534f9"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a7d8d14fe962153fc681f6366bdec33d4356f98a3e3567782aac1b6e0e40109a"}, + {file = "aiohttp-3.10.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c1277cd707c465cd09572a774559a3cc7c7a28802eb3a2a9472588f062097205"}, + {file = "aiohttp-3.10.10-cp312-cp312-win32.whl", hash = "sha256:59bb3c54aa420521dc4ce3cc2c3fe2ad82adf7b09403fa1f48ae45c0cbde6628"}, + {file = "aiohttp-3.10.10-cp312-cp312-win_amd64.whl", hash = "sha256:0e1b370d8007c4ae31ee6db7f9a2fe801a42b146cec80a86766e7ad5c4a259cf"}, + {file = "aiohttp-3.10.10.tar.gz", hash = "sha256:0631dd7c9f0822cc61c88586ca76d5b5ada26538097d0f1df510b082bad3411a"}, ] [[package]] @@ -516,8 +516,8 @@ files = [ [[package]] name = "datamodel-code-generator" -version = "0.25.9" -requires_python = "<4.0,>=3.7" +version = "0.26.1" +requires_python = "<4.0,>=3.8" summary = "Datamodel Code Generator" groups = ["default"] dependencies = [ @@ -536,8 +536,8 @@ dependencies = [ "toml<1.0.0,>=0.10.0; python_version < \"3.11\"", ] files = [ - {file = "datamodel_code_generator-0.25.9-py3-none-any.whl", hash = "sha256:9e0324233123d6e39a35bc0004771956935889a974aacfd7a0651de11d2219a9"}, - {file = "datamodel_code_generator-0.25.9.tar.gz", hash = "sha256:65ca9807d8edbd88a7f7931c10f4bc1c08bd9bbc5bb0508418a2b6a16590eb65"}, + {file = "datamodel_code_generator-0.26.1-py3-none-any.whl", hash = "sha256:bbe8a6cc0b9cfdbfd294e336e02b4c50b481ffc3b3c608b5578b6d7aa02cc8ae"}, + {file = "datamodel_code_generator-0.26.1.tar.gz", hash = "sha256:3b7b49c4230fa197ca28847e1e8996cd664638a7e91796c826a61c60d4ccd8a2"}, ] [[package]] @@ -869,13 +869,13 @@ files = [ [[package]] name = "iso8601" -version = "1.1.0" -requires_python = ">=3.6.2,<4.0" +version = "2.1.0" +requires_python = ">=3.7,<4.0" summary = "Simple module to parse ISO 8601 dates" groups = ["default", "migrations"] files = [ - {file = "iso8601-1.1.0-py3-none-any.whl", hash = "sha256:8400e90141bf792bce2634df533dc57e3bee19ea120a87bebcd3da89a58ad73f"}, - {file = "iso8601-1.1.0.tar.gz", hash = "sha256:32811e7b81deee2063ea6d2e94f8819a86d1f3811e49d23623a41fa832bef03f"}, + {file = "iso8601-2.1.0-py3-none-any.whl", hash = "sha256:aac4145c4dcb66ad8b648a02830f5e2ff6c24af20f4f482689be402db2429242"}, + {file = "iso8601-2.1.0.tar.gz", hash = "sha256:6b1d3829ee8921c4301998c909f7829fa9ed3cbdac0d3b16af2d743aed1ba8df"}, ] [[package]] @@ -1256,6 +1256,33 @@ files = [ {file = "prometheus_client-0.21.0.tar.gz", hash = "sha256:96c83c606b71ff2b0a433c98889d275f51ffec6c5e267de37c7a2b5c9aa9233e"}, ] +[[package]] +name = "propcache" +version = "0.2.0" +requires_python = ">=3.8" +summary = "Accelerated property cache" +groups = ["default", "test"] +files = [ + {file = "propcache-0.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ee7606193fb267be4b2e3b32714f2d58cad27217638db98a60f9efb5efeccc2"}, + {file = "propcache-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:91ee8fc02ca52e24bcb77b234f22afc03288e1dafbb1f88fe24db308910c4ac7"}, + {file = "propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e900bad2a8456d00a113cad8c13343f3b1f327534e3589acc2219729237a2e8"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f52a68c21363c45297aca15561812d542f8fc683c85201df0bebe209e349f793"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e41d67757ff4fbc8ef2af99b338bfb955010444b92929e9e55a6d4dcc3c4f09"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a64e32f8bd94c105cc27f42d3b658902b5bcc947ece3c8fe7bc1b05982f60e89"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55346705687dbd7ef0d77883ab4f6fabc48232f587925bdaf95219bae072491e"}, + {file = "propcache-0.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00181262b17e517df2cd85656fcd6b4e70946fe62cd625b9d74ac9977b64d8d9"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6994984550eaf25dd7fc7bd1b700ff45c894149341725bb4edc67f0ffa94efa4"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:56295eb1e5f3aecd516d91b00cfd8bf3a13991de5a479df9e27dd569ea23959c"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:439e76255daa0f8151d3cb325f6dd4a3e93043e6403e6491813bcaaaa8733887"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f6475a1b2ecb310c98c28d271a30df74f9dd436ee46d09236a6b750a7599ce57"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3444cdba6628accf384e349014084b1cacd866fbb88433cd9d279d90a54e0b23"}, + {file = "propcache-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4a9d9b4d0a9b38d1c391bb4ad24aa65f306c6f01b512e10a8a34a2dc5675d348"}, + {file = "propcache-0.2.0-cp312-cp312-win32.whl", hash = "sha256:69d3a98eebae99a420d4b28756c8ce6ea5a29291baf2dc9ff9414b42676f61d5"}, + {file = "propcache-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ad9c9b99b05f163109466638bd30ada1722abb01bbb85c739c50b6dc11f92dc3"}, + {file = "propcache-0.2.0-py3-none-any.whl", hash = "sha256:2ccc28197af5313706511fab3a8b66dcd6da067a1331372c82ea1cb74285e036"}, + {file = "propcache-0.2.0.tar.gz", hash = "sha256:df81779732feb9d01e5d513fad0122efb3d53bbc75f61b2a4f29a020bc985e70"}, +] + [[package]] name = "psutil" version = "6.0.0" @@ -1375,13 +1402,13 @@ files = [ [[package]] name = "pypika-tortoise" -version = "0.1.6" -requires_python = ">=3.7,<4.0" +version = "0.2.1" +requires_python = "<4.0,>=3.7" summary = "Forked from pypika and streamline just for tortoise-orm" groups = ["default", "migrations"] files = [ - {file = "pypika-tortoise-0.1.6.tar.gz", hash = "sha256:d802868f479a708e3263724c7b5719a26ad79399b2a70cea065f4a4cadbebf36"}, - {file = "pypika_tortoise-0.1.6-py3-none-any.whl", hash = "sha256:2d68bbb7e377673743cff42aa1059f3a80228d411fbcae591e4465e173109fd8"}, + {file = "pypika_tortoise-0.2.1-py3-none-any.whl", hash = "sha256:e91a1c5a78c6753ead1a9ba1aa169a1f1282c5035170e5462f0073564bc18886"}, + {file = "pypika_tortoise-0.2.1.tar.gz", hash = "sha256:979bbb9d60fe9f6e4129a25c44ee008aab4a4e97b296350be9983dcaa2766354"}, ] [[package]] @@ -1712,7 +1739,7 @@ files = [ [[package]] name = "sentry-sdk" -version = "2.12.0" +version = "2.16.0" requires_python = ">=3.6" summary = "Python client for Sentry (https://sentry.io)" groups = ["default"] @@ -1721,8 +1748,8 @@ dependencies = [ "urllib3>=1.26.11", ] files = [ - {file = "sentry_sdk-2.12.0-py2.py3-none-any.whl", hash = "sha256:7a8d5163d2ba5c5f4464628c6b68f85e86972f7c636acc78aed45c61b98b7a5e"}, - {file = "sentry_sdk-2.12.0.tar.gz", hash = "sha256:8763840497b817d44c49b3fe3f5f7388d083f2337ffedf008b2cdb63b5c86dc6"}, + {file = "sentry_sdk-2.16.0-py2.py3-none-any.whl", hash = "sha256:49139c31ebcd398f4f6396b18910610a0c1602f6e67083240c33019d1f6aa30c"}, + {file = "sentry_sdk-2.16.0.tar.gz", hash = "sha256:90f733b32e15dfc1999e6b7aca67a38688a567329de4d6e184154a73f96c6892"}, ] [[package]] @@ -1991,20 +2018,20 @@ files = [ [[package]] name = "tortoise-orm" -version = "0.21.6" +version = "0.21.7" requires_python = "<4.0,>=3.8" summary = "Easy async ORM for python, built with relations in mind" groups = ["default", "migrations"] dependencies = [ - "aiosqlite<0.18.0,>=0.16.0", - "iso8601<2.0.0,>=1.0.2", + "aiosqlite<0.21.0,>=0.16.0", + "iso8601<3.0.0,>=2.1.0", "pydantic!=2.7.0,<3.0,>=2.0", - "pypika-tortoise<0.2.0,>=0.1.6", + "pypika-tortoise<0.3.0,>=0.2.1", "pytz", ] files = [ - {file = "tortoise_orm-0.21.6-py3-none-any.whl", hash = "sha256:98fcf07dce3396075eac36b0d2b14d2267ff875d32455e03ee15e38de2f138df"}, - {file = "tortoise_orm-0.21.6.tar.gz", hash = "sha256:0fbc718001647bf282c01eaaa360f94f1432c9281701244180703d48d58a88ec"}, + {file = "tortoise_orm-0.21.7-py3-none-any.whl", hash = "sha256:2229925885461f424673223ea1875bd5e6961384c766833af55a1ea11a9b25eb"}, + {file = "tortoise_orm-0.21.7.tar.gz", hash = "sha256:8a790a931828aa37ac364b344c561e603422aced2af5e403f6790575da0f19c5"}, ] [[package]] @@ -2124,18 +2151,18 @@ files = [ [[package]] name = "uvloop" -version = "0.20.0" +version = "0.21.0" requires_python = ">=3.8.0" summary = "Fast implementation of asyncio event loop on top of libuv" groups = ["default"] files = [ - {file = "uvloop-0.20.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4b75f2950ddb6feed85336412b9a0c310a2edbcf4cf931aa5cfe29034829676d"}, - {file = "uvloop-0.20.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:77fbc69c287596880ecec2d4c7a62346bef08b6209749bf6ce8c22bbaca0239e"}, - {file = "uvloop-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6462c95f48e2d8d4c993a2950cd3d31ab061864d1c226bbf0ee2f1a8f36674b9"}, - {file = "uvloop-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:649c33034979273fa71aa25d0fe120ad1777c551d8c4cd2c0c9851d88fcb13ab"}, - {file = "uvloop-0.20.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a609780e942d43a275a617c0839d85f95c334bad29c4c0918252085113285b5"}, - {file = "uvloop-0.20.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aea15c78e0d9ad6555ed201344ae36db5c63d428818b4b2a42842b3870127c00"}, - {file = "uvloop-0.20.0.tar.gz", hash = "sha256:4603ca714a754fc8d9b197e325db25b2ea045385e8a3ad05d3463de725fdf469"}, + {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c"}, + {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2"}, + {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d"}, + {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc"}, + {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb"}, + {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f"}, + {file = "uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3"}, ] [[package]] @@ -2163,7 +2190,7 @@ files = [ [[package]] name = "web3" -version = "7.3.0" +version = "7.3.1" requires_python = "<4,>=3.8" summary = "web3: A Python library for interacting with Ethereum" groups = ["default"] @@ -2184,8 +2211,8 @@ dependencies = [ "websockets>=10.0.0", ] files = [ - {file = "web3-7.3.0-py3-none-any.whl", hash = "sha256:afcbab05040fecff205394713458ffc64bb8b5966164339a397d63f29cbe6ba1"}, - {file = "web3-7.3.0.tar.gz", hash = "sha256:74d52cfcc23b8e99c837190128b932923f38fca290ae2cf2d690edbf622252a0"}, + {file = "web3-7.3.1-py3-none-any.whl", hash = "sha256:fceb5816d64da000e0eaf26a8ba3a260ae87d32eb6cb88502348fa900fcba7df"}, + {file = "web3-7.3.1.tar.gz", hash = "sha256:7da3dbdd6741360913f88a245b8a74889f370648b2d0fa6decb16c143ce77651"}, ] [[package]] @@ -2223,30 +2250,32 @@ files = [ [[package]] name = "yarl" -version = "1.9.5" -requires_python = ">=3.8" +version = "1.15.3" +requires_python = ">=3.9" summary = "Yet another URL library" groups = ["default", "test"] dependencies = [ "idna>=2.0", "multidict>=4.0", -] -files = [ - {file = "yarl-1.9.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8f5a8f396313da1d011a4d7abe179f2e1248710a873bb744138370335912966b"}, - {file = "yarl-1.9.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0e87e493bf5ee802d271491988701fe09ea34ae6e8b6f5b7319bbd336bed4211"}, - {file = "yarl-1.9.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:bf4edd995dfd9e2f16edf542e917bccae48d1bcf995d95aa2252646c6ee90e4e"}, - {file = "yarl-1.9.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57030cf990297e1d648c51555805a3892c49311ca3edee99774dfaa40955aa41"}, - {file = "yarl-1.9.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aabc452eddad8abc7e94ea47162e89d24445066504d26a2f8aa4e1936aedf39f"}, - {file = "yarl-1.9.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0b2bc7ce7bd40ee5ad55291676414062cdfa3a89e11a17619d30b7d18f388e6e"}, - {file = "yarl-1.9.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd02efd9f252da151db11142256ed9e577fefb25f7eb0ab6826ebee2aaa5d251"}, - {file = "yarl-1.9.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ec06b1ef69af30ddbc3931d3e3756c83e90abc2bb5ac796c2f0845ce75274386"}, - {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cdc3cf183fdbd924b6705d2317719e81f14e4be6603b590bb04a963abb8ca7cd"}, - {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:608704b4d2a6da4bfb95cac97a7be9f40d047fbb23b1597579cd0a38aed10753"}, - {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f4edf7cd1e763f2c126bd37d69f56ffb495724319a7807e6ff216b9ea5b57c64"}, - {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8c468aea27c0fdee3d55a026bd8ccb1b17306837cd50829dc81fbbf0024aa750"}, - {file = "yarl-1.9.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a40d014c18754415655fc0516d9a59c74db0ecd023e9139c99354362db7cf480"}, - {file = "yarl-1.9.5-cp312-cp312-win32.whl", hash = "sha256:d217b391dd96ee523a17920987752d9c0871f8d82312a1db6862013d9f0a3dce"}, - {file = "yarl-1.9.5-cp312-cp312-win_amd64.whl", hash = "sha256:a419be4f256861492c9ee7e51751afdd5967d64b6c98176db605eae4d75ced06"}, - {file = "yarl-1.9.5-py3-none-any.whl", hash = "sha256:f072c95c97badd8b05250b50d8ba072c212c6bf16f0b61e92299a28302a3a021"}, - {file = "yarl-1.9.5.tar.gz", hash = "sha256:5c9b12dbb3d4607dd4d8877d44c8ac410a6eb2cde3792be30aa0b371d88260a2"}, + "propcache>=0.2.0", +] +files = [ + {file = "yarl-1.15.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:decf9d76191bfe34835f1abd3fa8ebe8a9cd7e16300a5c7e82b18c0812bb22a2"}, + {file = "yarl-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ce65ed7ad7b6cbca06b0c011b170bd2b0bc56b0a740540e2713e5ac12d7b9b2e"}, + {file = "yarl-1.15.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3cf2b50352df8775591869aaa22c52b64d60376ba99c0802b42778fedc90b775"}, + {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32e8ebf0080ddd38ec05f8be940a3719e5fe1ab8bb6d2b3f6f8b89c9e34149aa"}, + {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05183fd49244517cb11c208d0ae128f2e8a85ddb7caf22ad8b0ffcdf5481fcb6"}, + {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46653b5fd29e63ffe63335da343829a2b00bb43b0bd9bb21240d3b42629629e2"}, + {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6316af233610b9868eda92cf68c016750cbf50085ac6c51faa17905ddd25605"}, + {file = "yarl-1.15.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5685ebc333c95b75be3a0a83a81b82b6411beee9585eaeb9e2e588ae8df23848"}, + {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6da6f6c6ee5595658f21bb9d1ecd702f7a7f22f224ac063dfb595624aec4a2e0"}, + {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45c05b87a8494d9820ea1ac82118fd2f1d795d868e94766fe8ff670377bf6280"}, + {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:04f930fcc940f96b8b29110c56882bcff8703f87a7b9354d3acf60ffded5a23d"}, + {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8df77742b403e71c5d62d22d150e6e35efd6096a15f2c7419815911c62225100"}, + {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f785d83ece0998e4ce4fadda22fa6c1ecc40e10f41617013a8726d2e9af0d98f"}, + {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7794aade99be0d48b69bd5942acddfeff0de3d09c724d9abe4f19736708ef18f"}, + {file = "yarl-1.15.3-cp312-cp312-win32.whl", hash = "sha256:a3a98d70c667c957c7cd0b153d4cb5e45d43f5e2e23de73be6f7b5c883c01f72"}, + {file = "yarl-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:90257bc627897a2c1d562efcd6a6b18887e9dacae795cad2367e8e16df47d966"}, + {file = "yarl-1.15.3-py3-none-any.whl", hash = "sha256:a1d49ed6f4b812dde88e937d4c2bd3f13d72c23ef7de1e17a63b7cacef4b5691"}, + {file = "yarl-1.15.3.tar.gz", hash = "sha256:fbcff47f8ba82467f203037f7a30decf5c724211b224682f7236edb0dcbb5b95"}, ] diff --git a/pyproject.toml b/pyproject.toml index 03556847a..1814e1cb0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "dipdup" description = "Modular framework for creating selective indexers and featureful backends for dapps" -version = "8.0.0" +version = "8.1.0" license = { text = "MIT" } authors = [ { name = "Lev Gorodetskii", email = "dipdup@drsr.io" }, @@ -49,16 +49,15 @@ classifiers = [ ] dependencies = [ - # FIXME: KeyError in _make_or_get_ssl_context - "aiohttp==3.10.2", + "aiohttp~=3.10", "aiolimiter~=1.1", "anyio~=4.4", - "appdirs~=1.4.4", + "appdirs~=1.4", "APScheduler~=3.10", "async-lru~=2.0", "asyncpg~=0.29", "click~=8.1", - "datamodel-code-generator~=0.25.9", + "datamodel-code-generator~=0.26", "eth-abi~=5.0", "lru-dict~=1.3", "orjson~=3.10", @@ -70,15 +69,14 @@ dependencies = [ "python-dotenv~=1.0", "python-json-logger~=2.0", "ruamel.yaml~=0.18.6", - # FIXME: Argument 1 to "serialize" has incompatible type "Event"; - "sentry-sdk==2.12.0", + "sentry-sdk~=2.16", "sqlparse~=0.5", "starknet-py==0.24.0", "strict-rfc3339~=0.7", "survey~=5.4", "tabulate~=0.9", # NOTE: Heavily patched; don't update without testing. - "tortoise-orm==0.21.6", + "tortoise-orm==0.21.7", "uvloop~=0.20", "web3~=7.2", ] @@ -90,8 +88,6 @@ migrations = [ [tool.pdm.resolution] # NOTE: Introduced by starknetpy 0.24; depends on half of the PyPI excludes = ["bip-utils", "ledgerwallet"] -# NOTE: tortoise-orm -overrides = { aiosqlite = "0.20.0" } [project.urls] Homepage = "https://dipdup.io/" diff --git a/requirements.txt b/requirements.txt index fa8dd5dc0..d3550c5d6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ # Please do not edit it manually. aiohappyeyeballs==2.4.0 -aiohttp==3.10.2 +aiohttp==3.10.10 aiolimiter==1.1.0 aiosignal==1.3.1 aiosqlite==0.20.0 @@ -24,7 +24,7 @@ click==8.1.7 colorama==0.4.6; platform_system == "Windows" or sys_platform == "win32" crypto-cpp-py==1.4.4 cytoolz==0.12.3; implementation_name == "cpython" -datamodel-code-generator==0.25.9 +datamodel-code-generator==0.26.1 dnspython==2.6.1; python_version ~= "3.11" ecdsa==0.18.0 email-validator==2.2.0; python_version ~= "3.11" @@ -41,7 +41,7 @@ genson==1.3.0 hexbytes==1.2.1 idna==3.8 inflect==5.6.2 -iso8601==1.1.0 +iso8601==2.1.0 isort==5.13.2 jinja2==3.1.4 lark==1.2.2 @@ -61,11 +61,12 @@ pathspec==0.12.1 platformdirs==4.2.2 poseidon-py==0.1.5 prometheus-client==0.21.0 +propcache==0.2.0 pycryptodome==3.21.0 pydantic-core==2.23.4 pydantic[email]==2.9.2; python_version ~= "3.11" pyhumps==3.8.0 -pypika-tortoise==0.1.6 +pypika-tortoise==0.2.1 pysignalr==1.0.0 python-dotenv==1.0.1 python-json-logger==2.0.7 @@ -78,7 +79,7 @@ requests==2.32.3 rlp==4.0.1 ruamel-yaml==0.18.6 ruamel-yaml-clib==0.2.8; platform_python_implementation == "CPython" and python_version < "3.13" -sentry-sdk==2.12.0 +sentry-sdk==2.16.0 six==1.16.0 sniffio==1.3.1 sqlparse==0.5.1 @@ -88,7 +89,7 @@ survey==5.4.0 sympy==1.11.1 tabulate==0.9.0 toolz==0.12.1; implementation_name == "pypy" or implementation_name == "cpython" -tortoise-orm==0.21.6 +tortoise-orm==0.21.7 typeguard==4.0.1 types-requests==2.32.0.20240712 typing-extensions==4.12.2 @@ -96,7 +97,7 @@ typing-inspect==0.9.0 tzdata==2024.1; platform_system == "Windows" tzlocal==5.2 urllib3==2.2.2 -uvloop==0.20.0 -web3==7.3.0 +uvloop==0.21.0 +web3==7.3.1 websockets==12.0 -yarl==1.9.5 +yarl==1.15.3 diff --git a/schemas/dipdup-3.0.json b/schemas/dipdup-3.0.json index 4727b5089..03b44de87 100644 --- a/schemas/dipdup-3.0.json +++ b/schemas/dipdup-3.0.json @@ -606,13 +606,13 @@ "additionalProperties": false, "description": "Config for the Hasura integration.", "properties": { - "ignore": { + "hide": { "items": { "type": "string" }, - "title": "ignore", + "title": "hide", "type": "array", - "description": "List of additional table names to ignore when generating the GraphQL API." + "description": "List of table/view names to make private." }, "url": { "$ref": "#/$defs/Url", @@ -687,11 +687,11 @@ "title": "http", "description": "HTTP connection tunables" }, - "ignore_internal": { + "hide_internal": { "default": false, - "title": "ignore_internal", + "title": "hide_internal", "type": "boolean", - "description": "Whether to ignore internal tables (prefixed with \"dipdup\") when generating the GraphQL API." + "description": "Whether to make internal tables (prefixed with \"dipdup\") private." } }, "required": [ diff --git a/src/demo_blank/pyproject.toml b/src/demo_blank/pyproject.toml index 820b2a3f1..71bf7a88d 100644 --- a/src/demo_blank/pyproject.toml +++ b/src/demo_blank/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_blank" version = "0.0.1" diff --git a/src/demo_evm_events/pyproject.toml b/src/demo_evm_events/pyproject.toml index be6008466..91ffc38bc 100644 --- a/src/demo_evm_events/pyproject.toml +++ b/src/demo_evm_events/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_evm_events" version = "0.0.1" diff --git a/src/demo_evm_events/types/eth_usdt/evm_events/transfer.py b/src/demo_evm_events/types/eth_usdt/evm_events/transfer.py index 199eb8e3b..932395b83 100644 --- a/src/demo_evm_events/types/eth_usdt/evm_events/transfer.py +++ b/src/demo_evm_events/types/eth_usdt/evm_events/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_transactions/pyproject.toml b/src/demo_evm_transactions/pyproject.toml index e96819e7c..f62b6d6de 100644 --- a/src/demo_evm_transactions/pyproject.toml +++ b/src/demo_evm_transactions/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_evm_transactions" version = "0.0.1" diff --git a/src/demo_evm_transactions/types/eth_usdt/evm_transactions/transfer.py b/src/demo_evm_transactions/types/eth_usdt/evm_transactions/transfer.py index f1bb36e15..41fcaddf7 100644 --- a/src/demo_evm_transactions/types/eth_usdt/evm_transactions/transfer.py +++ b/src/demo_evm_transactions/types/eth_usdt/evm_transactions/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/pyproject.toml b/src/demo_evm_uniswap/pyproject.toml index 226647777..02bdc0bdc 100644 --- a/src/demo_evm_uniswap/pyproject.toml +++ b/src/demo_evm_uniswap/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_evm_uniswap" version = "0.0.1" diff --git a/src/demo_evm_uniswap/types/factory/evm_events/pool_created.py b/src/demo_evm_uniswap/types/factory/evm_events/pool_created.py index dcdbdd40b..7bcd2b7b6 100644 --- a/src/demo_evm_uniswap/types/factory/evm_events/pool_created.py +++ b/src/demo_evm_uniswap/types/factory/evm_events/pool_created.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/pool/evm_events/burn.py b/src/demo_evm_uniswap/types/pool/evm_events/burn.py index a34fb42b6..30add117c 100644 --- a/src/demo_evm_uniswap/types/pool/evm_events/burn.py +++ b/src/demo_evm_uniswap/types/pool/evm_events/burn.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/pool/evm_events/collect.py b/src/demo_evm_uniswap/types/pool/evm_events/collect.py index ba4ee114b..ed5d43aed 100644 --- a/src/demo_evm_uniswap/types/pool/evm_events/collect.py +++ b/src/demo_evm_uniswap/types/pool/evm_events/collect.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/pool/evm_events/flash.py b/src/demo_evm_uniswap/types/pool/evm_events/flash.py index c037f3d4d..0b3448a8e 100644 --- a/src/demo_evm_uniswap/types/pool/evm_events/flash.py +++ b/src/demo_evm_uniswap/types/pool/evm_events/flash.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/pool/evm_events/initialize.py b/src/demo_evm_uniswap/types/pool/evm_events/initialize.py index 1624d90fb..dd62d1ad4 100644 --- a/src/demo_evm_uniswap/types/pool/evm_events/initialize.py +++ b/src/demo_evm_uniswap/types/pool/evm_events/initialize.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/pool/evm_events/mint.py b/src/demo_evm_uniswap/types/pool/evm_events/mint.py index 4f54cc1cf..8016bb569 100644 --- a/src/demo_evm_uniswap/types/pool/evm_events/mint.py +++ b/src/demo_evm_uniswap/types/pool/evm_events/mint.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/pool/evm_events/swap.py b/src/demo_evm_uniswap/types/pool/evm_events/swap.py index 6b56f59be..0e537c4ce 100644 --- a/src/demo_evm_uniswap/types/pool/evm_events/swap.py +++ b/src/demo_evm_uniswap/types/pool/evm_events/swap.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/position_manager/evm_events/collect.py b/src/demo_evm_uniswap/types/position_manager/evm_events/collect.py index cc1c101c1..e0aede83e 100644 --- a/src/demo_evm_uniswap/types/position_manager/evm_events/collect.py +++ b/src/demo_evm_uniswap/types/position_manager/evm_events/collect.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/position_manager/evm_events/decrease_liquidity.py b/src/demo_evm_uniswap/types/position_manager/evm_events/decrease_liquidity.py index 5887cdadf..c39cb7aec 100644 --- a/src/demo_evm_uniswap/types/position_manager/evm_events/decrease_liquidity.py +++ b/src/demo_evm_uniswap/types/position_manager/evm_events/decrease_liquidity.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/position_manager/evm_events/increase_liquidity.py b/src/demo_evm_uniswap/types/position_manager/evm_events/increase_liquidity.py index 551004ffc..4d66b59ab 100644 --- a/src/demo_evm_uniswap/types/position_manager/evm_events/increase_liquidity.py +++ b/src/demo_evm_uniswap/types/position_manager/evm_events/increase_liquidity.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_evm_uniswap/types/position_manager/evm_events/transfer.py b/src/demo_evm_uniswap/types/position_manager/evm_events/transfer.py index 965449e2c..276b3a7c2 100644 --- a/src/demo_evm_uniswap/types/position_manager/evm_events/transfer.py +++ b/src/demo_evm_uniswap/types/position_manager/evm_events/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_starknet_events/pyproject.toml b/src/demo_starknet_events/pyproject.toml index 48e47f988..ed6aaee99 100644 --- a/src/demo_starknet_events/pyproject.toml +++ b/src/demo_starknet_events/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_starknet_events" version = "0.0.1" diff --git a/src/demo_starknet_events/types/stark_usdt/starknet_events/transfer.py b/src/demo_starknet_events/types/stark_usdt/starknet_events/transfer.py index 0f59827ef..0d3a2eb08 100644 --- a/src/demo_starknet_events/types/stark_usdt/starknet_events/transfer.py +++ b/src/demo_starknet_events/types/stark_usdt/starknet_events/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_auction/pyproject.toml b/src/demo_tezos_auction/pyproject.toml index 3176cbd12..4c80528a6 100644 --- a/src/demo_tezos_auction/pyproject.toml +++ b/src/demo_tezos_auction/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_auction" version = "0.0.1" diff --git a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/bid.py b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/bid.py index 913b0b0b5..b86785b8a 100644 --- a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/bid.py +++ b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/bid.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/create_auction.py b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/create_auction.py index c59690d43..38e18a1de 100644 --- a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/create_auction.py +++ b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/create_auction.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/withdraw.py b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/withdraw.py index b28457c23..803877f17 100644 --- a/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/withdraw.py +++ b/src/demo_tezos_auction/types/tzcolors_auction/tezos_parameters/withdraw.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_auction/types/tzcolors_auction/tezos_storage.py b/src/demo_tezos_auction/types/tzcolors_auction/tezos_storage.py index 82e34659c..d4ad1aad8 100644 --- a/src/demo_tezos_auction/types/tzcolors_auction/tezos_storage.py +++ b/src/demo_tezos_auction/types/tzcolors_auction/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dao/pyproject.toml b/src/demo_tezos_dao/pyproject.toml index 92fec878f..24f856b05 100644 --- a/src/demo_tezos_dao/pyproject.toml +++ b/src/demo_tezos_dao/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_dao" version = "0.0.1" diff --git a/src/demo_tezos_dao/types/registry/tezos_parameters/propose.py b/src/demo_tezos_dao/types/registry/tezos_parameters/propose.py index f0248c0ca..990a05680 100644 --- a/src/demo_tezos_dao/types/registry/tezos_parameters/propose.py +++ b/src/demo_tezos_dao/types/registry/tezos_parameters/propose.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dao/types/registry/tezos_storage.py b/src/demo_tezos_dao/types/registry/tezos_storage.py index 9b45c24cf..fceb433ce 100644 --- a/src/demo_tezos_dao/types/registry/tezos_storage.py +++ b/src/demo_tezos_dao/types/registry/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/pyproject.toml b/src/demo_tezos_dex/pyproject.toml index 04c49a2b4..6359c8c9c 100644 --- a/src/demo_tezos_dex/pyproject.toml +++ b/src/demo_tezos_dex/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_dex" version = "0.0.1" diff --git a/src/demo_tezos_dex/types/fa12_token/tezos_parameters/transfer.py b/src/demo_tezos_dex/types/fa12_token/tezos_parameters/transfer.py index fc96d1a65..fdbadf29a 100644 --- a/src/demo_tezos_dex/types/fa12_token/tezos_parameters/transfer.py +++ b/src/demo_tezos_dex/types/fa12_token/tezos_parameters/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/fa12_token/tezos_storage.py b/src/demo_tezos_dex/types/fa12_token/tezos_storage.py index 4d304ab01..5e7914c9c 100644 --- a/src/demo_tezos_dex/types/fa12_token/tezos_storage.py +++ b/src/demo_tezos_dex/types/fa12_token/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/fa2_token/tezos_parameters/transfer.py b/src/demo_tezos_dex/types/fa2_token/tezos_parameters/transfer.py index 7af7a6449..5fb4f21dc 100644 --- a/src/demo_tezos_dex/types/fa2_token/tezos_parameters/transfer.py +++ b/src/demo_tezos_dex/types/fa2_token/tezos_parameters/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/fa2_token/tezos_storage.py b/src/demo_tezos_dex/types/fa2_token/tezos_storage.py index 7ea4ee7e6..acd97fd0e 100644 --- a/src/demo_tezos_dex/types/fa2_token/tezos_storage.py +++ b/src/demo_tezos_dex/types/fa2_token/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/divest_liquidity.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/divest_liquidity.py index 5e6fd36df..1c4a46304 100644 --- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/divest_liquidity.py +++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/divest_liquidity.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/invest_liquidity.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/invest_liquidity.py index c272829b6..9d0e39fe6 100644 --- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/invest_liquidity.py +++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/invest_liquidity.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/tez_to_token_payment.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/tez_to_token_payment.py index 221b68ecc..835724aee 100644 --- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/tez_to_token_payment.py +++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/tez_to_token_payment.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/token_to_tez_payment.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/token_to_tez_payment.py index 9d1c155ad..a818bea86 100644 --- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/token_to_tez_payment.py +++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/token_to_tez_payment.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/transfer.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/transfer.py index fc96d1a65..fdbadf29a 100644 --- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/transfer.py +++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/withdraw_profit.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/withdraw_profit.py index 649b75098..145f8a673 100644 --- a/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/withdraw_profit.py +++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_parameters/withdraw_profit.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa12/tezos_storage.py b/src/demo_tezos_dex/types/quipu_fa12/tezos_storage.py index ed602091d..33e46fd2e 100644 --- a/src/demo_tezos_dex/types/quipu_fa12/tezos_storage.py +++ b/src/demo_tezos_dex/types/quipu_fa12/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/divest_liquidity.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/divest_liquidity.py index 5e6fd36df..1c4a46304 100644 --- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/divest_liquidity.py +++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/divest_liquidity.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/invest_liquidity.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/invest_liquidity.py index c272829b6..9d0e39fe6 100644 --- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/invest_liquidity.py +++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/invest_liquidity.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/tez_to_token_payment.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/tez_to_token_payment.py index 221b68ecc..835724aee 100644 --- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/tez_to_token_payment.py +++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/tez_to_token_payment.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/token_to_tez_payment.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/token_to_tez_payment.py index 9d1c155ad..a818bea86 100644 --- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/token_to_tez_payment.py +++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/token_to_tez_payment.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/transfer.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/transfer.py index 7af7a6449..5fb4f21dc 100644 --- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/transfer.py +++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/withdraw_profit.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/withdraw_profit.py index 649b75098..145f8a673 100644 --- a/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/withdraw_profit.py +++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_parameters/withdraw_profit.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_dex/types/quipu_fa2/tezos_storage.py b/src/demo_tezos_dex/types/quipu_fa2/tezos_storage.py index 2e29f4a40..2a6e1ecc3 100644 --- a/src/demo_tezos_dex/types/quipu_fa2/tezos_storage.py +++ b/src/demo_tezos_dex/types/quipu_fa2/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_domains/pyproject.toml b/src/demo_tezos_domains/pyproject.toml index 258ffaf89..b9eb1de9e 100644 --- a/src/demo_tezos_domains/pyproject.toml +++ b/src/demo_tezos_domains/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_domains" version = "0.0.1" diff --git a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_key.py b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_key.py index 2aaec3f55..64419f5c6 100644 --- a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_key.py +++ b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_key.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_value.py b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_value.py index b5509791f..80677737c 100644 --- a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_value.py +++ b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_expiry_map_value.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_key.py b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_key.py index f91fa91ec..8a4556561 100644 --- a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_key.py +++ b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_key.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_value.py b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_value.py index 4f853abad..047fc6969 100644 --- a/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_value.py +++ b/src/demo_tezos_domains/types/name_registry/tezos_big_maps/store_records_value.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_etherlink/pyproject.toml b/src/demo_tezos_etherlink/pyproject.toml index fe638a66b..37295aa53 100644 --- a/src/demo_tezos_etherlink/pyproject.toml +++ b/src/demo_tezos_etherlink/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_etherlink" version = "0.0.1" diff --git a/src/demo_tezos_etherlink/types/rollup/tezos_parameters/default.py b/src/demo_tezos_etherlink/types/rollup/tezos_parameters/default.py index d5201c3a5..36a573b0b 100644 --- a/src/demo_tezos_etherlink/types/rollup/tezos_parameters/default.py +++ b/src/demo_tezos_etherlink/types/rollup/tezos_parameters/default.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_etherlink/types/rollup/tezos_storage.py b/src/demo_tezos_etherlink/types/rollup/tezos_storage.py index 2f20e6e87..de6f05ddc 100644 --- a/src/demo_tezos_etherlink/types/rollup/tezos_storage.py +++ b/src/demo_tezos_etherlink/types/rollup/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_etherlink/types/ticket_helper/tezos_parameters/default.py b/src/demo_tezos_etherlink/types/ticket_helper/tezos_parameters/default.py index 3d60c5f4d..110ed92e9 100644 --- a/src/demo_tezos_etherlink/types/ticket_helper/tezos_parameters/default.py +++ b/src/demo_tezos_etherlink/types/ticket_helper/tezos_parameters/default.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_etherlink/types/ticket_helper/tezos_storage.py b/src/demo_tezos_etherlink/types/ticket_helper/tezos_storage.py index e93127277..1d5b5a178 100644 --- a/src/demo_tezos_etherlink/types/ticket_helper/tezos_storage.py +++ b/src/demo_tezos_etherlink/types/ticket_helper/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/deposit.py b/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/deposit.py index 82103d4c4..fac5dbab8 100644 --- a/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/deposit.py +++ b/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/deposit.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/withdraw.py b/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/withdraw.py index c931eb408..4c99047ff 100644 --- a/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/withdraw.py +++ b/src/demo_tezos_etherlink/types/ticketer/tezos_parameters/withdraw.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_etherlink/types/ticketer/tezos_storage.py b/src/demo_tezos_etherlink/types/ticketer/tezos_storage.py index 98dd02f27..96dea6c78 100644 --- a/src/demo_tezos_etherlink/types/ticketer/tezos_storage.py +++ b/src/demo_tezos_etherlink/types/ticketer/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_events/pyproject.toml b/src/demo_tezos_events/pyproject.toml index b4765adc1..045697cc8 100644 --- a/src/demo_tezos_events/pyproject.toml +++ b/src/demo_tezos_events/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_events" version = "0.0.1" diff --git a/src/demo_tezos_events/types/events_contract/tezos_events/move.py b/src/demo_tezos_events/types/events_contract/tezos_events/move.py index fe390214b..d0df4a851 100644 --- a/src/demo_tezos_events/types/events_contract/tezos_events/move.py +++ b/src/demo_tezos_events/types/events_contract/tezos_events/move.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_events/types/events_contract/tezos_events/roll.py b/src/demo_tezos_events/types/events_contract/tezos_events/roll.py index cfe47ad7b..4cb3c0d08 100644 --- a/src/demo_tezos_events/types/events_contract/tezos_events/roll.py +++ b/src/demo_tezos_events/types/events_contract/tezos_events/roll.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_factories/pyproject.toml b/src/demo_tezos_factories/pyproject.toml index 78ca245ac..060111e43 100644 --- a/src/demo_tezos_factories/pyproject.toml +++ b/src/demo_tezos_factories/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_factories" version = "0.0.1" diff --git a/src/demo_tezos_factories/types/factory/tezos_storage.py b/src/demo_tezos_factories/types/factory/tezos_storage.py index 362eb32fa..f195919b0 100644 --- a/src/demo_tezos_factories/types/factory/tezos_storage.py +++ b/src/demo_tezos_factories/types/factory/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_factories/types/token/tezos_parameters/transfer.py b/src/demo_tezos_factories/types/token/tezos_parameters/transfer.py index 7af7a6449..5fb4f21dc 100644 --- a/src/demo_tezos_factories/types/token/tezos_parameters/transfer.py +++ b/src/demo_tezos_factories/types/token/tezos_parameters/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_factories/types/token/tezos_storage.py b/src/demo_tezos_factories/types/token/tezos_storage.py index 755cb2523..bac24eb6e 100644 --- a/src/demo_tezos_factories/types/token/tezos_storage.py +++ b/src/demo_tezos_factories/types/token/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_head/pyproject.toml b/src/demo_tezos_head/pyproject.toml index 8a4d16701..cdfb054f9 100644 --- a/src/demo_tezos_head/pyproject.toml +++ b/src/demo_tezos_head/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_head" version = "0.0.1" diff --git a/src/demo_tezos_nft_marketplace/pyproject.toml b/src/demo_tezos_nft_marketplace/pyproject.toml index 66d1db1c6..e3c42e075 100644 --- a/src/demo_tezos_nft_marketplace/pyproject.toml +++ b/src/demo_tezos_nft_marketplace/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_nft_marketplace" version = "0.0.1" diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/cancel_swap.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/cancel_swap.py index 0d3fb1388..691593a81 100644 --- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/cancel_swap.py +++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/cancel_swap.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/collect.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/collect.py index adcf10c3a..c3c34082b 100644 --- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/collect.py +++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/collect.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/mint_objkt.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/mint_objkt.py index a1efa64cb..26e9d40b4 100644 --- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/mint_objkt.py +++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/mint_objkt.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/swap.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/swap.py index 8c95b7bfc..0a78b4d12 100644 --- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/swap.py +++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_parameters/swap.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_storage.py b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_storage.py index 8ad1f5831..f3428ef4e 100644 --- a/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_storage.py +++ b/src/demo_tezos_nft_marketplace/types/hen_minter/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_parameters/mint.py b/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_parameters/mint.py index 6bac35298..56d4cdda7 100644 --- a/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_parameters/mint.py +++ b/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_parameters/mint.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_storage.py b/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_storage.py index 011360c9d..6ba32b14a 100644 --- a/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_storage.py +++ b/src/demo_tezos_nft_marketplace/types/hen_objkts/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_raw/pyproject.toml b/src/demo_tezos_raw/pyproject.toml index a7ffddb03..e70b30a7d 100644 --- a/src/demo_tezos_raw/pyproject.toml +++ b/src/demo_tezos_raw/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_raw" version = "0.0.1" diff --git a/src/demo_tezos_token/pyproject.toml b/src/demo_tezos_token/pyproject.toml index a00b3e8fa..a3e42ecde 100644 --- a/src/demo_tezos_token/pyproject.toml +++ b/src/demo_tezos_token/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_token" version = "0.0.1" diff --git a/src/demo_tezos_token/types/tzbtc/tezos_parameters/mint.py b/src/demo_tezos_token/types/tzbtc/tezos_parameters/mint.py index 9f3c9b495..3bd7244a8 100644 --- a/src/demo_tezos_token/types/tzbtc/tezos_parameters/mint.py +++ b/src/demo_tezos_token/types/tzbtc/tezos_parameters/mint.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_token/types/tzbtc/tezos_parameters/transfer.py b/src/demo_tezos_token/types/tzbtc/tezos_parameters/transfer.py index fc96d1a65..fdbadf29a 100644 --- a/src/demo_tezos_token/types/tzbtc/tezos_parameters/transfer.py +++ b/src/demo_tezos_token/types/tzbtc/tezos_parameters/transfer.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_token/types/tzbtc/tezos_storage.py b/src/demo_tezos_token/types/tzbtc/tezos_storage.py index 65bc30c0c..7238d5aeb 100644 --- a/src/demo_tezos_token/types/tzbtc/tezos_storage.py +++ b/src/demo_tezos_token/types/tzbtc/tezos_storage.py @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 from __future__ import annotations diff --git a/src/demo_tezos_token_balances/pyproject.toml b/src/demo_tezos_token_balances/pyproject.toml index 8c441a637..9f86316bc 100644 --- a/src/demo_tezos_token_balances/pyproject.toml +++ b/src/demo_tezos_token_balances/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_token_balances" version = "0.0.1" diff --git a/src/demo_tezos_token_transfers/pyproject.toml b/src/demo_tezos_token_transfers/pyproject.toml index 925e1b2b9..d86ce7adf 100644 --- a/src/demo_tezos_token_transfers/pyproject.toml +++ b/src/demo_tezos_token_transfers/pyproject.toml @@ -1,4 +1,4 @@ -# generated by DipDup 8.0.0 +# generated by DipDup 8.1.0 [project] name = "demo_tezos_token_transfers" version = "0.0.1" diff --git a/src/dipdup/_version.py b/src/dipdup/_version.py index b8051c8ca..e179e4ed7 100644 --- a/src/dipdup/_version.py +++ b/src/dipdup/_version.py @@ -37,11 +37,12 @@ async def check_version() -> None: latest_version = _read_cached_version() if not latest_version: latest_version = await _get_latest_version() + if latest_version: + _write_cached_version(latest_version) if not latest_version: return - _write_cached_version(latest_version) - if latest_version == __version__: + if __version__ >= latest_version: return _logger.warning( diff --git a/src/dipdup/config/__init__.py b/src/dipdup/config/__init__.py index f426b8240..627a91ee4 100644 --- a/src/dipdup/config/__init__.py +++ b/src/dipdup/config/__init__.py @@ -375,8 +375,8 @@ class HasuraConfig: :param camel_case: Whether to use camelCase instead of default pascal_case for the field names. :param rest: Enable REST API both for autogenerated and custom queries. :param http: HTTP connection tunables - :param ignore_internal: Whether to ignore internal tables (prefixed with "dipdup") when generating the GraphQL API. - :param ignore: List of additional table names to ignore when generating the GraphQL API. + :param hide_internal: Whether to make internal tables (prefixed with "dipdup") private. + :param hide: List of table/view names to make private. """ url: Url @@ -389,8 +389,8 @@ class HasuraConfig: camel_case: bool = False rest: bool = True http: HttpConfig | None = None - ignore_internal: bool = False - ignore: list[str] = Field(default_factory=list) + hide_internal: bool = False + hide: list[str] = Field(default_factory=list) @property def headers(self) -> dict[str, str]: diff --git a/src/dipdup/fields.py b/src/dipdup/fields.py index bf3583e9e..a9cf2aa6e 100644 --- a/src/dipdup/fields.py +++ b/src/dipdup/fields.py @@ -8,7 +8,7 @@ from typing import Any from typing import TypeVar -import orjson +from tortoise.contrib.postgres.fields import ArrayField as ArrayField from tortoise.exceptions import ConfigurationError as TortoiseConfigurationError from tortoise.fields import relational as relational from tortoise.fields.base import CASCADE as CASCADE @@ -95,24 +95,6 @@ def to_python_value( raise FrameworkException(f'Invalid enum value: {value}') -# TODO: Use PostgreSQL native ARRAY type -class ArrayField(Field[list[str]]): - SQL_TYPE = 'TEXT' - - def to_db_value( - self, - value: list[str], - instance: type[_TortoiseModel] | _TortoiseModel, - ) -> str | None: - return orjson.dumps(value).decode() - - def to_python_value(self, value: str | list[str]) -> list[str] | None: - if isinstance(value, str): - array = orjson.loads(value) - return [str(x) for x in array] - return value - - class DecimalField(Field[Decimal], Decimal): """ Accurate decimal field. diff --git a/src/dipdup/hasura.py b/src/dipdup/hasura.py index c15a4a149..71a6e5565 100644 --- a/src/dipdup/hasura.py +++ b/src/dipdup/hasura.py @@ -342,10 +342,10 @@ def _iterate_graphql_queries(self) -> Iterator[tuple[str, str]]: for file in iter_files(graphql_path, '.graphql'): yield file.name.split('/')[-1][:-8], file.read() - def _is_ignored(self, name: str) -> bool: - if self._hasura_config.ignore_internal and name.startswith('dipdup_'): + def _is_hidden(self, name: str) -> bool: + if self._hasura_config.hide_internal and name.startswith('dipdup_'): return True - if name in self._hasura_config.ignore: + if name in self._hasura_config.hide: return True return False @@ -363,16 +363,10 @@ async def _generate_source_tables_metadata(self) -> list[dict[str, Any]]: for app, model in iter_models(self._package): table_name = model._meta.db_table or pascal_to_snake(model.__name__) - if self._is_ignored(table_name): - continue - model_tables[f'{app}.{model.__name__}'] = table_name metadata_tables[table_name] = self._format_table(table_name) for view in views: - if self._is_ignored(view): - continue - metadata_tables[view] = self._format_table(view) for app, model in iter_models(self._package): @@ -409,8 +403,6 @@ async def _generate_source_tables_metadata(self) -> list[dict[str, Any]]: junction_table_name = field.through - if self._is_ignored(junction_table_name): - continue metadata_tables[junction_table_name] = self._format_table(junction_table_name) metadata_tables[junction_table_name]['object_relationships'].append( self._format_object_relationship( @@ -649,13 +641,12 @@ def _format_column_config(self, fields: list[Field]) -> dict[str, Any]: return {humps.decamelize(f.name): {'custom_name': humps.decamelize(f.name)} for f in fields} def _format_table(self, name: str) -> dict[str, Any]: + permissions = [] if self._is_hidden(name) else [self._format_select_permissions()] return { 'table': self._format_table_table(name), 'object_relationships': [], 'array_relationships': [], - 'select_permissions': [ - self._format_select_permissions(), - ], + 'select_permissions': permissions, } def _format_table_table(self, name: str) -> dict[str, Any]: diff --git a/src/dipdup/http.py b/src/dipdup/http.py index 5665a21af..c95a014bf 100644 --- a/src/dipdup/http.py +++ b/src/dipdup/http.py @@ -3,7 +3,6 @@ import logging import platform import time -from collections.abc import Mapping from contextlib import AbstractAsyncContextManager from contextlib import suppress from http import HTTPStatus @@ -11,7 +10,6 @@ from pathlib import Path from typing import Any from typing import Literal -from typing import cast from typing import overload from urllib.parse import urlsplit from urllib.parse import urlunsplit @@ -167,8 +165,7 @@ async def _retry_request( ratelimit_sleep = self._config.ratelimit_sleep # TODO: Parse Retry-After in UTC date format with suppress(KeyError, ValueError): - e.headers = cast(Mapping[str, Any], e.headers) - ratelimit_sleep = max(ratelimit_sleep, int(e.headers['Retry-After'])) + ratelimit_sleep = max(ratelimit_sleep, int(e.headers['Retry-After'])) # type: ignore[index] else: metrics.set_http_error(self._url, 0) @@ -251,6 +248,8 @@ async def _request( # NOTE: Use raw=True if fail on 204 is not a desired behavior if response.status == HTTPStatus.NO_CONTENT: raise InvalidRequestError('204 No Content', request_string) + if not response._body: + raise InvalidRequestError('Empty response', request_string) with suppress(JSONDecodeError): return orjson.loads(response._body) return response._body diff --git a/src/dipdup/sentry.py b/src/dipdup/sentry.py index a719f94c1..ec983586c 100644 --- a/src/dipdup/sentry.py +++ b/src/dipdup/sentry.py @@ -42,7 +42,7 @@ def extract_event(error: Exception) -> 'Event': """Extracts Sentry event from an exception""" exc_info = sentry_sdk.utils.exc_info_from_error(error) event, _ = sentry_sdk.utils.event_from_exception(exc_info) - return sentry_sdk.serializer.serialize(event) + return sentry_sdk.serializer.serialize(event) # type: ignore[arg-type,return-value] def before_send(