Py4Hw User Guide> 0.1 Installing¶

Next: 0.2 Cloning the development repository¶

Py4HW is available from the pypi repository, so you can just install by running

pip install py4hw

in your python console. In jupyter notebooks just run the following cell:

In [2]:
!pip install py4hw
Collecting py4hw
  Using cached py4hw-0.0.5-py3-none-any.whl (35 kB)
Requirement already satisfied: ipywidgets in c:\users\dcr\anaconda3\lib\site-packages (from py4hw) (7.6.3)
Requirement already satisfied: matplotlib in c:\users\dcr\anaconda3\lib\site-packages (from py4hw) (3.4.2)
Requirement already satisfied: nbwavedrom in c:\users\dcr\anaconda3\lib\site-packages (from py4hw) (0.2.0)
Requirement already satisfied: ipykernel>=4.5.1 in c:\users\dcr\anaconda3\lib\site-packages (from ipywidgets->py4hw) (5.3.4)
Requirement already satisfied: nbformat>=4.2.0 in c:\users\dcr\anaconda3\lib\site-packages (from ipywidgets->py4hw) (5.0.8)
Requirement already satisfied: widgetsnbextension~=3.5.0 in c:\users\dcr\anaconda3\lib\site-packages (from ipywidgets->py4hw) (3.5.1)
Requirement already satisfied: ipython>=4.0.0 in c:\users\dcr\anaconda3\lib\site-packages (from ipywidgets->py4hw) (7.24.1)
Requirement already satisfied: traitlets>=4.3.1 in c:\users\dcr\anaconda3\lib\site-packages (from ipywidgets->py4hw) (5.0.5)
Requirement already satisfied: jupyterlab-widgets>=1.0.0 in c:\users\dcr\anaconda3\lib\site-packages (from ipywidgets->py4hw) (1.0.0)
Requirement already satisfied: jupyter-client in c:\users\dcr\anaconda3\lib\site-packages (from ipykernel>=4.5.1->ipywidgets->py4hw) (6.1.7)
Requirement already satisfied: tornado>=4.2 in c:\users\dcr\anaconda3\lib\site-packages (from ipykernel>=4.5.1->ipywidgets->py4hw) (6.0.4)
Requirement already satisfied: setuptools>=18.5 in c:\users\dcr\anaconda3\lib\site-packages (from ipython>=4.0.0->ipywidgets->py4hw) (49.6.0.post20201009)
Requirement already satisfied: decorator in c:\users\dcr\anaconda3\lib\site-packages (from ipython>=4.0.0->ipywidgets->py4hw) (4.4.2)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in c:\users\dcr\anaconda3\lib\site-packages (from ipython>=4.0.0->ipywidgets->py4hw) (3.0.18)
Requirement already satisfied: jedi>=0.16 in c:\users\dcr\anaconda3\lib\site-packages (from ipython>=4.0.0->ipywidgets->py4hw) (0.17.1)
Requirement already satisfied: pickleshare in c:\users\dcr\anaconda3\lib\site-packages (from ipython>=4.0.0->ipywidgets->py4hw) (0.7.5)
Requirement already satisfied: backcall in c:\users\dcr\anaconda3\lib\site-packages (from ipython>=4.0.0->ipywidgets->py4hw) (0.2.0)
Requirement already satisfied: colorama in c:\users\dcr\anaconda3\lib\site-packages (from ipython>=4.0.0->ipywidgets->py4hw) (0.4.4)
Requirement already satisfied: matplotlib-inline in c:\users\dcr\anaconda3\lib\site-packages (from ipython>=4.0.0->ipywidgets->py4hw) (0.1.2)
Requirement already satisfied: pygments in c:\users\dcr\anaconda3\lib\site-packages (from ipython>=4.0.0->ipywidgets->py4hw) (2.7.2)
Requirement already satisfied: parso<0.8.0,>=0.7.0 in c:\users\dcr\anaconda3\lib\site-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets->py4hw) (0.7.0)
Requirement already satisfied: jupyter-core in c:\users\dcr\anaconda3\lib\site-packages (from nbformat>=4.2.0->ipywidgets->py4hw) (4.6.3)
Requirement already satisfied: ipython-genutils in c:\users\dcr\anaconda3\lib\site-packages (from nbformat>=4.2.0->ipywidgets->py4hw) (0.2.0)
Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in c:\users\dcr\anaconda3\lib\site-packages (from nbformat>=4.2.0->ipywidgets->py4hw) (3.2.0)
Requirement already satisfied: attrs>=17.4.0 in c:\users\dcr\anaconda3\lib\site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets->py4hw) (20.2.0)
Requirement already satisfied: pyrsistent>=0.14.0 in c:\users\dcr\anaconda3\lib\site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets->py4hw) (0.17.3)
Requirement already satisfied: six>=1.11.0 in c:\users\dcr\anaconda3\lib\site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets->py4hw) (1.15.0)
Requirement already satisfied: importlib-metadata in c:\users\dcr\anaconda3\lib\site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets->py4hw) (4.5.0)
Requirement already satisfied: wcwidth in c:\users\dcr\anaconda3\lib\site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0->ipywidgets->py4hw) (0.2.5)
Requirement already satisfied: notebook>=4.4.1 in c:\users\dcr\anaconda3\lib\site-packages (from widgetsnbextension~=3.5.0->ipywidgets->py4hw) (6.1.4)
Requirement already satisfied: Send2Trash in c:\users\dcr\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (1.5.0)
Requirement already satisfied: prometheus-client in c:\users\dcr\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.8.0)
Requirement already satisfied: terminado>=0.8.3 in c:\users\dcr\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.9.1)
Requirement already satisfied: argon2-cffi in c:\users\dcr\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (20.1.0)
Requirement already satisfied: pyzmq>=17 in c:\users\dcr\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (19.0.2)
Requirement already satisfied: nbconvert in c:\users\dcr\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (6.0.7)
Requirement already satisfied: jinja2 in c:\users\dcr\anaconda3\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (2.11.2)
Requirement already satisfied: python-dateutil>=2.1 in c:\users\dcr\anaconda3\lib\site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets->py4hw) (2.8.1)
Requirement already satisfied: pywin32>=1.0 in c:\users\dcr\anaconda3\lib\site-packages (from jupyter-core->nbformat>=4.2.0->ipywidgets->py4hw) (228)
Requirement already satisfied: pywinpty>=0.5 in c:\users\dcr\anaconda3\lib\site-packages (from terminado>=0.8.3->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.5.7)
Requirement already satisfied: cffi>=1.0.0 in c:\users\dcr\anaconda3\lib\site-packages (from argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (1.14.3)
Requirement already satisfied: pycparser in c:\users\dcr\anaconda3\lib\site-packages (from cffi>=1.0.0->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (2.20)
Requirement already satisfied: zipp>=0.5 in c:\users\dcr\anaconda3\lib\site-packages (from importlib-metadata->jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets->py4hw) (3.4.0)
Requirement already satisfied: typing-extensions>=3.6.4 in c:\users\dcr\anaconda3\lib\site-packages (from importlib-metadata->jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets->py4hw) (3.7.4.3)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\dcr\anaconda3\lib\site-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (1.1.1)
Requirement already satisfied: pillow>=6.2.0 in c:\users\dcr\anaconda3\lib\site-packages (from matplotlib->py4hw) (8.0.1)
Requirement already satisfied: numpy>=1.16 in c:\users\dcr\anaconda3\lib\site-packages (from matplotlib->py4hw) (1.20.3)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\dcr\anaconda3\lib\site-packages (from matplotlib->py4hw) (1.3.0)
Requirement already satisfied: pyparsing>=2.2.1 in c:\users\dcr\anaconda3\lib\site-packages (from matplotlib->py4hw) (2.4.7)
Requirement already satisfied: cycler>=0.10 in c:\users\dcr\anaconda3\lib\site-packages (from matplotlib->py4hw) (0.10.0)
Requirement already satisfied: nbclient<0.6.0,>=0.5.0 in c:\users\dcr\anaconda3\lib\site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.5.1)
Requirement already satisfied: mistune<2,>=0.8.1 in c:\users\dcr\anaconda3\lib\site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.8.4)
Requirement already satisfied: testpath in c:\users\dcr\anaconda3\lib\site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.4.4)
Requirement already satisfied: defusedxml in c:\users\dcr\anaconda3\lib\site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.6.0)
Requirement already satisfied: jupyterlab-pygments in c:\users\dcr\anaconda3\lib\site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.1.2)
Requirement already satisfied: entrypoints>=0.2.2 in c:\users\dcr\anaconda3\lib\site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.3)
Requirement already satisfied: pandocfilters>=1.4.1 in c:\users\dcr\anaconda3\lib\site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (1.4.2)
Requirement already satisfied: bleach in c:\users\dcr\anaconda3\lib\site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (3.2.1)
Requirement already satisfied: async-generator in c:\users\dcr\anaconda3\lib\site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (1.10)
Requirement already satisfied: nest-asyncio in c:\users\dcr\anaconda3\lib\site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (1.4.1)
Requirement already satisfied: packaging in c:\users\dcr\anaconda3\lib\site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (20.4)
Requirement already satisfied: webencodings in c:\users\dcr\anaconda3\lib\site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->py4hw) (0.5.1)
Installing collected packages: py4hw
Successfully installed py4hw-0.0.5

After installing you will need to import the library, with a regular import

In [1]:
import py4hw

You can check the version of the library by running...

In [2]:
import pkg_resources

current = pkg_resources.get_distribution('py4hw').version
latest = '2026.1'
print('Installed py4hw version =', current)
print('Latest version =', latest)
print()
if (latest != current):
    print('Check Pypi for an UPDATE!')
    print('Run "pip install py4hw"')
Installed py4hw version = 2025.5
Latest version = 2026.1

Check Pypi for an UPDATE!
Run "pip install py4hw"

Summary¶

  • py4hw can be installed from pypi
In [ ]: