NSE
Check out the sister projects NsePython and SaveKiteEnctoken which are Python & Javascript libraries to use the NSE and Zerodha APIs respectively
NSE is an easy to use rust CLI program and library for extracting real-time data from National Stock Exchange (India)
Features
- Download EOD 1-Minute Data for NFO-FUT, NSE-EQ, NSE-Index, NSE-CDS from NSE Tame Charts.
- Download Intraday Futures & Options Data Snapshots with all LTP & OI Data.
- Multi-threading for network intensive subcommands
- You can configure the maximum number of additional threads using the
--threads
options
- You can configure the maximum number of additional threads using the
Installation
nse is a compiled, statically linked program that does not require any external dependencies.
nse is coming to more package managers soon!
Cargo Install
If you have the Rust toolchain, you can also compile and install nse by running cargo install nse
.
Remember to use an add-on like cargo-update to keep nse updated to the latest version!
GitHub Releases
- Download the asset suitable for your operating system from the latest release
- Unzip the file and move it to a folder in your path such as
~/bin
- Remember to check the releases page for any updates!
First Startup
When you first start up, the program will create a new data download directory automatically named as NSE_Downloads_Data
in which the download files will be further categorised, subcatogorised and saved into dated folders.
NSE_DOWNLOADS_DATA
├───1-Minute-OHLCV-Data
│ ├───Commodity
│ │ └───11-May-2022
│ ├───Currency
│ │ └───11-May-2022
│ ├───Equity
│ │ └───11-May-2022
│ ├───Futures
│ │ └───11-May-2022
│ └───Index
│ │ └───11-May-2022
├───BankNifty
│ ├───Futures_Intraday_Snapshots
│ │ └───11-May-2022
│ ├───GraphsData
│ │ └───11-May-2022
│ └───Options_Intraday_Snapshots
│ └───11-May-2022
├───FinNifty
│ ├───Futures_Intraday_Snapshots
│ │ └───11-May-2022
│ ├───GraphsData
│ │ └───11-May-2022
│ └───Options_Intraday_Snapshots
│ └───11-May-2022
├───Misc
│ ├───Futures_Intraday_Snapshots
│ │ └───11-May-2022
│ ├───GraphsData
│ │ └───11-May-2022
│ └───Options_Intraday_Snapshots
│ └───11-May-2022
└───Nifty
├───Futures_Intraday_Snapshots
│ └───11-May-2022
├───GraphsData
│ └───11-May-2022
└───Options_Intraday_Snapshots
└───11-May-2022
WARNING: When upgrading, any files not downloaded by nse will be moved to the .old
folder in the output directory
Configure
To Be Updated
Manage
To Be Updated
Delete
To Be Updated
Feature Requests
If you would like to make a feature request, check the issues to see if the feature has already been added or is planned. If not, create a new issue.
Building from Source or Working with nse
Firstly, you need the Rust toolchain which includes cargo
, rustup
, etc. You can install these from the Rust website. You'll also need the Just command runner, its basically a much better version of make
.
If you want to build nse without cloning the repo then run cargo install nse
.
To build the project and install it to your Cargo binary directory, clone the project and run just install
. If you want to install it for testing a developement version, run just
(alias for just install-dev
).
If you want to obtain executables for a specific OS, you can run just build-<OS>
and replace <OS>
with mac
, win
, or linux
. The produced binaries will be zipped and moved to out/
.
You can run clippy linters using just lint
, and integration tests using cargo test
. Finally you can delete all the build and test artefacts by using just clean
.