The Functional Python Stack - pure functions, typed data, no class magic
Project description
Declaro
The Functional Python Stack
Pure functions. Typed data. No class magic.
Vision
Declaro is a collection of tools for developers who believe:
- Data is just data - Dicts and TypedDicts, not objects with hidden state
- Functions transform data - Pure functions with no side effects
- Types should be explicit - Declared upfront, enforced everywhere
- Testing should be trivial - Same input, same output, always
Packages
| Package | Description | Status |
|---|---|---|
declaro-persistum |
Schema-first database toolkit | In development |
declaro-ximenez |
Type enforcement with memorable errors | Planned |
declaro-api |
FastAPI integration | Planned |
Installation
# Install everything
pip install declaro[all]
# Or pick what you need
pip install declaro-persistum
pip install declaro-ximenez
pip install declaro-api
Philosophy
# Not this (classes, state, magic)
class User(BaseModel):
email: str
@validator("email")
def validate_email(cls, v):
...
# This (data, functions, clarity)
User = TypedDict("User", {"email": str})
def validate_user(user: dict) -> list[Error]:
return check_email(user.get("email", ""))
Links
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
declaro-0.0.1.tar.gz
(2.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file declaro-0.0.1.tar.gz.
File metadata
- Download URL: declaro-0.0.1.tar.gz
- Upload date:
- Size: 2.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82cf322b7c27045457854825a20490b4d19d65972d2452629ea962134d553841
|
|
| MD5 |
185b0f308be29b910399f5d8ffd0e216
|
|
| BLAKE2b-256 |
db6af1bd54776cf4ab4fad0d181156f928c8fbaf8306d86c0bbdc754cec4738e
|
File details
Details for the file declaro-0.0.1-py3-none-any.whl.
File metadata
- Download URL: declaro-0.0.1-py3-none-any.whl
- Upload date:
- Size: 3.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e7aa2c0a0276bcfdf977e9830a740c97b83a1df4f5683f1bd184e2814db8c75
|
|
| MD5 |
98fcbd41fe2bf961aba3da98486030e0
|
|
| BLAKE2b-256 |
14a5d39c7c82d6bbbf10e1d87b2572beb723b517580b1f844055ac31d2a39eff
|