Skip to main content

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

Project description

PyGuymer3

Documentation Status "coverage" GitHub Action Status "gmake" GitHub Action Status "mypy" GitHub Action Status "profile" GitHub Action Status "publish" GitHub Action Status "pylint" GitHub Action Status "unittest" GitHub Action Status

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 documentation is on Read The Docs and the module is on PyPI.

You may browse the coverage report for running the unit tests.

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, due to the dependency on my FORTRAN library, if you want to run the FORTRAN-based functions in the 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

Notes

The Zen of Python

import this

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 a bug report on GitHub.
  • The function pyguymer3.geo.area() sometimes returns erroneous areas. This has been tracked down to the Shapely function shapely.ops.voronoi_diagram(): for certain inputs (often when a point within the shape is exactly 0.0) some of the parts of the Voronoi diagram are inverted. When it goes wrong it reliably goes wrong for those inputs. Below, the blue circle is the 1 km buffer around a point at (0.0°, 0.0°) and the orange wedges are the parts of the Voronoi diagram. Note that the orange wedges for iVoroPoly = 8 and iVoroPoly = 31 are inverted - they are the negative of what they are supposed to be. As a consequence, when the area of each orange wedge is calculated and summed the total is very wrong. bad Voronoi diagram.

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

pyguymer3-0.0.8.tar.gz (7.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyguymer3-0.0.8-py3-none-any.whl (8.6 MB view details)

Uploaded Python 3

File details

Details for the file pyguymer3-0.0.8.tar.gz.

File metadata

  • Download URL: pyguymer3-0.0.8.tar.gz
  • Upload date:
  • Size: 7.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyguymer3-0.0.8.tar.gz
Algorithm Hash digest
SHA256 7993a88b59c2bf10fd00518d37b1c8f9c02b452ccde0df55428a0b8d08225556
MD5 10365b19940a6e7e5311b36b8c440f9f
BLAKE2b-256 eae8d87ac3675ab441e8dc69286875ac6e315ba63c6c7d533b0b9bd75684f06f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyguymer3-0.0.8.tar.gz:

Publisher: publish.yaml on Guymer/PyGuymer3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyguymer3-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: pyguymer3-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyguymer3-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 9da1a66169ec75d12c8e001047f3f87016c47930310bdbc34c34fd742cd67fa0
MD5 304af7c00e419965caa1a47e66dcee2b
BLAKE2b-256 f362ef0a75513d398bb53c94a6ce3094999c30c10c4e88cb284a63d2c6fbdde6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyguymer3-0.0.8-py3-none-any.whl:

Publisher: publish.yaml on Guymer/PyGuymer3

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page