Metadata-Version: 2.4
Name: algo-dataproviders
Version: 2.0.3
Summary: Streaming real-time market data from Indian brokers (Angel One, Fyers, Upstox)
Author-email: Your Name <your@email.com>
License: MIT
Keywords: trading,websocket,market-data,angel-one,fyers,upstox,nse,bse
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: python-dotenv
Requires-Dist: JSONL-LOGGER
Requires-Dist: orjson
Requires-Dist: nats-py
Requires-Dist: upstox-python-sdk
Requires-Dist: smartapi-python
Requires-Dist: fyers-apiv3
Requires-Dist: aiohttp
Requires-Dist: ENCRYPTION-SERVICE
Requires-Dist: logzero
Requires-Dist: MARKET-TRADING-HOURS
Provides-Extra: dev
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Requires-Dist: pytest; extra == "dev"

# Algo Data Providers

A Python library for streaming real-time market data from Indian brokers including Upstox, Angel One, and Fyers.

## Features

- **Unified Interface**: Consistent API across different brokers
- **Real-time Data**: WebSocket connections for live market data
- **Symbol Mapping**: Automatic conversion between unified symbols and broker-specific formats
- **NATS Integration**: Publish data to NATS messaging system
- **Logging**: Comprehensive logging with JSONL format

## Installation

```bash
pip install algo-dataproviders
```

## Quick Start

```python
import algo_dataproviders as adp

# Initialize Upstox data provider
upstox_ws = adp.dataproviders.upstox.create_websocket_instance(access_token)
adp.dataproviders.upstox.run_websocket(upstox_ws)

# Or use Angel One
angel_ws = adp.dataproviders.angel.create_websocket_instance(auth_token, api_key, username, feed_token)
adp.dataproviders.angel.run_websocket_in_thread(angel_ws)
```

## Configuration

Copy the example configuration files from `examples/config/` and customize them for your setup.

Required environment variables:
- `PROJECT_DIRECTORY`: Path to your project directory
- Broker-specific API credentials

## Supported Brokers

### Upstox
- WebSocket streaming
- Symbol mapping support

### Angel One
- SmartAPI WebSocket integration
- Comprehensive symbol mapping

### Fyers
- Fyers WebSocket API
- Symbol format conversion

## Development

```bash
# Install with dev dependencies
pip install -e .[dev]

# Run tests
pytest

# Build package
python -m build
```

## License

MIT License
