Welcome to PyGuymer3’s documentation!

https://readthedocs.org/projects/pyguymer3/badge/ https://github.com/Guymer/PyGuymer3/actions/workflows/coverage.yaml/badge.svg https://github.com/Guymer/PyGuymer3/actions/workflows/gmake.yaml/badge.svg https://github.com/Guymer/PyGuymer3/actions/workflows/mypy.yaml/badge.svg https://github.com/Guymer/PyGuymer3/actions/workflows/profile.yaml/badge.svg https://github.com/Guymer/PyGuymer3/actions/workflows/publish.yaml/badge.svg https://github.com/Guymer/PyGuymer3/actions/workflows/pylint.yaml/badge.svg https://github.com/Guymer/PyGuymer3/actions/workflows/unittest.yaml/badge.svg

This is a Python 3.X port of my Python 2.X module containing a bunch of random functions that I have written over the years. The module is on PyPI.

Installation

To install PyGuymer3, run:

# To install the latest released version from PyPI:
pip install --user PyGuymer3

# To install the latest development version from GitHub:
pip install --user git+https://github.com/Guymer/PyGuymer3.git

… and everything should “just work”.

Dependencies

PyGuymer3 requires the following Python modules to be installed and available in your PYTHONPATH:

Additionally, if you want to run the FORTRAN-based functions in the pyguymer3.f90 sub-module, then you will also require the following Python modules to be installed and available in your PYTHONPATH:

Similarly, PyGuymer3 requires the following binaries to be installed and available in your PATH:

  • dot

  • exiftool

  • ffmpeg and ffprobe

  • gifsicle

  • git

  • jpegtran

  • lsdvd

  • metaflac

  • mp4file

  • optipng

  • tar

  • xz

Testing

The following links contain some basic tests to (hopefully) find any simple bugs that I might have introduced; and demonstrate some simple programming techniques.

To compare the images with a previous version, try something like:

ver1="/path/to/version-1/pyguymer3/tests"
ver2="/path/to/version-2/pyguymer3/tests"
for p1 in ${ver1}/*.png; do p0="$(basename "${p1}")"; p2="${ver2}/${p0}"; h1="$(md5 -q "${p1}")"; h2="$(md5 -q "${p2}")"; [[ $h1 == $h2 ]] && continue; echo "${p0} ..."; compare "${p1}" "${p2}" "${p0}"; done

To Do

Bugs

  • This module has been created from my Python 2.X module using the utility 2to3. As such, there may be bugs in the code as most of it has not been tested since the port. If you find anything wrong then please raise an issue on GitHub.

Module Reference

Below is the reference documentation for the Python module.

pyguymer3

A Python module containing a bunch of random functions that I have written over the years.

Indices And Tables