Metadata-Version: 2.4
Name: terndata.ecoplots
Version: 0.0.2b0
Summary: TERN ecoplots data access library
Author-email: Avinash Chandra <avinash.chandra@uq.edu.au>
Maintainer-email: "TERN Data Services and Analytics (TDSA)" <esupport@tern.org.au>
License-Expression: Apache-2.0
Project-URL: Home, https://github.com/ternaustralia/terndata.ecoplots
Project-URL: Documentation, https://terndata-ecoplots.readthedocs.io
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: typing-extensions
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: geopandas
Requires-Dist: requests
Requires-Dist: python-dateutil
Requires-Dist: pytz
Requires-Dist: httpx<1.0.0,>=0.28.1
Requires-Dist: rapidfuzz<4.0.0,>=3.13.0
Requires-Dist: orjson<4.0.0,>=3.10.15
Requires-Dist: diskcache<6.0.0,>=5.6.3
Requires-Dist: ijson<4.0.0,>=3.4.0
Requires-Dist: defusedxml<1.0.0,>=0.7.1
Requires-Dist: shapely<3.0.0,>=2.0.0
Requires-Dist: ipyleaflet<1.0.0,>=0.20.0
Requires-Dist: ipywidgets<9.0.0,>=8.1.7
Dynamic: license-file

# EcoPlots Python Library

[![PyPI](https://img.shields.io/pypi/v/terndata.ecoplots.svg?logo=pypi&logoColor=white)](https://pypi.org/project/terndata.ecoplots/)
[![Python versions](https://img.shields.io/pypi/pyversions/terndata.ecoplots.svg?logo=python&logoColor=white)](https://pypi.org/project/terndata.ecoplots/)
[![Docs](https://img.shields.io/readthedocs/terndata-ecoplots.svg?logo=readthedocs)](https://terndata-ecoplots.readthedocs.io/en/latest/)
[![License](https://img.shields.io/github/license/ternaustralia/terndata.ecoplots.svg)](LICENSE)
[![GitHub](https://img.shields.io/badge/GitHub-Repo-181717?logo=github&logoColor=white)](https://github.com/ternaustralia/terndata.ecoplots)
[![EcoPlots Portal](https://img.shields.io/badge/EcoPlots-Portal-6EB3A6?labelColor=043E4F)](https://ecoplots.tern.org.au)

High-level Python clients for discovering, filtering, previewing, and retrieving
ecological plot data from the **[TERN EcoPlots Portal](https://ecoplots.tern.org.au)**.
Returns tidy structures for analysis (`pandas.DataFrame`, `geopandas.GeoDataFrame`)
or raw `GeoJSON`.

---

## Features

- 🔎 Discover datasets with validated, human-friendly filters  
- ⚡ Preview result pages before full downloads  
- 🗺️ Spatial selection (GeoJSON/WKT)  
- 🧭 Two clients: synchronous `EcoPlots` and asynchronous `AsyncEcoPlots`  
- 💾 Save / load projects via `.ecoproj` for reproducible workflows

**Documentation:** https://terndata-ecoplots.readthedocs.io

---

## Installation

    pip install terndata.ecoplots

Supported Python: 3.10+

---

## Quick start

    from terndata.ecoplots import EcoPlots

    ec = EcoPlots()
    ec.select(site_id="TCFTNS0002")    # add validated filters
    preview = ec.preview().head()      # quick look (first page)
    gdf = ec.get_data()                # full pull (GeoDataFrame)

### Async

    import asyncio
    from terndata.ecoplots import AsyncEcoPlots

    async def main():
        ec = AsyncEcoPlots()
        ec.select(site_id="TCFTNS0002")
        gdf = await ec.get_data()
        return gdf

    # asyncio.run(main())

---

## Links

- 📚 Docs (latest): https://terndata-ecoplots.readthedocs.io/en/latest/
- 🧭 EcoPlots Portal: https://ecoplots.tern.org.au
- 🧑‍💻 Source: https://github.com/ternaustralia/terndata.ecoplots
- 📦 PyPI: https://pypi.org/project/terndata.ecoplots/

---

## Contributing

Issues and pull requests are welcome—please open an issue to discuss substantial changes.

Build docs locally:

    pip install -r docs/requirements.txt
    make -C docs html

Run tests:

    make test

Build wheels locally:

    make build

---

## Support

For questions or issues, email **esupport@tern.org.au**.

---

## Citation

Terrestrial Ecosystem Research Network (2025). *terndata.ecoplots: A Python package for accessing TERN EcoPlots data*. https://pypi.org/project/terndata.ecoplots/

---

## License

Licensed under the terms in [LICENSE](LICENSE).  
Copyright © 2025 **TDSA (TERN Data Services and Analytics)**.
Author: Avinash Chandra.
