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

Uploaded Source

Built Distributions

hardware_tools-0.5.0-cp310-cp310-win_amd64.whl (479.2 kB view details)

Uploaded CPython 3.10 Windows x86-64

hardware_tools-0.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (924.6 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

hardware_tools-0.5.0-cp39-cp39-win_amd64.whl (483.3 kB view details)

Uploaded CPython 3.9 Windows x86-64

hardware_tools-0.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (946.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

hardware_tools-0.5.0-cp38-cp38-win_amd64.whl (483.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

hardware_tools-0.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (963.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

hardware_tools-0.5.0-cp37-cp37m-win_amd64.whl (482.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

hardware_tools-0.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (867.9 kB view details)

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

File details

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

File metadata

  • Download URL: hardware-tools-0.5.0.tar.gz
  • Upload date:
  • Size: 311.8 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.5.0.tar.gz
Algorithm Hash digest
SHA256 0a0f9efc2a759b6ac976acf136354bfc45f00fbc9d7120d400b06bc3b09eea2d
MD5 84e06e4d4c92288c06e1c1e7057b7dd1
BLAKE2b-256 e60b7689ae28eac3e728782e21602adf03b2c0d81abc1f0ef50c96717c4de222

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d428f074d5bd04551401cb8e304619ac495224c5119df2ac8113ff80b3c20f28
MD5 77957a4f4ec24d568694c23343521fa5
BLAKE2b-256 782c06e32886003e86a542904c602470ddafb2334e01b0d0e403b997c50fc268

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d37997e7f6074ad679dc4cf4bcdb7eec9e94f6b200fea0983a3227bc8bfaff5
MD5 aab45dd8487b84d95c94a7c78568e1ec
BLAKE2b-256 b1acde9a8d6bac5638ef079c7e32e0b88b2b58df6e48701661e1c0558fb92f19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.5.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8216f3522cf1c68844f3ae9094628d8170ae3125ae3d3096d5b75912871d0097
MD5 283114c288d2ca8bb4b41215694c5a4d
BLAKE2b-256 b0cb1ca0a23be87413fd630c7fe6780e7d966c3a518ee820c9d1493907fbe34e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88097566e791d4c58b0e85c97e7996a40d6dfdbd658566ce18df8e8db1d050d2
MD5 bdd0f98d9e9c4f9d4fe8611b31ecaa43
BLAKE2b-256 443b1c4a582877d95505d2f00b862115ac491ca1ab9a2f1f7dcc70b9a36b0586

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.5.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dc4870126e468bee71a156eaf0981daeb832c8d41e506ccf4608b01d215e99a5
MD5 c62686a64129b923cd44205f2d4e0aa5
BLAKE2b-256 2810c219dfc6f90caab57bbaf56046b7adeaece82e98b1e9b96924b0a07e8095

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 008dc2e1fdfbaa0e262b542b7bf500fac0a7ffc854e38b57fd2ad919c511224a
MD5 6801292e1747a30dfb349cac0f608804
BLAKE2b-256 0926bbdf670b759358192f815975b30c120d8f55d0acdb78a15cbc146a5f8d9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.5.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 74d341e98823d176fc86095668169b51358343398addb029b073e96970b15448
MD5 5b5b2c17aa088c19d571d6a6f8bd86e3
BLAKE2b-256 8c331980cd3cbe3373f2603fd8721dc260dfe346164a0125b2082bcd54c9326c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7fea1ce6e678f53e1587249f755f2194c8e6cdd13d2a60d0977be27fd12f489
MD5 2eba70a468a06bc16d54ddc2da31a255
BLAKE2b-256 e66b9752cfce9e6c5a6ade1ba3bbc1d1826cd23c7f38d01890e18a6b1aa232cd

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