Command-line interface for Refrakt ML/DL framework
Project description
refrakt_cli
refrakt_cli is a command-line interface for the refrakt_core deep learning and machine learning research framework. It enables rapid, reproducible, and flexible pipeline training by converting CLI arguments into YAML-based experiment configurations, seamlessly integrating with refrakt_core's modular system.
📦 Installation
Install the latest release from PyPI:
pip install refrakt_cli
🚀 What is refrakt_cli?
- A CLI tool to launch, manage, and override ML/DL training pipelines using YAML configs.
- Bridges user-friendly command-line workflows with the powerful abstractions of refrakt_core.
- Supports dynamic hyperparameter overrides, modular experiment configs, and robust logging.
⚙️ Setup
git clone https://github.com/refrakt-hub/refrakt_cli.git
cd refrakt_cli
# (Recommended) Create and activate a virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install .
🧪 Usage: Running Experiments
Run with a config file
refrakt --config path/to/your_config.yaml
Override hyperparameters on-the-fly
refrakt --config path/to/your_config.yaml model.name=ResNet optimizer.lr=0.0005 trainer.epochs=20
Supported CLI Flags
| Flag | Description |
|---|---|
--config |
Path to YAML config file |
--log_type |
Logging backend: tensorboard, wandb, or both |
--debug |
Enable debug mode with extra verbosity |
🧩 Project Structure
src/refrakt_cli/
├── cli.py # Main CLI entry point
├── helpers/ # Argument parsing, config overrides, pipeline orchestration
│ ├── argument_parser.py
│ ├── config_overrides.py
│ └── pipeline_orchestrator.py
├── hooks/ # Custom hooks (e.g., hyperparameter overrides)
│ └── hyperparameter_override.py
├── utils/ # Utility functions for pipeline management
│ └── pipeline_utils.py
└── __init__.py
- cli.py: Main CLI logic and entry point.
- helpers/: Argument parsing, config override logic, and pipeline orchestration.
- hooks/: Custom hooks for advanced config/hyperparameter handling.
- utils/: Utility functions for pipeline and config management.
Test files are located in the tests/ directory, mirroring the main module structure.
🤝 Contributing
Contributions, issues, and feature requests are welcome!
Please read our CONTRIBUTING.md for guidelines on how to get started and best practices for contributing to refrakt_cli.
📄 License
This repository is licensed under the MIT License. See LICENSE for full details.
👤 Credits
Akshath Mangudi
If you find issues, raise them. If you learn from this, share it. Built with love and curiosity :)
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file refrakt_cli-0.2.0.tar.gz.
File metadata
- Download URL: refrakt_cli-0.2.0.tar.gz
- Upload date:
- Size: 33.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
248fda5342463d8fffeabb5a80730279d4194d01cca7228cb4bde60f0b3d084d
|
|
| MD5 |
1f5d8659c007cbd16bc7460eb667784a
|
|
| BLAKE2b-256 |
faca7c51f6a3071a9980363ed3093536949d20a8774fd10700b1a0ad95526126
|
File details
Details for the file refrakt_cli-0.2.0-py3-none-any.whl.
File metadata
- Download URL: refrakt_cli-0.2.0-py3-none-any.whl
- Upload date:
- Size: 40.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2790c86f1708ae0c618f81e0ec94093b724ff3f53f0745425cf41ee2d52d7db
|
|
| MD5 |
0220488ab3ec4215417c8f6dde1c1ad3
|
|
| BLAKE2b-256 |
e0a0cfcef07bbb6a0515e631ef8e8c2caa79bb38790f9f70f9c4e855ecc7ba8b
|