Skip to main content

Spock is a framework designed to help manage complex parameter configurations for Python applications

Project description

Spock

Managing complex configurations any other way would be highly illogical...

License Python PyPI version Tests

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spock-config-1.2.1.tar.gz (56.7 kB view hashes)

Uploaded Source

Built Distribution

spock_config-1.2.1-py3-none-any.whl (71.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page