From fbfff38e3e57081f95c42b7476ea44bc0ffef939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 25 Feb 2026 20:54:17 +0100 Subject: [PATCH 1/5] python313Packages.gremlinpython: ignore dead locking tests, remove unused dep, don't ignore working tests --- .../python-modules/gremlinpython/default.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/gremlinpython/default.nix b/pkgs/development/python-modules/gremlinpython/default.nix index 4464edfac965..19881387cec4 100644 --- a/pkgs/development/python-modules/gremlinpython/default.nix +++ b/pkgs/development/python-modules/gremlinpython/default.nix @@ -8,7 +8,6 @@ isodate, nest-asyncio, pytestCheckHook, - mock, pyhamcrest, pyyaml, radish-bdd, @@ -60,7 +59,6 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook - mock pyhamcrest pyyaml radish-bdd @@ -79,6 +77,7 @@ buildPythonPackage rec { "tests/driver/test_driver_remote_connection_threaded.py" "tests/driver/test_web_socket_client_behavior.py" "tests/process/test_dsl.py" + "tests/process/test_traversal.py" # dead locks "tests/structure/io/test_functionalityio.py" ]; @@ -86,14 +85,6 @@ buildPythonPackage rec { "TestFunctionalGraphSONIO and test_timestamp" "TestFunctionalGraphSONIO and test_datetime" "TestFunctionalGraphSONIO and test_uuid" - "test_transaction_commit" - "test_transaction_rollback" - "test_transaction_no_begin" - "test_multi_commit_transaction" - "test_multi_rollback_transaction" - "test_multi_commit_and_rollback" - "test_transaction_close_tx" - "test_transaction_close_tx_from_parent" ]; meta = { From d3d4c0ec0a4fc706ea2c03d2a859e1fbb2869564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 25 Feb 2026 20:56:39 +0100 Subject: [PATCH 2/5] python313Packages.pytest-celery: add optional-dependencies --- .../python-modules/pytest-celery/default.nix | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pytest-celery/default.nix b/pkgs/development/python-modules/pytest-celery/default.nix index e7fc01702e93..f5d33616cc64 100644 --- a/pkgs/development/python-modules/pytest-celery/default.nix +++ b/pkgs/development/python-modules/pytest-celery/default.nix @@ -1,7 +1,6 @@ { lib, buildPythonPackage, - celery, debugpy, docker, fetchFromGitHub, @@ -11,6 +10,13 @@ pytest-docker-tools, pytest, tenacity, + + # optional dependencies + redis, + python-memcached, + boto3, + botocore, + urllib3, }: buildPythonPackage rec { @@ -53,6 +59,23 @@ buildPythonPackage rec { tenacity ]; + optional-dependencies = { + all = [ + redis + python-memcached + boto3 + botocore + urllib3 + ]; + redis = [ redis ]; + memcached = [ python-memcached ]; + sqs = [ + boto3 + botocore + urllib3 + ]; + }; + # Infinite recursion with celery doCheck = false; From 37cf03b3cf50b14be2791071524c9064aee220a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 25 Feb 2026 22:06:35 +0100 Subject: [PATCH 3/5] python313Packages.django-valkey: init at 0.4.0 --- .../python-modules/django-valkey/default.nix | 92 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 94 insertions(+) create mode 100644 pkgs/development/python-modules/django-valkey/default.nix diff --git a/pkgs/development/python-modules/django-valkey/default.nix b/pkgs/development/python-modules/django-valkey/default.nix new file mode 100644 index 000000000000..f5740bb9954c --- /dev/null +++ b/pkgs/development/python-modules/django-valkey/default.nix @@ -0,0 +1,92 @@ +{ + lib, + fetchFromGitHub, + buildPythonPackage, + hatchling, + + # propagated + backports-zstd, + brotli, + django, + libvalkey, + lz4, + msgpack, + msgspec, + valkey, + + # testing + anyio, + pytest-django, + pytest-mock, + pytestCheckHook, + redisTestHook, +}: + +buildPythonPackage rec { + pname = "django-valkey"; + version = "0.4.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "django-commons"; + repo = "django-valkey"; + tag = version; + hash = "sha256-F6BycXVBmfmtRL1C05lgg/2wehcmlqA5WWGgAIxuAsE="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + django + valkey + ]; + + optional-dependencies = { + brotli = [ brotli ]; + libvalkey = [ libvalkey ]; + lz4 = [ lz4 ]; + msgpack = [ msgpack ]; + msgspec = [ msgspec ]; + pyzstd = [ backports-zstd ]; + zstd = [ backports-zstd ]; + }; + + pythonImportsCheck = [ "django_valkey" ]; + + nativeCheckInputs = [ + anyio + pytest-django + pytest-mock + pytestCheckHook + redisTestHook # contains valkey + ] + ++ lib.flatten (lib.attrValues optional-dependencies); + + disabledTestPaths = [ + # requires valkey cluster + "tests/tests_cluster/test_backend.py" + "tests/tests_cluster/test_cache_options.py" + "tests/tests_cluster/test_client.py" + + # AttributeError: 'ValkeyCache' object has no attribute 'aset' + "tests/tests_async/test_backend.py" + # TypeError: object NoneType can't be used in 'await' expression + "tests/tests_async/test_cache_options.py" + # AttributeError: 'DefaultClient' object has no attribute 'aset'. Did you mean: 'hset'? + "tests/tests_async/test_client.py" + # AttributeError: 'ValkeyCache' object has no attribute 'ahas_key' + "tests/tests_async/test_session.py" + + "tests/tests_async/test_requests.py" + ]; + + __darwinAllowLocalNetworking = true; + + meta = with lib; { + description = "Valkey backend for django"; + homepage = "https://github.com/django-commons/django-valkey"; + changelog = "https://github.com/django-commons/django-valkey/releases/tag/${version}"; + license = licenses.bsd3; + maintainers = [ ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dd19136a6ac9..b36d894bf274 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4388,6 +4388,8 @@ self: super: with self; { django-types = callPackage ../development/python-modules/django-types { }; + django-valkey = callPackage ../development/python-modules/django-valkey { }; + django-versatileimagefield = callPackage ../development/python-modules/django-versatileimagefield { }; From 1016df1be82606b226cda9eba96ecfc78ed3df2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Wed, 25 Feb 2026 22:07:06 +0100 Subject: [PATCH 4/5] python313Packages.celery: complete optional dependencies --- .../python-modules/celery/default.nix | 82 ++++++++++++++++--- 1 file changed, 72 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/celery/default.nix b/pkgs/development/python-modules/celery/default.nix index d7d579b59b70..bdf054a9934f 100644 --- a/pkgs/development/python-modules/celery/default.nix +++ b/pkgs/development/python-modules/celery/default.nix @@ -4,33 +4,48 @@ azure-identity, azure-storage-blob, billiard, + boto3, + brotli, + brotlipy, buildPythonPackage, + cassandra-driver, + click, click-didyoumean, click-plugins, click-repl, - click, cryptography, exceptiongroup, + django, + elastic-transport, + elasticsearch, + ephem, fetchFromGitHub, gevent, google-cloud-firestore, google-cloud-storage, + grpcio, + isPyPy, + kazoo, kombu, moto, - msgpack, - pymongo, - redis, pydantic, + pydocumentdb, + pylibmc, pytest-celery, pytest-click, pytest-timeout, pytest-xdist, pytestCheckHook, python-dateutil, - pyyaml, + python-memcached, + pyzmq, setuptools, tzlocal, + sphinx-autobuild, + tblib, + urllib3, vine, + zstandard, # The AMQP REPL depends on click-repl, which is incompatible with our version # of click. withAmqpRepl ? false, @@ -70,21 +85,68 @@ buildPythonPackage rec { ]; optional-dependencies = { + # Everything commented is not packaged + # see https://github.com/celery/celery/tree/main/requirements/extras + arangodb = [ + # pyarango + ]; auth = [ cryptography ]; azureblockblob = [ azure-identity azure-storage-blob ]; - gevent = [ gevent ]; + brotli = if isPyPy then [ brotlipy ] else [ brotli ]; + cassandra = [ cassandra-driver ]; + consul = [ + # python-consul2 + ]; + cosmosdbsql = [ pydocumentdb ]; + couchbase = [ ]; + couchdb = [ + # pycouchdb + ]; + django = [ django ]; + dynamodb = [ boto3 ]; + elasticsearch = [ + elasticsearch + elastic-transport + ]; + eventlet = [ ]; gcs = [ google-cloud-firestore google-cloud-storage + grpcio ]; - mongodb = [ pymongo ]; - msgpack = [ msgpack ]; - yaml = [ pyyaml ]; - redis = [ redis ]; + gevent = [ gevent ]; + memcache = [ pylibmc ]; + mongodb = kombu.optional-dependencies.mongodb; + msgpack = kombu.optional-dependencies.msgpack; pydantic = [ pydantic ]; + pymemcache = [ python-memcached ]; + pyro = [ ]; + pytest = [ + pytest-celery + ] + ++ pytest-celery.optional-dependencies.all; + redis = kombu.optional-dependencies.redis; + s3 = [ boto3 ]; + slmq = [ + # softlayer-messaging + ]; + solar = lib.optionals isPyPy [ ephem ]; + sphinxautobuild = [ sphinx-autobuild ]; + sqlalchemy = kombu.optional-dependencies.sqlalchemy; + sqs = [ + boto3 + urllib3 + ] + ++ kombu.optional-dependencies.sqs; + tblib = [ tblib ]; + thread = [ ]; + yaml = kombu.optional-dependencies.yaml; + zeromq = [ pyzmq ]; + zookeeper = [ kazoo ]; + zsdt = [ zstandard ]; }; nativeCheckInputs = [ From 385281f3058102656130d8e8496aa6f3230fb51a Mon Sep 17 00:00:00 2001 From: Defelo Date: Wed, 12 Nov 2025 19:14:07 +0000 Subject: [PATCH 5/5] glitchtip: 5.1.1 -> 5.2.1 Changelog: https://gitlab.com/glitchtip/glitchtip-backend/-/blob/v5.2.1/CHANGELOG Diff: https://gitlab.com/glitchtip/glitchtip-backend/-/compare/v5.1.1...v5.2.1 Diff: https://gitlab.com/glitchtip/glitchtip-frontend/-/compare/v5.1.1...v5.2.1 --- pkgs/by-name/gl/glitchtip/frontend.nix | 6 +++--- pkgs/by-name/gl/glitchtip/package.nix | 13 +++++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/gl/glitchtip/frontend.nix b/pkgs/by-name/gl/glitchtip/frontend.nix index c9f0cf3eeeea..07f14a72c636 100644 --- a/pkgs/by-name/gl/glitchtip/frontend.nix +++ b/pkgs/by-name/gl/glitchtip/frontend.nix @@ -9,18 +9,18 @@ buildNpmPackage (finalAttrs: { pname = "glitchtip-frontend"; - version = "5.1.1"; + version = "5.2.1"; src = fetchFromGitLab { owner = "glitchtip"; repo = "glitchtip-frontend"; tag = "v${finalAttrs.version}"; - hash = "sha256-WKh5w6AVyKhkGvGsy2Wv4Z01UaKTctDSfEhOek2Y84w="; + hash = "sha256-aqGgaVjJogG3mDooQVpR59SR0HDuMPfKuB1i0Z/AMs8="; }; npmDeps = fetchNpmDeps { inherit (finalAttrs) src; - hash = "sha256-G2DZhHfTWi0qCAMs+IP7T2XEecBwTX12Dk3O0pD8ZJw="; + hash = "sha256-urho5XwUJL7m8/xxv9EvH0MxQIW5TG7nOBSIa77RhJc="; }; postPatch = '' diff --git a/pkgs/by-name/gl/glitchtip/package.nix b/pkgs/by-name/gl/glitchtip/package.nix index 5d3296e72f88..1c420539e06b 100644 --- a/pkgs/by-name/gl/glitchtip/package.nix +++ b/pkgs/by-name/gl/glitchtip/package.nix @@ -53,9 +53,10 @@ let django-organizations django-postgres-partition django-prometheus - django-redis django-storages + django-valkey google-cloud-logging + granian gunicorn orjson psycopg @@ -68,13 +69,17 @@ let whitenoise ] ++ celery.optional-dependencies.redis + ++ celery.optional-dependencies.sqlalchemy ++ django-allauth.optional-dependencies.headless-spec ++ django-allauth.optional-dependencies.mfa ++ django-allauth.optional-dependencies.socialaccount - ++ django-redis.optional-dependencies.hiredis ++ django-storages.optional-dependencies.boto3 ++ django-storages.optional-dependencies.azure ++ django-storages.optional-dependencies.google + ++ django-valkey.optional-dependencies.libvalkey + ++ django-valkey.optional-dependencies.lz4 + ++ granian.optional-dependencies.reload + ++ granian.optional-dependencies.uvloop ++ psycopg.optional-dependencies.c ++ psycopg.optional-dependencies.pool ++ pydantic.optional-dependencies.email; @@ -84,14 +89,14 @@ in stdenv.mkDerivation (finalAttrs: { pname = "glitchtip"; - version = "5.1.1"; + version = "5.2.1"; pyproject = true; src = fetchFromGitLab { owner = "glitchtip"; repo = "glitchtip-backend"; tag = "v${finalAttrs.version}"; - hash = "sha256-P5J4nFXQHt+vP2W1bzdw4V9Pq+YnYsjgJPnU89RYofI="; + hash = "sha256-FxkIbSrIyvLnD9n/Cb2udOhsnoC/bwGAfCRB1L/fhwo="; }; propagatedBuildInputs = pythonPackages;