Metadata-Version: 2.4
Name: pydelfini
Version: 1.19.2
Summary: an easy-to-use Python client for Delfini
Author-email: BioTeam <contact@bioteam.net>
Project-URL: Documentation, https://bioteam.github.io/delfini/
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.3
Requires-Dist: httpx==0.25.2
Requires-Dist: attrs==25.4.0
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: pyarrow==21.0.0
Requires-Dist: pandas==2.3.3
Requires-Dist: tqdm==4.67.3
Requires-Dist: tabulate==0.9.0
Provides-Extra: dev
Requires-Dist: sphinx==8.2.3; extra == "dev"
Requires-Dist: pytest==7.4.4; extra == "dev"
Requires-Dist: pytest-httpx==0.27.0; extra == "dev"
Requires-Dist: syrupy==4.9.1; extra == "dev"
Requires-Dist: pydantic==2.8.2; extra == "dev"
Requires-Dist: typer==0.9.4; extra == "dev"
Requires-Dist: click==8.2.1; extra == "dev"
Requires-Dist: openapi-python-client==0.17.2; extra == "dev"
Requires-Dist: ruff==0.15.6; extra == "dev"
Requires-Dist: reorder-python-imports-black==3.14.0; extra == "dev"
Requires-Dist: black==25.12.0; extra == "dev"
Requires-Dist: mypy==1.19.1; extra == "dev"
Requires-Dist: types-python-dateutil==2.9.0.20260124; extra == "dev"
Requires-Dist: pandas-stubs==2.3.2.250827; extra == "dev"
Requires-Dist: types-tqdm==4.67.3.20260205; extra == "dev"
Requires-Dist: types-PyYAML==6.0.12.20250915; extra == "dev"
Requires-Dist: types-tabulate==0.9.0.20241207; extra == "dev"
Requires-Dist: build==1.4.0; extra == "dev"
Requires-Dist: twine==6.2.0; extra == "dev"
Provides-Extra: doc
Requires-Dist: sphinx==8.2.3; extra == "doc"

# PyDelfini

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

# Quickstart

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

Waiting for session activation...
>>> collection = client.get_collection_by_name('MHSVI')
>>> collection
<DelfiniCollection: 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)
