Metadata-Version: 2.4
Name: tvfin
Version: 0.1.0
Summary: Unofficial Python client for the hosted tvfin TradingView REST API and direct TradingView WebSocket.
Project-URL: Homepage, https://github.com/bluedoor-ai/tvfin
Project-URL: Documentation, https://github.com/bluedoor-ai/tvfin
Project-URL: Source, https://github.com/bluedoor-ai/tvfin
Author-email: BlueDoor <sam@bluedoor.sh>
License: MIT
Keywords: finance,market-data,stocks,tradingview,tvfin,websocket
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Provides-Extra: curl
Requires-Dist: curl-cffi>=0.6.0; extra == 'curl'
Provides-Extra: ws
Requires-Dist: websocket-client>=1.7.0; extra == 'ws'
Description-Content-Type: text/markdown

# tvfin

Python client for tvfin:

- Hosted REST API: `Client`
- Direct TradingView WebSocket: `TradingViewWebSocket`

The hosted API intentionally does not proxy TradingView WebSocket sessions in
the MVP. The SDK opens the same direct TradingView socket used by other
TradingView clients.

```python
from tvfin import Client, TradingViewWebSocket

client = Client(contact="you@example.com")
symbols = client.search("apple")
scan = client.scanner("america", columns=["name", "close"], range=[0, 5])

with TradingViewWebSocket() as tvws:
    quotes = tvws.quote_snapshot(["NASDAQ:AAPL", "BINANCE:BTCUSDT"])
    bars = tvws.get_bars("NASDAQ:AAPL", interval="1D", bars=50)
```
