A Python 3 module containing a bunch of random functions that I have written over the years
Project description
PyGuymer3
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:
dotexiftoolffmpegandffprobegifsiclegitjpegtranlsdvdmetaflacmp4fileoptipngtarxz
Notes
The Zen of Python
import this
To Do
- Read this good StackOverflow answer describing type-checking which also provides a quick summary on PEP 484 and PEP 3107.
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 foriVoroPoly = 10andiVoroPoly = 31are 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..
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyguymer3-0.0.10.tar.gz.
File metadata
- Download URL: pyguymer3-0.0.10.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4ef209065c885a25edb49deebce0fdc8bdb41dad4966088837dae42eaa98518
|
|
| MD5 |
bdc4ed58d1188026910e588939d213a5
|
|
| BLAKE2b-256 |
c6ae64142476a403d304cdfc303f3591de68e8e53632401cbac4cd770e84b172
|
Provenance
The following attestation bundles were made for pyguymer3-0.0.10.tar.gz:
Publisher:
publish.yaml on Guymer/PyGuymer3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyguymer3-0.0.10.tar.gz -
Subject digest:
f4ef209065c885a25edb49deebce0fdc8bdb41dad4966088837dae42eaa98518 - Sigstore transparency entry: 267856606
- Sigstore integration time:
-
Permalink:
Guymer/PyGuymer3@bd012c38ed1b7497309fa5dbf6344b52b7e01f36 -
Branch / Tag:
refs/tags/v0.0.10 - Owner: https://github.com/Guymer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@bd012c38ed1b7497309fa5dbf6344b52b7e01f36 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pyguymer3-0.0.10-py3-none-any.whl.
File metadata
- Download URL: pyguymer3-0.0.10-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f251c7fde6b260b76738b32e9be642e02b17d4a3a9c5242ec849295f4a934c51
|
|
| MD5 |
670c6279362788fa6c420630f358ebaa
|
|
| BLAKE2b-256 |
bcbbb5ed61170036530d603aefa51d5aa37af2ad40174461378334a704a652c7
|
Provenance
The following attestation bundles were made for pyguymer3-0.0.10-py3-none-any.whl:
Publisher:
publish.yaml on Guymer/PyGuymer3
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pyguymer3-0.0.10-py3-none-any.whl -
Subject digest:
f251c7fde6b260b76738b32e9be642e02b17d4a3a9c5242ec849295f4a934c51 - Sigstore transparency entry: 267856610
- Sigstore integration time:
-
Permalink:
Guymer/PyGuymer3@bd012c38ed1b7497309fa5dbf6344b52b7e01f36 -
Branch / Tag:
refs/tags/v0.0.10 - Owner: https://github.com/Guymer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@bd012c38ed1b7497309fa5dbf6344b52b7e01f36 -
Trigger Event:
push
-
Statement type: