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.
Files changed (88) hide show
  1. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/CHANGELOG.md +10 -0
  2. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/PKG-INFO +1 -1
  3. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_version.py +2 -2
  4. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/management/commands/backfill_blocks_v1.py +15 -4
  5. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.cruft.json +0 -0
  6. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.github/dependabot.yml +0 -0
  7. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.github/workflows/ci.yml +0 -0
  8. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.github/workflows/publish.yml +0 -0
  9. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.gitignore +0 -0
  10. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.pre-commit-config.yaml +0 -0
  11. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/.shellcheckrc +0 -0
  12. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/README.md +0 -0
  13. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/SECURITY.md +0 -0
  14. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/docs/3rd_party/cookiecutter-rt-pkg/CHANGELOG.md +0 -0
  15. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/.dockerignore +0 -0
  16. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/.gitignore +0 -0
  17. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/Dockerfile +0 -0
  18. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/README.md +0 -0
  19. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/__init__.py +0 -0
  20. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/admin.py +0 -0
  21. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/apps.py +0 -0
  22. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/management/__init__.py +0 -0
  23. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/management/commands/__init__.py +0 -0
  24. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/management/commands/create_admin.py +0 -0
  25. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/migrations/__init__.py +0 -0
  26. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/models.py +0 -0
  27. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/tasks.py +0 -0
  28. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/tests.py +0 -0
  29. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/block_explorer/views.py +0 -0
  30. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/docker-compose.yml +0 -0
  31. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/__init__.py +0 -0
  32. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/asgi.py +0 -0
  33. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/celery.py +0 -0
  34. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/settings.py +0 -0
  35. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/urls.py +0 -0
  36. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/example_project/wsgi.py +0 -0
  37. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/main.py +0 -0
  38. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/manage.py +0 -0
  39. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/pyproject.toml +0 -0
  40. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/pytest.ini +0 -0
  41. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/example_project/uv.lock +0 -0
  42. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/noxfile.py +0 -0
  43. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/pyproject.toml +0 -0
  44. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/__init__.py +0 -0
  45. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/__init__.py +0 -0
  46. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/dal/__init__.py +0 -0
  47. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/dal/django_dal.py +0 -0
  48. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/dal/memory_registry.py +0 -0
  49. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/discovery.py +0 -0
  50. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/exceptions.py +0 -0
  51. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/providers/__init__.py +0 -0
  52. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/providers/bittensor_client.py +0 -0
  53. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/__init__.py +0 -0
  54. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/backfill_scheduler.py +0 -0
  55. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/block_processor.py +0 -0
  56. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/executor.py +0 -0
  57. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/metrics.py +0 -0
  58. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/scheduler.py +0 -0
  59. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/_internal/services/utils.py +0 -0
  60. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/admin.py +0 -0
  61. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/apps.py +0 -0
  62. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/management/__init__.py +0 -0
  63. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/management/commands/__init__.py +0 -0
  64. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/management/commands/block_tasks_v1.py +0 -0
  65. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/migrations/0001_initial.py +0 -0
  66. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/migrations/__init__.py +0 -0
  67. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/models.py +0 -0
  68. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/py.typed +0 -0
  69. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/__init__.py +0 -0
  70. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/celery.py +0 -0
  71. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/decorators.py +0 -0
  72. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/src/abstract_block_dumper/v1/tasks.py +0 -0
  73. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/__init__.py +0 -0
  74. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/conftest.py +0 -0
  75. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/django_fixtures.py +0 -0
  76. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/fatories.py +0 -0
  77. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/__init__.py +0 -0
  78. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_backfill_scheduler.py +0 -0
  79. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_block_processor.py +0 -0
  80. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_concurrent_processing.py +0 -0
  81. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_multi_arguments_tasks.py +0 -0
  82. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_registered_celery_tasks.py +0 -0
  83. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_scheduler.py +0 -0
  84. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/integration/test_task_registration.py +0 -0
  85. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/settings.py +0 -0
  86. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/unit/test_celery_integration.py +0 -0
  87. {abstract_block_dumper-0.1.3 → abstract_block_dumper-0.1.6}/tests/unit/test_decorator.py +0 -0
  88. {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
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>
@@ -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.3'
32
- __version_tuple__ = version_tuple = (0, 1, 3)
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 Any
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: dict[str, Any]) -> None:
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,