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.0
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.0.tar.gz | 18.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| capsize_commons-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.0 kB
Release files / capsize_commons-0.1.0.tar.gz
| Download URL | capsize_commons-0.1.0.tar.gz |
|---|---|
| Size | 18.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
98ae37b61b21e392aa74fa5b36c4da8157190a01eaf52db1b3bc95a91e896d2b
|
|
BLAKE2b-256 checksum How to use checksums |
589480f57f950e9b214375d54eb8f0d210bd8b24fd3edab45094901a16e081c9
|
| 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.0-py3-none-any.whl
| Download URL | capsize_commons-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6875fd70f39274e291b558d1e593dd783fb83a9aaf6dada9c47859969513de23
|
|
BLAKE2b-256 checksum How to use checksums |
530e8826ca0834ea6e03edb6e4221b884dda20801a3c9dd22059079d192233ca
|
| 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}
|