PyGMT
A Python interface for the Generic Mapping Tools.
Why PyGMT?
A beautiful map is worth a thousand words. To truly understand how powerful PyGMT is, play with it online on Binder! But if you need some convincing first, watch this 1 hour introduction to PyGMT!
Afterwards, feel free to look at our Tutorials or visit the PyGMT Gallery.
Disclaimer
This package is still undergoing rapid development.
All of the API (functions/classes/interfaces) is subject to change until we reach v1.0.0 as per the semantic versioning specification. There may be non-backward compatible changes as we experiment with new design ideas and implement new features. This is not a finished product, use with caution.
We welcome any feedback and ideas! Let us know by submitting issues on GitHub or by posting on our Discourse forum.
About
PyGMT is a library for processing geospatial and geophysical data and making publication quality maps and figures. It provides a Pythonic interface for the Generic Mapping Tools (GMT), a command-line program widely used in the Earth Sciences.
We rely heavily on new features that have been implemented in GMT 6.0. In particular, a new modern execution mode that greatly simplifies figure creation. These features are not available in the 5.4 version of GMT.
Project goals
- Make GMT more accessible to new users.
- Build a Pythonic API for GMT.
- Interface with the GMT C API directly using ctypes (no system calls).
- Support for rich display in the Jupyter notebook.
- Integration with the PyData ecosystem:
numpy.ndarray
orpandas.DataFrame
for data tables andxarray.DataArray
for grids.