A high-performance, lightweight Python library written in Rust for fetching Indian financial market data (NSE).
Project description
financeindia
financeindia is a high-performance, lightweight Python library written in Rust for fetching Indian financial market data (NSE) with ease.
Why financeindia?
- Blazing Fast: Powered by Rust, providing efficient data parsing and networking.
- Lightweight: Minimal dependencies, focus on performance and reliability.
- Session Caching: Intelligent session management to avoid redundant requests and minimize rate-limiting risk.
- Comprehensive: Access to equity lists, historical data, bhavcopies, indices, and real-time quotes.
Installation
pip install financeindia
Quickstart
import financeindia
# Initialize the client
client = financeindia.FinanceClient()
# Recommended: initialize the session once
client._initialize_session()
# Get market status (returns a MarketStatusResponse object)
status = client.get_market_status()
print(status.market_state[0].status)
# Fetch historical data for a stock (returns a list of PriceVolumeRow objects)
data = client.price_volume_data("RELIANCE", "01-03-2026", "05-03-2026")
print(data[0].close_price)
# Fetch current quote (returns a dict)
quote = client.get_equity_quote("RELIANCE")
print(quote['priceInfo']['lastPrice'])
# Fetch Corporate Financial Results
# Returns a list of dicts with filing metadata
results = client.get_financial_results("RELIANCE", "01-01-2025", "07-03-2026", "Annual")
# Parse the XBRL detail for a specific filing
if results:
xbrl_url = results[0]['xbrl']
financial_details = client.get_financial_details(xbrl_url)
print(financial_details) # Highly granular financial data points
Supported Endpoints (42+)
financeindia provides exhaustive coverage of NSE data. Methods return typed PyO3 model classes (attribute-accessible objects) and, when applicable, lists of those model instances (e.g., MarketStatusResponse, MarketStatus, FiiDiiActivity, ASMStock, GSMStock, Holiday, EquityInfo). See tests/test_client.py:13 as an example.
📊 Market Macro
get_market_status(): Current status of all market segments.get_holidays(): Trading holiday calendar.get_fii_dii_activity(): Daily FII and DII trading activity.get_market_turnover(): Market-wide turnover statistics.get_fii_stats(date): Detailed FII statistics (returns raw XLS bytes).
🔍 Surveillance & Monitoring
get_asm_stocks(): Additional Surveillance Measure (ASM) stocks (Long & Short term).get_gsm_stocks(): Graded Surveillance Measure (GSM) list.get_short_ban_stocks(): Filtered list of stocks under short-term surveillance.
📈 Equities
get_equity_list(): All active equities listed on NSE.price_volume_data(symbol, from, to): Historical price and volume.deliverable_position_data(symbol, from, to): Delivery percentage stats.bhav_copy_equities(date): Daily equity bhavcopy.bulk_deal_data(from, to): Tracking large institutional bulk deals.block_deals_data(from, to): Tracking block deal transactions.short_selling_data(from, to): Daily short selling activity.get_52week_high_low(type): Stocks hitting new highs or lows.get_top_gainers()/get_top_losers(): Intraday performance leaders.get_most_active(index): Most active securities by volume/value.get_advances_declines(): Market breadth analysis.get_monthly_settlement_stats(year): Monthly settlement data.get_equity_quote(symbol): Real-time price and order book.
📉 Indices
get_all_indices(): Real-time snapshot of all NSE indices.get_index_constituents(index): Stocks within a specific index (e.g., 'NIFTY 50').get_index_history(index, from, to): Historical index levels.get_index_yield(index, from, to): P/E, P/B, and Dividend Yield of indices.get_india_vix_history(from, to): Historical volatility index data.get_total_returns_index(index, from, to): Total Returns Index (TRI) data.
⛓️ Derivatives
get_option_chain(symbol, is_index): Full real-time option chain with Greeks.bhav_copy_derivatives(date, segment): Daily F&O/Currency/Commodity bhavcopy.get_fo_sec_ban(): Current F&O ban list (JSON).get_fo_ban_list(date): Historical F&O ban list (CSV).get_span_margins(date): Daily SPAN margin files for risk analysis.get_oi_limits_cli(date): Daily Client wise OI Limit (LST).get_participant_volume(date): Participant wise trading volumes.
🤝 Securities Lending & Borrowing (SLB)
get_slb_bhavcopy(date): Daily SLB market bhavcopy.get_slb_eligible(): Real-time list of securities available for SLB.get_slb_open_positions(series): Open positions analysis for a specific month.get_slb_series_master(): Helper to find active SLB series/months.
🏢 Corporate Actions
get_corporate_actions(): Latest dividends, bonuses, splits, etc.get_financial_results(symbol, from, to, period): Metadata for financial filings.get_financial_details(xbrl_url): Deep-dive into XBRL filings (500+ data points).get_insider_trades(from, to): Detailed PIT (Prohibition of Insider Trading) disclosures.
Performance Optimizations
financeindia is built for high-scale quant pipelines:
- Zero-Serialization CSV: CSV data is parsed directly into Python objects in Rust, bypassing heavy string allocations.
- Concurrent-Safe: Uses
RwLockand optimized connection pooling for multi-threaded usage. - Blazing Fast: Up to 3x faster than traditional JSON-based wrappers.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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 financeindia-0.1.0a4.tar.gz.
File metadata
- Download URL: financeindia-0.1.0a4.tar.gz
- Upload date:
- Size: 50.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ffb3cc0010bf71bbcb529c3053f57912aeaa41d8f65fdba3aaeabe8dbb63d78
|
|
| MD5 |
ca8139fcf60bfb3e5f1abfe31cc384f2
|
|
| BLAKE2b-256 |
74d386b9617927b72f7c19dc786c8f7573bcf37bf11f0c87086d524e6c354dff
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-win_arm64.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-win_arm64.whl
- Upload date:
- Size: 3.3 MB
- Tags: CPython 3.13, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa0e6d8f906681ed3eb4f62b0941fd41914decfc2da178bea57e3e325c42dae1
|
|
| MD5 |
2f5c2637f2563be3145c777f3e695b67
|
|
| BLAKE2b-256 |
691bdd21d0dfd50318879c4bfefec99cf158917336e5b3a26b07d979fe55489a
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8501f11987135589eb70ae5c330639adc041845e4b7dd72f4f8be1988a9c21d
|
|
| MD5 |
ca1bda5561c268cce2df67428f671788
|
|
| BLAKE2b-256 |
8c09f8a4dee815b7b0fc6e15ebcd584ed3ad718e8fb6795f1ef972fe457ea107
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-win32.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-win32.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.13, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc08afed6d043c63056f20bd6694a93933fe1583702a6604522c13e1ee7e71c5
|
|
| MD5 |
1bc5e2d8e61c6d4469b1149112d4f17d
|
|
| BLAKE2b-256 |
035cbb4e0b0add510d79fb465b541aed75528758a807cf138640be16993daa8c
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72a7da31586d8c20cfe207cd0c57a7c9f0dfa949c569f6a8e0e294dff1f6aac1
|
|
| MD5 |
b4d50565cbd86d48e4f885a21779cec3
|
|
| BLAKE2b-256 |
ed4e12f63d3fb41eceb43920f2254e9941a3f48a171c376da6eaa5a21ef809dd
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-musllinux_1_2_i686.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-musllinux_1_2_i686.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
539c45cad8a1647e4ceff1c1b19007d3ad7c15ab4766967b20ca265e5cd4f9ae
|
|
| MD5 |
4c756c40be258d422d9c4f706b780fd9
|
|
| BLAKE2b-256 |
7a90706fcfd9678ac1eaa37f6d9c095d3377f437cad17ca60013408ebf89dd09
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b93f7ac8dbe135618411a2d0986461e3ad2c3577eb8c618cb626c5bad276905
|
|
| MD5 |
5513a83bf247c74873728c47e9d6bfe7
|
|
| BLAKE2b-256 |
e8450dcdfcb72c3d56ebe8dbf79fed93d9449deb2bf94ec9cb777eb814d1995a
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1493d76cc619891d1dd35e0538840750c69b609c010cb7541646130abcd13b41
|
|
| MD5 |
c6964cf2086cb009aedf04bab6c31311
|
|
| BLAKE2b-256 |
50423d4bc106bc302eaf329f550461e21459b1c2a7250098553c4c1a233bcd5d
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f084367f5949a2abf019f35d28d6ede5592a7ffc8d2c7689423267882b050c3e
|
|
| MD5 |
7f8954aab650359a19a627ee716ac496
|
|
| BLAKE2b-256 |
f4119aa7403164993e1dac9a688adb37e1805af70570349dca35b5738db96624
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_s390x.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_s390x.whl
- Upload date:
- Size: 4.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ s390x
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cfe4105922f2e0c6f79e01192456ee4cd94923a9a8afd8711ccdf1793ffcc7b
|
|
| MD5 |
49a345a9491cb7ca3da1c5349c64fb2d
|
|
| BLAKE2b-256 |
ffb9bfc8fe438814152782b9d79c9cda56e9fd34c5e4f2b1399f9676cb411b21
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_ppc64le.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_ppc64le.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ ppc64le
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16d219564133137c31bf635dd9eece7a38e862d92f30df3ffc67f181588f9b20
|
|
| MD5 |
f212fbd6461dbc72705dfb098d198c4d
|
|
| BLAKE2b-256 |
043a077ee9ee09733eea83bc0720ba7e8ea2eed9b49a4dc7c600afc869263f9b
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_i686.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_i686.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18a4c23ba6328d9d8495279510a305d85805080fa1ff9740bd3028874c406b08
|
|
| MD5 |
4960f31f8b40e87c6edbd0f7572ad294
|
|
| BLAKE2b-256 |
7701e849e8af3df37f42744ed36213a60dd3a6d57f82928f8f6862420c54a2f9
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_armv7l.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_armv7l.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ ARMv7l
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a875441965a5df1f7c0d5ec949b9842ecf3f6ecfbd770433a8a748df56e79cef
|
|
| MD5 |
71973c5e8b27933fa966748072863466
|
|
| BLAKE2b-256 |
c55f7e0f5b9931316a59c93aab6b9faba208bb1bfe6277ae60d3be3894cd860f
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 3.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b0462f72e68ae41209e118df4603d10e788d7774325872309015406d5c42d17
|
|
| MD5 |
9ce0528822cb1caecde57dd2290d3808
|
|
| BLAKE2b-256 |
0020b2719a62fceb207af012713d8d2eb0b094750bade32a50fcfdec67c4cc5b
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13677142e7d561eb5a44383ed4d9339e9a3d70d402a56c0c8b9a9e42560970dc
|
|
| MD5 |
429a5220a664868624456e9f13903e9b
|
|
| BLAKE2b-256 |
d9a79bc66e8b8d3eb5f70a75f9a062cf71bc1995b92ca0a29705296d77c5447b
|
File details
Details for the file financeindia-0.1.0a4-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: financeindia-0.1.0a4-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.9 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8950d200f8ed331919f03b73c861c8f5ae65216edd1edee94a56ba992e5f3ab
|
|
| MD5 |
15ba1f0d765374f949e20c3d9e77929d
|
|
| BLAKE2b-256 |
d66ffb308961d4ab546d4a1cff13a9b6a374172a0edf523d69473a8b4dd6bbbe
|