Framework for hardware test fixtures and automated test environments
Project description
Fixate
Fixate is a Python library for testing real stuff. Fixate provides a framework for writing scripts in Python to test hardware. Providing drivers for equipment, support for switching, logging and a basic test runner UI. While Fixate is fairly simple, it is already being used to test real electronics products in real factories.
Getting Started
Fixate runs on Python 3.8 or greater.
Installing
Clone the repository using git or download a zip file and unzip the source. Then run setup.py to install. Alternatively, install from Pypi with 'pip install fixate'
Run the example scripts
There are a number of examples under the examples folder.
You will need a clone fo the git repository to get the examples.
For a minimal example try running tiny.py.
For a more complicated example using multi-level tests, try running multi_level_design.py.
The test runner is executed by calling the fixate package and passing in the test script to execute using the '-p' command line argument.
The following commands are for Windows:
git clone https://github.com/PyFixate/Fixate.git
cd Fixate
py -m venv .venv
.venv\Scripts\activate
py -m pip install .
py -m fixate -p examples\tiny.py
Make a script directly executable
For easier development, test scripts can be setup to call the fixate main as their own with some default parameters, as in:
python examples/tiny.py
Running the tests
In general, it is recommended to run the "core" set of tests.
The "drivers" tests have a number of dependencies that are not required by default.
Tests are run using pytest.
The easiest way to run the test is using tox.
To run the tests manually using pytest, excluding tests that required instruments, you can run pytest -m "not drivertest".
Check out the docs
Contributing
Contributions are welcome. Get in touch or create a new pull request.
Pull requests will need to pass code checks. You can run these most easily locally via pre-commit:
pip install pre-commit
pre-commit install --install-hooks
pre-commit run --all-files # if not run before on your changes, otherwise leave off the flag
Authors
- Ryan Parry-Jones - Original Developer - pazzarpj
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.txt file for details
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 fixate-0.6.4.tar.gz.
File metadata
- Download URL: fixate-0.6.4.tar.gz
- Upload date:
- Size: 114.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61be15ec967d3fdda2254d4204ede92239347d6c545df6b79d8e32037ecabe75
|
|
| MD5 |
fc7716e701b4e16886b56fa1213efec4
|
|
| BLAKE2b-256 |
3955031f3ade5a19c135fae112e8f0b81b3dd25ff68ec1e803cb281a0881d10a
|
Provenance
The following attestation bundles were made for fixate-0.6.4.tar.gz:
Publisher:
upload_pypi.yml on PyFixate/Fixate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fixate-0.6.4.tar.gz -
Subject digest:
61be15ec967d3fdda2254d4204ede92239347d6c545df6b79d8e32037ecabe75 - Sigstore transparency entry: 162142756
- Sigstore integration time:
-
Permalink:
PyFixate/Fixate@5b1a46f606b6564fe966a43dbbaafb0f41b261e0 -
Branch / Tag:
refs/tags/0.6.4 - Owner: https://github.com/PyFixate
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@5b1a46f606b6564fe966a43dbbaafb0f41b261e0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fixate-0.6.4-py3-none-any.whl.
File metadata
- Download URL: fixate-0.6.4-py3-none-any.whl
- Upload date:
- Size: 128.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69a197bc652e5cd34bd7cb209eee75fd52ece7ac87e90cb4508d7f86bf28e26a
|
|
| MD5 |
57f4d78cdf585f3086eaea1bc0bcec6b
|
|
| BLAKE2b-256 |
96c0c4074b0e3aa583e9c3c0352f87a9cb935bb10e867e26a57ba5f673e3270e
|
Provenance
The following attestation bundles were made for fixate-0.6.4-py3-none-any.whl:
Publisher:
upload_pypi.yml on PyFixate/Fixate
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fixate-0.6.4-py3-none-any.whl -
Subject digest:
69a197bc652e5cd34bd7cb209eee75fd52ece7ac87e90cb4508d7f86bf28e26a - Sigstore transparency entry: 162142757
- Sigstore integration time:
-
Permalink:
PyFixate/Fixate@5b1a46f606b6564fe966a43dbbaafb0f41b261e0 -
Branch / Tag:
refs/tags/0.6.4 - Owner: https://github.com/PyFixate
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
upload_pypi.yml@5b1a46f606b6564fe966a43dbbaafb0f41b261e0 -
Trigger Event:
push
-
Statement type: