hardware-tools
A library for automating hardware development and testing
Environment
List of dependencies for package to run.
Required
- python modules, installed via
pip install hardware_tools
- numpy
- pyvisa
- cython
- colorama
- matplotlib
- scipy
- sklean
- Pillow
- scikit-image
Optional
- Test extensions, installed via
pip install hardware_tools[test]
- time-machine
- hardware-tools
Virtual Environment
If using hardware-tools in a virtual environment, do not place it within this repo directory. Set it outside due to an issue compiling the extensions with cython since it tries to compile the code inside the virtual environment as well.
mkdir workspace-hardware-tools
cd workspace-hardware-tools
python -m venv .
source ./Scripts/activate
git clone https://github.com/WattsUp/hardware-tools
cd hardware-tools
python -m pip install .
Installation / Build / Deployment
python -m pip install hardware_tools
git clone https://github.com/WattsUp/hardware-tools
cd hardware-tools
python -m pip install .
git clone https://github.com/WattsUp/hardware-tools
cd hardware-tools
python -m pip install -e .[test]
Usage
Explain how to use your project.
Running Tests
Make sure to install package with testing extension
python -m tests discover -s tests -t . --locals
python -m tests discover -s tests -t . --locals &> testing.log
python -m tests $path_to_test_file
python -m tests tests.measurement.test_mask
python -m tests $path_to_test_file.$class
python -m tests tests.measurement.test_mask.TestMaskDecagon
python -m tests $path_to_test_file.$class.$method
python -m tests tests.measurement.test_mask.TestMaskDecagon.test_init
python -m tests tests.measurement.test_mask tests.test_math
python -m coverage run && python -m coverage report -m
python -m cProfile -s tottime -m tests discover -s tests -t . > profile.log
python -m pylint hardware_tools tests tools setup.py
Development
Code development of this project adheres to Google Python Guide
Styling
Use yapf
to format files, based on Google's guide with the exception of indents being 2 spaces.
yapf -ir .
Versioning
Versioning of this projects adheres to Semantic Versioning and is implemented using git tags.