Python SDK for 5paisa APIs natively written in VB.NET
Project description
5paisa Python SDK
Python SDK for 5paisa APIs natively written in VB .NET
Features
- Supports fetching user info including holdings, positions, margin and order book.
- Supports order placement, modification and cancellation
- Supports fetching order status and trade information.
Usage
Configuring API keys
Get your API keys from https://www.5paisa.com/developerapi/apikeys
Configure these keys in a file named keys.conf
in the same directory as your python script exists
A sample keys.conf
is given below:
[KEYS]
APP_NAME=YOUR_APP_NAME_HERE
APP_SOURCE=YOUR_APP_SOURCE_HERE
USER_ID=YOUR_USER_ID_HERE
PASSWORD=YOUR_PASSWORD_HERE
USER_KEY=YOUR_USER_KEY_HERE
ENCRYPTION_KEY=YOUR_ENCRYPTION_KEY_HERE
Authentication
from py5paisa import FivePaisaClient
client = FivePaisaClient(email="random_email@xyz.com", passwd="password", dob="YYYYMMDD")
client.login()
After successful authentication, the cookie is persisted for subsequent requests.
Fetching user info
# Fetches holdings
client.holdings()
# Fetches margin
client.margin()
# Fetches positions
client.positions()
# Fetches the order book of the client
client.order_book()
Placing an order
# This is an indicative order.
from py5paisa.order import Order, OrderType, Exchange, ExchangeType
test_order = Order(order_for=OrderType.PLACE, exchange=Exchange.BSE, exchange_type=ExchangeType.CASH, price=0,
order_id=0, order_type="BUY", quantity=10, scrip_code=500875, atmarket=True, remote_order_id="23324", exch_order_id="0", disqty=10, stoploss_price=0, is_stoploss_order=False, ioc_order=False, is_intraday=False, is_vtd=False, vtd="", ahplaced="Y", public_ip="45.112.149.104", order_validity=0, traded_qty=0)
print(client.place_order(test_order))
Fetching Order Status and Trade Information
from py5paisa.order import OrderForStatus, Exchange, ExchangeType, RequestList
test_order_status = OrderForStatus(exchange=Exchange.BSE, exchange_type=ExchangeType.CASH, scrip_code=500875, order_id=0)
req_list = RequestList()
# Add multiple orders to the RequestList to know status of multiple orders at once.
req_list.add_order(test_order_status)
# Fetches the trade details
print(client.fetch_trade_info(req_list))
# Fetches the order status
print(client.fetch_order_status(req_list))
TODO
- Handle responses more gracefully.
- Write tests.
- Add logging
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
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
py5paisa-0.1.0.tar.gz
(53.5 kB
view hashes)
Built Distribution
Close
Hashes for py5paisa-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 423a9c080bc5ac64585aca1b21a1ba162b8a335500abe5b3b68dd8cb06723a54 |
|
MD5 | ed4bafbb3273585d6f08fb6686e2414d |
|
BLAKE2b-256 | 890650a8ad6249ce262eb8e05a61344fce505d746873c5d94c04c0e39159ec9a |