PyMetric: A Geometry Informed Array Mathematics Package

PyMetric: A Geometry Informed Array Mathematics Package - Published in JOSS (2026)

https://github.com/pisces-project/pymetric

Science Score: 87.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

astrophysics geometry gravitation physics python
Last synced: about 1 month ago · JSON representation

Repository

PyMetric is a differential geometry and field computation library designed for symbolic and numerical analysis on structured coordinate systems. It enables seamless computation of gradients, divergences, Laplacians, and tensor operations on curvilinear grids, with full support for units, symbolic expressions, and high-performance backends.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 1
  • Open Issues: 1
  • Releases: 2
Topics
astrophysics geometry gravitation physics python
Created 11 months ago · Last pushed 2 months ago
Metadata Files
Readme License

README.rst

.. image:: docs/source/images/PyMetric.png
   :width: 300px
   :align: center

PyMetric
===============

+-------------------+----------------------------------------------------------+
| **Code**          | |black| |isort| |Pre-Commit| |Xenon|                     |
+-------------------+----------------------------------------------------------+
| **Documentation** | |docs| |NUMPSTYLE| |docformatter|                        |
+-------------------+----------------------------------------------------------+
| **GitHub**        | |Contributors| |Commits| |Tests|                         |
+-------------------+----------------------------------------------------------+
| **PyPi**          | |PyPi| |PyVersion| |Wheel| |License|                     |
+-------------------+----------------------------------------------------------+

PyMetric began as the backend for the `Pisces project `__ and has grown
into a self-contained package. It provides a seamless interface for performing coordinate-dependent operations in Python—ranging
from coordinate transformations and differential operations to solving equations of motion. In addition, it offers robust
data structures that natively respect and understand underlying coordinate systems and grid architectures, enabling efficient
handling of both curvilinear and structured grids.

Installation
------------

PyMetric requires Python 3.9 or newer. To install the most recent stable version of the code, use ``pip``:

.. code-block:: shell

    $ pip install pymetric-lib

The active development version can be obtained with

.. code-block:: shell

    $ pip install git+https://github.com/Pisces-Project/PyMetric

Dependencies
------------

PyMetric depends on several packages, which will be installed automatically:

- `unyt `__: Unit and quantity manipulations
- `numpy `__: Numerical operations
- `scipy `__: Interpolation and curve fitting
- `h5py `__: HDF5 file interaction
- `tqdm `__: Progress bars
- `sympy `__: Symbolic mathematics.

In addition to the standard versions of the codebase, there are a few special dependency versions
of the code.

- ``pymetric-lib[docs]`` will install all of the relevant Sphinx dependencies.
- ``pymetric-lib[test]`` will install all of the dependencies for running the testing suite.

Development
-----------

PyMetric is open source. Community contributions are welcome! Fork this repository to make your own modifications,
or submit an issue to suggest new features or report bugs.

Acknowledgment
--------------

If you use PyMetric for academic work, please include a statement in your publication similar to:

    This work made use of PyMetric, a geometry and mathematics framework for computational physics,
    developed by Eliza Diggins and available at https://github.com/Pisces-Project/PyMetric


.. |docs| image:: https://img.shields.io/badge/docs-latest-brightgreen
   :target: https://eliza-diggins.github.io/pisces/build/html/index.html

.. |Pre-Commit| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
   :target: https://pre-commit.com/

.. |Xenon| image:: https://img.shields.io/badge/Xenon-enabled-red
   :target: https://xenon.readthedocs.io/en/latest/

.. |Tests| image:: https://github.com/Pisces-Project/PyMetric/actions/workflows/run_tests.yml/badge.svg

.. |Contributors| image:: https://img.shields.io/github/contributors/Pisces-Project/PyMetric
   :target: https://github.com/Eliza-Diggins/pisces/graphs/contributors

.. |Commits| image:: https://img.shields.io/github/last-commit/Pisces-Project/PyMetric

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000
   :target: https://github.com/psf/black

.. |isort| image:: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
   :target: https://pycqa.github.io/isort/

.. |NUMPSTYLE| image:: https://img.shields.io/badge/%20style-numpy-459db9
    :target: https://numpydoc.readthedocs.io/en/latest/format.html

.. |docformatter| image:: https://img.shields.io/badge/%20formatter-docformatter-fedcba
    :target: https://github.com/PyCQA/docformatter

.. |License| image:: https://img.shields.io/pypi/l/pymetric-lib
.. |Wheel| image:: https://img.shields.io/pypi/wheel/pymetric-lib
.. |PyVersion| image:: https://img.shields.io/pypi/pyversions/pymetric-lib
.. |PyPi| image:: https://img.shields.io/pypi/v/pymetric-lib

Owner

  • Name: Pisces-Project
  • Login: Pisces-Project
  • Kind: organization

JOSS Publication

PyMetric: A Geometry Informed Array Mathematics Package
Published
January 14, 2026
Volume 11, Issue 117, Page 8901
Authors
Eliza C. Diggins ORCID
University of Utah Department of Physics and Astronomy, Salt Lake City, Utah, USA
Daniel R. Wik ORCID
University of Utah Department of Physics and Astronomy, Salt Lake City, Utah, USA
Editor
Vincent Knight ORCID
Tags
differential geometry modeling

GitHub Events

Total
  • Issues event: 4
  • Watch event: 2
  • Delete event: 6
  • Issue comment event: 3
  • Push event: 29
  • Pull request event: 7
  • Fork event: 1
  • Create event: 12
Last Year
  • Issues event: 4
  • Watch event: 2
  • Delete event: 6
  • Issue comment event: 3
  • Push event: 29
  • Pull request event: 7
  • Fork event: 1
  • Create event: 12

Issues and Pull Requests

Last synced: 2 months ago

All Time
  • Total issues: 2
  • Total pull requests: 4
  • Average time to close issues: 7 days
  • Average time to close pull requests: 1 minute
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 4
  • Average time to close issues: 7 days
  • Average time to close pull requests: 1 minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Eliza-Diggins (2)
Pull Request Authors
  • Eliza-Diggins (4)
Top Labels
Issue Labels
enhancement (1) bug (1)
Pull Request Labels
enhancement (1) bug (1)

Dependencies

.github/workflows/run_tests.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
pyproject.toml pypi
  • h5py >=3.0
  • matplotlib *
  • numpy >=1.22
  • scipy >=1.10
  • sympy >=1.14.0
  • tqdm *
  • unyt >=2.9
.github/workflows/build_docs.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/release.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite