Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ 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.

## [Unreleased]

- deps: `tortoise-orm` updated to 0.24.0.

## [8.2.0rc1] - 2025-01-24

### Added
Expand Down
5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,15 @@ dependencies = [
"pyhumps~=3.8",
"pysignalr~=1.0",
"python-dotenv~=1.0",
"python-json-logger~=2.0",
"python-json-logger~=2.0", # pinned
"ruamel.yaml~=0.18.6",
"sentry-sdk~=2.16",
"sqlparse~=0.5",
"starknet-py~=0.25.0", # pinned
"strict-rfc3339~=0.7",
"survey~=5.4",
"tabulate~=0.9",
# TODO: 0.23.0 available
"tortoise-orm==0.21.7", # pinned
"tortoise-orm==0.24.0", # pinned
"uvloop~=0.20",
"web3~=7.2",
]
Expand Down
24 changes: 12 additions & 12 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ asyncpg==0.30.0 \
--hash=sha256:c551e9928ab6707602f44811817f82ba3c446e018bfe1d3abecc8ba5f3eac851 \
--hash=sha256:c902a60b52e506d38d7e80e0dd5399f657220f24635fee368117b8b5fce1142e \
--hash=sha256:db9891e2d76e6f425746c5d2da01921e9a16b5a71a1c905b13f30e12a257c4af
attrs==24.3.0 \
--hash=sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff \
--hash=sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308
attrs==25.1.0 \
--hash=sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e \
--hash=sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a
base58==2.1.1 \
--hash=sha256:11a36f4d3ce51dfc1043f3218591ac4eb1ceb172919cebe05b52a5bcc8d245c2 \
--hash=sha256:c5d0cb3f5b6e81e8e35da5754388ddcc6d0d14b6c6a132cb93d69ed580a7278c
Expand Down Expand Up @@ -403,9 +403,9 @@ pycryptodome==3.21.0 \
--hash=sha256:b7aa25fc0baa5b1d95b7633af4f5f1838467f1815442b22487426f94e0d66c53 \
--hash=sha256:de18954104667f565e2fbb4783b56667f30fb49c4d79b346f52a29cb198d5b6b \
--hash=sha256:f7787e0d469bdae763b876174cf2e6c0f7be79808af26b1da96f1a64bcf47297
pydantic==2.10.5 \
--hash=sha256:278b38dbbaec562011d659ee05f63346951b3a248a6f3642e1bc68894ea2b4ff \
--hash=sha256:4dd4e322dbe55472cb7ca7e73f4b63574eecccf2835ffa2af9021ce113c83c53
pydantic==2.10.6 \
--hash=sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584 \
--hash=sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236
pydantic-core==2.27.2 \
--hash=sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6 \
--hash=sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7 \
Expand All @@ -425,9 +425,9 @@ pydantic-core==2.27.2 \
pyhumps==3.8.0 \
--hash=sha256:060e1954d9069f428232a1adda165db0b9d8dfdce1d265d36df7fbff540acfd6 \
--hash=sha256:498026258f7ee1a8e447c2e28526c0bea9407f9a59c03260aee4bd6c04d681a3
pypika-tortoise==0.2.2 \
--hash=sha256:e93190aedd95acb08b69636bc2328cc053b2c9971307b6d44405bc6d9f9b71a5 \
--hash=sha256:f0fbc9e0c3ddc33118a5be69907428863849df60788e125edef1f46a6261d63b
pypika-tortoise==0.5.0 \
--hash=sha256:dbdc47eb52ce17407b05ce9f8560ce93b856d7b28beb01971d956b017846691f \
--hash=sha256:ed0f56761868dc222c03e477578638590b972280b03c7c45cd93345b18b61f58
pysignalr==1.1.0 \
--hash=sha256:17977720e3360403b05e8c764a28c70a3865fef973cc0f08bd877101f06ae815 \
--hash=sha256:f9e9ed611c999043778ebb9e5bd7d92e0afae3f9555eb73d447335e48de3b385
Expand Down Expand Up @@ -526,9 +526,9 @@ tabulate==0.9.0 \
toolz==1.0.0 ; implementation_name == 'cpython' or implementation_name == 'pypy' \
--hash=sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236 \
--hash=sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02
tortoise-orm==0.21.7 \
--hash=sha256:2229925885461f424673223ea1875bd5e6961384c766833af55a1ea11a9b25eb \
--hash=sha256:8a790a931828aa37ac364b344c561e603422aced2af5e403f6790575da0f19c5
tortoise-orm==0.24.0 \
--hash=sha256:ae0704a93ea27931724fc899e57268c8081afce3b32b110b00037ec206553e7d \
--hash=sha256:ee3b72b226767293b24c5c4906ae5f027d7cc84496cd503352c918564b4fd687
typeguard==4.4.1 \
--hash=sha256:0d22a89d00b453b47c49875f42b6601b961757541a2e1e0ef517b6e24213c21b \
--hash=sha256:9324ec07a27ec67fc54a9c063020ca4c0ae6abad5e9f0f9804ca59aee68c6e21
Expand Down
2 changes: 1 addition & 1 deletion src/dipdup/fields.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@


JSONField = partial(
_JSONField,
_JSONField[Any],
encoder=json_dumps_plain,
decoder=orjson.loads,
)
Expand Down
14 changes: 7 additions & 7 deletions src/dipdup/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -309,30 +309,30 @@ async def _execute(self) -> int:


class BulkUpdateQuery(TortoiseBulkUpdateQuery): # type: ignore[type-arg]
async def _execute(self) -> int:
for model in self.objects:
async def _execute_many(self, queries_with_params: list[tuple[str, list[Any]]]) -> int:
for model in self._objects:
if update := ModelUpdate.from_model(
cast(Model, model),
ModelUpdateAction.UPDATE,
):
get_pending_updates().append(update)

return await super()._execute()
return await super()._execute_many(queries_with_params)


class BulkCreateQuery(TortoiseBulkCreateQuery): # type: ignore[type-arg]
async def _execute(self) -> None:
for model in self.objects:
async def _execute_many(self, insert_sql: str, insert_sql_all: str) -> None:
for model in self._objects:
if update := ModelUpdate.from_model(
cast(Model, model),
ModelUpdateAction.INSERT,
):
get_pending_updates().append(update)

await super()._execute()
await super()._execute_many(insert_sql, insert_sql_all)

# NOTE: A bug; raises "You should first call .save()..." otherwise
for model in self.objects:
for model in self._objects:
model._saved_in_db = True


Expand Down
Loading
Loading