Skip to content

Commit 5dedfba

Browse files
Merge remote-tracking branch 'upstream/main' into bisect
2 parents 19fcb3b + 5e3d0ed commit 5dedfba

File tree

153 files changed

+3368
-1188
lines changed

Some content is hidden

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

153 files changed

+3368
-1188
lines changed

.github/CODE_OF_CONDUCT.md

-62
This file was deleted.

.github/CONTRIBUTING.md

-3
This file was deleted.

.github/FUNDING.yml

-3
This file was deleted.

.github/SECURITY.md

-1
This file was deleted.

.github/actions/build_pandas/action.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,6 @@ runs:
2020
shell: bash -el {0}
2121
env:
2222
# Cannot use parallel compilation on Windows, see https://github.com/pandas-dev/pandas/issues/30873
23-
N_JOBS: ${{ runner.os == 'Windows' && 1 || 2 }}
23+
# GH 47305: Parallel build causes flaky ImportError: /home/runner/work/pandas/pandas/pandas/_libs/tslibs/timestamps.cpython-38-x86_64-linux-gnu.so: undefined symbol: pandas_datetime_to_datetimestruct
24+
N_JOBS: 1
25+
#N_JOBS: ${{ runner.os == 'Windows' && 1 || 2 }}

.github/workflows/code-checks.yml

+37-6
Original file line numberDiff line numberDiff line change
@@ -65,37 +65,39 @@ jobs:
6565
id: build
6666
uses: ./.github/actions/build_pandas
6767

68+
# The following checks are independent of each other and should still be run if one fails
6869
- name: Check for no warnings when building single-page docs
6970
run: ci/code_checks.sh single-docs
70-
if: ${{ steps.build.outcome == 'success' }}
71+
if: ${{ steps.build.outcome == 'success' && always() }}
7172

7273
- name: Run checks on imported code
7374
run: ci/code_checks.sh code
74-
if: ${{ steps.build.outcome == 'success' }}
75+
if: ${{ steps.build.outcome == 'success' && always() }}
7576

7677
- name: Run doctests
7778
run: ci/code_checks.sh doctests
78-
if: ${{ steps.build.outcome == 'success' }}
79+
if: ${{ steps.build.outcome == 'success' && always() }}
7980

8081
- name: Run docstring validation
8182
run: ci/code_checks.sh docstrings
82-
if: ${{ steps.build.outcome == 'success' }}
83+
if: ${{ steps.build.outcome == 'success' && always() }}
8384

8485
- name: Use existing environment for type checking
8586
run: |
8687
echo $PATH >> $GITHUB_PATH
8788
echo "PYTHONHOME=$PYTHONHOME" >> $GITHUB_ENV
8889
echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV
90+
if: ${{ steps.build.outcome == 'success' && always() }}
8991

9092
- name: Typing
9193
uses: pre-commit/[email protected]
9294
with:
9395
extra_args: --hook-stage manual --all-files
94-
if: ${{ steps.build.outcome == 'success' }}
96+
if: ${{ steps.build.outcome == 'success' && always() }}
9597

9698
- name: Run docstring validation script tests
9799
run: pytest scripts
98-
if: ${{ steps.build.outcome == 'success' }}
100+
if: ${{ steps.build.outcome == 'success' && always() }}
99101

100102
asv-benchmarks:
101103
name: ASV Benchmarks
@@ -157,3 +159,32 @@ jobs:
157159

158160
- name: Build image
159161
run: docker build --pull --no-cache --tag pandas-dev-env .
162+
163+
requirements-dev-text-installable:
164+
name: Test install requirements-dev.txt
165+
runs-on: ubuntu-latest
166+
167+
concurrency:
168+
# https://github.community/t/concurrecy-not-work-for-push/183068/7
169+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-requirements-dev-text-installable
170+
cancel-in-progress: true
171+
172+
steps:
173+
- name: Checkout
174+
uses: actions/checkout@v3
175+
with:
176+
fetch-depth: 0
177+
178+
- name: Setup Python
179+
id: setup_python
180+
uses: actions/setup-python@v3
181+
with:
182+
python-version: '3.8'
183+
cache: 'pip'
184+
cache-dependency-path: 'requirements-dev.txt'
185+
186+
- name: Install requirements-dev.txt
187+
run: pip install -r requirements-dev.txt
188+
189+
- name: Check Pip Cache Hit
190+
run: echo ${{ steps.setup_python.outputs.cache-hit }}

.github/workflows/comment_bot.yml

-40
This file was deleted.

.github/workflows/docbuild-and-upload.yml

+5
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ jobs:
4646
- name: Build documentation
4747
run: doc/make.py --warnings-are-errors
4848

49+
- name: Build the interactive terminal
50+
run: |
51+
cd web/interactive_terminal
52+
jupyter lite build
53+
4954
- name: Install ssh key
5055
run: |
5156
mkdir -m 700 -p ~/.ssh

.github/workflows/macos-windows.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ on:
1515
env:
1616
PANDAS_CI: 1
1717
PYTEST_TARGET: pandas
18-
PYTEST_WORKERS: auto
1918
PATTERN: "not slow and not db and not network and not single_cpu"
2019

2120

@@ -36,6 +35,9 @@ jobs:
3635
# https://github.community/t/concurrecy-not-work-for-push/183068/7
3736
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.os }}
3837
cancel-in-progress: true
38+
env:
39+
# GH 47443: PYTEST_WORKERS > 1 crashes Windows builds with memory related errors
40+
PYTEST_WORKERS: ${{ matrix.os == 'macos-latest' && 'auto' || '1' }}
3941

4042
steps:
4143
- name: Checkout

.github/workflows/posix.yml renamed to .github/workflows/ubuntu.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Posix
1+
name: Ubuntu
22

33
on:
44
push:
@@ -145,7 +145,7 @@ jobs:
145145

146146
- name: Extra installs
147147
# xsel for clipboard tests
148-
run: sudo apt-get update && sudo apt-get install -y libc6-dev-i386 xsel ${{ env.EXTRA_APT }}
148+
run: sudo apt-get update && sudo apt-get install -y xsel ${{ env.EXTRA_APT }}
149149

150150
- name: Set up Conda
151151
uses: ./.github/actions/setup-conda

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,7 @@ doc/build/html/index.html
122122
doc/tmp.sv
123123
env/
124124
doc/source/savefig/
125+
126+
# Interactive terminal generated files #
127+
########################################
128+
.jupyterlite.doit.db

ci/deps/actions-310.yaml

+1-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ dependencies:
3131
- jinja2
3232
- lxml
3333
- matplotlib
34-
# TODO: uncomment after numba supports py310
35-
#- numba
34+
- numba
3635
- numexpr
3736
- openpyxl
3837
- odfpy

doc/source/conf.py

-1
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,6 @@
447447
"py": ("https://pylib.readthedocs.io/en/latest/", None),
448448
"python": ("https://docs.python.org/3/", None),
449449
"scipy": ("https://docs.scipy.org/doc/scipy/", None),
450-
"statsmodels": ("https://www.statsmodels.org/devel/", None),
451450
"pyarrow": ("https://arrow.apache.org/docs/", None),
452451
}
453452

doc/source/development/contributing.rst

+1-7
Original file line numberDiff line numberDiff line change
@@ -326,13 +326,7 @@ Autofixing formatting errors
326326
----------------------------
327327

328328
We use several styling checks (e.g. ``black``, ``flake8``, ``isort``) which are run after
329-
you make a pull request. If there is a scenario where any of these checks fail then you
330-
can comment::
331-
332-
@github-actions pre-commit
333-
334-
on that pull request. This will trigger a workflow which will autofix formatting
335-
errors.
329+
you make a pull request.
336330

337331
To automatically fix formatting errors on each commit you make, you can
338332
set up pre-commit yourself. First, create a Python :ref:`environment

doc/source/reference/testing.rst

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Exceptions and warnings
3030
errors.DtypeWarning
3131
errors.DuplicateLabelError
3232
errors.EmptyDataError
33+
errors.IndexingError
3334
errors.InvalidIndexError
3435
errors.IntCastingNaNError
3536
errors.MergeError

doc/source/whatsnew/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Version 1.4
2424
.. toctree::
2525
:maxdepth: 2
2626

27+
v1.4.4
2728
v1.4.3
2829
v1.4.2
2930
v1.4.1

doc/source/whatsnew/v1.4.0.rst

+11-2
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,9 @@ the given ``dayfirst`` value when the value is a delimited date string (e.g.
271271
Ignoring dtypes in concat with empty or all-NA columns
272272
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
273273

274+
.. note::
275+
This behaviour change has been reverted in pandas 1.4.3.
276+
274277
When using :func:`concat` to concatenate two or more :class:`DataFrame` objects,
275278
if one of the DataFrames was empty or had all-NA values, its dtype was
276279
*sometimes* ignored when finding the concatenated dtype. These are now
@@ -301,9 +304,15 @@ object, the ``np.nan`` is retained.
301304

302305
*New behavior*:
303306

304-
.. ipython:: python
307+
.. code-block:: ipython
308+
309+
In [4]: res
310+
Out[4]:
311+
bar
312+
0 2013-01-01 00:00:00
313+
1 NaN
314+
305315
306-
res
307316
308317
.. _whatsnew_140.notable_bug_fixes.value_counts_and_mode_do_not_coerce_to_nan:
309318

0 commit comments

Comments
 (0)