From 4951512d4c84b7a223a498ea362808249f2db943 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 20:57:58 -0700 Subject: [PATCH 01/20] inventree: drop The package neither follows our guidelines nor satifies our quality standards. It also uses Python 3.12 which we are phasing out in Nixpkgs. --- nixos/modules/module-list.nix | 1 - nixos/modules/services/misc/inventree.nix | 446 ---------------------- nixos/tests/all-tests.nix | 1 - nixos/tests/inventree.nix | 33 -- pkgs/by-name/in/inventree/package.nix | 291 -------------- 5 files changed, 772 deletions(-) delete mode 100644 nixos/modules/services/misc/inventree.nix delete mode 100644 nixos/tests/inventree.nix delete mode 100644 pkgs/by-name/in/inventree/package.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index fb2e7e186093..9201540632cb 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -880,7 +880,6 @@ ./services/misc/ihaskell.nix ./services/misc/iio-niri.nix ./services/misc/input-remapper.nix - ./services/misc/inventree.nix ./services/misc/invidious-router.nix ./services/misc/irkerd.nix ./services/misc/jackett.nix diff --git a/nixos/modules/services/misc/inventree.nix b/nixos/modules/services/misc/inventree.nix deleted file mode 100644 index 15476e20b167..000000000000 --- a/nixos/modules/services/misc/inventree.nix +++ /dev/null @@ -1,446 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: -let - cfg = config.services.inventree; - pkg = cfg.package; - - mysqlLocal = cfg.database.createLocally && cfg.database.dbtype == "mysql"; - pgsqlLocal = cfg.database.createLocally && cfg.database.dbtype == "postgresql"; - - manage = pkgs.writeShellScriptBin "inventree-manage" '' - set -a - ${lib.toShellVars cfg.settings} - ${lib.optionalString ( - cfg.database.passwordFile != null - ) ''INVENTREE_DB_PASSWORD="$(<"${cfg.database.passwordFile}")"''} - set +a - - pushd "${cfg.dataDir}" - sudo=exec - if [[ "$USER" != ${cfg.user} ]]; then - ${ - if config.security.sudo.enable then - "sudo='exec ${config.security.wrapperDir}/sudo -u ${cfg.user} -E'" - else - ">&2 echo 'Aborting, inventree-manage must be run as user `${cfg.user}`!'; exit 2" - } - fi - $sudo ${cfg.package}/bin/inventree "$@" - popd - ''; - -in -{ - meta.buildDocsInSandbox = false; - meta.maintainers = with lib.maintainers; [ - kurogeek - ]; - - options.services.inventree = with lib; { - enable = lib.mkEnableOption "inventree"; - - dataDir = mkOption { - type = types.str; - default = "/var/lib/inventree"; - description = "Inventree's data storage path. Will be `/var/lib/inventree` by default."; - }; - - package = mkOption { - type = types.package; - description = "Which package to use for the InvenTree instance."; - default = pkgs.inventree; - defaultText = literalExpression "pkgs.inventree"; - }; - - adminPasswordFile = mkOption { - type = types.nullOr lib.types.path; - default = null; - example = "/run/keys/inventree-password"; - description = "Path to a file containing admin password"; - }; - - secretKeyFile = mkOption { - type = types.path; - default = "${cfg.dataDir}/secret_key.txt"; - defaultText = lib.literalExpression ''"''${cfg.dataDir}/secret_key.txt"''; - example = "/run/keys/inventree-secret-key"; - description = '' - Path to a file containing the secret key - ''; - }; - - database = { - dbtype = mkOption { - type = lib.types.nullOr ( - lib.types.enum [ - "postgresql" - "mysql" - ] - ); - default = "postgresql"; - description = "Database type."; - }; - dbhost = lib.mkOption { - type = lib.types.nullOr lib.types.str; - default = - if pgsqlLocal then - "/run/postgresql" - else if mysqlLocal then - "/run/mysqld/mysqld.sock" - else - "localhost"; - defaultText = "localhost"; - example = "localhost"; - description = '' - Database host or socket path. - If [](#opt-services.inventree.database.createLocally) is true and - [](#opt-services.inventree.database.dbtype) is either `postgresql` or `mysql`, - defaults to the correct Unix socket instead. - ''; - }; - dbport = mkOption { - type = types.port; - default = 5432; - description = "Database host port."; - }; - dbname = mkOption { - type = types.str; - default = "inventree"; - description = "Database name."; - }; - dbuser = mkOption { - type = types.str; - default = "inventree"; - description = "Database username."; - }; - passwordFile = mkOption { - type = with types; nullOr path; - default = null; - example = "/run/keys/inventree-dbpassword"; - description = '' - A file containing the password corresponding to - . - ''; - }; - createLocally = mkOption { - type = types.bool; - default = true; - description = "Create the database and database user locally."; - }; - }; - - domain = mkOption { - type = types.str; - default = "localhost"; - example = "inventree.example.com"; - description = '' - The INVENTREE_SITE_URL option defines the base URL for the - InvenTree server. This is a critical setting, and it is required - for correct operation of the server. If not specified, the - server will attempt to determine the site URL automatically - - but this may not always be correct! - - The site URL is the URL that users will use to access the - InvenTree server. For example, if the server is accessible at - `https://inventree.example.com`, the site URL should be set to - `https://inventree.example.com`. Note that this is not - necessarily the same as the internal URL that the server is - running on - the internal URL will depend entirely on your - server configuration and may be obscured by a reverse proxy or - other such setup. - ''; - }; - - user = mkOption { - type = types.str; - default = "inventree"; - description = "User under which InvenTree runs."; - }; - - group = mkOption { - type = types.str; - default = "inventree"; - description = "Group under which InvenTree runs."; - }; - - settings = mkOption { - type = - with lib.types; - attrsOf ( - nullOr (oneOf [ - path - str - ]) - ); - default = { }; - description = '' - InvenTree config options. - - See [the documentation](https://docs.inventree.org/en/stable/start/config/) for available options. - ''; - example = { - INVENTREE_CACHE_ENABLED = true; - INVENTREE_CACHE_HOST = "localhost"; - - INVENTREE_EMAIL_HOST = "smtp.example.com"; - INVENTREE_EMAIL_PORT = 25; - }; - }; - - }; - - config = lib.mkIf cfg.enable ( - lib.mkMerge [ - { - services.inventree.settings = { - INVENTREE_DB_ENGINE = cfg.database.dbtype; - INVENTREE_DB_NAME = cfg.database.dbname; - INVENTREE_DB_HOST = cfg.database.dbhost; - INVENTREE_DB_USER = cfg.database.dbuser; - INVENTREE_DB_PORT = toString cfg.database.dbport; - - INVENTREE_CONFIG_FILE = lib.mkDefault "${cfg.dataDir}/config/config.yaml"; - INVENTREE_OIDC_PRIVATE_KEY_FILE = lib.mkDefault "${cfg.dataDir}/config/oidc_private_key.txt"; - INVENTREE_STATIC_ROOT = lib.mkDefault "${cfg.dataDir}/data/static_root"; - INVENTREE_MEDIA_ROOT = lib.mkDefault "${cfg.dataDir}/data/media"; - INVENTREE_BACKUP_DIR = lib.mkDefault "${cfg.dataDir}/data/backups"; - INVENTREE_SITE_URL = lib.mkDefault "http://${cfg.domain}"; - INVENTREE_PLUGIN_FILE = lib.mkDefault "${cfg.dataDir}/data/plugins/plugins.txt"; - INVENTREE_PLUGIN_DIR = lib.mkDefault "${cfg.dataDir}/data/plugins"; - INVENTREE_ADMIN_PASSWORD_FILE = lib.mkDefault cfg.adminPasswordFile; - INVENTREE_SECRET_KEY_FILE = lib.mkDefault cfg.secretKeyFile; - INVENTREE_AUTO_UPDATE = lib.mkDefault "false"; - }; - environment.systemPackages = [ manage ]; - systemd.tmpfiles.rules = ( - map (dir: "d ${dir} 0755 inventree inventree") [ - "${cfg.dataDir}" - "${cfg.dataDir}/config" - "${cfg.dataDir}/data" - "${cfg.dataDir}/data/static_root" - "${cfg.dataDir}/data/media" - "${cfg.dataDir}/data/backups" - "${cfg.dataDir}/data/plugins" - ] - ); - - services.postgresql = lib.mkIf pgsqlLocal { - enable = true; - ensureDatabases = [ cfg.database.dbname ]; - ensureUsers = [ - { - name = cfg.database.dbuser; - ensureDBOwnership = true; - } - ]; - }; - - services.mysql = lib.mkIf mysqlLocal { - enable = true; - package = lib.mkDefault pkgs.mariadb; - ensureDatabases = [ cfg.database.dbname ]; - ensureUsers = [ - { - name = cfg.database.dbuser; - ensurePermissions = { - "${cfg.database.dbname}.*" = "ALL PRIVILEGES"; - }; - } - ]; - }; - - services.nginx.enable = true; - services.nginx.virtualHosts.${cfg.domain} = { - locations = - let - unixPath = config.systemd.sockets.inventree-server.socketConfig.ListenStream; - in - { - "/" = { - extraConfig = '' - proxy_set_header Host $host; - proxy_set_header X-Forwarded-By $server_addr:$server_port; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header CLIENT_IP $remote_addr; - - proxy_pass_request_headers on; - - proxy_redirect off; - - client_max_body_size 100M; - - proxy_buffering off; - proxy_request_buffering off; - ''; - proxyPass = "http://unix:${unixPath}"; - }; - "/auth" = { - extraConfig = '' - internal; - proxy_pass_request_body off; - proxy_set_header Content-Length ""; - proxy_set_header X-Original-URI $request_uri; - ''; - proxyPass = "http://unix:${unixPath}:/auth/"; - }; - "/static/" = { - alias = "${cfg.settings.INVENTREE_STATIC_ROOT}/"; - extraConfig = '' - autoindex on; - - # Caching settings - expires 30d; - add_header Pragma public; - add_header Cache-Control "public"; - ''; - }; - "/media/" = { - alias = "${cfg.settings.INVENTREE_MEDIA_ROOT}/"; - extraConfig = '' - auth_request /auth; - add_header Content-disposition "attachment"; - ''; - }; - }; - }; - - systemd.services.inventree-setup = { - description = "Inventree setup"; - wantedBy = [ "inventree.target" ]; - partOf = [ "inventree.target" ]; - after = lib.optional mysqlLocal "mysql.service" ++ lib.optional pgsqlLocal "postgresql.target"; - requires = lib.optional mysqlLocal "mysql.service" ++ lib.optional pgsqlLocal "postgresql.target"; - before = [ - "inventree-static.service" - "inventree-server.service" - "inventree-qcluster.service" - ]; - serviceConfig = { - Type = "oneshot"; - User = cfg.user; - Group = cfg.group; - RemainAfterExit = true; - PrivateTmp = true; - } - // lib.optionalAttrs (cfg.database.passwordFile != null) { - LoadCredential = "db_password:${cfg.database.passwordFile}"; - }; - environment = cfg.settings; - script = '' - set -euo pipefail - umask u=rwx,g=,o= - - ${ - lib.optionalString (cfg.database.passwordFile != null) '' - INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password") - '' - } \ - exec ${pkg}/bin/inventree migrate - ''; - }; - - systemd.services.inventree-static = { - description = "Inventree static migration"; - wantedBy = [ "inventree.target" ]; - partOf = [ "inventree.target" ]; - before = [ "inventree-server.service" ]; - environment = cfg.settings; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - StateDirectory = "inventree"; - PrivateTmp = true; - } - // lib.optionalAttrs (cfg.database.passwordFile != null) { - LoadCredential = "db_password:${cfg.database.passwordFile}"; - }; - script = '' - ${ - lib.optionalString (cfg.database.passwordFile != null) '' - INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password") - '' - } \ - exec ${pkg}/bin/inventree collectstatic --no-input - ''; - }; - - systemd.services.inventree-server = { - description = "Inventree Gunicorn service"; - requiredBy = [ "inventree.target" ]; - partOf = [ "inventree.target" ]; - environment = cfg.settings; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - StateDirectory = "inventree"; - PrivateTmp = true; - } - // lib.optionalAttrs (cfg.database.passwordFile != null) { - LoadCredential = "db_password:${cfg.database.passwordFile}"; - }; - script = '' - ${ - lib.optionalString (cfg.database.passwordFile != null) '' - INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password") - '' - } \ - exec ${pkg}/bin/gunicorn InvenTree.wsgi - ''; - }; - - systemd.sockets.inventree-server = { - wantedBy = [ "sockets.target" ]; - partOf = [ "inventree.target" ]; - socketConfig.ListenStream = "/run/inventree/gunicorn.socket"; - }; - - systemd.services.inventree-qcluster = { - description = "InvenTree qcluster server"; - requiredBy = [ "inventree.target" ]; - wantedBy = [ "inventree.target" ]; - partOf = [ "inventree.target" ]; - environment = cfg.settings; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - StateDirectory = "inventree"; - PrivateTmp = true; - } - // lib.optionalAttrs (cfg.database.passwordFile != null) { - LoadCredential = "db_password:${cfg.database.passwordFile}"; - }; - script = '' - ${ - lib.optionalString (cfg.database.passwordFile != null) '' - INVENTREE_DB_PASSWORD=$(<"$CREDENTIALS_DIRECTORY/db_password") - '' - } \ - exec ${pkg}/bin/inventree qcluster - ''; - }; - - systemd.targets.inventree = { - description = "Target for all InvenTree services"; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; - }; - - users = lib.optionalAttrs (cfg.user == cfg.user) { - users.${cfg.user} = { - group = cfg.group; - isSystemUser = true; - home = cfg.dataDir; - }; - groups.${cfg.group}.members = [ cfg.user ]; - }; - } - ] - ); -} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index d7863112185c..cd7d3b61325c 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -797,7 +797,6 @@ in installer = handleTest ./installer.nix { }; installer-systemd-stage-1 = handleTest ./installer-systemd-stage-1.nix { }; intune = runTest ./intune.nix; - inventree = runTest ./inventree.nix; invidious = runTest ./invidious.nix; invoiceplane = runTest ./invoiceplane.nix; iodine = runTest ./iodine.nix; diff --git a/nixos/tests/inventree.nix b/nixos/tests/inventree.nix deleted file mode 100644 index 34fe8730ae67..000000000000 --- a/nixos/tests/inventree.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ lib, ... }: -{ - name = "inventree"; - meta.maintainers = with lib.maintainers; [ - kurogeek - ]; - - nodes = { - psqlTest = { - services.inventree = { - enable = true; - }; - }; - mysqlTest = { - services.inventree = { - enable = true; - database.dbtype = "mysql"; - }; - }; - }; - testScript = '' - start_all() - psqlTest.wait_for_unit("inventree.target") - psqlTest.wait_for_unit("inventree-server.service") - psqlTest.wait_for_open_unix_socket("/run/inventree/gunicorn.socket") - psqlTest.wait_until_succeeds("curl -sf http://localhost/web") - - mysqlTest.wait_for_unit("inventree.target") - mysqlTest.wait_for_unit("inventree-server.service") - mysqlTest.wait_for_open_unix_socket("/run/inventree/gunicorn.socket") - mysqlTest.wait_until_succeeds("curl -sf http://localhost/web") - ''; -} diff --git a/pkgs/by-name/in/inventree/package.nix b/pkgs/by-name/in/inventree/package.nix deleted file mode 100644 index 81b09762966a..000000000000 --- a/pkgs/by-name/in/inventree/package.nix +++ /dev/null @@ -1,291 +0,0 @@ -{ - fetchFromGitHub, - fetchYarnDeps, - lib, - nodejs, - python312, - stdenv, - yarnBuildHook, - yarnConfigHook, - yarnInstallHook, -}: -let - python3 = python312.override { - self = python3; - packageOverrides = self: super: { - django = super.django_4; - }; - }; - - version = "1.1.10"; - src = fetchFromGitHub { - owner = "inventree"; - repo = "inventree"; - tag = "${version}"; - hash = "sha256-TPB/3pFIU+ui4c+CbqIKTyAfJ/Xepm/RIhZeYhTrgI4="; - }; - - frontend = - let - frontendSource = src + "/src/frontend"; - in - stdenv.mkDerivation (finalAttrs: { - - pname = "inventree-frontend"; - inherit version; - - src = frontendSource; - - yarnOfflineCache = fetchYarnDeps { - yarnLock = finalAttrs.src + "/yarn.lock"; - hash = "sha256-Ijbkx+INZgsvMhkzo8h/FUY75W3UHnKAdUjQRD8kJZw="; - }; - - nativeBuildInputs = [ - nodejs - yarnConfigHook - yarnBuildHook - yarnInstallHook - ]; - - buildPhase = '' - mkdir -p $out - - export PATH=$PATH:$TMP/frontend/node_modules/.bin - substituteInPlace $TMP/frontend/vite.config.ts --replace-warn "../../src/backend/InvenTree/web/static/web" "$out/static/web" - - npm run extract - npm run compile - npm run build - ''; - }); -in -python3.pkgs.buildPythonApplication rec { - pname = "inventree"; - pyproject = true; - inherit version src; - - dependencies = - with python3.pkgs; - [ - django - dj-rest-auth - django-allauth - django-cleanup - django-cors-headers - django-crispy-forms - django-dbbackup - django-error-report-2 - django-filter - django-flags - django-formtools - django-ical - django-import-export - django-maintenance-mode - django-markdownify - django-money - django-mptt - django-mailbox - django-anymail - django-q2 - django-redis - django-sesame - django-sql-utils - django-sslserver - django-stdimage - django-storages - django-structlog - django-taggit - django-oauth-toolkit - django-otp - django-user-sessions - django-weasyprint - standard-imghdr - django-xforwardedfor-middleware - djangorestframework-simplejwt - djangorestframework - drf-spectacular - - bleach - cryptography - distutils - dulwich - feedparser - gunicorn - jinja2 - pdf2image - pillow - pint - python-barcode - python-dotenv - qrcode - pytz - pyyaml - rapidfuzz - sentry-sdk - structlog - tablib - tinycss2 - weasyprint - whitenoise - pypdf - ppf-datamatrix - psycopg2 - mysqlclient - requests-mock - - opentelemetry-api - opentelemetry-sdk - opentelemetry-exporter-otlp - opentelemetry-instrumentation-django - opentelemetry-instrumentation-requests - opentelemetry-instrumentation-redis - opentelemetry-instrumentation-sqlite3 - opentelemetry-instrumentation-system-metrics - opentelemetry-instrumentation-wsgi - ] - ++ tablib.optional-dependencies.all - ++ tablib.optional-dependencies.xls - ++ tablib.optional-dependencies.xlsx - ++ djangorestframework-simplejwt.optional-dependencies.crypto - ++ django-anymail.optional-dependencies.amazon-ses - ++ django-allauth.optional-dependencies.socialaccount - ++ django-allauth.optional-dependencies.saml - ++ django-allauth.optional-dependencies.openid - ++ django-allauth.optional-dependencies.mfa; - - build-system = [ python3.pkgs.setuptools ]; - - prePatch = - let - skippedCheckFunctions = [ - "test_task_check_for_updates" - "test_download_image" - "test_commit_info" - "test_rates" - "test_download_build_orders" - "test_valid_url" - "test_refresh_endpoint" - "test_download_csv" - "test_download_line_items" - "test_export" - "test_download_xlsx" - "test_download_csv" - "test_export" - "test_part_label_translation" - "test_part_download" - "test_date_filters" - "test_bom_export" - "test_hash" - "test_date" - "test_api_call" - "test_function_errors" - "test_stocktake_exporter" - "test_return" - "test_plugin_install" - "test_full_process" - "test_package_loading" - "test_export" - "test_users_exist" - "test_import_part" - "test_model_names" - ]; - skippedFuncScripts = builtins.map (funcName: '' - grep -rlZ ${funcName} . | while IFS= read -r -d "" file; do - substituteInPlace "$file" --replace-fail "${funcName}" "skip_${funcName}" - done - '') skippedCheckFunctions; - in - '' - ${lib.concatStringsSep "\n" skippedFuncScripts} - ''; - - installPhase = - let - pythonPath = python3.pkgs.makePythonPath dependencies; - in - '' - runHook preInstall - - # Don't need to bother with a non-maintained library from ages ago - substituteInPlace src/backend/InvenTree/InvenTree/settings.py --replace-fail "django_slowtests.testrunner.DiscoverSlowestTestsRunner" "django.test.runner.DiscoverRunner" - - mkdir -p $out/lib/${pname}/src/backend/InvenTree/web/ - cp -r src $out/lib/${pname} - ln -s ${frontend}/static $out/lib/${pname}/src/backend/InvenTree/web - # cp -r ${frontend}/static $out/lib/${pname}/src/backend/InvenTree/web - - chmod +x $out/lib/${pname}/src/backend/InvenTree/manage.py - - makeWrapper $out/lib/${pname}/src/backend/InvenTree/manage.py $out/bin/${pname} \ - --prefix PYTHONPATH : "${pythonPath}:$out/lib/${pname}/src/backend/InvenTree" - - makeWrapper ${lib.getExe python3.pkgs.gunicorn} $out/bin/gunicorn \ - --prefix PYTHONPATH : "${pythonPath}:$out/${python3.sitePackages}":"${pythonPath}:$out/lib/${pname}/src/backend/InvenTree" - - runHook postInstall - ''; - doCheck = true; - env = { - DJANGO_SETTINGS_MODULE = "InvenTree.settings"; - }; - - checkPhase = '' - runHook preCheck - - tmpDir=$(mktemp -d) - mkdir -p $tmpDir/media - mkdir -p $tmpDir/.cache/fontconfig - export HOME=$tmpDir - export INVENTREE_STATIC_ROOT=$tmpDir - export INVENTREE_MEDIA_ROOT=$tmpDir/media - export INVENTREE_BACKUP_DIR=$tmpDir - export INVENTREE_DB_ENGINE=django.db.backends.sqlite3 - export INVENTREE_DB_NAME=inventree.db - export INVENTREE_SITE_URL="http://localhost:8000" - - export INVENTREE_PLUGINS_ENABLED=true - export INVENTREE_PLUGIN_TESTING=true - export INVENTREE_PLUGIN_TESTING_SETUP=true - - pushd src/backend/InvenTree - ${python3.interpreter} ./manage.py check - ${python3.interpreter} ./manage.py migrate - - ${python3.interpreter} ./manage.py test --failfast - popd - - runHook postCheck - ''; - - nativeCheckInputs = with python3.pkgs; [ - django-test-migrations - pytest-django - pytest-env - pytestCheckHook - invoke - coverage - pytest-cov - pdfminer-six - ]; - passthru = - let - pythonPath = python3.pkgs.makePythonPath dependencies; - in - { - inherit frontend; - pythonPath = pythonPath; - }; - - meta = { - description = "Open Source Inventory Management System"; - homepage = "https://inventree.org/"; - changelog = "https://github.com/paperless-ngx/paperless-ngx/releases/tag/${src.tag}"; - license = lib.licenses.mit; - platforms = lib.platforms.linux; - mainProgram = "inventree"; - maintainers = with lib.maintainers; [ - kurogeek - ]; - }; -} From 760db6bcb880aa2ab7b12b3eeb478e410452c7e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:01:13 -0700 Subject: [PATCH 02/20] python3Packages.django-dbbackup: drop --- .../django-dbbackup/default.nix | 80 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 82 deletions(-) delete mode 100644 pkgs/development/python-modules/django-dbbackup/default.nix diff --git a/pkgs/development/python-modules/django-dbbackup/default.nix b/pkgs/development/python-modules/django-dbbackup/default.nix deleted file mode 100644 index 3e9fe5a9a379..000000000000 --- a/pkgs/development/python-modules/django-dbbackup/default.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ - buildPythonPackage, - coverage, - django, - django-storages, - fetchFromGitHub, - flake8, - gnupg, - lib, - pep8, - psycopg2, - pylint, - pytest-django, - pytestCheckHook, - python-dotenv, - python-gnupg, - pytz, - setuptools, - testfixtures, - tox, - pythonOlder, -}: -buildPythonPackage rec { - pname = "django-dbbackup"; - version = "4.3.0"; - pyproject = true; - - src = fetchFromGitHub { - owner = "django-dbbackup"; - repo = "django-dbbackup"; - tag = version; - hash = "sha256-w+LfU5I7swnCJpwqBqoCTRUCZjKoIxK3OC+8CrihLEI="; - }; - - disabled = pythonOlder "3.9"; - - dependencies = [ - django - python-gnupg - pytz - ]; - - build-system = [ setuptools ]; - doCheck = true; - preCheck = '' - tempDir=$(mktemp -d) - export HOME=$tempDir - export DJANGO_SETTINGS_MODULE=dbbackup.tests.settings - ''; - pythonImportsCheck = [ "dbbackup" ]; - disabledTestPaths = [ - # Specific gnupg version required, which aren't provided in upstream - "dbbackup/tests/commands/test_dbrestore.py::DbrestoreCommandRestoreBackupTest::test_decrypt" - "dbbackup/tests/test_connectors/test_base.py::BaseCommandDBConnectorTest::test_run_command_with_parent_env" - "dbbackup/tests/test_utils.py::Encrypt_FileTest::test_func" - "dbbackup/tests/test_utils.py::Compress_FileTest::test_func" - ]; - nativeCheckInputs = [ - coverage - django-storages - flake8 - gnupg - pep8 - psycopg2 - pylint - pytest-django - pytestCheckHook - python-dotenv - testfixtures - tox - ]; - - meta = with lib; { - description = "Management commands to help backup and restore your project database and media files"; - homepage = "https://github.com/Archmonger/django-dbbackup"; - changelog = "https://github.com/Archmonger/django-dbbackup/releases/tag/${version}"; - license = licenses.bsd3; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d1d597dc0282..e91916b918c2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4160,8 +4160,6 @@ self: super: with self; { django-currentuser = callPackage ../development/python-modules/django-currentuser { }; - django-dbbackup = callPackage ../development/python-modules/django-dbbackup { }; - django-debug-toolbar = callPackage ../development/python-modules/django-debug-toolbar { }; django-dynamic-preferences = From 91fbb32e1d0737cfb417f2840d9592e7de3efaf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:01:42 -0700 Subject: [PATCH 03/20] python3Packages.django-error-report-2: drop --- .../django-error-report-2/default.nix | 39 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 41 deletions(-) delete mode 100644 pkgs/development/python-modules/django-error-report-2/default.nix diff --git a/pkgs/development/python-modules/django-error-report-2/default.nix b/pkgs/development/python-modules/django-error-report-2/default.nix deleted file mode 100644 index be1803e3a798..000000000000 --- a/pkgs/development/python-modules/django-error-report-2/default.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - buildPythonPackage, - django, - fetchFromGitHub, - lib, - setuptools, - pythonOlder, -}: -buildPythonPackage rec { - pname = "django-error-report-2"; - version = "0.4.2"; - pyproject = true; - - src = fetchFromGitHub { - owner = "matmair"; - repo = "django-error-report-2"; - tag = version; - hash = "sha256-ZCaslqgruJxM8345/jSlZGruM+27H9hvwL0wtPkUzc0="; - }; - - disabled = pythonOlder "3.6"; - - dependencies = [ - django - ]; - - build-system = [ setuptools ]; - # There is no tests on upstream - doCheck = false; - pythonImportsCheck = [ "error_report" ]; - - meta = with lib; { - description = "Log/View Django server errors."; - homepage = "https://github.com/matmair/django-error-report-2"; - changelog = "https://github.com/matmair/django-error-report-2/releases/tag/${version}"; - license = licenses.mit; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e91916b918c2..2943e192c0d8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4174,8 +4174,6 @@ self: super: with self; { django-environ = callPackage ../development/python-modules/django-environ { }; - django-error-report-2 = callPackage ../development/python-modules/django-error-report-2 { }; - django-extensions = callPackage ../development/python-modules/django-extensions { }; django-filer = callPackage ../development/python-modules/django-filer { }; From 45489e1c32f36744bd4fa6013af822ef38e77391 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:02:05 -0700 Subject: [PATCH 04/20] python3Packages.django-flags: drop --- .../python-modules/django-flags/default.nix | 60 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 62 deletions(-) delete mode 100644 pkgs/development/python-modules/django-flags/default.nix diff --git a/pkgs/development/python-modules/django-flags/default.nix b/pkgs/development/python-modules/django-flags/default.nix deleted file mode 100644 index a239a4aa7988..000000000000 --- a/pkgs/development/python-modules/django-flags/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ - buildPythonPackage, - coverage, - django, - django-debug-toolbar, - fetchFromGitHub, - jinja2, - lib, - pytest-django, - pytestCheckHook, - setuptools-scm, - setuptools, -}: -buildPythonPackage rec { - pname = "django-flags"; - version = "5.2.0"; - pyproject = true; - - src = fetchFromGitHub { - owner = "cfpb"; - repo = "django-flags"; - tag = version; - hash = "sha256-4UOueNXfDouTqpLpG391zcGHTTJ8GfznYmEl33YKdv8="; - }; - - dependencies = [ - django - ]; - - build-system = [ - setuptools - setuptools-scm - ]; - doCheck = true; - preCheck = '' - export DJANGO_SETTINGS_MODULE=flags.tests.settings - ''; - pythonImportsCheck = [ "flags" ]; - nativeCheckInputs = [ - coverage - (django-debug-toolbar.overrideAttrs (old: rec { - version = "5.2.0"; - src = old.src.override { - tag = version; - hash = "sha256-/oWirfJaiHVRI1m3N1QveutX2sag8fjYqJYCZ8BnMa0="; - }; - })) - jinja2 - pytest-django - pytestCheckHook - ]; - - meta = with lib; { - description = "Feature flags for Django projects"; - homepage = "https://github.com/cfpb/django-flags"; - changelog = "https://github.com/cfpb/django-flags/releases/tag/${version}"; - license = licenses.cc0; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2943e192c0d8..230e3cf6ec68 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4182,8 +4182,6 @@ self: super: with self; { django-filter = callPackage ../development/python-modules/django-filter { }; - django-flags = callPackage ../development/python-modules/django-flags { }; - django-formset-js-improved = callPackage ../development/python-modules/django-formset-js-improved { }; From 03a66bad30083a8d106943a34cf7859c6a02d20e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:02:19 -0700 Subject: [PATCH 05/20] python3Packages.django-ical: drop --- .../python-modules/django-ical/default.nix | 61 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 63 deletions(-) delete mode 100644 pkgs/development/python-modules/django-ical/default.nix diff --git a/pkgs/development/python-modules/django-ical/default.nix b/pkgs/development/python-modules/django-ical/default.nix deleted file mode 100644 index 78a74319752d..000000000000 --- a/pkgs/development/python-modules/django-ical/default.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ - buildPythonPackage, - django, - fetchFromGitHub, - lib, - pytest-django, - pytestCheckHook, - setuptools-scm, - icalendar, - django-recurrence, - pythonOlder, -}: -buildPythonPackage rec { - pname = "django-ical"; - version = "1.9.2"; - pyproject = true; - - src = fetchFromGitHub { - owner = "jazzband"; - repo = "django-ical"; - tag = version; - hash = "sha256-DUe0loayGcUS7MTyLn+g0KBxbIY7VsaoQNHGSMbMI3U="; - }; - - disabled = pythonOlder "3.7"; - - dependencies = [ - django - django-recurrence - # Latest version didn't pass the test - (icalendar.overrideAttrs (old: rec { - version = "6.0.0"; - src = old.src.override { - tag = "v${version}"; - hash = "sha256-eWFDY/pNVfcUk3PfB0vXqh9swuSGtflUw44IMDJI+yI="; - }; - })) - ]; - - build-system = [ setuptools-scm ]; - doCheck = true; - preCheck = '' - export DJANGO_SETTINGS_MODULE=test_settings - ''; - pythonImportsCheck = [ - "icalendar" - "django_ical" - ]; - nativeCheckInputs = [ - pytest-django - pytestCheckHook - ]; - - meta = with lib; { - description = "iCal feeds for Django based on Django's syndication feed framework."; - homepage = "https://github.com/jazzband/django-ical"; - changelog = "https://github.com/jazzband/django-ical/releases/tag/${version}"; - license = licenses.mit; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 230e3cf6ec68..7b98674ff23f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4216,8 +4216,6 @@ self: super: with self; { django-i18nfield = callPackage ../development/python-modules/django-i18nfield { }; - django-ical = callPackage ../development/python-modules/django-ical { }; - django-import-export = callPackage ../development/python-modules/django-import-export { }; django-ipware = callPackage ../development/python-modules/django-ipware { }; From e2f0b38c1b9722a5587333db6df4c382808ad1ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:02:46 -0700 Subject: [PATCH 06/20] python3Packages.django-mailbox: drop --- .../python-modules/django-mailbox/default.nix | 50 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 52 deletions(-) delete mode 100644 pkgs/development/python-modules/django-mailbox/default.nix diff --git a/pkgs/development/python-modules/django-mailbox/default.nix b/pkgs/development/python-modules/django-mailbox/default.nix deleted file mode 100644 index a6f397145474..000000000000 --- a/pkgs/development/python-modules/django-mailbox/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - buildPythonPackage, - django, - fetchFromGitHub, - lib, - pytest-django, - pytestCheckHook, - setuptools, - six, - pythonOlder, -}: -buildPythonPackage rec { - pname = "django-mailbox"; - version = "4.10.1"; - pyproject = true; - - src = fetchFromGitHub { - owner = "coddingtonbear"; - repo = "django-mailbox"; - tag = version; - hash = "sha256-7CBUnqveTSfdc+8x8sZUqvwYW3vKjZKfOPVWFSo4es0="; - }; - - disabled = pythonOlder "3.8"; - - dependencies = [ - django - six - ]; - - build-system = [ setuptools ]; - doCheck = true; - preCheck = '' - substituteInPlace setup.cfg --replace-fail "pytest" "tool:pytest" - export DJANGO_SETTINGS_MODULE=django_mailbox.tests.settings - ''; - pythonImportsCheck = [ "django_mailbox" ]; - nativeCheckInputs = [ - pytest-django - pytestCheckHook - ]; - - meta = with lib; { - description = "Import mail from POP3, IMAP, local email mailboxes or directly from Postfix or Exim4 into your Django application automatically."; - homepage = "https://github.com/coddingtonbear/django-mailbox"; - changelog = "https://github.com/coddingtonbear/django-mailbox/releases/tag/${version}"; - license = licenses.mit; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7b98674ff23f..023e3bc066a8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4244,8 +4244,6 @@ self: super: with self; { callPackage ../development/python-modules/django-login-required-middleware { }; - django-mailbox = callPackage ../development/python-modules/django-mailbox { }; - django-mailman3 = callPackage ../development/python-modules/django-mailman3 { }; django-maintenance-mode = callPackage ../development/python-modules/django-maintenance-mode { }; From fe5521b728b415e911d315e1454a61348a7d948c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:03:16 -0700 Subject: [PATCH 07/20] python3Packages.django-markdownify: drop --- .../django-markdownify/default.nix | 53 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 55 deletions(-) delete mode 100644 pkgs/development/python-modules/django-markdownify/default.nix diff --git a/pkgs/development/python-modules/django-markdownify/default.nix b/pkgs/development/python-modules/django-markdownify/default.nix deleted file mode 100644 index 5adb99e29c1f..000000000000 --- a/pkgs/development/python-modules/django-markdownify/default.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - buildPythonPackage, - django, - fetchFromGitHub, - lib, - pytest-django, - pytestCheckHook, - setuptools, - markdown, - bleach, - tinycss2, -}: -buildPythonPackage rec { - pname = "django-markdownify"; - version = "0.9.6"; - pyproject = true; - - src = fetchFromGitHub { - owner = "erwinmatijsen"; - repo = "django-markdownify"; - tag = version; - hash = "sha256-L/N0jjxBz7aQletOg+qairgq4utifPz4oqjT9AcljLI="; - }; - - dependencies = [ - django - markdown - bleach - ]; - - build-system = [ setuptools ]; - doCheck = true; - preCheck = '' - export DJANGO_SETTINGS_MODULE=markdownify.checks - ''; - nativeCheckInputs = [ - tinycss2 - pytest-django - pytestCheckHook - ]; - pythonImportsCheck = [ "markdownify" ]; - disabledTests = [ - # Test settings didn't setup DjangoTemplates - "test_markdownify_nodelist" - ]; - - meta = with lib; { - description = "Markdown template filter for Django"; - homepage = "https://github.com/erwinmatijsen/django-markdownify"; - license = licenses.mit; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 023e3bc066a8..893d2b7551f1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4248,8 +4248,6 @@ self: super: with self; { django-maintenance-mode = callPackage ../development/python-modules/django-maintenance-mode { }; - django-markdownify = callPackage ../development/python-modules/django-markdownify { }; - django-markdownx = callPackage ../development/python-modules/django-markdownx { }; django-markup = callPackage ../development/python-modules/django-markup { }; From 0810d732fefb2b94a00cf86be8008d5e9d2e1c3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:03:37 -0700 Subject: [PATCH 08/20] python3Packages.django-money: drop --- .../python-modules/django-money/default.nix | 52 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 54 deletions(-) delete mode 100644 pkgs/development/python-modules/django-money/default.nix diff --git a/pkgs/development/python-modules/django-money/default.nix b/pkgs/development/python-modules/django-money/default.nix deleted file mode 100644 index 698cab66fe54..000000000000 --- a/pkgs/development/python-modules/django-money/default.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - fetchFromGitHub, - buildPythonPackage, - setuptools, - lib, - django, - py-moneyed, - certifi, - pytestCheckHook, - pytest-django, - pytest-cov, -}: -buildPythonPackage rec { - pname = "django-money"; - version = "3.6.0"; - pyproject = true; - - src = fetchFromGitHub { - owner = "django-money"; - repo = "django-money"; - tag = version; - hash = "sha256-VxAKTtrbDMRhiLxqjVYt7pLGl0sy9F1iwswP/hxQ01k="; - }; - - dependencies = [ - django - certifi - py-moneyed - ]; - - build-system = [ setuptools ]; - doCheck = true; - nativeCheckInputs = [ - pytestCheckHook - pytest-django - pytest-cov - ]; - pythonImportsCheck = [ "djmoney" ]; - - # avoid tests which import mixer, an abandoned library - disabledTests = [ - "test_mixer_blend" - ]; - - meta = with lib; { - description = "Money fields for Django forms and models."; - homepage = "https://github.com/django-money/django-money"; - changelog = "https://github.com/django-money/django-money/releases/tag/${version}"; - license = licenses.bsd3; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 893d2b7551f1..92ae7c81f55a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4266,8 +4266,6 @@ self: super: with self; { django-modeltranslation = callPackage ../development/python-modules/django-modeltranslation { }; - django-money = callPackage ../development/python-modules/django-money { }; - django-mptt = callPackage ../development/python-modules/django-mptt { }; django-multiselectfield = callPackage ../development/python-modules/django-multiselectfield { }; From 2dcca3c2d07322d91e0555c2a70187813ba13eb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:04:27 -0700 Subject: [PATCH 09/20] python3Packages.django-recurrence: drop --- .../django-recurrence/default.nix | 50 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 52 deletions(-) delete mode 100644 pkgs/development/python-modules/django-recurrence/default.nix diff --git a/pkgs/development/python-modules/django-recurrence/default.nix b/pkgs/development/python-modules/django-recurrence/default.nix deleted file mode 100644 index 507f70aa6ac9..000000000000 --- a/pkgs/development/python-modules/django-recurrence/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - buildPythonPackage, - django, - fetchFromGitHub, - lib, - python-dateutil, - pytest-django, - pytestCheckHook, - pytest-cov, - pytest-sugar, - setuptools-scm, - pythonOlder, -}: -buildPythonPackage rec { - pname = "django-recurrence"; - version = "1.11.1"; - pyproject = true; - - src = fetchFromGitHub { - owner = "jazzband"; - repo = "django-recurrence"; - tag = version; - hash = "sha256-Ytf4fFTVFIQ+6IBhwRMtCkonP0POivv4TrYok37nghA="; - }; - - disabled = pythonOlder "3.7"; - - dependencies = [ - django - python-dateutil - ]; - - build-system = [ setuptools-scm ]; - doCheck = true; - pythonImportsCheck = [ "recurrence" ]; - nativeCheckInputs = [ - pytest-django - pytest-cov - pytest-sugar - pytestCheckHook - ]; - - meta = with lib; { - description = "Utility for working with recurring dates in Django."; - homepage = "https://github.com/jazzband/django-recurrence"; - changelog = "https://github.com/jazzband/django-recurrence/releases/tag/${version}"; - license = licenses.bsd3; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 92ae7c81f55a..b9797654ede5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4334,8 +4334,6 @@ self: super: with self; { django-ratelimit = callPackage ../development/python-modules/django-ratelimit { }; - django-recurrence = callPackage ../development/python-modules/django-recurrence { }; - django-redis = callPackage ../development/python-modules/django-redis { }; django-registration = callPackage ../development/python-modules/django-registration { }; From 8c6605430fe5eda87b803f475ba3ae61aadade06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:04:53 -0700 Subject: [PATCH 10/20] python3Packages.django-sslserver: drop --- .../django-sslserver/default.nix | 34 ------------------- pkgs/top-level/python-packages.nix | 2 -- 2 files changed, 36 deletions(-) delete mode 100644 pkgs/development/python-modules/django-sslserver/default.nix diff --git a/pkgs/development/python-modules/django-sslserver/default.nix b/pkgs/development/python-modules/django-sslserver/default.nix deleted file mode 100644 index 0077fafee8ab..000000000000 --- a/pkgs/development/python-modules/django-sslserver/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - buildPythonPackage, - django, - lib, - fetchurl, - setuptools-scm, - pythonOlder, -}: -buildPythonPackage { - pname = "django-sslserver"; - version = "0.22"; - format = "wheel"; - - src = fetchurl { - url = "https://files.pythonhosted.org/packages/6f/97/e4011f3944f83a7d2aaaf893c3689ad70e8d2ae46fb6e14fd0e3b0c6ce0b/django_sslserver-0.22-py3-none-any.whl"; - hash = "sha256-xZijY9LM3CQhwI3bPYsJc/gOjkejpbdOSiiW8hwpR8U="; - }; - - disabled = pythonOlder "3.4"; - - dependencies = [ - django - ]; - - build-system = [ setuptools-scm ]; - doCheck = true; - - meta = with lib; { - description = "A SSL-enabled development server for Django"; - homepage = "https://github.com/teddziuba/django-sslserver"; - license = licenses.mit; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b9797654ede5..9c5e7da2bb30 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4376,8 +4376,6 @@ self: super: with self; { django-sql-utils = callPackage ../development/python-modules/django-sql-utils { }; - django-sslserver = callPackage ../development/python-modules/django-sslserver { }; - django-statici18n = callPackage ../development/python-modules/django-statici18n { }; django-stdimage = callPackage ../development/python-modules/django-stdimage { From 064446a5931de3c65ecd0950f33db36e53391e1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:05:15 -0700 Subject: [PATCH 11/20] python3Packages.django-stdimage: drop --- .../django-stdimage/default.nix | 63 ------------------- pkgs/top-level/python-packages.nix | 5 -- 2 files changed, 68 deletions(-) delete mode 100644 pkgs/development/python-modules/django-stdimage/default.nix diff --git a/pkgs/development/python-modules/django-stdimage/default.nix b/pkgs/development/python-modules/django-stdimage/default.nix deleted file mode 100644 index b3fed998628d..000000000000 --- a/pkgs/development/python-modules/django-stdimage/default.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ - buildPythonPackage, - django, - fetchFromGitHub, - lib, - pytest-django, - pytestCheckHook, - setuptools-scm, - pillow, - pytest-cov, - gettext, - pythonOlder, - pythonAtLeast, -}: -buildPythonPackage rec { - pname = "django-stdimage"; - version = "6.0.2"; - pyproject = true; - - src = fetchFromGitHub { - owner = "codingjoe"; - repo = "django-stdimage"; - tag = version; - hash = "sha256-uwVU3Huc5fitAweShJjcMW//GBeIpJcxqKKLGo/EdIs="; - }; - - disabled = pythonOlder "3.8" || pythonAtLeast "3.13"; - - dependencies = [ - django - pillow - ]; - - build-system = [ setuptools-scm ]; - nativeBuildInputs = [ gettext ]; - - doCheck = true; - preCheck = '' - export DJANGO_SETTINGS_MODULE=tests.settings - ''; - disabledTests = [ - # SuspiciousFileOperation: Detected path traversal attempt (Even appear in upstream) - "test_variations_override" - ]; - pythonImportsCheck = [ - "stdimage" - "stdimage.validators" - "stdimage.models" - ]; - nativeCheckInputs = [ - pytest-django - pytest-cov - pytestCheckHook - ]; - - meta = with lib; { - description = "Django Standardized Image Field"; - homepage = "https://github.com/codingjoe/django-stdimage"; - changelog = "https://github.com/codingjoe/django-stdimage/releases/tag/${version}"; - license = licenses.mit; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9c5e7da2bb30..6201e135d0ca 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4378,11 +4378,6 @@ self: super: with self; { django-statici18n = callPackage ../development/python-modules/django-statici18n { }; - django-stdimage = callPackage ../development/python-modules/django-stdimage { - django = django_4; - pytest-django = pytest-django.override { django = django_4; }; - }; - django-storages = callPackage ../development/python-modules/django-storages { }; django-structlog = callPackage ../development/python-modules/django-structlog { }; From 1817eb9ba7a79a5dbae8d50dce16a817b56c9f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:06:25 -0700 Subject: [PATCH 12/20] python3Packages.django-structlog: drop --- .../django-structlog/default.nix | 81 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 83 deletions(-) delete mode 100644 pkgs/development/python-modules/django-structlog/default.nix diff --git a/pkgs/development/python-modules/django-structlog/default.nix b/pkgs/development/python-modules/django-structlog/default.nix deleted file mode 100644 index 55f207871db1..000000000000 --- a/pkgs/development/python-modules/django-structlog/default.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ - buildPythonPackage, - fetchFromGitHub, - lib, - setuptools, - python, - pkgs, -}: -buildPythonPackage rec { - pname = "django-structlog"; - version = "10.0.0"; - pyproject = true; - - src = fetchFromGitHub { - owner = "jrobichaud"; - repo = "django-structlog"; - tag = version; - hash = "sha256-BNZ+nk2NK5x2YsTDZjH5BVizXAyLZhKp8zRvkWi068k="; - }; - - dependencies = with python.pkgs; [ - colorama - django - django-allauth - crispy-bootstrap5 - django-crispy-forms - django-environ - django-extensions - django-ipware - django-model-utils - django-ninja - django-redis - djangorestframework - structlog - ]; - - optional-dependencies.celery = with python.pkgs; [ celery ]; - - build-system = [ setuptools ]; - doCheck = true; - preCheck = '' - export DJANGO_SETTINGS_MODULE=config.settings.test_demo_app - - ${pkgs.valkey}/bin/redis-server & - REDIS_PID=$! - ''; - postCheck = '' - kill $REDIS_PID - ''; - - pytestFlags = [ - "-x" - "--cov=./django_structlog_demo_project" - "--cov-append django_structlog_demo_project" - ]; - pythonImportsCheck = [ - "structlog" - "django_structlog" - ]; - - nativeCheckInputs = with python.pkgs; [ - celery - factory-boy - pytest-asyncio - pytest-cov - pytest-django - pytest-mock - pytest-sugar - pytestCheckHook - ]; - - __darwinAllowLocalNetworking = true; - - meta = with lib; { - description = "Structured Logging for Django"; - homepage = "https://github.com/jrobichaud/django-structlog"; - changelog = "https://github.com/jrobichaud/django-structlog/releases/tag/${version}"; - license = licenses.mit; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6201e135d0ca..9980a978f563 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4380,8 +4380,6 @@ self: super: with self; { django-storages = callPackage ../development/python-modules/django-storages { }; - django-structlog = callPackage ../development/python-modules/django-structlog { }; - django-stubs = callPackage ../development/python-modules/django-stubs { }; django-stubs-ext = callPackage ../development/python-modules/django-stubs-ext { }; From 04472c9d261e5e2bcf3280fc3e9d9800ff67ebd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:06:52 -0700 Subject: [PATCH 13/20] python3Packages.django-user-sessions: drop --- .../django-user-sessions/default.nix | 32 ------------------- pkgs/top-level/python-packages.nix | 2 -- 2 files changed, 34 deletions(-) delete mode 100644 pkgs/development/python-modules/django-user-sessions/default.nix diff --git a/pkgs/development/python-modules/django-user-sessions/default.nix b/pkgs/development/python-modules/django-user-sessions/default.nix deleted file mode 100644 index 3c679e54c725..000000000000 --- a/pkgs/development/python-modules/django-user-sessions/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - fetchFromGitHub, - buildPythonPackage, - setuptools-scm, - lib, - django, -}: -buildPythonPackage rec { - pname = "django-user-sessions"; - version = "3.0.3"; - pyproject = true; - - src = fetchFromGitHub { - owner = "jazzband"; - repo = "django-user-sessions"; - tag = version; - hash = "sha256-vHLeEmlVil1iJi+YkxL5c04Vq/b5b43tjC2ZcjH4/Ys="; - }; - - dependencies = [ - django - ]; - - build-system = [ setuptools-scm ]; - - meta = with lib; { - description = "Extend Django sessions with a foreign key back to the user, allowing enumerating all user's sessions."; - homepage = "https://github.com/jazzband/django-user-sessions"; - license = licenses.mit; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9980a978f563..4b0f0802a567 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4412,8 +4412,6 @@ self: super: with self; { django-types = callPackage ../development/python-modules/django-types { }; - django-user-sessions = callPackage ../development/python-modules/django-user-sessions { }; - django-valkey = callPackage ../development/python-modules/django-valkey { }; django-versatileimagefield = From 79caf2a06c6d42019340e908369a28be238b6dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:07:37 -0700 Subject: [PATCH 14/20] python3Packages.django-xforwardedfor-middleware: drop --- .../default.nix | 33 ------------------- pkgs/top-level/python-packages.nix | 4 --- 2 files changed, 37 deletions(-) delete mode 100644 pkgs/development/python-modules/django-xforwardedfor-middleware/default.nix diff --git a/pkgs/development/python-modules/django-xforwardedfor-middleware/default.nix b/pkgs/development/python-modules/django-xforwardedfor-middleware/default.nix deleted file mode 100644 index e6806a4d28f2..000000000000 --- a/pkgs/development/python-modules/django-xforwardedfor-middleware/default.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ - buildPythonPackage, - django, - fetchFromGitHub, - lib, - setuptools, -}: -buildPythonPackage rec { - pname = "django-xforwardedfor-middleware"; - version = "2.0"; - pyproject = true; - - src = fetchFromGitHub { - owner = "allo-"; - repo = "django-xforwardedfor-middleware"; - tag = "v${version}"; - hash = "sha256-dDXSb17kXOSeIgY6wid1QFHhUjrapasWgCEb/El51eA="; - }; - - dependencies = [ - django - ]; - - build-system = [ setuptools ]; - doCheck = true; - - meta = with lib; { - description = "Use the X-Forwarded-For header to get the real ip of a request"; - homepage = "https://github.com/allo-/django-xforwardedfor-middleware"; - license = licenses.publicDomain; - maintainers = with maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4b0f0802a567..923ab072c4db 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4428,10 +4428,6 @@ self: super: with self; { django-widget-tweaks = callPackage ../development/python-modules/django-widget-tweaks { }; - django-xforwardedfor-middleware = - callPackage ../development/python-modules/django-xforwardedfor-middleware - { }; - # LTS in extended support phase django_4 = callPackage ../development/python-modules/django/4.nix { }; From 0fd0fe1f9793ce3199252bb078a6143e7a1c8c41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:08:29 -0700 Subject: [PATCH 15/20] python3Packages.opentelemetry-instrumentation-sqlite3: remove superfluous pythonOlder --- .../opentelemetry-instrumentation-sqlite3/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix index 5e4901083006..d4513da1f0e4 100644 --- a/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix @@ -1,6 +1,5 @@ { buildPythonPackage, - pythonOlder, hatchling, opentelemetry-instrumentation, opentelemetry-instrumentation-dbapi, @@ -13,8 +12,6 @@ buildPythonPackage { pname = "opentelemetry-instrumentation-sqlite3"; pyproject = true; - disabled = pythonOlder "3.8"; - sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-sqlite3"; build-system = [ hatchling ]; From 7ab4a7a90adf6dd4db0032f649c04570b18f7687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:09:14 -0700 Subject: [PATCH 16/20] python3Packages.opentelemetry-instrumentation-system-metrics: remove superfluous pythonOlder --- .../opentelemetry-instrumentation-system-metrics/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix index 3f2ec8350c26..0c6a391b8af1 100644 --- a/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix @@ -14,8 +14,6 @@ buildPythonPackage { pname = "opentelemetry-instrumentation-system-metrics"; pyproject = true; - disabled = pythonOlder "3.8"; - sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-system-metrics"; build-system = [ hatchling ]; From ee52241de20800ac85cf62d53cf8d45aec97c86d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:09:36 -0700 Subject: [PATCH 17/20] python3Packages.opentelemetry-instrumentation-system-metrics: fix meta.description --- .../opentelemetry-instrumentation-system-metrics/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix index 0c6a391b8af1..1dbb8482f801 100644 --- a/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-system-metrics/default.nix @@ -33,6 +33,6 @@ buildPythonPackage { meta = opentelemetry-instrumentation.meta // { homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-system-metrics"; - description = "OpenTelemetry Instrumentation for Django"; + description = "OpenTelemetry System Metrics Instrumentation"; }; } From 434598158f2505adf1d93d91dbb219edb0c21361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:10:08 -0700 Subject: [PATCH 18/20] python3Packages.opentelemetry-instrumentation-sqlite3: fix meta.description --- .../opentelemetry-instrumentation-sqlite3/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix index d4513da1f0e4..5fdbdb75e7cf 100644 --- a/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-sqlite3/default.nix @@ -30,6 +30,6 @@ buildPythonPackage { meta = opentelemetry-instrumentation.meta // { homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-sqlite3"; - description = "OpenTelemetry Instrumentation for Django"; + description = "OpenTelemetry SQLite3 instrumentation"; }; } From d0d0d59acddae6d591aaf196978ce45ec7e8f5d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:11:15 -0700 Subject: [PATCH 19/20] python3Packages.ppf-datamatrix: drop --- .../python-modules/ppf-datamatrix/default.nix | 34 ------------------- pkgs/top-level/python-packages.nix | 2 -- 2 files changed, 36 deletions(-) delete mode 100644 pkgs/development/python-modules/ppf-datamatrix/default.nix diff --git a/pkgs/development/python-modules/ppf-datamatrix/default.nix b/pkgs/development/python-modules/ppf-datamatrix/default.nix deleted file mode 100644 index b4942912fbe4..000000000000 --- a/pkgs/development/python-modules/ppf-datamatrix/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ - lib, - buildPythonPackage, - setuptools-scm, - pythonOlder, - fetchPypi, - pytestCheckHook, -}: - -buildPythonPackage rec { - pname = "ppf-datamatrix"; - version = "0.2"; - format = "pyproject"; - - disabled = pythonOlder "3.6"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-jwNNnJDkCPYPixCic7qrgQFMmoHJg9wevcMdTKWsVYI="; - }; - - doCheck = true; - pythonImportsCheck = [ "ppf.datamatrix" ]; - nativeCheckInputs = [ pytestCheckHook ]; - - build-system = [ setuptools-scm ]; - - meta = { - description = "Pure-python package to generate data matrix codes."; - homepage = "https://github.com/adrianschlatter/ppf.datamatrix"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 923ab072c4db..a3a8802df20f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12727,8 +12727,6 @@ self: super: with self; { ppdeep = callPackage ../development/python-modules/ppdeep { }; - ppf-datamatrix = callPackage ../development/python-modules/ppf-datamatrix { }; - ppft = callPackage ../development/python-modules/ppft { }; ppk2-api = callPackage ../development/python-modules/ppk2-api { }; From 3603c9914c43443042ed4331a33d56e4e665218c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 15 Mar 2026 21:11:46 -0700 Subject: [PATCH 20/20] python3Packages.py-moneyed: drop --- .../python-modules/py-moneyed/default.nix | 38 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 40 deletions(-) delete mode 100644 pkgs/development/python-modules/py-moneyed/default.nix diff --git a/pkgs/development/python-modules/py-moneyed/default.nix b/pkgs/development/python-modules/py-moneyed/default.nix deleted file mode 100644 index e839d6ec1958..000000000000 --- a/pkgs/development/python-modules/py-moneyed/default.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchPypi, - setuptools, - babel, - pythonOlder, - typing-extensions, -}: - -buildPythonPackage rec { - pname = "py-moneyed"; - version = "3.0"; - format = "pyproject"; - - disabled = pythonOlder "3.7"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-SQbw8CzyuR7bouFW8tTpp48iQFmrjI+i/yYjDHXYlOg="; - }; - - dependencies = [ - babel - typing-extensions - ]; - - pythonImportsCheck = [ "moneyed" ]; - - build-system = [ setuptools ]; - - meta = { - description = "Provides Currency and Money classes for use in your Python code."; - homepage = "https://github.com/py-moneyed/py-moneyed"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ kurogeek ]; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a3a8802df20f..cd681c56e654 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13090,8 +13090,6 @@ self: super: with self; { py-melissa-climate = callPackage ../development/python-modules/py-melissa-climate { }; - py-moneyed = callPackage ../development/python-modules/py-moneyed { }; - py-multiaddr = callPackage ../development/python-modules/py-multiaddr { }; py-multibase = callPackage ../development/python-modules/py-multibase { };