Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

A modular configuration system for machine learning research

Project description

machinable

Build Status License Code style: black

machinable provides a system to manage configuration of machine learning projects more effectively. Using straight-forward conventions and a powerful configuration engine, it can help structure your projects in a principled way so you can move quickly while enabling reuse and collaboration.

Read the user guide to get started.

Features

Powerful configuration

  • YAML-based project-wide configuration files with expressive syntax
  • Efficient configuration manipulation
  • Modular code organisation to allow for encapsulation and re-use
  • Import system to use 3rd party configuration and code without overhead
  • 'Mixins' for horizontal inheritance structure

Efficient execution

  • Works with existing code
  • Support for seamless cloud execution
  • Automatic code backups
  • Managed randomness and reproducibility
  • Advanced hyperparameter tuning using Ray Tune

Effective result collection and analysis

  • Logging, tabular record writer and storage API
  • File system abstraction (in-memory, AWS S3, and more)
  • Flat-file result database with convenient query syntax

Supported by

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