Skip to content

Commit 4d05279

Browse files
authored
Merge pull request #64 from codrsquad/retire-eol
Retired EOL versions
2 parents 10e7a5b + 7a9427d commit 4d05279

File tree

5 files changed

+16
-24
lines changed

5 files changed

+16
-24
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313

1414
strategy:
1515
matrix:
16-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
16+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
1717

1818
steps:
1919
- uses: actions/checkout@v4

DEVELOP.md

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
1-
# How to create a dev venv
1+
# Local development
22

3-
If you have tox, you can run: `tox -re venv`, that will get you a `.venv/`
4-
ready to go.
5-
6-
If you don't have tox, you can run this (any python 3.6+ will do):
3+
Create a dev venv:
74

85
```shell
9-
rm -rf .venv
10-
/usr/bin/python3 -mvenv .venv
11-
.venv/bin/pip install -U pip
12-
.venv/bin/pip install -r requirements.txt -r tests/requirements.txt
13-
.venv/bin/pip install -e .
6+
uv venv
7+
uv pip install -r requirements.txt -r tests/requirements.txt
8+
uv pip install -e .
149
```
1510

1611
You can then run `portable-python` from that venv:
@@ -24,10 +19,8 @@ You can then run `portable-python` from that venv:
2419
# Run the tests
2520

2621
If you have tox, just run: `tox` to run all the tests. You can also run:
27-
- `tox -e py39` to run with just one python version
22+
- `tox -e py313` to run with just one python version
2823
- `tox -e style` to check PEP8 formatting
29-
- `tox -r` if you changed any `requirements.txt` (`-r` is short for `--recreate`)
30-
- `tox -re py39` to recreate and run `py39` only
3124
- etc
3225

3326
If you don't have tox, you can run the tests with: `.venv/bin/pytest tests/`
@@ -49,7 +42,7 @@ You can easily run `portable-python` in a debugger.
4942
In PyCharm for example, you would simply browse to `.venv/bin/portable-python`
5043
then right-click and select "Debug portable-python".
5144
You can then edit the build/run configuration in PyCharm, add some "Parameters" to it,
52-
like for example `build-report 3.10.5`, and then set breakpoints wherever you like.
45+
like for example `build-report 3.13.2`, and then set breakpoints wherever you like.
5346

5447
There is a `--dryrun` mode that can come in very handy for rapid iterations.
5548

@@ -71,5 +64,5 @@ docker run -it -v./:/src/ portable-python-jammy /bin/bash
7164
Now inside docker, you run a build:
7265

7366
```shell
74-
portable-python build 3.11.4
67+
portable-python build 3.13.2
7568
```

setup.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
author="Zoran Simic [email protected]",
88
keywords="python, portable, binary",
99
url="https://github.com/codrsquad/portable-python",
10-
python_requires=">=3.8",
10+
python_requires=">=3.9",
1111
entry_points={
1212
"console_scripts": [
1313
"portable-python = portable_python.__main__:main",
@@ -22,7 +22,6 @@
2222
"Operating System :: Unix",
2323
"Programming Language :: Python",
2424
"Programming Language :: Python :: 3",
25-
"Programming Language :: Python :: 3.8",
2625
"Programming Language :: Python :: 3.9",
2726
"Programming Language :: Python :: 3.10",
2827
"Programming Language :: Python :: 3.11",

src/portable_python/versions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def get_builder(self):
7474
class CPythonFamily(VersionFamily):
7575
"""Implementation for cpython"""
7676

77-
min_version = "3.7" # Earliest non-EOL known to compile well
77+
min_version = "3.9" # Earliest non-EOL known to compile well
7878

7979
@runez.cached_property
8080
def client(self):

tests/test_list.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
GH_CPYTHON_SAMPLE = """
88
[
99
{"ref": "refs/tags/v3.9.7"},
10-
{"ref": "refs/tags/v3.8.12"},
10+
{"ref": "refs/tags/v3.13.3"},
1111
{"ref": "refs/tags/v3.5.10"}
1212
]
1313
"""
1414

1515
PYTHON_ORG_SAMPLE = """
1616
<a href="3.9.5/">3.9.5/</a>
1717
<a href="3.9.6/">3.9.6/</a>
18-
<a href="3.8.11/">3.9.11/</a>
18+
<a href="3.13.2/">3.13.2/</a>
1919
<a href="3.5.10/">3.5.10/</a>
2020
"""
2121

@@ -34,12 +34,12 @@ def test_list(cli, monkeypatch):
3434
assert setup.python_spec.version == PPG.cpython.latest
3535

3636
cp = CPythonFamily()
37-
assert str(cp.latest) == "3.9.6"
37+
assert str(cp.latest) == "3.13.2"
3838

3939
monkeypatch.setattr(PPG.cpython, "_versions", None)
4040
cli.run("list")
4141
assert cli.succeeded
42-
assert cli.logged.stdout.contents().strip() == "cpython:\n 3.9: 3.9.6\n 3.8: 3.8.11"
42+
assert cli.logged.stdout.contents().strip() == "cpython:\n 3.13: 3.13.2\n 3.9: 3.9.6"
4343

4444
cli.run("list", "--json")
4545
assert cli.succeeded
@@ -52,4 +52,4 @@ def test_list(cli, monkeypatch):
5252
monkeypatch.setattr(PPG.cpython, "_versions", None)
5353
cli.run("-c", cli.tests_path("sample-config1.yml"), "list")
5454
assert cli.succeeded
55-
assert cli.logged.stdout.contents().strip() == "cpython:\n 3.9: 3.9.7\n 3.8: 3.8.12"
55+
assert cli.logged.stdout.contents().strip() == "cpython:\n 3.13: 3.13.3\n 3.9: 3.9.7"

0 commit comments

Comments
 (0)