pandas-market-calendars 4.3.3__tar.gz → 4.4.1__tar.gz

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 (89) hide show
  1. {pandas_market_calendars-4.3.3/pandas_market_calendars.egg-info → pandas_market_calendars-4.4.1}/PKG-INFO +4 -4
  2. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/__init__.py +38 -38
  3. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendar_registry.py +57 -53
  4. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendar_utils.py +262 -261
  5. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/asx.py +66 -66
  6. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/bmf.py +223 -206
  7. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/bse.py +421 -407
  8. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/cboe.py +145 -145
  9. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/cme.py +405 -402
  10. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/cme_globex_agriculture.py +172 -126
  11. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/cme_globex_base.py +119 -119
  12. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/cme_globex_crypto.py +160 -160
  13. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/cme_globex_energy_and_metals.py +216 -216
  14. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/cme_globex_equities.py +123 -123
  15. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/cme_globex_fixed_income.py +136 -136
  16. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/cme_globex_fx.py +101 -101
  17. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/eurex.py +131 -139
  18. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/eurex_fixed_income.py +98 -98
  19. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/hkex.py +429 -426
  20. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/ice.py +81 -81
  21. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/iex.py +112 -112
  22. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/jpx.py +109 -109
  23. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/lse.py +114 -114
  24. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/mirror.py +149 -130
  25. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/nyse.py +1324 -1324
  26. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/ose.py +116 -116
  27. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/sifma.py +354 -350
  28. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/six.py +132 -132
  29. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/sse.py +311 -311
  30. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/tase.py +197 -197
  31. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/tsx.py +181 -181
  32. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/cme.py +385 -385
  33. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/cme_globex.py +214 -214
  34. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/cn.py +1456 -1455
  35. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/jp.py +401 -398
  36. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/jpx_equinox.py +1 -0
  37. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/nyse.py +1531 -1531
  38. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/oz.py +63 -63
  39. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/sifma.py +350 -338
  40. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/us.py +376 -376
  41. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/market_calendar.py +922 -895
  42. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1/pandas_market_calendars.egg-info}/PKG-INFO +4 -4
  43. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars.egg-info/SOURCES.txt +4 -1
  44. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars.egg-info/requires.txt +2 -2
  45. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pyproject.toml +65 -65
  46. pandas_market_calendars-4.4.1/tests/test_24_7_calendar.py +25 -0
  47. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_XNYS_calendar.py +264 -264
  48. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_asx_calendar.py +67 -67
  49. pandas_market_calendars-4.4.1/tests/test_bmf_calendar.py +72 -0
  50. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_bse_calendar.py +43 -43
  51. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_class_registry.py +199 -198
  52. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_cme_agriculture_calendar.py +52 -53
  53. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_cme_bond_calendar.py +65 -65
  54. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_cme_equity_calendar.py +67 -67
  55. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_eurex_calendar.py +36 -36
  56. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_eurex_fixed_income_calendar.py +143 -143
  57. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_exchange_calendar_cme_globex_crypto.py +288 -288
  58. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_exchange_calendar_cme_globex_energy_and_metals.py +162 -162
  59. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_exchange_calendar_cme_globex_equities.py +626 -626
  60. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_exchange_calendar_cme_globex_fixed_income.py +584 -584
  61. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_exchange_calendar_cme_globex_fx.py +169 -169
  62. pandas_market_calendars-4.4.1/tests/test_exchange_calendar_cme_globex_grains.py +30 -0
  63. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_hkex_calendar.py +63 -63
  64. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_iex_calendar.py +40 -40
  65. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_jpx_calendar.py +269 -269
  66. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_lse_calendar.py +160 -160
  67. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_market_calendar.py +1655 -1654
  68. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_nyse_calendar.py +454 -454
  69. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_nyse_calendar_early_years.py +4019 -4019
  70. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_ose_calendar.py +155 -155
  71. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_sifma_calendars.py +508 -468
  72. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_six_calendar.py +79 -79
  73. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_sse_calendar.py +54 -54
  74. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_tsx_calendar.py +33 -33
  75. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_utils.py +665 -665
  76. pandas_market_calendars-4.4.1/tests/test_xtae_calendar.py +53 -0
  77. pandas_market_calendars-4.3.3/tests/test_bmf_calendar.py +0 -39
  78. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/LICENSE +0 -0
  79. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/NOTICE +0 -0
  80. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/README.rst +0 -0
  81. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/calendars/__init__.py +0 -0
  82. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/class_registry.py +0 -0
  83. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/__init__.py +0 -0
  84. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars/holidays/uk.py +0 -0
  85. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars.egg-info/dependency_links.txt +0 -0
  86. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/pandas_market_calendars.egg-info/top_level.txt +0 -0
  87. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/setup.cfg +0 -0
  88. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_cboe_calendars.py +0 -0
  89. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.4.1}/tests/test_ice_calendar.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pandas_market_calendars
3
- Version: 4.3.3
3
+ Version: 4.4.1
4
4
  Summary: Market and exchange trading calendars for pandas
5
5
  Author-email: Ryan Sheftel <rsheftel@alumni.upenn.edu>
6
6
  License: MIT
@@ -14,21 +14,21 @@ Classifier: Development Status :: 5 - Production/Stable
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Topic :: Software Development
16
16
  Classifier: License :: OSI Approved :: MIT License
17
- Classifier: Programming Language :: Python :: 3.8
18
17
  Classifier: Programming Language :: Python :: 3.9
19
18
  Classifier: Programming Language :: Python :: 3.10
20
19
  Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
21
  Requires-Python: >=3.8
22
22
  Description-Content-Type: text/x-rst
23
23
  License-File: LICENSE
24
24
  License-File: NOTICE
25
- Requires-Dist: pandas<2.0,>=1.1
25
+ Requires-Dist: pandas>=1.1
26
26
  Requires-Dist: pytz
27
27
  Requires-Dist: python-dateutil
28
28
  Requires-Dist: exchange-calendars>=3.3
29
29
  Provides-Extra: dev
30
30
  Requires-Dist: pytest; extra == "dev"
31
- Requires-Dist: black==23.7.0; extra == "dev"
31
+ Requires-Dist: black; extra == "dev"
32
32
  Requires-Dist: pre-commit; extra == "dev"
33
33
 
34
34
  pandas_market_calendars
@@ -1,38 +1,38 @@
1
- # Fork of Zipline by Quantopian released under MIT license. Original Zipline license below.
2
- #
3
- # Copyright 2016 Quantopian, Inc.
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
-
17
- from importlib import metadata
18
-
19
- from .calendar_registry import get_calendar, get_calendar_names
20
- from .calendar_utils import convert_freq, date_range, merge_schedules
21
-
22
- # TODO: is the below needed? Can I replace all the imports on the calendars with ".market_calendar"
23
- from .market_calendar import MarketCalendar
24
-
25
- # if running in development there may not be a package
26
- try:
27
- __version__ = metadata.version("pandas_market_calendars")
28
- except metadata.PackageNotFoundError:
29
- __version__ = "development"
30
-
31
- __all__ = [
32
- "MarketCalendar",
33
- "get_calendar",
34
- "get_calendar_names",
35
- "merge_schedules",
36
- "date_range",
37
- "convert_freq",
38
- ]
1
+ # Fork of Zipline by Quantopian released under MIT license. Original Zipline license below.
2
+ #
3
+ # Copyright 2016 Quantopian, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ from importlib import metadata
18
+
19
+ from .calendar_registry import get_calendar, get_calendar_names
20
+ from .calendar_utils import convert_freq, date_range, merge_schedules
21
+
22
+ # TODO: is the below needed? Can I replace all the imports on the calendars with ".market_calendar"
23
+ from .market_calendar import MarketCalendar
24
+
25
+ # if running in development there may not be a package
26
+ try:
27
+ __version__ = metadata.version("pandas_market_calendars")
28
+ except metadata.PackageNotFoundError:
29
+ __version__ = "development"
30
+
31
+ __all__ = [
32
+ "MarketCalendar",
33
+ "get_calendar",
34
+ "get_calendar_names",
35
+ "merge_schedules",
36
+ "date_range",
37
+ "convert_freq",
38
+ ]
@@ -1,53 +1,57 @@
1
- from .market_calendar import MarketCalendar
2
- from .calendars.asx import ASXExchangeCalendar
3
- from .calendars.bmf import BMFExchangeCalendar
4
- from .calendars.bse import BSEExchangeCalendar
5
- from .calendars.cboe import CFEExchangeCalendar
6
- from .calendars.cme import CMEEquityExchangeCalendar, CMEBondExchangeCalendar
7
- from .calendars.cme_globex_base import CMEGlobexBaseExchangeCalendar
8
- from .calendars.cme_globex_agriculture import CMEGlobexAgricultureExchangeCalendar
9
- from .calendars.cme_globex_crypto import CMEGlobexCryptoExchangeCalendar
10
- from .calendars.cme_globex_energy_and_metals import (
11
- CMEGlobexEnergyAndMetalsExchangeCalendar,
12
- )
13
- from .calendars.cme_globex_equities import CMEGlobexEquitiesExchangeCalendar
14
- from .calendars.cme_globex_fx import CMEGlobexFXExchangeCalendar
15
- from .calendars.cme_globex_fixed_income import CMEGlobexFixedIncomeCalendar
16
- from .calendars.eurex import EUREXExchangeCalendar
17
- from .calendars.eurex_fixed_income import EUREXFixedIncomeCalendar
18
- from .calendars.hkex import HKEXExchangeCalendar
19
- from .calendars.ice import ICEExchangeCalendar
20
- from .calendars.iex import IEXExchangeCalendar
21
- from .calendars.jpx import JPXExchangeCalendar
22
- from .calendars.lse import LSEExchangeCalendar
23
- from .calendars.nyse import NYSEExchangeCalendar
24
- from .calendars.ose import OSEExchangeCalendar
25
- from .calendars.sifma import (
26
- SIFMAUSExchangeCalendar,
27
- SIFMAUKExchangeCalendar,
28
- SIFMAJPExchangeCalendar,
29
- )
30
- from .calendars.six import SIXExchangeCalendar
31
- from .calendars.sse import SSEExchangeCalendar
32
- from .calendars.tase import TASEExchangeCalendar
33
- from .calendars.tsx import TSXExchangeCalendar
34
- from .calendars.mirror import *
35
-
36
-
37
- def get_calendar(name, open_time=None, close_time=None) -> MarketCalendar:
38
- """
39
- Retrieves an instance of an MarketCalendar whose name is given.
40
-
41
- :param name: The name of the MarketCalendar to be retrieved.
42
- :param open_time: Market open time override as datetime.time object. If None then default is used.
43
- :param close_time: Market close time override as datetime.time object. If None then default is used.
44
- :return: MarketCalendar of the desired calendar.
45
- """
46
- return MarketCalendar.factory(name, open_time=open_time, close_time=close_time)
47
-
48
-
49
- def get_calendar_names():
50
- """All Market Calendar names and aliases that can be used in "factory"
51
- :return: list(str)
52
- """
53
- return MarketCalendar.calendar_names()
1
+ from .market_calendar import MarketCalendar
2
+ from .calendars.asx import ASXExchangeCalendar
3
+ from .calendars.bmf import BMFExchangeCalendar
4
+ from .calendars.bse import BSEExchangeCalendar
5
+ from .calendars.cboe import CFEExchangeCalendar
6
+ from .calendars.cme import CMEEquityExchangeCalendar, CMEBondExchangeCalendar
7
+ from .calendars.cme_globex_base import CMEGlobexBaseExchangeCalendar
8
+ from .calendars.cme_globex_agriculture import (
9
+ CMEGlobexAgricultureExchangeCalendar,
10
+ CMEGlobexLivestockExchangeCalendar,
11
+ CMEGlobexGrainsAndOilseedsExchangeCalendar,
12
+ )
13
+ from .calendars.cme_globex_crypto import CMEGlobexCryptoExchangeCalendar
14
+ from .calendars.cme_globex_energy_and_metals import (
15
+ CMEGlobexEnergyAndMetalsExchangeCalendar,
16
+ )
17
+ from .calendars.cme_globex_equities import CMEGlobexEquitiesExchangeCalendar
18
+ from .calendars.cme_globex_fx import CMEGlobexFXExchangeCalendar
19
+ from .calendars.cme_globex_fixed_income import CMEGlobexFixedIncomeCalendar
20
+ from .calendars.eurex import EUREXExchangeCalendar
21
+ from .calendars.eurex_fixed_income import EUREXFixedIncomeCalendar
22
+ from .calendars.hkex import HKEXExchangeCalendar
23
+ from .calendars.ice import ICEExchangeCalendar
24
+ from .calendars.iex import IEXExchangeCalendar
25
+ from .calendars.jpx import JPXExchangeCalendar
26
+ from .calendars.lse import LSEExchangeCalendar
27
+ from .calendars.nyse import NYSEExchangeCalendar
28
+ from .calendars.ose import OSEExchangeCalendar
29
+ from .calendars.sifma import (
30
+ SIFMAUSExchangeCalendar,
31
+ SIFMAUKExchangeCalendar,
32
+ SIFMAJPExchangeCalendar,
33
+ )
34
+ from .calendars.six import SIXExchangeCalendar
35
+ from .calendars.sse import SSEExchangeCalendar
36
+ from .calendars.tase import TASEExchangeCalendar
37
+ from .calendars.tsx import TSXExchangeCalendar
38
+ from .calendars.mirror import *
39
+
40
+
41
+ def get_calendar(name, open_time=None, close_time=None) -> MarketCalendar:
42
+ """
43
+ Retrieves an instance of an MarketCalendar whose name is given.
44
+
45
+ :param name: The name of the MarketCalendar to be retrieved.
46
+ :param open_time: Market open time override as datetime.time object. If None then default is used.
47
+ :param close_time: Market close time override as datetime.time object. If None then default is used.
48
+ :return: MarketCalendar of the desired calendar.
49
+ """
50
+ return MarketCalendar.factory(name, open_time=open_time, close_time=close_time)
51
+
52
+
53
+ def get_calendar_names():
54
+ """All Market Calendar names and aliases that can be used in "factory"
55
+ :return: list(str)
56
+ """
57
+ return MarketCalendar.calendar_names()