Skip to main content

Desktop collector and Python helper library for Nubra realtime market data streams.

Project description

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:
    • index
    • option
    • orderbook
    • greeks
    • ohlcv
  • 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.

Project details


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nubracollector-0.1.0-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

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

Hashes for nubracollector-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d1b37bcb8921be920b4e47382f30f34c36e28a577f464aab9fb4847ff47b24da
MD5 8d06df4ebbb4388f563744c690f222cd
BLAKE2b-256 e6637c89a9506c0651a7b7c7c96ef6eced5fbd1d4437ab7cdff2cd2491554e27

See more details on using hashes here.

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

Hashes for nubracollector-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 59b7602a09d8dd102a1289f114268fd8530c961c50a3d9c9466c3ce849488a74
MD5 b67358277fdc62fa88cedcb85289f290
BLAKE2b-256 c2fc1d07e31d419e08fd499df7488d373d419d23a61211a32d357435c5a85b24

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page