Skip to content

Commit e3a2ac5

Browse files
authored
feat: remove python 3.8 and add support for 3.12 and 3.13 (#44)
* feat: remove python 3.8 and add support for 3.12 and 3.13 * chore: update actions versions to make CI work
1 parent 8489a59 commit e3a2ac5

File tree

9 files changed

+446
-382
lines changed

9 files changed

+446
-382
lines changed

.github/workflows/pythonpackage.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ jobs:
1010
environment: github-action-ci
1111
strategy:
1212
matrix:
13-
PYTHON_VERSION: ["3.8", "3.9", "3.10", "3.11"]
13+
PYTHON_VERSION: ["3.9", "3.10", "3.11", "3.12", "3.13"]
1414
steps:
15-
- uses: actions/checkout@v2
15+
- uses: actions/checkout@v4
1616
with:
1717
submodules: 'true'
1818

@@ -36,7 +36,7 @@ jobs:
3636
run: poetry config virtualenvs.in-project true
3737

3838
- name: Set up cache
39-
uses: actions/cache@v2
39+
uses: actions/cache@v4
4040
id: cache
4141
with:
4242
path: .venv

.github/workflows/wheels.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ${{ matrix.platform.os }}
1212
strategy:
1313
matrix:
14-
python: [cp38, cp39, cp310, cp311]
14+
python: [cp39, cp310, cp311, cp312, cp313]
1515
platform:
1616
- os: ubuntu-24.04
1717
target: manylinux
@@ -43,7 +43,7 @@ jobs:
4343
# Used to host cibuildwheel
4444
- uses: actions/setup-python@v4
4545
with:
46-
python-version: 3.8
46+
python-version: 3.9
4747

4848
- name: Install cibuildwheel
4949
run: python -m pip install cibuildwheel==2.15.0

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
build:
22
os: ubuntu-22.04
33
tools:
4-
python: "3.8"
4+
python: "3.9"
55
version: 2
66
submodules:
77
include: all

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ conda activate pybedlite
6363

6464
[rtd-link]: http://pybedlite.readthedocs.org/en/stable
6565

66-
**Requires python 3.8+** (for python < 3.8, please use pybedlite <= 0.0.3)
66+
**Requires python 3.9+**
6767

6868
# Getting Setup for Development Work
6969

@@ -77,7 +77,7 @@ git clone --recurse-submodules https://github.com/fulcrumgenomics/pybedlite.git
7777
A simple way to create an environment with the desired version of python and poetry is to use [conda][conda-link]. E.g.:
7878

7979
```bash
80-
conda create -n pybedlite python=3.8 poetry
80+
conda create -n pybedlite python=3.9 poetry
8181
conda activate pybedlite
8282
poetry install
8383
```

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
'sphinx.ext.intersphinx',
3333
'sphinx.ext.napoleon']
3434

35-
intersphinx_mapping = {'python': ('http://docs.python.org/3.8', None)}
35+
intersphinx_mapping = {'python': ('http://docs.python.org/3.9', None)}
3636

3737
# Add any paths that contain templates here, relative to this directory.
3838
templates_path = ['_templates']

docs/installation.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Installation
33
============
44

5-
**Requires python 3.8+**
5+
**Requires python 3.9+**
66

77
Install with::
88

@@ -17,7 +17,7 @@ Getting Setup
1717
A simple way to create an environment with the desired version of python and poetry is to use `conda <https://docs.conda.io/en/latest/miniconda.html>`_.
1818
E.g.::
1919

20-
conda create -n pybedlite python=3.8 poetry
20+
conda create -n pybedlite python=3.9 poetry
2121
conda activate pybedlite
2222
poetry install
2323

poetry.lock

Lines changed: 432 additions & 368 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pybedlite/tests/test_overlap_detector.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ def test_construction_from_ucsc_with_strand(strand: str) -> None:
213213
`Interval.from_ucsc()` should correctly parse UCSC position-formatted strings with strands.
214214
"""
215215
expected_interval = Interval("chr1", 100, 200, negative=(strand == "-"))
216-
assert Interval.from_ucsc(f"chr1:101-200({strand})") == expected_interval
216+
assert Interval.from_ucsc(f"chr1:101-200({strand})") == expected_interval # noqa: E231
217217

218218

219219
@pytest.mark.parametrize(
@@ -223,7 +223,7 @@ def test_construction_from_ucsc_other_contigs(contig: str) -> None:
223223
"""
224224
`Interval.from_ucsc()` should accommodate non-human, decoy, custom, and other contig names.
225225
"""
226-
assert Interval.from_ucsc(f"{contig}:101-200") == Interval(contig, 100, 200)
226+
assert Interval.from_ucsc(f"{contig}:101-200") == Interval(contig, 100, 200) # noqa: E231
227227

228228

229229
def test_that_overlap_detector_allows_generic_parameterization() -> None:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ include = ["LICENSE"]
2828
packages = [{ include = "pybedlite" }, { include = "cgranges" }]
2929

3030
[tool.poetry.dependencies]
31-
python = "^3.8.0"
31+
python = "^3.9.0"
3232
attrs = "^23.0.0"
3333
sphinx = { version = "^7.0.0", optional = true }
3434

0 commit comments

Comments
 (0)