pandas-market-calendars 5.1.1__py3-none-any.whl → 5.1.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. pandas_market_calendars/calendar_registry.py +2 -1
  2. pandas_market_calendars/calendar_utils.py +4 -4
  3. pandas_market_calendars/calendars/asx.py +24 -1
  4. pandas_market_calendars/calendars/bmf.py +3 -4
  5. pandas_market_calendars/calendars/bse.py +2 -1
  6. pandas_market_calendars/calendars/cboe.py +4 -7
  7. pandas_market_calendars/calendars/cme.py +6 -1
  8. pandas_market_calendars/calendars/cme_globex_base.py +2 -1
  9. pandas_market_calendars/calendars/cme_globex_crypto.py +2 -1
  10. pandas_market_calendars/calendars/cme_globex_energy_and_metals.py +2 -1
  11. pandas_market_calendars/calendars/cme_globex_equities.py +2 -1
  12. pandas_market_calendars/calendars/eurex.py +2 -1
  13. pandas_market_calendars/calendars/eurex_fixed_income.py +2 -1
  14. pandas_market_calendars/calendars/hkex.py +3 -4
  15. pandas_market_calendars/calendars/ice.py +2 -1
  16. pandas_market_calendars/calendars/iex.py +2 -1
  17. pandas_market_calendars/calendars/jpx.py +2 -1
  18. pandas_market_calendars/calendars/lse.py +2 -1
  19. pandas_market_calendars/calendars/nyse.py +6 -16
  20. pandas_market_calendars/calendars/ose.py +3 -4
  21. pandas_market_calendars/calendars/sifma.py +4 -3
  22. pandas_market_calendars/calendars/six.py +2 -1
  23. pandas_market_calendars/calendars/sse.py +11 -28
  24. pandas_market_calendars/calendars/tase.py +2 -1
  25. pandas_market_calendars/calendars/tsx.py +2 -1
  26. pandas_market_calendars/holidays/oz.py +19 -0
  27. pandas_market_calendars/holidays/uk.py +186 -186
  28. pandas_market_calendars/market_calendar.py +1 -3
  29. {pandas_market_calendars-5.1.1.dist-info → pandas_market_calendars-5.1.3.dist-info}/METADATA +3 -4
  30. pandas_market_calendars-5.1.3.dist-info/RECORD +50 -0
  31. pandas_market_calendars-5.1.1.dist-info/RECORD +0 -50
  32. {pandas_market_calendars-5.1.1.dist-info → pandas_market_calendars-5.1.3.dist-info}/WHEEL +0 -0
  33. {pandas_market_calendars-5.1.1.dist-info → pandas_market_calendars-5.1.3.dist-info}/licenses/LICENSE +0 -0
  34. {pandas_market_calendars-5.1.1.dist-info → pandas_market_calendars-5.1.3.dist-info}/licenses/NOTICE +0 -0
  35. {pandas_market_calendars-5.1.1.dist-info → pandas_market_calendars-5.1.3.dist-info}/top_level.txt +0 -0
@@ -1,3 +1,4 @@
1
+ # fmt: off
1
2
  from .market_calendar import MarketCalendar
2
3
  from .calendars.asx import ASXExchangeCalendar
3
4
  from .calendars.bmf import BMFExchangeCalendar
@@ -36,7 +37,7 @@ from .calendars.sse import SSEExchangeCalendar
36
37
  from .calendars.tase import TASEExchangeCalendar
37
38
  from .calendars.tsx import TSXExchangeCalendar
38
39
  from .calendars.mirror import *
39
-
40
+ # fmt: on
40
41
 
41
42
  def get_calendar(name, open_time=None, close_time=None) -> MarketCalendar:
42
43
  """
@@ -161,11 +161,11 @@ def merge_schedules(schedules, how="outer"):
161
161
  for schedule in schedules[1:]:
162
162
  result = result.merge(schedule, how=how, right_index=True, left_index=True)
163
163
  if how == "outer":
164
- result["market_open"] = result.apply(lambda x: min(x.market_open_x, x.market_open_y), axis=1)
165
- result["market_close"] = result.apply(lambda x: max(x.market_close_x, x.market_close_y), axis=1)
164
+ result["market_open"] = result[["market_open_x", "market_open_y"]].min(axis=1)
165
+ result["market_close"] = result[["market_close_x", "market_close_y"]].max(axis=1)
166
166
  elif how == "inner":
167
- result["market_open"] = result.apply(lambda x: max(x.market_open_x, x.market_open_y), axis=1)
168
- result["market_close"] = result.apply(lambda x: min(x.market_close_x, x.market_close_y), axis=1)
167
+ result["market_open"] = result[["market_open_x", "market_open_y"]].max(axis=1)
168
+ result["market_close"] = result[["market_close_x", "market_close_y"]].min(axis=1)
169
169
  else:
170
170
  raise ValueError('how argument must be "inner" or "outer"')
171
171
  result = result[["market_open", "market_close"]]
@@ -1,7 +1,8 @@
1
1
  from datetime import time
2
2
 
3
3
  from pandas.tseries.holiday import AbstractHolidayCalendar, GoodFriday, EasterMonday
4
- import sys
4
+ import sys
5
+
5
6
  # check python versiOn aNd import accordingly
6
7
  if sys.version_info >= (3, 9):
7
8
  # For Python 3.9 and later, import directly
@@ -21,6 +22,7 @@ class ASXExchangeCalendar(MarketCalendar):
21
22
  Open Time: 10:00 AM, Australia/Sydney
22
23
  Close Time: 4:10 PM, Australia/Sydney
23
24
 
25
+ https://www.asx.com.au/markets/market-resources/trading-hours-calendar/cash-market-trading-hours/trading-calendar
24
26
 
25
27
  Regularly-Observed Holidays:
26
28
  - New Year's Day (observed on Monday when Jan 1 is a Saturday or Sunday)
@@ -75,3 +77,24 @@ class ASXExchangeCalendar(MarketCalendar):
75
77
  @property
76
78
  def adhoc_holidays(self):
77
79
  return UniqueCloses
80
+
81
+ @property
82
+ def special_closes(self):
83
+ return [
84
+ (
85
+ time(hour=14, minute=10, tzinfo=self.tz),
86
+ AbstractHolidayCalendar(
87
+ rules=[
88
+ ChristmasEve,
89
+ ]
90
+ ),
91
+ ),
92
+ (
93
+ time(hour=14, minute=10, tzinfo=self.tz),
94
+ AbstractHolidayCalendar(
95
+ rules=[
96
+ NewYearsEve,
97
+ ]
98
+ ),
99
+ ),
100
+ ]
@@ -23,7 +23,8 @@ from pandas.tseries.holiday import (
23
23
  GoodFriday,
24
24
  Holiday,
25
25
  )
26
- import sys
26
+ import sys
27
+
27
28
  # check python versiOn aNd import accordingly
28
29
  if sys.version_info >= (3, 9):
29
30
  # For Python 3.9 and later, import directly
@@ -41,9 +42,7 @@ ConfUniversal = Holiday(
41
42
  day=1,
42
43
  )
43
44
  # Sao Paulo city birthday
44
- AniversarioSaoPaulo = Holiday(
45
- "Aniversario de Sao Paulo", month=1, day=25, end_date="2021-12-31"
46
- )
45
+ AniversarioSaoPaulo = Holiday("Aniversario de Sao Paulo", month=1, day=25, end_date="2021-12-31")
47
46
  # Carnival Monday
48
47
  CarnavalSegunda = Holiday("Carnaval Segunda", month=1, day=1, offset=[Easter(), Day(-48)])
49
48
  # Carnival Tuesday
@@ -5,7 +5,8 @@ Bombay Stock Exchnage
5
5
  from datetime import time
6
6
 
7
7
  from pandas import Timestamp
8
- import sys
8
+ import sys
9
+
9
10
  # check python versiOn aNd import accordingly
10
11
  if sys.version_info >= (3, 9):
11
12
  # For Python 3.9 and later, import directly
@@ -10,7 +10,8 @@ from pandas.tseries.holiday import (
10
10
  USThanksgivingDay,
11
11
  Holiday,
12
12
  )
13
- import sys
13
+ import sys
14
+
14
15
  # check python versiOn aNd import accordingly
15
16
  if sys.version_info >= (3, 9):
16
17
  # For Python 3.9 and later, import directly
@@ -44,12 +45,8 @@ def good_friday_unless_christmas_nye_friday(dt):
44
45
  raise NotImplementedError()
45
46
 
46
47
  year = dt.year
47
- christmas_weekday = Christmas.observance(
48
- pd.Timestamp(year=year, month=12, day=25)
49
- ).weekday()
50
- nyd_weekday = USNewYearsDay.observance(
51
- pd.Timestamp(year=year, month=1, day=1)
52
- ).weekday()
48
+ christmas_weekday = Christmas.observance(pd.Timestamp(year=year, month=12, day=25)).weekday()
49
+ nyd_weekday = USNewYearsDay.observance(pd.Timestamp(year=year, month=1, day=1)).weekday()
53
50
  if christmas_weekday != 4 and nyd_weekday != 4:
54
51
  return GoodFriday.dates(
55
52
  pd.Timestamp(year=year, month=1, day=1),
@@ -24,7 +24,8 @@ from pandas.tseries.holiday import (
24
24
  USPresidentsDay,
25
25
  USThanksgivingDay,
26
26
  )
27
- import sys
27
+ import sys
28
+
28
29
  # check python versiOn aNd import accordingly
29
30
  if sys.version_info >= (3, 9):
30
31
  # For Python 3.9 and later, import directly
@@ -46,6 +47,9 @@ from pandas_market_calendars.holidays.us import (
46
47
  USNewYearsDay,
47
48
  )
48
49
  from pandas_market_calendars.market_calendar import MarketCalendar
50
+ from pandas_market_calendars.holidays.cme import (
51
+ USIndependenceDayBefore2022PreviousDay,
52
+ )
49
53
 
50
54
 
51
55
  # Useful resources for making changes to this file: http://www.cmegroup.com/tools-information/holiday-calendar.html
@@ -108,6 +112,7 @@ class CMEEquityExchangeCalendar(MarketCalendar):
108
112
  USLaborDay,
109
113
  USJuneteenthAfter2022,
110
114
  USIndependenceDay,
115
+ USIndependenceDayBefore2022PreviousDay,
111
116
  USThanksgivingDay,
112
117
  USBlackFridayInOrAfter1993,
113
118
  ChristmasEveBefore1993,
@@ -22,7 +22,8 @@ from pandas.tseries.holiday import (
22
22
  USPresidentsDay,
23
23
  USThanksgivingDay,
24
24
  )
25
- import sys
25
+ import sys
26
+
26
27
  # check python versiOn aNd import accordingly
27
28
  if sys.version_info >= (3, 9):
28
29
  # For Python 3.9 and later, import directly
@@ -1,6 +1,7 @@
1
1
  import datetime as dt
2
2
 
3
- import sys
3
+ import sys
4
+
4
5
  # check python versiOn aNd import accordingly
5
6
  if sys.version_info >= (3, 9):
6
7
  # For Python 3.9 and later, import directly
@@ -18,7 +18,8 @@ from datetime import time
18
18
  from pandas.tseries.holiday import (
19
19
  AbstractHolidayCalendar,
20
20
  ) # , GoodFriday, USLaborDay, USPresidentsDay, USThanksgivingDay
21
- import sys
21
+ import sys
22
+
22
23
  # check python versiOn aNd import accordingly
23
24
  if sys.version_info >= (3, 9):
24
25
  # For Python 3.9 and later, import directly
@@ -1,7 +1,8 @@
1
1
  from datetime import time
2
2
 
3
3
  from pandas.tseries.holiday import AbstractHolidayCalendar
4
- import sys
4
+ import sys
5
+
5
6
  # check python versiOn aNd import accordingly
6
7
  if sys.version_info >= (3, 9):
7
8
  # For Python 3.9 and later, import directly
@@ -11,7 +11,8 @@ from pandas.tseries.holiday import (
11
11
  Holiday,
12
12
  previous_friday,
13
13
  )
14
- import sys
14
+ import sys
15
+
15
16
  # check python versiOn aNd import accordingly
16
17
  if sys.version_info >= (3, 9):
17
18
  # For Python 3.9 and later, import directly
@@ -6,7 +6,8 @@ from pandas.tseries.holiday import (
6
6
  GoodFriday,
7
7
  Holiday,
8
8
  )
9
- import sys
9
+ import sys
10
+
10
11
  # check python versiOn aNd import accordingly
11
12
  if sys.version_info >= (3, 9):
12
13
  # For Python 3.9 and later, import directly
@@ -10,7 +10,8 @@ from pandas.tseries.holiday import (
10
10
  sunday_to_monday,
11
11
  )
12
12
  from pandas.tseries.offsets import LastWeekOfMonth, WeekOfMonth
13
- import sys
13
+ import sys
14
+
14
15
  # check python versiOn aNd import accordingly
15
16
  if sys.version_info >= (3, 9):
16
17
  # For Python 3.9 and later, import directly
@@ -185,9 +186,7 @@ MidAutumnFestivalDayBefore1983 = Holiday(
185
186
  name="Mid-autumn Festival", # 中秋节翌日
186
187
  month=9,
187
188
  day=7,
188
- observance=partial(
189
- process_date, mapping=maf_mapping, delta=1, func=sunday_to_monday
190
- ),
189
+ observance=partial(process_date, mapping=maf_mapping, delta=1, func=sunday_to_monday),
191
190
  start_date=Timestamp("1961-01-01"),
192
191
  end_date=Timestamp("1983-01-01"),
193
192
  )
@@ -9,7 +9,8 @@ from pandas.tseries.holiday import (
9
9
  USPresidentsDay,
10
10
  USThanksgivingDay,
11
11
  )
12
- import sys
12
+ import sys
13
+
13
14
  # check python versiOn aNd import accordingly
14
15
  if sys.version_info >= (3, 9):
15
16
  # For Python 3.9 and later, import directly
@@ -3,7 +3,8 @@ from itertools import chain
3
3
 
4
4
  from pandas import Timestamp, DatetimeIndex, Timedelta
5
5
  from pandas.tseries.holiday import AbstractHolidayCalendar
6
- import sys
6
+ import sys
7
+
7
8
  # check python versiOn aNd import accordingly
8
9
  if sys.version_info >= (3, 9):
9
10
  # For Python 3.9 and later, import directly
@@ -2,7 +2,8 @@ from datetime import time
2
2
  from itertools import chain
3
3
 
4
4
  from pandas.tseries.holiday import AbstractHolidayCalendar
5
- import sys
5
+ import sys
6
+
6
7
  # check python versiOn aNd import accordingly
7
8
  if sys.version_info >= (3, 9):
8
9
  # For Python 3.9 and later, import directly
@@ -16,7 +16,8 @@
16
16
  from datetime import time
17
17
 
18
18
  from pandas.tseries.holiday import AbstractHolidayCalendar, EasterMonday, GoodFriday
19
- import sys
19
+ import sys
20
+
20
21
  # check python versiOn aNd import accordingly
21
22
  if sys.version_info >= (3, 9):
22
23
  # For Python 3.9 and later, import directly
@@ -16,7 +16,8 @@
16
16
  from datetime import time
17
17
  from itertools import chain
18
18
  from typing import Literal, Union
19
- import sys
19
+ import sys
20
+
20
21
  # check python versiOn aNd import accordingly
21
22
  if sys.version_info >= (3, 9):
22
23
  # For Python 3.9 and later, import directly
@@ -1135,19 +1136,12 @@ class NYSEExchangeCalendar(MarketCalendar):
1135
1136
  (
1136
1137
  time(13, tzinfo=ZoneInfo("America/New_York")),
1137
1138
  # DaysBeforeIndependenceDay1pmEarlyCloseAdhoc # list
1138
- ChristmasEve1pmEarlyCloseAdhoc
1139
- + DayAfterChristmas1pmEarlyCloseAdhoc
1140
- + BacklogRelief1pmEarlyClose1929,
1139
+ ChristmasEve1pmEarlyCloseAdhoc + DayAfterChristmas1pmEarlyCloseAdhoc + BacklogRelief1pmEarlyClose1929,
1141
1140
  ),
1142
1141
  (
1143
1142
  time(14, tzinfo=ZoneInfo("America/New_York")),
1144
1143
  _union_many(
1145
- [
1146
- pd.DatetimeIndex(
1147
- ChristmasEve2pmEarlyCloseAdhoc
1148
- + HeavyVolume2pmEarlyClose1933
1149
- )
1150
- ]
1144
+ [pd.DatetimeIndex(ChristmasEve2pmEarlyCloseAdhoc + HeavyVolume2pmEarlyClose1933)]
1151
1145
  + [
1152
1146
  BacklogRelief2pmEarlyClose1928,
1153
1147
  TransitStrike2pmEarlyClose1966, # index
@@ -1160,15 +1154,11 @@ class NYSEExchangeCalendar(MarketCalendar):
1160
1154
  ),
1161
1155
  (
1162
1156
  time(14, 30, tzinfo=ZoneInfo("America/New_York")),
1163
- _union_many(
1164
- [PaperworkCrisis230pmEarlyCloses1969, Backlog230pmEarlyCloses1987]
1165
- ), # index
1157
+ _union_many([PaperworkCrisis230pmEarlyCloses1969, Backlog230pmEarlyCloses1987]), # index
1166
1158
  ),
1167
1159
  (
1168
1160
  time(15, tzinfo=ZoneInfo("America/New_York")),
1169
- _union_many(
1170
- [PaperworkCrisis3pmEarlyCloses1969to1970, Backlog3pmEarlyCloses1987]
1171
- ), # index
1161
+ _union_many([PaperworkCrisis3pmEarlyCloses1969to1970, Backlog3pmEarlyCloses1987]), # index
1172
1162
  ),
1173
1163
  (
1174
1164
  time(15, 30, tzinfo=ZoneInfo("America/New_York")),
@@ -7,7 +7,8 @@ from pandas.tseries.holiday import (
7
7
  Holiday,
8
8
  )
9
9
  from pandas.tseries.offsets import Day, Easter
10
- import sys
10
+ import sys
11
+
11
12
  # check python versiOn aNd import accordingly
12
13
  if sys.version_info >= (3, 9):
13
14
  # For Python 3.9 and later, import directly
@@ -20,9 +21,7 @@ from pandas_market_calendars.market_calendar import MarketCalendar
20
21
 
21
22
  OSENewYearsDay = Holiday("New Year's Day", month=1, day=1)
22
23
 
23
- OSEWednesdayBeforeEaster = Holiday(
24
- "Wednesday before Easter", month=1, day=1, offset=[Easter(), Day(-4)]
25
- )
24
+ OSEWednesdayBeforeEaster = Holiday("Wednesday before Easter", month=1, day=1, offset=[Easter(), Day(-4)])
26
25
 
27
26
  OSEMaundyThursday = Holiday("Maundy Thursday", month=1, day=1, offset=[Easter(), Day(-3)])
28
27
 
@@ -3,7 +3,8 @@ import functools
3
3
 
4
4
  import pandas as pd
5
5
  from pandas.tseries.holiday import AbstractHolidayCalendar
6
- import sys
6
+ import sys
7
+
7
8
  # check python versiOn aNd import accordingly
8
9
  if sys.version_info >= (3, 9):
9
10
  # For Python 3.9 and later, import directly
@@ -203,11 +204,11 @@ class SIFMAUSExchangeCalendar(MarketCalendar):
203
204
  _, gf_12pm_early_closes, thurs_before_gf_2pm_early_closes = self._get_dynamic_gf_rules()
204
205
  return [
205
206
  (
206
- time(12), # SIFMA rule specifies 12:00 PM ET
207
+ time(12), # SIFMA rule specifies 12:00 PM ET
207
208
  gf_12pm_early_closes,
208
209
  ),
209
210
  (
210
- time(14), # SIFMA rule specifies 2:00 PM ET
211
+ time(14), # SIFMA rule specifies 2:00 PM ET
211
212
  thurs_before_gf_2pm_early_closes,
212
213
  ),
213
214
  ]
@@ -9,7 +9,8 @@ from pandas.tseries.holiday import (
9
9
  Holiday,
10
10
  previous_friday,
11
11
  )
12
- import sys
12
+ import sys
13
+
13
14
  # check python versiOn aNd import accordingly
14
15
  if sys.version_info >= (3, 9):
15
16
  # For Python 3.9 and later, import directly
@@ -2,7 +2,8 @@ from datetime import time, timedelta
2
2
  from functools import partial
3
3
 
4
4
  from pandas.tseries.holiday import AbstractHolidayCalendar, Holiday, next_monday
5
- import sys
5
+ import sys
6
+
6
7
  # check python versiOn aNd import accordingly
7
8
  if sys.version_info >= (3, 9):
8
9
  # For Python 3.9 and later, import directly
@@ -152,81 +153,63 @@ class SSEExchangeCalendar(MarketCalendar):
152
153
  name="Tomb-sweeping Day",
153
154
  month=4,
154
155
  day=4,
155
- observance=partial(
156
- lunisolar, mapping=tsd_mapping, func=next_monday
157
- ),
156
+ observance=partial(lunisolar, mapping=tsd_mapping, func=next_monday),
158
157
  start_date=Timestamp(start_year, 4, 4),
159
158
  ),
160
159
  Holiday(
161
160
  name="Tomb-sweeping Day",
162
161
  month=4,
163
162
  day=5,
164
- observance=partial(
165
- lunisolar, mapping=tsd_mapping, func=second_day_in_lieu, delta=1
166
- ),
163
+ observance=partial(lunisolar, mapping=tsd_mapping, func=second_day_in_lieu, delta=1),
167
164
  start_date=Timestamp(start_year, 4, 4),
168
165
  ),
169
166
  Holiday(
170
167
  name="Tomb-sweeping Day",
171
168
  month=4,
172
169
  day=6,
173
- observance=partial(
174
- lunisolar, mapping=tsd_mapping, func=third_day_in_lieu, delta=2
175
- ),
170
+ observance=partial(lunisolar, mapping=tsd_mapping, func=third_day_in_lieu, delta=2),
176
171
  start_date=Timestamp(start_year, 4, 4),
177
172
  ),
178
173
  Holiday(
179
174
  name="Dragon Boat Festival",
180
175
  month=5,
181
176
  day=27,
182
- observance=partial(
183
- lunisolar, mapping=dbf_mapping, func=next_monday
184
- ),
177
+ observance=partial(lunisolar, mapping=dbf_mapping, func=next_monday),
185
178
  start_date=Timestamp(start_year, 5, 27),
186
179
  ),
187
180
  Holiday(
188
181
  name="Dragon Boat Festival",
189
182
  month=5,
190
183
  day=28,
191
- observance=partial(
192
- lunisolar, mapping=dbf_mapping, func=second_day_in_lieu, delta=1
193
- ),
184
+ observance=partial(lunisolar, mapping=dbf_mapping, func=second_day_in_lieu, delta=1),
194
185
  start_date=Timestamp(start_year, 5, 27),
195
186
  ),
196
187
  Holiday(
197
188
  name="Dragon Boat Festival",
198
189
  month=5,
199
190
  day=29,
200
- observance=partial(
201
- lunisolar, mapping=dbf_mapping, func=third_day_in_lieu, delta=2
202
- ),
191
+ observance=partial(lunisolar, mapping=dbf_mapping, func=third_day_in_lieu, delta=2),
203
192
  start_date=Timestamp(start_year, 5, 27),
204
193
  ),
205
194
  Holiday(
206
195
  name="Mid-autumn Festival",
207
196
  month=9,
208
197
  day=7,
209
- observance=partial(
210
- lunisolar, mapping=maf_mapping, func=next_monday
211
- ),
198
+ observance=partial(lunisolar, mapping=maf_mapping, func=next_monday),
212
199
  start_date=Timestamp(start_year, 9, 7),
213
200
  ),
214
201
  Holiday(
215
202
  name="Mid-autumn Festival",
216
203
  month=9,
217
204
  day=8,
218
- observance=partial(
219
- lunisolar, mapping=maf_mapping, func=second_day_in_lieu, delta=1
220
- ),
205
+ observance=partial(lunisolar, mapping=maf_mapping, func=second_day_in_lieu, delta=1),
221
206
  start_date=Timestamp(start_year, 9, 7),
222
207
  ),
223
208
  Holiday(
224
209
  name="Mid-autumn Festival",
225
210
  month=9,
226
211
  day=9,
227
- observance=partial(
228
- lunisolar, mapping=maf_mapping, func=third_day_in_lieu, delta=2
229
- ),
212
+ observance=partial(lunisolar, mapping=maf_mapping, func=third_day_in_lieu, delta=2),
230
213
  start_date=Timestamp(start_year, 9, 7),
231
214
  ),
232
215
  Holiday(
@@ -2,7 +2,8 @@ from datetime import time
2
2
 
3
3
  from typing import Literal, Union
4
4
  from pandas import Timestamp, Timedelta, DatetimeIndex
5
- import sys
5
+ import sys
6
+
6
7
  # check python versiOn aNd import accordingly
7
8
  if sys.version_info >= (3, 9):
8
9
  # For Python 3.9 and later, import directly
@@ -10,7 +10,8 @@ from pandas.tseries.holiday import (
10
10
  MO,
11
11
  weekend_to_monday,
12
12
  )
13
- import sys
13
+ import sys
14
+
14
15
  # check python versiOn aNd import accordingly
15
16
  if sys.version_info >= (3, 9):
16
17
  # For Python 3.9 and later, import directly
@@ -6,6 +6,7 @@ from pandas.tseries.holiday import (
6
6
  MO,
7
7
  next_monday_or_tuesday,
8
8
  weekend_to_monday,
9
+ previous_friday,
9
10
  )
10
11
 
11
12
  # New Year's Day
@@ -61,3 +62,21 @@ UniqueCloses = []
61
62
 
62
63
  # National Day of Mourning for Her Majesty the Queen
63
64
  UniqueCloses.append(Timestamp("2022-09-22", tz="UTC"))
65
+
66
+
67
+ # Early closes
68
+ # Christmas Eve
69
+ ChristmasEve = Holiday(
70
+ "Christmas Eve",
71
+ month=12,
72
+ day=24,
73
+ observance=previous_friday,
74
+ )
75
+
76
+ # New Year's Eve
77
+ NewYearsEve = Holiday(
78
+ "New Year's Eve",
79
+ month=12,
80
+ day=31,
81
+ observance=previous_friday,
82
+ )
@@ -1,186 +1,186 @@
1
- # UK Holidays
2
-
3
- import pandas as pd
4
- from pandas import DateOffset, Timestamp
5
- from pandas.tseries.holiday import Holiday, MO, previous_friday, weekend_to_monday
6
-
7
- from pandas_market_calendars.market_calendar import MONDAY, TUESDAY
8
-
9
- # New Year's Eve
10
- LSENewYearsEve = Holiday(
11
- "New Year's Eve",
12
- month=12,
13
- day=31,
14
- observance=previous_friday,
15
- )
16
-
17
- # New Year's Day
18
- LSENewYearsDay = Holiday(
19
- "New Year's Day",
20
- month=1,
21
- day=1,
22
- observance=weekend_to_monday,
23
- )
24
-
25
- # Early May bank holiday has two exceptions based on the 50th and 75th anniversary of VE-Day
26
- # 1995-05-01 Early May bank holiday removed for VE-day 50th anniversary
27
- # 2020-05-04 Early May bank holiday removed for VE-day 75th anniversary
28
-
29
- # Early May bank holiday pre-1995
30
- MayBank_pre_1995 = Holiday(
31
- "Early May Bank Holiday",
32
- month=5,
33
- offset=DateOffset(weekday=MO(1)),
34
- day=1,
35
- end_date=Timestamp("1994-12-31"),
36
- )
37
-
38
- # Early May bank holiday post-1995 and pre-2020
39
- MayBank_post_1995_pre_2020 = Holiday(
40
- "Early May Bank Holiday",
41
- month=5,
42
- offset=DateOffset(weekday=MO(1)),
43
- day=1,
44
- start_date=Timestamp("1996-01-01"),
45
- end_date=Timestamp("2019-12-31"),
46
- )
47
-
48
- # Early May bank holiday post 2020
49
- MayBank_post_2020 = Holiday(
50
- "Early May Bank Holiday",
51
- month=5,
52
- offset=DateOffset(weekday=MO(1)),
53
- day=1,
54
- start_date=Timestamp("2021-01-01"),
55
- )
56
-
57
- # Spring bank holiday has two exceptions based on the Golden & Diamond Jubilee
58
- # 2002-05-27 Spring bank holiday removed for Golden Jubilee
59
- # 2012-05-28 Spring bank holiday removed for Diamond Jubilee
60
- # 2022-05-31 Spring bank holiday removed for Platinum Jubilee
61
-
62
- # Spring bank holiday
63
- SpringBank_pre_2002 = Holiday(
64
- "Spring Bank Holiday",
65
- month=5,
66
- day=31,
67
- offset=DateOffset(weekday=MO(-1)),
68
- end_date=Timestamp("2001-12-31"),
69
- )
70
-
71
- SpringBank_post_2002_pre_2012 = Holiday(
72
- "Spring Bank Holiday",
73
- month=5,
74
- day=31,
75
- offset=DateOffset(weekday=MO(-1)),
76
- start_date=Timestamp("2003-01-01"),
77
- end_date=Timestamp("2011-12-31"),
78
- )
79
-
80
- SpringBank_post_2012_pre_2022 = Holiday(
81
- "Spring Bank Holiday",
82
- month=5,
83
- day=31,
84
- offset=DateOffset(weekday=MO(-1)),
85
- start_date=Timestamp("2013-01-01"),
86
- end_date=Timestamp("2021-12-31"),
87
- )
88
-
89
- SpringBank_post_2022 = Holiday(
90
- "Spring Bank Holiday",
91
- month=5,
92
- day=31,
93
- offset=DateOffset(weekday=MO(-1)),
94
- start_date=Timestamp("2022-01-01"),
95
- )
96
-
97
- # Summer bank holiday
98
- SummerBank = Holiday(
99
- "Summer Bank Holiday",
100
- month=8,
101
- day=31,
102
- offset=DateOffset(weekday=MO(-1)),
103
- )
104
-
105
- # Christmas Eve
106
- ChristmasEve = Holiday(
107
- "Christmas Eve",
108
- month=12,
109
- day=24,
110
- observance=previous_friday,
111
- )
112
-
113
- # Christmas
114
- Christmas = Holiday(
115
- "Christmas",
116
- month=12,
117
- day=25,
118
- )
119
-
120
- # If christmas day is Saturday Monday 27th is a holiday
121
- # If christmas day is sunday the Tuesday 27th is a holiday
122
- WeekendChristmas = Holiday(
123
- "Weekend Christmas",
124
- month=12,
125
- day=27,
126
- days_of_week=(MONDAY, TUESDAY),
127
- )
128
-
129
- # Boxing day
130
- BoxingDay = Holiday(
131
- "Boxing Day",
132
- month=12,
133
- day=26,
134
- )
135
-
136
- # If boxing day is saturday then Monday 28th is a holiday
137
- # If boxing day is sunday then Tuesday 28th is a holiday
138
- WeekendBoxingDay = Holiday(
139
- "Weekend Boxing Day",
140
- month=12,
141
- day=28,
142
- days_of_week=(MONDAY, TUESDAY),
143
- )
144
-
145
- # One-off holiday additions and removals in England
146
-
147
- UniqueCloses = []
148
- # VE-Day Anniversary
149
- UniqueCloses.append(pd.Timestamp("1995-05-08", tz="UTC")) # 50th Anniversary
150
- UniqueCloses.append(pd.Timestamp("2020-05-08", tz="UTC")) # 75th Anniversary
151
-
152
- # Queen Elizabeth II Jubilees
153
- # Silver Jubilee
154
- UniqueCloses.append(pd.Timestamp("1977-06-07", tz="UTC"))
155
-
156
- # Golden Jubilee
157
- UniqueCloses.append(pd.Timestamp("2002-06-03", tz="UTC"))
158
- UniqueCloses.append(pd.Timestamp("2002-06-04", tz="UTC"))
159
-
160
- # Diamond Jubilee
161
- UniqueCloses.append(pd.Timestamp("2012-06-04", tz="UTC"))
162
- UniqueCloses.append(pd.Timestamp("2012-06-05", tz="UTC"))
163
-
164
- # Platinum Jubilee
165
- UniqueCloses.append(pd.Timestamp("2022-06-02", tz="UTC"))
166
- UniqueCloses.append(pd.Timestamp("2022-06-03", tz="UTC"))
167
-
168
- # State Funeral of Queen Elizabeth II
169
- UniqueCloses.append(pd.Timestamp("2022-09-19", tz="UTC"))
170
-
171
- # Royal Weddings
172
- UniqueCloses.append(
173
- pd.Timestamp("1973-11-14", tz="UTC")
174
- ) # Wedding Day of Princess Anne and Mark Phillips
175
- UniqueCloses.append(
176
- pd.Timestamp("1981-07-29", tz="UTC")
177
- ) # Wedding Day of Prince Charles and Diana Spencer
178
- UniqueCloses.append(
179
- pd.Timestamp("2011-04-29", tz="UTC")
180
- ) # Wedding Day of Prince William and Catherine Middleton
181
-
182
- # Coronation of King Charles III
183
- UniqueCloses.append(pd.Timestamp("2023-05-08", tz="UTC"))
184
-
185
- # Miscellaneous
186
- UniqueCloses.append(pd.Timestamp("1999-12-31", tz="UTC")) # Eve of 3rd Millenium A.D.
1
+ # UK Holidays
2
+
3
+ import pandas as pd
4
+ from pandas import DateOffset, Timestamp
5
+ from pandas.tseries.holiday import Holiday, MO, previous_friday, weekend_to_monday
6
+
7
+ from pandas_market_calendars.market_calendar import MONDAY, TUESDAY
8
+
9
+ # New Year's Eve
10
+ LSENewYearsEve = Holiday(
11
+ "New Year's Eve",
12
+ month=12,
13
+ day=31,
14
+ observance=previous_friday,
15
+ )
16
+
17
+ # New Year's Day
18
+ LSENewYearsDay = Holiday(
19
+ "New Year's Day",
20
+ month=1,
21
+ day=1,
22
+ observance=weekend_to_monday,
23
+ )
24
+
25
+ # Early May bank holiday has two exceptions based on the 50th and 75th anniversary of VE-Day
26
+ # 1995-05-01 Early May bank holiday removed for VE-day 50th anniversary
27
+ # 2020-05-04 Early May bank holiday removed for VE-day 75th anniversary
28
+
29
+ # Early May bank holiday pre-1995
30
+ MayBank_pre_1995 = Holiday(
31
+ "Early May Bank Holiday",
32
+ month=5,
33
+ offset=DateOffset(weekday=MO(1)),
34
+ day=1,
35
+ end_date=Timestamp("1994-12-31"),
36
+ )
37
+
38
+ # Early May bank holiday post-1995 and pre-2020
39
+ MayBank_post_1995_pre_2020 = Holiday(
40
+ "Early May Bank Holiday",
41
+ month=5,
42
+ offset=DateOffset(weekday=MO(1)),
43
+ day=1,
44
+ start_date=Timestamp("1996-01-01"),
45
+ end_date=Timestamp("2019-12-31"),
46
+ )
47
+
48
+ # Early May bank holiday post 2020
49
+ MayBank_post_2020 = Holiday(
50
+ "Early May Bank Holiday",
51
+ month=5,
52
+ offset=DateOffset(weekday=MO(1)),
53
+ day=1,
54
+ start_date=Timestamp("2021-01-01"),
55
+ )
56
+
57
+ # Spring bank holiday has two exceptions based on the Golden & Diamond Jubilee
58
+ # 2002-05-27 Spring bank holiday removed for Golden Jubilee
59
+ # 2012-05-28 Spring bank holiday removed for Diamond Jubilee
60
+ # 2022-05-31 Spring bank holiday removed for Platinum Jubilee
61
+
62
+ # Spring bank holiday
63
+ SpringBank_pre_2002 = Holiday(
64
+ "Spring Bank Holiday",
65
+ month=5,
66
+ day=31,
67
+ offset=DateOffset(weekday=MO(-1)),
68
+ end_date=Timestamp("2001-12-31"),
69
+ )
70
+
71
+ SpringBank_post_2002_pre_2012 = Holiday(
72
+ "Spring Bank Holiday",
73
+ month=5,
74
+ day=31,
75
+ offset=DateOffset(weekday=MO(-1)),
76
+ start_date=Timestamp("2003-01-01"),
77
+ end_date=Timestamp("2011-12-31"),
78
+ )
79
+
80
+ SpringBank_post_2012_pre_2022 = Holiday(
81
+ "Spring Bank Holiday",
82
+ month=5,
83
+ day=31,
84
+ offset=DateOffset(weekday=MO(-1)),
85
+ start_date=Timestamp("2013-01-01"),
86
+ end_date=Timestamp("2021-12-31"),
87
+ )
88
+
89
+ SpringBank_post_2022 = Holiday(
90
+ "Spring Bank Holiday",
91
+ month=5,
92
+ day=31,
93
+ offset=DateOffset(weekday=MO(-1)),
94
+ start_date=Timestamp("2022-01-01"),
95
+ )
96
+
97
+ # Summer bank holiday
98
+ SummerBank = Holiday(
99
+ "Summer Bank Holiday",
100
+ month=8,
101
+ day=31,
102
+ offset=DateOffset(weekday=MO(-1)),
103
+ )
104
+
105
+ # Christmas Eve
106
+ ChristmasEve = Holiday(
107
+ "Christmas Eve",
108
+ month=12,
109
+ day=24,
110
+ observance=previous_friday,
111
+ )
112
+
113
+ # Christmas
114
+ Christmas = Holiday(
115
+ "Christmas",
116
+ month=12,
117
+ day=25,
118
+ )
119
+
120
+ # If christmas day is Saturday Monday 27th is a holiday
121
+ # If christmas day is sunday the Tuesday 27th is a holiday
122
+ WeekendChristmas = Holiday(
123
+ "Weekend Christmas",
124
+ month=12,
125
+ day=27,
126
+ days_of_week=(MONDAY, TUESDAY),
127
+ )
128
+
129
+ # Boxing day
130
+ BoxingDay = Holiday(
131
+ "Boxing Day",
132
+ month=12,
133
+ day=26,
134
+ )
135
+
136
+ # If boxing day is saturday then Monday 28th is a holiday
137
+ # If boxing day is sunday then Tuesday 28th is a holiday
138
+ WeekendBoxingDay = Holiday(
139
+ "Weekend Boxing Day",
140
+ month=12,
141
+ day=28,
142
+ days_of_week=(MONDAY, TUESDAY),
143
+ )
144
+
145
+ # One-off holiday additions and removals in England
146
+
147
+ UniqueCloses = []
148
+ # VE-Day Anniversary
149
+ UniqueCloses.append(pd.Timestamp("1995-05-08", tz="UTC")) # 50th Anniversary
150
+ UniqueCloses.append(pd.Timestamp("2020-05-08", tz="UTC")) # 75th Anniversary
151
+
152
+ # Queen Elizabeth II Jubilees
153
+ # Silver Jubilee
154
+ UniqueCloses.append(pd.Timestamp("1977-06-07", tz="UTC"))
155
+
156
+ # Golden Jubilee
157
+ UniqueCloses.append(pd.Timestamp("2002-06-03", tz="UTC"))
158
+ UniqueCloses.append(pd.Timestamp("2002-06-04", tz="UTC"))
159
+
160
+ # Diamond Jubilee
161
+ UniqueCloses.append(pd.Timestamp("2012-06-04", tz="UTC"))
162
+ UniqueCloses.append(pd.Timestamp("2012-06-05", tz="UTC"))
163
+
164
+ # Platinum Jubilee
165
+ UniqueCloses.append(pd.Timestamp("2022-06-02", tz="UTC"))
166
+ UniqueCloses.append(pd.Timestamp("2022-06-03", tz="UTC"))
167
+
168
+ # State Funeral of Queen Elizabeth II
169
+ UniqueCloses.append(pd.Timestamp("2022-09-19", tz="UTC"))
170
+
171
+ # Royal Weddings
172
+ UniqueCloses.append(
173
+ pd.Timestamp("1973-11-14", tz="UTC")
174
+ ) # Wedding Day of Princess Anne and Mark Phillips
175
+ UniqueCloses.append(
176
+ pd.Timestamp("1981-07-29", tz="UTC")
177
+ ) # Wedding Day of Prince Charles and Diana Spencer
178
+ UniqueCloses.append(
179
+ pd.Timestamp("2011-04-29", tz="UTC")
180
+ ) # Wedding Day of Prince William and Catherine Middleton
181
+
182
+ # Coronation of King Charles III
183
+ UniqueCloses.append(pd.Timestamp("2023-05-08", tz="UTC"))
184
+
185
+ # Miscellaneous
186
+ UniqueCloses.append(pd.Timestamp("1999-12-31", tz="UTC")) # Eve of 3rd Millenium A.D.
@@ -74,9 +74,7 @@ class MarketCalendar(metaclass=MarketCalendarMeta):
74
74
  )
75
75
  except AttributeError:
76
76
  t, day_offset = t
77
- return pd.Timedelta(
78
- days=day_offset, hours=t.hour, minutes=t.minute, seconds=t.second
79
- )
77
+ return pd.Timedelta(days=day_offset, hours=t.hour, minutes=t.minute, seconds=t.second)
80
78
 
81
79
  @staticmethod
82
80
  def _off(tple):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pandas_market_calendars
3
- Version: 5.1.1
3
+ Version: 5.1.3
4
4
  Summary: Market and exchange trading calendars for pandas
5
5
  Author-email: Ryan Sheftel <rsheftel@alumni.upenn.edu>
6
6
  License: MIT
@@ -20,14 +20,13 @@ Classifier: Programming Language :: Python :: 3.10
20
20
  Classifier: Programming Language :: Python :: 3.11
21
21
  Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
23
24
  Requires-Python: >=3.8
24
25
  Description-Content-Type: text/x-rst
25
26
  License-File: LICENSE
26
27
  License-File: NOTICE
27
- Requires-Dist: pandas>=1.1
28
- Requires-Dist: tzdata
29
- Requires-Dist: python-dateutil
30
28
  Requires-Dist: exchange-calendars>=3.3
29
+ Requires-Dist: pandas>=1.1
31
30
  Provides-Extra: dev
32
31
  Requires-Dist: pytest; extra == "dev"
33
32
  Requires-Dist: black; extra == "dev"
@@ -0,0 +1,50 @@
1
+ pandas_market_calendars/__init__.py,sha256=fHCTXRmttbfhf5yyjfdYtn1TBwVIJrGVNS-6OMDlkm8,1396
2
+ pandas_market_calendars/calendar_registry.py,sha256=YDDf2d9kGRHdojr2saiFpMbHWPleFd5v4cb4ik5CXrE,2573
3
+ pandas_market_calendars/calendar_utils.py,sha256=_CGi-MNk6nJk7Ax67srd_gCbE4IwzSmD0_1Fz0Tli_g,53253
4
+ pandas_market_calendars/class_registry.py,sha256=lm9O_aBf3_Eb8UXGJV-4Kc8eHwcVLcHccL8VGBo4J8c,3953
5
+ pandas_market_calendars/market_calendar.py,sha256=DxkeHXJ8rZcCVRskJy_8KiVTgDaVgZRU0Y1tTvwoZ0E,41385
6
+ pandas_market_calendars/calendars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ pandas_market_calendars/calendars/asx.py,sha256=toK9kuPsBUUM3ChxEc-7FTNDdNKOgTwbvba7qlTFdbo,2887
8
+ pandas_market_calendars/calendars/bmf.py,sha256=FM0KUW7nnR-JjLIMRQbwsROoH-ug-iEh4VMDK9bh-TU,6394
9
+ pandas_market_calendars/calendars/bse.py,sha256=JRB3Zc7BYlL3YdYVGckRzIXd8uhLGFsKPyavACWPpoo,17710
10
+ pandas_market_calendars/calendars/cboe.py,sha256=8bpOJc5O4dbWCmZ0XPkFziWkv3EwR_bBqZ6-Pm2qWIg,4220
11
+ pandas_market_calendars/calendars/cme.py,sha256=0kIvFR_kLaFLqCZ3UT3MMajvNJwzfrKSEIU5jzMquiA,11279
12
+ pandas_market_calendars/calendars/cme_globex_agriculture.py,sha256=Zgm8FejxpgtlgLiBgq8BOATLrOmxrIN3957f9gvnSUc,4838
13
+ pandas_market_calendars/calendars/cme_globex_base.py,sha256=g8xtqVd_LWwC8NSGB4Uq3LXaLLx6Hr34GZF3jpZHFaE,3440
14
+ pandas_market_calendars/calendars/cme_globex_crypto.py,sha256=0pIYQ01UNjblm-k3t6HSCh1GMhIliqvllLFPZpEbuDo,5817
15
+ pandas_market_calendars/calendars/cme_globex_energy_and_metals.py,sha256=6EwlwJLYogJF9acJ_YYMinNnqxManoQejZ_xGi9W16M,7095
16
+ pandas_market_calendars/calendars/cme_globex_equities.py,sha256=4lFM4tRhFpH9dyaE7PEcQSaoWCUJ_8nmfrves6-v-Fo,4021
17
+ pandas_market_calendars/calendars/cme_globex_fixed_income.py,sha256=xWKkqZPlAEB_75boIKnGIBGjYshLGzBdJRKg715WY6c,4423
18
+ pandas_market_calendars/calendars/cme_globex_fx.py,sha256=hYqU6s-BorE4x4drCGJ9RBTysg54WKpFPpw8nPVYYOI,3307
19
+ pandas_market_calendars/calendars/eurex.py,sha256=P1vzRtBx8DIfnLLP5lMxn57X96IkHU0z7_zQEObXVxM,3067
20
+ pandas_market_calendars/calendars/eurex_fixed_income.py,sha256=8QxWcdDbdTg2nXw2c3FgSKCkHZrJwtnGHdG6Qa_DLIc,2489
21
+ pandas_market_calendars/calendars/hkex.py,sha256=UnuEcUDEG9v98GiiAKP2dWWCtdi-Hfejk_aN-WIYs7g,14738
22
+ pandas_market_calendars/calendars/ice.py,sha256=pxVqfRHSf7mFB6vO4KkDYovwwfr3x4HAN95POhJJRM8,2499
23
+ pandas_market_calendars/calendars/iex.py,sha256=R7SoJwyCEOQTjL49mdGOCLu6NAt__0QXe1jFMS2ZRBA,4874
24
+ pandas_market_calendars/calendars/jpx.py,sha256=T0he-pxHJo29L6sRn2DjiKTS_URi1pxWNzfkZpUcU7g,4273
25
+ pandas_market_calendars/calendars/lse.py,sha256=wss0I7DWep0joAwjTaAeK8jRqV_8NoJ3rNxG8mIvBlA,3570
26
+ pandas_market_calendars/calendars/mirror.py,sha256=hADmm4YKWXNYs0SQ8ApPvygB8CvDhkbc_-U0EX48XEQ,4566
27
+ pandas_market_calendars/calendars/nyse.py,sha256=ye6puUNQmoML2eI0ljBFL4DULORXWccmmOsn8AXXQ28,67649
28
+ pandas_market_calendars/calendars/ose.py,sha256=pdDDMr3Qs90Y6rPmMySXgRcM3gWkYmeNZnQnXQqzn2U,3378
29
+ pandas_market_calendars/calendars/sifma.py,sha256=efmC-P_oycPcTmOFmWb2Db7T5FH9uhd4KjyiuaHhe4o,12385
30
+ pandas_market_calendars/calendars/six.py,sha256=-1pSZox0mZTcAlblvYCdPmLzcXzuVkcVp83yjCq5uAY,3081
31
+ pandas_market_calendars/calendars/sse.py,sha256=IX3ARBoNkDttdA3jSmfmwj8bnvbU3OLD7DZ2P-jQHmo,11130
32
+ pandas_market_calendars/calendars/tase.py,sha256=lVWj8246euBx_UdtAsizy4fcIOqmnjHuzIMuoSQlccs,9235
33
+ pandas_market_calendars/calendars/tsx.py,sha256=CJRThc5lP3xKvsWNCqtwQewK9sRkyatnTa9iLfM6VFs,4538
34
+ pandas_market_calendars/holidays/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
+ pandas_market_calendars/holidays/cme.py,sha256=NWI37dnwc8ThGr1NDnTOw6eAKMicnt4nq50DgjYE7gk,9474
36
+ pandas_market_calendars/holidays/cme_globex.py,sha256=lN5AV9b1J4vDUhoMsr1YXTFNE8siseZJGKvX5qL9si0,5304
37
+ pandas_market_calendars/holidays/cn.py,sha256=n-BjfoGQkouQnB21nVQZvkP-6OO1rCAlLKJFUNKb_UA,48943
38
+ pandas_market_calendars/holidays/jp.py,sha256=CMu7FWKurQEynLQWHRyZi3celLVJZhjAjOyzfvthGho,9617
39
+ pandas_market_calendars/holidays/jpx_equinox.py,sha256=FuEYckZM5RSmBn7fxr9H_ghn65dMDrxb9PBkZY5SxB4,8576
40
+ pandas_market_calendars/holidays/nyse.py,sha256=6F9e2zSPS2RVrJK5fhC4GnCXW6t8fpfPemFsgsVqxLM,41367
41
+ pandas_market_calendars/holidays/oz.py,sha256=HPhsLFkPhb3k2aolx-k7I2Osdwg8CCPdDHLsouQyD28,1406
42
+ pandas_market_calendars/holidays/sifma.py,sha256=n45XrLUtP6YGzdrhjbu2KOr8CFOUlFrc0ykClzu_yFE,9533
43
+ pandas_market_calendars/holidays/uk.py,sha256=xHWh_uVoiHYwd6L8T_UaBSrzkRGmBuDvamxjQnBnx3s,4905
44
+ pandas_market_calendars/holidays/us.py,sha256=Lk4LjyP4QKG3MIFQnvd4NykPDId1FhqBxfO9khivCNU,11891
45
+ pandas_market_calendars-5.1.3.dist-info/licenses/LICENSE,sha256=qW51_A-I7YutlB-s8VSKeOP-aL83T-Lb8LqqU1x1ilw,1065
46
+ pandas_market_calendars-5.1.3.dist-info/licenses/NOTICE,sha256=mmH7c9aF5FsELh1OHXloXw1TajLD_mWDKO4dsVf43_E,11693
47
+ pandas_market_calendars-5.1.3.dist-info/METADATA,sha256=o9ZWXpQuM_o4A_0aT6tgpoEpkYKLmDRNBTbUc4ovNKY,9727
48
+ pandas_market_calendars-5.1.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
49
+ pandas_market_calendars-5.1.3.dist-info/top_level.txt,sha256=_4cUEFr07SuEAzZMT-5p0lJGXxO9imVbEK9_5oqcopQ,24
50
+ pandas_market_calendars-5.1.3.dist-info/RECORD,,
@@ -1,50 +0,0 @@
1
- pandas_market_calendars/__init__.py,sha256=fHCTXRmttbfhf5yyjfdYtn1TBwVIJrGVNS-6OMDlkm8,1396
2
- pandas_market_calendars/calendar_registry.py,sha256=g2IUYlYfZ5w1iv-SrWJ5PQ-9O67qpdWTNR5PQgKCfP0,2552
3
- pandas_market_calendars/calendar_utils.py,sha256=CHq9HnJrCLXezrdFMdMOi1_nXZPWVexGvwyiBCG4HzE,53313
4
- pandas_market_calendars/class_registry.py,sha256=lm9O_aBf3_Eb8UXGJV-4Kc8eHwcVLcHccL8VGBo4J8c,3953
5
- pandas_market_calendars/market_calendar.py,sha256=36M4p2sNZeuG0LBwrHeR2etiEJYr4Itl2iZeW_Z9N6c,41417
6
- pandas_market_calendars/calendars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- pandas_market_calendars/calendars/asx.py,sha256=Jbh1seIHbxsKqCOZcRdSPI9Feu2ncbClU8vasC4t8Yo,2205
8
- pandas_market_calendars/calendars/bmf.py,sha256=qhIf6-JRPF7SSlX84jjvCKxD8_Jd-Pvw01rO5eKG4Xc,6401
9
- pandas_market_calendars/calendars/bse.py,sha256=EL0DRX-kDT_3xillic0adK7xi5g-jOy55s6fsTcCCzU,17709
10
- pandas_market_calendars/calendars/cboe.py,sha256=b1Ei7XvEiya5fOzG6izeFmBQigh0spNuHRfx2lOHJko,4251
11
- pandas_market_calendars/calendars/cme.py,sha256=lGRR2tF1O6V5VjIMUvuJYvJxYXZ9LM0m7V-JuziLXIA,11113
12
- pandas_market_calendars/calendars/cme_globex_agriculture.py,sha256=Zgm8FejxpgtlgLiBgq8BOATLrOmxrIN3957f9gvnSUc,4838
13
- pandas_market_calendars/calendars/cme_globex_base.py,sha256=jCdjBZEK-E_4O0EZBE343_p1OOGLIefyDLyRxRElxQg,3439
14
- pandas_market_calendars/calendars/cme_globex_crypto.py,sha256=5SDpZPsFZdZ2WQe8kIVFLpqKBbkvJqAkivS1Q-9BkSU,5816
15
- pandas_market_calendars/calendars/cme_globex_energy_and_metals.py,sha256=ZEU1BVmYyiOC9lRxIcv--F6tcLLKwsgvuk649hUndFs,7094
16
- pandas_market_calendars/calendars/cme_globex_equities.py,sha256=uR_3gHpXGmu8B-iDg1_rdXmZh5GpqLv6lAstCLrxyQg,4020
17
- pandas_market_calendars/calendars/cme_globex_fixed_income.py,sha256=xWKkqZPlAEB_75boIKnGIBGjYshLGzBdJRKg715WY6c,4423
18
- pandas_market_calendars/calendars/cme_globex_fx.py,sha256=hYqU6s-BorE4x4drCGJ9RBTysg54WKpFPpw8nPVYYOI,3307
19
- pandas_market_calendars/calendars/eurex.py,sha256=lA312KYbP9sCDqALujRpuMzJhEQzghOIlX7qtN52If4,3066
20
- pandas_market_calendars/calendars/eurex_fixed_income.py,sha256=-4VmhO3UB3znBZPQxmtIwxJ1qZVWanY8Lg6qQY6GNog,2488
21
- pandas_market_calendars/calendars/hkex.py,sha256=_-0FGQkR-kptIpEtWZfrU4wZIWDNPMiu91yEuT4WVgQ,14753
22
- pandas_market_calendars/calendars/ice.py,sha256=PJUldVUOzyWF3d6lIT7OOny5xJHJlMbE-XOwtCBpL-o,2498
23
- pandas_market_calendars/calendars/iex.py,sha256=0Gk2yuPptGYUxNSSRqJbPF7SObD815Hf1FpKTJWOto0,4873
24
- pandas_market_calendars/calendars/jpx.py,sha256=z7btKxWubW-dNILjfICclnbxiii5AVOJGFczgmYECV0,4272
25
- pandas_market_calendars/calendars/lse.py,sha256=TvDDoLDIoNePNdq-1pDts5XWMBmyR7YDHW8HiLm6Beo,3569
26
- pandas_market_calendars/calendars/mirror.py,sha256=hADmm4YKWXNYs0SQ8ApPvygB8CvDhkbc_-U0EX48XEQ,4566
27
- pandas_market_calendars/calendars/nyse.py,sha256=OMNjFjIkACizO6mxpPcOwbRQ0aj-RczvYq1rGJ4H8X8,67895
28
- pandas_market_calendars/calendars/ose.py,sha256=DVsC-4xt-80tcAjX4bVcf9HW1Ks9UFvuD5GQKkD8Ygg,3385
29
- pandas_market_calendars/calendars/sifma.py,sha256=CSWSTwb6uNUdSvPCeQGlyaT8FUlz7LhBy0iTIZ5wqYM,12382
30
- pandas_market_calendars/calendars/six.py,sha256=Wspi6m7wY-HDhpqOs60POfK9f6L6MW0eC1pLjrKsL8o,3080
31
- pandas_market_calendars/calendars/sse.py,sha256=AfWbrNfobshc-21OvWmFMNu8gUSbR4_hMTaGJRBe-fk,11561
32
- pandas_market_calendars/calendars/tase.py,sha256=lcBMTcKGPsgrO_Z48VAUaJDlle29dYfsM4z39-a5P3Q,9234
33
- pandas_market_calendars/calendars/tsx.py,sha256=Ymf7GO9DLLp9iV0GR7PbU4sR68qIQV_Q5eoKYqSE7z0,4537
34
- pandas_market_calendars/holidays/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
- pandas_market_calendars/holidays/cme.py,sha256=NWI37dnwc8ThGr1NDnTOw6eAKMicnt4nq50DgjYE7gk,9474
36
- pandas_market_calendars/holidays/cme_globex.py,sha256=lN5AV9b1J4vDUhoMsr1YXTFNE8siseZJGKvX5qL9si0,5304
37
- pandas_market_calendars/holidays/cn.py,sha256=n-BjfoGQkouQnB21nVQZvkP-6OO1rCAlLKJFUNKb_UA,48943
38
- pandas_market_calendars/holidays/jp.py,sha256=CMu7FWKurQEynLQWHRyZi3celLVJZhjAjOyzfvthGho,9617
39
- pandas_market_calendars/holidays/jpx_equinox.py,sha256=FuEYckZM5RSmBn7fxr9H_ghn65dMDrxb9PBkZY5SxB4,8576
40
- pandas_market_calendars/holidays/nyse.py,sha256=6F9e2zSPS2RVrJK5fhC4GnCXW6t8fpfPemFsgsVqxLM,41367
41
- pandas_market_calendars/holidays/oz.py,sha256=dHPD2t4ffcC8083g05dT5HJbFTzLqC2ZCAvq8UPeKMo,1105
42
- pandas_market_calendars/holidays/sifma.py,sha256=n45XrLUtP6YGzdrhjbu2KOr8CFOUlFrc0ykClzu_yFE,9533
43
- pandas_market_calendars/holidays/uk.py,sha256=dt5TNONlDMXPw8wjyyPBYNnLO5Yz6Mht8VrPUrNqy-M,4719
44
- pandas_market_calendars/holidays/us.py,sha256=Lk4LjyP4QKG3MIFQnvd4NykPDId1FhqBxfO9khivCNU,11891
45
- pandas_market_calendars-5.1.1.dist-info/licenses/LICENSE,sha256=qW51_A-I7YutlB-s8VSKeOP-aL83T-Lb8LqqU1x1ilw,1065
46
- pandas_market_calendars-5.1.1.dist-info/licenses/NOTICE,sha256=mmH7c9aF5FsELh1OHXloXw1TajLD_mWDKO4dsVf43_E,11693
47
- pandas_market_calendars-5.1.1.dist-info/METADATA,sha256=AjZgNbkAvCnb0zYidYCdsFSswOBd0EtrJGECO71c8dU,9730
48
- pandas_market_calendars-5.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
49
- pandas_market_calendars-5.1.1.dist-info/top_level.txt,sha256=_4cUEFr07SuEAzZMT-5p0lJGXxO9imVbEK9_5oqcopQ,24
50
- pandas_market_calendars-5.1.1.dist-info/RECORD,,