<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AION ANALYTICS</title>
    <description>The latest articles on DEV Community by AION ANALYTICS (@aionanalytics).</description>
    <link>https://dev.to/aionanalytics</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3935717%2F6565b6f0-df13-4058-8a6f-5050132c44ed.png</url>
      <title>DEV Community: AION ANALYTICS</title>
      <link>https://dev.to/aionanalytics</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aionanalytics"/>
    <language>en</language>
    <item>
      <title>aion-indian-market-calendar: Python market calendar for NSE, BSE, MCX, and is-market-open checks in India.</title>
      <dc:creator>AION ANALYTICS</dc:creator>
      <pubDate>Sun, 17 May 2026 03:48:40 +0000</pubDate>
      <link>https://dev.to/aionanalytics/aion-indian-market-calendar-python-market-calendar-for-nse-bse-mcx-and-is-market-open-checks-in-5c2c</link>
      <guid>https://dev.to/aionanalytics/aion-indian-market-calendar-python-market-calendar-for-nse-bse-mcx-and-is-market-open-checks-in-5c2c</guid>
      <description>&lt;p&gt;If you build for Indian markets, market timing should not live as hardcoded &lt;code&gt;if/else&lt;/code&gt; logic inside bots, cron jobs, or trading scripts.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;aion-indian-market-calendar&lt;/code&gt; is a Python package for &lt;strong&gt;Indian market holidays&lt;/strong&gt;, &lt;strong&gt;NSE trading calendar checks&lt;/strong&gt;, &lt;strong&gt;BSE trading session checks&lt;/strong&gt;, &lt;strong&gt;MCX evening session handling&lt;/strong&gt;, and simple &lt;strong&gt;is market open today in India&lt;/strong&gt; validation for developers.&lt;/p&gt;

&lt;p&gt;## Install&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
  pip install aion-indian-market-calendar

  ## Import

  from aion_indian_market_calendar import IndiaMarketCalendar, is_market_open, next_trading_day

  ## What problem this solves

  A lot of trading systems start with a few hardcoded dates and standard market hours.

  That usually breaks for Indian markets because:

  - holidays change year to year
  - NSE, BSE, and MCX do not behave the same way
  - partial sessions matter
  - commodity sessions and evening sessions need separate handling
  - execution systems need a timing layer before they touch broker or order logic

  This package exists to make market session validation a reusable infrastructure layer instead of a fragile script-level shortcut.

  ## What developers get here

  This is not a generic exchange-calendar post.

  This package is specifically useful when you need:

  - NSE holidays in Python
  - BSE trading calendar checks
  - MCX trading hours and evening-session handling
  - Indian stock market calendar logic for bots and schedulers
  - is market open today India checks before execution
  - next trading day lookup for Indian markets

  For developers, the main difference is practical.

  aion-indian-market-calendar gives you a more direct India-focused execution surface:

  - simple is_market_open() helper
  - next_trading_day() helper
  - session-aware get_session() lookups
  - support for Indian market aliases like NFO and FNO
  - support for instrument-style inputs like NIFTY, BANKNIFTY, and SENSEX
  - bundled offline calendar data
  - optional live event refresh for schedule changes and deltas
  - explicit Asia/Kolkata handling for Indian-market workflows

  ## Example

  from aion_indian_market_calendar import is_market_open

  if is_market_open("NSE"):
      print("NSE is open")
  else:
      print("NSE is closed")

  And if you need more than a yes/no answer:

  from datetime import datetime
  from aion_indian_market_calendar import IndiaMarketCalendar

  cal = IndiaMarketCalendar.bundled(2026)
  probe = datetime.fromisoformat("2026-01-27T09:05:00+05:30")

  print(cal.is_market_open(probe, "NSE_EQUITY"))
  print(cal.get_session(probe, "NFO"))

  ## Why I built this

  I kept seeing the same issue in Indian-market tooling:

  developers were forced to mix strategy logic with exchange-timing logic.  Got tired of hardcoding dates based on published calendar by NSE/BSE/MCX.  

  That is a bad boundary.

  Your strategy should decide what to do.
  Your calendar layer should decide whether the market session is actually valid.

  That separation matters even more in algorithmic trading, quantitative finance, execution schedulers, and pre-trade validation systems.

  ## What this is not

  This package is not:

  - a broker API
  - an order-routing tool
  - a data feed
  - a strategy engine
  - a compliance substitute for exchange circulars

  It is a focused India financial market calendar layer for developers.

  ## Download

  - PyPI: pip install aion-indian-market-calendar
  - Package index: https://pypi.org/project/aion-indian-market-calendar/

  If you build for NSE, BSE, MCX, or India-specific trading infrastructure, this package is meant to remove one boring but expensive class of bugs: running execution logic when the session assumptions are wrong.

like one of the users quoted "This is the kind of infra tooling that quietly saves people from painful production bugs later. Timing logic around Indian markets gets messy fast once you mix NSE, BSE, MCX, holidays, and evening sessions.

Also very true about LLM-generated trading bots defaulting to generic market calendars. AI is great at scaffolding systems, but regional operational details like this are where specialized tooling still matters a lot."

Cheers,
Lokesh (AION ANALYTICS)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>python</category>
      <category>saas</category>
      <category>opensource</category>
      <category>algorithms</category>
    </item>
  </channel>
</rss>
