Skip to main content

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.

Metadata

Release files for nubracollector 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nubracollector 0.1.0
File Size Uploaded Provenance Actions
nubracollector-0.1.0.tar.gz 23.1 kB Without provenance Details for nubracollector-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for nubracollector 0.1.0
File Interpreter ABI Platform Actions
nubracollector-0.1.0-py3-none-any.whl Python 3 none any Details for nubracollector-0.1.0-py3-none-any.whl

Total release size: 49.9 kB

Release files / nubracollector-0.1.0.tar.gz

Download URL nubracollector-0.1.0.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d1b37bcb8921be920b4e47382f30f34c36e28a577f464aab9fb4847ff47b24da
BLAKE2b-256 checksum
How to use checksums
e6637c89a9506c0651a7b7c7c96ef6eced5fbd1d4437ab7cdff2cd2491554e27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / nubracollector-0.1.0-py3-none-any.whl

Download URL nubracollector-0.1.0-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59b7602a09d8dd102a1289f114268fd8530c961c50a3d9c9466c3ce849488a74
BLAKE2b-256 checksum
How to use checksums
c2fc1d07e31d419e08fd499df7488d373d419d23a61211a32d357435c5a85b24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Security for nubracollector 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page