serieux
(The README is a work in progress)
Serieux is a very extensible composable serialization/configuration library for Python. Based on ovld's extensive multiple dispatch and code generation, Serieux has many features and makes it possible to define many more with little interference with the rest of the system.
Features
Configuration
Serieux has many features that pertain directly to human-writable configuration:
- Merge multiple sources: seamlessly merge information from multiple files, formats, dictionaries
- Include files: (optional) include configuration files from configuration files to better separate concerns
- Variable interpolation: (optional) interpolate and environment variables and data from elsewhere in the configuration
- Encrypt fields: fields marked as
Secret[T]can be set directly in the configuration and encrypted using the commandserieux patch <file> - Dotted notation: (optional) allow keys of the form
x.y.zinstead of nesting data
All of the aforementioned features should work with each other (although there may still be some bugs, the more of them you combine). For instance, you can merge and encrypt fields through file inclusions, you can determine which file to include through a variable interpolation, and so on.
Types
- Tagged types: tagged types use the
$classproperty to determine the deserialization typeTaggedUnion[T1, T2, ...]: Define auto-named tagged unions of multiple types (type information goes in$class)TaggedSubclass[T]: Point to any subclass of TTaggedSubclass[Any]: Point to any constructor at all
Referenced[T]: Deserializesome_module:some_symbolinto the referenced symbolLazy[T]: Proxy data of type T so that it is only loaded when accessedComment[DT, CT]: Allow data of type DT to be commented by data with type CT
Metadata
Release files for serieux 0.3.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| serieux-0.3.15.tar.gz | 195.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| serieux-0.3.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 254.0 kB
Release files / serieux-0.3.15.tar.gz
| Download URL | serieux-0.3.15.tar.gz |
|---|---|
| Size | 195.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8206d744ac4fd3e123147936f4e23a68db0950ca8aec0c51bd08e08530006cb6
|
|
BLAKE2b-256 checksum How to use checksums |
99236b0a848a4326331439968f51ff334eae7b4ff0efb3064acb5c9d20cd30bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency logRelease files / serieux-0.3.15-py3-none-any.whl
| Download URL | serieux-0.3.15-py3-none-any.whl |
|---|---|
| Size | 58.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cd8c1022961f8a11eb58c489068c0fbffb497fb67120f2b9e6f12d2407ebd226
|
|
BLAKE2b-256 checksum How to use checksums |
a0d73c64c12c6cd925a139a8eccf8b1d23bea4f2e6a6d8479810e1381beb8ca1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.
Transparency log