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

Uploaded Source

Built Distributions

hardware_tools-0.9.0-cp310-cp310-win_amd64.whl (484.8 kB view details)

Uploaded CPython 3.10 Windows x86-64

hardware_tools-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (930.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

hardware_tools-0.9.0-cp39-cp39-win_amd64.whl (489.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

hardware_tools-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (952.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

hardware_tools-0.9.0-cp38-cp38-win_amd64.whl (488.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

hardware_tools-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (969.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

hardware_tools-0.9.0-cp37-cp37m-win_amd64.whl (488.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

hardware_tools-0.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (873.3 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for hardware-tools-0.9.0.tar.gz
Algorithm Hash digest
SHA256 073760c22b788598ddc3f5dc0233fc4cbe89177b6622e423ab4125ad2b720acf
MD5 454f9c023d1c73126911450baf2fd212
BLAKE2b-256 fef4ca07063a9e926c51742d74e4473fa483124b15ee99065767d5e15dc36273

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.9.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 77371c50f2fb46d343a5d31aebe877debfafdcc9a77548378b8bed827e9fb7e5
MD5 fa0e065806d815eb206fcb92b4326781
BLAKE2b-256 7a16b69a8ac152e740c4d5fd119f8b8932d3d84ef2b95739646eecc8df9a645f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 582a9bd9accff3ba6a6e48dd9e2a183ccc4531327f05b8feef368c48949ecb21
MD5 978d8feb6d0c68850753db0a1cb28726
BLAKE2b-256 35c3fd0893bcfbdc37d2a0bbbacb8916a9f4aa34fdab622c0914ca8816b3a832

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.9.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 38950f53da8f978da11b373b1373a1bd9ce3fbdea0a1d680d4198f73eb88ab49
MD5 149aac5ecf05c0ae61f63d82bc6d300e
BLAKE2b-256 ff4b08f9b0e0afd15e3a3dd8fde946229377c27458d0fc605e4a383d8fad5f7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26f61312934a38dbdbca766e10031870bca3de258794df86d118a6200b8a5597
MD5 d23322a322d3ded4a9328ce4fa829318
BLAKE2b-256 355d16f7ccfe67bdc449fa07fa755f376511ec4c0e627b8cc20cf7ceda362477

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.9.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5f14b9244c1eb1923f0da9323a5310dd8a3a1b9f89032bdfb33f6d954fcea19d
MD5 20bf0fcc8a0a9fe68e80750150c57227
BLAKE2b-256 9905790adef575ca77f4289a84f0cad4eb365af325c80522d5e0f85690d67412

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a607f8a550aead64ad81a50ab81f83f0033ce53acbc75750d1c880a82ed4c69
MD5 ff8ce99b4e90a18428af3a2328f1d63a
BLAKE2b-256 7a30c16cd3e2f66ce26a4329601ade56b9788c42294d68a51316dece26bb65ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.9.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 84b9b996f4b6284979c203b1f7737a4d25738b6a37cd1d961226c304a189271d
MD5 eb0a4c4d23982b3648b14b723bfb2d2b
BLAKE2b-256 e3cc2e5de4335ea47dc2bd2f7df9e21b530ae56a848cc5afac40b4edb07ff84a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.9.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b1f42c1efdc815fd5e2653efe820019c877b3efa89ee90b290291000fb08562
MD5 1795b05e4c528b16dc84a7345dd6eb2c
BLAKE2b-256 d8e8084cc23de82b847b41364ac5a5bf6522ec119ef24856ed88a040403432a9

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