Pandas Market Calendars is a Python library for generating trading schedules and market calendars for global financial exchanges. It provides a framework of base and concrete calendar classes (NYSE, LSE, JPX, CME Globex, SIFMA, etc.) that define regular market hours, holidays, special opens/closes, and interruptions. The library exposes a high-level API including `get_calendar()`, `schedule()`, `valid_days()`, `open_at_time()`, `date_range()`, `merge_schedules()`, and `mark_session()`, all built on pandas DatetimeIndex and CustomBusinessDay. It also mirrors calendars from the `exchange_calendars` package for additional venues. The architecture is a class hierarchy with a metaclass-based registry for automatic calendar discovery. Core modules include `market_calendar.py` (base class with schedule generation logic), `calendar_utils.py` (generic date range and merge utilities), `class_registry.py` (metaclass registration and ProtectedDict), and `sources.py` (provenance metadata). Holiday definitions are stored in `holidays/` as pandas HolidayCalendar subclasses with hardcoded rules for US, UK, Japan, China, and others. The library is extensively tested with pytest, covering historical accuracy against official exchange documents. The codebase is actively maintained with recent updates for CME 2026 early closes, TASE trading week changes, and pandas 3.0 compatibility. However, it carries technical debt from its zipline fork origin, including incomplete type annotations (289 missing return types), some hardcoded ad-hoc holiday lists requiring manual updates, and a dependency on the `exchange_calendars` package that may drift. The library is well-suited for quantitative finance applications needing accurate trading day and hour calculations.