nshconfig
Fully typed configuration management, powered by Pydantic.
📚 Documentation | 🔧 Installation Guide
Overview
nshconfig is a Python library that enhances Pydantic with additional features for configuration management, particularly useful for machine learning experiments and other applications requiring strongly typed configurations.
Installation
pip install nshconfig
To install all optional dependencies, use:
pip install nshconfig[extra]
Please see the Installation Guide for more details.
Quick Start
import nshconfig as C
class MyConfig(C.Config):
field1: int
field2: str
field3: C.AllowMissing[float] = C.MISSING
config = MyConfig.draft()
config.field1 = 42
config.field2 = "hello"
final_config = config.finalize()
Key Features
- Draft configs for intuitive configuration creation
- Singleton pattern support (both descriptor and global styles)
- Multiple configuration formats (Python, JSON, YAML)
- Dynamic type registry for plugin systems
- Configuration code generation tools
- Built-in PyTorch Lightning integration
- MISSING constant for optional fields
For detailed examples and API reference, please visit the documentation.
Contributing
Contributions are welcome! Please see our Contributing Guide for details.
Credit
Built on top of the excellent pydantic library.
License
MIT License
Metadata
Release files for nshconfig 0.56.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 | |
|---|---|---|---|
| nshconfig-0.56.0.tar.gz | 43.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nshconfig-0.56.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 94.2 kB
Release files / nshconfig-0.56.0.tar.gz
| Download URL | nshconfig-0.56.0.tar.gz |
|---|---|
| Size | 43.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6a181aa6413743bfd5bfd844719111f57a5e5773430a014ddc462eee8c857372
|
|
BLAKE2b-256 checksum How to use checksums |
5c808022cd7a3cafc530582f73e8c822ffba52de371bdebc20acbac39c2d65c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / nshconfig-0.56.0-py3-none-any.whl
| Download URL | nshconfig-0.56.0-py3-none-any.whl |
|---|---|
| Size | 50.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
480efe0a6d5d8d699def0ec27c8a71cbf810060f1f342a7dd79fffc8eaf97036
|
|
BLAKE2b-256 checksum How to use checksums |
ac3ea9ea16bd4eb03a78f840698c8b89d2abdfdf20dbe362c4be9f55ffe98a6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|