FixturFab Functional Test System Hardware Utilities Library. Connect and control test hardware for your FixturFab Functional Test System.
Project description
f3ts-hardware-utils
FixturFab Functional Test System Hardware Utilities Library
Connect and Control Test Hardware for your FixturFab Functional Test System
f3ts-hardware-utils is a Python module that contains the basic utilities for creating a
PCBA functional test system. This module contains classes for controlling all common test
hardware, including:
- Acroname Manufacturing Test Modules
- Feasa LED Analyzers
- FixturFab Test Instruments
- Segger J-Link Programmers
- Rigol Power Supplies and Programmable Loads
- Various USB Relay Hardware
Installation into a Project using poetry
Install the package into your project using poetry:
poetry add f3ts-hardware-utils
Documentation
The documentation for the package can be found here.
Development
Environment Setup
poetry is used for dependency management and
pre-commit is used to identify simple issues
before submission for code review. Once installed, run the following commands
to setup your development environment:
poetry install
pre-commit install
Making changes
Use the following process when making changes to the module:
- Create new test cases
- Write new feature code and/or bugfixes
- Write documentation for new features
- Run pre-commit checks and tests prior to committing
To run the pre-commit checks, simply run the following:
poetry run pre-commit run --all-files
Code Quality Tools
black
black is used for code formatting, this is configured within pyproject.toml
To run black manually, run:
poetry run black .
flake8
flake8 is used to enforce additional
style guidelines.
To run flake8 manually, run:
poetry run flake8 ./pytest_f3ts
isort
isort is used to automatically reformat
python module import statements.
To run isort manually, run:
poetry run isort .
pre-commit
To automatically check if code is ready to be committed and pushed to Gitlab
pre-commit is used. This is configured via the
.pre-commit-config.yml file.
To run pre-commit manually, run:
poetry run pre-commit run --all-files
Documentation Generation
mkdocs is utilized along with mkdocs-material to generate documentation for
this project.
The docs directory contains the general structure for the documentation in
the form of markdown files. To autogenerate additional documentation from
docstrings, the mkdocstrings module is
used.
Developing documentation with the live server
When creating additional documentation it's useful to run the mkdocs server
which will live-reload the webpages as you make changes. To start this server,
run the following in a terminal: ### pre-commit
poetry run mkdocs serve
Adding a new file for autodocumentation
To add a new python file to the autodocumentation, open the docs/reference.md
file. Add a new header to the file, and then add the line
::: f3ts_hardware_utils.{new_file_name}, this will signal to mkdocstrings to
process the new file when building the documentation
Manually building and uploading a wheel
poetry config repositories.f3ts-hardware-utils https://us-west1-python.pkg.dev/test-runner-404519/pytest-f3ts/
# On windows you will need to run the following command as two separate commands
# and paste the token into the password prompt for the second command.
gcloud auth print-access-token | poetry config http-basic.f3ts-hardware-utils oauth2accesstoken
poetry publish --repository pytest-f3ts --build
Pipeline Setup
The pipeline is configured via the .gitlab-ci.yml file. The pipeline is
configured to run the following stages:
linting: Runs theblack,flake8, andisortchecks- Occurs on all merge requests and is required to pass before a merge request can be merged
version: Runs thegen-semver.pycommand to update the version number- Occurs after a merge request is accepted.
[skip ci]is added to a new Git Commit to prevent the pipeline from running again
build: Builds the package and uploads it to the Gitlab package registry- Triggered by new tags, which are created by the
versionstage
- Triggered by new tags, which are created by the
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 f3ts_hardware_utils-0.1.26.tar.gz.
File metadata
- Download URL: f3ts_hardware_utils-0.1.26.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.1 CPython/3.10.19 Linux/5.15.154+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5af501035c65dd944f105a757533ecfdca4ade3bfce68e664b0ae4be08c0169
|
|
| MD5 |
f6a9d987f5ab82caa53b2fd5741ab89b
|
|
| BLAKE2b-256 |
3d5ccb4cf4fccc0b41b5554ff1064017be15bddaa02fef439febeaa91f3ae272
|
File details
Details for the file f3ts_hardware_utils-0.1.26-py3-none-any.whl.
File metadata
- Download URL: f3ts_hardware_utils-0.1.26-py3-none-any.whl
- Upload date:
- Size: 1.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.3.1 CPython/3.10.19 Linux/5.15.154+
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79e499f494e644f3e088201b6ca433ae3ce1dfe4591ad7505e12088a0a359493
|
|
| MD5 |
a0bc242089ede045444aa35d7677206e
|
|
| BLAKE2b-256 |
dd47262416cb5b1c1ea19a8df9eba11097be6422336577530aedecb76eeed3d4
|