Metadata-Version: 2.1
Name: pycontrails
Version: 0.49.0
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.12
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: scipy >=1.10
Requires-Dist: xarray >=2022.3
Provides-Extra: complete
Requires-Dist: pycontrails[ecmwf,gcp,gfs,goes,jupyter,pwlf,pyproj,vis,zarr] ; extra == 'complete'
Provides-Extra: dev
Requires-Dist: black[jupyter] >=23.11 ; extra == 'dev'
Requires-Dist: dep-license ; extra == 'dev'
Requires-Dist: fastparquet >=0.8 ; extra == 'dev'
Requires-Dist: ipdb >=0.13 ; 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: 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: 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: goes
Requires-Dist: cartopy >=0.22 ; extra == 'goes'
Requires-Dist: gcsfs >=2022.3 ; extra == 'goes'
Requires-Dist: h5netcdf >=1.2 ; extra == 'goes'
Requires-Dist: aiohttp >=3.9.0b0 ; (python_version >= "3.12") and extra == 'goes'
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: pyproj
Requires-Dist: pyproj >=3.5 ; extra == 'pyproj'
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) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/contrailcirrus/pycontrails/badge)](https://securityscorecards.dev/viewer?uri=github.com/contrailcirrus/pycontrails)|
| **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).
