Skip to content

Commit 6fe90bb

Browse files
GH - 624: date_range() now supports a unit keyword "s" , "ms" , "us" , or "ns" (#734)
* date_range() now supports a unit keyword "s" , "ms" , "us" , or "ns" * fix problems * numpy = "<=1.24.3" * pyright = "<= 1.1.313" * black && isort
1 parent e54943a commit 6fe90bb

File tree

3 files changed

+38
-3
lines changed

3 files changed

+38
-3
lines changed

pandas-stubs/core/indexes/datetimes.pyi

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ from datetime import (
66
timedelta,
77
tzinfo,
88
)
9-
from typing import overload
9+
from typing import (
10+
Literal,
11+
overload,
12+
)
1013

1114
import numpy as np
1215
from pandas import (
@@ -104,6 +107,7 @@ def date_range(
104107
normalize: bool = ...,
105108
name: Hashable | None = ...,
106109
inclusive: IntervalClosedType = ...,
110+
unit: Literal["s", "ms", "us", "ns"] | None = ...,
107111
) -> DatetimeIndex: ...
108112
@overload
109113
def bdate_range(

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ packages = [
3333
[tool.poetry.dependencies]
3434
python = ">=3.8"
3535
types-pytz = ">= 2022.1.1"
36-
numpy = ">=1.24.3"
36+
numpy = "<=1.24.3"
3737

3838
[tool.poetry.dev-dependencies]
3939
mypy = "1.3.0"
4040
pandas = "2.0.2"
4141
pyarrow = ">=10.0.1"
4242
pytest = ">=7.1.2"
43-
pyright = ">= 1.1.310"
43+
pyright = "<= 1.1.313"
4444
poethepoet = ">=0.16.5"
4545
loguru = ">=0.6.0"
4646
typing-extensions = ">=4.4.0"

tests/test_timefuncs.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1177,3 +1177,34 @@ def test_weekofmonth_init():
11771177
),
11781178
pd.offsets.WeekOfMonth,
11791179
)
1180+
1181+
1182+
def test_date_range_unit():
1183+
check(
1184+
assert_type(
1185+
pd.date_range("1/1/2022", "2/1/2022", unit="s"),
1186+
pd.DatetimeIndex,
1187+
),
1188+
pd.DatetimeIndex,
1189+
)
1190+
check(
1191+
assert_type(
1192+
pd.date_range("1/1/2022", "2/1/2022", unit="ms"),
1193+
pd.DatetimeIndex,
1194+
),
1195+
pd.DatetimeIndex,
1196+
)
1197+
check(
1198+
assert_type(
1199+
pd.date_range("1/1/2022", "2/1/2022", unit="us"),
1200+
pd.DatetimeIndex,
1201+
),
1202+
pd.DatetimeIndex,
1203+
)
1204+
check(
1205+
assert_type(
1206+
pd.date_range("1/1/2022", "2/1/2022", unit="ns"),
1207+
pd.DatetimeIndex,
1208+
),
1209+
pd.DatetimeIndex,
1210+
)

0 commit comments

Comments
 (0)