Skip to main content

A library for automating hardware development and testing

Project description

hardware-tools

Unit Test Pylint Coverage Latest Version

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 # or .\Scripts\activate.bat
git clone https://github.com/WattsUp/hardware-tools
cd hardware-tools
python -m pip install .

Installation / Build / Deployment

# To install latest stable version on PyPi, execute:
python -m pip install hardware_tools

# To install from source, execute:
git clone https://github.com/WattsUp/hardware-tools
cd hardware-tools
python -m pip install .

# For development, install as a link to repository such that code changes are used. And include testing packages
git clone https://github.com/WattsUp/hardware-tools
cd hardware-tools
python -m pip install -e .[test]

Usage

Explain how to use your project.

# TODO

Running Tests

Make sure to install package with testing extension

# To run the automated tests, execute:
python -m tests discover -s tests -t . --locals

# To save the results to file, execute:
python -m tests discover -s tests -t . --locals &> testing.log

## The following is a synopsis of unittest main arguments ##
# To run a singular test file, execute:
python -m tests $path_to_test_file
python -m tests tests.measurement.test_mask

# To run a singular test class, execute:
python -m tests $path_to_test_file.$class
python -m tests tests.measurement.test_mask.TestMaskDecagon

# To run a singular test method, execute:
python -m tests $path_to_test_file.$class.$method
python -m tests tests.measurement.test_mask.TestMaskDecagon.test_init

# Multiple can be strung together
python -m tests tests.measurement.test_mask tests.test_math
# To run coverage and print the report with missing lines, execute:
python -m coverage run && python -m coverage report -m

# To run profiler, execute:
python -m cProfile -s tottime -m tests discover -s tests -t . > profile.log

# To run linting, execute:
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.

# To format all files, execute:
yapf -ir .

Versioning

Versioning of this projects adheres to Semantic Versioning and is implemented using git tags.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hardware-tools-0.8.0.tar.gz (314.0 kB view details)

Uploaded Source

Built Distributions

hardware_tools-0.8.0-cp310-cp310-win_amd64.whl (484.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

hardware_tools-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (929.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

hardware_tools-0.8.0-cp39-cp39-win_amd64.whl (488.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

hardware_tools-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (952.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

hardware_tools-0.8.0-cp38-cp38-win_amd64.whl (488.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

hardware_tools-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (969.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

hardware_tools-0.8.0-cp37-cp37m-win_amd64.whl (488.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

hardware_tools-0.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (873.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file hardware-tools-0.8.0.tar.gz.

File metadata

  • Download URL: hardware-tools-0.8.0.tar.gz
  • Upload date:
  • Size: 314.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for hardware-tools-0.8.0.tar.gz
Algorithm Hash digest
SHA256 0f721f5649f686e69ec831cd5df6b3e1367860827ba7c7502eaecaa140fb40a4
MD5 8ea0c04b5d1fb8b5b08a7b9c08057b5a
BLAKE2b-256 c4ad68ab816abc1bb480eb68a551b15e1f12a9b3d937d9f456badedc6f0be4dd

See more details on using hashes here.

File details

Details for the file hardware_tools-0.8.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for hardware_tools-0.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 010a7f62263096284315ab0b35ce81e9386fb46df6f1f2dcff7f192ffef81931
MD5 c41035ffc434c88f60714b693d04d84e
BLAKE2b-256 d7bcbbb13746ca8264c626b134ca15706d4f246e0ef06ccaa68689dcf3c46600

See more details on using hashes here.

File details

Details for the file hardware_tools-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hardware_tools-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c601b8a0d01f743ab9061a456fc9e0f53a6f616c13520799a3ad91f07b91b6b
MD5 8211378ff411ec399ffc59bc5621f008
BLAKE2b-256 65d8de67034fda0383d87173a0a581e3133f7580a530e5ca75b738b68aaad2f5

See more details on using hashes here.

File details

Details for the file hardware_tools-0.8.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for hardware_tools-0.8.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 16e2c78a62cae53ce4ce375c8444d8908d9c4890ee03dfe0c3d02993193d2b67
MD5 d89eb8cee5c3c85220e737232c412c34
BLAKE2b-256 e38255dea9b653952208bcafc1f1299c20e2473bf88e8796017516752e7f3997

See more details on using hashes here.

File details

Details for the file hardware_tools-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hardware_tools-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48f5ab74fcb27215168ed5db158320f0b8660044efee95c99c93aa693f52100b
MD5 177b95f403df1dbd1a492abdfa1cd0c6
BLAKE2b-256 8993daccbe3377644d3f2a953279a517b0b8a398f718a9153e2b3af7e4641c9a

See more details on using hashes here.

File details

Details for the file hardware_tools-0.8.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for hardware_tools-0.8.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f53da2419d27b5b4052d3da31bbcf743e2497c89872d8ca89c5fe81ebdd330f5
MD5 9327f2495e9078f8e06ef1398644ea04
BLAKE2b-256 df97c747c4b1201e27c28bd8580fb7643e6d81b044f6ada8fcc0147ef8e7a8f0

See more details on using hashes here.

File details

Details for the file hardware_tools-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hardware_tools-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 623a47040fe95460f0be0b0ab19ac00bffe1cdd2a9276b4909551ce93414b4e9
MD5 4b3fd3866e1959b5b0f47c3164a671b6
BLAKE2b-256 2396e40efeca39218df1708c22fccd6d445ec659142c326172ae596e089f4cd1

See more details on using hashes here.

File details

Details for the file hardware_tools-0.8.0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for hardware_tools-0.8.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d1786371ec0cdb4624a289ef5c608fd0c2ae1ead351970a4dbde018ea34c2ea1
MD5 f248cfac2a81888409348b34d52458c4
BLAKE2b-256 165c498cd2e3321cf6db86f24412e9ce2078dc684a126882cc4e5fbe3366d453

See more details on using hashes here.

File details

Details for the file hardware_tools-0.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hardware_tools-0.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62d9efe1c5c7613ff3e0e5d6f29da071f5217ee81f542b38fadfc3ad211b0c5e
MD5 0ae772326d6bcbb41196f20cad859040
BLAKE2b-256 78f4140113c2292b57307a625741a6985da4d00449b6a71e17afa65161b6de72

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page