dmppl - Dave McEwan's Personal Python Library
Library is split into several modules:
- base - Useful in almost every project.
- color - Color (colour in English) related stuff.
- fx - Fixed point arithmetic using NumPy data types.
- math - Useful for mathematical code.
- nd - ND-array operations.
- prng - Pseudo-Random Number Generators. Currently just xoroshiro128+.
- stats - Statistics. Currently just for binary classifiers.
- test - Helpers for unit testing.
- toml - Save/load TOML files with optional compression.
- vcd - Value Change Dump (from Verilog) reader and writer.
- yaml - Extended YAML parser, useful for implementing DSLs on top of YAML.
Some useful scripts are provided in dmppl/scripts which show how to use some
parts of the library modules.
- beamer-times - Report the time breakdown for beamer presentations by reading annotations in the LaTeX.
- parvec - Generate pseudorandom parameter vectors for design space exploration with repeatable results.
- vcd-utils - Convert VCD (Verilog IEEE1364) files to/from YAML and CSV, extract information, or cleanup dodgy VCDs using the forgiving reader with strict writer.
- svg2png - Simple wrapper around inkscape to export SVGs to PNGs.
Some experiments are given in dmppl/experiments which are likely not useful
to most people.
- relest - (Relationship Estimation) Model SoC signal relations. Part of my PhD project presented at LOD2019.
- eva - (EVent Analysis) Measure and visualize correlations between measurements. Part of my PhD project.
Uses semantic versioning
Supports multiple versions of Python (2.7, 3.6, 3.7, 3.8).
- At some point I'll drop support for 2.7 and <3.7, probably when distros stop including them which isn't likely soon.
- Dropping support for <3.6 allows use of type annotations.
- Dropping support for <3.8 allows use of newer language features such as the walrus operator, and getting rid of version-specific hacks like `openCsvKwargs'. Don't necessarily need to wait for distros to support 3.8+, only wait for 3.6+ since altinstall+venv seems to be the recommended way forward. low priority
- Keeping support for old versions allows compatibility with other programs which have built-in Python shells, TODO: Collate version dependencies for various programs and decide what I want to support: Inkscape, Blender, nextpnr, yosys, ...
- pip packages are not specified with versions as it is assumed (naively) that the latest releases won't break anything.
See the Makefile to wrap up common actions and provide examples of how to run
things.
make venvto create a virtual environment for each supported version.make unittestto perform all unit tests.make unittest-coverageto perform all unit tests collecting code coverage and produce HTML reports.make distto build a setuptools distribution.make cleanto remove all generated files.
TODO:
- Upload to PyPI.
- mypy
- Integrate relest-ffnn
- Implement vch, vchlite
- Expand documentation here
- Sphinx/readthedocs
- Change convention to snake case for idiomatic Python and rust?
Metadata
Release files for dmppl 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dmppl-0.2.0.tar.gz | 88.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dmppl-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 185.3 kB
Release files / dmppl-0.2.0.tar.gz
| Download URL | dmppl-0.2.0.tar.gz |
|---|---|
| Size | 88.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1584e7fc9e4343f3429c880808494932c5ddb830eaeab8f2fc6a1042a9e375bf
|
|
BLAKE2b-256 checksum How to use checksums |
df14a7ad17885cadaad5493b02d7f37195e7135704f827bbbf0efe24d20fb61d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3
|
Release files / dmppl-0.2.0-py3-none-any.whl
| Download URL | dmppl-0.2.0-py3-none-any.whl |
|---|---|
| Size | 97.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d69161cb8107d140f8a3e4c66219ddba6f56cba86cd94b40c81dd6a43f7125dd
|
|
BLAKE2b-256 checksum How to use checksums |
4203137e1051b6f085114a06e515c051aa90ada2cfe89713208ffc0d557c29b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.3
|