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

Uploaded Source

Built Distributions

hardware_tools-0.3.0-cp310-cp310-win_amd64.whl (472.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

hardware_tools-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (935.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

hardware_tools-0.3.0-cp39-cp39-win_amd64.whl (472.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

hardware_tools-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (934.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

hardware_tools-0.3.0-cp38-cp38-win_amd64.whl (472.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

hardware_tools-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (949.4 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

hardware_tools-0.3.0-cp37-cp37m-win_amd64.whl (471.3 kB view details)

Uploaded CPython 3.7m Windows x86-64

hardware_tools-0.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (852.8 kB view details)

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

File details

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

File metadata

  • Download URL: hardware-tools-0.3.0.tar.gz
  • Upload date:
  • Size: 301.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.0.tar.gz
Algorithm Hash digest
SHA256 849d26afb9c99da22d63c5e4763b10f2725c345e345c506d046911e3abcfcb5f
MD5 d5571a5237797d653354f3a2937cdf45
BLAKE2b-256 0f8e241d9cad88f7a6d6a5a95be35b313e6e160d7a62e46dde60a651b21f1220

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5fdb745832d94bdb517a00e39ce396f5c5bc02a6a5ea8debaa081a7775f90224
MD5 b48c7bf48044bccc1d794d3abfb177ea
BLAKE2b-256 1a487794d05653d587480916c7992fd55e645be03e08697d031a1bcbced693a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef709005c969e19a6ee5307cb7488a5d73b7382047a1f2258b7e159d6407692a
MD5 2c1afc32ad078bb786be30e7ca9c6592
BLAKE2b-256 5b7565c466eca1395c306891673c54b5f47b27eee0213140ed9aebbbd7de3439

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 dea63ca27b121a897080002e239e9de85753df9c2075f9807583ebb8eaef2cf1
MD5 ec175241f28c7700c2e47aeb34ac7bb6
BLAKE2b-256 4f8d34c7100e755aaf74bd63e46e576b9cdf493e7d5186040dbada9198468fd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b7813fa11505a7ac6a951aee61d31eee9ee21b591f9e674077bfba08f0334028
MD5 a7670743c0a6aaa3975651d9ce3e56e5
BLAKE2b-256 033cff27771051a7fb8f14be811230b7cdda359c4769615bd74fe2b1c78e44b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 19bb3f39f5711232544188a7c14b53620158e1f12d859d66c51009cb08164b2c
MD5 68a92f43c23aa192fb5e3a2d131c0ed0
BLAKE2b-256 bf41a6b4cd8dc886002570da92f89bd1b006e11b6a3b228d4d612f075e3de3e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ba63e54bdc7724d4da3cc1600972d25fbc27c7d7d8d1051348c4329030bc09b9
MD5 b432fcad5702ae625a9af4e2b40e3758
BLAKE2b-256 88e6a400b188f27d6629fb6cbeb30fea77a623a1e895de9df189fe240fae526d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 de49ee2633f52bff241efc5df07e2f1a25502799c71cf0e9959cb7e5c2a496c6
MD5 c5f1e24911966709391829e748dddf9b
BLAKE2b-256 a35c095ecd4dbe02dfcf1b83f1da429a7d5ba3b7dfef5437d504a9b6c4390578

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38df6b9862565acbaa170560cff7347b8c924fe6544dbb1ccf7763fbabe635f2
MD5 29054f2e688fa5ce9ba303f13a277da8
BLAKE2b-256 8923889c7c59d7b188045cf08722f72a936aef20b663808bec734a77695c8f1e

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