# Table Of Content
<ul>
<li><a href="#client">Breeze API Python Client</a></li>
<li><a href="#docslink">API Documentation</a></li>
<li><a href="#virtualenv">Set Up Virtual Environment</a></li>
<li><a href="#clientinstall">Installing Client</a></li>
<li><a href="#apiusage">API Usage</a></li>
<li><a href="#websocket">Websocket Usage</a></li>
<li><a href="#index_title">List Of Other SDK methods</a></li>
</ul>
<h4 id="client">Breeze API Python Client</h4>
breezeapi@icicisecurities.com
The official Python client library for the ICICI Securities trading APIs. BreezeConnect is a set of REST-like APIs that allows one to build a complete investment and trading platform. Following are some notable features of Breeze APIs:
1. Execute orders in real time
2. Manage Portfolio
3. Access to 10 years of historical market data including 1 sec OHLCV
4. Streaming live OHLC (websockets)
5. Option Chain API
To install breeze strategies:<a href="https://pypi.org/project/breeze-strategies/">click here</a>
<h4 id="docslink">API Documentation</h4>
<div class="sticky" >
<ul>
<li><a href="https://api.icicidirect.com/breezeapi/documents/index.html">Breeze HTTP API Documentation</a></li>
<li><a href="https://pypi.org/project/breeze-connect/">Python client documentation</a></li>
</ul>
</div>
<h4 id="virtualenv">Setup virtual environment in your Machine</h4>
You must install the virtualenv package via pip
```
pip install virtualenv
```
You should create breeze virtual environment via virtualenv
```
virtualenv -p python3 breeze_venv
```
And then, You can activate virtual environment via source
```
source breeze_venv/bin/activate
```
<h4 id="clientinstall">Installing the client</h4>
You can install the latest release via pip
```
pip install --upgrade breeze-connect
```
Or, You can also install the specific release version via pip
```
pip install breeze-connect==1.0.60
```
<h4 id="apiusage"> API Usage</h4>
```python
from breeze_connect import BreezeConnect
# Initialize SDK
breeze = BreezeConnect(api_key="your_api_key")
# Obtain your session key from https://api.icicidirect.com/apiuser/login?api_key=YOUR_API_KEY
# Incase your api-key has special characters(like +,=,!) then encode the api key before using in the url as shown below.
import urllib
print("https://api.icicidirect.com/apiuser/login?api_key="+urllib.parse.quote_plus("your_api_key"))
# Generate Session
breeze.generate_session(api_secret="your_secret_key",
session_token="your_api_session")
# Generate ISO8601 Date/DateTime String
import datetime
iso_date_string = datetime.datetime.strptime("28/02/2021","%d/%m/%Y").isoformat()[:10] + 'T05:30:00.000Z'
iso_date_time_string = datetime.datetime.strptime("28/02/2021 23:59:59","%d/%m/%Y %H:%M:%S").isoformat()[:19] + '.000Z'
```
<br>
<h4 id ="websocket"> Websocket Usage</h4>
```python
from breeze_connect import BreezeConnect
# Initialize SDK
breeze = BreezeConnect(api_key="your_api_key")
# Obtain your session key from https://api.icicidirect.com/apiuser/login?api_key=YOUR_API_KEY
# Incase your api-key has special characters(like +,=,!) then encode the api key before using in the url as shown below.
import urllib
print("https://api.icicidirect.com/apiuser/login?api_key="+urllib.parse.quote_plus("your_api_key"))
# Generate Session
breeze.generate_session(api_secret="your_secret_key",
session_token="your_api_session")
# Connect to websocket(it will connect to tick-by-tick data server)
breeze.ws_connect()
# Callback to receive ticks.
def on_ticks(ticks):
print("Ticks: {}".format(ticks))
# Assign the callbacks.
breeze.on_ticks = on_ticks
# subscribe stocks feeds
breeze.subscribe_feeds(exchange_code="NFO", stock_code="ZEEENT", product_type="options", expiry_date="31-Mar-2022", strike_price="350", right="Call", get_exchange_quotes=True, get_market_depth=False)
# subscribe stocks feeds by stock-token
breeze.subscribe_feeds(stock_token="1.1!500780")
# unsubscribe stocks feeds
breeze.unsubscribe_feeds(exchange_code="NFO", stock_code="ZEEENT", product_type="options", expiry_date="31-Mar-2022", strike_price="350", right="Call", get_exchange_quotes=True, get_market_depth=False)
# unsubscribe stocks feeds by stock-token
breeze.unsubscribe_feeds(stock_token="1.1!500780")
# subscribe to Real Time Streaming OHLCV Data of stocks
breeze.subscribe_feeds(exchange_code="NFO", stock_code="ZEEENT", product_type="options", expiry_date="31-Mar-2022", strike_price="350", right="Call", interval="1minute")
# subscribe to Real Time Streaming OHLCV Data of stocks by stock-token
breeze.subscribe_feeds(stock_token="1.1!500780",interval="1second")
# unsubscribe to Real Time Streaming OHLCV Data of stocks
breeze.unsubscribe_feeds(exchange_code="NFO", stock_code="ZEEENT", product_type="options", expiry_date="31-Mar-2022", strike_price="350", right="Call", interval="1minute")
# unsubscribe to Real Time Streaming OHLCV Data of stocks by stock-token
breeze.unsubscribe_feeds(stock_token="1.1!500780",interval="1second")
# subscribe order notification feeds(it will connect to order streaming server)
breeze.subscribe_feeds(get_order_notification=True)
# unsubscribe order notification feeds(also it will disconnect the order streaming server)
breeze.unsubscribe_feeds(get_order_notification=True)
# subscribe oneclick strategy stream
breeze.subscribe_feeds(stock_token = "one_click_fno")
# unsubscribe oneclick strategy stream
breeze.unsubscribe_feeds(stock_token = "one_click_fno")
# subscribe oneclick equity strategy stream(i_click_2_gain)
breeze.subscribe_feeds(stock_token = "i_click_2_gain")
# unsubscribe oneclick equity strategy stream(i_click_2_gain)
breeze.unsubscribe_feeds(stock_token = "i_click_2_gain")
# ws_disconnect (it will disconnect from all actively connected servers)
breeze.ws_disconnect()
```
<br>
---
**NOTE**
Examples for stock_token are "4.1!38071" or "1.1!500780".
Template for stock_token : X.Y!<token>
X : exchange code
Y : Market Level data
Token : ISEC stock code
Value of X can be :
1 for BSE,
4 for NSE,
13 for NDX,
6 for MCX,
4 for NFO,
Value of Y can be :
1 for Level 1 data,
2 for Level 2 data
Token number can be obtained via get_names() function or downloading master security file via
https://api.icicidirect.com/breezeapi/documents/index.html#instruments
exchange_code must be 'BSE', 'NSE', 'NDX', 'MCX' or 'NFO'.
stock_code should not be an empty string. Examples for stock_code are "WIPRO" or "ZEEENT".
product_type can be either 'Futures', 'Options' or an empty string.
Product_type can not be an empty string for exchange_code 'NDX', 'MCX' and 'NFO'.
strike_date can be in DD-MMM-YYYY(Ex.: 01-Jan-2022) or an empty string.
strike_date can not be an empty string for exchange_code 'NDX', 'MCX' and 'NFO'.
strike_price can be float-value in string or an empty string.
strike_price can not be an empty string for product_type 'Options'.
right can be either 'Put', 'Call' or an empty string. right can not be an empty string for product_type 'Options'.
Either get_exchange_quotes must be True or get_market_depth must be True.
Both get_exchange_quotes and get_market_depth can be True, But both must not be False.
For Streaming OHLCV, interval must not be empty and must be equal to either of the following "1second","1minute", "5minute", "30minute"
---
<h4> List of other SDK Methods:</h4>
<h5 id="index_title" >Index</h5>
<div class="sticky" id="index">
<ul>
<li><a href="#customer_detail">get_customer_details</a></li>
<li><a href="#demat_holding">get_demat_holdings</a></li>
<li><a href="#get_funds">get_funds</a></li>
<li><a href="#set_funds">set_funds</a></li>
<li><a href="#historical_data1">get_historical_data</a></li>
<li><a href="#historical_data_v21">get_historical_data_v2</a></li>
<li><a href="#add_margin">add_margin</a></li>
<li><a href="#get_margin">get_margin</a></li>
<li><a href="#place_order">place_order</a></li>
<li><a href="#order_detail">order_detail</a></li>
<li><a href="#order_list">order_list</a></li>
<li><a href="#cancel_order">cancel_order</a></li>
<li><a href="#modify_order">modify_order</a></li>
<li><a href="#portfolio_holding">get_portfolio_holding</a></li>
<li><a href="#portfolio_position">get_portfolio_position</a></li>
<li><a href="#get_quotes">get_quotes</a></li>
<li><a href="#get_option_chain">get_option_chain_quotes</a></li>
<li><a href="#square_off1">square_off</a></li>
<li><a href="#modify_order">modify_order</a></li>
<li><a href="#trade_list">get_trade_list</a></li>
<li><a href="#trade_detail">get_trade_detail</a></li>
<li><a href="#get_names"> get_names </a></li>
<li><a href="#preview_order"> preview_order </a></li>
<li><a href="#limit_calculator"> limit_calculator </a></li>
<li><a href="#margin_calculator"> margin_calculator </a></li>
<li><a href="#gtt_three_leg_place_order"> gtt_three_leg_place_order </a></li>
<li><a href="#gtt_three_leg_modify_order"> gtt_three_leg_modify_order </a></li>
<li><a href="#gtt_three_leg_cancel_order"> gtt_three_leg_cancel_order </a></li>
<li><a href="#gtt_order_book"> gtt_order_book </a></li>
<li><a href="#gtt_single_leg_place_order"> gtt_single_leg_place_order </a></li>
<li><a href="#gtt_single_leg_modify_order"> gtt_single_leg_modify_order </a></li>
<li><a href="#gtt_single_leg_cancel_order"> gtt_single_leg_cancel_order </a></li>
<!--<li><a href="#limit_calculator"> limit calculator </a></li>-->
</ul>
</div>
<h4 id="customer_detail" > Get Customer details by api-session value.</h4>
```python
breeze.get_customer_details(api_session="your_api_session")
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="demat_holding"> Get Demat Holding details of your account.</h4>
```python
breeze.get_demat_holdings()
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="get_funds"> Get Funds details of your account.</h4>
```python
breeze.get_funds()
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="set_funds"> Set Funds of your account</h4>
```python
breeze.set_funds(transaction_type="debit",
amount="200",
segment="Equity")
```
```python
breeze.set_funds(transaction_type="debit",
amount="200",
segment="Commodity")
```
<p> Note: Set Funds of your account by transaction-type as "Credit" or "Debit" with amount in numeric string as rupees and segment-type as "Equity" or "FNO" or "Commodity".</p>
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="historical_data1">Get Historical Data for Futures</h4>
```python
breeze.get_historical_data(interval="1minute",
from_date= "2022-08-15T07:00:00.000Z",
to_date= "2022-08-17T07:00:00.000Z",
stock_code="ICIBAN",
exchange_code="NFO",
product_type="futures",
expiry_date="2022-08-25T07:00:00.000Z",
right="others",
strike_price="0")
```
<a href="#index">Back to Index</a>
<h4 id="historical_data2">Get Historical Data for Equity</h4>
```python
breeze.get_historical_data(interval="1minute",
from_date= "2022-08-15T07:00:00.000Z",
to_date= "2022-08-17T07:00:00.000Z",
stock_code="ITC",
exchange_code="NSE",
product_type="cash")
```
<a href="#index">Back to Index</a>
<h4 id="historical_data3">Get Historical Data for Options</h4>
```python
breeze.get_historical_data(interval="1minute",
from_date= "2022-08-15T07:00:00.000Z",
to_date= "2022-08-17T07:00:00.000Z",
stock_code="CNXBAN",
exchange_code="NFO",
product_type="options",
expiry_date="2022-09-29T07:00:00.000Z",
right="call",
strike_price="38000")
```
<p> Note : Get Historical Data for specific stock-code by mentioned interval either as "1minute", "5minute", "30minute" or as "1day"</p>
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="historical_data_v21">Get Historical Data (version 2) for Futures</h4>
```python
breeze.get_historical_data_v2(interval="1minute",
from_date= "2022-08-15T07:00:00.000Z",
to_date= "2022-08-17T07:00:00.000Z",
stock_code="ICIBAN",
exchange_code="NFO",
product_type="futures",
expiry_date="2022-08-25T07:00:00.000Z",
right="others",
strike_price="0")
```
<a href="#index">Back to Index</a>
<h4 id="historical_data_v22">Get Historical Data (version 2) for Equity</h4>
```python
breeze.get_historical_data_v2(interval="1minute",
from_date= "2022-08-15T07:00:00.000Z",
to_date= "2022-08-17T07:00:00.000Z",
stock_code="ITC",
exchange_code="NSE",
product_type="cash")
```
<a href="#index">Back to Index</a>
<h4 id="historical_data_v23">Get Historical Data (version 2) for Options</h4>
```python
breeze.get_historical_data_v2(interval="1minute",
from_date= "2022-08-15T07:00:00.000Z",
to_date= "2022-08-17T07:00:00.000Z",
stock_code="CNXBAN",
exchange_code="NFO",
product_type="options",
expiry_date="2022-09-29T07:00:00.000Z",
right="call",
strike_price="38000")
```
<p>
Note :
1) Get Historical Data (version 2) for specific stock-code by mentioning interval either as "1second","1minute", "5minute", "30minute" or as "1day".
2) Maximum candle intervals in one single request is 1000
</p>
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="add_margin">Add Margin to your account.</h4>
```python
breeze.add_margin(product_type="margin",
stock_code="ICIBAN",
exchange_code="BSE",
settlement_id="2021220",
add_amount="100",
margin_amount="3817.10",
open_quantity="10",
cover_quantity="0",
category_index_per_stock="",
expiry_date="",
right="",
contract_tag="",
strike_price="",
segment_code="")
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="get_margin">Get Margin of your account.</h4>
```python
breeze.get_margin(exchange_code="NSE")
```
<p> Note: Please change exchange_code=“NFO” to get F&O margin details </p>
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="place_order">Placing a Futures Order from your account.</h4>
```python
breeze.place_order(stock_code="ICIBAN",
exchange_code="NFO",
product="futures",
action="buy",
order_type="limit",
stoploss="0",
quantity="3200",
price="200",
validity="day",
validity_date="2022-08-22T06:00:00.000Z",
disclosed_quantity="0",
expiry_date="2022-08-25T06:00:00.000Z",
right="others",
strike_price="0",
user_remark="Test")
```
<h4 id="place_order2">Placing an Option Order from your account.</h4>
```python
breeze.place_order(stock_code="NIFTY",
exchange_code="NFO",
product="options",
action="buy",
order_type="market",
stoploss="",
quantity="50",
price="",
validity="day",
validity_date="2022-08-30T06:00:00.000Z",
disclosed_quantity="0",
expiry_date="2022-09-29T06:00:00.000Z",
right="call",
strike_price="16600")
```
=
<br>
<a href="#index">Back to Index</a>
<h4 id="place_order3">Place a cash order from your account.</h4>
```python
breeze.place_order(stock_code="ITC",
exchange_code="NSE",
product="cash",
action="buy",
order_type="limit",
stoploss="",
quantity="1",
price="305",
validity="day"
)
```
<br>
<a href="#index">Back to Index</a>
<h4 id="place_order4">Place an optionplus order</h4>
```python
breeze.place_order(stock_code="NIFTY",
exchange_code="NFO",
product="optionplus",
action="buy",
order_type="limit",
stoploss="15",
quantity="50",
price="11.25",
validity="day",
validity_date="2022-12-02T06:00:00.000Z",
disclosed_quantity="0",
expiry_date="2022-12-08T06:00:00.000Z",
right="call",
strike_price="19000",
order_type_fresh = "Limit",
order_rate_fresh = "20",
user_remark="Test")
```
<br>
<a href="#index">Back to Index</a>
<h4> Place btst order </h4>
```python
breeze.place_order(stock_code = "RELIND",
exchange_code= "NSE",
product = "btst",
action = "buy",
order_type = "limit",
quantity = "1",
price = "2450",
validity = "day",
stoploss = "",
order_type_fresh = "",
order_rate_fresh = "",
validity_date = "",
disclosed_quantity = "",
expiry_date = "",
right = "",
strike_price = "",
user_remark = "",
settlement_id = "2023008",
order_segment_code = "N")
```
<a href="#index">Back to Index</a>
<hr>
<h4 id="order_detail">Get an order details by exchange-code and order-id from your account.</h4>
```python
breeze.get_order_detail(exchange_code="NSE",
order_id="20220819N100000001")
```
<p> Note: Please change exchange_code=“NFO” to get details about F&O</p>
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="order_list">Get order list of your account.</h4>
```python
breeze.get_order_list(exchange_code="NSE",
from_date="2022-08-01T10:00:00.000Z",
to_date="2022-08-19T10:00:00.000Z")
```
<p> Note: Please change exchange_code=“NFO” to get details about F&O</p>
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="cancel_order">Cancel an order from your account whose status are not Executed.</h4>
```python
breeze.cancel_order(exchange_code="NSE",
order_id="20220819N100000001")
```
=
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="modify_order">Modify an order from your account whose status are not Executed.</h4>
```python
breeze.modify_order(order_id="202208191100000001",
exchange_code="NFO",
order_type="limit",
stoploss="0",
quantity="250",
price="290100",
validity="day",
disclosed_quantity="0",
validity_date="2022-08-22T06:00:00.000Z")
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="portfolio_holding">Get Portfolio Holdings of your account.</h4>
```python
breeze.get_portfolio_holdings(exchange_code="NFO",
from_date="2022-08-01T06:00:00.000Z",
to_date="2022-08-19T06:00:00.000Z",
stock_code="",
portfolio_type="")
```
<p> Note: Please change exchange_code=“NSE” to get Equity Portfolio Holdings</p>
<br>
<a hr ef="#index">Back to Index</a>
<hr>
<h4 id="portfolio_position">Get Portfolio Positions from your account.</h4>
```python
breeze.get_portfolio_positions()
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="get_quotes">Get quotes of mentioned stock-code </h4>
```python
breeze.get_quotes(stock_code="ICIBAN",
exchange_code="NFO",
expiry_date="2022-08-25T06:00:00.000Z",
product_type="futures",
right="others",
strike_price="0")
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="get_option_chain">Get option-chain of mentioned stock-code for product-type Futures where input of expiry-date is not compulsory</h4>
```python
breeze.get_option_chain_quotes(stock_code="ICIBAN",
exchange_code="NFO",
product_type="futures",
expiry_date="2022-08-25T06:00:00.000Z")
```
<br>
<a href="#index">Back to Index</a>
<h4 id="get_option_chain2">Get option-chain of mentioned stock-code for product-type Options where atleast 2 input is required out of expiry-date, right and strike-price</h4>
```python
breeze.get_option_chain_quotes(stock_code="ICIBAN",
exchange_code="NFO",
product_type="options",
expiry_date="2022-08-25T06:00:00.000Z",
right="call")
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="square_off1">Square off an Equity Margin Order</h4>
```python
breeze.square_off(exchange_code="NSE",
product="margin",
stock_code="NIFTY",
quantity="10",
price="0",
action="sell",
order_type="market",
validity="day",
stoploss="0",
disclosed_quantity="0",
protection_percentage="",
settlement_id="",
cover_quantity="",
open_quantity="",
margin_amount="")
```
<p> Note: Please refer get_portfolio_positions() for settlement id and margin_amount</p>
<br>
<a href="#index">Back to Index</a>
<h4 id="square_off2">Square off an FNO Futures Order</h4>
```python
breeze.square_off(exchange_code="NFO",
product="futures",
stock_code="ICIBAN",
expiry_date="2022-08-25T06:00:00.000Z",
action="sell",
order_type="market",
validity="day",
stoploss="0",
quantity="50",
price="0",
validity_date="2022-08-12T06:00:00.000Z",
trade_password="",
disclosed_quantity="0")
```
<br>
<a href="#index">Back to Index</a>
<h4 id="square_off3">Square off an FNO Options Order</h4>
```python
breeze.square_off(exchange_code="NFO",
product="options",
stock_code="ICIBAN",
expiry_date="2022-08-25T06:00:00.000Z",
right="Call",
strike_price="16850",
action="sell",
order_type="market",
validity="day",
stoploss="0",
quantity="50",
price="0",
validity_date="2022-08-12T06:00:00.000Z",
trade_password="",
disclosed_quantity="0")
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="trade_list">Get trade list of your account.</h4>
```python
breeze.get_trade_list(from_date="2022-08-01T06:00:00.000Z",
to_date="2022-08-19T06:00:00.000Z",
exchange_code="NSE",
product_type="",
action="",
stock_code="")
```
<p> Note: Please change exchange_code=“NFO” to get details about F&O</p>
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="trade_detail">Get trade detail of your account.</h4>
```python
breeze.get_trade_detail(exchange_code="NSE",
order_id="20220819N100000005")
```
<p> Note: Please change exchange_code=“NFO” to get details about F&O</p>
<br>
<a href="#index">Back to Index</a>
<hr>
<!--
<h4 id = "limit_calculator"> Get Limit Value. </h4>
```python
breeze.limit_calculator(strike_price = "19200",
product_type = "optionplus",
expiry_date = "06-JUL-2023",
underlying = "NIFTY",
exchange_code = "NFO",
order_flow = "Buy",
stop_loss_trigger = "200.00",
option_type = "Call",
source_flag = "P",
limit_rate = "",
order_reference = "",
available_quantity = "",
market_type = "limit",
fresh_order_limit = "177.70")
```
<br>
<a href="#index">Back to Index</a>
<hr>
-->
<h4 id = "get_names">Get Names </h4>
```python
breeze.get_names(exchange_code = 'NSE',stock_code = 'TATASTEEL')
breeze.get_names(exchange_code = 'NSE',stock_code = 'RELIANCE')
```
<p>Note: Use this method to find ICICI specific stock codes / token </p>
<a href="#index">Back to Index</a>
<hr>
<h4 id="preview_order">Preview Order.</h4>
```python
breeze.preview_order(
stock_code = "ICIBAN",
exchange_code = "NSE",
product = "margin",
order_type = "limit",
price = "907.05",
action = "buy",
quantity = "1",
specialflag = "N"
)
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="limit_calculator">Limit Calculator.</h4>
```python
breeze.limit_calculator(strike_price = "19200",
product_type = "optionplus",
expiry_date = "06-JUL-2023",
underlying = "NIFTY",
exchange_code = "NFO",
order_flow = "Buy",
stop_loss_trigger = "200.00",
option_type = "Call",
source_flag = "P",
limit_rate = "",
order_reference = "",
available_quantity = "",
market_type = "limit",
fresh_order_limit = "177.70")
```
<br>
<a href="#index">Back to Index</a>
<hr>
<h4 id="margin_calculator">Margin Calculator.</h4>
```python
breeze.margin_calculator([{
"strike_price": "0",
"quantity": "15",
"right": "others",
"product": "futures",
"action": "buy",
"price": "46230.85",
"expiry_date": "31-Aug-2023",
"stock_code": "CNXBAN",
"cover_order_flow": "N",
"fresh_order_type": "N",
"cover_limit_rate": "0",
"cover_sltp_price": "0",
"fresh_limit_rate": "0",
"open_quantity": "0"
},
{
"strike_price": "37000",
"quantity": "15",
"right": "Call",
"product": "options",
"action": "buy",
"price": "9100",
"expiry_date": "27-Jul-2023",
"stock_code": "CNXBAN",
"cover_order_flow": "N",
"fresh_order_type": "N",
"cover_limit_rate": "0",
"cover_sltp_price": "0",
"fresh_limit_rate": "0",
"open_quantity": "0"
},
{
"strike_price": "0",
"quantity": "50",
"right": "others",
"product": "futureplus",
"action": "buy",
"price": "19800",
"expiry_date": "27-Jul-2023",
"stock_code": "NIFTY",
"cover_order_flow": "N",
"fresh_order_type": "N",
"cover_limit_rate": "0",
"cover_sltp_price": "0",
"fresh_limit_rate": "0",
"open_quantity": "0"
},
{
"strike_price": "19600",
"quantity": "50",
"right": "call",
"product": "optionplus",
"action": "buy",
"price": "245.05",
"expiry_date": "27-Jul-2023",
"stock_code": "NIFTY",
"cover_order_flow": "sell",
"fresh_order_type": "limit",
"cover_limit_rate": "180.00",
"cover_sltp_price": "200.00",
"fresh_limit_rate": "245.05",
"open_quantity": "50"
}],exchange_code = "NFO")
```
<br>
<a href="#index">Back to Index</a>
<hr>
GTT(Good Till Trigger)
<h4 id="gtt_three_leg_place_order"> GTT Three Leg OCO(One Cancels Other) Place order </h4>
```python
breeze.gtt_three_leg_place_order(exchange_code ="NFO",
stock_code="NIFTY",
product="options",
quantity = "75",
expiry_date="2025-01-16T06:00:00.00Z",
right = "put",
strike_price = "23200",
gtt_type="cover_oco",
fresh_order_action="buy",
fresh_order_price="30",
fresh_order_type="limit",
index_or_stock="index",
trade_date="2025-01-12T06:00:00.00Z",
order_details=[
{
"gtt_leg_type" : "target",
"action" : "sell",
"limit_price" : "300",
"trigger_price" : "340"
},
{
"gtt_leg_type" : "stoploss",
"action" : "sell",
"limit_price" : "10",
"trigger_price" : "9"
},
])
```
<br>
<a href="#index">Back to Index</a>
<h4 id="gtt_three_leg_modify_order"> GTT Three Leg Modify order </h4>
```python
breeze.gtt_three_leg_modify_order(exchange_code = "NFO",
gtt_order_id = "2025011500003364",
gtt_type ="oco",
order_details = [
{
"gtt_leg_type" : "target",
"action" : "sell",
"limit_price" : "400",
"trigger_price" : "450"
},
{
"gtt_leg_type" : "stoploss",
"action" : "sell",
"limit_price" : "4",
"trigger_price" : "5"
}])
```
<br>
<a href="#index">Back to Index</a>
<h4 id="gtt_three_leg_cancel_order"> GTT Three Leg Cancel order </h4>
```python
breeze.gtt_three_leg_cancel_order(exchange_code = "NFO",
gtt_order_id = "2025011500002742")
```
<br>
<a href="#index">Back to Index</a>
<h4 id="gtt_single_leg_place_order"> GTT Single Leg Place order </h4>
```python
breeze.gtt_single_leg_place_order(exchange_code ="NFO",
stock_code="NIFTY",
product="options",
quantity = "75",
expiry_date="2025-01-16T06:00:00.00Z",
right = "call",
strike_price = "23000",
gtt_type="single",
index_or_stock="index",
trade_date="2024-12-31T06:00:00.00Z",
order_details=[
{
"action" : "buy",
"limit_price" : "50",
"trigger_price" : "45"
}])
```
<br>
<a href="#index">Back to Index</a>
<h4 id="gtt_single_leg_modify_order"> GTT Single Leg Modify order </h4>
```python
breeze.gtt_single_leg_modify_order(exchange_code="NFO",
gtt_order_id="2025011500003608",
gtt_type="single",
order_details=[
{
"action": "buy",
"limit_price": "75",
"trigger_price": "73"
}])
```
<br>
<a href="#index">Back to Index</a>
<h4 id="gtt_single_leg_cancel_order"> GTT Single Leg Cancel order </h4>
```python
breeze.gtt_single_leg_cancel_order(exchange_code = "NFO",
gtt_order_id = "2025011500003608")
```
<br>
<a href="#index">Back to Index</a>
<h4 id="gtt_order_book"> OCO and Single GTT order book </h4>
```python
breeze.gtt_order_book(exchange_code ="NFO",
from_date = "2025-01-15T06:00:00.00Z",
to_date = "2025-01-15T06:00:00.00Z")
```
<br>
<a href="#index">Back to Index</a>
Raw data
{
"_id": null,
"home_page": "https://github.com/Idirect-Tech/Breeze-Python-SDK/",
"name": "breeze-connect",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": null,
"author": "ICICI Direct Breeze",
"author_email": "breezeapi@icicisecurities.com",
"download_url": "https://files.pythonhosted.org/packages/b1/de/21ac6070a5bfc2742878f6388a4158f3caf7ea3a2329992e624e47bb07ae/breeze_connect-1.0.60.tar.gz",
"platform": null,
"description": "# Table Of Content\r\n\r\n<ul>\r\n <li><a href=\"#client\">Breeze API Python Client</a></li>\r\n <li><a href=\"#docslink\">API Documentation</a></li>\r\n <li><a href=\"#virtualenv\">Set Up Virtual Environment</a></li>\r\n <li><a href=\"#clientinstall\">Installing Client</a></li>\r\n <li><a href=\"#apiusage\">API Usage</a></li>\r\n <li><a href=\"#websocket\">Websocket Usage</a></li>\r\n <li><a href=\"#index_title\">List Of Other SDK methods</a></li>\r\n</ul>\r\n\r\n\r\n<h4 id=\"client\">Breeze API Python Client</h4>\r\n\r\nbreezeapi@icicisecurities.com\r\n\r\nThe official Python client library for the ICICI Securities trading APIs. BreezeConnect is a set of REST-like APIs that allows one to build a complete investment and trading platform. Following are some notable features of Breeze APIs:\r\n\r\n1. Execute orders in real time\r\n2. Manage Portfolio\r\n3. Access to 10 years of historical market data including 1 sec OHLCV\r\n4. Streaming live OHLC (websockets)\r\n5. Option Chain API\r\n\r\nTo install breeze strategies:<a href=\"https://pypi.org/project/breeze-strategies/\">click here</a>\r\n\r\n<h4 id=\"docslink\">API Documentation</h4>\r\n\r\n<div class=\"sticky\" >\r\n<ul>\r\n <li><a href=\"https://api.icicidirect.com/breezeapi/documents/index.html\">Breeze HTTP API Documentation</a></li>\r\n <li><a href=\"https://pypi.org/project/breeze-connect/\">Python client documentation</a></li>\r\n</ul>\r\n</div>\r\n\r\n<h4 id=\"virtualenv\">Setup virtual environment in your Machine</h4>\r\n\r\nYou must install the virtualenv package via pip\r\n```\r\npip install virtualenv\r\n```\r\n\r\nYou should create breeze virtual environment via virtualenv\r\n```\r\nvirtualenv -p python3 breeze_venv\r\n```\r\n\r\nAnd then, You can activate virtual environment via source\r\n```\r\nsource breeze_venv/bin/activate\r\n```\r\n\r\n<h4 id=\"clientinstall\">Installing the client</h4>\r\n\r\nYou can install the latest release via pip\r\n\r\n```\r\npip install --upgrade breeze-connect\r\n```\r\n\r\nOr, You can also install the specific release version via pip\r\n\r\n```\r\npip install breeze-connect==1.0.60\r\n```\r\n\r\n<h4 id=\"apiusage\"> API Usage</h4>\r\n\r\n```python\r\nfrom breeze_connect import BreezeConnect\r\n\r\n# Initialize SDK\r\nbreeze = BreezeConnect(api_key=\"your_api_key\")\r\n\r\n# Obtain your session key from https://api.icicidirect.com/apiuser/login?api_key=YOUR_API_KEY\r\n# Incase your api-key has special characters(like +,=,!) then encode the api key before using in the url as shown below.\r\nimport urllib\r\nprint(\"https://api.icicidirect.com/apiuser/login?api_key=\"+urllib.parse.quote_plus(\"your_api_key\"))\r\n\r\n# Generate Session\r\nbreeze.generate_session(api_secret=\"your_secret_key\",\r\n session_token=\"your_api_session\")\r\n\r\n# Generate ISO8601 Date/DateTime String\r\nimport datetime\r\niso_date_string = datetime.datetime.strptime(\"28/02/2021\",\"%d/%m/%Y\").isoformat()[:10] + 'T05:30:00.000Z'\r\niso_date_time_string = datetime.datetime.strptime(\"28/02/2021 23:59:59\",\"%d/%m/%Y %H:%M:%S\").isoformat()[:19] + '.000Z'\r\n```\r\n<br>\r\n\r\n<h4 id =\"websocket\"> Websocket Usage</h4>\r\n\r\n```python\r\nfrom breeze_connect import BreezeConnect\r\n\r\n# Initialize SDK\r\nbreeze = BreezeConnect(api_key=\"your_api_key\")\r\n\r\n# Obtain your session key from https://api.icicidirect.com/apiuser/login?api_key=YOUR_API_KEY\r\n# Incase your api-key has special characters(like +,=,!) then encode the api key before using in the url as shown below.\r\nimport urllib\r\nprint(\"https://api.icicidirect.com/apiuser/login?api_key=\"+urllib.parse.quote_plus(\"your_api_key\"))\r\n\r\n# Generate Session\r\nbreeze.generate_session(api_secret=\"your_secret_key\",\r\n session_token=\"your_api_session\")\r\n\r\n# Connect to websocket(it will connect to tick-by-tick data server)\r\nbreeze.ws_connect()\r\n\r\n# Callback to receive ticks.\r\ndef on_ticks(ticks):\r\n print(\"Ticks: {}\".format(ticks))\r\n\r\n# Assign the callbacks.\r\nbreeze.on_ticks = on_ticks\r\n\r\n# subscribe stocks feeds\r\nbreeze.subscribe_feeds(exchange_code=\"NFO\", stock_code=\"ZEEENT\", product_type=\"options\", expiry_date=\"31-Mar-2022\", strike_price=\"350\", right=\"Call\", get_exchange_quotes=True, get_market_depth=False)\r\n\r\n# subscribe stocks feeds by stock-token\r\nbreeze.subscribe_feeds(stock_token=\"1.1!500780\")\r\n\r\n# unsubscribe stocks feeds\r\nbreeze.unsubscribe_feeds(exchange_code=\"NFO\", stock_code=\"ZEEENT\", product_type=\"options\", expiry_date=\"31-Mar-2022\", strike_price=\"350\", right=\"Call\", get_exchange_quotes=True, get_market_depth=False)\r\n\r\n# unsubscribe stocks feeds by stock-token\r\nbreeze.unsubscribe_feeds(stock_token=\"1.1!500780\")\r\n\r\n# subscribe to Real Time Streaming OHLCV Data of stocks\r\nbreeze.subscribe_feeds(exchange_code=\"NFO\", stock_code=\"ZEEENT\", product_type=\"options\", expiry_date=\"31-Mar-2022\", strike_price=\"350\", right=\"Call\", interval=\"1minute\")\r\n\r\n# subscribe to Real Time Streaming OHLCV Data of stocks by stock-token\r\nbreeze.subscribe_feeds(stock_token=\"1.1!500780\",interval=\"1second\")\r\n\r\n# unsubscribe to Real Time Streaming OHLCV Data of stocks\r\nbreeze.unsubscribe_feeds(exchange_code=\"NFO\", stock_code=\"ZEEENT\", product_type=\"options\", expiry_date=\"31-Mar-2022\", strike_price=\"350\", right=\"Call\", interval=\"1minute\")\r\n\r\n# unsubscribe to Real Time Streaming OHLCV Data of stocks by stock-token\r\nbreeze.unsubscribe_feeds(stock_token=\"1.1!500780\",interval=\"1second\")\r\n\r\n# subscribe order notification feeds(it will connect to order streaming server)\r\nbreeze.subscribe_feeds(get_order_notification=True)\r\n\r\n# unsubscribe order notification feeds(also it will disconnect the order streaming server)\r\nbreeze.unsubscribe_feeds(get_order_notification=True)\r\n\r\n# subscribe oneclick strategy stream\r\nbreeze.subscribe_feeds(stock_token = \"one_click_fno\")\r\n\r\n# unsubscribe oneclick strategy stream\r\nbreeze.unsubscribe_feeds(stock_token = \"one_click_fno\")\r\n\r\n# subscribe oneclick equity strategy stream(i_click_2_gain)\r\nbreeze.subscribe_feeds(stock_token = \"i_click_2_gain\")\r\n\r\n# unsubscribe oneclick equity strategy stream(i_click_2_gain)\r\nbreeze.unsubscribe_feeds(stock_token = \"i_click_2_gain\")\r\n\r\n\r\n# ws_disconnect (it will disconnect from all actively connected servers)\r\nbreeze.ws_disconnect()\r\n\r\n```\r\n<br>\r\n\r\n---\r\n\r\n**NOTE**\r\n\r\nExamples for stock_token are \"4.1!38071\" or \"1.1!500780\".\r\n\r\nTemplate for stock_token : X.Y!<token>\r\nX : exchange code\r\nY : Market Level data\r\nToken : ISEC stock code\r\n\r\nValue of X can be :\r\n1 for BSE,\r\n4 for NSE,\r\n13 for NDX,\r\n6 for MCX,\r\n4 for NFO,\r\n\r\nValue of Y can be :\r\n1 for Level 1 data,\r\n2 for Level 2 data\r\n\r\nToken number can be obtained via get_names() function or downloading master security file via \r\nhttps://api.icicidirect.com/breezeapi/documents/index.html#instruments\r\n\r\n\r\nexchange_code must be 'BSE', 'NSE', 'NDX', 'MCX' or 'NFO'.\r\n\r\nstock_code should not be an empty string. Examples for stock_code are \"WIPRO\" or \"ZEEENT\".\r\n\r\nproduct_type can be either 'Futures', 'Options' or an empty string. \r\nProduct_type can not be an empty string for exchange_code 'NDX', 'MCX' and 'NFO'. \r\n\r\nstrike_date can be in DD-MMM-YYYY(Ex.: 01-Jan-2022) or an empty string. \r\nstrike_date can not be an empty string for exchange_code 'NDX', 'MCX' and 'NFO'.\r\n\r\nstrike_price can be float-value in string or an empty string. \r\nstrike_price can not be an empty string for product_type 'Options'.\r\n\r\nright can be either 'Put', 'Call' or an empty string. right can not be an empty string for product_type 'Options'.\r\n\r\nEither get_exchange_quotes must be True or get_market_depth must be True. \r\n\r\nBoth get_exchange_quotes and get_market_depth can be True, But both must not be False.\r\n\r\nFor Streaming OHLCV, interval must not be empty and must be equal to either of the following \"1second\",\"1minute\", \"5minute\", \"30minute\"\r\n\r\n---\r\n\r\n<h4> List of other SDK Methods:</h4>\r\n\r\n<h5 id=\"index_title\" >Index</h5>\r\n\r\n<div class=\"sticky\" id=\"index\">\r\n<ul>\r\n <li><a href=\"#customer_detail\">get_customer_details</a></li>\r\n <li><a href=\"#demat_holding\">get_demat_holdings</a></li>\r\n <li><a href=\"#get_funds\">get_funds</a></li>\r\n <li><a href=\"#set_funds\">set_funds</a></li>\r\n <li><a href=\"#historical_data1\">get_historical_data</a></li>\r\n <li><a href=\"#historical_data_v21\">get_historical_data_v2</a></li>\r\n <li><a href=\"#add_margin\">add_margin</a></li>\r\n <li><a href=\"#get_margin\">get_margin</a></li>\r\n <li><a href=\"#place_order\">place_order</a></li>\r\n <li><a href=\"#order_detail\">order_detail</a></li>\r\n <li><a href=\"#order_list\">order_list</a></li>\r\n <li><a href=\"#cancel_order\">cancel_order</a></li>\r\n <li><a href=\"#modify_order\">modify_order</a></li>\r\n <li><a href=\"#portfolio_holding\">get_portfolio_holding</a></li>\r\n <li><a href=\"#portfolio_position\">get_portfolio_position</a></li>\r\n <li><a href=\"#get_quotes\">get_quotes</a></li>\r\n <li><a href=\"#get_option_chain\">get_option_chain_quotes</a></li>\r\n <li><a href=\"#square_off1\">square_off</a></li>\r\n <li><a href=\"#modify_order\">modify_order</a></li>\r\n <li><a href=\"#trade_list\">get_trade_list</a></li>\r\n <li><a href=\"#trade_detail\">get_trade_detail</a></li>\r\n <li><a href=\"#get_names\"> get_names </a></li>\r\n <li><a href=\"#preview_order\"> preview_order </a></li>\r\n <li><a href=\"#limit_calculator\"> limit_calculator </a></li>\r\n <li><a href=\"#margin_calculator\"> margin_calculator </a></li>\r\n <li><a href=\"#gtt_three_leg_place_order\"> gtt_three_leg_place_order </a></li>\r\n <li><a href=\"#gtt_three_leg_modify_order\"> gtt_three_leg_modify_order </a></li>\r\n <li><a href=\"#gtt_three_leg_cancel_order\"> gtt_three_leg_cancel_order </a></li>\r\n <li><a href=\"#gtt_order_book\"> gtt_order_book </a></li>\r\n <li><a href=\"#gtt_single_leg_place_order\"> gtt_single_leg_place_order </a></li>\r\n <li><a href=\"#gtt_single_leg_modify_order\"> gtt_single_leg_modify_order </a></li>\r\n <li><a href=\"#gtt_single_leg_cancel_order\"> gtt_single_leg_cancel_order </a></li>\r\n\r\n <!--<li><a href=\"#limit_calculator\"> limit calculator </a></li>-->\r\n</ul>\r\n</div>\r\n\r\n\r\n<h4 id=\"customer_detail\" > Get Customer details by api-session value.</h4>\r\n\r\n\r\n```python\r\nbreeze.get_customer_details(api_session=\"your_api_session\") \r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n\r\n<h4 id=\"demat_holding\"> Get Demat Holding details of your account.</h4>\r\n\r\n```python\r\n\r\nbreeze.get_demat_holdings()\r\n\r\n```\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n\r\n<h4 id=\"get_funds\"> Get Funds details of your account.</h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.get_funds()\r\n\r\n```\r\n\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"set_funds\"> Set Funds of your account</h4>\r\n\r\n\r\n```python\r\nbreeze.set_funds(transaction_type=\"debit\", \r\n amount=\"200\",\r\n segment=\"Equity\")\r\n```\r\n```python\r\nbreeze.set_funds(transaction_type=\"debit\", \r\n amount=\"200\",\r\n segment=\"Commodity\")\r\n```\r\n\r\n<p> Note: Set Funds of your account by transaction-type as \"Credit\" or \"Debit\" with amount in numeric string as rupees and segment-type as \"Equity\" or \"FNO\" or \"Commodity\".</p>\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"historical_data1\">Get Historical Data for Futures</h4>\r\n\r\n\r\n```python\r\nbreeze.get_historical_data(interval=\"1minute\",\r\n from_date= \"2022-08-15T07:00:00.000Z\",\r\n to_date= \"2022-08-17T07:00:00.000Z\",\r\n stock_code=\"ICIBAN\",\r\n exchange_code=\"NFO\",\r\n product_type=\"futures\",\r\n expiry_date=\"2022-08-25T07:00:00.000Z\",\r\n right=\"others\",\r\n strike_price=\"0\")\r\n \r\n```\r\n\r\n\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"historical_data2\">Get Historical Data for Equity</h4>\r\n\r\n\r\n```python\r\nbreeze.get_historical_data(interval=\"1minute\",\r\n from_date= \"2022-08-15T07:00:00.000Z\",\r\n to_date= \"2022-08-17T07:00:00.000Z\",\r\n stock_code=\"ITC\",\r\n exchange_code=\"NSE\",\r\n product_type=\"cash\")\r\n```\r\n\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n\r\n<h4 id=\"historical_data3\">Get Historical Data for Options</h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.get_historical_data(interval=\"1minute\",\r\n from_date= \"2022-08-15T07:00:00.000Z\",\r\n to_date= \"2022-08-17T07:00:00.000Z\",\r\n stock_code=\"CNXBAN\",\r\n exchange_code=\"NFO\",\r\n product_type=\"options\",\r\n expiry_date=\"2022-09-29T07:00:00.000Z\",\r\n right=\"call\",\r\n strike_price=\"38000\")\r\n```\r\n\r\n\r\n\r\n<p> Note : Get Historical Data for specific stock-code by mentioned interval either as \"1minute\", \"5minute\", \"30minute\" or as \"1day\"</p>\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"historical_data_v21\">Get Historical Data (version 2) for Futures</h4>\r\n\r\n\r\n```python\r\nbreeze.get_historical_data_v2(interval=\"1minute\",\r\n from_date= \"2022-08-15T07:00:00.000Z\",\r\n to_date= \"2022-08-17T07:00:00.000Z\",\r\n stock_code=\"ICIBAN\",\r\n exchange_code=\"NFO\",\r\n product_type=\"futures\",\r\n expiry_date=\"2022-08-25T07:00:00.000Z\",\r\n right=\"others\",\r\n strike_price=\"0\")\r\n \r\n```\r\n\r\n\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"historical_data_v22\">Get Historical Data (version 2) for Equity</h4>\r\n\r\n\r\n```python\r\nbreeze.get_historical_data_v2(interval=\"1minute\",\r\n from_date= \"2022-08-15T07:00:00.000Z\",\r\n to_date= \"2022-08-17T07:00:00.000Z\",\r\n stock_code=\"ITC\",\r\n exchange_code=\"NSE\",\r\n product_type=\"cash\")\r\n```\r\n\r\n<a href=\"#index\">Back to Index</a>\r\n<h4 id=\"historical_data_v23\">Get Historical Data (version 2) for Options</h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.get_historical_data_v2(interval=\"1minute\",\r\n from_date= \"2022-08-15T07:00:00.000Z\",\r\n to_date= \"2022-08-17T07:00:00.000Z\",\r\n stock_code=\"CNXBAN\",\r\n exchange_code=\"NFO\",\r\n product_type=\"options\",\r\n expiry_date=\"2022-09-29T07:00:00.000Z\",\r\n right=\"call\",\r\n strike_price=\"38000\")\r\n```\r\n\r\n\r\n<p> \r\nNote : \r\n\r\n1) Get Historical Data (version 2) for specific stock-code by mentioning interval either as \"1second\",\"1minute\", \"5minute\", \"30minute\" or as \"1day\". \r\n\r\n2) Maximum candle intervals in one single request is 1000\r\n\r\n</p>\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n\r\n<h4 id=\"add_margin\">Add Margin to your account.</h4>\r\n\r\n\r\n```python\r\nbreeze.add_margin(product_type=\"margin\", \r\n stock_code=\"ICIBAN\", \r\n exchange_code=\"BSE\", \r\n settlement_id=\"2021220\", \r\n add_amount=\"100\", \r\n margin_amount=\"3817.10\", \r\n open_quantity=\"10\", \r\n cover_quantity=\"0\", \r\n category_index_per_stock=\"\", \r\n expiry_date=\"\", \r\n right=\"\", \r\n contract_tag=\"\", \r\n strike_price=\"\", \r\n segment_code=\"\")\r\n```\r\n\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"get_margin\">Get Margin of your account.</h4>\r\n\r\n\r\n```python\r\nbreeze.get_margin(exchange_code=\"NSE\")\r\n\r\n```\r\n\r\n\r\n<p> Note: Please change exchange_code=\u201cNFO\u201d to get F&O margin details </p>\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"place_order\">Placing a Futures Order from your account.</h4>\r\n\r\n\r\n```python\r\nbreeze.place_order(stock_code=\"ICIBAN\",\r\n exchange_code=\"NFO\",\r\n product=\"futures\",\r\n action=\"buy\",\r\n order_type=\"limit\",\r\n stoploss=\"0\",\r\n quantity=\"3200\",\r\n price=\"200\",\r\n validity=\"day\",\r\n validity_date=\"2022-08-22T06:00:00.000Z\",\r\n disclosed_quantity=\"0\",\r\n expiry_date=\"2022-08-25T06:00:00.000Z\",\r\n right=\"others\",\r\n strike_price=\"0\",\r\n user_remark=\"Test\")\r\n``` \r\n\r\n\r\n<h4 id=\"place_order2\">Placing an Option Order from your account.</h4>\r\n\r\n\r\n```python \r\nbreeze.place_order(stock_code=\"NIFTY\",\r\n exchange_code=\"NFO\",\r\n product=\"options\",\r\n action=\"buy\",\r\n order_type=\"market\",\r\n stoploss=\"\",\r\n quantity=\"50\",\r\n price=\"\",\r\n validity=\"day\",\r\n validity_date=\"2022-08-30T06:00:00.000Z\",\r\n disclosed_quantity=\"0\",\r\n expiry_date=\"2022-09-29T06:00:00.000Z\",\r\n right=\"call\",\r\n strike_price=\"16600\")\r\n```\r\n=\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"place_order3\">Place a cash order from your account.</h4>\r\n\r\n\r\n```python\r\nbreeze.place_order(stock_code=\"ITC\",\r\n exchange_code=\"NSE\",\r\n product=\"cash\",\r\n action=\"buy\",\r\n order_type=\"limit\",\r\n stoploss=\"\",\r\n quantity=\"1\",\r\n price=\"305\",\r\n validity=\"day\"\r\n )\r\n``` \r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"place_order4\">Place an optionplus order</h4>\r\n\r\n```python\r\n\r\nbreeze.place_order(stock_code=\"NIFTY\",\r\n exchange_code=\"NFO\",\r\n product=\"optionplus\",\r\n action=\"buy\",\r\n order_type=\"limit\",\r\n stoploss=\"15\",\r\n quantity=\"50\",\r\n price=\"11.25\",\r\n validity=\"day\",\r\n validity_date=\"2022-12-02T06:00:00.000Z\",\r\n disclosed_quantity=\"0\",\r\n expiry_date=\"2022-12-08T06:00:00.000Z\",\r\n right=\"call\",\r\n strike_price=\"19000\",\r\n order_type_fresh = \"Limit\",\r\n order_rate_fresh = \"20\",\r\n user_remark=\"Test\")\r\n``` \r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4> Place btst order </h4>\r\n\r\n```python\r\n\r\nbreeze.place_order(stock_code = \"RELIND\",\r\n exchange_code= \"NSE\",\r\n product = \"btst\",\r\n action = \"buy\",\r\n order_type = \"limit\",\r\n quantity = \"1\",\r\n price = \"2450\",\r\n validity = \"day\",\r\n stoploss = \"\",\r\n order_type_fresh = \"\",\r\n order_rate_fresh = \"\",\r\n validity_date = \"\",\r\n disclosed_quantity = \"\",\r\n expiry_date = \"\",\r\n right = \"\",\r\n strike_price = \"\",\r\n user_remark = \"\",\r\n settlement_id = \"2023008\",\r\n order_segment_code = \"N\")\r\n\r\n```\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<hr>\r\n\r\n<h4 id=\"order_detail\">Get an order details by exchange-code and order-id from your account.</h4>\r\n\r\n```python\r\nbreeze.get_order_detail(exchange_code=\"NSE\",\r\n order_id=\"20220819N100000001\")\r\n```\r\n\r\n\r\n<p> Note: Please change exchange_code=\u201cNFO\u201d to get details about F&O</p>\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"order_list\">Get order list of your account.</h4>\r\n\r\n\r\n```python\r\nbreeze.get_order_list(exchange_code=\"NSE\",\r\n from_date=\"2022-08-01T10:00:00.000Z\",\r\n to_date=\"2022-08-19T10:00:00.000Z\")\r\n```\r\n \r\n\r\n<p> Note: Please change exchange_code=\u201cNFO\u201d to get details about F&O</p>\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n\r\n<h4 id=\"cancel_order\">Cancel an order from your account whose status are not Executed.</h4> \r\n\r\n\r\n```python\r\nbreeze.cancel_order(exchange_code=\"NSE\",\r\n order_id=\"20220819N100000001\")\r\n``` \r\n= \r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"modify_order\">Modify an order from your account whose status are not Executed.</h4> \r\n\r\n\r\n```python\r\nbreeze.modify_order(order_id=\"202208191100000001\",\r\n exchange_code=\"NFO\",\r\n order_type=\"limit\",\r\n stoploss=\"0\",\r\n quantity=\"250\",\r\n price=\"290100\",\r\n validity=\"day\",\r\n disclosed_quantity=\"0\",\r\n validity_date=\"2022-08-22T06:00:00.000Z\")\r\n```\r\n\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"portfolio_holding\">Get Portfolio Holdings of your account.</h4>\r\n\r\n\r\n```python\r\nbreeze.get_portfolio_holdings(exchange_code=\"NFO\",\r\n from_date=\"2022-08-01T06:00:00.000Z\",\r\n to_date=\"2022-08-19T06:00:00.000Z\",\r\n stock_code=\"\",\r\n portfolio_type=\"\")\r\n```\r\n\r\n\r\n<p> Note: Please change exchange_code=\u201cNSE\u201d to get Equity Portfolio Holdings</p>\r\n<br>\r\n<a hr ef=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"portfolio_position\">Get Portfolio Positions from your account.</h4>\r\n\r\n\r\n```python\r\nbreeze.get_portfolio_positions()\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"get_quotes\">Get quotes of mentioned stock-code </h4>\r\n\r\n\r\n```python\r\nbreeze.get_quotes(stock_code=\"ICIBAN\",\r\n exchange_code=\"NFO\",\r\n expiry_date=\"2022-08-25T06:00:00.000Z\",\r\n product_type=\"futures\",\r\n right=\"others\",\r\n strike_price=\"0\")\r\n```\r\n\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"get_option_chain\">Get option-chain of mentioned stock-code for product-type Futures where input of expiry-date is not compulsory</h4>\r\n\r\n\r\n```python\r\nbreeze.get_option_chain_quotes(stock_code=\"ICIBAN\",\r\n exchange_code=\"NFO\",\r\n product_type=\"futures\",\r\n expiry_date=\"2022-08-25T06:00:00.000Z\")\r\n``` \r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"get_option_chain2\">Get option-chain of mentioned stock-code for product-type Options where atleast 2 input is required out of expiry-date, right and strike-price</h4>\r\n\r\n\r\n```python\r\nbreeze.get_option_chain_quotes(stock_code=\"ICIBAN\",\r\n exchange_code=\"NFO\",\r\n product_type=\"options\",\r\n expiry_date=\"2022-08-25T06:00:00.000Z\",\r\n right=\"call\")\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"square_off1\">Square off an Equity Margin Order</h4>\r\n\r\n```python\r\nbreeze.square_off(exchange_code=\"NSE\",\r\n product=\"margin\",\r\n stock_code=\"NIFTY\",\r\n quantity=\"10\",\r\n price=\"0\",\r\n action=\"sell\",\r\n order_type=\"market\",\r\n validity=\"day\",\r\n stoploss=\"0\",\r\n disclosed_quantity=\"0\",\r\n protection_percentage=\"\",\r\n settlement_id=\"\",\r\n cover_quantity=\"\",\r\n open_quantity=\"\",\r\n margin_amount=\"\")\r\n```\r\n\r\n<p> Note: Please refer get_portfolio_positions() for settlement id and margin_amount</p>\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"square_off2\">Square off an FNO Futures Order</h4>\r\n\r\n\r\n```python\r\nbreeze.square_off(exchange_code=\"NFO\",\r\n product=\"futures\",\r\n stock_code=\"ICIBAN\",\r\n expiry_date=\"2022-08-25T06:00:00.000Z\",\r\n action=\"sell\",\r\n order_type=\"market\",\r\n validity=\"day\",\r\n stoploss=\"0\",\r\n quantity=\"50\",\r\n price=\"0\",\r\n validity_date=\"2022-08-12T06:00:00.000Z\",\r\n trade_password=\"\",\r\n disclosed_quantity=\"0\")\r\n```\r\n\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"square_off3\">Square off an FNO Options Order</h4>\r\n\r\n\r\n```python\r\nbreeze.square_off(exchange_code=\"NFO\",\r\n product=\"options\",\r\n stock_code=\"ICIBAN\",\r\n expiry_date=\"2022-08-25T06:00:00.000Z\",\r\n right=\"Call\",\r\n strike_price=\"16850\",\r\n action=\"sell\",\r\n order_type=\"market\",\r\n validity=\"day\",\r\n stoploss=\"0\",\r\n quantity=\"50\",\r\n price=\"0\",\r\n validity_date=\"2022-08-12T06:00:00.000Z\",\r\n trade_password=\"\",\r\n disclosed_quantity=\"0\")\r\n``` \r\n \r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"trade_list\">Get trade list of your account.</h4>\r\n\r\n\r\n```python\r\nbreeze.get_trade_list(from_date=\"2022-08-01T06:00:00.000Z\",\r\n to_date=\"2022-08-19T06:00:00.000Z\",\r\n exchange_code=\"NSE\",\r\n product_type=\"\",\r\n action=\"\",\r\n stock_code=\"\")\r\n``` \r\n \r\n\r\n<p> Note: Please change exchange_code=\u201cNFO\u201d to get details about F&O</p>\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<h4 id=\"trade_detail\">Get trade detail of your account.</h4>\r\n\r\n\r\n```python\r\nbreeze.get_trade_detail(exchange_code=\"NSE\",\r\n order_id=\"20220819N100000005\")\r\n```\r\n\r\n\r\n<p> Note: Please change exchange_code=\u201cNFO\u201d to get details about F&O</p>\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n\r\n<!--\r\n<h4 id = \"limit_calculator\"> Get Limit Value. </h4>\r\n```python\r\nbreeze.limit_calculator(strike_price = \"19200\", \r\n product_type = \"optionplus\", \r\n expiry_date = \"06-JUL-2023\",\r\n underlying = \"NIFTY\",\r\n exchange_code = \"NFO\",\r\n order_flow = \"Buy\",\r\n stop_loss_trigger = \"200.00\",\r\n option_type = \"Call\",\r\n source_flag = \"P\",\r\n limit_rate = \"\",\r\n order_reference = \"\",\r\n available_quantity = \"\",\r\n market_type = \"limit\",\r\n fresh_order_limit = \"177.70\")\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n<hr>\r\n-->\r\n\r\n<h4 id = \"get_names\">Get Names </h4>\r\n\r\n\r\n```python\r\nbreeze.get_names(exchange_code = 'NSE',stock_code = 'TATASTEEL')\r\nbreeze.get_names(exchange_code = 'NSE',stock_code = 'RELIANCE')\r\n```\r\n<p>Note: Use this method to find ICICI specific stock codes / token </p>\r\n\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<hr>\r\n\r\n<h4 id=\"preview_order\">Preview Order.</h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.preview_order(\r\n stock_code = \"ICIBAN\",\r\n exchange_code = \"NSE\",\r\n product = \"margin\",\r\n order_type = \"limit\",\r\n price = \"907.05\",\r\n action = \"buy\",\r\n quantity = \"1\",\r\n specialflag = \"N\"\r\n)\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<hr>\r\n\r\n<h4 id=\"limit_calculator\">Limit Calculator.</h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.limit_calculator(strike_price = \"19200\", \r\n product_type = \"optionplus\", \r\n expiry_date = \"06-JUL-2023\",\r\n underlying = \"NIFTY\",\r\n exchange_code = \"NFO\",\r\n order_flow = \"Buy\",\r\n stop_loss_trigger = \"200.00\",\r\n option_type = \"Call\",\r\n source_flag = \"P\",\r\n limit_rate = \"\",\r\n order_reference = \"\",\r\n available_quantity = \"\",\r\n market_type = \"limit\",\r\n fresh_order_limit = \"177.70\")\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<hr>\r\n\r\n<h4 id=\"margin_calculator\">Margin Calculator.</h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.margin_calculator([{\r\n \"strike_price\": \"0\",\r\n \"quantity\": \"15\",\r\n \"right\": \"others\",\r\n \"product\": \"futures\",\r\n \"action\": \"buy\",\r\n \"price\": \"46230.85\",\r\n \"expiry_date\": \"31-Aug-2023\",\r\n \"stock_code\": \"CNXBAN\",\r\n \"cover_order_flow\": \"N\",\r\n \"fresh_order_type\": \"N\",\r\n \"cover_limit_rate\": \"0\",\r\n \"cover_sltp_price\": \"0\",\r\n \"fresh_limit_rate\": \"0\",\r\n \"open_quantity\": \"0\"\r\n },\r\n {\r\n \"strike_price\": \"37000\",\r\n \"quantity\": \"15\",\r\n \"right\": \"Call\",\r\n \"product\": \"options\",\r\n \"action\": \"buy\",\r\n \"price\": \"9100\",\r\n \"expiry_date\": \"27-Jul-2023\",\r\n \"stock_code\": \"CNXBAN\",\r\n \"cover_order_flow\": \"N\",\r\n \"fresh_order_type\": \"N\",\r\n \"cover_limit_rate\": \"0\",\r\n \"cover_sltp_price\": \"0\",\r\n \"fresh_limit_rate\": \"0\",\r\n \"open_quantity\": \"0\"\r\n },\r\n {\r\n \"strike_price\": \"0\",\r\n \"quantity\": \"50\",\r\n \"right\": \"others\",\r\n \"product\": \"futureplus\",\r\n \"action\": \"buy\",\r\n \"price\": \"19800\",\r\n \"expiry_date\": \"27-Jul-2023\",\r\n \"stock_code\": \"NIFTY\",\r\n \"cover_order_flow\": \"N\",\r\n \"fresh_order_type\": \"N\",\r\n \"cover_limit_rate\": \"0\",\r\n \"cover_sltp_price\": \"0\",\r\n \"fresh_limit_rate\": \"0\",\r\n \"open_quantity\": \"0\"\r\n },\r\n {\r\n \"strike_price\": \"19600\",\r\n \"quantity\": \"50\",\r\n \"right\": \"call\",\r\n \"product\": \"optionplus\",\r\n \"action\": \"buy\",\r\n \"price\": \"245.05\",\r\n \"expiry_date\": \"27-Jul-2023\",\r\n \"stock_code\": \"NIFTY\",\r\n \"cover_order_flow\": \"sell\",\r\n \"fresh_order_type\": \"limit\",\r\n \"cover_limit_rate\": \"180.00\",\r\n \"cover_sltp_price\": \"200.00\",\r\n \"fresh_limit_rate\": \"245.05\",\r\n \"open_quantity\": \"50\"\r\n }],exchange_code = \"NFO\")\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<hr>\r\n\r\nGTT(Good Till Trigger)\r\n\r\n<h4 id=\"gtt_three_leg_place_order\"> GTT Three Leg OCO(One Cancels Other) Place order </h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.gtt_three_leg_place_order(exchange_code =\"NFO\",\r\n stock_code=\"NIFTY\",\r\n product=\"options\",\r\n quantity = \"75\",\r\n expiry_date=\"2025-01-16T06:00:00.00Z\",\r\n right = \"put\",\r\n strike_price = \"23200\",\r\n gtt_type=\"cover_oco\",\r\n fresh_order_action=\"buy\",\r\n fresh_order_price=\"30\",\r\n fresh_order_type=\"limit\",\r\n index_or_stock=\"index\",\r\n trade_date=\"2025-01-12T06:00:00.00Z\",\r\n order_details=[\r\n {\r\n \"gtt_leg_type\" : \"target\",\r\n \"action\" : \"sell\",\r\n \"limit_price\" : \"300\",\r\n \"trigger_price\" : \"340\"\r\n },\r\n {\r\n \"gtt_leg_type\" : \"stoploss\",\r\n \"action\" : \"sell\",\r\n \"limit_price\" : \"10\",\r\n \"trigger_price\" : \"9\"\r\n },\r\n ])\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"gtt_three_leg_modify_order\"> GTT Three Leg Modify order </h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.gtt_three_leg_modify_order(exchange_code = \"NFO\",\r\n gtt_order_id = \"2025011500003364\",\r\n gtt_type =\"oco\",\r\n order_details = [\r\n {\r\n \"gtt_leg_type\" : \"target\",\r\n \"action\" : \"sell\",\r\n \"limit_price\" : \"400\",\r\n \"trigger_price\" : \"450\"\r\n },\r\n {\r\n \"gtt_leg_type\" : \"stoploss\",\r\n \"action\" : \"sell\",\r\n \"limit_price\" : \"4\",\r\n \"trigger_price\" : \"5\"\r\n }])\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"gtt_three_leg_cancel_order\"> GTT Three Leg Cancel order </h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.gtt_three_leg_cancel_order(exchange_code = \"NFO\",\r\n gtt_order_id = \"2025011500002742\")\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n<h4 id=\"gtt_single_leg_place_order\"> GTT Single Leg Place order </h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.gtt_single_leg_place_order(exchange_code =\"NFO\",\r\n stock_code=\"NIFTY\",\r\n product=\"options\",\r\n quantity = \"75\",\r\n expiry_date=\"2025-01-16T06:00:00.00Z\",\r\n right = \"call\",\r\n strike_price = \"23000\",\r\n gtt_type=\"single\",\r\n index_or_stock=\"index\",\r\n trade_date=\"2024-12-31T06:00:00.00Z\",\r\n order_details=[\r\n {\r\n \"action\" : \"buy\",\r\n \"limit_price\" : \"50\",\r\n \"trigger_price\" : \"45\"\r\n }])\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n\r\n<h4 id=\"gtt_single_leg_modify_order\"> GTT Single Leg Modify order </h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.gtt_single_leg_modify_order(exchange_code=\"NFO\",\r\n gtt_order_id=\"2025011500003608\",\r\n gtt_type=\"single\",\r\n order_details=[\r\n {\r\n \"action\": \"buy\",\r\n \"limit_price\": \"75\",\r\n \"trigger_price\": \"73\"\r\n }])\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n\r\n<h4 id=\"gtt_single_leg_cancel_order\"> GTT Single Leg Cancel order </h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.gtt_single_leg_cancel_order(exchange_code = \"NFO\",\r\n gtt_order_id = \"2025011500003608\")\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n\r\n<h4 id=\"gtt_order_book\"> OCO and Single GTT order book </h4>\r\n\r\n\r\n```python\r\n\r\nbreeze.gtt_order_book(exchange_code =\"NFO\",\r\n from_date = \"2025-01-15T06:00:00.00Z\",\r\n to_date = \"2025-01-15T06:00:00.00Z\")\r\n\r\n```\r\n\r\n<br>\r\n<a href=\"#index\">Back to Index</a>\r\n\r\n\r\n\r\n",
"bugtrack_url": null,
"license": null,
"summary": "ICICI Direct Breeze",
"version": "1.0.60",
"project_urls": {
"Homepage": "https://github.com/Idirect-Tech/Breeze-Python-SDK/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b1de21ac6070a5bfc2742878f6388a4158f3caf7ea3a2329992e624e47bb07ae",
"md5": "311ec0495fab985693ff178856ebdb87",
"sha256": "1e5446448f2aa85193ea16de9070071e74f054c5b5c556574db857add7c1a9bd"
},
"downloads": -1,
"filename": "breeze_connect-1.0.60.tar.gz",
"has_sig": false,
"md5_digest": "311ec0495fab985693ff178856ebdb87",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 37441,
"upload_time": "2025-01-16T16:33:17",
"upload_time_iso_8601": "2025-01-16T16:33:17.908828Z",
"url": "https://files.pythonhosted.org/packages/b1/de/21ac6070a5bfc2742878f6388a4158f3caf7ea3a2329992e624e47bb07ae/breeze_connect-1.0.60.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-16 16:33:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Idirect-Tech",
"github_project": "Breeze-Python-SDK",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "python-socketio",
"specs": [
[
">=",
"5.0.0"
]
]
},
{
"name": "requests",
"specs": [
[
">=",
"2.23.0"
]
]
},
{
"name": "pandas",
"specs": [
[
">=",
"1.0.0"
]
]
}
],
"lcname": "breeze-connect"
}