Metadata-Version: 2.5
Name: pyecotaxa
Version: 0.0.5
Summary: Query EcoTaxa and process its output
Author-email: Simon-Martin Schroeder <sms@informatik.uni-kiel.de>
License: GNU General Public License v3 (GPLv3)
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
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
Requires-Python: >=3.9
Requires-Dist: anytree>=2.12.1
Requires-Dist: atomicwrites>=1.4.1
Requires-Dist: click>=8.1.8
Requires-Dist: numpy>=2.0.2
Requires-Dist: pandas>=2.3.3
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: python-dotenv>=1.2.1
Requires-Dist: requests-toolbelt>=1.0.0
Requires-Dist: requests>=2.32.5
Requires-Dist: semantic-version>=2.10.0
Requires-Dist: tqdm>=4.70.1
Requires-Dist: werkzeug>=3.1.8
Description-Content-Type: text/markdown

# pyecotaxa

[![Documentation Status](https://readthedocs.org/projects/pyecotaxa/badge/?version=stable)](https://pyecotaxa.readthedocs.io/en/stable/?badge=stable)
[![Tests](https://github.com/ecotaxa/pyecotaxa/workflows/Tests/badge.svg)](https://github.com/ecotaxa/pyecotaxa/actions?query=workflow%3ATests)
[![PyPI](https://img.shields.io/pypi/v/pyecotaxa)](https://pypi.org/project/pyecotaxa)

Python package to query EcoTaxa and process its output.

## `pyecotaxa.archive`: Read and write EcoTaxa archives

```python
from pyecotaxa.archive import read_tsv, write_tsv

# Read a .tsv file into a pandas DataFrame
# In contrast to pd.read_csv, this function transparently handles the type header
df = read_tsv(path_to_file)

# Write pandas DataFrame into a .tsv file
# In contrast to df.to_csv, this function can generate the type header
write_tsv(df, path_to_file)
```


## `pyecotaxa.remote`: Interact with a remote EcoTaxa server

```python
from pyecotaxa.remote import Remote

r = Remote()

# Login
r.login(username, password)

# Pull one or more project archives by project_id
r.pull(project_ids)
```
