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.6.0.tar.gz (312.5 kB view details)

Uploaded Source

Built Distributions

hardware_tools-0.6.0-cp310-cp310-win_amd64.whl (480.4 kB view details)

Uploaded CPython 3.10 Windows x86-64

hardware_tools-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (925.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

hardware_tools-0.6.0-cp39-cp39-win_amd64.whl (484.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

hardware_tools-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (947.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

hardware_tools-0.6.0-cp38-cp38-win_amd64.whl (484.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

hardware_tools-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (964.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

hardware_tools-0.6.0-cp37-cp37m-win_amd64.whl (484.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

hardware_tools-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (868.9 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for hardware-tools-0.6.0.tar.gz
Algorithm Hash digest
SHA256 85aa01e643a5069b310e99dfb6b76d7c7ec09ac9f30baeb5a1bcc67ea862603f
MD5 0bc9e17b852ddc933089c39b088501bf
BLAKE2b-256 17f73b42fa6505cbecd4072fe9feeef1e47cf6e279af00377919efd52990820e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2711653c6c31e8145b819ee5fbcf3440d23739b9623743755d2750f39df66b45
MD5 e69f0f374129d945d95b12d15edb2cd6
BLAKE2b-256 fbf7f85fe4b3633994d84ac9c213c9bb046355435473ae79efdedd6b97aa0585

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5966b474a00a09882956b7b60c575ec7b0fe8e886e0a48e9e7ec00e1df66092a
MD5 4dd4324453498c77c37a9cba34cd3f51
BLAKE2b-256 4b8c22d3c6f8d32e508478b704a21ebac3a0ed125973a6b3c55fd8e738afd38a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 22e64fe20ea7ff8f0e34646b49ede98b4496fa48f55118d9f596bf8da7ec28d9
MD5 6c12009c10a264384850cbb5b9ff5554
BLAKE2b-256 e22cc50f7e8645c8a933a873d77f49a0af3610348562301658e3ec1d6916b399

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb285f4f2179172c4fd82eb323c8192b65a44182ef82486e365f32f76cac71b7
MD5 4c9acc9cc85b506420f2a41dd1af51ff
BLAKE2b-256 41342e3db63dd19d95a41c17af5a794f7546e73f84fee70a131bbde8d7ef792e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.6.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a14debed919423e6269122aa6c99cd638dbafb188f393583b82cbedb90449ce0
MD5 fd4bb2d602d88bd6d2cd3cf2f65912af
BLAKE2b-256 cc326ee88443e6e121a7766188664ddb5d433c0c73298a7d18b5ac522d45083b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 358d429a097515f58a12304c4dffb6b99994596df1ab36171588fc1dd6272de2
MD5 657ffef148e99f604b6b5b702654fdb9
BLAKE2b-256 6cfd6b99548fa712f14dfb7e58f32024244368fc31fb81be5ac1b4cd4fa7329d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.6.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ace6acae306d0c81ae573970bcdcf9ecccfa14ad97bf6036746d47920171a2d9
MD5 76a4bc4218c05090b9462c96a79eab17
BLAKE2b-256 c45f119bcaafca723cfbe376939cfde71603880118f7f07707a894f6865f42fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.6.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe8be430759688491f2bb88e429e643ca67e77228ceda7fd03e3a7d9d27c0995
MD5 0e1481d1ee59c07ec021507bf89c8d79
BLAKE2b-256 9e933ad12c1ba4135a9526bcb498c1c6c743c6000e84cf757399748cc875369a

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