|
1 | 1 | # Ecosystem
|
2 | 2 |
|
| 3 | +PyGMT provides a Python interface to the Generic Mapping Tools (GMT), which is a command |
| 4 | +line program that provides a wide range of tools for manipulating geospatial data and |
| 5 | +making publication-quality maps and figures. PyGMT integrates well with the |
| 6 | +[scientific Python ecosystem](https://scientific-python.org/), with [NumPy][] for its |
| 7 | +fundamental array data structure, [Pandas][] for tabular data I/O and [Xarray][] for |
| 8 | +raster grids/images/cubes I/O. |
| 9 | + |
| 10 | +In addition to these core dependencies, PyGMT also rely on several optional packages to |
| 11 | +provide additional functionality for users. |
| 12 | + |
3 | 13 | ## PyGMT dependencies
|
4 | 14 |
|
5 | 15 | ### Required dependencies
|
@@ -32,6 +42,12 @@ allows for more intuitive, more concise, and less error-prone user experience.
|
32 | 42 |
|
33 | 43 | #### IPython
|
34 | 44 |
|
| 45 | +[IPython][] provides a rich toolkit to help you make the most of using Python |
| 46 | +interactively. Its main components are a powerful interactive Python shell and a Jupyter |
| 47 | +kernel to work with Python code in Jupyter notebooks and other interactive frontends. |
| 48 | + |
| 49 | +PyGMT rely on IPython to provide a rich interactive experience in Jupyter notebooks. |
| 50 | + |
35 | 51 | #### GeoPandas
|
36 | 52 |
|
37 | 53 | [geopandas][] is an open source project to make working with geospatial data in Python
|
@@ -71,11 +87,26 @@ We're working towards removing the dependency of the [rioxarray][] package in
|
71 | 87 |
|
72 | 88 | #### PyArrow
|
73 | 89 |
|
| 90 | +[Apache Arrow][] is a development platform for in-memory analytics. It contains a set of |
| 91 | +technologies that enable big data systems to process and move data fast. It specifies a |
| 92 | +standardized language-independent columnar memory format for flat and hierarchical data, |
| 93 | +organized for efficient analytic operations on modern hardware. The Arrow Python bindings |
| 94 | +(also named "PyArrow") have first-class integration with NumPy, pandas, and built-in |
| 95 | +Python objects. They are based on the C++ implementation of Arrow. |
| 96 | + |
| 97 | +```{note} |
| 98 | +If you have PyArrow installed, PyGMT does have some initial support for {class}`pandas.Series |
| 99 | +and {class}`pandas.DataFrame` objects with Apache Arrow-backed arrays. Specifically, only |
| 100 | +uint/int/float and date32/date64 dtypes are supported for now. Support for string Arrow |
| 101 | +dtypes is still a work in progress. For more details, see |
| 102 | +[issue #2800](https://github.com/GenericMappingTools/pygmt/issues/2800). |
| 103 | +``` |
| 104 | + |
74 | 105 | ## PyGMT ecosystem
|
75 | 106 |
|
76 | 107 | *This page was adapted from [GeoPandas's Ecosystem](https://geopandas.org/en/latest/community/ecosystem.html) page.*
|
77 | 108 |
|
78 |
| - |
| 109 | +[apache arrow]: https://arrow.apache.org/ |
79 | 110 | [contextily]: https://contextily.readthedocs.io/
|
80 | 111 | [geopandas]: https://geopandas.org/
|
81 | 112 | [matplotlib]: https://matplotlib.org/
|
|
0 commit comments