Metadata-Version: 2.1
Name: pycontrails
Version: 0.42.2
Summary: Python library for modeling aviation climate impacts
Author-email: Breakthrough Energy <py@contrails.org>
License: Apache-2.0
Project-URL: Changelog, https://py.contrails.org/changelog.html
Project-URL: Documentation, https://py.contrails.org
Project-URL: Issues, https://github.com/contrailcirrus/pycontrails/issues
Project-URL: Repository, https://github.com/contrailcirrus/pycontrails
Keywords: contrails,climate,aviation,geospatial
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Classifier: Topic :: Scientific/Engineering :: GIS
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: dask (>=2022.3)
Requires-Dist: numpy (>=1.22)
Requires-Dist: overrides (>=6.1)
Requires-Dist: pandas (>=1.4)
Requires-Dist: pyproj (>=3.5)
Requires-Dist: scipy (>=1.10)
Requires-Dist: xarray (>=2022.3)
Provides-Extra: complete
Requires-Dist: pycontrails[ecmwf,gcp,gfs,jupyter,pwlf,vis,zarr] ; extra == 'complete'
Provides-Extra: dev
Requires-Dist: black (>=22) ; extra == 'dev'
Requires-Dist: black[jupyter] ; extra == 'dev'
Requires-Dist: dep-license ; extra == 'dev'
Requires-Dist: fastparquet (>=0.8) ; extra == 'dev'
Requires-Dist: ipdb (>=0.13) ; extra == 'dev'
Requires-Dist: isort (>=5.4) ; extra == 'dev'
Requires-Dist: memory-profiler ; extra == 'dev'
Requires-Dist: mypy (>=0.99) ; extra == 'dev'
Requires-Dist: mypy-extensions (>=0.4) ; extra == 'dev'
Requires-Dist: platformdirs (>=3.0) ; extra == 'dev'
Requires-Dist: pre-commit (>=2.10) ; extra == 'dev'
Requires-Dist: psutil ; extra == 'dev'
Requires-Dist: pyarrow (>=5.0) ; extra == 'dev'
Requires-Dist: pydocstyle (>=6.1) ; extra == 'dev'
Requires-Dist: pytest (>=6.1) ; extra == 'dev'
Requires-Dist: pytest-cov (>=2.11) ; extra == 'dev'
Requires-Dist: requests (>=2.25) ; extra == 'dev'
Requires-Dist: ruff (>=0.0.259) ; extra == 'dev'
Provides-Extra: docs
Requires-Dist: doc8 (>=1.1) ; extra == 'docs'
Requires-Dist: furo (>=2023.3) ; extra == 'docs'
Requires-Dist: myst-parser (>=1.0) ; extra == 'docs'
Requires-Dist: nb-clean (>=2.4) ; extra == 'docs'
Requires-Dist: nbsphinx (>=0.8) ; extra == 'docs'
Requires-Dist: nbval (!=0.10.0,>=0.9.6) ; extra == 'docs'
Requires-Dist: pytest-check-links (>=0.8.0) ; extra == 'docs'
Requires-Dist: sphinx (>=4.2) ; extra == 'docs'
Requires-Dist: sphinx-autobuild (>=0.7) ; extra == 'docs'
Requires-Dist: sphinxcontrib-bibtex (>=2.2) ; extra == 'docs'
Requires-Dist: sphinx-copybutton (>=0.5) ; extra == 'docs'
Requires-Dist: sphinxext.opengraph (>=0.8) ; extra == 'docs'
Provides-Extra: ecmwf
Requires-Dist: cdsapi (>=0.4) ; extra == 'ecmwf'
Requires-Dist: cfgrib (>=0.9) ; extra == 'ecmwf'
Requires-Dist: eccodes (>=1.4) ; extra == 'ecmwf'
Requires-Dist: ecmwflibs (>=0.4) ; extra == 'ecmwf'
Requires-Dist: ecmwf-api-client (>=1.6) ; extra == 'ecmwf'
Requires-Dist: netcdf4 (>=1.6.1) ; extra == 'ecmwf'
Requires-Dist: platformdirs (>=3.0) ; extra == 'ecmwf'
Requires-Dist: requests (>=2.25) ; extra == 'ecmwf'
Provides-Extra: gcp
Requires-Dist: google-cloud-storage (>=2.1) ; extra == 'gcp'
Requires-Dist: platformdirs (>=3.0) ; extra == 'gcp'
Requires-Dist: tqdm (>=4.61) ; extra == 'gcp'
Provides-Extra: gfs
Requires-Dist: boto3 (>=1.20) ; extra == 'gfs'
Requires-Dist: cfgrib (>=0.9) ; extra == 'gfs'
Requires-Dist: eccodes (>=1.4) ; extra == 'gfs'
Requires-Dist: platformdirs (>=3.0) ; extra == 'gfs'
Requires-Dist: tqdm (>=4.61) ; extra == 'gfs'
Provides-Extra: jupyter
Requires-Dist: ipywidgets (>=7.6) ; extra == 'jupyter'
Requires-Dist: jupyterlab (>=2.2) ; extra == 'jupyter'
Provides-Extra: open3d
Requires-Dist: open3d (>=0.14) ; extra == 'open3d'
Provides-Extra: pwlf
Requires-Dist: pwlf (>=2.2.1) ; extra == 'pwlf'
Provides-Extra: vis
Requires-Dist: matplotlib (>=3.3) ; extra == 'vis'
Requires-Dist: opencv-python-headless (>=4.5) ; extra == 'vis'
Requires-Dist: scikit-learn (>=0.23) ; extra == 'vis'
Requires-Dist: scikit-image (>=0.18) ; extra == 'vis'
Requires-Dist: seaborn (>=0.11) ; extra == 'vis'
Requires-Dist: shapely (>=2.0) ; extra == 'vis'
Provides-Extra: zarr
Requires-Dist: fsspec (>=2022.7.1) ; extra == 'zarr'
Requires-Dist: zarr (>=2.12) ; extra == 'zarr'

# pycontrails

> Python library for modeling aviation climate impacts

|               |                                                                   |
|---------------|-------------------------------------------------------------------|
| **Version**   | [![PyPI version](https://img.shields.io/pypi/v/pycontrails.svg)](https://pypi.python.org/pypi/pycontrails) [![Supported python versions](https://img.shields.io/pypi/pyversions/pycontrails.svg)](https://pypi.python.org/pypi/pycontrails) |
| **Citation**  | [![DOI](https://zenodo.org/badge/617248930.svg)](https://zenodo.org/badge/latestdoi/617248930) |
| **Tests**     | [![Unit test](https://github.com/contrailcirrus/pycontrails/actions/workflows/test.yaml/badge.svg)](https://github.com/contrailcirrus/pycontrails/actions/workflows/test.yaml) [![Docs](https://github.com/contrailcirrus/pycontrails/actions/workflows/docs.yaml/badge.svg)](https://github.com/contrailcirrus/pycontrails/actions/workflows/docs.yaml) [![Release](https://github.com/contrailcirrus/pycontrails/actions/workflows/release.yaml/badge.svg)](https://github.com/contrailcirrus/pycontrails/actions/workflows/release.yaml)|
| **License**   | [![Apache License 2.0](https://img.shields.io/pypi/l/pycontrails.svg)](https://github.com/contrailcirrus/pycontrails/blob/main/LICENSE) |
| **Community** | [![Github Discussions](https://img.shields.io/github/discussions/contrailcirrus/pycontrails)](https://github.com/contrailcirrus/pycontrails/discussions) [![Github Issues](https://img.shields.io/github/issues/contrailcirrus/pycontrails)](https://github.com/contrailcirrus/pycontrails/issues) [![Github PRs](https://img.shields.io/github/issues-pr/contrailcirrus/pycontrails)](https://github.com/contrailcirrus/pycontrails/pulls) |

**pycontrails** is an open source project and Python package for modeling aircraft contrails and other
aviation related climate impacts.

`pycontrails` defines common [data structures](https://py.contrails.org/api.html#data) and [interfaces](https://py.contrails.org/api.html#datalib) to efficiently build and run [models](https://py.contrails.org/api.html#models) of aircraft performance, emissions, and radiative forcing.

## Documentation

Documentation and examples available at [py.contrails.org](https://py.contrails.org/).

<!-- Try out an [interactive Colab Notebook](). -->

## Install

Requires Python (3.9 or later)

```bash
$ pip install pycontrails

# install with all optional dependencies
$ pip install "pycontrails[complete]"
```

Install the latest development version directly from GitHub:

```bash
pip install git+https://github.com/contrailcirrus/pycontrails.git
```

See more options in the [install documentation](https://py.contrails.org/install).

## Get Involved

- Ask questions, discuss models, and present ideas in [GitHub Discussions](https://github.com/contrailcirrus/pycontrails/discussions).
- Report bugs or suggest changes in [GitHub Issues](https://github.com/contrailcirrus/pycontrails/issues).
- Review the [contributing guidelines](https://py.contrails.org/contributing.html) and contribute improvements as [Pull Requests](https://github.com/contrailcirrus/pycontrails/pulls).

## License

[Apache License 2.0](https://github.com/contrailcirrus/pycontrails/blob/main/LICENSE)

Additional attributions in [NOTICE](https://github.com/contrailcirrus/pycontrails/blob/main/NOTICE).
