abstract-block-dumper 0.1.3__tar.gz → 0.1.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/CHANGELOG.md +10 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/PKG-INFO +1 -1
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_version.py +2 -2
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/management/commands/backfill_blocks_v1.py +15 -4
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.cruft.json +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.github/dependabot.yml +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.github/workflows/ci.yml +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.github/workflows/publish.yml +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.gitignore +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.pre-commit-config.yaml +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.shellcheckrc +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/README.md +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/SECURITY.md +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/docs/3rd_party/cookiecutter-rt-pkg/CHANGELOG.md +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/.dockerignore +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/.gitignore +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/Dockerfile +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/README.md +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/admin.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/apps.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/management/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/management/commands/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/management/commands/create_admin.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/migrations/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/models.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/tasks.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/tests.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/views.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/docker-compose.yml +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/asgi.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/celery.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/settings.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/urls.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/wsgi.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/main.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/manage.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/pyproject.toml +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/pytest.ini +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/uv.lock +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/noxfile.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/pyproject.toml +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/dal/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/dal/django_dal.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/dal/memory_registry.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/discovery.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/exceptions.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/providers/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/providers/bittensor_client.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/backfill_scheduler.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/block_processor.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/executor.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/metrics.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/scheduler.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/utils.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/admin.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/apps.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/management/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/management/commands/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/management/commands/block_tasks_v1.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/migrations/0001_initial.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/migrations/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/models.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/py.typed +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/celery.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/decorators.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/tasks.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/conftest.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/django_fixtures.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/fatories.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/__init__.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_backfill_scheduler.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_block_processor.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_concurrent_processing.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_multi_arguments_tasks.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_registered_celery_tasks.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_scheduler.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_task_registration.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/settings.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/unit/test_celery_integration.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/unit/test_decorator.py +0 -0
- {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/uv.lock +0 -0
|
@@ -9,6 +9,16 @@ upcoming release can be found in [changelog.d](changelog.d).
|
|
|
9
9
|
|
|
10
10
|
<!-- towncrier release notes start -->
|
|
11
11
|
|
|
12
|
+
## [0.1.6](https://github.com/bactensor/abstract-block-dumper/releases/tag/v0.1.6) - 2026-02-04
|
|
13
|
+
|
|
14
|
+
No significant changes.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [0.1.5](https://github.com/bactensor/abstract-block-dumper/releases/tag/v0.1.5) - 2026-02-04
|
|
18
|
+
|
|
19
|
+
No significant changes.
|
|
20
|
+
|
|
21
|
+
|
|
12
22
|
## [0.1.3](https://github.com/bactensor/abstract-block-dumper/releases/tag/v0.1.3) - 2026-02-04
|
|
13
23
|
|
|
14
24
|
No significant changes.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: abstract-block-dumper
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
4
4
|
Project-URL: Source, https://github.com/bactensor/abstract-block-dumper
|
|
5
5
|
Project-URL: Issue Tracker, https://github.com/bactensor/abstract-block-dumper/issues
|
|
6
6
|
Author-email: Reef Technologies <opensource@reef.pl>
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_version.py
RENAMED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.1.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 1,
|
|
31
|
+
__version__ = version = '0.1.6'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 1, 6)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import argparse
|
|
2
2
|
import time
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
-
from typing import
|
|
4
|
+
from typing import TypedDict, Unpack
|
|
5
5
|
|
|
6
6
|
from django.core.management.base import BaseCommand
|
|
7
7
|
|
|
@@ -18,6 +18,17 @@ SECONDS_PER_HOUR = 3600
|
|
|
18
18
|
SECONDS_PER_MINUTE = 60
|
|
19
19
|
|
|
20
20
|
|
|
21
|
+
class BackfillOptions(TypedDict):
|
|
22
|
+
"""Type definition for command options."""
|
|
23
|
+
|
|
24
|
+
from_block: int | None
|
|
25
|
+
to_block: int | None
|
|
26
|
+
rate_limit: float
|
|
27
|
+
network: str
|
|
28
|
+
dry_run: bool
|
|
29
|
+
no_gap_detection: bool
|
|
30
|
+
|
|
31
|
+
|
|
21
32
|
@dataclass
|
|
22
33
|
class Gap:
|
|
23
34
|
"""Represents a gap of missing blocks."""
|
|
@@ -95,7 +106,7 @@ class Command(BaseCommand):
|
|
|
95
106
|
help="Process all blocks in range instead of only gaps (original behavior)",
|
|
96
107
|
)
|
|
97
108
|
|
|
98
|
-
def handle(self, **options:
|
|
109
|
+
def handle(self, **options: Unpack[BackfillOptions]) -> None: # type: ignore[override]
|
|
99
110
|
"""
|
|
100
111
|
Main command handler.
|
|
101
112
|
"""
|
|
@@ -141,9 +152,9 @@ class Command(BaseCommand):
|
|
|
141
152
|
|
|
142
153
|
# Use gap detection by default
|
|
143
154
|
if no_gap_detection:
|
|
144
|
-
self._handle_range_backfill(from_block, to_block, rate_limit, network, dry_run)
|
|
155
|
+
self._handle_range_backfill(from_block, to_block, rate_limit, network, dry_run=dry_run)
|
|
145
156
|
else:
|
|
146
|
-
self._handle_gap_backfill(from_block, to_block, rate_limit, network, dry_run)
|
|
157
|
+
self._handle_gap_backfill(from_block, to_block, rate_limit, network, dry_run=dry_run)
|
|
147
158
|
|
|
148
159
|
def _handle_gap_backfill(
|
|
149
160
|
self,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/admin.py
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/apps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/models.py
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/tasks.py
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/tests.py
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/views.py
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/docker-compose.yml
RENAMED
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/asgi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/urls.py
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/wsgi.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/admin.py
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/apps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/models.py
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/py.typed
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/__init__.py
RENAMED
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/celery.py
RENAMED
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/tasks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_scheduler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/unit/test_celery_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|