summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS1
-rw-r--r--doc/builders/fetchers.chapter.md10
-rw-r--r--nixos/modules/config/mysql.nix4
-rw-r--r--nixos/modules/config/nix-channel.nix11
-rw-r--r--nixos/modules/security/duosec.nix15
-rw-r--r--nixos/modules/security/wrappers/default.nix57
-rw-r--r--nixos/modules/services/mail/mlmmj.nix17
-rw-r--r--nixos/modules/services/monitoring/ups.nix8
-rw-r--r--nixos/modules/services/networking/iscsi/initiator.nix36
-rw-r--r--nixos/modules/services/networking/spiped.nix5
-rw-r--r--nixos/modules/services/networking/strongswan-swanctl/module.nix30
-rw-r--r--nixos/modules/services/system/nix-daemon.nix5
-rw-r--r--nixos/modules/services/web-apps/mattermost.nix6
-rw-r--r--nixos/modules/services/web-servers/stargazer.nix8
-rw-r--r--nixos/modules/system/activation/activation-script.nix48
-rw-r--r--nixos/modules/system/boot/binfmt.nix51
-rw-r--r--nixos/modules/system/boot/kernel.nix3
-rw-r--r--nixos/modules/system/boot/timesyncd.nix45
-rw-r--r--nixos/modules/tasks/network-interfaces.nix18
-rw-r--r--nixos/tests/activation/nix-channel.nix16
-rw-r--r--nixos/tests/activation/var.nix18
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/grafana/provision/default.nix17
-rw-r--r--nixos/tests/opensearch.nix11
-rw-r--r--nixos/tests/stunnel.nix13
-rw-r--r--nixos/tests/systemd-timesyncd.nix13
-rw-r--r--pkgs/applications/misc/pdfarranger/default.nix4
-rw-r--r--pkgs/applications/networking/circumflex/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nixops/default.nix158
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixops-aws.nix56
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixops-digitalocean.nix50
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixops-encrypted-links.nix45
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixops-gce.nix54
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixops-hercules-ci.nix39
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixops-hetzner.nix54
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixops-hetznercloud.nix52
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixops-libvirtd.nix50
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixops-vbox.nix45
-rw-r--r--pkgs/applications/networking/cluster/nixops/plugins/nixos-modules-contrib.nix45
-rw-r--r--pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix114
-rw-r--r--pkgs/applications/networking/cluster/nixops/poetry.lock731
-rw-r--r--pkgs/applications/networking/cluster/nixops/pyproject.toml28
-rw-r--r--pkgs/applications/networking/cluster/nixops/shell.nix11
-rw-r--r--pkgs/applications/networking/cluster/nixops/unwrapped.nix65
-rwxr-xr-xpkgs/applications/networking/cluster/nixops/update11
-rw-r--r--pkgs/applications/radio/freedv/default.nix6
-rw-r--r--pkgs/build-support/fetchtorrent/default.nix (renamed from pkgs/build-support/fetchbittorrent/default.nix)4
-rw-r--r--pkgs/build-support/fetchtorrent/tests.nix (renamed from pkgs/build-support/fetchbittorrent/tests.nix)10
-rw-r--r--pkgs/by-name/kd/kdsingleapplication/package.nix33
-rw-r--r--pkgs/by-name/li/libre-graph-api-cpp-qt-client/package.nix (renamed from pkgs/applications/networking/owncloud-client/libre-graph-api-cpp-qt-client.nix)12
-rw-r--r--pkgs/by-name/ni/nix-health/package.nix38
-rw-r--r--pkgs/by-name/ni/nixops-dns/deps.nix (renamed from pkgs/tools/package-management/nixops/deps.nix)0
-rw-r--r--pkgs/by-name/ni/nixops-dns/package.nix (renamed from pkgs/tools/package-management/nixops/nixops-dns.nix)0
-rw-r--r--pkgs/by-name/ow/owncloud-client/package.nix (renamed from pkgs/applications/networking/owncloud-client/default.nix)42
-rw-r--r--pkgs/development/python-modules/aesara/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix7
-rw-r--r--pkgs/development/python-modules/aionotify/default.nix37
-rw-r--r--pkgs/development/python-modules/awkward-cpp/default.nix4
-rw-r--r--pkgs/development/python-modules/digitalocean/default.nix3
-rw-r--r--pkgs/development/python-modules/intellifire4py/default.nix41
-rw-r--r--pkgs/development/python-modules/pyeconet/default.nix4
-rw-r--r--pkgs/development/python-modules/pymelcloud/default.nix2
-rw-r--r--pkgs/development/python-modules/python-rtmidi/default.nix4
-rw-r--r--pkgs/development/python-modules/pyversasense/default.nix2
-rw-r--r--pkgs/development/python-modules/reptor/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlobject/default.nix4
-rw-r--r--pkgs/development/python-modules/types-awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/velbus-aio/default.nix4
-rw-r--r--pkgs/development/python-modules/xknxproject/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-cc/default.nix2
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/README.md6
-rwxr-xr-xpkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix157
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/cli.nix49
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/default.nix531
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/editable.nix55
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/extensions.json15
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/fetch-from-pypi.sh24
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py134
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix132
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh20
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh42
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py54
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/python-requires-patch-hook.py79
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/python-requires-patch-hook.sh7
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/remove-special-dependencies.sh23
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/wheel-unpack-hook.sh18
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/known-build-systems.json12
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/lib.nix250
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix220
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json19992
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix3026
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/shapely-rewrite.py46
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix133
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix258
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix82
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock1906
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml198
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json8
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/plugins.nix70
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/semver.nix87
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/shell-scripts.nix43
-rwxr-xr-xpkgs/development/tools/poetry2nix/update32
-rw-r--r--pkgs/servers/home-assistant/default.nix19
-rw-r--r--pkgs/servers/minio/default.nix13
-rw-r--r--pkgs/servers/monitoring/grafana-image-renderer/default.nix6
-rw-r--r--pkgs/servers/monitoring/grafana-image-renderer/package.json2
-rw-r--r--pkgs/shells/nushell/plugins/default.nix2
-rw-r--r--pkgs/shells/nushell/plugins/regex.nix6
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/package-management/nixops/default.nix90
-rw-r--r--pkgs/tools/package-management/nixops/optional-virtd.patch24
-rw-r--r--pkgs/tools/package-management/nixops/python-env/poetry.lock644
-rw-r--r--pkgs/tools/package-management/nixops/python-env/pyproject.toml24
-rw-r--r--pkgs/tools/package-management/nixops/python-env/shell.nix8
-rw-r--r--pkgs/tools/security/cnspec/default.nix6
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix18
-rw-r--r--pkgs/top-level/python-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix2
121 files changed, 1069 insertions, 29880 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 24922ccec01..a206164d668 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -116,7 +116,6 @@
 /maintainers/scripts/update-python-libraries	              @FRidh
 /pkgs/development/interpreters/python                       @FRidh
 /doc/languages-frameworks/python.section.md                 @FRidh @mweinelt
-/pkgs/development/tools/poetry2nix                          @adisbladis
 /pkgs/development/interpreters/python/hooks                 @FRidh @jonringer
 
 # Haskell
diff --git a/doc/builders/fetchers.chapter.md b/doc/builders/fetchers.chapter.md
index ba7b1b19012..c99b46097e9 100644
--- a/doc/builders/fetchers.chapter.md
+++ b/doc/builders/fetchers.chapter.md
@@ -243,21 +243,21 @@ or
 
 ***
 ```
-## `fetchFromBittorrent` {#fetchfrombittorrent}
+## `fetchtorrent` {#fetchtorrent}
 
-`fetchFromBittorrent` expects two arguments. `url` which can either be a Magnet URI (Magnet Link) such as `magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c` or an HTTP URL pointing to a `.torrent` file. It can also take a `config` argument which will craft a `settings.json` configuration file and give it to `transmission`, the underlying program that is performing the fetch. The available config options for `transmission` can be found [here](https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md#options)
+`fetchtorrent` expects two arguments. `url` which can either be a Magnet URI (Magnet Link) such as `magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c` or an HTTP URL pointing to a `.torrent` file. It can also take a `config` argument which will craft a `settings.json` configuration file and give it to `transmission`, the underlying program that is performing the fetch. The available config options for `transmission` can be found [here](https://github.com/transmission/transmission/blob/main/docs/Editing-Configuration-Files.md#options)
 
 ```
-{ fetchFromBittorrent }:
+{ fetchtorrent }:
 
-fetchFromBittorrent {
+fetchtorrent {
   config = { peer-limit-global = 100; };
   url = "magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c";
   sha256 = "";
 }
 ```
 
-### Parameters {#fetchfrombittorrent-parameters}
+### Parameters {#fetchtorrent-parameters}
 
 - `url`: Magnet URI (Magnet Link) such as `magnet:?xt=urn:btih:dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c` or an HTTP URL pointing to a `.torrent` file.
 
diff --git a/nixos/modules/config/mysql.nix b/nixos/modules/config/mysql.nix
index 2f13c56f2ae..95c9ba76663 100644
--- a/nixos/modules/config/mysql.nix
+++ b/nixos/modules/config/mysql.nix
@@ -429,11 +429,11 @@ in
       '';
     };
 
-    # Activation script to append the password from the password file
+    # preStart script to append the password from the password file
     # to the configuration files. It also fixes the owner of the
     # libnss-mysql-root.cfg because it is changed to root after the
     # password is appended.
-    system.activationScripts.mysql-auth-passwords = ''
+    systemd.services.mysql.preStart = ''
       if [[ -r ${cfg.passwordFile} ]]; then
         org_umask=$(umask)
         umask 0077
diff --git a/nixos/modules/config/nix-channel.nix b/nixos/modules/config/nix-channel.nix
index 3f8e088ede9..4abc846b085 100644
--- a/nixos/modules/config/nix-channel.nix
+++ b/nixos/modules/config/nix-channel.nix
@@ -97,12 +97,9 @@ in
 
     nix.settings.nix-path = mkIf (! cfg.channel.enable) (mkDefault "");
 
-    system.activationScripts.nix-channel = mkIf cfg.channel.enable
-      (stringAfter [ "etc" "users" ] ''
-        # Subscribe the root user to the NixOS channel by default.
-        if [ ! -e "/root/.nix-channels" ]; then
-            echo "${config.system.defaultChannel} nixos" > "/root/.nix-channels"
-        fi
-      '');
+    systemd.tmpfiles.rules = lib.mkIf cfg.channel.enable [
+      "f /root/.nix-channels -"
+      ''w "/root/.nix-channels" - - - - "${config.system.defaultChannel} nixos\n"''
+    ];
   };
 }
diff --git a/nixos/modules/security/duosec.nix b/nixos/modules/security/duosec.nix
index 02b11766b3c..2a855a77e3a 100644
--- a/nixos/modules/security/duosec.nix
+++ b/nixos/modules/security/duosec.nix
@@ -193,8 +193,11 @@ in
         source = "${pkgs.duo-unix.out}/bin/login_duo";
       };
 
-    system.activationScripts = {
-      login_duo = mkIf cfg.ssh.enable ''
+    systemd.services.login-duo = lib.mkIf cfg.ssh.enable {
+      wantedBy = [ "sysinit.target" ];
+      before = [ "sysinit.target" ];
+      unitConfig.DefaultDependencies = false;
+      script = ''
         if test -f "${cfg.secretKeyFile}"; then
           mkdir -m 0755 -p /etc/duo
 
@@ -209,7 +212,13 @@ in
           mv -fT "$conf" /etc/duo/login_duo.conf
         fi
       '';
-      pam_duo = mkIf cfg.pam.enable ''
+    };
+
+    systemd.services.pam-duo = lib.mkIf cfg.ssh.enable {
+      wantedBy = [ "sysinit.target" ];
+      before = [ "sysinit.target" ];
+      unitConfig.DefaultDependencies = false;
+      script = ''
         if test -f "${cfg.secretKeyFile}"; then
           mkdir -m 0755 -p /etc/duo
 
diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix
index a8bb0650b11..250f9775be1 100644
--- a/nixos/modules/security/wrappers/default.nix
+++ b/nixos/modules/security/wrappers/default.nix
@@ -275,33 +275,38 @@ in
       mrpx ${wrap.source},
     '') wrappers;
 
-    ###### wrappers activation script
-    system.activationScripts.wrappers =
-      lib.stringAfter [ "specialfs" "users" ]
-        ''
-          chmod 755 "${parentWrapperDir}"
-
-          # We want to place the tmpdirs for the wrappers to the parent dir.
-          wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
-          chmod a+rx "$wrapperDir"
-
-          ${lib.concatStringsSep "\n" mkWrappedPrograms}
-
-          if [ -L ${wrapperDir} ]; then
-            # Atomically replace the symlink
-            # See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/
-            old=$(readlink -f ${wrapperDir})
-            if [ -e "${wrapperDir}-tmp" ]; then
-              rm --force --recursive "${wrapperDir}-tmp"
-            fi
-            ln --symbolic --force --no-dereference "$wrapperDir" "${wrapperDir}-tmp"
-            mv --no-target-directory "${wrapperDir}-tmp" "${wrapperDir}"
-            rm --force --recursive "$old"
-          else
-            # For initial setup
-            ln --symbolic "$wrapperDir" "${wrapperDir}"
+    systemd.services.suid-sgid-wrappers = {
+      description = "Create SUID/SGID Wrappers";
+      wantedBy = [ "sysinit.target" ];
+      before = [ "sysinit.target" ];
+      unitConfig.DefaultDependencies = false;
+      unitConfig.RequiresMountsFor = [ "/nix/store" "/run/wrappers" ];
+      serviceConfig.Type = "oneshot";
+      script = ''
+        chmod 755 "${parentWrapperDir}"
+
+        # We want to place the tmpdirs for the wrappers to the parent dir.
+        wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
+        chmod a+rx "$wrapperDir"
+
+        ${lib.concatStringsSep "\n" mkWrappedPrograms}
+
+        if [ -L ${wrapperDir} ]; then
+          # Atomically replace the symlink
+          # See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/
+          old=$(readlink -f ${wrapperDir})
+          if [ -e "${wrapperDir}-tmp" ]; then
+            rm --force --recursive "${wrapperDir}-tmp"
           fi
-        '';
+          ln --symbolic --force --no-dereference "$wrapperDir" "${wrapperDir}-tmp"
+          mv --no-target-directory "${wrapperDir}-tmp" "${wrapperDir}"
+          rm --force --recursive "$old"
+        else
+          # For initial setup
+          ln --symbolic "$wrapperDir" "${wrapperDir}"
+        fi
+      '';
+    };
 
     ###### wrappers consistency checks
     system.checks = lib.singleton (pkgs.runCommandLocal
diff --git a/nixos/modules/services/mail/mlmmj.nix b/nixos/modules/services/mail/mlmmj.nix
index 642f8b20fe3..3f07fabcf17 100644
--- a/nixos/modules/services/mail/mlmmj.nix
+++ b/nixos/modules/services/mail/mlmmj.nix
@@ -143,13 +143,11 @@ in
 
     environment.systemPackages = [ pkgs.mlmmj ];
 
-    system.activationScripts.mlmmj = ''
-          ${pkgs.coreutils}/bin/mkdir -p ${stateDir} ${spoolDir}/${cfg.listDomain}
-          ${pkgs.coreutils}/bin/chown -R ${cfg.user}:${cfg.group} ${spoolDir}
-          ${concatMapLines (createList cfg.listDomain) cfg.mailLists}
-          ${pkgs.postfix}/bin/postmap /etc/postfix/virtual
-          ${pkgs.postfix}/bin/postmap /etc/postfix/transport
-      '';
+    systemd.tmpfiles.rules = [
+      ''d "${stateDir}" -''
+      ''d "${spoolDir}/${cfg.listDomain}" -''
+      ''Z "${spoolDir}" - "${cfg.user}" "${cfg.group}" -''
+    ];
 
     systemd.services.mlmmj-maintd = {
       description = "mlmmj maintenance daemon";
@@ -158,6 +156,11 @@ in
         Group = cfg.group;
         ExecStart = "${pkgs.mlmmj}/bin/mlmmj-maintd -F -d ${spoolDir}/${cfg.listDomain}";
       };
+      preStart = ''
+        ${concatMapLines (createList cfg.listDomain) cfg.mailLists}
+        ${pkgs.postfix}/bin/postmap /etc/postfix/virtual
+        ${pkgs.postfix}/bin/postmap /etc/postfix/transport
+      '';
     };
 
     systemd.timers.mlmmj-maintd = {
diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix
index bb11b6a1c1d..efef2d777ac 100644
--- a/nixos/modules/services/monitoring/ups.nix
+++ b/nixos/modules/services/monitoring/ups.nix
@@ -239,11 +239,9 @@ in
 
     power.ups.schedulerRules = mkDefault "${pkgs.nut}/etc/upssched.conf.sample";
 
-    system.activationScripts.upsSetup = stringAfter [ "users" "groups" ]
-      ''
-        # Used to store pid files of drivers.
-        mkdir -p /var/state/ups
-      '';
+    systemd.tmpfiles.rules = [
+      "d /var/state/ups -"
+    ];
 
 
 /*
diff --git a/nixos/modules/services/networking/iscsi/initiator.nix b/nixos/modules/services/networking/iscsi/initiator.nix
index 9c71a988f29..6c30f89b796 100644
--- a/nixos/modules/services/networking/iscsi/initiator.nix
+++ b/nixos/modules/services/networking/iscsi/initiator.nix
@@ -52,25 +52,27 @@ in
     '';
     environment.etc."iscsi/initiatorname.iscsi".text = "InitiatorName=${cfg.name}";
 
-    system.activationScripts.iscsid = let
-      extraCfgDumper = optionalString (cfg.extraConfigFile != null) ''
-        if [ -f "${cfg.extraConfigFile}" ]; then
-          printf "\n# The following is from ${cfg.extraConfigFile}:\n"
-          cat "${cfg.extraConfigFile}"
-        else
-          echo "Warning: services.openiscsi.extraConfigFile ${cfg.extraConfigFile} does not exist!" >&2
-        fi
-      '';
-    in ''
-      (
-        cat ${config.environment.etc."iscsi/iscsid.conf.fragment".source}
-        ${extraCfgDumper}
-      ) > /etc/iscsi/iscsid.conf
-    '';
-
     systemd.packages = [ cfg.package ];
 
-    systemd.services."iscsid".wantedBy = [ "multi-user.target" ];
+    systemd.services."iscsid" = {
+      wantedBy = [ "multi-user.target" ];
+      preStart =
+        let
+          extraCfgDumper = optionalString (cfg.extraConfigFile != null) ''
+            if [ -f "${cfg.extraConfigFile}" ]; then
+              printf "\n# The following is from ${cfg.extraConfigFile}:\n"
+              cat "${cfg.extraConfigFile}"
+            else
+              echo "Warning: services.openiscsi.extraConfigFile ${cfg.extraConfigFile} does not exist!" >&2
+            fi
+          '';
+        in ''
+          (
+            cat ${config.environment.etc."iscsi/iscsid.conf.fragment".source}
+            ${extraCfgDumper}
+          ) > /etc/iscsi/iscsid.conf
+        '';
+    };
     systemd.sockets."iscsid".wantedBy = [ "sockets.target" ];
 
     systemd.services."iscsi" = mkIf cfg.enableAutoLoginOut {
diff --git a/nixos/modules/services/networking/spiped.nix b/nixos/modules/services/networking/spiped.nix
index 3e01ace54ad..547317dbcbe 100644
--- a/nixos/modules/services/networking/spiped.nix
+++ b/nixos/modules/services/networking/spiped.nix
@@ -197,8 +197,9 @@ in
       script = "exec ${pkgs.spiped}/bin/spiped -F `cat /etc/spiped/$1.spec`";
     };
 
-    system.activationScripts.spiped = optionalString (cfg.config != {})
-      "mkdir -p /var/lib/spiped";
+    systemd.tmpfiles.rules = lib.mkIf (cfg.config != { }) [
+      "d /var/lib/spiped -"
+    ];
 
     # Setup spiped config files
     environment.etc = mapAttrs' (name: cfg: nameValuePair "spiped/${name}.spec"
diff --git a/nixos/modules/services/networking/strongswan-swanctl/module.nix b/nixos/modules/services/networking/strongswan-swanctl/module.nix
index c51e8ad9f5f..bfea8996972 100644
--- a/nixos/modules/services/networking/strongswan-swanctl/module.nix
+++ b/nixos/modules/services/networking/strongswan-swanctl/module.nix
@@ -43,21 +43,21 @@ in  {
 
     # The swanctl command complains when the following directories don't exist:
     # See: https://wiki.strongswan.org/projects/strongswan/wiki/Swanctldirectory
-    system.activationScripts.strongswan-swanctl-etc = stringAfter ["etc"] ''
-      mkdir -p '/etc/swanctl/x509'     # Trusted X.509 end entity certificates
-      mkdir -p '/etc/swanctl/x509ca'   # Trusted X.509 Certificate Authority certificates
-      mkdir -p '/etc/swanctl/x509ocsp'
-      mkdir -p '/etc/swanctl/x509aa'   # Trusted X.509 Attribute Authority certificates
-      mkdir -p '/etc/swanctl/x509ac'   # Attribute Certificates
-      mkdir -p '/etc/swanctl/x509crl'  # Certificate Revocation Lists
-      mkdir -p '/etc/swanctl/pubkey'   # Raw public keys
-      mkdir -p '/etc/swanctl/private'  # Private keys in any format
-      mkdir -p '/etc/swanctl/rsa'      # PKCS#1 encoded RSA private keys
-      mkdir -p '/etc/swanctl/ecdsa'    # Plain ECDSA private keys
-      mkdir -p '/etc/swanctl/bliss'
-      mkdir -p '/etc/swanctl/pkcs8'    # PKCS#8 encoded private keys of any type
-      mkdir -p '/etc/swanctl/pkcs12'   # PKCS#12 containers
-    '';
+    systemd.tmpfiles.rules = [
+      "d /etc/swanctl/x509 -"     # Trusted X.509 end entity certificates
+      "d /etc/swanctl/x509ca -"   # Trusted X.509 Certificate Authority certificates
+      "d /etc/swanctl/x509ocsp -"
+      "d /etc/swanctl/x509aa -"   # Trusted X.509 Attribute Authority certificates
+      "d /etc/swanctl/x509ac -"   # Attribute Certificates
+      "d /etc/swanctl/x509crl -"  # Certificate Revocation Lists
+      "d /etc/swanctl/pubkey -"   # Raw public keys
+      "d /etc/swanctl/private -"  # Private keys in any format
+      "d /etc/swanctl/rsa -"      # PKCS#1 encoded RSA private keys
+      "d /etc/swanctl/ecdsa -"    # Plain ECDSA private keys
+      "d /etc/swanctl/bliss -"
+      "d /etc/swanctl/pkcs8 -"    # PKCS#8 encoded private keys of any type
+      "d /etc/swanctl/pkcs12 -"   # PKCS#12 containers
+    ];
 
     systemd.services.strongswan-swanctl = {
       description = "strongSwan IPsec IKEv1/IKEv2 daemon using swanctl";
diff --git a/nixos/modules/services/system/nix-daemon.nix b/nixos/modules/services/system/nix-daemon.nix
index c9df20196db..ce255cd8d0a 100644
--- a/nixos/modules/services/system/nix-daemon.nix
+++ b/nixos/modules/services/system/nix-daemon.nix
@@ -249,11 +249,6 @@ in
 
     services.xserver.displayManager.hiddenUsers = attrNames nixbldUsers;
 
-    system.activationScripts.nix = stringAfter [ "etc" "users" ]
-      ''
-        install -m 0755 -d /nix/var/nix/{gcroots,profiles}/per-user
-      '';
-
     # Legacy configuration conversion.
     nix.settings = mkMerge [
       (mkIf (isNixAtLeast "2.3pre") { sandbox-fallback = false; })
diff --git a/nixos/modules/services/web-apps/mattermost.nix b/nixos/modules/services/web-apps/mattermost.nix
index 66e5f1695a1..24f3b333184 100644
--- a/nixos/modules/services/web-apps/mattermost.nix
+++ b/nixos/modules/services/web-apps/mattermost.nix
@@ -287,9 +287,9 @@ in
 
       # The systemd service will fail to execute the preStart hook
       # if the WorkingDirectory does not exist
-      system.activationScripts.mattermost = ''
-        mkdir -p "${cfg.statePath}"
-      '';
+      systemd.tmpfiles.rules = [
+        ''d "${cfg.statePath}" -''
+      ];
 
       systemd.services.mattermost = {
         description = "Mattermost chat service";
diff --git a/nixos/modules/services/web-servers/stargazer.nix b/nixos/modules/services/web-servers/stargazer.nix
index f0c3cf8787e..18f57363137 100644
--- a/nixos/modules/services/web-servers/stargazer.nix
+++ b/nixos/modules/services/web-servers/stargazer.nix
@@ -204,11 +204,9 @@ in
     };
 
     # Create default cert store
-    system.activationScripts.makeStargazerCertDir =
-      lib.optionalAttrs (cfg.store == /var/lib/gemini/certs) ''
-        mkdir -p /var/lib/gemini/certs
-        chown -R ${cfg.user}:${cfg.group} /var/lib/gemini/certs
-      '';
+    systemd.tmpfiles.rules = lib.mkIf (cfg.store == /var/lib/gemini/certs) [
+      ''d /var/lib/gemini/certs - "${cfg.user}" "${cfg.group}" -''
+    ];
 
     users.users = lib.optionalAttrs (cfg.user == "stargazer") {
       stargazer = {
diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix
index c8407dd6779..95b0c7bbd68 100644
--- a/nixos/modules/system/activation/activation-script.nix
+++ b/nixos/modules/system/activation/activation-script.nix
@@ -55,10 +55,6 @@ let
       # used as a garbage collection root.
       ln -sfn "$(readlink -f "$systemConfig")" /run/current-system
 
-      # Prevent the current configuration from being garbage-collected.
-      mkdir -p /nix/var/nix/gcroots
-      ln -sfn /run/current-system /nix/var/nix/gcroots/current-system
-
       exit $_status
     '';
 
@@ -233,23 +229,16 @@ in
   config = {
 
     system.activationScripts.stdio = ""; # obsolete
+    system.activationScripts.var = ""; # obsolete
+    system.activationScripts.specialfs = ""; # obsolete
 
-    system.activationScripts.var =
-      ''
-        # Various log/runtime directories.
-
-        mkdir -p /var/tmp
-        chmod 1777 /var/tmp
-
-        # Empty, immutable home directory of many system accounts.
-        mkdir -p /var/empty
-        # Make sure it's really empty
-        ${pkgs.e2fsprogs}/bin/chattr -f -i /var/empty || true
-        find /var/empty -mindepth 1 -delete
-        chmod 0555 /var/empty
-        chown root:root /var/empty
-        ${pkgs.e2fsprogs}/bin/chattr -f +i /var/empty || true
-      '';
+    systemd.tmpfiles.rules = [
+      # Prevent the current configuration from being garbage-collected.
+      "d /nix/var/nix/gcroots -"
+      "L+ /nix/var/nix/gcroots/current-system - - - - /run/current-system"
+      "D /var/empty 0555 root root -"
+      "h /var/empty - - - - +i"
+    ];
 
     system.activationScripts.usrbinenv = if config.environment.usrbinenv != null
       then ''
@@ -263,25 +252,6 @@ in
         rmdir --ignore-fail-on-non-empty /usr/bin /usr
       '';
 
-    system.activationScripts.specialfs =
-      ''
-        specialMount() {
-          local device="$1"
-          local mountPoint="$2"
-          local options="$3"
-          local fsType="$4"
-
-          if mountpoint -q "$mountPoint"; then
-            local options="remount,$options"
-          else
-            mkdir -p "$mountPoint"
-            chmod 0755 "$mountPoint"
-          fi
-          mount -t "$fsType" -o "$options" "$device" "$mountPoint"
-        }
-        source ${config.system.build.earlyMountScript}
-      '';
-
     systemd.user = {
       services.nixos-activation = {
         description = "Run user-specific NixOS activation";
diff --git a/nixos/modules/system/boot/binfmt.nix b/nixos/modules/system/boot/binfmt.nix
index 8c9483f01c1..d16152ab9de 100644
--- a/nixos/modules/system/boot/binfmt.nix
+++ b/nixos/modules/system/boot/binfmt.nix
@@ -20,17 +20,13 @@ let
                  optionalString fixBinary "F";
   in ":${name}:${type}:${offset'}:${magicOrExtension}:${mask'}:${interpreter}:${flags}";
 
-  activationSnippet = name: { interpreter, wrapInterpreterInShell, ... }: if wrapInterpreterInShell then ''
-    rm -f /run/binfmt/${name}
-    cat > /run/binfmt/${name} << 'EOF'
-    #!${pkgs.bash}/bin/sh
-    exec -- ${interpreter} "$@"
-    EOF
-    chmod +x /run/binfmt/${name}
-  '' else ''
-    rm -f /run/binfmt/${name}
-    ln -s ${interpreter} /run/binfmt/${name}
-  '';
+  mkInterpreter = name: { interpreter, wrapInterpreterInShell, ... }:
+    if wrapInterpreterInShell
+    then pkgs.writeShellScript "${name}-interpreter" ''
+           #!${pkgs.bash}/bin/sh
+           exec -- ${interpreter} "$@"
+         ''
+    else interpreter;
 
   getEmulator = system: (lib.systems.elaborate { inherit system; }).emulator pkgs;
   getQemuArch = system: (lib.systems.elaborate { inherit system; }).qemuArch;
@@ -318,18 +314,25 @@ in {
 
     environment.etc."binfmt.d/nixos.conf".source = builtins.toFile "binfmt_nixos.conf"
       (lib.concatStringsSep "\n" (lib.mapAttrsToList makeBinfmtLine config.boot.binfmt.registrations));
-    system.activationScripts.binfmt = stringAfter [ "specialfs" ] ''
-      mkdir -p /run/binfmt
-      chmod 0755 /run/binfmt
-      ${lib.concatStringsSep "\n" (lib.mapAttrsToList activationSnippet config.boot.binfmt.registrations)}
-    '';
-    systemd = lib.mkIf (config.boot.binfmt.registrations != {}) {
-      additionalUpstreamSystemUnits = [
-        "proc-sys-fs-binfmt_misc.automount"
-        "proc-sys-fs-binfmt_misc.mount"
-        "systemd-binfmt.service"
-      ];
-      services.systemd-binfmt.restartTriggers = [ (builtins.toJSON config.boot.binfmt.registrations) ];
-    };
+
+    systemd = lib.mkMerge [
+      ({ tmpfiles.rules = [
+          "d /run/binfmt 0755 -"
+        ] ++ lib.mapAttrsToList
+          (name: interpreter:
+            "L+ /run/binfmt/${name} - - - - ${interpreter}"
+          )
+          (lib.mapAttrs mkInterpreter config.boot.binfmt.registrations);
+      })
+
+      (lib.mkIf (config.boot.binfmt.registrations != {}) {
+        additionalUpstreamSystemUnits = [
+          "proc-sys-fs-binfmt_misc.automount"
+          "proc-sys-fs-binfmt_misc.mount"
+          "systemd-binfmt.service"
+        ];
+        services.systemd-binfmt.restartTriggers = [ (builtins.toJSON config.boot.binfmt.registrations) ];
+      })
+    ];
   };
 }
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index 9ea61191967..6b07686efcb 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -269,6 +269,9 @@ in
             "ata_piix"
             "pata_marvell"
 
+            # NVMe
+            "nvme"
+
             # Standard SCSI stuff.
             "sd_mod"
             "sr_mod"
diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix
index a6604802c38..7487cf97fe5 100644
--- a/nixos/modules/system/boot/timesyncd.nix
+++ b/nixos/modules/system/boot/timesyncd.nix
@@ -46,6 +46,28 @@ with lib;
       wantedBy = [ "sysinit.target" ];
       aliases = [ "dbus-org.freedesktop.timesync1.service" ];
       restartTriggers = [ config.environment.etc."systemd/timesyncd.conf".source ];
+
+      preStart = (
+        # Ensure that we have some stored time to prevent
+        # systemd-timesyncd to resort back to the fallback time.  If
+        # the file doesn't exist we assume that our current system
+        # clock is good enough to provide an initial value.
+        ''
+          if ! [ -f /var/lib/systemd/timesync/clock ]; then
+            test -d /var/lib/systemd/timesync || mkdir -p /var/lib/systemd/timesync
+            touch /var/lib/systemd/timesync/clock
+          fi
+        '' +
+        # workaround an issue of systemd-timesyncd not starting due to upstream systemd reverting their dynamic users changes
+        #  - https://github.com/NixOS/nixpkgs/pull/61321#issuecomment-492423742
+        #  - https://github.com/systemd/systemd/issues/12131
+        (lib.optionalString (versionOlder config.system.stateVersion "19.09") ''
+          if [ -L /var/lib/systemd/timesync ]; then
+            rm /var/lib/systemd/timesync
+            mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync
+          fi
+        '')
+      );
     };
 
     environment.etc."systemd/timesyncd.conf".text = ''
@@ -59,28 +81,5 @@ with lib;
       group = "systemd-timesync";
     };
     users.groups.systemd-timesync.gid = config.ids.gids.systemd-timesync;
-
-    system.activationScripts.systemd-timesyncd-migration =
-      # workaround an issue of systemd-timesyncd not starting due to upstream systemd reverting their dynamic users changes
-      #  - https://github.com/NixOS/nixpkgs/pull/61321#issuecomment-492423742
-      #  - https://github.com/systemd/systemd/issues/12131
-      mkIf (versionOlder config.system.stateVersion "19.09") ''
-        if [ -L /var/lib/systemd/timesync ]; then
-          rm /var/lib/systemd/timesync
-          mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync
-        fi
-      '';
-    system.activationScripts.systemd-timesyncd-init-clock =
-      # Ensure that we have some stored time to prevent systemd-timesyncd to
-      # resort back to the fallback time.
-      # If the file doesn't exist we assume that our current system clock is
-      # good enough to provide an initial value.
-      ''
-      if ! [ -f /var/lib/systemd/timesync/clock ]; then
-        test -d /var/lib/systemd/timesync || mkdir -p /var/lib/systemd/timesync
-        touch /var/lib/systemd/timesync/clock
-      fi
-      '';
   };
-
 }
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 853a2cb3143..a0e8e5d47a6 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -1406,18 +1406,12 @@ in
           val = tempaddrValues.${opt}.sysctl;
          in nameValuePair "net.ipv6.conf.${replaceStrings ["."] ["/"] i.name}.use_tempaddr" val));
 
-    # Set the host and domain names in the activation script.  Don't
-    # clear it if it's not configured in the NixOS configuration,
-    # since it may have been set by dhcpcd in the meantime.
-    system.activationScripts.hostname = let
-        effectiveHostname = config.boot.kernel.sysctl."kernel.hostname" or cfg.hostName;
-      in optionalString (effectiveHostname != "") ''
-        hostname "${effectiveHostname}"
-      '';
-    system.activationScripts.domain =
-      optionalString (cfg.domain != null) ''
-        domainname "${cfg.domain}"
-      '';
+    systemd.services.domainname = lib.mkIf (cfg.domain != null) {
+      wantedBy = [ "sysinit.target" ];
+      before = [ "sysinit.target" ];
+      unitConfig.DefaultDependencies = false;
+      serviceConfig.ExecStart = ''domainname "${cfg.domain}"'';
+    };
 
     environment.etc.hostid = mkIf (cfg.hostId != null) { source = hostidFile; };
     boot.initrd.systemd.contents."/etc/hostid" = mkIf (cfg.hostId != null) { source = hostidFile; };
diff --git a/nixos/tests/activation/nix-channel.nix b/nixos/tests/activation/nix-channel.nix
new file mode 100644
index 00000000000..8416ff0347a
--- /dev/null
+++ b/nixos/tests/activation/nix-channel.nix
@@ -0,0 +1,16 @@
+{ lib, ... }:
+
+{
+
+  name = "activation-nix-channel";
+
+  meta.maintainers = with lib.maintainers; [ nikstur ];
+
+  nodes.machine = {
+    nix.channel.enable = true;
+  };
+
+  testScript = ''
+    print(machine.succeed("cat /root/.nix-channels"))
+  '';
+}
diff --git a/nixos/tests/activation/var.nix b/nixos/tests/activation/var.nix
new file mode 100644
index 00000000000..1a546a7671c
--- /dev/null
+++ b/nixos/tests/activation/var.nix
@@ -0,0 +1,18 @@
+{ lib, ... }:
+
+{
+
+  name = "activation-var";
+
+  meta.maintainers = with lib.maintainers; [ nikstur ];
+
+  nodes.machine = { };
+
+  testScript = ''
+    assert machine.succeed("stat -c '%a' /var/tmp") == "1777\n"
+    assert machine.succeed("stat -c '%a' /var/empty") == "555\n"
+    assert machine.succeed("stat -c '%U' /var/empty") == "root\n"
+    assert machine.succeed("stat -c '%G' /var/empty") == "root\n"
+    assert "i" in machine.succeed("lsattr -d /var/empty")
+  '';
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 7a599c74c9f..e047ecd21db 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -266,6 +266,8 @@ in {
   esphome = handleTest ./esphome.nix {};
   etc = pkgs.callPackage ../modules/system/etc/test.nix { inherit evalMinimalConfig; };
   activation = pkgs.callPackage ../modules/system/activation/test.nix { };
+  activation-var = runTest ./activation/var.nix;
+  activation-nix-channel = runTest ./activation/nix-channel.nix;
   etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
   etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {};
   etebase-server = handleTest ./etebase-server.nix {};
diff --git a/nixos/tests/grafana/provision/default.nix b/nixos/tests/grafana/provision/default.nix
index 96378452ade..d33d16ce120 100644
--- a/nixos/tests/grafana/provision/default.nix
+++ b/nixos/tests/grafana/provision/default.nix
@@ -22,15 +22,14 @@ let
       };
     };
 
-    system.activationScripts.setup-grafana = {
-      deps = [ "users" ];
-      text = ''
-        mkdir -p /var/lib/grafana/dashboards
-        chown -R grafana:grafana /var/lib/grafana
-        chmod 0700 -R /var/lib/grafana/dashboards
-        cp ${pkgs.writeText "test.json" (builtins.readFile ./test_dashboard.json)} /var/lib/grafana/dashboards/
-      '';
-    };
+    systemd.tmpfiles.rules =
+      let
+        dashboard = pkgs.writeText "test.json" (builtins.readFile ./test_dashboard.json);
+      in
+      [
+        "d /var/lib/grafana/dashboards 0700 grafana grafana -"
+        "C+ /var/lib/grafana/dashboards/test.json - - - - ${dashboard}"
+      ];
   };
 
   extraNodeConfs = {
diff --git a/nixos/tests/opensearch.nix b/nixos/tests/opensearch.nix
index c0caf950cb9..2887ac96776 100644
--- a/nixos/tests/opensearch.nix
+++ b/nixos/tests/opensearch.nix
@@ -31,14 +31,9 @@ in
       services.opensearch.dataDir = "/var/opensearch_test";
       services.opensearch.user = "open_search";
       services.opensearch.group = "open_search";
-      system.activationScripts.createDirectory = {
-        text = ''
-          mkdir -p "/var/opensearch_test"
-          chown open_search:open_search /var/opensearch_test
-          chmod 0700 /var/opensearch_test
-        '';
-        deps = [ "users" "groups" ];
-      };
+      systemd.tmpfiles.rules = [
+        "d /var/opensearch_test 0700 open_search open_search -"
+      ];
       users = {
         groups.open_search = {};
         users.open_search = {
diff --git a/nixos/tests/stunnel.nix b/nixos/tests/stunnel.nix
index 22c087290fc..07fba435d4d 100644
--- a/nixos/tests/stunnel.nix
+++ b/nixos/tests/stunnel.nix
@@ -17,11 +17,16 @@ let
     };
   };
   makeCert = { config, pkgs, ... }: {
-    system.activationScripts.create-test-cert = stringAfter [ "users" ] ''
-      ${pkgs.openssl}/bin/openssl req -batch -x509 -newkey rsa -nodes -out /test-cert.pem -keyout /test-key.pem -subj /CN=${config.networking.hostName}
-      ( umask 077; cat /test-key.pem /test-cert.pem > /test-key-and-cert.pem )
-      chown stunnel /test-key.pem /test-key-and-cert.pem
+    systemd.services.create-test-cert = {
+      wantedBy = [ "sysinit.target" ];
+      before = [ "sysinit.target" ];
+      unitConfig.DefaultDependencies = false;
+      script = ''
+        ${pkgs.openssl}/bin/openssl req -batch -x509 -newkey rsa -nodes -out /test-cert.pem -keyout /test-key.pem -subj /CN=${config.networking.hostName}
+        ( umask 077; cat /test-key.pem /test-cert.pem > /test-key-and-cert.pem )
+        chown stunnel /test-key.pem /test-key-and-cert.pem
     '';
+    };
   };
   serverCommon = { pkgs, ... }: {
     networking.firewall.allowedTCPPorts = [ 443 ];
diff --git a/nixos/tests/systemd-timesyncd.nix b/nixos/tests/systemd-timesyncd.nix
index 43abd36c47d..f38d06be151 100644
--- a/nixos/tests/systemd-timesyncd.nix
+++ b/nixos/tests/systemd-timesyncd.nix
@@ -15,12 +15,13 @@ in {
       # create the path that should be migrated by our activation script when
       # upgrading to a newer nixos version
       system.stateVersion = "19.03";
-      system.activationScripts.simulate-old-timesync-state-dir = lib.mkBefore ''
-        rm -f /var/lib/systemd/timesync
-        mkdir -p /var/lib/systemd /var/lib/private/systemd/timesync
-        ln -s /var/lib/private/systemd/timesync /var/lib/systemd/timesync
-        chown systemd-timesync: /var/lib/private/systemd/timesync
-      '';
+      systemd.tmpfiles.rules = [
+        "r /var/lib/systemd/timesync -"
+        "d /var/lib/systemd -"
+        "d /var/lib/private/systemd/timesync -"
+        "L /var/lib/systemd/timesync - - - - /var/lib/private/systemd/timesync"
+        "d /var/lib/private/systemd/timesync - systemd-timesync systemd-timesync -"
+      ];
     });
   };
 
diff --git a/pkgs/applications/misc/pdfarranger/default.nix b/pkgs/applications/misc/pdfarranger/default.nix
index f140f8271e0..ef77c5a56f7 100644
--- a/pkgs/applications/misc/pdfarranger/default.nix
+++ b/pkgs/applications/misc/pdfarranger/default.nix
@@ -8,13 +8,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pdfarranger";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-tNLy3HeHh8nBtmfJS5XhKX+KhIBnuUV2C8LwQl3mQLU=";
+    hash = "sha256-l//DeaIqUl6FdGFxM8yTKcTjVNvYMllorcoXoK33Iy4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/circumflex/default.nix b/pkgs/applications/networking/circumflex/default.nix
index 832456d35d3..bc1d81e7f95 100644
--- a/pkgs/applications/networking/circumflex/default.nix
+++ b/pkgs/applications/networking/circumflex/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "circumflex";
-  version = "3.2";
+  version = "3.5";
 
   src = fetchFromGitHub {
     owner = "bensadeh";
     repo = "circumflex";
     rev = version;
-    hash = "sha256-3cu5Y9Z20CbFN+4/2LLM3pcXofuc8oztoZVPhDzFLas=";
+    hash = "sha256-w5QdFvF+kIxt27rg/uXjd+G0Dls7oYhmFew+O2NoaVg=";
   };
 
-  vendorHash = "sha256-w9WDbNvnaRgZ/rpI450C7AA244AXRE8u960xZnAiXn4=";
+  vendorHash = "sha256-F9mzGP5b9dcmnT6TvjjbRq/isk1o8vM/5yxWUaZrnaw=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/networking/cluster/nixops/default.nix b/pkgs/applications/networking/cluster/nixops/default.nix
index b119bfdcde2..3fef75313b0 100644
--- a/pkgs/applications/networking/cluster/nixops/default.nix
+++ b/pkgs/applications/networking/cluster/nixops/default.nix
@@ -1,108 +1,56 @@
-{ nixosTests
-, pkgs
-, poetry2nix
-, lib
-, overrides ? (self: super: {})
-}:
+{ python3 }:
 
 let
-
-  interpreter = (
-    poetry2nix.mkPoetryPackages {
-      projectDir = ./.;
-      python = pkgs.python310;
-      overrides = [
-        poetry2nix.defaultPoetryOverrides
-        (import ./poetry-git-overlay.nix { inherit pkgs; })
-        (
-          self: super: {
-
-            nixops = super.nixops.overridePythonAttrs (
-              old: {
-                version = "${old.version}-pre-${lib.substring 0 7 super.nixops.src.rev or "dirty"}";
-
-                postPatch = ''
-                  substituteInPlace nixops/args.py --subst-var version
-                '';
-
-                meta = old.meta // {
-                  homepage = "https://github.com/NixOS/nixops";
-                  description = "NixOS cloud provisioning and deployment tool";
-                  maintainers = with lib.maintainers; [ adisbladis aminechikhaoui roberth ];
-                  platforms = lib.platforms.unix;
-                  license = lib.licenses.lgpl3;
-                  mainProgram = "nixops";
-                };
-
-              }
-            );
-          }
-        )
-
-        # User provided overrides
-        overrides
-
-        # Make nixops pluginable
-        (self: super: let
-          # Create a fake sphinx directory that doesn't pull the entire setup hook and incorrect python machinery
-          sphinx = pkgs.runCommand "sphinx" {} ''
-            mkdir -p $out/bin
-            for f in ${pkgs.python3.pkgs.sphinx}/bin/*; do
-              ln -s $f $out/bin/$(basename $f)
-            done
-          '';
-
-        in {
-          nixops = super.__toPluginAble {
-            drv = super.nixops;
-            finalDrv = self.nixops;
-
-            nativeBuildInputs = [ sphinx ];
-
-            postInstall = ''
-              doc_cache=$(mktemp -d)
-              sphinx-build -b man -d $doc_cache doc/ $out/share/man/man1
-
-              html=$(mktemp -d)
-              sphinx-build -b html -d $doc_cache doc/ $out/share/nixops/doc
-            '';
-
-          };
-        })
-
-        (self: super: {
-          cryptography = super.cryptography.overridePythonAttrs (old: {
-            meta = old.meta // {
-              knownVulnerabilities = old.meta.knownVulnerabilities or [ ]
-                ++ lib.optionals (lib.versionOlder old.version "41.0.0") [
-                  "CVE-2023-2650"
-                  "CVE-2023-2975"
-                  "CVE-2023-3446"
-                  "CVE-2023-3817"
-                  "CVE-2023-38325"
-                ];
-            };
-          });
-        })
-
-      ];
-    }
-  ).python;
-
-  pkg = (interpreter.pkgs.nixops.withPlugins(ps: [
-    ps.nixops-aws
-    ps.nixops-digitalocean
-    ps.nixops-encrypted-links
-    ps.nixops-gcp
-    ps.nixops-hercules-ci
-    ps.nixops-hetzner
-    ps.nixopsvbox
-    ps.nixops-virtd
-    ps.nixops-hetznercloud
-  ])).overrideAttrs (finalAttrs: prevAttrs: {
-    passthru = prevAttrs.passthru or {} // {
-      tests = prevAttrs.passthru.tests or {} //
-        nixosTests.nixops.unstable.passthru.override { nixopsPkg = pkg; };
+  python = python3.override {
+    packageOverrides = self: super: {
+      nixops = self.callPackage ./unwrapped.nix { };
+    } // (plugins self);
+  };
+
+  plugins = ps: with ps; rec {
+    nixops-aws = callPackage ./plugins/nixops-aws.nix { };
+    nixops-digitalocean = callPackage ./plugins/nixops-digitalocean.nix { };
+    nixops-encrypted-links = callPackage ./plugins/nixops-encrypted-links.nix { };
+    nixops-gce = callPackage ./plugins/nixops-gce.nix { };
+    nixops-hercules-ci = callPackage ./plugins/nixops-hercules-ci.nix { };
+    nixops-hetzner = callPackage ./plugins/nixops-hetzner.nix { };
+    nixops-hetznercloud = callPackage ./plugins/nixops-hetznercloud.nix { };
+    nixops-libvirtd = callPackage ./plugins/nixops-libvirtd.nix { };
+    nixops-vbox = callPackage ./plugins/nixops-vbox.nix { };
+    nixos-modules-contrib = callPackage ./plugins/nixos-modules-contrib.nix { };
+
+    # aliases for backwards compatibility
+    nixops-gcp = nixops-gce;
+    nixops-virtd = nixops-libvirtd;
+    nixopsvbox = nixops-vbox;
+  };
+
+  # selector is a function mapping pythonPackages to a list of plugins
+  # e.g. nixops_unstable.withPlugins (ps: with ps; [ nixops-aws ])
+  withPlugins = selector: let
+    selected = selector (plugins python.pkgs);
+  in python.pkgs.toPythonApplication (python.pkgs.nixops.overridePythonAttrs (old: {
+    propagatedBuildInputs = old.propagatedBuildInputs ++ selected;
+
+    # Propagating dependencies leaks them through $PYTHONPATH which causes issues
+    # when used in nix-shell.
+    postFixup = ''
+      rm $out/nix-support/propagated-build-inputs
+    '';
+
+    passthru = old.passthru // {
+      plugins = plugins python.pkgs;
+      inherit withPlugins python;
     };
-  });
-in pkg
+  }));
+in withPlugins (ps: [
+  ps.nixops-aws
+  ps.nixops-digitalocean
+  ps.nixops-encrypted-links
+  ps.nixops-gce
+  ps.nixops-hercules-ci
+  ps.nixops-hetzner
+  ps.nixops-hetznercloud
+  ps.nixops-libvirtd
+  ps.nixops-vbox
+])
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-aws.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-aws.nix
new file mode 100644
index 00000000000..06d8135bc9f
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-aws.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, boto
+, boto3
+, nixops
+, nixos-modules-contrib
+, typing-extensions
+}:
+
+buildPythonPackage {
+  pname = "nixops-aws";
+  version = "unstable-2023-08-09";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "NixOS";
+    repo = "nixops-aws";
+    rev = "8802d1cda9004ec1362815292c2a8ab95e6d64e8";
+    hash = "sha256-i0KjFrwpDHRch9jorccdVwnjAQiORClDUqm2R2xvwuU=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  propagatedBuildInputs = [
+    boto
+    boto3
+    nixos-modules-contrib
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "nixops_aws" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "AWS plugin for NixOps";
+    homepage = "https://github.com/NixOS/nixops-aws";
+    license = licenses.lgpl3Only;
+    maintainers = nixops.meta.maintainers;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-digitalocean.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-digitalocean.nix
new file mode 100644
index 00000000000..e35b4cd07f3
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-digitalocean.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, nixops
+, digital-ocean
+}:
+
+buildPythonPackage {
+  pname = "nixops-digitalocean";
+  version = "unstable-2022-08-14";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = "nixops-digitalocean";
+    rev = "e977b7f11e264a6a2bff2dcbc7b94c6a97b92fff";
+    hash = "sha256-aJtShvdqjAiCK5oZL0GR5cleDb4s1pJkO6UPKGd4Dgg=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  propagatedBuildInputs = [
+    digital-ocean
+  ];
+
+  pythonImportsCheck = [ "nixops_digitalocean" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "NixOps Digitalocean plugin";
+    homepage = "https://github.com/nix-community/nixops-digitalocean";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ kiwi ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-encrypted-links.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-encrypted-links.nix
new file mode 100644
index 00000000000..49ffc319a05
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-encrypted-links.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, nixops
+}:
+
+buildPythonPackage {
+  pname = "nixops-encrypted-links";
+  version = "unstable-2021-02-16";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = "nixops-encrypted-links";
+    rev = "e2f196fce15fcfb00d18c055e1ac53aec33b8fb1";
+    hash = "sha256-1TTbARyCfrLxF6SVNkmIKNNcLS9FVW22d9w0VRrH1os=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  pythonImportsCheck = [ "nixops_encrypted_links" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "EncryptedLinksTo from Nixops 1 module port";
+    homepage = "https://github.com/nix-community/nixops-encrypted-links";
+    license = licenses.mit;
+    maintainers = with maintainers; [ adisbladis ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-gce.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-gce.nix
new file mode 100644
index 00000000000..604e82114ba
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-gce.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, cryptography
+, libcloud
+, nixops
+, nixos-modules-contrib
+}:
+
+buildPythonPackage {
+  pname = "nixops-gce";
+  version = "unstable-2023-05-26";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = "nixops-gce";
+    rev = "d13cb794aef763338f544010ceb1816fe31d7f42";
+    hash = "sha256-UkYf6CoUrr8yuQoe/ik6vu+UCi3ByJd0BdkS9SLEp0Q=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  propagatedBuildInputs = [
+    cryptography
+    libcloud
+    nixos-modules-contrib
+  ];
+
+  pythonImportsCheck = [ "nixops_gcp" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "NixOps Google Cloud Backend";
+    homepage = "https://github.com/nix-community/nixops-gce";
+    license = licenses.mit;
+    maintainers = nixops.meta.maintainers;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-hercules-ci.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-hercules-ci.nix
new file mode 100644
index 00000000000..90ed88edfa0
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-hercules-ci.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, nixops
+}:
+
+buildPythonPackage {
+  pname = "nixops-hercules-ci";
+  version = "unstable-2021-10-06";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "hercules-ci";
+    repo = "nixops-hercules-ci";
+    rev = "e601d5baffd003fd5f22deeaea0cb96444b054dc";
+    hash = "sha256-4IZ+qzhERJIhLcIq9FvVml+xAFJ8R4QpUjFRw2DZl2U=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  pythonImportsCheck = [ "nixops_hercules_ci" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "Use Hercules CI as a NixOps backend";
+    homepage = "https://github.com/hercules-ci/nixops-hercules-ci";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ roberth ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-hetzner.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-hetzner.nix
new file mode 100644
index 00000000000..c4d037fe75f
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-hetzner.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, hetzner
+, nixops
+, nixos-modules-contrib
+, typing-extensions
+}:
+
+buildPythonPackage {
+  pname = "nixops-hetzner";
+  version = "unstable-2022-04-23";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "NixOS";
+    repo = "nixops-hetzner";
+    rev = "bc7a68070c7371468bcc8bf6e36baebc6bd2da35";
+    hash = "sha256-duK1Ui4VpbGSgGvfjTOddHSqHZ1FSy4L9Egg+FvZv04=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  propagatedBuildInputs = [
+    hetzner
+    nixos-modules-contrib
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "nixops_hetzner" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "Hetzner bare metal NixOps plugin";
+    homepage = "https://github.com/NixOS/nixops-hetzner";
+    license = licenses.mit;
+    maintainers = nixops.meta.maintainers;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-hetznercloud.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-hetznercloud.nix
new file mode 100644
index 00000000000..17e94ab9f32
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-hetznercloud.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, hcloud
+, nixops
+, typing-extensions
+}:
+
+buildPythonPackage {
+  pname = "nixops-hetznercloud";
+  version = "unstable-2023-02-19";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "lukebfox";
+    repo = "nixops-hetznercloud";
+    rev = "e14f340f7ffe9e2aa7ffbaac0b8a2e3b4cc116b3";
+    hash = "sha256-IsRJUUAfN6YXcue80qlcunkawUtgMiMU8mM6DP+7Cm4=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  propagatedBuildInputs = [
+    hcloud
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "nixops_hetznercloud" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "A NixOps plugin supporting Hetzner Cloud deployments";
+    homepage = "https://github.com/lukebfox/nixops-hetznercloud";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ lukebfox ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-libvirtd.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-libvirtd.nix
new file mode 100644
index 00000000000..b3439bf4fe5
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-libvirtd.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, libvirt
+, nixops
+}:
+
+buildPythonPackage {
+  pname = "nixops-libvirtd";
+  version = "unstable-2023-09-01";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = "nixops-libvirtd";
+    rev = "b59424bf53e74200d684a4bce1ae64d276e793a0";
+    hash = "sha256-HxJu8/hOPI5aCddTpna0mf+emESYN3ZxpTkitfKcfVQ=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  propagatedBuildInputs = [
+    libvirt
+  ];
+
+  pythonImportsCheck = [ "nixops_virtd" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "NixOps libvirtd backend plugin";
+    homepage = "https://github.com/nix-community/nixops-libvirtd";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ aminechikhaoui ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixops-vbox.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixops-vbox.nix
new file mode 100644
index 00000000000..4a9f0351094
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixops-vbox.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, nixops
+}:
+
+buildPythonPackage {
+  pname = "nixops-vbox";
+  version = "unstable-2023-08-10";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = "nixops-vbox";
+    rev = "baa5f09c9ae9aaf639c95192460ab5dcbe83a883";
+    hash = "sha256-QrxherQO1t0VpYjJSEbntUWVD6GW4MtVHiKINpzHA1M=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  pythonImportsCheck = [ "nixopsvbox" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "NixOps plugin for VirtualBox VMs";
+    homepage = "https://github.com/nix-community/nixops-vbox";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ aminechikhaoui ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/plugins/nixos-modules-contrib.nix b/pkgs/applications/networking/cluster/nixops/plugins/nixos-modules-contrib.nix
new file mode 100644
index 00000000000..5c6e9fec32c
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/plugins/nixos-modules-contrib.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, nixops
+}:
+
+buildPythonPackage {
+  pname = "nixos-modules-contrib";
+  version = "unstable-2021-01-20";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = "nixos-modules-contrib";
+    rev = "81a1c2ef424dcf596a97b2e46a58ca73a1dd1ff8";
+    hash = "sha256-/RSStpkAxWpUB5saQ8CmQZljFjJyUMOrR1+GiHJR2Tg=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=" "poetry-core>="
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    nixops
+  ];
+
+  pythonImportsCheck = [ "nixos_modules_contrib" ];
+
+  passthru.updateScript = unstableGitUpdater {};
+
+  meta = with lib; {
+    description = "Useful NixOS modules which may not belong in the Nixpkgs repository itself";
+    homepage = "https://github.com/nix-community/nixos-modules-contrib";
+    license = licenses.lgpl3;
+    maintainers = [];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix b/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
deleted file mode 100644
index 7de5435ddc4..00000000000
--- a/pkgs/applications/networking/cluster/nixops/poetry-git-overlay.nix
+++ /dev/null
@@ -1,114 +0,0 @@
-{ pkgs }:
-self: super: {
-
-  nixops = super.nixops.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/NixOS/nixops.git";
-        rev = "fc9b55c55da62f949028143b974f67fdc7f40c8b";
-        sha256 = "0f5r17rq3rf3ylp16cq50prn8qmfc1gwpqgqfj491w38sr5sspf8";
-      };
-    }
-  );
-
-  nixops-aws = super.nixops-aws.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/NixOS/nixops-aws.git";
-        rev = "8802d1cda9004ec1362815292c2a8ab95e6d64e8";
-        sha256 = "1rf2dxn4gdm9a91jji4f100y62ap3p3svs6qhxf78319phba6hlb";
-      };
-    }
-  );
-
-  nixops-digitalocean = super.nixops-digitalocean.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/nix-community/nixops-digitalocean.git";
-        rev = "e977b7f11e264a6a2bff2dcbc7b94c6a97b92fff";
-        sha256 = "020fg1kjh3x57dj95micpq6mxjg5j50jy6cs5f10i33ayy3556v8";
-      };
-    }
-  );
-
-  nixops-encrypted-links = super.nixops-encrypted-links.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/nix-community/nixops-encrypted-links.git";
-        rev = "e2f196fce15fcfb00d18c055e1ac53aec33b8fb1";
-        sha256 = "12ynqwd5ad6wfyv6sma55wnmrlr8i14kd5d42zqv4zl23h0xnd6m";
-      };
-    }
-  );
-
-  nixops-gcp = super.nixops-gcp.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/nix-community/nixops-gce.git";
-        rev = "d13cb794aef763338f544010ceb1816fe31d7f42";
-        sha256 = "0i57qhiga4nr0ms9gj615l599vxy78lzw7hap4rbzbhl5bl1yijj";
-      };
-    }
-  );
-
-  nixops-hercules-ci = super.nixops-hercules-ci.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/hercules-ci/nixops-hercules-ci.git";
-        rev = "e601d5baffd003fd5f22deeaea0cb96444b054dc";
-        sha256 = "0rcpv5hc6l9ia8lq8ivwa80b2pwssmdz8an25lhr4i2472mpx1p0";
-      };
-    }
-  );
-
-  nixops-hetzner = super.nixops-hetzner.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/NixOS/nixops-hetzner";
-        rev = "bc7a68070c7371468bcc8bf6e36baebc6bd2da35";
-        sha256 = "0kmzv5dzh828yh5jwjs5klfslx3lklrqvpvbh29b398m5r9bbqkn";
-      };
-    }
-  );
-
-  nixops-hetznercloud = super.nixops-hetznercloud.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/lukebfox/nixops-hetznercloud.git";
-        rev = "e14f340f7ffe9e2aa7ffbaac0b8a2e3b4cc116b3";
-        sha256 = "0vhapgzhqfk3y8a26ck09g0ilydsbjlx5g77f8bscdqz818lki12";
-      };
-    }
-  );
-
-  nixops-virtd = super.nixops-virtd.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/nix-community/nixops-libvirtd.git";
-        rev = "be1ea32e02d8abb3dbe1b09b7c5a7419a7412991";
-        sha256 = "1mklm3lmicvhs0vcib3ss21an45wk24m1mkcwy1zvbpbmvhdz2m4";
-      };
-    }
-  );
-
-  nixopsvbox = super.nixopsvbox.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/nix-community/nixops-vbox.git";
-        rev = "2729672865ebe2aa973c062a3fbddda8c1359da0";
-        sha256 = "07bmrbg3g2prnba2kwg1rg6rvmnx1vzc538y2q3g04s958hala56";
-      };
-    }
-  );
-
-  nixos-modules-contrib = super.nixos-modules-contrib.overridePythonAttrs (
-    _: {
-      src = pkgs.fetchgit {
-        url = "https://github.com/nix-community/nixos-modules-contrib.git";
-        rev = "81a1c2ef424dcf596a97b2e46a58ca73a1dd1ff8";
-        sha256 = "0f6ra5r8i1jz8ymw6l3j68b676a1lv0466lv0xa6mi80k6v9457x";
-      };
-    }
-  );
-
-}
diff --git a/pkgs/applications/networking/cluster/nixops/poetry.lock b/pkgs/applications/networking/cluster/nixops/poetry.lock
deleted file mode 100644
index 900875191e3..00000000000
--- a/pkgs/applications/networking/cluster/nixops/poetry.lock
+++ /dev/null
@@ -1,731 +0,0 @@
-# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand.
-
-[[package]]
-name = "apache-libcloud"
-version = "3.7.0"
-description = "A standard Python library that abstracts away differences among multiple cloud provider APIs. For more information and documentation, please see https://libcloud.apache.org"
-optional = false
-python-versions = ">=3.6, <4"
-files = [
-    {file = "apache-libcloud-3.7.0.tar.gz", hash = "sha256:148a9e50069654432a7d34997954e91434dd38ebf68832eb9c75d442b3e62fad"},
-    {file = "apache_libcloud-3.7.0-py2.py3-none-any.whl", hash = "sha256:027a9aff2c01db9c8e6f9f94b6eb44b3153d82702c42bfbe7af5624dabf1f950"},
-]
-
-[package.dependencies]
-requests = ">=2.26.0"
-
-[[package]]
-name = "boto"
-version = "2.49.0"
-description = "Amazon Web Services Library"
-optional = false
-python-versions = "*"
-files = [
-    {file = "boto-2.49.0-py2.py3-none-any.whl", hash = "sha256:147758d41ae7240dc989f0039f27da8ca0d53734be0eb869ef16e3adcfa462e8"},
-    {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
-]
-
-[[package]]
-name = "boto3"
-version = "1.28.22"
-description = "The AWS SDK for Python"
-optional = false
-python-versions = ">= 3.7"
-files = [
-    {file = "boto3-1.28.22-py3-none-any.whl", hash = "sha256:0c1c1d19232018ac49fd2c0a94aa0b802f5d222e89448ff50734626bce454b32"},
-    {file = "boto3-1.28.22.tar.gz", hash = "sha256:af1ce129f462cdc8dfb1a1c559d7ed725e51344fb0ae4a56d9453196bf416555"},
-]
-
-[package.dependencies]
-botocore = ">=1.31.22,<1.32.0"
-jmespath = ">=0.7.1,<2.0.0"
-s3transfer = ">=0.6.0,<0.7.0"
-
-[package.extras]
-crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
-
-[[package]]
-name = "botocore"
-version = "1.31.22"
-description = "Low-level, data-driven core of boto 3."
-optional = false
-python-versions = ">= 3.7"
-files = [
-    {file = "botocore-1.31.22-py3-none-any.whl", hash = "sha256:b91025ca1a16b13ae662bdb46e7c16d2c53619df23bf3583a43791519da14870"},
-    {file = "botocore-1.31.22.tar.gz", hash = "sha256:d193ab0742ddc4af3a3994af4ec993acf5ac75460f298880fe869765e7bc578d"},
-]
-
-[package.dependencies]
-jmespath = ">=0.7.1,<2.0.0"
-python-dateutil = ">=2.1,<3.0.0"
-urllib3 = ">=1.25.4,<1.27"
-
-[package.extras]
-crt = ["awscrt (==0.16.26)"]
-
-[[package]]
-name = "certifi"
-version = "2023.7.22"
-description = "Python package for providing Mozilla's CA Bundle."
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
-    {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
-]
-
-[[package]]
-name = "cffi"
-version = "1.15.1"
-description = "Foreign Function Interface for Python calling C code."
-optional = false
-python-versions = "*"
-files = [
-    {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"},
-    {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"},
-    {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"},
-    {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"},
-    {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"},
-    {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"},
-    {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"},
-    {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"},
-    {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"},
-    {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"},
-    {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"},
-    {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"},
-    {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"},
-    {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"},
-    {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"},
-    {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"},
-    {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"},
-    {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"},
-    {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"},
-    {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"},
-    {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"},
-    {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"},
-    {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"},
-    {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"},
-    {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"},
-    {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"},
-    {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"},
-    {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"},
-    {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"},
-    {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"},
-    {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"},
-    {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"},
-    {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"},
-    {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"},
-    {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"},
-    {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"},
-    {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"},
-    {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"},
-    {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"},
-]
-
-[package.dependencies]
-pycparser = "*"
-
-[[package]]
-name = "charset-normalizer"
-version = "3.2.0"
-description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-optional = false
-python-versions = ">=3.7.0"
-files = [
-    {file = "charset-normalizer-3.2.0.tar.gz", hash = "sha256:3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b87549028f680ca955556e3bd57013ab47474c3124dc069faa0b6545b6c9710"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7c70087bfee18a42b4040bb9ec1ca15a08242cf5867c58726530bdf3945672ed"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a103b3a7069b62f5d4890ae1b8f0597618f628b286b03d4bc9195230b154bfa9"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94aea8eff76ee6d1cdacb07dd2123a68283cb5569e0250feab1240058f53b623"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db901e2ac34c931d73054d9797383d0f8009991e723dab15109740a63e7f902a"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0dac0ff919ba34d4df1b6131f59ce95b08b9065233446be7e459f95554c0dc8"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:193cbc708ea3aca45e7221ae58f0fd63f933753a9bfb498a3b474878f12caaad"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09393e1b2a9461950b1c9a45d5fd251dc7c6f228acab64da1c9c0165d9c7765c"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:baacc6aee0b2ef6f3d308e197b5d7a81c0e70b06beae1f1fcacffdbd124fe0e3"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bf420121d4c8dce6b889f0e8e4ec0ca34b7f40186203f06a946fa0276ba54029"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c04a46716adde8d927adb9457bbe39cf473e1e2c2f5d0a16ceb837e5d841ad4f"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:aaf63899c94de41fe3cf934601b0f7ccb6b428c6e4eeb80da72c58eab077b19a"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d62e51710986674142526ab9f78663ca2b0726066ae26b78b22e0f5e571238dd"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-win32.whl", hash = "sha256:04e57ab9fbf9607b77f7d057974694b4f6b142da9ed4a199859d9d4d5c63fe96"},
-    {file = "charset_normalizer-3.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:48021783bdf96e3d6de03a6e39a1171ed5bd7e8bb93fc84cc649d11490f87cea"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4957669ef390f0e6719db3613ab3a7631e68424604a7b448f079bee145da6e09"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46fb8c61d794b78ec7134a715a3e564aafc8f6b5e338417cb19fe9f57a5a9bf2"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f779d3ad205f108d14e99bb3859aa7dd8e9c68874617c72354d7ecaec2a054ac"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f25c229a6ba38a35ae6e25ca1264621cc25d4d38dca2942a7fce0b67a4efe918"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2efb1bd13885392adfda4614c33d3b68dee4921fd0ac1d3988f8cbb7d589e72a"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f30b48dd7fa1474554b0b0f3fdfdd4c13b5c737a3c6284d3cdc424ec0ffff3a"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:246de67b99b6851627d945db38147d1b209a899311b1305dd84916f2b88526c6"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bd9b3b31adcb054116447ea22caa61a285d92e94d710aa5ec97992ff5eb7cf3"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:8c2f5e83493748286002f9369f3e6607c565a6a90425a3a1fef5ae32a36d749d"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3170c9399da12c9dc66366e9d14da8bf7147e1e9d9ea566067bbce7bb74bd9c2"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7a4826ad2bd6b07ca615c74ab91f32f6c96d08f6fcc3902ceeedaec8cdc3bcd6"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:3b1613dd5aee995ec6d4c69f00378bbd07614702a315a2cf6c1d21461fe17c23"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9e608aafdb55eb9f255034709e20d5a83b6d60c054df0802fa9c9883d0a937aa"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-win32.whl", hash = "sha256:f2a1d0fd4242bd8643ce6f98927cf9c04540af6efa92323e9d3124f57727bfc1"},
-    {file = "charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:681eb3d7e02e3c3655d1b16059fbfb605ac464c834a0c629048a30fad2b27489"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c57921cda3a80d0f2b8aec7e25c8aa14479ea92b5b51b6876d975d925a2ea346"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41b25eaa7d15909cf3ac4c96088c1f266a9a93ec44f87f1d13d4a0e86c81b982"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f058f6963fd82eb143c692cecdc89e075fa0828db2e5b291070485390b2f1c9c"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7647ebdfb9682b7bb97e2a5e7cb6ae735b1c25008a70b906aecca294ee96cf4"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef9df1eefada2c09a5e7a40991b9fc6ac6ef20b1372abd48d2794a316dc0449"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e03b8895a6990c9ab2cdcd0f2fe44088ca1c65ae592b8f795c3294af00a461c3"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:ee4006268ed33370957f55bf2e6f4d263eaf4dc3cfc473d1d90baff6ed36ce4a"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c4983bf937209c57240cff65906b18bb35e64ae872da6a0db937d7b4af845dd7"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:3bb7fda7260735efe66d5107fb7e6af6a7c04c7fce9b2514e04b7a74b06bf5dd"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:72814c01533f51d68702802d74f77ea026b5ec52793c791e2da806a3844a46c3"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:70c610f6cbe4b9fce272c407dd9d07e33e6bf7b4aa1b7ffb6f6ded8e634e3592"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-win32.whl", hash = "sha256:a401b4598e5d3f4a9a811f3daf42ee2291790c7f9d74b18d75d6e21dda98a1a1"},
-    {file = "charset_normalizer-3.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c0b21078a4b56965e2b12f247467b234734491897e99c1d51cee628da9786959"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:95eb302ff792e12aba9a8b8f8474ab229a83c103d74a750ec0bd1c1eea32e669"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a100c6d595a7f316f1b6f01d20815d916e75ff98c27a01ae817439ea7726329"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6339d047dab2780cc6220f46306628e04d9750f02f983ddb37439ca47ced7149"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4b749b9cc6ee664a3300bb3a273c1ca8068c46be705b6c31cf5d276f8628a94"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a38856a971c602f98472050165cea2cdc97709240373041b69030be15047691f"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f87f746ee241d30d6ed93969de31e5ffd09a2961a051e60ae6bddde9ec3583aa"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89f1b185a01fe560bc8ae5f619e924407efca2191b56ce749ec84982fc59a32a"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1c8a2f4c69e08e89632defbfabec2feb8a8d99edc9f89ce33c4b9e36ab63037"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2f4ac36d8e2b4cc1aa71df3dd84ff8efbe3bfb97ac41242fbcfc053c67434f46"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a386ebe437176aab38c041de1260cd3ea459c6ce5263594399880bbc398225b2"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ccd16eb18a849fd8dcb23e23380e2f0a354e8daa0c984b8a732d9cfaba3a776d"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e6a5bf2cba5ae1bb80b154ed68a3cfa2fa00fde979a7f50d6598d3e17d9ac20c"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:45de3f87179c1823e6d9e32156fb14c1927fcc9aba21433f088fdfb555b77c10"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-win32.whl", hash = "sha256:1000fba1057b92a65daec275aec30586c3de2401ccdcd41f8a5c1e2c87078706"},
-    {file = "charset_normalizer-3.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:8b2c760cfc7042b27ebdb4a43a4453bd829a5742503599144d54a032c5dc7e9e"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:855eafa5d5a2034b4621c74925d89c5efef61418570e5ef9b37717d9c796419c"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:203f0c8871d5a7987be20c72442488a0b8cfd0f43b7973771640fc593f56321f"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e857a2232ba53ae940d3456f7533ce6ca98b81917d47adc3c7fd55dad8fab858"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e86d77b090dbddbe78867a0275cb4df08ea195e660f1f7f13435a4649e954e5"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4fb39a81950ec280984b3a44f5bd12819953dc5fa3a7e6fa7a80db5ee853952"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dee8e57f052ef5353cf608e0b4c871aee320dd1b87d351c28764fc0ca55f9f4"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8700f06d0ce6f128de3ccdbc1acaea1ee264d2caa9ca05daaf492fde7c2a7200"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1920d4ff15ce893210c1f0c0e9d19bfbecb7983c76b33f046c13a8ffbd570252"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c1c76a1743432b4b60ab3358c937a3fe1341c828ae6194108a94c69028247f22"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f7560358a6811e52e9c4d142d497f1a6e10103d3a6881f18d04dbce3729c0e2c"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:c8063cf17b19661471ecbdb3df1c84f24ad2e389e326ccaf89e3fb2484d8dd7e"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cd6dbe0238f7743d0efe563ab46294f54f9bc8f4b9bcf57c3c666cc5bc9d1299"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1249cbbf3d3b04902ff081ffbb33ce3377fa6e4c7356f759f3cd076cc138d020"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-win32.whl", hash = "sha256:6c409c0deba34f147f77efaa67b8e4bb83d2f11c8806405f76397ae5b8c0d1c9"},
-    {file = "charset_normalizer-3.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7095f6fbfaa55defb6b733cfeb14efaae7a29f0b59d8cf213be4e7ca0b857b80"},
-    {file = "charset_normalizer-3.2.0-py3-none-any.whl", hash = "sha256:8e098148dd37b4ce3baca71fb394c81dc5d9c7728c95df695d2dca218edf40e6"},
-]
-
-[[package]]
-name = "cryptography"
-version = "40.0.1"
-description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "cryptography-40.0.1-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:918cb89086c7d98b1b86b9fdb70c712e5a9325ba6f7d7cfb509e784e0cfc6917"},
-    {file = "cryptography-40.0.1-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:9618a87212cb5200500e304e43691111570e1f10ec3f35569fdfcd17e28fd797"},
-    {file = "cryptography-40.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a4805a4ca729d65570a1b7cac84eac1e431085d40387b7d3bbaa47e39890b88"},
-    {file = "cryptography-40.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63dac2d25c47f12a7b8aa60e528bfb3c51c5a6c5a9f7c86987909c6c79765554"},
-    {file = "cryptography-40.0.1-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:0a4e3406cfed6b1f6d6e87ed243363652b2586b2d917b0609ca4f97072994405"},
-    {file = "cryptography-40.0.1-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1e0af458515d5e4028aad75f3bb3fe7a31e46ad920648cd59b64d3da842e4356"},
-    {file = "cryptography-40.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d8aa3609d337ad85e4eb9bb0f8bcf6e4409bfb86e706efa9a027912169e89122"},
-    {file = "cryptography-40.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:cf91e428c51ef692b82ce786583e214f58392399cf65c341bc7301d096fa3ba2"},
-    {file = "cryptography-40.0.1-cp36-abi3-win32.whl", hash = "sha256:650883cc064297ef3676b1db1b7b1df6081794c4ada96fa457253c4cc40f97db"},
-    {file = "cryptography-40.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:a805a7bce4a77d51696410005b3e85ae2839bad9aa38894afc0aa99d8e0c3160"},
-    {file = "cryptography-40.0.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cd033d74067d8928ef00a6b1327c8ea0452523967ca4463666eeba65ca350d4c"},
-    {file = "cryptography-40.0.1-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d36bbeb99704aabefdca5aee4eba04455d7a27ceabd16f3b3ba9bdcc31da86c4"},
-    {file = "cryptography-40.0.1-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:32057d3d0ab7d4453778367ca43e99ddb711770477c4f072a51b3ca69602780a"},
-    {file = "cryptography-40.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f5d7b79fa56bc29580faafc2ff736ce05ba31feaa9d4735048b0de7d9ceb2b94"},
-    {file = "cryptography-40.0.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7c872413353c70e0263a9368c4993710070e70ab3e5318d85510cc91cce77e7c"},
-    {file = "cryptography-40.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:28d63d75bf7ae4045b10de5413fb1d6338616e79015999ad9cf6fc538f772d41"},
-    {file = "cryptography-40.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6f2bbd72f717ce33100e6467572abaedc61f1acb87b8d546001328d7f466b778"},
-    {file = "cryptography-40.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cc3a621076d824d75ab1e1e530e66e7e8564e357dd723f2533225d40fe35c60c"},
-    {file = "cryptography-40.0.1.tar.gz", hash = "sha256:2803f2f8b1e95f614419926c7e6f55d828afc614ca5ed61543877ae668cc3472"},
-]
-
-[package.dependencies]
-cffi = ">=1.12"
-
-[package.extras]
-docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"]
-docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"]
-pep8test = ["black", "check-manifest", "mypy", "ruff"]
-sdist = ["setuptools-rust (>=0.11.4)"]
-ssh = ["bcrypt (>=3.1.5)"]
-test = ["iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist"]
-test-randomorder = ["pytest-randomly"]
-tox = ["tox"]
-
-[[package]]
-name = "hcloud"
-version = "1.18.2"
-description = "Official Hetzner Cloud python library"
-optional = false
-python-versions = ">3.5"
-files = [
-    {file = "hcloud-1.18.2-py2.py3-none-any.whl", hash = "sha256:fcd73c7aab1d6e729333697e5214b26727775eccdbfb50effd1863c3424caa59"},
-    {file = "hcloud-1.18.2.tar.gz", hash = "sha256:37bd5ba56387e3c491c5babd3e08ab91d5f0390cd5e880e4dfea19e21681bc9e"},
-]
-
-[package.dependencies]
-python-dateutil = ">=2.7.5"
-requests = ">=2.20"
-
-[package.extras]
-docs = ["Sphinx (==1.8.1)", "sphinx-rtd-theme (==0.4.2)"]
-
-[[package]]
-name = "hetzner"
-version = "0.8.3"
-description = "High level access to the Hetzner robot"
-optional = false
-python-versions = "*"
-files = [
-    {file = "hetzner-0.8.3.tar.gz", hash = "sha256:9a43dbbeb4a1f3efc86c5fe1c1d7039aaa635dfdb829506ec3aa34382d3a7114"},
-]
-
-[[package]]
-name = "idna"
-version = "3.4"
-description = "Internationalized Domain Names in Applications (IDNA)"
-optional = false
-python-versions = ">=3.5"
-files = [
-    {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
-    {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
-]
-
-[[package]]
-name = "jmespath"
-version = "1.0.1"
-description = "JSON Matching Expressions"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"},
-    {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"},
-]
-
-[[package]]
-name = "jsonpickle"
-version = "3.0.1"
-description = "Python library for serializing any arbitrary object graph into JSON"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "jsonpickle-3.0.1-py2.py3-none-any.whl", hash = "sha256:130d8b293ea0add3845de311aaba55e6d706d0bb17bc123bd2c8baf8a39ac77c"},
-    {file = "jsonpickle-3.0.1.tar.gz", hash = "sha256:032538804795e73b94ead410800ac387fdb6de98f8882ac957fcd247e3a85200"},
-]
-
-[package.extras]
-docs = ["jaraco.packaging (>=3.2)", "rst.linker (>=1.9)", "sphinx"]
-testing = ["ecdsa", "feedparser", "gmpy2", "numpy", "pandas", "pymongo", "pytest (>=3.5,!=3.7.3)", "pytest-black-multipy", "pytest-checkdocs (>=1.2.3)", "pytest-cov", "pytest-flake8 (>=1.1.1)", "scikit-learn", "sqlalchemy"]
-testing-libs = ["simplejson", "ujson"]
-
-[[package]]
-name = "libvirt-python"
-version = "9.6.0"
-description = "The libvirt virtualization API python binding"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "libvirt-python-9.6.0.tar.gz", hash = "sha256:53422d8e3110139655c3d9c2ff2602b238f8a39b7bf61a92a620119b45550a99"},
-]
-
-[[package]]
-name = "nixops"
-version = "2.0.0"
-description = "NixOS cloud provisioning and deployment tool"
-optional = false
-python-versions = "^3.10"
-files = []
-develop = false
-
-[package.dependencies]
-pluggy = "^1.0.0"
-PrettyTable = "^0.7.2"
-typeguard = "^2.7.1"
-typing-extensions = "^3.7.4"
-
-[package.source]
-type = "git"
-url = "https://github.com/NixOS/nixops.git"
-reference = "master"
-resolved_reference = "fc9b55c55da62f949028143b974f67fdc7f40c8b"
-
-[[package]]
-name = "nixops-aws"
-version = "1.0"
-description = "NixOps AWS plugin"
-optional = false
-python-versions = "^3.7"
-files = []
-develop = false
-
-[package.dependencies]
-boto = "^2.49.0"
-boto3 = "^1.13.7"
-nixops = {git = "https://github.com/NixOS/nixops.git", rev = "master"}
-nixos-modules-contrib = {git = "https://github.com/nix-community/nixos-modules-contrib.git", rev = "master"}
-typing-extensions = "^3.7.4"
-
-[package.source]
-type = "git"
-url = "https://github.com/NixOS/nixops-aws.git"
-reference = "HEAD"
-resolved_reference = "8802d1cda9004ec1362815292c2a8ab95e6d64e8"
-
-[[package]]
-name = "nixops-digitalocean"
-version = "2.0"
-description = "NixOps plugin for Digital Ocean"
-optional = false
-python-versions = "^3.7"
-files = []
-develop = false
-
-[package.dependencies]
-nixops = {git = "https://github.com/NixOS/nixops.git"}
-python-digitalocean = "^1.15.0"
-
-[package.source]
-type = "git"
-url = "https://github.com/nix-community/nixops-digitalocean.git"
-reference = "HEAD"
-resolved_reference = "e977b7f11e264a6a2bff2dcbc7b94c6a97b92fff"
-
-[[package]]
-name = "nixops-encrypted-links"
-version = "1.0"
-description = "Encrypted links support for NixOps"
-optional = false
-python-versions = "^3.7"
-files = []
-develop = false
-
-[package.dependencies]
-nixops = {git = "https://github.com/NixOS/nixops.git"}
-
-[package.source]
-type = "git"
-url = "https://github.com/nix-community/nixops-encrypted-links.git"
-reference = "HEAD"
-resolved_reference = "e2f196fce15fcfb00d18c055e1ac53aec33b8fb1"
-
-[[package]]
-name = "nixops-gcp"
-version = "1.0"
-description = "NixOps backend for Google Cloud Platform"
-optional = false
-python-versions = "^3.10"
-files = []
-develop = false
-
-[package.dependencies]
-apache-libcloud = "^3.7.0"
-cryptography = "40.0.1"
-nixops = {git = "https://github.com/NixOS/nixops.git", rev = "master"}
-nixos-modules-contrib = {git = "https://github.com/nix-community/nixos-modules-contrib.git", rev = "master"}
-
-[package.source]
-type = "git"
-url = "https://github.com/nix-community/nixops-gce.git"
-reference = "HEAD"
-resolved_reference = "d13cb794aef763338f544010ceb1816fe31d7f42"
-
-[[package]]
-name = "nixops-hercules-ci"
-version = "0.1.0"
-description = ""
-optional = false
-python-versions = "^3.8"
-files = []
-develop = false
-
-[package.dependencies]
-nixops = {git = "https://github.com/NixOS/nixops.git"}
-
-[package.source]
-type = "git"
-url = "https://github.com/hercules-ci/nixops-hercules-ci.git"
-reference = "HEAD"
-resolved_reference = "e601d5baffd003fd5f22deeaea0cb96444b054dc"
-
-[[package]]
-name = "nixops-hetzner"
-version = "1.0"
-description = "NixOS deployment tool, but for hetzner"
-optional = false
-python-versions = "^3.7"
-files = []
-develop = false
-
-[package.dependencies]
-hetzner = "0.8.3"
-nixops = {git = "https://github.com/NixOS/nixops.git", rev = "master"}
-nixos-modules-contrib = {git = "https://github.com/nix-community/nixos-modules-contrib.git", rev = "master"}
-typing-extensions = "^3.7.4"
-
-[package.source]
-type = "git"
-url = "https://github.com/NixOS/nixops-hetzner"
-reference = "HEAD"
-resolved_reference = "bc7a68070c7371468bcc8bf6e36baebc6bd2da35"
-
-[[package]]
-name = "nixops-hetznercloud"
-version = "0.1.3"
-description = "NixOps Hetzner Cloud plugin"
-optional = false
-python-versions = "^3.10"
-files = []
-develop = false
-
-[package.dependencies]
-hcloud = "1.18.2"
-nixops = {git = "https://github.com/NixOS/nixops.git", rev = "master"}
-typing-extensions = "^3.7.4"
-
-[package.source]
-type = "git"
-url = "https://github.com/lukebfox/nixops-hetznercloud.git"
-reference = "HEAD"
-resolved_reference = "e14f340f7ffe9e2aa7ffbaac0b8a2e3b4cc116b3"
-
-[[package]]
-name = "nixops-virtd"
-version = "1.0"
-description = "NixOps plugin for virtd"
-optional = false
-python-versions = "^3.10"
-files = []
-develop = false
-
-[package.dependencies]
-libvirt-python = "^9.0"
-nixops = {git = "https://github.com/NixOS/nixops.git"}
-
-[package.source]
-type = "git"
-url = "https://github.com/nix-community/nixops-libvirtd.git"
-reference = "HEAD"
-resolved_reference = "be1ea32e02d8abb3dbe1b09b7c5a7419a7412991"
-
-[[package]]
-name = "nixopsvbox"
-version = "1.7"
-description = "NixOps backend for VirtualBox"
-optional = false
-python-versions = "^3.7"
-files = []
-develop = false
-
-[package.dependencies]
-nixops = {git = "https://github.com/NixOS/nixops.git", rev = "master"}
-
-[package.source]
-type = "git"
-url = "https://github.com/nix-community/nixops-vbox.git"
-reference = "HEAD"
-resolved_reference = "2729672865ebe2aa973c062a3fbddda8c1359da0"
-
-[[package]]
-name = "nixos-modules-contrib"
-version = "0.1.0"
-description = "NixOS modules that don't quite belong in NixOS."
-optional = false
-python-versions = "^3.7"
-files = []
-develop = false
-
-[package.dependencies]
-nixops = {git = "https://github.com/NixOS/nixops.git", rev = "master"}
-
-[package.source]
-type = "git"
-url = "https://github.com/nix-community/nixos-modules-contrib.git"
-reference = "master"
-resolved_reference = "81a1c2ef424dcf596a97b2e46a58ca73a1dd1ff8"
-
-[[package]]
-name = "pluggy"
-version = "1.2.0"
-description = "plugin and hook calling mechanisms for python"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"},
-    {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"},
-]
-
-[package.extras]
-dev = ["pre-commit", "tox"]
-testing = ["pytest", "pytest-benchmark"]
-
-[[package]]
-name = "prettytable"
-version = "0.7.2"
-description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format."
-optional = false
-python-versions = "*"
-files = [
-    {file = "prettytable-0.7.2.tar.bz2", hash = "sha256:853c116513625c738dc3ce1aee148b5b5757a86727e67eff6502c7ca59d43c36"},
-    {file = "prettytable-0.7.2.tar.gz", hash = "sha256:2d5460dc9db74a32bcc8f9f67de68b2c4f4d2f01fa3bd518764c69156d9cacd9"},
-    {file = "prettytable-0.7.2.zip", hash = "sha256:a53da3b43d7a5c229b5e3ca2892ef982c46b7923b51e98f0db49956531211c4f"},
-]
-
-[[package]]
-name = "pycparser"
-version = "2.21"
-description = "C parser in Python"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
-    {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
-    {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
-]
-
-[[package]]
-name = "python-dateutil"
-version = "2.8.2"
-description = "Extensions to the standard Python datetime module"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
-files = [
-    {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
-    {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
-]
-
-[package.dependencies]
-six = ">=1.5"
-
-[[package]]
-name = "python-digitalocean"
-version = "1.17.0"
-description = "digitalocean.com API to manage Droplets and Images"
-optional = false
-python-versions = "*"
-files = [
-    {file = "python-digitalocean-1.17.0.tar.gz", hash = "sha256:107854fde1aafa21774e8053cf253b04173613c94531f75d5a039ad770562b24"},
-    {file = "python_digitalocean-1.17.0-py3-none-any.whl", hash = "sha256:0032168e022e85fca314eb3f8dfaabf82087f2ed40839eb28f1eeeeca5afb1fa"},
-]
-
-[package.dependencies]
-jsonpickle = "*"
-requests = "*"
-
-[[package]]
-name = "requests"
-version = "2.31.0"
-description = "Python HTTP for Humans."
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"},
-    {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"},
-]
-
-[package.dependencies]
-certifi = ">=2017.4.17"
-charset-normalizer = ">=2,<4"
-idna = ">=2.5,<4"
-urllib3 = ">=1.21.1,<3"
-
-[package.extras]
-socks = ["PySocks (>=1.5.6,!=1.5.7)"]
-use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
-
-[[package]]
-name = "s3transfer"
-version = "0.6.1"
-description = "An Amazon S3 Transfer Manager"
-optional = false
-python-versions = ">= 3.7"
-files = [
-    {file = "s3transfer-0.6.1-py3-none-any.whl", hash = "sha256:3c0da2d074bf35d6870ef157158641178a4204a6e689e82546083e31e0311346"},
-    {file = "s3transfer-0.6.1.tar.gz", hash = "sha256:640bb492711f4c0c0905e1f62b6aaeb771881935ad27884852411f8e9cacbca9"},
-]
-
-[package.dependencies]
-botocore = ">=1.12.36,<2.0a.0"
-
-[package.extras]
-crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
-
-[[package]]
-name = "six"
-version = "1.16.0"
-description = "Python 2 and 3 compatibility utilities"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-files = [
-    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
-    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
-]
-
-[[package]]
-name = "typeguard"
-version = "2.13.3"
-description = "Run-time type checker for Python"
-optional = false
-python-versions = ">=3.5.3"
-files = [
-    {file = "typeguard-2.13.3-py3-none-any.whl", hash = "sha256:5e3e3be01e887e7eafae5af63d1f36c849aaa94e3a0112097312aabfa16284f1"},
-    {file = "typeguard-2.13.3.tar.gz", hash = "sha256:00edaa8da3a133674796cf5ea87d9f4b4c367d77476e185e80251cc13dfbb8c4"},
-]
-
-[package.extras]
-doc = ["sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
-test = ["mypy", "pytest", "typing-extensions"]
-
-[[package]]
-name = "typing-extensions"
-version = "3.10.0.2"
-description = "Backported and Experimental Type Hints for Python 3.5+"
-optional = false
-python-versions = "*"
-files = [
-    {file = "typing_extensions-3.10.0.2-py2-none-any.whl", hash = "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7"},
-    {file = "typing_extensions-3.10.0.2-py3-none-any.whl", hash = "sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34"},
-    {file = "typing_extensions-3.10.0.2.tar.gz", hash = "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e"},
-]
-
-[[package]]
-name = "urllib3"
-version = "1.26.16"
-description = "HTTP library with thread-safe connection pooling, file post, and more."
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
-files = [
-    {file = "urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f"},
-    {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"},
-]
-
-[package.extras]
-brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
-secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
-socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
-
-[metadata]
-lock-version = "2.0"
-python-versions = "^3.10"
-content-hash = "3d42a61f93a1a6b6816e317a78f3385271bd838430200f69154ebc5bebeb6162"
diff --git a/pkgs/applications/networking/cluster/nixops/pyproject.toml b/pkgs/applications/networking/cluster/nixops/pyproject.toml
deleted file mode 100644
index 84739cb09dc..00000000000
--- a/pkgs/applications/networking/cluster/nixops/pyproject.toml
+++ /dev/null
@@ -1,28 +0,0 @@
-[tool.poetry]
-name = "nixopsenv"
-version = "2.0.0"
-description = "NixOps 2.0"
-authors = ["Adam Hoese <adam.hose@tweag.io>"]
-
-[tool.poetry.dependencies]
-python = "^3.10"
-nixops = {git = "https://github.com/NixOS/nixops.git"}
-nixops-aws = {git = "https://github.com/NixOS/nixops-aws.git"}
-nixops-digitalocean = {git = "https://github.com/nix-community/nixops-digitalocean.git"}
-nixops-encrypted-links = {git = "https://github.com/nix-community/nixops-encrypted-links.git"}
-nixops-gcp = {git = "https://github.com/nix-community/nixops-gce.git"}
-nixops-hercules-ci = {git = "https://github.com/hercules-ci/nixops-hercules-ci.git"}
-nixops-hetzner = {git = "https://github.com/NixOS/nixops-hetzner"}
-nixops-hetznercloud = {git = "https://github.com/lukebfox/nixops-hetznercloud.git"}
-nixopsvbox = {git = "https://github.com/nix-community/nixops-vbox.git"}
-nixops-virtd = {git = "https://github.com/nix-community/nixops-libvirtd.git"}
-
-# poetry lock would download an excessive number of wheels looking for a compatible version, so
-# we pin a feasible range here. This does not represent a real constraint on the version and
-# would be ok to remove/update/ignore in future upgrades. Note that a botocore wheel is about 50MB.
-boto3 = "^1.26"
-botocore = "^1.29"
-
-[build-system]
-requires = ["poetry>=0.12"]
-build-backend = "poetry.masonry.api"
diff --git a/pkgs/applications/networking/cluster/nixops/shell.nix b/pkgs/applications/networking/cluster/nixops/shell.nix
deleted file mode 100644
index a7926d0fd53..00000000000
--- a/pkgs/applications/networking/cluster/nixops/shell.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ pkgs ? import <nixpkgs> { } }:
-
-pkgs.mkShell {
-  packages = [
-    pkgs.python310
-    pkgs.poetry2nix.cli
-    pkgs.pkg-config
-    pkgs.libvirt
-    pkgs.poetry
-  ];
-}
diff --git a/pkgs/applications/networking/cluster/nixops/unwrapped.nix b/pkgs/applications/networking/cluster/nixops/unwrapped.nix
new file mode 100644
index 00000000000..c70da930469
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nixops/unwrapped.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, unstableGitUpdater
+, poetry-core
+, sphinx
+, pluggy
+, prettytable
+, typeguard
+, typing-extensions
+, nixosTests
+}:
+
+buildPythonApplication rec {
+  pname = "nixops";
+  version = "unstable-2023-10-26";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "NixOS";
+    repo = "nixops";
+    rev = "2cfc2cb4fa9ecb89a4274574ff7f63ea61782498";
+    hash = "sha256-4uvQQkERZFEeRJjMAcyLYJzNvH0rNiiJ+5BDQmD58gI=";
+  };
+
+  postPatch = ''
+    substituteInPlace nixops/args.py --replace "@version@" "${version}-pre-${lib.substring 0 7 src.rev or "dirty"}"
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+    sphinx
+  ];
+
+  propagatedBuildInputs = [
+    pluggy
+    prettytable
+    typeguard
+    typing-extensions
+  ];
+
+  postInstall = ''
+    doc_cache=$(mktemp -d)
+    sphinx-build -b man -d $doc_cache doc/ $out/share/man/man1
+
+    html=$(mktemp -d)
+    sphinx-build -b html -d $doc_cache doc/ $out/share/nixops/doc
+  '';
+
+  pythonImportsCheck = [ "nixops" ];
+
+  passthru = {
+    tests.nixops = nixosTests.nixops.unstable;
+    updateScript = unstableGitUpdater {};
+  };
+
+  meta = with lib; {
+    description = "A tool for deploying to NixOS machines in a network or cloud";
+    homepage = "https://github.com/NixOS/nixops";
+    license = licenses.lgpl3Only;
+    maintainers = with lib.maintainers; [ adisbladis aminechikhaoui roberth ];
+    platforms = lib.platforms.unix;
+    mainProgram = "nixops";
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nixops/update b/pkgs/applications/networking/cluster/nixops/update
deleted file mode 100755
index 1d1fd93fdbe..00000000000
--- a/pkgs/applications/networking/cluster/nixops/update
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -I nixpkgs=../../../../../. -i bash
-set -eux
-
-rm -f ./poetry.lock ./poetry-git-overlay.nix
-
-poetry lock
-
-# builtins.fetchGit is disabled in restricted eval
-# Pin fixed-output derivations from lock file
-poetry2nix lock
diff --git a/pkgs/applications/radio/freedv/default.nix b/pkgs/applications/radio/freedv/default.nix
index 1a4f1c5aa2c..66a932b9c99 100644
--- a/pkgs/applications/radio/freedv/default.nix
+++ b/pkgs/applications/radio/freedv/default.nix
@@ -25,16 +25,18 @@
 
 stdenv.mkDerivation rec {
   pname = "freedv";
-  version = "1.9.3";
+  version = "1.9.4";
 
   src = fetchFromGitHub {
     owner = "drowe67";
     repo = "freedv-gui";
     rev = "v${version}";
-    hash = "sha256-tlkD8Kem4HPwrk3E98UKcPoBNoFucqarEBo+oihnQSU=";
+    hash = "sha256-3SQ3a1gg4/cXy8BJXazTgh6nkS/KQpM0fCA6JcbHOPc=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace CMakeLists.txt \
+      --replace "-Wl,-ld_classic" ""
     substituteInPlace src/CMakeLists.txt \
       --replace "\''${CMAKE_SOURCE_DIR}/macdylibbundler/dylibbundler" "dylibbundler"
     sed -i "/hdiutil/d" src/CMakeLists.txt
diff --git a/pkgs/build-support/fetchbittorrent/default.nix b/pkgs/build-support/fetchtorrent/default.nix
index 916c7e7d8c9..beb2415df70 100644
--- a/pkgs/build-support/fetchbittorrent/default.nix
+++ b/pkgs/build-support/fetchtorrent/default.nix
@@ -30,13 +30,13 @@ let
   jsonConfig = (formats.json {}).generate "jsonConfig" config;
 in
 runCommand name {
-  nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchbittorrent");
+  nativeBuildInputs = [ cacert ] ++ (if (backend == "transmission" ) then [ transmission_noSystemd ] else if (backend == "rqbit") then [ rqbit ] else throw "rqbit or transmission are the only available backends for fetchtorrent");
   outputHashAlgo = if hash != "" then null else "sha256";
   outputHash = hash;
   outputHashMode = if recursiveHash then "recursive" else "flat";
 
   # url will be written to the derivation, meaning it can be parsed and utilized
-  # by external tools, such as tools that may want to seed fetchBittorrent calls
+  # by external tools, such as tools that may want to seed fetchtorrent calls
   # in nixpkgs
   inherit url;
 }
diff --git a/pkgs/build-support/fetchbittorrent/tests.nix b/pkgs/build-support/fetchtorrent/tests.nix
index fce1b3933a7..b36c82c6326 100644
--- a/pkgs/build-support/fetchbittorrent/tests.nix
+++ b/pkgs/build-support/fetchtorrent/tests.nix
@@ -1,22 +1,22 @@
-{ testers, fetchFromBittorrent, ... }:
+{ testers, fetchtorrent, ... }:
 
 {
-  http-link = testers.invalidateFetcherByDrvHash fetchFromBittorrent {
+  http-link = testers.invalidateFetcherByDrvHash fetchtorrent {
     url = "https://webtorrent.io/torrents/wired-cd.torrent";
     hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
     backend = "transmission";
   };
-  magnet-link = testers.invalidateFetcherByDrvHash fetchFromBittorrent {
+  magnet-link = testers.invalidateFetcherByDrvHash fetchtorrent {
     url = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3&dn=The+WIRED+CD+-+Rip.+Sample.+Mash.+Share&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fwired-cd.torrent";
     hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
     backend = "transmission";
   };
-  http-link-rqbit = testers.invalidateFetcherByDrvHash fetchFromBittorrent {
+  http-link-rqbit = testers.invalidateFetcherByDrvHash fetchtorrent {
     url = "https://webtorrent.io/torrents/wired-cd.torrent";
     hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
     backend = "rqbit";
   };
-  magnet-link-rqbit = testers.invalidateFetcherByDrvHash fetchFromBittorrent {
+  magnet-link-rqbit = testers.invalidateFetcherByDrvHash fetchtorrent {
     url = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3&dn=The+WIRED+CD+-+Rip.+Sample.+Mash.+Share&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.empire-js.us%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fwired-cd.torrent";
     hash = "sha256-OCsC22WuanqoN6lPv5wDT5ZxPcEHDpZ1EgXGvz1SDYo=";
     backend = "rqbit";
diff --git a/pkgs/by-name/kd/kdsingleapplication/package.nix b/pkgs/by-name/kd/kdsingleapplication/package.nix
new file mode 100644
index 00000000000..22522dd6dc9
--- /dev/null
+++ b/pkgs/by-name/kd/kdsingleapplication/package.nix
@@ -0,0 +1,33 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, qt6
+}:
+
+stdenv.mkDerivation rec {
+  pname = "KDSingleApplication";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "KDAB";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-5YprRbfiFI2UGMJqDf+3VDwXV904USEpMEpoNm0g7KY=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ qt6.qtbase ];
+
+  cmakeFlags = [ "-DKDSingleApplication_QT6=true" ];
+  dontWrapQtApps = true;
+
+  meta = with lib; {
+    description = "KDAB's helper class for single-instance policy applications";
+    homepage = "https://www.kdab.com/";
+    maintainers = with maintainers; [ hellwolf ];
+    platforms = platforms.unix;
+    license = licenses.mit;
+    changelog = "https://github.com/KDAB/KDSingleApplication/releases/tag/v${version}";
+  };
+}
diff --git a/pkgs/applications/networking/owncloud-client/libre-graph-api-cpp-qt-client.nix b/pkgs/by-name/li/libre-graph-api-cpp-qt-client/package.nix
index 31412e72ec9..5fc90574d40 100644
--- a/pkgs/applications/networking/owncloud-client/libre-graph-api-cpp-qt-client.nix
+++ b/pkgs/by-name/li/libre-graph-api-cpp-qt-client/package.nix
@@ -2,8 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , cmake
-, qtbase
-, wrapQtAppsHook
+, qt6
 }:
 
 stdenv.mkDerivation rec {
@@ -19,15 +18,14 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "${src.name}/client";
 
-  nativeBuildInputs = [ cmake wrapQtAppsHook ];
-  buildInputs = [ qtbase ];
-
-  cmakeFlags = [  ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ qt6.qtbase ];
+  dontWrapQtApps = true;
 
   meta = with lib; {
     description = "C++ Qt API for Libre Graph, a free API for cloud collaboration inspired by the MS Graph API";
     homepage = "https://owncloud.org";
-    maintainers = with maintainers; [ qknight hellwolf ];
+    maintainers = with maintainers; [ hellwolf ];
     platforms = platforms.unix;
     license = licenses.asl20;
     changelog = "https://github.com/owncloud/libre-graph-api-cpp-qt-client/releases/tag/v${version}";
diff --git a/pkgs/by-name/ni/nix-health/package.nix b/pkgs/by-name/ni/nix-health/package.nix
new file mode 100644
index 00000000000..5a5179cfcd0
--- /dev/null
+++ b/pkgs/by-name/ni/nix-health/package.nix
@@ -0,0 +1,38 @@
+{ lib, stdenv
+, rustPlatform
+, fetchCrate
+, libiconv
+, openssl
+, pkg-config
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "nix-health";
+  version = "0.2.3";
+
+  src = fetchCrate {
+    inherit version;
+    pname = "nix_health";
+    hash = "sha256-WdzzEFk9VPld6AFTNRsaQbMymw1+mNn/TViGO/Qv0so=";
+  };
+
+  cargoHash = "sha256-xmuosy9T/52D90uXMQAIxtaYDOlCekNCtzpu/3GyQXE=";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libiconv openssl ]
+    # Use a newer SDK for CoreFoundation, because the sysinfo crate requires
+    # it, https://github.com/GuillaumeGomez/sysinfo/issues/915
+    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks;
+      [ IOKit
+        CoreFoundation
+      ]);
+
+  meta = with lib; {
+    description = "Check the health of your Nix setup";
+    homepage = "https://zero-to-flakes.com/health/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ srid ];
+    mainProgram = "nix-health";
+  };
+}
diff --git a/pkgs/tools/package-management/nixops/deps.nix b/pkgs/by-name/ni/nixops-dns/deps.nix
index 7da38f83e7f..7da38f83e7f 100644
--- a/pkgs/tools/package-management/nixops/deps.nix
+++ b/pkgs/by-name/ni/nixops-dns/deps.nix
diff --git a/pkgs/tools/package-management/nixops/nixops-dns.nix b/pkgs/by-name/ni/nixops-dns/package.nix
index cf633a65ca5..cf633a65ca5 100644
--- a/pkgs/tools/package-management/nixops/nixops-dns.nix
+++ b/pkgs/by-name/ni/nixops-dns/package.nix
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/by-name/ow/owncloud-client/package.nix
index 7da1a368d84..5edbd5d0f6b 100644
--- a/pkgs/applications/networking/owncloud-client/default.nix
+++ b/pkgs/by-name/ow/owncloud-client/package.nix
@@ -1,38 +1,49 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, mkDerivation
 , pkg-config
 , cmake
 , extra-cmake-modules
-, callPackage
-, qtbase
-, qtkeychain
-, wrapQtAppsHook
-, qttools
+, qt6
+, qt6Packages
 , sqlite
 , libsecret
+, libre-graph-api-cpp-qt-client
+, kdsingleapplication
+# darwin only:
+, libinotify-kqueue
+, sparkleshare
 }:
 
 stdenv.mkDerivation rec {
   pname = "owncloud-client";
-  version = "4.2.0";
-
-  libregraph = callPackage ./libre-graph-api-cpp-qt-client.nix { };
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "owncloud";
     repo = "client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-dPNVp5DxCI4ye8eFjHoLGDlf8Ap682o1UB0k2VNr2rs=";
+    hash = "sha256-SSMNmWrCT1sGa38oY8P84QNedNkQPcIRWrV9B65B5X8=";
   };
 
-  nativeBuildInputs = [ pkg-config cmake extra-cmake-modules wrapQtAppsHook qttools ];
-  buildInputs = [ qtbase qtkeychain sqlite libsecret libregraph ];
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    extra-cmake-modules
+    qt6.qttools
+    qt6.wrapQtAppsHook
+  ];
 
-  cmakeFlags = [
-    "-UCMAKE_INSTALL_LIBDIR"
-    "-DNO_SHIBBOLETH=1"
+  buildInputs = [
+    sqlite
+    libsecret
+    qt6.qtbase
+    qt6.qtsvg # Needed for the systray icon
+    qt6Packages.qtkeychain
+    libre-graph-api-cpp-qt-client
+    kdsingleapplication
+  ] ++ lib.optionals stdenv.isDarwin [
+    libinotify-kqueue sparkleshare
   ];
 
   meta = with lib; {
@@ -40,7 +51,6 @@ stdenv.mkDerivation rec {
     homepage = "https://owncloud.org";
     maintainers = with maintainers; [ qknight hellwolf ];
     platforms = platforms.unix;
-    broken = stdenv.isDarwin;
     license = licenses.gpl2Plus;
     changelog = "https://github.com/owncloud/client/releases/tag/v${version}";
   };
diff --git a/pkgs/development/python-modules/aesara/default.nix b/pkgs/development/python-modules/aesara/default.nix
index 0362b5b3d4c..589799c1b84 100644
--- a/pkgs/development/python-modules/aesara/default.nix
+++ b/pkgs/development/python-modules/aesara/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "aesara";
-  version = "2.9.2";
+  version = "2.9.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "aesara-devs";
     repo = "aesara";
     rev = "refs/tags/rel-${version}";
-    hash = "sha256-6SZHr81OiqzKh977RrJtrDvFlAIjguK+1imP3bjxhS8=";
+    hash = "sha256-aO0+O7Ts9phsV4ghunNolxfAruGBbC+tHjVkmFedcCI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index 326b9ff94cf..ebbcf6ea82a 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -18,9 +18,7 @@
 , aiodns
 , brotli
 , faust-cchardet
-, asynctest
 , typing-extensions
-, idna-ssl
 # tests_require
 , async-generator
 , freezegun
@@ -73,11 +71,6 @@ buildPythonPackage rec {
     aiodns
     brotli
     faust-cchardet
-  ] ++ lib.optionals (pythonOlder "3.8") [
-    asynctest
-    typing-extensions
-  ] ++ lib.optionals (pythonOlder "3.7") [
-    idna-ssl
   ];
 
   # NOTE: pytest-xdist cannot be added because it is flaky. See https://github.com/NixOS/nixpkgs/issues/230597 for more info.
diff --git a/pkgs/development/python-modules/aionotify/default.nix b/pkgs/development/python-modules/aionotify/default.nix
deleted file mode 100644
index 0483793c7bb..00000000000
--- a/pkgs/development/python-modules/aionotify/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, asynctest
-, pythonOlder
-}:
-
-buildPythonPackage rec {
-  pname = "aionotify";
-  version = "0.2.0";
-
-  src = fetchFromGitHub {
-    owner = "rbarrois";
-    repo = "aionotify";
-    rev = "v${version}";
-    sha256 = "1sk9i8czxgsbrswsf1nlb4c82vgnlzi8zrvrxdip92w2z8hqh43y";
-  };
-
-  disabled = pythonOlder "3.5";
-
-  preCheck = ''
-    substituteInPlace tests/test_usage.py \
-      --replace "asyncio.wait_for(task, timeout, loop=self.loop)" "asyncio.wait_for(task, timeout)"
-  '';
-
-  nativeCheckInputs = [
-    asynctest
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/rbarrois/aionotify";
-    description = "Simple, asyncio-based inotify library for Python";
-    license = with lib.licenses; [ bsd2 ];
-    platforms = platforms.linux;
-    maintainers = with lib.maintainers; [ ];
-  };
-}
diff --git a/pkgs/development/python-modules/awkward-cpp/default.nix b/pkgs/development/python-modules/awkward-cpp/default.nix
index b55977ffdb6..00e01ba80bf 100644
--- a/pkgs/development/python-modules/awkward-cpp/default.nix
+++ b/pkgs/development/python-modules/awkward-cpp/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "awkward-cpp";
-  version = "24";
+  version = "25";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KJE/zw9+5NaZNXQsED+kIu1R+Ng7ZOywy+mebmY/SwY=";
+    hash = "sha256-Fhq6XUt5CYz/l+Lf9WcCnt9rs3byMQIQs7hFexr2tjM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/digitalocean/default.nix b/pkgs/development/python-modules/digitalocean/default.nix
index 09ff7c52bdd..3d756312ded 100644
--- a/pkgs/development/python-modules/digitalocean/default.nix
+++ b/pkgs/development/python-modules/digitalocean/default.nix
@@ -40,6 +40,9 @@ buildPythonPackage rec {
     cd digitalocean
   '';
 
+  # Test tries to access the network
+  disabledTests = ["TestFirewall"];
+
   pythonImportsCheck = [ "digitalocean" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/intellifire4py/default.nix b/pkgs/development/python-modules/intellifire4py/default.nix
index 6266e60f728..a38fbf9f5a0 100644
--- a/pkgs/development/python-modules/intellifire4py/default.nix
+++ b/pkgs/development/python-modules/intellifire4py/default.nix
@@ -1,51 +1,50 @@
 { lib
 , aenum
-, aiohttp
-, asynctest
 , buildPythonPackage
 , fetchFromGitHub
+, httpx
+, poetry-core
 , pydantic
-, pytest-mock
+, pytest-asyncio
+, pytest-httpx
 , pytestCheckHook
 , pythonOlder
-, requests
+, rich
 }:
 
 buildPythonPackage rec {
   pname = "intellifire4py";
-  version = "2.2.2";
-  format = "setuptools";
+  version = "3.1.29";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jeeftor";
     repo = pname;
-    rev = "refs/tags/${version}";
-    hash = "sha256-iqlKfpnETLqQwy5sNcK2x/TgmuN2hCfYoHEFK2WWVXI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-isAVq45UnKB8uMg7bhehpxIk5OOLcWx+VNZhJ8dE52Y=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     aenum
-    aiohttp
+    httpx
     pydantic
-    requests
-  ];
-
-  nativeCheckInputs = [
-    asynctest
-    pytest-mock
-    pytestCheckHook
-  ];
-
-  disabledTests = [
-    # Test file is missing
-    "test_json_files"
+    rich
   ];
 
   pythonImportsCheck = [
     "intellifire4py"
   ];
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytest-httpx
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Module to read Intellifire fireplace status data";
diff --git a/pkgs/development/python-modules/pyeconet/default.nix b/pkgs/development/python-modules/pyeconet/default.nix
index bc2125b8c6e..d479564b763 100644
--- a/pkgs/development/python-modules/pyeconet/default.nix
+++ b/pkgs/development/python-modules/pyeconet/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyeconet";
-  version = "0.1.21";
+  version = "0.1.22";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "w1ll1am23";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-G+J61L9i5JIgPC4oZQavafjD81kue02r+GRdIazrzOw=";
+    hash = "sha256-R6PA/i35vo253J4yowe2fPRZEqStAqmm98k81KDHLQk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pymelcloud/default.nix b/pkgs/development/python-modules/pymelcloud/default.nix
index 079c7e31f14..ad4e529c528 100644
--- a/pkgs/development/python-modules/pymelcloud/default.nix
+++ b/pkgs/development/python-modules/pymelcloud/default.nix
@@ -26,6 +26,8 @@ buildPythonPackage rec {
     aiohttp
   ];
 
+  doCheck = pythonOlder "3.11"; # asynctest is unsupported on python3.11
+
   nativeCheckInputs = [
     asynctest
     pytest-asyncio
diff --git a/pkgs/development/python-modules/python-rtmidi/default.nix b/pkgs/development/python-modules/python-rtmidi/default.nix
index 1d785987cff..8a13ee5e899 100644
--- a/pkgs/development/python-modules/python-rtmidi/default.nix
+++ b/pkgs/development/python-modules/python-rtmidi/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "python-rtmidi";
-  version = "1.5.6";
+  version = "1.5.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "python_rtmidi";
     inherit version;
-    hash = "sha256-sqCjmbtKXhpWR3eYr9QdAioYtelU9tD/krRbuZvuNxA=";
+    hash = "sha256-3vsaSyrob/OYwjLFPu2lVOJKSfZ96ELnnOuos8p3N00=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyversasense/default.nix b/pkgs/development/python-modules/pyversasense/default.nix
index 40c2fac5157..908d9d37f7b 100644
--- a/pkgs/development/python-modules/pyversasense/default.nix
+++ b/pkgs/development/python-modules/pyversasense/default.nix
@@ -26,6 +26,8 @@ buildPythonPackage rec {
     aiohttp
   ];
 
+  doCheck = pythonOlder "3.11"; # asynctest unsupported on python3.11
+
   nativeCheckInputs = [
     asynctest
     pytest-asyncio
diff --git a/pkgs/development/python-modules/reptor/default.nix b/pkgs/development/python-modules/reptor/default.nix
index 8ff2d984a4b..d48a84025e4 100644
--- a/pkgs/development/python-modules/reptor/default.nix
+++ b/pkgs/development/python-modules/reptor/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "reptor";
-  version = "0.5";
+  version = "0.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     owner = "Syslifters";
     repo = "reptor";
     rev = "refs/tags/${version}";
-    hash = "sha256-TN4ti860bMegxsCMhSxVQwiTLCB9nl+CJ+xDzJQcRuE=";
+    hash = "sha256-d76Hsf+leJKYOh7k/RVuo6adfjMW6yAYt+vh7KNh7sA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlobject/default.nix b/pkgs/development/python-modules/sqlobject/default.nix
index 4054cfcacf9..6a4ea78b82e 100644
--- a/pkgs/development/python-modules/sqlobject/default.nix
+++ b/pkgs/development/python-modules/sqlobject/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "sqlobject";
-  version = "3.10.2";
+  version = "3.10.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "SQLObject";
     inherit version;
-    hash = "sha256-dW9IsIdOSnCG3thWhYwIsz0Oa5runnXD84S5ITPH3ww=";
+    hash = "sha256-pbXO+gXgKD2ycuG6RirEnQnGmBJpUkorptBrS4b8FS4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-awscrt/default.nix b/pkgs/development/python-modules/types-awscrt/default.nix
index f3d881debdb..158948d7dd5 100644
--- a/pkgs/development/python-modules/types-awscrt/default.nix
+++ b/pkgs/development/python-modules/types-awscrt/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "types-awscrt";
-  version = "0.19.3";
+  version = "0.19.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "types_awscrt";
     inherit version;
-    hash = "sha256-miHKrEKHwRPdUmZXB3hcRbsdMkK3oriutXxJ6edJozA=";
+    hash = "sha256-GdSGfysTK7NPLdruHz/rp8xCqGivXgVcxqWAtC+heTM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/velbus-aio/default.nix b/pkgs/development/python-modules/velbus-aio/default.nix
index 0b06bf91548..6a7fd953c42 100644
--- a/pkgs/development/python-modules/velbus-aio/default.nix
+++ b/pkgs/development/python-modules/velbus-aio/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "velbus-aio";
-  version = "2023.10.1";
+  version = "2023.10.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-v2B+tDqvQTm+K+cvTRM8LnfaFp5CTsI8/B5clBDNE08=";
+    hash = "sha256-qRKVjiRrRg1YwwYCSp6KGvaS7QnYLIW5rum3X7vEANM=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/python-modules/xknxproject/default.nix b/pkgs/development/python-modules/xknxproject/default.nix
index 64ad5a1ebf8..b6d596f7a88 100644
--- a/pkgs/development/python-modules/xknxproject/default.nix
+++ b/pkgs/development/python-modules/xknxproject/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "xknxproject";
-  version = "3.3.0";
+  version = "3.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "XKNX";
     repo = "xknxproject";
     rev = "refs/tags/${version}";
-    hash = "sha256-RH5RQHLpfrI9fRg6OfPZ7/BPHQuHCrkJlwW/EJitdPo=";
+    hash = "sha256-YHHiA0AKyqOYQHeNJqInxjjn4L64z9Y2mf6otMZVscA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zigpy-cc/default.nix b/pkgs/development/python-modules/zigpy-cc/default.nix
index 54c750d94bb..505e152f087 100644
--- a/pkgs/development/python-modules/zigpy-cc/default.nix
+++ b/pkgs/development/python-modules/zigpy-cc/default.nix
@@ -32,6 +32,8 @@ buildPythonPackage rec {
     zigpy
   ];
 
+  doCheck = pythonOlder "3.11"; # asynctest is unsupported on python3.11
+
   nativeCheckInputs = [
     asynctest
     pytest-asyncio
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 105dbbbe042..52f2422bab8 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.52.1";
+  version = "0.53.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-+zGLWti99mYTyPkSxiYgE5RqVvEr2PGt8vFwesjcquo=";
+    hash = "sha256-WfKZraF/mh1YTgK2YXnP5JHqjj5oWI9PeZAvt75btr8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/README.md b/pkgs/development/tools/poetry2nix/poetry2nix/README.md
deleted file mode 100644
index ac4861534f5..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Dont change these files here, they are maintained at https://github.com/nix-community/poetry2nix
-
-The update procedure is as-follows:
-1. Send your change to the upstream poetry2nix repository
-2. Get it approved with tests passing
-3. Run the update script in pkgs/development/tools/poetry2nix
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix b/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix
deleted file mode 100755
index 559025f3ec4..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/bin/poetry2nix
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env python
-from concurrent.futures import ThreadPoolExecutor
-import subprocess
-import textwrap
-import argparse
-import toml
-import json
-import sys
-
-from typing import Dict, Any, Tuple, List
-
-
-class Package:
-    def __init__(self, attrs: Dict[str, Any]) -> None:
-        self.attrs = attrs
-        self.name = attrs["name"]
-        self.source = self.attrs["source"]
-
-    def fetch(self) -> Tuple["Package", subprocess.CompletedProcess]:
-        raise NotImplementedError()
-
-    def expression(self, output: str) -> str:
-        raise NotImplementedError()
-
-
-class UrlPackage(Package):
-    def fetch(self) -> Tuple[Package, subprocess.CompletedProcess]:
-        return (
-            self,
-            subprocess.run(
-                [
-                    "nix-prefetch-url",
-                    "--unpack",
-                    self.source["url"],
-                ],
-                stdout=subprocess.PIPE,
-                stderr=subprocess.PIPE,
-                text=True
-            ),
-        )
-
-    def expression(self, output: str) -> str:
-        sha256 = output.rstrip()
-        return textwrap.dedent("""
-            %s = super.%s.overridePythonAttrs (
-              _: {
-                src = pkgs.fetchzip {
-                  url = "%s";
-                  sha256 = "%s";
-                };
-              }
-            );""" % (self.name, self.name, self.source["url"], sha256))
-
-
-class GitPackage(Package):
-    def fetch(self) -> Tuple[Package, subprocess.CompletedProcess]:
-        reference = self.source.get("resolved_reference", self.source["reference"])
-
-        return (
-            self,
-            subprocess.run(
-                [
-                    "nix-prefetch-git",
-                    "--fetch-submodules",
-                    "--url",
-                    self.source["url"],
-                    "--rev",
-                    reference,
-                ],
-                stdout=subprocess.PIPE,
-                stderr=subprocess.PIPE,
-                text=True
-            ),
-        )
-
-    def expression(self, output: str) -> str:
-        meta = json.loads(output)
-        return textwrap.dedent("""
-            %s = super.%s.overridePythonAttrs (
-              _: {
-                src = pkgs.fetchgit {
-                  url = "%s";
-                  rev = "%s";
-                  sha256 = "%s";
-                };
-              }
-            );""" % (self.name, self.name, meta["url"], meta["rev"], meta["sha256"]))
-
-
-def parse_args() -> argparse.Namespace:
-    argparser = argparse.ArgumentParser(description="Poetry2nix CLI")
-
-    subparsers = argparser.add_subparsers(dest="subcommand")
-    subparsers.required = True
-
-    parser_lock = subparsers.add_parser("lock", help="Generate overrides for git hashes",)
-    parser_lock.add_argument(
-        "--lock", default="poetry.lock", help="Path to input poetry.lock",
-    )
-    parser_lock.add_argument(
-        "--out", default="poetry-git-overlay.nix", help="Output file",
-    )
-    return argparser.parse_args()
-
-
-def indent(expr: str, spaces: int = 2) -> str:
-    i = " " * spaces
-    return "\n".join([(i if l != "" else "") + l for l in expr.split("\n")])
-
-
-def main() -> None:
-    args = parse_args()
-
-    with open(args.lock) as lockf:
-        lock = toml.load(lockf)
-
-    pkgs: List[Package] = []
-    for pkg in lock["package"]:
-        if "source" in pkg:
-            source_type = pkg["source"]["type"]
-            if source_type == "git":
-                pkgs.append(GitPackage(pkg))
-            elif source_type == "url":
-                pkgs.append(UrlPackage(pkg))
-
-    with ThreadPoolExecutor() as e:
-        futures = []
-
-        for pkg in pkgs:
-            futures.append(e.submit(pkg.fetch))
-
-        lines = [
-            "{ pkgs }:",
-            "self: super: {",
-        ]
-
-        for f in futures:
-            package, p = f.result()
-            if p.returncode != 0:
-                sys.stderr.write(p.stderr)
-                sys.stderr.flush()
-                exit(p.returncode)
-            expr = package.expression(p.stdout)
-            lines.append(indent(expr))
-
-        lines.extend(["", "}", ""])
-
-        expr = "\n".join(lines)
-
-    with open(args.out, "w") as fout:
-        fout.write(expr)
-
-    print(f"Wrote {args.out}")
-
-
-if __name__ == "__main__":
-    main()
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix b/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix
deleted file mode 100644
index b96316e59d8..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/cli.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ pkgs ? import <nixpkgs> { }
-, lib ? pkgs.lib
-, version
-}:
-let
-  inherit (pkgs) python3;
-in
-pkgs.stdenv.mkDerivation {
-  pname = "poetry2nix";
-  inherit version;
-
-  buildInputs = [
-    (python3.withPackages (ps: [ ps.toml ]))
-  ];
-
-  nativeBuildInputs = [
-    pkgs.makeWrapper
-  ];
-
-  src = ./bin;
-
-  dontConfigure = true;
-
-  buildPhase = ''
-    runHook preBuild
-    patchShebangs poetry2nix
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/bin
-    mv poetry2nix $out/bin
-
-    wrapProgram $out/bin/poetry2nix --prefix PATH ":" ${lib.makeBinPath [
-      pkgs.nix-prefetch-git
-    ]}
-
-    runHook postInstall
-  '';
-
-  meta = {
-    homepage = "https://github.com/nix-community/poetry2nix";
-    description = "CLI to supplement sha256 hashes for git dependencies";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.adisbladis ];
-  };
-
-}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
deleted file mode 100644
index c59501b0a3e..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ /dev/null
@@ -1,531 +0,0 @@
-{ pkgs ? import <nixpkgs> { }
-, lib ? pkgs.lib
-, poetryLib ? import ./lib.nix { inherit lib pkgs; stdenv = pkgs.stdenv; }
-}:
-let
-  # Poetry2nix version
-  version = "1.42.1";
-
-  inherit (poetryLib) isCompatible readTOML normalizePackageName normalizePackageSet;
-
-  # Map SPDX identifiers to license names
-  spdxLicenses = lib.listToAttrs (lib.filter (pair: pair.name != null) (builtins.map (v: { name = if lib.hasAttr "spdxId" v then v.spdxId else null; value = v; }) (lib.attrValues lib.licenses)));
-  # Get license by id falling back to input string
-  getLicenseBySpdxId = spdxId: spdxLicenses.${spdxId} or spdxId;
-
-  # Experimental withPlugins functionality
-  toPluginAble = (import ./plugins.nix { inherit pkgs lib; }).toPluginAble;
-
-  # List of known build systems that are passed through from nixpkgs unmodified
-  knownBuildSystems = builtins.fromJSON (builtins.readFile ./known-build-systems.json);
-  nixpkgsBuildSystems = lib.subtractLists [ "poetry" "poetry-core" ] knownBuildSystems;
-
-  mkInputAttrs =
-    { py
-    , pyProject
-    , attrs
-    , includeBuildSystem ? true
-    , groups ? [ ]
-    , checkGroups ? [ "dev" ]
-    , extras ? [ "*" ]  # * means all extras, otherwise include the dependencies for a given extra
-    }:
-    let
-      getInputs = attr: attrs.${attr} or [ ];
-
-      # Get dependencies and filter out depending on interpreter version
-      getDeps = depSet:
-        let
-          compat = isCompatible (poetryLib.getPythonVersion py);
-          depAttrs = builtins.map (d: lib.toLower d) (builtins.attrNames depSet);
-        in
-        (
-          builtins.map
-            (
-              dep:
-              let
-                pkg = py.pkgs."${normalizePackageName dep}";
-                constraints = depSet.${dep}.python or "";
-                isCompat = compat constraints;
-              in
-              if isCompat then pkg else null
-            )
-            depAttrs
-        );
-
-      buildSystemPkgs = poetryLib.getBuildSystemPkgs {
-        inherit pyProject;
-        pythonPackages = py.pkgs;
-      };
-
-      mkInput = attr: extraInputs: getInputs attr ++ extraInputs;
-
-      rawDeps = pyProject.tool.poetry."dependencies" or { };
-
-      rawRequiredDeps = lib.filterAttrs (_: v: !(v.optional or false)) rawDeps;
-
-      desiredExtrasDeps = lib.unique
-        (lib.concatMap (extra: pyProject.tool.poetry.extras.${extra}) extras);
-
-      allRawDeps =
-        if extras == [ "*" ] then
-          rawDeps
-        else
-          rawRequiredDeps // lib.getAttrs desiredExtrasDeps rawDeps;
-      checkInputs' = getDeps (pyProject.tool.poetry."dev-dependencies" or { })  # <poetry-1.2.0
-        # >=poetry-1.2.0 dependency groups
-        ++ lib.flatten (map (g: getDeps (pyProject.tool.poetry.group.${g}.dependencies or { })) checkGroups);
-    in
-    {
-      buildInputs = mkInput "buildInputs" (if includeBuildSystem then buildSystemPkgs else [ ]);
-      propagatedBuildInputs = mkInput "propagatedBuildInputs" (
-        getDeps allRawDeps ++ (
-          # >=poetry-1.2.0 dependency groups
-          if pyProject.tool.poetry.group or { } != { }
-          then lib.flatten (map (g: getDeps pyProject.tool.poetry.group.${g}.dependencies) groups)
-          else [ ]
-        )
-      );
-      nativeBuildInputs = mkInput "nativeBuildInputs" [ ];
-      checkInputs = mkInput "checkInputs" checkInputs';
-      nativeCheckInputs = mkInput "nativeCheckInputs" checkInputs';
-    };
-
-
-in
-lib.makeScope pkgs.newScope (self: {
-
-  inherit version;
-
-  /* Returns a package of editable sources whose changes will be available without needing to restart the
-    nix-shell.
-    In editablePackageSources you can pass a mapping from package name to source directory to have
-    those packages available in the resulting environment, whose source changes are immediately available.
-
-  */
-  mkPoetryEditablePackage =
-    { projectDir ? null
-    , pyproject ? projectDir + "/pyproject.toml"
-    , python ? pkgs.python3
-    , pyProject ? readTOML pyproject
-      # Example: { my-app = ./src; }
-    , editablePackageSources
-    }:
-      assert editablePackageSources != { };
-      import ./editable.nix {
-        inherit pyProject python pkgs lib poetryLib editablePackageSources;
-      };
-
-  /* Returns a package containing scripts defined in tool.poetry.scripts.
-  */
-  mkPoetryScriptsPackage =
-    { projectDir ? null
-    , pyproject ? projectDir + "/pyproject.toml"
-    , python ? pkgs.python3
-    , pyProject ? readTOML pyproject
-    , scripts ? pyProject.tool.poetry.scripts
-    }:
-      assert scripts != { };
-      import ./shell-scripts.nix {
-        inherit lib python scripts;
-      };
-
-  /*
-    Returns an attrset { python, poetryPackages, pyProject, poetryLock } for the given pyproject/lockfile.
-  */
-  mkPoetryPackages =
-    { projectDir ? null
-    , pyproject ? projectDir + "/pyproject.toml"
-    , poetrylock ? projectDir + "/poetry.lock"
-    , poetrylockPos ? { file = toString poetrylock; line = 0; column = 0; }
-    , overrides ? self.defaultPoetryOverrides
-    , python ? pkgs.python3
-    , pwd ? projectDir
-    , preferWheels ? false
-      # Example: { my-app = ./src; }
-    , editablePackageSources ? { }
-    , pyProject ? readTOML pyproject
-    , groups ? [ ]
-    , checkGroups ? [ "dev" ]
-    , extras ? [ "*" ]
-    }:
-    let
-      /* The default list of poetry2nix override overlays */
-      mkEvalPep508 = import ./pep508.nix {
-        inherit lib poetryLib;
-        inherit (python) stdenv;
-      };
-      getFunctorFn = fn: if builtins.typeOf fn == "set" then fn.__functor else fn;
-
-      poetryPkg = pkgs.callPackage ./pkgs/poetry { inherit python; poetry2nix = self; };
-
-      scripts = pyProject.tool.poetry.scripts or { };
-      hasScripts = scripts != { };
-      scriptsPackage = self.mkPoetryScriptsPackage {
-        inherit python scripts;
-      };
-
-      editablePackageSources' = lib.filterAttrs (name: path: path != null) editablePackageSources;
-      hasEditable = editablePackageSources' != { };
-      editablePackage = self.mkPoetryEditablePackage {
-        inherit pyProject python;
-        editablePackageSources = editablePackageSources';
-      };
-
-      poetryLock = readTOML poetrylock;
-
-      # Lock file version 1.1 files
-      lockFiles =
-        let
-          lockfiles = lib.getAttrFromPath [ "metadata" "files" ] poetryLock;
-        in
-        lib.listToAttrs (lib.mapAttrsToList (n: v: { name = normalizePackageName n; value = v; }) lockfiles);
-
-      evalPep508 = mkEvalPep508 python;
-
-      # Filter packages by their PEP508 markers & pyproject interpreter version
-      partitions =
-        let
-          supportsPythonVersion = pkgMeta: if pkgMeta ? marker then (evalPep508 pkgMeta.marker) else true && isCompatible (poetryLib.getPythonVersion python) pkgMeta.python-versions;
-        in
-        lib.partition supportsPythonVersion poetryLock.package;
-      compatible = partitions.right;
-      incompatible = partitions.wrong;
-
-      # Create an overridden version of pythonPackages
-      #
-      # We need to avoid mixing multiple versions of pythonPackages in the same
-      # closure as python can only ever have one version of a dependency
-      baseOverlay = self: super:
-        let
-          lockPkgs = builtins.listToAttrs (
-            builtins.map
-              (
-                pkgMeta:
-                let normalizedName = normalizePackageName pkgMeta.name; in
-                {
-                  name = normalizedName;
-                  value = self.mkPoetryDep (
-                    pkgMeta // {
-                      inherit pwd preferWheels;
-                      pos = poetrylockPos;
-                      source = pkgMeta.source or null;
-                      # Default to files from lock file version 2.0 and fall back to 1.1
-                      files = pkgMeta.files or lockFiles.${normalizedName};
-                      pythonPackages = self;
-
-                      sourceSpec = (
-                        (normalizePackageSet pyProject.tool.poetry.dependencies or { }).${normalizedName}
-                          or (normalizePackageSet pyProject.tool.poetry.dev-dependencies or { }).${normalizedName}
-                          or (normalizePackageSet pyProject.tool.poetry.group.dev.dependencies or { }).${normalizedName} # Poetry 1.2.0+
-                          or { }
-                      );
-                    }
-                  );
-                }
-              )
-              (lib.reverseList compatible)
-          );
-          buildSystems = builtins.listToAttrs (builtins.map (x: { name = x; value = super.${x}; }) nixpkgsBuildSystems);
-        in
-        lockPkgs // buildSystems // {
-          # Create a dummy null package for the current project in case any dependencies depend on the root project (issue #307)
-          ${pyProject.tool.poetry.name} = null;
-        };
-      overlays = builtins.map
-        getFunctorFn
-        (
-          [
-            # Remove Python packages aliases with non-normalized names to avoid issues with infinite recursion (issue #750).
-            (self: super: {
-              # Upstream nixpkgs uses non canonical names
-              async-generator = super.async-generator or super.async_generator or null;
-            })
-
-            (self: super: lib.attrsets.mapAttrs
-              (
-                name: value:
-                  if lib.isDerivation value && self.hasPythonModule value && (normalizePackageName name) != name
-                  then null
-                  else value
-              )
-              super)
-
-            (
-              self: super:
-                {
-                  mkPoetryDep = self.callPackage ./mk-poetry-dep.nix {
-                    inherit lib python poetryLib evalPep508;
-                  };
-
-                  # # Use poetry-core from the poetry build (pep517/518 build-system)
-                  poetry-core = poetryPkg.passthru.python.pkgs.poetry-core;
-                  poetry = poetryPkg;
-
-                  __toPluginAble = toPluginAble self;
-                } // lib.optionalAttrs (! super ? setuptools-scm) {
-                  # The canonical name is setuptools-scm
-                  setuptools-scm = super.setuptools_scm;
-                }
-            )
-
-            # Fix infinite recursion in a lot of packages because of checkInputs
-            (self: super: lib.mapAttrs
-              (name: value: (
-                if lib.isDerivation value && lib.hasAttr "overridePythonAttrs" value
-                then value.overridePythonAttrs (_: { doCheck = false; })
-                else value
-              ))
-              super)
-
-            # Null out any filtered packages, we don't want python.pkgs from nixpkgs
-            (self: super: builtins.listToAttrs (builtins.map (x: { name = normalizePackageName x.name; value = null; }) incompatible))
-            # Create poetry2nix layer
-            baseOverlay
-
-          ] ++ # User provided overrides
-          (if builtins.typeOf overrides == "list" then overrides else [ overrides ])
-        );
-      packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) overlays;
-      py = python.override { inherit packageOverrides; self = py; };
-
-      inputAttrs = mkInputAttrs { inherit py pyProject groups checkGroups extras; attrs = { }; includeBuildSystem = false; };
-
-      requiredPythonModules = python.pkgs.requiredPythonModules;
-      /* Include all the nested dependencies which are required for each package.
-        This guarantees that using the "poetryPackages" attribute will return
-        complete list of dependencies for the poetry project to be portable.
-      */
-      storePackages = requiredPythonModules (builtins.foldl' (acc: v: acc ++ v) [ ] (lib.attrValues inputAttrs));
-    in
-    {
-      python = py;
-      poetryPackages = storePackages
-        ++ lib.optional hasScripts scriptsPackage
-        ++ lib.optional hasEditable editablePackage;
-      poetryLock = poetryLock;
-      inherit pyProject;
-    };
-
-  /* Returns a package with a python interpreter and all packages specified in the poetry.lock lock file.
-    In editablePackageSources you can pass a mapping from package name to source directory to have
-    those packages available in the resulting environment, whose source changes are immediately available.
-
-    Example:
-    poetry2nix.mkPoetryEnv { poetrylock = ./poetry.lock; python = python3; }
-  */
-  mkPoetryEnv =
-    { projectDir ? null
-    , pyproject ? projectDir + "/pyproject.toml"
-    , poetrylock ? projectDir + "/poetry.lock"
-    , overrides ? self.defaultPoetryOverrides
-    , pwd ? projectDir
-    , python ? pkgs.python3
-    , preferWheels ? false
-    , editablePackageSources ? { }
-    , extraPackages ? ps: [ ]
-    , groups ? [ "dev" ]
-    , checkGroups ? [ "dev" ]
-    , extras ? [ "*" ]
-    }:
-    let
-      inherit (lib) hasAttr;
-
-      pyProject = readTOML pyproject;
-
-      # Automatically add dependencies with develop = true as editable packages, but only if path dependencies
-      getEditableDeps = set: lib.mapAttrs
-        (name: value: projectDir + "/${value.path}")
-        (lib.filterAttrs (name: dep: dep.develop or false && hasAttr "path" dep) set);
-
-      excludedEditablePackageNames = builtins.filter
-        (pkg: editablePackageSources."${pkg}" == null)
-        (builtins.attrNames editablePackageSources);
-
-      allEditablePackageSources = (
-        (getEditableDeps (pyProject.tool.poetry."dependencies" or { }))
-        // (getEditableDeps (pyProject.tool.poetry."dev-dependencies" or { }))
-        // (
-          # Poetry>=1.2.0
-          if pyProject.tool.poetry.group or { } != { } then
-            builtins.foldl' (acc: g: acc // getEditableDeps pyProject.tool.poetry.group.${g}.dependencies) { } groups
-          else { }
-        )
-        // editablePackageSources
-      );
-
-      editablePackageSources' = builtins.removeAttrs
-        allEditablePackageSources
-        excludedEditablePackageNames;
-
-      poetryPython = self.mkPoetryPackages {
-        inherit pyproject poetrylock overrides python pwd preferWheels pyProject groups checkGroups extras;
-        editablePackageSources = editablePackageSources';
-      };
-
-      inherit (poetryPython) poetryPackages;
-
-      # Don't add editable sources to the environment since they will sometimes fail to build and are not useful in the development env
-      editableAttrs = lib.attrNames editablePackageSources';
-      envPkgs = builtins.filter (drv: ! lib.elem (drv.pname or drv.name or "") editableAttrs) poetryPackages;
-
-    in
-    poetryPython.python.withPackages (ps: envPkgs ++ (extraPackages ps));
-
-  /* Creates a Python application from pyproject.toml and poetry.lock
-
-    The result also contains a .dependencyEnv attribute which is a python
-    environment of all dependencies and this apps modules. This is useful if
-    you rely on dependencies to invoke your modules for deployment: e.g. this
-    allows `gunicorn my-module:app`.
-  */
-  mkPoetryApplication =
-    { projectDir ? null
-    , src ? (
-        # Assume that a project which is the result of a derivation is already adequately filtered
-        if lib.isDerivation projectDir then projectDir else self.cleanPythonSources { src = projectDir; }
-      )
-    , pyproject ? projectDir + "/pyproject.toml"
-    , poetrylock ? projectDir + "/poetry.lock"
-    , overrides ? self.defaultPoetryOverrides
-    , meta ? { }
-    , python ? pkgs.python3
-    , pwd ? projectDir
-    , preferWheels ? false
-    , groups ? [ ]
-    , checkGroups ? [ "dev" ]
-    , extras ? [ "*" ]
-    , ...
-    }@attrs:
-    let
-      poetryPython = self.mkPoetryPackages {
-        inherit pyproject poetrylock overrides python pwd preferWheels groups checkGroups extras;
-      };
-      py = poetryPython.python;
-
-      hooks = py.pkgs.callPackage ./hooks { };
-
-      inherit (poetryPython) pyProject;
-      specialAttrs = [
-        "overrides"
-        "poetrylock"
-        "projectDir"
-        "pwd"
-        "pyproject"
-        "preferWheels"
-      ];
-      passedAttrs = builtins.removeAttrs attrs specialAttrs;
-
-      inputAttrs = mkInputAttrs { inherit py pyProject attrs groups checkGroups extras; };
-
-      app = py.pkgs.buildPythonPackage (
-        passedAttrs // inputAttrs // {
-          nativeBuildInputs = inputAttrs.nativeBuildInputs ++ [
-            hooks.removePathDependenciesHook
-            hooks.removeGitDependenciesHook
-          ];
-        } // {
-          pname = normalizePackageName pyProject.tool.poetry.name;
-          version = pyProject.tool.poetry.version;
-
-          inherit src;
-
-          format = "pyproject";
-          # Like buildPythonApplication, but without the toPythonModule part
-          # Meaning this ends up looking like an application but it also
-          # provides python modules
-          namePrefix = "";
-
-          passthru = {
-            python = py;
-            dependencyEnv = (
-              lib.makeOverridable ({ app, ... }@attrs:
-                let
-                  args = builtins.removeAttrs attrs [ "app" ] // {
-                    extraLibs = [ app ];
-                  };
-                in
-                py.buildEnv.override args)
-            ) { inherit app; };
-          };
-
-          # Extract position from explicitly passed attrs so meta.position won't point to poetry2nix internals
-          pos = builtins.unsafeGetAttrPos (lib.elemAt (lib.attrNames attrs) 0) attrs;
-
-          meta = lib.optionalAttrs (lib.hasAttr "description" pyProject.tool.poetry)
-            {
-              inherit (pyProject.tool.poetry) description;
-            } // lib.optionalAttrs (lib.hasAttr "homepage" pyProject.tool.poetry) {
-            inherit (pyProject.tool.poetry) homepage;
-          } // {
-            inherit (py.meta) platforms;
-            license = getLicenseBySpdxId (pyProject.tool.poetry.license or "unknown");
-          } // meta;
-
-        }
-      );
-    in
-    app;
-
-  /* Poetry2nix CLI used to supplement SHA-256 hashes for git dependencies  */
-  cli = import ./cli.nix {
-    inherit pkgs lib;
-    inherit (self) version;
-  };
-
-  # inherit mkPoetryEnv mkPoetryApplication mkPoetryPackages;
-
-  inherit (poetryLib) cleanPythonSources;
-
-
-  /*
-    Create a new default set of overrides with the same structure as the built-in ones
-  */
-  mkDefaultPoetryOverrides = defaults: {
-    __functor = defaults;
-
-    extend = overlay:
-      let
-        composed = lib.foldr lib.composeExtensions overlay [ defaults ];
-      in
-      self.mkDefaultPoetryOverrides composed;
-
-    overrideOverlay = fn:
-      let
-        overlay = self: super:
-          let
-            defaultSet = defaults self super;
-            customSet = fn self super;
-          in
-          defaultSet // customSet;
-      in
-      self.mkDefaultPoetryOverrides overlay;
-  };
-
-  /*
-    The default list of poetry2nix override overlays
-
-    Can be overriden by calling defaultPoetryOverrides.overrideOverlay which takes an overlay function
-  */
-  defaultPoetryOverrides = self.mkDefaultPoetryOverrides (import ./overrides { inherit pkgs lib; });
-
-  /*
-    Convenience functions for specifying overlays with or without the poerty2nix default overrides
-  */
-  overrides = {
-    /*
-      Returns the specified overlay in a list
-    */
-    withoutDefaults = overlay: [
-      overlay
-    ];
-
-    /*
-      Returns the specified overlay and returns a list
-      combining it with poetry2nix default overrides
-    */
-    withDefaults = overlay: [
-      overlay
-      self.defaultPoetryOverrides
-    ];
-  };
-})
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/editable.nix b/pkgs/development/tools/poetry2nix/poetry2nix/editable.nix
deleted file mode 100644
index 13a07e4c85c..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/editable.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ pkgs
-, lib
-, poetryLib
-, pyProject
-, python
-, editablePackageSources
-}:
-let
-  name = poetryLib.normalizePackageName pyProject.tool.poetry.name;
-
-  # Just enough standard PKG-INFO fields for an editable installation
-  pkgInfoFields = {
-    Metadata-Version = "2.1";
-    Name = name;
-    # While the pyproject.toml could contain arbitrary version strings, for
-    # simplicity we just use the same one for PKG-INFO, even though that
-    # should follow follow PEP 440: https://www.python.org/dev/peps/pep-0345/#version
-    # This is how poetry transforms it: https://github.com/python-poetry/poetry/blob/6cd3645d889f47c10425961661b8193b23f0ed79/poetry/version/version.py
-    Version = pyProject.tool.poetry.version;
-    Summary = pyProject.tool.poetry.description;
-  };
-
-  pkgInfoFile = builtins.toFile "${name}-PKG-INFO"
-    (lib.concatStringsSep "\n" (lib.mapAttrsToList (key: value: "${key}: ${value}") pkgInfoFields));
-
-  entryPointsFile = builtins.toFile "${name}-entry_points.txt"
-    (lib.generators.toINI { } pyProject.tool.poetry.plugins);
-
-  # A python package that contains simple .egg-info and .pth files for an editable installation
-  editablePackage = python.pkgs.toPythonModule (pkgs.runCommand "${name}-editable"
-    { } ''
-        mkdir -p "$out/${python.sitePackages}"
-        cd "$out/${python.sitePackages}"
-
-        # See https://docs.python.org/3.8/library/site.html for info on such .pth files
-        # These add another site package path for each line
-        touch poetry2nix-editable.pth
-        ${lib.concatMapStringsSep "\n"
-    (src: ''
-          echo "${toString src}" >> poetry2nix-editable.pth
-        '')
-          (lib.attrValues editablePackageSources)}
-
-        # Create a very simple egg so pkg_resources can find this package
-        # See https://setuptools.readthedocs.io/en/latest/formats.html for more info on the egg format
-        mkdir "${name}.egg-info"
-        cd "${name}.egg-info"
-        ln -s ${pkgInfoFile} PKG-INFO
-        ${lib.optionalString (pyProject.tool.poetry ? plugins) ''
-          ln -s ${entryPointsFile} entry_points.txt
-        ''}
-  ''
-  );
-in
-editablePackage
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json b/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json
deleted file mode 100644
index 33052efe296..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/extensions.json
+++ /dev/null
@@ -1,15 +0,0 @@
-[
-  "egg",
-  "tar",
-  "tar.bz2",
-  "tar.gz",
-  "tar.lz",
-  "tar.lzma",
-  "tar.xz",
-  "tbz",
-  "tgz",
-  "tlz",
-  "txz",
-  "whl",
-  "zip"
-]
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/fetch-from-pypi.sh b/pkgs/development/tools/poetry2nix/poetry2nix/fetch-from-pypi.sh
deleted file mode 100644
index e56dee6849b..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/fetch-from-pypi.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-source $stdenv/setup
-set -euo pipefail
-
-curl="curl            \
- --location           \
- --max-redirs 20      \
- --retry 2            \
- --disable-epsv       \
- --cookie-jar cookies \
- --insecure           \
- --speed-time 5       \
- --progress-bar       \
- --fail               \
- $curlOpts            \
- $NIX_CURL_FLAGS"
-
-echo "Trying to fetch with predicted URL: $predictedURL"
-
-$curl $predictedURL --output $out && exit 0
-
-echo "Predicted URL '$predictedURL' failed, querying pypi.org"
-$curl "https://pypi.org/pypi/$pname/json" | jq -r ".releases.\"$version\"[] | select(.filename == \"$file\") | .url" > url
-url=$(cat url)
-$curl -k $url --output $out
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py b/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
deleted file mode 100644
index 44ea092acb0..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/fetch_from_legacy.py
+++ /dev/null
@@ -1,134 +0,0 @@
-# Some repositories (such as Devpi) expose the Pypi legacy API
-# (https://warehouse.pypa.io/api-reference/legacy.html).
-#
-# Note it is not possible to use pip
-# https://discuss.python.org/t/pip-download-just-the-source-packages-no-building-no-metadata-etc/4651/12
-
-import os
-import sys
-import netrc
-from urllib.parse import urlparse, urlunparse
-from html.parser import HTMLParser
-import urllib.request
-import shutil
-import ssl
-from os.path import normpath
-
-
-# Parse the legacy index page to extract the href and package names
-class Pep503(HTMLParser):
-    def __init__(self):
-        super().__init__()
-        self.sources = {}
-        self.url = None
-        self.name = None
-
-    def handle_data(self, data):
-        if self.url is not None:
-            self.name = data
-
-    def handle_starttag(self, tag, attrs):
-        if tag == "a":
-            for name, value in attrs:
-                if name == "href":
-                    self.url = value
-
-    def handle_endtag(self, tag):
-        if self.url is not None:
-            self.sources[self.name] = self.url
-        self.url = None
-
-
-url = sys.argv[1]
-package_name = sys.argv[2]
-index_url = url + "/" + package_name + "/"
-package_filename = sys.argv[3]
-
-# Parse username and password for this host from the netrc file if given.
-username, password = None, None
-if os.environ["NETRC"]:
-    netrc_obj = netrc.netrc(os.environ["NETRC"])
-    host = urlparse(index_url).netloc
-    # Strip port number if present
-    if ":" in host:
-        host = host.split(":")[0]
-    username, _, password = netrc_obj.authenticators(host)
-
-print("Reading index %s" % index_url)
-
-context = ssl.create_default_context()
-context.check_hostname = False
-context.verify_mode = ssl.CERT_NONE
-
-# Extract out username/password from index_url, if present.
-parsed_url = urlparse(index_url)
-username = parsed_url.username or username
-password = parsed_url.password or password
-index_url = parsed_url._replace(netloc=parsed_url.netloc.rpartition("@")[-1]).geturl()
-
-req = urllib.request.Request(index_url)
-if username and password:
-    import base64
-
-    password_b64 = base64.b64encode(":".join((username, password)).encode()).decode(
-        "utf-8"
-    )
-    req.add_header("Authorization", "Basic {}".format(password_b64))
-response = urllib.request.urlopen(req, context=context)
-index = response.read()
-
-parser = Pep503()
-parser.feed(str(index, "utf-8"))
-if package_filename not in parser.sources:
-    print(
-        "The file %s has not be found in the index %s" % (package_filename, index_url)
-    )
-    exit(1)
-
-package_file = open(package_filename, "wb")
-# Sometimes the href is a relative or absolute path within the index's domain.
-indicated_url = urlparse(parser.sources[package_filename])
-if indicated_url.netloc == "":
-    parsed_url = urlparse(index_url)
-
-    if indicated_url.path.startswith("/"):
-        # An absolute path within the index's domain.
-        path = parser.sources[package_filename]
-    else:
-        # A relative path.
-        path = parsed_url.path + "/" + parser.sources[package_filename]
-
-    package_url = urlunparse(
-        (
-            parsed_url.scheme,
-            parsed_url.netloc,
-            path,
-            None,
-            None,
-            None,
-        )
-    )
-else:
-    package_url = parser.sources[package_filename]
-
-# Handle urls containing "../"
-parsed_url = urlparse(package_url)
-real_package_url = urlunparse(
-    (
-        parsed_url.scheme,
-        parsed_url.netloc,
-        normpath(parsed_url.path),
-        parsed_url.params,
-        parsed_url.query,
-        parsed_url.fragment,
-    )
-)
-print("Downloading %s" % real_package_url)
-
-req = urllib.request.Request(real_package_url)
-if username and password:
-    req.add_unredirected_header("Authorization", "Basic {}".format(password_b64))
-response = urllib.request.urlopen(req, context=context)
-
-with response as r:
-    shutil.copyfileobj(r, package_file)
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
deleted file mode 100644
index 40dd371b59f..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
+++ /dev/null
@@ -1,132 +0,0 @@
-{ python
-, stdenv
-, buildPackages
-, makeSetupHook
-, wheel
-, pip
-, pkgs
-, lib
-}:
-let
-  inherit (python.pythonForBuild.pkgs) callPackage;
-  pythonInterpreter = python.pythonForBuild.interpreter;
-  pythonSitePackages = python.sitePackages;
-
-  nonOverlayedPython = pkgs.python3.pythonForBuild.withPackages (ps: [ ps.tomlkit ]);
-  makeRemoveSpecialDependenciesHook = { fields, kind }:
-    nonOverlayedPython.pkgs.callPackage
-      (
-        _:
-        makeSetupHook
-          {
-            name = "remove-path-dependencies.sh";
-            substitutions = {
-              # NOTE: We have to use a non-overlayed Python here because otherwise we run into an infinite recursion
-              # because building of tomlkit and its dependencies also use these hooks.
-              pythonPath = nonOverlayedPython.pkgs.makePythonPath [ nonOverlayedPython ];
-              pythonInterpreter = nonOverlayedPython.interpreter;
-              pyprojectPatchScript = "${./pyproject-without-special-deps.py}";
-              inherit fields;
-              inherit kind;
-            };
-          } ./remove-special-dependencies.sh
-      )
-      { };
-  makeSetupHookArgs = deps:
-    if lib.elem "propagatedBuildInputs" (builtins.attrNames (builtins.functionArgs makeSetupHook)) then
-      { propagatedBuildInputs = deps; }
-    else
-      { inherit deps; };
-in
-{
-  removePathDependenciesHook = makeRemoveSpecialDependenciesHook {
-    fields = [ "path" ];
-    kind = "path";
-  };
-
-  removeGitDependenciesHook = makeRemoveSpecialDependenciesHook {
-    fields = [ "git" "branch" "rev" "tag" ];
-    kind = "git";
-  };
-
-
-  pipBuildHook = callPackage
-    (
-      { pip, wheel }:
-      makeSetupHook
-        ({
-          name = "pip-build-hook.sh";
-          substitutions = {
-            inherit pythonInterpreter pythonSitePackages;
-          };
-        } // (makeSetupHookArgs [ pip wheel ])) ./pip-build-hook.sh
-    )
-    { };
-
-  poetry2nixFixupHook = callPackage
-    (
-      _:
-      makeSetupHook
-        {
-          name = "fixup-hook.sh";
-          substitutions = {
-            inherit pythonSitePackages;
-            filenames = builtins.concatStringsSep " " [
-              "pyproject.toml"
-              "README.md"
-              "LICENSE"
-            ];
-          };
-        } ./fixup-hook.sh
-    )
-    { };
-
-  # As of 2023-03 a newer version of packaging introduced a new behaviour where python-requires
-  # cannot contain version wildcards. This behaviour is complaint with PEP440
-  #
-  # The wildcards are a no-op anyway so we can work around this issue by just dropping the precision down to the last known number.
-  poetry2nixPythonRequiresPatchHook = callPackage
-    (
-      _:
-      let
-        # Python pre 3.9 does not contain the ast.unparse method.
-        # We can extract this from Python 3.8 for any
-        unparser = stdenv.mkDerivation {
-          name = "${python.name}-astunparse";
-          inherit (python) src;
-          dontConfigure = true;
-          dontBuild = true;
-
-          installPhase = ''
-            mkdir -p $out/poetry2nix_astunparse
-            cp ./Tools/parser/unparse.py $out/poetry2nix_astunparse/__init__.py
-          '';
-        };
-
-        pythonPath =
-          [ ]
-          ++ lib.optional (lib.versionOlder python.version "3.9") unparser;
-
-      in
-      makeSetupHook
-        {
-          name = "require-python-patch-hook.sh";
-          substitutions = {
-            inherit pythonInterpreter pythonPath;
-            patchScript = ./python-requires-patch-hook.py;
-          };
-        } ./python-requires-patch-hook.sh
-    )
-    { };
-
-  # When the "wheel" package itself is a wheel the nixpkgs hook (which pulls in "wheel") leads to infinite recursion
-  # It doesn't _really_ depend on wheel though, it just copies the wheel.
-  wheelUnpackHook = callPackage
-    (_:
-      makeSetupHook
-        {
-          name = "wheel-unpack-hook.sh";
-        } ./wheel-unpack-hook.sh
-    )
-    { };
-}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh
deleted file mode 100644
index 8cbe2b178c7..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-poetry2nix-fixup-hook() {
-
-    # Including tests in the output is a common mistake
-    if [ -z "${dontFixupTests-}" ]; then
-        rm -rf $out/@pythonSitePackages@/tests
-    fi
-
-    # Including files in site-packages is a common packaging mistake
-    #
-    # While we cannot remove all normal files dumped in site-packages
-    # we can clean up some common mistakes
-    if [ -z "${dontFixupSitePackages-}" ]; then
-        for f in @filenames@; do
-            rm -f $out/@pythonSitePackages@/$f
-        done
-    fi
-
-}
-
-postFixupHooks+=(poetry2nix-fixup-hook)
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh
deleted file mode 100644
index 31e06909b3b..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-# Setup hook to use for pip projects
-echo "Sourcing pip-build-hook"
-
-pipBuildPhase() {
-    echo "Executing pipBuildPhase"
-    runHook preBuild
-
-    mkdir -p dist
-    echo "Creating a wheel..."
-    @pythonInterpreter@ -m pip wheel --verbose --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist .
-    echo "Finished creating a wheel..."
-
-    runHook postBuild
-    echo "Finished executing pipBuildPhase"
-}
-
-pipShellHook() {
-    echo "Executing pipShellHook"
-    runHook preShellHook
-
-    # Long-term setup.py should be dropped.
-    if [ -e pyproject.toml ]; then
-      tmp_path=$(mktemp -d)
-      export PATH="$tmp_path/bin:$PATH"
-      export PYTHONPATH="$tmp_path/@pythonSitePackages@:$PYTHONPATH"
-      mkdir -p "$tmp_path/@pythonSitePackages@"
-      @pythonInterpreter@ -m pip install -e . --prefix "$tmp_path" >&2
-    fi
-
-    runHook postShellHook
-    echo "Finished executing pipShellHook"
-}
-
-if [ -z "${dontUsePipBuild-}" ] && [ -z "${buildPhase-}" ]; then
-    echo "Using pipBuildPhase"
-    buildPhase=pipBuildPhase
-fi
-
-if [ -z "${shellHook-}" ]; then
-    echo "Using pipShellHook"
-    shellHook=pipShellHook
-fi
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
deleted file mode 100644
index 76f52604e43..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env python
-# Patch out special dependencies (git and path) from a pyproject.toml file
-
-import argparse
-import sys
-
-import tomlkit
-
-
-def main(input, output, fields_to_remove):
-    data = tomlkit.loads(input.read())
-
-    try:
-        deps = data["tool"]["poetry"]["dependencies"]
-    except KeyError:
-        pass
-    else:
-        for dep in deps.values():
-            if isinstance(dep, dict):
-                any_removed = False
-                for field in fields_to_remove:
-                    any_removed |= dep.pop(field, None) is not None
-                if any_removed:
-                    dep["version"] = "*"
-                    dep.pop("develop", None)
-
-    output.write(tomlkit.dumps(data))
-
-
-if __name__ == "__main__":
-    p = argparse.ArgumentParser()
-    p.add_argument(
-        "-i",
-        "--input",
-        type=argparse.FileType("r"),
-        default=sys.stdin,
-        help="Location from which to read input TOML",
-    )
-    p.add_argument(
-        "-o",
-        "--output",
-        type=argparse.FileType("w"),
-        default=sys.stdout,
-        help="Location to write output TOML",
-    )
-    p.add_argument(
-        "-f",
-        "--fields-to-remove",
-        nargs="+",
-        help="The fields to remove from the dependency's TOML",
-    )
-
-    args = p.parse_args()
-    main(args.input, args.output, args.fields_to_remove)
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/python-requires-patch-hook.py b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/python-requires-patch-hook.py
deleted file mode 100644
index cbf4b63741d..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/python-requires-patch-hook.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/usr/bin/env python
-import ast
-import sys
-import io
-
-
-# Python2 compat
-if sys.version_info[0] < 3:
-    FileNotFoundError = IOError
-
-
-# Python <= 3.8 compat
-def astunparse(tree):
-    # Use bundled unparse by default
-    if hasattr(ast, "unparse"):
-        return ast.unparse(tree)
-
-    # Use example tool from Python sources for older interpreter versions
-    from poetry2nix_astunparse import Unparser
-
-    buf = io.StringIO()
-    up = Unparser(tree, buf)
-
-    return buf.getvalue()
-
-
-class Rewriter(ast.NodeVisitor):
-    def __init__(self, *args, **kwargs):
-        super(Rewriter, self).__init__(*args, **kwargs)
-        self.modified = False
-
-    def visit_Call(self, node):
-        function_name = ""
-
-        if isinstance(node.func, ast.Name):
-            function_name = node.func.id
-        elif isinstance(node.func, ast.Attribute):
-            function_name = node.func.attr
-        else:
-            return
-
-        if function_name != "setup":
-            return
-
-        for kw in node.keywords:
-            if kw.arg != "python_requires":
-                continue
-
-            value = kw.value
-            if not isinstance(value, ast.Constant):
-                return
-
-            # Rewrite version constraints without wildcard characters.
-            #
-            # Only rewrite the file if the modified value actually differs, as we lose whitespace and comments when rewriting
-            # with the AST module.
-            python_requires = ", ".join(
-                [v.strip().rstrip(".*") for v in value.value.split(",")]
-            )
-            if value.value != python_requires:
-                value.value = python_requires
-                self.modified = True
-
-
-if __name__ == "__main__":
-    sys.path.extend(sys.argv[1:])
-
-    try:
-        with open("setup.py", encoding="utf-8-sig") as f:
-            tree = ast.parse(f.read())
-    except FileNotFoundError:
-        exit(0)
-
-    r = Rewriter()
-    r.visit(tree)
-
-    if r.modified:
-        with open("setup.py", "w") as f:
-            f.write(astunparse(tree))
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/python-requires-patch-hook.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/python-requires-patch-hook.sh
deleted file mode 100644
index 57a718fe453..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/python-requires-patch-hook.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-poetry2nix-python-requires-patch-hook() {
-    if [ -z "${dontFixupPythonRequires-}" ]; then
-        @pythonInterpreter@ @patchScript@ @pythonPath@
-    fi
-}
-
-postPatchHooks+=(poetry2nix-python-requires-patch-hook)
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/remove-special-dependencies.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/remove-special-dependencies.sh
deleted file mode 100644
index 904efa615b1..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/remove-special-dependencies.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-remove-@kind@-dependencies-hook() {
-    # Tell poetry not to resolve special dependencies. Any version is fine!
-
-    if ! test -f pyproject.toml; then
-        return
-    fi
-
-    echo "Removing @kind@ dependencies"
-
-    # NOTE: We have to reset PYTHONPATH to avoid having propagatedBuildInputs
-    # from the currently building derivation leaking into our unrelated Python
-    # environment.
-    PYTHONPATH=@pythonPath@ \
-    @pythonInterpreter@ \
-    @pyprojectPatchScript@ \
-      --fields-to-remove @fields@ < pyproject.toml > pyproject.formatted.toml
-
-    mv pyproject.formatted.toml pyproject.toml
-
-    echo "Finished removing @kind@ dependencies"
-}
-
-postPatchHooks+=(remove-@kind@-dependencies-hook)
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/wheel-unpack-hook.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/wheel-unpack-hook.sh
deleted file mode 100644
index fca808a933b..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/wheel-unpack-hook.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# Setup hook to use in case a wheel is fetched
-echo "Sourcing wheel setup hook"
-
-wheelUnpackPhase(){
-    echo "Executing wheelUnpackPhase"
-    runHook preUnpack
-
-    mkdir -p dist
-    cp "$src" "dist/$(stripHash "$src")"
-
-#     runHook postUnpack # Calls find...?
-    echo "Finished executing wheelUnpackPhase"
-}
-
-if [ -z "${dontUseWheelUnpack-}" ] && [ -z "${unpackPhase-}" ]; then
-    echo "Using wheelUnpackPhase"
-    unpackPhase=wheelUnpackPhase
-fi
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/known-build-systems.json b/pkgs/development/tools/poetry2nix/poetry2nix/known-build-systems.json
deleted file mode 100644
index 201aae3c920..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/known-build-systems.json
+++ /dev/null
@@ -1,12 +0,0 @@
-[
-    "poetry",
-    "poetry-core",
-    "flit",
-    "flit-core",
-    "pbr",
-    "cython",
-    "hatchling",
-    "hatch-vcs",
-    "setuptools",
-    "setuptools-scm"
-]
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
deleted file mode 100644
index 4c52c07b69f..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
+++ /dev/null
@@ -1,250 +0,0 @@
-{ lib, pkgs, stdenv }:
-let
-  inherit (import ./semver.nix { inherit lib ireplace; }) satisfiesSemver;
-  inherit (builtins) genList length;
-
-  # Replace a list entry at defined index with set value
-  ireplace = idx: value: list: (
-    genList (i: if i == idx then value else (builtins.elemAt list i)) (length list)
-  );
-
-  # Normalize package names as per PEP 503
-  normalizePackageName = name:
-    let
-      parts = builtins.split "[-_.]+" name;
-      partsWithoutSeparator = builtins.filter (x: builtins.typeOf x == "string") parts;
-    in
-    lib.strings.toLower (lib.strings.concatStringsSep "-" partsWithoutSeparator);
-
-  # Normalize an entire attrset of packages
-  normalizePackageSet = lib.attrsets.mapAttrs' (name: value: lib.attrsets.nameValuePair (normalizePackageName name) value);
-
-  # Get a full semver pythonVersion from a python derivation
-  getPythonVersion = python:
-    let
-      pyVer = lib.splitVersion python.pythonVersion ++ [ "0" ];
-      ver = lib.splitVersion python.version;
-      major = l: lib.elemAt l 0;
-      minor = l: lib.elemAt l 1;
-      joinVersion = v: lib.concatStringsSep "." v;
-    in
-    joinVersion (if major pyVer == major ver && minor pyVer == minor ver then ver else pyVer);
-
-  # Compare a semver expression with a version
-  isCompatible = version:
-    let
-      operators = {
-        "||" = cond1: cond2: cond1 || cond2;
-        "," = cond1: cond2: cond1 && cond2; # , means &&
-        "&&" = cond1: cond2: cond1 && cond2;
-      };
-      splitRe = "(" + (builtins.concatStringsSep "|" (builtins.map (x: lib.replaceStrings [ "|" ] [ "\\|" ] x) (lib.attrNames operators))) + ")";
-    in
-    expr:
-    let
-      tokens = builtins.filter (x: x != "") (builtins.split splitRe expr);
-      combine = acc: v:
-        let
-          isOperator = builtins.typeOf v == "list";
-          operator = if isOperator then (builtins.elemAt v 0) else acc.operator;
-        in
-        if isOperator then (acc // { inherit operator; }) else {
-          inherit operator;
-          state = operators."${operator}" acc.state (satisfiesSemver version v);
-        };
-      initial = { operator = "&&"; state = true; };
-    in
-    if expr == "" then true else (builtins.foldl' combine initial tokens).state;
-  fromTOML = builtins.fromTOML or
-    (
-      toml: builtins.fromJSON (
-        builtins.readFile (
-          pkgs.runCommand "from-toml"
-            {
-              inherit toml;
-              allowSubstitutes = false;
-              preferLocalBuild = true;
-            }
-            ''
-              ${pkgs.remarshal}/bin/remarshal \
-                -if toml \
-                -i <(echo "$toml") \
-                -of json \
-                -o $out
-            ''
-        )
-      )
-    );
-  readTOML = path: fromTOML (builtins.readFile path);
-
-  #
-  # Returns the appropriate manylinux dependencies and string representation for the file specified
-  #
-  getManyLinuxDeps = f:
-    let
-      ml = pkgs.pythonManylinuxPackages;
-    in
-    if lib.strings.hasInfix "manylinux1" f then { pkg = [ ml.manylinux1 ]; str = "1"; }
-    else if lib.strings.hasInfix "manylinux2010" f then { pkg = [ ml.manylinux2010 ]; str = "2010"; }
-    else if lib.strings.hasInfix "manylinux2014" f then { pkg = [ ml.manylinux2014 ]; str = "2014"; }
-    else if lib.strings.hasInfix "manylinux_" f then { pkg = [ ml.manylinux2014 ]; str = "pep600"; }
-    else { pkg = [ ]; str = null; };
-
-  # Predict URL from the PyPI index.
-  # Args:
-  #   pname: package name
-  #   file: filename including extension
-  #   hash: SRI hash
-  #   kind: Language implementation and version tag
-  predictURLFromPypi = lib.makeOverridable (
-    { pname, file, hash, kind }:
-    "https://files.pythonhosted.org/packages/${kind}/${lib.toLower (builtins.substring 0 1 file)}/${pname}/${file}"
-  );
-
-
-  # Fetch from the PyPI index.
-  # At first we try to fetch the predicated URL but if that fails we
-  # will use the Pypi API to determine the correct URL.
-  # Args:
-  #   pname: package name
-  #   file: filename including extension
-  #   version: the version string of the dependency
-  #   hash: SRI hash
-  #   kind: Language implementation and version tag
-  fetchFromPypi = lib.makeOverridable (
-    { pname, file, version, hash, kind, curlOpts ? "" }:
-    let
-      predictedURL = predictURLFromPypi { inherit pname file hash kind; };
-    in
-    (pkgs.stdenvNoCC.mkDerivation {
-      name = file;
-      nativeBuildInputs = [
-        pkgs.buildPackages.curl
-        pkgs.buildPackages.jq
-      ];
-      isWheel = lib.strings.hasSuffix "whl" file;
-      system = "builtin";
-
-      preferLocalBuild = true;
-      impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
-        "NIX_CURL_FLAGS"
-      ];
-
-      inherit pname file version curlOpts predictedURL;
-
-      builder = ./fetch-from-pypi.sh;
-
-      outputHashMode = "flat";
-      outputHashAlgo = "sha256";
-      outputHash = hash;
-
-      passthru = {
-        urls = [ predictedURL ]; # retain compatibility with nixpkgs' fetchurl
-      };
-    })
-  );
-
-  fetchFromLegacy = lib.makeOverridable (
-    { python, pname, url, file, hash }:
-    let
-      pathParts =
-        (builtins.filter
-          ({ prefix, path }: "NETRC" == prefix)
-          builtins.nixPath);
-      netrc_file = if (pathParts != [ ]) then (builtins.head pathParts).path else "";
-    in
-    pkgs.runCommand file
-      {
-        nativeBuildInputs = [ python ];
-        impureEnvVars = lib.fetchers.proxyImpureEnvVars;
-        outputHashMode = "flat";
-        outputHashAlgo = "sha256";
-        outputHash = hash;
-        NETRC = netrc_file;
-        passthru.isWheel = lib.strings.hasSuffix "whl" file;
-      } ''
-      python ${./fetch_from_legacy.py} ${url} ${pname} ${file}
-      mv ${file} $out
-    ''
-  );
-
-  getBuildSystemPkgs =
-    { pythonPackages
-    , pyProject
-    }:
-    let
-      missingBuildBackendError = "No build-system.build-backend section in pyproject.toml. "
-        + "Add such a section as described in https://python-poetry.org/docs/pyproject/#poetry-and-pep-517";
-      requires = lib.attrByPath [ "build-system" "requires" ] (throw missingBuildBackendError) pyProject;
-      requiredPkgs = builtins.map (n: lib.elemAt (builtins.match "([^!=<>~[]+).*" n) 0) requires;
-    in
-    builtins.map (drvAttr: pythonPackages.${drvAttr} or (throw "unsupported build system requirement ${drvAttr}")) requiredPkgs;
-
-  # Find gitignore files recursively in parent directory stopping with .git
-  findGitIgnores = path:
-    let
-      parent = path + "/..";
-      gitIgnore = path + "/.gitignore";
-      isGitRoot = builtins.pathExists (path + "/.git");
-      hasGitIgnore = builtins.pathExists gitIgnore;
-      gitIgnores = if hasGitIgnore then [ gitIgnore ] else [ ];
-    in
-    lib.optionals (builtins.pathExists path && builtins.toString path != "/" && ! isGitRoot) (findGitIgnores parent) ++ gitIgnores;
-
-  /*
-    Provides a source filtering mechanism that:
-
-    - Filters gitignore's
-    - Filters pycache/pyc files
-    - Uses cleanSourceFilter to filter out .git/.hg, .o/.so, editor backup files & nix result symlinks
-  */
-  cleanPythonSources = { src }:
-    let
-      gitIgnores = findGitIgnores src;
-      pycacheFilter = name: type:
-        (type == "directory" && ! lib.strings.hasInfix "__pycache__" name)
-        || (type == "regular" && ! lib.strings.hasSuffix ".pyc" name)
-      ;
-    in
-    lib.cleanSourceWith {
-      filter = lib.cleanSourceFilter;
-      src = lib.cleanSourceWith {
-        filter = pkgs.nix-gitignore.gitignoreFilterPure pycacheFilter gitIgnores src;
-        inherit src;
-      };
-    };
-
-  # Maps Nixpkgs CPU values to target machines known to be supported for manylinux* wheels.
-  # (a.k.a. `uname -m` output from CentOS 7)
-  #
-  # This is current as of manylinux2014 (PEP-0599), and is a superset of manylinux2010 / manylinux1.
-  # s390x is not supported in Nixpkgs, so we don't map it.
-  manyLinuxTargetMachines = {
-    x86_64 = "x86_64";
-    i686 = "i686";
-    aarch64 = "aarch64";
-    armv7l = "armv7l";
-    powerpc64 = "ppc64";
-    powerpc64le = "ppc64le";
-  };
-
-  # Machine tag for our target platform (if available)
-  getTargetMachine = stdenv: manyLinuxTargetMachines.${stdenv.targetPlatform.parsed.cpu.name} or null;
-
-in
-{
-  inherit
-    fetchFromPypi
-    fetchFromLegacy
-    getManyLinuxDeps
-    isCompatible
-    readTOML
-    getBuildSystemPkgs
-    satisfiesSemver
-    cleanPythonSources
-    normalizePackageName
-    normalizePackageSet
-    getPythonVersion
-    getTargetMachine
-    ;
-}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
deleted file mode 100644
index 5e39e1e6f50..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
+++ /dev/null
@@ -1,220 +0,0 @@
-{ autoPatchelfHook
-, lib
-, python
-, buildPythonPackage
-, poetryLib
-, evalPep508
-}:
-{ name
-, version
-, pos ? __curPos
-, files
-, source
-, dependencies ? { }
-, pythonPackages
-, python-versions
-, pwd
-, sourceSpec
-, supportedExtensions ? lib.importJSON ./extensions.json
-, preferWheels ? false
-, ...
-}:
-
-pythonPackages.callPackage
-  (
-    { preferWheel ? preferWheels
-    , ...
-    }@args:
-    let
-      inherit (python) stdenv;
-      inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromLegacy fetchFromPypi normalizePackageName;
-
-      inherit (import ./pep425.nix {
-        inherit lib poetryLib python stdenv;
-      }) selectWheel
-        ;
-      fileCandidates =
-        let
-          supportedRegex = ("^.*(" + builtins.concatStringsSep "|" supportedExtensions + ")");
-          matchesVersion = fname: builtins.match ("^.*" + builtins.replaceStrings [ "." "+" ] [ "\\." "\\+" ] version + ".*$") fname != null;
-          hasSupportedExtension = fname: builtins.match supportedRegex fname != null;
-          isCompatibleEgg = fname: ! lib.strings.hasSuffix ".egg" fname || lib.strings.hasSuffix "py${python.pythonVersion}.egg" fname;
-        in
-        builtins.filter (f: matchesVersion f.file && hasSupportedExtension f.file && isCompatibleEgg f.file) files;
-      toPath = s: pwd + "/${s}";
-      isLocked = lib.length fileCandidates > 0;
-      isSource = source != null;
-      isGit = isSource && source.type == "git";
-      isUrl = isSource && source.type == "url";
-      isWheelUrl = isSource && source.type == "url" && lib.strings.hasSuffix ".whl" source.url;
-      isDirectory = isSource && source.type == "directory";
-      isFile = isSource && source.type == "file";
-      isLegacy = isSource && source.type == "legacy";
-      localDepPath = toPath source.url;
-
-      buildSystemPkgs =
-        let
-          pyProjectPath = localDepPath + "/pyproject.toml";
-          pyProject = poetryLib.readTOML pyProjectPath;
-        in
-        if builtins.pathExists pyProjectPath then
-          poetryLib.getBuildSystemPkgs
-            {
-              inherit pythonPackages pyProject;
-            } else [ ];
-
-      pname = normalizePackageName name;
-      preferWheel' = preferWheel && pname != "wheel";
-      fileInfo =
-        let
-          isBdist = f: lib.strings.hasSuffix "whl" f.file;
-          isSdist = f: ! isBdist f && ! isEgg f;
-          isEgg = f: lib.strings.hasSuffix ".egg" f.file;
-          binaryDist = selectWheel fileCandidates;
-          sourceDist = builtins.filter isSdist fileCandidates;
-          eggs = builtins.filter isEgg fileCandidates;
-          # the `wheel` package cannot be built from a wheel, since that requires the wheel package
-          # this causes a circular dependency so we special-case ignore its `preferWheel` attribute value
-          entries = (if preferWheel' then binaryDist ++ sourceDist else sourceDist ++ binaryDist) ++ eggs;
-          lockFileEntry = (
-            if lib.length entries > 0 then builtins.head entries
-            else throw "Missing suitable source/wheel file entry for ${name}"
-          );
-          _isEgg = isEgg lockFileEntry;
-        in
-        rec {
-          inherit (lockFileEntry) file hash;
-          name = file;
-          format =
-            if _isEgg then "egg"
-            else if lib.strings.hasSuffix ".whl" name then "wheel"
-            else "pyproject";
-          kind =
-            if _isEgg then python.pythonVersion
-            else if format == "pyproject" then "source"
-            else (builtins.elemAt (lib.strings.splitString "-" name) 2);
-        };
-
-      format = if isWheelUrl then "wheel" else if isDirectory || isGit || isUrl then "pyproject" else fileInfo.format;
-
-      hooks = python.pkgs.callPackage ./hooks { };
-    in
-    buildPythonPackage {
-      inherit pname version;
-
-      # Circumvent output separation (https://github.com/NixOS/nixpkgs/pull/190487)
-      format = if format == "pyproject" then "poetry2nix" else format;
-
-      doCheck = false; # We never get development deps
-
-      # Stripping pre-built wheels lead to `ELF load command address/offset not properly aligned`
-      dontStrip = format == "wheel";
-
-      nativeBuildInputs = [
-        hooks.poetry2nixFixupHook
-      ]
-      ++ lib.optional (!pythonPackages.isPy27) hooks.poetry2nixPythonRequiresPatchHook
-      ++ lib.optional (isLocked && (getManyLinuxDeps fileInfo.name).str != null) autoPatchelfHook
-      ++ lib.optionals (format == "wheel") [
-        hooks.wheelUnpackHook
-        pythonPackages.pipInstallHook
-        pythonPackages.setuptools
-      ]
-      ++ lib.optionals (format == "pyproject") [
-        hooks.removePathDependenciesHook
-        hooks.removeGitDependenciesHook
-        hooks.pipBuildHook
-      ];
-
-      buildInputs = (
-        lib.optional (isLocked) (getManyLinuxDeps fileInfo.name).pkg
-        ++ lib.optional isDirectory buildSystemPkgs
-        ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) pythonPackages.setuptools
-      );
-
-      propagatedBuildInputs =
-        let
-          compat = isCompatible (poetryLib.getPythonVersion python);
-          deps = lib.filterAttrs
-            (n: v: v)
-            (
-              lib.mapAttrs
-                (
-                  n: v:
-                    let
-                      constraints = v.python or "";
-                      pep508Markers = v.markers or "";
-                    in
-                    compat constraints && evalPep508 pep508Markers
-                )
-                dependencies
-            );
-          depAttrs = lib.attrNames deps;
-        in
-        builtins.map (n: pythonPackages.${normalizePackageName n}) depAttrs;
-
-      inherit pos;
-
-      meta = {
-        broken = ! isCompatible (poetryLib.getPythonVersion python) python-versions;
-        license = [ ];
-        inherit (python.meta) platforms;
-      };
-
-      passthru = {
-        inherit args;
-        preferWheel = preferWheel';
-      };
-
-      # We need to retrieve kind from the interpreter and the filename of the package
-      # Interpreters should declare what wheel types they're compatible with (python type + ABI)
-      # Here we can then choose a file based on that info.
-      src =
-        if isGit then
-          (
-            builtins.fetchGit ({
-              inherit (source) url;
-              rev = source.resolved_reference or source.reference;
-              ref = sourceSpec.branch or (if sourceSpec ? tag then "refs/tags/${sourceSpec.tag}" else "HEAD");
-            } // (
-              lib.optionalAttrs ((sourceSpec ? rev) && (lib.versionAtLeast builtins.nixVersion "2.4")) {
-                allRefs = true;
-              }) // (
-              lib.optionalAttrs (lib.versionAtLeast builtins.nixVersion "2.4") {
-                submodules = true;
-              })
-            )
-          )
-        else if isWheelUrl then
-          builtins.fetchurl
-            {
-              inherit (source) url;
-              sha256 = fileInfo.hash;
-            }
-        else if isUrl then
-          builtins.fetchTarball
-            {
-              inherit (source) url;
-              sha256 = fileInfo.hash;
-            }
-        else if isDirectory then
-          (poetryLib.cleanPythonSources { src = localDepPath; })
-        else if isFile then
-          localDepPath
-        else if isLegacy then
-          fetchFromLegacy
-            {
-              pname = name;
-              inherit python;
-              inherit (fileInfo) file hash;
-              inherit (source) url;
-            }
-        else
-          fetchFromPypi {
-            pname = name;
-            inherit (fileInfo) file hash kind;
-            inherit version;
-          };
-    }
-  )
-{ }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
deleted file mode 100644
index 2e859c6ddbf..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
+++ /dev/null
@@ -1,19992 +0,0 @@
-{
-  "aadict": [
-    "setuptools"
-  ],
-  "aafigure": [
-    "setuptools"
-  ],
-  "aardwolf": [
-    "setuptools"
-  ],
-  "abodepy": [
-    "setuptools"
-  ],
-  "absl-py": [
-    "setuptools"
-  ],
-  "absolufy-imports": [
-    "setuptools"
-  ],
-  "accuweather": [
-    "setuptools"
-  ],
-  "acme": [
-    "setuptools"
-  ],
-  "acme-tiny": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "acoustics": [
-    "flit-core",
-    "setuptools"
-  ],
-  "acquire": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "actdiag": [
-    "setuptools"
-  ],
-  "adafruit-io": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "adafruit-nrfutil": [
-    "setuptools"
-  ],
-  "adafruit-platformdetect": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "adafruit-pureio": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "adal": [
-    "setuptools"
-  ],
-  "adax": [
-    "setuptools"
-  ],
-  "adax-local": [
-    "setuptools"
-  ],
-  "adb-enhanced": [
-    "setuptools"
-  ],
-  "adb-homeassistant": [
-    "setuptools"
-  ],
-  "adb-shell": [
-    "setuptools"
-  ],
-  "adblock": [
-    "setuptools"
-  ],
-  "add-trailing-comma": [
-    "setuptools"
-  ],
-  "addict": [
-    "setuptools"
-  ],
-  "adext": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "adguardhome": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "adjusttext": [
-    "setuptools"
-  ],
-  "adlfs": [
-    "setuptools"
-  ],
-  "advantage-air": [
-    "setuptools"
-  ],
-  "advocate": [
-    "setuptools"
-  ],
-  "aemet-opendata": [
-    "setuptools"
-  ],
-  "aenum": [
-    "setuptools"
-  ],
-  "aeppl": [
-    "setuptools"
-  ],
-  "aesara": [
-    "cython",
-    "setuptools"
-  ],
-  "aesedb": [
-    "setuptools"
-  ],
-  "afdko": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "affine": [
-    {
-      "buildSystem": "setuptools",
-      "until": "2.4.0"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "2.4.0"
-    }
-  ],
-  "afsapi": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "agate": [
-    "setuptools"
-  ],
-  "agate-dbf": [
-    "setuptools"
-  ],
-  "agate-excel": [
-    "setuptools"
-  ],
-  "agate-sql": [
-    "setuptools"
-  ],
-  "agent-py": [
-    "setuptools"
-  ],
-  "aggdraw": [
-    "setuptools"
-  ],
-  "ailment": [
-    "setuptools"
-  ],
-  "aio-geojson-client": [
-    "setuptools"
-  ],
-  "aio-geojson-generic-client": [
-    "setuptools"
-  ],
-  "aio-geojson-geonetnz-quakes": [
-    "setuptools"
-  ],
-  "aio-geojson-geonetnz-volcano": [
-    "setuptools"
-  ],
-  "aio-geojson-nsw-rfs-incidents": [
-    "setuptools"
-  ],
-  "aio-geojson-usgs-earthquakes": [
-    "setuptools"
-  ],
-  "aio-georss-client": [
-    "setuptools"
-  ],
-  "aio-georss-gdacs": [
-    "setuptools"
-  ],
-  "aio-pika": [
-    "setuptools"
-  ],
-  "aioairq": [
-    "setuptools"
-  ],
-  "aioairzone": [
-    "setuptools"
-  ],
-  "aioaladdinconnect": [
-    "setuptools"
-  ],
-  "aioambient": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aioamqp": [
-    "setuptools"
-  ],
-  "aioapns": [
-    "setuptools"
-  ],
-  "aioaseko": [
-    "setuptools"
-  ],
-  "aioasuswrt": [
-    "setuptools"
-  ],
-  "aioazuredevops": [
-    "setuptools"
-  ],
-  "aiobiketrax": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aioblescan": [
-    "setuptools"
-  ],
-  "aioboto3": [
-    "poetry"
-  ],
-  "aiobotocore": [
-    "setuptools"
-  ],
-  "aiobroadlink": [
-    "setuptools"
-  ],
-  "aiocache": [
-    "setuptools"
-  ],
-  "aiocoap": [
-    "setuptools"
-  ],
-  "aioconsole": [
-    "setuptools"
-  ],
-  "aiocontextvars": [
-    "setuptools"
-  ],
-  "aiocron": [
-    "setuptools"
-  ],
-  "aiocsv": [
-    "cython"
-  ],
-  "aiocurrencylayer": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiodiscover": [
-    "setuptools"
-  ],
-  "aiodns": [
-    "setuptools"
-  ],
-  "aioeafm": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aioeagle": [
-    "setuptools"
-  ],
-  "aioecowitt": [
-    "setuptools"
-  ],
-  "aioemonitor": [
-    "setuptools"
-  ],
-  "aioesphomeapi": [
-    "setuptools"
-  ],
-  "aioextensions": [
-    "setuptools"
-  ],
-  "aiofile": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiofiles": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aioflo": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aioftp": [
-    "setuptools"
-  ],
-  "aiogithubapi": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aioguardian": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aioharmony": [
-    "setuptools"
-  ],
-  "aiohomekit": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiohttp": [
-    "setuptools"
-  ],
-  "aiohttp-apispec": [
-    "setuptools"
-  ],
-  "aiohttp-cors": [
-    "setuptools"
-  ],
-  "aiohttp-jinja2": [
-    "setuptools"
-  ],
-  "aiohttp-remotes": [
-    "flit-core",
-    "setuptools"
-  ],
-  "aiohttp-retry": [
-    "setuptools"
-  ],
-  "aiohttp-socks": [
-    "setuptools"
-  ],
-  "aiohttp-swagger": [
-    "setuptools"
-  ],
-  "aiohttp-wsgi": [
-    "setuptools"
-  ],
-  "aiohue": [
-    "setuptools"
-  ],
-  "aiohwenergy": [
-    "setuptools"
-  ],
-  "aioimaplib": [
-    "setuptools"
-  ],
-  "aioinflux": [
-    "setuptools"
-  ],
-  "aioitertools": [
-    "flit-core",
-    "setuptools"
-  ],
-  "aiojobs": [
-    "flit-core",
-    "setuptools"
-  ],
-  "aiokafka": [
-    "cython",
-    "setuptools"
-  ],
-  "aiokef": [
-    "setuptools"
-  ],
-  "aiolifx": [
-    "setuptools"
-  ],
-  "aiolifx-connection": [
-    "setuptools"
-  ],
-  "aiolifx-effects": [
-    "setuptools"
-  ],
-  "aiolifx-themes": [
-    "poetry-core"
-  ],
-  "aiolimiter": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiolip": [
-    "setuptools"
-  ],
-  "aiolookin": [
-    "setuptools"
-  ],
-  "aiolyric": [
-    "setuptools"
-  ],
-  "aiomodernforms": [
-    "setuptools"
-  ],
-  "aiomultiprocess": [
-    "flit-core",
-    "setuptools"
-  ],
-  "aiomusiccast": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiomysensors": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiomysql": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "aionanoleaf": [
-    "setuptools"
-  ],
-  "aionotify": [
-    "setuptools"
-  ],
-  "aionotion": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiooncue": [
-    "setuptools"
-  ],
-  "aioopenexchangerates": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiopath": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiopg": [
-    "setuptools"
-  ],
-  "aioprocessing": [
-    "flit-core",
-    "setuptools"
-  ],
-  "aiopulse": [
-    "setuptools"
-  ],
-  "aiopvapi": [
-    "setuptools"
-  ],
-  "aiopvpc": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiopyarr": [
-    "setuptools"
-  ],
-  "aiopylgtv": [
-    "setuptools"
-  ],
-  "aioqsw": [
-    "setuptools"
-  ],
-  "aiorecollect": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aioredis": [
-    "setuptools"
-  ],
-  "aioresponses": [
-    "pbr",
-    "setuptools"
-  ],
-  "aioridwell": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiormq": [
-    "setuptools"
-  ],
-  "aiorpcx": [
-    "setuptools"
-  ],
-  "aiortm": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiorun": [
-    "flit-core",
-    "setuptools"
-  ],
-  "aiosenseme": [
-    "setuptools"
-  ],
-  "aiosenz": [
-    "setuptools"
-  ],
-  "aioserial": [
-    "setuptools"
-  ],
-  "aioshelly": [
-    "setuptools"
-  ],
-  "aioshutil": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "aiosignal": [
-    "setuptools"
-  ],
-  "aioskybell": [
-    "setuptools"
-  ],
-  "aioslimproto": [
-    "setuptools"
-  ],
-  "aiosmb": [
-    "setuptools"
-  ],
-  "aiosmtpd": [
-    "setuptools"
-  ],
-  "aiosmtplib": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiosqlite": [
-    "flit-core",
-    "setuptools"
-  ],
-  "aiosteamist": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiostream": [
-    "setuptools"
-  ],
-  "aioswitcher": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiosyncthing": [
-    "setuptools"
-  ],
-  "aiotractive": [
-    "setuptools"
-  ],
-  "aiounifi": [
-    "setuptools"
-  ],
-  "aiounittest": [
-    "setuptools"
-  ],
-  "aiovlc": [
-    "setuptools"
-  ],
-  "aiowatttime": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aiowebostv": [
-    "setuptools"
-  ],
-  "aioweenect": [
-    "poetry-core"
-  ],
-  "aiowinreg": [
-    "setuptools"
-  ],
-  "aioymaps": [
-    "setuptools"
-  ],
-  "aiozeroconf": [
-    "setuptools"
-  ],
-  "airly": [
-    "setuptools"
-  ],
-  "airthings-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "airthings-cloud": [
-    "setuptools"
-  ],
-  "airtouch4pyapi": [
-    "setuptools"
-  ],
-  "ajpy": [
-    "setuptools"
-  ],
-  "ajsonrpc": [
-    "setuptools"
-  ],
-  "alabaster": [
-    "setuptools"
-  ],
-  "aladdin-connect": [
-    "setuptools"
-  ],
-  "alarmdecoder": [
-    "setuptools"
-  ],
-  "ale-py": [
-    "setuptools"
-  ],
-  "alectryon": [
-    "setuptools"
-  ],
-  "alembic": [
-    "setuptools"
-  ],
-  "algebraic-data-types": [
-    "setuptools"
-  ],
-  "aliyun-python-sdk-cdn": [
-    "setuptools"
-  ],
-  "aliyun-python-sdk-config": [
-    "setuptools"
-  ],
-  "aliyun-python-sdk-core": [
-    "setuptools"
-  ],
-  "aliyun-python-sdk-dbfs": [
-    "setuptools"
-  ],
-  "aliyun-python-sdk-iot": [
-    "setuptools"
-  ],
-  "aliyun-python-sdk-kms": [
-    "setuptools"
-  ],
-  "aliyun-python-sdk-sts": [
-    "setuptools"
-  ],
-  "allpairspy": [
-    "setuptools"
-  ],
-  "allure-behave": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "allure-pytest": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "allure-python-commons": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "allure-python-commons-test": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "alog": [
-    "setuptools"
-  ],
-  "alpha-vantage": [
-    "setuptools"
-  ],
-  "altair": [
-    "setuptools"
-  ],
-  "amaranth": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "amaranth-boards": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "amaranth-soc": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "amarna": [
-    "setuptools"
-  ],
-  "amazon-ion": [
-    "setuptools"
-  ],
-  "ambee": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "amberelectric": [
-    "setuptools"
-  ],
-  "ambiclimate": [
-    "setuptools"
-  ],
-  "amcrest": [
-    "setuptools"
-  ],
-  "amiibo-py": [
-    "setuptools"
-  ],
-  "amply": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "amqp": [
-    "setuptools"
-  ],
-  "amqplib": [
-    "setuptools"
-  ],
-  "amqtt": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "androguard": [
-    "setuptools"
-  ],
-  "android-backup": [
-    "setuptools"
-  ],
-  "androidtv": [
-    "setuptools"
-  ],
-  "angr": [
-    "setuptools"
-  ],
-  "angrcli": [
-    "setuptools"
-  ],
-  "angrop": [
-    "setuptools"
-  ],
-  "aniso8601": [
-    "setuptools"
-  ],
-  "annexremote": [
-    "setuptools"
-  ],
-  "annoy": [
-    "setuptools"
-  ],
-  "anonip": [
-    "setuptools"
-  ],
-  "ansi": [
-    "setuptools"
-  ],
-  "ansi2html": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ansible": [
-    "setuptools"
-  ],
-  "ansible-base": [
-    "setuptools"
-  ],
-  "ansible-compat": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ansible-core": [
-    "setuptools"
-  ],
-  "ansible-doctor": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ansible-kernel": [
-    "setuptools"
-  ],
-  "ansible-later": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ansible-lint": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ansible-molecule": [
-    "setuptools"
-  ],
-  "ansible-runner": [
-    "pbr",
-    "setuptools"
-  ],
-  "ansicolor": [
-    "setuptools"
-  ],
-  "ansicolors": [
-    "setuptools"
-  ],
-  "ansiconv": [
-    "setuptools"
-  ],
-  "ansimarkup": [
-    "setuptools"
-  ],
-  "ansiwrap": [
-    "setuptools"
-  ],
-  "antlr4-8-python3-runtime": [
-    "setuptools"
-  ],
-  "antlr4-9-python3-runtime": [
-    "setuptools"
-  ],
-  "antlr4-python3-runtime": [
-    "setuptools"
-  ],
-  "anyascii": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.1.7"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "0.1.7"
-    }
-  ],
-  "anybadge": [
-    "setuptools"
-  ],
-  "anyconfig": [
-    "setuptools"
-  ],
-  "anyio": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "anytree": [
-    "setuptools"
-  ],
-  "aocd": [
-    "setuptools"
-  ],
-  "apache-beam": [
-    "cython",
-    "setuptools"
-  ],
-  "apache-libcloud": [
-    "setuptools"
-  ],
-  "apcaccess": [
-    "setuptools"
-  ],
-  "apipkg": [
-    "hatch-vcs",
-    "hatchling",
-    "setuptools"
-  ],
-  "apispec": [
-    "setuptools"
-  ],
-  "aplpy": [
-    "cython",
-    "setuptools"
-  ],
-  "appdirs": [
-    "setuptools"
-  ],
-  "applicationinsights": [
-    "setuptools"
-  ],
-  "appnope": [
-    "setuptools"
-  ],
-  "apprise": [
-    "setuptools"
-  ],
-  "approvaltests": [
-    "setuptools"
-  ],
-  "appthreat-vulnerability-db": [
-    "setuptools"
-  ],
-  "apptools": [
-    "setuptools"
-  ],
-  "aprslib": [
-    "setuptools"
-  ],
-  "apscheduler": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "apsw": [
-    "setuptools"
-  ],
-  "apycula": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "aqipy-atmotech": [
-    "setuptools"
-  ],
-  "aqualogic": [
-    "setuptools"
-  ],
-  "arabic-reshaper": [
-    "setuptools"
-  ],
-  "arc4": [
-    "setuptools"
-  ],
-  "arcam-fmj": [
-    "setuptools"
-  ],
-  "archinfo": [
-    "setuptools"
-  ],
-  "archspec": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "area": [
-    "setuptools"
-  ],
-  "arelle": [
-    "setuptools"
-  ],
-  "arelle-headless": [
-    "setuptools"
-  ],
-  "aresponses": [
-    "setuptools"
-  ],
-  "argcomplete": [
-    "setuptools"
-  ],
-  "argh": [
-    "setuptools"
-  ],
-  "argon2-cffi": [
-    "flit-core",
-    "setuptools"
-  ],
-  "argon2-cffi-bindings": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "argparse-addons": [
-    "setuptools"
-  ],
-  "args": [
-    "setuptools"
-  ],
-  "aria2p": [
-    "poetry",
-    "setuptools"
-  ],
-  "arnparse": [
-    "setuptools"
-  ],
-  "arpeggio": [
-    "setuptools"
-  ],
-  "arpy": [
-    "setuptools"
-  ],
-  "arrayqueues": [
-    "setuptools"
-  ],
-  "arris-tg2492lg": [
-    "setuptools"
-  ],
-  "arrow": [
-    "setuptools"
-  ],
-  "arviz": [
-    "setuptools"
-  ],
-  "arxiv2bib": [
-    "setuptools"
-  ],
-  "asana": [
-    "setuptools"
-  ],
-  "ascii-magic": [
-    "setuptools"
-  ],
-  "asciimatics": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "asciitree": [
-    "setuptools"
-  ],
-  "asdf": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "asdf-standard": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "asdf-transform-schemas": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ase": [
-    "setuptools"
-  ],
-  "asf-search": [
-    "setuptools"
-  ],
-  "asgi-csrf": [
-    "setuptools"
-  ],
-  "asgineer": [
-    "setuptools"
-  ],
-  "asgiref": [
-    "setuptools"
-  ],
-  "asks": [
-    "setuptools"
-  ],
-  "asmog": [
-    "setuptools"
-  ],
-  "asn1": [
-    "setuptools"
-  ],
-  "asn1ate": [
-    "setuptools"
-  ],
-  "asn1crypto": [
-    "setuptools"
-  ],
-  "asn1tools": [
-    "setuptools"
-  ],
-  "aspell-python": [
-    "setuptools"
-  ],
-  "aspy-refactor-imports": [
-    "setuptools"
-  ],
-  "aspy-yaml": [
-    "setuptools"
-  ],
-  "assay": [
-    "setuptools"
-  ],
-  "assertpy": [
-    "setuptools"
-  ],
-  "asterisk-mbox": [
-    "setuptools"
-  ],
-  "asteval": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "astor": [
-    "setuptools"
-  ],
-  "astral": [
-    "setuptools"
-  ],
-  "astroid": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "astropy": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "astropy-extension-helpers": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "astropy-healpix": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "astropy-helpers": [
-    "setuptools"
-  ],
-  "astroquery": [
-    "setuptools"
-  ],
-  "asttokens": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "astunparse": [
-    "setuptools"
-  ],
-  "asv": [
-    "setuptools"
-  ],
-  "async-cache": [
-    "setuptools"
-  ],
-  "async-dns": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "async-generator": [
-    "setuptools"
-  ],
-  "async-lru": [
-    "setuptools"
-  ],
-  "async-modbus": [
-    "setuptools"
-  ],
-  "async-stagger": [
-    "setuptools"
-  ],
-  "async-timeout": [
-    "setuptools"
-  ],
-  "async-upnp-client": [
-    "setuptools"
-  ],
-  "asyncclick": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "asynccmd": [
-    "setuptools"
-  ],
-  "asyncio-dgram": [
-    "setuptools"
-  ],
-  "asyncio-mqtt": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "asyncio-nats-client": [
-    "setuptools"
-  ],
-  "asyncio-rlock": [
-    "setuptools"
-  ],
-  "asyncio-throttle": [
-    "setuptools"
-  ],
-  "asyncmy": [
-    "cython",
-    "poetry-core",
-    "setuptools"
-  ],
-  "asyncpg": [
-    "setuptools"
-  ],
-  "asyncsleepiq": [
-    "setuptools"
-  ],
-  "asyncssh": [
-    "setuptools"
-  ],
-  "asyncstdlib": [
-    "flit-core",
-    "setuptools"
-  ],
-  "asynctest": [
-    "setuptools"
-  ],
-  "asyncua": [
-    "setuptools"
-  ],
-  "asyncwhois": [
-    "setuptools"
-  ],
-  "asysocks": [
-    "setuptools"
-  ],
-  "atc-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "atenpdu": [
-    "setuptools"
-  ],
-  "atlassian-python-api": [
-    "setuptools"
-  ],
-  "atom": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "atomiclong": [
-    "setuptools"
-  ],
-  "atomicwrites": [
-    "setuptools"
-  ],
-  "atomicwrites-homeassistant": [
-    "setuptools"
-  ],
-  "atomman": [
-    "cython",
-    "setuptools"
-  ],
-  "atpublic": [
-    "pdm-pep517",
-    "setuptools"
-  ],
-  "atsim-potentials": [
-    "setuptools"
-  ],
-  "attrdict": [
-    "setuptools"
-  ],
-  "attrs": [
-    {
-      "buildSystem": "setuptools",
-      "until": "23.1.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "23.1.0"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "23.1.0"
-    },
-    {
-      "buildSystem": "hatch-fancy-pypi-readme",
-      "from": "23.1.0"
-    }
-  ],
-  "aubio": [
-    "setuptools"
-  ],
-  "audible": [
-    "setuptools"
-  ],
-  "audio-metadata": [
-    "setuptools"
-  ],
-  "audioread": [
-    "setuptools"
-  ],
-  "audiotools": [
-    "setuptools"
-  ],
-  "augeas": [
-    "setuptools"
-  ],
-  "augmax": [
-    "setuptools"
-  ],
-  "auroranoaa": [
-    "setuptools"
-  ],
-  "aurorapy": [
-    "setuptools"
-  ],
-  "autarco": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "auth0-python": [
-    "setuptools"
-  ],
-  "authcaptureproxy": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "authheaders": [
-    "setuptools"
-  ],
-  "authlib": [
-    "setuptools"
-  ],
-  "authres": [
-    "setuptools"
-  ],
-  "autobahn": [
-    "setuptools"
-  ],
-  "autodoc": [
-    "setuptools"
-  ],
-  "autoflake": [
-    "setuptools",
-    "hatchling"
-  ],
-  "autograd": [
-    "setuptools"
-  ],
-  "autoit-ripper": [
-    "setuptools"
-  ],
-  "autologging": [
-    "setuptools"
-  ],
-  "automat": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "automate-home": [
-    "setuptools"
-  ],
-  "autopage": [
-    "setuptools"
-  ],
-  "autopep8": [
-    "setuptools"
-  ],
-  "av": [
-    "cython",
-    "setuptools"
-  ],
-  "avea": [
-    "setuptools"
-  ],
-  "avion": [
-    "setuptools"
-  ],
-  "avro": [
-    "setuptools"
-  ],
-  "avro-python3": [
-    "setuptools"
-  ],
-  "avro3k": [
-    "setuptools"
-  ],
-  "awacs": [
-    "setuptools"
-  ],
-  "awesome-slugify": [
-    "setuptools"
-  ],
-  "awesomeversion": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "awkward": [
-    "setuptools"
-  ],
-  "awkward0": [
-    "setuptools"
-  ],
-  "aws-adfs": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "aws-cdk-asset-awscli-v1": [
-    "setuptools"
-  ],
-  "aws-cdk-asset-kubectl-v20": [
-    "setuptools"
-  ],
-  "aws-cdk-asset-node-proxy-agent": [
-    "setuptools"
-  ],
-  "aws-cdk-asset-node-proxy-agent-v5": [
-    "setuptools"
-  ],
-  "aws-cdk-assets": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-apigateway": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-applicationautoscaling": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-autoscaling": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-autoscaling-common": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-autoscaling-hooktargets": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-batch-alpha": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-certificatemanager": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-cloudformation": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-cloudfront": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-cloudwatch": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-codebuild": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-codecommit": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-codeguruprofiler": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-codepipeline": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-codestarnotifications": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-cognito": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-ec2": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-ecr": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-ecr-assets": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-ecs": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-efs": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-elasticloadbalancing": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-elasticloadbalancingv2": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-events": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-events-targets": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-globalaccelerator": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-iam": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-kinesis": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-kinesisfirehose": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-kms": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-lambda": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-lambda-python-alpha": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-logs": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-route53": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-route53-targets": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-s3": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-s3-assets": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-sam": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-secretsmanager": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-servicediscovery": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-signer": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-sns": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-sns-subscriptions": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-sqs": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-ssm": [
-    "setuptools"
-  ],
-  "aws-cdk-aws-stepfunctions": [
-    "setuptools"
-  ],
-  "aws-cdk-cloud-assembly-schema": [
-    "setuptools"
-  ],
-  "aws-cdk-core": [
-    "setuptools"
-  ],
-  "aws-cdk-custom-resources": [
-    "setuptools"
-  ],
-  "aws-cdk-cx-api": [
-    "setuptools"
-  ],
-  "aws-cdk-lib": [
-    "setuptools"
-  ],
-  "aws-cdk-region-info": [
-    "setuptools"
-  ],
-  "aws-error-utils": [
-    "poetry"
-  ],
-  "aws-lambda-builders": [
-    "setuptools"
-  ],
-  "aws-lambda-context": [
-    "setuptools"
-  ],
-  "aws-sam-translator": [
-    "setuptools"
-  ],
-  "aws-sso-lib": [
-    "poetry"
-  ],
-  "aws-sso-util": [
-    "poetry"
-  ],
-  "aws-xray-sdk": [
-    "setuptools"
-  ],
-  "awscli": [
-    "setuptools"
-  ],
-  "awscli-cwlogs": [
-    "setuptools"
-  ],
-  "awscli-local": [
-    "setuptools"
-  ],
-  "awscrt": [
-    "setuptools"
-  ],
-  "awsiotpythonsdk": [
-    "setuptools"
-  ],
-  "awslambdaric": [
-    "setuptools"
-  ],
-  "axis": [
-    "setuptools"
-  ],
-  "azure-appconfiguration": [
-    "setuptools"
-  ],
-  "azure-applicationinsights": [
-    "setuptools"
-  ],
-  "azure-batch": [
-    "setuptools"
-  ],
-  "azure-common": [
-    "setuptools"
-  ],
-  "azure-containerregistry": [
-    "setuptools"
-  ],
-  "azure-core": [
-    "setuptools"
-  ],
-  "azure-cosmos": [
-    "setuptools"
-  ],
-  "azure-cosmosdb-nspkg": [
-    "setuptools"
-  ],
-  "azure-cosmosdb-table": [
-    "setuptools"
-  ],
-  "azure-data-tables": [
-    "setuptools"
-  ],
-  "azure-datalake-store": [
-    "setuptools"
-  ],
-  "azure-eventgrid": [
-    "setuptools"
-  ],
-  "azure-eventhub": [
-    "setuptools"
-  ],
-  "azure-functions-devops-build": [
-    "setuptools"
-  ],
-  "azure-graphrbac": [
-    "setuptools"
-  ],
-  "azure-identity": [
-    "setuptools"
-  ],
-  "azure-keyvault": [
-    "setuptools"
-  ],
-  "azure-keyvault-administration": [
-    "setuptools"
-  ],
-  "azure-keyvault-certificates": [
-    "setuptools"
-  ],
-  "azure-keyvault-keys": [
-    "setuptools"
-  ],
-  "azure-keyvault-nspkg": [
-    "setuptools"
-  ],
-  "azure-keyvault-secrets": [
-    "setuptools"
-  ],
-  "azure-loganalytics": [
-    "setuptools"
-  ],
-  "azure-mgmt-advisor": [
-    "setuptools"
-  ],
-  "azure-mgmt-apimanagement": [
-    "setuptools"
-  ],
-  "azure-mgmt-appconfiguration": [
-    "setuptools"
-  ],
-  "azure-mgmt-applicationinsights": [
-    "setuptools"
-  ],
-  "azure-mgmt-authorization": [
-    "setuptools"
-  ],
-  "azure-mgmt-batch": [
-    "setuptools"
-  ],
-  "azure-mgmt-batchai": [
-    "setuptools"
-  ],
-  "azure-mgmt-billing": [
-    "setuptools"
-  ],
-  "azure-mgmt-botservice": [
-    "setuptools"
-  ],
-  "azure-mgmt-cdn": [
-    "setuptools"
-  ],
-  "azure-mgmt-cognitiveservices": [
-    "setuptools"
-  ],
-  "azure-mgmt-commerce": [
-    "setuptools"
-  ],
-  "azure-mgmt-common": [
-    "setuptools"
-  ],
-  "azure-mgmt-compute": [
-    "setuptools"
-  ],
-  "azure-mgmt-consumption": [
-    "setuptools"
-  ],
-  "azure-mgmt-containerinstance": [
-    "setuptools"
-  ],
-  "azure-mgmt-containerregistry": [
-    "setuptools"
-  ],
-  "azure-mgmt-containerservice": [
-    "setuptools"
-  ],
-  "azure-mgmt-core": [
-    "setuptools"
-  ],
-  "azure-mgmt-cosmosdb": [
-    "setuptools"
-  ],
-  "azure-mgmt-databoxedge": [
-    "setuptools"
-  ],
-  "azure-mgmt-datafactory": [
-    "setuptools"
-  ],
-  "azure-mgmt-datalake-analytics": [
-    "setuptools"
-  ],
-  "azure-mgmt-datalake-nspkg": [
-    "setuptools"
-  ],
-  "azure-mgmt-datalake-store": [
-    "setuptools"
-  ],
-  "azure-mgmt-datamigration": [
-    "setuptools"
-  ],
-  "azure-mgmt-deploymentmanager": [
-    "setuptools"
-  ],
-  "azure-mgmt-devspaces": [
-    "setuptools"
-  ],
-  "azure-mgmt-devtestlabs": [
-    "setuptools"
-  ],
-  "azure-mgmt-dns": [
-    "setuptools"
-  ],
-  "azure-mgmt-eventgrid": [
-    "setuptools"
-  ],
-  "azure-mgmt-eventhub": [
-    "setuptools"
-  ],
-  "azure-mgmt-extendedlocation": [
-    "setuptools"
-  ],
-  "azure-mgmt-hanaonazure": [
-    "setuptools"
-  ],
-  "azure-mgmt-hdinsight": [
-    "setuptools"
-  ],
-  "azure-mgmt-imagebuilder": [
-    "setuptools"
-  ],
-  "azure-mgmt-iotcentral": [
-    "setuptools"
-  ],
-  "azure-mgmt-iothub": [
-    "setuptools"
-  ],
-  "azure-mgmt-iothubprovisioningservices": [
-    "setuptools"
-  ],
-  "azure-mgmt-keyvault": [
-    "setuptools"
-  ],
-  "azure-mgmt-kusto": [
-    "setuptools"
-  ],
-  "azure-mgmt-loganalytics": [
-    "setuptools"
-  ],
-  "azure-mgmt-logic": [
-    "setuptools"
-  ],
-  "azure-mgmt-machinelearningcompute": [
-    "setuptools"
-  ],
-  "azure-mgmt-managedservices": [
-    "setuptools"
-  ],
-  "azure-mgmt-managementgroups": [
-    "setuptools"
-  ],
-  "azure-mgmt-managementpartner": [
-    "setuptools"
-  ],
-  "azure-mgmt-maps": [
-    "setuptools"
-  ],
-  "azure-mgmt-marketplaceordering": [
-    "setuptools"
-  ],
-  "azure-mgmt-media": [
-    "setuptools"
-  ],
-  "azure-mgmt-monitor": [
-    "setuptools"
-  ],
-  "azure-mgmt-msi": [
-    "setuptools"
-  ],
-  "azure-mgmt-netapp": [
-    "setuptools"
-  ],
-  "azure-mgmt-network": [
-    "setuptools"
-  ],
-  "azure-mgmt-notificationhubs": [
-    "setuptools"
-  ],
-  "azure-mgmt-nspkg": [
-    "setuptools"
-  ],
-  "azure-mgmt-policyinsights": [
-    "setuptools"
-  ],
-  "azure-mgmt-powerbiembedded": [
-    "setuptools"
-  ],
-  "azure-mgmt-privatedns": [
-    "setuptools"
-  ],
-  "azure-mgmt-rdbms": [
-    "setuptools"
-  ],
-  "azure-mgmt-recoveryservices": [
-    "setuptools"
-  ],
-  "azure-mgmt-recoveryservicesbackup": [
-    "setuptools"
-  ],
-  "azure-mgmt-redhatopenshift": [
-    "setuptools"
-  ],
-  "azure-mgmt-redis": [
-    "setuptools"
-  ],
-  "azure-mgmt-relay": [
-    "setuptools"
-  ],
-  "azure-mgmt-reservations": [
-    "setuptools"
-  ],
-  "azure-mgmt-resource": [
-    "setuptools"
-  ],
-  "azure-mgmt-scheduler": [
-    "setuptools"
-  ],
-  "azure-mgmt-search": [
-    "setuptools"
-  ],
-  "azure-mgmt-security": [
-    "setuptools"
-  ],
-  "azure-mgmt-servicebus": [
-    "setuptools"
-  ],
-  "azure-mgmt-servicefabric": [
-    "setuptools"
-  ],
-  "azure-mgmt-servicefabricmanagedclusters": [
-    "setuptools"
-  ],
-  "azure-mgmt-servicelinker": [
-    "setuptools"
-  ],
-  "azure-mgmt-signalr": [
-    "setuptools"
-  ],
-  "azure-mgmt-sql": [
-    "setuptools"
-  ],
-  "azure-mgmt-sqlvirtualmachine": [
-    "setuptools"
-  ],
-  "azure-mgmt-storage": [
-    "setuptools"
-  ],
-  "azure-mgmt-subscription": [
-    "setuptools"
-  ],
-  "azure-mgmt-synapse": [
-    "setuptools"
-  ],
-  "azure-mgmt-trafficmanager": [
-    "setuptools"
-  ],
-  "azure-mgmt-web": [
-    "setuptools"
-  ],
-  "azure-multiapi-storage": [
-    "setuptools"
-  ],
-  "azure-nspkg": [
-    "setuptools"
-  ],
-  "azure-servicebus": [
-    "setuptools"
-  ],
-  "azure-servicefabric": [
-    "setuptools"
-  ],
-  "azure-servicemanagement-legacy": [
-    "setuptools"
-  ],
-  "azure-storage": [
-    "setuptools"
-  ],
-  "azure-storage-blob": [
-    "setuptools"
-  ],
-  "azure-storage-common": [
-    "setuptools"
-  ],
-  "azure-storage-file": [
-    "setuptools"
-  ],
-  "azure-storage-file-share": [
-    "setuptools"
-  ],
-  "azure-storage-nspkg": [
-    "setuptools"
-  ],
-  "azure-storage-queue": [
-    "setuptools"
-  ],
-  "azure-synapse-accesscontrol": [
-    "setuptools"
-  ],
-  "azure-synapse-artifacts": [
-    "setuptools"
-  ],
-  "azure-synapse-managedprivateendpoints": [
-    "setuptools"
-  ],
-  "azure-synapse-spark": [
-    "setuptools"
-  ],
-  "b2sdk": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "babel": [
-    "setuptools"
-  ],
-  "babelfish": [
-    "setuptools"
-  ],
-  "babelgladeextractor": [
-    "setuptools"
-  ],
-  "backcall": [
-    "flit-core",
-    "setuptools"
-  ],
-  "backoff": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "backports-abc": [
-    "setuptools"
-  ],
-  "backports-cached-property": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "backports-csv": [
-    "setuptools"
-  ],
-  "backports-datetime-fromisoformat": [
-    "setuptools"
-  ],
-  "backports-entry-points-selectable": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "backports-functools-lru-cache": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "backports-shutil-which": [
-    "setuptools"
-  ],
-  "backports-ssl-match-hostname": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "backports-tempfile": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "backports-unittest-mock": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "backports-weakref": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "backports-zoneinfo": [
-    "setuptools"
-  ],
-  "bagit": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "banal": [
-    "setuptools"
-  ],
-  "bandit": [
-    "pbr",
-    "setuptools"
-  ],
-  "bap": [
-    "setuptools"
-  ],
-  "baron": [
-    "setuptools"
-  ],
-  "base32-crockford": [
-    "setuptools"
-  ],
-  "base36": [
-    "setuptools"
-  ],
-  "base58": [
-    "setuptools"
-  ],
-  "base58check": [
-    "setuptools"
-  ],
-  "baseline": [
-    "setuptools"
-  ],
-  "baselines": [
-    "setuptools"
-  ],
-  "basemap": [
-    "cython",
-    "setuptools"
-  ],
-  "basemap-data": [
-    "setuptools"
-  ],
-  "bash-kernel": [
-    "flit-core",
-    "setuptools"
-  ],
-  "bashlex": [
-    "setuptools"
-  ],
-  "basiciw": [
-    "setuptools"
-  ],
-  "batchgenerators": [
-    "setuptools"
-  ],
-  "batchspawner": [
-    "setuptools"
-  ],
-  "batinfo": [
-    "setuptools"
-  ],
-  "bayesian-optimization": [
-    "setuptools"
-  ],
-  "bayespy": [
-    "setuptools"
-  ],
-  "bbox": [
-    "setuptools"
-  ],
-  "bc-detect-secrets": [
-    "setuptools"
-  ],
-  "bc-jsonpath-ng": [
-    "setuptools"
-  ],
-  "bc-python-hcl2": [
-    "setuptools"
-  ],
-  "bcdoc": [
-    "setuptools"
-  ],
-  "bcrypt": [
-    "setuptools"
-  ],
-  "beaker": [
-    "setuptools"
-  ],
-  "beancount": [
-    "setuptools"
-  ],
-  "beancount-docverif": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "beanstalkc": [
-    "setuptools"
-  ],
-  "beartype": [
-    "setuptools"
-  ],
-  "beautifulsoup4": [
-    "hatchling",
-    "setuptools"
-  ],
-  "beautifultable": [
-    "setuptools"
-  ],
-  "bech32": [
-    "setuptools"
-  ],
-  "bedup": [
-    "setuptools"
-  ],
-  "behave": [
-    "setuptools"
-  ],
-  "bellows": [
-    "setuptools"
-  ],
-  "bencode-py": [
-    "setuptools"
-  ],
-  "beniget": [
-    "setuptools"
-  ],
-  "bespon": [
-    "setuptools"
-  ],
-  "betacode": [
-    "setuptools"
-  ],
-  "betamax": [
-    "setuptools"
-  ],
-  "betamax-matchers": [
-    "setuptools"
-  ],
-  "betamax-serializers": [
-    "setuptools"
-  ],
-  "betterproto": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "bibtexparser": [
-    "setuptools"
-  ],
-  "bidict": [
-    "setuptools"
-  ],
-  "bids-validator": [
-    "setuptools"
-  ],
-  "biliass": [
-    "setuptools"
-  ],
-  "billiard": [
-    "setuptools"
-  ],
-  "bimmer-connected": [
-    "pbr",
-    "setuptools"
-  ],
-  "binaryornot": [
-    "setuptools"
-  ],
-  "bincopy": [
-    "setuptools"
-  ],
-  "binho-host-adapter": [
-    "setuptools"
-  ],
-  "binwalk": [
-    "setuptools"
-  ],
-  "binwalk-full": [
-    "setuptools"
-  ],
-  "biopython": [
-    "setuptools"
-  ],
-  "bip-utils": [
-    "setuptools"
-  ],
-  "biplist": [
-    "setuptools"
-  ],
-  "bitarray": [
-    "setuptools"
-  ],
-  "bitbox02": [
-    "setuptools"
-  ],
-  "bitcoin-utils-fork-minimal": [
-    "setuptools"
-  ],
-  "bitcoinlib": [
-    "setuptools"
-  ],
-  "bitcoinrpc": [
-    "setuptools"
-  ],
-  "bite-parser": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "bitlist": [
-    "setuptools"
-  ],
-  "bitmath": [
-    "setuptools"
-  ],
-  "bitsandbytes": [
-    "setuptools"
-  ],
-  "bitstring": [
-    "setuptools"
-  ],
-  "bitstruct": [
-    "setuptools"
-  ],
-  "bitvavo-aio": [
-    "setuptools"
-  ],
-  "bizkaibus": [
-    "setuptools"
-  ],
-  "bjoern": [
-    "setuptools"
-  ],
-  "bkcharts": [
-    "setuptools"
-  ],
-  "black": [
-    {
-      "buildSystem": "setuptools",
-      "until": "22.10.0"
-    },
-    {
-      "buildSystem": "setuptools-scm",
-      "until": "22.10.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "22.10.0"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "22.10.0"
-    },
-    {
-      "buildSystem": "hatch-fancy-pypi-readme",
-      "from": "22.10.0"
-    }
-  ],
-  "black-macchiato": [
-    "setuptools"
-  ],
-  "blacken-docs": [
-    "setuptools"
-  ],
-  "bleach": [
-    "setuptools"
-  ],
-  "bleak": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "bleak-retry-connector": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "blebox-uniapi": [
-    "setuptools"
-  ],
-  "bless": [
-    "setuptools"
-  ],
-  "blessed": [
-    "setuptools"
-  ],
-  "blessings": [
-    "setuptools"
-  ],
-  "blinker": [
-    "setuptools"
-  ],
-  "blinkpy": [
-    "setuptools"
-  ],
-  "blinkstick": [
-    "setuptools"
-  ],
-  "blis": [
-    "cython",
-    "setuptools"
-  ],
-  "block-io": [
-    "setuptools"
-  ],
-  "blockchain": [
-    "setuptools"
-  ],
-  "blockdiag": [
-    "setuptools"
-  ],
-  "blocksat-cli": [
-    "setuptools"
-  ],
-  "blspy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "blue": [
-    "setuptools"
-  ],
-  "bluemaestro-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "bluepy": [
-    "setuptools"
-  ],
-  "bluepy-devices": [
-    "setuptools"
-  ],
-  "bluetooth-adapters": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "bluetooth-auto-recovery": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "bluetooth-data-tools": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "bluetooth-sensor-state-data": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "blurhash": [
-    "setuptools"
-  ],
-  "bme280spi": [
-    "setuptools"
-  ],
-  "bme680": [
-    "setuptools"
-  ],
-  "bokeh": [
-    "setuptools"
-  ],
-  "boltons": [
-    "setuptools"
-  ],
-  "boltz-client": [
-    "poetry"
-  ],
-  "boltztrap2": [
-    "cython",
-    "setuptools"
-  ],
-  "bond-api": [
-    "setuptools"
-  ],
-  "bond-async": [
-    "setuptools"
-  ],
-  "boolean-py": [
-    "setuptools"
-  ],
-  "booleanoperations": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "boost-histogram": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "boschshcpy": [
-    "setuptools"
-  ],
-  "boto": [
-    "setuptools"
-  ],
-  "boto3": [
-    "setuptools"
-  ],
-  "boto3-stubs": [
-    "setuptools"
-  ],
-  "botocore": [
-    "setuptools"
-  ],
-  "botocore-stubs": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "bottle": [
-    "setuptools"
-  ],
-  "bottleneck": [
-    "setuptools"
-  ],
-  "boxx": [
-    "setuptools"
-  ],
-  "bpycv": [
-    "setuptools"
-  ],
-  "bpython": [
-    "setuptools"
-  ],
-  "braceexpand": [
-    "setuptools"
-  ],
-  "bracex": [
-    "hatchling",
-    "setuptools"
-  ],
-  "braintree": [
-    "setuptools"
-  ],
-  "branca": [
-    "setuptools"
-  ],
-  "bravado-core": [
-    "setuptools"
-  ],
-  "bravia-tv": [
-    "setuptools"
-  ],
-  "breathe": [
-    "setuptools"
-  ],
-  "breezy": [
-    "setuptools"
-  ],
-  "brelpy": [
-    "setuptools"
-  ],
-  "broadlink": [
-    "setuptools"
-  ],
-  "brother": [
-    "setuptools"
-  ],
-  "brother-ql": [
-    "setuptools"
-  ],
-  "brotli": [
-    "setuptools"
-  ],
-  "brotlicffi": [
-    "setuptools"
-  ],
-  "brotlipy": [
-    "setuptools"
-  ],
-  "brottsplatskartan": [
-    "setuptools"
-  ],
-  "browser-cookie3": [
-    "setuptools"
-  ],
-  "brunns-matchers": [
-    "setuptools"
-  ],
-  "brunns-row": [
-    "setuptools"
-  ],
-  "brunt": [
-    "setuptools"
-  ],
-  "bsblan": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "bsddb3": [
-    "setuptools"
-  ],
-  "bsdiff4": [
-    "setuptools"
-  ],
-  "bson": [
-    "setuptools"
-  ],
-  "bsuite": [
-    "setuptools"
-  ],
-  "bt-proximity": [
-    "setuptools"
-  ],
-  "btchip": [
-    "setuptools"
-  ],
-  "bthome-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "btrees": [
-    "setuptools"
-  ],
-  "btrfs": [
-    "setuptools"
-  ],
-  "btrfsutil": [
-    "setuptools"
-  ],
-  "btsocket": [
-    "setuptools"
-  ],
-  "bucketstore": [
-    "setuptools"
-  ],
-  "bugsnag": [
-    "setuptools"
-  ],
-  "bugwarrior": [
-    "setuptools"
-  ],
-  "bugz": [
-    "setuptools"
-  ],
-  "bugzilla": [
-    "setuptools"
-  ],
-  "buienradar": [
-    "setuptools"
-  ],
-  "build": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.10.0"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "0.10.0"
-    }
-  ],
-  "buildbot": [
-    "setuptools"
-  ],
-  "buildbot-full": [
-    "setuptools"
-  ],
-  "buildbot-pkg": [
-    "setuptools"
-  ],
-  "buildbot-plugins-console-view": [
-    "setuptools"
-  ],
-  "buildbot-plugins-grid-view": [
-    "setuptools"
-  ],
-  "buildbot-plugins-waterfall-view": [
-    "setuptools"
-  ],
-  "buildbot-plugins-wsgi-dashboards": [
-    "setuptools"
-  ],
-  "buildbot-plugins-www": [
-    "setuptools"
-  ],
-  "buildbot-ui": [
-    "setuptools"
-  ],
-  "buildbot-worker": [
-    "setuptools"
-  ],
-  "buildcatrust": [
-    "setuptools"
-  ],
-  "builddsl": [
-    "poetry"
-  ],
-  "bumps": [
-    "setuptools"
-  ],
-  "bunch": [
-    "setuptools"
-  ],
-  "bundlewrap": [
-    "setuptools"
-  ],
-  "bwapy": [
-    "setuptools"
-  ],
-  "bx-python": [
-    "cython",
-    "setuptools"
-  ],
-  "bytecode": [
-    "setuptools"
-  ],
-  "bz2file": [
-    "setuptools"
-  ],
-  "cachecontrol": [
-    "setuptools"
-  ],
-  "cached-property": [
-    "setuptools"
-  ],
-  "cachelib": [
-    "setuptools"
-  ],
-  "cachetools": [
-    "setuptools"
-  ],
-  "cachey": [
-    "setuptools"
-  ],
-  "cachy": [
-    "setuptools"
-  ],
-  "caio": [
-    "setuptools"
-  ],
-  "cairo-lang": [
-    "setuptools"
-  ],
-  "cairocffi": [
-    "setuptools"
-  ],
-  "cairosvg": [
-    "setuptools"
-  ],
-  "caldav": [
-    "setuptools"
-  ],
-  "callee": [
-    "setuptools"
-  ],
-  "calmjs-parse": [
-    "setuptools"
-  ],
-  "can": [
-    "setuptools"
-  ],
-  "canmatrix": [
-    "setuptools"
-  ],
-  "canonicaljson": [
-    "setuptools"
-  ],
-  "canopen": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "capstone": [
-    "setuptools"
-  ],
-  "capturer": [
-    "setuptools"
-  ],
-  "carbon": [
-    "setuptools"
-  ],
-  "cart": [
-    "setuptools"
-  ],
-  "cartopy": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "casa-formats-io": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "casbin": [
-    "setuptools"
-  ],
-  "case": [
-    "setuptools"
-  ],
-  "casefy": [
-    "hatchling"
-  ],
-  "cashu": [
-    "poetry"
-  ],
-  "cassandra-driver": [
-    "cython",
-    "setuptools"
-  ],
-  "castepxbin": [
-    "setuptools"
-  ],
-  "casttube": [
-    "setuptools"
-  ],
-  "catalogue": [
-    "setuptools"
-  ],
-  "catboost": [
-    "setuptools"
-  ],
-  "cattrs": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "cbeams": [
-    "setuptools"
-  ],
-  "cbor": [
-    "setuptools"
-  ],
-  "cbor2": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "cccolutils": [
-    "setuptools"
-  ],
-  "cchardet": [
-    "setuptools"
-  ],
-  "cdcs": [
-    "setuptools"
-  ],
-  "celery": [
-    "setuptools"
-  ],
-  "celery-redbeat": [
-    "setuptools"
-  ],
-  "cement": [
-    "setuptools"
-  ],
-  "censys": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "cepa": [
-    "setuptools"
-  ],
-  "cerberus": [
-    "setuptools"
-  ],
-  "cert-chain-resolver": [
-    "setuptools"
-  ],
-  "certauth": [
-    "setuptools"
-  ],
-  "certbot": [
-    "setuptools"
-  ],
-  "certbot-dns-cloudflare": [
-    "setuptools"
-  ],
-  "certbot-dns-google": [
-    "setuptools"
-  ],
-  "certbot-dns-inwx": [
-    "setuptools"
-  ],
-  "certbot-dns-ovh": [
-    "setuptools"
-  ],
-  "certbot-dns-rfc2136": [
-    "setuptools"
-  ],
-  "certbot-dns-route53": [
-    "setuptools"
-  ],
-  "certifi": [
-    "setuptools"
-  ],
-  "certipy": [
-    "setuptools"
-  ],
-  "certomancer": [
-    "setuptools"
-  ],
-  "certvalidator": [
-    "setuptools"
-  ],
-  "cexprtk": [
-    "setuptools"
-  ],
-  "cfel-pylint-checkers": [
-    "poetry-core"
-  ],
-  "cffi": [
-    "setuptools"
-  ],
-  "cffsubr": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "cfgv": [
-    "setuptools"
-  ],
-  "cfn-flip": [
-    "setuptools"
-  ],
-  "cfn-lint": [
-    "setuptools"
-  ],
-  "cfnresponse": [
-    "setuptools"
-  ],
-  "cfscrape": [
-    "setuptools"
-  ],
-  "cftime": [
-    "cython",
-    "setuptools"
-  ],
-  "cgen": [
-    "setuptools"
-  ],
-  "cgroup-utils": [
-    "setuptools"
-  ],
-  "chacha20poly1305-reuseable": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "chai": [
-    "setuptools"
-  ],
-  "chainer": [
-    "setuptools"
-  ],
-  "chainmap": [
-    "setuptools"
-  ],
-  "chalice": [
-    "setuptools"
-  ],
-  "chameleon": [
-    "setuptools"
-  ],
-  "channels": [
-    "setuptools"
-  ],
-  "channels-redis": [
-    "setuptools"
-  ],
-  "characteristic": [
-    "setuptools"
-  ],
-  "chardet": [
-    "setuptools"
-  ],
-  "charset-normalizer": [
-    "setuptools"
-  ],
-  "chart-studio": [
-    "setuptools"
-  ],
-  "chat-downloader": [
-    "setuptools"
-  ],
-  "check-manifest": [
-    "setuptools"
-  ],
-  "cheetah3": [
-    "setuptools"
-  ],
-  "cheroot": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "cherrypy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "chess": [
-    "setuptools"
-  ],
-  "chevron": [
-    "setuptools"
-  ],
-  "chex": [
-    "setuptools"
-  ],
-  "chia-rs": [
-    "setuptools"
-  ],
-  "chiabip158": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "chiapos": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "chiavdf": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "chirpstack-api": [
-    "setuptools"
-  ],
-  "chispa": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ci-info": [
-    "setuptools"
-  ],
-  "ci-py": [
-    "setuptools"
-  ],
-  "cinemagoer": [
-    "setuptools"
-  ],
-  "circuit-webhook": [
-    "setuptools"
-  ],
-  "circuitbreaker": [
-    "setuptools"
-  ],
-  "cirq": [
-    "setuptools"
-  ],
-  "cirq-aqt": [
-    "setuptools"
-  ],
-  "cirq-core": [
-    "setuptools"
-  ],
-  "cirq-google": [
-    "setuptools"
-  ],
-  "cirq-ionq": [
-    "setuptools"
-  ],
-  "cirq-pasqal": [
-    "setuptools"
-  ],
-  "cirq-rigetti": [
-    "setuptools"
-  ],
-  "cirq-web": [
-    "setuptools"
-  ],
-  "ciscoconfparse": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ciscomobilityexpress": [
-    "setuptools"
-  ],
-  "ciso8601": [
-    "setuptools"
-  ],
-  "citeproc-py": [
-    "setuptools"
-  ],
-  "cjkwrap": [
-    "setuptools"
-  ],
-  "ckcc-protocol": [
-    "setuptools"
-  ],
-  "claripy": [
-    "setuptools"
-  ],
-  "class-registry": [
-    "setuptools"
-  ],
-  "classify-imports": [
-    "setuptools"
-  ],
-  "cld2-cffi": [
-    "setuptools"
-  ],
-  "cle": [
-    "setuptools"
-  ],
-  "cleo": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "clevercsv": [
-    "setuptools"
-  ],
-  "clf": [
-    "setuptools"
-  ],
-  "cli-helpers": [
-    "setuptools"
-  ],
-  "click": [
-    "setuptools"
-  ],
-  "click-completion": [
-    "setuptools"
-  ],
-  "click-configfile": [
-    "setuptools"
-  ],
-  "click-datetime": [
-    "setuptools"
-  ],
-  "click-default-group": [
-    "setuptools"
-  ],
-  "click-didyoumean": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.2.0"
-    },
-    {
-      "buildSystem": "poetry",
-      "from": "0.2.0"
-    }
-  ],
-  "click-help-colors": [
-    "setuptools"
-  ],
-  "click-log": [
-    "setuptools"
-  ],
-  "click-odoo": [
-    "setuptools-scm"
-  ],
-  "click-odoo-contrib": [
-    "setuptools"
-  ],
-  "click-option-group": [
-    "setuptools"
-  ],
-  "click-plugins": [
-    "setuptools"
-  ],
-  "click-repl": [
-    "setuptools"
-  ],
-  "click-spinner": [
-    "setuptools"
-  ],
-  "click-threading": [
-    "setuptools"
-  ],
-  "clickclick": [
-    "setuptools"
-  ],
-  "clickgen": [
-    "setuptools"
-  ],
-  "clickhouse-cityhash": [
-    "setuptools"
-  ],
-  "clickhouse-cli": [
-    "setuptools"
-  ],
-  "clickhouse-driver": [
-    "setuptools"
-  ],
-  "cliff": [
-    "pbr",
-    "setuptools"
-  ],
-  "clifford": [
-    "setuptools"
-  ],
-  "cligj": [
-    "setuptools"
-  ],
-  "clikit": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "clint": [
-    "setuptools"
-  ],
-  "clintermission": [
-    "setuptools"
-  ],
-  "clize": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "clldutils": [
-    "setuptools"
-  ],
-  "cloudflare": [
-    "setuptools"
-  ],
-  "cloudflare-dyndns": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "cloudinary": [
-    "setuptools"
-  ],
-  "cloudpickle": [
-    "setuptools"
-  ],
-  "cloudscraper": [
-    "setuptools"
-  ],
-  "cloudsmith-api": [
-    "setuptools"
-  ],
-  "cloudsplaining": [
-    "setuptools"
-  ],
-  "cloup": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "clustershell": [
-    "setuptools"
-  ],
-  "clvm": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "clvm-rs": [
-    "setuptools"
-  ],
-  "clvm-tools": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "clvm-tools-rs": [
-    "setuptools"
-  ],
-  "cma": [
-    "setuptools"
-  ],
-  "cmarkgfm": [
-    "setuptools"
-  ],
-  "cmd2": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "cmdline": [
-    "setuptools"
-  ],
-  "cmdstanpy": [
-    "setuptools"
-  ],
-  "cmigemo": [
-    "setuptools"
-  ],
-  "cmsis-pack-manager": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "cmsis-svd": [
-    "setuptools"
-  ],
-  "cnvkit": [
-    "setuptools"
-  ],
-  "co2signal": [
-    "setuptools"
-  ],
-  "coapthon3": [
-    "setuptools"
-  ],
-  "cock": [
-    "setuptools"
-  ],
-  "coconut": [
-    "setuptools"
-  ],
-  "cocotb": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "cocotb-bus": [
-    "setuptools"
-  ],
-  "codecov": [
-    "setuptools"
-  ],
-  "codepy": [
-    "setuptools"
-  ],
-  "codespell": [
-    "setuptools"
-  ],
-  "cogapp": [
-    "setuptools"
-  ],
-  "coincurve": [
-    "setuptools"
-  ],
-  "coinmetrics-api-client": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "colander": [
-    "babel",
-    "setuptools"
-  ],
-  "colanderalchemy": [
-    "setuptools"
-  ],
-  "collections-extended": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "color-operations": [
-    "setuptools"
-  ],
-  "colorama": [
-    {
-      "buildSystem": "hatchling",
-      "from": "0.4.6"
-    },
-    "setuptools"
-  ],
-  "colorcet": [
-    "setuptools"
-  ],
-  "colorclass": [
-    "poetry",
-    "setuptools"
-  ],
-  "colored": [
-    "setuptools"
-  ],
-  "colored-traceback": [
-    "setuptools"
-  ],
-  "coloredlogs": [
-    "setuptools"
-  ],
-  "colorful": [
-    "setuptools"
-  ],
-  "colorhash": [
-    "poetry"
-  ],
-  "colorlog": [
-    "setuptools"
-  ],
-  "colorlover": [
-    "setuptools"
-  ],
-  "colormath": [
-    "setuptools"
-  ],
-  "colorspacious": [
-    "setuptools"
-  ],
-  "colorthief": [
-    "setuptools"
-  ],
-  "colorzero": [
-    "setuptools"
-  ],
-  "colour": [
-    "setuptools"
-  ],
-  "cometblue-lite": [
-    "setuptools"
-  ],
-  "comm": [
-    "hatchling"
-  ],
-  "commandparse": [
-    "setuptools"
-  ],
-  "commentjson": [
-    "setuptools"
-  ],
-  "commitizen": [
-    "poetry-core"
-  ],
-  "commoncode": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "commonmark": [
-    "setuptools"
-  ],
-  "compiledb": [
-    "setuptools"
-  ],
-  "compreffor": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "concurrent-log-handler": [
-    "setuptools"
-  ],
-  "conda": [
-    "setuptools"
-  ],
-  "config-formatter": [
-    "setuptools"
-  ],
-  "configargparse": [
-    "setuptools"
-  ],
-  "configclass": [
-    "setuptools"
-  ],
-  "confight": [
-    "setuptools"
-  ],
-  "configobj": [
-    "setuptools"
-  ],
-  "configparser": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "configshell": [
-    "setuptools"
-  ],
-  "configupdater": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "confluent-kafka": [
-    "setuptools"
-  ],
-  "confusable-homoglyphs": [
-    "setuptools"
-  ],
-  "confuse": [
-    "flit-core",
-    "setuptools"
-  ],
-  "connect-box": [
-    "setuptools"
-  ],
-  "connection-pool": [
-    "setuptools"
-  ],
-  "connexion": [
-    "setuptools"
-  ],
-  "cons": [
-    "setuptools"
-  ],
-  "consonance": [
-    "setuptools"
-  ],
-  "constantly": [
-    "setuptools"
-  ],
-  "construct": [
-    "setuptools"
-  ],
-  "construct-classes": [
-    "poetry-core"
-  ],
-  "constructs": [
-    "setuptools"
-  ],
-  "consul": [
-    "setuptools"
-  ],
-  "consulate": [
-    "setuptools"
-  ],
-  "container-inspector": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "contexter": [
-    "setuptools"
-  ],
-  "contextlib2": [
-    "setuptools"
-  ],
-  "contexttimer": [
-    "setuptools"
-  ],
-  "contourpy": [
-    "pybind11",
-    "setuptools"
-  ],
-  "convertdate": [
-    "setuptools"
-  ],
-  "cookiecutter": [
-    "setuptools"
-  ],
-  "cookies": [
-    "setuptools"
-  ],
-  "coordinates": [
-    "setuptools"
-  ],
-  "copier": [
-    "poetry-core",
-    "poetry-dynamic-versioning"
-  ],
-  "copier-template-tester": [
-    "poetry-core"
-  ],
-  "coqpit": [
-    "setuptools"
-  ],
-  "coqui-trainer": [
-    "setuptools"
-  ],
-  "corallium": [
-    "poetry-core"
-  ],
-  "coreapi": [
-    "setuptools"
-  ],
-  "coreschema": [
-    "setuptools"
-  ],
-  "cornice": [
-    "setuptools"
-  ],
-  "coronavirus": [
-    "setuptools"
-  ],
-  "corsair-scan": [
-    "setuptools"
-  ],
-  "cot": [
-    "setuptools"
-  ],
-  "covcore": [
-    "setuptools"
-  ],
-  "coverage": [
-    "setuptools"
-  ],
-  "coveralls": [
-    "setuptools"
-  ],
-  "cppe": [
-    "setuptools"
-  ],
-  "cppheaderparser": [
-    "setuptools"
-  ],
-  "cppy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "cpyparsing": [
-    "cython",
-    "setuptools"
-  ],
-  "cram": [
-    "setuptools"
-  ],
-  "cramjam": [
-    "setuptools"
-  ],
-  "crashtest": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "crate": [
-    "setuptools"
-  ],
-  "crayons": [
-    "setuptools"
-  ],
-  "crc16": [
-    "setuptools"
-  ],
-  "crc32c": [
-    "setuptools"
-  ],
-  "crccheck": [
-    "setuptools"
-  ],
-  "crcmod": [
-    "setuptools"
-  ],
-  "credis": [
-    "cython",
-    "poetry-core"
-  ],
-  "credstash": [
-    "setuptools"
-  ],
-  "crispy-bootstrap5": [
-    "setuptools"
-  ],
-  "criticality-score": [
-    "setuptools"
-  ],
-  "cron-descriptor": [
-    "setuptools"
-  ],
-  "croniter": [
-    "setuptools"
-  ],
-  "cronsim": [
-    "setuptools"
-  ],
-  "crossplane": [
-    "setuptools"
-  ],
-  "crownstone-cloud": [
-    "setuptools"
-  ],
-  "crownstone-core": [
-    "setuptools"
-  ],
-  "crownstone-sse": [
-    "setuptools"
-  ],
-  "crownstone-uart": [
-    "setuptools"
-  ],
-  "cruft": [
-    "poetry-core"
-  ],
-  "cryptg": [
-    "setuptools"
-  ],
-  "cryptography": [
-    "setuptools"
-  ],
-  "cryptolyzer": [
-    "setuptools"
-  ],
-  "cryptoparser": [
-    "setuptools"
-  ],
-  "crytic-compile": [
-    "setuptools"
-  ],
-  "csrmesh": [
-    "setuptools"
-  ],
-  "css-html-js-minify": [
-    "setuptools"
-  ],
-  "css-parser": [
-    "setuptools"
-  ],
-  "cssbeautifier": [
-    "setuptools"
-  ],
-  "csscompressor": [
-    "setuptools"
-  ],
-  "cssmin": [
-    "setuptools"
-  ],
-  "cssselect": [
-    "setuptools"
-  ],
-  "cssselect2": [
-    "flit",
-    "flit-core",
-    "setuptools"
-  ],
-  "cssutils": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "csvw": [
-    "setuptools"
-  ],
-  "cucumber-tag-expressions": [
-    "setuptools"
-  ],
-  "cufflinks": [
-    "setuptools"
-  ],
-  "cupy": [
-    "cython",
-    "setuptools"
-  ],
-  "curio": [
-    "setuptools"
-  ],
-  "curtsies": [
-    "setuptools"
-  ],
-  "curve25519-donna": [
-    "setuptools"
-  ],
-  "customerio": [
-    "setuptools"
-  ],
-  "cvxopt": [
-    "setuptools"
-  ],
-  "cvxpy": [
-    "setuptools"
-  ],
-  "cwcwidth": [
-    "cython",
-    "setuptools"
-  ],
-  "cx-freeze": [
-    "setuptools"
-  ],
-  "cx-oracle": [
-    "setuptools"
-  ],
-  "cxxfilt": [
-    "setuptools"
-  ],
-  "cycler": [
-    "setuptools"
-  ],
-  "cyclonedx-python-lib": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "cymem": [
-    "cython",
-    "setuptools"
-  ],
-  "cypari2": [
-    "cython",
-    "setuptools"
-  ],
-  "cypherpunkpay": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "cysignals": [
-    "cython",
-    "setuptools"
-  ],
-  "cysimdjson": [
-    "cython"
-  ],
-  "cysystemd": [
-    "setuptools"
-  ],
-  "cython": [
-    "setuptools"
-  ],
-  "cython-3": [
-    "setuptools"
-  ],
-  "cytoolz": [
-    "cython",
-    "setuptools"
-  ],
-  "d20": [
-    "setuptools"
-  ],
-  "d2to1": [
-    "setuptools"
-  ],
-  "dacite": [
-    "setuptools"
-  ],
-  "daemonize": [
-    "setuptools"
-  ],
-  "daemonocle": [
-    "setuptools"
-  ],
-  "dalle-mini": [
-    "setuptools"
-  ],
-  "daphne": [
-    "setuptools"
-  ],
-  "darglint": [
-    "poetry"
-  ],
-  "dasbus": [
-    "setuptools"
-  ],
-  "dash": [
-    "setuptools"
-  ],
-  "dash-core-components": [
-    "setuptools"
-  ],
-  "dash-html-components": [
-    "setuptools"
-  ],
-  "dash-renderer": [
-    "setuptools"
-  ],
-  "dash-table": [
-    "setuptools"
-  ],
-  "dask": [
-    "setuptools",
-    {
-      "buildSystem": "versioneer",
-      "from": "2.0.0"
-    }
-  ],
-  "dask-gateway": [
-    "setuptools"
-  ],
-  "dask-gateway-server": [
-    "setuptools"
-  ],
-  "dask-glm": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dask-image": [
-    "setuptools"
-  ],
-  "dask-jobqueue": [
-    "setuptools"
-  ],
-  "dask-ml": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dask-mpi": [
-    "setuptools"
-  ],
-  "dask-yarn": [
-    "setuptools"
-  ],
-  "databases": [
-    "setuptools"
-  ],
-  "databind": [
-    "poetry"
-  ],
-  "databind-core": [
-    "poetry"
-  ],
-  "databind-json": [
-    "poetry"
-  ],
-  "databricks-cli": [
-    "setuptools"
-  ],
-  "databricks-connect": [
-    "setuptools"
-  ],
-  "databricks-sql-connector": [
-    "poetry-core"
-  ],
-  "dataclass-wizard": [
-    "setuptools"
-  ],
-  "dataclasses-json": [
-    "setuptools"
-  ],
-  "dataclasses-serialization": [
-    "setuptools"
-  ],
-  "datadiff": [
-    "setuptools"
-  ],
-  "datadog": [
-    "hatchling",
-    "setuptools"
-  ],
-  "datafusion": [
-    "setuptools"
-  ],
-  "datamodeldict": [
-    "setuptools"
-  ],
-  "datapoint": [
-    "setuptools"
-  ],
-  "datargs": [
-    "poetry"
-  ],
-  "dataset": [
-    "setuptools"
-  ],
-  "datasets": [
-    "setuptools"
-  ],
-  "datasette": [
-    "setuptools"
-  ],
-  "datasette-template-sql": [
-    "setuptools"
-  ],
-  "datashader": [
-    "setuptools"
-  ],
-  "datashape": [
-    "setuptools"
-  ],
-  "datauri": [
-    "setuptools"
-  ],
-  "dateparser": [
-    "setuptools"
-  ],
-  "dateutil": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dateutils": [
-    "setuptools"
-  ],
-  "datrie": [
-    "cython",
-    "setuptools"
-  ],
-  "dawg-python": [
-    "setuptools"
-  ],
-  "db-dtypes": [
-    "setuptools"
-  ],
-  "dbf": [
-    "setuptools"
-  ],
-  "dbfread": [
-    "setuptools"
-  ],
-  "dbus-client-gen": [
-    "setuptools"
-  ],
-  "dbus-fast": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "dbus-next": [
-    "setuptools"
-  ],
-  "dbus-python": [
-    "setuptools"
-  ],
-  "dbus-python-client-gen": [
-    "setuptools"
-  ],
-  "dbus-signature-pyparsing": [
-    "setuptools"
-  ],
-  "dbutils": [
-    "setuptools"
-  ],
-  "ddsketch": [
-    "setuptools"
-  ],
-  "ddt": [
-    "setuptools"
-  ],
-  "ddtrace": [
-    "cython",
-    "setuptools"
-  ],
-  "deal": [
-    "flit-core",
-    "setuptools"
-  ],
-  "deal-solver": [
-    "flit-core",
-    "setuptools"
-  ],
-  "deap": [
-    "setuptools"
-  ],
-  "debian": [
-    "setuptools"
-  ],
-  "debian-inspector": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "debtcollector": [
-    "pbr",
-    "setuptools"
-  ],
-  "debts": [
-    "setuptools"
-  ],
-  "debuglater": [
-    "setuptools"
-  ],
-  "debugpy": [
-    "setuptools"
-  ],
-  "decli": [
-    "setuptools"
-  ],
-  "decopatch": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "decorator": [
-    "setuptools"
-  ],
-  "deemix": [
-    "setuptools"
-  ],
-  "deep-chainmap": [
-    "setuptools"
-  ],
-  "deep-merge": [
-    "setuptools"
-  ],
-  "deep-translator": [
-    "setuptools"
-  ],
-  "deepdiff": [
-    "setuptools"
-  ],
-  "deepdish": [
-    "setuptools"
-  ],
-  "deepmerge": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "deeptoolsintervals": [
-    "setuptools"
-  ],
-  "deepwave": [
-    "setuptools"
-  ],
-  "deezer-py": [
-    "setuptools"
-  ],
-  "deezer-python": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "defcon": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "deform": [
-    "setuptools"
-  ],
-  "defusedxml": [
-    "setuptools"
-  ],
-  "delegator-py": [
-    "setuptools"
-  ],
-  "delorean": [
-    "setuptools"
-  ],
-  "deltachat": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "deluge-client": [
-    "setuptools"
-  ],
-  "demetriek": [
-    "poetry-core"
-  ],
-  "demjson3": [
-    "setuptools"
-  ],
-  "dendropy": [
-    "setuptools"
-  ],
-  "denonavr": [
-    "setuptools"
-  ],
-  "dependency-injector": [
-    "setuptools"
-  ],
-  "deploykit": [
-    "setuptools"
-  ],
-  "deprecated": [
-    "setuptools"
-  ],
-  "deprecation": [
-    "setuptools"
-  ],
-  "derpconf": [
-    "setuptools"
-  ],
-  "desktop-notifier": [
-    "setuptools"
-  ],
-  "detect-secrets": [
-    "setuptools"
-  ],
-  "devito": [
-    "setuptools"
-  ],
-  "devolo-home-control-api": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "devolo-plc-api": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "devtools": [
-    "setuptools"
-  ],
-  "diagrams": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "diceware": [
-    "setuptools"
-  ],
-  "dicom2nifti": [
-    "setuptools"
-  ],
-  "dict2xml": [
-    "setuptools"
-  ],
-  "dictdiffer": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dictionaries": [
-    "setuptools"
-  ],
-  "dictpath": [
-    "setuptools"
-  ],
-  "dicttoxml": [
-    "setuptools"
-  ],
-  "dicttoxml2": [
-    "setuptools"
-  ],
-  "diff-cover": [
-    "setuptools"
-  ],
-  "diff-match-patch": [
-    "setuptools"
-  ],
-  "digi-xbee": [
-    "setuptools"
-  ],
-  "digital-ocean": [
-    "setuptools"
-  ],
-  "dill": [
-    "setuptools"
-  ],
-  "dinghy": [
-    "setuptools"
-  ],
-  "dingz": [
-    "setuptools"
-  ],
-  "diofant": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dipy": [
-    "cython",
-    "setuptools"
-  ],
-  "directv": [
-    "setuptools"
-  ],
-  "dirty-equals": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "discid": [
-    "setuptools"
-  ],
-  "discogs-client": [
-    "setuptools"
-  ],
-  "discordpy": [
-    "setuptools"
-  ],
-  "discovery30303": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "diskcache": [
-    "setuptools"
-  ],
-  "dissect": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-cim": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-clfs": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-cstruct": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-esedb": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-etl": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-eventlog": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-evidence": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-extfs": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-fat": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-ffs": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-hypervisor": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-ntfs": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-ole": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-regf": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-shellitem": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-sql": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-target": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-util": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-vmfs": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-volume": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissect-xfs": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dissononce": [
-    "setuptools"
-  ],
-  "distlib": [
-    "setuptools"
-  ],
-  "distorm3": [
-    "setuptools"
-  ],
-  "distrax": [
-    "setuptools"
-  ],
-  "distributed": [
-    "setuptools",
-    {
-      "buildSystem": "versioneer",
-      "from": "2.0.0"
-    }
-  ],
-  "distro": [
-    "setuptools"
-  ],
-  "distutils-extra": [
-    "setuptools"
-  ],
-  "dj-database-url": [
-    "setuptools"
-  ],
-  "dj-email-url": [
-    "setuptools"
-  ],
-  "dj-inmemorystorage": [
-    "setuptools"
-  ],
-  "dj-rest-auth": [
-    "setuptools"
-  ],
-  "dj-search-url": [
-    "setuptools"
-  ],
-  "django": [
-    "setuptools"
-  ],
-  "django-3": [
-    "setuptools"
-  ],
-  "django-4": [
-    "setuptools"
-  ],
-  "django-admin-sortable2": [
-    "setuptools"
-  ],
-  "django-allauth": [
-    "setuptools"
-  ],
-  "django-anymail": [
-    "setuptools"
-  ],
-  "django-appconf": [
-    "setuptools"
-  ],
-  "django-auth-ldap": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "django-bootstrap-form": [
-    "setuptools"
-  ],
-  "django-cache-memoize": [
-    "setuptools"
-  ],
-  "django-cache-url": [
-    "setuptools"
-  ],
-  "django-cacheops": [
-    "setuptools"
-  ],
-  "django-celery-beat": [
-    "setuptools"
-  ],
-  "django-celery-email": [
-    "setuptools"
-  ],
-  "django-classytags": [
-    "setuptools"
-  ],
-  "django-cleanup": [
-    "setuptools"
-  ],
-  "django-cockroachdb": [
-    "setuptools"
-  ],
-  "django-colorfield": [
-    "setuptools"
-  ],
-  "django-colorful": [
-    "setuptools"
-  ],
-  "django-compat": [
-    "setuptools"
-  ],
-  "django-compressor": [
-    "setuptools"
-  ],
-  "django-configurations": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "django-contrib-comments": [
-    "setuptools"
-  ],
-  "django-cors-headers": [
-    "setuptools"
-  ],
-  "django-countries": [
-    "setuptools"
-  ],
-  "django-coverage-plugin": [
-    "setuptools"
-  ],
-  "django-crispy-forms": [
-    "setuptools"
-  ],
-  "django-cryptography": [
-    "setuptools"
-  ],
-  "django-csp": [
-    "setuptools"
-  ],
-  "django-debug-toolbar": [
-    {
-      "buildSystem": "setuptools",
-      "until": "3.8.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "3.8.0"
-    }
-  ],
-  "django-discover-runner": [
-    "setuptools"
-  ],
-  "django-dynamic-preferences": [
-    "setuptools"
-  ],
-  "django-encrypted-model-fields": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "django-environ": [
-    "setuptools"
-  ],
-  "django-extensions": [
-    "setuptools"
-  ],
-  "django-filter": [
-    "setuptools"
-  ],
-  "django-floppyforms": [
-    "setuptools"
-  ],
-  "django-formtools": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "django-graphiql-debug-toolbar": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "django-gravatar2": [
-    "setuptools"
-  ],
-  "django-guardian": [
-    "setuptools"
-  ],
-  "django-haystack": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "django-health-check": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "django-hijack": [
-    "setuptools"
-  ],
-  "django-htmx": [
-    "setuptools"
-  ],
-  "django-ipware": [
-    "setuptools"
-  ],
-  "django-jinja": [
-    "setuptools"
-  ],
-  "django-js-asset": [
-    "setuptools"
-  ],
-  "django-logentry-admin": [
-    "setuptools"
-  ],
-  "django-mailman3": [
-    "setuptools"
-  ],
-  "django-maintenance-mode": [
-    "setuptools"
-  ],
-  "django-model-utils": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "django-modelcluster": [
-    "setuptools"
-  ],
-  "django-modeltranslation": [
-    "setuptools"
-  ],
-  "django-mptt": [
-    "setuptools"
-  ],
-  "django-multiselectfield": [
-    "setuptools"
-  ],
-  "django-nested-admin": [
-    "setuptools"
-  ],
-  "django-nose": [
-    "setuptools"
-  ],
-  "django-oauth-toolkit": [
-    "setuptools"
-  ],
-  "django-otp": [
-    "setuptools"
-  ],
-  "django-paintstore": [
-    "setuptools"
-  ],
-  "django-permissionedforms": [
-    "setuptools"
-  ],
-  "django-pglocks": [
-    "setuptools"
-  ],
-  "django-phonenumber-field": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "django-picklefield": [
-    "setuptools"
-  ],
-  "django-polymorphic": [
-    "setuptools"
-  ],
-  "django-postgresql-netfields": [
-    "setuptools"
-  ],
-  "django-prometheus": [
-    "setuptools"
-  ],
-  "django-q": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "django-ranged-response": [
-    "setuptools"
-  ],
-  "django-raster": [
-    "setuptools"
-  ],
-  "django-redis": [
-    "setuptools"
-  ],
-  "django-registration": [
-    "setuptools"
-  ],
-  "django-rest-auth": [
-    "setuptools"
-  ],
-  "django-rest-polymorphic": [
-    "setuptools"
-  ],
-  "django-rest-swagger": [
-    "setuptools"
-  ],
-  "django-reversion": [
-    "setuptools"
-  ],
-  "django-rosetta": [
-    "setuptools"
-  ],
-  "django-rq": [
-    "setuptools"
-  ],
-  "django-sesame": [
-    "setuptools"
-  ],
-  "django-silk": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "django-simple-captcha": [
-    "setuptools"
-  ],
-  "django-sites": [
-    "setuptools"
-  ],
-  "django-sr": [
-    "setuptools"
-  ],
-  "django-statici18n": [
-    "setuptools"
-  ],
-  "django-storages": [
-    "setuptools"
-  ],
-  "django-stubs": [
-    "setuptools"
-  ],
-  "django-stubs-ext": [
-    "setuptools"
-  ],
-  "django-tables2": [
-    "setuptools"
-  ],
-  "django-tagging": [
-    "setuptools"
-  ],
-  "django-taggit": [
-    "setuptools"
-  ],
-  "django-tastypie": [
-    "setuptools"
-  ],
-  "django-timezone-field": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "django-treebeard": [
-    "setuptools"
-  ],
-  "django-types": [
-    "poetry-core"
-  ],
-  "django-versatileimagefield": [
-    "setuptools"
-  ],
-  "django-webpack-loader": [
-    "setuptools"
-  ],
-  "django-widget-tweaks": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "djangoql": [
-    "setuptools"
-  ],
-  "djangorestframework": [
-    "setuptools"
-  ],
-  "djangorestframework-camel-case": [
-    "setuptools"
-  ],
-  "djangorestframework-dataclasses": [
-    "setuptools"
-  ],
-  "djangorestframework-guardian": [
-    "setuptools"
-  ],
-  "djangorestframework-jwt": [
-    "setuptools"
-  ],
-  "djangorestframework-recursive": [
-    "setuptools"
-  ],
-  "djangorestframework-simplejwt": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "djangorestframework-stubs": [
-    "setuptools"
-  ],
-  "djangorestframework-types": [
-    "poetry"
-  ],
-  "djlint": [
-    "poetry"
-  ],
-  "djmail": [
-    "setuptools"
-  ],
-  "dkimpy": [
-    "setuptools"
-  ],
-  "dlib": [
-    "setuptools"
-  ],
-  "dlinfo": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dlx": [
-    "setuptools"
-  ],
-  "dm-env": [
-    "setuptools"
-  ],
-  "dm-haiku": [
-    "setuptools"
-  ],
-  "dm-sonnet": [
-    "setuptools"
-  ],
-  "dm-tree": [
-    "setuptools"
-  ],
-  "dmenu-python": [
-    "setuptools"
-  ],
-  "dnachisel": [
-    "setuptools"
-  ],
-  "dns": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dnslib": [
-    "setuptools"
-  ],
-  "dnspython": [
-    "poetry-core",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dnspythonchia": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dnsq": [
-    "setuptools"
-  ],
-  "doc8": [
-    "pbr",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "docformatter": [
-    {
-      "buildSystem": "poetry-core",
-      "from": "1.5.0"
-    },
-    "setuptools"
-  ],
-  "docker": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "docker-py": [
-    "setuptools"
-  ],
-  "docker-pycreds": [
-    "setuptools"
-  ],
-  "dockerfile-parse": [
-    "setuptools"
-  ],
-  "dockerpty": [
-    "setuptools"
-  ],
-  "dockerspawner": [
-    "setuptools"
-  ],
-  "docloud": [
-    "setuptools"
-  ],
-  "docopt": [
-    "setuptools"
-  ],
-  "docopt-ng": [
-    "setuptools"
-  ],
-  "docplex": [
-    "setuptools"
-  ],
-  "docrep": [
-    "setuptools"
-  ],
-  "docstr-coverage": [
-    "setuptools"
-  ],
-  "docstring-parser": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "docstring-to-markdown": [
-    "setuptools"
-  ],
-  "doctest-ignore-unicode": [
-    "setuptools"
-  ],
-  "docutils": [
-    "setuptools"
-  ],
-  "docx2python": [
-    "setuptools"
-  ],
-  "docx2txt": [
-    "setuptools"
-  ],
-  "dodgy": [
-    "setuptools"
-  ],
-  "dogpile-cache": [
-    "setuptools"
-  ],
-  "dogtail": [
-    "setuptools"
-  ],
-  "doit": [
-    "setuptools"
-  ],
-  "doit-py": [
-    "setuptools"
-  ],
-  "domeneshop": [
-    "setuptools"
-  ],
-  "dominate": [
-    "setuptools"
-  ],
-  "doorbirdpy": [
-    "setuptools"
-  ],
-  "dopy": [
-    "setuptools"
-  ],
-  "dot2tex": [
-    "setuptools"
-  ],
-  "dotmap": [
-    "setuptools"
-  ],
-  "dotty-dict": [
-    "poetry-core",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "downloader-cli": [
-    "setuptools"
-  ],
-  "dparse": [
-    "setuptools"
-  ],
-  "dparse2": [
-    "setuptools"
-  ],
-  "dpath": [
-    "setuptools"
-  ],
-  "dpcontracts": [
-    "setuptools"
-  ],
-  "dpkt": [
-    "setuptools"
-  ],
-  "draftjs-exporter": [
-    "setuptools"
-  ],
-  "dragonfly": [
-    "setuptools"
-  ],
-  "dremel3dpy": [
-    "setuptools"
-  ],
-  "drf-jwt": [
-    "setuptools"
-  ],
-  "drf-nested-routers": [
-    "setuptools"
-  ],
-  "drf-spectacular": [
-    "setuptools"
-  ],
-  "drf-spectacular-sidecar": [
-    "setuptools"
-  ],
-  "drf-yasg": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "drivelib": [
-    "setuptools"
-  ],
-  "drms": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dropbox": [
-    "setuptools"
-  ],
-  "ds-store": [
-    "setuptools"
-  ],
-  "ds4drv": [
-    "setuptools"
-  ],
-  "dsinternals": [
-    "setuptools"
-  ],
-  "dsmr-parser": [
-    "setuptools"
-  ],
-  "dtlssocket": [
-    "cython",
-    "setuptools"
-  ],
-  "ducc0": [
-    "setuptools"
-  ],
-  "duckdb": [
-    "pybind11",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "duckdb-engine": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "duecredit": [
-    "setuptools"
-  ],
-  "duet": [
-    "setuptools"
-  ],
-  "dufte": [
-    "setuptools"
-  ],
-  "dugong": [
-    "setuptools"
-  ],
-  "dulwich": [
-    "setuptools"
-  ],
-  "dunamai": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "dungeon-eos": [
-    "setuptools"
-  ],
-  "duo-client": [
-    "setuptools"
-  ],
-  "durus": [
-    "setuptools"
-  ],
-  "dvc-data": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dvc-objects": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dvc-render": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dvc-task": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "dvclive": [
-    "setuptools"
-  ],
-  "dwdwfsapi": [
-    "setuptools"
-  ],
-  "dyn": [
-    "setuptools"
-  ],
-  "dynalite-devices": [
-    "setuptools"
-  ],
-  "dynd": [
-    "cython",
-    "setuptools"
-  ],
-  "eagle100": [
-    "setuptools"
-  ],
-  "easy-thumbnails": [
-    "setuptools"
-  ],
-  "easydict": [
-    "setuptools"
-  ],
-  "easygui": [
-    "setuptools"
-  ],
-  "easyprocess": [
-    "setuptools"
-  ],
-  "easywatch": [
-    "setuptools"
-  ],
-  "ebaysdk": [
-    "setuptools"
-  ],
-  "ec2instanceconnectcli": [
-    "setuptools"
-  ],
-  "ecdsa": [
-    "setuptools"
-  ],
-  "ecoaliface": [
-    "setuptools"
-  ],
-  "ecos": [
-    "setuptools"
-  ],
-  "ecpy": [
-    "setuptools"
-  ],
-  "ecs-logging": [
-    "flit-core",
-    "setuptools"
-  ],
-  "ed25519": [
-    "setuptools"
-  ],
-  "edalize": [
-    "setuptools"
-  ],
-  "editables": [
-    "setuptools"
-  ],
-  "editdistance": [
-    "cython",
-    "setuptools"
-  ],
-  "editdistance-s": [
-    "setuptools"
-  ],
-  "editorconfig": [
-    "setuptools"
-  ],
-  "edward": [
-    "setuptools"
-  ],
-  "eebrightbox": [
-    "pbr"
-  ],
-  "effect": [
-    "setuptools"
-  ],
-  "eggdeps": [
-    "setuptools"
-  ],
-  "egginstallhook": [
-    "setuptools"
-  ],
-  "einops": [
-    "setuptools"
-  ],
-  "eiswarnung": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "elastic-apm": [
-    "setuptools"
-  ],
-  "elasticsearch": [
-    "setuptools"
-  ],
-  "elasticsearch-dsl": [
-    "setuptools"
-  ],
-  "elasticsearchdsl": [
-    "setuptools"
-  ],
-  "elegy": [
-    "poetry",
-    "setuptools"
-  ],
-  "elementpath": [
-    "setuptools"
-  ],
-  "elevate": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "elgato": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "eliot": [
-    "setuptools"
-  ],
-  "eliqonline": [
-    "setuptools"
-  ],
-  "elkm1-lib": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "elmax": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "elmax-api": [
-    "setuptools"
-  ],
-  "email-validator": [
-    "setuptools"
-  ],
-  "emailthreads": [
-    "setuptools"
-  ],
-  "embit": [
-    "setuptools"
-  ],
-  "embrace": [
-    "setuptools"
-  ],
-  "emcee": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "emoji": [
-    "setuptools"
-  ],
-  "empty-files": [
-    "setuptools"
-  ],
-  "empy": [
-    "setuptools"
-  ],
-  "emulated-roku": [
-    "setuptools"
-  ],
-  "emv": [
-    "setuptools"
-  ],
-  "enaml": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "enamlx": [
-    "setuptools"
-  ],
-  "enhancements": [
-    "setuptools"
-  ],
-  "enlighten": [
-    "setuptools"
-  ],
-  "enocean": [
-    "setuptools"
-  ],
-  "enrich": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "entrance": [
-    "setuptools"
-  ],
-  "entrance-with-router-features": [
-    "setuptools"
-  ],
-  "entry-points-txt": [
-    "setuptools"
-  ],
-  "entrypoint2": [
-    "setuptools"
-  ],
-  "entrypoints": [
-    "flit",
-    "flit-core",
-    "setuptools"
-  ],
-  "enturclient": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "enum-compat": [
-    "setuptools"
-  ],
-  "enum34": [
-    "setuptools"
-  ],
-  "enumatch": [
-    "poetry"
-  ],
-  "env-canada": [
-    "setuptools"
-  ],
-  "envier": [
-    "setuptools"
-  ],
-  "environmental-override": [
-    "setuptools"
-  ],
-  "environs": [
-    "setuptools"
-  ],
-  "envisage": [
-    "setuptools"
-  ],
-  "envoy-reader": [
-    "setuptools"
-  ],
-  "envoy-utils": [
-    "setuptools"
-  ],
-  "envs": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "enzyme": [
-    "setuptools"
-  ],
-  "epc": [
-    "setuptools"
-  ],
-  "ephem": [
-    "setuptools"
-  ],
-  "ephemeral-port-reserve": [
-    "setuptools"
-  ],
-  "epson-projector": [
-    "setuptools"
-  ],
-  "eradicate": [
-    "setuptools"
-  ],
-  "erppeek": [
-    "setuptools"
-  ],
-  "escapism": [
-    "setuptools"
-  ],
-  "esprima": [
-    "setuptools"
-  ],
-  "et-xmlfile": [
-    "setuptools"
-  ],
-  "etcd": [
-    "setuptools"
-  ],
-  "ete3": [
-    "setuptools"
-  ],
-  "etebase": [
-    "setuptools"
-  ],
-  "etebase-server": [
-    "setuptools"
-  ],
-  "etelemetry": [
-    "setuptools"
-  ],
-  "eternalegypt": [
-    "setuptools"
-  ],
-  "etesync": [
-    "setuptools"
-  ],
-  "eth-abi": [
-    "setuptools"
-  ],
-  "eth-account": [
-    "setuptools"
-  ],
-  "eth-hash": [
-    "setuptools"
-  ],
-  "eth-keyfile": [
-    "setuptools"
-  ],
-  "eth-keys": [
-    "setuptools"
-  ],
-  "eth-rlp": [
-    "setuptools"
-  ],
-  "eth-typing": [
-    "setuptools"
-  ],
-  "eth-utils": [
-    "setuptools"
-  ],
-  "etils": [
-    "flit-core",
-    "setuptools"
-  ],
-  "etuples": [
-    "setuptools"
-  ],
-  "ev3dev2": [
-    "setuptools"
-  ],
-  "evdev": [
-    "setuptools"
-  ],
-  "eve": [
-    "setuptools"
-  ],
-  "eventlet": [
-    "setuptools"
-  ],
-  "events": [
-    "setuptools"
-  ],
-  "evohome-async": [
-    "setuptools"
-  ],
-  "evtx": [
-    "setuptools"
-  ],
-  "ewmh": [
-    "setuptools"
-  ],
-  "exceptiongroup": [
-    "flit-core",
-    "flit-scm",
-    "flit-core",
-    "setuptools"
-  ],
-  "exchangelib": [
-    "setuptools"
-  ],
-  "exdown": [
-    "setuptools"
-  ],
-  "execnet": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "executing": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "executor": [
-    "setuptools"
-  ],
-  "exif": [
-    "setuptools"
-  ],
-  "exifread": [
-    "setuptools"
-  ],
-  "expandvars": [
-    "setuptools"
-  ],
-  "expects": [
-    "setuptools"
-  ],
-  "expecttest": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "expiringdict": [
-    "setuptools"
-  ],
-  "explorerscript": [
-    "setuptools"
-  ],
-  "exrex": [
-    "setuptools"
-  ],
-  "extractcode": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "extractcode-7z": [
-    "setuptools"
-  ],
-  "extractcode-libarchive": [
-    "setuptools"
-  ],
-  "extras": [
-    "setuptools"
-  ],
-  "eyed3": [
-    "setuptools"
-  ],
-  "ezdxf": [
-    "setuptools"
-  ],
-  "ezyrb": [
-    "setuptools"
-  ],
-  "f90nml": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "faadelays": [
-    "setuptools"
-  ],
-  "fabric": [
-    "setuptools"
-  ],
-  "fabric2": [
-    "setuptools"
-  ],
-  "fabric3": [
-    "setuptools"
-  ],
-  "fabulous": [
-    "setuptools"
-  ],
-  "face": [
-    "setuptools"
-  ],
-  "face-recognition": [
-    "setuptools"
-  ],
-  "face-recognition-models": [
-    "setuptools"
-  ],
-  "facebook-sdk": [
-    "setuptools"
-  ],
-  "facedancer": [
-    "setuptools"
-  ],
-  "factory-boy": [
-    "setuptools"
-  ],
-  "faiss": [
-    "setuptools"
-  ],
-  "fake-useragent": [
-    "setuptools"
-  ],
-  "faker": [
-    "setuptools"
-  ],
-  "fakeredis": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "falcon": [
-    "cython",
-    "setuptools"
-  ],
-  "fancycompleter": [
-    "setuptools"
-  ],
-  "faraday-agent-parameters-types": [
-    "setuptools"
-  ],
-  "faraday-plugins": [
-    "setuptools"
-  ],
-  "fastapi": [
-    "flit-core",
-    "hatchling",
-    "setuptools"
-  ],
-  "fastapi-csrf-protect": [
-    "poetry-core"
-  ],
-  "fastapi-mail": [
-    "hatchling",
-    "poetry-core",
-    "setuptools"
-  ],
-  "fastapi-restful": [
-    "poetry"
-  ],
-  "fastapi-utils": [
-    "poetry"
-  ],
-  "fastavro": [
-    "cython",
-    "setuptools"
-  ],
-  "fastbencode": [
-    "cython",
-    "setuptools"
-  ],
-  "fastcache": [
-    "setuptools"
-  ],
-  "fastcore": [
-    "setuptools"
-  ],
-  "fastdiff": [
-    "setuptools"
-  ],
-  "fastdtw": [
-    "cython",
-    "setuptools"
-  ],
-  "fastecdsa": [
-    "setuptools"
-  ],
-  "fasteners": [
-    "setuptools"
-  ],
-  "fastentrypoints": [
-    "setuptools"
-  ],
-  "fastimport": [
-    "setuptools"
-  ],
-  "fastjsonschema": [
-    "setuptools"
-  ],
-  "fastnumbers": [
-    "setuptools"
-  ],
-  "fastpair": [
-    "setuptools"
-  ],
-  "fastparquet": [
-    "setuptools"
-  ],
-  "fastpbkdf2": [
-    "setuptools"
-  ],
-  "fastprogress": [
-    "setuptools"
-  ],
-  "fastrlock": [
-    "cython",
-    "setuptools"
-  ],
-  "fasttext": [
-    "setuptools"
-  ],
-  "faust-streaming": [
-    "setuptools"
-  ],
-  "favicon": [
-    "setuptools"
-  ],
-  "fb-re2": [
-    "setuptools"
-  ],
-  "fe25519": [
-    "setuptools"
-  ],
-  "feedgen": [
-    "setuptools"
-  ],
-  "feedgenerator": [
-    "setuptools"
-  ],
-  "feedparser": [
-    "setuptools"
-  ],
-  "fenics": [
-    "setuptools"
-  ],
-  "ffcv": [
-    "setuptools"
-  ],
-  "ffmpeg-progress-yield": [
-    "setuptools"
-  ],
-  "ffmpeg-python": [
-    "setuptools"
-  ],
-  "ffmpy": [
-    "setuptools"
-  ],
-  "fhconfparser": [
-    "poetry-core"
-  ],
-  "fiblary3-fork": [
-    "setuptools"
-  ],
-  "fido2": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "fields": [
-    "setuptools"
-  ],
-  "file-read-backwards": [
-    "setuptools"
-  ],
-  "filebrowser-safe": [
-    "setuptools"
-  ],
-  "filebytes": [
-    "setuptools"
-  ],
-  "filecheck": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "filelock": [
-    {
-      "buildSystem": "setuptools",
-      "until": "3.9.0"
-    },
-    {
-      "buildSystem": "setuptools-scm",
-      "until": "3.9.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "3.9.0"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "3.9.0"
-    }
-  ],
-  "filemagic": [
-    "setuptools"
-  ],
-  "filetype": [
-    "setuptools"
-  ],
-  "filterpy": [
-    "setuptools"
-  ],
-  "finalfusion": [
-    "cython",
-    "setuptools"
-  ],
-  "findimports": [
-    "setuptools"
-  ],
-  "findpython": [
-    "setuptools"
-  ],
-  "fingerprints": [
-    "setuptools"
-  ],
-  "finitude": [
-    "setuptools"
-  ],
-  "fints": [
-    "setuptools"
-  ],
-  "fiona": [
-    {
-      "buildSystem": "setuptools",
-      "until": "1.9.0"
-    },
-    {
-      "buildSystem": "cython",
-      "from": "1.9.0"
-    }
-  ],
-  "fipy": [
-    "setuptools"
-  ],
-  "fire": [
-    "setuptools"
-  ],
-  "fireflyalgorithm": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "firetv": [
-    "setuptools"
-  ],
-  "first": [
-    "setuptools"
-  ],
-  "fitbit": [
-    "setuptools"
-  ],
-  "fivem-api": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "fixerio": [
-    "setuptools"
-  ],
-  "fixtures": [
-    "pbr",
-    "setuptools"
-  ],
-  "fjaraskupan": [
-    "setuptools"
-  ],
-  "flake8": [
-    "setuptools"
-  ],
-  "flake8-blind-except": [
-    "setuptools"
-  ],
-  "flake8-bugbear": [
-    "setuptools"
-  ],
-  "flake8-builtins": [
-    "setuptools"
-  ],
-  "flake8-coding": [
-    "setuptools"
-  ],
-  "flake8-commas": [
-    "setuptools"
-  ],
-  "flake8-comprehensions": [
-    "setuptools"
-  ],
-  "flake8-debugger": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "flake8-deprecated": [
-    "setuptools"
-  ],
-  "flake8-docstrings": [
-    "setuptools"
-  ],
-  "flake8-ensure-ascii": [
-    "setuptools"
-  ],
-  "flake8-future-import": [
-    "setuptools"
-  ],
-  "flake8-import-order": [
-    "setuptools"
-  ],
-  "flake8-length": [
-    "setuptools"
-  ],
-  "flake8-mock": [
-    "setuptools"
-  ],
-  "flake8-mutable": [
-    "setuptools"
-  ],
-  "flake8-noqa": [
-    "setuptools"
-  ],
-  "flake8-pep3101": [
-    "setuptools"
-  ],
-  "flake8-plone-hasattr": [
-    "setuptools"
-  ],
-  "flake8-plugin-utils": [
-    "poetry"
-  ],
-  "flake8-polyfill": [
-    "setuptools"
-  ],
-  "flake8-print": [
-    "poetry-core"
-  ],
-  "flake8-pyprojecttoml": [
-    "setuptools"
-  ],
-  "flake8-pytest-style": [
-    "poetry-core"
-  ],
-  "flake8-quotes": [
-    "setuptools"
-  ],
-  "flake8-simplify": [
-    "setuptools"
-  ],
-  "flake8-string-format": [
-    "setuptools"
-  ],
-  "flake8-super-call": [
-    "setuptools"
-  ],
-  "flake8-todo": [
-    "setuptools"
-  ],
-  "flake8-tuple": [
-    "setuptools"
-  ],
-  "flaky": [
-    "setuptools"
-  ],
-  "flametree": [
-    "setuptools"
-  ],
-  "flammkuchen": [
-    "setuptools"
-  ],
-  "flanker": [
-    "setuptools"
-  ],
-  "flashtext": [
-    "setuptools"
-  ],
-  "flask": [
-    "setuptools"
-  ],
-  "flask-admin": [
-    "setuptools"
-  ],
-  "flask-api": [
-    "setuptools"
-  ],
-  "flask-appbuilder": [
-    "setuptools"
-  ],
-  "flask-assets": [
-    "setuptools"
-  ],
-  "flask-autoindex": [
-    "setuptools"
-  ],
-  "flask-babel": [
-    "setuptools"
-  ],
-  "flask-babelex": [
-    "setuptools"
-  ],
-  "flask-basicauth": [
-    "setuptools"
-  ],
-  "flask-bcrypt": [
-    "setuptools"
-  ],
-  "flask-bootstrap": [
-    "setuptools"
-  ],
-  "flask-caching": [
-    "setuptools"
-  ],
-  "flask-common": [
-    "setuptools"
-  ],
-  "flask-compress": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "flask-cors": [
-    "setuptools"
-  ],
-  "flask-elastic": [
-    "setuptools"
-  ],
-  "flask-gravatar": [
-    "setuptools"
-  ],
-  "flask-httpauth": [
-    "setuptools"
-  ],
-  "flask-jwt-extended": [
-    "setuptools"
-  ],
-  "flask-limiter": [
-    "setuptools"
-  ],
-  "flask-login": [
-    "setuptools"
-  ],
-  "flask-mail": [
-    "setuptools"
-  ],
-  "flask-mailman": [
-    "poetry-core"
-  ],
-  "flask-marshmallow": [
-    "setuptools"
-  ],
-  "flask-migrate": [
-    "setuptools"
-  ],
-  "flask-minio": [
-    "pytest-runner",
-    "setuptools"
-  ],
-  "flask-mongoengine": [
-    "setuptools"
-  ],
-  "flask-openid": [
-    "setuptools"
-  ],
-  "flask-paginate": [
-    "setuptools"
-  ],
-  "flask-paranoid": [
-    "setuptools"
-  ],
-  "flask-principal": [
-    "setuptools"
-  ],
-  "flask-pymongo": [
-    "setuptools"
-  ],
-  "flask-restful": [
-    "setuptools"
-  ],
-  "flask-restplus": [
-    "setuptools"
-  ],
-  "flask-restx": [
-    "setuptools"
-  ],
-  "flask-reverse-proxy-fix": [
-    "setuptools"
-  ],
-  "flask-script": [
-    "setuptools"
-  ],
-  "flask-seasurf": [
-    "setuptools"
-  ],
-  "flask-security-too": [
-    "setuptools"
-  ],
-  "flask-session": [
-    "setuptools"
-  ],
-  "flask-silk": [
-    "setuptools"
-  ],
-  "flask-socketio": [
-    "setuptools"
-  ],
-  "flask-sockets": [
-    "setuptools"
-  ],
-  "flask-sqlalchemy": [
-    "setuptools"
-  ],
-  "flask-sslify": [
-    "setuptools"
-  ],
-  "flask-swagger": [
-    "setuptools"
-  ],
-  "flask-swagger-ui": [
-    "setuptools"
-  ],
-  "flask-talisman": [
-    "setuptools"
-  ],
-  "flask-testing": [
-    "setuptools"
-  ],
-  "flask-versioned": [
-    "setuptools"
-  ],
-  "flask-wtf": [
-    "setuptools"
-  ],
-  "flaskbabel": [
-    "setuptools"
-  ],
-  "flatbuffers": [
-    "setuptools"
-  ],
-  "flatdict": [
-    "setuptools"
-  ],
-  "flatten-dict": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "flax": [
-    "setuptools"
-  ],
-  "fleep": [
-    "setuptools"
-  ],
-  "flet": [
-    "poetry-core"
-  ],
-  "flet-core": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "flexmock": [
-    "setuptools"
-  ],
-  "flickrapi": [
-    "setuptools"
-  ],
-  "flipr-api": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "flit": [
-    "flit-core"
-  ],
-  "flit-scm": [
-    "flit-core",
-    "setuptools-scm"
-  ],
-  "flow-record": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "flower": [
-    "setuptools"
-  ],
-  "flowlogs-reader": [
-    "setuptools"
-  ],
-  "fluent-logger": [
-    "setuptools"
-  ],
-  "flufl-bounce": [
-    "setuptools"
-  ],
-  "flufl-i18n": [
-    "setuptools"
-  ],
-  "flufl-lock": [
-    "setuptools"
-  ],
-  "flux-led": [
-    "setuptools"
-  ],
-  "flynt": [
-    "setuptools"
-  ],
-  "fn": [
-    "setuptools"
-  ],
-  "fnvhash": [
-    "setuptools"
-  ],
-  "folium": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "fontmake": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "fontmath": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "fontparts": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "fontpens": [
-    "setuptools"
-  ],
-  "fonttools": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "foobot-async": [
-    "setuptools"
-  ],
-  "foolscap": [
-    "setuptools"
-  ],
-  "forbiddenfruit": [
-    "setuptools"
-  ],
-  "fordpass": [
-    "setuptools"
-  ],
-  "forecast-solar": [
-    "setuptools"
-  ],
-  "formbox": [
-    "flit-core",
-    "setuptools"
-  ],
-  "formencode": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "fortiosapi": [
-    "setuptools"
-  ],
-  "foundationdb51": [
-    "setuptools"
-  ],
-  "foundationdb52": [
-    "setuptools"
-  ],
-  "foundationdb60": [
-    "setuptools"
-  ],
-  "foundationdb61": [
-    "setuptools"
-  ],
-  "fountains": [
-    "setuptools"
-  ],
-  "foxdot": [
-    "setuptools"
-  ],
-  "fpdf": [
-    "setuptools"
-  ],
-  "fpylll": [
-    "cython",
-    "setuptools"
-  ],
-  "fpyutils": [
-    "setuptools"
-  ],
-  "fqdn": [
-    "setuptools"
-  ],
-  "freebox-api": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "freetype-py": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "freezegun": [
-    "setuptools"
-  ],
-  "frigidaire": [
-    "setuptools"
-  ],
-  "frilouz": [
-    "setuptools"
-  ],
-  "fritzconnection": [
-    "setuptools"
-  ],
-  "fritzprofiles": [
-    "setuptools"
-  ],
-  "frozendict": [
-    "setuptools"
-  ],
-  "frozenlist": [
-    "cython",
-    "setuptools"
-  ],
-  "fs": [
-    "setuptools"
-  ],
-  "fs-s3fs": [
-    "setuptools"
-  ],
-  "fsspec": [
-    "setuptools"
-  ],
-  "ftfy": [
-    "poetry",
-    "setuptools"
-  ],
-  "ftputil": [
-    "setuptools"
-  ],
-  "func-timeout": [
-    "setuptools"
-  ],
-  "funcparserlib": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "funcsigs": [
-    "setuptools"
-  ],
-  "functorch": [
-    "setuptools"
-  ],
-  "funcy": [
-    "setuptools"
-  ],
-  "furl": [
-    "setuptools"
-  ],
-  "furo": [
-    "flit-core",
-    "setuptools"
-  ],
-  "fuse": [
-    "setuptools"
-  ],
-  "fusepy": [
-    "setuptools"
-  ],
-  "future": [
-    "setuptools"
-  ],
-  "future-fstrings": [
-    "setuptools"
-  ],
-  "future-typing": [
-    "setuptools"
-  ],
-  "futures": [
-    "setuptools"
-  ],
-  "futurist": [
-    "pbr",
-    "setuptools"
-  ],
-  "fuzzyfinder": [
-    "setuptools"
-  ],
-  "fuzzywuzzy": [
-    "setuptools"
-  ],
-  "fx2": [
-    "setuptools"
-  ],
-  "galario": [
-    "cython"
-  ],
-  "galois": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "gamble": [
-    "setuptools"
-  ],
-  "gaphas": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "garages-amsterdam": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "garminconnect": [
-    "setuptools"
-  ],
-  "garminconnect-aio": [
-    "setuptools"
-  ],
-  "garminconnect-ha": [
-    "setuptools"
-  ],
-  "gast": [
-    "setuptools"
-  ],
-  "gatt": [
-    "setuptools"
-  ],
-  "gattlib": [
-    "setuptools"
-  ],
-  "gb-io": [
-    "setuptools"
-  ],
-  "gbinder-python": [
-    "cython",
-    "setuptools"
-  ],
-  "gbulb": [
-    "setuptools"
-  ],
-  "gcal-sync": [
-    "setuptools"
-  ],
-  "gcovr": [
-    "setuptools"
-  ],
-  "gcsfs": [
-    "setuptools"
-  ],
-  "gdal": [
-    "setuptools"
-  ],
-  "gdata": [
-    "setuptools"
-  ],
-  "gdown": [
-    "setuptools"
-  ],
-  "gdtoolkit": [
-    "setuptools"
-  ],
-  "ge25519": [
-    "setuptools"
-  ],
-  "gehomesdk": [
-    "setuptools"
-  ],
-  "gekitchen": [
-    "setuptools"
-  ],
-  "gemfileparser": [
-    "setuptools"
-  ],
-  "genanki": [
-    "setuptools"
-  ],
-  "generic": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "geniushub-client": [
-    "setuptools"
-  ],
-  "genome-collector": [
-    "setuptools"
-  ],
-  "genpy": [
-    "setuptools"
-  ],
-  "genshi": [
-    "setuptools"
-  ],
-  "gensim": [
-    "cython",
-    "setuptools"
-  ],
-  "genson": [
-    "setuptools"
-  ],
-  "gentools": [
-    "setuptools"
-  ],
-  "genzshcomp": [
-    "setuptools"
-  ],
-  "geoalchemy2": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "geocachingapi": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "geographiclib": [
-    "setuptools"
-  ],
-  "geoip": [
-    "setuptools"
-  ],
-  "geoip2": [
-    "setuptools"
-  ],
-  "geojson": [
-    "setuptools"
-  ],
-  "geojson-client": [
-    "setuptools"
-  ],
-  "geomet": [
-    "setuptools"
-  ],
-  "geometric": [
-    "setuptools"
-  ],
-  "geopandas": [
-    "setuptools"
-  ],
-  "geopy": [
-    "setuptools"
-  ],
-  "georss-client": [
-    "setuptools"
-  ],
-  "georss-generic-client": [
-    "setuptools"
-  ],
-  "georss-ign-sismologia-client": [
-    "setuptools"
-  ],
-  "georss-ingv-centro-nazionale-terremoti-client": [
-    "setuptools"
-  ],
-  "georss-nrcan-earthquakes-client": [
-    "setuptools"
-  ],
-  "georss-qld-bushfire-alert-client": [
-    "setuptools"
-  ],
-  "georss-tfs-incidents-client": [
-    "setuptools"
-  ],
-  "georss-wa-dfes-client": [
-    "setuptools"
-  ],
-  "get-video-properties": [
-    "setuptools"
-  ],
-  "getkey": [
-    "setuptools"
-  ],
-  "getmac": [
-    "setuptools"
-  ],
-  "gevent": [
-    "setuptools"
-  ],
-  "gevent-socketio": [
-    "setuptools"
-  ],
-  "gevent-websocket": [
-    "setuptools"
-  ],
-  "geventhttpclient": [
-    "setuptools"
-  ],
-  "gflags": [
-    "setuptools"
-  ],
-  "ghapi": [
-    "setuptools"
-  ],
-  "ghdiff": [
-    "setuptools"
-  ],
-  "ghp-import": [
-    "setuptools"
-  ],
-  "ghrepo-stats": [
-    "setuptools"
-  ],
-  "gibberish-detector": [
-    "setuptools"
-  ],
-  "gidgethub": [
-    "flit-core",
-    "setuptools"
-  ],
-  "gigalixir": [
-    "setuptools"
-  ],
-  "gin-config": [
-    "setuptools"
-  ],
-  "gios": [
-    "setuptools"
-  ],
-  "gipc": [
-    "setuptools"
-  ],
-  "gistyc": [
-    "setuptools"
-  ],
-  "git-annex-adapter": [
-    "setuptools"
-  ],
-  "git-autoshare": [
-    "setuptools-scm"
-  ],
-  "git-filter-repo": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "git-revise": [
-    "setuptools"
-  ],
-  "git-sweep": [
-    "setuptools"
-  ],
-  "gitdb": [
-    "setuptools"
-  ],
-  "github-to-sqlite": [
-    "setuptools"
-  ],
-  "github-webhook": [
-    "setuptools"
-  ],
-  "github3-py": [
-    "setuptools"
-  ],
-  "gitlint": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.19"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.19"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "0.19"
-    }
-  ],
-  "gitlint-core": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.19"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.19"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "0.19"
-    }
-  ],
-  "gitpython": [
-    "setuptools"
-  ],
-  "glad": [
-    "setuptools"
-  ],
-  "glances-api": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "glasgow": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "glcontext": [
-    "setuptools"
-  ],
-  "glean-parser": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "glean-sdk": [
-    "setuptools"
-  ],
-  "glfw": [
-    "setuptools"
-  ],
-  "glob2": [
-    "setuptools"
-  ],
-  "globus-sdk": [
-    "setuptools"
-  ],
-  "glom": [
-    "setuptools"
-  ],
-  "glymur": [
-    "setuptools"
-  ],
-  "glyphslib": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "gmpy": [
-    "setuptools"
-  ],
-  "gmpy2": [
-    "setuptools"
-  ],
-  "gntp": [
-    "setuptools"
-  ],
-  "gnureadline": [
-    "setuptools"
-  ],
-  "goalzero": [
-    "setuptools"
-  ],
-  "goobook": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "goocalendar": [
-    "setuptools"
-  ],
-  "goodwe": [
-    "setuptools"
-  ],
-  "google-api-core": [
-    "setuptools"
-  ],
-  "google-api-python-client": [
-    "setuptools"
-  ],
-  "google-auth": [
-    "setuptools"
-  ],
-  "google-auth-httplib2": [
-    "setuptools"
-  ],
-  "google-auth-oauthlib": [
-    "setuptools"
-  ],
-  "google-cloud-access-context-manager": [
-    "setuptools"
-  ],
-  "google-cloud-appengine-logging": [
-    "setuptools"
-  ],
-  "google-cloud-asset": [
-    "setuptools"
-  ],
-  "google-cloud-audit-log": [
-    "setuptools"
-  ],
-  "google-cloud-automl": [
-    "setuptools"
-  ],
-  "google-cloud-bigquery": [
-    "setuptools"
-  ],
-  "google-cloud-bigquery-datatransfer": [
-    "setuptools"
-  ],
-  "google-cloud-bigquery-logging": [
-    "setuptools"
-  ],
-  "google-cloud-bigquery-storage": [
-    "setuptools"
-  ],
-  "google-cloud-bigtable": [
-    "setuptools"
-  ],
-  "google-cloud-compute": [
-    "setuptools"
-  ],
-  "google-cloud-container": [
-    "setuptools"
-  ],
-  "google-cloud-core": [
-    "setuptools"
-  ],
-  "google-cloud-datacatalog": [
-    "setuptools"
-  ],
-  "google-cloud-dataproc": [
-    "setuptools"
-  ],
-  "google-cloud-datastore": [
-    "setuptools"
-  ],
-  "google-cloud-dlp": [
-    "setuptools"
-  ],
-  "google-cloud-dns": [
-    "setuptools"
-  ],
-  "google-cloud-error-reporting": [
-    "setuptools"
-  ],
-  "google-cloud-firestore": [
-    "setuptools"
-  ],
-  "google-cloud-iam": [
-    "setuptools"
-  ],
-  "google-cloud-iam-logging": [
-    "setuptools"
-  ],
-  "google-cloud-iot": [
-    "setuptools"
-  ],
-  "google-cloud-kms": [
-    "setuptools"
-  ],
-  "google-cloud-language": [
-    "setuptools"
-  ],
-  "google-cloud-logging": [
-    "setuptools"
-  ],
-  "google-cloud-monitoring": [
-    "setuptools"
-  ],
-  "google-cloud-org-policy": [
-    "setuptools"
-  ],
-  "google-cloud-os-config": [
-    "setuptools"
-  ],
-  "google-cloud-pubsub": [
-    "setuptools"
-  ],
-  "google-cloud-redis": [
-    "setuptools"
-  ],
-  "google-cloud-resource-manager": [
-    "setuptools"
-  ],
-  "google-cloud-runtimeconfig": [
-    "setuptools"
-  ],
-  "google-cloud-secret-manager": [
-    "setuptools"
-  ],
-  "google-cloud-securitycenter": [
-    "setuptools"
-  ],
-  "google-cloud-spanner": [
-    "setuptools"
-  ],
-  "google-cloud-speech": [
-    "setuptools"
-  ],
-  "google-cloud-storage": [
-    "setuptools"
-  ],
-  "google-cloud-tasks": [
-    "setuptools"
-  ],
-  "google-cloud-testutils": [
-    "setuptools"
-  ],
-  "google-cloud-texttospeech": [
-    "setuptools"
-  ],
-  "google-cloud-trace": [
-    "setuptools"
-  ],
-  "google-cloud-translate": [
-    "setuptools"
-  ],
-  "google-cloud-videointelligence": [
-    "setuptools"
-  ],
-  "google-cloud-vision": [
-    "setuptools"
-  ],
-  "google-cloud-websecurityscanner": [
-    "setuptools"
-  ],
-  "google-compute-engine": [
-    "setuptools"
-  ],
-  "google-crc32c": [
-    "setuptools"
-  ],
-  "google-i18n-address": [
-    "setuptools"
-  ],
-  "google-nest-sdm": [
-    "setuptools"
-  ],
-  "google-pasta": [
-    "setuptools"
-  ],
-  "google-re2": [
-    "setuptools"
-  ],
-  "google-resumable-media": [
-    "setuptools"
-  ],
-  "googleapis-common-protos": [
-    "setuptools"
-  ],
-  "googlemaps": [
-    "setuptools"
-  ],
-  "googletrans": [
-    "setuptools"
-  ],
-  "gorilla": [
-    "setuptools"
-  ],
-  "govee-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "goveelights": [
-    "setuptools"
-  ],
-  "gpapi": [
-    "setuptools"
-  ],
-  "gpaw": [
-    "setuptools"
-  ],
-  "gphoto2": [
-    "setuptools"
-  ],
-  "gpiozero": [
-    "setuptools"
-  ],
-  "gplaycli": [
-    "setuptools"
-  ],
-  "gprof2dot": [
-    "setuptools"
-  ],
-  "gps3": [
-    "setuptools"
-  ],
-  "gpsoauth": [
-    "setuptools"
-  ],
-  "gpt-2-simple": [
-    "setuptools"
-  ],
-  "gpxpy": [
-    "setuptools"
-  ],
-  "gpy": [
-    "cython",
-    "setuptools"
-  ],
-  "gpyopt": [
-    "cython",
-    "setuptools"
-  ],
-  "gql": [
-    "setuptools"
-  ],
-  "gqt": [
-    "setuptools"
-  ],
-  "gradient": [
-    "setuptools"
-  ],
-  "gradient-statsd": [
-    "setuptools"
-  ],
-  "gradient-utils": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "grammalecte": [
-    "setuptools"
-  ],
-  "grandalf": [
-    "setuptools"
-  ],
-  "graph-tool": [
-    "setuptools"
-  ],
-  "grapheme": [
-    "setuptools"
-  ],
-  "graphene": [
-    "setuptools"
-  ],
-  "graphene-django": [
-    "setuptools"
-  ],
-  "graphite-web": [
-    "setuptools"
-  ],
-  "graphql-core": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "graphql-relay": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "graphql-server-core": [
-    "setuptools"
-  ],
-  "graphql-subscription-manager": [
-    "setuptools"
-  ],
-  "graphqlclient": [
-    "setuptools"
-  ],
-  "graphtage": [
-    "setuptools"
-  ],
-  "graphviz": [
-    "setuptools"
-  ],
-  "grappelli-safe": [
-    "setuptools"
-  ],
-  "greatfet": [
-    "setuptools"
-  ],
-  "greeclimate": [
-    "setuptools"
-  ],
-  "green": [
-    "setuptools"
-  ],
-  "greeneye-monitor": [
-    "setuptools"
-  ],
-  "greenlet": [
-    "setuptools"
-  ],
-  "gremlinpython": [
-    "setuptools"
-  ],
-  "grequests": [
-    "setuptools"
-  ],
-  "gridnet": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "griffe": [
-    "pdm-pep517",
-    "setuptools"
-  ],
-  "grip": [
-    "setuptools"
-  ],
-  "groestlcoin-hash": [
-    "setuptools"
-  ],
-  "growattserver": [
-    "setuptools"
-  ],
-  "grpc-google-iam-v1": [
-    "setuptools"
-  ],
-  "grpcio": [
-    "cython",
-    "setuptools"
-  ],
-  "grpcio-gcp": [
-    "setuptools"
-  ],
-  "grpcio-reflection": [
-    "setuptools"
-  ],
-  "grpcio-status": [
-    "setuptools"
-  ],
-  "grpcio-tools": [
-    "setuptools"
-  ],
-  "grpclib": [
-    "setuptools"
-  ],
-  "gruut": [
-    "setuptools"
-  ],
-  "gruut-ipa": [
-    "setuptools"
-  ],
-  "gsd": [
-    "cython",
-    "setuptools"
-  ],
-  "gspread": [
-    "setuptools"
-  ],
-  "gssapi": [
-    "cython",
-    "setuptools"
-  ],
-  "gst-python": [
-    "setuptools"
-  ],
-  "gtfs-realtime-bindings": [
-    "setuptools"
-  ],
-  "gtimelog": [
-    "setuptools"
-  ],
-  "gtts": [
-    "setuptools"
-  ],
-  "gtts-token": [
-    "setuptools"
-  ],
-  "gudhi": [
-    "cython",
-    "setuptools"
-  ],
-  "guessit": [
-    "setuptools"
-  ],
-  "guestfs": [
-    "setuptools"
-  ],
-  "gumath": [
-    "setuptools"
-  ],
-  "gunicorn": [
-    "setuptools"
-  ],
-  "guppy3": [
-    "setuptools"
-  ],
-  "gurobipy": [
-    "setuptools"
-  ],
-  "guzzle-sphinx-theme": [
-    "setuptools"
-  ],
-  "gviz-api": [
-    "setuptools"
-  ],
-  "gvm-tools": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "gym": [
-    "setuptools"
-  ],
-  "gyp": [
-    "setuptools"
-  ],
-  "gypsum-dl": [
-    "setuptools"
-  ],
-  "h11": [
-    "setuptools"
-  ],
-  "h2": [
-    "setuptools"
-  ],
-  "h3": [
-    "cython",
-    "setuptools"
-  ],
-  "h5netcdf": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "h5py": [
-    "cython",
-    "setuptools"
-  ],
-  "h5py-mpi": [
-    "cython",
-    "setuptools"
-  ],
-  "ha-ffmpeg": [
-    "setuptools"
-  ],
-  "ha-philipsjs": [
-    "setuptools"
-  ],
-  "habanero": [
-    "setuptools"
-  ],
-  "habitipy": [
-    "setuptools"
-  ],
-  "hachoir": [
-    "setuptools"
-  ],
-  "hacking": [
-    "pbr",
-    "setuptools"
-  ],
-  "hahomematic": [
-    "setuptools"
-  ],
-  "halo": [
-    "setuptools"
-  ],
-  "halohome": [
-    "setuptools"
-  ],
-  "hammett": [
-    "setuptools"
-  ],
-  "hammock": [
-    "setuptools"
-  ],
-  "handout": [
-    "setuptools"
-  ],
-  "hangups": [
-    "setuptools"
-  ],
-  "hap-python": [
-    "setuptools"
-  ],
-  "hashids": [
-    "flit-core"
-  ],
-  "hass-nabucasa": [
-    "setuptools"
-  ],
-  "hatasmota": [
-    "setuptools"
-  ],
-  "hatch-fancy-pypi-readme": [
-    "hatchling",
-    "setuptools"
-  ],
-  "hatch-nodejs-version": [
-    "hatchling"
-  ],
-  "hatch-vcs": [
-    "hatchling",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "hatchling": [
-    "setuptools"
-  ],
-  "haversine": [
-    "setuptools"
-  ],
-  "hawkauthlib": [
-    "setuptools"
-  ],
-  "hcloud": [
-    "setuptools"
-  ],
-  "hcs-utils": [
-    "setuptools"
-  ],
-  "hdate": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "hdbscan": [
-    "cython",
-    "setuptools"
-  ],
-  "hdfs": [
-    "setuptools"
-  ],
-  "hdmedians": [
-    "cython",
-    "setuptools"
-  ],
-  "headerparser": [
-    "setuptools"
-  ],
-  "heapdict": [
-    "setuptools"
-  ],
-  "heatzypy": [
-    "setuptools"
-  ],
-  "helpdev": [
-    "setuptools"
-  ],
-  "helper": [
-    "setuptools"
-  ],
-  "hepunits": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "herepy": [
-    "setuptools"
-  ],
-  "hetzner": [
-    "setuptools"
-  ],
-  "hexbytes": [
-    "setuptools"
-  ],
-  "hexdump": [
-    "setuptools"
-  ],
-  "hg-evolve": [
-    "setuptools"
-  ],
-  "hg-git": [
-    "setuptools"
-  ],
-  "hglib": [
-    "setuptools"
-  ],
-  "hickle": [
-    "setuptools"
-  ],
-  "hid": [
-    "setuptools"
-  ],
-  "hidapi": [
-    "cython",
-    "setuptools"
-  ],
-  "hieroglyph": [
-    "setuptools"
-  ],
-  "hijri-converter": [
-    "setuptools"
-  ],
-  "hikvision": [
-    "setuptools"
-  ],
-  "hiredis": [
-    "setuptools"
-  ],
-  "hiro": [
-    "setuptools"
-  ],
-  "hiyapyco": [
-    "setuptools"
-  ],
-  "hjson": [
-    "setuptools"
-  ],
-  "hkavr": [
-    "setuptools"
-  ],
-  "hkdf": [
-    "setuptools"
-  ],
-  "hlk-sw16": [
-    "setuptools"
-  ],
-  "hmmlearn": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "hocr-tools": [
-    "setuptools"
-  ],
-  "hole": [
-    "setuptools"
-  ],
-  "holidays": [
-    "setuptools"
-  ],
-  "holoviews": [
-    "setuptools"
-  ],
-  "home-assistant-bluetooth": [
-    "cython",
-    "poetry-core",
-    "setuptools"
-  ],
-  "homeassistant-pyozw": [
-    "cython",
-    "setuptools"
-  ],
-  "homeconnect": [
-    "setuptools"
-  ],
-  "homematicip": [
-    "setuptools"
-  ],
-  "homepluscontrol": [
-    "setuptools"
-  ],
-  "hopcroftkarp": [
-    "setuptools"
-  ],
-  "howdoi": [
-    "setuptools"
-  ],
-  "hpack": [
-    "setuptools"
-  ],
-  "hpccm": [
-    "setuptools"
-  ],
-  "hs-dbus-signature": [
-    "setuptools"
-  ],
-  "hsaudiotag3k": [
-    "setuptools"
-  ],
-  "hsluv": [
-    "setuptools"
-  ],
-  "hstspreload": [
-    "setuptools"
-  ],
-  "html-sanitizer": [
-    "setuptools"
-  ],
-  "html-tag-names": [
-    "poetry"
-  ],
-  "html-void-elements": [
-    "poetry"
-  ],
-  "html2text": [
-    "setuptools"
-  ],
-  "html5-parser": [
-    "setuptools"
-  ],
-  "html5lib": [
-    "flit-core",
-    "setuptools"
-  ],
-  "htmllaundry": [
-    "setuptools"
-  ],
-  "htmlmin": [
-    "setuptools"
-  ],
-  "htseq": [
-    "cython",
-    "setuptools"
-  ],
-  "httmock": [
-    "setuptools"
-  ],
-  "http-ece": [
-    "setuptools"
-  ],
-  "http-message-signatures": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "http-parser": [
-    "setuptools"
-  ],
-  "http-sfv": [
-    "setuptools"
-  ],
-  "httpagentparser": [
-    "setuptools"
-  ],
-  "httpauth": [
-    "setuptools"
-  ],
-  "httpbin": [
-    "setuptools"
-  ],
-  "httpcore": [
-    "setuptools"
-  ],
-  "httpie": [
-    "setuptools"
-  ],
-  "httpie-ntlm": [
-    "setuptools"
-  ],
-  "httplib2": [
-    "setuptools"
-  ],
-  "httpretty": [
-    "setuptools"
-  ],
-  "httpserver": [
-    "setuptools"
-  ],
-  "httpsig": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "httptools": [
-    "setuptools"
-  ],
-  "httpx": [
-    {
-      "buildSystem": "hatch-fancy-pypi-readme",
-      "from": "0.23.1"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.23.1"
-    },
-    {
-      "buildSystem": "setuptools",
-      "until": "0.23.1"
-    }
-  ],
-  "httpx-auth": [
-    "setuptools"
-  ],
-  "httpx-ntlm": [
-    "setuptools"
-  ],
-  "httpx-socks": [
-    "setuptools"
-  ],
-  "huawei-lte-api": [
-    "setuptools"
-  ],
-  "huey": [
-    "setuptools"
-  ],
-  "huggingface-hub": [
-    "setuptools"
-  ],
-  "huisbaasje-client": [
-    "setuptools"
-  ],
-  "humanfriendly": [
-    "setuptools"
-  ],
-  "humanize": [
-    {
-      "buildSystem": "setuptools",
-      "until": "4.6.0"
-    },
-    {
-      "buildSystem": "setuptools-scm",
-      "until": "4.6.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "4.6.0"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "4.6.0"
-    }
-  ],
-  "humblewx": [
-    "setuptools"
-  ],
-  "hupper": [
-    "setuptools"
-  ],
-  "huum": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "hvac": [
-    {
-      "buildSystem": "setuptools",
-      "until": "1.0.0"
-    },
-    {
-      "buildSystem": "poetry-core",
-      "from": "1.0.0"
-    }
-  ],
-  "hvplot": [
-    "setuptools"
-  ],
-  "hwi": [
-    "setuptools"
-  ],
-  "hy": [
-    "setuptools"
-  ],
-  "hydra": [
-    "setuptools"
-  ],
-  "hydra-check": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "hydrawiser": [
-    "setuptools"
-  ],
-  "hypchat": [
-    "setuptools"
-  ],
-  "hypercorn": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "hyperframe": [
-    "setuptools"
-  ],
-  "hyperion-py": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "hyperlink": [
-    "setuptools"
-  ],
-  "hyperopt": [
-    "setuptools"
-  ],
-  "hypothesis": [
-    "setuptools"
-  ],
-  "hypothesis-auto": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "hypothesis-graphql": [
-    "poetry"
-  ],
-  "hypothesmith": [
-    "setuptools"
-  ],
-  "hyppo": [
-    "setuptools"
-  ],
-  "hyrule": [
-    "setuptools"
-  ],
-  "i-pi": [
-    "setuptools"
-  ],
-  "i2c-tools": [
-    "setuptools"
-  ],
-  "i2csense": [
-    "setuptools"
-  ],
-  "i3-py": [
-    "setuptools"
-  ],
-  "i3ipc": [
-    "setuptools"
-  ],
-  "iapws": [
-    "setuptools"
-  ],
-  "iaqualink": [
-    "hatch-vcs",
-    "hatchling",
-    "setuptools"
-  ],
-  "ibeacon-ble": [
-    "poetry-core"
-  ],
-  "ibis": [
-    "setuptools"
-  ],
-  "ibis-framework": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ibm-cloud-sdk-core": [
-    "setuptools"
-  ],
-  "ibm-watson": [
-    "setuptools"
-  ],
-  "icalendar": [
-    "setuptools"
-  ],
-  "icecream": [
-    "setuptools"
-  ],
-  "icmplib": [
-    "pbr",
-    "setuptools"
-  ],
-  "icnsutil": [
-    "setuptools"
-  ],
-  "icontract": [
-    "setuptools"
-  ],
-  "ics": [
-    "setuptools"
-  ],
-  "idasen": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "identify": [
-    "setuptools"
-  ],
-  "idna": [
-    "flit-core",
-    "setuptools"
-  ],
-  "idna-ssl": [
-    "setuptools"
-  ],
-  "ifaddr": [
-    "setuptools"
-  ],
-  "ifconfig-parser": [
-    "setuptools"
-  ],
-  "ifcopenshell": [
-    "setuptools"
-  ],
-  "ignite": [
-    "setuptools"
-  ],
-  "igraph": [
-    "setuptools"
-  ],
-  "ihatemoney": [
-    "setuptools"
-  ],
-  "ijson": [
-    "setuptools"
-  ],
-  "ilua": [
-    "setuptools"
-  ],
-  "image-go-nord": [
-    "setuptools"
-  ],
-  "image-match": [
-    "setuptools"
-  ],
-  "imagecodecs-lite": [
-    "cython",
-    "setuptools"
-  ],
-  "imagecorruptions": [
-    "setuptools"
-  ],
-  "imageio": [
-    "setuptools"
-  ],
-  "imageio-ffmpeg": [
-    "setuptools"
-  ],
-  "imagesize": [
-    "setuptools"
-  ],
-  "imantics": [
-    "setuptools"
-  ],
-  "imap-tools": [
-    "setuptools"
-  ],
-  "imapclient": [
-    "setuptools"
-  ],
-  "imaplib2": [
-    "setuptools"
-  ],
-  "imbalanced-learn": [
-    "setuptools"
-  ],
-  "img2pdf": [
-    "setuptools"
-  ],
-  "imgsize": [
-    "setuptools"
-  ],
-  "iminuit": [
-    "setuptools"
-  ],
-  "immutabledict": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "immutables": [
-    "setuptools"
-  ],
-  "impacket": [
-    "setuptools"
-  ],
-  "importlab": [
-    "setuptools"
-  ],
-  "importlib-metadata": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "importlib-resources": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "importmagic": [
-    "setuptools"
-  ],
-  "impyla": [
-    "setuptools"
-  ],
-  "imread": [
-    "setuptools"
-  ],
-  "imutils": [
-    "setuptools"
-  ],
-  "in-place": [
-    "setuptools"
-  ],
-  "incomfort-client": [
-    "setuptools"
-  ],
-  "incremental": [
-    "setuptools"
-  ],
-  "infinity": [
-    "setuptools"
-  ],
-  "inflect": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "inflection": [
-    "setuptools"
-  ],
-  "influxdb": [
-    "setuptools"
-  ],
-  "influxdb-client": [
-    "setuptools"
-  ],
-  "inform": [
-    "setuptools"
-  ],
-  "iniconfig": [
-    {
-      "buildSystem": "setuptools",
-      "until": "2.0.0"
-    },
-    {
-      "buildSystem": "setuptools-scm",
-      "until": "2.0.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "2.0.0"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "2.0.0"
-    }
-  ],
-  "inifile": [
-    "setuptools"
-  ],
-  "iniparse": [
-    "setuptools"
-  ],
-  "injector": [
-    "setuptools"
-  ],
-  "inkbird-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "inkex": [
-    "setuptools"
-  ],
-  "inotify": [
-    "setuptools"
-  ],
-  "inotify-simple": [
-    "setuptools"
-  ],
-  "inotifyrecursive": [
-    "setuptools"
-  ],
-  "inquirer": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "insegel": [
-    "setuptools"
-  ],
-  "insights-core": [
-    "setuptools"
-  ],
-  "installer": [
-    "flit-core"
-  ],
-  "insteon-frontend-home-assistant": [
-    "setuptools"
-  ],
-  "intake": [
-    "setuptools"
-  ],
-  "intake-parquet": [
-    "setuptools"
-  ],
-  "intbitset": [
-    "setuptools"
-  ],
-  "intelhex": [
-    "setuptools"
-  ],
-  "intellifire4py": [
-    "setuptools"
-  ],
-  "internetarchive": [
-    "setuptools"
-  ],
-  "interruptingcow": [
-    "setuptools"
-  ],
-  "intervaltree": [
-    "setuptools"
-  ],
-  "into-dbus-python": [
-    "setuptools"
-  ],
-  "intreehooks": [
-    "setuptools"
-  ],
-  "invocations": [
-    "setuptools"
-  ],
-  "invoke": [
-    "setuptools"
-  ],
-  "iocapture": [
-    "setuptools"
-  ],
-  "iodata": [
-    "cython",
-    "setuptools"
-  ],
-  "ionhash": [
-    "setuptools"
-  ],
-  "iotawattpy": [
-    "setuptools"
-  ],
-  "iowait": [
-    "setuptools"
-  ],
-  "ipaddr": [
-    "setuptools"
-  ],
-  "ipaddress": [
-    "setuptools"
-  ],
-  "ipdb": [
-    "setuptools"
-  ],
-  "ipdbplugin": [
-    "setuptools"
-  ],
-  "ipfshttpclient": [
-    "flit-core",
-    "setuptools"
-  ],
-  "iptools": [
-    "setuptools"
-  ],
-  "ipwhl": [
-    "flit-core",
-    "setuptools"
-  ],
-  "ipwhois": [
-    "setuptools"
-  ],
-  "ipy": [
-    "setuptools"
-  ],
-  "ipydatawidgets": [
-    "setuptools"
-  ],
-  "ipykernel": [
-    "hatchling",
-    "setuptools"
-  ],
-  "ipympl": [
-    "setuptools"
-  ],
-  "ipyparallel": [
-    "hatchling",
-    "setuptools"
-  ],
-  "ipython": [
-    "setuptools"
-  ],
-  "ipython-genutils": [
-    "setuptools"
-  ],
-  "ipython-sql": [
-    "setuptools"
-  ],
-  "ipyvue": [
-    "setuptools"
-  ],
-  "ipyvuetify": [
-    "setuptools"
-  ],
-  "ipywidgets": [
-    "setuptools"
-  ],
-  "irc": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ircrobots": [
-    "setuptools"
-  ],
-  "ircstates": [
-    "setuptools"
-  ],
-  "irctokens": [
-    "setuptools"
-  ],
-  "isbnlib": [
-    "setuptools"
-  ],
-  "islpy": [
-    "setuptools"
-  ],
-  "ismartgate": [
-    "setuptools"
-  ],
-  "iso-639": [
-    "setuptools"
-  ],
-  "iso3166": [
-    "setuptools"
-  ],
-  "iso4217": [
-    "setuptools"
-  ],
-  "iso8601": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "isodate": [
-    "setuptools"
-  ],
-  "isoduration": [
-    "setuptools"
-  ],
-  "isort": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "isosurfaces": [
-    "setuptools"
-  ],
-  "isounidecode": [
-    "setuptools"
-  ],
-  "isoweek": [
-    "setuptools"
-  ],
-  "itanium-demangler": [
-    "setuptools"
-  ],
-  "itemadapter": [
-    "setuptools"
-  ],
-  "itemdb": [
-    "setuptools"
-  ],
-  "itemloaders": [
-    "setuptools"
-  ],
-  "iteration-utilities": [
-    "setuptools"
-  ],
-  "itsdangerous": [
-    "setuptools"
-  ],
-  "itunespy": [
-    "setuptools"
-  ],
-  "itypes": [
-    "setuptools"
-  ],
-  "j2cli": [
-    "setuptools"
-  ],
-  "jaconv": [
-    "setuptools"
-  ],
-  "jaeger-client": [
-    "setuptools"
-  ],
-  "janus": [
-    "setuptools"
-  ],
-  "jarac-itertools": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jaraco-classes": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jaraco-collections": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jaraco-context": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jaraco-functools": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jaraco-itertools": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jaraco-logging": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jaraco-stream": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jaraco-test": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jaraco-text": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jarowinkler": [
-    "cython",
-    "setuptools"
-  ],
-  "javaobj-py3": [
-    "setuptools"
-  ],
-  "javaproperties": [
-    "setuptools"
-  ],
-  "jax": [
-    "setuptools"
-  ],
-  "jaxlib": [
-    "setuptools"
-  ],
-  "jaxlib-bin": [
-    "setuptools"
-  ],
-  "jaxlib-build": [
-    "setuptools"
-  ],
-  "jaxlibwithcuda": [
-    "setuptools"
-  ],
-  "jaxlibwithoutcuda": [
-    "setuptools"
-  ],
-  "jaydebeapi": [
-    "setuptools"
-  ],
-  "jc": [
-    "setuptools"
-  ],
-  "jdatetime": [
-    "setuptools"
-  ],
-  "jdcal": [
-    "setuptools"
-  ],
-  "jedi": [
-    "setuptools"
-  ],
-  "jedi-language-server": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "jeepney": [
-    "flit-core",
-    "setuptools"
-  ],
-  "jellyfin-apiclient-python": [
-    "setuptools"
-  ],
-  "jellyfish": [
-    "setuptools"
-  ],
-  "jenkins-job-builder": [
-    "pbr",
-    "setuptools"
-  ],
-  "jieba": [
-    "setuptools"
-  ],
-  "jinja2": [
-    "setuptools"
-  ],
-  "jinja2-ansible-filters": [
-    "setuptools"
-  ],
-  "jinja2-git": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "jinja2-pluralize": [
-    "setuptools"
-  ],
-  "jinja2-time": [
-    "setuptools"
-  ],
-  "jira": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jmespath": [
-    "setuptools"
-  ],
-  "jmp": [
-    "setuptools"
-  ],
-  "joblib": [
-    "setuptools"
-  ],
-  "johnnycanencrypt": [
-    "setuptools"
-  ],
-  "josepy": [
-    "setuptools"
-  ],
-  "journalwatch": [
-    "setuptools"
-  ],
-  "jplephem": [
-    "setuptools"
-  ],
-  "jproperties": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jpylyzer": [
-    "setuptools"
-  ],
-  "jpype1": [
-    "setuptools"
-  ],
-  "jq": [
-    "cython",
-    "setuptools"
-  ],
-  "js2py": [
-    "setuptools"
-  ],
-  "jsbeautifier": [
-    "setuptools"
-  ],
-  "jschema-to-python": [
-    "pbr",
-    "setuptools"
-  ],
-  "jsii": [
-    "setuptools"
-  ],
-  "jsmin": [
-    "setuptools"
-  ],
-  "json-home-client": [
-    "setuptools"
-  ],
-  "json-logging": [
-    "setuptools"
-  ],
-  "json-merge-patch": [
-    "setuptools"
-  ],
-  "json-rpc": [
-    "setuptools"
-  ],
-  "json-schema-for-humans": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "json-stream": [
-    "setuptools"
-  ],
-  "json-tricks": [
-    "setuptools"
-  ],
-  "json5": [
-    "setuptools"
-  ],
-  "jsonconversion": [
-    "setuptools"
-  ],
-  "jsondate": [
-    "setuptools"
-  ],
-  "jsondiff": [
-    "setuptools"
-  ],
-  "jsonfield": [
-    "setuptools"
-  ],
-  "jsonlines": [
-    "setuptools"
-  ],
-  "jsonmerge": [
-    "setuptools"
-  ],
-  "jsonnet": [
-    "setuptools"
-  ],
-  "jsonpatch": [
-    "setuptools"
-  ],
-  "jsonpath": [
-    "setuptools"
-  ],
-  "jsonpath-ng": [
-    "setuptools"
-  ],
-  "jsonpath-rw": [
-    "setuptools"
-  ],
-  "jsonpickle": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "jsonpointer": [
-    "setuptools"
-  ],
-  "jsonref": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.3.0"
-    },
-    {
-      "buildSystem": "poetry",
-      "from": "0.3.0",
-      "until": "1.1.0"
-    },
-    {
-      "buildSystem": "pdm-pep517",
-      "from": "1.1.0"
-    }
-  ],
-  "jsonrpc-async": [
-    "setuptools"
-  ],
-  "jsonrpc-base": [
-    "setuptools"
-  ],
-  "jsonrpc-websocket": [
-    "setuptools"
-  ],
-  "jsonrpclib-pelix": [
-    "setuptools"
-  ],
-  "jsons": [
-    "setuptools"
-  ],
-  "jsonschema": [
-    {
-      "buildSystem": "hatch-fancy-pypi-readme",
-      "from": "4.11.0"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "4.6.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "4.6.0"
-    },
-    {
-      "buildSystem": "setuptools",
-      "until": "4.6.0"
-    },
-    {
-      "buildSystem": "setuptools-scm",
-      "until": "4.6.0"
-    }
-  ],
-  "jsonschema-3": [
-    "setuptools-scm"
-  ],
-  "jsonschema-spec": [
-    "poetry-core"
-  ],
-  "jsonstreams": [
-    "setuptools"
-  ],
-  "jug": [
-    "setuptools"
-  ],
-  "junit-xml": [
-    "setuptools"
-  ],
-  "junitparser": [
-    "setuptools"
-  ],
-  "junos-eznc": [
-    "setuptools"
-  ],
-  "jupyter": [
-    "setuptools"
-  ],
-  "jupyter-book": [
-    "flit-core",
-    "setuptools"
-  ],
-  "jupyter-c-kernel": [
-    "setuptools"
-  ],
-  "jupyter-cache": [
-    "setuptools"
-  ],
-  "jupyter-client": [
-    "hatchling",
-    "setuptools"
-  ],
-  "jupyter-console": [
-    {
-      "buildSystem": "setuptools",
-      "until": "6.6.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "6.6.0"
-    }
-  ],
-  "jupyter-core": [
-    {
-      "buildSystem": "hatchling",
-      "from": "4.11.0"
-    },
-    {
-      "buildSystem": "setuptools",
-      "until": "4.11.0"
-    }
-  ],
-  "jupyter-events": [
-    "hatchling"
-  ],
-  "jupyter-lsp": [
-    "setuptools"
-  ],
-  "jupyter-packaging": [
-    "hatchling",
-    "setuptools"
-  ],
-  "jupyter-repo2docker": [
-    "setuptools"
-  ],
-  "jupyter-server": [
-    {
-      "buildSystem": "setuptools",
-      "until": "1.21.0"
-    },
-    {
-      "buildSystem": "jupyter-packaging",
-      "from": "1.21.0"
-    }
-  ],
-  "jupyter-server-fileid": [
-    "hatchling"
-  ],
-  "jupyter-server-mathjax": [
-    "jupyter-packaging",
-    "setuptools"
-  ],
-  "jupyter-server-terminals": [
-    "hatchling"
-  ],
-  "jupyter-server-ydoc": [
-    "hatchling"
-  ],
-  "jupyter-sphinx": [
-    "setuptools"
-  ],
-  "jupyter-telemetry": [
-    "setuptools"
-  ],
-  "jupyter-ydoc": [
-    {
-      "buildSystem": "hatchling"
-    },
-    {
-      "buildSystem": "hatch-nodejs-version",
-      "from": "0.2.3"
-    }
-  ],
-  "jupyterhub": [
-    "setuptools"
-  ],
-  "jupyterhub-ldapauthenticator": [
-    "setuptools"
-  ],
-  "jupyterhub-systemdspawner": [
-    "setuptools"
-  ],
-  "jupyterhub-tmpauthenticator": [
-    "setuptools"
-  ],
-  "jupyterlab": [
-    {
-      "buildSystem": "jupyter-packaging",
-      "until": "4"
-    },
-    {
-      "buildSystem": "setuptools",
-      "until": "4"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "4"
-    },
-    {
-      "buildSystem": "hatch-jupyter-builder",
-      "from": "4"
-    }
-  ],
-  "jupyterlab-code-formatter": [
-    "jupyter-packaging"
-  ],
-  "jupyterlab-git": [
-    "jupyter-packaging",
-    "setuptools"
-  ],
-  "jupyterlab-launcher": [
-    "setuptools"
-  ],
-  "jupyterlab-lsp": [
-    "setuptools"
-  ],
-  "jupyterlab-pygments": [
-    "jupyter-packaging",
-    "setuptools"
-  ],
-  "jupyterlab-server": [
-    "hatchling",
-    "setuptools"
-  ],
-  "jupyterlab-widgets": [
-    "setuptools"
-  ],
-  "jupytext": [
-    "setuptools"
-  ],
-  "justbackoff": [
-    "setuptools"
-  ],
-  "justbases": [
-    "setuptools"
-  ],
-  "justbytes": [
-    "setuptools"
-  ],
-  "justnimbus": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "justpy": [
-    "flit-core"
-  ],
-  "jwcrypto": [
-    "setuptools"
-  ],
-  "jxmlease": [
-    "setuptools"
-  ],
-  "k5test": [
-    "setuptools"
-  ],
-  "kafka-python": [
-    "setuptools"
-  ],
-  "kaggle": [
-    "setuptools"
-  ],
-  "kaitaistruct": [
-    "setuptools"
-  ],
-  "kajiki": [
-    "setuptools"
-  ],
-  "kaldi-active-grammar": [
-    "setuptools"
-  ],
-  "kanidm": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "kaptan": [
-    "setuptools"
-  ],
-  "karton-asciimagic": [
-    "setuptools"
-  ],
-  "karton-autoit-ripper": [
-    "setuptools"
-  ],
-  "karton-classifier": [
-    "setuptools"
-  ],
-  "karton-config-extractor": [
-    "setuptools"
-  ],
-  "karton-core": [
-    "setuptools"
-  ],
-  "karton-dashboard": [
-    "setuptools"
-  ],
-  "karton-mwdb-reporter": [
-    "setuptools"
-  ],
-  "karton-yaramatcher": [
-    "setuptools"
-  ],
-  "kazoo": [
-    "setuptools"
-  ],
-  "kbcstorage": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "kconfiglib": [
-    "setuptools"
-  ],
-  "keep": [
-    "setuptools"
-  ],
-  "keepkey": [
-    "setuptools"
-  ],
-  "keepkey-agent": [
-    "setuptools"
-  ],
-  "kegtron-ble": [
-    "poetry-core"
-  ],
-  "keras": [
-    "setuptools"
-  ],
-  "keras-applications": [
-    "setuptools"
-  ],
-  "keras-preprocessing": [
-    "setuptools"
-  ],
-  "kerberos": [
-    "setuptools"
-  ],
-  "keyboard": [
-    "setuptools"
-  ],
-  "keyring": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "keyring-pass": [
-    "poetry-core"
-  ],
-  "keyrings-alt": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "keyrings-cryptfile": [
-    "setuptools"
-  ],
-  "keyrings-google-artifactregistry-auth": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "keystone-engine": [
-    "setuptools"
-  ],
-  "keystoneauth1": [
-    "pbr",
-    "setuptools"
-  ],
-  "keyutils": [
-    "setuptools"
-  ],
-  "kinparse": [
-    "setuptools"
-  ],
-  "kiss-headers": [
-    "setuptools"
-  ],
-  "kitchen": [
-    "setuptools"
-  ],
-  "kivy": [
-    "cython",
-    "setuptools"
-  ],
-  "kivy-garden": [
-    "setuptools"
-  ],
-  "kiwisolver": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "klaus": [
-    "setuptools"
-  ],
-  "klein": [
-    "setuptools"
-  ],
-  "kmapper": [
-    "setuptools"
-  ],
-  "kml2geojson": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "knack": [
-    "setuptools"
-  ],
-  "kombu": [
-    "setuptools"
-  ],
-  "konnected": [
-    "setuptools"
-  ],
-  "kopf": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "korean-lunar-calendar": [
-    "setuptools"
-  ],
-  "kraken-common": [
-    "poetry"
-  ],
-  "krakenex": [
-    "setuptools"
-  ],
-  "kubernetes": [
-    "setuptools"
-  ],
-  "kubernetes-stubs": [
-    "poetry"
-  ],
-  "l18n": [
-    "setuptools"
-  ],
-  "labgrid": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "labmath": [
-    "setuptools"
-  ],
-  "langcodes": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "langdetect": [
-    "setuptools"
-  ],
-  "language-data": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "language-formatters-pre-commit-hooks": [
-    "setuptools"
-  ],
-  "lark": [
-    "setuptools"
-  ],
-  "lark-parser": [
-    "setuptools"
-  ],
-  "latexcodec": [
-    "setuptools"
-  ],
-  "latexify-py": [
-    "hatchling"
-  ],
-  "launchpadlib": [
-    "setuptools"
-  ],
-  "laundrify-aio": [
-    "setuptools"
-  ],
-  "lazr-config": [
-    "setuptools"
-  ],
-  "lazr-delegates": [
-    "setuptools"
-  ],
-  "lazr-restfulclient": [
-    "setuptools"
-  ],
-  "lazr-uri": [
-    "setuptools"
-  ],
-  "lazy": [
-    "setuptools"
-  ],
-  "lazy-import": [
-    "setuptools"
-  ],
-  "lazy-object-proxy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "lc7001": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ldap": [
-    "setuptools"
-  ],
-  "ldap3": [
-    "setuptools"
-  ],
-  "ldapdomaindump": [
-    "setuptools"
-  ],
-  "ldappool": [
-    "pbr",
-    "setuptools"
-  ],
-  "ldaptor": [
-    "setuptools"
-  ],
-  "leather": [
-    "setuptools"
-  ],
-  "leb128": [
-    "setuptools"
-  ],
-  "led-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ledger-agent": [
-    "setuptools"
-  ],
-  "ledgerblue": [
-    "setuptools"
-  ],
-  "ledgerwallet": [
-    "setuptools"
-  ],
-  "lektor": [
-    "setuptools"
-  ],
-  "leveldb": [
-    "setuptools"
-  ],
-  "levenshtein": [
-    "cython",
-    "setuptools"
-  ],
-  "lexid": [
-    "setuptools"
-  ],
-  "lhapdf": [
-    "cython"
-  ],
-  "libagent": [
-    "setuptools"
-  ],
-  "libais": [
-    "setuptools"
-  ],
-  "libarchive-c": [
-    "setuptools"
-  ],
-  "libarcus": [
-    "setuptools"
-  ],
-  "libasyncns": [
-    "setuptools"
-  ],
-  "libclang": [
-    "setuptools"
-  ],
-  "libcloud": [
-    "setuptools"
-  ],
-  "libcst": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "libevdev": [
-    "setuptools"
-  ],
-  "libgpuarray": [
-    "cython",
-    "setuptools"
-  ],
-  "libiio": [
-    "setuptools"
-  ],
-  "libkeepass": [
-    "setuptools"
-  ],
-  "liblarch": [
-    "setuptools"
-  ],
-  "liblzfse": [
-    "setuptools"
-  ],
-  "libmr": [
-    "cython",
-    "setuptools"
-  ],
-  "libnacl": [
-    "setuptools"
-  ],
-  "libpurecool": [
-    "setuptools"
-  ],
-  "libpyfoscam": [
-    "setuptools"
-  ],
-  "libpyvivotek": [
-    "setuptools"
-  ],
-  "librosa": [
-    "setuptools"
-  ],
-  "librouteros": [
-    "setuptools"
-  ],
-  "libsass": [
-    "setuptools"
-  ],
-  "libsavitar": [
-    "setuptools"
-  ],
-  "libsixel": [
-    "setuptools"
-  ],
-  "libsoundtouch": [
-    "setuptools"
-  ],
-  "libthumbor": [
-    "setuptools"
-  ],
-  "libtmux": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "libusb1": [
-    "setuptools"
-  ],
-  "libusbsio": [
-    "setuptools"
-  ],
-  "libversion": [
-    "setuptools"
-  ],
-  "libvirt": [
-    "setuptools"
-  ],
-  "libvirt-python": [
-    "setuptools"
-  ],
-  "license-expression": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "licensecheck": [
-    "poetry-core"
-  ],
-  "life360": [
-    "setuptools"
-  ],
-  "lightgbm": [
-    "setuptools"
-  ],
-  "lightning": [
-    "setuptools"
-  ],
-  "lightning-cloud": [
-    "setuptools"
-  ],
-  "lightning-utilities": [
-    "setuptools"
-  ],
-  "lightparam": [
-    "setuptools"
-  ],
-  "lightwave": [
-    "setuptools"
-  ],
-  "lightwave2": [
-    "setuptools"
-  ],
-  "ligo-segments": [
-    "setuptools"
-  ],
-  "lima": [
-    "setuptools"
-  ],
-  "limiter": [
-    "setuptools"
-  ],
-  "limitlessled": [
-    "setuptools"
-  ],
-  "limits": [
-    "setuptools"
-  ],
-  "limnoria": [
-    "setuptools"
-  ],
-  "line-profiler": [
-    "cython",
-    "setuptools"
-  ],
-  "linecache2": [
-    "pbr",
-    "setuptools"
-  ],
-  "lingua": [
-    "flit-core",
-    "setuptools"
-  ],
-  "linkify-it-py": [
-    "setuptools"
-  ],
-  "linode": [
-    "setuptools"
-  ],
-  "linode-api": [
-    "setuptools"
-  ],
-  "linuxfd": [
-    "setuptools"
-  ],
-  "linz-logger": [
-    "poetry-core"
-  ],
-  "liquidctl": [
-    "setuptools"
-  ],
-  "lit": [
-    "setuptools"
-  ],
-  "littleutils": [
-    "setuptools"
-  ],
-  "livelossplot": [
-    "setuptools"
-  ],
-  "livereload": [
-    "setuptools"
-  ],
-  "livestreamer": [
-    "setuptools"
-  ],
-  "livestreamer-curses": [
-    "setuptools"
-  ],
-  "lizard": [
-    "setuptools"
-  ],
-  "llama-cpp-python": [
-    "setuptools",
-    "scikit-build"
-  ],
-  "llfuse": [
-    "cython",
-    "setuptools"
-  ],
-  "llvmlite": [
-    "setuptools"
-  ],
-  "lmdb": [
-    "setuptools"
-  ],
-  "lmfit": [
-    "setuptools"
-  ],
-  "lml": [
-    "setuptools"
-  ],
-  "lmnotify": [
-    "setuptools"
-  ],
-  "lmtpd": [
-    "setuptools"
-  ],
-  "lnurl": [
-    "setuptools"
-  ],
-  "loca": [
-    "flit-core",
-    "setuptools"
-  ],
-  "localimport": [
-    "setuptools"
-  ],
-  "localstack": [
-    "setuptools"
-  ],
-  "localstack-client": [
-    "setuptools"
-  ],
-  "localstack-ext": [
-    "setuptools"
-  ],
-  "localzone": [
-    "setuptools"
-  ],
-  "locationsharinglib": [
-    "setuptools"
-  ],
-  "locket": [
-    "setuptools"
-  ],
-  "lockfile": [
-    "pbr",
-    "setuptools"
-  ],
-  "log-symbols": [
-    "setuptools"
-  ],
-  "logbook": [
-    "setuptools"
-  ],
-  "logfury": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "logi-circle": [
-    "setuptools"
-  ],
-  "logical-unification": [
-    "setuptools"
-  ],
-  "logilab-astng": [
-    "setuptools"
-  ],
-  "logilab-common": [
-    "setuptools"
-  ],
-  "logilab-constraint": [
-    "setuptools"
-  ],
-  "logster": [
-    "setuptools"
-  ],
-  "loguru": [
-    "setuptools"
-  ],
-  "logutils": [
-    "setuptools"
-  ],
-  "logzero": [
-    "setuptools"
-  ],
-  "lomond": [
-    "setuptools"
-  ],
-  "loo-py": [
-    "setuptools"
-  ],
-  "loopy": [
-    "setuptools"
-  ],
-  "losant-rest": [
-    "setuptools"
-  ],
-  "lrcalc-python": [
-    "cython",
-    "setuptools"
-  ],
-  "lru-dict": [
-    "setuptools"
-  ],
-  "lsassy": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "luddite": [
-    "setuptools"
-  ],
-  "luftdaten": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "luhn": [
-    "setuptools"
-  ],
-  "lunarcalendar": [
-    "setuptools"
-  ],
-  "lupa": [
-    "cython",
-    "setuptools"
-  ],
-  "lupupy": [
-    "setuptools"
-  ],
-  "luxor": [
-    "setuptools"
-  ],
-  "luxtronik": [
-    "setuptools"
-  ],
-  "lxmf": [
-    "setuptools"
-  ],
-  "lxml": [
-    "cython",
-    "setuptools"
-  ],
-  "lxml-stubs": [
-    "setuptools"
-  ],
-  "lyricwikia": [
-    "setuptools"
-  ],
-  "lz4": [
-    "pkgconfig",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "lzstring": [
-    "setuptools"
-  ],
-  "m2crypto": [
-    "setuptools"
-  ],
-  "m3u8": [
-    "setuptools"
-  ],
-  "mac-alias": [
-    "setuptools"
-  ],
-  "maestral": [
-    "pbr",
-    "setuptools"
-  ],
-  "magic": [
-    "setuptools"
-  ],
-  "magic-wormhole": [
-    "setuptools"
-  ],
-  "magic-wormhole-mailbox-server": [
-    "setuptools"
-  ],
-  "magic-wormhole-transit-relay": [
-    "setuptools"
-  ],
-  "magicgui": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "mahotas": [
-    "setuptools"
-  ],
-  "mail-parser": [
-    "setuptools"
-  ],
-  "mailcap-fix": [
-    "setuptools"
-  ],
-  "mailchecker": [
-    "setuptools"
-  ],
-  "mailchimp": [
-    "setuptools"
-  ],
-  "mailmanclient": [
-    "setuptools"
-  ],
-  "mailsuite": [
-    "hatchling",
-    "setuptools"
-  ],
-  "makefun": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "mako": [
-    "setuptools"
-  ],
-  "malduck": [
-    "setuptools"
-  ],
-  "manage-fastapi": [
-    "poetry"
-  ],
-  "managesieve": [
-    "setuptools"
-  ],
-  "mangum": [
-    "setuptools"
-  ],
-  "manhole": [
-    "setuptools"
-  ],
-  "manifestoo": [
-    {
-      "buildSystem": "flit-core",
-      "until": "0.5"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "0.5"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.5"
-    }
-  ],
-  "manifestoo-core": [
-    "hatch-vcs",
-    "hatchling"
-  ],
-  "manimpango": [
-    "cython",
-    "setuptools"
-  ],
-  "manuel": [
-    "setuptools"
-  ],
-  "mapbox-earcut": [
-    "setuptools"
-  ],
-  "mariadb": [
-    "setuptools"
-  ],
-  "marisa-trie": [
-    "cython",
-    "setuptools"
-  ],
-  "markdown": [
-    "setuptools"
-  ],
-  "markdown-include": [
-    "setuptools"
-  ],
-  "markdown-it-py": [
-    "flit-core",
-    "setuptools"
-  ],
-  "markdown-macros": [
-    "setuptools"
-  ],
-  "markdown2": [
-    "setuptools"
-  ],
-  "markdownify": [
-    "setuptools"
-  ],
-  "markerlib": [
-    "setuptools"
-  ],
-  "markups": [
-    "setuptools"
-  ],
-  "markupsafe": [
-    "setuptools"
-  ],
-  "marshmallow": [
-    "setuptools"
-  ],
-  "marshmallow-dataclass": [
-    "setuptools"
-  ],
-  "marshmallow-enum": [
-    "setuptools"
-  ],
-  "marshmallow-oneofschema": [
-    "setuptools"
-  ],
-  "marshmallow-polyfield": [
-    "setuptools"
-  ],
-  "marshmallow-sqlalchemy": [
-    "setuptools"
-  ],
-  "mask-rcnn": [
-    "cython"
-  ],
-  "mastodon-py": [
-    "setuptools"
-  ],
-  "mat2": [
-    "setuptools"
-  ],
-  "matchpy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "mathlibtools": [
-    "setuptools"
-  ],
-  "matlink-gpapi": [
-    "setuptools"
-  ],
-  "matplotlib": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "matplotlib-inline": [
-    "setuptools"
-  ],
-  "matrix-api-async": [
-    "setuptools"
-  ],
-  "matrix-client": [
-    "setuptools"
-  ],
-  "matrix-common": [
-    "setuptools"
-  ],
-  "matrix-nio": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "mattermostdriver": [
-    "setuptools"
-  ],
-  "mautrix": [
-    "setuptools"
-  ],
-  "mautrix-appservice": [
-    "setuptools"
-  ],
-  "maxcube-api": [
-    "setuptools"
-  ],
-  "maxminddb": [
-    "setuptools"
-  ],
-  "maxminddb-geolite2": [
-    "setuptools"
-  ],
-  "maya": [
-    "setuptools"
-  ],
-  "mayavi": [
-    "setuptools"
-  ],
-  "mbddns": [
-    "setuptools"
-  ],
-  "mbtest": [
-    "setuptools"
-  ],
-  "mccabe": [
-    "setuptools"
-  ],
-  "mcstatus": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "md-toc": [
-    "setuptools"
-  ],
-  "md2gemini": [
-    "setuptools"
-  ],
-  "mdformat": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "mdit-py-plugins": [
-    "flit-core",
-    "setuptools"
-  ],
-  "mdp": [
-    "setuptools"
-  ],
-  "mdurl": [
-    "flit-core",
-    "setuptools"
-  ],
-  "mdutils": [
-    "setuptools"
-  ],
-  "mdx-truly-sane-lists": [
-    "setuptools"
-  ],
-  "measurement": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "meater-python": [
-    "setuptools"
-  ],
-  "mecab-python3": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "mechanicalsoup": [
-    "setuptools"
-  ],
-  "mechanize": [
-    "setuptools"
-  ],
-  "mediafile": [
-    "flit-core",
-    "setuptools"
-  ],
-  "mediapy": [
-    "setuptools"
-  ],
-  "meeko": [
-    "setuptools"
-  ],
-  "meilisearch": [
-    "setuptools"
-  ],
-  "meinheld": [
-    "setuptools"
-  ],
-  "meld3": [
-    "setuptools"
-  ],
-  "memcached": [
-    "setuptools"
-  ],
-  "memory-allocator": [
-    "cython",
-    "setuptools"
-  ],
-  "memory-profiler": [
-    "setuptools"
-  ],
-  "mercantile": [
-    "setuptools"
-  ],
-  "mercurial": [
-    "setuptools"
-  ],
-  "mergedb": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "mergedeep": [
-    "setuptools"
-  ],
-  "mergedict": [
-    "setuptools"
-  ],
-  "merkletools": [
-    "setuptools"
-  ],
-  "meross-iot": [
-    "setuptools"
-  ],
-  "mesa": [
-    "setuptools"
-  ],
-  "meshio": [
-    "setuptools"
-  ],
-  "meshlabxml": [
-    "setuptools"
-  ],
-  "meshtastic": [
-    "setuptools"
-  ],
-  "meson": [
-    "setuptools"
-  ],
-  "mesonpep517": [
-    "setuptools"
-  ],
-  "messagebird": [
-    "setuptools"
-  ],
-  "metakernel": [
-    "hatchling",
-    "setuptools"
-  ],
-  "metar": [
-    "setuptools"
-  ],
-  "meteoalertapi": [
-    "setuptools"
-  ],
-  "meteocalc": [
-    "setuptools"
-  ],
-  "meteofrance-api": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "metprint": [
-    "poetry-core"
-  ],
-  "mezzanine": [
-    "setuptools"
-  ],
-  "micawber": [
-    "setuptools"
-  ],
-  "micloud": [
-    "setuptools"
-  ],
-  "midiutil": [
-    "setuptools"
-  ],
-  "mido": [
-    "setuptools"
-  ],
-  "migen": [
-    "setuptools"
-  ],
-  "migra": [
-    "poetry-core"
-  ],
-  "mike": [
-    "setuptools"
-  ],
-  "milc": [
-    "setuptools"
-  ],
-  "milksnake": [
-    "setuptools"
-  ],
-  "mill-local": [
-    "setuptools"
-  ],
-  "millheater": [
-    "setuptools"
-  ],
-  "minexr": [
-    "setuptools"
-  ],
-  "miniaudio": [
-    "setuptools"
-  ],
-  "minidb": [
-    "setuptools"
-  ],
-  "minidump": [
-    "setuptools"
-  ],
-  "minikanren": [
-    "setuptools"
-  ],
-  "minikerberos": [
-    "setuptools"
-  ],
-  "minimal-dydb": [
-    "poetry-core"
-  ],
-  "minimock": [
-    "setuptools"
-  ],
-  "mininet-python": [
-    "setuptools"
-  ],
-  "minio": [
-    "setuptools"
-  ],
-  "miniupnpc": [
-    "setuptools"
-  ],
-  "misaka": [
-    "setuptools"
-  ],
-  "mistletoe": [
-    "setuptools"
-  ],
-  "mistune": [
-    "setuptools"
-  ],
-  "mistune-2-0": [
-    "setuptools"
-  ],
-  "mitmproxy": [
-    "setuptools"
-  ],
-  "mitogen": [
-    "setuptools"
-  ],
-  "mixer": [
-    "setuptools"
-  ],
-  "mixpanel": [
-    "setuptools"
-  ],
-  "mizani": [
-    "setuptools"
-  ],
-  "mkdocs": [
-    {
-      "buildSystem": "hatchling",
-      "from": "1.4.1"
-    },
-    "setuptools"
-  ],
-  "mkdocs-autorefs": [
-    "pdm-pep517",
-    "poetry",
-    "setuptools"
-  ],
-  "mkdocs-awesome-pages-plugin": [
-    "poetry"
-  ],
-  "mkdocs-drawio-exporter": [
-    "setuptools"
-  ],
-  "mkdocs-exclude": [
-    "setuptools"
-  ],
-  "mkdocs-exclude-search": [
-    "setuptools"
-  ],
-  "mkdocs-gen-files": [
-    "poetry"
-  ],
-  "mkdocs-git-revision-date-localized-plugin": [
-    "setuptools"
-  ],
-  "mkdocs-gitlab": [
-    "setuptools"
-  ],
-  "mkdocs-jupyter": [
-    "ipython-genutils",
-    "poetry-core"
-  ],
-  "mkdocs-literate-nav": [
-    "poetry"
-  ],
-  "mkdocs-macros": [
-    "setuptools"
-  ],
-  "mkdocs-macros-plugin": [
-    "setuptools"
-  ],
-  "mkdocs-material": [
-    {
-      "buildSystem": "hatchling",
-      "from": "8.5.3"
-    },
-    {
-      "buildSystem": "hatch-nodejs-version",
-      "from": "8.5.3"
-    },
-    "setuptools"
-  ],
-  "mkdocs-material-extensions": [
-    {
-      "buildSystem": "hatchling",
-      "from": "1.1"
-    },
-    "setuptools"
-  ],
-  "mkdocs-minify": [
-    "setuptools"
-  ],
-  "mkdocs-redirects": [
-    "setuptools"
-  ],
-  "mkdocs-swagger-ui-tag": [
-    "setuptools"
-  ],
-  "mkdocs-table-reader-plugin": [
-    "setuptools"
-  ],
-  "mkdocstrings": [
-    "pdm-pep517",
-    "setuptools"
-  ],
-  "mkdocstrings-python": [
-    "setuptools"
-  ],
-  "mkl-service": [
-    "cython",
-    "setuptools"
-  ],
-  "ml-collections": [
-    "setuptools"
-  ],
-  "mlflow": [
-    "setuptools"
-  ],
-  "mlrose": [
-    "setuptools"
-  ],
-  "mmcif-pdbx": [
-    "setuptools"
-  ],
-  "mmh3": [
-    "setuptools"
-  ],
-  "mne-python": [
-    "setuptools"
-  ],
-  "mnemonic": [
-    "setuptools"
-  ],
-  "mnist": [
-    "setuptools"
-  ],
-  "moat-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "mock": [
-    "pbr",
-    "setuptools"
-  ],
-  "mock-open": [
-    "setuptools"
-  ],
-  "mock-services": [
-    "setuptools"
-  ],
-  "mocket": [
-    "setuptools"
-  ],
-  "mockito": [
-    "setuptools"
-  ],
-  "mockupdb": [
-    "setuptools"
-  ],
-  "mode-streaming": [
-    "setuptools"
-  ],
-  "moderngl": [
-    "setuptools"
-  ],
-  "moderngl-window": [
-    "setuptools"
-  ],
-  "mohawk": [
-    "setuptools"
-  ],
-  "moku": [
-    "setuptools"
-  ],
-  "monai": [
-    "setuptools"
-  ],
-  "monero": [
-    "setuptools"
-  ],
-  "mongodict": [
-    "setuptools"
-  ],
-  "mongoengine": [
-    "setuptools"
-  ],
-  "mongomock": [
-    "pbr",
-    "setuptools"
-  ],
-  "monkeyhex": [
-    "setuptools"
-  ],
-  "monosat": [
-    "cython",
-    "setuptools"
-  ],
-  "monotonic": [
-    "setuptools"
-  ],
-  "monty": [
-    "setuptools"
-  ],
-  "moonraker-api": [
-    "setuptools"
-  ],
-  "more-itertools": [
-    "flit-core",
-    "setuptools"
-  ],
-  "more-properties": [
-    "setuptools"
-  ],
-  "morecantile": [
-    {
-      "buildSystem": "setuptools",
-      "until": "3.2.0"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "3.2.0"
-    }
-  ],
-  "morphys": [
-    "setuptools"
-  ],
-  "mortgage": [
-    "setuptools"
-  ],
-  "motionblinds": [
-    "setuptools"
-  ],
-  "motioneye-client": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "moto": [
-    "setuptools"
-  ],
-  "motor": [
-    "setuptools"
-  ],
-  "mouseinfo": [
-    "setuptools"
-  ],
-  "moviepy": [
-    "setuptools"
-  ],
-  "mox": [
-    "setuptools"
-  ],
-  "mox3": [
-    "pbr",
-    "setuptools"
-  ],
-  "mpd2": [
-    "setuptools"
-  ],
-  "mpi4py": [
-    "setuptools"
-  ],
-  "mpldatacursor": [
-    "setuptools"
-  ],
-  "mplfinance": [
-    "setuptools"
-  ],
-  "mplleaflet": [
-    "setuptools"
-  ],
-  "mpmath": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "mpv": [
-    "setuptools"
-  ],
-  "mpyq": [
-    "setuptools"
-  ],
-  "ms-active-directory": [
-    "setuptools"
-  ],
-  "ms-cv": [
-    "setuptools"
-  ],
-  "msal": [
-    "setuptools"
-  ],
-  "msal-extensions": [
-    "setuptools"
-  ],
-  "msgpack": [
-    "setuptools"
-  ],
-  "msgpack-numpy": [
-    "cython",
-    "setuptools"
-  ],
-  "msgpack-python": [
-    "setuptools"
-  ],
-  "msgpack-types": [
-    "poetry"
-  ],
-  "msgraph-core": [
-    "flit-core",
-    "setuptools"
-  ],
-  "msldap": [
-    "setuptools"
-  ],
-  "msoffcrypto-tool": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "msrest": [
-    "setuptools"
-  ],
-  "msrestazure": [
-    "setuptools"
-  ],
-  "mss": [
-    "setuptools"
-  ],
-  "mt-940": [
-    "setuptools"
-  ],
-  "mujson": [
-    "setuptools"
-  ],
-  "mullvad-api": [
-    "setuptools"
-  ],
-  "mulpyplexer": [
-    "setuptools"
-  ],
-  "multi-key-dict": [
-    "setuptools"
-  ],
-  "multiaddr": [
-    "setuptools"
-  ],
-  "multidict": [
-    "setuptools"
-  ],
-  "multihash": [
-    "setuptools"
-  ],
-  "multimethod": [
-    "setuptools"
-  ],
-  "multipledispatch": [
-    "setuptools"
-  ],
-  "multiprocess": [
-    "setuptools"
-  ],
-  "multiset": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "multitasking": [
-    "setuptools"
-  ],
-  "munch": [
-    "pbr",
-    "setuptools"
-  ],
-  "munkres": [
-    "setuptools"
-  ],
-  "murmurhash": [
-    "cython",
-    "setuptools"
-  ],
-  "musicbrainzngs": [
-    "setuptools"
-  ],
-  "mutag": [
-    "setuptools"
-  ],
-  "mutagen": [
-    "setuptools"
-  ],
-  "mutatormath": [
-    "setuptools"
-  ],
-  "mutesync": [
-    "setuptools"
-  ],
-  "mutf8": [
-    "setuptools"
-  ],
-  "mutmut": [
-    "setuptools"
-  ],
-  "mwclient": [
-    "setuptools"
-  ],
-  "mwdblib": [
-    "setuptools"
-  ],
-  "mwoauth": [
-    "setuptools"
-  ],
-  "mwparserfromhell": [
-    "setuptools"
-  ],
-  "mxnet": [
-    "setuptools"
-  ],
-  "myfitnesspal": [
-    "setuptools"
-  ],
-  "mygpoclient": [
-    "setuptools"
-  ],
-  "myhome": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "myjwt": [
-    "setuptools"
-  ],
-  "mypy": [
-    "setuptools"
-  ],
-  "mypy-boto3-batch": [
-    "setuptools"
-  ],
-  "mypy-boto3-builder": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "mypy-boto3-cognito": [
-    "setuptools"
-  ],
-  "mypy-boto3-cognito-idp": [
-    "setuptools"
-  ],
-  "mypy-boto3-dynamodb": [
-    "setuptools"
-  ],
-  "mypy-boto3-ec2": [
-    "setuptools"
-  ],
-  "mypy-boto3-events": [
-    "setuptools"
-  ],
-  "mypy-boto3-lambda": [
-    "setuptools"
-  ],
-  "mypy-boto3-logs": [
-    "setuptools"
-  ],
-  "mypy-boto3-rds": [
-    "setuptools"
-  ],
-  "mypy-boto3-s3": [
-    "setuptools"
-  ],
-  "mypy-boto3-s3control": [
-    "setuptools"
-  ],
-  "mypy-boto3-secretsmanager": [
-    "setuptools"
-  ],
-  "mypy-boto3-sns": [
-    "setuptools"
-  ],
-  "mypy-boto3-sqs": [
-    "setuptools"
-  ],
-  "mypy-boto3-ssm": [
-    "setuptools"
-  ],
-  "mypy-boto3-stepfunctions": [
-    "setuptools"
-  ],
-  "mypy-boto3-sts": [
-    "setuptools"
-  ],
-  "mypy-extensions": [
-    "setuptools"
-  ],
-  "mypy-protobuf": [
-    "setuptools"
-  ],
-  "mysql-connector": [
-    "setuptools"
-  ],
-  "mysqlclient": [
-    "setuptools"
-  ],
-  "myst-docutils": [
-    "flit-core",
-    "setuptools"
-  ],
-  "myst-nb": [
-    "flit-core",
-    "setuptools"
-  ],
-  "myst-parser": [
-    "flit-core",
-    "setuptools"
-  ],
-  "nad-receiver": [
-    "setuptools"
-  ],
-  "nagiosplugin": [
-    "setuptools"
-  ],
-  "name-that-hash": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "namedlist": [
-    "setuptools"
-  ],
-  "nameparser": [
-    "setuptools"
-  ],
-  "names": [
-    "setuptools"
-  ],
-  "nampa": [
-    "setuptools"
-  ],
-  "nanoid": [
-    "setuptools"
-  ],
-  "nanoleaf": [
-    "setuptools"
-  ],
-  "nanomsg-python": [
-    "setuptools"
-  ],
-  "nanotime": [
-    "setuptools"
-  ],
-  "napalm": [
-    "setuptools"
-  ],
-  "napalm-hp-procurve": [
-    "setuptools"
-  ],
-  "napari": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "napari-console": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "napari-npe2": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "napari-plugin-engine": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "napari-svg": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "nats-py": [
-    "setuptools"
-  ],
-  "nats-python": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "natsort": [
-    "setuptools"
-  ],
-  "naturalsort": [
-    "setuptools"
-  ],
-  "nbclassic": [
-    "jupyter-packaging",
-    "setuptools"
-  ],
-  "nbclient": [
-    {
-      "buildSystem": "hatchling",
-      "from": "0.7.1"
-    },
-    "setuptools"
-  ],
-  "nbconflux": [
-    "setuptools"
-  ],
-  "nbconvert": [
-    {
-      "buildSystem": "setuptools",
-      "until": "7.0.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "7.0.0"
-    }
-  ],
-  "nbdime": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "nbformat": [
-    {
-      "buildSystem": "setuptools",
-      "until": "5.5.0"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "5.5.0",
-      "until": "5.6.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "5.6.0"
-    },
-    {
-      "buildSystem": "hatch-nodejs-version",
-      "from": "5.6.0"
-    }
-  ],
-  "nbmerge": [
-    "setuptools"
-  ],
-  "nbsmoke": [
-    "setuptools"
-  ],
-  "nbsphinx": [
-    "setuptools"
-  ],
-  "nbval": [
-    "setuptools"
-  ],
-  "nbxmpp": [
-    "setuptools"
-  ],
-  "ncclient": [
-    "setuptools"
-  ],
-  "nclib": [
-    "setuptools"
-  ],
-  "ndg-httpsclient": [
-    "setuptools"
-  ],
-  "ndjson": [
-    "setuptools"
-  ],
-  "ndms2-client": [
-    "setuptools"
-  ],
-  "ndspy": [
-    "setuptools"
-  ],
-  "ndtypes": [
-    "setuptools"
-  ],
-  "nengo": [
-    "setuptools"
-  ],
-  "neo": [
-    "setuptools"
-  ],
-  "neo4j": [
-    "setuptools"
-  ],
-  "nessclient": [
-    "setuptools"
-  ],
-  "nest-asyncio": [
-    "setuptools"
-  ],
-  "nested-lookup": [
-    "setuptools"
-  ],
-  "nestedtext": [
-    "setuptools"
-  ],
-  "net2grid": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "netaddr": [
-    "setuptools"
-  ],
-  "netcdf4": [
-    "cython",
-    "setuptools"
-  ],
-  "netdata": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "netdisco": [
-    "setuptools"
-  ],
-  "netifaces": [
-    "setuptools"
-  ],
-  "netio": [
-    "setuptools"
-  ],
-  "netmap": [
-    "setuptools"
-  ],
-  "netmiko": [
-    "setuptools"
-  ],
-  "nettigo-air-monitor": [
-    "setuptools"
-  ],
-  "netutils": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "networkx": [
-    "setuptools"
-  ],
-  "newrelic": [
-    "setuptools"
-  ],
-  "newversion": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "nexia": [
-    "setuptools"
-  ],
-  "nextcloudmonitor": [
-    "setuptools"
-  ],
-  "nextcord": [
-    "setuptools"
-  ],
-  "nextdns": [
-    "setuptools"
-  ],
-  "nghttp2": [
-    "cython",
-    "setuptools"
-  ],
-  "niaaml": [
-    "poetry-core"
-  ],
-  "niaarm": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "niapy": [
-    "setuptools"
-  ],
-  "nibabel": [
-    "setuptools"
-  ],
-  "nibe": [
-    "setuptools"
-  ],
-  "nicegui": [
-    "poetry-core"
-  ],
-  "niko-home-control": [
-    "setuptools"
-  ],
-  "nikola": [
-    "setuptools"
-  ],
-  "nilearn": [
-    "setuptools"
-  ],
-  "niluclient": [
-    "setuptools"
-  ],
-  "nimfa": [
-    "setuptools"
-  ],
-  "nine": [
-    "setuptools"
-  ],
-  "nipy": [
-    "setuptools"
-  ],
-  "nitime": [
-    "cython",
-    "setuptools"
-  ],
-  "nitransforms": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "nix-kernel": [
-    "setuptools"
-  ],
-  "nix-prefetch-github": [
-    "setuptools"
-  ],
-  "nixpkgs": [
-    "pbr",
-    "setuptools"
-  ],
-  "nixpkgs-pytools": [
-    "setuptools"
-  ],
-  "nkdfu": [
-    "flit-core",
-    "setuptools"
-  ],
-  "nltk": [
-    "setuptools"
-  ],
-  "nmapthon2": [
-    "setuptools"
-  ],
-  "nocasedict": [
-    "setuptools"
-  ],
-  "nocaselist": [
-    "setuptools"
-  ],
-  "node-semver": [
-    "setuptools"
-  ],
-  "nodeenv": [
-    "setuptools"
-  ],
-  "nodepy-runtime": [
-    "setuptools"
-  ],
-  "noise": [
-    "setuptools"
-  ],
-  "noiseprotocol": [
-    "setuptools"
-  ],
-  "nomadnet": [
-    "setuptools"
-  ],
-  "normality": [
-    "setuptools"
-  ],
-  "nose": [
-    "setuptools"
-  ],
-  "nose-cov": [
-    "setuptools"
-  ],
-  "nose-cprof": [
-    "setuptools"
-  ],
-  "nose-exclude": [
-    "setuptools"
-  ],
-  "nose-pattern-exclude": [
-    "setuptools"
-  ],
-  "nose-randomly": [
-    "setuptools"
-  ],
-  "nose-timer": [
-    "setuptools"
-  ],
-  "nose-warnings-filters": [
-    "setuptools"
-  ],
-  "nose2": [
-    "setuptools"
-  ],
-  "nosejs": [
-    "setuptools"
-  ],
-  "nosexcover": [
-    "setuptools"
-  ],
-  "notebook": [
-    "setuptools"
-  ],
-  "notebook-shim": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.2.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.2.0"
-    },
-    "jupyter-packaging"
-  ],
-  "notedown": [
-    "setuptools"
-  ],
-  "notifications-python-client": [
-    "setuptools"
-  ],
-  "notify-events": [
-    "setuptools"
-  ],
-  "notify-py": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "notify2": [
-    "setuptools"
-  ],
-  "notifymuch": [
-    "setuptools"
-  ],
-  "notmuch": [
-    "setuptools"
-  ],
-  "notmuch2": [
-    "setuptools"
-  ],
-  "nototools": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "notus-scanner": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "nox": [
-    "setuptools"
-  ],
-  "nplusone": [
-    "setuptools"
-  ],
-  "npm": [
-    "setuptools"
-  ],
-  "npyscreen": [
-    "setuptools"
-  ],
-  "nr-io-lexer": [
-    "poetry"
-  ],
-  "nr-python-environment": [
-    "poetry"
-  ],
-  "nr-util": [
-    "poetry"
-  ],
-  "nsapi": [
-    "setuptools"
-  ],
-  "ntc-templates": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ntlm-auth": [
-    "setuptools"
-  ],
-  "ntplib": [
-    "setuptools"
-  ],
-  "nuitka": [
-    "setuptools"
-  ],
-  "nulltype": [
-    "setuptools"
-  ],
-  "num2words": [
-    "setuptools"
-  ],
-  "numba": [
-    "setuptools"
-  ],
-  "numba-scipy": [
-    "setuptools"
-  ],
-  "numbawithcuda": [
-    "setuptools"
-  ],
-  "numcodecs": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "numdifftools": [
-    "setuptools"
-  ],
-  "numericalunits": [
-    "setuptools"
-  ],
-  "numexpr": [
-    "setuptools"
-  ],
-  "numpy": [
-    "cython",
-    "setuptools"
-  ],
-  "numpy-stl": [
-    "cython",
-    "setuptools"
-  ],
-  "numpydoc": [
-    "setuptools"
-  ],
-  "numpyro": [
-    "setuptools"
-  ],
-  "nunavut": [
-    "setuptools"
-  ],
-  "nutils": [
-    "setuptools"
-  ],
-  "nvchecker": [
-    "setuptools"
-  ],
-  "nvidia-ml-py3": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "nwdiag": [
-    "setuptools"
-  ],
-  "nxt-python": [
-    "setuptools"
-  ],
-  "oasatelematics": [
-    "setuptools"
-  ],
-  "oath": [
-    "setuptools"
-  ],
-  "oauth": [
-    "setuptools"
-  ],
-  "oauth2": [
-    "setuptools"
-  ],
-  "oauth2client": [
-    "setuptools"
-  ],
-  "oauthenticator": [
-    "setuptools"
-  ],
-  "oauthlib": [
-    "setuptools"
-  ],
-  "objax": [
-    "setuptools"
-  ],
-  "objgraph": [
-    "setuptools"
-  ],
-  "obspy": [
-    "setuptools"
-  ],
-  "oci": [
-    "setuptools"
-  ],
-  "ocifs": [
-    "setuptools"
-  ],
-  "ocrmypdf": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "od": [
-    "setuptools"
-  ],
-  "odfpy": [
-    "setuptools"
-  ],
-  "oemthermostat": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "offtrac": [
-    "setuptools"
-  ],
-  "ofxclient": [
-    "setuptools"
-  ],
-  "ofxhome": [
-    "setuptools"
-  ],
-  "ofxparse": [
-    "setuptools"
-  ],
-  "ofxtools": [
-    "setuptools"
-  ],
-  "olefile": [
-    "setuptools"
-  ],
-  "oletools": [
-    "setuptools"
-  ],
-  "omegaconf": [
-    "setuptools"
-  ],
-  "omnikinverter": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "omnilogic": [
-    "setuptools"
-  ],
-  "ondilo": [
-    "setuptools"
-  ],
-  "onetimepad": [
-    "setuptools"
-  ],
-  "onetimepass": [
-    "setuptools"
-  ],
-  "onkyo-eiscp": [
-    "setuptools"
-  ],
-  "online-judge-api-client": [
-    "setuptools"
-  ],
-  "online-judge-tools": [
-    "setuptools"
-  ],
-  "onlykey-solo-python": [
-    "setuptools"
-  ],
-  "onnx": [
-    "setuptools"
-  ],
-  "onvif-zeep-async": [
-    "setuptools"
-  ],
-  "oocsi": [
-    "setuptools"
-  ],
-  "open-garage": [
-    "setuptools"
-  ],
-  "open-meteo": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "openai": [
-    "setuptools"
-  ],
-  "openant": [
-    "setuptools"
-  ],
-  "openapi-codec": [
-    "setuptools"
-  ],
-  "openapi-core": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "openapi-python-client": [
-    "poetry-core"
-  ],
-  "openapi-schema-validator": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "openapi-spec-validator": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "openbabel-bindings": [
-    "setuptools"
-  ],
-  "opencv4": [
-    "setuptools"
-  ],
-  "openerz-api": [
-    "setuptools"
-  ],
-  "openevsewifi": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "openhomedevice": [
-    "setuptools"
-  ],
-  "openidc-client": [
-    "setuptools"
-  ],
-  "openmm": [
-    "cython"
-  ],
-  "openpaperwork-core": [
-    "setuptools"
-  ],
-  "openpaperwork-gtk": [
-    "setuptools"
-  ],
-  "openpyxl": [
-    "setuptools"
-  ],
-  "openrazer": [
-    "setuptools"
-  ],
-  "openrazer-daemon": [
-    "setuptools"
-  ],
-  "openrouteservice": [
-    "setuptools"
-  ],
-  "opensensemap-api": [
-    "setuptools"
-  ],
-  "opensfm": [
-    "setuptools"
-  ],
-  "openshift": [
-    "setuptools"
-  ],
-  "opensimplex": [
-    "setuptools"
-  ],
-  "openstackdocstheme": [
-    "pbr",
-    "setuptools"
-  ],
-  "openstacksdk": [
-    "pbr",
-    "setuptools"
-  ],
-  "openstep-plist": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "opentelemetry-api": [
-    {
-      "buildSystem": "setuptools",
-      "until": "1.13.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "1.13.0"
-    }
-  ],
-  "opentelemetry-exporter-jaeger-proto-grpc": [
-    {
-      "buildSystem": "setuptools",
-      "until": "1.13.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "1.13.0"
-    }
-  ],
-  "opentelemetry-exporter-jaeger-thrift": [
-    {
-      "buildSystem": "setuptools",
-      "until": "1.13.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "1.13.0"
-    }
-  ],
-  "opentelemetry-exporter-otlp-proto-http": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.34b0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.34b0"
-    }
-  ],
-  "opentelemetry-instrumentation": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.34b0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.34b0"
-    }
-  ],
-  "opentelemetry-instrumentation-asgi": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.34b0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.34b0"
-    }
-  ],
-  "opentelemetry-instrumentation-asyncpg": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.34b0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.34b0"
-    }
-  ],
-  "opentelemetry-instrumentation-fastapi": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.34b0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.34b0"
-    }
-  ],
-  "opentelemetry-instrumentation-httpx": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.34b0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.34b0"
-    }
-  ],
-  "opentelemetry-proto": [
-    {
-      "buildSystem": "setuptools",
-      "until": "1.13.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "1.13.0"
-    }
-  ],
-  "opentelemetry-sdk": [
-    {
-      "buildSystem": "setuptools",
-      "until": "1.13.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "1.13.0"
-    }
-  ],
-  "opentelemetry-semantic-conventions": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.34b0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.33b0"
-    }
-  ],
-  "opentelemetry-util-http": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.34b0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "0.33b0"
-    }
-  ],
-  "opentimestamps": [
-    "setuptools"
-  ],
-  "opentracing": [
-    "setuptools"
-  ],
-  "openvino": [
-    "cython"
-  ],
-  "openwebifpy": [
-    "setuptools"
-  ],
-  "openwrt-luci-rpc": [
-    "setuptools"
-  ],
-  "openwrt-ubus-rpc": [
-    "setuptools"
-  ],
-  "opsdroid-get-image-size": [
-    "setuptools"
-  ],
-  "opt-einsum": [
-    "setuptools"
-  ],
-  "optax": [
-    "setuptools"
-  ],
-  "option": [
-    "poetry-core"
-  ],
-  "optional-django": [
-    "setuptools"
-  ],
-  "opuslib": [
-    "setuptools"
-  ],
-  "oralb-ble": [
-    "poetry-core"
-  ],
-  "ordered-set": [
-    "flit-core",
-    "setuptools"
-  ],
-  "orderedmultidict": [
-    "setuptools"
-  ],
-  "orjson": [
-    "setuptools"
-  ],
-  "orm": [
-    "setuptools"
-  ],
-  "ormar": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ortools": [
-    "setuptools"
-  ],
-  "orvibo": [
-    "setuptools"
-  ],
-  "os-service-types": [
-    "pbr",
-    "setuptools"
-  ],
-  "osc": [
-    "setuptools"
-  ],
-  "osc-lib": [
-    "pbr",
-    "setuptools"
-  ],
-  "oscpy": [
-    "setuptools"
-  ],
-  "oscrypto": [
-    "setuptools"
-  ],
-  "oset": [
-    "setuptools"
-  ],
-  "oslo-concurrency": [
-    "pbr",
-    "setuptools"
-  ],
-  "oslo-config": [
-    "pbr",
-    "setuptools"
-  ],
-  "oslo-context": [
-    "pbr",
-    "setuptools"
-  ],
-  "oslo-db": [
-    "pbr",
-    "setuptools"
-  ],
-  "oslo-i18n": [
-    "pbr",
-    "setuptools"
-  ],
-  "oslo-log": [
-    "pbr",
-    "setuptools"
-  ],
-  "oslo-serialization": [
-    "pbr",
-    "setuptools"
-  ],
-  "oslo-utils": [
-    "pbr",
-    "setuptools"
-  ],
-  "oslotest": [
-    "pbr",
-    "setuptools"
-  ],
-  "osmnx": [
-    "setuptools"
-  ],
-  "osmpythontools": [
-    "setuptools"
-  ],
-  "ospd": [
-    "setuptools"
-  ],
-  "osqp": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "oss2": [
-    "setuptools"
-  ],
-  "ossfs": [
-    "setuptools"
-  ],
-  "outcome": [
-    "setuptools"
-  ],
-  "overly": [
-    "setuptools"
-  ],
-  "overrides": [
-    "setuptools"
-  ],
-  "ovh": [
-    "setuptools"
-  ],
-  "ovmfvartool": [
-    "setuptools"
-  ],
-  "ovoenergy": [
-    "setuptools"
-  ],
-  "owslib": [
-    "setuptools"
-  ],
-  "oyaml": [
-    "setuptools"
-  ],
-  "p1monitor": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pa-ringbuffer": [
-    "setuptools"
-  ],
-  "packageurl-python": [
-    "setuptools"
-  ],
-  "packaging": [
-    {
-      "buildSystem": "setuptools",
-      "until": "20.4"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "20.4",
-      "until": "20.8"
-    },
-    {
-      "buildSystem": "setuptools",
-      "from": "20.8",
-      "until": "22.0"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "22.0"
-    }
-  ],
-  "packbits": [
-    "setuptools"
-  ],
-  "packet-python": [
-    "setuptools"
-  ],
-  "pad4pi": [
-    "setuptools"
-  ],
-  "paddle-client": [
-    "poetry"
-  ],
-  "pafy": [
-    "setuptools"
-  ],
-  "pagelabels": [
-    "setuptools"
-  ],
-  "paho-mqtt": [
-    "setuptools"
-  ],
-  "palace": [
-    "cython",
-    "setuptools"
-  ],
-  "palettable": [
-    "setuptools"
-  ],
-  "pallets-sphinx-themes": [
-    "setuptools"
-  ],
-  "pam": [
-    "setuptools"
-  ],
-  "pamela": [
-    "setuptools"
-  ],
-  "pamqp": [
-    "setuptools"
-  ],
-  "panacotta": [
-    "setuptools"
-  ],
-  "panasonic-viera": [
-    "setuptools"
-  ],
-  "pandarrallel": [
-    "setuptools"
-  ],
-  "pandas": [
-    "cython",
-    "setuptools",
-    {
-      "buildSystem": "versioneer",
-      "from": "2.0.0"
-    }
-  ],
-  "pandas-datareader": [
-    "setuptools"
-  ],
-  "pandas-stubs": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pandoc-attributes": [
-    "setuptools"
-  ],
-  "pandoc-xnos": [
-    "setuptools"
-  ],
-  "pandocfilters": [
-    "setuptools"
-  ],
-  "panel": [
-    "setuptools"
-  ],
-  "panflute": [
-    "setuptools"
-  ],
-  "pao": [
-    "setuptools"
-  ],
-  "papermill": [
-    "setuptools"
-  ],
-  "paperwork-backend": [
-    "setuptools"
-  ],
-  "paperwork-shell": [
-    "setuptools"
-  ],
-  "papis": [
-    "setuptools"
-  ],
-  "papis-python-rofi": [
-    "setuptools"
-  ],
-  "param": [
-    "setuptools"
-  ],
-  "parameter-expansion-patched": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "parameterized": [
-    "setuptools"
-  ],
-  "paramiko": [
-    "setuptools"
-  ],
-  "paramz": [
-    "setuptools"
-  ],
-  "paranoid-crypto": [
-    "setuptools"
-  ],
-  "parfive": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "parquet": [
-    "setuptools"
-  ],
-  "parse": [
-    "setuptools"
-  ],
-  "parse-type": [
-    "setuptools"
-  ],
-  "parsedatetime": [
-    "setuptools"
-  ],
-  "parsedmarc": [
-    "setuptools"
-  ],
-  "parsel": [
-    "setuptools"
-  ],
-  "parsimonious": [
-    "setuptools"
-  ],
-  "parsita": [
-    "poetry"
-  ],
-  "parsley": [
-    "setuptools"
-  ],
-  "parso": [
-    "setuptools"
-  ],
-  "parsy": [
-    "setuptools"
-  ],
-  "partd": [
-    "setuptools"
-  ],
-  "particle": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "parts": [
-    "setuptools"
-  ],
-  "parver": [
-    "setuptools"
-  ],
-  "passlib": [
-    "setuptools"
-  ],
-  "paste": [
-    "setuptools"
-  ],
-  "pastedeploy": [
-    "setuptools"
-  ],
-  "pastel": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pastescript": [
-    "setuptools"
-  ],
-  "patch": [
-    "setuptools"
-  ],
-  "patch-ng": [
-    "setuptools"
-  ],
-  "path": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "path-and-address": [
-    "setuptools"
-  ],
-  "pathable": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pathlib2": [
-    "setuptools"
-  ],
-  "pathos": [
-    "setuptools"
-  ],
-  "pathpy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pathspec": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.11.0"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "0.11.0"
-    }
-  ],
-  "pathtools": [
-    "setuptools"
-  ],
-  "pathvalidate": [
-    "setuptools"
-  ],
-  "pathy": [
-    "setuptools"
-  ],
-  "patiencediff": [
-    "setuptools"
-  ],
-  "patool": [
-    "setuptools"
-  ],
-  "patrowl4py": [
-    "setuptools"
-  ],
-  "patsy": [
-    "setuptools"
-  ],
-  "paver": [
-    "setuptools"
-  ],
-  "paypalrestsdk": [
-    "setuptools"
-  ],
-  "pbkdf2": [
-    "setuptools"
-  ],
-  "pbr": [
-    "setuptools"
-  ],
-  "pc-ble-driver-py": [
-    "setuptools"
-  ],
-  "pcapy-ng": [
-    "cython",
-    "setuptools"
-  ],
-  "pcodedmp": [
-    "setuptools"
-  ],
-  "pcpp": [
-    "setuptools"
-  ],
-  "pdb-tools": [
-    "setuptools"
-  ],
-  "pdb2pqr": [
-    "setuptools"
-  ],
-  "pdbpp": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pdbtools": [
-    "setuptools"
-  ],
-  "pdf2image": [
-    "setuptools"
-  ],
-  "pdfkit": [
-    "setuptools"
-  ],
-  "pdfminer": [
-    "setuptools"
-  ],
-  "pdfminer-six": [
-    "setuptools"
-  ],
-  "pdfposter": [
-    "setuptools"
-  ],
-  "pdfrw": [
-    "setuptools"
-  ],
-  "pdftotext": [
-    "setuptools"
-  ],
-  "pdfx": [
-    "setuptools"
-  ],
-  "pdm-pep517": [
-    "setuptools"
-  ],
-  "pdoc": [
-    "setuptools"
-  ],
-  "pdoc3": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pdunehd": [
-    "setuptools"
-  ],
-  "peaqevcore": [
-    "setuptools"
-  ],
-  "pebble": [
-    "setuptools"
-  ],
-  "pecan": [
-    "setuptools"
-  ],
-  "peco": [
-    "setuptools"
-  ],
-  "peewee": [
-    "cython",
-    "setuptools"
-  ],
-  "pefile": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "peft": [
-    "setuptools"
-  ],
-  "pelican": [
-    "setuptools"
-  ],
-  "pem": [
-    "setuptools"
-  ],
-  "pencompy": [
-    "setuptools"
-  ],
-  "pendulum": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pep257": [
-    "setuptools"
-  ],
-  "pep440": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pep440-version-utils": [
-    "poetry"
-  ],
-  "pep517": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pep8": [
-    "setuptools"
-  ],
-  "pep8-naming": [
-    "setuptools"
-  ],
-  "peppercorn": [
-    "setuptools"
-  ],
-  "percol": [
-    "setuptools"
-  ],
-  "periodictable": [
-    "setuptools"
-  ],
-  "persim": [
-    "setuptools"
-  ],
-  "persistent": [
-    "setuptools"
-  ],
-  "persisting-theory": [
-    "setuptools"
-  ],
-  "pescea": [
-    "setuptools"
-  ],
-  "petname": [
-    "setuptools"
-  ],
-  "pex": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pexif": [
-    "setuptools"
-  ],
-  "pexpect": [
-    "setuptools"
-  ],
-  "pg-activity": [
-    "setuptools"
-  ],
-  "pg8000": [
-    "setuptools"
-  ],
-  "pgcli": [
-    "setuptools"
-  ],
-  "pglast": [
-    "setuptools"
-  ],
-  "pgpdump": [
-    "setuptools"
-  ],
-  "pgpy": [
-    "setuptools"
-  ],
-  "pgsanity": [
-    "setuptools"
-  ],
-  "pgspecial": [
-    "setuptools"
-  ],
-  "phe": [
-    "setuptools"
-  ],
-  "phik": [
-    "setuptools"
-  ],
-  "phone-modem": [
-    "setuptools"
-  ],
-  "phonemizer": [
-    "setuptools"
-  ],
-  "phonenumbers": [
-    "setuptools"
-  ],
-  "phonopy": [
-    "setuptools"
-  ],
-  "phpserialize": [
-    "setuptools"
-  ],
-  "phx-class-registry": [
-    "setuptools"
-  ],
-  "pi1wire": [
-    "setuptools"
-  ],
-  "piccata": [
-    "setuptools"
-  ],
-  "piccolo-theme": [
-    "setuptools"
-  ],
-  "pick": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pickleshare": [
-    "setuptools"
-  ],
-  "picobox": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "picos": [
-    "setuptools"
-  ],
-  "pid": [
-    "setuptools"
-  ],
-  "piexif": [
-    "setuptools"
-  ],
-  "pijuice": [
-    "setuptools"
-  ],
-  "pika": [
-    "setuptools"
-  ],
-  "pika-pool": [
-    "setuptools"
-  ],
-  "pikepdf": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pilkit": [
-    "setuptools"
-  ],
-  "pillow": [
-    "setuptools"
-  ],
-  "pillow-simd": [
-    "setuptools"
-  ],
-  "pillowfight": [
-    "setuptools"
-  ],
-  "pims": [
-    "setuptools"
-  ],
-  "pinboard": [
-    "setuptools"
-  ],
-  "pint": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pint-pandas": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pip": [
-    "setuptools"
-  ],
-  "pip-api": [
-    "setuptools"
-  ],
-  "pip-licenses": [
-    "setuptools",
-    "pytest-runner"
-  ],
-  "pip-requirements-parser": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pip-tools": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pipdate": [
-    "setuptools"
-  ],
-  "pipdeptree": [
-    "hatch-vcs",
-    "hatchling",
-    "setuptools"
-  ],
-  "pipenv-poetry-migrate": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pipx": [
-    "hatchling",
-    "setuptools"
-  ],
-  "pivy": [
-    "setuptools"
-  ],
-  "pixcat": [
-    "setuptools"
-  ],
-  "pixelmatch": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pkce": [
-    "setuptools"
-  ],
-  "pkgconfig": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pkginfo": [
-    "setuptools"
-  ],
-  "pkginfo2": [
-    "setuptools"
-  ],
-  "pkgutil-resolve-name": [
-    "flit-core"
-  ],
-  "pkutils": [
-    "setuptools"
-  ],
-  "plac": [
-    "setuptools"
-  ],
-  "plaid-python": [
-    "setuptools"
-  ],
-  "plantuml": [
-    "setuptools"
-  ],
-  "plantuml-markdown": [
-    "setuptools"
-  ],
-  "plaster": [
-    "setuptools"
-  ],
-  "plaster-pastedeploy": [
-    "setuptools"
-  ],
-  "platformdirs": [
-    "hatch-vcs",
-    "hatchling",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "playsound": [
-    "setuptools"
-  ],
-  "playwright": [
-    "setuptools-scm"
-  ],
-  "plexapi": [
-    "setuptools"
-  ],
-  "plexauth": [
-    "setuptools"
-  ],
-  "plexwebsocket": [
-    "setuptools"
-  ],
-  "plone-testing": [
-    "setuptools"
-  ],
-  "plotly": [
-    "setuptools"
-  ],
-  "plotnine": [
-    "setuptools"
-  ],
-  "pluggy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pluginbase": [
-    "setuptools"
-  ],
-  "plugincode": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "plugnplay": [
-    "setuptools"
-  ],
-  "plugwise": [
-    "setuptools"
-  ],
-  "plum-py": [
-    "setuptools"
-  ],
-  "plumbum": [
-    {
-      "buildSystem": "setuptools",
-      "until": "1.8.1"
-    },
-    {
-      "buildSystem": "setuptools-scm",
-      "until": "1.8.1"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "1.8.1"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "1.8.1"
-    }
-  ],
-  "pluralizer": [
-    "setuptools"
-  ],
-  "plux": [
-    "pytest-runner",
-    "setuptools"
-  ],
-  "ply": [
-    "setuptools"
-  ],
-  "plyer": [
-    "setuptools"
-  ],
-  "plyfile": [
-    "setuptools"
-  ],
-  "plyplus": [
-    "setuptools"
-  ],
-  "plyvel": [
-    "setuptools"
-  ],
-  "pmdarima": [
-    "setuptools"
-  ],
-  "pmsensor": [
-    "setuptools"
-  ],
-  "pmw": [
-    "setuptools"
-  ],
-  "pocket": [
-    "setuptools"
-  ],
-  "podcastparser": [
-    "setuptools"
-  ],
-  "podcats": [
-    "setuptools"
-  ],
-  "poetry-dynamic-versioning": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "poetry-plugin-export": [
-    "poetry-core"
-  ],
-  "poetry-semver": [
-    "setuptools"
-  ],
-  "poetry2conda": [
-    "poetry",
-    "setuptools"
-  ],
-  "poezio": [
-    "setuptools"
-  ],
-  "polarizationsolver": [
-    "setuptools"
-  ],
-  "polib": [
-    "setuptools"
-  ],
-  "policy-sentry": [
-    "setuptools"
-  ],
-  "policyuniverse": [
-    "setuptools"
-  ],
-  "polyline": [
-    "setuptools"
-  ],
-  "pomegranate": [
-    "cython",
-    "setuptools"
-  ],
-  "pontos": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pony": [
-    "setuptools"
-  ],
-  "ponywhoosh": [
-    "setuptools"
-  ],
-  "pooch": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pook": [
-    "setuptools"
-  ],
-  "poolsense": [
-    "setuptools"
-  ],
-  "poppler-qt5": [
-    "setuptools"
-  ],
-  "portalocker": [
-    "setuptools"
-  ],
-  "portend": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "portpicker": [
-    "setuptools"
-  ],
-  "posix-ipc": [
-    "setuptools"
-  ],
-  "pot": [
-    "cython",
-    "setuptools"
-  ],
-  "potentials": [
-    "setuptools"
-  ],
-  "potr": [
-    "setuptools"
-  ],
-  "power": [
-    "setuptools"
-  ],
-  "powerline": [
-    "setuptools"
-  ],
-  "powerline-mem-segment": [
-    "setuptools"
-  ],
-  "powerlinememsegment": [
-    "setuptools"
-  ],
-  "pox": [
-    "setuptools"
-  ],
-  "poyo": [
-    "setuptools"
-  ],
-  "ppdeep": [
-    "setuptools"
-  ],
-  "ppft": [
-    "setuptools"
-  ],
-  "pplpy": [
-    "cython",
-    "setuptools"
-  ],
-  "pprintpp": [
-    "setuptools"
-  ],
-  "pproxy": [
-    "setuptools"
-  ],
-  "ppscore": [
-    "setuptools"
-  ],
-  "pq": [
-    "setuptools"
-  ],
-  "prance": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "praw": [
-    "setuptools"
-  ],
-  "prawcore": [
-    "setuptools"
-  ],
-  "prayer-times-calculator": [
-    "setuptools"
-  ],
-  "pre-commit": [
-    "setuptools"
-  ],
-  "pre-commit-hooks": [
-    "setuptools"
-  ],
-  "pre-commit-po-hooks": [
-    "setuptools"
-  ],
-  "precis-i18n": [
-    "setuptools"
-  ],
-  "prefixed": [
-    "setuptools"
-  ],
-  "preggy": [
-    "setuptools"
-  ],
-  "premailer": [
-    "setuptools"
-  ],
-  "preprocess-cancellation": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "preshed": [
-    "cython",
-    "setuptools"
-  ],
-  "pretend": [
-    "setuptools"
-  ],
-  "prettytable": [
-    {
-      "buildSystem": "setuptools",
-      "until": "3.5.0"
-    },
-    {
-      "buildSystem": "setuptools-scm",
-      "until": "3.5.0"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "3.5.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "3.5.0"
-    }
-  ],
-  "primecountpy": [
-    "cython",
-    "setuptools"
-  ],
-  "primer3": [
-    "cython",
-    "setuptools"
-  ],
-  "priority": [
-    "setuptools"
-  ],
-  "prison": [
-    "setuptools"
-  ],
-  "privacyidea-ldap-proxy": [
-    "setuptools"
-  ],
-  "proboscis": [
-    "setuptools"
-  ],
-  "process-tests": [
-    "setuptools"
-  ],
-  "proglog": [
-    "setuptools"
-  ],
-  "progress": [
-    "setuptools"
-  ],
-  "progressbar": [
-    "setuptools"
-  ],
-  "progressbar2": [
-    "setuptools"
-  ],
-  "progressbar33": [
-    "setuptools"
-  ],
-  "prometheus-client": [
-    "setuptools"
-  ],
-  "prometheus-fastapi-instrumentator": [
-    "poetry"
-  ],
-  "prometheus-flask-exporter": [
-    "setuptools"
-  ],
-  "promise": [
-    "setuptools"
-  ],
-  "prompt-toolkit": [
-    "setuptools"
-  ],
-  "property-manager": [
-    "setuptools"
-  ],
-  "propka": [
-    "setuptools"
-  ],
-  "prospector": [
-    "poetry-core"
-  ],
-  "protego": [
-    "setuptools"
-  ],
-  "proto-plus": [
-    "setuptools"
-  ],
-  "protobuf": [
-    "setuptools"
-  ],
-  "protobuf3-to-dict": [
-    "setuptools"
-  ],
-  "protoletariat": [
-    "poetry-core"
-  ],
-  "proton-client": [
-    "setuptools"
-  ],
-  "protonup": [
-    "setuptools"
-  ],
-  "protonvpn-nm-lib": [
-    "setuptools"
-  ],
-  "prov": [
-    "setuptools"
-  ],
-  "prox-tv": [
-    "setuptools"
-  ],
-  "proxmoxer": [
-    "setuptools"
-  ],
-  "proxy-py": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "proxy-tools": [
-    "setuptools"
-  ],
-  "psautohint": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pscript": [
-    "setuptools"
-  ],
-  "psd-tools": [
-    "cython",
-    "setuptools"
-  ],
-  "psrpcore": [
-    "setuptools"
-  ],
-  "psutil": [
-    "setuptools"
-  ],
-  "psutil-home-assistant": [
-    "setuptools"
-  ],
-  "psycopg": [
-    "setuptools"
-  ],
-  "psycopg-pool": [
-    "setuptools"
-  ],
-  "psycopg2": [
-    "setuptools"
-  ],
-  "psycopg2-binary": [
-    "setuptools"
-  ],
-  "psycopg2cffi": [
-    "setuptools"
-  ],
-  "psygnal": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ptable": [
-    "setuptools"
-  ],
-  "ptest": [
-    "setuptools"
-  ],
-  "ptpython": [
-    "setuptools"
-  ],
-  "ptyprocess": [
-    "flit-core",
-    "setuptools"
-  ],
-  "publication": [
-    "flit"
-  ],
-  "publicsuffix": [
-    "setuptools"
-  ],
-  "publicsuffix2": [
-    "setuptools"
-  ],
-  "pubnub": [
-    "setuptools"
-  ],
-  "pubnubsub-handler": [
-    "setuptools"
-  ],
-  "pudb": [
-    "setuptools"
-  ],
-  "pulp": [
-    "setuptools"
-  ],
-  "pulsectl": [
-    "setuptools"
-  ],
-  "pulumi": [
-    "setuptools"
-  ],
-  "pulumi-aws": [
-    "setuptools"
-  ],
-  "pulumi-azure-native": [
-    "setuptools"
-  ],
-  "pure-cdb": [
-    "setuptools"
-  ],
-  "pure-eval": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pure-pcapy3": [
-    "setuptools"
-  ],
-  "pure-python-adb": [
-    "setuptools"
-  ],
-  "pure-python-adb-homeassistant": [
-    "setuptools"
-  ],
-  "pure-sasl": [
-    "setuptools"
-  ],
-  "puremagic": [
-    "setuptools"
-  ],
-  "purepng": [
-    "cython",
-    "setuptools"
-  ],
-  "purl": [
-    "setuptools"
-  ],
-  "push-receiver": [
-    "setuptools"
-  ],
-  "pushbullet": [
-    "setuptools"
-  ],
-  "pushover-complete": [
-    "setuptools"
-  ],
-  "pvlib": [
-    "setuptools"
-  ],
-  "pvo": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pweave": [
-    "setuptools"
-  ],
-  "pwntools": [
-    "setuptools"
-  ],
-  "py": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "py-air-control": [
-    "setuptools"
-  ],
-  "py-air-control-exporter": [
-    "setuptools"
-  ],
-  "py-canary": [
-    "setuptools"
-  ],
-  "py-cid": [
-    "setuptools"
-  ],
-  "py-cord": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "py-cpuinfo": [
-    "setuptools"
-  ],
-  "py-deprecate": [
-    "setuptools"
-  ],
-  "py-desmume": [
-    "setuptools"
-  ],
-  "py-dmidecode": [
-    "setuptools"
-  ],
-  "py-ecc": [
-    "setuptools"
-  ],
-  "py-eth-sig-utils": [
-    "setuptools"
-  ],
-  "py-libzfs": [
-    "cython"
-  ],
-  "py-lru-cache": [
-    "setuptools"
-  ],
-  "py-multiaddr": [
-    "setuptools"
-  ],
-  "py-multibase": [
-    "setuptools"
-  ],
-  "py-multicodec": [
-    "setuptools"
-  ],
-  "py-multihash": [
-    "pytest-runner",
-    "setuptools"
-  ],
-  "py-nextbusnext": [
-    "setuptools"
-  ],
-  "py-nightscout": [
-    "setuptools"
-  ],
-  "py-partiql-parser": [
-    "setuptools"
-  ],
-  "py-scrypt": [
-    "setuptools"
-  ],
-  "py-sneakers": [
-    "setuptools"
-  ],
-  "py-sonic": [
-    "setuptools"
-  ],
-  "py-stringmatching": [
-    "setuptools"
-  ],
-  "py-synologydsm-api": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "py-tes": [
-    "setuptools"
-  ],
-  "py-tree-sitter": [
-    "setuptools"
-  ],
-  "py-ubjson": [
-    "setuptools"
-  ],
-  "py-vapid": [
-    "setuptools"
-  ],
-  "py-zabbix": [
-    "setuptools"
-  ],
-  "py17track": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "py2bit": [
-    "setuptools"
-  ],
-  "py3exiv2": [
-    "setuptools"
-  ],
-  "py3rijndael": [
-    "setuptools"
-  ],
-  "py3status": [
-    "setuptools"
-  ],
-  "py3to2": [
-    "setuptools"
-  ],
-  "py4j": [
-    "setuptools"
-  ],
-  "pyacoustid": [
-    "setuptools"
-  ],
-  "pyads": [
-    "setuptools"
-  ],
-  "pyaehw4a1": [
-    "setuptools"
-  ],
-  "pyaes": [
-    "setuptools"
-  ],
-  "pyaftership": [
-    "setuptools"
-  ],
-  "pyahocorasick": [
-    "setuptools"
-  ],
-  "pyairnow": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyairtable": [
-    "setuptools"
-  ],
-  "pyairvisual": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyalgotrade": [
-    "setuptools"
-  ],
-  "pyalmond": [
-    "setuptools"
-  ],
-  "pyamg": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyaml": [
-    "setuptools"
-  ],
-  "pyannotate": [
-    "setuptools"
-  ],
-  "pyarlo": [
-    "setuptools"
-  ],
-  "pyarr": [
-    "setuptools"
-  ],
-  "pyarrow": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyasn": [
-    "setuptools"
-  ],
-  "pyasn1": [
-    "setuptools"
-  ],
-  "pyasn1-modules": [
-    "setuptools"
-  ],
-  "pyatag": [
-    "setuptools"
-  ],
-  "pyathena": [
-    "setuptools"
-  ],
-  "pyatmo": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyatome": [
-    "setuptools"
-  ],
-  "pyatspi": [
-    "setuptools"
-  ],
-  "pyatv": [
-    "setuptools"
-  ],
-  "pyaudio": [
-    "setuptools"
-  ],
-  "pyaussiebb": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyautogui": [
-    "setuptools"
-  ],
-  "pyavm": [
-    "setuptools"
-  ],
-  "pyaxmlparser": [
-    "setuptools"
-  ],
-  "pybalboa": [
-    "setuptools"
-  ],
-  "pybase64": [
-    "setuptools"
-  ],
-  "pybigwig": [
-    "setuptools"
-  ],
-  "pybind11": [
-    "setuptools"
-  ],
-  "pybindgen": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyblackbird": [
-    "setuptools"
-  ],
-  "pyblake2": [
-    "setuptools"
-  ],
-  "pybluez": [
-    "setuptools"
-  ],
-  "pybotvac": [
-    "setuptools"
-  ],
-  "pybravia": [
-    "poetry-core"
-  ],
-  "pybrowserid": [
-    "setuptools"
-  ],
-  "pybtex": [
-    "setuptools"
-  ],
-  "pybtex-docutils": [
-    "setuptools"
-  ],
-  "pybullet": [
-    "setuptools"
-  ],
-  "pycairo": [
-    "setuptools"
-  ],
-  "pycangjie": [
-    "cython",
-    "setuptools"
-  ],
-  "pycapnp": [
-    "cython",
-    "setuptools"
-  ],
-  "pycaption": [
-    "setuptools"
-  ],
-  "pycares": [
-    "setuptools"
-  ],
-  "pycarwings2": [
-    "setuptools"
-  ],
-  "pycategories": [
-    "setuptools"
-  ],
-  "pycdio": [
-    "setuptools"
-  ],
-  "pycec": [
-    "setuptools"
-  ],
-  "pycep-parser": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pycfdns": [
-    "setuptools"
-  ],
-  "pycflow2dot": [
-    "setuptools"
-  ],
-  "pycfmodel": [
-    "setuptools"
-  ],
-  "pychannels": [
-    "setuptools"
-  ],
-  "pychef": [
-    "setuptools"
-  ],
-  "pychm": [
-    "setuptools"
-  ],
-  "pychromecast": [
-    "setuptools"
-  ],
-  "pycketcasts": [
-    "setuptools"
-  ],
-  "pyclimacell": [
-    "setuptools"
-  ],
-  "pyclip": [
-    "setuptools"
-  ],
-  "pyclipper": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pycm": [
-    "setuptools"
-  ],
-  "pycmarkgfm": [
-    "setuptools"
-  ],
-  "pycocotools": [
-    "cython",
-    "setuptools"
-  ],
-  "pycodestyle": [
-    "setuptools"
-  ],
-  "pycognito": [
-    "setuptools"
-  ],
-  "pycoin": [
-    "setuptools"
-  ],
-  "pycollada": [
-    "setuptools"
-  ],
-  "pycomfoconnect": [
-    "setuptools"
-  ],
-  "pycontracts": [
-    "setuptools"
-  ],
-  "pycontrol4": [
-    "setuptools"
-  ],
-  "pycoolmasternet-async": [
-    "setuptools"
-  ],
-  "pycosat": [
-    "setuptools"
-  ],
-  "pycountry": [
-    "setuptools"
-  ],
-  "pycparser": [
-    "setuptools"
-  ],
-  "pycrc": [
-    "setuptools"
-  ],
-  "pycritty": [
-    "setuptools"
-  ],
-  "pycron": [
-    "setuptools"
-  ],
-  "pycrypto": [
-    "setuptools"
-  ],
-  "pycryptodome": [
-    "setuptools"
-  ],
-  "pycryptodomex": [
-    "setuptools"
-  ],
-  "pycsdr": [
-    "setuptools"
-  ],
-  "pyct": [
-    "setuptools"
-  ],
-  "pyctr": [
-    "setuptools"
-  ],
-  "pycuda": [
-    "setuptools"
-  ],
-  "pycups": [
-    "setuptools"
-  ],
-  "pycurl": [
-    "setuptools"
-  ],
-  "pycxx": [
-    "setuptools"
-  ],
-  "pydaikin": [
-    "setuptools"
-  ],
-  "pydal": [
-    "setuptools"
-  ],
-  "pydanfossair": [
-    "setuptools"
-  ],
-  "pydantic": [
-    "cython",
-    "setuptools"
-  ],
-  "pydantic-dydb": [
-    "poetry-core"
-  ],
-  "pydash": [
-    "setuptools"
-  ],
-  "pydata-sphinx-theme": [
-    "setuptools"
-  ],
-  "pydbus": [
-    "setuptools"
-  ],
-  "pydeck": [
-    "setuptools"
-  ],
-  "pydeconz": [
-    "setuptools"
-  ],
-  "pydelijn": [
-    "setuptools"
-  ],
-  "pydenticon": [
-    "setuptools"
-  ],
-  "pydeprecate": [
-    "setuptools"
-  ],
-  "pydeps": [
-    "setuptools"
-  ],
-  "pydes": [
-    "setuptools"
-  ],
-  "pydevccu": [
-    "setuptools"
-  ],
-  "pydevd": [
-    "setuptools"
-  ],
-  "pydevd-odoo": [
-    "setuptools"
-  ],
-  "pydexcom": [
-    "setuptools"
-  ],
-  "pydicom": [
-    "setuptools"
-  ],
-  "pydigiham": [
-    "setuptools"
-  ],
-  "pydispatcher": [
-    "setuptools"
-  ],
-  "pydmd": [
-    "setuptools"
-  ],
-  "pydns": [
-    "setuptools"
-  ],
-  "pydocstyle": [
-    {
-      "buildSystem": "setuptools",
-      "until": "6.2.0"
-    },
-    {
-      "buildSystem": "poetry-core",
-      "from": "6.2.0"
-    }
-  ],
-  "pydocumentdb": [
-    "setuptools"
-  ],
-  "pydoods": [
-    "setuptools"
-  ],
-  "pydot": [
-    "setuptools"
-  ],
-  "pydpkg": [
-    "poetry"
-  ],
-  "pydrive2": [
-    "setuptools"
-  ],
-  "pydroid-ipcam": [
-    "setuptools"
-  ],
-  "pydruid": [
-    "setuptools"
-  ],
-  "pydsdl": [
-    "setuptools"
-  ],
-  "pydub": [
-    "setuptools"
-  ],
-  "pyduke-energy": [
-    "setuptools"
-  ],
-  "pydy": [
-    "cython",
-    "setuptools"
-  ],
-  "pydyf": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pyeapi": [
-    "setuptools"
-  ],
-  "pyebus": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyeclib": [
-    "setuptools"
-  ],
-  "pyeconet": [
-    "setuptools"
-  ],
-  "pyecowitt": [
-    "setuptools"
-  ],
-  "pyedimax": [
-    "setuptools"
-  ],
-  "pyee": [
-    "setuptools"
-  ],
-  "pyefergy": [
-    "setuptools"
-  ],
-  "pyeight": [
-    "setuptools"
-  ],
-  "pyelftools": [
-    "setuptools"
-  ],
-  "pyemby": [
-    "setuptools"
-  ],
-  "pyemd": [
-    "cython",
-    "setuptools"
-  ],
-  "pyenchant": [
-    "setuptools"
-  ],
-  "pyenvisalink": [
-    "setuptools"
-  ],
-  "pyephember": [
-    "setuptools"
-  ],
-  "pyepsg": [
-    "setuptools"
-  ],
-  "pyerfa": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyeverlights": [
-    "setuptools"
-  ],
-  "pyevilgenius": [
-    "setuptools"
-  ],
-  "pyevmasm": [
-    "setuptools"
-  ],
-  "pyexcel": [
-    "setuptools"
-  ],
-  "pyexcel-io": [
-    "setuptools"
-  ],
-  "pyexcel-ods": [
-    "setuptools"
-  ],
-  "pyexcel-xls": [
-    "setuptools"
-  ],
-  "pyext": [
-    "setuptools"
-  ],
-  "pyezviz": [
-    "setuptools"
-  ],
-  "pyface": [
-    "setuptools"
-  ],
-  "pyfaidx": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyfakefs": [
-    "setuptools"
-  ],
-  "pyfakewebcam": [
-    "setuptools"
-  ],
-  "pyfantom": [
-    "setuptools"
-  ],
-  "pyfcm": [
-    "setuptools"
-  ],
-  "pyfftw": [
-    "cython",
-    "setuptools"
-  ],
-  "pyfido": [
-    "setuptools"
-  ],
-  "pyfiglet": [
-    "setuptools"
-  ],
-  "pyfireservicerota": [
-    "setuptools"
-  ],
-  "pyflakes": [
-    "setuptools"
-  ],
-  "pyflexit": [
-    "setuptools"
-  ],
-  "pyflic": [
-    "setuptools"
-  ],
-  "pyflick": [
-    "setuptools"
-  ],
-  "pyflume": [
-    "setuptools"
-  ],
-  "pyflunearyou": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyfma": [
-    "setuptools"
-  ],
-  "pyfnip": [
-    "setuptools"
-  ],
-  "pyfreedompro": [
-    "setuptools"
-  ],
-  "pyfribidi": [
-    "setuptools"
-  ],
-  "pyfritzhome": [
-    "setuptools"
-  ],
-  "pyfronius": [
-    "setuptools"
-  ],
-  "pyftdi": [
-    "setuptools"
-  ],
-  "pyftgl": [
-    "setuptools"
-  ],
-  "pyftpdlib": [
-    "setuptools"
-  ],
-  "pyfttt": [
-    "setuptools"
-  ],
-  "pyfuse3": [
-    "cython",
-    "setuptools"
-  ],
-  "pyfxa": [
-    "setuptools"
-  ],
-  "pyfzf": [
-    "setuptools"
-  ],
-  "pygal": [
-    "setuptools"
-  ],
-  "pygame": [
-    "setuptools"
-  ],
-  "pygame-gui": [
-    "setuptools"
-  ],
-  "pygame-sdl2": [
-    "cython",
-    "setuptools"
-  ],
-  "pygatt": [
-    "setuptools"
-  ],
-  "pygccxml": [
-    "setuptools"
-  ],
-  "pygdbmi": [
-    "setuptools"
-  ],
-  "pygeoip": [
-    "setuptools"
-  ],
-  "pygeos": [
-    "cython",
-    "setuptools"
-  ],
-  "pygetwindow": [
-    "setuptools"
-  ],
-  "pygit2": [
-    "setuptools"
-  ],
-  "pygithub": [
-    "setuptools"
-  ],
-  "pyglet": [
-    "setuptools"
-  ],
-  "pygls": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pygltflib": [
-    "setuptools"
-  ],
-  "pygmars": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pygments": [
-    "setuptools"
-  ],
-  "pygments-better-html": [
-    "setuptools"
-  ],
-  "pygments-markdown-lexer": [
-    "setuptools"
-  ],
-  "pygmt": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pygobject3": [
-    "setuptools"
-  ],
-  "pygogo": [
-    "setuptools"
-  ],
-  "pygpgme": [
-    "setuptools"
-  ],
-  "pygraphviz": [
-    "setuptools"
-  ],
-  "pygreat": [
-    "setuptools"
-  ],
-  "pygrok": [
-    "setuptools"
-  ],
-  "pygtail": [
-    "setuptools"
-  ],
-  "pygtfs": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pygti": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pygtkspellcheck": [
-    "setuptools"
-  ],
-  "pygtrie": [
-    "setuptools"
-  ],
-  "pyhamcrest": [
-    "hatch-vcs",
-    "hatchling",
-    "setuptools"
-  ],
-  "pyhanko": [
-    "setuptools"
-  ],
-  "pyhanko-certvalidator": [
-    "setuptools"
-  ],
-  "pyhaversion": [
-    "setuptools"
-  ],
-  "pyhcl": [
-    "setuptools"
-  ],
-  "pyheos": [
-    "setuptools"
-  ],
-  "pyhiveapi": [
-    "setuptools"
-  ],
-  "pyhocon": [
-    "setuptools"
-  ],
-  "pyhomematic": [
-    "setuptools"
-  ],
-  "pyhomepilot": [
-    "setuptools"
-  ],
-  "pyhomeworks": [
-    "setuptools"
-  ],
-  "pyhs100": [
-    "setuptools"
-  ],
-  "pyhumps": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyi2cflash": [
-    "setuptools"
-  ],
-  "pyialarm": [
-    "setuptools"
-  ],
-  "pyicloud": [
-    "setuptools"
-  ],
-  "pyicu": [
-    "setuptools"
-  ],
-  "pyimpfuzzy": [
-    "setuptools"
-  ],
-  "pyinfra": [
-    "setuptools"
-  ],
-  "pyinotify": [
-    "setuptools"
-  ],
-  "pyinputevent": [
-    "setuptools"
-  ],
-  "pyinsteon": [
-    "setuptools"
-  ],
-  "pyinstrument": [
-    "setuptools"
-  ],
-  "pyintesishome": [
-    "setuptools"
-  ],
-  "pyipma": [
-    "setuptools"
-  ],
-  "pyipp": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyiqvia": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyisbn": [
-    "setuptools"
-  ],
-  "pyisy": [
-    "setuptools"
-  ],
-  "pyjet": [
-    "cython",
-    "setuptools"
-  ],
-  "pyjks": [
-    "setuptools"
-  ],
-  "pyjnius": [
-    "cython",
-    "setuptools"
-  ],
-  "pyjsg": [
-    "pbr"
-  ],
-  "pyjson5": [
-    "setuptools"
-  ],
-  "pyjsparser": [
-    "setuptools"
-  ],
-  "pyjwkest": [
-    "setuptools"
-  ],
-  "pyjwt": [
-    "setuptools"
-  ],
-  "pykakasi": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pykdtree": [
-    "setuptools"
-  ],
-  "pykeepass": [
-    "setuptools"
-  ],
-  "pykerberos": [
-    "setuptools"
-  ],
-  "pykeyatome": [
-    "setuptools"
-  ],
-  "pykira": [
-    "setuptools"
-  ],
-  "pykka": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pykmtronic": [
-    "setuptools"
-  ],
-  "pykodi": [
-    "setuptools"
-  ],
-  "pykoplenti": [
-    "setuptools"
-  ],
-  "pykostalpiko": [
-    "setuptools"
-  ],
-  "pykrakenapi": [
-    "setuptools"
-  ],
-  "pykube-ng": [
-    "setuptools"
-  ],
-  "pykulersky": [
-    "setuptools"
-  ],
-  "pykwalify": [
-    "setuptools"
-  ],
-  "pykwb": [
-    "setuptools"
-  ],
-  "pylacrosse": [
-    "setuptools"
-  ],
-  "pylama": [
-    "setuptools"
-  ],
-  "pylast": [
-    "hatch-vcs",
-    "hatchling",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pylatexenc": [
-    "setuptools"
-  ],
-  "pylaunches": [
-    "setuptools"
-  ],
-  "pyld": [
-    "setuptools"
-  ],
-  "pylev": [
-    "setuptools"
-  ],
-  "pylgnetcast": [
-    "setuptools"
-  ],
-  "pylibacl": [
-    "setuptools"
-  ],
-  "pylibconfig2": [
-    "setuptools"
-  ],
-  "pylibdmtx": [
-    "setuptools"
-  ],
-  "pylibftdi": [
-    "setuptools"
-  ],
-  "pyliblo": [
-    "cython",
-    "setuptools"
-  ],
-  "pylibmc": [
-    "setuptools"
-  ],
-  "pylightning": [
-    "setuptools"
-  ],
-  "pylink-square": [
-    "setuptools"
-  ],
-  "pylint": [
-    "setuptools"
-  ],
-  "pylint-celery": [
-    "setuptools"
-  ],
-  "pylint-django": [
-    "setuptools"
-  ],
-  "pylint-flask": [
-    "setuptools"
-  ],
-  "pylint-plugin-utils": [
-    "setuptools",
-    "poetry"
-  ],
-  "pylint-venv": [
-    "poetry-core"
-  ],
-  "pylitterbot": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyln-bolt7": [
-    "poetry"
-  ],
-  "pyln-client": [
-    "poetry"
-  ],
-  "pyln-proto": [
-    "poetry"
-  ],
-  "pylnk3": [
-    "setuptools"
-  ],
-  "pylru": [
-    "setuptools"
-  ],
-  "pyls-flake8": [
-    "setuptools"
-  ],
-  "pyls-isort": [
-    "setuptools"
-  ],
-  "pyls-spyder": [
-    "setuptools"
-  ],
-  "pylsp-mypy": [
-    "setuptools"
-  ],
-  "pylutron": [
-    "setuptools"
-  ],
-  "pylutron-caseta": [
-    "setuptools"
-  ],
-  "pylxd": [
-    "setuptools"
-  ],
-  "pylyrics": [
-    "setuptools"
-  ],
-  "pylzma": [
-    "setuptools"
-  ],
-  "pymacaroons": [
-    "setuptools"
-  ],
-  "pymaging": [
-    "setuptools"
-  ],
-  "pymaging-png": [
-    "setuptools"
-  ],
-  "pymailgunner": [
-    "setuptools"
-  ],
-  "pymanopt": [
-    "setuptools"
-  ],
-  "pymarkdown": [
-    "setuptools"
-  ],
-  "pymarshal": [
-    "setuptools"
-  ],
-  "pymata-express": [
-    "setuptools"
-  ],
-  "pymatgen": [
-    "cython",
-    "setuptools"
-  ],
-  "pymaven-patch": [
-    "pbr",
-    "setuptools"
-  ],
-  "pymavlink": [
-    "setuptools"
-  ],
-  "pymazda": [
-    "setuptools"
-  ],
-  "pymbolic": [
-    "setuptools"
-  ],
-  "pymc": [
-    "setuptools"
-  ],
-  "pymc3": [
-    "setuptools"
-  ],
-  "pymdown-extensions": [
-    "hatchling",
-    "setuptools"
-  ],
-  "pymdstat": [
-    "setuptools"
-  ],
-  "pymediainfo": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pymediaroom": [
-    "setuptools"
-  ],
-  "pymeeus": [
-    "setuptools"
-  ],
-  "pymelcloud": [
-    "setuptools"
-  ],
-  "pymemcache": [
-    "setuptools"
-  ],
-  "pymemoize": [
-    "setuptools"
-  ],
-  "pyment": [
-    "setuptools"
-  ],
-  "pymetar": [
-    "setuptools"
-  ],
-  "pymeteireann": [
-    "setuptools"
-  ],
-  "pymeteoclimatic": [
-    "setuptools"
-  ],
-  "pymetno": [
-    "setuptools"
-  ],
-  "pymfy": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pymicrobot": [
-    "setuptools"
-  ],
-  "pymitv": [
-    "setuptools"
-  ],
-  "pymodbus": [
-    "setuptools"
-  ],
-  "pymongo": [
-    "setuptools"
-  ],
-  "pymoo": [
-    "cython",
-    "setuptools"
-  ],
-  "pymorphy2": [
-    "setuptools"
-  ],
-  "pymorphy2-dicts-ru": [
-    "setuptools"
-  ],
-  "pympler": [
-    "setuptools"
-  ],
-  "pymsgbox": [
-    "setuptools"
-  ],
-  "pymssql": [
-    "cython",
-    "setuptools"
-  ],
-  "pymsteams": [
-    "setuptools"
-  ],
-  "pymumble": [
-    "setuptools"
-  ],
-  "pymunk": [
-    "setuptools"
-  ],
-  "pymupdf": [
-    "setuptools"
-  ],
-  "pymvglive": [
-    "setuptools"
-  ],
-  "pymyq": [
-    "setuptools"
-  ],
-  "pymysensors": [
-    "setuptools"
-  ],
-  "pymysql": [
-    "setuptools"
-  ],
-  "pymysqlsa": [
-    "setuptools"
-  ],
-  "pymystem3": [
-    "setuptools"
-  ],
-  "pynac": [
-    "setuptools"
-  ],
-  "pynacl": [
-    "setuptools"
-  ],
-  "pynamecheap": [
-    "setuptools"
-  ],
-  "pynamodb": [
-    "setuptools"
-  ],
-  "pynanoleaf": [
-    "setuptools"
-  ],
-  "pynello": [
-    "setuptools"
-  ],
-  "pynest2d": [
-    "setuptools"
-  ],
-  "pynetbox": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pynetdicom": [
-    "setuptools"
-  ],
-  "pynetgear": [
-    "setuptools"
-  ],
-  "pynina": [
-    "setuptools"
-  ],
-  "pynisher": [
-    "setuptools"
-  ],
-  "pynixutil": [
-    "poetry"
-  ],
-  "pynmea2": [
-    "setuptools"
-  ],
-  "pynndescent": [
-    "setuptools"
-  ],
-  "pynobo": [
-    "setuptools"
-  ],
-  "pynput": [
-    "setuptools"
-  ],
-  "pynrrd": [
-    "setuptools"
-  ],
-  "pynuki": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pynut2": [
-    "setuptools"
-  ],
-  "pynvim": [
-    "setuptools"
-  ],
-  "pynvml": [
-    "setuptools"
-  ],
-  "pynws": [
-    "setuptools"
-  ],
-  "pynx584": [
-    "setuptools"
-  ],
-  "pynzb": [
-    "setuptools"
-  ],
-  "pyobihai": [
-    "setuptools"
-  ],
-  "pyocr": [
-    "setuptools"
-  ],
-  "pyoctoprintapi": [
-    "setuptools"
-  ],
-  "pyodbc": [
-    "setuptools"
-  ],
-  "pyogg": [
-    "setuptools"
-  ],
-  "pyombi": [
-    "setuptools"
-  ],
-  "pyomo": [
-    "setuptools"
-  ],
-  "pyopencl": [
-    "pybind11",
-    "setuptools"
-  ],
-  "pyopengl": [
-    "setuptools"
-  ],
-  "pyopenssl": [
-    "setuptools"
-  ],
-  "pyopenuv": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyopnsense": [
-    "pbr",
-    "setuptools"
-  ],
-  "pyoppleio": [
-    "setuptools"
-  ],
-  "pyosf": [
-    "setuptools"
-  ],
-  "pyosmium": [
-    "setuptools"
-  ],
-  "pyotgw": [
-    "setuptools"
-  ],
-  "pyotp": [
-    "setuptools"
-  ],
-  "pyoverkiz": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyowm": [
-    "setuptools"
-  ],
-  "pyownet": [
-    "setuptools"
-  ],
-  "pyp": [
-    "setuptools"
-  ],
-  "pypandoc": [
-    "setuptools"
-  ],
-  "pyparser": [
-    "setuptools"
-  ],
-  "pyparsing": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pyparted": [
-    "setuptools"
-  ],
-  "pypass": [
-    "pbr",
-    "setuptools"
-  ],
-  "pypblib": [
-    "setuptools"
-  ],
-  "pypca": [
-    "setuptools"
-  ],
-  "pypcap": [
-    "setuptools"
-  ],
-  "pypck": [
-    "setuptools"
-  ],
-  "pypdf": [
-    "flit"
-  ],
-  "pypdf2": [
-    "setuptools"
-  ],
-  "pypdf3": [
-    "setuptools"
-  ],
-  "pypeg2": [
-    "setuptools"
-  ],
-  "pypemicro": [
-    "setuptools"
-  ],
-  "pyperclip": [
-    "setuptools"
-  ],
-  "pyperf": [
-    "setuptools"
-  ],
-  "pypeul": [
-    "poetry-core"
-  ],
-  "pyphen": [
-    "flit",
-    "setuptools"
-  ],
-  "pyphotonfile": [
-    "setuptools"
-  ],
-  "pypika-tortoise": [
-    "poetry-core"
-  ],
-  "pypillowfight": [
-    "setuptools"
-  ],
-  "pypinyin": [
-    "setuptools"
-  ],
-  "pypiserver": [
-    "setuptools"
-  ],
-  "pyplaato": [
-    "setuptools"
-  ],
-  "pypng": [
-    "setuptools"
-  ],
-  "pypoint": [
-    "setuptools"
-  ],
-  "pypoolstation": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyppeteer": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyprecice": [
-    "cython",
-    "setuptools"
-  ],
-  "pypresence": [
-    "setuptools"
-  ],
-  "pyprind": [
-    "setuptools"
-  ],
-  "pyprof2calltree": [
-    "setuptools"
-  ],
-  "pyproj": [
-    "cython",
-    "setuptools"
-  ],
-  "pyproject-flake8": [
-    "flit-core"
-  ],
-  "pyproject-hooks": [
-    "flit-core"
-  ],
-  "pyproject-metadata": [
-    "setuptools"
-  ],
-  "pyprosegur": [
-    "setuptools"
-  ],
-  "pyprusalink": [
-    "setuptools"
-  ],
-  "pypsrp": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pypubsub": [
-    "setuptools"
-  ],
-  "pypugjs": [
-    "setuptools"
-  ],
-  "pypykatz": [
-    "setuptools"
-  ],
-  "pypytools": [
-    "setuptools"
-  ],
-  "pyqldb": [
-    "setuptools"
-  ],
-  "pyqrcode": [
-    "setuptools"
-  ],
-  "pyqt-builder": [
-    "setuptools"
-  ],
-  "pyqt4": [
-    "setuptools"
-  ],
-  "pyqt5": [
-    "setuptools"
-  ],
-  "pyqt5-sip": [
-    "setuptools"
-  ],
-  "pyqt5-with-qtmultimedia": [
-    "setuptools"
-  ],
-  "pyqt5-with-qtwebkit": [
-    "setuptools"
-  ],
-  "pyqt6": [
-    "setuptools"
-  ],
-  "pyqtgraph": [
-    "setuptools"
-  ],
-  "pyqtwebengine": [
-    "setuptools"
-  ],
-  "pyquaternion": [
-    "setuptools"
-  ],
-  "pyquery": [
-    "setuptools"
-  ],
-  "pyquil": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyqvrpro": [
-    "setuptools"
-  ],
-  "pyrabbit2": [
-    "setuptools"
-  ],
-  "pyrad": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyradios": [
-    "setuptools"
-  ],
-  "pyrainbird": [
-    "setuptools"
-  ],
-  "pyramid": [
-    "setuptools"
-  ],
-  "pyramid-chameleon": [
-    "setuptools"
-  ],
-  "pyramid-deferred-sqla": [
-    "setuptools"
-  ],
-  "pyramid-exclog": [
-    "setuptools"
-  ],
-  "pyramid-force-https": [
-    "setuptools"
-  ],
-  "pyramid-hawkauth": [
-    "setuptools"
-  ],
-  "pyramid-heroku": [
-    "setuptools"
-  ],
-  "pyramid-jinja2": [
-    "setuptools"
-  ],
-  "pyramid-jwt": [
-    "setuptools"
-  ],
-  "pyramid-mako": [
-    "setuptools"
-  ],
-  "pyramid-mixpanel": [
-    "setuptools"
-  ],
-  "pyramid-multiauth": [
-    "setuptools"
-  ],
-  "pyramid-openapi3": [
-    "poetry"
-  ],
-  "pyramid-redirect": [
-    "setuptools"
-  ],
-  "pyramid-redis": [
-    "setuptools"
-  ],
-  "pyramid-retry": [
-    "setuptools"
-  ],
-  "pyramid-splinter": [
-    "setuptools"
-  ],
-  "pyramid-tm": [
-    "setuptools"
-  ],
-  "pyreadability": [
-    "setuptools"
-  ],
-  "pyreadstat": [
-    "cython"
-  ],
-  "pyrect": [
-    "setuptools"
-  ],
-  "pyregion": [
-    "cython",
-    "setuptools"
-  ],
-  "pyrepl": [
-    "setuptools"
-  ],
-  "pyrevolve": [
-    "cython",
-    "setuptools"
-  ],
-  "pyrfc3339": [
-    "setuptools"
-  ],
-  "pyrfxtrx": [
-    "setuptools"
-  ],
-  "pyric": [
-    "setuptools"
-  ],
-  "pyrisco": [
-    "setuptools"
-  ],
-  "pyrituals": [
-    "setuptools"
-  ],
-  "pyrmvtransport": [
-    "flit",
-    "setuptools"
-  ],
-  "pyro-api": [
-    "setuptools"
-  ],
-  "pyro-ppl": [
-    "setuptools"
-  ],
-  "pyro4": [
-    "setuptools"
-  ],
-  "pyro5": [
-    "setuptools"
-  ],
-  "pyrogram": [
-    "setuptools"
-  ],
-  "pyroma": [
-    "setuptools"
-  ],
-  "pyroute2": [
-    "setuptools"
-  ],
-  "pyrr": [
-    "setuptools"
-  ],
-  "pyrsistent": [
-    "setuptools"
-  ],
-  "pyrss2gen": [
-    "setuptools"
-  ],
-  "pyruckus": [
-    "setuptools"
-  ],
-  "pysabnzbd": [
-    "setuptools"
-  ],
-  "pysaj": [
-    "setuptools"
-  ],
-  "pysam": [
-    "cython",
-    "setuptools"
-  ],
-  "pysaml2": [
-    "setuptools"
-  ],
-  "pysatochip": [
-    "setuptools"
-  ],
-  "pysbd": [
-    "setuptools"
-  ],
-  "pyscard": [
-    "setuptools"
-  ],
-  "pyscf": [
-    "setuptools"
-  ],
-  "pyschedule": [
-    "setuptools"
-  ],
-  "pyschemes": [
-    "setuptools"
-  ],
-  "pyscreenshot": [
-    "setuptools"
-  ],
-  "pyscreeze": [
-    "setuptools"
-  ],
-  "pyscrypt": [
-    "setuptools"
-  ],
-  "pyscss": [
-    "setuptools"
-  ],
-  "pysdcp": [
-    "setuptools"
-  ],
-  "pysdl2": [
-    "setuptools"
-  ],
-  "pysecuritas": [
-    "setuptools"
-  ],
-  "pysendfile": [
-    "setuptools"
-  ],
-  "pysensibo": [
-    "setuptools"
-  ],
-  "pysensors": [
-    "setuptools"
-  ],
-  "pyserde": [
-    "poetry",
-    "poetry-dynamic-versioning"
-  ],
-  "pyserial": [
-    "setuptools"
-  ],
-  "pyserial-asyncio": [
-    "setuptools"
-  ],
-  "pysftp": [
-    "setuptools"
-  ],
-  "pysha3": [
-    "setuptools"
-  ],
-  "pyshark": [
-    "setuptools"
-  ],
-  "pyshex": [
-    "pbr"
-  ],
-  "pyshexc": [
-    "pbr"
-  ],
-  "pyshp": [
-    "setuptools"
-  ],
-  "pysiaalarm": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyside": [
-    "setuptools"
-  ],
-  "pyside2": [
-    "setuptools"
-  ],
-  "pysideshiboken": [
-    "setuptools"
-  ],
-  "pysidetools": [
-    "setuptools"
-  ],
-  "pysigma": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysigma-backend-elasticsearch": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysigma-backend-insightidr": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysigma-backend-opensearch": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysigma-backend-qradar": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysigma-backend-splunk": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysigma-pipeline-crowdstrike": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysigma-pipeline-sysmon": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysigma-pipeline-windows": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysignalclirestapi": [
-    "setuptools"
-  ],
-  "pysigset": [
-    "setuptools"
-  ],
-  "pysimplegui": [
-    "setuptools"
-  ],
-  "pysingleton": [
-    "setuptools"
-  ],
-  "pyskyqhub": [
-    "setuptools"
-  ],
-  "pyskyqremote": [
-    "setuptools"
-  ],
-  "pyslurm": [
-    "cython",
-    "setuptools"
-  ],
-  "pysma": [
-    "setuptools"
-  ],
-  "pysmappee": [
-    "setuptools"
-  ],
-  "pysmart": [
-    "setuptools"
-  ],
-  "pysmart-smartx": [
-    "setuptools"
-  ],
-  "pysmartapp": [
-    "setuptools"
-  ],
-  "pysmartdl": [
-    "setuptools"
-  ],
-  "pysmartthings": [
-    "setuptools"
-  ],
-  "pysmb": [
-    "setuptools"
-  ],
-  "pysmbc": [
-    "setuptools"
-  ],
-  "pysmf": [
-    "cython",
-    "setuptools"
-  ],
-  "pysmi": [
-    "setuptools"
-  ],
-  "pysml": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysmt": [
-    "setuptools"
-  ],
-  "pysnmp": [
-    "setuptools"
-  ],
-  "pysnmp-pyasn1": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysnmp-pysmi": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysnmplib": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysnooper": [
-    "setuptools"
-  ],
-  "pysnooz": [
-    "poetry-core"
-  ],
-  "pysnow": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pysocks": [
-    "setuptools"
-  ],
-  "pysolcast": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pysolr": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pysoma": [
-    "setuptools"
-  ],
-  "pysonos": [
-    "setuptools"
-  ],
-  "pysoundfile": [
-    "setuptools"
-  ],
-  "pyspark": [
-    "setuptools"
-  ],
-  "pyspcwebgw": [
-    "setuptools"
-  ],
-  "pyspf": [
-    "setuptools"
-  ],
-  "pyspice": [
-    "setuptools"
-  ],
-  "pyspiflash": [
-    "setuptools"
-  ],
-  "pyspinel": [
-    "setuptools"
-  ],
-  "pyspnego": [
-    "setuptools"
-  ],
-  "pysptk": [
-    "cython",
-    "setuptools"
-  ],
-  "pysqlite": [
-    "setuptools"
-  ],
-  "pysqlitecipher": [
-    "setuptools"
-  ],
-  "pysqueezebox": [
-    "setuptools"
-  ],
-  "pysrim": [
-    "setuptools"
-  ],
-  "pysrt": [
-    "setuptools"
-  ],
-  "pyssim": [
-    "setuptools"
-  ],
-  "pystac": [
-    "setuptools"
-  ],
-  "pystache": [
-    "setuptools"
-  ],
-  "pystemd": [
-    "setuptools"
-  ],
-  "pystemmer": [
-    "cython",
-    "setuptools"
-  ],
-  "pystray": [
-    "setuptools"
-  ],
-  "pysvg-py3": [
-    "setuptools"
-  ],
-  "pysvn": [
-    "setuptools"
-  ],
-  "pyswitchbee": [
-    "setuptools"
-  ],
-  "pyswitchbot": [
-    "setuptools"
-  ],
-  "pysychonaut": [
-    "setuptools"
-  ],
-  "pysyncobj": [
-    "setuptools"
-  ],
-  "pysyncthru": [
-    "setuptools"
-  ],
-  "pytabix": [
-    "setuptools"
-  ],
-  "pytado": [
-    "setuptools"
-  ],
-  "pytaglib": [
-    "cython",
-    "setuptools"
-  ],
-  "pytankerkoenig": [
-    "setuptools"
-  ],
-  "pytap2": [
-    "setuptools"
-  ],
-  "pytautulli": [
-    "setuptools"
-  ],
-  "pyte": [
-    "setuptools"
-  ],
-  "pytelegrambotapi": [
-    "setuptools"
-  ],
-  "pytenable": [
-    "setuptools"
-  ],
-  "pytesseract": [
-    "setuptools"
-  ],
-  "pytest": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-6": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-aio": [
-    "setuptools"
-  ],
-  "pytest-aiohttp": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-annotate": [
-    "setuptools"
-  ],
-  "pytest-arraydiff": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-astropy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-astropy-header": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-asyncio": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-bdd": [
-    "setuptools",
-    "poetry-core"
-  ],
-  "pytest-benchmark": [
-    "setuptools"
-  ],
-  "pytest-black": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-cache": [
-    "setuptools"
-  ],
-  "pytest-cases": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-catchlog": [
-    "setuptools"
-  ],
-  "pytest-celery": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pytest-check": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pytest-cid": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pytest-clarity": [
-    "setuptools"
-  ],
-  "pytest-click": [
-    "setuptools"
-  ],
-  "pytest-console-scripts": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-cov": [
-    "setuptools"
-  ],
-  "pytest-cram": [
-    "setuptools"
-  ],
-  "pytest-datadir": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-datafiles": [
-    "setuptools"
-  ],
-  "pytest-dependency": [
-    "setuptools"
-  ],
-  "pytest-describe": [
-    "setuptools"
-  ],
-  "pytest-django": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-docker": [
-    "setuptools"
-  ],
-  "pytest-doctestplus": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-dotenv": [
-    "setuptools"
-  ],
-  "pytest-env": [
-    "setuptools"
-  ],
-  "pytest-error-for-skips": [
-    "setuptools"
-  ],
-  "pytest-expect": [
-    "setuptools"
-  ],
-  "pytest-factoryboy": [
-    "setuptools"
-  ],
-  "pytest-filter-subpackage": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-fixture-config": [
-    "setuptools"
-  ],
-  "pytest-flake8": [
-    "setuptools"
-  ],
-  "pytest-flakes": [
-    "setuptools"
-  ],
-  "pytest-flask": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-forked": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-freezegun": [
-    "setuptools"
-  ],
-  "pytest-golden": [
-    "poetry-core"
-  ],
-  "pytest-helpers-namespace": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-html": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-httpbin": [
-    "setuptools"
-  ],
-  "pytest-httpserver": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pytest-httpx": [
-    "setuptools"
-  ],
-  "pytest-instafail": [
-    "setuptools"
-  ],
-  "pytest-isort": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pytest-json-report": [
-    "setuptools"
-  ],
-  "pytest-lazy-fixture": [
-    "setuptools"
-  ],
-  "pytest-localserver": [
-    "setuptools"
-  ],
-  "pytest-logdog": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-metadata": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-mock": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-mockservers": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pytest-mpl": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-mypy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-mypy-plugins": [
-    "setuptools"
-  ],
-  "pytest-openfiles": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-order": [
-    "setuptools"
-  ],
-  "pytest-ordering": [
-    "setuptools"
-  ],
-  "pytest-param-files": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pytest-profiling": [
-    "setuptools",
-    "setuptools-git"
-  ],
-  "pytest-pylint": [
-    "setuptools"
-  ],
-  "pytest-qt": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-raises": [
-    "setuptools"
-  ],
-  "pytest-raisesregexp": [
-    "setuptools"
-  ],
-  "pytest-raisin": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pytest-random-order": [
-    "setuptools"
-  ],
-  "pytest-randomly": [
-    "setuptools"
-  ],
-  "pytest-regressions": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-remotedata": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-repeat": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-rerunfailures": [
-    "setuptools"
-  ],
-  "pytest-resource-path": [
-    "setuptools"
-  ],
-  "pytest-runner": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-server-fixtures": [
-    "setuptools"
-  ],
-  "pytest-services": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-shutil": [
-    "setuptools"
-  ],
-  "pytest-skip-slow": [
-    "setuptools"
-  ],
-  "pytest-snapshot": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-socket": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pytest-splinter": [
-    "setuptools"
-  ],
-  "pytest-splinter4": [
-    "setuptools"
-  ],
-  "pytest-subprocess": [
-    "setuptools"
-  ],
-  "pytest-subtesthack": [
-    "setuptools"
-  ],
-  "pytest-subtests": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-sugar": [
-    "setuptools"
-  ],
-  "pytest-test-utils": [
-    "setuptools"
-  ],
-  "pytest-testmon": [
-    "setuptools"
-  ],
-  "pytest-timeout": [
-    "setuptools"
-  ],
-  "pytest-tornado": [
-    "setuptools"
-  ],
-  "pytest-tornasync": [
-    "setuptools"
-  ],
-  "pytest-trio": [
-    "setuptools"
-  ],
-  "pytest-twisted": [
-    "setuptools"
-  ],
-  "pytest-unordered": [
-    "setuptools"
-  ],
-  "pytest-vcr": [
-    "setuptools"
-  ],
-  "pytest-virtualenv": [
-    "setuptools"
-  ],
-  "pytest-warnings": [
-    "setuptools"
-  ],
-  "pytest-watch": [
-    "setuptools"
-  ],
-  "pytest-xdist": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-xprocess": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pytest-xvfb": [
-    "setuptools"
-  ],
-  "pytestcache": [
-    "setuptools"
-  ],
-  "pytestcov": [
-    "setuptools"
-  ],
-  "pytestrunner": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "python-awair": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "python-axolotl": [
-    "setuptools"
-  ],
-  "python-axolotl-curve25519": [
-    "setuptools"
-  ],
-  "python-barcode": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "python-baseconv": [
-    "setuptools"
-  ],
-  "python-benedict": [
-    "setuptools"
-  ],
-  "python-bidi": [
-    "setuptools"
-  ],
-  "python-binance": [
-    "setuptools"
-  ],
-  "python-bitcoinlib": [
-    "setuptools"
-  ],
-  "python-box": [
-    "setuptools"
-  ],
-  "python-bsblan": [
-    "poetry-core"
-  ],
-  "python-cinderclient": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-codon-tables": [
-    "setuptools"
-  ],
-  "python-constraint": [
-    "setuptools"
-  ],
-  "python-crfsuite": [
-    "setuptools"
-  ],
-  "python-crontab": [
-    "setuptools"
-  ],
-  "python-csxcad": [
-    "cython",
-    "setuptools"
-  ],
-  "python-ctags3": [
-    "setuptools"
-  ],
-  "python-daemon": [
-    "setuptools"
-  ],
-  "python-datemath": [
-    "setuptools"
-  ],
-  "python-dateutil": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "python-dbusmock": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "python-didl-lite": [
-    "setuptools"
-  ],
-  "python-digitalocean": [
-    "setuptools"
-  ],
-  "python-docx": [
-    "setuptools"
-  ],
-  "python-doi": [
-    "setuptools"
-  ],
-  "python-dotenv": [
-    "setuptools"
-  ],
-  "python-dxf": [
-    "setuptools"
-  ],
-  "python-ecobee-api": [
-    "setuptools"
-  ],
-  "python-editor": [
-    "setuptools"
-  ],
-  "python-engineio": [
-    "setuptools"
-  ],
-  "python-etcd": [
-    "setuptools"
-  ],
-  "python-ethtool": [
-    "setuptools"
-  ],
-  "python-family-hub-local": [
-    "setuptools"
-  ],
-  "python-fedora": [
-    "setuptools"
-  ],
-  "python-flirt": [
-    "setuptools"
-  ],
-  "python-fontconfig": [
-    "cython",
-    "setuptools"
-  ],
-  "python-forecastio": [
-    "setuptools"
-  ],
-  "python-frontmatter": [
-    "setuptools"
-  ],
-  "python-fsutil": [
-    "setuptools"
-  ],
-  "python-gammu": [
-    "setuptools"
-  ],
-  "python-gitlab": [
-    "setuptools"
-  ],
-  "python-glanceclient": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-gnupg": [
-    "setuptools"
-  ],
-  "python-google-nest": [
-    "setuptools"
-  ],
-  "python-gvm": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "python-hcl2": [
-    "setuptools"
-  ],
-  "python-heatclient": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-hglib": [
-    "setuptools"
-  ],
-  "python-homewizard-energy": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "python-hosts": [
-    "setuptools"
-  ],
-  "python-hpilo": [
-    "setuptools"
-  ],
-  "python-http-client": [
-    "setuptools"
-  ],
-  "python-i18n": [
-    "setuptools"
-  ],
-  "python-igraph": [
-    "setuptools"
-  ],
-  "python-ipmi": [
-    "setuptools"
-  ],
-  "python-ironicclient": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-izone": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "python-jenkins": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-jose": [
-    "setuptools"
-  ],
-  "python-json-logger": [
-    "setuptools"
-  ],
-  "python-jsonrpc-server": [
-    "setuptools"
-  ],
-  "python-juicenet": [
-    "setuptools"
-  ],
-  "python-kasa": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "python-keycloak": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "python-keyczar": [
-    "setuptools"
-  ],
-  "python-keystoneclient": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-language-server": [
-    "setuptools"
-  ],
-  "python-ldap": [
-    "setuptools"
-  ],
-  "python-ldap-test": [
-    "setuptools"
-  ],
-  "python-levenshtein": [
-    "setuptools"
-  ],
-  "python-linux-procfs": [
-    "setuptools"
-  ],
-  "python-logstash": [
-    "setuptools"
-  ],
-  "python-louvain": [
-    "setuptools"
-  ],
-  "python-lsp-black": [
-    "setuptools"
-  ],
-  "python-lsp-jsonrpc": [
-    "setuptools"
-  ],
-  "python-lsp-server": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "python-ly": [
-    "setuptools"
-  ],
-  "python-lz4": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "python-lzf": [
-    "setuptools"
-  ],
-  "python-lzo": [
-    "setuptools"
-  ],
-  "python-magic": [
-    "setuptools"
-  ],
-  "python-manilaclient": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-mapnik": [
-    "setuptools"
-  ],
-  "python-markdown-math": [
-    "setuptools"
-  ],
-  "python-memcached": [
-    "setuptools"
-  ],
-  "python-miio": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "python-mimeparse": [
-    "setuptools"
-  ],
-  "python-mnist": [
-    "setuptools"
-  ],
-  "python-monkey-business": [
-    "setuptools"
-  ],
-  "python-mpv-jsonipc": [
-    "setuptools"
-  ],
-  "python-multipart": [
-    "setuptools",
-    "hatchling"
-  ],
-  "python-mystrom": [
-    "setuptools"
-  ],
-  "python-nest": [
-    "setuptools"
-  ],
-  "python-nmap": [
-    "setuptools"
-  ],
-  "python-nomad": [
-    "setuptools"
-  ],
-  "python-novaclient": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-nvd3": [
-    "setuptools"
-  ],
-  "python-oauth2": [
-    "setuptools"
-  ],
-  "python-olm": [
-    "setuptools"
-  ],
-  "python-opendata-transport": [
-    "setuptools"
-  ],
-  "python-openems": [
-    "cython",
-    "setuptools"
-  ],
-  "python-openstackclient": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-openzwave": [
-    "cython",
-    "setuptools"
-  ],
-  "python-openzwave-mqtt": [
-    "setuptools"
-  ],
-  "python-osc": [
-    "setuptools"
-  ],
-  "python-owasp-zap-v2-4": [
-    "setuptools"
-  ],
-  "python-packer": [
-    "setuptools"
-  ],
-  "python-pae": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "python-pam": [
-    "setuptools"
-  ],
-  "python-periphery": [
-    "setuptools"
-  ],
-  "python-picnic-api": [
-    "setuptools"
-  ],
-  "python-pidfile": [
-    "setuptools"
-  ],
-  "python-pipedrive": [
-    "setuptools"
-  ],
-  "python-pkcs11": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "python-prctl": [
-    "setuptools"
-  ],
-  "python-ptrace": [
-    "setuptools"
-  ],
-  "python-rabbitair": [
-    "setuptools"
-  ],
-  "python-rapidjson": [
-    "setuptools"
-  ],
-  "python-redis-lock": [
-    "setuptools"
-  ],
-  "python-registry": [
-    "setuptools"
-  ],
-  "python-rtmidi": [
-    "setuptools"
-  ],
-  "python-sat": [
-    "setuptools"
-  ],
-  "python-schema-registry-client": [
-    "setuptools"
-  ],
-  "python-simple-hipchat": [
-    "setuptools"
-  ],
-  "python-slugify": [
-    "setuptools"
-  ],
-  "python-smarttub": [
-    "setuptools"
-  ],
-  "python-snap7": [
-    "setuptools"
-  ],
-  "python-snappy": [
-    "setuptools"
-  ],
-  "python-socketio": [
-    "setuptools"
-  ],
-  "python-socks": [
-    "setuptools"
-  ],
-  "python-songpal": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "python-sql": [
-    "setuptools"
-  ],
-  "python-status": [
-    "setuptools"
-  ],
-  "python-stdnum": [
-    "setuptools"
-  ],
-  "python-string-utils": [
-    "setuptools"
-  ],
-  "python-subunit": [
-    "setuptools"
-  ],
-  "python-swiftclient": [
-    "pbr",
-    "setuptools"
-  ],
-  "python-tado": [
-    "setuptools"
-  ],
-  "python-telegram": [
-    "setuptools"
-  ],
-  "python-telegram-bot": [
-    "setuptools"
-  ],
-  "python-toolbox": [
-    "setuptools"
-  ],
-  "python-trovo": [
-    "poetry",
-    "setuptools"
-  ],
-  "python-twitch-client": [
-    "setuptools"
-  ],
-  "python-twitter": [
-    "setuptools"
-  ],
-  "python-u2flib-host": [
-    "setuptools"
-  ],
-  "python-uinput": [
-    "setuptools"
-  ],
-  "python-ulid": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "python-unshare": [
-    "setuptools"
-  ],
-  "python-utils": [
-    "setuptools"
-  ],
-  "python-vagrant": [
-    "setuptools"
-  ],
-  "python-velbus": [
-    "setuptools"
-  ],
-  "python-vipaccess": [
-    "setuptools"
-  ],
-  "python-vlc": [
-    "setuptools"
-  ],
-  "python-whois": [
-    "setuptools"
-  ],
-  "python-wink": [
-    "setuptools"
-  ],
-  "python-xmp-toolkit": [
-    "setuptools"
-  ],
-  "python-zbar": [
-    "setuptools"
-  ],
-  "python3-application": [
-    "setuptools"
-  ],
-  "python3-eventlib": [
-    "setuptools"
-  ],
-  "python3-gnutls": [
-    "setuptools"
-  ],
-  "python3-openid": [
-    "setuptools"
-  ],
-  "python3-saml": [
-    "setuptools"
-  ],
-  "pythoncatchconflictshook": [
-    "setuptools"
-  ],
-  "pythondialog": [
-    "setuptools"
-  ],
-  "pythonefl": [
-    "setuptools"
-  ],
-  "pythonegardia": [
-    "setuptools"
-  ],
-  "pythonfinder": [
-    "setuptools"
-  ],
-  "pythonix": [
-    "setuptools"
-  ],
-  "pythonnet": [
-    "setuptools"
-  ],
-  "pythonping": [
-    "setuptools"
-  ],
-  "pythran": [
-    "setuptools"
-  ],
-  "pytibber": [
-    "setuptools"
-  ],
-  "pytile": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pytimeparse": [
-    "setuptools"
-  ],
-  "pytkdocs": [
-    "pdm-pep517"
-  ],
-  "pytm": [
-    "setuptools"
-  ],
-  "pytmx": [
-    "setuptools"
-  ],
-  "pytoml": [
-    "setuptools"
-  ],
-  "pytomlpp": [
-    "setuptools"
-  ],
-  "pytomorrowio": [
-    "setuptools"
-  ],
-  "pytoolconfig": [
-    "pdm-pep517"
-  ],
-  "pytools": [
-    "setuptools"
-  ],
-  "pytorch": [
-    "setuptools"
-  ],
-  "pytorch-bin": [
-    "setuptools"
-  ],
-  "pytorch-lightning": [
-    "setuptools"
-  ],
-  "pytorch-metric-learning": [
-    "setuptools"
-  ],
-  "pytorch-pfn-extras": [
-    "setuptools"
-  ],
-  "pytorchwithcuda": [
-    "setuptools"
-  ],
-  "pytorchwithoutcuda": [
-    "setuptools"
-  ],
-  "pytraccar": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pytradfri": [
-    "setuptools"
-  ],
-  "pytrafikverket": [
-    "setuptools"
-  ],
-  "pytransportnsw": [
-    "setuptools"
-  ],
-  "pytransportnswv2": [
-    "setuptools"
-  ],
-  "pytrends": [
-    "setuptools"
-  ],
-  "pytricia": [
-    "setuptools"
-  ],
-  "pyttsx3": [
-    "setuptools"
-  ],
-  "pytube": [
-    "setuptools"
-  ],
-  "pytun": [
-    "setuptools"
-  ],
-  "pyturbojpeg": [
-    "setuptools"
-  ],
-  "pytweening": [
-    "setuptools"
-  ],
-  "pytwitchapi": [
-    "setuptools"
-  ],
-  "pytz": [
-    "setuptools"
-  ],
-  "pytz-deprecation-shim": [
-    "setuptools"
-  ],
-  "pytzdata": [
-    "poetry",
-    "setuptools"
-  ],
-  "pyu2f": [
-    "setuptools"
-  ],
-  "pyuavcan": [
-    "setuptools"
-  ],
-  "pyudev": [
-    "setuptools"
-  ],
-  "pyunifi": [
-    "setuptools"
-  ],
-  "pyunifiprotect": [
-    "setuptools"
-  ],
-  "pyupdate": [
-    "setuptools"
-  ],
-  "pyupgrade": [
-    "setuptools"
-  ],
-  "pyuptimerobot": [
-    "setuptools"
-  ],
-  "pyusb": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyuseragents": [
-    "setuptools"
-  ],
-  "pyutil": [
-    "setuptools"
-  ],
-  "pyutilib": [
-    "setuptools"
-  ],
-  "pyuv": [
-    "setuptools"
-  ],
-  "pyvcd": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyvera": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pyverilog": [
-    "setuptools"
-  ],
-  "pyversasense": [
-    "setuptools"
-  ],
-  "pyvesync": [
-    "setuptools"
-  ],
-  "pyvex": [
-    "setuptools"
-  ],
-  "pyvicare": [
-    "setuptools"
-  ],
-  "pyvips": [
-    "setuptools"
-  ],
-  "pyvis": [
-    "setuptools"
-  ],
-  "pyvisa": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyvisa-py": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyviz-comms": [
-    "setuptools"
-  ],
-  "pyvizio": [
-    "setuptools"
-  ],
-  "pyvlx": [
-    "setuptools"
-  ],
-  "pyvmomi": [
-    "setuptools"
-  ],
-  "pyvo": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyvolumio": [
-    "setuptools"
-  ],
-  "pyvoro": [
-    "setuptools"
-  ],
-  "pywal": [
-    "setuptools"
-  ],
-  "pywatchman": [
-    "setuptools"
-  ],
-  "pywavelets": [
-    "cython",
-    "setuptools"
-  ],
-  "pywayland": [
-    "setuptools"
-  ],
-  "pywbem": [
-    "pbr",
-    "setuptools"
-  ],
-  "pyweatherflowrest": [
-    "setuptools"
-  ],
-  "pywebpush": [
-    "setuptools"
-  ],
-  "pywebview": [
-    "setuptools"
-  ],
-  "pywemo": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "pywerview": [
-    "setuptools"
-  ],
-  "pywilight": [
-    "setuptools"
-  ],
-  "pywinrm": [
-    "setuptools"
-  ],
-  "pywizlight": [
-    "setuptools"
-  ],
-  "pywlroots": [
-    "setuptools"
-  ],
-  "pyworld": [
-    "cython",
-    "setuptools"
-  ],
-  "pyws66i": [
-    "setuptools"
-  ],
-  "pyx": [
-    "setuptools"
-  ],
-  "pyxattr": [
-    "setuptools"
-  ],
-  "pyxb": [
-    "setuptools"
-  ],
-  "pyxbe": [
-    "setuptools"
-  ],
-  "pyxdg": [
-    "setuptools"
-  ],
-  "pyxeoma": [
-    "setuptools"
-  ],
-  "pyxiaomigateway": [
-    "setuptools"
-  ],
-  "pyxl3": [
-    "setuptools"
-  ],
-  "pyxnat": [
-    "setuptools"
-  ],
-  "pyyaml": [
-    "cython",
-    "setuptools"
-  ],
-  "pyyaml-env-tag": [
-    "flit-core",
-    "setuptools"
-  ],
-  "pyyaml-include": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "pyzbar": [
-    "setuptools"
-  ],
-  "pyzerproc": [
-    "setuptools"
-  ],
-  "pyzmq": [
-    "packaging",
-    "setuptools"
-  ],
-  "pyzufall": [
-    "setuptools"
-  ],
-  "qcelemental": [
-    "setuptools"
-  ],
-  "qcengine": [
-    "setuptools"
-  ],
-  "qcs-api-client": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "qdarkstyle": [
-    "setuptools"
-  ],
-  "qdldl": [
-    "setuptools"
-  ],
-  "qdx": [
-    "poetry"
-  ],
-  "qiling": [
-    "setuptools"
-  ],
-  "qimage2ndarray": [
-    "setuptools"
-  ],
-  "qingping-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "qiskit": [
-    "setuptools"
-  ],
-  "qiskit-aer": [
-    "cython",
-    "setuptools"
-  ],
-  "qiskit-finance": [
-    "setuptools"
-  ],
-  "qiskit-ibmq-provider": [
-    "setuptools"
-  ],
-  "qiskit-ignis": [
-    "setuptools"
-  ],
-  "qiskit-machine-learning": [
-    "setuptools"
-  ],
-  "qiskit-nature": [
-    "setuptools"
-  ],
-  "qiskit-optimization": [
-    "setuptools"
-  ],
-  "qiskit-terra": [
-    "cython",
-    "setuptools"
-  ],
-  "qmk-dotty-dict": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "qnap-qsw": [
-    "setuptools"
-  ],
-  "qnapstats": [
-    "setuptools"
-  ],
-  "qrcode": [
-    "setuptools"
-  ],
-  "qreactor": [
-    "setuptools"
-  ],
-  "qscintilla": [
-    "setuptools"
-  ],
-  "qscintilla-qt4": [
-    "setuptools"
-  ],
-  "qscintilla-qt5": [
-    "setuptools"
-  ],
-  "qstylizer": [
-    "pbr",
-    "setuptools"
-  ],
-  "qt5reactor": [
-    "setuptools"
-  ],
-  "qtawesome": [
-    "setuptools"
-  ],
-  "qtconsole": [
-    "setuptools"
-  ],
-  "qtpy": [
-    "setuptools"
-  ],
-  "qualysclient": [
-    "setuptools"
-  ],
-  "quamash": [
-    "setuptools"
-  ],
-  "quandl": [
-    "setuptools"
-  ],
-  "quantities": [
-    "setuptools"
-  ],
-  "quantum-gateway": [
-    "setuptools"
-  ],
-  "querystring-parser": [
-    "setuptools"
-  ],
-  "questionary": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "queuelib": [
-    "setuptools"
-  ],
-  "qutip": [
-    "cython",
-    "setuptools"
-  ],
-  "r2pipe": [
-    "setuptools"
-  ],
-  "rachiopy": [
-    "setuptools"
-  ],
-  "radicale-infcloud": [
-    "setuptools"
-  ],
-  "radio-beam": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "radios": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "radiotherm": [
-    "setuptools"
-  ],
-  "radish-bdd": [
-    "setuptools"
-  ],
-  "railroad-diagrams": [
-    "setuptools"
-  ],
-  "rainbowstream": [
-    "setuptools"
-  ],
-  "raincloudy": [
-    "setuptools"
-  ],
-  "ramlfications": [
-    "setuptools"
-  ],
-  "random2": [
-    "setuptools"
-  ],
-  "rangehttpserver": [
-    "setuptools"
-  ],
-  "rapidfuzz": [
-    "packaging",
-    "scikit-build",
-    "setuptools"
-  ],
-  "rapidfuzz-capi": [
-    "setuptools"
-  ],
-  "rarfile": [
-    "setuptools"
-  ],
-  "rasterio": [
-    "cython",
-    "setuptools"
-  ],
-  "ratelim": [
-    "setuptools"
-  ],
-  "ratelimit": [
-    "setuptools"
-  ],
-  "ratelimiter": [
-    "setuptools"
-  ],
-  "raven": [
-    "setuptools"
-  ],
-  "rawkit": [
-    "setuptools"
-  ],
-  "ray": [
-    "cython"
-  ],
-  "rbtools": [
-    "setuptools"
-  ],
-  "rcssmin": [
-    "setuptools"
-  ],
-  "rdbms-subsetter": [
-    "setuptools"
-  ],
-  "rdflib": [
-    {
-      "buildSystem": "setuptools",
-      "until": "6.3.0"
-    },
-    {
-      "buildSystem": "poetry",
-      "from": "6.3.0"
-    }
-  ],
-  "rdkit": [
-    "setuptools"
-  ],
-  "re-assert": [
-    "setuptools"
-  ],
-  "reactivex": [
-    "poetry-core"
-  ],
-  "readability-lxml": [
-    "setuptools"
-  ],
-  "readchar": [
-    "setuptools"
-  ],
-  "readlike": [
-    "setuptools"
-  ],
-  "readme": [
-    "setuptools"
-  ],
-  "readme-renderer": [
-    "setuptools"
-  ],
-  "readstats": [
-    "cython"
-  ],
-  "readthedocs-sphinx-ext": [
-    "setuptools"
-  ],
-  "rebulk": [
-    "setuptools"
-  ],
-  "recoll": [
-    "setuptools"
-  ],
-  "recommonmark": [
-    "setuptools"
-  ],
-  "recordlinkage": [
-    "setuptools"
-  ],
-  "redbaron": [
-    "setuptools"
-  ],
-  "redis": [
-    "setuptools"
-  ],
-  "rednose": [
-    "setuptools"
-  ],
-  "reedsolo": [
-    "cython",
-    "setuptools"
-  ],
-  "reflink": [
-    "setuptools"
-  ],
-  "regenmaschine": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "regex": [
-    "setuptools"
-  ],
-  "regional": [
-    "setuptools"
-  ],
-  "reikna": [
-    "setuptools"
-  ],
-  "related": [
-    "setuptools"
-  ],
-  "relatorio": [
-    "setuptools"
-  ],
-  "releases": [
-    "setuptools"
-  ],
-  "remarshal": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "remi": [
-    "setuptools"
-  ],
-  "renault-api": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "rencode": [
-    "cython",
-    "setuptools"
-  ],
-  "reolink": [
-    "setuptools"
-  ],
-  "reorder-python-imports": [
-    "setuptools"
-  ],
-  "reparser": [
-    "setuptools"
-  ],
-  "repath": [
-    "setuptools"
-  ],
-  "repeated-test": [
-    "setuptools-scm"
-  ],
-  "repocheck": [
-    "setuptools"
-  ],
-  "reportengine": [
-    "flit",
-    "setuptools"
-  ],
-  "reportlab": [
-    "setuptools"
-  ],
-  "repoze-lru": [
-    "setuptools"
-  ],
-  "repoze-sphinx-autointerface": [
-    "setuptools"
-  ],
-  "repoze-who": [
-    "setuptools"
-  ],
-  "represent": [
-    "setuptools"
-  ],
-  "reproject": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "reqif": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "requests": [
-    "setuptools"
-  ],
-  "requests-aws4auth": [
-    "setuptools"
-  ],
-  "requests-cache": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "requests-credssp": [
-    "setuptools"
-  ],
-  "requests-download": [
-    "setuptools"
-  ],
-  "requests-file": [
-    "setuptools"
-  ],
-  "requests-futures": [
-    "setuptools"
-  ],
-  "requests-hawk": [
-    "setuptools"
-  ],
-  "requests-http-signature": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "requests-kerberos": [
-    "setuptools"
-  ],
-  "requests-mock": [
-    "pbr",
-    "setuptools"
-  ],
-  "requests-ntlm": [
-    "setuptools"
-  ],
-  "requests-oauthlib": [
-    "setuptools"
-  ],
-  "requests-pkcs12": [
-    "setuptools"
-  ],
-  "requests-toolbelt": [
-    "setuptools"
-  ],
-  "requests-unixsocket": [
-    "pbr",
-    "setuptools"
-  ],
-  "requestsexceptions": [
-    "pbr",
-    "setuptools"
-  ],
-  "requirements-detector": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "requirements-parser": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "resampy": [
-    "cython",
-    "setuptools"
-  ],
-  "reserved": [
-    "setuptools"
-  ],
-  "resolvelib": [
-    "setuptools"
-  ],
-  "responses": [
-    "setuptools"
-  ],
-  "respx": [
-    "setuptools"
-  ],
-  "resteasy": [
-    "setuptools"
-  ],
-  "restfly": [
-    "setuptools"
-  ],
-  "restrictedpython": [
-    "setuptools"
-  ],
-  "restructuredtext-lint": [
-    "setuptools"
-  ],
-  "restview": [
-    "setuptools"
-  ],
-  "result": [
-    "setuptools"
-  ],
-  "rethinkdb": [
-    "setuptools"
-  ],
-  "retry": [
-    "pbr",
-    "setuptools"
-  ],
-  "retry-decorator": [
-    "setuptools"
-  ],
-  "retrying": [
-    "setuptools"
-  ],
-  "returns": [
-    "poetry"
-  ],
-  "retworkx": [
-    "setuptools"
-  ],
-  "rfc3339": [
-    "setuptools"
-  ],
-  "rfc3339-validator": [
-    "setuptools"
-  ],
-  "rfc3986": [
-    "setuptools"
-  ],
-  "rfc3986-validator": [
-    "pytest-runner",
-    "setuptools"
-  ],
-  "rfc3987": [
-    "setuptools"
-  ],
-  "rfc6555": [
-    "setuptools"
-  ],
-  "rfc7464": [
-    "setuptools"
-  ],
-  "rfcat": [
-    "setuptools"
-  ],
-  "rflink": [
-    "setuptools"
-  ],
-  "rich": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "rich-argparse-plus": [
-    "flit"
-  ],
-  "rich-rst": [
-    "setuptools"
-  ],
-  "ring-doorbell": [
-    "setuptools"
-  ],
-  "rio-tiler": [
-    {
-      "buildSystem": "flit-core",
-      "until": "4.0.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "4.0.0"
-    }
-  ],
-  "ripe-atlas-cousteau": [
-    "setuptools"
-  ],
-  "ripe-atlas-sagan": [
-    "setuptools"
-  ],
-  "riprova": [
-    "setuptools"
-  ],
-  "ripser": [
-    "cython",
-    "setuptools"
-  ],
-  "rising": [
-    "setuptools"
-  ],
-  "ritassist": [
-    "setuptools"
-  ],
-  "rjpl": [
-    "setuptools"
-  ],
-  "rjsmin": [
-    "setuptools"
-  ],
-  "rki-covid-parser": [
-    "setuptools"
-  ],
-  "rlax": [
-    "setuptools"
-  ],
-  "rlp": [
-    "setuptools"
-  ],
-  "rmcl": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "rmfuse": [
-    "poetry-core"
-  ],
-  "rmrl": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "rnc2rng": [
-    "setuptools"
-  ],
-  "rnginline": [
-    "setuptools"
-  ],
-  "rns": [
-    "setuptools"
-  ],
-  "robot-detection": [
-    "setuptools"
-  ],
-  "robotframework": [
-    "setuptools"
-  ],
-  "robotframework-databaselibrary": [
-    "setuptools"
-  ],
-  "robotframework-requests": [
-    "setuptools"
-  ],
-  "robotframework-selenium2library": [
-    "setuptools"
-  ],
-  "robotframework-seleniumlibrary": [
-    "setuptools"
-  ],
-  "robotframework-sshlibrary": [
-    "setuptools"
-  ],
-  "robotstatuschecker": [
-    "setuptools"
-  ],
-  "robotsuite": [
-    "setuptools"
-  ],
-  "rocket-errbot": [
-    "setuptools"
-  ],
-  "roku": [
-    "setuptools"
-  ],
-  "rokuecp": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "rollbar": [
-    "setuptools"
-  ],
-  "roman": [
-    "setuptools"
-  ],
-  "ronin": [
-    "setuptools"
-  ],
-  "roombapy": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "roonapi": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "rope": [
-    "setuptools"
-  ],
-  "ropgadget": [
-    "setuptools"
-  ],
-  "ropper": [
-    "setuptools"
-  ],
-  "roundrobin": [
-    "setuptools"
-  ],
-  "routes": [
-    "setuptools"
-  ],
-  "rova": [
-    "setuptools"
-  ],
-  "rpcq": [
-    "setuptools"
-  ],
-  "rpdb": [
-    "setuptools"
-  ],
-  "rpi-bad-power": [
-    "setuptools"
-  ],
-  "rpi-gpio": [
-    "setuptools"
-  ],
-  "rpi-gpio2": [
-    "setuptools"
-  ],
-  "rplcd": [
-    "setuptools"
-  ],
-  "rply": [
-    "setuptools"
-  ],
-  "rpmfile": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "rpmfluff": [
-    "setuptools"
-  ],
-  "rpy2": [
-    "setuptools"
-  ],
-  "rpyc": [
-    "hatchling",
-    "setuptools"
-  ],
-  "rq": [
-    "setuptools"
-  ],
-  "rsa": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "rsskey": [
-    "flit-core",
-    "setuptools"
-  ],
-  "rst2ansi": [
-    "setuptools"
-  ],
-  "rst2pdf": [
-    "setuptools"
-  ],
-  "rstcheck": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "rstcheck-core": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "rtmidi-python": [
-    "cython",
-    "setuptools"
-  ],
-  "rtmixer": [
-    "cython",
-    "setuptools"
-  ],
-  "rtoml": [
-    "setuptools"
-  ],
-  "rtree": [
-    "setuptools"
-  ],
-  "rtslib": [
-    "setuptools"
-  ],
-  "rtsp-to-webrtc": [
-    "setuptools"
-  ],
-  "ruamel-base": [
-    "setuptools"
-  ],
-  "ruamel-yaml": [
-    "setuptools"
-  ],
-  "ruamel-yaml-clib": [
-    "setuptools"
-  ],
-  "rubymarshal": [
-    "setuptools"
-  ],
-  "ruffus": [
-    "setuptools"
-  ],
-  "runway-python": [
-    "setuptools"
-  ],
-  "ruuvitag-ble": [
-    "hatchling"
-  ],
-  "ruyaml": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "rx": [
-    "setuptools"
-  ],
-  "rxv": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "rzpipe": [
-    "setuptools"
-  ],
-  "s2clientprotocol": [
-    "setuptools"
-  ],
-  "s3-credentials": [
-    "setuptools"
-  ],
-  "s3cmd": [
-    "setuptools"
-  ],
-  "s3fs": [
-    "setuptools"
-  ],
-  "s3transfer": [
-    "setuptools"
-  ],
-  "sabyenc": [
-    "setuptools"
-  ],
-  "sabyenc3": [
-    "setuptools"
-  ],
-  "sacn": [
-    "setuptools"
-  ],
-  "sacred": [
-    "setuptools"
-  ],
-  "sacremoses": [
-    "setuptools"
-  ],
-  "safe": [
-    "setuptools"
-  ],
-  "safeeyes": [
-    "setuptools"
-  ],
-  "safeio": [
-    "setuptools"
-  ],
-  "safety": [
-    "setuptools"
-  ],
-  "sagemaker": [
-    "setuptools"
-  ],
-  "salmon-mail": [
-    "setuptools"
-  ],
-  "salt-pepper": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "sampledata": [
-    "setuptools"
-  ],
-  "samplerate": [
-    "setuptools"
-  ],
-  "samsungctl": [
-    "setuptools"
-  ],
-  "samsungtvws": [
-    "setuptools"
-  ],
-  "sane": [
-    "setuptools"
-  ],
-  "sane-python": [
-    "poetry-core"
-  ],
-  "saneyaml": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "sanic": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "sanic-auth": [
-    "setuptools"
-  ],
-  "sanic-routing": [
-    "setuptools"
-  ],
-  "sanic-testing": [
-    "setuptools"
-  ],
-  "sansio-multipart": [
-    "setuptools"
-  ],
-  "sapi-python-client": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "sarge": [
-    "setuptools"
-  ],
-  "sarif-om": [
-    "pbr",
-    "setuptools"
-  ],
-  "sasmodels": [
-    "setuptools"
-  ],
-  "sat-search": [
-    "pytest-runner",
-    "setuptools"
-  ],
-  "sat-stac": [
-    "setuptools"
-  ],
-  "scales": [
-    "setuptools"
-  ],
-  "scancode-toolkit": [
-    "setuptools"
-  ],
-  "scandir": [
-    "setuptools"
-  ],
-  "scapy": [
-    "setuptools"
-  ],
-  "schedule": [
-    "setuptools"
-  ],
-  "schema": [
-    "setuptools"
-  ],
-  "schema-salad": [
-    "setuptools"
-  ],
-  "schemainspect": [
-    "setuptools"
-  ],
-  "schiene": [
-    "setuptools"
-  ],
-  "schwifty": [
-    "setuptools"
-  ],
-  "scikit-bio": [
-    "cython",
-    "setuptools"
-  ],
-  "scikit-build": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "scikit-fmm": [
-    "setuptools"
-  ],
-  "scikit-fuzzy": [
-    "setuptools"
-  ],
-  "scikit-hep-testdata": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "scikit-image": [
-    "cython",
-    "setuptools"
-  ],
-  "scikit-learn": [
-    "cython",
-    "setuptools"
-  ],
-  "scikit-learn-extra": [
-    "cython",
-    "setuptools"
-  ],
-  "scikit-misc": [
-    "cython",
-    "setuptools"
-  ],
-  "scikit-optimize": [
-    "setuptools"
-  ],
-  "scikit-spatial": [
-    "poetry"
-  ],
-  "scikit-survival": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "scikit-tda": [
-    "cython",
-    "setuptools"
-  ],
-  "scikitimage": [
-    "cython",
-    "setuptools"
-  ],
-  "scikitlearn": [
-    "cython",
-    "setuptools"
-  ],
-  "scikits-odes": [
-    "cython",
-    "setuptools"
-  ],
-  "scipy": [
-    "cython",
-    "setuptools"
-  ],
-  "scmrepo": [
-    "setuptools"
-  ],
-  "scooby": [
-    "setuptools"
-  ],
-  "scour": [
-    "setuptools"
-  ],
-  "scp": [
-    "setuptools"
-  ],
-  "scramp": [
-    "setuptools"
-  ],
-  "scrap-engine": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "scrapy": [
-    "setuptools"
-  ],
-  "scrapy-deltafetch": [
-    "setuptools"
-  ],
-  "scrapy-fake-useragent": [
-    "setuptools"
-  ],
-  "scrapy-splash": [
-    "setuptools"
-  ],
-  "screeninfo": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "screenlogicpy": [
-    "setuptools"
-  ],
-  "scripttest": [
-    "setuptools"
-  ],
-  "scs": [
-    "setuptools"
-  ],
-  "sdds": [
-    "setuptools"
-  ],
-  "sdnotify": [
-    "setuptools"
-  ],
-  "seaborn": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.12.0"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "0.12.0"
-    }
-  ],
-  "seabreeze": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "seatconnect": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "seccomp": [
-    "cython",
-    "setuptools"
-  ],
-  "secp256k1": [
-    "setuptools"
-  ],
-  "secretstorage": [
-    "setuptools"
-  ],
-  "secure": [
-    "setuptools"
-  ],
-  "securetar": [
-    "setuptools"
-  ],
-  "seekpath": [
-    "setuptools"
-  ],
-  "segments": [
-    "setuptools"
-  ],
-  "segno": [
-    "setuptools"
-  ],
-  "selectors2": [
-    "setuptools"
-  ],
-  "selinux": [
-    "setuptools"
-  ],
-  "semantic-version": [
-    "setuptools"
-  ],
-  "semver": [
-    "setuptools"
-  ],
-  "send2trash": [
-    "setuptools"
-  ],
-  "sendgrid": [
-    "setuptools"
-  ],
-  "sense-energy": [
-    "setuptools"
-  ],
-  "sensor-state-data": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "sensorpro-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "sensorpush-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "sentencepiece": [
-    "setuptools"
-  ],
-  "sentinel": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "sentinels": [
-    "setuptools"
-  ],
-  "sentry-sdk": [
-    "setuptools"
-  ],
-  "sepaxml": [
-    "setuptools"
-  ],
-  "seqdiag": [
-    "setuptools"
-  ],
-  "seqeval": [
-    "setuptools"
-  ],
-  "sequoia": [
-    "setuptools"
-  ],
-  "serpent": [
-    "setuptools"
-  ],
-  "serpy": [
-    "setuptools"
-  ],
-  "servefile": [
-    "setuptools"
-  ],
-  "serverlessrepo": [
-    "setuptools"
-  ],
-  "service-identity": [
-    "setuptools"
-  ],
-  "setproctitle": [
-    "setuptools"
-  ],
-  "setupmeta": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "setuptools-declarative-requirements": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "setuptools-git": [
-    "setuptools"
-  ],
-  "setuptools-lint": [
-    "setuptools"
-  ],
-  "setuptools-rust": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "setuptools-scm": [
-    "setuptools"
-  ],
-  "setuptools-scm-git-archive": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "setuptoolsbuildhook": [
-    "setuptools"
-  ],
-  "setuptoolscheckhook": [
-    "setuptools"
-  ],
-  "setuptoolstrial": [
-    "setuptools"
-  ],
-  "seventeentrack": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "sexpdata": [
-    "setuptools"
-  ],
-  "sfepy": [
-    "cython",
-    "setuptools"
-  ],
-  "sgmllib3k": [
-    "setuptools"
-  ],
-  "sgp4": [
-    "setuptools"
-  ],
-  "sh": [
-    "setuptools"
-  ],
-  "shamir-mnemonic": [
-    "setuptools"
-  ],
-  "shap": [
-    "setuptools"
-  ],
-  "shapely": [
-    "cython",
-    "setuptools"
-  ],
-  "sharedmem": [
-    "setuptools"
-  ],
-  "sharkiq": [
-    "setuptools"
-  ],
-  "sharkiqpy": [
-    "setuptools"
-  ],
-  "shellcheck-py": [
-    "setuptools"
-  ],
-  "shellescape": [
-    "setuptools"
-  ],
-  "shellingham": [
-    "setuptools"
-  ],
-  "shexjsg": [
-    "pbr"
-  ],
-  "shiboken2": [
-    "setuptools"
-  ],
-  "shippai": [
-    "setuptools"
-  ],
-  "shiv": [
-    "setuptools"
-  ],
-  "shodan": [
-    "setuptools"
-  ],
-  "shortuuid": [
-    "poetry",
-    "setuptools"
-  ],
-  "should-dsl": [
-    "setuptools"
-  ],
-  "showit": [
-    "setuptools"
-  ],
-  "shtab": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "shutilwhich": [
-    "setuptools"
-  ],
-  "sievelib": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "signedjson": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "signify": [
-    "setuptools"
-  ],
-  "sigrok": [
-    "setuptools"
-  ],
-  "sigtools": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "simanneal": [
-    "setuptools"
-  ],
-  "simber": [
-    "setuptools"
-  ],
-  "simple-di": [
-    "setuptools"
-  ],
-  "simple-rest-client": [
-    "setuptools"
-  ],
-  "simple-rlp": [
-    "setuptools"
-  ],
-  "simple-salesforce": [
-    "setuptools"
-  ],
-  "simple-term-menu": [
-    "setuptools"
-  ],
-  "simple-websocket-server": [
-    "setuptools"
-  ],
-  "simpleaudio": [
-    "setuptools"
-  ],
-  "simplebayes": [
-    "setuptools"
-  ],
-  "simpleeval": [
-    "setuptools"
-  ],
-  "simplefix": [
-    "setuptools"
-  ],
-  "simplegeneric": [
-    "setuptools"
-  ],
-  "simplehound": [
-    "setuptools"
-  ],
-  "simplejson": [
-    "setuptools"
-  ],
-  "simplekml": [
-    "setuptools"
-  ],
-  "simplenote": [
-    "setuptools"
-  ],
-  "simplisafe-python": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "simpy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "single-source": [
-    "poetry-core"
-  ],
-  "single-version": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "singledispatch": [
-    "setuptools"
-  ],
-  "siobrultech-protocols": [
-    "setuptools"
-  ],
-  "siosocks": [
-    "setuptools"
-  ],
-  "sip": [
-    "setuptools"
-  ],
-  "sip-4": [
-    "setuptools"
-  ],
-  "six": [
-    "setuptools"
-  ],
-  "sjcl": [
-    "setuptools"
-  ],
-  "skein": [
-    "setuptools"
-  ],
-  "skia-pathops": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "skidl": [
-    "setuptools"
-  ],
-  "skodaconnect": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "skybellpy": [
-    "setuptools"
-  ],
-  "skyfield": [
-    "setuptools"
-  ],
-  "skytemple-dtef": [
-    "setuptools"
-  ],
-  "skytemple-eventserver": [
-    "setuptools"
-  ],
-  "skytemple-files": [
-    "setuptools"
-  ],
-  "skytemple-icons": [
-    "setuptools"
-  ],
-  "skytemple-rust": [
-    "setuptools"
-  ],
-  "skytemple-ssb-debugger": [
-    "setuptools"
-  ],
-  "slack-bolt": [
-    "setuptools"
-  ],
-  "slack-sdk": [
-    "setuptools"
-  ],
-  "slackclient": [
-    "setuptools"
-  ],
-  "sleepyq": [
-    "setuptools"
-  ],
-  "slicedimage": [
-    "setuptools"
-  ],
-  "slicer": [
-    "setuptools"
-  ],
-  "slicerator": [
-    "setuptools"
-  ],
-  "slither-analyzer": [
-    "setuptools"
-  ],
-  "slixmpp": [
-    "setuptools"
-  ],
-  "slob": [
-    "setuptools"
-  ],
-  "slowapi": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "slugid": [
-    "setuptools"
-  ],
-  "slumber": [
-    "setuptools"
-  ],
-  "sly": [
-    "setuptools"
-  ],
-  "smart-meter-texas": [
-    "setuptools"
-  ],
-  "smart-open": [
-    "setuptools"
-  ],
-  "smarthab": [
-    "setuptools"
-  ],
-  "smartypants": [
-    "setuptools"
-  ],
-  "smbprotocol": [
-    "setuptools"
-  ],
-  "smbus-cffi": [
-    "setuptools"
-  ],
-  "smbus2": [
-    "setuptools"
-  ],
-  "smdebug-rulesconfig": [
-    "setuptools"
-  ],
-  "smhi-pkg": [
-    "setuptools"
-  ],
-  "smmap": [
-    "setuptools"
-  ],
-  "smpplib": [
-    "setuptools"
-  ],
-  "snakebite": [
-    "setuptools"
-  ],
-  "snakeviz": [
-    "setuptools"
-  ],
-  "snapcast": [
-    "setuptools"
-  ],
-  "snapshottest": [
-    "setuptools"
-  ],
-  "sniffio": [
-    "setuptools"
-  ],
-  "snitun": [
-    "setuptools"
-  ],
-  "snowballstemmer": [
-    "setuptools"
-  ],
-  "snowflake-connector-python": [
-    "setuptools"
-  ],
-  "snowflake-sqlalchemy": [
-    "setuptools"
-  ],
-  "snscrape": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "snuggs": [
-    "setuptools"
-  ],
-  "social-auth-app-django": [
-    "setuptools"
-  ],
-  "social-auth-core": [
-    "setuptools"
-  ],
-  "socialscan": [
-    "setuptools"
-  ],
-  "socid-extractor": [
-    "setuptools"
-  ],
-  "socketio-client": [
-    "setuptools"
-  ],
-  "sockjs": [
-    "setuptools"
-  ],
-  "sockjs-tornado": [
-    "setuptools"
-  ],
-  "socksio": [
-    "flit-core",
-    "setuptools"
-  ],
-  "socksipy-branch": [
-    "setuptools"
-  ],
-  "soco": [
-    "setuptools"
-  ],
-  "softlayer": [
-    "setuptools"
-  ],
-  "solaredge": [
-    "setuptools"
-  ],
-  "solax": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "solc-select": [
-    "setuptools"
-  ],
-  "solo-python": [
-    "flit-core",
-    "setuptools"
-  ],
-  "somajo": [
-    "setuptools"
-  ],
-  "somecomfort": [
-    "setuptools"
-  ],
-  "somfy-mylink-synergy": [
-    "setuptools"
-  ],
-  "sonarr": [
-    "setuptools"
-  ],
-  "sonora": [
-    "poetry-core"
-  ],
-  "sopel": [
-    "setuptools"
-  ],
-  "sorl-thumbnail": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "sortedcollections": [
-    "setuptools"
-  ],
-  "sortedcontainers": [
-    "setuptools"
-  ],
-  "soundcloud-v2": [
-    "setuptools"
-  ],
-  "sounddevice": [
-    "setuptools"
-  ],
-  "soundfile": [
-    "setuptools"
-  ],
-  "soupsieve": [
-    "hatchling",
-    "setuptools"
-  ],
-  "spacy": [
-    "setuptools"
-  ],
-  "spacy-alignments": [
-    "setuptools"
-  ],
-  "spacy-legacy": [
-    "setuptools"
-  ],
-  "spacy-loggers": [
-    "setuptools"
-  ],
-  "spacy-pkuseg": [
-    "cython",
-    "setuptools"
-  ],
-  "spacy-transformers": [
-    "setuptools"
-  ],
-  "spake2": [
-    "setuptools"
-  ],
-  "spark-parser": [
-    "setuptools"
-  ],
-  "sparklines": [
-    "setuptools"
-  ],
-  "sparqlslurper": [
-    "pbr"
-  ],
-  "sparse": [
-    "setuptools"
-  ],
-  "spdx-tools": [
-    "setuptools"
-  ],
-  "speaklater": [
-    "setuptools"
-  ],
-  "speaklater3": [
-    "setuptools"
-  ],
-  "spectral-cube": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "speedtest-cli": [
-    "setuptools"
-  ],
-  "spglib": [
-    "setuptools"
-  ],
-  "sphfile": [
-    "setuptools"
-  ],
-  "sphinx": [
-    "cython",
-    "flit-core",
-    "setuptools"
-  ],
-  "sphinx-argparse": [
-    "setuptools"
-  ],
-  "sphinx-autobuild": [
-    "setuptools"
-  ],
-  "sphinx-autodoc-typehints": [
-    "setuptools"
-  ],
-  "sphinx-automodapi": [
-    "cython"
-  ],
-  "sphinx-basic-ng": [
-    "setuptools"
-  ],
-  "sphinx-better-theme": [
-    "setuptools"
-  ],
-  "sphinx-book-theme": [
-    "setuptools"
-  ],
-  "sphinx-comments": [
-    "setuptools"
-  ],
-  "sphinx-copybutton": [
-    "setuptools"
-  ],
-  "sphinx-design": [
-    "flit-core",
-    "setuptools"
-  ],
-  "sphinx-external-toc": [
-    "flit-core",
-    "setuptools"
-  ],
-  "sphinx-fortran": [
-    "setuptools"
-  ],
-  "sphinx-inline-tabs": [
-    "flit-core",
-    "setuptools"
-  ],
-  "sphinx-jinja": [
-    "pbr",
-    "setuptools"
-  ],
-  "sphinx-jupyterbook-latex": [
-    "setuptools"
-  ],
-  "sphinx-markdown-parser": [
-    "setuptools"
-  ],
-  "sphinx-material": [
-    "setuptools"
-  ],
-  "sphinx-mdinclude": [
-    "flit-core",
-    "setuptools"
-  ],
-  "sphinx-multitoc-numbering": [
-    "setuptools"
-  ],
-  "sphinx-pypi-upload": [
-    "setuptools"
-  ],
-  "sphinx-pytest": [
-    "flit-core",
-    "setuptools"
-  ],
-  "sphinx-rtd-theme": [
-    "setuptools"
-  ],
-  "sphinx-serve": [
-    "setuptools"
-  ],
-  "sphinx-testing": [
-    "setuptools"
-  ],
-  "sphinx-thebe": [
-    "setuptools"
-  ],
-  "sphinx-togglebutton": [
-    "setuptools"
-  ],
-  "sphinxcontrib-actdiag": [
-    "setuptools"
-  ],
-  "sphinxcontrib-apidoc": [
-    "pbr",
-    "setuptools"
-  ],
-  "sphinxcontrib-applehelp": [
-    "setuptools"
-  ],
-  "sphinxcontrib-autoapi": [
-    "setuptools"
-  ],
-  "sphinxcontrib-bibtex": [
-    "setuptools"
-  ],
-  "sphinxcontrib-blockdiag": [
-    "setuptools"
-  ],
-  "sphinxcontrib-confluencebuilder": [
-    "setuptools"
-  ],
-  "sphinxcontrib-devhelp": [
-    "setuptools"
-  ],
-  "sphinxcontrib-excel-table": [
-    "setuptools"
-  ],
-  "sphinxcontrib-fulltoc": [
-    "pbr",
-    "setuptools"
-  ],
-  "sphinxcontrib-htmlhelp": [
-    "setuptools"
-  ],
-  "sphinxcontrib-httpdomain": [
-    "setuptools"
-  ],
-  "sphinxcontrib-jsmath": [
-    "setuptools"
-  ],
-  "sphinxcontrib-katex": [
-    "setuptools"
-  ],
-  "sphinxcontrib-newsfeed": [
-    "setuptools"
-  ],
-  "sphinxcontrib-nwdiag": [
-    "setuptools"
-  ],
-  "sphinxcontrib-openapi": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "sphinxcontrib-plantuml": [
-    "setuptools"
-  ],
-  "sphinxcontrib-programoutput": [
-    "setuptools"
-  ],
-  "sphinxcontrib-qthelp": [
-    "setuptools"
-  ],
-  "sphinxcontrib-seqdiag": [
-    "setuptools"
-  ],
-  "sphinxcontrib-serializinghtml": [
-    "setuptools"
-  ],
-  "sphinxcontrib-spelling": [
-    "pbr",
-    "setuptools"
-  ],
-  "sphinxcontrib-tikz": [
-    "setuptools"
-  ],
-  "sphinxcontrib-websupport": [
-    "setuptools"
-  ],
-  "sphinxext-opengraph": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "spiderpy": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "spidev": [
-    "setuptools"
-  ],
-  "spinners": [
-    "setuptools"
-  ],
-  "splinter": [
-    "setuptools"
-  ],
-  "spotipy": [
-    "setuptools"
-  ],
-  "spsdk": [
-    "setuptools"
-  ],
-  "spur": [
-    "setuptools"
-  ],
-  "spyder": [
-    "setuptools"
-  ],
-  "spyder-kernels": [
-    "setuptools"
-  ],
-  "spyse-python": [
-    "setuptools"
-  ],
-  "sqlalchemy": [
-    "cython",
-    "setuptools"
-  ],
-  "sqlalchemy-aio": [
-    "setuptools"
-  ],
-  "sqlalchemy-citext": [
-    "setuptools"
-  ],
-  "sqlalchemy-continuum": [
-    "setuptools"
-  ],
-  "sqlalchemy-i18n": [
-    "setuptools"
-  ],
-  "sqlalchemy-jsonfield": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "sqlalchemy-migrate": [
-    "pbr",
-    "setuptools"
-  ],
-  "sqlalchemy-mixins": [
-    "setuptools"
-  ],
-  "sqlalchemy-utils": [
-    "setuptools"
-  ],
-  "sqlalchemy2-stubs": [
-    "setuptools"
-  ],
-  "sqlbag": [
-    "setuptools"
-  ],
-  "sqlglot": [
-    "setuptools"
-  ],
-  "sqlite-fts4": [
-    "setuptools"
-  ],
-  "sqlite-utils": [
-    "setuptools"
-  ],
-  "sqlitedict": [
-    "setuptools"
-  ],
-  "sqlmap": [
-    "setuptools"
-  ],
-  "sqlmodel": [
-    "poetry-core"
-  ],
-  "sqlobject": [
-    "setuptools"
-  ],
-  "sqlparse": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.4.4"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "0.4.4"
-    }
-  ],
-  "srp": [
-    "setuptools"
-  ],
-  "srpenergy": [
-    "setuptools"
-  ],
-  "srptools": [
-    "setuptools"
-  ],
-  "srsly": [
-    "cython",
-    "setuptools"
-  ],
-  "srt": [
-    "setuptools"
-  ],
-  "srvlookup": [
-    "setuptools"
-  ],
-  "ssdeep": [
-    "setuptools"
-  ],
-  "ssdp": [
-    "pbr",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "sse-starlette": [
-    "setuptools"
-  ],
-  "sseclient": [
-    "setuptools"
-  ],
-  "sseclient-py": [
-    "setuptools"
-  ],
-  "ssh-mitm": [
-    "setuptools"
-  ],
-  "sshpubkeys": [
-    "setuptools"
-  ],
-  "sshtunnel": [
-    "setuptools"
-  ],
-  "sslib": [
-    "setuptools"
-  ],
-  "stack-data": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "stanza": [
-    "setuptools"
-  ],
-  "starkbank-ecdsa": [
-    "setuptools"
-  ],
-  "starlette": [
-    "hatchling",
-    "setuptools"
-  ],
-  "starline": [
-    "setuptools"
-  ],
-  "starsessions": [
-    "poetry"
-  ],
-  "stashy": [
-    "setuptools"
-  ],
-  "staticjinja": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "statistics": [
-    "setuptools"
-  ],
-  "statmake": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "statsd": [
-    "setuptools"
-  ],
-  "statsforecast": [
-    "setuptools"
-  ],
-  "statsmodels": [
-    "cython",
-    "setuptools"
-  ],
-  "statuscake": [
-    "setuptools"
-  ],
-  "stdiomask": [
-    "setuptools"
-  ],
-  "stdlib-list": [
-    "setuptools"
-  ],
-  "steamodd": [
-    "setuptools"
-  ],
-  "stem": [
-    "setuptools"
-  ],
-  "stestr": [
-    "pbr",
-    "setuptools"
-  ],
-  "stevedore": [
-    "pbr",
-    "setuptools"
-  ],
-  "stickytape": [
-    "setuptools"
-  ],
-  "stim": [
-    "setuptools"
-  ],
-  "stm32loader": [
-    "setuptools"
-  ],
-  "stone": [
-    "setuptools"
-  ],
-  "stookalert": [
-    "setuptools"
-  ],
-  "stopit": [
-    "setuptools"
-  ],
-  "strategies": [
-    "setuptools"
-  ],
-  "stravalib": [
-    "setuptools"
-  ],
-  "strawberry-graphql": [
-    "poetry",
-    "setuptools"
-  ],
-  "streamdeck": [
-    "setuptools"
-  ],
-  "streaming-form-data": [
-    "cython",
-    "setuptools"
-  ],
-  "streamlabswater": [
-    "setuptools"
-  ],
-  "streamlink": [
-    "setuptools"
-  ],
-  "streamz": [
-    "setuptools"
-  ],
-  "strenum": [
-    "setuptools"
-  ],
-  "strict-rfc3339": [
-    "setuptools"
-  ],
-  "strictyaml": [
-    "setuptools"
-  ],
-  "stringcase": [
-    "setuptools"
-  ],
-  "stringly": [
-    "setuptools"
-  ],
-  "stripe": [
-    "setuptools"
-  ],
-  "striprtf": [
-    "setuptools"
-  ],
-  "structlog": [
-    "flit-core",
-    "hatch-fancy-pypi-readme",
-    "hatch-vcs",
-    "hatchling",
-    "setuptools"
-  ],
-  "structlog-sentry": [
-    "poetry-core"
-  ],
-  "stumpy": [
-    "setuptools"
-  ],
-  "stups-cli-support": [
-    "setuptools"
-  ],
-  "stups-fullstop": [
-    "setuptools"
-  ],
-  "stups-pierone": [
-    "setuptools"
-  ],
-  "stups-tokens": [
-    "setuptools"
-  ],
-  "stups-zign": [
-    "setuptools"
-  ],
-  "stytra": [
-    "setuptools"
-  ],
-  "subarulink": [
-    "setuptools"
-  ],
-  "subliminal": [
-    "setuptools"
-  ],
-  "subprocess-tee": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "subprocess32": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "subunit": [
-    "setuptools"
-  ],
-  "subunit2sql": [
-    "pbr",
-    "setuptools"
-  ],
-  "subzerod": [
-    "setuptools"
-  ],
-  "suds-community": [
-    "setuptools"
-  ],
-  "sumo": [
-    "cython",
-    "setuptools"
-  ],
-  "sumtypes": [
-    "setuptools"
-  ],
-  "sunpy": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "sunwatcher": [
-    "setuptools"
-  ],
-  "superqt": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "supervise-api": [
-    "setuptools"
-  ],
-  "supervisor": [
-    "setuptools"
-  ],
-  "sure": [
-    "setuptools"
-  ],
-  "surepy": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "surt": [
-    "setuptools"
-  ],
-  "survey": [
-    "setuptools"
-  ],
-  "svg-path": [
-    "setuptools"
-  ],
-  "svglib": [
-    "setuptools"
-  ],
-  "svgwrite": [
-    "setuptools"
-  ],
-  "svix-ksuid": [
-    "setuptools"
-  ],
-  "swagger-spec-validator": [
-    "setuptools"
-  ],
-  "swagger-ui-bundle": [
-    "setuptools"
-  ],
-  "swift": [
-    "pbr",
-    "setuptools"
-  ],
-  "swisshydrodata": [
-    "setuptools"
-  ],
-  "swspotify": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "sybil": [
-    "setuptools"
-  ],
-  "symengine": [
-    "cython",
-    "setuptools"
-  ],
-  "sympy": [
-    "setuptools"
-  ],
-  "syncer": [
-    "setuptools"
-  ],
-  "synergy": [
-    "setuptools"
-  ],
-  "synologydsm-api": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "syslog-rfc5424-formatter": [
-    "setuptools"
-  ],
-  "systembridge": [
-    "setuptools"
-  ],
-  "systemd": [
-    "setuptools"
-  ],
-  "sysv-ipc": [
-    "setuptools"
-  ],
-  "tableaudocumentapi": [
-    "setuptools"
-  ],
-  "tables": [
-    "cython",
-    "setuptools"
-  ],
-  "tablib": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "tabula-py": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "tabulate": [
-    {
-      "buildSystem": "setuptools-scm",
-      "from": "0.9.0"
-    },
-    "setuptools"
-  ],
-  "tabview": [
-    "setuptools"
-  ],
-  "tacacs-plus": [
-    "setuptools",
-    "pytest-runner"
-  ],
-  "tadasets": [
-    "setuptools"
-  ],
-  "tag-expressions": [
-    "setuptools"
-  ],
-  "tago": [
-    "setuptools"
-  ],
-  "tahoma-api": [
-    "setuptools"
-  ],
-  "tailer": [
-    "setuptools"
-  ],
-  "tailscale": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "tan": [
-    {
-      "buildSystem": "setuptools",
-      "until": "22.12.0"
-    },
-    {
-      "buildSystem": "setuptools-scm",
-      "until": "22.12.0"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "22.12.0"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": "22.12.0"
-    },
-    {
-      "buildSystem": "hatch-fancy-pypi-readme",
-      "from": "22.12.0"
-    }
-  ],
-  "tank-utility": [
-    "setuptools"
-  ],
-  "tappy": [
-    "setuptools"
-  ],
-  "tarsafe": [
-    "poetry"
-  ],
-  "tasklib": [
-    "setuptools"
-  ],
-  "taskw": [
-    "setuptools"
-  ],
-  "tatsu": [
-    "setuptools"
-  ],
-  "taxi": [
-    "setuptools"
-  ],
-  "tba-api-v3client": [
-    "setuptools"
-  ],
-  "tbats": [
-    "setuptools"
-  ],
-  "tblib": [
-    "setuptools"
-  ],
-  "tbm-utils": [
-    "setuptools"
-  ],
-  "tcxparser": [
-    "setuptools"
-  ],
-  "tcxreader": [
-    "setuptools"
-  ],
-  "teamcity-messages": [
-    "setuptools"
-  ],
-  "telegram": [
-    "setuptools"
-  ],
-  "telegraph": [
-    "setuptools"
-  ],
-  "telepath": [
-    "setuptools"
-  ],
-  "telethon": [
-    "setuptools"
-  ],
-  "telethon-session-sqlalchemy": [
-    "setuptools"
-  ],
-  "teletype": [
-    "setuptools"
-  ],
-  "telfhash": [
-    "setuptools"
-  ],
-  "tellduslive": [
-    "setuptools"
-  ],
-  "temescal": [
-    "setuptools"
-  ],
-  "tempest": [
-    "pbr",
-    "setuptools"
-  ],
-  "tempita": [
-    "setuptools"
-  ],
-  "tempora": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "tenacity": [
-    "pbr",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "tensorboard": [
-    "setuptools"
-  ],
-  "tensorboard-data-server": [
-    "setuptools"
-  ],
-  "tensorboard-plugin-profile": [
-    "setuptools"
-  ],
-  "tensorboard-plugin-wit": [
-    "setuptools"
-  ],
-  "tensorboardx": [
-    "setuptools"
-  ],
-  "tensorflow": [
-    "setuptools"
-  ],
-  "tensorflow-bin": [
-    "setuptools"
-  ],
-  "tensorflow-bin-2": [
-    "setuptools"
-  ],
-  "tensorflow-build": [
-    "setuptools"
-  ],
-  "tensorflow-build-2": [
-    "setuptools"
-  ],
-  "tensorflow-datasets": [
-    "setuptools"
-  ],
-  "tensorflow-estimator": [
-    "setuptools"
-  ],
-  "tensorflow-estimator-2": [
-    "setuptools"
-  ],
-  "tensorflow-metadata": [
-    "setuptools"
-  ],
-  "tensorflow-probability": [
-    "setuptools"
-  ],
-  "tensorflow-tensorboard": [
-    "setuptools"
-  ],
-  "tensorflow-tensorboard-2": [
-    "setuptools"
-  ],
-  "tensorflowwithcuda": [
-    "setuptools"
-  ],
-  "tensorflowwithoutcuda": [
-    "setuptools"
-  ],
-  "tensorly": [
-    "setuptools"
-  ],
-  "tensorrt": [
-    "setuptools"
-  ],
-  "termcolor": [
-    "hatch-vcs",
-    "hatchling",
-    "setuptools"
-  ],
-  "terminado": [
-    "hatchling",
-    "setuptools"
-  ],
-  "terminaltables": [
-    "poetry",
-    "setuptools"
-  ],
-  "termplotlib": [
-    "setuptools"
-  ],
-  "termstyle": [
-    "setuptools"
-  ],
-  "tern": [
-    "pbr",
-    "setuptools"
-  ],
-  "tesla-powerwall": [
-    "setuptools"
-  ],
-  "tesla-wall-connector": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "teslajsonpy": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "tess": [
-    "cython",
-    "setuptools"
-  ],
-  "tesserocr": [
-    "cython",
-    "setuptools"
-  ],
-  "test-tube": [
-    "setuptools"
-  ],
-  "testcontainers": [
-    "setuptools"
-  ],
-  "testfixtures": [
-    "setuptools"
-  ],
-  "testing-common-database": [
-    "setuptools"
-  ],
-  "testing-postgresql": [
-    "setuptools"
-  ],
-  "testpath": [
-    "flit",
-    "flit-core",
-    "setuptools"
-  ],
-  "testrepository": [
-    "pbr",
-    "setuptools"
-  ],
-  "testresources": [
-    "pbr",
-    "setuptools"
-  ],
-  "testscenarios": [
-    "setuptools"
-  ],
-  "testtools": [
-    "pbr",
-    "setuptools"
-  ],
-  "text-unidecode": [
-    "setuptools"
-  ],
-  "textacy": [
-    "setuptools"
-  ],
-  "textdistance": [
-    "setuptools"
-  ],
-  "textfsm": [
-    "setuptools"
-  ],
-  "textile": [
-    "setuptools"
-  ],
-  "texttable": [
-    "setuptools"
-  ],
-  "textual": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "textwrap3": [
-    "setuptools"
-  ],
-  "textx": [
-    "setuptools"
-  ],
-  "tflearn": [
-    "setuptools"
-  ],
-  "tgcrypto": [
-    "setuptools"
-  ],
-  "theano": [
-    "setuptools"
-  ],
-  "theano-pymc": [
-    "setuptools"
-  ],
-  "theanowithcuda": [
-    "setuptools"
-  ],
-  "theanowithoutcuda": [
-    "setuptools"
-  ],
-  "thermobeacon-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "thermopro-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "thespian": [
-    "setuptools"
-  ],
-  "thinc": [
-    "cython",
-    "setuptools"
-  ],
-  "threadloop": [
-    "setuptools"
-  ],
-  "threadpool": [
-    "setuptools"
-  ],
-  "threadpoolctl": [
-    "flit-core",
-    "setuptools"
-  ],
-  "threat9-test-bed": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "three-merge": [
-    "setuptools"
-  ],
-  "thrift": [
-    "setuptools"
-  ],
-  "thrift-sasl": [
-    "setuptools"
-  ],
-  "thriftpy2": [
-    "cython",
-    "setuptools"
-  ],
-  "tidylib": [
-    "setuptools"
-  ],
-  "tifffile": [
-    "setuptools"
-  ],
-  "tika": [
-    "setuptools"
-  ],
-  "tikzplotlib": [
-    "flit-core",
-    "setuptools"
-  ],
-  "tilequant": [
-    "setuptools"
-  ],
-  "tiler": [
-    "setuptools"
-  ],
-  "tilt-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "time-machine": [
-    "setuptools"
-  ],
-  "timeago": [
-    "setuptools"
-  ],
-  "timecop": [
-    "setuptools"
-  ],
-  "timelib": [
-    "setuptools"
-  ],
-  "timeout-decorator": [
-    "setuptools"
-  ],
-  "timetagger": [
-    "setuptools"
-  ],
-  "timezonefinder": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "tinycss": [
-    "cython",
-    "setuptools"
-  ],
-  "tinycss2": [
-    "flit-core",
-    "setuptools"
-  ],
-  "tinydb": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "tinyobjloader-py": [
-    "setuptools"
-  ],
-  "tissue": [
-    "setuptools"
-  ],
-  "titlecase": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "tkcalendar": [
-    "setuptools"
-  ],
-  "tkinter": [
-    "setuptools"
-  ],
-  "tld": [
-    "setuptools"
-  ],
-  "tldextract": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "tls-parser": [
-    "setuptools"
-  ],
-  "tlsh": [
-    "setuptools"
-  ],
-  "tlslite-ng": [
-    "setuptools"
-  ],
-  "tmb": [
-    "setuptools"
-  ],
-  "todoist": [
-    "setuptools"
-  ],
-  "toggl-cli": [
-    "pbr",
-    "setuptools"
-  ],
-  "token-bucket": [
-    "setuptools"
-  ],
-  "tokenize-rt": [
-    "setuptools"
-  ],
-  "tokenizers": [
-    "setuptools"
-  ],
-  "tokenlib": [
-    "setuptools"
-  ],
-  "tololib": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "toml": [
-    "setuptools"
-  ],
-  "toml-adapt": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "toml-cli": [
-    "poetry"
-  ],
-  "toml-sort": [
-    "poetry"
-  ],
-  "tomlcheck": [
-    "poetry"
-  ],
-  "tomli": [
-    {
-      "buildSystem": "poetry-core",
-      "until": "1.0.2"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "1.0.2"
-    }
-  ],
-  "tomli-w": [
-    "flit-core",
-    "setuptools"
-  ],
-  "tomlkit": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "toolz": [
-    "setuptools"
-  ],
-  "toonapi": [
-    "setuptools"
-  ],
-  "toposort": [
-    "setuptools"
-  ],
-  "torch": [
-    "setuptools"
-  ],
-  "torch-bin": [
-    "setuptools"
-  ],
-  "torch-tb-profiler": [
-    "setuptools"
-  ],
-  "torchaudio-bin": [
-    "setuptools"
-  ],
-  "torchfile": [
-    "setuptools"
-  ],
-  "torchgpipe": [
-    "setuptools"
-  ],
-  "torchinfo": [
-    "setuptools"
-  ],
-  "torchmetrics": [
-    "setuptools"
-  ],
-  "torchvision": [
-    "setuptools"
-  ],
-  "torchvision-bin": [
-    "setuptools"
-  ],
-  "torchwithcuda": [
-    "setuptools"
-  ],
-  "torchwithoutcuda": [
-    "setuptools"
-  ],
-  "tornado": [
-    "setuptools"
-  ],
-  "tornado-utils": [
-    "setuptools"
-  ],
-  "torpy": [
-    "setuptools"
-  ],
-  "torrequest": [
-    "setuptools"
-  ],
-  "tortoise-orm": [
-    "poetry-core"
-  ],
-  "total-connect-client": [
-    "setuptools"
-  ],
-  "towncrier": [
-    "setuptools"
-  ],
-  "tox": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "tplink-omada-client": [
-    "hatchling"
-  ],
-  "tpm2-pytss": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "tqdm": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "traceback2": [
-    "pbr",
-    "setuptools"
-  ],
-  "tracing": [
-    "setuptools"
-  ],
-  "trackpy": [
-    "setuptools"
-  ],
-  "traitlets": [
-    {
-      "buildSystem": "flit-core",
-      "until": "5.2.1"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "5.2.1"
-    },
-    "setuptools"
-  ],
-  "traits": [
-    "setuptools"
-  ],
-  "traitsui": [
-    "setuptools"
-  ],
-  "traittypes": [
-    "setuptools"
-  ],
-  "transaction": [
-    "setuptools"
-  ],
-  "transformers": [
-    "setuptools"
-  ],
-  "transforms3d": [
-    "setuptools"
-  ],
-  "transitions": [
-    "setuptools"
-  ],
-  "translatepy": [
-    "setuptools"
-  ],
-  "translationstring": [
-    "setuptools"
-  ],
-  "transliterate": [
-    "setuptools"
-  ],
-  "transmission-rpc": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "transmissionrpc": [
-    "setuptools"
-  ],
-  "trectools": [
-    "setuptools"
-  ],
-  "treelog": [
-    "setuptools"
-  ],
-  "treeo": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "treex": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "treq": [
-    "setuptools"
-  ],
-  "trezor": [
-    "setuptools"
-  ],
-  "trezor-agent": [
-    "setuptools"
-  ],
-  "trfl": [
-    "setuptools"
-  ],
-  "trimesh": [
-    "setuptools"
-  ],
-  "trino": [
-    "setuptools"
-  ],
-  "trio": [
-    "setuptools"
-  ],
-  "trio-asyncio": [
-    "setuptools"
-  ],
-  "trio-websocket": [
-    "setuptools"
-  ],
-  "troposphere": [
-    "setuptools"
-  ],
-  "trove-classifiers": [
-    "calver",
-    "setuptools"
-  ],
-  "trueskill": [
-    "setuptools"
-  ],
-  "trustme": [
-    "setuptools"
-  ],
-  "trytond": [
-    "setuptools"
-  ],
-  "ttls": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ttp": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ttp-templates": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "tubes": [
-    "setuptools"
-  ],
-  "tubeup": [
-    "setuptools"
-  ],
-  "tumpa": [
-    "setuptools"
-  ],
-  "tunigo": [
-    "setuptools"
-  ],
-  "turnt": [
-    "flit-core",
-    "setuptools"
-  ],
-  "tusker": [
-    "poetry"
-  ],
-  "tuya-iot-py-sdk": [
-    "setuptools"
-  ],
-  "tuyaha": [
-    "setuptools"
-  ],
-  "tweedledum": [
-    "setuptools"
-  ],
-  "tweepy": [
-    "setuptools"
-  ],
-  "twentemilieu": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "twiggy": [
-    "setuptools"
-  ],
-  "twilio": [
-    "setuptools"
-  ],
-  "twill": [
-    "setuptools"
-  ],
-  "twine": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "twinkly-client": [
-    "setuptools"
-  ],
-  "twisted": [
-    "setuptools"
-  ],
-  "twitch-python": [
-    "setuptools"
-  ],
-  "twitchapi": [
-    "setuptools"
-  ],
-  "twitter": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "twitter-common-collections": [
-    "setuptools"
-  ],
-  "twitter-common-confluence": [
-    "setuptools"
-  ],
-  "twitter-common-dirutil": [
-    "setuptools"
-  ],
-  "twitter-common-lang": [
-    "setuptools"
-  ],
-  "twitter-common-log": [
-    "setuptools"
-  ],
-  "twitter-common-options": [
-    "setuptools"
-  ],
-  "twitterapi": [
-    "setuptools"
-  ],
-  "twofish": [
-    "setuptools"
-  ],
-  "txaio": [
-    "setuptools"
-  ],
-  "txamqp": [
-    "setuptools"
-  ],
-  "txdbus": [
-    "setuptools"
-  ],
-  "txgithub": [
-    "setuptools"
-  ],
-  "txredisapi": [
-    "setuptools"
-  ],
-  "txrequests": [
-    "setuptools"
-  ],
-  "txtorcon": [
-    "setuptools"
-  ],
-  "txzmq": [
-    "setuptools"
-  ],
-  "typeapi": [
-    "poetry"
-  ],
-  "typecode": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "typecode-libmagic": [
-    "setuptools"
-  ],
-  "typecov": [
-    "setuptools"
-  ],
-  "typed-argument-parser": [
-    "setuptools"
-  ],
-  "typed-ast": [
-    "setuptools"
-  ],
-  "typed-settings": [
-    "setuptools"
-  ],
-  "typeguard": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "typer": [
-    "flit-core",
-    "setuptools"
-  ],
-  "types-aioboto3": [
-    "setuptools"
-  ],
-  "types-aiobotocore": [
-    "setuptools"
-  ],
-  "types-aiobotocore-cloudformation": [
-    "setuptools"
-  ],
-  "types-aiobotocore-ec2": [
-    "setuptools"
-  ],
-  "types-aiobotocore-elbv2": [
-    "setuptools"
-  ],
-  "types-aiobotocore-lambda": [
-    "setuptools"
-  ],
-  "types-aiobotocore-organizations": [
-    "setuptools"
-  ],
-  "types-aiobotocore-resourcegroupstaggingapi": [
-    "setuptools"
-  ],
-  "types-aiobotocore-secretsmanager": [
-    "setuptools"
-  ],
-  "types-aiobotocore-ssm": [
-    "setuptools"
-  ],
-  "types-aiobotocore-stepfunctions": [
-    "setuptools"
-  ],
-  "types-aiobotocore-sts": [
-    "setuptools"
-  ],
-  "types-awscrt": [
-    "poetry-core"
-  ],
-  "types-backports": [
-    "setuptools"
-  ],
-  "types-beautifulsoup4": [
-    "setuptools"
-  ],
-  "types-cachetools": [
-    "setuptools"
-  ],
-  "types-click": [
-    "setuptools"
-  ],
-  "types-colorama": [
-    "setuptools"
-  ],
-  "types-cryptography": [
-    "setuptools"
-  ],
-  "types-dataclasses": [
-    "setuptools"
-  ],
-  "types-dateutil": [
-    "setuptools"
-  ],
-  "types-decorator": [
-    "setuptools"
-  ],
-  "types-docutils": [
-    "setuptools"
-  ],
-  "types-enum34": [
-    "setuptools"
-  ],
-  "types-freezegun": [
-    "setuptools"
-  ],
-  "types-futures": [
-    "setuptools"
-  ],
-  "types-html5lib": [
-    "setuptools"
-  ],
-  "types-ipaddress": [
-    "setuptools"
-  ],
-  "types-jsonschema": [
-    "setuptools"
-  ],
-  "types-markdown": [
-    "setuptools"
-  ],
-  "types-orjson": [
-    "setuptools"
-  ],
-  "types-paramiko": [
-    "setuptools"
-  ],
-  "types-pillow": [
-    "setuptools"
-  ],
-  "types-pkg-resources": [
-    "setuptools"
-  ],
-  "types-protobuf": [
-    "setuptools"
-  ],
-  "types-psutil": [
-    "setuptools"
-  ],
-  "types-psycopg2": [
-    "setuptools"
-  ],
-  "types-pygments": [
-    "setuptools"
-  ],
-  "types-pyopenssl": [
-    "setuptools"
-  ],
-  "types-python-dateutil": [
-    "setuptools"
-  ],
-  "types-pytz": [
-    "setuptools"
-  ],
-  "types-pyyaml": [
-    "setuptools"
-  ],
-  "types-redis": [
-    "setuptools"
-  ],
-  "types-requests": [
-    "setuptools"
-  ],
-  "types-s3transfer": [
-    "poetry-core"
-  ],
-  "types-setuptools": [
-    "setuptools"
-  ],
-  "types-six": [
-    "setuptools"
-  ],
-  "types-tabulate": [
-    "setuptools"
-  ],
-  "types-termcolor": [
-    "setuptools"
-  ],
-  "types-toml": [
-    "setuptools"
-  ],
-  "types-typed-ast": [
-    "setuptools"
-  ],
-  "types-urllib3": [
-    "setuptools"
-  ],
-  "typesentry": [
-    "setuptools"
-  ],
-  "typesystem": [
-    "setuptools"
-  ],
-  "typical": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "typing": [
-    "setuptools"
-  ],
-  "typing-extensions": [
-    "flit-core",
-    "setuptools"
-  ],
-  "typing-inspect": [
-    "setuptools"
-  ],
-  "typish": [
-    "setuptools"
-  ],
-  "typogrify": [
-    "setuptools"
-  ],
-  "tzdata": [
-    "setuptools"
-  ],
-  "tzlocal": [
-    "setuptools"
-  ],
-  "u-msgpack-python": [
-    "setuptools"
-  ],
-  "ua-parser": [
-    "setuptools"
-  ],
-  "uamqp": [
-    "setuptools"
-  ],
-  "uarray": [
-    "setuptools"
-  ],
-  "uasiren": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ubersmith": [
-    "setuptools"
-  ],
-  "uc-micro-py": [
-    "setuptools"
-  ],
-  "udatetime": [
-    "setuptools"
-  ],
-  "ueagle": [
-    "setuptools"
-  ],
-  "ueberzug": [
-    "setuptools"
-  ],
-  "ufo2ft": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ufolib2": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ufonormalizer": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ufoprocessor": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "uharfbuzz": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ujson": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ukkonen": [
-    "setuptools"
-  ],
-  "ukpostcodeparser": [
-    "setuptools"
-  ],
-  "ukrainealarm": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "ultraheat-api": [
-    "setuptools"
-  ],
-  "umalqurra": [
-    "setuptools"
-  ],
-  "umap-learn": [
-    "setuptools"
-  ],
-  "unasync": [
-    "setuptools"
-  ],
-  "uncertainties": [
-    "setuptools"
-  ],
-  "unicode-slugify": [
-    "setuptools"
-  ],
-  "unicodecsv": [
-    "setuptools"
-  ],
-  "unicodedata2": [
-    "setuptools"
-  ],
-  "unicorn": [
-    "setuptools"
-  ],
-  "unicrypto": [
-    "setuptools"
-  ],
-  "unidecode": [
-    "setuptools"
-  ],
-  "unidic-lite": [
-    "setuptools"
-  ],
-  "unidiff": [
-    "setuptools"
-  ],
-  "unifi": [
-    "setuptools"
-  ],
-  "unifi-discovery": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "unifiled": [
-    "setuptools"
-  ],
-  "unify": [
-    "setuptools"
-  ],
-  "unipath": [
-    "setuptools"
-  ],
-  "units": [
-    "setuptools"
-  ],
-  "unittest-data-provider": [
-    "setuptools"
-  ],
-  "unittest-xml-reporting": [
-    "setuptools"
-  ],
-  "unittest2": [
-    "setuptools"
-  ],
-  "univers": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "unpaddedbase64": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "unrardll": [
-    "setuptools"
-  ],
-  "untangle": [
-    "setuptools"
-  ],
-  "untokenize": [
-    "setuptools"
-  ],
-  "uonet-request-signer-hebe": [
-    "setuptools"
-  ],
-  "upass": [
-    "setuptools"
-  ],
-  "upb-lib": [
-    "setuptools"
-  ],
-  "upcloud-api": [
-    "setuptools"
-  ],
-  "update-checker": [
-    "setuptools"
-  ],
-  "update-copyright": [
-    "setuptools"
-  ],
-  "update-dotdee": [
-    "setuptools"
-  ],
-  "upnpy": [
-    "setuptools"
-  ],
-  "uproot": [
-    "setuptools"
-  ],
-  "uproot3": [
-    "setuptools"
-  ],
-  "uproot3-methods": [
-    "setuptools"
-  ],
-  "uptime": [
-    "setuptools"
-  ],
-  "uptime-kuma-monitor": [
-    "setuptools"
-  ],
-  "uranium": [
-    "setuptools"
-  ],
-  "uri-template": [
-    "setuptools"
-  ],
-  "uritemplate": [
-    "setuptools"
-  ],
-  "uritools": [
-    "setuptools"
-  ],
-  "url-normalize": [
-    "poetry",
-    "setuptools"
-  ],
-  "urlextract": [
-    "setuptools"
-  ],
-  "urlgrabber": [
-    "setuptools"
-  ],
-  "urllib3": [
-    {
-      "buildSystem": "flit-core",
-      "until": "2.0.2"
-    },
-    {
-      "buildSystem": "hatchling",
-      "from": "2.0.2"
-    },
-    "setuptools"
-  ],
-  "urlpy": [
-    "setuptools"
-  ],
-  "urwid": [
-    "setuptools"
-  ],
-  "urwid-readline": [
-    "setuptools"
-  ],
-  "urwidtrees": [
-    "setuptools"
-  ],
-  "us": [
-    "setuptools"
-  ],
-  "usb-devices": [
-    "poetry-core"
-  ],
-  "usbrelay-py": [
-    "setuptools"
-  ],
-  "usbtmc": [
-    "setuptools"
-  ],
-  "user-agents": [
-    "setuptools"
-  ],
-  "userpath": [
-    "setuptools"
-  ],
-  "ush": [
-    "setuptools"
-  ],
-  "utils": [
-    "setuptools"
-  ],
-  "uuid": [
-    "setuptools"
-  ],
-  "uvcclient": [
-    "setuptools"
-  ],
-  "uvicorn": [
-    "hatchling",
-    "setuptools"
-  ],
-  "uvloop": [
-    "cython",
-    "setuptools"
-  ],
-  "uwsgidecorators": [
-    "setuptools"
-  ],
-  "vaa": [
-    "flit-core",
-    "setuptools"
-  ],
-  "validate-email": [
-    "setuptools"
-  ],
-  "validators": [
-    "setuptools"
-  ],
-  "validobj": [
-    "flit",
-    "setuptools"
-  ],
-  "validphys2": [
-    "setuptools"
-  ],
-  "vallox-websocket-api": [
-    "setuptools"
-  ],
-  "vapoursynth": [
-    "cython",
-    "setuptools"
-  ],
-  "variants": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "varint": [
-    "setuptools"
-  ],
-  "vcrpy": [
-    "setuptools"
-  ],
-  "vcver": [
-    "setuptools"
-  ],
-  "vcversioner": [
-    "setuptools"
-  ],
-  "vdf": [
-    "setuptools"
-  ],
-  "vdirsyncer": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "vector": [
-    "hatch-vcs",
-    "hatchling"
-  ],
-  "vega": [
-    "setuptools"
-  ],
-  "vega-datasets": [
-    "setuptools"
-  ],
-  "vehicle": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "velbus-aio": [
-    "setuptools"
-  ],
-  "venstarcolortouch": [
-    "setuptools"
-  ],
-  "venusian": [
-    "setuptools"
-  ],
-  "verboselogs": [
-    "setuptools"
-  ],
-  "versioneer": [
-    "setuptools"
-  ],
-  "versionfinder": [
-    "setuptools"
-  ],
-  "versioningit": [
-    "setuptools"
-  ],
-  "versiontag": [
-    "setuptools"
-  ],
-  "versiontools": [
-    "setuptools"
-  ],
-  "verspec": [
-    "setuptools"
-  ],
-  "vertica-python": [
-    "setuptools"
-  ],
-  "veryprettytable": [
-    "setuptools"
-  ],
-  "videocr": [
-    "setuptools"
-  ],
-  "vidstab": [
-    "setuptools"
-  ],
-  "viewstate": [
-    "setuptools"
-  ],
-  "vilfo-api-client": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "vincenty": [
-    "setuptools"
-  ],
-  "vine": [
-    "setuptools"
-  ],
-  "virtkey": [
-    "setuptools"
-  ],
-  "virtual-display": [
-    "setuptools"
-  ],
-  "virtualenv": [
-    {
-      "buildSystem": "setuptools-scm",
-      "until": " 20.18"
-    },
-    {
-      "buildSystem": "hatch-vcs",
-      "from": " 20.18"
-    },
-    "cython"
-  ],
-  "virtualenv-clone": [
-    "setuptools"
-  ],
-  "virtualenvwrapper": [
-    "pbr",
-    "setuptools"
-  ],
-  "visitor": [
-    "setuptools"
-  ],
-  "vispy": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "viv-utils": [
-    "setuptools"
-  ],
-  "vivisect": [
-    "setuptools"
-  ],
-  "vmprof": [
-    "setuptools"
-  ],
-  "vncdo": [
-    "setuptools"
-  ],
-  "vobject": [
-    "setuptools"
-  ],
-  "volkszaehler": [
-    "setuptools"
-  ],
-  "voluptuous": [
-    "setuptools"
-  ],
-  "voluptuous-serialize": [
-    "setuptools"
-  ],
-  "volvooncall": [
-    "setuptools"
-  ],
-  "vonage": [
-    "setuptools"
-  ],
-  "vowpalwabbit": [
-    "setuptools"
-  ],
-  "vpk": [
-    "setuptools"
-  ],
-  "vqgan-jax": [
-    "setuptools"
-  ],
-  "vsts": [
-    "setuptools"
-  ],
-  "vsts-cd-manager": [
-    "setuptools"
-  ],
-  "vsure": [
-    "setuptools"
-  ],
-  "vt-py": [
-    "setuptools"
-  ],
-  "vulcan-api": [
-    "setuptools"
-  ],
-  "vultr": [
-    "setuptools"
-  ],
-  "vulture": [
-    "setuptools"
-  ],
-  "vxi11": [
-    "setuptools"
-  ],
-  "vyper": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "w3lib": [
-    "setuptools"
-  ],
-  "wadllib": [
-    "setuptools"
-  ],
-  "wagtail": [
-    "setuptools"
-  ],
-  "waitress": [
-    "setuptools"
-  ],
-  "waitress-django": [
-    "setuptools"
-  ],
-  "wakeonlan": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "wallbox": [
-    "setuptools"
-  ],
-  "wand": [
-    "setuptools"
-  ],
-  "wandb": [
-    "setuptools"
-  ],
-  "waqiasync": [
-    "setuptools"
-  ],
-  "warcio": [
-    "setuptools"
-  ],
-  "warlock": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "warrant": [
-    "setuptools"
-  ],
-  "warrant-lite": [
-    "setuptools"
-  ],
-  "wasabi": [
-    "setuptools"
-  ],
-  "wasmer": [
-    "setuptools"
-  ],
-  "wasmer-compiler-cranelift": [
-    "setuptools"
-  ],
-  "wasmer-compiler-llvm": [
-    "setuptools"
-  ],
-  "wasmer-compiler-singlepass": [
-    "setuptools"
-  ],
-  "wasmerpackages-wasmer": [
-    "setuptools"
-  ],
-  "wasmerpackages-wasmer-compiler-cranelift": [
-    "setuptools"
-  ],
-  "wasmerpackages-wasmer-compiler-llvm": [
-    "setuptools"
-  ],
-  "wasmerpackages-wasmer-compiler-singlepass": [
-    "setuptools"
-  ],
-  "watchdog": [
-    "setuptools"
-  ],
-  "watchfiles": [
-    "setuptools"
-  ],
-  "watchgod": [
-    "setuptools"
-  ],
-  "waterfurnace": [
-    "setuptools"
-  ],
-  "watermark": [
-    "setuptools"
-  ],
-  "wavedrom": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "wavefile": [
-    "setuptools"
-  ],
-  "wavinsentio": [
-    "setuptools"
-  ],
-  "wazeroutecalculator": [
-    "setuptools"
-  ],
-  "wcag-contrast-ratio": [
-    "setuptools"
-  ],
-  "wcmatch": [
-    "hatchling",
-    "setuptools"
-  ],
-  "wcwidth": [
-    "setuptools"
-  ],
-  "weasyprint": [
-    "flit-core",
-    "setuptools"
-  ],
-  "web": [
-    "setuptools"
-  ],
-  "web-cache": [
-    "setuptools"
-  ],
-  "web3": [
-    "setuptools"
-  ],
-  "webargs": [
-    "setuptools"
-  ],
-  "webassets": [
-    "setuptools"
-  ],
-  "webauthn": [
-    "setuptools"
-  ],
-  "webcolors": [
-    "setuptools"
-  ],
-  "webdav4": [
-    "hatch-vcs",
-    "hatchling",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "webdavclient3": [
-    "setuptools"
-  ],
-  "webencodings": [
-    "setuptools"
-  ],
-  "webexteamssdk": [
-    "setuptools"
-  ],
-  "webhelpers": [
-    "setuptools"
-  ],
-  "webob": [
-    "setuptools"
-  ],
-  "weboob": [
-    "setuptools"
-  ],
-  "webrtcvad": [
-    "setuptools"
-  ],
-  "websocket-client": [
-    "setuptools"
-  ],
-  "websockets": [
-    "setuptools"
-  ],
-  "websockify": [
-    "setuptools"
-  ],
-  "webssh": [
-    "setuptools"
-  ],
-  "webtest": [
-    "setuptools"
-  ],
-  "webtest-aiohttp": [
-    "setuptools"
-  ],
-  "webthing": [
-    "setuptools"
-  ],
-  "weconnect": [
-    "setuptools"
-  ],
-  "weconnect-mqtt": [
-    "setuptools"
-  ],
-  "werkzeug": [
-    "setuptools"
-  ],
-  "west": [
-    "setuptools"
-  ],
-  "wfuzz": [
-    "setuptools"
-  ],
-  "wget": [
-    "setuptools"
-  ],
-  "whatthepatch": [
-    "setuptools"
-  ],
-  "wheel": [
-    {
-      "buildSystem": "setuptools",
-      "until": "0.40.0"
-    },
-    {
-      "buildSystem": "flit-core",
-      "from": "0.40.0"
-    }
-  ],
-  "wheel-filename": [
-    "setuptools"
-  ],
-  "wheel-inspect": [
-    "setuptools"
-  ],
-  "whichcraft": [
-    "setuptools"
-  ],
-  "whirlpool-sixth-sense": [
-    "setuptools"
-  ],
-  "whisper": [
-    "setuptools"
-  ],
-  "whispers": [
-    "setuptools"
-  ],
-  "whitenoise": [
-    "setuptools"
-  ],
-  "whodap": [
-    "setuptools"
-  ],
-  "whois": [
-    "setuptools"
-  ],
-  "whoosh": [
-    "setuptools"
-  ],
-  "widgetsnbextension": [
-    "jupyter-packaging",
-    "setuptools"
-  ],
-  "widlparser": [
-    "setuptools"
-  ],
-  "wiffi": [
-    "setuptools"
-  ],
-  "wifi": [
-    "setuptools"
-  ],
-  "wikitextparser": [
-    "setuptools"
-  ],
-  "willow": [
-    "setuptools"
-  ],
-  "winacl": [
-    "setuptools"
-  ],
-  "winsspi": [
-    "setuptools"
-  ],
-  "withings-api": [
-    "poetry-core"
-  ],
-  "wktutils": [
-    "setuptools"
-  ],
-  "wled": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "wmctrl": [
-    "setuptools"
-  ],
-  "woob": [
-    "setuptools"
-  ],
-  "woodblock": [
-    "setuptools"
-  ],
-  "word2vec": [
-    "cython",
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "wordcloud": [
-    "cython",
-    "setuptools"
-  ],
-  "wordfreq": [
-    "setuptools"
-  ],
-  "wrapio": [
-    "setuptools"
-  ],
-  "wrapt": [
-    "setuptools"
-  ],
-  "wrf-python": [
-    "setuptools"
-  ],
-  "ws4py": [
-    "setuptools"
-  ],
-  "wsdiscovery": [
-    "setuptools"
-  ],
-  "wsgi-intercept": [
-    "setuptools"
-  ],
-  "wsgidav": [
-    "setuptools"
-  ],
-  "wsgiprox": [
-    "setuptools"
-  ],
-  "wsgiproxy2": [
-    "setuptools"
-  ],
-  "wsgitools": [
-    "setuptools"
-  ],
-  "wslink": [
-    "setuptools"
-  ],
-  "wsnsimpy": [
-    "setuptools"
-  ],
-  "wsproto": [
-    "setuptools"
-  ],
-  "wtf-peewee": [
-    "setuptools"
-  ],
-  "wtforms": [
-    "setuptools"
-  ],
-  "wurlitzer": [
-    "setuptools"
-  ],
-  "www-authenticate": [
-    "setuptools"
-  ],
-  "wxpython-4-0": [
-    "setuptools"
-  ],
-  "wxpython-4-1": [
-    "setuptools"
-  ],
-  "wxpython-4-2": [
-    "setuptools"
-  ],
-  "x11-hash": [
-    "setuptools"
-  ],
-  "x256": [
-    "setuptools"
-  ],
-  "xapian": [
-    "setuptools"
-  ],
-  "xapp": [
-    "setuptools"
-  ],
-  "xarray": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "xarray-einstats": [
-    "flit-core",
-    "setuptools"
-  ],
-  "xattr": [
-    "setuptools"
-  ],
-  "xbox-webapi": [
-    "setuptools"
-  ],
-  "xboxapi": [
-    "setuptools"
-  ],
-  "xcffib": [
-    "setuptools"
-  ],
-  "xdg": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "xdis": [
-    "setuptools"
-  ],
-  "xdot": [
-    "setuptools"
-  ],
-  "xhtml2pdf": [
-    "setuptools"
-  ],
-  "xiaomi-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "xkbcommon": [
-    "setuptools"
-  ],
-  "xkcdpass": [
-    "setuptools"
-  ],
-  "xknx": [
-    "setuptools"
-  ],
-  "xlib": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "xlrd": [
-    "setuptools"
-  ],
-  "xlsx2csv": [
-    "setuptools"
-  ],
-  "xlsxwriter": [
-    "setuptools"
-  ],
-  "xlwt": [
-    "setuptools"
-  ],
-  "xmind": [
-    "setuptools"
-  ],
-  "xml-marshaller": [
-    "setuptools"
-  ],
-  "xml2rfc": [
-    "setuptools"
-  ],
-  "xmldiff": [
-    "setuptools"
-  ],
-  "xmljson": [
-    "setuptools"
-  ],
-  "xmlschema": [
-    "setuptools"
-  ],
-  "xmlsec": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "xmltodict": [
-    "setuptools"
-  ],
-  "xmodem": [
-    "setuptools"
-  ],
-  "xnd": [
-    "setuptools"
-  ],
-  "xpath-expressions": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "xpybutil": [
-    "setuptools"
-  ],
-  "xsdata": [
-    "setuptools"
-  ],
-  "xstatic": [
-    "setuptools"
-  ],
-  "xstatic-bootbox": [
-    "setuptools"
-  ],
-  "xstatic-bootstrap": [
-    "setuptools"
-  ],
-  "xstatic-jquery": [
-    "setuptools"
-  ],
-  "xstatic-jquery-file-upload": [
-    "setuptools"
-  ],
-  "xstatic-jquery-ui": [
-    "setuptools"
-  ],
-  "xstatic-pygments": [
-    "setuptools"
-  ],
-  "xtensor-python": [
-    "setuptools"
-  ],
-  "xvfbwrapper": [
-    "setuptools"
-  ],
-  "xxh": [
-    "setuptools"
-  ],
-  "xxhash": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "yabadaba": [
-    "setuptools"
-  ],
-  "yacs": [
-    "setuptools"
-  ],
-  "yahooweather": [
-    "setuptools"
-  ],
-  "yalesmartalarmclient": [
-    "setuptools"
-  ],
-  "yalexs": [
-    "setuptools"
-  ],
-  "yalexs-ble": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "yamale": [
-    "setuptools"
-  ],
-  "yamlfix": [
-    "setuptools"
-  ],
-  "yamllint": [
-    "setuptools"
-  ],
-  "yamlloader": [
-    "setuptools"
-  ],
-  "yamlordereddictloader": [
-    "setuptools"
-  ],
-  "yanc": [
-    "setuptools"
-  ],
-  "yangson": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "yapf": [
-    "setuptools"
-  ],
-  "yappi": [
-    "setuptools"
-  ],
-  "yapsy": [
-    "setuptools"
-  ],
-  "yara-python": [
-    "setuptools"
-  ],
-  "yaralyzer": [
-    "poetry"
-  ],
-  "yarg": [
-    "setuptools"
-  ],
-  "yarl": [
-    "setuptools"
-  ],
-  "yaspin": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "yaswfp": [
-    "setuptools"
-  ],
-  "yattag": [
-    "setuptools"
-  ],
-  "ydiff": [
-    "setuptools"
-  ],
-  "yeelight": [
-    "setuptools"
-  ],
-  "yfinance": [
-    "setuptools"
-  ],
-  "yoda": [
-    "cython"
-  ],
-  "yolink-api": [
-    "setuptools"
-  ],
-  "youless-api": [
-    "setuptools"
-  ],
-  "youtube-dl": [
-    "setuptools"
-  ],
-  "youtube-dl-light": [
-    "setuptools"
-  ],
-  "youtube-search": [
-    "setuptools"
-  ],
-  "youtube-search-python": [
-    "setuptools"
-  ],
-  "youtube-transcript-api": [
-    "setuptools"
-  ],
-  "yowsup": [
-    "setuptools"
-  ],
-  "yoyo-migrations": [
-    "setuptools"
-  ],
-  "ypy-websocket": [
-    "hatchling"
-  ],
-  "yq": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "yt-dlp": [
-    "setuptools"
-  ],
-  "yt-dlp-light": [
-    "setuptools"
-  ],
-  "yte": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "ytmusicapi": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "yubico-client": [
-    "setuptools"
-  ],
-  "yubikey-manager": [
-    "poetry-core"
-  ],
-  "yutto": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "z3": [
-    "setuptools"
-  ],
-  "z3c-checkversions": [
-    "setuptools"
-  ],
-  "zadnegoale": [
-    "setuptools"
-  ],
-  "zamg": [
-    "poetry-core"
-  ],
-  "zarr": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "zc-buildout": [
-    "setuptools"
-  ],
-  "zc-buildout221": [
-    "setuptools"
-  ],
-  "zc-lockfile": [
-    "setuptools"
-  ],
-  "zconfig": [
-    "setuptools"
-  ],
-  "zcs": [
-    "setuptools"
-  ],
-  "zdaemon": [
-    "setuptools"
-  ],
-  "zeep": [
-    "setuptools"
-  ],
-  "zeroc-ice": [
-    "setuptools"
-  ],
-  "zeroconf": [
-    "setuptools"
-  ],
-  "zerorpc": [
-    "setuptools"
-  ],
-  "zeversolarlocal": [
-    "flit-core",
-    "setuptools"
-  ],
-  "zfec": [
-    "setuptools"
-  ],
-  "zha-quirks": [
-    "setuptools"
-  ],
-  "zict": [
-    "setuptools"
-  ],
-  "zigpy": [
-    "setuptools"
-  ],
-  "zigpy-cc": [
-    "setuptools"
-  ],
-  "zigpy-deconz": [
-    "setuptools"
-  ],
-  "zigpy-xbee": [
-    "setuptools"
-  ],
-  "zigpy-zigate": [
-    "setuptools"
-  ],
-  "zigpy-znp": [
-    "setuptools"
-  ],
-  "zimports": [
-    "setuptools"
-  ],
-  "zipp": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "zipseeker": [
-    "setuptools"
-  ],
-  "zipstream": [
-    "setuptools"
-  ],
-  "zipstream-new": [
-    "setuptools"
-  ],
-  "zipstream-ng": [
-    "setuptools"
-  ],
-  "zk": [
-    "setuptools"
-  ],
-  "zm-py": [
-    "setuptools"
-  ],
-  "zodb": [
-    "setuptools"
-  ],
-  "zodbpickle": [
-    "setuptools"
-  ],
-  "zope-broken": [
-    "setuptools"
-  ],
-  "zope-cachedescriptors": [
-    "setuptools"
-  ],
-  "zope-component": [
-    "setuptools"
-  ],
-  "zope-configuration": [
-    "setuptools"
-  ],
-  "zope-contenttype": [
-    "setuptools"
-  ],
-  "zope-copy": [
-    "setuptools"
-  ],
-  "zope-deferredimport": [
-    "setuptools"
-  ],
-  "zope-deprecation": [
-    "setuptools"
-  ],
-  "zope-dottedname": [
-    "setuptools"
-  ],
-  "zope-event": [
-    "setuptools"
-  ],
-  "zope-exceptions": [
-    "setuptools"
-  ],
-  "zope-filerepresentation": [
-    "setuptools"
-  ],
-  "zope-hookable": [
-    "setuptools"
-  ],
-  "zope-i18nmessageid": [
-    "setuptools"
-  ],
-  "zope-interface": [
-    "setuptools"
-  ],
-  "zope-lifecycleevent": [
-    "setuptools"
-  ],
-  "zope-location": [
-    "setuptools"
-  ],
-  "zope-proxy": [
-    "setuptools"
-  ],
-  "zope-schema": [
-    "setuptools"
-  ],
-  "zope-size": [
-    "setuptools"
-  ],
-  "zope-sqlalchemy": [
-    "setuptools"
-  ],
-  "zope-testbrowser": [
-    "setuptools"
-  ],
-  "zope-testing": [
-    "setuptools"
-  ],
-  "zope-testrunner": [
-    "setuptools"
-  ],
-  "zopfli": [
-    "setuptools",
-    "setuptools-scm"
-  ],
-  "zstandard": [
-    "setuptools"
-  ],
-  "zstd": [
-    "setuptools"
-  ],
-  "zulip": [
-    "setuptools"
-  ],
-  "zwave-js-server-python": [
-    "setuptools"
-  ],
-  "zwave-me-ws": [
-    "poetry-core",
-    "setuptools"
-  ],
-  "zxcvbn": [
-    "setuptools"
-  ]
-}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
deleted file mode 100644
index d96d920c709..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
+++ /dev/null
@@ -1,3026 +0,0 @@
-{ pkgs ? import <nixpkgs> { }
-, lib ? pkgs.lib
-}:
-
-let
-  addBuildSystem =
-    { self
-    , drv
-    , attr
-    , extraAttrs ? [ ]
-    }:
-    let
-      buildSystem =
-        if builtins.isAttrs attr then
-          let
-            fromIsValid =
-              if builtins.hasAttr "from" attr then
-                lib.versionAtLeast drv.version attr.from
-              else
-                true;
-            untilIsValid =
-              if builtins.hasAttr "until" attr then
-                lib.versionOlder drv.version attr.until
-              else
-                true;
-            intendedBuildSystem =
-              if attr.buildSystem == "cython" then
-                self.python.pythonForBuild.pkgs.cython
-              else
-                self.${attr.buildSystem};
-          in
-          if fromIsValid && untilIsValid then intendedBuildSystem else null
-        else
-          if attr == "cython" then self.python.pythonForBuild.pkgs.cython else self.${attr};
-    in
-    (
-      # Flit only works on Python3
-      if (attr == "flit-core" || attr == "flit" || attr == "hatchling") && !self.isPy3k then drv
-      else if drv == null then null
-      else if drv ? overridePythonAttrs == false then drv
-      else
-        drv.overridePythonAttrs (
-          old:
-          # We do not need the build system for wheels.
-          if old ? format && old.format == "wheel" then
-            { }
-          else
-            {
-              nativeBuildInputs =
-                (old.nativeBuildInputs or [ ])
-                ++ lib.optionals (!(builtins.isNull buildSystem)) [ buildSystem ]
-                ++ map (a: self.${a}) extraAttrs;
-            }
-        )
-    );
-
-
-in
-lib.composeManyExtensions [
-  # NixOps
-  (self: super:
-    lib.mapAttrs (_: v: addBuildSystem { inherit self; drv = v; attr = "poetry"; }) (lib.filterAttrs (n: _: lib.strings.hasPrefix "nixops" n) super)
-    // {
-      # NixOps >=2 dependency
-      nixos-modules-contrib = addBuildSystem { inherit self; drv = super.nixos-modules-contrib; attr = "poetry"; };
-    }
-  )
-
-  # Add build systems
-  (self: super:
-    let
-      buildSystems = lib.importJSON ./build-systems.json;
-    in
-    lib.mapAttrs
-      (attr: systems: builtins.foldl'
-        (drv: attr: addBuildSystem {
-          inherit drv self attr;
-        })
-        (super.${attr} or null)
-        systems)
-      buildSystems)
-
-  # Build fixes
-  (self: super:
-    let
-      inherit (self.python) stdenv;
-      inherit (pkgs.buildPackages) pkg-config;
-      pyBuildPackages = self.python.pythonForBuild.pkgs;
-
-      selectQt5 = version:
-        let
-          selector = builtins.concatStringsSep "" (lib.take 2 (builtins.splitVersion version));
-        in
-          pkgs."qt${selector}" or pkgs.qt5;
-
-    in
-
-    {
-      automat = super.automat.overridePythonAttrs (
-        old: lib.optionalAttrs (lib.versionOlder old.version "22.10.0") {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.m2r ];
-        }
-      );
-
-      aiohttp-swagger3 = super.aiohttp-swagger3.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      ansible = super.ansible.overridePythonAttrs (
-        old: {
-          # Inputs copied from nixpkgs as ansible doesn't specify it's dependencies
-          # in a correct manner.
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-            self.pycrypto
-            self.paramiko
-            self.jinja2
-            self.pyyaml
-            self.httplib2
-            self.six
-            self.netaddr
-            self.dnspython
-            self.jmespath
-            self.dopy
-            self.ncclient
-          ];
-        }
-      );
-
-      ansible-base = super.ansible-base.overridePythonAttrs (
-        old:
-        {
-          prePatch = ''sed -i "s/\[python, /[/" lib/ansible/executor/task_executor.py'';
-          postInstall = ''
-            for m in docs/man/man1/*; do
-                install -vD $m -t $out/share/man/man1
-            done
-          '';
-        }
-        // lib.optionalAttrs (lib.versionOlder old.version "2.4") {
-          prePatch = ''sed -i "s,/usr/,$out," lib/ansible/constants.py'';
-        }
-      );
-
-      ansible-lint = super.ansible-lint.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
-          preBuild = ''
-            export HOME=$(mktemp -d)
-          '';
-        }
-      );
-
-      argcomplete = super.argcomplete.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.importlib-metadata ];
-        }
-      );
-
-      arpeggio = super.arpeggio.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      astroid = super.astroid.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      av = super.av.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            pkg-config
-          ];
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ffmpeg_4 ];
-        }
-      );
-
-      argon2-cffi =
-        if (lib.versionAtLeast super.argon2-cffi.version "21.2.0") then
-          addBuildSystem
-            {
-              inherit self;
-              drv = super.argon2-cffi;
-              attr = "flit-core";
-            } else super.argon2-cffi;
-
-      awscrt = super.awscrt.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
-          dontUseCmakeConfigure = true;
-        }
-      );
-      bcrypt =
-        let
-          getCargoHash = version: {
-            "4.0.0" = "sha256-HvfRLyUhlXVuvxWrtSDKx3rMKJbjvuiMcDY6g+pYFS0=";
-            "4.0.1" = "sha256-lDWX69YENZFMu7pyBmavUZaalGvFqbHSHfkwkzmDQaY=";
-          }.${version} or (
-            lib.warn "Unknown bcrypt version: '${version}'. Please update getCargoHash." lib.fakeHash
-          );
-        in
-        super.bcrypt.overridePythonAttrs (
-          old: {
-            buildInputs = (old.buildInputs or [ ])
-              ++ [ pkgs.libffi ]
-              ++ lib.optionals (lib.versionAtLeast old.version "4" && stdenv.isDarwin)
-              [ pkgs.darwin.apple_sdk.frameworks.Security pkgs.libiconv ];
-            nativeBuildInputs = with pkgs;
-              (old.nativeBuildInputs or [ ])
-                ++ lib.optionals (lib.versionAtLeast old.version "4") [ rustc cargo pkgs.rustPlatform.cargoSetupHook self.setuptools-rust ];
-          } // lib.optionalAttrs (lib.versionAtLeast old.version "4") {
-            cargoDeps =
-              pkgs.rustPlatform.fetchCargoTarball
-                {
-                  src = old.src;
-                  sourceRoot = "${old.pname}-${old.version}/src/_bcrypt";
-                  name = "${old.pname}-${old.version}";
-                  sha256 = getCargoHash old.version;
-                };
-            cargoRoot = "src/_bcrypt";
-          }
-        );
-      bjoern = super.bjoern.overridePythonAttrs (
-        old: {
-          buildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libev ];
-        }
-      );
-
-      borgbackup = super.borgbackup.overridePythonAttrs (
-        old: {
-          BORG_OPENSSL_PREFIX = pkgs.openssl.dev;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl pkgs.acl ];
-        }
-      );
-
-      cairocffi = super.cairocffi.overridePythonAttrs (
-        old: {
-          inherit (pkgs.python3.pkgs.cairocffi) patches;
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      cairosvg = super.cairosvg.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      cattrs =
-        let
-          drv = super.cattrs;
-        in
-        if drv.version == "1.10.0" then
-          drv.overridePythonAttrs
-            (old: {
-              # 1.10.0 contains a pyproject.toml that requires a pre-release Poetry
-              # We can avoid using Poetry and use the generated setup.py
-              preConfigure = old.preConfigure or "" + ''
-                rm pyproject.toml
-              '';
-            }) else drv;
-
-      ccxt = super.ccxt.overridePythonAttrs (old: {
-        preBuild = ''
-          ln -s README.{rst,md}
-        '';
-      });
-
-      celery = super.celery.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-      });
-
-      cerberus = super.cerberus.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-      });
-
-      cssselect2 = super.cssselect2.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      cffi =
-        # cffi is bundled with pypy
-        if self.python.implementation == "pypy" then null else
-        (
-          super.cffi.overridePythonAttrs (
-            old: {
-              nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkg-config ];
-              buildInputs = old.buildInputs or [ ] ++ [ pkgs.libffi ];
-              prePatch = (old.prePatch or "") + lib.optionalString (!(old.src.isWheel or false) && stdenv.isDarwin) ''
-                # Remove setup.py impurities
-                substituteInPlace setup.py --replace "'-iwithsysroot/usr/include/ffi'" ""
-                substituteInPlace setup.py --replace "'/usr/include/ffi'," ""
-                substituteInPlace setup.py --replace '/usr/include/libffi' '${lib.getDev pkgs.libffi}/include'
-              '';
-
-            }
-          )
-        );
-
-      cmdstanpy = super.cmdstanpy.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.cmdstan ];
-          patchPhase = ''
-            substituteInPlace cmdstanpy/model.py \
-              --replace 'cmd = [make]' \
-              'cmd = ["${pkgs.cmdstan}/bin/stan"]'
-          '';
-          CMDSTAN = "${pkgs.cmdstan}";
-        }
-      );
-
-      contourpy = super.contourpy.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pybind11 ];
-        }
-      );
-
-      cloudflare = super.cloudflare.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            rm -rf examples/*
-          '';
-        }
-      );
-
-      colour = super.colour.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.d2to1 ];
-        }
-      );
-
-      coincurve = super.coincurve.overridePythonAttrs (
-        old: {
-          # package setup logic
-          LIB_DIR = "${lib.getLib pkgs.secp256k1}/lib";
-
-          # for actual C toolchain build
-          NIX_CFLAGS_COMPILE = "-I ${lib.getDev pkgs.secp256k1}/include";
-          NIX_LDFLAGS = "-L ${lib.getLib pkgs.secp256k1}/lib";
-        }
-      );
-
-      configparser = super.configparser.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.toml
-          ];
-        }
-      );
-
-      confluent-kafka = super.confluent-kafka.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            pkgs.rdkafka
-          ];
-        }
-      );
-
-      copier = super.copier.overrideAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.git ];
-      });
-
-      cryptography =
-        let
-          getCargoHash = version: {
-            "35.0.0" = "sha256-tQoQfo+TAoqAea86YFxyj/LNQCiViu5ij/3wj7ZnYLI=";
-            "36.0.0" = "sha256-Y6TuW7AryVgSvZ6G8WNoDIvi+0tvx8ZlEYF5qB0jfNk=";
-            "36.0.1" = "sha256-kozYXkqt1Wpqyo9GYCwN08J+zV92ZWFJY/f+rulxmeQ=";
-            "36.0.2" = "1a0ni1a3dbv2dvh6gx2i54z8v5j9m6asqg97kkv7gqb1ivihsbp8";
-            "37.0.2" = "sha256-qvrxvneoBXjP96AnUPyrtfmCnZo+IriHR5HbtWQ5Gk8=";
-            "37.0.4" = "sha256-f8r6QclTwkgK20CNe9i65ZOqvSUeDc4Emv6BFBhh1hI";
-            "38.0.1" = "sha256-o8l13fnfEUvUdDasq3LxSPArozRHKVsZfQg9DNR6M6Q=";
-            "38.0.3" = "sha256-lzHLW1N4hZj+nn08NZiPVM/X+SEcIsuZDjEOy0OOkSc=";
-            "38.0.4" = "sha256-BN0kOblUwgHj5QBf52RY2Jx0nBn03lwoN1O5PEohbwY=";
-            "39.0.0" = "sha256-clorC0NtGukpE3DnZ84MSdGhJN+qC89DZPITZFuL01Q=";
-            "39.0.2" = "sha256-Admz48/GS2t8diz611Ciin1HKQEyMDEwHxTpJ5tZ1ZA=";
-            "40.0.0" = "sha256-/TBANavYria9YrBpMgjtFyqg5feBcloETcYJ8fdBgkI=";
-            "40.0.1" = "sha256-gFfDTc2QWBWHBCycVH1dYlCsWQMVcRZfOBIau+njtDU=";
-            "40.0.2" = "sha256-cV4GTfbVYanElXOVmynvrru2wJuWvnT1Z1tQKXdkbg0=";
-            "41.0.1" = "sha256-38q81vRf8QHR8lFRM2KbH7Ng5nY7nmtWRMoPWS9VO/U=";
-          }.${version} or (
-            lib.warn "Unknown cryptography version: '${version}'. Please update getCargoHash." lib.fakeHash
-          );
-          sha256 = getCargoHash super.cryptography.version;
-          isWheel = lib.hasSuffix ".whl" super.cryptography.src;
-          scrypto =
-            if isWheel then
-              (
-                super.cryptography.overridePythonAttrs { preferWheel = true; }
-              ) else super.cryptography;
-        in
-        scrypto.overridePythonAttrs
-          (
-            old: {
-              nativeBuildInputs = (old.nativeBuildInputs or [ ])
-                ++ lib.optionals (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ]
-                ++ lib.optional (!self.isPyPy) pyBuildPackages.cffi
-                ++ lib.optional (lib.versionAtLeast old.version "3.5" && !isWheel) [ pkgs.rustPlatform.cargoSetupHook pkgs.cargo pkgs.rustc ]
-                ++ [ pkg-config ]
-              ;
-              buildInputs = (old.buildInputs or [ ])
-                ++ [ pkgs.libxcrypt ]
-                ++ [ (if lib.versionAtLeast old.version "37" then pkgs.openssl_3 else pkgs.openssl_1_1) ]
-                ++ lib.optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security pkgs.libiconv ];
-              propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ self.cffi ];
-            } // lib.optionalAttrs (lib.versionAtLeast old.version "3.4" && lib.versionOlder old.version "3.5") {
-              CRYPTOGRAPHY_DONT_BUILD_RUST = "1";
-            } // lib.optionalAttrs (lib.versionAtLeast old.version "3.5" && !isWheel) rec {
-              cargoDeps =
-                pkgs.rustPlatform.fetchCargoTarball {
-                  src = old.src;
-                  sourceRoot = "${old.pname}-${old.version}/${cargoRoot}";
-                  name = "${old.pname}-${old.version}";
-                  inherit sha256;
-                };
-              cargoRoot = "src/rust";
-            }
-          );
-
-      cyclonedx-python-lib = super.cyclonedx-python-lib.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-        postPatch = ''
-          substituteInPlace setup.py --replace 'setuptools>=50.3.2,<51.0.0' 'setuptools'
-        '';
-      });
-
-      cysystemd = super.cysystemd.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.systemd ];
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
-      });
-
-      daphne = super.daphne.overridePythonAttrs (old: {
-        postPatch = ''
-          substituteInPlace setup.py --replace 'setup_requires=["pytest-runner"],' ""
-        '';
-      });
-
-      darts = super.darts.override {
-        preferWheel = true;
-      };
-
-      datadog-lambda = super.datadog-lambda.overridePythonAttrs (old: {
-        postPatch = ''
-          substituteInPlace setup.py --replace "setuptools==" "setuptools>="
-        '';
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
-      });
-
-      databricks-connect = super.databricks-connect.overridePythonAttrs (old: {
-        sourceRoot = ".";
-      });
-
-      dbt-extractor = super.dbt-extractor.overridePythonAttrs
-        (
-          old: {
-            nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cargo pkgs.rustc pkgs.maturin ];
-          }
-        );
-
-      dbus-python = super.dbus-python.overridePythonAttrs (old: {
-        outputs = [ "out" "dev" ];
-
-        postPatch = old.postPatch or "" + ''
-          substituteInPlace ./configure --replace /usr/bin/file ${pkgs.file}/bin/file
-          substituteInPlace ./dbus-python.pc.in --replace 'Cflags: -I''${includedir}' 'Cflags: -I''${includedir}/dbus-1.0'
-        '';
-
-        configureFlags = (old.configureFlags or [ ]) ++ [
-          "PYTHON_VERSION=${lib.versions.major self.python.version}"
-        ];
-
-        preConfigure = lib.concatStringsSep "\n" [
-          (old.preConfigure or "")
-          (if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
-            MACOSX_DEPLOYMENT_TARGET=10.16
-          '' else "")
-        ];
-
-        preBuild = old.preBuild or "" + ''
-          make distclean
-        '';
-
-        nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkg-config ];
-        buildInputs = old.buildInputs or [ ] ++ [ pkgs.dbus pkgs.dbus-glib ]
-          # My guess why it's sometimes trying to -lncurses.
-          # It seems not to retain the dependency anyway.
-          ++ lib.optional (! self.python ? modules) pkgs.ncurses;
-      });
-
-      dcli = super.dcli.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-      });
-
-      ddtrace = super.ddtrace.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++
-          (lib.optionals pkgs.stdenv.isDarwin [ pkgs.darwin.IOKit ]);
-      });
-
-      dictdiffer = super.dictdiffer.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-        }
-      );
-
-      django = (
-        super.django.overridePythonAttrs (
-          old: {
-            propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ])
-              ++ [ pkgs.gettext self.pytest-runner ];
-          }
-        )
-      );
-
-      django-bakery = super.django-bakery.overridePythonAttrs (
-        old: {
-          configurePhase = ''
-            if ! test -e LICENSE; then
-              touch LICENSE
-            fi
-          '' + (old.configurePhase or "");
-        }
-      );
-
-      django-cors-headers = super.django-cors-headers.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      django-hijack = super.django-hijack.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      django-prometheus = super.django-prometheus.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      django-rosetta = super.django-rosetta.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      django-stubs-ext = super.django-stubs-ext.overridePythonAttrs (
-        old: {
-          prePatch = (old.prePatch or "") + "touch ../LICENSE.txt";
-        }
-      );
-
-      dlib = super.dlib.overridePythonAttrs (
-        old: {
-          # Parallel building enabled
-          inherit (pkgs.python.pkgs.dlib) patches;
-
-          enableParallelBuilding = true;
-          dontUseCmakeConfigure = true;
-
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ pkgs.dlib.nativeBuildInputs;
-          buildInputs = (old.buildInputs or [ ]) ++ pkgs.dlib.buildInputs;
-        }
-      );
-
-      # Setuptools >= 60 broke build_py_2to3
-      docutils =
-        if lib.versionOlder super.docutils.version "0.16" && lib.versionAtLeast super.setuptools.version "60" then
-          (
-            super.docutils.overridePythonAttrs (
-              old: {
-                SETUPTOOLS_USE_DISTUTILS = "stdlib";
-              }
-            )
-          ) else super.docutils;
-
-      duckdb = super.duckdb.overridePythonAttrs (old: {
-        postPatch = lib.optionalString (!(old.src.isWheel or false)) ''
-          cd tools/pythonpkg
-
-          substituteInPlace setup.py \
-            --replace 'multiprocessing.cpu_count()' "$NIX_BUILD_CORES" \
-            --replace 'setuptools_scm<7.0.0' 'setuptools_scm'
-        '';
-      });
-
-      # Environment markers are not always included (depending on how a dep was defined)
-      enum34 = if self.pythonAtLeast "3.4" then null else super.enum34;
-
-      eth-hash = super.eth-hash.overridePythonAttrs {
-        preConfigure = ''
-          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-        '';
-      };
-
-      eth-keyfile = super.eth-keyfile.overridePythonAttrs (old: {
-        preConfigure = ''
-          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-        '';
-
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-      });
-
-      eth-keys = super.eth-keys.overridePythonAttrs {
-        preConfigure = ''
-          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-        '';
-      };
-
-      # FIXME: this is a workaround for https://github.com/nix-community/poetry2nix/issues/1161
-      eth-utils = super.eth-utils.override { preferWheel = true; };
-
-      evdev = super.evdev.overridePythonAttrs (old: {
-        preConfigure = ''
-          substituteInPlace setup.py --replace /usr/include/linux ${pkgs.linuxHeaders}/include/linux
-        '';
-      });
-
-      faker = super.faker.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-          doCheck = false;
-        }
-      );
-
-      fancycompleter = super.fancycompleter.overridePythonAttrs (
-        old: {
-          postPatch = lib.optionalString (!(old.src.isWheel or false)) ''
-            substituteInPlace setup.py \
-              --replace 'setup_requires="setupmeta"' 'setup_requires=[]' \
-              --replace 'versioning="devcommit"' 'version="${old.version}"'
-          '';
-        }
-      );
-
-      fastecdsa = super.fastecdsa.overridePythonAttrs (old: {
-        buildInputs = old.buildInputs ++ [ pkgs.gmp.dev ];
-      });
-
-      fastparquet = super.fastparquet.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      file-magic = super.file-magic.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            substituteInPlace magic.py --replace "find_library('magic')" "'${pkgs.file}/lib/libmagic${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}'"
-          '';
-        }
-      );
-
-      fiona = super.fiona.overridePythonAttrs (
-        old: {
-          format = lib.optionalString (!(old.src.isWheel or false)) "setuptools";
-          buildInputs = old.buildInputs or [ ] ++ [ pkgs.gdal ];
-          nativeBuildInputs = old.nativeBuildInputs or [ ]
-            ++ lib.optionals ((old.src.isWheel or false) && (!pkgs.stdenv.isDarwin)) [ pkgs.autoPatchelfHook ]
-            # for gdal-config
-            ++ [ pkgs.gdal ];
-        }
-      );
-
-      flatbuffers = super.flatbuffers.overrideAttrs (old: {
-        VERSION = old.version;
-      });
-
-      gdal =
-        let
-          # Build gdal without python bindings to prevent version mixing
-          # We're only interested in the native libraries, not the python ones
-          # as we build that separately.
-          gdal = pkgs.gdal.overrideAttrs (old: {
-            doInstallCheck = false;
-            doCheck = false;
-            cmakeFlags = (old.cmakeFlags or [ ]) ++ [
-              "-DBUILD_PYTHON_BINDINGS=OFF"
-            ];
-          });
-        in
-        super.gdal.overridePythonAttrs (
-          old: {
-            nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ gdal ];
-            preBuild = (old.preBuild or "") + ''
-              substituteInPlace setup.cfg \
-                --replace "../../apps/gdal-config" '${gdal}/bin/gdal-config'
-            '';
-          }
-        );
-
-      grandalf = super.grandalf.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-          doCheck = false;
-        }
-      );
-
-      granian =
-        let
-          getRepoHash = version: {
-            "0.2.1" = "sha256-XEhu6M1hFi3/gAKZcei7KJSrIhhlZhlvZvbfyA6VLR4=";
-            "0.2.2" = "sha256-KWwefJ3CfOUGCgAm7AhFlIxRF9qxNEo3npGOxVJ23FY=";
-            "0.2.3" = "sha256-2JnyO0wxkV49R/0wzDb/PnUWWHi3ckwK4nVe7dWeH1k=";
-            "0.2.4" = "sha256-GdQJvVPsWgC1z7La9h11x2pRAP+L998yImhTFrFT5l8=";
-            "0.2.5" = "sha256-vMXMxss77rmXSjoB53eE8XN2jXyIEf03WoQiDfvhDmw=";
-            "0.2.6" = "sha256-l9W9+KDg/43mc0toEz1n1pqw+oQdiHdAxGlS+KLIGhw=";
-            "0.3.0" = "sha256-icBjtW8fZjT3mLo43nKWdirMz6GZIy/RghEO95pHJEU=";
-            "0.3.1" = "sha256-EKK+RxkJ//fY43EjvN1Fry7mn2ZLIaNlTyKPJRxyKZs=";
-          }.${version};
-          sha256 = getRepoHash super.granian.version;
-        in
-        super.granian.overridePythonAttrs (old: rec {
-          src = pkgs.fetchFromGitHub {
-            owner = "emmett-framework";
-            repo = "granian";
-            rev = "v${old.version}";
-            inherit sha256;
-          };
-          cargoDeps = pkgs.rustPlatform.importCargoLock {
-            lockFile = "${src.out}/Cargo.lock";
-          };
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            pkgs.rustPlatform.cargoSetupHook
-            pkgs.rustPlatform.maturinBuildHook
-          ];
-        });
-
-      gitpython = super.gitpython.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.typing-extensions ];
-        }
-      );
-
-      grpcio = super.grpcio.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
-        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.c-ares pkgs.openssl pkgs.zlib ];
-
-        outputs = [ "out" "dev" ];
-
-        GRPC_BUILD_WITH_BORING_SSL_ASM = "";
-        GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1;
-        GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1;
-        GRPC_PYTHON_BUILD_SYSTEM_CARES = 1;
-        DISABLE_LIBC_COMPATIBILITY = 1;
-      });
-
-      grpcio-tools = super.grpcio-tools.overridePythonAttrs (old: {
-        outputs = [ "out" "dev" ];
-      });
-
-      gunicorn = super.gunicorn.overridePythonAttrs (old: {
-        # actually needs setuptools as a runtime dependency
-        propagatedBuildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
-      });
-
-      h3 = super.h3.overridePythonAttrs (
-        old: {
-          preBuild = (old.preBuild or "") + ''
-            substituteInPlace h3/h3.py \
-              --replace "'{}/{}'.format(_dirname, libh3_path)" '"${pkgs.h3}/lib/libh3${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}"'
-          '';
-        }
-      );
-
-      h5py = super.h5py.overridePythonAttrs (
-        old:
-        if old.format != "wheel" then
-          (
-            let
-              mpi = pkgs.hdf5.mpi;
-              mpiSupport = pkgs.hdf5.mpiSupport;
-            in
-            {
-              nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
-              buildInputs =
-                (old.buildInputs or [ ])
-                ++ [ pkgs.hdf5 self.pkgconfig ]
-                ++ lib.optional mpiSupport mpi
-              ;
-              propagatedBuildInputs =
-                (old.propagatedBuildInputs or [ ])
-                ++ lib.optionals mpiSupport [ self.mpi4py pkgs.openssh ]
-              ;
-              preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
-              HDF5_DIR = "${pkgs.hdf5}";
-              HDF5_MPI = if mpiSupport then "ON" else "OFF";
-              # avoid strict pinning of numpy
-              postPatch = ''
-                substituteInPlace setup.py \
-                  --replace "numpy ==" "numpy >="
-              '';
-              pythonImportsCheck = [ "h5py" ];
-            }
-          ) else old
-      );
-
-      hid = super.hid.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            found=
-            for name in libhidapi-hidraw libhidapi-libusb libhidapi-iohidmanager libhidapi; do
-              full_path=${pkgs.hidapi.out}/lib/$name${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}
-              if test -f $full_path; then
-                found=t
-                sed -i -e "s|'$name\..*'|'$full_path'|" hid/__init__.py
-              fi
-            done
-            test -n "$found" || { echo "ERROR: No known libraries found in ${pkgs.hidapi.out}/lib, please update/fix this build expression."; exit 1; }
-          '';
-        }
-      );
-
-      hikari = super.hikari.overrideAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
-        }
-      );
-
-      hikari-lightbulb = super.hikari-lightbulb.overrideAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
-        }
-      );
-
-      horovod = super.horovod.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ];
-        }
-      );
-
-      httplib2 = super.httplib2.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyparsing ];
-      });
-
-      icecream = super.icecream.overridePythonAttrs (old: {
-        #  # ERROR: Could not find a version that satisfies the requirement executing>=0.3.1 (from icecream) (from versions: none)
-        postPatch = ''
-          substituteInPlace setup.py --replace 'executing>=0.3.1' 'executing'
-        '';
-      });
-
-      igraph = super.igraph.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
-          dontUseCmakeConfigure = true;
-        }
-      );
-
-      imagecodecs = super.imagecodecs.overridePythonAttrs (
-        old: {
-          patchPhase = ''
-            substituteInPlace setup.py \
-              --replace "/usr/include/openjpeg-2.3" \
-                        "${pkgs.openjpeg.dev}/include/${pkgs.openjpeg.dev.incDir}
-            substituteInPlace setup.py \
-              --replace "/usr/include/jxrlib" \
-                        "$out/include/libjxr"
-            substituteInPlace imagecodecs/_zopfli.c \
-              --replace '"zopfli/zopfli.h"' \
-                        '<zopfli.h>'
-            substituteInPlace imagecodecs/_zopfli.c \
-              --replace '"zopfli/zlib_container.h"' \
-                        '<zlib_container.h>'
-            substituteInPlace imagecodecs/_zopfli.c \
-              --replace '"zopfli/gzip_container.h"' \
-                        '<gzip_container.h>'
-          '';
-
-          preBuild = ''
-            mkdir -p $out/include/libjxr
-            ln -s ${pkgs.jxrlib}/include/libjxr/**/* $out/include/libjxr
-
-          '';
-
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            # Commented out packages are declared required, but not actually
-            # needed to build. They are not yet packaged for nixpkgs.
-            # bitshuffle
-            pkgs.brotli
-            # brunsli
-            pkgs.bzip2
-            pkgs.c-blosc
-            # charls
-            pkgs.giflib
-            pkgs.jxrlib
-            pkgs.lcms
-            pkgs.libaec
-            pkgs.libaec
-            pkgs.libjpeg_turbo
-            # liblzf
-            # liblzma
-            pkgs.libpng
-            pkgs.libtiff
-            pkgs.libwebp
-            pkgs.lz4
-            pkgs.openjpeg
-            pkgs.snappy
-            # zfp
-            pkgs.zopfli
-            pkgs.zstd
-            pkgs.zlib
-          ];
-        }
-      );
-
-      # importlib-metadata has an incomplete dependency specification
-      importlib-metadata = super.importlib-metadata.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ lib.optional self.python.isPy2 self.pathlib2;
-        }
-      );
-
-      intreehooks = super.intreehooks.overridePythonAttrs (
-        old: {
-          doCheck = false;
-        }
-      );
-
-      ipython = super.ipython.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-        }
-      );
-
-      isort = super.isort.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-        }
-      );
-
-      jaraco-functools = super.jaraco-functools.overridePythonAttrs (
-        old: {
-          # required for the extra "toml" dependency in setuptools_scm[toml]
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.toml
-          ];
-        }
-      );
-
-      trio = super.trio.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
-          ++ [ self.async-generator self.idna ];
-      });
-
-      jeepney = super.jeepney.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.outcome self.trio ];
-      });
-
-      jinja2-ansible-filters = super.jinja2-ansible-filters.overridePythonAttrs (
-        old: {
-          preBuild = (old.preBuild or "") + ''
-            echo "${old.version}" > VERSION
-          '';
-        }
-      );
-
-      jira = super.jira.overridePythonAttrs (
-        old: {
-          inherit (pkgs.python3Packages.jira) patches;
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.pytestrunner
-            self.cryptography
-            self.pyjwt
-            self.setuptools-scm-git-archive
-          ];
-        }
-      );
-
-      jq = super.jq.overridePythonAttrs (attrs: {
-        buildInputs = [ pkgs.jq ];
-        patches = [
-          (pkgs.fetchpatch {
-            url = "https://raw.githubusercontent.com/NixOS/nixpkgs/088da8735f6620b60d724aa7db742607ea216087/pkgs/development/python-modules/jq/jq-py-setup.patch";
-            sha256 = "sha256-MYvX3S1YGe0QsUtExtOtULvp++AdVrv+Fid4Jh1xewQ=";
-          })
-        ];
-      });
-
-      jsondiff =
-        if lib.versionOlder "2.0.0"
-        then
-          super.jsondiff.overridePythonAttrs
-            (
-              old: {
-                preBuild = lib.optionalString (!(old.src.isWheel or false)) (
-                  (old.preBuild or "") + ''
-                    substituteInPlace setup.py \
-                      --replace "'jsondiff=jsondiff.cli:main_deprecated'," ""
-                  ''
-                );
-              }
-            )
-        else super.jsondiff;
-
-      jsonslicer = super.jsonslicer.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig ];
-        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.yajl ];
-      });
-
-      jsonschema =
-        if lib.versionAtLeast super.jsonschema.version "4.0.0"
-        then
-          super.jsonschema.overridePythonAttrs
-            (old: {
-              propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.importlib-resources ];
-            })
-        else super.jsonschema;
-
-      jupyter = super.jupyter.overridePythonAttrs (
-        old: {
-          # jupyter is a meta-package. Everything relevant comes from the
-          # dependencies. It does however have a jupyter.py file that conflicts
-          # with jupyter-core so this meta solves this conflict.
-          meta.priority = 100;
-        }
-      );
-
-      jupyter-packaging = super.jupyter-packaging.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools self.wheel ];
-      });
-
-      jupyter-server = super.jupyter-server.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ])
-          ++ [ self.hatchling ];
-        buildInputs = (old.buildInputs or [ ])
-          ++ [ self.hatch-jupyter-builder ];
-      });
-
-      jupyterlab-widgets = super.jupyterlab-widgets.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.jupyter-packaging ];
-        }
-      );
-
-      kerberos = super.kerberos.overrideAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libkrb5 ];
-      });
-
-      keyring = super.keyring.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.toml
-          ];
-        }
-      );
-
-      kiwisolver = super.kiwisolver.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.cppy
-          ];
-        }
-      );
-
-      lap = super.lap.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-            self.numpy
-          ];
-        }
-      );
-
-      libarchive = super.libarchive.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
-
-        postPatch = ''
-          substituteInPlace libarchive/library.py --replace \
-            "_FILEPATH = find_and_load_library()" "_FILEPATH = '${pkgs.libarchive.lib}/lib/libarchive${stdenv.hostPlatform.extensions.sharedLibrary}'"
-        '';
-      });
-
-      libvirt-python = super.libvirt-python.overridePythonAttrs ({ nativeBuildInputs ? [ ], ... }: {
-        nativeBuildInputs = nativeBuildInputs ++ [ pkg-config ];
-        propagatedBuildInputs = [ pkgs.libvirt ];
-      });
-
-      lightgbm = super.lightgbm.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
-          dontUseCmakeConfigure = true;
-          postConfigure = ''
-            export HOME=$(mktemp -d)
-          '';
-        }
-      );
-
-      llama-cpp-python = super.llama-cpp-python.overridePythonAttrs (
-        old: {
-          buildInputs = with pkgs; lib.optionals stdenv.isDarwin [
-            darwin.apple_sdk.frameworks.Accelerate
-          ];
-          nativeBuildInputs = [ pkgs.cmake ] ++ (old.nativeBuildInputs or [ ]);
-          preBuild = ''
-            cd "$OLDPWD"
-          '';
-        }
-      );
-
-      llvmlite = super.llvmlite.overridePythonAttrs (
-        old:
-        let
-          # see https://github.com/numba/llvmlite#compatibility
-          llvm_version = toString (
-            if lib.versionAtLeast old.version "0.40.0" then 14
-            else if lib.versionAtLeast old.version "0.37.0" then 11
-            else if lib.versionAtLeast old.version "0.34.0" && !stdenv.buildPlatform.isAarch64 then 10
-            else if lib.versionAtLeast old.version "0.33.0" then 9
-            else if lib.versionAtLeast old.version "0.29.0" then 8
-            else if lib.versionAtLeast old.version "0.27.0" then 7
-            else if lib.versionAtLeast old.version "0.23.0" then 6
-            else if lib.versionAtLeast old.version "0.21.0" then 5
-            else 4
-          );
-          llvm = pkgs."llvmPackages_${llvm_version}".llvm or (throw "LLVM${llvm_version} has been removed from nixpkgs; upgrade llvmlite or use older nixpkgs");
-        in
-        {
-          inherit llvm;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.llvmlite.llvm ];
-
-          # Disable static linking
-          # https://github.com/numba/llvmlite/issues/93
-          postPatch = ''
-            substituteInPlace ffi/Makefile.linux --replace "-static-libstdc++" ""
-
-            substituteInPlace llvmlite/tests/test_binding.py --replace "test_linux" "nope"
-          '';
-
-          # Set directory containing llvm-config binary
-          preConfigure = ''
-            export LLVM_CONFIG=${llvm.dev}/bin/llvm-config
-          '';
-
-          __impureHostDeps = lib.optionals pkgs.stdenv.isDarwin [ "/usr/lib/libm.dylib" ];
-
-          passthru = old.passthru // { llvm = llvm; };
-        }
-      );
-
-      lsassy =
-        if super.lsassy.version == "3.1.1" then
-          super.lsassy.overridePythonAttrs
-            (old: {
-              # pyproject.toml contains a constraint `rich = "^10.6.0"` which is not replicated in setup.py
-              # hence pypi misses it and poetry pins rich to 11.0.0
-              preConfigure = (old.preConfigure or "") + ''
-                rm pyproject.toml
-              '';
-            }) else super.lsassy;
-
-      lxml = super.lxml.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = with pkgs.buildPackages; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ] ++ lib.optionals stdenv.isDarwin [ xcodebuild ];
-          buildInputs = with pkgs; (old.buildInputs or [ ]) ++ [ libxml2 libxslt ];
-        }
-      );
-
-      markdown-it-py = super.markdown-it-py.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = builtins.filter (i: i.pname != "mdit-py-plugins") old.propagatedBuildInputs;
-          preConfigure = lib.optionalString (!(old.src.isWheel or false)) (
-            (old.preConfigure or "") + ''
-              substituteInPlace pyproject.toml --replace 'plugins = ["mdit-py-plugins"]' 'plugins = []'
-            ''
-          );
-        }
-      );
-
-      markupsafe = super.markupsafe.overridePythonAttrs (
-        old: {
-          src = old.src.override { pname = builtins.replaceStrings [ "markupsafe" ] [ "MarkupSafe" ] old.pname; };
-        }
-      );
-
-      matplotlib = super.matplotlib.overridePythonAttrs (
-        old:
-        let
-          enableGhostscript = old.passthru.args.enableGhostscript or false;
-          enableGtk3 = old.passthru.args.enableGtk3 or false;
-          enableQt = old.passthru.args.enableQt or false;
-          enableTk = old.passthru.args.enableTk or false;
-
-          interactive = enableTk || enableGtk3 || enableQt;
-
-          passthru = {
-            config = {
-              directories = { basedirlist = "."; };
-              libs = {
-                system_freetype = true;
-                system_qhull = true;
-              } // lib.optionalAttrs stdenv.isDarwin {
-                # LTO not working in darwin stdenv, see Nixpkgs #19312
-                enable_lto = false;
-              };
-            };
-          };
-
-          inherit (pkgs) tk tcl wayland qhull;
-          inherit (pkgs.xorg) libX11;
-          inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
-        in
-        {
-          XDG_RUNTIME_DIR = "/tmp";
-
-          buildInputs = old.buildInputs or [ ] ++ [
-            pkgs.which
-          ] ++ lib.optionals enableGhostscript [
-            pkgs.ghostscript
-          ] ++ lib.optionals stdenv.isDarwin [
-            Cocoa
-          ] ++ lib.optionals (lib.versionAtLeast super.matplotlib.version "3.7.0") [
-            self.pybind11
-          ];
-
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-            self.certifi
-            pkgs.libpng
-            pkgs.freetype
-            qhull
-          ]
-            ++ lib.optionals enableGtk3 [ pkgs.cairo self.pycairo pkgs.gtk3 pkgs.gobject-introspection self.pygobject3 ]
-            ++ lib.optionals enableTk [ pkgs.tcl pkgs.tk self.tkinter pkgs.libX11 ]
-            ++ lib.optionals enableQt [ self.pyqt5 ]
-          ;
-
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            pkg-config
-          ] ++ lib.optionals (lib.versionAtLeast super.matplotlib.version "3.5.0") [
-            self.setuptools-scm
-            self.setuptools-scm-git-archive
-          ];
-
-          # Clang doesn't understand -fno-strict-overflow, and matplotlib builds with -Werror
-          hardeningDisable = if stdenv.isDarwin then [ "strictoverflow" ] else [ ];
-
-          passthru = old.passthru or { } // passthru;
-
-          MPLSETUPCFG = pkgs.writeText "mplsetup.cfg" (lib.generators.toINI { } passthru.config);
-
-          # Matplotlib tries to find Tcl/Tk by opening a Tk window and asking the
-          # corresponding interpreter object for its library paths. This fails if
-          # `$DISPLAY` is not set. The fallback option assumes that Tcl/Tk are both
-          # installed under the same path which is not true in Nix.
-          # With the following patch we just hard-code these paths into the install
-          # script.
-          postPatch =
-            let
-              tcl_tk_cache = ''"${tk}/lib", "${tcl}/lib", "${lib.strings.substring 0 3 tk.version}"'';
-            in
-            lib.optionalString enableTk ''
-              sed -i '/self.tcl_tk_cache = None/s|None|${tcl_tk_cache}|' setupext.py
-            '' + lib.optionalString (stdenv.isLinux && interactive) ''
-              # fix paths to libraries in dlopen calls (headless detection)
-              substituteInPlace src/_c_internal_utils.c \
-                --replace libX11.so.6 ${libX11}/lib/libX11.so.6 \
-                --replace libwayland-client.so.0 ${wayland}/lib/libwayland-client.so.0
-            '' +
-            # avoid matplotlib trying to download dependencies
-            ''
-              echo "[libs]
-              system_freetype=true
-              system_qhull=true" > mplsetup.cfg
-            '';
-
-        }
-      );
-
-      mccabe = super.mccabe.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-          doCheck = false;
-        }
-      );
-
-      mip = super.mip.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.autoPatchelfHook ];
-
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.zlib self.cppy ];
-        }
-      );
-
-      mmdet = super.mmdet.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytorch ];
-        }
-      );
-
-      molecule =
-        if lib.versionOlder super.molecule.version "3.0.0" then
-          (super.molecule.overridePythonAttrs (
-            old: {
-              patches = (old.patches or [ ]) ++ [
-                # Fix build with more recent setuptools versions
-                (pkgs.fetchpatch {
-                  url = "https://github.com/ansible-community/molecule/commit/c9fee498646a702c77b5aecf6497cff324acd056.patch";
-                  sha256 = "1g1n45izdz0a3c9akgxx14zhdw6c3dkb48j8pq64n82fa6ndl1b7";
-                  excludes = [ "pyproject.toml" ];
-                })
-              ];
-              buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools self.setuptools-scm self.setuptools-scm-git-archive ];
-            }
-          )) else
-          super.molecule.overridePythonAttrs (old: {
-            buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools self.setuptools-scm self.setuptools-scm-git-archive ];
-          });
-
-      munch = super.munch.overridePythonAttrs (
-        old: {
-          # Latest version of pypi imports pkg_resources at runtime, so setuptools is needed at runtime. :(
-          # They fixed this last year but never released a new version.
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-        }
-      );
-
-      mpi4py = super.mpi4py.overridePythonAttrs (
-        old:
-        let
-          cfg = pkgs.writeTextFile {
-            name = "mpi.cfg";
-            text = (
-              lib.generators.toINI
-                { }
-                {
-                  mpi = {
-                    mpicc = "${pkgs.mpi.outPath}/bin/mpicc";
-                  };
-                }
-            );
-          };
-        in
-        {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ];
-          enableParallelBuilding = true;
-          preBuild = ''
-            ln -sf ${cfg} mpi.cfg
-          '';
-        }
-      );
-
-      multiaddr = super.multiaddr.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      mypy = super.mypy.overridePythonAttrs (
-        old:
-        let
-          # Compile mypy with mypyc, which makes mypy about 4 times faster. The compiled
-          # version is also the default in the wheels on Pypi that include binaries.
-          # is64bit: unfortunately the build would exhaust all possible memory on i686-linux.
-          MYPY_USE_MYPYC = stdenv.buildPlatform.is64bit;
-
-          envAttrs =
-            if old ? env
-            then { env = old.env // { inherit MYPY_USE_MYPYC; }; }
-            else { inherit MYPY_USE_MYPYC; };
-        in
-        {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.types-typed-ast
-            self.types-setuptools
-          ]
-          ++ lib.optional (lib.strings.versionAtLeast old.version "0.990") self.types-psutil
-          ;
-
-          # when testing reduce optimisation level to drastically reduce build time
-          # (default is 3)
-          # MYPYC_OPT_LEVEL = 1;
-        } // envAttrs // lib.optionalAttrs (old.format != "wheel") {
-          # FIXME: Remove patch after upstream has decided the proper solution.
-          #        https://github.com/python/mypy/pull/11143
-          patches = (old.patches or [ ]) ++ lib.optionals ((lib.strings.versionAtLeast old.version "0.900") && lib.strings.versionOlder old.version "0.940") [
-            (pkgs.fetchpatch {
-              url = "https://github.com/python/mypy/commit/f1755259d54330cd087cae763cd5bbbff26e3e8a.patch";
-              sha256 = "sha256-5gPahX2X6+/qUaqDQIGJGvh9lQ2EDtks2cpQutgbOHk=";
-            })
-          ] ++ lib.optionals ((lib.strings.versionAtLeast old.version "0.940") && lib.strings.versionOlder old.version "0.960") [
-            (pkgs.fetchpatch {
-              url = "https://github.com/python/mypy/commit/e7869f05751561958b946b562093397027f6d5fa.patch";
-              sha256 = "sha256-waIZ+m3tfvYE4HJ8kL6rN/C4fMjvLEe9UoPbt9mHWIM=";
-            })
-          ] ++ lib.optionals ((lib.strings.versionAtLeast old.version "0.960") && (lib.strings.versionOlder old.version "0.971")) [
-            (pkgs.fetchpatch {
-              url = "https://github.com/python/mypy/commit/2004ae023b9d3628d9f09886cbbc20868aee8554.patch";
-              sha256 = "sha256-y+tXvgyiECO5+66YLvaje8Bz5iPvfWNIBJcsnZ2nOdI=";
-            })
-          ];
-        }
-      );
-
-      mysqlclient = super.mysqlclient.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
-        }
-      );
-
-      netcdf4 = super.netcdf4.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-            pkgs.zlib
-            pkgs.netcdf
-            pkgs.hdf5
-            pkgs.curl
-            pkgs.libjpeg
-          ];
-
-          # Variables used to configure the build process
-          USE_NCCONFIG = "0";
-          HDF5_DIR = lib.getDev pkgs.hdf5;
-          NETCDF4_DIR = pkgs.netcdf;
-          CURL_DIR = pkgs.curl.dev;
-          JPEG_DIR = pkgs.libjpeg.dev;
-        }
-      );
-
-      numpy = super.numpy.overridePythonAttrs (
-        old:
-        let
-          blas = old.passthru.args.blas or pkgs.openblasCompat;
-          blasImplementation = lib.nameFromURL blas.name "-";
-          cfg = pkgs.writeTextFile {
-            name = "site.cfg";
-            text = (
-              lib.generators.toINI
-                { }
-                {
-                  ${blasImplementation} = {
-                    include_dirs = "${blas}/include";
-                    library_dirs = "${blas}/lib";
-                  } // lib.optionalAttrs (blasImplementation == "mkl") {
-                    mkl_libs = "mkl_rt";
-                    lapack_libs = "";
-                  };
-                }
-            );
-          };
-        in
-        {
-          # fails to build with format=pyproject and setuptools >= 65
-          format = if (old.format == "poetry2nix") then "setuptools" else old.format;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ];
-          buildInputs = (old.buildInputs or [ ]) ++ [ blas ];
-          enableParallelBuilding = true;
-          preBuild = ''
-            ln -s ${cfg} site.cfg
-          '';
-          preConfigure = ''
-            export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
-          '';
-          passthru = old.passthru // {
-            blas = blas;
-            inherit blasImplementation cfg;
-          };
-        }
-      );
-
-      # The following are dependencies of torch >= 2.0.0.
-      # torch doesn't officially support system CUDA, unless you build it yourself.
-      nvidia-cudnn-cu11 = super.nvidia-cudnn-cu11.overridePythonAttrs (attrs: {
-        autoPatchelfIgnoreMissingDeps = true;
-        # (Bytecode collision happens with nvidia-cuda-nvrtc-cu11.)
-        postFixup = ''
-          rm -r $out/${self.python.sitePackages}/nvidia/{__pycache__,__init__.py}
-        '';
-        propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [
-          self.nvidia-cublas-cu11
-        ];
-      });
-
-      nvidia-cuda-nvrtc-cu11 = super.nvidia-cuda-nvrtc-cu11.overridePythonAttrs (_: {
-        # (Bytecode collision happens with nvidia-cudnn-cu11.)
-        postFixup = ''
-          rm -r $out/${self.python.sitePackages}/nvidia/{__pycache__,__init__.py}
-        '';
-      });
-
-      nvidia-cusolver-cu11 = super.nvidia-cusolver-cu11.overridePythonAttrs (attrs: {
-        autoPatchelfIgnoreMissingDeps = true;
-        # (Bytecode collision happens with nvidia-cusolver-cu11.)
-        postFixup = ''
-          rm -r $out/${self.python.sitePackages}/nvidia/{__pycache__,__init__.py}
-        '';
-        propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [
-          self.nvidia-cublas-cu11
-        ];
-      });
-
-      omegaconf = super.omegaconf.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.jdk ];
-        }
-      );
-
-      open3d = super.open3d.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.ipywidgets ];
-        buildInputs = (old.buildInputs or [ ]) ++ [
-          pkgs.libusb1
-        ] ++ lib.optionals stdenv.isLinux [
-          pkgs.udev
-        ] ++ lib.optionals (lib.versionAtLeast super.open3d.version "0.16.0") [
-          pkgs.mesa
-          (
-            pkgs.symlinkJoin {
-              name = "llvm-with-ubuntu-compatible-symlink";
-              paths = [
-                pkgs.llvm_10.lib
-                (pkgs.runCommand "llvm-ubuntu-compatible-symlink" { }
-                  ''
-                    mkdir -p "$out/lib/";
-                    ln -s "${pkgs.llvm_10.lib}/lib/libLLVM-10.so" "$out/lib/libLLVM-10.so.1"
-                  ''
-                )
-              ];
-            })
-        ];
-
-        # Patch the dylib in the binary distribution to point to the nix build of libomp
-        preFixup = lib.optionalString (stdenv.isDarwin && lib.versionAtLeast super.open3d.version "0.16.0") ''
-          install_name_tool -change /opt/homebrew/opt/libomp/lib/libomp.dylib ${pkgs.llvmPackages.openmp}/lib/libomp.dylib $out/lib/python*/site-packages/open3d/cpu/pybind.cpython-*-darwin.so
-        '';
-
-        # TODO(Sem Mulder): Add overridable flags for CUDA/PyTorch/Tensorflow support.
-        autoPatchelfIgnoreMissingDeps = true;
-      });
-
-      openbabel-wheel = super.openbabel-wheel.override { preferWheel = true; };
-
-      # Overrides for building packages based on OpenCV
-      # These flags are inspired by the opencv 4.x package in nixpkgs
-      _opencv-python-override =
-        old: {
-          # Disable OpenCL on macOS
-          # Can't use cmakeFlags because cmake is called by setup.py
-          CMAKE_ARGS = lib.optionalString stdenv.isDarwin "-DWITH_OPENCL=OFF";
-
-          nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
-          buildInputs = [
-            self.scikit-build
-          ] ++ lib.optionals stdenv.isDarwin (with pkgs.darwin.apple_sdk.frameworks; [
-            Accelerate
-            AVFoundation
-            Cocoa
-            CoreMedia
-            MediaToolbox
-            VideoDecodeAcceleration
-          ]) ++ (old.buildInputs or [ ]);
-          dontUseCmakeConfigure = true;
-        };
-
-      opencv-python = super.opencv-python.overridePythonAttrs self._opencv-python-override;
-
-      opencv-python-headless = super.opencv-python-headless.overridePythonAttrs self._opencv-python-override;
-
-      opencv-contrib-python = super.opencv-contrib-python.overridePythonAttrs self._opencv-python-override;
-
-      openexr = super.openexr.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openexr pkgs.ilmbase ];
-          NIX_CFLAGS_COMPILE = [ "-I${pkgs.openexr.dev}/include/OpenEXR" "-I${pkgs.ilmbase.dev}/include/OpenEXR" ];
-        }
-      );
-
-      openvino = super.openvino.overridePythonAttrs (
-        old: {
-          buildInputs = [
-            pkgs.ocl-icd
-            pkgs.hwloc
-            pkgs.tbb
-            pkgs.numactl
-            pkgs.libxml2
-          ] ++ (old.buildInputs or [ ]);
-        }
-      );
-
-      orjson =
-        let
-          getCargoHash = version: {
-            "3.6.7" = "sha256-sz2k9podPB6QSptkyOu7+BoVTrKhefizRtYU+MICPt4=";
-            "3.6.8" = "sha256-vpfceVtYkU09xszNIihY1xbqGWieqDquxwsAmDH8jd4=";
-            "3.7.2" = "sha256-2U37IhftNYjH7sV7Nh51YpR/WjmPmmzX/aGuHsFgwf4=";
-            "3.7.9" = "sha256-QHzAhjHgm4XLxY2zUdnIsd/WWMI7dJLQQAvTXC+2asQ=";
-            "3.8.0" = "sha256-8k0DetamwLqkdcg8V/D2J5ja6IJSLi50CE+ZjFa7Hdc=";
-            "3.8.1" = "sha256-QXguyDxQHW9Fd3Nhmi5JzSxZQuk3HGPhhh/RGuOTZNY=";
-            "3.8.3" = "sha256-oSZO4cN1sJKd0T7pYrKG63is8AZMKaLRZqj5UCVY/14=";
-            "3.8.4" = "sha256-O2W9zO7qHWG+78T+uECICAmecaSIbTTJPktJIPZYElE=";
-            "3.8.5" = "sha256-JtUCJ3TP9EKGcddeyW1e/72k21uKneq9SnZJeLvn9Os=";
-            "3.8.6" = "sha256-8T//q6nQoZhh8oJWDCeQf3gYRew58dXAaxkYELY4CJM=";
-            "3.8.7" = "sha256-JBO8nl0sC+XIn17vI7hC8+nA1HYI9jfvZrl9nCE3k1s=";
-            "3.8.8" = "sha256-AK4HtqPKg2O2FeLHCbY9o+N1BV4QFMNaHVE1NaFYHa4=";
-            "3.8.10" = "sha256-AcrTEHv7GYtGe4fXYsM24ElrzfhnOxLYlaon1ZrlD4A=";
-          }.${version} or (
-            lib.warn "Unknown orjson version: '${version}'. Please update getCargoHash." lib.fakeHash
-          );
-        in
-        super.orjson.overridePythonAttrs (old: if old.src.isWheel or false then { } else {
-          cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
-            inherit (old) src;
-            name = "${old.pname}-${old.version}";
-            hash = getCargoHash old.version;
-          };
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            pkgs.rustPlatform.cargoSetupHook
-            pkgs.rustPlatform.maturinBuildHook
-          ];
-          buildInputs = (old.buildInputs or [ ]) ++ lib.optional pkgs.stdenv.isDarwin pkgs.libiconv;
-        });
-
-      osqp = super.osqp.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cmake ];
-          dontUseCmakeConfigure = true;
-        }
-      );
-
-
-      pandas = super.pandas.overridePythonAttrs (old: {
-
-        buildInputs = old.buildInputs or [ ] ++ lib.optional stdenv.isDarwin pkgs.libcxx;
-
-        # Doesn't work with -Werror,-Wunused-command-line-argument
-        # https://github.com/NixOS/nixpkgs/issues/39687
-        hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
-
-        # For OSX, we need to add a dependency on libcxx, which provides
-        # `complex.h` and other libraries that pandas depends on to build.
-        postPatch = lib.optionalString (!(old.src.isWheel or false) && stdenv.isDarwin) ''
-          cpp_sdk="${lib.getDev pkgs.libcxx}/include/c++/v1";
-          echo "Adding $cpp_sdk to the setup.py common_include variable"
-          substituteInPlace setup.py \
-            --replace "['pandas/src/klib', 'pandas/src']" \
-                      "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
-        '';
-
-
-        enableParallelBuilding = true;
-      });
-
-      pantalaimon = super.pantalaimon.overridePythonAttrs (old: {
-        nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.installShellFiles ];
-        postInstall = old.postInstall or "" + ''
-          installManPage docs/man/*.[1-9]
-        '';
-      });
-
-      pao = super.pao.overridePythonAttrs (old: {
-        propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ self.pyutilib ];
-      });
-
-      paramiko = super.paramiko.overridePythonAttrs (old: {
-        doCheck = false; # requires networking
-      });
-
-      parsel = super.parsel.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      pdal = super.pdal.overridePythonAttrs (
-        old: {
-          PDAL_CONFIG = "${pkgs.pdal}/bin/pdal-config";
-        }
-      );
-
-      peewee = super.peewee.overridePythonAttrs (
-        old:
-        let
-          withPostgres = old.passthru.withPostgres or false;
-          withMysql = old.passthru.withMysql or false;
-        in
-        {
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ];
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
-            ++ lib.optional withPostgres self.psycopg2
-            ++ lib.optional withMysql self.mysql-connector;
-        }
-      );
-
-      pikepdf = super.pikepdf.overridePythonAttrs (
-        old: {
-          buildInputs = old.buildInputs or [ ] ++ [ pkgs.qpdf self.pybind11 ];
-          pythonImportsCheck = old.pythonImportsCheck or [ ] ++ [ "pikepdf" ];
-        }
-      );
-
-      pillow = super.pillow.overridePythonAttrs (
-        old:
-        let
-          preConfigure = (old.preConfigure or "") + pkgs.python3.pkgs.pillow.preConfigure;
-        in
-        {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ])
-            ++ [ pkg-config self.pytest-runner ];
-          buildInputs = with pkgs; (old.buildInputs or [ ])
-            ++ [ freetype libjpeg zlib libtiff libxcrypt libwebp tcl lcms2 ]
-            ++ lib.optionals (lib.versionAtLeast old.version "7.1.0") [ xorg.libxcb ]
-            ++ lib.optionals (self.isPyPy) [ tk xorg.libX11 ];
-          preConfigure = lib.optional (old.format != "wheel") preConfigure;
-        }
-      );
-
-      pip-requirements-parser = super.pip-requirements-parser.overridePythonAttrs (old: {
-        dontConfigure = true;
-      });
-
-      pluralizer = super.pluralizer.overridePythonAttrs (old: {
-        preBuild = ''
-          export PYPI_VERSION="${old.version}"
-        '';
-      });
-
-      poethepoet = super.poethepoet.overrideAttrs (old: {
-        propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.poetry ];
-      });
-
-      poetry-core = super.poetry-core.overridePythonAttrs (old:
-        let
-          initFile =
-            if lib.versionOlder super.poetry-core.version "1.1"
-            then "poetry/__init__.py"
-            else "./src/poetry/core/__init__.py";
-        in
-        {
-          # "Vendor" dependencies (for build-system support)
-          postPatch = ''
-            echo "import sys" >> ${initFile}
-            for path in $propagatedBuildInputs; do
-              echo "sys.path.insert(0, \"$path\")" >> ${initFile}
-            done
-          '';
-
-          # Propagating dependencies leads to issues downstream
-          # We've already patched poetry to prefer "vendored" dependencies
-          postFixup = ''
-            rm $out/nix-support/propagated-build-inputs
-          '';
-        });
-
-      # Requires poetry which isn't available during bootstrap
-      poetry-plugin-export = super.poetry-plugin-export.overridePythonAttrs (old: {
-        dontUsePythonImportsCheck = true;
-        pipInstallFlags = [
-          "--no-deps"
-        ];
-      });
-
-      portend = super.portend.overridePythonAttrs (
-        old: {
-          # required for the extra "toml" dependency in setuptools_scm[toml]
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.toml
-          ];
-        }
-      );
-
-      prettytable = super.prettytable.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-      });
-
-      prophet = super.prophet.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.cmdstan self.cmdstanpy ];
-        PROPHET_REPACKAGE_CMDSTAN = "false";
-        CMDSTAN = "${pkgs.cmdstan}";
-      });
-
-      psycopg2 = super.psycopg2.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ])
-            ++ lib.optional stdenv.isDarwin pkgs.openssl;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
-        }
-      );
-
-      psycopg2-binary = super.psycopg2-binary.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ])
-            ++ lib.optional stdenv.isDarwin pkgs.openssl;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
-        }
-      );
-
-      psycopg2cffi = super.psycopg2cffi.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ])
-            ++ lib.optional stdenv.isDarwin pkgs.openssl;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
-        }
-      );
-
-      py-solc-x = super.py-solc-x.overridePythonAttrs (
-        old: {
-          preConfigure = ''
-            substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-          '';
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.requests self.semantic-version ];
-        }
-      );
-
-      pyarrow =
-        if (!super.pyarrow.src.isWheel or false) && lib.versionAtLeast super.pyarrow.version "0.16.0" then
-          super.pyarrow.overridePythonAttrs
-            (
-              old:
-              let
-                parseMinor = drv: lib.concatStringsSep "." (lib.take 2 (lib.splitVersion drv.version));
-
-                # Starting with nixpkgs revision f149c7030a7, pyarrow takes "python3" as an argument
-                # instead of "python". Below we inspect function arguments to maintain compatibilitiy.
-                _arrow-cpp = pkgs.arrow-cpp.override (
-                  builtins.intersectAttrs
-                    (lib.functionArgs pkgs.arrow-cpp.override)
-                    { python = self.python; python3 = self.python; }
-                );
-
-                ARROW_HOME = _arrow-cpp;
-                arrowCppVersion = parseMinor _arrow-cpp;
-                pyArrowVersion = parseMinor super.pyarrow;
-                errorMessage = "arrow-cpp version (${arrowCppVersion}) mismatches pyarrow version (${pyArrowVersion})";
-              in
-              if arrowCppVersion != pyArrowVersion then throw errorMessage else {
-
-                nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-                  pkg-config
-                  pkgs.cmake
-                ];
-
-                buildInputs = (old.buildInputs or [ ]) ++ [
-                  _arrow-cpp
-                ];
-
-                preBuild = ''
-                  export PYARROW_PARALLEL=$NIX_BUILD_CORES
-                '';
-
-                PARQUET_HOME = _arrow-cpp;
-                inherit ARROW_HOME;
-
-                PYARROW_BUILD_TYPE = "release";
-                PYARROW_WITH_FLIGHT = if _arrow-cpp.enableFlight then 1 else 0;
-                PYARROW_WITH_DATASET = 1;
-                PYARROW_WITH_PARQUET = 1;
-                PYARROW_CMAKE_OPTIONS = [
-                  "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib"
-
-                  # This doesn't use setup hook to call cmake so we need to workaround #54606
-                  # ourselves
-                  "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW"
-                ];
-
-                dontUseCmakeConfigure = true;
-              }
-            ) else
-          super.pyarrow;
-
-      pycairo = (
-        drv: (
-          drv.overridePythonAttrs (
-            _: {
-              format = "other";
-            }
-          )
-        ).overridePythonAttrs (
-          old: {
-
-            nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-              self.meson
-              pkgs.ninja
-              pkg-config
-            ];
-
-            propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-              pkgs.cairo
-            ];
-
-            mesonFlags = [ "-Dpython=${if self.isPy3k then "python3" else "python"}" ];
-          }
-        )
-      )
-        super.pycairo;
-
-      pycocotools = super.pycocotools.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.numpy
-          ];
-        }
-      );
-
-      pyfftw = super.pyfftw.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [
-          pkgs.fftw
-          pkgs.fftwFloat
-          pkgs.fftwLongDouble
-        ];
-      });
-
-      pyfuse3 = super.pyfuse3.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
-        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.fuse3 ];
-      });
-
-      pygame = super.pygame.overridePythonAttrs (
-        old: rec {
-          nativeBuildInputs = [
-            pkg-config
-            pkgs.SDL
-          ];
-
-          buildInputs = [
-            pkgs.SDL
-            pkgs.SDL_image
-            pkgs.SDL_mixer
-            pkgs.SDL_ttf
-            pkgs.libpng
-            pkgs.libjpeg
-            pkgs.portmidi
-            pkgs.xorg.libX11
-            pkgs.freetype
-          ];
-
-          # Tests fail because of no audio device and display.
-          doCheck = false;
-          preConfigure = ''
-                    sed \
-                      -e "s/origincdirs = .*/origincdirs = []/" \
-                      -e "s/origlibdirs = .*/origlibdirs = []/" \
-                      -e "/'\/lib\/i386-linux-gnu', '\/lib\/x86_64-linux-gnu']/d" \
-                      -e "/\/include\/smpeg/d" \
-                      -i buildconfig/config_unix.py
-                    ${lib.concatMapStrings
-            (dep: ''
-                      sed \
-                        -e "/origincdirs =/a\        origincdirs += ['${lib.getDev dep}/include']" \
-                        -e "/origlibdirs =/a\        origlibdirs += ['${lib.getLib dep}/lib']" \
-                        -i buildconfig/config_unix.py
-                    '')
-            buildInputs
-                    }
-                    LOCALBASE=/ ${self.python.interpreter} buildconfig/config.py
-          '';
-        }
-      );
-
-      pygeos = super.pygeos.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos ];
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.geos ];
-        }
-      );
-
-      pygobject = super.pygobject.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.glib pkgs.gobject-introspection ];
-        }
-      );
-
-      pylint = super.pylint.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      pymediainfo = super.pymediainfo.overridePythonAttrs (
-        old: {
-          postPatch = (old.postPatch or "") + ''
-            substituteInPlace pymediainfo/__init__.py \
-              --replace "libmediainfo.0.dylib" \
-                        "${pkgs.libmediainfo}/lib/libmediainfo.0${stdenv.hostPlatform.extensions.sharedLibrary}" \
-              --replace "libmediainfo.dylib" \
-                        "${pkgs.libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}" \
-              --replace "libmediainfo.so.0" \
-                        "${pkgs.libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}.0"
-          '';
-        }
-      );
-
-      pynetbox = super.pynetbox.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-      });
-
-      pynput = super.pynput.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ])
-          ++ [ self.sphinx ];
-
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
-          ++ [ self.setuptools-lint ];
-      });
-
-      pymssql = super.pymssql.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ])
-          ++ [ pkgs.openssl pkgs.libkrb5 ];
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
-          ++ [ pkgs.freetds ];
-      });
-
-      pyopencl = super.pyopencl.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.numpy ];
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.ocl-icd pkgs.opencl-headers ];
-        }
-      );
-
-      pyopenssl = super.pyopenssl.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ];
-        }
-      );
-
-      pyproj = super.pyproj.overridePythonAttrs (
-        old: {
-          PROJ_DIR = "${pkgs.proj}";
-          PROJ_LIBDIR = "${pkgs.proj}/lib";
-          PROJ_INCDIR = "${pkgs.proj.dev}/include";
-        }
-      );
-
-      pyrealsense2 = super.pyrealsense2.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libusb1.out ];
-      });
-
-      pyrfr = super.pyrfr.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.swig ];
-      });
-
-      pyscard = super.pyscard.overridePythonAttrs (old:
-        # see https://github.com/NixOS/nixpkgs/blob/93568862a610dc1469dc40b15c1096a9357698ac/pkgs/development/python-modules/pyscard/default.nix
-        let
-          inherit (pkgs) PCSC pcsclite;
-          withApplePCSC = stdenv.isDarwin;
-        in
-        {
-          postPatch =
-            if withApplePCSC then ''
-              substituteInPlace smartcard/scard/winscarddll.c \
-                --replace "/System/Library/Frameworks/PCSC.framework/PCSC" \
-                          "${PCSC}/Library/Frameworks/PCSC.framework/PCSC"
-            '' else ''
-              substituteInPlace smartcard/scard/winscarddll.c \
-                --replace "libpcsclite.so.1" \
-                          "${lib.getLib pcsclite}/lib/libpcsclite${stdenv.hostPlatform.extensions.sharedLibrary}"
-            '';
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ (
-            if withApplePCSC then [ PCSC ] else [ pcsclite ]
-          );
-          NIX_CFLAGS_COMPILE = lib.optionalString (! withApplePCSC)
-            "-I ${lib.getDev pcsclite}/include/PCSC";
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            pkgs.swig
-          ];
-        }
-      );
-
-      pytaglib = super.pytaglib.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.taglib ];
-      });
-
-      pytezos = super.pytezos.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libsodium ];
-      });
-
-      python-bugzilla = super.python-bugzilla.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            self.docutils
-          ];
-        }
-      );
-
-      python-ldap = super.python-ldap.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openldap pkgs.cyrus_sasl ];
-        }
-      );
-
-      python-snap7 = super.python-snap7.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-          pkgs.snap7
-        ];
-
-        postPatch = (old.postPatch or "") + ''
-          echo "Patching find_library call."
-          substituteInPlace snap7/common.py \
-            --replace "find_library('snap7')" "\"${pkgs.snap7}/lib/libsnap7.so\""
-        '';
-      });
-
-
-      pytoml = super.pytoml.overridePythonAttrs (
-        old: {
-          doCheck = false;
-        }
-      );
-
-      pytorch-lightning = super.pytorch-lightning.override {
-        unpackPhase = ''
-          # $src remains a gzipped tarball otherwise.
-          mkdir -p tmp
-          tar xvf $src --directory=tmp
-          mv tmp/pytorch-lightning*/* .
-          rm -rf tmp
-        '';
-      };
-
-      pyqt5 =
-        let
-          qt5 = selectQt5 super.pyqt5.version;
-        in
-        super.pyqt5.overridePythonAttrs (
-          old: {
-            postPatch = ''
-              # Confirm license
-              sed -i s/"if tool == 'pep517':"/"if True:"/ project.py
-            '';
-
-            dontConfigure = true;
-            dontWrapQtApps = true;
-            nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [
-              self.pyqt-builder
-              self.sip
-              qt5.full
-            ];
-          }
-        );
-
-      pyqt5-qt5 =
-        let
-          qt5 = selectQt5 super.pyqt5-qt5.version;
-        in
-        super.pyqt5-qt5.overridePythonAttrs (
-          old: {
-            dontWrapQtApps = true;
-            propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [
-              qt5.full
-              qt5.qtgamepad # As of 2022-05-13 not a port of qt5.full
-              pkgs.gtk3
-              pkgs.speechd
-              pkgs.postgresql
-              pkgs.unixODBC
-            ];
-          }
-        );
-
-      pytest-datadir = super.pytest-datadir.overridePythonAttrs (
-        old: {
-          postInstall = ''
-            rm -f $out/LICENSE
-          '';
-        }
-      );
-
-      pytest = super.pytest.overridePythonAttrs (
-        old: {
-          # Fixes https://github.com/pytest-dev/pytest/issues/7891
-          postPatch = old.postPatch or "" + ''
-            # sometimes setup.cfg doesn't exist
-            if [ -f setup.cfg ]; then
-              sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg
-            fi
-          '';
-        }
-      );
-
-      pytest-django = super.pytest-django.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            substituteInPlace setup.py --replace "'pytest>=3.6'," ""
-            substituteInPlace setup.py --replace "'pytest>=3.6'" ""
-          '';
-        }
-      );
-
-      pytest-randomly = super.pytest-randomly.overrideAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-          self.importlib-metadata
-        ];
-      });
-
-      pytest-runner = super.pytest-runner or super.pytestrunner;
-
-      pytest-pylint = super.pytest-pylint.overridePythonAttrs (
-        old: {
-          buildInputs = [ self.pytest-runner ];
-        }
-      );
-
-      # pytest-splinter seems to put a .marker file in an empty directory
-      # presumably so it's tracked by and can be installed with MANIFEST.in, see
-      # https://github.com/pytest-dev/pytest-splinter/commit/a48eeef662f66ff9d3772af618748e73211a186b
-      #
-      # This directory then gets used as an empty initial profile directory and is
-      # zipped up. But if the .marker file is in the Nix store, it has the
-      # creation date of 1970, and Zip doesn't work with such old files, so it
-      # fails at runtime!
-      #
-      # We fix this here by just removing the file after the installation
-      #
-      # The error you get without this is:
-      #
-      # E           ValueError: ZIP does not support timestamps before 1980
-      # /nix/store/55b9ip7xkpimaccw9pa0vacy5q94f5xa-python3-3.7.6/lib/python3.7/zipfile.py:357: ValueError
-      pytest-splinter = super.pytest-splinter.overrideAttrs (old: {
-        postInstall = old.postInstall or "" + ''
-          rm $out/${super.python.sitePackages}/pytest_splinter/profiles/firefox/.marker
-        '';
-      });
-
-      python-jose = super.python-jose.overridePythonAttrs (
-        old: {
-          buildInputs = [ self.pytest-runner ];
-        }
-      );
-
-      python-magic = super.python-magic.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            substituteInPlace magic/loader.py \
-              --replace "'libmagic.so.1'" "'${lib.getLib pkgs.file}/lib/libmagic.so.1'"
-          '';
-          pythonImportsCheck = old.pythonImportsCheck or [ ] ++ [ "magic" ];
-        }
-      );
-
-      python-olm = super.python-olm.overridePythonAttrs (
-        old: {
-          buildInputs = old.buildInputs or [ ] ++ [ pkgs.olm ];
-        }
-      );
-
-      python-pam = super.python-pam.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            substituteInPlace src/pam/__internals.py \
-            --replace 'find_library("pam")' '"${pkgs.pam}/lib/libpam.so"' \
-            --replace 'find_library("pam_misc")' '"${pkgs.pam}/lib/libpam_misc.so"'
-          '';
-        }
-      );
-
-      python-snappy = super.python-snappy.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.snappy ];
-        }
-      );
-
-      python-twitter = super.python-twitter.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-      });
-
-      pythran = super.pythran.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-      });
-
-      ffmpeg-python = super.ffmpeg-python.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      python-prctl = super.python-prctl.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            pkgs.libcap
-          ];
-        }
-      );
-
-      pyudev = super.pyudev.overridePythonAttrs (old: {
-        postPatch = ''
-          substituteInPlace src/pyudev/_ctypeslib/utils.py \
-            --replace "find_library(name)" "'${lib.getLib pkgs.systemd}/lib/libudev.so'"
-        '';
-      });
-
-      pyusb = super.pyusb.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            libusb=${pkgs.libusb1.out}/lib/libusb-1.0${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}
-            test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
-            sed -i -e "s|find_library=None|find_library=lambda _:\"$libusb\"|" usb/backend/libusb1.py
-          '';
-        }
-      );
-
-      pywavelets = super.pywavelets.overridePythonAttrs (
-        old: {
-          HDF5_DIR = "${pkgs.hdf5}";
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.hdf5 ];
-        }
-      );
-
-      pyzmq = super.pyzmq.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.zeromq ];
-        }
-      );
-
-      recommonmark = super.rich.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.commonmark ];
-        }
-      );
-
-      rich = super.rich.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.commonmark ];
-        }
-      );
-
-      rockset = super.rockset.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            cp ./setup_rockset.py ./setup.py
-          '';
-        }
-      );
-
-      scaleapi = super.scaleapi.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            substituteInPlace setup.py --replace "install_requires = ['requests>=2.4.2', 'enum34']" "install_requires = ['requests>=2.4.2']" || true
-          '';
-        }
-      );
-
-      panel = super.panel.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.nodejs ];
-        }
-      );
-
-      # Pybind11 is an undeclared dependency of scipy that we need to pick from nixpkgs
-      # Make it not fail with infinite recursion
-      pybind11 = super.pybind11.overridePythonAttrs (
-        old: {
-          cmakeFlags = (old.cmakeFlags or [ ]) ++ [
-            "-DPYBIND11_TEST=off"
-          ];
-          doCheck = false; # Circular test dependency
-
-          # Link include and share so it can be used by packages that use pybind11 through cmake
-          postInstall = ''
-            ln -s $out/${self.python.sitePackages}/pybind11/{include,share} $out/
-          '';
-        }
-      );
-
-      rasterio = super.rasterio.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gdal ];
-      });
-
-      rfc3986-validator = super.rfc3986-validator.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-          self.pytest-runner
-        ];
-      });
-
-      rlp = super.rlp.overridePythonAttrs {
-        preConfigure = ''
-          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-        '';
-      };
-
-      rmfuse = super.rmfuse.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-      });
-
-      rtree = super.rtree.overridePythonAttrs (old: {
-        propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ]) ++ [ pkgs.libspatialindex ];
-        postPatch = ''
-          substituteInPlace rtree/finder.py --replace \
-            "find_library('spatialindex_c')" \
-            "'${pkgs.libspatialindex}/lib/libspatialindex_c${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}'"
-        '';
-      });
-
-      ruamel-yaml = super.ruamel-yaml.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
-            ++ [ self.ruamel-yaml-clib ];
-        }
-      );
-
-      scipy = super.scipy.overridePythonAttrs (
-        old:
-        if old.format != "wheel" then {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++
-            [ pkgs.gfortran ] ++
-            lib.optionals (lib.versionAtLeast super.scipy.version "1.7.0") [ self.pythran ] ++
-            lib.optionals (lib.versionAtLeast super.scipy.version "1.9.0") [ self.meson-python pkg-config ];
-          dontUseMesonConfigure = true;
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pybind11 ];
-          setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
-          enableParallelBuilding = true;
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.numpy.blas ];
-          preConfigure = ''
-            sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
-            export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
-          '';
-          preBuild = lib.optional (lib.versionOlder super.scipy.version "1.9.0") ''
-            ln -s ${self.numpy.cfg} site.cfg
-          '';
-        } else old
-      );
-
-      scikit-image = super.scikit-image.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            self.pythran
-            self.packaging
-            self.wheel
-            self.numpy
-          ];
-        }
-      );
-
-      scikit-learn = super.scikit-learn.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            pkgs.gfortran
-          ] ++ lib.optionals stdenv.cc.isClang [
-            pkgs.llvmPackages.openmp
-          ] ++ lib.optionals stdenv.isLinux [
-            pkgs.glibcLocales
-          ];
-
-          enableParallelBuilding = true;
-        }
-      );
-
-      secp256k1 = super.secp256k1.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig pkgs.autoconf pkgs.automake pkgs.libtool ];
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        doCheck = false;
-        # Local setuptools versions like "x.y.post0" confuse an internal check
-        postPatch = ''
-          substituteInPlace setup.py \
-            --replace 'setuptools_version.' '"${self.setuptools.version}".' \
-            --replace 'pytest-runner==' 'pytest-runner>='
-        '';
-      });
-
-      selenium =
-        let
-          v4orLater = lib.versionAtLeast super.selenium.version "4";
-          selenium = super.selenium.override {
-            # Selenium >=4 is built with Bazel
-            preferWheel = v4orLater;
-          };
-        in
-        selenium.overridePythonAttrs (old: {
-          # Selenium <4 can be installed from sources, with setuptools
-          buildInputs = old.buildInputs ++ (lib.optionals (!v4orLater) [ self.setuptools ]);
-        });
-
-      shapely = super.shapely.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.geos ];
-
-          GEOS_LIBRARY_PATH = "${pkgs.geos}/lib/libgeos_c${stdenv.hostPlatform.extensions.sharedLibrary}";
-
-          GEOS_LIBC = lib.optionalString (!stdenv.isDarwin) "${lib.getLib stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
-
-          # Fix library paths
-          postPatch = lib.optionalString (!(old.src.isWheel or false)) (old.postPatch or "" + ''
-            ${pkgs.python3.interpreter} ${./shapely-rewrite.py} shapely/geos.py
-          '');
-        }
-      );
-
-      shellcheck-py = super.shellcheck-py.overridePythonAttrs (old: {
-
-        # Make fetching/installing external binaries no-ops
-        preConfigure =
-          let
-            fakeCommand = "type('FakeCommand', (Command,), {'initialize_options': lambda self: None, 'finalize_options': lambda self: None, 'run': lambda self: None})";
-          in
-          ''
-            substituteInPlace setup.py \
-              --replace "'fetch_binaries': fetch_binaries," "'fetch_binaries': ${fakeCommand}," \
-              --replace "'install_shellcheck': install_shellcheck," "'install_shellcheck': ${fakeCommand},"
-          '';
-
-        propagatedUserEnvPkgs = (old.propagatedUserEnvPkgs or [ ]) ++ [
-          pkgs.shellcheck
-        ];
-
-      });
-
-      soundfile = super.soundfile.overridePythonAttrs (old: {
-        postPatch = ''
-          substituteInPlace soundfile.py --replace "_find_library('sndfile')" "'${pkgs.libsndfile.out}/lib/libsndfile${stdenv.hostPlatform.extensions.sharedLibrary}'"
-        '';
-      });
-
-      suds = super.suds.overridePythonAttrs (old: {
-        # Fix naming convention shenanigans.
-        # https://github.com/suds-community/suds/blob/a616d96b070ca119a532ff395d4a2a2ba42b257c/setup.py#L648
-        SUDS_PACKAGE = "suds";
-      });
-
-      systemd-python = super.systemd-python.overridePythonAttrs (old: {
-        buildInputs = old.buildInputs ++ [ pkgs.systemd ];
-        nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
-      });
-
-      tables = super.tables.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pywavelets ];
-          HDF5_DIR = lib.getDev pkgs.hdf5;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
-          propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.hdf5 self.numpy self.numexpr ];
-        }
-      );
-
-      tempora = super.tempora.overridePythonAttrs (
-        old: {
-          # required for the extra "toml" dependency in setuptools_scm[toml]
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.toml
-          ];
-        }
-      );
-
-      tensorboard = super.tensorboard.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.wheel
-            self.absl-py
-          ];
-          HDF5_DIR = "${pkgs.hdf5}";
-          propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            pkgs.hdf5
-            self.google-auth-oauthlib
-            self.tensorboard-plugin-wit
-            self.numpy
-            self.markdown
-            self.tensorboard-data-server
-            self.grpcio
-            self.protobuf
-            self.werkzeug
-            self.absl-py
-          ];
-        }
-      );
-
-      tensorflow = super.tensorflow.overridePythonAttrs (
-        old: {
-          postInstall = ''
-            rm $out/bin/tensorboard
-          '';
-        }
-      );
-
-      tensorflow-macos = super.tensorflow-macos.overridePythonAttrs (
-        old: {
-          postInstall = self.tensorflow.postInstall;
-        }
-      );
-
-      tensorpack = super.tensorpack.overridePythonAttrs (
-        old: {
-          postPatch = ''
-            substituteInPlace setup.cfg --replace "# will call find_packages()" ""
-          '';
-        }
-      );
-
-      tinycss2 = super.tinycss2.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      # The tokenizers build requires a complex rust setup (cf. nixpkgs override)
-      #
-      # Instead of providing a full source build, we use a wheel to keep
-      # the complexity manageable for now.
-      tokenizers = super.tokenizers.override {
-        preferWheel = true;
-      };
-
-      torch = super.torch.overridePythonAttrs (old: {
-        # torch has an auto-magical way to locate the cuda libraries from site-packages.
-        autoPatchelfIgnoreMissingDeps = true;
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-          self.numpy
-        ];
-      });
-
-      torchvision = super.torchvision.overridePythonAttrs (old: {
-        autoPatchelfIgnoreMissingDeps = true;
-
-        # (no patchelf on darwin, since no elves there.)
-        preFixup = lib.optionals (!stdenv.isDarwin) ''
-          addAutoPatchelfSearchPath "${self.torch}/${self.python.sitePackages}/torch/lib"
-        '';
-
-        buildInputs = (old.buildInputs or [ ]) ++ [
-          self.torch
-        ];
-      });
-
-      # Circular dependency between triton and torch (see https://github.com/openai/triton/issues/1374)
-      # You can remove this once triton publishes a new stable build and torch takes it.
-      triton = super.triton.overridePythonAttrs (old: {
-        propagatedBuildInputs = builtins.filter (e: e.pname != "torch") old.propagatedBuildInputs;
-        pipInstallFlags = [ "--no-deps" ];
-      });
-
-      typed_ast = super.typed-ast.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-          self.pytest-runner
-        ];
-      });
-
-      urwidtrees = super.urwidtrees.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-            self.urwid
-          ];
-        }
-      );
-
-      vose-alias-method = super.vose-alias-method.overridePythonAttrs (
-        old: {
-          postInstall = ''
-            rm -f $out/LICENSE
-          '';
-        }
-      );
-
-      vispy = super.vispy.overrideAttrs (
-        old: {
-          inherit (pkgs.python3.pkgs.vispy) patches;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            self.setuptools-scm-git-archive
-          ];
-        }
-      );
-
-      uvloop = super.uvloop.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [
-            pkgs.darwin.apple_sdk.frameworks.ApplicationServices
-            pkgs.darwin.apple_sdk.frameworks.CoreServices
-          ];
-        }
-      );
-
-
-      # Stop infinite recursion by using bootstrapped pkg from nixpkgs
-      bootstrapped-pip = super.bootstrapped-pip.override {
-        wheel = ((if self.python.isPy2 then pkgs.python2 else pkgs.python3).pkgs.override {
-          python = self.python;
-        }).wheel;
-      };
-
-      watchfiles =
-        let
-          # Watchfiles does not include Cargo.lock in tarball released on PyPi for versions up to 0.17.0
-          getRepoHash = version: {
-            "0.19.0" = "sha256-NmmeoaIfFMNKCcjH6tPnkpflkN35bKlT76MqF9W8LBc=";
-            "0.18.1" = "sha256-XEhu6M1hFi3/gAKZcei7KJSrIhhlZhlvZvbfyA6VLR4=";
-            "0.18.0" = "sha256-biGGn0YAUbSO1hCJ4kU0ZWlqlXl/HRrBS3iIA3myRI8=";
-            "0.17.0" = "1swpf265h9qq30cx55iy6jjirba3wml16wzb68k527ynrxr7hvqx";
-            "0.16.1" = "1ss6gzcr6js2d2sddgz1p52gyiwpqmgrxm8r6wim7gnm4wvhav8a";
-            "0.15.0" = "14k3avrj7v794kk4mk2xggn40a4s0zg8iq8wmyyyrf7va6hz29hf";
-            "0.14.1" = "1pgfbhxrvr3dw46x9piqj3ydxgn4lkrfp931q0cajinrpv4acfay";
-            "0.14" = "0lml67ilyly0i632pffdy1gd07404vx90xnkw8q6wf6xp5afmkka";
-            "0.13" = "0rkz8yr01mmxm2lcmbnr9i5c7n371mksij7v3ws0aqlrh3kgww02";
-            "0.12" = "16788a0d8n1bb705f0k3dvav2fmbbl6pcikwpgarl1l3fcfff8kl";
-            "0.11" = "0vx56h9wfxj7x3aq7jign4rnlfm7x9nhjwmsv8p22acbzbs10dgv";
-            "0.10" = "0ypdy9sq4211djqh4ni5ap9l7whq9hw0vhsxjfl3a0a4czlldxqp";
-          }.${version};
-          sha256 = getRepoHash super.watchfiles.version;
-        in
-        super.watchfiles.overridePythonAttrs (old: rec {
-          src = pkgs.fetchFromGitHub {
-            owner = "samuelcolvin";
-            repo = "watchfiles";
-            rev = "v${old.version}";
-            inherit sha256;
-          };
-          patchPhase = builtins.concatStringsSep "\n" [
-            (old.patchPhase or "")
-            ''
-              substituteInPlace "Cargo.lock" --replace 'version = "0.0.0"' 'version = "${old.version}"'
-              substituteInPlace "Cargo.toml" --replace 'version = "0.0.0"' 'version = "${old.version}"'
-            ''
-          ];
-          cargoDeps = pkgs.rustPlatform.importCargoLock {
-            lockFile = "${src.out}/Cargo.lock";
-          };
-          buildInputs = (old.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [
-            pkgs.darwin.apple_sdk.frameworks.Security
-            pkgs.darwin.apple_sdk.frameworks.CoreServices
-            pkgs.libiconv
-          ];
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            pkgs.rustPlatform.cargoSetupHook
-            pkgs.rustPlatform.maturinBuildHook
-          ];
-        });
-
-      weasyprint = super.weasyprint.overridePythonAttrs (
-        old: {
-          inherit (pkgs.python3.pkgs.weasyprint) patches;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      web3 = super.web3.overridePythonAttrs {
-        preConfigure = ''
-          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-        '';
-      };
-
-      weblate-language-data = super.weblate-language-data.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.translate-toolkit
-          ];
-        }
-      );
-
-      wheel = if self.python.isPy2 then
-        super.wheel.override {
-          inherit (self) bootstrapped-pip;
-        }
-      else
-        super.wheel;
-
-      zipp = if super.zipp == null then null else
-      super.zipp.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-            self.toml
-          ];
-        }
-      );
-
-      psutil = super.psutil.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++
-            lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.IOKit;
-        }
-      );
-
-      sentencepiece = super.sentencepiece.overridePythonAttrs (
-        old: {
-          dontUseCmakeConfigure = true;
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            pkg-config
-            pkgs.cmake
-            pkgs.gperftools
-          ];
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            pkgs.sentencepiece
-          ];
-        }
-      );
-
-      sentence-transformers = super.sentence-transformers.overridePythonAttrs (
-        old: {
-          buildInputs =
-            (old.buildInputs or [ ])
-            ++ [ self.typing-extensions ];
-        }
-      );
-
-      supervisor = super.supervisor.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-            self.meld3
-            self.setuptools
-          ];
-        }
-      );
-
-      cytoolz = super.cytoolz.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.toolz ];
-        }
-      );
-
-      # For some reason the toml dependency of tqdm declared here:
-      # https://github.com/tqdm/tqdm/blob/67130a23646ae672836b971e1086b6ae4c77d930/pyproject.toml#L2
-      # is not translated correctly to a nix dependency.
-      tqdm = super.tqdm.overridePythonAttrs (
-        old: {
-          buildInputs = [ super.toml ] ++ (old.buildInputs or [ ]);
-        }
-      );
-
-      watchdog = super.watchdog.overrideAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ])
-            ++ lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.CoreServices;
-        }
-      );
-
-      # pyee cannot find `vcversioner` and other "setup requirements", so it tries to
-      # download them from the internet, which only works when nix sandboxing is disabled.
-      # Additionally, since pyee uses vcversioner to specify its version, we need to do this
-      # manually specify its version.
-      pyee = super.pyee.overrideAttrs (
-        old: {
-          postPatch = old.postPatch or "" + ''
-            sed -i setup.py \
-              -e '/setup_requires/,/],/d' \
-              -e 's/vcversioner={},/version="${old.version}",/'
-          '';
-        }
-      );
-
-      minimal-snowplow-tracker = super.minimal-snowplow-tracker.overridePythonAttrs
-        (
-          old: {
-            nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ super.setuptools ];
-          }
-        );
-
-      # nixpkgs has setuptools_scm 4.1.2
-      # but newrelic has a seemingly unnecessary version constraint for <4
-      # So we patch that out
-      newrelic = super.newrelic.overridePythonAttrs (
-        old: {
-          postPatch = old.postPatch or "" + ''
-            substituteInPlace setup.py --replace '"setuptools_scm>=3.2,<4"' '"setuptools_scm"'
-          '';
-        }
-      );
-
-      wxpython = super.wxpython.overridePythonAttrs (old:
-        let
-          localPython = self.python.withPackages (ps: with ps; [
-            setuptools
-            numpy
-            six
-          ]);
-        in
-        {
-          DOXYGEN = "${pkgs.doxygen}/bin/doxygen";
-
-          nativeBuildInputs = with pkgs; [
-            which
-            doxygen
-            gtk3
-            pkg-config
-            autoPatchelfHook
-          ] ++ (old.nativeBuildInputs or [ ]);
-
-          buildInputs = with pkgs; [
-            gtk3
-            webkitgtk
-            ncurses
-            SDL2
-            xorg.libXinerama
-            xorg.libSM
-            xorg.libXxf86vm
-            xorg.libXtst
-            xorg.xorgproto
-            gst_all_1.gstreamer
-            gst_all_1.gst-plugins-base
-            libGLU
-            libGL
-            libglvnd
-            mesa
-          ] ++ old.buildInputs;
-
-          buildPhase = ''
-            ${localPython.interpreter} build.py -v build_wx
-            ${localPython.interpreter} build.py -v dox etg --nodoc sip
-            ${localPython.interpreter} build.py -v build_py
-          '';
-
-          installPhase = ''
-            ${localPython.interpreter} setup.py install --skip-build --prefix=$out
-          '';
-        });
-
-      marisa-trie = super.marisa-trie.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-        }
-      );
-
-      ua-parser = super.ua-parser.overridePythonAttrs (
-        old: {
-          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyyaml ];
-        }
-      );
-
-      pygraphviz = super.pygraphviz.overridePythonAttrs (old: {
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
-        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.graphviz ];
-      });
-
-      pysqlite = super.pysqlite.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.sqlite ];
-        patchPhase = ''
-          substituteInPlace "setup.cfg"                                     \
-                  --replace "/usr/local/include" "${pkgs.sqlite.dev}/include"   \
-                  --replace "/usr/local/lib" "${pkgs.sqlite.out}/lib"
-          ${lib.optionalString (!stdenv.isDarwin) ''export LDSHARED="$CC -pthread -shared"''}
-        '';
-      });
-
-      selinux = super.selinux.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
-      });
-
-      setuptools-scm = super.setuptools-scm.overridePythonAttrs (old: {
-        setupHook = pkgs.writeText "setuptools-scm-setup-hook.sh" ''
-          poetry2nix-setuptools-scm-hook() {
-              if [ -z "''${dontPretendSetuptoolsSCMVersion-}" ]; then
-                export SETUPTOOLS_SCM_PRETEND_VERSION="$version"
-              fi
-          }
-
-          preBuildHooks+=(poetry2nix-setuptools-scm-hook)
-        '';
-      });
-
-      uwsgi = super.uwsgi.overridePythonAttrs
-        (old:
-          {
-            buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ncurses ];
-          } // lib.optionalAttrs (lib.versionAtLeast old.version "2.0.19" && lib.versionOlder old.version "2.0.20") {
-            sourceRoot = ".";
-          });
-
-      wcwidth = super.wcwidth.overridePythonAttrs (old: {
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]);
-      });
-
-      wtforms = super.wtforms.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ];
-      });
-
-      nbconvert =
-        let
-          patchExporters = lib.optionalString (lib.versionAtLeast self.nbconvert.version "6.5.0") ''
-            substituteInPlace \
-              ./nbconvert/exporters/templateexporter.py \
-              --replace \
-              'root_dirs.extend(jupyter_path())' \
-              'root_dirs.extend(jupyter_path() + [os.path.join("@out@", "share", "jupyter")])' \
-              --subst-var out
-          '';
-        in
-        super.nbconvert.overridePythonAttrs (old: {
-          postPatch = lib.optionalString (!(old.src.isWheel or false)) (
-            patchExporters + lib.optionalString (lib.versionAtLeast self.nbconvert.version "7.0") ''
-              substituteInPlace \
-                ./hatch_build.py \
-                --replace \
-                'if self.target_name not in ["wheel", "sdist"]:' \
-                'if True:'
-            ''
-          );
-          postInstall = lib.optionalString (old.src.isWheel or false) ''
-            pushd $out/${self.python.sitePackages}
-            ${patchExporters}
-            popd
-          '';
-        });
-
-      meson-python = super.meson-python.overridePythonAttrs (old: {
-        dontUseMesonConfigure = true;
-      });
-
-      mkdocs = super.mkdocs.overridePythonAttrs (old: {
-        propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ self.babel ];
-      });
-
-      # patch mkdocstrings to fix jinja2 imports
-      mkdocstrings =
-        let
-          patchJinja2Imports = self.pkgs.fetchpatch {
-            name = "fix-jinja2-imports.patch";
-            url = "https://github.com/mkdocstrings/mkdocstrings/commit/b37722716b1e0ed6393ec71308dfb0f85e142f3b.patch";
-            hash = "sha256-DD1SjEvs5HBlSRLrqP3jhF/yoeWkF7F3VXCD1gyt5Fc=";
-          };
-        in
-        super.mkdocstrings.overridePythonAttrs (
-          old: lib.optionalAttrs
-            (lib.versionAtLeast old.version "0.17" && lib.versionOlder old.version "0.18")
-            {
-              patches = old.patches or [ ] ++ lib.optionals (!(old.src.isWheel or false)) [ patchJinja2Imports ];
-              # strip the first two levels ("a/src/") when patching since we're in site-packages
-              # just above mkdocstrings
-              postInstall = lib.optionalString (old.src.isWheel or false) ''
-                pushd "$out/${self.python.sitePackages}"
-                patch -p2 < "${patchJinja2Imports}"
-                popd
-              '';
-            }
-        );
-
-      flake8-mutable = super.flake8-mutable.overridePythonAttrs
-        (old: { buildInputs = old.buildInputs or [ ] ++ [ self.pytest-runner ]; });
-      pydantic = super.pydantic.overridePythonAttrs
-        (old: { buildInputs = old.buildInputs or [ ] ++ [ pkgs.libxcrypt ]; });
-
-      y-py = super.y-py.override {
-        preferWheel = true;
-      };
-    }
-  )
-]
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/shapely-rewrite.py b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/shapely-rewrite.py
deleted file mode 100644
index d3b365459bd..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/shapely-rewrite.py
+++ /dev/null
@@ -1,46 +0,0 @@
-"""
-Rewrite libc/library path references to Nix store paths
-Nixpkgs uses a normal patch for this but we need to be less
-sensitive to changes between versions.
-"""
-from textwrap import dedent
-import sys
-import ast
-import os
-
-
-with open(sys.argv[1]) as f:
-    mod = ast.parse(f.read(), "geos.py")
-
-
-class LibTransformer(ast.NodeTransformer):
-    _lgeos_replaced = False
-
-    def visit_If(self, node):
-        if ast.unparse(node).startswith("if sys.platform.startswith('linux')"):
-            return ast.parse(
-                dedent(
-                    """
-            free = CDLL(%s).free
-            free.argtypes = [c_void_p]
-            free.restype = None
-            """
-                )
-                % (lambda x: "'" + x + "'" if x else None)(os.environ.get("GEOS_LIBC"))
-            )
-        return node
-
-    def visit_Assign(self, node):
-        _target = node.targets[0]
-        if (
-            not self._lgeos_replaced
-            and isinstance(_target, ast.Name)
-            and _target.id == "_lgeos"
-        ):
-            self._lgeos_replaced = True
-            return ast.parse("_lgeos = CDLL('%s')" % os.environ["GEOS_LIBRARY_PATH"])
-        return node
-
-
-with open(sys.argv[1], "w") as f:
-    f.write(ast.unparse(LibTransformer().visit(mod)))
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
deleted file mode 100644
index 1ef253365a9..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
+++ /dev/null
@@ -1,133 +0,0 @@
-{ lib, stdenv, poetryLib, python, isLinux ? stdenv.isLinux }:
-let
-  inherit (lib.strings) escapeRegex hasPrefix hasSuffix hasInfix splitString removePrefix removeSuffix;
-  targetMachine = poetryLib.getTargetMachine stdenv;
-
-  pythonVer =
-    let
-      ver = builtins.splitVersion python.version;
-      major = builtins.elemAt ver 0;
-      minor = builtins.elemAt ver 1;
-      tags = [ "cp" "py" ];
-    in
-    { inherit major minor tags; };
-  abiTag = "cp${pythonVer.major}${pythonVer.minor}m";
-
-  #
-  # Parses wheel file returning an attribute set
-  #
-  toWheelAttrs = str:
-    let
-      entries' = splitString "-" str;
-      el = builtins.length entries';
-      entryAt = builtins.elemAt entries';
-
-      # Hack: Remove version "suffixes" like 2.11.4-1
-      entries =
-        if el == 6 then [
-          (entryAt 0) # name
-          (entryAt 1) # version
-          # build tag is skipped
-          (entryAt (el - 3)) # python version
-          (entryAt (el - 2)) # abi
-          (entryAt (el - 1)) # platform
-        ] else entries';
-      p = removeSuffix ".whl" (builtins.elemAt entries 4);
-    in
-    {
-      pkgName = builtins.elemAt entries 0;
-      pkgVer = builtins.elemAt entries 1;
-      pyVer = builtins.elemAt entries 2;
-      abi = builtins.elemAt entries 3;
-      platform = p;
-    };
-
-  #
-  # Builds list of acceptable osx wheel files
-  #
-  # <versions>   accepted versions in descending order of preference
-  # <candidates> list of wheel files to select from
-  findBestMatches = versions: candidates:
-    let
-      v = lib.lists.head versions;
-      vs = lib.lists.tail versions;
-    in
-    if (builtins.length versions == 0)
-    then [ ]
-    else (builtins.filter (x: hasInfix v x.file) candidates) ++ (findBestMatches vs candidates);
-
-  # x = "cpXX" | "py2" | "py3" | "py2.py3"
-  isPyVersionCompatible = pyver@{ major, minor, tags }: x:
-    let
-      isCompat = m:
-        builtins.elem m.tag tags
-        && m.major == major
-        && builtins.compareVersions minor m.minor >= 0;
-      parseMarker = v:
-        let
-          tag = builtins.substring 0 2 v;
-          major = builtins.substring 2 1 v;
-          end = builtins.substring 3 3 v;
-          minor = if builtins.stringLength end > 0 then end else "0";
-        in
-        { inherit major minor tag; };
-      markers = splitString "." x;
-    in
-    lib.lists.any isCompat (map parseMarker markers);
-
-  #
-  # Selects the best matching wheel file from a list of files
-  #
-  selectWheel = files:
-    let
-      filesWithoutSources = (builtins.filter (x: hasSuffix ".whl" x.file) files);
-      isPyAbiCompatible = pyabi: x: x == "none" || hasPrefix pyabi x || hasPrefix x pyabi || (
-        # The CPython stable ABI is abi3 as in the shared library suffix.
-        python.passthru.implementation == "cpython" &&
-          builtins.elemAt (lib.splitString "." python.version) 0 == "3" &&
-          x == "abi3"
-      );
-      withPython = ver: abi: x: (isPyVersionCompatible ver x.pyVer) && (isPyAbiCompatible abi x.abi);
-      withPlatform =
-        if isLinux
-        then
-          if targetMachine != null
-          then
-          # See PEP 600 for details.
-            (p:
-              builtins.match "any|manylinux(1|2010|2014)_${escapeRegex targetMachine}|manylinux_[0-9]+_[0-9]+_${escapeRegex targetMachine}" p != null
-            )
-          else
-            (p: p == "any")
-        else
-          if stdenv.isDarwin
-          then
-            if stdenv.targetPlatform.isAarch64
-            then (p: p == "any" || (hasInfix "macosx" p && lib.lists.any (e: hasSuffix e p) [ "arm64" "aarch64" ]))
-            else (p: p == "any" || (hasInfix "macosx" p && hasSuffix "x86_64" p))
-          else (p: p == "any");
-      withPlatforms = x: lib.lists.any withPlatform (splitString "." x.platform);
-      filterWheel = x:
-        let
-          f = toWheelAttrs x.file;
-        in
-        (withPython pythonVer abiTag f) && (withPlatforms f);
-      filtered = builtins.filter filterWheel filesWithoutSources;
-      choose = files:
-        let
-          osxMatches = [ "12_0" "11_0" "10_15" "10_14" "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ];
-          linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "manylinux_" "any" ];
-          chooseLinux = x: lib.take 1 (findBestMatches linuxMatches x);
-          chooseOSX = x: lib.take 1 (findBestMatches osxMatches x);
-        in
-        if isLinux
-        then chooseLinux files
-        else chooseOSX files;
-    in
-    if (builtins.length filtered == 0)
-    then [ ]
-    else choose (filtered);
-in
-{
-  inherit selectWheel toWheelAttrs isPyVersionCompatible;
-}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
deleted file mode 100644
index c9cef28fe85..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
+++ /dev/null
@@ -1,258 +0,0 @@
-{ lib, stdenv, poetryLib }: python:
-let
-  inherit (poetryLib) ireplace;
-
-  targetMachine = poetryLib.getTargetMachine stdenv;
-
-  # Like builtins.substring but with stop being offset instead of length
-  substr = start: stop: s: builtins.substring start (stop - start) s;
-
-  # Strip leading/trailing whitespace from string
-  stripStr = s: lib.elemAt (builtins.split "^ *" (lib.elemAt (builtins.split " *$" s) 0)) 2;
-  findSubExpressionsFun = acc: c: (
-    if c == "(" then
-      (
-        let
-          posNew = acc.pos + 1;
-          isOpen = acc.openP == 0;
-          startPos = if isOpen then posNew else acc.startPos;
-        in
-        acc // {
-          inherit startPos;
-          exprs = acc.exprs ++ [ (substr acc.exprPos (acc.pos - 1) acc.expr) ];
-          pos = posNew;
-          openP = acc.openP + 1;
-        }
-      ) else if c == ")" then
-      (
-        let
-          openP = acc.openP - 1;
-          exprs = findSubExpressions (substr acc.startPos acc.pos acc.expr);
-        in
-        acc // {
-          inherit openP;
-          pos = acc.pos + 1;
-          exprs = if openP == 0 then acc.exprs ++ [ exprs ] else acc.exprs;
-          exprPos = if openP == 0 then acc.pos + 1 else acc.exprPos;
-        }
-      ) else acc // { pos = acc.pos + 1; }
-  );
-
-  # Make a tree out of expression groups (parens)
-  findSubExpressions = expr':
-    let
-      expr = " " + expr';
-      acc = builtins.foldl'
-        findSubExpressionsFun
-        {
-          exprs = [ ];
-          expr = expr;
-          pos = 0;
-          openP = 0;
-          exprPos = 0;
-          startPos = 0;
-        }
-        (lib.stringToCharacters expr);
-      tailExpr = (substr acc.exprPos acc.pos expr);
-      tailExprs = if tailExpr != "" then [ tailExpr ] else [ ];
-    in
-    acc.exprs ++ tailExprs;
-  parseExpressions = exprs:
-    let
-      splitCond = (
-        s: builtins.map
-          (x: stripStr (if builtins.typeOf x == "list" then (builtins.elemAt x 0) else x))
-          (builtins.split " (and|or) " (s + " "))
-      );
-      mapfn = expr: (
-        if (builtins.match "^ ?$" expr != null) then null  # Filter empty
-        else if (builtins.elem expr [ "and" "or" ]) then {
-          type = "bool";
-          value = expr;
-        }
-        else {
-          type = "expr";
-          value = expr;
-        }
-      );
-      parse = expr: builtins.filter (x: x != null) (builtins.map mapfn (splitCond expr));
-    in
-    builtins.foldl'
-      (
-        acc: v: acc ++ (if builtins.typeOf v == "string" then parse v else [ (parseExpressions v) ])
-      ) [ ]
-      exprs;
-
-  # Transform individual expressions to structured expressions
-  # This function also performs variable substitution, replacing environment markers with their explicit values
-  transformExpressions = exprs:
-    let
-      variables = {
-        os_name = (
-          if python.pname == "jython" then "java"
-          else "posix"
-        );
-        sys_platform = (
-          if stdenv.isLinux then "linux"
-          else if stdenv.isDarwin then "darwin"
-          else throw "Unsupported platform"
-        );
-        platform_machine = targetMachine;
-        platform_python_implementation =
-          let
-            impl = python.passthru.implementation;
-          in
-          (
-            if impl == "cpython" then "CPython"
-            else if impl == "pypy" then "PyPy"
-            else throw "Unsupported implementation ${impl}"
-          );
-        platform_release = ""; # Field not reproducible
-        platform_system = (
-          if stdenv.isLinux then "Linux"
-          else if stdenv.isDarwin then "Darwin"
-          else throw "Unsupported platform"
-        );
-        platform_version = ""; # Field not reproducible
-        python_version = python.passthru.pythonVersion;
-        python_full_version = python.version;
-        implementation_name = python.implementation;
-        implementation_version = python.version;
-        # extra = "";
-      };
-      substituteVar = value: if builtins.hasAttr value variables then (builtins.toJSON variables."${value}") else value;
-      processVar = value: builtins.foldl' (acc: v: v acc) value [
-        stripStr
-        substituteVar
-      ];
-    in
-    if builtins.typeOf exprs == "set" then
-      (
-        if exprs.type == "expr" then
-          (
-            let
-              mVal = ''[a-zA-Z0-9\'"_\. \-]+'';
-              mOp = "in|[!=<>]+";
-              e = stripStr exprs.value;
-              m' = builtins.match ''^(${mVal}) +(${mOp}) *(${mVal})$'' e;
-              m = builtins.map stripStr (if m' != null then m' else builtins.match ''^(${mVal}) +(${mOp}) *(${mVal})$'' e);
-              m0 = processVar (builtins.elemAt m 0);
-              m2 = processVar (builtins.elemAt m 2);
-            in
-            {
-              type = "expr";
-              value = {
-                # HACK: We don't know extra at eval time, so we assume the expression is always true
-                op = if m0 == "extra" then "true" else builtins.elemAt m 1;
-                values = [ m0 m2 ];
-              };
-            }
-          ) else exprs
-      ) else builtins.map transformExpressions exprs;
-
-  # Recursively eval all expressions
-  evalExpressions = exprs:
-    let
-      unmarshal = v: (
-        # TODO: Handle single quoted values
-        if v == "True" then true
-        else if v == "False" then false
-        else builtins.fromJSON v
-      );
-      hasElem = needle: haystack: builtins.elem needle (builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " haystack));
-      op = {
-        "true" = x: y: true;
-        "<=" = x: y: op.">=" y x;
-        "<" = x: y: lib.versionOlder (unmarshal x) (unmarshal y);
-        "!=" = x: y: x != y;
-        "==" = x: y: x == y;
-        ">=" = x: y: lib.versionAtLeast (unmarshal x) (unmarshal y);
-        ">" = x: y: op."<" y x;
-        "~=" = v: c:
-          let
-            parts = builtins.splitVersion c;
-            pruned = lib.take ((builtins.length parts) - 1) parts;
-            upper = builtins.toString (
-              (lib.toInt (builtins.elemAt pruned (builtins.length pruned - 1))) + 1
-            );
-            upperConstraint = builtins.concatStringsSep "." (ireplace (builtins.length pruned - 1) upper pruned);
-          in
-          op.">=" v c && op."<" v upperConstraint;
-        "===" = x: y: x == y;
-        "in" = x: y:
-          let
-            values = builtins.filter (x: builtins.typeOf x == "string") (builtins.split " " (unmarshal y));
-          in
-          builtins.elem (unmarshal x) values;
-      };
-    in
-    if builtins.typeOf exprs == "set" then
-      (
-        if exprs.type == "expr" then
-          (
-            let
-              expr = exprs;
-              result = (op."${expr.value.op}") (builtins.elemAt expr.value.values 0) (builtins.elemAt expr.value.values 1);
-            in
-            {
-              type = "value";
-              value = result;
-            }
-          ) else exprs
-      ) else builtins.map evalExpressions exprs;
-
-  # Now that we have performed an eval all that's left to do is to concat the graph into a single bool
-  reduceExpressions = exprs:
-    let
-      cond = {
-        "and" = x: y: x && y;
-        "or" = x: y: x || y;
-      };
-      reduceExpressionsFun = acc: v: (
-        if builtins.typeOf v == "set" then
-          (
-            if v.type == "value" then
-              (
-                acc // {
-                  value = cond."${acc.cond}" acc.value v.value;
-                }
-              ) else if v.type == "bool" then
-              (
-                acc // {
-                  cond = v.value;
-                }
-              ) else throw "Unsupported type"
-          ) else if builtins.typeOf v == "list" then
-          (
-            let
-              ret = builtins.foldl'
-                reduceExpressionsFun
-                {
-                  value = true;
-                  cond = "and";
-                }
-                v;
-            in
-            acc // {
-              value = cond."${acc.cond}" acc.value ret.value;
-            }
-          ) else throw "Unsupported type"
-      );
-    in
-    (
-      builtins.foldl'
-        reduceExpressionsFun
-        {
-          value = true;
-          cond = "and";
-        }
-        exprs
-    ).value;
-in
-e: builtins.foldl' (acc: v: v acc) e [
-  findSubExpressions
-  parseExpressions
-  transformExpressions
-  evalExpressions
-  reduceExpressions
-]
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix
deleted file mode 100644
index b0423a98f9e..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ lib
-, poetry2nix
-, python
-, fetchFromGitHub
-, projectDir ? ./.
-, pyproject ? projectDir + "/pyproject.toml"
-, poetrylock ? projectDir + "/poetry.lock"
-}:
-
-
-poetry2nix.mkPoetryApplication {
-
-  inherit python;
-
-  inherit projectDir pyproject poetrylock;
-
-  src = fetchFromGitHub (lib.importJSON ./src.json);
-
-  # "Vendor" dependencies (for build-system support)
-  postPatch = ''
-    # Figure out the location of poetry.core
-    # As poetry.core is using the same root import name as the poetry package and the python module system wont look for the root
-    # in the separate second location we need to link poetry.core to poetry
-    POETRY_CORE=$(python -c 'import poetry.core; import os.path; print(os.path.dirname(poetry.core.__file__))')
-
-    echo "import sys" >> src/poetry/__init__.py
-    for path in $propagatedBuildInputs; do
-        echo "sys.path.insert(0, \"$path\")" >> src/poetry/__init__.py
-    done
-  '';
-
-  postInstall = ''
-    ln -s $POETRY_CORE $out/${python.sitePackages}/poetry/core
-
-    mkdir -p "$out/share/bash-completion/completions"
-    "$out/bin/poetry" completions bash > "$out/share/bash-completion/completions/poetry"
-    mkdir -p "$out/share/zsh/site-functions"
-    "$out/bin/poetry" completions zsh > "$out/share/zsh/site-functions/_poetry"
-    mkdir -p "$out/share/fish/vendor_completions.d"
-    "$out/bin/poetry" completions fish > "$out/share/fish/vendor_completions.d/poetry.fish"
-  '';
-
-  # Propagating dependencies leads to issues downstream
-  # We've already patched poetry to prefer "vendored" dependencies
-  postFixup = ''
-    rm $out/nix-support/propagated-build-inputs
-  '';
-
-  # Fails because of impurities (network, git etc etc)
-  doCheck = false;
-
-  overrides = [
-    poetry2nix.defaultPoetryOverrides
-    (self: super: {
-      cryptography = super.cryptography.overridePythonAttrs (old: {
-        meta = old.meta // {
-          knownVulnerabilities = old.meta.knownVulnerabilities or [ ]
-            ++ lib.optionals (lib.versionOlder old.version "41.0.0") [
-              "CVE-2023-2650"
-              "CVE-2023-2975"
-              "CVE-2023-3446"
-              "CVE-2023-3817"
-              "CVE-2023-38325"
-            ];
-        };
-      });
-      requests = super.requests.overridePythonAttrs (old: {
-        meta = old.meta // {
-          knownVulnerabilities = old.meta.knownVulnerabilities or [ ]
-          ++ lib.optionals (lib.versionOlder old.version "2.31.0") [
-            "CVE-2023-32681"
-          ];
-        };
-      });
-    })
-  ];
-
-  meta = with lib; {
-    inherit (python.meta) platforms;
-    maintainers = with maintainers; [ adisbladis jakewaksbaum ];
-  };
-}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
deleted file mode 100644
index 4920580e54f..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
+++ /dev/null
@@ -1,1906 +0,0 @@
-# This file is automatically @generated by Poetry and should not be changed by hand.
-
-[[package]]
-name = "attrs"
-version = "23.1.0"
-description = "Classes Without Boilerplate"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"},
-    {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"},
-]
-
-[package.dependencies]
-importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
-
-[package.extras]
-cov = ["attrs[tests]", "coverage[toml] (>=5.3)"]
-dev = ["attrs[docs,tests]", "pre-commit"]
-docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
-tests = ["attrs[tests-no-zope]", "zope-interface"]
-tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
-
-[[package]]
-name = "backports-cached-property"
-version = "1.0.2"
-description = "cached_property() - computed once per instance, cached as attribute"
-category = "main"
-optional = false
-python-versions = ">=3.6.0"
-files = [
-    {file = "backports.cached-property-1.0.2.tar.gz", hash = "sha256:9306f9eed6ec55fd156ace6bc1094e2c86fae5fb2bf07b6a9c00745c656e75dd"},
-    {file = "backports.cached_property-1.0.2-py3-none-any.whl", hash = "sha256:baeb28e1cd619a3c9ab8941431fe34e8490861fb998c6c4590693d50171db0cc"},
-]
-
-[[package]]
-name = "cachecontrol"
-version = "0.12.11"
-description = "httplib2 caching for requests"
-category = "main"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "CacheControl-0.12.11-py2.py3-none-any.whl", hash = "sha256:2c75d6a8938cb1933c75c50184549ad42728a27e9f6b92fd677c3151aa72555b"},
-    {file = "CacheControl-0.12.11.tar.gz", hash = "sha256:a5b9fcc986b184db101aa280b42ecdcdfc524892596f606858e0b7a8b4d9e144"},
-]
-
-[package.dependencies]
-lockfile = {version = ">=0.9", optional = true, markers = "extra == \"filecache\""}
-msgpack = ">=0.5.2"
-requests = "*"
-
-[package.extras]
-filecache = ["lockfile (>=0.9)"]
-redis = ["redis (>=2.10.5)"]
-
-[[package]]
-name = "cachy"
-version = "0.3.0"
-description = "Cachy provides a simple yet effective caching library."
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
-    {file = "cachy-0.3.0-py2.py3-none-any.whl", hash = "sha256:338ca09c8860e76b275aff52374330efedc4d5a5e45dc1c5b539c1ead0786fe7"},
-    {file = "cachy-0.3.0.tar.gz", hash = "sha256:186581f4ceb42a0bbe040c407da73c14092379b1e4c0e327fdb72ae4a9b269b1"},
-]
-
-[package.extras]
-memcached = ["python-memcached (>=1.59,<2.0)"]
-msgpack = ["msgpack-python (>=0.5,<0.6)"]
-redis = ["redis (>=3.3.6,<4.0.0)"]
-
-[[package]]
-name = "certifi"
-version = "2022.12.7"
-description = "Python package for providing Mozilla's CA Bundle."
-category = "main"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"},
-    {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"},
-]
-
-[[package]]
-name = "cffi"
-version = "1.15.1"
-description = "Foreign Function Interface for Python calling C code."
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"},
-    {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"},
-    {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"},
-    {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"},
-    {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"},
-    {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"},
-    {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"},
-    {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"},
-    {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"},
-    {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"},
-    {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"},
-    {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"},
-    {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"},
-    {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"},
-    {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"},
-    {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"},
-    {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"},
-    {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"},
-    {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"},
-    {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"},
-    {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"},
-    {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"},
-    {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"},
-    {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"},
-    {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"},
-    {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"},
-    {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"},
-    {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"},
-    {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"},
-    {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"},
-    {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"},
-    {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"},
-    {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"},
-    {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"},
-    {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"},
-    {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"},
-    {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"},
-    {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"},
-    {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"},
-    {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"},
-    {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"},
-    {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"},
-    {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"},
-    {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"},
-]
-
-[package.dependencies]
-pycparser = "*"
-
-[[package]]
-name = "cfgv"
-version = "3.3.1"
-description = "Validate configuration and produce human readable error messages."
-category = "dev"
-optional = false
-python-versions = ">=3.6.1"
-files = [
-    {file = "cfgv-3.3.1-py2.py3-none-any.whl", hash = "sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426"},
-    {file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"},
-]
-
-[[package]]
-name = "charset-normalizer"
-version = "3.1.0"
-description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-category = "main"
-optional = false
-python-versions = ">=3.7.0"
-files = [
-    {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"},
-    {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"},
-    {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"},
-    {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"},
-    {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"},
-    {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"},
-    {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"},
-]
-
-[[package]]
-name = "cleo"
-version = "2.0.1"
-description = "Cleo allows you to create beautiful and testable command-line interfaces."
-category = "main"
-optional = false
-python-versions = ">=3.7,<4.0"
-files = [
-    {file = "cleo-2.0.1-py3-none-any.whl", hash = "sha256:6eb133670a3ed1f3b052d53789017b6e50fca66d1287e6e6696285f4cb8ea448"},
-    {file = "cleo-2.0.1.tar.gz", hash = "sha256:eb4b2e1f3063c11085cebe489a6e9124163c226575a3c3be69b2e51af4a15ec5"},
-]
-
-[package.dependencies]
-crashtest = ">=0.4.1,<0.5.0"
-rapidfuzz = ">=2.2.0,<3.0.0"
-
-[[package]]
-name = "colorama"
-version = "0.4.6"
-description = "Cross-platform colored terminal text."
-category = "dev"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
-files = [
-    {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
-    {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
-]
-
-[[package]]
-name = "coverage"
-version = "7.2.5"
-description = "Code coverage measurement for Python"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "coverage-7.2.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:883123d0bbe1c136f76b56276074b0c79b5817dd4238097ffa64ac67257f4b6c"},
-    {file = "coverage-7.2.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d2fbc2a127e857d2f8898aaabcc34c37771bf78a4d5e17d3e1f5c30cd0cbc62a"},
-    {file = "coverage-7.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f3671662dc4b422b15776cdca89c041a6349b4864a43aa2350b6b0b03bbcc7f"},
-    {file = "coverage-7.2.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780551e47d62095e088f251f5db428473c26db7829884323e56d9c0c3118791a"},
-    {file = "coverage-7.2.5-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:066b44897c493e0dcbc9e6a6d9f8bbb6607ef82367cf6810d387c09f0cd4fe9a"},
-    {file = "coverage-7.2.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b9a4ee55174b04f6af539218f9f8083140f61a46eabcaa4234f3c2a452c4ed11"},
-    {file = "coverage-7.2.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:706ec567267c96717ab9363904d846ec009a48d5f832140b6ad08aad3791b1f5"},
-    {file = "coverage-7.2.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ae453f655640157d76209f42c62c64c4d4f2c7f97256d3567e3b439bd5c9b06c"},
-    {file = "coverage-7.2.5-cp310-cp310-win32.whl", hash = "sha256:f81c9b4bd8aa747d417407a7f6f0b1469a43b36a85748145e144ac4e8d303cb5"},
-    {file = "coverage-7.2.5-cp310-cp310-win_amd64.whl", hash = "sha256:dc945064a8783b86fcce9a0a705abd7db2117d95e340df8a4333f00be5efb64c"},
-    {file = "coverage-7.2.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:40cc0f91c6cde033da493227797be2826cbf8f388eaa36a0271a97a332bfd7ce"},
-    {file = "coverage-7.2.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a66e055254a26c82aead7ff420d9fa8dc2da10c82679ea850d8feebf11074d88"},
-    {file = "coverage-7.2.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c10fbc8a64aa0f3ed136b0b086b6b577bc64d67d5581acd7cc129af52654384e"},
-    {file = "coverage-7.2.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a22cbb5ede6fade0482111fa7f01115ff04039795d7092ed0db43522431b4f2"},
-    {file = "coverage-7.2.5-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:292300f76440651529b8ceec283a9370532f4ecba9ad67d120617021bb5ef139"},
-    {file = "coverage-7.2.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7ff8f3fb38233035028dbc93715551d81eadc110199e14bbbfa01c5c4a43f8d8"},
-    {file = "coverage-7.2.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:a08c7401d0b24e8c2982f4e307124b671c6736d40d1c39e09d7a8687bddf83ed"},
-    {file = "coverage-7.2.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ef9659d1cda9ce9ac9585c045aaa1e59223b143f2407db0eaee0b61a4f266fb6"},
-    {file = "coverage-7.2.5-cp311-cp311-win32.whl", hash = "sha256:30dcaf05adfa69c2a7b9f7dfd9f60bc8e36b282d7ed25c308ef9e114de7fc23b"},
-    {file = "coverage-7.2.5-cp311-cp311-win_amd64.whl", hash = "sha256:97072cc90f1009386c8a5b7de9d4fc1a9f91ba5ef2146c55c1f005e7b5c5e068"},
-    {file = "coverage-7.2.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:bebea5f5ed41f618797ce3ffb4606c64a5de92e9c3f26d26c2e0aae292f015c1"},
-    {file = "coverage-7.2.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828189fcdda99aae0d6bf718ea766b2e715eabc1868670a0a07bf8404bf58c33"},
-    {file = "coverage-7.2.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e8a95f243d01ba572341c52f89f3acb98a3b6d1d5d830efba86033dd3687ade"},
-    {file = "coverage-7.2.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8834e5f17d89e05697c3c043d3e58a8b19682bf365048837383abfe39adaed5"},
-    {file = "coverage-7.2.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d1f25ee9de21a39b3a8516f2c5feb8de248f17da7eead089c2e04aa097936b47"},
-    {file = "coverage-7.2.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1637253b11a18f453e34013c665d8bf15904c9e3c44fbda34c643fbdc9d452cd"},
-    {file = "coverage-7.2.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8e575a59315a91ccd00c7757127f6b2488c2f914096077c745c2f1ba5b8c0969"},
-    {file = "coverage-7.2.5-cp37-cp37m-win32.whl", hash = "sha256:509ecd8334c380000d259dc66feb191dd0a93b21f2453faa75f7f9cdcefc0718"},
-    {file = "coverage-7.2.5-cp37-cp37m-win_amd64.whl", hash = "sha256:12580845917b1e59f8a1c2ffa6af6d0908cb39220f3019e36c110c943dc875b0"},
-    {file = "coverage-7.2.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b5016e331b75310610c2cf955d9f58a9749943ed5f7b8cfc0bb89c6134ab0a84"},
-    {file = "coverage-7.2.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:373ea34dca98f2fdb3e5cb33d83b6d801007a8074f992b80311fc589d3e6b790"},
-    {file = "coverage-7.2.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a063aad9f7b4c9f9da7b2550eae0a582ffc7623dca1c925e50c3fbde7a579771"},
-    {file = "coverage-7.2.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38c0a497a000d50491055805313ed83ddba069353d102ece8aef5d11b5faf045"},
-    {file = "coverage-7.2.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2b3b05e22a77bb0ae1a3125126a4e08535961c946b62f30985535ed40e26614"},
-    {file = "coverage-7.2.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0342a28617e63ad15d96dca0f7ae9479a37b7d8a295f749c14f3436ea59fdcb3"},
-    {file = "coverage-7.2.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cf97ed82ca986e5c637ea286ba2793c85325b30f869bf64d3009ccc1a31ae3fd"},
-    {file = "coverage-7.2.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c2c41c1b1866b670573657d584de413df701f482574bad7e28214a2362cb1fd1"},
-    {file = "coverage-7.2.5-cp38-cp38-win32.whl", hash = "sha256:10b15394c13544fce02382360cab54e51a9e0fd1bd61ae9ce012c0d1e103c813"},
-    {file = "coverage-7.2.5-cp38-cp38-win_amd64.whl", hash = "sha256:a0b273fe6dc655b110e8dc89b8ec7f1a778d78c9fd9b4bda7c384c8906072212"},
-    {file = "coverage-7.2.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5c587f52c81211d4530fa6857884d37f514bcf9453bdeee0ff93eaaf906a5c1b"},
-    {file = "coverage-7.2.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4436cc9ba5414c2c998eaedee5343f49c02ca93b21769c5fdfa4f9d799e84200"},
-    {file = "coverage-7.2.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6599bf92f33ab041e36e06d25890afbdf12078aacfe1f1d08c713906e49a3fe5"},
-    {file = "coverage-7.2.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:857abe2fa6a4973f8663e039ead8d22215d31db613ace76e4a98f52ec919068e"},
-    {file = "coverage-7.2.5-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6f5cab2d7f0c12f8187a376cc6582c477d2df91d63f75341307fcdcb5d60303"},
-    {file = "coverage-7.2.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:aa387bd7489f3e1787ff82068b295bcaafbf6f79c3dad3cbc82ef88ce3f48ad3"},
-    {file = "coverage-7.2.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:156192e5fd3dbbcb11cd777cc469cf010a294f4c736a2b2c891c77618cb1379a"},
-    {file = "coverage-7.2.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bd3b4b8175c1db502adf209d06136c000df4d245105c8839e9d0be71c94aefe1"},
-    {file = "coverage-7.2.5-cp39-cp39-win32.whl", hash = "sha256:ddc5a54edb653e9e215f75de377354e2455376f416c4378e1d43b08ec50acc31"},
-    {file = "coverage-7.2.5-cp39-cp39-win_amd64.whl", hash = "sha256:338aa9d9883aaaad53695cb14ccdeb36d4060485bb9388446330bef9c361c252"},
-    {file = "coverage-7.2.5-pp37.pp38.pp39-none-any.whl", hash = "sha256:8877d9b437b35a85c18e3c6499b23674684bf690f5d96c1006a1ef61f9fdf0f3"},
-    {file = "coverage-7.2.5.tar.gz", hash = "sha256:f99ef080288f09ffc687423b8d60978cf3a465d3f404a18d1a05474bd8575a47"},
-]
-
-[package.dependencies]
-tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""}
-
-[package.extras]
-toml = ["tomli"]
-
-[[package]]
-name = "crashtest"
-version = "0.4.1"
-description = "Manage Python errors with ease"
-category = "main"
-optional = false
-python-versions = ">=3.7,<4.0"
-files = [
-    {file = "crashtest-0.4.1-py3-none-any.whl", hash = "sha256:8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5"},
-    {file = "crashtest-0.4.1.tar.gz", hash = "sha256:80d7b1f316ebfbd429f648076d6275c877ba30ba48979de4191714a75266f0ce"},
-]
-
-[[package]]
-name = "cryptography"
-version = "40.0.2"
-description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
-category = "main"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_universal2.whl", hash = "sha256:8f79b5ff5ad9d3218afb1e7e20ea74da5f76943ee5edb7f76e56ec5161ec782b"},
-    {file = "cryptography-40.0.2-cp36-abi3-macosx_10_12_x86_64.whl", hash = "sha256:05dc219433b14046c476f6f09d7636b92a1c3e5808b9a6536adf4932b3b2c440"},
-    {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4df2af28d7bedc84fe45bd49bc35d710aede676e2a4cb7fc6d103a2adc8afe4d"},
-    {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dcca15d3a19a66e63662dc8d30f8036b07be851a8680eda92d079868f106288"},
-    {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:a04386fb7bc85fab9cd51b6308633a3c271e3d0d3eae917eebab2fac6219b6d2"},
-    {file = "cryptography-40.0.2-cp36-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:adc0d980fd2760c9e5de537c28935cc32b9353baaf28e0814df417619c6c8c3b"},
-    {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:d5a1bd0e9e2031465761dfa920c16b0065ad77321d8a8c1f5ee331021fda65e9"},
-    {file = "cryptography-40.0.2-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:a95f4802d49faa6a674242e25bfeea6fc2acd915b5e5e29ac90a32b1139cae1c"},
-    {file = "cryptography-40.0.2-cp36-abi3-win32.whl", hash = "sha256:aecbb1592b0188e030cb01f82d12556cf72e218280f621deed7d806afd2113f9"},
-    {file = "cryptography-40.0.2-cp36-abi3-win_amd64.whl", hash = "sha256:b12794f01d4cacfbd3177b9042198f3af1c856eedd0a98f10f141385c809a14b"},
-    {file = "cryptography-40.0.2-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:142bae539ef28a1c76794cca7f49729e7c54423f615cfd9b0b1fa90ebe53244b"},
-    {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:956ba8701b4ffe91ba59665ed170a2ebbdc6fc0e40de5f6059195d9f2b33ca0e"},
-    {file = "cryptography-40.0.2-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4f01c9863da784558165f5d4d916093737a75203a5c5286fde60e503e4276c7a"},
-    {file = "cryptography-40.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:3daf9b114213f8ba460b829a02896789751626a2a4e7a43a28ee77c04b5e4958"},
-    {file = "cryptography-40.0.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48f388d0d153350f378c7f7b41497a54ff1513c816bcbbcafe5b829e59b9ce5b"},
-    {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c0764e72b36a3dc065c155e5b22f93df465da9c39af65516fe04ed3c68c92636"},
-    {file = "cryptography-40.0.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cbaba590180cba88cb99a5f76f90808a624f18b169b90a4abb40c1fd8c19420e"},
-    {file = "cryptography-40.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7a38250f433cd41df7fcb763caa3ee9362777fdb4dc642b9a349721d2bf47404"},
-    {file = "cryptography-40.0.2.tar.gz", hash = "sha256:c33c0d32b8594fa647d2e01dbccc303478e16fdd7cf98652d5b3ed11aa5e5c99"},
-]
-
-[package.dependencies]
-cffi = ">=1.12"
-
-[package.extras]
-docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"]
-docstest = ["pyenchant (>=1.6.11)", "sphinxcontrib-spelling (>=4.0.1)", "twine (>=1.12.0)"]
-pep8test = ["black", "check-manifest", "mypy", "ruff"]
-sdist = ["setuptools-rust (>=0.11.4)"]
-ssh = ["bcrypt (>=3.1.5)"]
-test = ["iso8601", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-shard (>=0.1.2)", "pytest-subtests", "pytest-xdist"]
-test-randomorder = ["pytest-randomly"]
-tox = ["tox"]
-
-[[package]]
-name = "deepdiff"
-version = "5.8.1"
-description = "Deep Difference and Search of any Python object/data."
-category = "dev"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "deepdiff-5.8.1-py3-none-any.whl", hash = "sha256:e9aea49733f34fab9a0897038d8f26f9d94a97db1790f1b814cced89e9e0d2b7"},
-    {file = "deepdiff-5.8.1.tar.gz", hash = "sha256:8d4eb2c4e6cbc80b811266419cb71dd95a157094a3947ccf937a94d44943c7b8"},
-]
-
-[package.dependencies]
-ordered-set = ">=4.1.0,<4.2.0"
-
-[package.extras]
-cli = ["clevercsv (==0.7.1)", "click (==8.0.3)", "pyyaml (==5.4.1)", "toml (==0.10.2)"]
-
-[[package]]
-name = "distlib"
-version = "0.3.6"
-description = "Distribution utilities"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "distlib-0.3.6-py2.py3-none-any.whl", hash = "sha256:f35c4b692542ca110de7ef0bea44d73981caeb34ca0b9b6b2e6d7790dda8f80e"},
-    {file = "distlib-0.3.6.tar.gz", hash = "sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46"},
-]
-
-[[package]]
-name = "dulwich"
-version = "0.20.50"
-description = "Python Git Library"
-category = "main"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "dulwich-0.20.50-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:97f02f8d500d4af08dc022d697c56e8539171acc3f575c2fe9acf3b078e5c8c9"},
-    {file = "dulwich-0.20.50-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7301773e5cc16d521bc6490e73772a86a4d1d0263de506f08b54678cc4e2f061"},
-    {file = "dulwich-0.20.50-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b70106580ed11f45f4c32d2831d0c9c9f359bc2415fff4a6be443e3a36811398"},
-    {file = "dulwich-0.20.50-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f9c4f2455f966cad94648278fa9972e4695b35d04f82792fa58e1ea15dd83f0"},
-    {file = "dulwich-0.20.50-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9163fbb021a8ad9c35a0814a5eedf45a8eb3a0b764b865d7016d901fc5a947fc"},
-    {file = "dulwich-0.20.50-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:322ff8ff6aa4d6d36294cd36de1c84767eb1903c7db3e7b4475ad091febf5363"},
-    {file = "dulwich-0.20.50-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5d3290a45651c8e534f8e83ae2e30322aefdd162f0f338bae2e79a6ee5a87513"},
-    {file = "dulwich-0.20.50-cp310-cp310-win32.whl", hash = "sha256:80ab07131a6e68594441f5c4767e9e44e87fceafc3e347e541c928a18c679bd8"},
-    {file = "dulwich-0.20.50-cp310-cp310-win_amd64.whl", hash = "sha256:eefe786a6010f8546baac4912113eeed4e397ddb8c433a345b548a04d4176496"},
-    {file = "dulwich-0.20.50-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:df3562dde3079d57287c233d45b790bc967c5aae975c9a7b07ca30e60e055512"},
-    {file = "dulwich-0.20.50-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e1ae18d5805f0c0c5dac65795f8d48660437166b12ee2c0ffea95bfdbf9c1051"},
-    {file = "dulwich-0.20.50-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d2f7df39bd1378d3b0bfb3e7fc930fd0191924af1f0ef587bcd9946afe076c06"},
-    {file = "dulwich-0.20.50-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:731e7f319b34251fadeb362ada1d52cc932369d9cdfa25c0e41150cda28773d0"},
-    {file = "dulwich-0.20.50-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4d11d44176e5d2fa8271fc86ad1e0a8731b9ad8f77df64c12846b30e16135eb"},
-    {file = "dulwich-0.20.50-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7aaabb8e4beadd53f75f853a981caaadef3ef130e5645c902705704eaf136daa"},
-    {file = "dulwich-0.20.50-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c3dc9f97ec8d3db08d9723b9fd06f3e52c15b84c800d153cfb59b0a3dc8b8d40"},
-    {file = "dulwich-0.20.50-cp311-cp311-win32.whl", hash = "sha256:3b1964fa80cafd5a1fd71615b0313daf6f3295c6ab05656ea0c1d2423539904a"},
-    {file = "dulwich-0.20.50-cp311-cp311-win_amd64.whl", hash = "sha256:a24a3893108f3b97beb958670d5f3f2a3bec73a1fe18637a572a85abd949a1c4"},
-    {file = "dulwich-0.20.50-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6d409a282f8848fd6c8d7c7545ad2f75c16de5d5977de202642f1d50fdaac554"},
-    {file = "dulwich-0.20.50-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5411d0f1092152e1c0bb916ae490fe181953ae1b8d13f4e68661253e10b78dbb"},
-    {file = "dulwich-0.20.50-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6343569f998ce429e2a5d813c56768ac51b496522401db950f0aa44240bfa901"},
-    {file = "dulwich-0.20.50-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a405cd236766060894411614a272cfb86fe86cde5ca73ef264fc4fa5a715fff4"},
-    {file = "dulwich-0.20.50-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:ee0f9b02019c0ea84cdd31c00a0c283669b771c85612997a911715cf84e33d99"},
-    {file = "dulwich-0.20.50-cp36-cp36m-win32.whl", hash = "sha256:2644466270267270f2157ea6f1c0aa224f6f3bf06a307fc39954e6b4b3d82bae"},
-    {file = "dulwich-0.20.50-cp36-cp36m-win_amd64.whl", hash = "sha256:d4629635a97e3af1b5da48071e00c8e70fad85f3266fadabe1f5a8f49172c507"},
-    {file = "dulwich-0.20.50-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0e4862f318d99cc8a500e3622a89613a88c07d957a0f628cdc2ed86addff790f"},
-    {file = "dulwich-0.20.50-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c96e3fb9d48c0454dc242c7accc7819780c9a7f29e441a9eff12361ed0fa35f9"},
-    {file = "dulwich-0.20.50-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cc6092a4f0bbbff2e553e87a9c6325955b64ea43fca21297c8182e19ae8a43c"},
-    {file = "dulwich-0.20.50-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:519b627d49d273e2fd01c79d09e578675ca6cd05193c1787e9ef165c9a1d66ea"},
-    {file = "dulwich-0.20.50-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a75cab01b909c4c683c2083e060e378bc01701b7366b5a7d9846ef6d3b9e3d5"},
-    {file = "dulwich-0.20.50-cp37-cp37m-win32.whl", hash = "sha256:ea8ffe26d91dbcd5580dbd5a07270a12ea57b091604d77184da0a0d9fad50ed3"},
-    {file = "dulwich-0.20.50-cp37-cp37m-win_amd64.whl", hash = "sha256:8f3af857f94021cae1322d86925bfc0dd31e501e885ab5db275473bfac0bb39d"},
-    {file = "dulwich-0.20.50-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3fb35cedb1243bc420d885ef5b4afd642c6ac8f07ddfc7fdbca1becf9948bf7e"},
-    {file = "dulwich-0.20.50-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4bb23a9cec63e16c0e432335f068169b73dd44fa9318dd7cd7a4ca83607ff367"},
-    {file = "dulwich-0.20.50-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5267619b34ddaf8d9a6b841492cd17a971fd25bf9a5657f2de928385c3a08b94"},
-    {file = "dulwich-0.20.50-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9091f1d53a3c0747cbf0bd127c64e7f09b770264d8fb53e284383fcdf69154e7"},
-    {file = "dulwich-0.20.50-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6ec7c8fea2b44187a3b545e6c11ab9947ffb122647b07abcdb7cc3aaa770c0e"},
-    {file = "dulwich-0.20.50-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:11b180b80363b4fc70664197028181a17ae4c52df9965a29b62a6c52e40c2dbe"},
-    {file = "dulwich-0.20.50-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c83e7840d9d0a94d7033bc109efe0c22dfcdcd816bcd4469085e42809e3bf5ba"},
-    {file = "dulwich-0.20.50-cp38-cp38-win32.whl", hash = "sha256:c075f69c2de19d9fd97e3b70832d2b42c6a4a5d909b3ffd1963b67d86029f95f"},
-    {file = "dulwich-0.20.50-cp38-cp38-win_amd64.whl", hash = "sha256:06775c5713cfeda778c7c67d4422b5e7554d3a7f644f1dde646cdf486a30285a"},
-    {file = "dulwich-0.20.50-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:49f66f1c057c18d7d60363f461f4ab8329320fbe1f02a7a33c255864a7d3c942"},
-    {file = "dulwich-0.20.50-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4e541cd690a5e3d55082ed51732d755917e933cddeb4b0204f2a5ec5d5d7b60b"},
-    {file = "dulwich-0.20.50-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:80e8750ee2fa0ab2784a095956077758e5f6107de27f637c4b9d18406652c22c"},
-    {file = "dulwich-0.20.50-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fbb6368f18451dc44c95c55e1a609d1a01d3821f7ed480b22b2aea1baca0f4a7"},
-    {file = "dulwich-0.20.50-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3ee45001411b638641819b7b3b33f31f13467c84066e432256580fcab7d8815"},
-    {file = "dulwich-0.20.50-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4842e22ed863a776b36ef8ffe9ed7b772eb452b42c8d02975c29d27e3bc50ab4"},
-    {file = "dulwich-0.20.50-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:790e4a641284a7fb4d56ebdaf8b324a5826fbbb9c54307c06f586f9f6a5e56db"},
-    {file = "dulwich-0.20.50-cp39-cp39-win32.whl", hash = "sha256:f08406b6b789dea5c95ba1130a0801d8748a67f18be940fe7486a8b481fde875"},
-    {file = "dulwich-0.20.50-cp39-cp39-win_amd64.whl", hash = "sha256:78c388ad421199000fb7b5ed5f0c7b509b3e31bd7cad303786a4d0bf89b82f60"},
-    {file = "dulwich-0.20.50-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:cb194c53109131bcbcd1ca430fcd437cdaf2d33e204e45fbe121c47eaa43e9af"},
-    {file = "dulwich-0.20.50-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7542a72c5640dd0620862d6df8688f02a6c336359b5af9b3fcfe11b7fa6652f"},
-    {file = "dulwich-0.20.50-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4aa1d0861517ebbbe0e0084cc9ab4f7ab720624a3eda2bd10e45f774ab858db8"},
-    {file = "dulwich-0.20.50-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:583c6bbc27f13fe2e41a19f6987a42681c6e4f6959beae0a6e5bb033b8b081a8"},
-    {file = "dulwich-0.20.50-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0c61c193d02c0e1e0d758cdd57ae76685c368d09a01f00d704ba88bd96767cfe"},
-    {file = "dulwich-0.20.50-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2edbff3053251985f10702adfafbee118298d383ef5b5b432a5f22d1f1915df"},
-    {file = "dulwich-0.20.50-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a344230cadfc5d315752add6ce9d4cfcfc6c85e36bbf57fce9444bcc7c6ea8fb"},
-    {file = "dulwich-0.20.50-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:57bff9bde0b6b05b00c6acbb1a94357caddb2908ed7026a48c715ff50d220335"},
-    {file = "dulwich-0.20.50-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e29a3c2037761fa816aa556e78364dfc8e3f44b873db2d17aed96f9b06ac83a3"},
-    {file = "dulwich-0.20.50-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2aa2a4a84029625bf9c63771f8a628db1f3be2d2ea3cb8b17942cd4317797152"},
-    {file = "dulwich-0.20.50-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd9fa00971ecf059bb358085a942ecac5be4ff71acdf299f44c8cbc45c18659f"},
-    {file = "dulwich-0.20.50-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:af4adac92fb95671ea3a24f2f8e5e5e8f638711ce9c33a3ca6cd68bf1ff7d99f"},
-    {file = "dulwich-0.20.50.tar.gz", hash = "sha256:50a941796b2c675be39be728d540c16b5b7ce77eb9e1b3f855650ece6832d2be"},
-]
-
-[package.dependencies]
-urllib3 = ">=1.25"
-
-[package.extras]
-fastimport = ["fastimport"]
-https = ["urllib3 (>=1.24.1)"]
-paramiko = ["paramiko"]
-pgp = ["gpg"]
-
-[[package]]
-name = "exceptiongroup"
-version = "1.1.1"
-description = "Backport of PEP 654 (exception groups)"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"},
-    {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"},
-]
-
-[package.extras]
-test = ["pytest (>=6)"]
-
-[[package]]
-name = "execnet"
-version = "1.9.0"
-description = "execnet: rapid multi-Python deployment"
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
-    {file = "execnet-1.9.0-py2.py3-none-any.whl", hash = "sha256:a295f7cc774947aac58dde7fdc85f4aa00c42adf5d8f5468fc630c1acf30a142"},
-    {file = "execnet-1.9.0.tar.gz", hash = "sha256:8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5"},
-]
-
-[package.extras]
-testing = ["pre-commit"]
-
-[[package]]
-name = "filelock"
-version = "3.12.0"
-description = "A platform independent file lock."
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "filelock-3.12.0-py3-none-any.whl", hash = "sha256:ad98852315c2ab702aeb628412cbf7e95b7ce8c3bf9565670b4eaecf1db370a9"},
-    {file = "filelock-3.12.0.tar.gz", hash = "sha256:fc03ae43288c013d2ea83c8597001b1129db351aad9c57fe2409327916b8e718"},
-]
-
-[package.extras]
-docs = ["furo (>=2023.3.27)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"]
-testing = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "diff-cover (>=7.5)", "pytest (>=7.3.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"]
-
-[[package]]
-name = "flatdict"
-version = "4.0.1"
-description = "Python module for interacting with nested dicts as a single level dict with delimited keys."
-category = "dev"
-optional = false
-python-versions = "*"
-files = [
-    {file = "flatdict-4.0.1.tar.gz", hash = "sha256:cd32f08fd31ed21eb09ebc76f06b6bd12046a24f77beb1fd0281917e47f26742"},
-]
-
-[[package]]
-name = "html5lib"
-version = "1.1"
-description = "HTML parser based on the WHATWG HTML specification"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
-    {file = "html5lib-1.1-py2.py3-none-any.whl", hash = "sha256:0d78f8fde1c230e99fe37986a60526d7049ed4bf8a9fadbad5f00e22e58e041d"},
-    {file = "html5lib-1.1.tar.gz", hash = "sha256:b2e5b40261e20f354d198eae92afc10d750afb487ed5e50f9c4eaf07c184146f"},
-]
-
-[package.dependencies]
-six = ">=1.9"
-webencodings = "*"
-
-[package.extras]
-all = ["chardet (>=2.2)", "genshi", "lxml"]
-chardet = ["chardet (>=2.2)"]
-genshi = ["genshi"]
-lxml = ["lxml"]
-
-[[package]]
-name = "httpretty"
-version = "1.1.4"
-description = "HTTP client mock for Python"
-category = "dev"
-optional = false
-python-versions = ">=3"
-files = [
-    {file = "httpretty-1.1.4.tar.gz", hash = "sha256:20de0e5dd5a18292d36d928cc3d6e52f8b2ac73daec40d41eb62dee154933b68"},
-]
-
-[[package]]
-name = "identify"
-version = "2.5.23"
-description = "File identification library for Python"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "identify-2.5.23-py2.py3-none-any.whl", hash = "sha256:17d9351c028a781456965e781ed2a435755cac655df1ebd930f7186b54399312"},
-    {file = "identify-2.5.23.tar.gz", hash = "sha256:50b01b9d5f73c6b53e5fa2caf9f543d3e657a9d0bbdeb203ebb8d45960ba7433"},
-]
-
-[package.extras]
-license = ["ukkonen"]
-
-[[package]]
-name = "idna"
-version = "3.4"
-description = "Internationalized Domain Names in Applications (IDNA)"
-category = "main"
-optional = false
-python-versions = ">=3.5"
-files = [
-    {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
-    {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
-]
-
-[[package]]
-name = "importlib-metadata"
-version = "4.13.0"
-description = "Read metadata from Python packages"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"},
-    {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"},
-]
-
-[package.dependencies]
-typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""}
-zipp = ">=0.5"
-
-[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"]
-perf = ["ipython"]
-testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"]
-
-[[package]]
-name = "importlib-resources"
-version = "5.12.0"
-description = "Read resources from Python packages"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"},
-    {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"},
-]
-
-[package.dependencies]
-zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
-
-[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
-
-[[package]]
-name = "iniconfig"
-version = "2.0.0"
-description = "brain-dead simple config-ini parsing"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"},
-    {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
-]
-
-[[package]]
-name = "jaraco-classes"
-version = "3.2.3"
-description = "Utility functions for Python class constructs"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "jaraco.classes-3.2.3-py3-none-any.whl", hash = "sha256:2353de3288bc6b82120752201c6b1c1a14b058267fa424ed5ce5984e3b922158"},
-    {file = "jaraco.classes-3.2.3.tar.gz", hash = "sha256:89559fa5c1d3c34eff6f631ad80bb21f378dbcbb35dd161fd2c6b93f5be2f98a"},
-]
-
-[package.dependencies]
-more-itertools = "*"
-
-[package.extras]
-docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"]
-testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
-
-[[package]]
-name = "jeepney"
-version = "0.8.0"
-description = "Low-level, pure Python DBus protocol wrapper."
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"},
-    {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"},
-]
-
-[package.extras]
-test = ["async-timeout", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"]
-trio = ["async_generator", "trio"]
-
-[[package]]
-name = "jsonschema"
-version = "4.17.3"
-description = "An implementation of JSON Schema validation for Python"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "jsonschema-4.17.3-py3-none-any.whl", hash = "sha256:a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6"},
-    {file = "jsonschema-4.17.3.tar.gz", hash = "sha256:0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d"},
-]
-
-[package.dependencies]
-attrs = ">=17.4.0"
-importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
-importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""}
-pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""}
-pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2"
-typing-extensions = {version = "*", markers = "python_version < \"3.8\""}
-
-[package.extras]
-format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
-format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"]
-
-[[package]]
-name = "keyring"
-version = "23.13.1"
-description = "Store and access your passwords safely."
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "keyring-23.13.1-py3-none-any.whl", hash = "sha256:771ed2a91909389ed6148631de678f82ddc73737d85a927f382a8a1b157898cd"},
-    {file = "keyring-23.13.1.tar.gz", hash = "sha256:ba2e15a9b35e21908d0aaf4e0a47acc52d6ae33444df0da2b49d41a46ef6d678"},
-]
-
-[package.dependencies]
-importlib-metadata = {version = ">=4.11.4", markers = "python_version < \"3.12\""}
-importlib-resources = {version = "*", markers = "python_version < \"3.9\""}
-"jaraco.classes" = "*"
-jeepney = {version = ">=0.4.2", markers = "sys_platform == \"linux\""}
-pywin32-ctypes = {version = ">=0.2.0", markers = "sys_platform == \"win32\""}
-SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""}
-
-[package.extras]
-completion = ["shtab"]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"]
-testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
-
-[[package]]
-name = "lockfile"
-version = "0.12.2"
-description = "Platform-independent file locking module"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"},
-    {file = "lockfile-0.12.2.tar.gz", hash = "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799"},
-]
-
-[[package]]
-name = "more-itertools"
-version = "9.1.0"
-description = "More routines for operating on iterables, beyond itertools"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "more-itertools-9.1.0.tar.gz", hash = "sha256:cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d"},
-    {file = "more_itertools-9.1.0-py3-none-any.whl", hash = "sha256:d2bc7f02446e86a68911e58ded76d6561eea00cddfb2a91e7019bbb586c799f3"},
-]
-
-[[package]]
-name = "msgpack"
-version = "1.0.5"
-description = "MessagePack serializer"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:525228efd79bb831cf6830a732e2e80bc1b05436b086d4264814b4b2955b2fa9"},
-    {file = "msgpack-1.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4f8d8b3bf1ff2672567d6b5c725a1b347fe838b912772aa8ae2bf70338d5a198"},
-    {file = "msgpack-1.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdc793c50be3f01106245a61b739328f7dccc2c648b501e237f0699fe1395b81"},
-    {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5cb47c21a8a65b165ce29f2bec852790cbc04936f502966768e4aae9fa763cb7"},
-    {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e42b9594cc3bf4d838d67d6ed62b9e59e201862a25e9a157019e171fbe672dd3"},
-    {file = "msgpack-1.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:55b56a24893105dc52c1253649b60f475f36b3aa0fc66115bffafb624d7cb30b"},
-    {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:1967f6129fc50a43bfe0951c35acbb729be89a55d849fab7686004da85103f1c"},
-    {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20a97bf595a232c3ee6d57ddaadd5453d174a52594bf9c21d10407e2a2d9b3bd"},
-    {file = "msgpack-1.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d25dd59bbbbb996eacf7be6b4ad082ed7eacc4e8f3d2df1ba43822da9bfa122a"},
-    {file = "msgpack-1.0.5-cp310-cp310-win32.whl", hash = "sha256:382b2c77589331f2cb80b67cc058c00f225e19827dbc818d700f61513ab47bea"},
-    {file = "msgpack-1.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:4867aa2df9e2a5fa5f76d7d5565d25ec76e84c106b55509e78c1ede0f152659a"},
-    {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9f5ae84c5c8a857ec44dc180a8b0cc08238e021f57abdf51a8182e915e6299f0"},
-    {file = "msgpack-1.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9e6ca5d5699bcd89ae605c150aee83b5321f2115695e741b99618f4856c50898"},
-    {file = "msgpack-1.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5494ea30d517a3576749cad32fa27f7585c65f5f38309c88c6d137877fa28a5a"},
-    {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ab2f3331cb1b54165976a9d976cb251a83183631c88076613c6c780f0d6e45a"},
-    {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28592e20bbb1620848256ebc105fc420436af59515793ed27d5c77a217477705"},
-    {file = "msgpack-1.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe5c63197c55bce6385d9aee16c4d0641684628f63ace85f73571e65ad1c1e8d"},
-    {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ed40e926fa2f297e8a653c954b732f125ef97bdd4c889f243182299de27e2aa9"},
-    {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b2de4c1c0538dcb7010902a2b97f4e00fc4ddf2c8cda9749af0e594d3b7fa3d7"},
-    {file = "msgpack-1.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bf22a83f973b50f9d38e55c6aade04c41ddda19b00c4ebc558930d78eecc64ed"},
-    {file = "msgpack-1.0.5-cp311-cp311-win32.whl", hash = "sha256:c396e2cc213d12ce017b686e0f53497f94f8ba2b24799c25d913d46c08ec422c"},
-    {file = "msgpack-1.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c4c68d87497f66f96d50142a2b73b97972130d93677ce930718f68828b382e2"},
-    {file = "msgpack-1.0.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a2b031c2e9b9af485d5e3c4520f4220d74f4d222a5b8dc8c1a3ab9448ca79c57"},
-    {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f837b93669ce4336e24d08286c38761132bc7ab29782727f8557e1eb21b2080"},
-    {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1d46dfe3832660f53b13b925d4e0fa1432b00f5f7210eb3ad3bb9a13c6204a6"},
-    {file = "msgpack-1.0.5-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:366c9a7b9057e1547f4ad51d8facad8b406bab69c7d72c0eb6f529cf76d4b85f"},
-    {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:4c075728a1095efd0634a7dccb06204919a2f67d1893b6aa8e00497258bf926c"},
-    {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:f933bbda5a3ee63b8834179096923b094b76f0c7a73c1cfe8f07ad608c58844b"},
-    {file = "msgpack-1.0.5-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:36961b0568c36027c76e2ae3ca1132e35123dcec0706c4b7992683cc26c1320c"},
-    {file = "msgpack-1.0.5-cp36-cp36m-win32.whl", hash = "sha256:b5ef2f015b95f912c2fcab19c36814963b5463f1fb9049846994b007962743e9"},
-    {file = "msgpack-1.0.5-cp36-cp36m-win_amd64.whl", hash = "sha256:288e32b47e67f7b171f86b030e527e302c91bd3f40fd9033483f2cacc37f327a"},
-    {file = "msgpack-1.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:137850656634abddfb88236008339fdaba3178f4751b28f270d2ebe77a563b6c"},
-    {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c05a4a96585525916b109bb85f8cb6511db1c6f5b9d9cbcbc940dc6b4be944b"},
-    {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56a62ec00b636583e5cb6ad313bbed36bb7ead5fa3a3e38938503142c72cba4f"},
-    {file = "msgpack-1.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef8108f8dedf204bb7b42994abf93882da1159728a2d4c5e82012edd92c9da9f"},
-    {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1835c84d65f46900920b3708f5ba829fb19b1096c1800ad60bae8418652a951d"},
-    {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e57916ef1bd0fee4f21c4600e9d1da352d8816b52a599c46460e93a6e9f17086"},
-    {file = "msgpack-1.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:17358523b85973e5f242ad74aa4712b7ee560715562554aa2134d96e7aa4cbbf"},
-    {file = "msgpack-1.0.5-cp37-cp37m-win32.whl", hash = "sha256:cb5aaa8c17760909ec6cb15e744c3ebc2ca8918e727216e79607b7bbce9c8f77"},
-    {file = "msgpack-1.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:ab31e908d8424d55601ad7075e471b7d0140d4d3dd3272daf39c5c19d936bd82"},
-    {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b72d0698f86e8d9ddf9442bdedec15b71df3598199ba33322d9711a19f08145c"},
-    {file = "msgpack-1.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:379026812e49258016dd84ad79ac8446922234d498058ae1d415f04b522d5b2d"},
-    {file = "msgpack-1.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:332360ff25469c346a1c5e47cbe2a725517919892eda5cfaffe6046656f0b7bb"},
-    {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:476a8fe8fae289fdf273d6d2a6cb6e35b5a58541693e8f9f019bfe990a51e4ba"},
-    {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9985b214f33311df47e274eb788a5893a761d025e2b92c723ba4c63936b69b1"},
-    {file = "msgpack-1.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48296af57cdb1d885843afd73c4656be5c76c0c6328db3440c9601a98f303d87"},
-    {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:addab7e2e1fcc04bd08e4eb631c2a90960c340e40dfc4a5e24d2ff0d5a3b3edb"},
-    {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:916723458c25dfb77ff07f4c66aed34e47503b2eb3188b3adbec8d8aa6e00f48"},
-    {file = "msgpack-1.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:821c7e677cc6acf0fd3f7ac664c98803827ae6de594a9f99563e48c5a2f27eb0"},
-    {file = "msgpack-1.0.5-cp38-cp38-win32.whl", hash = "sha256:1c0f7c47f0087ffda62961d425e4407961a7ffd2aa004c81b9c07d9269512f6e"},
-    {file = "msgpack-1.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:bae7de2026cbfe3782c8b78b0db9cbfc5455e079f1937cb0ab8d133496ac55e1"},
-    {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:20c784e66b613c7f16f632e7b5e8a1651aa5702463d61394671ba07b2fc9e025"},
-    {file = "msgpack-1.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:266fa4202c0eb94d26822d9bfd7af25d1e2c088927fe8de9033d929dd5ba24c5"},
-    {file = "msgpack-1.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18334484eafc2b1aa47a6d42427da7fa8f2ab3d60b674120bce7a895a0a85bdd"},
-    {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:57e1f3528bd95cc44684beda696f74d3aaa8a5e58c816214b9046512240ef437"},
-    {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:586d0d636f9a628ddc6a17bfd45aa5b5efaf1606d2b60fa5d87b8986326e933f"},
-    {file = "msgpack-1.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a740fa0e4087a734455f0fc3abf5e746004c9da72fbd541e9b113013c8dc3282"},
-    {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3055b0455e45810820db1f29d900bf39466df96ddca11dfa6d074fa47054376d"},
-    {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a61215eac016f391129a013c9e46f3ab308db5f5ec9f25811e811f96962599a8"},
-    {file = "msgpack-1.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:362d9655cd369b08fda06b6657a303eb7172d5279997abe094512e919cf74b11"},
-    {file = "msgpack-1.0.5-cp39-cp39-win32.whl", hash = "sha256:ac9dd47af78cae935901a9a500104e2dea2e253207c924cc95de149606dc43cc"},
-    {file = "msgpack-1.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:06f5174b5f8ed0ed919da0e62cbd4ffde676a374aba4020034da05fab67b9164"},
-    {file = "msgpack-1.0.5.tar.gz", hash = "sha256:c075544284eadc5cddc70f4757331d99dcbc16b2bbd4849d15f8aae4cf36d31c"},
-]
-
-[[package]]
-name = "mypy"
-version = "1.2.0"
-description = "Optional static typing for Python"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "mypy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:701189408b460a2ff42b984e6bd45c3f41f0ac9f5f58b8873bbedc511900086d"},
-    {file = "mypy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fe91be1c51c90e2afe6827601ca14353bbf3953f343c2129fa1e247d55fd95ba"},
-    {file = "mypy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d26b513225ffd3eacece727f4387bdce6469192ef029ca9dd469940158bc89e"},
-    {file = "mypy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3a2d219775a120581a0ae8ca392b31f238d452729adbcb6892fa89688cb8306a"},
-    {file = "mypy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:2e93a8a553e0394b26c4ca683923b85a69f7ccdc0139e6acd1354cc884fe0128"},
-    {file = "mypy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3efde4af6f2d3ccf58ae825495dbb8d74abd6d176ee686ce2ab19bd025273f41"},
-    {file = "mypy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:695c45cea7e8abb6f088a34a6034b1d273122e5530aeebb9c09626cea6dca4cb"},
-    {file = "mypy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0e9464a0af6715852267bf29c9553e4555b61f5904a4fc538547a4d67617937"},
-    {file = "mypy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8293a216e902ac12779eb7a08f2bc39ec6c878d7c6025aa59464e0c4c16f7eb9"},
-    {file = "mypy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:f46af8d162f3d470d8ffc997aaf7a269996d205f9d746124a179d3abe05ac602"},
-    {file = "mypy-1.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:031fc69c9a7e12bcc5660b74122ed84b3f1c505e762cc4296884096c6d8ee140"},
-    {file = "mypy-1.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:390bc685ec209ada4e9d35068ac6988c60160b2b703072d2850457b62499e336"},
-    {file = "mypy-1.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4b41412df69ec06ab141808d12e0bf2823717b1c363bd77b4c0820feaa37249e"},
-    {file = "mypy-1.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4e4a682b3f2489d218751981639cffc4e281d548f9d517addfd5a2917ac78119"},
-    {file = "mypy-1.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a197ad3a774f8e74f21e428f0de7f60ad26a8d23437b69638aac2764d1e06a6a"},
-    {file = "mypy-1.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c9a084bce1061e55cdc0493a2ad890375af359c766b8ac311ac8120d3a472950"},
-    {file = "mypy-1.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaeaa0888b7f3ccb7bcd40b50497ca30923dba14f385bde4af78fac713d6d6f6"},
-    {file = "mypy-1.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bea55fc25b96c53affab852ad94bf111a3083bc1d8b0c76a61dd101d8a388cf5"},
-    {file = "mypy-1.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:4c8d8c6b80aa4a1689f2a179d31d86ae1367ea4a12855cc13aa3ba24bb36b2d8"},
-    {file = "mypy-1.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:70894c5345bea98321a2fe84df35f43ee7bb0feec117a71420c60459fc3e1eed"},
-    {file = "mypy-1.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4a99fe1768925e4a139aace8f3fb66db3576ee1c30b9c0f70f744ead7e329c9f"},
-    {file = "mypy-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:023fe9e618182ca6317ae89833ba422c411469156b690fde6a315ad10695a521"},
-    {file = "mypy-1.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4d19f1a239d59f10fdc31263d48b7937c585810288376671eaf75380b074f238"},
-    {file = "mypy-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:2de7babe398cb7a85ac7f1fd5c42f396c215ab3eff731b4d761d68d0f6a80f48"},
-    {file = "mypy-1.2.0-py3-none-any.whl", hash = "sha256:d8e9187bfcd5ffedbe87403195e1fc340189a68463903c39e2b63307c9fa0394"},
-    {file = "mypy-1.2.0.tar.gz", hash = "sha256:f70a40410d774ae23fcb4afbbeca652905a04de7948eaf0b1789c8d1426b72d1"},
-]
-
-[package.dependencies]
-mypy-extensions = ">=1.0.0"
-tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
-typed-ast = {version = ">=1.4.0,<2", markers = "python_version < \"3.8\""}
-typing-extensions = ">=3.10"
-
-[package.extras]
-dmypy = ["psutil (>=4.0)"]
-install-types = ["pip"]
-python2 = ["typed-ast (>=1.4.0,<2)"]
-reports = ["lxml"]
-
-[[package]]
-name = "mypy-extensions"
-version = "1.0.0"
-description = "Type system extensions for programs checked with the mypy type checker."
-category = "dev"
-optional = false
-python-versions = ">=3.5"
-files = [
-    {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"},
-    {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"},
-]
-
-[[package]]
-name = "nodeenv"
-version = "1.7.0"
-description = "Node.js virtual environment builder"
-category = "dev"
-optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*"
-files = [
-    {file = "nodeenv-1.7.0-py2.py3-none-any.whl", hash = "sha256:27083a7b96a25f2f5e1d8cb4b6317ee8aeda3bdd121394e5ac54e498028a042e"},
-    {file = "nodeenv-1.7.0.tar.gz", hash = "sha256:e0e7f7dfb85fc5394c6fe1e8fa98131a2473e04311a45afb6508f7cf1836fa2b"},
-]
-
-[package.dependencies]
-setuptools = "*"
-
-[[package]]
-name = "ordered-set"
-version = "4.1.0"
-description = "An OrderedSet is a custom MutableSet that remembers its order, so that every"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "ordered-set-4.1.0.tar.gz", hash = "sha256:694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8"},
-    {file = "ordered_set-4.1.0-py3-none-any.whl", hash = "sha256:046e1132c71fcf3330438a539928932caf51ddbc582496833e23de611de14562"},
-]
-
-[package.extras]
-dev = ["black", "mypy", "pytest"]
-
-[[package]]
-name = "packaging"
-version = "23.1"
-description = "Core utilities for Python packages"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"},
-    {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"},
-]
-
-[[package]]
-name = "pexpect"
-version = "4.8.0"
-description = "Pexpect allows easy control of interactive console applications."
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
-    {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
-]
-
-[package.dependencies]
-ptyprocess = ">=0.5"
-
-[[package]]
-name = "pkginfo"
-version = "1.9.6"
-description = "Query metadata from sdists / bdists / installed packages."
-category = "main"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "pkginfo-1.9.6-py3-none-any.whl", hash = "sha256:4b7a555a6d5a22169fcc9cf7bfd78d296b0361adad412a346c1226849af5e546"},
-    {file = "pkginfo-1.9.6.tar.gz", hash = "sha256:8fd5896e8718a4372f0ea9cc9d96f6417c9b986e23a4d116dda26b62cc29d046"},
-]
-
-[package.extras]
-testing = ["pytest", "pytest-cov"]
-
-[[package]]
-name = "pkgutil-resolve-name"
-version = "1.3.10"
-description = "Resolve a name to an object."
-category = "main"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"},
-    {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"},
-]
-
-[[package]]
-name = "platformdirs"
-version = "2.6.2"
-description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "platformdirs-2.6.2-py3-none-any.whl", hash = "sha256:83c8f6d04389165de7c9b6f0c682439697887bca0aa2f1c87ef1826be3584490"},
-    {file = "platformdirs-2.6.2.tar.gz", hash = "sha256:e1fea1fe471b9ff8332e229df3cb7de4f53eeea4998d3b6bfff542115e998bd2"},
-]
-
-[package.dependencies]
-typing-extensions = {version = ">=4.4", markers = "python_version < \"3.8\""}
-
-[package.extras]
-docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=5.3)", "sphinx-autodoc-typehints (>=1.19.5)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
-
-[[package]]
-name = "pluggy"
-version = "1.0.0"
-description = "plugin and hook calling mechanisms for python"
-category = "dev"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
-    {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
-]
-
-[package.dependencies]
-importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
-
-[package.extras]
-dev = ["pre-commit", "tox"]
-testing = ["pytest", "pytest-benchmark"]
-
-[[package]]
-name = "poetry-core"
-version = "1.4.0"
-description = "Poetry PEP 517 Build Backend"
-category = "main"
-optional = false
-python-versions = ">=3.7,<4.0"
-files = [
-    {file = "poetry_core-1.4.0-py3-none-any.whl", hash = "sha256:5559ab80384ac021db329ef317086417e140ee1176bcfcb3a3838b544e213c8e"},
-    {file = "poetry_core-1.4.0.tar.gz", hash = "sha256:514bd33c30e0bf56b0ed44ee15e120d7e47b61ad908b2b1011da68c48a84ada9"},
-]
-
-[package.dependencies]
-importlib-metadata = {version = ">=1.7.0", markers = "python_version < \"3.8\""}
-
-[[package]]
-name = "poetry-plugin-export"
-version = "1.3.1"
-description = "Poetry plugin to export the dependencies to various formats"
-category = "main"
-optional = false
-python-versions = ">=3.7,<4.0"
-files = [
-    {file = "poetry_plugin_export-1.3.1-py3-none-any.whl", hash = "sha256:941d7ba02a59671d6327b16dc6deecc9262477abbc120d728a500cf125bc1e06"},
-    {file = "poetry_plugin_export-1.3.1.tar.gz", hash = "sha256:d949742757a8a5f0b5810495bffaf4ed8a767f2e2ffda9887cf72f896deabf84"},
-]
-
-[package.dependencies]
-poetry = ">=1.3.0,<2.0.0"
-poetry-core = ">=1.3.0,<2.0.0"
-
-[[package]]
-name = "pre-commit"
-version = "2.21.0"
-description = "A framework for managing and maintaining multi-language pre-commit hooks."
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "pre_commit-2.21.0-py2.py3-none-any.whl", hash = "sha256:e2f91727039fc39a92f58a588a25b87f936de6567eed4f0e673e0507edc75bad"},
-    {file = "pre_commit-2.21.0.tar.gz", hash = "sha256:31ef31af7e474a8d8995027fefdfcf509b5c913ff31f2015b4ec4beb26a6f658"},
-]
-
-[package.dependencies]
-cfgv = ">=2.0.0"
-identify = ">=1.0.0"
-importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
-nodeenv = ">=0.11.1"
-pyyaml = ">=5.1"
-virtualenv = ">=20.10.0"
-
-[[package]]
-name = "psutil"
-version = "5.9.5"
-description = "Cross-platform lib for process and system monitoring in Python."
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
-    {file = "psutil-5.9.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:be8929ce4313f9f8146caad4272f6abb8bf99fc6cf59344a3167ecd74f4f203f"},
-    {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:ab8ed1a1d77c95453db1ae00a3f9c50227ebd955437bcf2a574ba8adbf6a74d5"},
-    {file = "psutil-5.9.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:4aef137f3345082a3d3232187aeb4ac4ef959ba3d7c10c33dd73763fbc063da4"},
-    {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:ea8518d152174e1249c4f2a1c89e3e6065941df2fa13a1ab45327716a23c2b48"},
-    {file = "psutil-5.9.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:acf2aef9391710afded549ff602b5887d7a2349831ae4c26be7c807c0a39fac4"},
-    {file = "psutil-5.9.5-cp27-none-win32.whl", hash = "sha256:5b9b8cb93f507e8dbaf22af6a2fd0ccbe8244bf30b1baad6b3954e935157ae3f"},
-    {file = "psutil-5.9.5-cp27-none-win_amd64.whl", hash = "sha256:8c5f7c5a052d1d567db4ddd231a9d27a74e8e4a9c3f44b1032762bd7b9fdcd42"},
-    {file = "psutil-5.9.5-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:3c6f686f4225553615612f6d9bc21f1c0e305f75d7d8454f9b46e901778e7217"},
-    {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a7dd9997128a0d928ed4fb2c2d57e5102bb6089027939f3b722f3a210f9a8da"},
-    {file = "psutil-5.9.5-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89518112647f1276b03ca97b65cc7f64ca587b1eb0278383017c2a0dcc26cbe4"},
-    {file = "psutil-5.9.5-cp36-abi3-win32.whl", hash = "sha256:104a5cc0e31baa2bcf67900be36acde157756b9c44017b86b2c049f11957887d"},
-    {file = "psutil-5.9.5-cp36-abi3-win_amd64.whl", hash = "sha256:b258c0c1c9d145a1d5ceffab1134441c4c5113b2417fafff7315a917a026c3c9"},
-    {file = "psutil-5.9.5-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:c607bb3b57dc779d55e1554846352b4e358c10fff3abf3514a7a6601beebdb30"},
-    {file = "psutil-5.9.5.tar.gz", hash = "sha256:5410638e4df39c54d957fc51ce03048acd8e6d60abc0f5107af51e5fb566eb3c"},
-]
-
-[package.extras]
-test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
-
-[[package]]
-name = "ptyprocess"
-version = "0.7.0"
-description = "Run a subprocess in a pseudo terminal"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"},
-    {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"},
-]
-
-[[package]]
-name = "py"
-version = "1.11.0"
-description = "library with cross-python path, ini-parsing, io, code, log facilities"
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-files = [
-    {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
-    {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
-]
-
-[[package]]
-name = "pycparser"
-version = "2.21"
-description = "C parser in Python"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
-    {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
-    {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
-]
-
-[[package]]
-name = "pyrsistent"
-version = "0.19.3"
-description = "Persistent/Functional/Immutable data structures"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "pyrsistent-0.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a"},
-    {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64"},
-    {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf"},
-    {file = "pyrsistent-0.19.3-cp310-cp310-win32.whl", hash = "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a"},
-    {file = "pyrsistent-0.19.3-cp310-cp310-win_amd64.whl", hash = "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da"},
-    {file = "pyrsistent-0.19.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9"},
-    {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393"},
-    {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19"},
-    {file = "pyrsistent-0.19.3-cp311-cp311-win32.whl", hash = "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3"},
-    {file = "pyrsistent-0.19.3-cp311-cp311-win_amd64.whl", hash = "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8"},
-    {file = "pyrsistent-0.19.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28"},
-    {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf"},
-    {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9"},
-    {file = "pyrsistent-0.19.3-cp37-cp37m-win32.whl", hash = "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1"},
-    {file = "pyrsistent-0.19.3-cp37-cp37m-win_amd64.whl", hash = "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b"},
-    {file = "pyrsistent-0.19.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8"},
-    {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a"},
-    {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c"},
-    {file = "pyrsistent-0.19.3-cp38-cp38-win32.whl", hash = "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c"},
-    {file = "pyrsistent-0.19.3-cp38-cp38-win_amd64.whl", hash = "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7"},
-    {file = "pyrsistent-0.19.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc"},
-    {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2"},
-    {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3"},
-    {file = "pyrsistent-0.19.3-cp39-cp39-win32.whl", hash = "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2"},
-    {file = "pyrsistent-0.19.3-cp39-cp39-win_amd64.whl", hash = "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98"},
-    {file = "pyrsistent-0.19.3-py3-none-any.whl", hash = "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64"},
-    {file = "pyrsistent-0.19.3.tar.gz", hash = "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440"},
-]
-
-[[package]]
-name = "pytest"
-version = "7.3.1"
-description = "pytest: simple powerful testing with Python"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "pytest-7.3.1-py3-none-any.whl", hash = "sha256:3799fa815351fea3a5e96ac7e503a96fa51cc9942c3753cda7651b93c1cfa362"},
-    {file = "pytest-7.3.1.tar.gz", hash = "sha256:434afafd78b1d78ed0addf160ad2b77a30d35d4bdf8af234fe621919d9ed15e3"},
-]
-
-[package.dependencies]
-colorama = {version = "*", markers = "sys_platform == \"win32\""}
-exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
-importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
-iniconfig = "*"
-packaging = "*"
-pluggy = ">=0.12,<2.0"
-tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
-
-[package.extras]
-testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
-
-[[package]]
-name = "pytest-cov"
-version = "4.0.0"
-description = "Pytest plugin for measuring coverage."
-category = "dev"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "pytest-cov-4.0.0.tar.gz", hash = "sha256:996b79efde6433cdbd0088872dbc5fb3ed7fe1578b68cdbba634f14bb8dd0470"},
-    {file = "pytest_cov-4.0.0-py3-none-any.whl", hash = "sha256:2feb1b751d66a8bd934e5edfa2e961d11309dc37b73b0eabe73b5945fee20f6b"},
-]
-
-[package.dependencies]
-coverage = {version = ">=5.2.1", extras = ["toml"]}
-pytest = ">=4.6"
-
-[package.extras]
-testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"]
-
-[[package]]
-name = "pytest-forked"
-version = "1.6.0"
-description = "run tests in isolated forked subprocesses"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "pytest-forked-1.6.0.tar.gz", hash = "sha256:4dafd46a9a600f65d822b8f605133ecf5b3e1941ebb3588e943b4e3eb71a5a3f"},
-    {file = "pytest_forked-1.6.0-py3-none-any.whl", hash = "sha256:810958f66a91afb1a1e2ae83089d8dc1cd2437ac96b12963042fbb9fb4d16af0"},
-]
-
-[package.dependencies]
-py = "*"
-pytest = ">=3.10"
-
-[[package]]
-name = "pytest-github-actions-annotate-failures"
-version = "0.1.8"
-description = "pytest plugin to annotate failed tests with a workflow command for GitHub Actions"
-category = "dev"
-optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
-files = [
-    {file = "pytest-github-actions-annotate-failures-0.1.8.tar.gz", hash = "sha256:2d6e6cb5f8d0aae4a27a20cc4e20fabd3199a121c57f44bc48fe28e372e0be23"},
-    {file = "pytest_github_actions_annotate_failures-0.1.8-py2.py3-none-any.whl", hash = "sha256:6a882ff21672fa79deae8d917eb965a6bde2b25191e7632e1adfc23ffac008ab"},
-]
-
-[package.dependencies]
-pytest = ">=4.0.0"
-
-[[package]]
-name = "pytest-mock"
-version = "3.10.0"
-description = "Thin-wrapper around the mock package for easier use with pytest"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "pytest-mock-3.10.0.tar.gz", hash = "sha256:fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f"},
-    {file = "pytest_mock-3.10.0-py3-none-any.whl", hash = "sha256:f4c973eeae0282963eb293eb173ce91b091a79c1334455acfac9ddee8a1c784b"},
-]
-
-[package.dependencies]
-pytest = ">=5.0"
-
-[package.extras]
-dev = ["pre-commit", "pytest-asyncio", "tox"]
-
-[[package]]
-name = "pytest-randomly"
-version = "3.12.0"
-description = "Pytest plugin to randomly order tests and control random.seed."
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "pytest-randomly-3.12.0.tar.gz", hash = "sha256:d60c2db71ac319aee0fc6c4110a7597d611a8b94a5590918bfa8583f00caccb2"},
-    {file = "pytest_randomly-3.12.0-py3-none-any.whl", hash = "sha256:f4f2e803daf5d1ba036cc22bf4fe9dbbf99389ec56b00e5cba732fb5c1d07fdd"},
-]
-
-[package.dependencies]
-importlib-metadata = {version = ">=3.6.0", markers = "python_version < \"3.10\""}
-pytest = "*"
-
-[[package]]
-name = "pytest-xdist"
-version = "2.5.0"
-description = "pytest xdist plugin for distributed testing and loop-on-failing modes"
-category = "dev"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "pytest-xdist-2.5.0.tar.gz", hash = "sha256:4580deca3ff04ddb2ac53eba39d76cb5dd5edeac050cb6fbc768b0dd712b4edf"},
-    {file = "pytest_xdist-2.5.0-py3-none-any.whl", hash = "sha256:6fe5c74fec98906deb8f2d2b616b5c782022744978e7bd4695d39c8f42d0ce65"},
-]
-
-[package.dependencies]
-execnet = ">=1.1"
-psutil = {version = ">=3.0", optional = true, markers = "extra == \"psutil\""}
-pytest = ">=6.2.0"
-pytest-forked = "*"
-
-[package.extras]
-psutil = ["psutil (>=3.0)"]
-setproctitle = ["setproctitle"]
-testing = ["filelock"]
-
-[[package]]
-name = "pywin32-ctypes"
-version = "0.2.0"
-description = ""
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"},
-    {file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"},
-]
-
-[[package]]
-name = "pyyaml"
-version = "6.0"
-description = "YAML parser and emitter for Python"
-category = "dev"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"},
-    {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"},
-    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"},
-    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"},
-    {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"},
-    {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"},
-    {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"},
-    {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"},
-    {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"},
-    {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"},
-    {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"},
-    {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"},
-    {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"},
-    {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"},
-    {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"},
-    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"},
-    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"},
-    {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"},
-    {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"},
-    {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"},
-    {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"},
-    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"},
-    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"},
-    {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"},
-    {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"},
-    {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"},
-    {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"},
-    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"},
-    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"},
-    {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"},
-    {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"},
-    {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"},
-    {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"},
-    {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"},
-    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"},
-    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"},
-    {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"},
-    {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"},
-    {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"},
-    {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
-]
-
-[[package]]
-name = "rapidfuzz"
-version = "2.15.1"
-description = "rapid fuzzy string matching"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "rapidfuzz-2.15.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fc0bc259ebe3b93e7ce9df50b3d00e7345335d35acbd735163b7c4b1957074d3"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d59fb3a410d253f50099d7063855c2b95df1ef20ad93ea3a6b84115590899f25"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c525a3da17b6d79d61613096c8683da86e3573e807dfaecf422eea09e82b5ba6"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4deae6a918ecc260d0c4612257be8ba321d8e913ccb43155403842758c46fbe"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2577463d10811386e704a3ab58b903eb4e2a31b24dfd9886d789b0084d614b01"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f67d5f56aa48c0da9de4ab81bffb310683cf7815f05ea38e5aa64f3ba4368339"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d7927722ff43690e52b3145b5bd3089151d841d350c6f8378c3cfac91f67573a"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6534afc787e32c4104f65cdeb55f6abe4d803a2d0553221d00ef9ce12788dcde"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d0ae6ec79a1931929bb9dd57bc173eb5ba4c7197461bf69e3a34b6dd314feed2"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:be7ccc45c4d1a7dfb595f260e8022a90c6cb380c2a346ee5aae93f85c96d362b"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:8ba013500a2b68c64b2aecc5fb56a2dad6c2872cf545a0308fd044827b6e5f6a"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4d9f7d10065f657f960b48699e7dddfce14ab91af4bab37a215f0722daf0d716"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7e24a1b802cea04160b3fccd75d2d0905065783ebc9de157d83c14fb9e1c6ce2"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-win32.whl", hash = "sha256:dffdf03499e0a5b3442951bb82b556333b069e0661e80568752786c79c5b32de"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:7d150d90a7c6caae7962f29f857a4e61d42038cfd82c9df38508daf30c648ae7"},
-    {file = "rapidfuzz-2.15.1-cp310-cp310-win_arm64.whl", hash = "sha256:87c30e9184998ff6eb0fa9221f94282ce7c908fd0da96a1ef66ecadfaaa4cdb7"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6986413cb37035eb796e32f049cbc8c13d8630a4ac1e0484e3e268bb3662bd1b"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a72f26e010d4774b676f36e43c0fc8a2c26659efef4b3be3fd7714d3491e9957"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b5cd54c98a387cca111b3b784fc97a4f141244bbc28a92d4bde53f164464112e"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da7fac7c3da39f93e6b2ebe386ed0ffe1cefec91509b91857f6e1204509e931f"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f976e76ac72f650790b3a5402431612175b2ac0363179446285cb3c901136ca9"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:abde47e1595902a490ed14d4338d21c3509156abb2042a99e6da51f928e0c117"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca8f1747007a3ce919739a60fa95c5325f7667cccf6f1c1ef18ae799af119f5e"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c35da09ab9797b020d0d4f07a66871dfc70ea6566363811090353ea971748b5a"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a3a769ca7580686a66046b77df33851b3c2d796dc1eb60c269b68f690f3e1b65"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d50622efefdb03a640a51a6123748cd151d305c1f0431af762e833d6ffef71f0"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b7461b0a7651d68bc23f0896bffceea40f62887e5ab8397bf7caa883592ef5cb"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:074ee9e17912e025c72a5780ee4c7c413ea35cd26449719cc399b852d4e42533"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7025fb105a11f503943f17718cdb8241ea3bb4d812c710c609e69bead40e2ff0"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-win32.whl", hash = "sha256:2084d36b95139413cef25e9487257a1cc892b93bd1481acd2a9656f7a1d9930c"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:5a738fcd24e34bce4b19126b92fdae15482d6d3a90bd687fd3d24ce9d28ce82d"},
-    {file = "rapidfuzz-2.15.1-cp311-cp311-win_arm64.whl", hash = "sha256:dc3cafa68cfa54638632bdcadf9aab89a3d182b4a3f04d2cad7585ed58ea8731"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3c53d57ba7a88f7bf304d4ea5a14a0ca112db0e0178fff745d9005acf2879f7d"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6ee758eec4cf2215dc8d8eafafcea0d1f48ad4b0135767db1b0f7c5c40a17dd"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d93ba3ae59275e7a3a116dac4ffdb05e9598bf3ee0861fecc5b60fb042d539e"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7c3ff75e647908ddbe9aa917fbe39a112d5631171f3fcea5809e2363e525a59d"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6d89c421702474c6361245b6b199e6e9783febacdbfb6b002669e6cb3ef17a09"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f69e6199fec0f58f9a89afbbaea78d637c7ce77f656a03a1d6ea6abdc1d44f8"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:41dfea282844d0628279b4db2929da0dacb8ac317ddc5dcccc30093cf16357c1"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2dd03477feefeccda07b7659dd614f6738cfc4f9b6779dd61b262a73b0a9a178"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:5efe035aa76ff37d1b5fa661de3c4b4944de9ff227a6c0b2e390a95c101814c0"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:ed2cf7c69102c7a0a06926d747ed855bc836f52e8d59a5d1e3adfd980d1bd165"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a0e441d4c2025110ec3eba5d54f11f78183269a10152b3a757a739ffd1bb12bf"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-win32.whl", hash = "sha256:a4a54efe17cc9f53589c748b53f28776dfdfb9bc83619685740cb7c37985ac2f"},
-    {file = "rapidfuzz-2.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:bb8318116ecac4dfb84841d8b9b461f9bb0c3be5b616418387d104f72d2a16d1"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e9296c530e544f68858c3416ad1d982a1854f71e9d2d3dcedb5b216e6d54f067"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:49c4bcdb9238f11f8c4eba1b898937f09b92280d6f900023a8216008f299b41a"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebb40a279e134bb3fef099a8b58ed5beefb201033d29bdac005bddcdb004ef71"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7381c11cb590bbd4e6f2d8779a0b34fdd2234dfa13d0211f6aee8ca166d9d05"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfdcdedfd12a0077193f2cf3626ff6722c5a184adf0d2d51f1ec984bf21c23c3"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f85bece1ec59bda8b982bd719507d468d4df746dfb1988df11d916b5e9fe19e8"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1b393f4a1eaa6867ffac6aef58cfb04bab2b3d7d8e40b9fe2cf40dd1d384601"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53de456ef020a77bf9d7c6c54860a48e2e902584d55d3001766140ac45c54bc7"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2492330bc38b76ed967eab7bdaea63a89b6ceb254489e2c65c3824efcbf72993"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:099e4c6befaa8957a816bdb67ce664871f10aaec9bebf2f61368cf7e0869a7a1"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:46599b2ad4045dd3f794a24a6db1e753d23304699d4984462cf1ead02a51ddf3"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:591f19d16758a3c55c9d7a0b786b40d95599a5b244d6eaef79c7a74fcf5104d8"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ed17359061840eb249f8d833cb213942e8299ffc4f67251a6ed61833a9f2ea20"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-win32.whl", hash = "sha256:aa1e5aad325168e29bf8e17006479b97024aa9d2fdbe12062bd2f8f09080acf8"},
-    {file = "rapidfuzz-2.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:c2bb68832b140c551dbed691290bef4ee6719d4e8ce1b7226a3736f61a9d1a83"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3fac40972cf7b6c14dded88ae2331eb50dfbc278aa9195473ef6fc6bfe49f686"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0e456cbdc0abf39352800309dab82fd3251179fa0ff6573fa117f51f4e84be8"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:22b9d22022b9d09fd4ece15102270ab9b6a5cfea8b6f6d1965c1df7e3783f5ff"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46754fe404a9a6f5cbf7abe02d74af390038d94c9b8c923b3f362467606bfa28"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91abb8bf7610efe326394adc1d45e1baca8f360e74187f3fa0ef3df80cdd3ba6"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e40a2f60024f9d3c15401e668f732800114a023f3f8d8c40f1521a62081ff054"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a48ee83916401ac73938526d7bd804e01d2a8fe61809df7f1577b0b3b31049a3"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c71580052f9dbac443c02f60484e5a2e5f72ad4351b84b2009fbe345b1f38422"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:82b86d5b8c1b9bcbc65236d75f81023c78d06a721c3e0229889ff4ed5c858169"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fc4528b7736e5c30bc954022c2cf410889abc19504a023abadbc59cdf9f37cae"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e1e0e569108a5760d8f01d0f2148dd08cc9a39ead79fbefefca9e7c7723c7e88"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:94e1c97f0ad45b05003806f8a13efc1fc78983e52fa2ddb00629003acf4676ef"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47e81767a962e41477a85ad7ac937e34d19a7d2a80be65614f008a5ead671c56"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-win32.whl", hash = "sha256:79fc574aaf2d7c27ec1022e29c9c18f83cdaf790c71c05779528901e0caad89b"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:f3dd4bcef2d600e0aa121e19e6e62f6f06f22a89f82ef62755e205ce14727874"},
-    {file = "rapidfuzz-2.15.1-cp39-cp39-win_arm64.whl", hash = "sha256:cac095cbdf44bc286339a77214bbca6d4d228c9ebae3da5ff6a80aaeb7c35634"},
-    {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b89d1126be65c85763d56e3b47d75f1a9b7c5529857b4d572079b9a636eaa8a7"},
-    {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19b7460e91168229768be882ea365ba0ac7da43e57f9416e2cfadc396a7df3c2"},
-    {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c33c03e7092642c38f8a15ca2d8fc38da366f2526ec3b46adf19d5c7aa48ba"},
-    {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040faca2e26d9dab5541b45ce72b3f6c0e36786234703fc2ac8c6f53bb576743"},
-    {file = "rapidfuzz-2.15.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:6e2a3b23e1e9aa13474b3c710bba770d0dcc34d517d3dd6f97435a32873e3f28"},
-    {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2e597b9dfd6dd180982684840975c458c50d447e46928efe3e0120e4ec6f6686"},
-    {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d14752c9dd2036c5f36ebe8db5f027275fa7d6b3ec6484158f83efb674bab84e"},
-    {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:558224b6fc6124d13fa32d57876f626a7d6188ba2a97cbaea33a6ee38a867e31"},
-    {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c89cfa88dc16fd8c9bcc0c7f0b0073f7ef1e27cceb246c9f5a3f7004fa97c4d"},
-    {file = "rapidfuzz-2.15.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:509c5b631cd64df69f0f011893983eb15b8be087a55bad72f3d616b6ae6a0f96"},
-    {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0f73a04135a03a6e40393ecd5d46a7a1049d353fc5c24b82849830d09817991f"},
-    {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c99d53138a2dfe8ada67cb2855719f934af2733d726fbf73247844ce4dd6dd5"},
-    {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f01fa757f0fb332a1f045168d29b0d005de6c39ee5ce5d6c51f2563bb53c601b"},
-    {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60368e1add6e550faae65614844c43f8a96e37bf99404643b648bf2dba92c0fb"},
-    {file = "rapidfuzz-2.15.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:785744f1270828cc632c5a3660409dee9bcaac6931a081bae57542c93e4d46c4"},
-    {file = "rapidfuzz-2.15.1.tar.gz", hash = "sha256:d62137c2ca37aea90a11003ad7dc109c8f1739bfbe5a9a217f3cdb07d7ac00f6"},
-]
-
-[package.extras]
-full = ["numpy"]
-
-[[package]]
-name = "requests"
-version = "2.29.0"
-description = "Python HTTP for Humans."
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "requests-2.29.0-py3-none-any.whl", hash = "sha256:e8f3c9be120d3333921d213eef078af392fba3933ab7ed2d1cba3b56f2568c3b"},
-    {file = "requests-2.29.0.tar.gz", hash = "sha256:f2e34a75f4749019bb0e3effb66683630e4ffeaf75819fb51bebef1bf5aef059"},
-]
-
-[package.dependencies]
-certifi = ">=2017.4.17"
-charset-normalizer = ">=2,<4"
-idna = ">=2.5,<4"
-urllib3 = ">=1.21.1,<1.27"
-
-[package.extras]
-socks = ["PySocks (>=1.5.6,!=1.5.7)"]
-use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
-
-[[package]]
-name = "requests-toolbelt"
-version = "0.10.1"
-description = "A utility belt for advanced users of python-requests"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-files = [
-    {file = "requests-toolbelt-0.10.1.tar.gz", hash = "sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d"},
-    {file = "requests_toolbelt-0.10.1-py2.py3-none-any.whl", hash = "sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7"},
-]
-
-[package.dependencies]
-requests = ">=2.0.1,<3.0.0"
-
-[[package]]
-name = "secretstorage"
-version = "3.3.3"
-description = "Python bindings to FreeDesktop.org Secret Service API"
-category = "main"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"},
-    {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"},
-]
-
-[package.dependencies]
-cryptography = ">=2.0"
-jeepney = ">=0.6"
-
-[[package]]
-name = "setuptools"
-version = "67.7.2"
-description = "Easily download, build, install, upgrade, and uninstall Python packages"
-category = "dev"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "setuptools-67.7.2-py3-none-any.whl", hash = "sha256:23aaf86b85ca52ceb801d32703f12d77517b2556af839621c641fca11287952b"},
-    {file = "setuptools-67.7.2.tar.gz", hash = "sha256:f104fa03692a2602fa0fec6c6a9e63b6c8a968de13e17c026957dd1f53d80990"},
-]
-
-[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"]
-testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
-testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
-
-[[package]]
-name = "shellingham"
-version = "1.5.0.post1"
-description = "Tool to Detect Surrounding Shell"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "shellingham-1.5.0.post1-py2.py3-none-any.whl", hash = "sha256:368bf8c00754fd4f55afb7bbb86e272df77e4dc76ac29dbcbb81a59e9fc15744"},
-    {file = "shellingham-1.5.0.post1.tar.gz", hash = "sha256:823bc5fb5c34d60f285b624e7264f4dda254bc803a3774a147bf99c0e3004a28"},
-]
-
-[[package]]
-name = "six"
-version = "1.16.0"
-description = "Python 2 and 3 compatibility utilities"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-files = [
-    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
-    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
-]
-
-[[package]]
-name = "tomli"
-version = "2.0.1"
-description = "A lil' TOML parser"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
-    {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
-]
-
-[[package]]
-name = "tomlkit"
-version = "0.11.8"
-description = "Style preserving TOML library"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "tomlkit-0.11.8-py3-none-any.whl", hash = "sha256:8c726c4c202bdb148667835f68d68780b9a003a9ec34167b6c673b38eff2a171"},
-    {file = "tomlkit-0.11.8.tar.gz", hash = "sha256:9330fc7faa1db67b541b28e62018c17d20be733177d290a13b24c62d1614e0c3"},
-]
-
-[[package]]
-name = "trove-classifiers"
-version = "2023.4.29"
-description = "Canonical source for classifiers on PyPI (pypi.org)."
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "trove-classifiers-2023.4.29.tar.gz", hash = "sha256:8adcc06f1eb7c495f0bdceb698bd9c044b3e57b0d5767d99ec4b6b17c9bbe957"},
-    {file = "trove_classifiers-2023.4.29-py3-none-any.whl", hash = "sha256:c27d168cd341325fb75338ce46e1c4a2f2179b0ff3df3733190ee3662a25a4fa"},
-]
-
-[[package]]
-name = "typed-ast"
-version = "1.5.4"
-description = "a fork of Python 2 and 3 ast modules with type comment support"
-category = "dev"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "typed_ast-1.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4"},
-    {file = "typed_ast-1.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62"},
-    {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac"},
-    {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c542eeda69212fa10a7ada75e668876fdec5f856cd3d06829e6aa64ad17c8dfe"},
-    {file = "typed_ast-1.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:a9916d2bb8865f973824fb47436fa45e1ebf2efd920f2b9f99342cb7fab93f72"},
-    {file = "typed_ast-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79b1e0869db7c830ba6a981d58711c88b6677506e648496b1f64ac7d15633aec"},
-    {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d55d142c9265f4ea46fab70977a1944ecae359ae867397757d836ea5a3f47"},
-    {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:183afdf0ec5b1b211724dfef3d2cad2d767cbefac291f24d69b00546c1837fb6"},
-    {file = "typed_ast-1.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:639c5f0b21776605dd6c9dbe592d5228f021404dafd377e2b7ac046b0349b1a1"},
-    {file = "typed_ast-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf4afcfac006ece570e32d6fa90ab74a17245b83dfd6655a6f68568098345ff6"},
-    {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed855bbe3eb3715fca349c80174cfcfd699c2f9de574d40527b8429acae23a66"},
-    {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6778e1b2f81dfc7bc58e4b259363b83d2e509a65198e85d5700dfae4c6c8ff1c"},
-    {file = "typed_ast-1.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:0261195c2062caf107831e92a76764c81227dae162c4f75192c0d489faf751a2"},
-    {file = "typed_ast-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2efae9db7a8c05ad5547d522e7dbe62c83d838d3906a3716d1478b6c1d61388d"},
-    {file = "typed_ast-1.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d5d014b7daa8b0bf2eaef684295acae12b036d79f54178b92a2b6a56f92278f"},
-    {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:370788a63915e82fd6f212865a596a0fefcbb7d408bbbb13dea723d971ed8bdc"},
-    {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4e964b4ff86550a7a7d56345c7864b18f403f5bd7380edf44a3c1fb4ee7ac6c6"},
-    {file = "typed_ast-1.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:683407d92dc953c8a7347119596f0b0e6c55eb98ebebd9b23437501b28dcbb8e"},
-    {file = "typed_ast-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4879da6c9b73443f97e731b617184a596ac1235fe91f98d279a7af36c796da35"},
-    {file = "typed_ast-1.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e123d878ba170397916557d31c8f589951e353cc95fb7f24f6bb69adc1a8a97"},
-    {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd9d7f80ccf7a82ac5f88c521115cc55d84e35bf8b446fcd7836eb6b98929a3"},
-    {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98f80dee3c03455e92796b58b98ff6ca0b2a6f652120c263efdba4d6c5e58f72"},
-    {file = "typed_ast-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1"},
-    {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"},
-]
-
-[[package]]
-name = "types-html5lib"
-version = "1.1.11.13"
-description = "Typing stubs for html5lib"
-category = "dev"
-optional = false
-python-versions = "*"
-files = [
-    {file = "types-html5lib-1.1.11.13.tar.gz", hash = "sha256:2a5ced934bcc7b47800b88ddb2541bbdf5bded7fb6d421693c978228e1fe631d"},
-    {file = "types_html5lib-1.1.11.13-py3-none-any.whl", hash = "sha256:d01603307f3bb39af9712e72eda5aa498420fe12179411533a54b2b03f6531eb"},
-]
-
-[[package]]
-name = "types-jsonschema"
-version = "4.17.0.7"
-description = "Typing stubs for jsonschema"
-category = "dev"
-optional = false
-python-versions = "*"
-files = [
-    {file = "types-jsonschema-4.17.0.7.tar.gz", hash = "sha256:130e57c5f1ca755f95775d0822ad7a3907294e1461306af54baf804f317fd54c"},
-    {file = "types_jsonschema-4.17.0.7-py3-none-any.whl", hash = "sha256:e129b52be6df841d97a98f087631dd558f7812eb91ff7b733c3301bd2446271b"},
-]
-
-[[package]]
-name = "types-requests"
-version = "2.29.0.0"
-description = "Typing stubs for requests"
-category = "dev"
-optional = false
-python-versions = "*"
-files = [
-    {file = "types-requests-2.29.0.0.tar.gz", hash = "sha256:c86f4a955d943d2457120dbe719df24ef0924e11177164d10a0373cf311d7b4d"},
-    {file = "types_requests-2.29.0.0-py3-none-any.whl", hash = "sha256:4cf6e323e856c779fbe8815bb977a5bf5d6c5034713e4c17ff2a9a20610f5b27"},
-]
-
-[package.dependencies]
-types-urllib3 = "<1.27"
-
-[[package]]
-name = "types-urllib3"
-version = "1.26.25.12"
-description = "Typing stubs for urllib3"
-category = "dev"
-optional = false
-python-versions = "*"
-files = [
-    {file = "types-urllib3-1.26.25.12.tar.gz", hash = "sha256:a1557355ce8d350a555d142589f3001903757d2d36c18a66f588d9659bbc917d"},
-    {file = "types_urllib3-1.26.25.12-py3-none-any.whl", hash = "sha256:3ba3d3a8ee46e0d5512c6bd0594da4f10b2584b47a470f8422044a2ab462f1df"},
-]
-
-[[package]]
-name = "typing-extensions"
-version = "4.5.0"
-description = "Backported and Experimental Type Hints for Python 3.7+"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"},
-    {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"},
-]
-
-[[package]]
-name = "urllib3"
-version = "1.26.15"
-description = "HTTP library with thread-safe connection pooling, file post, and more."
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
-files = [
-    {file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"},
-    {file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"},
-]
-
-[package.extras]
-brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
-secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
-socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
-
-[[package]]
-name = "virtualenv"
-version = "20.16.5"
-description = "Virtual Python Environment builder"
-category = "main"
-optional = false
-python-versions = ">=3.6"
-files = [
-    {file = "virtualenv-20.16.5-py3-none-any.whl", hash = "sha256:d07dfc5df5e4e0dbc92862350ad87a36ed505b978f6c39609dc489eadd5b0d27"},
-    {file = "virtualenv-20.16.5.tar.gz", hash = "sha256:227ea1b9994fdc5ea31977ba3383ef296d7472ea85be9d6732e42a91c04e80da"},
-]
-
-[package.dependencies]
-distlib = ">=0.3.5,<1"
-filelock = ">=3.4.1,<4"
-platformdirs = ">=2.4,<3"
-
-[package.extras]
-docs = ["proselint (>=0.13)", "sphinx (>=5.1.1)", "sphinx-argparse (>=0.3.1)", "sphinx-rtd-theme (>=1)", "towncrier (>=21.9)"]
-testing = ["coverage (>=6.2)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=21.3)", "pytest (>=7.0.1)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.6.1)", "pytest-randomly (>=3.10.3)", "pytest-timeout (>=2.1)"]
-
-[[package]]
-name = "virtualenv"
-version = "20.21.1"
-description = "Virtual Python Environment builder"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "virtualenv-20.21.1-py3-none-any.whl", hash = "sha256:09ddbe1af0c8ed2bb4d6ed226b9e6415718ad18aef9fa0ba023d96b7a8356049"},
-    {file = "virtualenv-20.21.1.tar.gz", hash = "sha256:4c104ccde994f8b108163cf9ba58f3d11511d9403de87fb9b4f52bf33dbc8668"},
-]
-
-[package.dependencies]
-distlib = ">=0.3.6,<1"
-filelock = ">=3.4.1,<4"
-importlib-metadata = {version = ">=4.8.3", markers = "python_version < \"3.8\""}
-platformdirs = ">=2.4,<4"
-
-[package.extras]
-docs = ["furo (>=2023.3.27)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"]
-test = ["covdefaults (>=2.3)", "coverage (>=7.2.3)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.3.1)", "pytest-env (>=0.8.1)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)"]
-
-[[package]]
-name = "webencodings"
-version = "0.5.1"
-description = "Character encoding aliases for legacy web content"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"},
-    {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"},
-]
-
-[[package]]
-name = "xattr"
-version = "0.10.1"
-description = "Python wrapper for extended filesystem attributes"
-category = "main"
-optional = false
-python-versions = "*"
-files = [
-    {file = "xattr-0.10.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:16a660a883e703b311d1bbbcafc74fa877585ec081cd96e8dd9302c028408ab1"},
-    {file = "xattr-0.10.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:1e2973e72faa87ca29d61c23b58c3c89fe102d1b68e091848b0e21a104123503"},
-    {file = "xattr-0.10.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:13279fe8f7982e3cdb0e088d5cb340ce9cbe5ef92504b1fd80a0d3591d662f68"},
-    {file = "xattr-0.10.1-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1dc9b9f580ef4b8ac5e2c04c16b4d5086a611889ac14ecb2e7e87170623a0b75"},
-    {file = "xattr-0.10.1-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:485539262c2b1f5acd6b6ea56e0da2bc281a51f74335c351ea609c23d82c9a79"},
-    {file = "xattr-0.10.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:295b3ab335fcd06ca0a9114439b34120968732e3f5e9d16f456d5ec4fa47a0a2"},
-    {file = "xattr-0.10.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:a126eb38e14a2f273d584a692fe36cff760395bf7fc061ef059224efdb4eb62c"},
-    {file = "xattr-0.10.1-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:b0e919c24f5b74428afa91507b15e7d2ef63aba98e704ad13d33bed1288dca81"},
-    {file = "xattr-0.10.1-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:e31d062cfe1aaeab6ba3db6bd255f012d105271018e647645941d6609376af18"},
-    {file = "xattr-0.10.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:209fb84c09b41c2e4cf16dd2f481bb4a6e2e81f659a47a60091b9bcb2e388840"},
-    {file = "xattr-0.10.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c4120090dac33eddffc27e487f9c8f16b29ff3f3f8bcb2251b2c6c3f974ca1e1"},
-    {file = "xattr-0.10.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3e739d624491267ec5bb740f4eada93491de429d38d2fcdfb97b25efe1288eca"},
-    {file = "xattr-0.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2677d40b95636f3482bdaf64ed9138fb4d8376fb7933f434614744780e46e42d"},
-    {file = "xattr-0.10.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40039f1532c4456fd0f4c54e9d4e01eb8201248c321c6c6856262d87e9a99593"},
-    {file = "xattr-0.10.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:148466e5bb168aba98f80850cf976e931469a3c6eb11e9880d9f6f8b1e66bd06"},
-    {file = "xattr-0.10.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0aedf55b116beb6427e6f7958ccd80a8cbc80e82f87a4cd975ccb61a8d27b2ee"},
-    {file = "xattr-0.10.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c3024a9ff157247c8190dd0eb54db4a64277f21361b2f756319d9d3cf20e475f"},
-    {file = "xattr-0.10.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f1be6e733e9698f645dbb98565bb8df9b75e80e15a21eb52787d7d96800e823b"},
-    {file = "xattr-0.10.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7880c8a54c18bc091a4ce0adc5c6d81da1c748aec2fe7ac586d204d6ec7eca5b"},
-    {file = "xattr-0.10.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:89c93b42c3ba8aedbc29da759f152731196c2492a2154371c0aae3ef8ba8301b"},
-    {file = "xattr-0.10.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6b905e808df61b677eb972f915f8a751960284358b520d0601c8cbc476ba2df6"},
-    {file = "xattr-0.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1ef954d0655f93a34d07d0cc7e02765ec779ff0b59dc898ee08c6326ad614d5"},
-    {file = "xattr-0.10.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:199b20301b6acc9022661412346714ce764d322068ef387c4de38062474db76c"},
-    {file = "xattr-0.10.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec0956a8ab0f0d3f9011ba480f1e1271b703d11542375ef73eb8695a6bd4b78b"},
-    {file = "xattr-0.10.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ffcb57ca1be338d69edad93cf59aac7c6bb4dbb92fd7bf8d456c69ea42f7e6d2"},
-    {file = "xattr-0.10.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f0563196ee54756fe2047627d316977dc77d11acd7a07970336e1a711e934db"},
-    {file = "xattr-0.10.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc354f086f926a1c7f04886f97880fed1a26d20e3bc338d0d965fd161dbdb8ab"},
-    {file = "xattr-0.10.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:c0cd2d02ef2fb45ecf2b0da066a58472d54682c6d4f0452dfe7ae2f3a76a42ea"},
-    {file = "xattr-0.10.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49626096ddd72dcc1654aadd84b103577d8424f26524a48d199847b5d55612d0"},
-    {file = "xattr-0.10.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ceaa26bef8fcb17eb59d92a7481c2d15d20211e217772fb43c08c859b01afc6a"},
-    {file = "xattr-0.10.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8c014c371391f28f8cd27d73ea59f42b30772cd640b5a2538ad4f440fd9190b"},
-    {file = "xattr-0.10.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:46c32cd605673606b9388a313b0050ee7877a0640d7561eea243ace4fa2cc5a6"},
-    {file = "xattr-0.10.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:772b22c4ff791fe5816a7c2a1c9fcba83f9ab9bea138eb44d4d70f34676232b4"},
-    {file = "xattr-0.10.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:183ad611a2d70b5a3f5f7aadef0fcef604ea33dcf508228765fd4ddac2c7321d"},
-    {file = "xattr-0.10.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8068df3ebdfa9411e58d5ae4a05d807ec5994645bb01af66ec9f6da718b65c5b"},
-    {file = "xattr-0.10.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bc40570155beb85e963ae45300a530223d9822edfdf09991b880e69625ba38a"},
-    {file = "xattr-0.10.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:436e1aaf23c07e15bed63115f1712d2097e207214fc6bcde147c1efede37e2c5"},
-    {file = "xattr-0.10.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7298455ccf3a922d403339781b10299b858bb5ec76435445f2da46fb768e31a5"},
-    {file = "xattr-0.10.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:986c2305c6c1a08f78611eb38ef9f1f47682774ce954efb5a4f3715e8da00d5f"},
-    {file = "xattr-0.10.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:5dc6099e76e33fa3082a905fe59df766b196534c705cf7a2e3ad9bed2b8a180e"},
-    {file = "xattr-0.10.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:042ad818cda6013162c0bfd3816f6b74b7700e73c908cde6768da824686885f8"},
-    {file = "xattr-0.10.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:9d4c306828a45b41b76ca17adc26ac3dc00a80e01a5ba85d71df2a3e948828f2"},
-    {file = "xattr-0.10.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a606280b0c9071ef52572434ecd3648407b20df3d27af02c6592e84486b05894"},
-    {file = "xattr-0.10.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5b49d591cf34cda2079fd7a5cb2a7a1519f54dc2e62abe3e0720036f6ed41a85"},
-    {file = "xattr-0.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b8705ac6791426559c1a5c2b88bb2f0e83dc5616a09b4500899bfff6a929302"},
-    {file = "xattr-0.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a5ea974930e876bc5c146f54ac0f85bb39b7b5de2b6fc63f90364712ae368ebe"},
-    {file = "xattr-0.10.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f55a2dd73a12a1ae5113c5d9cd4b4ab6bf7950f4d76d0a1a0c0c4264d50da61d"},
-    {file = "xattr-0.10.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:475c38da0d3614cc5564467c4efece1e38bd0705a4dbecf8deeb0564a86fb010"},
-    {file = "xattr-0.10.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:925284a4a28e369459b2b7481ea22840eed3e0573a4a4c06b6b0614ecd27d0a7"},
-    {file = "xattr-0.10.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa32f1b45fed9122bed911de0fcc654da349e1f04fa4a9c8ef9b53e1cc98b91e"},
-    {file = "xattr-0.10.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c5d3d0e728bace64b74c475eb4da6148cd172b2d23021a1dcd055d92f17619ac"},
-    {file = "xattr-0.10.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8faaacf311e2b5cc67c030c999167a78a9906073e6abf08eaa8cf05b0416515c"},
-    {file = "xattr-0.10.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cc6b8d5ca452674e1a96e246a3d2db5f477aecbc7c945c73f890f56323e75203"},
-    {file = "xattr-0.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3725746a6502f40f72ef27e0c7bfc31052a239503ff3eefa807d6b02a249be22"},
-    {file = "xattr-0.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:789bd406d1aad6735e97b20c6d6a1701e1c0661136be9be862e6a04564da771f"},
-    {file = "xattr-0.10.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9a7a807ab538210ff8532220d8fc5e2d51c212681f63dbd4e7ede32543b070f"},
-    {file = "xattr-0.10.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3e5825b5fc99ecdd493b0cc09ec35391e7a451394fdf623a88b24726011c950d"},
-    {file = "xattr-0.10.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:80638d1ce7189dc52f26c234cee3522f060fadab6a8bc3562fe0ddcbe11ba5a4"},
-    {file = "xattr-0.10.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3ff0dbe4a6ce2ce065c6de08f415bcb270ecfd7bf1655a633ddeac695ce8b250"},
-    {file = "xattr-0.10.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5267e5f9435c840d2674194150b511bef929fa7d3bc942a4a75b9eddef18d8d8"},
-    {file = "xattr-0.10.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b27dfc13b193cb290d5d9e62f806bb9a99b00cd73bb6370d556116ad7bb5dc12"},
-    {file = "xattr-0.10.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:636ebdde0277bce4d12d2ef2550885804834418fee0eb456b69be928e604ecc4"},
-    {file = "xattr-0.10.1-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d60c27922ec80310b45574351f71e0dd3a139c5295e8f8b19d19c0010196544f"},
-    {file = "xattr-0.10.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b34df5aad035d0343bd740a95ca30db99b776e2630dca9cc1ba8e682c9cc25ea"},
-    {file = "xattr-0.10.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f24a7c04ff666d0fe905dfee0a84bc899d624aeb6dccd1ea86b5c347f15c20c1"},
-    {file = "xattr-0.10.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3878e1aff8eca64badad8f6d896cb98c52984b1e9cd9668a3ab70294d1ef92d"},
-    {file = "xattr-0.10.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4abef557028c551d59cf2fb3bf63f2a0c89f00d77e54c1c15282ecdd56943496"},
-    {file = "xattr-0.10.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0e14bd5965d3db173d6983abdc1241c22219385c22df8b0eb8f1846c15ce1fee"},
-    {file = "xattr-0.10.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f9be588a4b6043b03777d50654c6079af3da60cc37527dbb80d36ec98842b1e"},
-    {file = "xattr-0.10.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bc4ae264aa679aacf964abf3ea88e147eb4a22aea6af8c6d03ebdebd64cfd6"},
-    {file = "xattr-0.10.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:827b5a97673b9997067fde383a7f7dc67342403093b94ea3c24ae0f4f1fec649"},
-    {file = "xattr-0.10.1.tar.gz", hash = "sha256:c12e7d81ffaa0605b3ac8c22c2994a8e18a9cf1c59287a1b7722a2289c952ec5"},
-]
-
-[package.dependencies]
-cffi = ">=1.0"
-
-[[package]]
-name = "zipp"
-version = "3.15.0"
-description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
-optional = false
-python-versions = ">=3.7"
-files = [
-    {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
-    {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
-]
-
-[package.extras]
-docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
-testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
-
-[metadata]
-lock-version = "2.0"
-python-versions = "^3.7"
-content-hash = "c1c21f02e493ffbfd622bec8546c83edad08325b957851dd3f9a287867ce24a4"
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
deleted file mode 100644
index 463cc513ff6..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
+++ /dev/null
@@ -1,198 +0,0 @@
-[tool.poetry]
-name = "poetry"
-version = "1.3.2"
-description = "Python dependency management and packaging made easy."
-authors = [
-    "Sébastien Eustace <sebastien@eustace.io>",
-]
-maintainers = [
-    "Arun Babu Neelicattu <arun.neelicattu@gmail.com>",
-    "Bjorn Neergaard <bjorn@neersighted.com>",
-    "Branch Vincent <branchevincent@gmail.com>",
-    "Bryce Drennan <github@accounts.brycedrennan.com>",
-    "Daniel Eades <danieleades@hotmail.com>",
-    "Randy Döring <radoering.poetry@gmail.com>",
-    "Steph Samson <hello@stephsamson.com>",
-    "finswimmer <finswimmer77@gmail.com>",
-]
-license = "MIT"
-
-readme = "README.md"
-
-packages = [
-    { include = "poetry", from = "src" }
-]
-include = [
-    { path = "tests", format = "sdist" }
-]
-
-homepage = "https://python-poetry.org/"
-repository = "https://github.com/python-poetry/poetry"
-documentation = "https://python-poetry.org/docs"
-
-keywords = ["packaging", "dependency", "poetry"]
-
-classifiers = [
-    "Topic :: Software Development :: Build Tools",
-    "Topic :: Software Development :: Libraries :: Python Modules"
-]
-
-[tool.poetry.urls]
-Changelog = "https://python-poetry.org/history/"
-
-[tool.poetry.build]
-generate-setup-file = false
-
-# Requirements
-[tool.poetry.dependencies]
-python = "^3.7"
-
-poetry-core = "1.4.0"
-poetry-plugin-export = "^1.2.0"
-"backports.cached-property" = { version = "^1.0.2", python = "<3.8" }
-cachecontrol = { version = "^0.12.9", extras = ["filecache"] }
-cleo = "^2.0.0"
-crashtest = "^0.4.1"
-dulwich = "^0.20.46"
-filelock = "^3.8.0"
-html5lib = "^1.0"
-importlib-metadata = { version = "^4.4", python = "<3.10" }
-jsonschema = "^4.10.0"
-keyring = "^23.9.0"
-# packaging uses calver, so version is unclamped
-packaging = ">=20.4"
-pexpect = "^4.7.0"
-pkginfo = "^1.5"
-platformdirs = "^2.5.2"
-requests = "^2.18"
-requests-toolbelt = ">=0.9.1,<0.11.0"
-shellingham = "^1.5"
-tomli = { version = "^2.0.1", python = "<3.11" }
-# exclude 0.11.2 and 0.11.3 due to https://github.com/sdispater/tomlkit/issues/225
-tomlkit = ">=0.11.1,<1.0.0,!=0.11.2,!=0.11.3"
-# trove-classifiers uses calver, so version is unclamped
-trove-classifiers = ">=2022.5.19"
-# exclude 20.4.5 - 20.4.6 due to https://github.com/pypa/pip/issues/9953
-virtualenv = [
-    { version = "^20.4.3,!=20.4.5,!=20.4.6", markers = "sys_platform != 'win32' or python_version != '3.9'" },
-    # see https://github.com/python-poetry/poetry/pull/6950 for details
-    { version = "^20.4.3,!=20.4.5,!=20.4.6,<20.16.6", markers = "sys_platform == 'win32' and python_version == '3.9'" },
-]
-xattr = { version = "^0.10.0", markers = "sys_platform == 'darwin'" }
-urllib3 = "^1.26.0"
-
-[tool.poetry.group.dev.dependencies]
-pre-commit = "^2.6"
-
-[tool.poetry.group.test.dependencies]
-# Cachy frozen to test backwards compatibility for `poetry.utils.cache`.
-cachy = "0.3.0"
-deepdiff = "^5.0"
-flatdict = "^4.0.1"
-httpretty = "^1.0"
-pytest = "^7.1"
-pytest-cov = "^4.0"
-pytest-mock = "^3.9"
-pytest-randomly = "^3.12"
-pytest-xdist = { version = "^2.5", extras = ["psutil"] }
-zipp = { version = "^3.4", python = "<3.8" }
-
-[tool.poetry.group.typing.dependencies]
-mypy = ">=0.990"
-types-html5lib = ">=1.1.9"
-types-jsonschema = ">=4.9.0"
-types-requests = ">=2.28.8"
-typing-extensions = { version = "^4.0.0", python = "<3.8" }
-
-# only used in github actions
-[tool.poetry.group.github-actions]
-optional = true
-[tool.poetry.group.github-actions.dependencies]
-pytest-github-actions-annotate-failures = "^0.1.7"
-
-
-[tool.poetry.scripts]
-poetry = "poetry.console.application:main"
-
-
-[build-system]
-requires = ["poetry-core>=1.1.0"]
-build-backend = "poetry.core.masonry.api"
-
-
-[tool.isort]
-py_version = 37
-profile = "black"
-force_single_line = true
-combine_as_imports = true
-lines_between_types = 1
-lines_after_imports = 2
-src_paths = ["src", "tests"]
-extend_skip = ["setup.py"]
-known_third_party = ["poetry.core"]
-
-
-[tool.black]
-target-version = ['py37']
-preview = true
-force-exclude = '''
-.*/setup\.py$
-'''
-
-
-[tool.mypy]
-files = "src"
-mypy_path = "src"
-namespace_packages = true
-explicit_package_bases = true
-show_error_codes = true
-strict = true
-enable_error_code = [
-    "ignore-without-code",
-    "redundant-expr",
-    "truthy-bool",
-]
-
-# use of importlib-metadata backport at python3.7 makes it impossible to
-# satisfy mypy without some ignores: but we get a different set of ignores at
-# different python versions.
-#
-# <https://github.com/python/mypy/issues/8823>, meanwhile suppress that
-# warning.
-[[tool.mypy.overrides]]
-module = [
-  'poetry.console.commands.self.show.plugins',
-  'poetry.installation.executor',
-  'poetry.mixology.version_solver',
-  'poetry.plugins.plugin_manager',
-  'poetry.repositories.installed_repository',
-  'poetry.utils.env',
-]
-warn_unused_ignores = false
-
-[[tool.mypy.overrides]]
-module = [
-  'cachecontrol.*',
-  'lockfile.*',
-  'pexpect.*',
-  'pkginfo.*',
-  'requests_toolbelt.*',
-  'shellingham.*',
-  'virtualenv.*',
-  'xattr.*',
-]
-ignore_missing_imports = true
-
-
-[tool.pytest.ini_options]
-addopts = "-n auto"
-testpaths = [
-    "tests"
-]
-
-
-[tool.coverage.report]
-exclude_lines = [
-    "pragma: no cover",
-    "if TYPE_CHECKING:"
-]
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
deleted file mode 100644
index 049ba40b478..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  "owner": "python-poetry",
-  "repo": "poetry",
-  "rev": "1.3.0",
-  "sha256": "16ng59ykm7zkjizmwb482y0hawpjjr5mvl0ahjd790xzxcc2bbbv",
-  "fetchSubmodules": true
-}
-
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/plugins.nix b/pkgs/development/tools/poetry2nix/poetry2nix/plugins.nix
deleted file mode 100644
index 1c78904b624..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/plugins.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ pkgs, lib }:
-let
-  inherit (pkgs) stdenv;
-
-  mkPluginDrv =
-    { self
-    , plugins
-    , drv
-    , postInstall ? ""
-    , nativeBuildInputs ? [ ]
-    , buildInputs ? [ ]
-    }:
-    let
-      env = self.python.withPackages (ps: plugins);
-    in
-    stdenv.mkDerivation {
-      pname = drv.pname + "-with-plugins";
-
-      inherit (drv) src version meta;
-
-      buildInputs = drv.buildInputs ++ drv.propagatedBuildInputs ++ buildInputs;
-      nativeBuildInputs = builtins.filter (x: x.name != "python-output-dist-hook") (drv.nativeBuildInputs ++ nativeBuildInputs);
-
-      dontConfigure = true;
-      dontBuild = true;
-      dontUsePythonRecompileBytecode = true;
-
-      passthru = {
-        inherit (drv.passthru) withPlugins;
-        inherit plugins;
-      };
-
-      # Link bin/ from environment, but only if it's in a plugin
-      installPhase = ''
-        runHook preInstall
-
-        mkdir -p $out/bin
-
-        for bindir in ${lib.concatStringsSep " " (map (d: "${lib.getBin d}/bin") plugins)}; do
-          for bin in $bindir/*; do
-            ln -s ${env}/bin/$(basename $bin) $out/bin/
-          done
-        done
-
-        runHook postInstall
-      '';
-
-      inherit postInstall;
-    };
-
-in
-{
-
-  # Provide the `withPlugins` function
-  toPluginAble = self: { drv
-                       , finalDrv
-                       , postInstall ? ""
-                       , nativeBuildInputs ? [ ]
-                       , buildInputs ? [ ]
-                       }: drv.overridePythonAttrs (old: {
-    passthru = old.passthru // {
-      withPlugins = pluginFn: mkPluginDrv {
-        plugins = [ finalDrv ] ++ pluginFn self;
-        inherit self postInstall nativeBuildInputs buildInputs;
-        drv = finalDrv;
-      };
-    };
-  });
-
-}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix b/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix
deleted file mode 100644
index 0ef1d4c316a..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/semver.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-{ lib, ireplace }:
-let
-  inherit (builtins) elemAt match;
-  operators =
-    let
-      matchWildCard = s: match "([^*])(\\.[*])" s;
-      mkComparison = ret: version: v: builtins.compareVersions version v == ret;
-      mkIdxComparison = idx: version: v:
-        let
-          ver = builtins.splitVersion v;
-          minor = builtins.toString (lib.toInt (elemAt ver idx) + 1);
-          upper = builtins.concatStringsSep "." (ireplace idx minor ver);
-        in
-        operators.">=" version v && operators."<" version upper;
-      dropWildcardPrecision = f: version: constraint:
-        let
-          m = matchWildCard constraint;
-          hasWildcard = m != null;
-          c = if hasWildcard then (elemAt m 0) else constraint;
-          v =
-            if hasWildcard then (builtins.substring 0 (builtins.stringLength c) version)
-            else version;
-        in
-        f v c;
-    in
-    {
-      # Prefix operators
-      "==" = dropWildcardPrecision (mkComparison 0);
-      ">" = dropWildcardPrecision (mkComparison 1);
-      "<" = dropWildcardPrecision (mkComparison (-1));
-      "!=" = v: c: ! operators."==" v c;
-      ">=" = v: c: operators."==" v c || operators.">" v c;
-      "<=" = v: c: operators."==" v c || operators."<" v c;
-      # Semver specific operators
-      "~" = mkIdxComparison 1;
-      "^" = mkIdxComparison 0;
-      "~=" = v: c:
-        let
-          # Prune constraint
-          parts = builtins.splitVersion c;
-          pruned = lib.take ((builtins.length parts) - 1) parts;
-          upper = builtins.toString (
-            (lib.toInt (builtins.elemAt pruned (builtins.length pruned - 1))) + 1
-          );
-          upperConstraint = builtins.concatStringsSep "." (ireplace (builtins.length pruned - 1) upper pruned);
-        in
-        operators.">=" v c && operators."<" v upperConstraint;
-      # Infix operators
-      "-" = version: v: operators.">=" version v.vl && operators."<=" version v.vu;
-      # Arbitrary equality clause, just run simple comparison
-      "===" = v: c: v == c;
-      #
-    };
-  re = {
-    operators = "([=><!~^]+)";
-    version = "([0-9.*x]+)";
-  };
-  parseConstraint = constraint:
-    let
-      constraintStr = builtins.replaceStrings [ " " ] [ "" ] constraint;
-      # The common prefix operators
-      mPre = match "${re.operators} *${re.version}" constraintStr;
-      # There is also an infix operator to match ranges
-      mIn = match "${re.version} *(-) *${re.version}" constraintStr;
-    in
-    (
-      if mPre != null then {
-        op = elemAt mPre 0;
-        v = elemAt mPre 1;
-      }
-      # Infix operators are range matches
-      else if mIn != null then {
-        op = elemAt mIn 1;
-        v = {
-          vl = (elemAt mIn 0);
-          vu = (elemAt mIn 2);
-        };
-      }
-      else throw "Constraint \"${constraintStr}\" could not be parsed"
-    );
-  satisfiesSemver = version: constraint:
-    let
-      inherit (parseConstraint constraint) op v;
-    in
-    if constraint == "*" then true else operators."${op}" version v;
-in
-{ inherit satisfiesSemver; }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/shell-scripts.nix b/pkgs/development/tools/poetry2nix/poetry2nix/shell-scripts.nix
deleted file mode 100644
index 23362a2e237..00000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/shell-scripts.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib
-, scripts
-, python
-}:
-let
-  mkScript = bin: entrypoint:
-    let
-      elem = builtins.elemAt (builtins.split ":" entrypoint);
-      module = elem 0;
-      fn = elem 2;
-    in
-    ''
-      cat << EOF >> $out/bin/${bin}
-      #!${python.interpreter}
-      import sys
-      import re
-
-      # Insert "" to add CWD to import path
-      sys.path.insert(0, "")
-
-      from ${module} import ${fn}
-
-      if __name__ == '__main__':
-          sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', "", sys.argv[0])
-          sys.exit(${fn}())
-      EOF
-      chmod +x $out/bin/${bin}
-    '';
-in
-python.pkgs.buildPythonPackage {
-  name = "poetry2nix-env-scripts";
-  dontUnpack = true;
-  dontUseSetuptoolsBuild = true;
-  dontConfigure = true;
-  dontUseSetuptoolsCheck = true;
-
-  format = "poetry2nix";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    ${lib.concatStringsSep "\n" (lib.mapAttrsToList mkScript scripts)}
-  '';
-}
diff --git a/pkgs/development/tools/poetry2nix/update b/pkgs/development/tools/poetry2nix/update
deleted file mode 100755
index 047f7a8fea6..00000000000
--- a/pkgs/development/tools/poetry2nix/update
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env bash
-set -euo pipefail
-pwd=$(pwd)
-workdir=$(mktemp -d)
-
-function cleanup {
-    cd "$pwd"
-    rm -rf $workdir
-}
-trap cleanup EXIT
-
-cd "$workdir"
-
-curl -L -s https://github.com/nix-community/poetry2nix/archive/master.tar.gz | tar -xz
-mv poetry2nix-master/* .
-
-mkdir build
-cp *.* build/
-cp -r overrides pkgs hooks bin build/
-rm build/shell.nix build/generate.py build/overlay.nix build/flake.* build/check-fmt.nix build/pkgs/poetry/update*
-
-cat > build/README.md << EOF
-Dont change these files here, they are maintained at https://github.com/nix-community/poetry2nix
-
-The update procedure is as-follows:
-1. Send your change to the upstream poetry2nix repository
-2. Get it approved with tests passing
-3. Run the update script in pkgs/development/tools/poetry2nix
-EOF
-
-rm -rf "$pwd/poetry2nix"
-mv build "$pwd/poetry2nix"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 38e81f05199..c923aee3047 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -127,6 +127,25 @@ let
         };
       });
 
+      intellifire4py = super.intellifire4py.overridePythonAttrs (oldAttrs: rec {
+        version = "2.2.2";
+        src = fetchFromGitHub {
+          owner = "jeeftor";
+          repo = "intellifire4py";
+          rev = "refs/tags/${version}";
+          hash = "sha256-iqlKfpnETLqQwy5sNcK2x/TgmuN2hCfYoHEFK2WWVXI=";
+        };
+        nativeBuildInputs = with super; [
+          setuptools
+        ];
+        propagatedBuildInputs = with super; [
+          aenum
+          aiohttp
+          pydantic
+        ];
+        doCheck = false; # requires asynctest, which does not work on python 3.11
+      });
+
       jaraco-abode = super.jaraco-abode.overridePythonAttrs (oldAttrs: rec {
         version = "3.3.0";
         src = fetchFromGitHub {
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index b9505f15da4..5d572c18e25 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -12,6 +12,12 @@ let
       splitTS = builtins.elemAt (builtins.split "(.*)(T.*)" version) 1;
     in
     builtins.concatStringsSep "" [ (builtins.elemAt splitTS 0) (builtins.replaceStrings [ "-" ] [ ":" ] (builtins.elemAt splitTS 1)) ];
+
+  # CopyrightYear will be printed to the CLI UI.
+  # Example:
+  #   versionToYear "2021-04-22T15-44-28Z"
+  #   => "2021"
+  versionToYear = version: builtins.elemAt (lib.splitString "-" version) 0;
 in
 buildGoModule rec {
   pname = "minio";
@@ -35,7 +41,12 @@ buildGoModule rec {
   tags = [ "kqueue" ];
 
   ldflags = let t = "github.com/minio/minio/cmd"; in [
-    "-s" "-w" "-X ${t}.Version=${versionToTimestamp version}" "-X ${t}.ReleaseTag=RELEASE.${version}" "-X ${t}.CommitID=${src.rev}"
+    "-s"
+    "-w"
+    "-X ${t}.Version=${versionToTimestamp version}"
+    "-X ${t}.CopyrightYear=${versionToYear version}"
+    "-X ${t}.ReleaseTag=RELEASE.${version}"
+    "-X ${t}.CommitID=${src.rev}"
   ];
 
   passthru.tests.minio = nixosTests.minio;
diff --git a/pkgs/servers/monitoring/grafana-image-renderer/default.nix b/pkgs/servers/monitoring/grafana-image-renderer/default.nix
index 4d6351c5edf..e988bc7f0ba 100644
--- a/pkgs/servers/monitoring/grafana-image-renderer/default.nix
+++ b/pkgs/servers/monitoring/grafana-image-renderer/default.nix
@@ -7,18 +7,18 @@
 
 mkYarnPackage rec {
   pname = "grafana-image-renderer";
-  version = "3.8.3";
+  version = "3.8.4";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "grafana-image-renderer";
     rev = "v${version}";
-    hash = "sha256-3CaIVOzya0euQEpFAqqwy9L6Dn6qxPzpYFjJOL80Ka0=";
+    hash = "sha256-YfqIWPciFyPIpQypSDNEK2yXV1Ah9TiLiEzEFA/KcMw=";
   };
 
   offlineCache = fetchYarnDeps {
     yarnLock = src + "/yarn.lock";
-    hash = "sha256-GQ4dV3tyyKSYDA1tUgB+VaUBKIktdbx0o6GgBLQQkFc=";
+    hash = "sha256-HgUHxfFchqarVMmxbEg1gRN9vSkEx48aSy1yreux9fs=";
   };
 
   packageJSON = ./package.json;
diff --git a/pkgs/servers/monitoring/grafana-image-renderer/package.json b/pkgs/servers/monitoring/grafana-image-renderer/package.json
index 0e0d9fd49d5..8e32a849b69 100644
--- a/pkgs/servers/monitoring/grafana-image-renderer/package.json
+++ b/pkgs/servers/monitoring/grafana-image-renderer/package.json
@@ -69,7 +69,7 @@
     "typescript": "4.8.3"
   },
   "resolutions": {
-    "jpeg-js": "^0.4.4"
+    "xml2js": "^0.6.2"
   },
   "lint-staged": {
     "*.ts": [
diff --git a/pkgs/shells/nushell/plugins/default.nix b/pkgs/shells/nushell/plugins/default.nix
index bb3f631cf22..f4571d4da00 100644
--- a/pkgs/shells/nushell/plugins/default.nix
+++ b/pkgs/shells/nushell/plugins/default.nix
@@ -4,6 +4,6 @@ lib.makeScope newScope (self: with self; {
   gstat = callPackage ./gstat.nix { inherit Security; };
   formats = callPackage ./formats.nix { inherit IOKit Foundation; };
   query = callPackage ./query.nix { inherit IOKit CoreFoundation; };
-  regex = callPackage ./regex.nix { };
+  regex = callPackage ./regex.nix { inherit IOKit; };
   net = callPackage ./net.nix { inherit IOKit CoreFoundation; };
 })
diff --git a/pkgs/shells/nushell/plugins/regex.nix b/pkgs/shells/nushell/plugins/regex.nix
index 24cffddc27c..4689a839025 100644
--- a/pkgs/shells/nushell/plugins/regex.nix
+++ b/pkgs/shells/nushell/plugins/regex.nix
@@ -1,7 +1,9 @@
-{ lib
+{ stdenv
+, lib
 , rustPlatform
 , fetchFromGitHub
 , nix-update-script
+, IOKit
 }:
 
 rustPlatform.buildRustPackage {
@@ -17,6 +19,8 @@ rustPlatform.buildRustPackage {
 
   cargoHash = "sha256-AACpzSavY6MlYnl1lDYxVlfsEvEpNK0u8SzsoSZbqFc=";
 
+  buildInputs = lib.optionals stdenv.isDarwin [ IOKit ];
+
   passthru = {
     updateScript = nix-update-script { };
   };
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index 4cc9ecc0db3..595c3413d5e 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -104,7 +104,7 @@ with pkgs;
   cc-multilib-clang = callPackage ./cc-wrapper/multilib.nix { stdenv = clangMultiStdenv; };
 
   fetchurl = callPackages ../build-support/fetchurl/tests.nix { };
-  fetchFromBittorrent = callPackages ../build-support/fetchbittorrent/tests.nix { };
+  fetchtorrent = callPackages ../build-support/fetchtorrent/tests.nix { };
   fetchpatch = callPackages ../build-support/fetchpatch/tests.nix { };
   fetchpatch2 = callPackages ../build-support/fetchpatch/tests.nix { fetchpatch = fetchpatch2; };
   fetchDebianPatch = callPackages ../build-support/fetchdebianpatch/tests.nix { };
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index d598d78bde9..6cb9ecc0782 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -7,19 +7,19 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.46.0";
+  version = "0.46.1";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-hthVpiiTRrBdEL5QsL8NiOYNRXybCAfAnCn5w3JfNn4=";
+    hash = "sha256-Jybno45XQYt1Bt9eGIf6p9AgOluW0/M/mRiQLiArhhc=";
   };
 
   # Hash mismatch on across Linux and Darwin
   proxyVendor = true;
 
-  vendorHash = "sha256-2Aig/udgLQzNmVJ0m1C7wfqlNefpexQOrh2HCPBK9Mc=";
+  vendorHash = "sha256-MIfRq2bj73G4eyHjrJZkVMrlnLYacbHdHTPgWASVXow=";
 
   subPackages = [ "cmd/trivy" ];
 
diff --git a/pkgs/tools/package-management/nixops/default.nix b/pkgs/tools/package-management/nixops/default.nix
deleted file mode 100644
index 4be57480afd..00000000000
--- a/pkgs/tools/package-management/nixops/default.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{ lib, python2, poetry2nix, docbook_xsl_ns, openssh, cacert, nixopsAzurePackages ? []
-, fetchurl, fetchpatch
-}:
-
-let
-  inherit (poetry2nix.mkPoetryPackages {
-    projectDir = ./python-env;
-    python = python2;
-    overrides = [
-      poetry2nix.defaultPoetryOverrides
-      (self: super: {
-        certifi = super.certifi.overridePythonAttrs (old: {
-          meta = old.meta // {
-            knownVulnerabilities = [ "CVE-2022-23491" ];
-          };
-        });
-        pyjwt = super.pyjwt.overridePythonAttrs (old: {
-          meta = old.meta // {
-            knownVulnerabilities = lib.optionals (lib.versionOlder old.version "2.4.0") [
-              "CVE-2022-29217"
-            ];
-          };
-        });
-      })
-    ];
-  }) python;
-  pythonPackages = python.pkgs;
-
-in pythonPackages.buildPythonApplication rec {
-  pname = "nixops";
-  version = "1.7";
-
-  src = fetchurl {
-    url = "https://nixos.org/releases/nixops/nixops-${version}/nixops-${version}.tar.bz2";
-    sha256 = "091c0b5bca57d4aa20be20e826ec161efe3aec9c788fbbcf3806a734a517f0f3";
-  };
-
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/NixOS/nixops/commit/fb6d4665e8efd858a215bbaaf079ec3f5ebc49b8.patch";
-      sha256 = "1hbhykl811zsqlaj3y5m9d8lfsal6ps6n5p16ah6lqy2s18ap9d0";
-    })
-    ./optional-virtd.patch
-  ];
-
-  buildInputs = [ pythonPackages.libxslt ];
-
-  pythonPath = (with pythonPackages;
-    [ prettytable
-      boto
-      boto3
-      hetzner
-      apache-libcloud
-      adal
-      # Go back to sqlite once Python 2.7.13 is released
-      pysqlite
-      datadog
-      python-digitalocean
-      ]
-      ++ lib.optional (!libvirt.passthru.libvirt.meta.insecure or true) libvirt
-      ++ nixopsAzurePackages);
-
-  checkPhase =
-  # Ensure, that there are no (python) import errors
-  ''
-    SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt \
-    HOME=$(pwd) \
-      $out/bin/nixops --version
-  '';
-
-  postInstall = ''
-    make -C doc/manual install nixops.1 docbookxsl=${docbook_xsl_ns}/xml/xsl/docbook \
-      docdir=$out/share/doc/nixops mandir=$out/share/man
-
-    mkdir -p $out/share/nix/nixops
-    cp -av "nix/"* $out/share/nix/nixops
-
-    # Add openssh to nixops' PATH. On some platforms, e.g. CentOS and RHEL
-    # the version of openssh is causing errors when have big networks (40+)
-    wrapProgram $out/bin/nixops --prefix PATH : "${openssh}/bin"
-  '';
-
-  meta = {
-    homepage = "https://github.com/NixOS/nixops";
-    description = "NixOS cloud provisioning and deployment tool";
-    maintainers = with lib.maintainers; [ aminechikhaoui eelco rob ];
-    platforms = lib.platforms.unix;
-    license = lib.licenses.lgpl3;
-  };
-}
diff --git a/pkgs/tools/package-management/nixops/optional-virtd.patch b/pkgs/tools/package-management/nixops/optional-virtd.patch
deleted file mode 100644
index 3697fdde8f2..00000000000
--- a/pkgs/tools/package-management/nixops/optional-virtd.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/nixops/backends/libvirtd.py b/nixops/backends/libvirtd.py
-index bc5f4af7..edd1348b 100644
---- a/nixops/backends/libvirtd.py
-+++ b/nixops/backends/libvirtd.py
-@@ -8,12 +8,18 @@ import shutil
- import string
- import subprocess
- import time
--import libvirt
- 
- from nixops.backends import MachineDefinition, MachineState
- import nixops.known_hosts
- import nixops.util
- 
-+try:
-+    import libvirt
-+except:
-+    class libvirt(object):
-+        def __getattribute__(self, name):
-+            raise ValueError("The libvirt backend has been disabled because of security issues.")
-+
- # to prevent libvirt errors from appearing on screen, see
- # https://www.redhat.com/archives/libvirt-users/2017-August/msg00011.html
- 
diff --git a/pkgs/tools/package-management/nixops/python-env/poetry.lock b/pkgs/tools/package-management/nixops/python-env/poetry.lock
deleted file mode 100644
index 7cc195c95f5..00000000000
--- a/pkgs/tools/package-management/nixops/python-env/poetry.lock
+++ /dev/null
@@ -1,644 +0,0 @@
-[[package]]
-name = "adal"
-version = "1.2.7"
-description = "Note: This library is already replaced by MSAL Python, available here: https://pypi.org/project/msal/ .ADAL Python remains available here as a legacy. The ADAL for Python library makes it easy for python application to authenticate to Azure Active Directory (AAD) in order to access AAD protected web resources."
-category = "main"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-cryptography = ">=1.1.0"
-PyJWT = ">=1.0.0,<3"
-python-dateutil = ">=2.1.0,<3"
-requests = ">=2.0.0,<3"
-
-[[package]]
-name = "apache-libcloud"
-version = "2.8.3"
-description = "A standard Python library that abstracts away differences among multiple cloud provider APIs. For more information and documentation, please see http://libcloud.apache.org"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4"
-
-[package.dependencies]
-"backports.ssl-match-hostname" = {version = "*", markers = "python_version < \"2.7.9\""}
-enum34 = {version = "*", markers = "python_version < \"3.4.0\""}
-requests = ">=2.5.0"
-typing = {version = "*", markers = "python_version < \"3.4.0\""}
-
-[[package]]
-name = "backports.functools-lru-cache"
-version = "1.6.4"
-description = "Backport of functools.lru_cache"
-category = "main"
-optional = false
-python-versions = ">=2.6"
-
-[package.extras]
-docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
-testing = ["pytest (>=4.6)", "pytest-black (>=0.3.7)", "pytest-mypy", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-checkdocs (>=2.4)"]
-
-[[package]]
-name = "backports.ssl-match-hostname"
-version = "3.7.0.1"
-description = "The ssl.match_hostname() function from Python 3.5"
-category = "main"
-optional = false
-python-versions = "*"
-
-[[package]]
-name = "boto"
-version = "2.49.0"
-description = "Amazon Web Services Library"
-category = "main"
-optional = false
-python-versions = "*"
-
-[[package]]
-name = "boto3"
-version = "1.17.112"
-description = "The AWS SDK for Python"
-category = "main"
-optional = false
-python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
-
-[package.dependencies]
-botocore = ">=1.20.112,<1.21.0"
-jmespath = ">=0.7.1,<1.0.0"
-s3transfer = ">=0.4.0,<0.5.0"
-
-[[package]]
-name = "botocore"
-version = "1.20.112"
-description = "Low-level, data-driven core of boto 3."
-category = "main"
-optional = false
-python-versions = ">= 2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
-
-[package.dependencies]
-jmespath = ">=0.7.1,<1.0.0"
-python-dateutil = ">=2.1,<3.0.0"
-urllib3 = ">=1.25.4,<1.27"
-
-[package.extras]
-crt = ["awscrt (==0.11.24)"]
-
-[[package]]
-name = "certifi"
-version = "2021.10.8"
-description = "Python package for providing Mozilla's CA Bundle."
-category = "main"
-optional = false
-python-versions = "*"
-
-[[package]]
-name = "cffi"
-version = "1.15.0"
-description = "Foreign Function Interface for Python calling C code."
-category = "main"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-pycparser = "*"
-
-[[package]]
-name = "chardet"
-version = "4.0.0"
-description = "Universal encoding detector for Python 2 and 3"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-
-[[package]]
-name = "configparser"
-version = "4.0.2"
-description = "Updated configparser from Python 3.7 for Python 2.6+."
-category = "main"
-optional = false
-python-versions = ">=2.6"
-
-[package.extras]
-docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
-testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2)", "pytest-flake8", "pytest-black-multipy"]
-
-[[package]]
-name = "contextlib2"
-version = "0.6.0.post1"
-description = "Backports and enhancements for the contextlib module"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-
-[[package]]
-name = "cryptography"
-version = "3.3.2"
-description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
-category = "main"
-optional = false
-python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
-
-[package.dependencies]
-cffi = ">=1.12"
-enum34 = {version = "*", markers = "python_version < \"3\""}
-ipaddress = {version = "*", markers = "python_version < \"3\""}
-six = ">=1.4.1"
-
-[package.extras]
-docs = ["sphinx (>=1.6.5,!=1.8.0,!=3.1.0,!=3.1.1)", "sphinx-rtd-theme"]
-docstest = ["doc8", "pyenchant (>=1.6.11)", "twine (>=1.12.0)", "sphinxcontrib-spelling (>=4.0.1)"]
-pep8test = ["black", "flake8", "flake8-import-order", "pep8-naming"]
-ssh = ["bcrypt (>=3.1.5)"]
-test = ["pytest (>=3.6.0,!=3.9.0,!=3.9.1,!=3.9.2)", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"]
-
-[[package]]
-name = "datadog"
-version = "0.42.0"
-description = "The Datadog Python library"
-category = "main"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-configparser = {version = "<5", markers = "python_version < \"3.0\""}
-requests = ">=2.6.0"
-typing = {version = "*", markers = "python_version < \"3.5\""}
-
-[[package]]
-name = "enum34"
-version = "1.1.10"
-description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4"
-category = "main"
-optional = false
-python-versions = "*"
-
-[[package]]
-name = "futures"
-version = "3.3.0"
-description = "Backport of the concurrent.futures package from Python 3"
-category = "main"
-optional = false
-python-versions = ">=2.6, <3"
-
-[[package]]
-name = "hetzner"
-version = "0.8.3"
-description = "High level access to the Hetzner robot"
-category = "main"
-optional = false
-python-versions = "*"
-
-[[package]]
-name = "idna"
-version = "2.10"
-description = "Internationalized Domain Names in Applications (IDNA)"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-
-[[package]]
-name = "importlib-metadata"
-version = "2.1.2"
-description = "Read metadata from Python packages"
-category = "main"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
-
-[package.dependencies]
-configparser = {version = ">=3.5", markers = "python_version < \"3\""}
-contextlib2 = {version = "*", markers = "python_version < \"3\""}
-pathlib2 = {version = "*", markers = "python_version < \"3\""}
-zipp = ">=0.5"
-
-[package.extras]
-docs = ["sphinx", "rst.linker"]
-testing = ["packaging", "pep517", "unittest2", "importlib-resources (>=1.3)"]
-
-[[package]]
-name = "ipaddress"
-version = "1.0.23"
-description = "IPv4/IPv6 manipulation library"
-category = "main"
-optional = false
-python-versions = "*"
-
-[[package]]
-name = "jmespath"
-version = "0.10.0"
-description = "JSON Matching Expressions"
-category = "main"
-optional = false
-python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
-
-[[package]]
-name = "jsonpickle"
-version = "2.0.0"
-description = "Python library for serializing any arbitrary object graph into JSON"
-category = "main"
-optional = false
-python-versions = ">=2.7"
-
-[package.dependencies]
-importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
-
-[package.extras]
-docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
-testing = ["coverage (<5)", "pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-black-multipy", "pytest-cov", "ecdsa", "feedparser", "numpy", "pandas", "pymongo", "sklearn", "sqlalchemy", "enum34", "jsonlib"]
-"testing.libs" = ["demjson", "simplejson", "ujson", "yajl"]
-
-[[package]]
-name = "pathlib2"
-version = "2.3.6"
-description = "Object-oriented filesystem paths"
-category = "main"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-scandir = {version = "*", markers = "python_version < \"3.5\""}
-six = "*"
-
-[[package]]
-name = "prettytable"
-version = "1.0.1"
-description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-
-[package.dependencies]
-wcwidth = "*"
-
-[package.extras]
-tests = ["pytest", "pytest-cov"]
-
-[[package]]
-name = "pycparser"
-version = "2.21"
-description = "C parser in Python"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-
-[[package]]
-name = "pyjwt"
-version = "1.7.1"
-description = "JSON Web Token implementation in Python"
-category = "main"
-optional = false
-python-versions = "*"
-
-[package.extras]
-crypto = ["cryptography (>=1.4)"]
-flake8 = ["flake8", "flake8-import-order", "pep8-naming"]
-test = ["pytest (>=4.0.1,<5.0.0)", "pytest-cov (>=2.6.0,<3.0.0)", "pytest-runner (>=4.2,<5.0.0)"]
-
-[[package]]
-name = "pysqlite"
-version = "2.8.3"
-description = "DB-API 2.0 interface for SQLite 3.x"
-category = "main"
-optional = false
-python-versions = "*"
-
-[[package]]
-name = "python-dateutil"
-version = "2.8.2"
-description = "Extensions to the standard Python datetime module"
-category = "main"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
-
-[package.dependencies]
-six = ">=1.5"
-
-[[package]]
-name = "python-digitalocean"
-version = "1.17.0"
-description = "digitalocean.com API to manage Droplets and Images"
-category = "main"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-jsonpickle = "*"
-requests = "*"
-
-[[package]]
-name = "requests"
-version = "2.27.1"
-description = "Python HTTP for Humans."
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
-
-[package.dependencies]
-certifi = ">=2017.4.17"
-chardet = {version = ">=3.0.2,<5", markers = "python_version < \"3\""}
-idna = {version = ">=2.5,<3", markers = "python_version < \"3\""}
-urllib3 = ">=1.21.1,<1.27"
-
-[package.extras]
-socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
-use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
-
-[[package]]
-name = "s3transfer"
-version = "0.4.2"
-description = "An Amazon S3 Transfer Manager"
-category = "main"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-botocore = ">=1.12.36,<2.0a.0"
-futures = {version = ">=2.2.0,<4.0.0", markers = "python_version == \"2.7\""}
-
-[package.extras]
-crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
-
-[[package]]
-name = "scandir"
-version = "1.10.0"
-description = "scandir, a better directory iterator and faster os.walk()"
-category = "main"
-optional = false
-python-versions = "*"
-
-[[package]]
-name = "six"
-version = "1.16.0"
-description = "Python 2 and 3 compatibility utilities"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-
-[[package]]
-name = "typing"
-version = "3.10.0.0"
-description = "Type Hints for Python"
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <3.5"
-
-[[package]]
-name = "urllib3"
-version = "1.26.8"
-description = "HTTP library with thread-safe connection pooling, file post, and more."
-category = "main"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
-
-[package.extras]
-brotli = ["brotlipy (>=0.6.0)"]
-secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
-socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
-
-[[package]]
-name = "wcwidth"
-version = "0.2.5"
-description = "Measures the displayed width of unicode strings in a terminal"
-category = "main"
-optional = false
-python-versions = "*"
-
-[package.dependencies]
-"backports.functools-lru-cache" = {version = ">=1.2.1", markers = "python_version < \"3.2\""}
-
-[[package]]
-name = "zipp"
-version = "1.2.0"
-description = "Backport of pathlib-compatible object wrapper for zip files"
-category = "main"
-optional = false
-python-versions = ">=2.7"
-
-[package.dependencies]
-contextlib2 = {version = "*", markers = "python_version < \"3.4\""}
-
-[package.extras]
-docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
-testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"]
-
-[metadata]
-lock-version = "1.1"
-python-versions = "^2.7"
-content-hash = "4d572971089aafa023518c48b1048ea91ffb2d35c9737d0f43bf1b0395ae2769"
-
-[metadata.files]
-adal = [
-    {file = "adal-1.2.7-py2.py3-none-any.whl", hash = "sha256:2a7451ed7441ddbc57703042204a3e30ef747478eea022c70f789fc7f084bc3d"},
-    {file = "adal-1.2.7.tar.gz", hash = "sha256:d74f45b81317454d96e982fd1c50e6fb5c99ac2223728aea8764433a39f566f1"},
-]
-apache-libcloud = [
-    {file = "apache-libcloud-2.8.3.tar.gz", hash = "sha256:70096690b24a7832cc5abdfda1954b49fddc1c09a348a1e6caa781ac867ed4c6"},
-    {file = "apache_libcloud-2.8.3-py2.py3-none-any.whl", hash = "sha256:a3414c1ecc9bb9643fd11af18018b23922f4a2585babf9a4450c3531994935f2"},
-]
-"backports.functools-lru-cache" = [
-    {file = "backports.functools_lru_cache-1.6.4-py2.py3-none-any.whl", hash = "sha256:dbead04b9daa817909ec64e8d2855fb78feafe0b901d4568758e3a60559d8978"},
-    {file = "backports.functools_lru_cache-1.6.4.tar.gz", hash = "sha256:d5ed2169378b67d3c545e5600d363a923b09c456dab1593914935a68ad478271"},
-]
-"backports.ssl-match-hostname" = [
-    {file = "backports.ssl_match_hostname-3.7.0.1.tar.gz", hash = "sha256:bb82e60f9fbf4c080eabd957c39f0641f0fc247d9a16e31e26d594d8f42b9fd2"},
-]
-boto = [
-    {file = "boto-2.49.0-py2.py3-none-any.whl", hash = "sha256:147758d41ae7240dc989f0039f27da8ca0d53734be0eb869ef16e3adcfa462e8"},
-    {file = "boto-2.49.0.tar.gz", hash = "sha256:ea0d3b40a2d852767be77ca343b58a9e3a4b00d9db440efb8da74b4e58025e5a"},
-]
-boto3 = [
-    {file = "boto3-1.17.112-py2.py3-none-any.whl", hash = "sha256:8716465313c50ad9e5c2ac1767642ca0ddf7d1729c3d5c884d82880c1a15a310"},
-    {file = "boto3-1.17.112.tar.gz", hash = "sha256:08b6dacbe7ebe57ae8acfb7106b2728d946ae1e0c3da270caee1deb79ccbd8af"},
-]
-botocore = [
-    {file = "botocore-1.20.112-py2.py3-none-any.whl", hash = "sha256:6d51de0981a3ef19da9e6a3c73b5ab427e3c0c8b92200ebd38d087299683dd2b"},
-    {file = "botocore-1.20.112.tar.gz", hash = "sha256:d0b9b70b6eb5b65bb7162da2aaf04b6b086b15cc7ea322ddc3ef2f5e07944dcf"},
-]
-certifi = [
-    {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
-    {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
-]
-cffi = [
-    {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"},
-    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"},
-    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"},
-    {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"},
-    {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"},
-    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"},
-    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"},
-    {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"},
-    {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"},
-    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"},
-    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"},
-    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"},
-    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"},
-    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"},
-    {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"},
-    {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"},
-    {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"},
-    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"},
-    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"},
-    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"},
-    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"},
-    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"},
-    {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"},
-    {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"},
-    {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"},
-    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"},
-    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"},
-    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"},
-    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"},
-    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"},
-    {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"},
-    {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"},
-    {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"},
-    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"},
-    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"},
-    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"},
-    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"},
-    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"},
-    {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"},
-    {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"},
-    {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"},
-    {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"},
-    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"},
-    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"},
-    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"},
-    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"},
-    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"},
-    {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"},
-    {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"},
-    {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
-]
-chardet = [
-    {file = "chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5"},
-    {file = "chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa"},
-]
-configparser = [
-    {file = "configparser-4.0.2-py2.py3-none-any.whl", hash = "sha256:254c1d9c79f60c45dfde850850883d5aaa7f19a23f13561243a050d5a7c3fe4c"},
-    {file = "configparser-4.0.2.tar.gz", hash = "sha256:c7d282687a5308319bf3d2e7706e575c635b0a470342641c93bea0ea3b5331df"},
-]
-contextlib2 = [
-    {file = "contextlib2-0.6.0.post1-py2.py3-none-any.whl", hash = "sha256:3355078a159fbb44ee60ea80abd0d87b80b78c248643b49aa6d94673b413609b"},
-    {file = "contextlib2-0.6.0.post1.tar.gz", hash = "sha256:01f490098c18b19d2bd5bb5dc445b2054d2fa97f09a4280ba2c5f3c394c8162e"},
-]
-cryptography = [
-    {file = "cryptography-3.3.2-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:541dd758ad49b45920dda3b5b48c968f8b2533d8981bcdb43002798d8f7a89ed"},
-    {file = "cryptography-3.3.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:49570438e60f19243e7e0d504527dd5fe9b4b967b5a1ff21cc12b57602dd85d3"},
-    {file = "cryptography-3.3.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a4ac9648d39ce71c2f63fe7dc6db144b9fa567ddfc48b9fde1b54483d26042"},
-    {file = "cryptography-3.3.2-cp27-cp27m-win32.whl", hash = "sha256:aa4969f24d536ae2268c902b2c3d62ab464b5a66bcb247630d208a79a8098e9b"},
-    {file = "cryptography-3.3.2-cp27-cp27m-win_amd64.whl", hash = "sha256:1bd0ccb0a1ed775cd7e2144fe46df9dc03eefd722bbcf587b3e0616ea4a81eff"},
-    {file = "cryptography-3.3.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e18e6ab84dfb0ab997faf8cca25a86ff15dfea4027b986322026cc99e0a892da"},
-    {file = "cryptography-3.3.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:c7390f9b2119b2b43160abb34f63277a638504ef8df99f11cb52c1fda66a2e6f"},
-    {file = "cryptography-3.3.2-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:0d7b69674b738068fa6ffade5c962ecd14969690585aaca0a1b1fc9058938a72"},
-    {file = "cryptography-3.3.2-cp36-abi3-manylinux1_x86_64.whl", hash = "sha256:922f9602d67c15ade470c11d616f2b2364950602e370c76f0c94c94ae672742e"},
-    {file = "cryptography-3.3.2-cp36-abi3-manylinux2010_x86_64.whl", hash = "sha256:a0f0b96c572fc9f25c3f4ddbf4688b9b38c69836713fb255f4a2715d93cbaf44"},
-    {file = "cryptography-3.3.2-cp36-abi3-manylinux2014_aarch64.whl", hash = "sha256:a777c096a49d80f9d2979695b835b0f9c9edab73b59e4ceb51f19724dda887ed"},
-    {file = "cryptography-3.3.2-cp36-abi3-win32.whl", hash = "sha256:3c284fc1e504e88e51c428db9c9274f2da9f73fdf5d7e13a36b8ecb039af6e6c"},
-    {file = "cryptography-3.3.2-cp36-abi3-win_amd64.whl", hash = "sha256:7951a966613c4211b6612b0352f5bf29989955ee592c4a885d8c7d0f830d0433"},
-    {file = "cryptography-3.3.2.tar.gz", hash = "sha256:5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed"},
-]
-datadog = [
-    {file = "datadog-0.42.0-py2.py3-none-any.whl", hash = "sha256:140b51f5db3f46d6f3ec022c05830c6b3e13e4f62c19c823e1227ac322b26667"},
-    {file = "datadog-0.42.0.tar.gz", hash = "sha256:7a6fac17a7d09f1883ab9a45ce4ff7a16aa1a5eb3cc4c6cddac7f8c53e7d1e9b"},
-]
-enum34 = [
-    {file = "enum34-1.1.10-py2-none-any.whl", hash = "sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53"},
-    {file = "enum34-1.1.10-py3-none-any.whl", hash = "sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328"},
-    {file = "enum34-1.1.10.tar.gz", hash = "sha256:cce6a7477ed816bd2542d03d53db9f0db935dd013b70f336a95c73979289f248"},
-]
-futures = [
-    {file = "futures-3.3.0-py2-none-any.whl", hash = "sha256:49b3f5b064b6e3afc3316421a3f25f66c137ae88f068abbf72830170033c5e16"},
-    {file = "futures-3.3.0.tar.gz", hash = "sha256:7e033af76a5e35f58e56da7a91e687706faf4e7bdfb2cbc3f2cca6b9bcda9794"},
-]
-hetzner = [
-    {file = "hetzner-0.8.3.tar.gz", hash = "sha256:9a43dbbeb4a1f3efc86c5fe1c1d7039aaa635dfdb829506ec3aa34382d3a7114"},
-]
-idna = [
-    {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"},
-    {file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"},
-]
-importlib-metadata = [
-    {file = "importlib_metadata-2.1.2-py2.py3-none-any.whl", hash = "sha256:cd6a92d78385dd145f5f233b3a6919acf5e8e43922aa9b9dbe78573e3540eb56"},
-    {file = "importlib_metadata-2.1.2.tar.gz", hash = "sha256:09db40742204610ef6826af16e49f0479d11d0d54687d0169ff7fddf8b3f557f"},
-]
-ipaddress = [
-    {file = "ipaddress-1.0.23-py2.py3-none-any.whl", hash = "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc"},
-    {file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"},
-]
-jmespath = [
-    {file = "jmespath-0.10.0-py2.py3-none-any.whl", hash = "sha256:cdf6525904cc597730141d61b36f2e4b8ecc257c420fa2f4549bac2c2d0cb72f"},
-    {file = "jmespath-0.10.0.tar.gz", hash = "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9"},
-]
-jsonpickle = [
-    {file = "jsonpickle-2.0.0-py2.py3-none-any.whl", hash = "sha256:c1010994c1fbda87a48f8a56698605b598cb0fc6bb7e7927559fc1100e69aeac"},
-    {file = "jsonpickle-2.0.0.tar.gz", hash = "sha256:0be49cba80ea6f87a168aa8168d717d00c6ca07ba83df3cec32d3b30bfe6fb9a"},
-]
-pathlib2 = [
-    {file = "pathlib2-2.3.6-py2.py3-none-any.whl", hash = "sha256:3a130b266b3a36134dcc79c17b3c7ac9634f083825ca6ea9d8f557ee6195c9c8"},
-    {file = "pathlib2-2.3.6.tar.gz", hash = "sha256:7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f"},
-]
-prettytable = [
-    {file = "prettytable-1.0.1-py2.py3-none-any.whl", hash = "sha256:e7e464e8f7ecfd9a74c67f8da35f2a7da3d827235ba0a4737bb6d4b19f4a04bb"},
-    {file = "prettytable-1.0.1.tar.gz", hash = "sha256:6bb7f539903cb031fecb855b615cbcac8cd245ebc6fa51c6e23ab3386db89771"},
-]
-pycparser = [
-    {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
-    {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
-]
-pyjwt = [
-    {file = "PyJWT-1.7.1-py2.py3-none-any.whl", hash = "sha256:5c6eca3c2940464d106b99ba83b00c6add741c9becaec087fb7ccdefea71350e"},
-    {file = "PyJWT-1.7.1.tar.gz", hash = "sha256:8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96"},
-]
-pysqlite = [
-    {file = "pysqlite-2.8.3.tar.gz", hash = "sha256:17d3335863e8cf8392eea71add33dab3f96d060666fe68ab7382469d307f4490"},
-]
-python-dateutil = [
-    {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
-    {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
-]
-python-digitalocean = [
-    {file = "python-digitalocean-1.17.0.tar.gz", hash = "sha256:107854fde1aafa21774e8053cf253b04173613c94531f75d5a039ad770562b24"},
-    {file = "python_digitalocean-1.17.0-py3-none-any.whl", hash = "sha256:0032168e022e85fca314eb3f8dfaabf82087f2ed40839eb28f1eeeeca5afb1fa"},
-]
-requests = [
-    {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"},
-    {file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"},
-]
-s3transfer = [
-    {file = "s3transfer-0.4.2-py2.py3-none-any.whl", hash = "sha256:9b3752887a2880690ce628bc263d6d13a3864083aeacff4890c1c9839a5eb0bc"},
-    {file = "s3transfer-0.4.2.tar.gz", hash = "sha256:cb022f4b16551edebbb31a377d3f09600dbada7363d8c5db7976e7f47732e1b2"},
-]
-scandir = [
-    {file = "scandir-1.10.0-cp27-cp27m-win32.whl", hash = "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188"},
-    {file = "scandir-1.10.0-cp27-cp27m-win_amd64.whl", hash = "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac"},
-    {file = "scandir-1.10.0-cp34-cp34m-win32.whl", hash = "sha256:2c712840c2e2ee8dfaf36034080108d30060d759c7b73a01a52251cc8989f11f"},
-    {file = "scandir-1.10.0-cp34-cp34m-win_amd64.whl", hash = "sha256:2586c94e907d99617887daed6c1d102b5ca28f1085f90446554abf1faf73123e"},
-    {file = "scandir-1.10.0-cp35-cp35m-win32.whl", hash = "sha256:2b8e3888b11abb2217a32af0766bc06b65cc4a928d8727828ee68af5a967fa6f"},
-    {file = "scandir-1.10.0-cp35-cp35m-win_amd64.whl", hash = "sha256:8c5922863e44ffc00c5c693190648daa6d15e7c1207ed02d6f46a8dcc2869d32"},
-    {file = "scandir-1.10.0-cp36-cp36m-win32.whl", hash = "sha256:2ae41f43797ca0c11591c0c35f2f5875fa99f8797cb1a1fd440497ec0ae4b022"},
-    {file = "scandir-1.10.0-cp36-cp36m-win_amd64.whl", hash = "sha256:7d2d7a06a252764061a020407b997dd036f7bd6a175a5ba2b345f0a357f0b3f4"},
-    {file = "scandir-1.10.0-cp37-cp37m-win32.whl", hash = "sha256:67f15b6f83e6507fdc6fca22fedf6ef8b334b399ca27c6b568cbfaa82a364173"},
-    {file = "scandir-1.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d"},
-    {file = "scandir-1.10.0.tar.gz", hash = "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae"},
-]
-six = [
-    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
-    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
-]
-typing = [
-    {file = "typing-3.10.0.0-py2-none-any.whl", hash = "sha256:c7219ef20c5fbf413b4567092adfc46fa6203cb8454eda33c3fc1afe1398a308"},
-    {file = "typing-3.10.0.0-py3-none-any.whl", hash = "sha256:12fbdfbe7d6cca1a42e485229afcb0b0c8259258cfb919b8a5e2a5c953742f89"},
-    {file = "typing-3.10.0.0.tar.gz", hash = "sha256:13b4ad211f54ddbf93e5901a9967b1e07720c1d1b78d596ac6a439641aa1b130"},
-]
-urllib3 = [
-    {file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"},
-    {file = "urllib3-1.26.8.tar.gz", hash = "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c"},
-]
-wcwidth = [
-    {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
-    {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"},
-]
-zipp = [
-    {file = "zipp-1.2.0-py2.py3-none-any.whl", hash = "sha256:e0d9e63797e483a30d27e09fffd308c59a700d365ec34e93cc100844168bf921"},
-    {file = "zipp-1.2.0.tar.gz", hash = "sha256:c70410551488251b0fee67b460fb9a536af8d6f9f008ad10ac51f615b6a521b1"},
-]
diff --git a/pkgs/tools/package-management/nixops/python-env/pyproject.toml b/pkgs/tools/package-management/nixops/python-env/pyproject.toml
deleted file mode 100644
index 2c216e40225..00000000000
--- a/pkgs/tools/package-management/nixops/python-env/pyproject.toml
+++ /dev/null
@@ -1,24 +0,0 @@
-[tool.poetry]
-name = "nixops-python-env"
-version = "0.1.0"
-description = ""
-authors = ["Your Name <you@example.com>"]
-license = "MIT"
-
-[tool.poetry.dependencies]
-python = "^2.7"
-prettytable = "^1.0.1"
-boto = "^2.49.0"
-boto3 = "^1.17.97"
-hetzner = "^0.8.3"
-apache-libcloud = "^2.8.3"
-adal = "^1.2.7"
-pysqlite = "^2.8.3"
-datadog = "^0.42.0"
-python-digitalocean = "^1.17.0"
-
-[tool.poetry.dev-dependencies]
-
-[build-system]
-requires = ["poetry-core>=1.0.0"]
-build-backend = "poetry.core.masonry.api"
diff --git a/pkgs/tools/package-management/nixops/python-env/shell.nix b/pkgs/tools/package-management/nixops/python-env/shell.nix
deleted file mode 100644
index 13fcab0e0fa..00000000000
--- a/pkgs/tools/package-management/nixops/python-env/shell.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-let
-  pkgs = import ../../../../../. { };
-in pkgs.mkShell {
-  packages = [
-    pkgs.python2
-    pkgs.poetry
-  ];
-}
diff --git a/pkgs/tools/security/cnspec/default.nix b/pkgs/tools/security/cnspec/default.nix
index bcfadcc4da7..2b51ba0f7f9 100644
--- a/pkgs/tools/security/cnspec/default.nix
+++ b/pkgs/tools/security/cnspec/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "cnspec";
-  version = "9.2.3";
+  version = "9.4.0";
 
   src = fetchFromGitHub {
     owner = "mondoohq";
     repo = "cnspec";
     rev = "refs/tags/v${version}";
-    hash = "sha256-gCKmaioBko4UsfhPBcpVxHC7knhZGZU54HZFu/rHIbw=";
+    hash = "sha256-rAvSC+MqgS47n/DFbGoeyvN1GyidvQ37TS+buSYwxME=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-YN1y+K/9EdZ7RlZRVWK/HEppZv/dX6XrkaqIlZVoC8c=";
+  vendorHash = "sha256-xghScwfR82Q9lhx2cNc1JZShppCKQR+tZynk+ee/81c=";
 
   subPackages = [
     "apps/cnspec"
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 7c985317d12..63044fa988a 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -598,6 +598,7 @@ mapAliases ({
   nix_2_4 = nixVersions.nix_2_4;
   nix_2_5 = nixVersions.nix_2_5;
   nix_2_6 = nixVersions.nix_2_6;
+  nixops = throw "'nixops' has been removed. Please use 'nixops_unstable' for the time being."; # Added 2023-10-26
   nixopsUnstable = nixops_unstable; # Added 2022-03-03
   nixosTest = testers.nixosTest; # Added 2022-05-05
   nmap-unfree = nmap; # Added 2021-04-06
@@ -697,6 +698,7 @@ mapAliases ({
   pinentry_gtk2 = throw "'pinentry_gtk2' has been renamed to/replaced by 'pinentry-gtk2'"; # Converted to throw 2023-09-10
   pinentry_qt = throw "'pinentry_qt' has been renamed to/replaced by 'pinentry-qt'"; # Converted to throw 2023-09-10
   pinentry_qt5 = pinentry-qt; # Added 2020-02-11
+  poetry2nix = throw "poetry2nix is now maintained out-of-tree. Please use https://github.com/nix-community/poetry2nix/"; # Added 2023-10-26
   probe-rs-cli = throw "probe-rs-cli is now part of the probe-rs package"; # Added 2023-07-03
   processing3 = throw "'processing3' has been renamed to/replaced by 'processing'"; # Converted to throw 2023-09-10
   prometheus-dmarc-exporter = dmarc-metrics-exporter; # added 2022-05-31
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 23f2e286a72..90ff46b518f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1118,7 +1118,7 @@ with pkgs;
 
   fetchs3 = callPackage ../build-support/fetchs3 { };
 
-  fetchFromBittorrent = callPackage ../build-support/fetchbittorrent { };
+  fetchtorrent = callPackage ../build-support/fetchtorrent { };
 
   fetchsvn = if stdenv.buildPlatform != stdenv.hostPlatform
     # hack around splicing being crummy with things that (correctly) don't eval.
@@ -11782,8 +11782,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) VideoDecodeAcceleration;
   };
 
-  owncloud-client = libsForQt5.callPackage ../applications/networking/owncloud-client { };
-
   oxefmsynth = callPackage ../applications/audio/oxefmsynth { };
 
   oxidized = callPackage ../tools/admin/oxidized { };
@@ -17993,10 +17991,6 @@ with pkgs;
 
   poetryPlugins = recurseIntoAttrs poetry.plugins;
 
-  poetry2nix = callPackage ../development/tools/poetry2nix/poetry2nix {
-    inherit pkgs lib;
-  };
-
   poetry2conda = callPackage ../tools/package-management/poetry2conda { };
 
   pip-audit = callPackage ../development/tools/pip-audit { };
@@ -18400,9 +18394,7 @@ with pkgs;
 
   glslls = callPackage ../development/tools/language-servers/glslls { };
 
-  gopls = callPackage ../development/tools/language-servers/gopls {
-    buildGoModule = buildGo121Module;
-  };
+  gopls = callPackage ../development/tools/language-servers/gopls { };
 
   helm-ls = callPackage ../development/tools/language-servers/helm-ls { };
 
@@ -40575,11 +40567,7 @@ with pkgs;
 
   nixStatic = pkgsStatic.nix;
 
-  nixops = callPackage ../tools/package-management/nixops { };
-
-  nixops_unstable = lowPrio (callPackage ../applications/networking/cluster/nixops { });
-
-  nixops-dns = callPackage ../tools/package-management/nixops/nixops-dns.nix { };
+  nixops_unstable = callPackage ../applications/networking/cluster/nixops { };
 
   /*
     Evaluate a NixOS configuration using this evaluation of Nixpkgs.
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 7abaac7c674..06b1dd27db0 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -36,6 +36,7 @@ mapAliases ({
   abodepy = jaraco-abode; # added 2023-02-01
   acebinf = throw "acebinf has been removed because it is abandoned and broken."; # Added 2023-05-19
   aioh2 = throw "aioh2 has been removed because it is abandoned and broken."; # Added 2022-03-30
+  aionotify = throw "aionotify has been removed because is unmaintained and incompatible with python3.11."; # Added 2023-10-27
   aiosenseme = throw "aiosenseme has been removed, because it does no longer work with the latest firmware and has become unmaintained"; # Added 2023-07-05
   amazon_kclpy = amazon-kclpy; # added 2023-08-08
   ansible-base = throw "ansible-base has been removed, because it is end of life"; # added 2022-03-30
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index fbab930fd39..dc2aba0be71 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -304,8 +304,6 @@ self: super: with self; {
 
   aionanoleaf = callPackage ../development/python-modules/aionanoleaf { };
 
-  aionotify = callPackage ../development/python-modules/aionotify { };
-
   aionotion = callPackage ../development/python-modules/aionotion { };
 
   aiooncue = callPackage ../development/python-modules/aiooncue { };