Metadata-Version: 2.5
Name: sharketo-sdk
Version: 0.1.14b3
Summary: Server-side Sharketo Python client for cache-only Dealer Exposures, BTC/ETH current crypto inventory, prices, Index Inventory, Seasonality, curated Volatility, RRG and CTA Flow
License-Expression: MIT
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: httpx<1,>=0.28
Requires-Dist: pydantic<3,>=2.10
Requires-Dist: websockets<17,>=15
Provides-Extra: dashboard
Requires-Dist: altair<7,>=5.5; extra == 'dashboard'
Requires-Dist: streamlit<2,>=1.49; extra == 'dashboard'
Provides-Extra: dev
Requires-Dist: build<2,>=1.2; extra == 'dev'
Requires-Dist: datamodel-code-generator==0.53.0; extra == 'dev'
Requires-Dist: hatchling<2,>=1.27; extra == 'dev'
Requires-Dist: jsonschema<5,>=4.23; extra == 'dev'
Requires-Dist: mypy<2,>=1.15; extra == 'dev'
Requires-Dist: packaging<27,>=26.1; extra == 'dev'
Requires-Dist: pytest-asyncio<2,>=0.25; extra == 'dev'
Requires-Dist: pytest<10,>=8; extra == 'dev'
Requires-Dist: pyyaml<7,>=6; extra == 'dev'
Requires-Dist: ruff==0.16.10; extra == 'dev'
Requires-Dist: twine<8,>=7; extra == 'dev'
Provides-Extra: notebook
Requires-Dist: jupyterlab<5,>=4; extra == 'notebook'
Description-Content-Type: text/markdown

# Sharketo Python SDK

Server-side Python 3.11+ client for Sharketo developer APIs. Supported products include
Index Inventory, prices, daily inventory history, expiry flow, Seasonality, CTA Flow,
RRG, crypto inventory, Dealer Exposures and curated Volatility.

Version **0.1.14b3** matches the bundled coding-agent skill. SDK installation does not
grant API access or establish live product availability. Obtain authorized credentials
and approval for live use separately. All SDK Developer data access requires effective
Apex access, including live prices and `get_access()` diagnostics. A usable API key or
Pro portal/integration access alone does not grant Developer data access. The server
evaluates effective access, including valid existing grants; other access requirements
and service availability still apply.

## Install and try it offline

In your application's Python 3.11+ virtual environment, install the SDK from PyPI:

```sh
python -m pip install --index-url https://pypi.org/simple/ sharketo-sdk==0.1.14b3
python -m sharketo.quickstart
```

Use an environment without configured extra package indexes. If the matching release is
unavailable on PyPI, stop and report the unavailable version. Do not substitute another
version, package index or source checkout.

For a uv project, use `uv add --default-index https://pypi.org/simple/ sharketo-sdk==0.1.14b3`,
then `uv run python -m sharketo.quickstart`.

The quickstart uses invented data through an in-memory HTTP transport. It reads no
credentials, opens no network sockets and does not validate API entitlements or service
health.

## Configure an authorized application

Constructors take an explicit server-side key and do not read environment variables:

```python
from sharketo import SharketoClient


def read_summary(api_key, ticker):
    with SharketoClient(api_key) as client:
        return client.index_inventory.get_summary(ticker)
```

Omitted/`None` `api_url` selects `https://api.sharketo.com`.
`AsyncSharketoClient(api_key)` uses that API and `wss://socket.sharketo.com/v1/ws`;
use `async with` and await HTTP methods. A custom API alone is HTTP-only: subscribing
raises `ValueError` until an explicit `websocket_url` is supplied. A custom WebSocket URL
with an omitted/`None` API URL raises `ValueError`. Explicit API/WS pairs are accepted
without inferring hosts or ports.

For environment-based switching, provision `SHARKETO_API_KEY` through server-side secret
tooling, then use `SharketoClient.from_env()` or `AsyncSharketoClient.from_env()` in the
corresponding context manager. Both read `SHARKETO_API_KEY`/`SHARKETO_API_URL` once at
construction; only the async factory reads `SHARKETO_WEBSOCKET_URL`. Missing URL variables
use defaults; a missing/invalid key or blank/invalid URL variable raises `ValueError`.
The factories accept constructor limits/transport options, but no key/endpoint overrides;
use constructors for explicit values.

Leave both URL variables unset for production defaults. Use overrides only for a
configuration supplied by Sharketo, with a key authorized for that service. Environment
changes affect new clients only. The SDK does not scan dotenv files or fall back to
production on failure. HTTPS/WSS retain verified TLS; plain HTTP/WS are loopback-only.

## Optional coding-agent skill

The package bundles version-matched SDK usage guidance and synthetic examples.
Installation into an agent is explicit; pip does not change agent configuration. If a
matching skill is already installed, use it without creating a duplicate.

From your application directory, with the SDK's Python environment active:

```sh
python -m sharketo.skills install --agent claude-code --scope project
```

Use `--agent codex` instead for Codex. Run `python -m sharketo.skills --help` for installation
and export options. Installing the skill does not install Python dependencies, configure
credentials or grant API access. Keep credentials in server-side environment/secret
storage, not source code or agent instructions.

## Distribution and license

Distributions contain the SDK source, bundled usage guides and synthetic fixtures,
plugin resources, license and package/build metadata.

SDK and bundled skill code are MIT-licensed. This license does not grant access to
Sharketo services.
