Skip to content

Commit 0db515e

Browse files
committed
Merge remote-tracking branch 'upstream/main' into fix-docstring
2 parents e7e09db + 90c26ce commit 0db515e

File tree

99 files changed

+1258
-624
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+1258
-624
lines changed

.circleci/config.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,13 @@ jobs:
9292
no_output_timeout: 30m # Sometimes the tests won't generate any output, make sure the job doesn't get killed by that
9393
command: |
9494
pip3 install cibuildwheel==2.20.0
95-
cibuildwheel --output-dir wheelhouse
95+
if [[ $CIBW_BUILD == cp313t* ]]; then
96+
# TODO: temporarily run 3.13 free threaded builds without build isolation
97+
# since we need pre-release cython
98+
CIBW_BUILD_FRONTEND="pip; args: --no-build-isolation" cibuildwheel --output-dir wheelhouse
99+
else
100+
cibuildwheel --output-dir wheelhouse
101+
fi
96102
97103
environment:
98104
CIBW_BUILD: << parameters.cibw-build >>
@@ -141,6 +147,10 @@ workflows:
141147
cibw-build: ["cp310-manylinux_aarch64",
142148
"cp311-manylinux_aarch64",
143149
"cp312-manylinux_aarch64",
150+
"cp313-manylinux_aarch64",
151+
"cp313t-manylinux_aarch64",
144152
"cp310-musllinux_aarch64",
145153
"cp311-musllinux_aarch64",
146-
"cp312-musllinux_aarch64",]
154+
"cp312-musllinux_aarch64",
155+
"cp313-musllinux_aarch64",
156+
"cp313t-musllinux_aarch64"]

.github/actions/setup-conda/action.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ runs:
99
- name: Install ${{ inputs.environment-file }}
1010
uses: mamba-org/setup-micromamba@v1
1111
with:
12+
# Pinning to avoid 2.0 failures
13+
micromamba-version: '1.5.10-0'
1214
environment-file: ${{ inputs.environment-file }}
1315
environment-name: test
1416
condarc-file: ci/.condarc

.github/workflows/wheels.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,7 @@ jobs:
102102
python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
103103
include:
104104
# TODO: Remove this plus installing build deps in cibw_before_build.sh
105-
# and test deps in cibw_before_test.sh after pandas can be built with a released NumPy/Cython
106-
- python: ["cp313", "3.13"]
107-
cibw_build_frontend: 'pip; args: --no-build-isolation'
105+
# after pandas can be built with a released NumPy/Cython
108106
- python: ["cp313t", "3.13"]
109107
cibw_build_frontend: 'pip; args: --no-build-isolation'
110108
# Build Pyodide wheels and upload them to Anaconda.org
@@ -187,11 +185,9 @@ jobs:
187185
- name: Test Windows Wheels
188186
if: ${{ matrix.buildplat[1] == 'win_amd64' }}
189187
shell: pwsh
190-
# TODO: Remove NumPy nightly install when there's a 3.13 wheel on PyPI
191188
run: |
192189
$TST_CMD = @"
193190
python -m pip install hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0;
194-
${{ matrix.python[1] == '3.13' && 'python -m pip install -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy;' }}
195191
python -m pip install `$(Get-Item pandas\wheelhouse\*.whl);
196192
python -c `'import pandas as pd; pd.test(extra_args=[`\"--no-strict-data-files`\", `\"-m not clipboard and not single_cpu and not slow and not network and not db`\"])`';
197193
"@

MANIFEST.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,3 @@ graft pandas/_libs/include
6565

6666
# Include cibw script in sdist since it's needed for building wheels
6767
include scripts/cibw_before_build.sh
68-
include scripts/cibw_before_test.sh

ci/code_checks.sh

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
7373
-i "pandas.Period.freq GL08" \
7474
-i "pandas.Period.ordinal GL08" \
7575
-i "pandas.RangeIndex.from_range PR01,SA01" \
76-
-i "pandas.RangeIndex.step SA01" \
7776
-i "pandas.Series.cat.add_categories PR01,PR02" \
7877
-i "pandas.Series.cat.as_ordered PR01" \
7978
-i "pandas.Series.cat.as_unordered PR01" \
@@ -97,10 +96,7 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
9796
-i "pandas.Series.dt.tz_localize PR01,PR02" \
9897
-i "pandas.Series.dt.unit GL08" \
9998
-i "pandas.Series.pad PR01,SA01" \
100-
-i "pandas.Series.sparse.fill_value SA01" \
10199
-i "pandas.Series.sparse.from_coo PR07,SA01" \
102-
-i "pandas.Series.sparse.npoints SA01" \
103-
-i "pandas.Series.sparse.sp_values SA01" \
104100
-i "pandas.Timedelta.max PR02" \
105101
-i "pandas.Timedelta.min PR02" \
106102
-i "pandas.Timedelta.resolution PR02" \
@@ -111,48 +107,31 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
111107
-i "pandas.Timestamp.resolution PR02" \
112108
-i "pandas.Timestamp.tzinfo GL08" \
113109
-i "pandas.Timestamp.year GL08" \
114-
-i "pandas.api.types.is_dict_like PR07,SA01" \
115-
-i "pandas.api.types.is_file_like PR07,SA01" \
116110
-i "pandas.api.types.is_float PR01,SA01" \
117-
-i "pandas.api.types.is_float_dtype SA01" \
118-
-i "pandas.api.types.is_hashable PR01,RT03,SA01" \
119-
-i "pandas.api.types.is_int64_dtype SA01" \
120111
-i "pandas.api.types.is_integer PR01,SA01" \
121-
-i "pandas.api.types.is_interval_dtype SA01" \
122112
-i "pandas.api.types.is_iterator PR07,SA01" \
123-
-i "pandas.api.types.is_list_like SA01" \
124-
-i "pandas.api.types.is_named_tuple PR07,SA01" \
125-
-i "pandas.api.types.is_object_dtype SA01" \
126-
-i "pandas.api.types.is_re PR07,SA01" \
127113
-i "pandas.api.types.is_re_compilable PR07,SA01" \
128114
-i "pandas.api.types.pandas_dtype PR07,RT03,SA01" \
129115
-i "pandas.arrays.ArrowExtensionArray PR07,SA01" \
130-
-i "pandas.arrays.BooleanArray SA01" \
131116
-i "pandas.arrays.DatetimeArray SA01" \
132117
-i "pandas.arrays.IntegerArray SA01" \
133118
-i "pandas.arrays.IntervalArray.left SA01" \
134119
-i "pandas.arrays.IntervalArray.length SA01" \
135-
-i "pandas.arrays.IntervalArray.mid SA01" \
136120
-i "pandas.arrays.IntervalArray.right SA01" \
137121
-i "pandas.arrays.NumpyExtensionArray SA01" \
138122
-i "pandas.arrays.SparseArray PR07,SA01" \
139123
-i "pandas.arrays.TimedeltaArray PR07,SA01" \
140124
-i "pandas.core.groupby.DataFrameGroupBy.__iter__ RT03,SA01" \
141-
-i "pandas.core.groupby.DataFrameGroupBy.agg RT03" \
142-
-i "pandas.core.groupby.DataFrameGroupBy.aggregate RT03" \
143125
-i "pandas.core.groupby.DataFrameGroupBy.boxplot PR07,RT03,SA01" \
144126
-i "pandas.core.groupby.DataFrameGroupBy.get_group RT03,SA01" \
145127
-i "pandas.core.groupby.DataFrameGroupBy.groups SA01" \
146-
-i "pandas.core.groupby.DataFrameGroupBy.hist RT03" \
147128
-i "pandas.core.groupby.DataFrameGroupBy.indices SA01" \
148129
-i "pandas.core.groupby.DataFrameGroupBy.nth PR02" \
149130
-i "pandas.core.groupby.DataFrameGroupBy.nunique SA01" \
150131
-i "pandas.core.groupby.DataFrameGroupBy.ohlc SA01" \
151132
-i "pandas.core.groupby.DataFrameGroupBy.plot PR02" \
152133
-i "pandas.core.groupby.DataFrameGroupBy.sem SA01" \
153134
-i "pandas.core.groupby.SeriesGroupBy.__iter__ RT03,SA01" \
154-
-i "pandas.core.groupby.SeriesGroupBy.agg RT03" \
155-
-i "pandas.core.groupby.SeriesGroupBy.aggregate RT03" \
156135
-i "pandas.core.groupby.SeriesGroupBy.get_group RT03,SA01" \
157136
-i "pandas.core.groupby.SeriesGroupBy.groups SA01" \
158137
-i "pandas.core.groupby.SeriesGroupBy.indices SA01" \
@@ -163,7 +142,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
163142
-i "pandas.core.groupby.SeriesGroupBy.plot PR02" \
164143
-i "pandas.core.groupby.SeriesGroupBy.sem SA01" \
165144
-i "pandas.core.resample.Resampler.__iter__ RT03,SA01" \
166-
-i "pandas.core.resample.Resampler.ffill RT03" \
167145
-i "pandas.core.resample.Resampler.get_group RT03,SA01" \
168146
-i "pandas.core.resample.Resampler.groups SA01" \
169147
-i "pandas.core.resample.Resampler.indices SA01" \
@@ -178,15 +156,13 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
178156
-i "pandas.core.resample.Resampler.sum SA01" \
179157
-i "pandas.core.resample.Resampler.transform PR01,RT03,SA01" \
180158
-i "pandas.core.resample.Resampler.var SA01" \
181-
-i "pandas.date_range RT03" \
182159
-i "pandas.errors.AttributeConflictWarning SA01" \
183160
-i "pandas.errors.CSSWarning SA01" \
184161
-i "pandas.errors.CategoricalConversionWarning SA01" \
185162
-i "pandas.errors.ChainedAssignmentError SA01" \
186163
-i "pandas.errors.ClosedFileError SA01" \
187164
-i "pandas.errors.DataError SA01" \
188165
-i "pandas.errors.DuplicateLabelError SA01" \
189-
-i "pandas.errors.EmptyDataError SA01" \
190166
-i "pandas.errors.IntCastingNaNError SA01" \
191167
-i "pandas.errors.InvalidIndexError SA01" \
192168
-i "pandas.errors.InvalidVersion SA01" \
@@ -368,7 +344,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
368344
-i "pandas.tseries.offsets.SemiMonthBegin.n GL08" \
369345
-i "pandas.tseries.offsets.SemiMonthBegin.normalize GL08" \
370346
-i "pandas.tseries.offsets.SemiMonthBegin.rule_code GL08" \
371-
-i "pandas.tseries.offsets.SemiMonthEnd SA01" \
372347
-i "pandas.tseries.offsets.SemiMonthEnd.day_of_month GL08" \
373348
-i "pandas.tseries.offsets.SemiMonthEnd.is_on_offset GL08" \
374349
-i "pandas.tseries.offsets.SemiMonthEnd.n GL08" \
@@ -382,7 +357,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
382357
-i "pandas.tseries.offsets.Week.n GL08" \
383358
-i "pandas.tseries.offsets.Week.normalize GL08" \
384359
-i "pandas.tseries.offsets.Week.weekday GL08" \
385-
-i "pandas.tseries.offsets.WeekOfMonth SA01" \
386360
-i "pandas.tseries.offsets.WeekOfMonth.is_on_offset GL08" \
387361
-i "pandas.tseries.offsets.WeekOfMonth.n GL08" \
388362
-i "pandas.tseries.offsets.WeekOfMonth.normalize GL08" \

doc/source/conf.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,9 @@
254254
"json_url": "https://pandas.pydata.org/versions.json",
255255
"version_match": switcher_version,
256256
},
257-
"show_version_warning_banner": True,
257+
# This shows a warning for patch releases since the
258+
# patch version doesn't compare as equal (e.g. 2.2.1 != 2.2.0 but it should be)
259+
"show_version_warning_banner": False,
258260
"icon_links": [
259261
{
260262
"name": "Mastodon",

doc/source/development/contributing.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -305,15 +305,15 @@ It is important to periodically update your local ``main`` branch with updates f
305305
branch and update your development environment to reflect any changes to the various packages that
306306
are used during development.
307307

308-
If using :ref:`mamba <contributing.mamba>`, run:
308+
If using :ref:`conda <contributing.conda>`, run:
309309

310310
.. code-block:: shell
311311
312312
git checkout main
313313
git fetch upstream
314314
git merge upstream/main
315-
mamba activate pandas-dev
316-
mamba env update -f environment.yml --prune
315+
conda activate pandas-dev
316+
conda env update -f environment.yml --prune
317317
318318
If using :ref:`pip <contributing.pip>` , do:
319319

doc/source/development/contributing_codebase.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ in your python environment.
244244

245245
.. warning::
246246

247-
* Please be aware that the above commands will use the current python environment. If your python packages are older/newer than those installed by the pandas CI, the above commands might fail. This is often the case when the ``mypy`` or ``numpy`` versions do not match. Please see :ref:`how to setup the python environment <contributing.mamba>` or select a `recently succeeded workflow <https://github.com/pandas-dev/pandas/actions/workflows/code-checks.yml?query=branch%3Amain+is%3Asuccess>`_, select the "Docstring validation, typing, and other manual pre-commit hooks" job, then click on "Set up Conda" and "Environment info" to see which versions the pandas CI installs.
247+
* Please be aware that the above commands will use the current python environment. If your python packages are older/newer than those installed by the pandas CI, the above commands might fail. This is often the case when the ``mypy`` or ``numpy`` versions do not match. Please see :ref:`how to setup the python environment <contributing.conda>` or select a `recently succeeded workflow <https://github.com/pandas-dev/pandas/actions/workflows/code-checks.yml?query=branch%3Amain+is%3Asuccess>`_, select the "Docstring validation, typing, and other manual pre-commit hooks" job, then click on "Set up Conda" and "Environment info" to see which versions the pandas CI installs.
248248

249249
.. _contributing.ci:
250250

doc/source/development/contributing_environment.rst

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,17 +43,17 @@ and consult the ``Linux`` instructions below.
4343

4444
**macOS**
4545

46-
To use the :ref:`mamba <contributing.mamba>`-based compilers, you will need to install the
46+
To use the :ref:`conda <contributing.conda>`-based compilers, you will need to install the
4747
Developer Tools using ``xcode-select --install``.
4848

4949
If you prefer to use a different compiler, general information can be found here:
5050
https://devguide.python.org/setup/#macos
5151

5252
**Linux**
5353

54-
For Linux-based :ref:`mamba <contributing.mamba>` installations, you won't have to install any
55-
additional components outside of the mamba environment. The instructions
56-
below are only needed if your setup isn't based on mamba environments.
54+
For Linux-based :ref:`conda <contributing.conda>` installations, you won't have to install any
55+
additional components outside of the conda environment. The instructions
56+
below are only needed if your setup isn't based on conda environments.
5757

5858
Some Linux distributions will come with a pre-installed C compiler. To find out
5959
which compilers (and versions) are installed on your system::
@@ -82,19 +82,18 @@ Before we begin, please:
8282
* Make sure that you have :any:`cloned the repository <contributing.forking>`
8383
* ``cd`` to the pandas source directory you just created with the clone command
8484

85-
.. _contributing.mamba:
85+
.. _contributing.conda:
8686

87-
Option 1: using mamba (recommended)
87+
Option 1: using conda (recommended)
8888
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8989

90-
* Install miniforge to get `mamba <https://mamba.readthedocs.io/en/latest/installation/mamba-installation.html>`_
91-
* Make sure your mamba is up to date (``mamba update mamba``)
92-
* Create and activate the ``pandas-dev`` mamba environment using the following commands:
90+
* Install miniforge to get `conda <https://github.com/conda-forge/miniforge?tab=readme-ov-file#download>`_
91+
* Create and activate the ``pandas-dev`` conda environment using the following commands:
9392

94-
.. code-block:: none
93+
.. code-block:: bash
9594
96-
mamba env create --file environment.yml
97-
mamba activate pandas-dev
95+
conda env create --file environment.yml
96+
conda activate pandas-dev
9897
9998
.. _contributing.pip:
10099

doc/source/development/maintaining.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ in the next places:
344344
- Git repo with a `new tag <https://github.com/pandas-dev/pandas/tags>`_
345345
- Source distribution in a `GitHub release <https://github.com/pandas-dev/pandas/releases>`_
346346
- Pip packages in the `PyPI <https://pypi.org/project/pandas/>`_
347-
- Conda/Mamba packages in `conda-forge <https://anaconda.org/conda-forge/pandas>`_
347+
- Conda packages in `conda-forge <https://anaconda.org/conda-forge/pandas>`_
348348

349349
The process for releasing a new version of pandas is detailed next section.
350350

0 commit comments

Comments
 (0)