An implementation of the rHEALPix discrete global grid system
Project description
rHEALPixDGGS is a Python package that implements the rHEALPix Discrete Global Grid System (DGGS).
Release Notes
This package was originally authored in 2013 and has had only minor code updates since then.
0.5.13
Normalise floats and correct return types (rhp_wrappers).
Refer to file CHANGES.rst for a more detailed history of changes.
Requirements
- requirements.txt - all the module requirements for operation
NumPy >=1.25.2,<2 Base N-dimensional array package
SciPy >=1.11.2 Fundamental library for scientific computing
Matplotlib >=3.7.2 Comprehensive 2D Plotting
Pyproj >=3.6.1 Python interface to the PROJ.4 cartographic library
Shapely >=2.0.1 Manipulation and analysis of planar GEOS geometries
requirements.dev.txt - packages needed for developing this package
Installation
This package is available on PyPI, the Python Package Index from where it can be installed as follows:
pip install rhealpixdggs
rHEALPixDGGS is also available for download from the github repository https://github.com/manaakiwhenua/rhealpixdggs-py from where the latest version can be cloned.
You can install from source using Poetry in a virtual environment (MacOS and Linux, assuming Poetry is already installed on your system):
python3 -m venv rhealpixdggs source rhealpixdggs/bin/activate python install --upgrade pip poetry install
Or on Windows:
python3 -m venv rhealpixdggs rhealpixdggs\Scripts\activate python install --upgrade pip poetry install
For development:
- ::
poetry shell poetry install
Tests
The files in the tests directory test the rHEALPixDGGS modules. These files are plain unittest files (the Python testing framework contained within the standard distribution). Tests for examples in documents need the doctest module installed (see requirements.dev.txt).
Two UNIX shell scripts are included in this repository to run all unit and doc tests:
run_doctests.sh
run_unittests.sh
Running the command python tests/test_<foo>.py performs a sequence of automated tests of <foo>.py.
For example, tests/test_distortion.py automatically tests distortion.py.
If you update a module, then update its test file to test the changes you made!
Test early, test often, test automatically!
There are a couple of files in the main package directory that can be used to run all tests, starting run_....
Documentation
Documentation can be found at:
The rHEALPix Discrete Global Grid System - The rHEALPix Discrete Global Grid System
docs/build/latex/rHEALPixDGGS.pdf - The rHEALPixDGGS manual
docs/build/html/index.html - The rHEALPixDGGS manual in HTML format
The latter two documents are generated automatically from the source code of the rhealpixdggs package modules. To automatically build these yourself, install the Python package Sphinx (but do not run sphinx-quickstart, because the make file Makefile and the configuration file docs/source/conf.py already exist) and then from the docs directory run the command make latexpdf to make the PDF documentation or make html to make the HTML documentation. For the PDF documentation, you might also need to install LaTeX.
The source and build directories contain all the Sphinx source and build files, respectively.
License
This code is dual-licensed. You may choose to use it under either:
GNU Lesser General Public License v3.0 (see LICENSE-LGPL)
MIT License (see LICENSE-MIT)
See the file LICENSE for more information about the dual licensing arrangement.
This dual licensing approach allows the software to be used in contexts where LGPL may not be permitted (such as certain corporate environments or standards bodies like the OGC) while still maintaining a copyleft option for those who prefer it.
# NB make a build/release makefile or script Releasing ——-
For PyPI:
- ::
# Build the distribution (.tar.gz and .whl) poetry build
# Upload to PyPI (test) poetry publish –repository testpypi
# Test install from testpypi pip install –index-url https://test.pypi.org/simple/ –extra-index-url https://pypi.org/simple rhealpixdggs
# Upload to PyPI poetry publish
A conda package rhealpixdggs is also maintained at [conda-forge](https://github.com/conda-forge/rhealpixdggs-feedstock).
Contact
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 rhealpixdggs-0.5.13.tar.gz.
File metadata
- Download URL: rhealpixdggs-0.5.13.tar.gz
- Upload date:
- Size: 540.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/5.15.0-163-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
760920161854d6c2b85ae356ff37a26acbea15972c7f53d3935456802adbae3d
|
|
| MD5 |
03dd8fcb3fa905d32f5c1222bbe07aeb
|
|
| BLAKE2b-256 |
f99bab0f46bd8ac52608ae5974e790af0b73193db67545c6b6c9d24a657a16d4
|
File details
Details for the file rhealpixdggs-0.5.13-py3-none-any.whl.
File metadata
- Download URL: rhealpixdggs-0.5.13-py3-none-any.whl
- Upload date:
- Size: 64.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.11.12 Linux/5.15.0-163-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02f87e0ca6af02e355b8e8315edee34f32bf2048efd0d6ab5cc07ddca7b8e543
|
|
| MD5 |
1b4ac0d9aacb8d364c8cd6d6bcf98df0
|
|
| BLAKE2b-256 |
995e7b0e1e807c32fb5c1cb5dde24210639971c096580dd141523722d80b333f
|