Metadata-Version: 2.2
Name: pokpok-sdk
Version: 0.1.5
Summary: Python SDK for PokPok API
Author-email: Your Name <your.email@example.com>
Project-URL: Homepage, https://github.com/yourusername/pokpok-sdk
Keywords: pokpok,trading,api,sdk
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: aiohappyeyeballs==2.4.4
Requires-Dist: aiohttp==3.11.11
Requires-Dist: aiosignal==1.3.2
Requires-Dist: annotated-types==0.7.0
Requires-Dist: attrs==25.1.0
Requires-Dist: bitarray==3.0.0
Requires-Dist: black==25.1.0
Requires-Dist: build==1.2.2.post1
Requires-Dist: CacheControl==0.14.2
Requires-Dist: certifi==2025.1.31
Requires-Dist: cffi==1.17.1
Requires-Dist: charset-normalizer==3.4.1
Requires-Dist: ckzg==2.0.1
Requires-Dist: cleo==2.1.0
Requires-Dist: click==8.1.8
Requires-Dist: coverage==7.6.10
Requires-Dist: crashtest==0.4.1
Requires-Dist: cytoolz==1.0.1
Requires-Dist: distlib==0.3.9
Requires-Dist: docutils==0.21.2
Requires-Dist: dulwich==0.22.7
Requires-Dist: eth-account==0.13.4
Requires-Dist: eth-hash==0.7.1
Requires-Dist: eth-keyfile==0.8.1
Requires-Dist: eth-keys==0.6.1
Requires-Dist: eth-rlp==2.1.0
Requires-Dist: eth-typing==5.1.0
Requires-Dist: eth-utils==5.2.0
Requires-Dist: eth_abi==5.2.0
Requires-Dist: fastjsonschema==2.21.1
Requires-Dist: filelock==3.17.0
Requires-Dist: frozenlist==1.5.0
Requires-Dist: hexbytes==1.3.0
Requires-Dist: id==1.5.0
Requires-Dist: idna==3.10
Requires-Dist: iniconfig==2.0.0
Requires-Dist: installer==0.7.0
Requires-Dist: jaraco.classes==3.4.0
Requires-Dist: jaraco.context==6.0.1
Requires-Dist: jaraco.functools==4.1.0
Requires-Dist: keyring==25.6.0
Requires-Dist: markdown-it-py==3.0.0
Requires-Dist: mdurl==0.1.2
Requires-Dist: more-itertools==10.6.0
Requires-Dist: msgpack==1.1.0
Requires-Dist: multidict==6.1.0
Requires-Dist: mypy==1.14.1
Requires-Dist: mypy-extensions==1.0.0
Requires-Dist: nh3==0.2.20
Requires-Dist: packaging==24.2
Requires-Dist: parsimonious==0.10.0
Requires-Dist: pathspec==0.12.1
Requires-Dist: pkginfo==1.12.0
Requires-Dist: platformdirs==4.3.6
Requires-Dist: pluggy==1.5.0
Requires-Dist: poetry==2.0.1
Requires-Dist: poetry-core==2.0.1
Requires-Dist: propcache==0.2.1
Requires-Dist: pycparser==2.22
Requires-Dist: pycryptodome==3.21.0
Requires-Dist: pydantic==2.10.6
Requires-Dist: pydantic_core==2.27.2
Requires-Dist: Pygments==2.19.1
Requires-Dist: pyproject_hooks==1.2.0
Requires-Dist: pytest==8.3.4
Requires-Dist: pytest-cov==6.0.0
Requires-Dist: python-dotenv==1.0.1
Requires-Dist: pyunormalize==16.0.0
Requires-Dist: RapidFuzz==3.12.1
Requires-Dist: readme_renderer==44.0
Requires-Dist: regex==2024.11.6
Requires-Dist: requests==2.32.3
Requires-Dist: requests-toolbelt==1.0.0
Requires-Dist: rfc3986==2.0.0
Requires-Dist: rich==13.9.4
Requires-Dist: rlp==4.0.1
Requires-Dist: shellingham==1.5.4
Requires-Dist: tomlkit==0.13.2
Requires-Dist: toolz==1.0.0
Requires-Dist: trove-classifiers==2025.1.15.22
Requires-Dist: twine==6.1.0
Requires-Dist: types-requests==2.32.0.20241016
Requires-Dist: typing_extensions==4.12.2
Requires-Dist: urllib3==2.3.0
Requires-Dist: virtualenv==20.29.1
Requires-Dist: web3==7.7.0
Requires-Dist: websockets==13.1
Requires-Dist: yarl==1.18.3

# PokPok SDK

A Python SDK for interacting with PokPok's options trading platform. This SDK provides easy access to both Pay-as-you-go (PAYG) and Spread trading functionalities.

## Installation

Install the package using pip:

```bash
pip install pokpok-sdk
```

## Configuration

The SDK requires some environment variables to be set up. Create a `.env` file in your project root:

```env
MERCHANT_PKEY=your_private_key_here
```

## Usage

### Initialize Clients

You can initialize both PAYG and Spread clients with your API key. Optionally, you can provide a custom RPC URL:

```python
from pokpok_sdk import Payg, Spread

# Basic initialization
payg = Payg(api_key='your_api_key')
spread = Spread(api_key='your_api_key')

# With custom RPC URL
payg = Payg(api_key='your_api_key', rpc_url='your_custom_rpc_url')
spread = Spread(api_key='your_api_key', rpc_url='your_custom_rpc_url')
```

### PAYG Trading Example

```python
from pokpok_sdk import Payg, QuoteFetchInput
from pokpok_sdk.exceptions import PokPokError

# Create input for quote fetching
payg_input = QuoteFetchInput(
    duration=3,
    meal="economical",
    coin="eth",
    option="up",
    size=0.5,
    amount=1
)

# Execute PAYG trade
try:
    payg = Payg(api_key='your_api_key')

    # Fetch quote
    fetched_quote = payg.fetch_quote(input=payg_input)

    # Place order
    tx_receipt = payg.place_order(
        fetch_quote_input=payg_input,
        fetched_quote=fetched_quote
    )
    print(f"Transaction Receipt: {tx_receipt}")
except PokPokError as e:
    print(f"Error: {e}")
```

### Spread Trading Example

```python
from pokpok_sdk import Spread, SpreadQuoteFetchInput
from pokpok_sdk.exceptions import PokPokError

# Create input for spread quote fetching
spread_input = SpreadQuoteFetchInput(
    duration=3,
    meal="economical",
    coin="eth",
    option="up",
    size=0.5,
    spreadPercent=5,
    amount=1
)

# Execute Spread trade
try:
    spread = Spread(api_key='your_api_key')

    # Fetch quote
    fetched_quote = spread.fetch_quote(input=spread_input)

    # Place order
    tx_receipt = spread.place_order(
        fetch_quote_input=spread_input,
        fetched_quote=fetched_quote
    )
    print(f"Transaction Receipt: {tx_receipt}")
except PokPokError as e:
    print(f"Error: {e}")
```

## Input Parameters

### QuoteFetchInput

- `duration`: Trading duration `3 or 7` days
- `meal`: Trading strategy type (e.g., "economical")
- `coin`: Trading pair (e.g., "eth")
- `option`: Option type ("up" or "down")
- `size`: Position size
- `amount`: Trading amount

### SpreadQuoteFetchInput

Includes all parameters from QuoteFetchInput plus:

- `spreadPercent`: Spread percentage for the trade

## Error Handling

The SDK uses custom `PokPokError` for error handling. Always wrap your API calls in try-except blocks:

```python
from pokpok_sdk.exceptions import PokPokError

try:
    # Your SDK calls here
except PokPokError as e:
    print(f"Error: {e}")
```

## License

MIT

## Support

For support, please contact support@pokpok.io
