opendate 0.1.7__tar.gz → 0.1.9__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.
Potentially problematic release.
This version of opendate might be problematic. Click here for more details.
- {opendate-0.1.7 → opendate-0.1.9}/PKG-INFO +1 -1
- {opendate-0.1.7 → opendate-0.1.9}/pyproject.toml +1 -1
- {opendate-0.1.7 → opendate-0.1.9}/src/date/__init__.py +1 -1
- {opendate-0.1.7 → opendate-0.1.9}/src/date/date.py +11 -8
- {opendate-0.1.7 → opendate-0.1.9}/LICENSE +0 -0
- {opendate-0.1.7 → opendate-0.1.9}/README.md +0 -0
- {opendate-0.1.7 → opendate-0.1.9}/src/date/extras.py +0 -0
|
@@ -272,20 +272,22 @@ class NYSE(Entity):
|
|
|
272
272
|
@staticmethod
|
|
273
273
|
@lru_cache
|
|
274
274
|
def business_days(begdate=BEGDATE, enddate=ENDDATE) -> set:
|
|
275
|
-
return {
|
|
275
|
+
return {Date.instance(d.date())
|
|
276
|
+
for d in NYSE.calendar.valid_days(begdate, enddate)}
|
|
276
277
|
|
|
277
278
|
@staticmethod
|
|
278
279
|
@lru_cache
|
|
279
280
|
def business_hours(begdate=BEGDATE, enddate=ENDDATE) -> dict:
|
|
280
281
|
df = NYSE.calendar.schedule(begdate, enddate, tz=EST)
|
|
281
|
-
open_close = [(
|
|
282
|
+
open_close = [(DateTime.instance(o.to_pydatetime()),
|
|
283
|
+
DateTime.instance(c.to_pydatetime()))
|
|
282
284
|
for o, c in zip(df.market_open, df.market_close)]
|
|
283
285
|
return dict(zip(df.index.date, open_close))
|
|
284
286
|
|
|
285
287
|
@staticmethod
|
|
286
288
|
@lru_cache
|
|
287
289
|
def business_holidays(begdate=BEGDATE, enddate=ENDDATE) -> set:
|
|
288
|
-
return {d.date()
|
|
290
|
+
return {Date.instance(d.date())
|
|
289
291
|
for d in map(pd.to_datetime, NYSE.calendar.holidays().holidays)
|
|
290
292
|
if begdate <= d <= enddate}
|
|
291
293
|
|
|
@@ -1068,19 +1070,20 @@ class Time(_pendulum.Time):
|
|
|
1068
1070
|
|
|
1069
1071
|
return cls(obj.hour, obj.minute, obj.second, obj.microsecond, tzinfo=tz)
|
|
1070
1072
|
|
|
1071
|
-
|
|
1072
|
-
def astimezone(self, tz: str | _zoneinfo.ZoneInfo | _datetime.tzinfo):
|
|
1073
|
+
def in_timezone(self, tz: str | _zoneinfo.ZoneInfo | _datetime.tzinfo):
|
|
1073
1074
|
"""Convert timezone
|
|
1074
1075
|
|
|
1075
|
-
>>> Time(12, 0).
|
|
1076
|
+
>>> Time(12, 0).in_timezone(Timezone('America/Sao_Paulo'))
|
|
1076
1077
|
Time(9, 0, 0, tzinfo=Timezone('America/Sao_Paulo'))
|
|
1077
1078
|
|
|
1078
|
-
>>> Time(12, 0, tzinfo=Timezone('Europe/Moscow')).
|
|
1079
|
+
>>> Time(12, 0, tzinfo=Timezone('Europe/Moscow')).in_timezone(Timezone('America/Sao_Paulo'))
|
|
1079
1080
|
Time(6, 0, 0, tzinfo=Timezone('America/Sao_Paulo'))
|
|
1080
1081
|
|
|
1081
1082
|
"""
|
|
1082
1083
|
_dt = DateTime.combine(Date.today(), self, tzinfo=self.tzinfo or UTC)
|
|
1083
|
-
return _dt.
|
|
1084
|
+
return _dt.in_timezone(tz).time()
|
|
1085
|
+
|
|
1086
|
+
in_tz = in_timezone
|
|
1084
1087
|
|
|
1085
1088
|
|
|
1086
1089
|
class DateTime(DateBusinessMixin, _pendulum.DateTime):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|