NubraCollector
nubracollector is a desktop collector and Python helper library for Nubra realtime market data.
It combines:
- a PySide6 desktop UI for login, stream selection, field filtering, and live tables
- a reusable Python API for starting Nubra websocket streams in code
- local storage outputs for CSV, Excel, SQLite, and Parquet
- first-run instrument catalog caching for searchable instrument selection
Features
- Supports all five Nubra websocket stream types:
indexoptionorderbookgreeksohlcv
- Compact UI login flow with environment, phone, OTP or TOTP, and MPIN
- Dark and light themes
- Live stream preview table with selected-field filtering
- Searchable instrument picker with cached instrument master data
- Stream output storage to:
- CSV
- Excel
- SQLite
- Parquet
Installation
From a local checkout:
pip install .
After publishing:
pip install nubracollector
Launch The Desktop UI
nubracollector
Or from Python:
from nubracollector import launch_ui
launch_ui()
Python Usage
from nubracollector import NubraCollector
from nubracollector.models import AuthConfig, StorageConfig, StorageFormat, SubscriptionConfig
collector = NubraCollector(
AuthConfig(
environment="UAT",
use_env_credentials=True,
phone_number="9999999999",
mpin="0000",
)
)
collector.login()
collector.start(
SubscriptionConfig(
stream_key="index",
values=["NIFTY", "BANKNIFTY"],
exchange="NSE",
selected_fields=["indexname", "timestamp", "index_value", "volume"],
),
StorageConfig(
format=StorageFormat.SQLITE,
target_path="market_data.db",
table_name="index_ticks",
),
)
Project Layout
nubracollector/
nubracollector/
app.py
auth.py
collector.py
instrument_cache.py
models.py
normalizers.py
schemas.py
session.py
storage.py
ui/
Notes
- The UI stores auth tokens locally for SDK reuse between steps.
- Instrument catalog refresh requires a valid Nubra session.
- CSV output is written immediately while streaming.
- Default output filenames include a timestamp to avoid collisions between runs.
Build A Distribution
python -m build
This creates files in dist/ ready for upload to PyPI.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nubracollector-0.1.0.tar.gz
(23.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nubracollector-0.1.0.tar.gz.
File metadata
- Download URL: nubracollector-0.1.0.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1b37bcb8921be920b4e47382f30f34c36e28a577f464aab9fb4847ff47b24da
|
|
| MD5 |
8d06df4ebbb4388f563744c690f222cd
|
|
| BLAKE2b-256 |
e6637c89a9506c0651a7b7c7c96ef6eced5fbd1d4437ab7cdff2cd2491554e27
|
File details
Details for the file nubracollector-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nubracollector-0.1.0-py3-none-any.whl
- Upload date:
- Size: 26.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59b7602a09d8dd102a1289f114268fd8530c961c50a3d9c9466c3ce849488a74
|
|
| MD5 |
b67358277fdc62fa88cedcb85289f290
|
|
| BLAKE2b-256 |
c2fc1d07e31d419e08fd499df7488d373d419d23a61211a32d357435c5a85b24
|