Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
207 commits
Select commit Hold shift + click to select a range
033d93e
python3: 3.12.10 -> 3.13.3
mweinelt May 15, 2025
f5cb1b9
python313Packages.packaging: 24.2 -> 25.0
mweinelt May 15, 2025
427a439
python313Packages.setuptools: 78.1.0 -> 80.7.1
mweinelt May 15, 2025
f5c2155
python313Packages.setuptools-scm: 8.2.0 -> 8.3.1
mweinelt May 15, 2025
98b0485
python313Packages.hypothesis: 6.130.12 -> 6.131.17
mweinelt May 15, 2025
c9659ef
python313Packages.poetry-core: 2.1.2 -> 2.1.3
mweinelt May 15, 2025
e2daab5
python313Packages.meson-python: 0.17.1 -> 0.18.0
mweinelt May 15, 2025
b23588a
python313Packages.pip: 25.0.1 -> 25.1.1
mweinelt May 15, 2025
4c81a6a
python313Packages.meson-python: refactor and adopt
mweinelt May 15, 2025
5086b18
python313Packages.lxml: 5.3.1 -> 5.4.0
mweinelt May 15, 2025
6729f11
python313Packages.certifi: 2025.01.31 -> 2025.04.26
mweinelt May 15, 2025
6f92d19
python313Packages.sqlalchemy: 2.0.40 -> 2.0.41
mweinelt May 15, 2025
2da4301
python313Packages.urllib3: 2.3.0 -> 2.4.0
mweinelt May 15, 2025
c37ee23
python313Packages.charset-normalizer: 3.4.1 -> 3.4.2
mweinelt May 15, 2025
aebf291
maturin: 1.8.3 -> 1.8.6
mweinelt May 15, 2025
622f925
python313Packages.cryptography: 44.0.2 -> 44.0.3
mweinelt May 15, 2025
13990d0
python313Packages.pydantic-core: 2.33.2 -> 2.33.2
mweinelt May 15, 2025
7072ecf
python313Packages.importlib-metadata: 8.6.1 -> 8.7.0
mweinelt May 15, 2025
9ed0a39
cpython: drop leftover CVE-2025-0398 patch
mweinelt May 15, 2025
e3a83ef
python313Packages.pydantic: 2.11.1 -> 2.11.4
mweinelt May 15, 2025
bc4700d
python313Packages.typer: 0.15.2 -> 0.15.4
mweinelt May 15, 2025
eda6509
python313Packages.aiodns: 3.3.0 -> 3.4.0
mweinelt May 16, 2025
e84aa1b
python313Packages.starlette: 0.46.1 -> 0.46.2
mweinelt May 16, 2025
b1de069
python313Packages.s3transfer: 0.11.2 -> 0.12.0
mweinelt May 16, 2025
a212dc3
python313Packages.pycares: 4.5.0 -> 4.8.0
mweinelt May 16, 2025
a3c1188
python313Packages.aiohttp: 3.11.15 -> 3.11.18
mweinelt May 16, 2025
3ee1b8a
python313Packages.setuptools-rust: 1.11.0 -> 1.11.1
mweinelt May 16, 2025
ac8a061
python313Packages.orjson: 3.10.16 -> 3.10.18
mweinelt May 16, 2025
f05729b
python313Packages.pendulum: 3.0.0 -> 3.1.0
mweinelt May 16, 2025
e49b259
python313Packages.fsspec: 2025.3.1 -> 2025.3.2
mweinelt May 16, 2025
cefa127
python313Packages.platformdirs: 4.3.7 -> 4.3.8
mweinelt May 16, 2025
b2fc3a5
python313Packages.wheel: 0.45.1 -> 0.46.1
mweinelt May 16, 2025
6f6c859
python313Packages.pluggy: 1.5.0 -> 1.6.0
mweinelt May 16, 2025
5a8f3f7
python313Packages.virtualenv: 20.30.0 -> 20.31.2
mweinelt May 16, 2025
374fc1b
python313Packages.yarl: 1.18.3 -> 1.20.0
mweinelt May 16, 2025
2291876
python313Packages.moto: 5.1.1 -> 5.1.4
mweinelt May 16, 2025
9f76f02
python313Packages.frozenlist: 1.5.0 -> 1.6.0
mweinelt May 16, 2025
d4c208d
python313Packages.greenlet: 3.2.1 -> 3.2.2
mweinelt May 16, 2025
c727204
python313Packages.soupsieve: 2.6 -> 2.7
mweinelt May 16, 2025
62beefc
python313Packages.eventlet: 0.38.2 -> 0.40.0
mweinelt May 16, 2025
db61377
python313Packages.more-itertools: 10.6.0 -> 10.7.0
mweinelt May 16, 2025
896c65b
python313Packages.exceptiongroup: 1.2.2 -> 1.3.0
mweinelt May 16, 2025
dd59386
python313Packages.aiobotocore: 2.19.0 -> 2.22.0
mweinelt May 16, 2025
84e4eb2
python313Packages.trove-classifiers: 2025.3.19.19 -> 2025.5.9.12
mweinelt May 16, 2025
9366397
python313Packages.tenacity: 9.0.0 -> 9.1.2
mweinelt May 16, 2025
4992027
python313Packages.rpds-py: 0.24.0 -> 0.25.0
mweinelt May 16, 2025
98f9db9
python313Packages.jsonschema-specifications: 2024.10.1 -> 2025.4.1
mweinelt May 16, 2025
9e134b7
python313Packages.msal: 1.32.0 -> 1.32.3
mweinelt May 16, 2025
a6c4020
python313Packages.dill: 0.3.9 -> 0.4.0
mweinelt May 16, 2025
04b3970
python313Packages.scikit-build-core: 0.11.1 -> 0.11.3
mweinelt May 16, 2025
37ad7f0
python313Packages.pyzmq: 26.3.0 -> 26.4.0
mweinelt May 17, 2025
94b14d6
python313Packages.snowflake-connector-python: 3.14.0 -> 3.15.0
mweinelt May 17, 2025
c3eb1a7
python313Packages.contourpy: 1.3.1 -> 1.3.2
mweinelt May 17, 2025
7bff2c8
python313Packages.joblib: 1.4.2 -> 1.5.0
mweinelt May 17, 2025
eaad77b
python313Packages.prompt-toolkit: 3.0.50 -> 3.0.51
mweinelt May 17, 2025
8d8f2fb
python313Packages.uvicorn: 0.34.0 -> 0.34.2
mweinelt May 17, 2025
2a276b7
python313Packages.matplotlib: 3.10.1 -> 3.10.3
mweinelt May 17, 2025
f76585c
python313Packages.flask: 3.1.0 -> 3.1.1
mweinelt May 17, 2025
08ebc81
python313Packages.rich-toolkit: 0.14.1 -> 0.14.6
mweinelt May 17, 2025
524c752
python313Packages.redis: 5.2.1 -> 6.1.0
mweinelt May 17, 2025
5158e4b
python313Packages.pytest-cov: 6.1.0 -> 6.1.1
mweinelt May 17, 2025
af444d6
python313Packages.openai: 1.78.1 -> 1.79.0
mweinelt May 17, 2025
2b9fac8
python313Packages.termcolor: 3.0.0 -> 3.1.0
mweinelt May 17, 2025
2a759fb
python313Packages.mako: 1.3.9 -> 1.3.10
mweinelt May 17, 2025
e492602
python313Packages.prometheus-client: 0.21.1 -> 0.22.0
mweinelt May 17, 2025
7295f23
python313Packages.sympy: 1.13.3 -> 1.14.0
mweinelt May 17, 2025
6643bc0
python313Packages.multiprocess: 0.70.17 -> 0.70.18
mweinelt May 17, 2025
2dec697
python313Packages.argcomplete: 3.5.3 -> 3.6.2
mweinelt May 17, 2025
49877bd
python313Packages.pycryptodome: 3.21.0 -> 3.22.0
mweinelt May 17, 2025
788cccb
python313Packages.pymongo: 4.11.3 -> 4.13.0
mweinelt May 17, 2025
c4ba9d6
python313Packages.shapely: 2.0.7 -> 2.1.0
mweinelt May 17, 2025
613f985
python313Packages.lz4: 4.4.3 -> 4.4.4
mweinelt May 17, 2025
3f426c4
python313Packages.setproctitle: 1.3.5 -> 1.3.6
mweinelt May 17, 2025
245af4f
python313Packages.gcsfs: 2025.3.1 -> 2025.3.2
mweinelt May 17, 2025
df01bab
python313Packages.mistune: 3.1.2 -> 3.1.3
mweinelt May 17, 2025
c12a154
python313Packages.pydantic-settings: 2.8.1 -> 2.9.1
mweinelt May 17, 2025
7945795
python313Packages.elasticsearch: 8.17.2 -> 9.0.1
mweinelt May 17, 2025
7accf5e
python313Packages.cattrs: 24.1.2 -> 24.1.3
mweinelt May 17, 2025
e7f0482
python313Packages.astroid: 3.3.8 -> 3.3.10
mweinelt May 17, 2025
8e70643
python313Packages.deepdiff: 8.4.1 -> 8.5.0
mweinelt May 17, 2025
4cf1a47
python313Packages.absl-py: 2.2.1 -> 2.2.2
mweinelt May 17, 2025
9f684e9
python313Packages.json5: 0.10.0 -> 0.12.0
mweinelt May 17, 2025
7f41908
python313Packages.python-telegram-bot: 22.0 -> 22.1
mweinelt May 17, 2025
13050a7
python313Packages.pylint: 3.3.6 -> 3.3.7
mweinelt May 17, 2025
af0a7f4
python313Packages.faker: 37.1.0 -> 37.3.0
mweinelt May 17, 2025
38c2714
python313Packages.cryptography: 44.0.3 -> 45.0.2
mweinelt May 17, 2025
0b35082
python313Packages.tox: 4.23.2 -> 4.26.0
mweinelt May 17, 2025
281143f
python313Packages.trio: 0.29.0 -> 0.30.0
mweinelt May 17, 2025
fea291d
hotdoc: 0.15 -> 0.17.4
mweinelt May 17, 2025
6c56a93
python313Packages.pytest-rerunfailures: 15.0 -> 15.1
mweinelt May 17, 2025
8f87882
python313Packages.ijson: 3.3.0 -> 3.4.0
mweinelt May 17, 2025
1eaa012
python313Packages.pycurl: 7.45.3-unstable-2024-10-17 -> 7.45.6
mweinelt May 17, 2025
61c85d0
python313Packages.humanize: 4.12.2 -> 4.12.3
mweinelt May 17, 2025
22d0ab9
python313Packages.kombu: 5.5.2 -> 5.5.3
mweinelt May 17, 2025
3a1f6bf
python3Packages.google-auth: build from source, add maintainer
sarahec May 5, 2025
081054f
python3Packages.google-auth: 2.38.0 -> 2.40.1
sarahec May 15, 2025
449d32a
python3Packages.google-auth-httplib2: build from source, add maintainer
sarahec May 15, 2025
2b8d4e0
python3Packages.google-auth-oauthlib: build from source, add maintainer
sarahec May 15, 2025
ec4806c
python3Packages.google-auth-oauthlib: 1.2.1 -> 1.2.2
sarahec May 15, 2025
ff32a6b
python313Packages.snowballstemmer: 2.2.0 -> 3.0.1
mweinelt May 18, 2025
9a84aaa
python313Packages.brotli: use pep517 builder
mweinelt May 18, 2025
5d7ad53
python313Packages.pytest-django: 4.10.0 -> 4.11.1
mweinelt May 18, 2025
1160e07
python313Packages.google-auth; disable failing test
mweinelt May 18, 2025
52ccfdf
redisTestHook: enable debug and module commands
mweinelt May 18, 2025
ab741ed
python313Packages.valkey: init at 6.1.0
mweinelt May 18, 2025
aba99cb
python313Packages.limits: 4.0.1 -> 5.2.0
mweinelt May 18, 2025
41f6c5a
python313Packages.dacite: 1.8.1 -> 1.9.2
mweinelt May 18, 2025
1281d26
python313Packages.marshmallow-oneofschema: 3.1.1 -> 3.2.0
mweinelt May 18, 2025
afe387e
python313Packages.flask-cors: 5.0.1 -> 6.0.0
mweinelt May 18, 2025
9b6947f
python313Packages.psycopg: 3.2.8 -> 3.2.9
mweinelt May 18, 2025
900e6d6
python313Packages.pytest-timeout: 2.3.1 -> 2.4.0
mweinelt May 18, 2025
ded89dd
python313Packages.elastic-transport: 8.17.0 -> 8.17.1
mweinelt May 18, 2025
27bb003
python313Packages.makefun: 1.15.6 -> 1.16.0
mweinelt May 18, 2025
a43342b
python313Packages.validators: 0.34.0 -> 0.35.0
mweinelt May 18, 2025
1efd049
python313Packages.python-jose: fix cryptography 45.0 compat
mweinelt May 18, 2025
90b8e82
python313Packages.pydot: 3.0.4 -> 4.0.0
mweinelt May 18, 2025
bb57518
python313Packages.cryptography: remove leftover python3.9 conditional
mweinelt May 19, 2025
a86cdb2
python313Packages.pypdf: 5.4.0 -> 5.5.0
mweinelt May 19, 2025
a82025f
python313Packages.pyproject-api: 1.9.0 -> 1.9.1
mweinelt May 19, 2025
3ed9182
python313Packages.jira: 3.9.4 -> 3.10.1
mweinelt May 19, 2025
92fae8c
python313Packages.pyicu: 2.15 -> 2.15.2
mweinelt May 19, 2025
ed4b103
python313Packages.phonenumbers: 9.0.2 -> 9.0.5
mweinelt May 19, 2025
69e90de
python313Packages.markdownify: 0.14.1 -> 1.1.0
mweinelt May 19, 2025
0dbb026
python313Packages.datetime: 5.4 -> 5.5
mweinelt May 19, 2025
04516b3
python313Packages.fastavro: 1.10.0 -> 1.11.1
mweinelt May 19, 2025
7232ef3
python313Packages.deltalake: 0.20.1 -> 0.25.5
mweinelt May 19, 2025
4acc7bf
python313Packages.accelerate: 1.5.2 -> 1.7.0
mweinelt May 19, 2025
aed4e2c
python313Packages.plotly: 5.24.1 -> 6.1.0
mweinelt May 19, 2025
5e4c331
python313Packages.einops: 0.8.0 -> 0.8.1
mweinelt May 19, 2025
ed8cb36
python313Packages.geopandas: fix compat with shapely 2.1.0
mweinelt May 19, 2025
fdd0d57
python313Packages.pymdown-extensions: 10.14.3 -> 10.15
mweinelt May 19, 2025
479d262
python313Packages.pandera: 0.23.1 -> 0.24.0
mweinelt May 19, 2025
7bbd71c
python313Packages.tifffile: 2025.3.30 -> 2025.5.10
mweinelt May 19, 2025
f44d977
python313Packages.stripe: 11.6.0 -> 12.1.0
mweinelt May 19, 2025
378ab60
python313Packages.xarray: 2025.01.2 -> 2025.04.0
mweinelt May 19, 2025
a02be6f
python313Packages.pgvector: 0.3.6 -> 0.4.1
mweinelt May 19, 2025
34bc1e4
python313Packages.pycryptodome: 3.22.0 -> 3.23.0
mweinelt May 19, 2025
5c05b6c
python313Packages.appnope: 0.1.3 -> 0.1.4
mweinelt May 19, 2025
c465b27
python313Packages.reportlab: 4.4.0 -> 4.4.1
mweinelt May 19, 2025
e40d59f
python313Packages.pyhcl: 0.4.4 -> 0.4.5
mweinelt May 19, 2025
23f8a02
python313Packages.bottle: 0.13.2 -> 0.13.3
mweinelt May 19, 2025
a28e04c
python313Packages.pyroute2: 0.8.1 -> 0.9.2
mweinelt May 19, 2025
9752b9a
python313Packages.onnx: 1.17.0 -> 1.18.0
mweinelt May 19, 2025
1627f0a
Revert "python313Packages.pip: 25.0.1 -> 25.1.1"
mweinelt May 19, 2025
626f19d
awsebcli: remove future, relax packaging
kirillrdy May 18, 2025
63c417c
python313Packages.aiohasupervisor: relax setuptools constraint
mweinelt May 19, 2025
6f707fd
python313Packages.fido2: relax cryptography constraint
mweinelt May 19, 2025
8dc61ba
python3Packages.grandalf: remove future
kirillrdy May 19, 2025
2d8a302
python313Packages.fakeredis: 2.26.2 -> 2.29.0
mweinelt May 20, 2025
7ac34f4
python313Packages.confluent-kafka: 2.8.0 -> 2.10.0
mweinelt May 20, 2025
1b6fbe5
python313Packages.llvmlite: pin to llvm 16
mweinelt May 20, 2025
cab7d95
python313Packages.numba: 0.61.0 -> 0.61.2
mweinelt May 20, 2025
ec1d0ce
paperless-ngx: relax redis constraint
mweinelt May 20, 2025
0717d9d
arouteserver: relax packaging constraint
mweinelt May 20, 2025
e4e80ca
python3Packages.googleapis-common-protos: refactor
sarahec May 20, 2025
c2d0bf6
python3Packages.googleapis-common-protos: refactor: 1.69.2 -> 1.70.0
sarahec May 20, 2025
8a55f79
python3Packages.google-api-python-client: build from source, add main…
sarahec May 5, 2025
4a02374
python3Packages.google-api-python-client: 2.166.0 -> 2.169.0
sarahec May 15, 2025
8920067
gixy: fix python3.13 compat
mweinelt May 21, 2025
c4469f9
python313Packages.textfsm: 1.1.3 -> 2.1.0
mweinelt May 21, 2025
5b089ae
python313Packages.ntc-templates: relax textfsm constraint
mweinelt May 21, 2025
fe7d1f6
python313Packages.shlib: 1.6 -> 1.7
mweinelt May 21, 2025
1634b4a
python313Packages.bibtexparser: 1.4.3 -> 2.0.0b8
mweinelt May 21, 2025
6177fa3
python313Packages.clldutils: 3.21.0 -> 3.24.2
mweinelt May 21, 2025
c4fcee7
python313Packages.ansible-runner: 2.4.0 -> 2.4.1
mweinelt May 21, 2025
004f8eb
python3Packages.curve25519-donna: drop
mweinelt May 21, 2025
daf8988
httpie: update disabled tests
mweinelt May 21, 2025
c3849d1
python313Packages.stringly: 1.0b2 -> 1.0b3
mweinelt May 21, 2025
4cccec1
python313Packages.nutils: 8.8 -> 9.0
mweinelt May 21, 2025
bb557cc
python313Packages.rq: 2.3.2 -> 2.3.3
mweinelt May 21, 2025
e02bc8e
python313Packages.streamlit: relax packaging constraint
mweinelt May 21, 2025
ae9e08e
python313Packages.langchain-core: relax packaging constraint
mweinelt May 21, 2025
1855bb3
Revert "python313Packages.elasticsearch: 8.17.2 -> 9.0.1"
mweinelt May 21, 2025
03ad4ed
python313Packages.elasticsearch-dsl: 8.17.1 -> 8.18.0
mweinelt May 21, 2025
76b0f12
python313Packages.elasticsearch: 8.17.2 -> 8.18.1
mweinelt May 21, 2025
158296e
python313Packages.elastic-transport: cleanup
mweinelt May 21, 2025
e6fc4da
python313Packages.kivy: relax packaging constraint
mweinelt May 21, 2025
1e75690
python313Packages.s3transfer: 0.11.2 -> 0.12.0
dotlambda May 6, 2025
434eb77
python313Packages.botocore: 1.36.21 -> 1.38.9
dotlambda May 5, 2025
2629493
awscli: 1.37.21 -> 1.40.8
dotlambda May 5, 2025
e9b5d53
awscli2: 2.27.2 -> 2.27.8
dotlambda May 5, 2025
84a9fb0
python313Packages.pynamodb: 6.0.1 -> 6.0.2
dotlambda May 5, 2025
f797c94
python313Packages.aiobotocore: 2.19.0 -> 2.22.0
dotlambda May 5, 2025
008b6ff
python313Packages.aioboto3: 13.4.0 -> 14.2.0
dotlambda May 6, 2025
fb8ca51
python313Packages.poetry-core: 2.1.2 -> 2.1.3
dotlambda May 5, 2025
662a8c8
python313Packages.calver: 2025.04.01 -> 2025.04.17
dotlambda Apr 19, 2025
623c637
python313Packages.jaraco-path: 3.7.1 -> 3.7.2
dotlambda Apr 19, 2025
a2c2e51
python313Packages.multidict: 6.2.0 -> 6.4.3
dotlambda Apr 16, 2025
28dc6cc
python313Packages.mistune: 3.1.2 -> 3.1.3
dotlambda Apr 16, 2025
2ee6323
python313Packages.markdown: 3.7 -> 3.8
dotlambda Apr 11, 2025
f19c513
python313Packages.pikepdf: 9.5.2 -> 9.6.0
dotlambda Apr 7, 2025
b00efc9
python313Packages.libpass: 1.9.0 -> 1.9.1
dotlambda May 12, 2025
cf1501f
Revert "python313Packages.bibtexparser: 1.4.3 -> 2.0.0b8"
mweinelt May 22, 2025
9f85b88
Revert "python313Packages.clldutils: 3.21.0 -> 3.24.2"
mweinelt May 22, 2025
cabc964
python3Packages.typing-inspection: 0.4.0 -> 0.4.1
dotlambda May 22, 2025
ad5729e
python3Packages.multidict: 6.4.3 -> 6.4.4
dotlambda May 22, 2025
c07ae7c
python3Packages.pikepdf: 9.6.0 -> 9.7.1
dotlambda May 22, 2025
f579360
python3Packages.aws-encryption-sdk: disable tests requiring aws-crypt…
dotlambda May 22, 2025
c8fb5fd
python3Packages.google-cloud-datacatalog: refactor
sarahec May 21, 2025
3cb99f8
python3Packages.google-cloud-datacatalog: 3.26.1 -> 3.27.1
sarahec May 21, 2025
e4937a3
python3Packages.google-cloud-asset: refactor
sarahec May 21, 2025
9c8f813
python313Packages.napalm: remove telnetlib usage
mweinelt May 23, 2025
9a2cee0
python313Packages.google-auth: 2.40.1 -> 2.40.2
mweinelt May 23, 2025
e2b8d39
python313Packages.granian: 2.2.5 -> 2.3.1
mweinelt May 23, 2025
9a4ba9d
python313Packages.apache-beam: relax redis constraint
mweinelt May 23, 2025
d2b9444
python313Packages.django-tasks: 0.6.1 -> 0.7.0
mweinelt May 23, 2025
d2c984f
python313Packages.aioguardian: relax frozenlist constraint
mweinelt May 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 26 additions & 26 deletions doc/languages-frameworks/python.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ sets are
and the aliases

* `pkgs.python2Packages` pointing to `pkgs.python27Packages`
* `pkgs.python3Packages` pointing to `pkgs.python312Packages`
* `pkgs.python3Packages` pointing to `pkgs.python313Packages`
* `pkgs.pythonPackages` pointing to `pkgs.python2Packages`
* `pkgs.pypy2Packages` pointing to `pkgs.pypy27Packages`
* `pkgs.pypy3Packages` pointing to `pkgs.pypy310Packages`
Expand Down Expand Up @@ -583,9 +583,9 @@ are used in [`buildPythonPackage`](#buildpythonpackage-function).

Several versions of the Python interpreter are available on Nix, as well as a
high amount of packages. The attribute `python3` refers to the default
interpreter, which is currently CPython 3.12. The attribute `python` refers to
interpreter, which is currently CPython 3.13. The attribute `python` refers to
CPython 2.7 for backwards-compatibility. It is also possible to refer to
specific versions, e.g. `python312` refers to CPython 3.12, and `pypy` refers to
specific versions, e.g. `python313` refers to CPython 3.13, and `pypy` refers to
the default PyPy interpreter.

Python is used a lot, and in different ways. This affects also how it is
Expand All @@ -601,10 +601,10 @@ however, are in separate sets, with one set per interpreter version.
The interpreters have several common attributes. One of these attributes is
`pkgs`, which is a package set of Python libraries for this specific
interpreter. E.g., the `toolz` package corresponding to the default interpreter
is `python3.pkgs.toolz`, and the CPython 3.12 version is `python312.pkgs.toolz`.
is `python3.pkgs.toolz`, and the CPython 3.13 version is `python313.pkgs.toolz`.
The main package set contains aliases to these package sets, e.g.
`pythonPackages` refers to `python.pkgs` and `python312Packages` to
`python312.pkgs`.
`pythonPackages` refers to `python.pkgs` and `python313Packages` to
`python313.pkgs`.

#### Installing Python and packages {#installing-python-and-packages}

Expand All @@ -629,7 +629,7 @@ with [`python.buildEnv`](#python.buildenv-function) or [`python.withPackages`](#
executables are wrapped to be able to find each other and all of the modules.

In the following examples we will start by creating a simple, ad-hoc environment
with a nix-shell that has `numpy` and `toolz` in Python 3.12; then we will create
with a nix-shell that has `numpy` and `toolz` in Python 3.13; then we will create
a re-usable environment in a single-file Python script; then we will create a
full Python environment for development with this same environment.

Expand All @@ -645,18 +645,18 @@ temporary shell session with a Python and a *precise* list of packages (plus
their runtime dependencies), with no other Python packages in the Python
interpreter's scope.

To create a Python 3.12 session with `numpy` and `toolz` available, run:
To create a Python 3.13 session with `numpy` and `toolz` available, run:

```sh
$ nix-shell -p 'python312.withPackages(ps: with ps; [ numpy toolz ])'
$ nix-shell -p 'python313.withPackages(ps: with ps; [ numpy toolz ])'
```

By default `nix-shell` will start a `bash` session with this interpreter in our
`PATH`, so if we then run:

```Python console
[nix-shell:~/src/nixpkgs]$ python3
Python 3.12.4 (main, Jun 6 2024, 18:26:44) [GCC 13.3.0] on linux
Python 3.13.3 (main, Apr 8 2025, 13:54:08) [GCC 14.2.1 20250322] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy; import toolz
```
Expand All @@ -676,8 +676,8 @@ will still get 1 wrapped Python interpreter. We can start the interpreter
directly like so:

```sh
$ nix-shell -p "python312.withPackages (ps: with ps; [ numpy toolz requests ])" --run python3
Python 3.12.4 (main, Jun 6 2024, 18:26:44) [GCC 13.3.0] on linux
$ nix-shell -p "python313.withPackages (ps: with ps; [ numpy toolz requests ])" --run python3
Python 3.13.3 (main, Apr 8 2025, 13:54:08) [GCC 14.2.1 20250322] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>>
Expand Down Expand Up @@ -717,7 +717,7 @@ Executing this script requires a `python3` that has `numpy`. Using what we learn
in the previous section, we could startup a shell and just run it like so:

```ShellSession
$ nix-shell -p 'python312.withPackages (ps: with ps; [ numpy ])' --run 'python3 foo.py'
$ nix-shell -p 'python313.withPackages (ps: with ps; [ numpy ])' --run 'python3 foo.py'
The dot product of [1 2] and [3 4] is: 11
```

Expand Down Expand Up @@ -780,12 +780,12 @@ create a single script with Python dependencies, but in the course of normal
development we're usually working in an entire package repository.

As explained [in the `nix-shell` section](https://nixos.org/manual/nix/stable/command-ref/nix-shell) of the Nix manual, `nix-shell` can also load an expression from a `.nix` file.
Say we want to have Python 3.12, `numpy` and `toolz`, like before,
Say we want to have Python 3.13, `numpy` and `toolz`, like before,
in an environment. We can add a `shell.nix` file describing our dependencies:

```nix
with import <nixpkgs> { };
(python312.withPackages (
(python313.withPackages (
ps: with ps; [
numpy
toolz
Expand All @@ -804,7 +804,7 @@ What's happening here?
imports the `<nixpkgs>` function, `{}` calls it and the `with` statement
brings all attributes of `nixpkgs` in the local scope. These attributes form
the main package set.
2. Then we create a Python 3.12 environment with the [`withPackages`](#python.withpackages-function) function, as before.
2. Then we create a Python 3.13 environment with the [`withPackages`](#python.withpackages-function) function, as before.
3. The [`withPackages`](#python.withpackages-function) function expects us to provide a function as an argument
that takes the set of all Python packages and returns a list of packages to
include in the environment. Here, we select the packages `numpy` and `toolz`
Expand All @@ -815,7 +815,7 @@ To combine this with `mkShell` you can:
```nix
with import <nixpkgs> { };
let
pythonEnv = python312.withPackages (ps: [
pythonEnv = python313.withPackages (ps: [
ps.numpy
ps.toolz
]);
Expand Down Expand Up @@ -977,8 +977,8 @@ information. The output of the function is a derivation.

An expression for `toolz` can be found in the Nixpkgs repository. As explained
in the introduction of this Python section, a derivation of `toolz` is available
for each interpreter version, e.g. `python312.pkgs.toolz` refers to the `toolz`
derivation corresponding to the CPython 3.12 interpreter.
for each interpreter version, e.g. `python313.pkgs.toolz` refers to the `toolz`
derivation corresponding to the CPython 3.13 interpreter.

The above example works when you're directly working on
`pkgs/top-level/python-packages.nix` in the Nixpkgs repository. Often though,
Expand All @@ -992,7 +992,7 @@ with import <nixpkgs> { };

(
let
my_toolz = python312.pkgs.buildPythonPackage rec {
my_toolz = python313.pkgs.buildPythonPackage rec {
pname = "toolz";
version = "0.10.0";
pyproject = true;
Expand All @@ -1003,7 +1003,7 @@ with import <nixpkgs> { };
};

build-system = [
python312.pkgs.setuptools
python313.pkgs.setuptools
];

# has no tests
Expand All @@ -1017,7 +1017,7 @@ with import <nixpkgs> { };
};

in
python312.withPackages (
python313.withPackages (
ps: with ps; [
numpy
my_toolz
Expand All @@ -1027,7 +1027,7 @@ with import <nixpkgs> { };
```

Executing `nix-shell` will result in an environment in which you can use
Python 3.12 and the `toolz` package. As you can see we had to explicitly mention
Python 3.13 and the `toolz` package. As you can see we had to explicitly mention
for which Python version we want to build a package.

So, what did we do here? Well, we took the Nix expression that we used earlier
Expand Down Expand Up @@ -2130,7 +2130,7 @@ has security implications and is relevant for those using Python in a

When the environment variable `DETERMINISTIC_BUILD` is set, all bytecode will
have timestamp 1. The [`buildPythonPackage`](#buildpythonpackage-function) function sets `DETERMINISTIC_BUILD=1`
and [PYTHONHASHSEED=0](https://docs.python.org/3.12/using/cmdline.html#envvar-PYTHONHASHSEED).
and [PYTHONHASHSEED=0](https://docs.python.org/3.13/using/cmdline.html#envvar-PYTHONHASHSEED).
Both are also exported in `nix-shell`.

### How to provide automatic tests to Python packages? {#automatic-tests}
Expand Down Expand Up @@ -2179,10 +2179,10 @@ The following rules are desired to be respected:
It does not need to be set explicitly unless the package requires a specific platform.
* The file is formatted with `nixfmt-rfc-style`.
* Commit names of Python libraries must reflect that they are Python
libraries (e.g. `python312Packages.numpy: 1.11 -> 1.12` rather than `numpy: 1.11 -> 1.12`).
libraries (e.g. `python313Packages.numpy: 1.11 -> 1.12` rather than `numpy: 1.11 -> 1.12`).
* The current default version of python should be included
in commit messages to enable automatic builds by ofborg.
For example `python312Packages.numpy: 1.11 -> 1.12` should be used rather
For example `python313Packages.numpy: 1.11 -> 1.12` should be used rather
than `python3Packages.numpy: 1.11 -> 1.12`.
Note that `pythonPackages` is an alias for `python27Packages`.
* Attribute names in `python-packages.nix` as well as `pname`s should match the
Expand Down
2 changes: 2 additions & 0 deletions pkgs/by-name/ar/arouteserver/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ python3Packages.buildPythonPackage rec {

build-system = with python3Packages; [ setuptools ];

pythonRelaxDeps = [ "packaging" ];

dependencies = with python3Packages; [
aggregate6
jinja2
Expand Down
4 changes: 2 additions & 2 deletions pkgs/by-name/aw/awscli/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ let
pname = "awscli";
# N.B: if you change this, change botocore and boto3 to a matching version too
# check e.g. https://github.com/aws/aws-cli/blob/1.33.21/setup.py
version = "1.37.21";
version = "1.40.8";
pyproject = true;

src = fetchFromGitHub {
owner = "aws";
repo = "aws-cli";
tag = version;
hash = "sha256-gKRWhOhZjGhPVIG6KgCyDqxuyBGbaS8bHD7vnJ4gA+o=";
hash = "sha256-gldyfko4yrpq/U8w87qxRzqXEfUxfCTEjsRO8bPJOAc=";
};

pythonRelaxDeps = [
Expand Down
6 changes: 3 additions & 3 deletions pkgs/by-name/aw/awscli2/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -64,20 +64,20 @@ let
in
py.pkgs.buildPythonApplication rec {
pname = "awscli2";
version = "2.27.2"; # N.B: if you change this, check if overrides are still up-to-date
version = "2.27.8"; # N.B: if you change this, check if overrides are still up-to-date
pyproject = true;

src = fetchFromGitHub {
owner = "aws";
repo = "aws-cli";
tag = version;
hash = "sha256-rdgjA6t5L4mNKnyRyNdIyzX6fjMUgbD0YCjresK94Dg=";
hash = "sha256-AluBRKB5HKK+8Pb2UooUWqrE48ZNGffkW1z3mLHzVRg=";
};

postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'flit_core>=3.7.1,<3.9.1' 'flit_core>=3.7.1' \
--replace-fail 'awscrt==0.25.4' 'awscrt>=0.25.4' \
--replace-fail 'awscrt==' 'awscrt>=' \
--replace-fail 'cryptography>=40.0.0,<43.0.2' 'cryptography>=43.0.0' \
--replace-fail 'distro>=1.5.0,<1.9.0' 'distro>=1.5.0' \
--replace-fail 'docutils>=0.10,<0.20' 'docutils>=0.10' \
Expand Down
2 changes: 1 addition & 1 deletion pkgs/by-name/aw/awsebcli/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ python.pkgs.buildPythonApplication rec {
"botocore"
"colorama"
"pathspec"
"packaging"
"PyYAML"
"six"
"termcolor"
Expand All @@ -53,7 +54,6 @@ python.pkgs.buildPythonApplication rec {
fabric
pathspec
pyyaml
future
requests
semantic-version
setuptools
Expand Down
1 change: 1 addition & 0 deletions pkgs/by-name/gi/gixy/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ python.pkgs.buildPythonApplication rec {
url = "https://github.com/yandex/gixy/compare/6f68624a7540ee51316651bda656894dc14c9a3e...b1c6899b3733b619c244368f0121a01be028e8c2.patch";
hash = "sha256-6VUF2eQ2Haat/yk8I5qIXhHdG9zLQgEXJMLfe25OKEo=";
})
./python3.13-compat.patch
];

build-system = [ python.pkgs.setuptools ];
Expand Down
25 changes: 25 additions & 0 deletions pkgs/by-name/gi/gixy/python3.13-compat.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
diff --git a/gixy/core/sre_parse/sre_parse.py b/gixy/core/sre_parse/sre_parse.py
index df69044..f90c795 100644
--- a/gixy/core/sre_parse/sre_parse.py
+++ b/gixy/core/sre_parse/sre_parse.py
@@ -14,7 +14,7 @@ from __future__ import print_function

"""Internal support module for sre"""

-from sre_constants import *
+from gixy.core.sre_parse.sre_constants import *

SPECIAL_CHARS = ".\\[{()*+?^$|"
REPEAT_CHARS = "*+?{"
diff --git a/tests/plugins/test_simply.py b/tests/plugins/test_simply.py
index 1a33c63..7d5a32f 100644
--- a/tests/plugins/test_simply.py
+++ b/tests/plugins/test_simply.py
@@ -5,6 +5,7 @@ from os import path
import json

from ..utils import *
+from gixy.formatters.base import BaseFormatter
from gixy.core.manager import Manager as Gixy
from gixy.core.plugins_manager import PluginsManager
from gixy.core.config import Config
17 changes: 3 additions & 14 deletions pkgs/by-name/ma/maturin/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
stdenv,
fetchFromGitHub,
rustPlatform,
fetchpatch,
libiconv,
testers,
nix-update-script,
Expand All @@ -13,27 +12,17 @@

rustPlatform.buildRustPackage rec {
pname = "maturin";
version = "1.8.3";
version = "1.8.6";

src = fetchFromGitHub {
owner = "PyO3";
repo = "maturin";
rev = "v${version}";
hash = "sha256-qMiFHoEm6Q3Pwz8Gv6U75rTKO2Pj81g9rhqdyYJKOys=";
hash = "sha256-Dfq8kBg6gk1j/Y1flOb2yw9hhY40n5gi4h08znI2Yw8=";
};

useFetchCargoVendor = true;
cargoHash = "sha256-7YPUTTRo9+aBmVXLq5NfU+t5VPxfEQc4+rdQnPN+AZ0=";

patches = [
# Sorts RECORD file in wheel archives to make them deterministic. See: https://github.com/NixOS/nixpkgs/issues/384708
# Remove on next bump https://github.com/PyO3/maturin/pull/2550
(fetchpatch {
name = "wheel-deterministic-record.patch";
url = "https://github.com/PyO3/maturin/commit/bade37e108514f4288c1dd6457119a257bf95db4.patch";
hash = "sha256-jcZ/NMHKFYQuOfR+fu5UPykEljUq3l/+ZAx0Tlyu3Zw=";
})
];
cargoHash = "sha256-LDVmNtpu+J8rnSlpTslwm6QcyN6E3ZlVdpmowKc/kZo=";

buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
Expand Down
1 change: 1 addition & 0 deletions pkgs/by-name/pa/paperless-ngx/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ python.pkgs.buildPythonApplication rec {

pythonRelaxDeps = [
"django-allauth"
"redis"
];

dependencies =
Expand Down
2 changes: 2 additions & 0 deletions pkgs/by-name/re/redisTestHook/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
callPackage,
makeSetupHook,
valkey,
python3Packages,
}:

makeSetupHook {
Expand All @@ -13,5 +14,6 @@ makeSetupHook {
};
passthru.tests = {
simple = callPackage ./test.nix { };
python3-valkey = python3Packages.valkey;
};
} ./redis-test-hook.sh
16 changes: 14 additions & 2 deletions pkgs/by-name/re/redisTestHook/redis-test-hook.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,30 @@ redisStart() {
redisTestPort=6379
fi

mkdir "$NIX_BUILD_TOP/run"

if [[ "${REDIS_SOCKET:-}" == "" ]]; then
mkdir -p "$NIX_BUILD_TOP/run/"
REDIS_SOCKET="$NIX_BUILD_TOP/run/redis.sock"
fi
export REDIS_SOCKET

REDIS_CONF="$NIX_BUILD_TOP/run/redis.conf"
export REDIS_CONF

cat <<EOF > "$REDIS_CONF"
unixsocket ${REDIS_SOCKET}
port ${redisTestPort}
protected-mode no
enable-debug-command yes
enable-module-command yes
EOF

echo 'starting redis'

# Note about Darwin: unless the output is redirected, the parent process becomes launchd instead of bash.
# This would leave the Redis process running in case of a test failure (the postCheckHook would not be executed),
# hanging the Nix build forever.
@server@ --unixsocket "$REDIS_SOCKET" --port "$redisTestPort" > /dev/null 2>&1 &
@server@ "$REDIS_CONF" > /dev/null 2>&1 &
REDIS_PID=$!

echo 'waiting for redis to be ready'
Expand Down
Loading