@writeshh/nepse-sdk
v0.1.2
Published
Node.js wrapper around NepseUnofficialApi (Python)
Downloads
15
Maintainers
Readme
NEPSE SDK
Node.js wrapper around the Python library NepseUnofficialApi. It invokes a small Python bridge to access the underlying functionality.
Upstream library: https://github.com/basic-bgnr/NepseUnofficialApi
Install
npm i @writeshh/nepse-sdk- Requires Python >= 3.11.
- On install, this package will try to create a local virtual environment at
.venvand install the upstream Python lib into it. If that fails (e.g., macOS PEP 668 externally managed Python), it falls back to user/pipx installs and will show guidance.
Manual alternative if needed:
pipx install git+https://github.com/basic-bgnr/NepseUnofficialApi
# or
pip3 install --user git+https://github.com/basic-bgnr/NepseUnofficialApiConfiguration
- The bridge prefers
.venv/bin/python(or WindowsScripts/python.exe) recorded inbridge/.python_path. - Override Python path with env:
NEPSE_NODE_PYTHON=/path/to/python node ...
Usage (Node API)
const { NepseNode } = require('@writeshh/nepse-sdk');
(async () => {
const nepse = new NepseNode();
// Basic
const companies = await nepse.getCompanyList();
const summary = await nepse.getSummary();
// With args
const details = await nepse.getCompanyDetails('NABIL');
const floors = await nepse.getFloorSheetOf('NABIL', '2024-12-11');
console.log(companies.length, summary.length, details?.symbol, floors.length);
})();TypeScript usage:
import { NepseNode, CompanyBasicInfo } from '@writeshh/nepse-sdk';
const nepse = new NepseNode();
async function main() {
const companies: CompanyBasicInfo[] = await nepse.getCompanyList();
console.log(companies[0].symbol);
}
main();Available methods (mirrors upstream):
- No-arg:
getCompanyList,getSecurityList,getSectorScrips,getLiveMarket,getPriceVolume,getSummary,getTopTenTradeScrips,getTopTenTransactionScrips,getTopTenTurnoverScrips,getSupplyDemand,getTopGainers,getTopLosers,isNepseOpen,getNepseIndex,getNepseSubIndices,getDailyNepseIndexGraph,getDailySensitiveIndexGraph,getDailyFloatIndexGraph,getDailySensitiveFloatIndexGraph,getDailyBankSubindexGraph,getDailyDevelopmentBankSubindexGraph,getDailyFinanceSubindexGraph,getDailyHotelTourismSubindexGraph,getDailyHydroSubindexGraph,getDailyInvestmentSubindexGraph,getDailyLifeInsuranceSubindexGraph,getDailyManufacturingSubindexGraph,getDailyMicrofinanceSubindexGraph,getDailyMutualfundSubindexGraph,getDailyNonLifeInsuranceSubindexGraph,getDailyOthersSubindexGraph,getDailyTradingSubindexGraph. - With args:
getFloorSheetOf(symbol, businessDate),getCompanyDetails(symbol),getDailyScripPriceGraph(symbol),getCompanyPriceVolumeHistory(symbol, startDate, endDate),getSymbolMarketDepth(symbol).
Upstream example routes that inspired this mapping: https://github.com/basic-bgnr/NepseUnofficialApi/blob/master/example/NepseServer.py
CLI
nepse-node companies
nepse-node floorsheet
nepse-node summary
nepse-node live
nepse-node depth NABIL
nepse-node company NABILTroubleshooting
- SSL certificate errors: upstream suggests temporarily disabling TLS verification or installing missing CA certs. See their README: https://github.com/basic-bgnr/NepseUnofficialApi
- macOS PEP 668 (externally managed Python): prefer the built-in
.venv, or usepipxas shown above.
