Standard
A small Python utility library with predictable behavior and agent-first guidance.
The project and intended PyPI distribution are named standard; the Python import package and command are named std. Standard is currently an alpha source checkout, not a published PyPI release. The PyPI project named standard belongs to someone else, so do not install standard from PyPI expecting this project.
The core provides YAML/TOML configuration, Pydantic Settings sources, immutable snapshots, recursive mapping helpers, and atomic text writes. FastAPI and AWS integrations are optional extras.
Install from this checkout
Run these commands from the repository root. Choose one integration command if you need that extra; each installs this checkout and its dependencies.
| Need | Command | Import path |
|---|---|---|
| Core only | python -m pip install -e . |
std |
| FastAPI | python -m pip install -e '.[fastapi]' |
std.fastapi |
| AWS | python -m pip install -e '.[aws]' |
std.aws |
| Both integrations | python -m pip install -e '.[fastapi,aws]' |
std.fastapi, std.aws |
The intended published install forms are standard, standard[fastapi], and standard[aws]. They are not available for this project until the existing PyPI name is resolved.
First use
Create config/settings.yaml:
database:
host: localhost
Then load a value from it:
from std.config import ConfigManager
config = ConfigManager.from_file("config/settings.yaml")
host = config.snapshot.get_path("database.host", "localhost")
For Pydantic Settings, create config/app.yaml:
host: localhost
port: 8080
from std.config import YamlSettings
class Settings(YamlSettings):
std_config_file = "config/app.yaml"
host: str
port: int = 8080
settings = Settings()
By default, Pydantic Settings resolves values in this order: constructor values, Standard config files, process environment, dotenv, and file secrets. Callers can change the order through Pydantic's settings_customise_sources hook.
Agent guidance
std guide
std skill show
std skill install
std guide summarizes the library for coding agents. std skill show prints the packaged idiomatic-Python skill. std skill install writes it to .agents/skills/standard-python/SKILL.md and refuses to overwrite an existing file unless you pass --force.
The source repository contains the development checks, end-to-end tests, and full documentation site. The published distribution is intended to contain only the working library, its CLI, and the required package metadata, README, and license.
Metadata
Release files for standard 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 | |
|---|---|---|---|
| standard-0.1.0.tar.gz | 15.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| standard-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.0 kB
Release files / standard-0.1.0.tar.gz
| Download URL | standard-0.1.0.tar.gz |
|---|---|
| Size | 15.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cfa8d86dbed46cc2dd1a45d09e89e1886b2110654597a615046436b4209ed339
|
|
BLAKE2b-256 checksum How to use checksums |
56e98f07fcf0c9457d91fba15d1498bef01a3dfbab48d46cfbd56c646b06a66a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.11
|
Release files / standard-0.1.0-py3-none-any.whl
| Download URL | standard-0.1.0-py3-none-any.whl |
|---|---|
| Size | 20.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
462c470e1cf035a5c5d0d6cdfcf8dca0c21d8bb078bfb1f03b84420bc9900e53
|
|
BLAKE2b-256 checksum How to use checksums |
0bc1af42fdd1ae6296461200ba186e40b464f2093a8ea5b510e488fe939dbb39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.11
|