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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.10 Windows x86-64

hardware_tools-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (925.6 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

hardware_tools-0.7.0-cp39-cp39-win_amd64.whl (484.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

hardware_tools-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (947.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

hardware_tools-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (964.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

hardware_tools-0.7.0-cp37-cp37m-win_amd64.whl (484.2 kB view details)

Uploaded CPython 3.7m Windows x86-64

hardware_tools-0.7.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.7.0.tar.gz.

File metadata

  • Download URL: hardware-tools-0.7.0.tar.gz
  • Upload date:
  • Size: 312.6 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.7.0.tar.gz
Algorithm Hash digest
SHA256 873ede894121202bafa0e6e465200aae694168e46b32e891fc79fbfa430ba312
MD5 67347283a7a538f4bc1e1f1c220f89bb
BLAKE2b-256 37a52473e68e6d9cde85c354f370033ed168a9e45b6e259ddc21a972427ac2ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 06fdd77770c9452102b7301e19286704e8853cd337796b61c8ee7364a613edcb
MD5 6ce1c6555f37d1b1a8f9411c92e9b855
BLAKE2b-256 e67b50ab135f38dfcfef0241b973b6405d9efceb282a440344713bffa7fb8724

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38bc86489774734af536ce7da42a5a05798ee50c6df9cb1441f6581c9a6d37c8
MD5 ae0601153113292b54759f3af34f7b40
BLAKE2b-256 f1a3f96d272daaf8ba97b880b676f244e45b5b29e05b94a217e82f02d4a4aab6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.7.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e35ace809b393909b3ab3bced4c6f129888535fc20a556e75b14b32294b1056e
MD5 a2fce606688deadfefd5414bc34d973e
BLAKE2b-256 f5d53467c4f1d809de579e10e59e6da37e95c988d9a5efeb11a0a0000fc477d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 877c53bf987491c1b2e91398ef451b414290403d6d870ce80409a7f52924cd6a
MD5 a01a2c16add4bfbb1074b9ce1c254eac
BLAKE2b-256 6c35e387727172c55ef58c4acfff50fde2a8b221d6de495d43e831ddf2c30db1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.7.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 773ff762e679c973ff8eecc973f559655d64260b3d32506b2ef2d570496851be
MD5 6a778072fa6414019de31ef4e47e99f5
BLAKE2b-256 017c29a94fc73acbe21128a60d343999e45123125b311a60be49d28ddd31fb9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e33fd7ed2bb972b0e05c05dbd93707cbade9cf43e475cf5dcc018358402bef30
MD5 17941ea4dfc190ce4ba207004ae466fe
BLAKE2b-256 3a1474477d853eeef580d5ee65c5e3e66f81af072fb41338a5b9e0fc3739dc67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.7.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 929772b48a26bebe9dce26b9d813c2457a40c3f1e8fc08aff569ff3b3860adb4
MD5 e4d4f5f520f4592a4bab8f1f60f584a5
BLAKE2b-256 9c6edb12512f37295b06618db3f6aeda5a57a3f3f4754e7e992576aab0804b0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.7.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 427a0e93d9997f5a4295489da948b3d7c15dc903b63e8bd4711f65fa74e6603c
MD5 b7b94ce7633c77ed0f98feb605fea458
BLAKE2b-256 da3b310377abf4aeedc39f06b8a7885f673b1312a76f7c82a1071d4fd87d8e03

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