Metadata-Version: 2.1
Name: pypigeon
Version: 1.2.2
Summary: an easy-to-use Python client for Pigeon
Author-email: BioTeam <contact@bioteam.net>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: pyyaml>=6.0
Requires-Dist: httpx<0.26.0,>=0.20.0
Requires-Dist: attrs>=21.3.0
Requires-Dist: python-dateutil
Requires-Dist: pyarrow
Requires-Dist: pandas
Requires-Dist: tqdm
Requires-Dist: tabulate
Provides-Extra: dev
Requires-Dist: sphinx; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-httpx<0.26.0,>=0.20.0; extra == "dev"
Requires-Dist: openapi-python-client==0.17.2; extra == "dev"
Requires-Dist: reorder-python-imports; extra == "dev"
Requires-Dist: ruff>=0.5.0; extra == "dev"
Requires-Dist: black==23.12.1; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: types-python-dateutil; extra == "dev"
Requires-Dist: pandas-stubs; extra == "dev"
Requires-Dist: types-tqdm; extra == "dev"
Requires-Dist: types-PyYAML; extra == "dev"
Requires-Dist: types-tabulate; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Provides-Extra: doc
Requires-Dist: sphinx; extra == "doc"

# PyPigeon

PyPigeon is an easy-to-use Python client for the Pigeon data commons
platform. It's great for scripts, notebooks, or as a foundation for
other clients to interact with Pigeon's public API.

# Quickstart

```
$ pip install pypigeon
$ python
>>> from pypigeon import login
>>> client = login('pigeon.bioteam.net')
To activate your session, visit the URL below:
   https://pigeon.bioteam.net/login/activate/........

Waiting for session activation...
>>> collection = client.get_collection_by_name('MHSVI')
>>> collection
<PigeonCollection: name=MHSVI version=LIVE id=...>
```

# Features

* Interact with collections, folders, and items
* Read and write data streams (raw files)
* Read and write data tables via Pandas DataFrames

Coming soon:

* Work with data elements
    * Persist data elements through DataFrames
* Work with dataviews (create, edit using simple construction tools)
