Skip to main content

A Python module for placing bracket orders with Zerodha's KiteConnect API, featuring authentication, dashboard, Google Sheets integration, and customizable logging.

Project description

Kite Bracket Orders

A Python module for placing bracket orders with Zerodha's KiteConnect API. It includes features like automated authentication, a dashboard for viewing margins/holdings/positions/orders, Google Sheets integration for trade plans, customizable logging, and market hour checks with AMO (After Market Order) support.

Features

  • Bracket Order Placement: Place entry orders with target and stop-loss, including monitoring and modification.
  • Authentication: Automatic login with dependency installation, config management, and session token handling.
  • Dashboard: View account margins, holdings, positions, and recent orders in a clean terminal format.
  • Google Sheets Integration: Load trade plans from a specified sheet for easy data-driven trading.
  • Logging Toggle: Enable/disable logging to file with a simple flag (no impact on terminal output when disabled).
  • Market Checks: Detects closed markets/weekends and prompts for AMO orders.

Dependencies

  • kiteconnect
  • gspread
  • oauth2client
  • colorama

These are automatically installed via pip.

Usage

  1. Setup Credentials:

    • Create credentials/config.json with your Kite API details.
    • Create credentials/credentials.json with your Google Service Account key.
  2. Run the Script (example in order.py):

     from kite_bracket_orders import BracketOrderPlacer, run_login, KiteDashboard
     # Define your order data here (edit as needed for easy order placement - used when choice "1" is selected)
     order_data = {
         "segment": "NSE",                  # "NSE" or "NFO"
         "product_type": "MIS",             # "MIS" or "CNC" or "NRML"
         "side": "SELL",                    # "BUY" or "SELL"
         "entry_order_type": "LIMIT",       # "LIMIT" or "MARKET"
         "sl_type": "SL-M",                 # choose: "SL" or "SL-M"
    
         "symbol": "IDEA",                  # e.g. "IDEA", "RELIANCE", or "NIFTY24JUL20000CE"
         "quantity": 1,                     # Must match lot size for options; 1+ for stocks
         "entry_price": 7.60,               # Only used if LIMIT order
         "target_price": 7.80,
         "stop_loss_trigger": 7.50,
         "stop_loss_limit": 0               # only used if SL (not SL-M)
     }
     if __name__ == "__main__":
         
         enable_logging = True  # Toggle logging
    
         run_login() # Handle authentication
    
         # Show dashboard
         dash = KiteDashboard()
         dash.show_all()
    
         # Proceed to bracket order
         placer = BracketOrderPlacer(code_data=order_data, enable_logging=enable_logging)  
         placer.load_kite_login_name_show()
         placer.place_bracket_order()
    
  3. Run: python order.py

Configuration

  • config.json: Stores Kite API_KEY and ACCESS_TOKEN.
  • credentials.json: Google Sheets auth.
  • Logging: Set enable_logging=False to disable log files.

License

MIT License. See LICENSE for details.

Contributing

Fork the repo and submit a pull request. Issues and feature requests are welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kite_order-0.1.1.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kite_order-0.1.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file kite_order-0.1.1.tar.gz.

File metadata

  • Download URL: kite_order-0.1.1.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for kite_order-0.1.1.tar.gz
Algorithm Hash digest
SHA256 55aa95a85a1c93d507b0487ac4cd3f3785e7a67a39f01d15d72c5f01f4cdb3bb
MD5 3ce0e126c6476d2ea535a840cc5b1dd5
BLAKE2b-256 c2b5e0db8586fb2e957d40e801713b2886cf877e033741c3a794ecc8dc56f406

See more details on using hashes here.

File details

Details for the file kite_order-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: kite_order-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for kite_order-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bd3b79fd2d7ced6fe928d03f1e1c6f0679dca4188c2c612b0a6612ab539eeff6
MD5 4e2aab0a8d3e93d238689de5439524a0
BLAKE2b-256 3d82bd342b06a9c606c13b17c906bfc99f8754d7ae90376698f2c1e4d5c2094e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page