Skip to content

Commit fa1086b

Browse files
committed
Merge branch 'master' into release
2 parents a9d1cf5 + b7a859d commit fa1086b

File tree

16 files changed

+2316
-1808
lines changed

16 files changed

+2316
-1808
lines changed

.github/workflows/ci.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ jobs:
1010
strategy:
1111
matrix:
1212
platform: [ubuntu-latest, macos-latest, windows-latest]
13-
python-version: ['3.7', '3.8', '3.10', '3.11']
13+
python-version: ['3.8', '3.10', '3.11', '3.12']
1414
defaults:
1515
run:
1616
shell: bash
1717

1818
steps:
19-
- uses: actions/checkout@v2
19+
- uses: actions/checkout@v4
2020
- name: Set up Python ${{ matrix.python-version }}
21-
uses: actions/setup-python@v2
21+
uses: actions/setup-python@v5
2222
with:
2323
python-version: ${{ matrix.python-version }}
2424
- name: Upgrade pip
@@ -44,19 +44,19 @@ jobs:
4444
run: poetry run flake8 ./piso
4545
- name: Test with pytest
4646
run: |
47-
poetry run pytest ./tests --junitxml=junit/test-results-${{ matrix.python-version }}.xml --cov=piso --cov-report=xml
47+
poetry run pytest ./tests --junitxml=junit/test-results-${{ matrix.platform }}-${{ matrix.python-version }}.xml --cov=piso --cov-report=xml
4848
codecov
4949
- name: Upload pytest test results
50-
uses: actions/upload-artifact@v2
50+
uses: actions/upload-artifact@v4
5151
with:
52-
name: pytest-results-${{ matrix.python-version }}
53-
path: junit/test-results-${{ matrix.python-version }}.xml
52+
name: pytest-results-${{ matrix.platform }}-${{ matrix.python-version }}
53+
path: junit/test-results-${{ matrix.platform }}-${{ matrix.python-version }}.xml
5454
# Use always() to always run this step to publish test results when there are test failures
5555
if: ${{ always() }}
5656
- name: Upload coverage to Codecov
57-
uses: codecov/codecov-action@v3
57+
uses: codecov/codecov-action@v4
5858
with:
5959
token: ${{ secrets.CODECOV_TOKEN }}
60-
fail_ci_if_error: true
60+
fail_ci_if_error: false
6161

6262

.github/workflows/pre-commit.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ jobs:
1111
group: ${{ github.ref }}-pre-commit
1212
cancel-in-progress: ${{github.event_name == 'pull_request'}}
1313
steps:
14-
- uses: actions/checkout@v3
15-
- uses: actions/setup-python@v3
14+
- uses: actions/checkout@v4
15+
- uses: actions/setup-python@v5
1616
- uses: pre-commit/[email protected]

docs/general_requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ipykernel
2-
sphinx
2+
sphinx >= 5
33
nbsphinx
44
sphinx-panels
55
staircase >= 2.1
@@ -9,3 +9,4 @@ Pygments
99
pydata-sphinx-theme
1010
toml
1111
numpydoc
12+
matplotlib >= 3.7

docs/release_notes/index.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ Release notes
55
========================
66

77

8+
**v1.1.0 2024-06-25**
9+
10+
- support for Python 3.12 added
11+
- support for Python 3.7 removed
12+
13+
814
**v1.0.0 2023-07-05**
915

1016
- Compatibility with pandas 2

docs/requirements.txt

Lines changed: 86 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,86 @@
1-
ipykernel
2-
sphinx
3-
nbsphinx
4-
sphinx-panels
5-
staircase >= 2.1
6-
pandas
7-
numpy
8-
Pygments
9-
pydata-sphinx-theme
10-
toml
11-
numpydoc
1+
accessible-pygments==0.0.5
2+
alabaster==0.7.16
3+
appnope==0.1.4
4+
asttokens==2.4.1
5+
attrs==23.2.0
6+
Babel==2.15.0
7+
beautifulsoup4==4.12.3
8+
bleach==6.1.0
9+
certifi==2024.6.2
10+
charset-normalizer==3.3.2
11+
comm==0.2.2
12+
contourpy==1.2.1
13+
cycler==0.12.1
14+
debugpy==1.8.1
15+
decorator==5.1.1
16+
defusedxml==0.7.1
17+
docutils==0.21.2
18+
executing==2.0.1
19+
fastjsonschema==2.20.0
20+
fonttools==4.53.0
21+
idna==3.7
22+
imagesize==1.4.1
23+
ipykernel==6.29.4
24+
ipython==8.25.0
25+
jedi==0.19.1
26+
Jinja2==3.1.4
27+
jsonschema==4.22.0
28+
jsonschema-specifications==2023.12.1
29+
jupyter_client==8.6.2
30+
jupyter_core==5.7.2
31+
jupyterlab_pygments==0.3.0
32+
kiwisolver==1.4.5
33+
MarkupSafe==2.1.5
34+
matplotlib==3.9.0
35+
matplotlib-inline==0.1.7
36+
mistune==3.0.2
37+
nbclient==0.10.0
38+
nbconvert==7.16.4
39+
nbformat==5.10.4
40+
nbsphinx==0.9.4
41+
nest-asyncio==1.6.0
42+
numpy==1.26.4
43+
numpydoc==1.7.0
44+
packaging==24.1
45+
pandas==2.2.2
46+
pandocfilters==1.5.1
47+
parso==0.8.4
48+
pexpect==4.9.0
49+
pillow==10.3.0
50+
platformdirs==4.2.2
51+
prompt_toolkit==3.0.47
52+
psutil==6.0.0
53+
ptyprocess==0.7.0
54+
pure-eval==0.2.2
55+
pydata-sphinx-theme==0.15.3
56+
Pygments==2.18.0
57+
pyparsing==3.1.2
58+
python-dateutil==2.9.0.post0
59+
pytz==2024.1
60+
pyzmq==26.0.3
61+
referencing==0.35.1
62+
requests==2.32.3
63+
rpds-py==0.18.1
64+
six==1.16.0
65+
snowballstemmer==2.2.0
66+
soupsieve==2.5
67+
Sphinx==7.3.7
68+
sphinx-panels==0.4.1
69+
sphinxcontrib-applehelp==1.0.8
70+
sphinxcontrib-devhelp==1.0.6
71+
sphinxcontrib-htmlhelp==2.0.5
72+
sphinxcontrib-jsmath==1.0.1
73+
sphinxcontrib-qthelp==1.0.7
74+
sphinxcontrib-serializinghtml==1.1.10
75+
stack-data==0.6.3
76+
staircase==2.6.0
77+
tabulate==0.9.0
78+
tinycss2==1.3.0
79+
toml==0.10.2
80+
tornado==6.4.1
81+
traitlets==5.14.3
82+
typing_extensions==4.12.2
83+
tzdata==2024.1
84+
urllib3==2.2.2
85+
wcwidth==0.2.13
86+
webencodings==0.5.1

docs/user_guide/case_studies/calendar.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ and where the values are instances of :class:`pandas.arrays.IntervalArray` and h
5757
df["end"],
5858
closed="left",
5959
),
60+
include_groups=False,
6061
)
6162
)
6263
meetings

docs/user_guide/case_studies/football.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ Using this dataframe we will now provide answers for miscellaneous questions. I
9999
.. ipython:: python
100100
101101
CvsL.groupby("half").apply(
102-
lambda df: df.query("score_liverpool - score_chelsea == 1").index.length.sum()
102+
lambda df: df.query("score_liverpool - score_chelsea == 1").index.length.sum(),
103+
include_groups=False,
103104
)
104105
105106
**What was the score at the 80 minute mark?**

docs/user_guide/case_studies/maintenance.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ where the values are instances of :class:`pandas.arrays.IntervalArray`.
5454
df["end"],
5555
closed="left",
5656
),
57+
include_groups=False,
5758
)
5859
)
5960
maintenance

piso/docstrings/accessor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -955,7 +955,7 @@ def join_params(list_of_param_strings):
955955
or equal to the threshold. Overlapping intervals will be merged, regardless of threshold value.
956956
957957
The intervals are contained in the object the accessor belongs to. They may be left-closed,
958-
right-closed, both, or neither, and contain overlapping intervals.
958+
or right-closed, and contain overlapping intervals.
959959
960960
Parameters
961961
----------

piso/docstrings/intervalarray.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -899,8 +899,8 @@ def join_params(list_of_param_strings):
899899
Given a set of intervals, and a threshold, merges intervals which are separated by a gap less than
900900
or equal to the threshold. Overlapping intervals will be merged, regardless of threshold value.
901901
902-
The intervals are contained in the object the accessor belongs to. They may be left-closed,
903-
right-closed, both, or neither, and contain overlapping intervals.
902+
The intervals are contained in the object the accessor belongs to. They may be left-closed or
903+
right-closed, and contain overlapping intervals.
904904
905905
Parameters
906906
----------

piso/ndframe.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def _get_indexers(*dfs):
5757

5858

5959
def _handle_overlapping_columns(frames, suffixes):
60-
col_counts = pd.Series.value_counts(list(itertools.chain.from_iterable(frames)))
60+
col_counts = pd.Series(list(itertools.chain.from_iterable(frames))).value_counts()
6161
common_columns = col_counts[col_counts > 1].index
6262
if len(common_columns) > 0:
6363
if len(suffixes) != len(frames):

0 commit comments

Comments
 (0)