Skip to content

getmarkus/python_template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5f61f34 · Feb 21, 2025

History

67 Commits
Feb 21, 2025
Feb 20, 2025
Feb 21, 2025
Feb 21, 2025
Feb 20, 2025
Feb 20, 2025
Jan 20, 2025
Dec 8, 2023
Feb 20, 2025
Feb 20, 2025
Sep 22, 2024
Feb 20, 2025
Feb 20, 2025
Dec 8, 2023
Feb 20, 2025
Jan 26, 2025
Feb 20, 2025

Repository files navigation

my personal python template playground

Simple python template I am experimenting with around a set of overlapping concepts with a Fastapi implementation:

  • DDD
  • Clean architecture
  • Ports/Adapters
  • Vertical slice
uv run fastapi dev main.py
uv run pytest

atlas schema inspect -u "sqlite://issues.db" --format "{{ sql . }}" > migrate.sql

atlas schema apply --url "sqlite://issues.db" --to "file://migrate.sql" --dev-url "sqlite://file?mode=memory" --dry-run
atlas schema apply --url "sqlite://issues.db" --to "file://migrate.sql" --dev-url "sqlite://file?mode=memory"

atlas schema apply --url "postgres://postgres:pass@localhost:5432/database?search_path=public&sslmode=disable" --to "file://schema.sql" --dev-url "docker://postgres/17"
Loading
graph TD;
    analyze_endpoint["/issues/{issue_number}/analyze (POST)"] -->|Depends| configure_repository
    analyze_endpoint -->|Depends| configure_unit_of_work
    configure_repository -->|Returns| repo["RepositoryProtocol[Issue]"]
    configure_unit_of_work -->|Returns| uow["UnitOfWork[UnitOfWorkProtocol[ConnectionProtocol]]"]
    analyze_endpoint --> ApplicationFacade_analyze_issue["ApplicationFacade.analyze_issue()"]
    ApplicationFacade_analyze_issue --> AnalyzeIssue_constructor["AnalyzeIssue.__init__()"]
    AnalyzeIssue_constructor --> AnalyzeIssue_analyze["AnalyzeIssue.analyze()"]
    AnalyzeIssue_analyze --> repo_get_by_id["repo.get_by_id()"]
    repo_get_by_id -->|Issue found| AnalyzeIssue_analyze
    repo_get_by_id -->|Issue not found| repo_add["repo.add()"]
    repo_add --> AnalyzeIssue_analyze
    configure_unit_of_work --> UnitOfWork_constructor["UnitOfWork.__init__()"]
    UnitOfWork_constructor --> UnitOfWork_commit["UnitOfWork.commit()"]
    UnitOfWork_constructor --> UnitOfWork_rollback["UnitOfWork.rollback()"]
    UnitOfWork_constructor --> UnitOfWork_enter["UnitOfWork.__enter__()"]
    UnitOfWork_constructor --> UnitOfWork_exit["UnitOfWork.__exit__()"]
    UnitOfWork_commit --> Connection_commit["Connection.commit()"]
    UnitOfWork_rollback --> Connection_rollback["Connection.rollback()"]
    Connection_commit -.-> ConnectionProtocol
    Connection_rollback -.-> ConnectionProtocol
    UnitOfWork_commit -.-> UnitOfWorkProtocol
    UnitOfWork_rollback -.-> UnitOfWorkProtocol
    UnitOfWork_enter -.-> UnitOfWorkProtocol
    UnitOfWork_exit -.-> UnitOfWorkProtocol

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages