Skip to main content

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.14

Added compact_cells to conversion: takes a single-resolution iterable of cell IDs and returns a fully compacted set, recursing until no further merges are possible. Added recursive keyword argument to compress_order_cells (default False) for the same behaviour with sorted-list output. Updated polyfill to use compact_cells when compress=True.

Refer to file CHANGES.rst for a more detailed history of changes.

Requirements

  • requirements.txt - all the module requirements for operation
  • 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:

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rhealpixdggs-0.5.14.tar.gz (542.6 kB view details)

Uploaded Source

Built Distribution

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

rhealpixdggs-0.5.14-py3-none-any.whl (65.7 kB view details)

Uploaded Python 3

File details

Details for the file rhealpixdggs-0.5.14.tar.gz.

File metadata

  • Download URL: rhealpixdggs-0.5.14.tar.gz
  • Upload date:
  • Size: 542.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.17.10-100.fc41.x86_64

File hashes

Hashes for rhealpixdggs-0.5.14.tar.gz
Algorithm Hash digest
SHA256 2be2bc9a6420fe07d3d9181a242548990db2b53e4e82ac86171625f5a716b315
MD5 c5c9157ad633f12ba49276cca8b7b3ad
BLAKE2b-256 e737ac0905c0dc176989d4c356f130c78a1577e82cd91070a20eac162ca8cd66

See more details on using hashes here.

File details

Details for the file rhealpixdggs-0.5.14-py3-none-any.whl.

File metadata

  • Download URL: rhealpixdggs-0.5.14-py3-none-any.whl
  • Upload date:
  • Size: 65.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.17.10-100.fc41.x86_64

File hashes

Hashes for rhealpixdggs-0.5.14-py3-none-any.whl
Algorithm Hash digest
SHA256 032b0c06b363b2e1fa18054d6f661a04a9e37323600602d8dd94ceaae4eaafbf
MD5 0b8cc0abca8b0dfb100c35f8c4f7009d
BLAKE2b-256 dce3deab6715f366cee46fe8bf017a12ab53c160a0c73d8166fcbd010cfe7afc

See more details on using hashes here.

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