Smelt
Smelt is a simple and extensible task runner optimized for chip development workflows. Smelt makes it easy to programmatically define arbitrarily many test variants, run those tests in parallel, and analyze their results.
Cost / License
- Free
- Open Source
Platforms
- Python
- Mac
- Linux
- Windows
- BSD
Features
- Python-based
Tags
- Python
- task-runner
Smelt information
What is Smelt?
Smelt is a simple and extensible task runner optimized for chip development workflows. Smelt makes it easy to programmatically define arbitrarily many test variants, run those tests in parallel, and analyze their results. Smelt provides simple and efficient workflows to both local and distributed compute contexts.
Smelt is distributed as a Python package and can be installed via: pipx install pysmelt
With smelt installed, you can describe a test list using a simple YAML schema in a file with a .smelt.yaml extension or procedurally with Python.
Smelt is designed to make running multiple tasks as simple as possible. To achieve this, each command under smelt creates a bash script that can be inspected, re-run, and modified.
Built for EDA (electronic design automation), smelt seeks to unify the "best practices" for testing infrastructure:
- Procedural test generation: Programatically generate tests with Python
- Automatic rerun on failure: Describe the computation required to re-run failing tests
- Analysis APIs: All of the data needed to track and reproduce tests
- Extensible: Define your tests with a simple Python interface

