Skip to content
This repository was archived by the owner on Jan 16, 2022. It is now read-only.
/ nepse-api Public archive

NEPSE API wrapper fetches the data from Nepali Stock Site and provides them in a pythonic and usable way.

License

Notifications You must be signed in to change notification settings

CaffeineDuck/nepse-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e0aaef4 · Jan 16, 2022
Jun 5, 2021
Jul 15, 2021
Jul 16, 2021
Sep 30, 2021
Jul 17, 2021
Jun 3, 2021
May 30, 2021
Jun 3, 2021
Jun 3, 2021
Jun 3, 2021
Jan 16, 2022
Jun 11, 2021
Jul 16, 2021

Repository files navigation

NEPSE API Wrapper

NOTE:

This project has been archived as the project is unmaintainable in the current conditions due to raplidly changing NEPSE API. I will try to work on it in a private repo. But until that is finalized, this project will be archived.

This python module fetches the data from Nepali Stock Site and provides them in a pythonic and usable way.

About

This is a API wrapper for NEPSE API. This project was inspired from PyPi Nepse.

Documentation

There is a detailed guide in my documentation page for getting started and installing. Documentation

How to use?

You can use this by package from Nepse API PyPi

pip install nepse-api

Why use this?

How is this better than PyPi Nepse?

  • It is asynchronous.
  • Data can be taken as attributes rather than from dict.
  • Data is fetched from the API rather than scraping the site.
  • Data is cached

APIs used

The APIs that I used to create this API wrapper is:

How to use?

import asyncio
import httpx
from nepse import Client


async def main():
    company_Symbol = input('Input Company Symbol (Uppercase): ')

    # Doing this is optional you can directly
    # Initialize using `client = Client()` as well
    async with httpx.AsyncClient() as async_client:
        # Initializes the client
        client = Client(httpx_client=async_client)

        # Gets the data
        data = await client.security_client.get_company(symbol=f"{company_Symbol}")

        # Prints the highest price for that company today
        print(f'High Price of {company_Symbol}: ', data.high_price)
        print(f'Low price of {company_Symbol}: ', data.low_price)
        print(f'Open Price of {company_Symbol}: ', data.open_price)

# Run the function
loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Why are the attributes so in-costistent?

The attribues are in-consistent because the attributes are set according to the response set by the API. I tried changing it up but that would be distruptive because the comability with the API would be broken.

Want To Contribute?

You can send a pull request or open an issue to contribute. Check out Code Of Conduct before contributing.