Skip to content

Commit 7bf9fb9

Browse files
authored
Add Python 3.13 support; drop Python 3.7 support (#50)
1 parent 2dd657d commit 7bf9fb9

File tree

8 files changed

+25
-26
lines changed

8 files changed

+25
-26
lines changed

.github/workflows/codspeed.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- uses: actions/checkout@v4
1818
- uses: actions/setup-python@v5
1919
with:
20-
python-version: "3.12" # use the latest version of Python because it is faster
20+
python-version: "3.13" # use the latest version of Python because it is faster
2121

2222
- name: Install python dependencies.
2323
run: pip install -r pytests/requirements.txt

.github/workflows/release.yml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,18 @@ jobs:
2929
- os: windows
3030
target: i686
3131
python-architecture: x86
32-
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
32+
interpreter: 3.8 3.9 3.10 3.11 3.12 3.13
3333
- os: windows
3434
target: aarch64
35-
interpreter: 3.11 3.12
35+
interpreter: 3.11 3.12 3.13
3636

3737
- os: macos
3838
target: x86_64
3939
interpreter: pypy3.8 pypy3.9 pypy3.10
4040
- os: macos
4141
target: aarch64
4242
# actions/setup-python@v5 does not support 3.8 and 3.9 on arm64
43-
interpreter: 3.7 3.8 3.9 pypy3.8 pypy3.9 pypy3.10
43+
interpreter: 3.8 3.9 pypy3.8 pypy3.9 pypy3.10
4444

4545
- os: ubuntu
4646
target: x86_64
@@ -51,13 +51,13 @@ jobs:
5151
target: aarch64
5252
- os: ubuntu
5353
target: armv7
54-
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
54+
interpreter: 3.8 3.9 3.10 3.11 3.12 3.13
5555
- os: ubuntu
5656
target: ppc64le
57-
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
57+
interpreter: 3.8 3.9 3.10 3.11 3.12 3.13
5858
- os: ubuntu
5959
target: s390x
60-
interpreter: 3.7 3.8 3.9 3.10 3.11 3.12
60+
interpreter: 3.8 3.9 3.10 3.11 3.12 3.13
6161

6262
- os: ubuntu
6363
target: x86_64
@@ -90,7 +90,7 @@ jobs:
9090
target: ${{ matrix.target }}
9191
manylinux: ${{ matrix.manylinux || 'auto' }}
9292
container: ${{ matrix.container }}
93-
args: --release --out dist --interpreter ${{ matrix.maturin-interpreter || matrix.interpreter || '3.7 3.8 3.9 3.10 3.11 3.12 pypy3.7 pypy3.8 pypy3.9 pypy3.10' }} ${{ matrix.extra-build-args }}
93+
args: --release --out dist --interpreter ${{ matrix.maturin-interpreter || matrix.interpreter || '3.8 3.9 3.10 3.11 3.12 3.13 pypy3.8 pypy3.9 pypy3.10' }} ${{ matrix.extra-build-args }}
9494
rust-toolchain: 1.76.0
9595
docker-options: -e CI
9696

@@ -109,10 +109,8 @@ jobs:
109109
fail-fast: false
110110
matrix:
111111
os: [ ubuntu-latest, windows-latest, macos-12, macos-14 ]
112-
interpreter: [ '3.7', '3.8', '3.9', '3.10', '3.11', '3.12' ]
112+
interpreter: [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13' ]
113113
exclude:
114-
- os: macos-14
115-
interpreter: '3.7'
116114
# actions/setup-python@v5 does not support 3.8 and 3.9 on arm64
117115
- os: macos-14
118116
interpreter: '3.8'
@@ -207,7 +205,7 @@ jobs:
207205
- uses: actions/checkout@v4
208206
- uses: actions/setup-python@v5
209207
with:
210-
python-version: '3.12'
208+
python-version: '3.13'
211209

212210
- name: Get dist artifacts.
213211
uses: actions/download-artifact@v4

.github/workflows/test.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ jobs:
1616
- name: Set up Python.
1717
uses: actions/setup-python@v5
1818
with:
19-
python-version: 3.7
19+
# minimum supported version
20+
python-version: 3.8
2021

2122
- name: Install dependencies.
2223
run: |

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
[package]
22
name = "libipld"
3-
version = "2.0.0"
3+
version = "3.0.0"
44
edition = "2021"
55
license = "MIT"
66
description = "Python binding to the Rust IPLD library"
77
authors = ["Ilya (Marshal) <[email protected]>"]
8-
keywords = ["python", "binding", "library", "lib", "ipld", "cid", "multibase", "multihash", "dag", "cbor", "json", "pb", "dag-cbor", "dag-json", "dag-pb"]
8+
keywords = ["python", "binding", "library", "lib", "ipld", "cid", "multibase", "multihash", "dag", "cbor", "json", "pb", "dag-cbor", "dag-json"]
99

1010
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1111
[lib]
1212
name = "libipld"
1313
crate-type = ["rlib", "cdylib"]
1414

1515
[dependencies]
16-
pyo3 = { version = "0.22.2", features = ["generate-import-lib", "anyhow"] }
17-
python3-dll-a = "0.2.7"
16+
pyo3 = { version = "0.22.5", features = ["generate-import-lib", "anyhow"] }
17+
python3-dll-a = "0.2.10"
1818
anyhow = "1.0.75"
1919
libipld = { version = "0.16.0", features = ["dag-cbor"] }
2020
multibase = "0.9"

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2023 Ilya Siamionau
3+
Copyright (c) 2024 Ilya Siamionau
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ print(libipld.encode_multibase('u', b'yes mani !'))
3636
- Encode Multibase (`encode_multibase(str, bytes) -> str`). Accepts base and data.
3737
- Decode CAR (`decode_car(bytes) -> tuple[dict, dict[bytes, dict]]`). Returns a header and blocks mapped by CID. CIDs in raw byte form.
3838

39-
Note: stub file will be provided in the future.
39+
Note: a stub file will be provided in the future.
4040

4141
## Requirements
4242

43-
- Python 3.7 or higher.
43+
- Python 3.8 or higher.
4444

4545
## Installing
4646

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ authors = [
77
license = "MIT"
88
repository = "https://github.com/MarshalX/python-libipld"
99
readme = "README.md"
10-
keywords = ["library", "lib", "ipld", "cid", "multibase", "multihash", "dag", "cbor", "json", "pb", "dag-cbor", "dag-json", "dag-pb"]
11-
requires-python = ">=3.7"
10+
keywords = ["library", "lib", "ipld", "cid", "multibase", "multihash", "dag", "cbor", "json", "pb", "dag-cbor", "dag-json"]
11+
requires-python = ">=3.8"
1212
classifiers = [
1313
"Development Status :: 5 - Production/Stable",
1414
"Intended Audience :: Developers",
@@ -20,12 +20,12 @@ classifiers = [
2020
"Programming Language :: Python :: Implementation :: CPython",
2121
"Programming Language :: Python :: Implementation :: PyPy",
2222
"Programming Language :: Python :: 3 :: Only",
23-
"Programming Language :: Python :: 3.7",
2423
"Programming Language :: Python :: 3.8",
2524
"Programming Language :: Python :: 3.9",
2625
"Programming Language :: Python :: 3.10",
2726
"Programming Language :: Python :: 3.11",
2827
"Programming Language :: Python :: 3.12",
28+
"Programming Language :: Python :: 3.13",
2929
"Topic :: Software Development",
3030
"Topic :: Software Development :: Libraries :: Python Modules",
3131
"Topic :: Software Development :: Pre-processors",

pytests/requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
pytest==7.4.4
1+
pytest==8.3.3
22
pytest-benchmark==4.0.0
3-
pytest-codspeed==2.2.0
4-
pytest-xdist==3.5.0
3+
pytest-codspeed==3.0.0b4
4+
pytest-xdist==3.6.1

0 commit comments

Comments
 (0)