# DealerTower Python Framework (dtpyfw)
[](https://www.python.org/downloads/)
[](https://github.com/psf/black)
[](http://mypy-lang.org/)
[](LICENSE)
**DealerTower Framework** provides reusable building blocks for microservices. It is organized into modular sub-packages focused on different domains: Core, API, Database, Bucket, FTP, Redis, Kafka, Worker, Log, and Encryption.
This library follows Python packaging standards including PEP 561 for type checking support.
---
## ๐ Installation
Requires **Python 3.11** or newer (supports Python 3.11 and 3.12).
### Base package & Core
```bash
pip install dtpyfw
```
Using Poetry (development):
```bash
poetry install -E all
```
### Package Metadata
Query the installed version programmatically:
```python
import dtpyfw
print(dtpyfw.__version__)
```
### Optional Extras
Install just the features you need; extras can be combined, for example `pip install dtpyfw[api,db]`.
| Sub-Package | Description | Install Command | Docs |
| ----------- | ----------- | --------------- | ---- |
| **core** | Env, errors, async bridge, utils | included in base | [Core Docs](docs/core.md) |
| **api** | FastAPI middleware & routing helpers | `pip install dtpyfw[api]` | [API Docs](docs/api.md) |
| **db** | SQLAlchemy sync/async & search tools | `pip install dtpyfw[db]` | [DB Docs](docs/db.md) |
| **bucket** | S3-compatible file management | `pip install dtpyfw[bucket]` | [Bucket Docs](docs/bucket.md) |
| **ftp** | FTP and SFTP convenience wrappers | `pip install dtpyfw[ftp]` | [FTP Docs](docs/ftp.md) |
| **redis** | Redis clients & Streams consumer | `pip install dtpyfw[redis]` | [Redis Docs](docs/redis.md) |
| **kafka** | Kafka messaging utilities | `pip install dtpyfw[kafka]` | [Kafka Docs](docs/kafka.md) |
| **worker** | Celery task & scheduler setup | `pip install dtpyfw[worker]` | [Worker Docs](docs/worker.md) |
| **log** | Structured logging helpers | included in base | [Log Docs](docs/log.md) |
| **encrypt** | Password hashing & JWT utilities | `pip install dtpyfw[encrypt]` | [Encryption Docs](docs/encrypt.md) |
| **slim-task** | DB, Redis, Worker | `pip install dtpyfw[slim-task]` | โ |
| **slim-api** | API, DB | `pip install dtpyfw[slim-api]` | โ |
| **normal** | API, DB, Redis, Worker | `pip install dtpyfw[normal]` | โ |
| **all** | Everything above | `pip install dtpyfw[all]` | โ |
---
## ๐ฆ Sub-Package Summaries
### Core
Essential utilities for environment management, error handling, async bridging and general helpers. [Core Docs](docs/core.md)
### API
FastAPI application factory, middleware and routing helpers. [API Docs](docs/api.md)
### Database
Sync and async SQLAlchemy orchestration with search helpers. [DB Docs](docs/db.md)
### Bucket
S3-compatible storage convenience functions. [Bucket Docs](docs/bucket.md)
### FTP/SFTP
Unified clients for FTP and SFTP operations. [FTP Docs](docs/ftp.md)
### Redis & Streams
Redis caching utilities and Streams consumers/senders. [Redis Docs](docs/redis.md)
### Kafka
Producer and consumer wrappers for Kafka messaging. [Kafka Docs](docs/kafka.md)
### Worker
Helpers for configuring Celery workers and schedules. [Worker Docs](docs/worker.md)
### Log
Structured logging configuration and helpers. [Log Docs](docs/log.md)
### Encryption
Password hashing and JWT helpers. [Encryption Docs](docs/encrypt.md)
---
## ๐ค Contributing
We welcome contributions from authorized DealerTower employees and contractors! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on:
- Development setup
- Coding standards and style guide
- Testing requirements
- Pull request process
- Type annotations and docstring conventions
---
## ๐ Changelog
See [CHANGELOG.md](CHANGELOG.md) for a list of changes in each release.
---
## ๐ License
DealerTower Python Framework is proprietary. See [LICENSE](LICENSE) for terms.
## Development
- Install dependencies: `poetry install -E all`
- Run tests: `pytest` (from repo root)
- Format and lint: `autoflake -r --remove-all-unused-imports --ignore-init-module-imports . && isort . && black . && ruff check . --fix && docformatter -r -i .`
- Type-check: `mypy dtpyfw`
Raw data
{
"_id": null,
"home_page": null,
"name": "dtpyfw",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": "framework, microservices, fastapi, sqlalchemy, celery",
"author": "Reza Shirazi",
"author_email": "reza@dealertower.com",
"download_url": "https://files.pythonhosted.org/packages/b5/ed/56bda83da1ddce0f8aa2a8b5fb4ef55100c5a0bc9f251f26f43493853efa/dtpyfw-0.5.20.tar.gz",
"platform": null,
"description": "# DealerTower Python Framework (dtpyfw)\n\n[](https://www.python.org/downloads/)\n[](https://github.com/psf/black)\n[](http://mypy-lang.org/)\n[](LICENSE)\n\n**DealerTower Framework** provides reusable building blocks for microservices. It is organized into modular sub-packages focused on different domains: Core, API, Database, Bucket, FTP, Redis, Kafka, Worker, Log, and Encryption.\n\nThis library follows Python packaging standards including PEP 561 for type checking support.\n\n---\n\n## \ud83d\ude80 Installation\n\nRequires **Python 3.11** or newer (supports Python 3.11 and 3.12).\n\n### Base package & Core\n\n```bash\npip install dtpyfw\n```\n\nUsing Poetry (development):\n\n```bash\npoetry install -E all\n```\n\n### Package Metadata\n\nQuery the installed version programmatically:\n\n```python\nimport dtpyfw\nprint(dtpyfw.__version__)\n```\n\n### Optional Extras\n\nInstall just the features you need; extras can be combined, for example `pip install dtpyfw[api,db]`.\n\n| Sub-Package | Description | Install Command | Docs |\n| ----------- | ----------- | --------------- | ---- |\n| **core** | Env, errors, async bridge, utils | included in base | [Core Docs](docs/core.md) |\n| **api** | FastAPI middleware & routing helpers | `pip install dtpyfw[api]` | [API Docs](docs/api.md) |\n| **db** | SQLAlchemy sync/async & search tools | `pip install dtpyfw[db]` | [DB Docs](docs/db.md) |\n| **bucket** | S3-compatible file management | `pip install dtpyfw[bucket]` | [Bucket Docs](docs/bucket.md) |\n| **ftp** | FTP and SFTP convenience wrappers | `pip install dtpyfw[ftp]` | [FTP Docs](docs/ftp.md) |\n| **redis** | Redis clients & Streams consumer | `pip install dtpyfw[redis]` | [Redis Docs](docs/redis.md) |\n| **kafka** | Kafka messaging utilities | `pip install dtpyfw[kafka]` | [Kafka Docs](docs/kafka.md) |\n| **worker** | Celery task & scheduler setup | `pip install dtpyfw[worker]` | [Worker Docs](docs/worker.md) |\n| **log** | Structured logging helpers | included in base | [Log Docs](docs/log.md) |\n| **encrypt** | Password hashing & JWT utilities | `pip install dtpyfw[encrypt]` | [Encryption Docs](docs/encrypt.md) |\n| **slim-task** | DB, Redis, Worker | `pip install dtpyfw[slim-task]` | \u2014 |\n| **slim-api** | API, DB | `pip install dtpyfw[slim-api]` | \u2014 |\n| **normal** | API, DB, Redis, Worker | `pip install dtpyfw[normal]` | \u2014 |\n| **all** | Everything above | `pip install dtpyfw[all]` | \u2014 |\n\n---\n\n## \ud83d\udce6 Sub-Package Summaries\n\n### Core\n\nEssential utilities for environment management, error handling, async bridging and general helpers. [Core Docs](docs/core.md)\n\n### API\n\nFastAPI application factory, middleware and routing helpers. [API Docs](docs/api.md)\n\n### Database\n\nSync and async SQLAlchemy orchestration with search helpers. [DB Docs](docs/db.md)\n\n### Bucket\n\nS3-compatible storage convenience functions. [Bucket Docs](docs/bucket.md)\n\n### FTP/SFTP\n\nUnified clients for FTP and SFTP operations. [FTP Docs](docs/ftp.md)\n\n### Redis & Streams\n\nRedis caching utilities and Streams consumers/senders. [Redis Docs](docs/redis.md)\n\n### Kafka\n\nProducer and consumer wrappers for Kafka messaging. [Kafka Docs](docs/kafka.md)\n\n### Worker\n\nHelpers for configuring Celery workers and schedules. [Worker Docs](docs/worker.md)\n\n### Log\n\nStructured logging configuration and helpers. [Log Docs](docs/log.md)\n\n### Encryption\n\nPassword hashing and JWT helpers. [Encryption Docs](docs/encrypt.md)\n\n---\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions from authorized DealerTower employees and contractors! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on:\n\n- Development setup\n- Coding standards and style guide\n- Testing requirements\n- Pull request process\n- Type annotations and docstring conventions\n\n---\n\n## \ud83d\udcdd Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for a list of changes in each release.\n\n---\n\n## \ud83d\udcc4 License\n\nDealerTower Python Framework is proprietary. See [LICENSE](LICENSE) for terms.\n\n## Development\n\n- Install dependencies: `poetry install -E all`\n- Run tests: `pytest` (from repo root)\n- Format and lint: `autoflake -r --remove-all-unused-imports --ignore-init-module-imports . && isort . && black . && ruff check . --fix && docformatter -r -i .`\n- Type-check: `mypy dtpyfw`\n\n",
"bugtrack_url": null,
"license": "DealerTower Proprietary License",
"summary": "DealerTower Python Framework: reusable building\u2011blocks for DealerTower services",
"version": "0.5.20",
"project_urls": {
"Homepage": "https://github.com/datgate/dtpyfw",
"Repository": "https://github.com/datgate/dtpyfw"
},
"split_keywords": [
"framework",
" microservices",
" fastapi",
" sqlalchemy",
" celery"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6342e248151c239011e24afa7de84bd16144fd403a25368de9609cc1a3a0c9b6",
"md5": "a039b0faa11017b75d471d3e7b4dfe83",
"sha256": "aa50acdc35c56c4ceb05665fae59f24aa4ba1d6f200504b610223646e983b07d"
},
"downloads": -1,
"filename": "dtpyfw-0.5.20-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a039b0faa11017b75d471d3e7b4dfe83",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 77335,
"upload_time": "2025-10-20T17:18:50",
"upload_time_iso_8601": "2025-10-20T17:18:50.444268Z",
"url": "https://files.pythonhosted.org/packages/63/42/e248151c239011e24afa7de84bd16144fd403a25368de9609cc1a3a0c9b6/dtpyfw-0.5.20-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b5ed56bda83da1ddce0f8aa2a8b5fb4ef55100c5a0bc9f251f26f43493853efa",
"md5": "4ac5d6cdb0b2dc2c1a09c14da085a5d6",
"sha256": "f06abffd95adc181bb8a50dcfd494181cde9fe60705559431012973e2b860a93"
},
"downloads": -1,
"filename": "dtpyfw-0.5.20.tar.gz",
"has_sig": false,
"md5_digest": "4ac5d6cdb0b2dc2c1a09c14da085a5d6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 72642,
"upload_time": "2025-10-20T17:18:51",
"upload_time_iso_8601": "2025-10-20T17:18:51.853332Z",
"url": "https://files.pythonhosted.org/packages/b5/ed/56bda83da1ddce0f8aa2a8b5fb4ef55100c5a0bc9f251f26f43493853efa/dtpyfw-0.5.20.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-20 17:18:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "datgate",
"github_project": "dtpyfw",
"github_not_found": true,
"lcname": "dtpyfw"
}