{"library":"pandas-market-calendars","title":"pandas-market-calendars","description":"pandas-market-calendars provides a comprehensive set of market and exchange trading calendars for use with pandas. It fills a critical gap by offering specific holiday, late open, and early close calendars for over 50 global equity and futures markets, which are not included in pandas by default. The library also includes functions to manipulate these calendars and generate pandas DatetimeIndex objects containing only market-open times. It is actively maintained with frequent updates, typically releasing new versions every few months.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install pandas-market-calendars"],"cli":null},"imports":["import pandas_market_calendars as mcal"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pandas_market_calendars as mcal\nimport pandas as pd\n\n# List all available calendars\nprint(\"Available calendars:\", mcal.get_calendar_names()[:5], \"...\")\n\n# Create a NYSE calendar instance\nnyse = mcal.get_calendar('NYSE')\n\n# Get the market schedule for a date range\nstart_date = '2023-12-20'\nend_date = '2024-01-10'\nschedule = nyse.schedule(start_date=start_date, end_date=end_date)\n\nprint(f\"\\nNYSE Schedule from {start_date} to {end_date}:\")\nprint(schedule.head())\n\n# Get a DatetimeIndex of valid trading times (e.g., daily frequency)\ntrading_days = mcal.date_range(schedule, frequency='1D')\nprint(f\"\\nFirst 5 trading days in the schedule (1D frequency):\")\nprint(trading_days.head())\n\n# Get specific market times for a date\nexample_date = pd.Timestamp('2023-12-22', tz='America/New_York')\nmarket_open_time = nyse.market_open_time(example_date)\nmarket_close_time = nyse.market_close_time(example_date)\nprint(f\"\\nMarket open on {example_date.date()}: {market_open_time.time()}\")\nprint(f\"Market close on {example_date.date()}: {market_close_time.time()}\")","lang":"python","description":"This quickstart demonstrates how to list available calendars, get a specific market calendar (NYSE), retrieve its trading schedule for a date range, and then use that schedule to generate a DatetimeIndex of trading days. It also shows how to query specific market open/close times for a given date. Dates and times are timezone-aware.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"5.2.4","pypi_latest":"5.3.2","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":8.2,"avg_import_s":1.95,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.5,"mem_mb":33.8,"disk_size":"168.2M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8,"import_time_s":1.17,"mem_mb":33.8,"disk_size":"161M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.63,"mem_mb":38.6,"disk_size":"184.3M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.7,"import_time_s":2.31,"mem_mb":38.6,"disk_size":"176M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.97,"mem_mb":37.7,"disk_size":"169.4M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.8,"import_time_s":2.13,"mem_mb":37.7,"disk_size":"161M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.84,"mem_mb":38.9,"disk_size":"168.3M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8,"import_time_s":2.01,"mem_mb":38.8,"disk_size":"160M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"175.8M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pandas-market-calendars","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":9.4,"import_time_s":null,"mem_mb":null,"disk_size":"171M"}]}}