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

Uploaded Source

Built Distributions

hardware_tools-0.3.1-cp310-cp310-win_amd64.whl (472.7 kB view details)

Uploaded CPython 3.10 Windows x86-64

hardware_tools-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (934.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

hardware_tools-0.3.1-cp39-cp39-win_amd64.whl (472.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

hardware_tools-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (933.0 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

hardware_tools-0.3.1-cp38-cp38-win_amd64.whl (472.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

hardware_tools-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (948.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

hardware_tools-0.3.1-cp37-cp37m-win_amd64.whl (472.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

hardware_tools-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (853.9 kB view details)

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

File details

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

File metadata

  • Download URL: hardware-tools-0.3.1.tar.gz
  • Upload date:
  • Size: 302.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for hardware-tools-0.3.1.tar.gz
Algorithm Hash digest
SHA256 451b3ac7b0ef338d291696a3c3ad85765097f9cc5c3f185e71c70f8d9f6fa554
MD5 fd16ec16d3cab7bb0e1d8cee1edb8e02
BLAKE2b-256 33e0cd22ab50df51bbc0f85bd83709ca163e3f5373b5e8a96004b6af0114e88a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e799efcc733b418af1544c42f24bd10e739302fb244a7e94224335b239eabd47
MD5 4949f99931b8e9f33dcca85194db6504
BLAKE2b-256 e8e703ea3f04f0e804de28eb46cbd39677092ba25715703f9d2276e0729ae48b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe0c7fd2b7f1ba61faf6b8230932323d02afe0c0ca54ddea085c2577e05e48c5
MD5 129201678e7325f5042174b77d4217af
BLAKE2b-256 e857024987fe5cee20f92cf35b72dc8a48f85d2260d1f1e6943f8e576389b559

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f1ce5e761447e775e992aa1c08d3a8e6e7d572fe5ded52ce4df043d438c0c2c0
MD5 4dc58617236c5a034dd0c82cafacf1a3
BLAKE2b-256 42a6ad09de01cc9620d4aa115f27ccaf30bebf7a1f8c04fc3d19c2218ada9aa0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c59b3f1094eb575cb38c7c163f98af52e54c672462e936113d71e7e9cb4535df
MD5 2a5a90a29ca8c25cd16e7a834c44da4a
BLAKE2b-256 509cf20d302f6953bfa12b5af5db5b8906e027f2049e06d21b87169b8892c5f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ac0d69ea2d98e4a48df43c9873e598194a61d336133c936a18be934a14ca16fa
MD5 79cceb2cae80c58e80979d1bbb5d061f
BLAKE2b-256 ef395f21e99ba09d0891fdb8ab9f467e877515ea642ed45bb1c5bd0f98db3dd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b33e2d88a857d43dbb2677905deec14281f3f109f44a51ef217285618fff5d01
MD5 f0874c0682ee7b1ef05ee73b8fb3257e
BLAKE2b-256 f293fd19714ef7397147c3d20226de5ea1d8ef143b65f08bc1950463482ec159

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 431579ede21424fc7a15b1cada77807241725138451845c333b5dce2749d79b5
MD5 a5ff38cdfe0c03e5095ba23a38ec0ab2
BLAKE2b-256 2a7a0ab7e9dc14a11a3542ec3b5f1e03c69536712dbd2586048f1db3c5848586

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fbd7dc3f864bf637c8be83a265d6a1439ad3de07f355b249482cc2247618445
MD5 a1f647512790d5f91b2df6bd96440b83
BLAKE2b-256 bc2791e4bc69e15eabaf69fb69676c6f6f8f1ec5f375bacd37d4450d6878c17e

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