This release is a pre-release and may not be stable for production use.
durablestack-python
DurableStack Python runtime (in active development): durable background jobs and recurring scheduling with platform-compatible contracts.
Status
This package has completed Phase 4 (provider parity).
Implemented so far:
- Phase 0: scaffold, contracts/constants, validators baseline, docs
- Phase 1: in-memory runtime/store with lease fencing, retries, recurring materialization, retention, parity tests
- Phase 2: PostgreSQL provider, migrations, schema verification, Postgres store/runtime factory, integration tests
- Phase 3: hosted ingestion + runtime-control sync services with contract validators and golden payload fixtures
- Phase 4: SQLite, MySQL, and SQL Server providers implemented with shared contract coverage
Observability note:
- We are explicitly applying lessons from the Node.js rollout around hosted API sync (tenant/client-secret auth, endpoint safety, retry policy, idempotency, shutdown flush). The Python ingestion sync foundation now includes these guardrails and dedicated tests.
Key documents
ARCHITECTURE.mdCONTRACTS.mdPROVIDER_PARITY.mdRELEASING.md
Local development
Python 3.11+ is required.
Install dev dependencies:
pip install -e ".[dev]"
Run tests:
pytest
Run lint + typing:
ruff check .
mypy
Run Postgres integration tests (optional):
set DURABLESTACK_TEST_POSTGRES_DSN=postgresql://user:pass@localhost:5432/dbname
pytest -q tests/test_postgres_integration.py
Run SQLite integration tests:
pytest -q tests/test_sqlite_integration.py
Run MySQL integration tests (optional):
set DURABLESTACK_TEST_MYSQL_DSN=mysql://user:pass@localhost:3306/dbname
pytest -q tests/test_mysql_integration.py
Run SQL Server integration tests (optional):
set DURABLESTACK_TEST_SQLSERVER_DSN=Driver={ODBC Driver 18 for SQL Server};Server=localhost,1433;Database=durablestack;Uid=sa;Pwd=Your_password123;Encrypt=no;TrustServerCertificate=yes;
pytest -q tests/test_sqlserver_integration.py
Provider matrix
| Provider | Runtime factory | Driver dependency | Integration env var | Integration test |
|---|---|---|---|---|
| InMemory | create_durable_stack(...) |
none | none | tests/test_runtime_phase1.py |
| PostgreSQL | create_durable_stack_postgres(...) |
asyncpg |
DURABLESTACK_TEST_POSTGRES_DSN |
tests/test_postgres_integration.py |
| SQLite | create_durable_stack_sqlite(...) |
stdlib sqlite3 |
none | tests/test_sqlite_integration.py |
| MySQL | create_durable_stack_mysql(...) |
pymysql |
DURABLESTACK_TEST_MYSQL_DSN |
tests/test_mysql_integration.py |
| SQL Server | create_durable_stack_sqlserver(...) |
pyodbc |
DURABLESTACK_TEST_SQLSERVER_DSN |
tests/test_sqlserver_integration.py |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file durablestack-0.1.0b1.tar.gz.
File metadata
- Download URL: durablestack-0.1.0b1.tar.gz
- Upload date:
- Size: 59.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d25334614a4d9ff8cac1e13cd4129625424315d155cc519483b9c85b9405aad
|
|
| MD5 |
f96287ac420d9886d9dd1caba543951d
|
|
| BLAKE2b-256 |
765b3090af08d7a9b1f37a5da096a867da34e50f1f0f747e53bf94a39e54d69c
|
File details
Details for the file durablestack-0.1.0b1-py3-none-any.whl.
File metadata
- Download URL: durablestack-0.1.0b1-py3-none-any.whl
- Upload date:
- Size: 64.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fb627ff1c03f4cb3a88a2355a0dd83f7660be156981f03f054c859759e1e483
|
|
| MD5 |
d3b4549bfe7d70b2b67d1b325499646d
|
|
| BLAKE2b-256 |
33d7b57a035743c65a2907fd4d282b8eafe70d8b0212600261ec1f67dd4af47c
|