Spock is a framework designed to help manage complex parameter configurations for Python applications
Project description
Managing complex configurations any other way would be highly illogical...
About
spock
is a framework that helps manage complex parameter configurations during research and development of Python
applications. spock
let's you focus on the code you need to write instead of re-implementing boilerplate code like
creating ArgParsers, reading configuration files, implementing traceability etc.
In short, spock
configurations are defined by simple and familiar class-based structures. This allows spock
to
support inheritance, read from multiple markdown formats, and allow hierarchical configuration by composition.
Quick Install
Supports Python 3.6+
pip install spock-config
What's New
See Releases for more information.
November 25th, 2020
- Addition of Advanced Types
- Bumped support to include Python 3.9
- Checks for circular dependencies in composed config files
- Pickle support for dynamically created
spock
class
Documentation
Current documentation and more information can be found here.
Example spock
usage is located here.
Key Features
- Simple Declaration: Type checked parameters are defined within a
@spock
decorated class. Supports required/optional and automatic defaults. - Easily Managed Parameter Groups: Each class automatically generates its own object within a single namespace.
- Parameter Inheritance: Classes support inheritance allowing for complex configurations derived from a common base set of parameters.
- Multiple Configuration File Types: Configurations are specified from YAML, TOML, or JSON files.
- Hierarchical Configuration: Composed from multiple configuration files via simple include statements.
- Command-Line Overrides: Quickly experiment by overriding a value with automatically generated command line arguments.
- Immutable: All classes are frozen preventing any misuse or accidental overwrites.
- Tractability and Reproducibility: Save currently running parameter configuration with a single chained command.
Main Contributors
Nicholas Cilfone, Siddharth Narayanan
spock
is developed and maintained by the Artificial Intelligence Center of Excellence at Fidelity Investments.
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
Built Distribution
Hashes for spock_config-1.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b7a633ae2f17eee90a492f43a6e6f42e0c875cb1b3d760171b2cd708d4a4e46 |
|
MD5 | 1ac5e9d62b748f1a0aa13cc045a3a9f1 |
|
BLAKE2b-256 | c5a1712440a708c5f58c37898bf6501c6b29623d962231c081c3963d53fe568e |