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 docs PyLint Coverage 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.

Documentation

Current documentation and more information can be found here.

Quick Install

Supports Python 3.7+

pip install spock-config

Key Features

  • Simple Declaration: Parameters are defined within a @spock_config decorated class. Supports types, 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.
  • 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.0.tar.gz (42.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spock_config-1.0-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file spock-config-1.0.tar.gz.

File metadata

  • Download URL: spock-config-1.0.tar.gz
  • Upload date:
  • Size: 42.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.6

File hashes

Hashes for spock-config-1.0.tar.gz
Algorithm Hash digest
SHA256 0f18c41dc314da9bcb1d7196d9f8352d6c01e341490ab32c7f641340e5f5ac66
MD5 762c50379800344aabaa9f03ec9fee56
BLAKE2b-256 f7d8d439628c28957e93473e1bb3f1cd1315032f1b92c788ed1d18b14d18995f

See more details on using hashes here.

File details

Details for the file spock_config-1.0-py3-none-any.whl.

File metadata

  • Download URL: spock_config-1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.6

File hashes

Hashes for spock_config-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 67d14aa6c4028eed063c5e350d9701c052399cc1d4786b304cf7d4e70477efc6
MD5 6e13a14b0c873277016b813600ffaf46
BLAKE2b-256 17ba73515534cae810f23c4297189e7ef47dfd139d9bd2bce296a1f560ac7c99

See more details on using hashes here.

Supported by

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