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

Uploaded Source

Built Distributions

hardware_tools-0.10.0-cp310-cp310-win_amd64.whl (486.6 kB view details)

Uploaded CPython 3.10 Windows x86-64

hardware_tools-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (931.6 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

hardware_tools-0.10.0-cp39-cp39-win_amd64.whl (490.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

hardware_tools-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (953.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

hardware_tools-0.10.0-cp38-cp38-win_amd64.whl (490.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

hardware_tools-0.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (971.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

hardware_tools-0.10.0-cp37-cp37m-win_amd64.whl (489.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

hardware_tools-0.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (874.6 kB view details)

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

File details

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

File metadata

  • Download URL: hardware-tools-0.10.0.tar.gz
  • Upload date:
  • Size: 315.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for hardware-tools-0.10.0.tar.gz
Algorithm Hash digest
SHA256 e40fe14ef6bca69f46c79dea9f6644f1351698f035ec796c3c9e459fc0612690
MD5 41978aebafa185155bb01112b1c21db3
BLAKE2b-256 60b74f651ded967dc58ff9361d2cf80ba82007b8989a77549cf9712cfdcc83c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.10.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5c77b7250242385e1f18c956ed80b416f6bace799def0f3e453e88b48f894c05
MD5 75572eb7a85619f6b8dc13c9e7a6f5e6
BLAKE2b-256 cfad50706c57be8005036a8ffb96289d12efdd86bedcced9460d5dff9ff03d34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4931b385608d19dceae35de1e86e56eb169e94059f0a296798d2506a2a932611
MD5 07886463c2c516c06bd3d9c528cf4b8a
BLAKE2b-256 6c51ba02cad5bcbe70473ed8c829c45713cc3bc93a6c8182ac25d0425a279d16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.10.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4e767c64043472ab0ed65ca846b59202d8b0c57c0c5e4e2219703c31f244f1a6
MD5 90a54aef2c6faed34b6ffa57a8bd156a
BLAKE2b-256 75f33d2a20ae01039b2efeef81714eb162c3de8cb047194ea9ece4c7df375a6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0684c10d52cce1812dcf774d71737abade9d2fa29266687741aa73784460d88
MD5 e61332a77247041d105ad54ba0ef11d0
BLAKE2b-256 aab3da09d83933cc734f6562bf428bd37267a36f9660f52bebec6428bdab75c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.10.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d896ca435289a2ba6ccc6f3c6cf57aa1bb4dbe8bd2d4e4a9ae8472013414f89d
MD5 9404661e891da889f93b378d564ffacf
BLAKE2b-256 ec4e4ce4752f641985b74c2c9ca548f0ee41b9f082dca8ed60b6220976fc7306

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0863d0b6c393857f701b1e10f298ee3f1baa087a6becec95dc298b5f9bee0426
MD5 38d04d25e491c4fb12619affa14ec72f
BLAKE2b-256 7d8e25eb125df55c58033503713157887e434d007f94f050f92f08d1a96a3923

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.10.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 84b9109104f2321c2414f0d301a2c247ec9b44dff8c950cded8c056dc59488bc
MD5 c44810c468c9c66125ac48d1a393db43
BLAKE2b-256 383935056d2ce10ceb804fc12a624910ad0bad2733d7fe65a1799c8310b8ab41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hardware_tools-0.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b63aaa8642582fd3ec52a8a716989251b6ad951387c42d2dbb4866b9599dada
MD5 7781336b0a0cccec80d70127ab585383
BLAKE2b-256 0dc62ebaceed9e514a8b122eb4ac95c95d2d724377becdd439ebf2f06f6f6160

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