capsize-commons (Python)
The Python distribution of capsize-commons. It has no
required dependencies; each sub-package is pulled in through an extra and
imports its third-party dependency lazily, so importing one module never drags
in another module's stack.
Install
uv add "capsize-commons[logging]" # anything is optional
uv add "capsize-commons[web,db,config]" # or pick several
uv add "capsize-commons[all]" # or everything
| Extra | Enables | Third-party |
|---|---|---|
config |
capsize_commons.config |
pydantic, pydantic-settings |
db |
capsize_commons.db |
sqlalchemy |
web |
capsize_commons.web |
fastapi |
http |
capsize_commons.http |
none (stdlib only) |
all |
every sub-package | above |
capsize_commons.text and capsize_commons.logging are stdlib-only and ship
with the base install.
Modules
# Structured JSON logs matching §14
from capsize_commons.logging import configure_logging
configure_logging(json_mode=True, logger_name="myapp")
# Env-backed settings, cached per class
from capsize_commons.config import CapsizeSettings, get_settings
class Settings(CapsizeSettings):
model_config = CapsizeSettings.model_config | {"env_prefix": "MYAPP_"}
database_url: str = "sqlite:///./app.db"
# FastAPI auth + health
from capsize_commons.web import make_api_key_dependency, install_health_routes
# SQLAlchemy engine, sessions and the standard model mixin
from capsize_commons.db import make_engine, make_session_factory, TimestampedBase
# HTTP retry with backoff
from capsize_commons.http import Backoff, retry_async
# Naming (§3.1)
from capsize_commons.text import slugify, to_snake_case
Development
cd python
uv sync --all-extras
uv run pytest
uv run ruff check . && uv run ruff format --check .
uv run mypy src
Or from the repository root: just test, just lint, just typecheck.
Metadata
Release files for capsize-commons 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| capsize_commons-0.1.1.tar.gz | 19.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| capsize_commons-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 37.4 kB
Release files / capsize_commons-0.1.1.tar.gz
| Download URL | capsize_commons-0.1.1.tar.gz |
|---|---|
| Size | 19.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
beca3e1072dd8dff7a4a7c9f085ecaa69662be3c656e38d237ef73ad103d2012
|
|
BLAKE2b-256 checksum How to use checksums |
12f377cd7ee4b28b48db8ec28dd218693731a2f99c5ac0a2f18b5e06952af147
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / capsize_commons-0.1.1-py3-none-any.whl
| Download URL | capsize_commons-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d2c9525e082abfb21a3813241212e250fc26e26a58c9f28bb2bd2986ee6c2510
|
|
BLAKE2b-256 checksum How to use checksums |
cf72a68e8ad487171f5f544e1e06b07e3f3951db2122d5d56428cb9b8789f9bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|