Codync
免費、開源的 1:1 替代方案,取代 Grok Bot 與 Muse。從 iPhone、Mac 或 Linux 桌面將 Claude Code、Codex、Cursor 與 40+ 程式碼代理人作為持續機器人傳訊。群組聊天、主題串…
AI 翻譯
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗DDD and Hexagonal Architecture building blocks for Python.
| Layer | Package | Components |
|---|---|---|
| Domain | seedwork.domain | , , , , , , , |
EntityAggregateRootValueObjectDomainEventDomainEventRecordDomainErrorRepositoryUnitOfWork| Application | seedwork.application | Command, Query[TResult], CommandHandler, QueryHandler, CommandBus, QueryBus, Result, DomainEventBusPublisher, DomainEventBusSubscriber, DomainEventBus, DomainEventHandler, BaseIntegrationEvent[TPayload], IntegrationEvent[TPayload], IntegrationEventPublisher, IntegrationEventHandler, BackgroundTask[TPayload], TaskScheduler |
| Infrastructure | seedwork.infrastructure | RegistryCommandBus, RegistryQueryBus, TransactionalCommandBus, DomainEventCoordinatorCommandBus, CommandBusBuilder, QueryBusBuilder, DeferredDomainEventBus, DomainEventPublishingRepository, InMemoryRepository |
All components are also re-exported from the top-level seedwork package.
pip install python-seedwork
Requires Python 3.12+. Ships a py.typed marker (PEP 561) — mypy and pyright pick up the inline types automatically.
Comprehensive guides are available in the docs/ directory:
A complete Bank Account example demonstrates all patterns end-to-end.
Python 3.12+, uv
git clone https://github.com/aseguragonzalez/python-seedwork.git
cd python-seedwork
make install
| Command | Description |
|---|---|
make check | Lint, typecheck, and tests (what CI runs) |
make lint | Run ruff linter |
make format | Format and auto-fix with ruff |
make typecheck | Run pyright |
make test | Run tests with coverage (90% gate) |
make test-no-cov | Run tests without coverage |
make clean | Remove build artifacts and caches |
This project follows the Conventional Commits specification. The commit-msg pre-commit hook enforces the format; python-semantic-release derives versions and the changelog from commit prefixes automatically.
This package draws on the following literature and on the experience of building solid, scalable, and maintainable systems in different stacks (PHP, C#, Python, TypeScript).