Metadata-Version: 2.4
Name: poelis-sdk
Version: 0.1.7
Summary: Official Python SDK for Poelis
Project-URL: Homepage, https://poelis.com
Project-URL: Source, https://github.com/PoelisTechnologies/poelis-python-sdk
Project-URL: Issues, https://github.com/PoelisTechnologies/poelis-python-sdk/issues
Author-email: Matteo Braceschi <matteo@poelis.com>
License-Expression: MIT
License-File: LICENSE
Keywords: api,client,poelis,sdk
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Requires-Dist: build>=1.3.0
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.7
Requires-Dist: twine>=6.2.0
Description-Content-Type: text/markdown

# Poelis Python SDK

Python SDK for Poelis.

## Installation

```bash
pip install -U poelis-sdk
```

Requires Python 3.11+.

## Quickstart (API key + org ID)

```python
from poelis_sdk import PoelisClient

client = PoelisClient(
    api_key="poelis_live_A1B2C3...",    # Organization Settings → API Keys
    org_id="tenant_uci_001",            # same section
)

# Workspaces → Products
workspaces = client.workspaces.list(limit=10, offset=0)
ws_id = workspaces[0]["id"]

page = client.products.list_by_workspace(workspace_id=ws_id, limit=10, offset=0)
print([p.name for p in page.data])

# Items for a product
pid = page.data[0].id
items = client.items.list_by_product(product_id=pid, limit=10, offset=0)
print([i.get("name") for i in items])

# Property search
props = client.search.properties(q="*", workspace_id=ws_id, limit=10, offset=0)
print(props["total"], len(props["hits"]))
```

## Configuration

### Getting your API key and org ID

1. Navigate to Organization Settings → API Keys.
2. Click “Create API key”, choose a name and scopes (read-only by default recommended).
3. Copy the full key when shown (it will be visible only once). Keep it secret.
4. The `org_id` for your organization is displayed in the same section.
5. You can rotate or revoke keys anytime. Prefer storing as env vars:

```bash
export POELIS_API_KEY=poelis_live_A1B2C3...
export POELIS_ORG_ID=tenant_id_001
# POELIS_BASE_URL is optional - defaults to the managed GCP endpoint
```


## Dot-path browser (Notebook UX)

The SDK exposes a dot-path browser for easy exploration:

```python
client.browser  # then use TAB to explore
# client.browser.<workspace>.<product>.<item>.<child>.properties
```

See the example notebook in `notebooks/try_poelis_sdk.ipynb` for an end-to-end walkthrough (authentication, listing workspaces/products/items, and simple search queries).

## Requirements

- Python >= 3.11
- API base URL reachable from your environment

## License

MIT
