Skip to main content

A flexible configuration system for Python projects

Project description

Hypster Logo

[Documentation] | [Installation] | [Quick Start]

Hypster is a lightweight configuration system for AI & Machine Learning projects. It offers minimal, intuitive pythonic syntax, supporting hierarchical and swappable configurations.

Installation

You can install Hypster using pip:

pip install hypster

Quick Start

Here's a simple example of how to use Hypster:

from hypster import HP, config

@config
def my_config(hp: HP):
    chunking_strategy = hp.select(['paragraph', 'semantic', 'fixed'], default='paragraph')

    llm_model = hp.select({'haiku': 'claude-3-haiku-20240307',
                           'sonnet': 'claude-3-5-sonnet-20240620',
                           'gpt-4o-mini': 'gpt-4o-mini'}, default='gpt-4o-mini')

    llm_config = {'temperature': hp.number(0),
                  'max_tokens': hp.number(64)}

    system_prompt = hp.text('You are a helpful assistant. Answer with one word only')

Now we can instantiate the configs with our values:

results = my_config(final_vars=["chunking_strategy", "llm_config", "llm_model"],
                    values={"llm_model" : "haiku", "llm_config.temperature" : 0.5})

Inspiration

Hypster draws inspiration from Meta's hydra and hydra-zen framework. The API design is influenced by Optuna's "define-by-run" API.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

hypster-0.2.30.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

hypster-0.2.30-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file hypster-0.2.30.tar.gz.

File metadata

  • Download URL: hypster-0.2.30.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.13.0 Darwin/23.6.0

File hashes

Hashes for hypster-0.2.30.tar.gz
Algorithm Hash digest
SHA256 85a73671bff95d93b154c9f98c3321e0028dbe70e17905d08f8318b4107a5ecc
MD5 df3c0f89219e60b172326ccb25ecbd46
BLAKE2b-256 03dc4e9404cd4a8f4ed495975208d773632eb7243d1eeeecd4c6d57e1cd936c4

See more details on using hashes here.

File details

Details for the file hypster-0.2.30-py3-none-any.whl.

File metadata

  • Download URL: hypster-0.2.30-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.13.0 Darwin/23.6.0

File hashes

Hashes for hypster-0.2.30-py3-none-any.whl
Algorithm Hash digest
SHA256 a5d0f12f98299b3b5175028dcac204f650a2333336f63191f501c55ca1e0f3fa
MD5 64d7502b3dfbaffa4f61287f00511b50
BLAKE2b-256 7e89698f7727eef8407cefed962f4e324714fec7a8ba0c27901bc92ca7a4ec65

See more details on using hashes here.

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