Skip to main content

Arclith

Python 3.13 framework for building microservices with Hexagonal Architecture and Clean Architecture.

Arclith provides reusable domain models, use cases, repositories, adapters, FastAPI/FastMCP bootstrap, configuration, probes, and service wiring.

Canonical Service Layout

Arclith applications should use a namespaced src/<package>/... layout. This keeps imports explicit, avoids top-level package collisions, and matches how the project is built and tested.

src/my_service/
  domain/
  application/
  adapters/
  infrastructure/
config/
tests/
main.py

The current convention is exposed by the framework:

from arclith import canonical_project_layout

layout = canonical_project_layout("my_service")
print(layout.domain)  # src/my_service/domain

Project Links

Installation

pip install arclith

Optional dependencies

pip install "arclith[mongodb]"
pip install "arclith[duckdb]"
pip install "arclith[fastapi]"
pip install "arclith[mcp]"
pip install "arclith[all]"

Development

uv sync
uv run pytest

License

Apache 2.0 — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arclith-0.10.0.tar.gz (316.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arclith-0.10.0-py3-none-any.whl (76.7 kB view details)

Uploaded Python 3

File details

Details for the file arclith-0.10.0.tar.gz.

File metadata

  • Download URL: arclith-0.10.0.tar.gz
  • Upload date:
  • Size: 316.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for arclith-0.10.0.tar.gz
Algorithm Hash digest
SHA256 b934980f0427cff3e2406e881cb726a6d92fdcd5c84e4dee6a331096e34bfefb
MD5 cd7598e16c7f42c46143dda0136f669f
BLAKE2b-256 0add0f7fcb64554cefc7514ce78ea723bcb74fb9042a3f1dd5094a1d80b7d694

See more details on using hashes here.

File details

Details for the file arclith-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: arclith-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 76.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for arclith-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6fbfb29bd994f2d1d18ed076bd80430294d03679f87e9c609496e8c69399bc70
MD5 acfc6927824fdeeee61616ea5c93e4f4
BLAKE2b-256 361cb618cedd65a755386c9b4b4ac89161c8523050e8e7f73222e494c788990c

See more details on using hashes here.

Release history Release notifications | RSS feed

0.24.0

2 files

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

This release

0.10.0 This release

2 files

0.9.0

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page