Skip to content

Commit 59d0cf2

Browse files
committed
Merge remote-tracking branch 'upstream/main' into cmake-build
2 parents d43a292 + d40c371 commit 59d0cf2

Some content is hidden

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

69 files changed

+844
-491
lines changed

.github/workflows/code-checks.yml

+29
Original file line numberDiff line numberDiff line change
@@ -157,3 +157,32 @@ jobs:
157157

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

.github/workflows/comment_bot.yml

-40
This file was deleted.

.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

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/whatsnew/v1.4.3.rst

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Fixed regressions
1818
- Fixed regression in :meth:`DataFrame.to_csv` raising error when :class:`DataFrame` contains extension dtype categorical column (:issue:`46297`, :issue:`46812`)
1919
- Fixed regression in representation of ``dtypes`` attribute of :class:`MultiIndex` (:issue:`46900`)
2020
- Fixed regression when setting values with :meth:`DataFrame.loc` updating :class:`RangeIndex` when index was set as new column and column was updated afterwards (:issue:`47128`)
21+
- Fixed regression in :meth:`DataFrame.fillna` and :meth:`DataFrame.update` creating a copy when updating inplace (:issue:`47188`)
2122
- Fixed regression in :meth:`DataFrame.nsmallest` led to wrong results when ``np.nan`` in the sorting column (:issue:`46589`)
2223
- Fixed regression in :func:`read_fwf` raising ``ValueError`` when ``widths`` was specified with ``usecols`` (:issue:`46580`)
2324
- Fixed regression in :func:`concat` not sorting columns for mixed column names (:issue:`47127`)

doc/source/whatsnew/v1.5.0.rst

+3
Original file line numberDiff line numberDiff line change
@@ -810,6 +810,7 @@ Indexing
810810
^^^^^^^^
811811
- Bug in :meth:`loc.__getitem__` with a list of keys causing an internal inconsistency that could lead to a disconnect between ``frame.at[x, y]`` vs ``frame[y].loc[x]`` (:issue:`22372`)
812812
- Bug in :meth:`DataFrame.iloc` where indexing a single row on a :class:`DataFrame` with a single ExtensionDtype column gave a copy instead of a view on the underlying data (:issue:`45241`)
813+
- Bug in :meth:`DataFrame.__getitem__` returning copy when :class:`DataFrame` has duplicated columns even if a unique column is selected (:issue:`45316`, :issue:`41062`)
813814
- Bug in :meth:`Series.align` does not create :class:`MultiIndex` with union of levels when both MultiIndexes intersections are identical (:issue:`45224`)
814815
- Bug in setting a NA value (``None`` or ``np.nan``) into a :class:`Series` with int-based :class:`IntervalDtype` incorrectly casting to object dtype instead of a float-based :class:`IntervalDtype` (:issue:`45568`)
815816
- Bug in indexing setting values into an ``ExtensionDtype`` column with ``df.iloc[:, i] = values`` with ``values`` having the same dtype as ``df.iloc[:, i]`` incorrectly inserting a new array instead of setting in-place (:issue:`33457`)
@@ -861,8 +862,10 @@ I/O
861862
- Bug in :func:`read_csv` not recognizing line break for ``on_bad_lines="warn"`` for ``engine="c"`` (:issue:`41710`)
862863
- Bug in :meth:`DataFrame.to_csv` not respecting ``float_format`` for ``Float64`` dtype (:issue:`45991`)
863864
- Bug in :func:`read_csv` not respecting a specified converter to index columns in all cases (:issue:`40589`)
865+
- Bug in :func:`read_csv` interpreting second row as :class:`Index` names even when ``index_col=False`` (:issue:`46569`)
864866
- Bug in :func:`read_parquet` when ``engine="pyarrow"`` which caused partial write to disk when column of unsupported datatype was passed (:issue:`44914`)
865867
- Bug in :func:`DataFrame.to_excel` and :class:`ExcelWriter` would raise when writing an empty DataFrame to a ``.ods`` file (:issue:`45793`)
868+
- Bug in :func:`read_excel` raising uncontrolled ``IndexError`` when ``header`` references non-existing rows (:issue:`43143`)
866869
- Bug in :func:`read_html` where elements surrounding ``<br>`` were joined without a space between them (:issue:`29528`)
867870
- Bug in :func:`read_csv` when data is longer than header leading to issues with callables in ``usecols`` expecting strings (:issue:`46997`)
868871
- Bug in Parquet roundtrip for Interval dtype with ``datetime64[ns]`` subtype (:issue:`45881`)

environment.yml

+77-75
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,86 @@
1+
# Local development dependencies including docs building, website upload, ASV benchmark
12
name: pandas-dev
23
channels:
34
- conda-forge
45
dependencies:
5-
# required
6-
- numpy>=1.19.5
76
- python=3.8
8-
- python-dateutil>=2.8.1
7+
8+
# test dependencies
9+
- cython=0.29.30
10+
- pytest>=6.0
11+
- pytest-cov
12+
- pytest-xdist>=1.31
13+
- psutil
14+
- pytest-asyncio>=0.17
15+
- boto3
16+
17+
# required dependencies
18+
- python-dateutil
19+
- numpy
920
- pytz
1021

22+
# optional dependencies
23+
- beautifulsoup4
24+
- blosc
25+
- brotlipy
26+
- bottleneck
27+
- fastparquet
28+
- fsspec
29+
- html5lib
30+
- hypothesis
31+
- gcsfs
32+
- jinja2
33+
- lxml
34+
- matplotlib
35+
- numba>=0.53.1
36+
- numexpr>=2.8.0 # pin for "Run checks on imported code" job
37+
- openpyxl
38+
- odfpy
39+
- pandas-gbq
40+
- psycopg2
41+
- pyarrow
42+
- pymysql
43+
- pyreadstat
44+
- pytables
45+
- python-snappy
46+
- pyxlsb
47+
- s3fs
48+
- scipy
49+
- sqlalchemy
50+
- tabulate
51+
- xarray
52+
- xlrd
53+
- xlsxwriter
54+
- xlwt
55+
- zstandard
56+
57+
# downstream packages
58+
- aiobotocore<2.0.0 # GH#44311 pinned to fix docbuild
59+
- botocore
60+
- cftime
61+
- dask
62+
- ipython
63+
- geopandas-base
64+
- seaborn
65+
- scikit-learn
66+
- statsmodels
67+
- coverage
68+
- pandas-datareader
69+
- pyyaml
70+
- py
71+
- pytorch
72+
73+
# local testing dependencies
74+
- moto
75+
- flask
76+
1177
# benchmarks
1278
- asv
1379

14-
# building
1580
# The compiler packages are meta-packages and install the correct compiler (activation) packages on the respective platforms.
1681
- cmake>=3.18.0
1782
- c-compiler
1883
- cxx-compiler
19-
- cython>=0.29.30
2084

2185
# code checks
2286
- black=22.3.0
@@ -33,10 +97,11 @@ dependencies:
3397
# documentation
3498
- gitpython # obtain contributors from git for whatsnew
3599
- gitdb
100+
- natsort # DataFrame.sort_values doctest
36101
- numpydoc
37102
- pandas-dev-flaker=0.5.0
38103
- pydata-sphinx-theme=0.8.0
39-
- pytest-cython
104+
- pytest-cython # doctest
40105
- sphinx
41106
- sphinx-panels
42107
- types-python-dateutil
@@ -48,77 +113,14 @@ dependencies:
48113
- nbconvert>=6.4.5
49114
- nbsphinx
50115
- pandoc
51-
52-
# Dask and its dependencies (that dont install with dask)
53-
- dask-core
54-
- toolz>=0.7.3
55-
- partd>=0.3.10
56-
- cloudpickle>=0.2.1
57-
58-
# web (jinja2 is also needed, but it's also an optional pandas dependency)
59-
- markdown
60-
- feedparser
61-
- pyyaml
62-
- requests
63-
64-
# testing
65-
- boto3
66-
- botocore>=1.11
67-
- hypothesis>=5.5.3
68-
- moto # mock S3
69-
- flask
70-
- pytest>=6.0
71-
- pytest-cov
72-
- pytest-xdist>=1.31
73-
- pytest-asyncio>=0.17
74-
- pytest-instafail
75-
76-
# downstream tests
77-
- seaborn
78-
- statsmodels
79-
80-
# unused (required indirectly may be?)
81116
- ipywidgets
82117
- nbformat
83118
- notebook>=6.0.3
84-
85-
# optional
86-
- blosc
87-
- bottleneck>=1.3.1
88119
- ipykernel
89-
- ipython>=7.11.1
90-
- jinja2 # pandas.Styler
91-
- matplotlib>=3.3.2 # pandas.plotting, Series.plot, DataFrame.plot
92-
- numexpr>=2.7.1
93-
- scipy>=1.4.1
94-
- numba>=0.50.1
95-
96-
# optional for io
97-
# ---------------
98-
# pd.read_html
99-
- beautifulsoup4>=4.8.2
100-
- html5lib
101-
- lxml
102-
103-
# pd.read_excel, DataFrame.to_excel, pd.ExcelWriter, pd.ExcelFile
104-
- openpyxl
105-
- xlrd
106-
- xlsxwriter
107-
- xlwt
108-
- odfpy
109-
110-
- fastparquet>=0.4.0 # pandas.read_parquet, DataFrame.to_parquet
111-
- pyarrow>2.0.1 # pandas.read_parquet, DataFrame.to_parquet, pandas.read_feather, DataFrame.to_feather
112-
- python-snappy # required by pyarrow
113120

114-
- pytables>=3.6.1 # pandas.read_hdf, DataFrame.to_hdf
115-
- s3fs>=0.4.0 # file IO when using 's3://...' path
116-
- aiobotocore<2.0.0 # GH#44311 pinned to fix docbuild
117-
- fsspec>=0.7.4 # for generic remote file operations
118-
- gcsfs>=0.6.0 # file IO when using 'gcs://...' path
119-
- sqlalchemy # pandas.read_sql, DataFrame.to_sql
120-
- xarray # DataFrame.to_xarray
121-
- cftime # Needed for downstream xarray.CFTimeIndex test
122-
- pyreadstat # pandas.read_spss
123-
- tabulate>=0.8.3 # DataFrame.to_markdown
124-
- natsort # DataFrame.sort_values
121+
# web
122+
- jinja2 # in optional dependencies, but documented here as needed
123+
- markdown
124+
- feedparser
125+
- pyyaml
126+
- requests

0 commit comments

Comments
 (0)