about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules')
-rw-r--r--nixpkgs/pkgs/development/python-modules/abjad/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/accuweather/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adax/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adguardhome/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/afdko/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/agate-excel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-pika/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioguardian/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-client-cache/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-fast-url-dispatcher/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiolifx-themes/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiolifx/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomisc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiortm/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioshelly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiounifi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiovodafone/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiowithings/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/alexapy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/altair/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/angr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/anthropic/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/anytree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apricot-select/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asf-search/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncmy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asysocks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/auditwheel/default.nix71
-rw-r--r--nixpkgs/pkgs/development/python-modules/augeas/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/authcaptureproxy/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/av/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/aw-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awscrt/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/awswrangler/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-identity/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/bc-jsonpath-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bentoml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitstring/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/blspy/default.nix78
-rw-r--r--nixpkgs/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch64
-rw-r--r--nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bonsai/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/bork/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/botorch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bqplot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bqscales/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/branca/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bugzilla/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/bx-py-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/calmjs-parse/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/camel-converter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/can/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/canals/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/canmatrix/default.nix107
-rw-r--r--nixpkgs/pkgs/development/python-modules/cantools/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/certbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chia-rs/Cargo.lock1476
-rw-r--r--nixpkgs/pkgs/development/python-modules/chia-rs/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/chia-rs/fix-build.patch12
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiabip158/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiapos/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch41
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiavdf/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiavdf/dont_fetch_dependencies.patch14
-rw-r--r--nixpkgs/pkgs/development/python-modules/ciso8601/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/clarifai/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cle/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clvm-rs/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/clvm-tools-rs/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/clvm-tools/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/clvm/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/confection/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/construct/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cssbeautifier/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cvxopt/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/cytoolz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dash/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/datadog/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/dateparser/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbt-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deap/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/deepl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/devpi-common/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/diffsync/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/distrax/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-auditlog/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-filter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-import-export/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-ipware/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-rq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/drms/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-data/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/e3-core/0001-use-distro-over-ld.patch42
-rw-r--r--nixpkgs/pkgs/development/python-modules/e3-core/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/easyenergy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/easygui/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eigenpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elastic-transport/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/enaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/energyzero/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/evohome-async/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/explorerscript/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/ezyrb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-sock/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/frozendict/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/furo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/gbinder-python/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/gcodepy/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/gekko/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/gentools/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/gios/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gitdb/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/githubkit/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/glueviz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/gotenberg-client/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/gphoto2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/gridnet/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/gumath/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hdbscan/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/headerparser/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/holidays/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/html5-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx-auth/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/humanize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/ical/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/id/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/identify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/igraph/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/imageio/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/imap-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch11
-rw-r--r--nixpkgs/pkgs/development/python-modules/img2pdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/importlab/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/jplephem/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/junit2html/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-core/tests_respect_pythonpath.patch12
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyring/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/fix-testsuite.patch14
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyrings-google-artifactregistry-auth/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyrings-passwordstore/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/labelbox/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/latexify-py/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ldfparser/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/linknlink/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/localstack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lpc-checksum/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/manuf/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/mashumaro/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdtraj/default.nix102
-rw-r--r--nixpkgs/pkgs/development/python-modules/miauth/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/minidump/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/minikerberos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mirakuru/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy-macos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock133
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/moto/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/mscerts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/napalm/hp-procurve.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbconvert/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ndtypes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/neo4j/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/netutils/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/nextdns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nibe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ninebot-ble/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch38
-rw-r--r--nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openllm-client/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/openllm-core/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/openllm/default.nix69
-rw-r--r--nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openusd/default.nix131
-rw-r--r--nixpkgs/pkgs/development/python-modules/optimum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/p1monitor/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/patool/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/paypalrestsdk/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdunehd/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pebble/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/peft/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pgspecial/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pgvector/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/phik/default.nix68
-rw-r--r--nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/playwright/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/plum-py/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pmdsky-debug-py/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/podman/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/polars/all_horizontal.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/polars/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pot/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/prometheus-pandas/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/psycopg/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pubnub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatag/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybind11/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyclip/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycollada/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycontrol4/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydata-sphinx-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydeconz/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygobject/3.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyheck/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykdl/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyngo/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopengl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyprind/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyregion/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyside6/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysigma/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysnmplib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyspx/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytaglib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytapo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytenable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytensor/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-order/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-fedora/default.nix (renamed from nixpkgs/pkgs/development/python-modules/python_fedora/default.nix)25
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-hosts/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-ipware/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-matter-server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-mbedtls/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-opendata-transport/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-youtube/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvicare/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvoro/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/qasync/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix97
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcodes/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/radios/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rapidgzip/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/rasterio/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/rawkit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rollbar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rotary-embedding-torch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpcq/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/scmrepo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/securesystemslib/default.nix96
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools_dso/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/sfrbox-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/shiboken6/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/sigstore-protobuf-specs/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/sigstore-rekor-types/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/simpful/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/skytemple-dtef/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/skytemple-eventserver/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/skytemple-files/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/skytemple-rust/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/skytemple-ssb-emulator/Cargo.lock887
-rw-r--r--nixpkgs/pkgs/development/python-modules/skytemple-ssb-emulator/default.nix78
-rw-r--r--nixpkgs/pkgs/development/python-modules/slack-bolt/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/slackclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/speechbrain/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/splinter/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlmodel/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqltrie/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/strawberry-graphql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/streamlit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/symengine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tabula-py/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/taskw/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/taskw/support-relative-path-in-taskrc.patch79
-rw-r--r--nixpkgs/pkgs/development/python-modules/tcxreader/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/binary-hashes.nix50
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/tensorflow/prefetcher.sh5
-rw-r--r--nixpkgs/pkgs/development/python-modules/tilequant/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/timm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tldextract/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/toml-adapt/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/torch/bin.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/torch/binary-hashes.nix98
-rw-r--r--nixpkgs/pkgs/development/python-modules/torch/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/torch/fix-cmake-cuda-toolkit.patch65
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/torch/prefetch.sh12
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchaudio/bin.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchaudio/binary-hashes.nix98
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchaudio/default.nix23
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/torchaudio/prefetch.sh18
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchvision/bin.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchvision/binary-hashes.nix74
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchvision/default.nix4
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/torchvision/prefetch.sh10
-rw-r--r--nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tree-sitter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tuf/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/twentemilieu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twitchapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-appdirs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-mock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-s3transfer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-tqdm/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/uqbar/default.nix69
-rw-r--r--nixpkgs/pkgs/development/python-modules/uri-template/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/vertica-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vncdo/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/vulture/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/warcio/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/wasmer/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/watermark/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/wordcloud/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/xformers/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yamllint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yeelight/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yfinance/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zamg/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix11
415 files changed, 5390 insertions, 4173 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/abjad/default.nix b/nixpkgs/pkgs/development/python-modules/abjad/default.nix
new file mode 100644
index 000000000000..3c501a029b18
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/abjad/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ply
+, roman
+, uqbar
+, pythonOlder
+, pytestCheckHook
+, lilypond
+}:
+
+buildPythonPackage rec {
+  pname = "abjad";
+  version = "3.19";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-I9t3ORUKFFlMfXJsAzXhCzl1B4a9/ZNmvSX2/R44TPs=";
+  };
+
+  propagatedBuildInputs = [
+    ply
+    roman
+    uqbar
+  ];
+
+  buildInputs = [
+    lilypond
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace abjad/io.py \
+      --replace 'lilypond_path = self.get_lilypond_path()' \
+                'lilypond_path = "${lilypond}/bin/lilypond"'
+    # general invocations of binary for IO purposes
+
+    substituteInPlace abjad/configuration.py \
+      --replace '["lilypond"' '["${lilypond}/bin/lilypond"'
+    # get_lilypond_version_string
+  '';
+
+  pythonImportsCheck = [ "abjad" ];
+
+  meta = {
+    description = "GNU LilyPond wrapper for Python";
+    longDescription = ''
+      Abjad helps composers build up complex pieces of music notation in
+      iterative and incremental ways. Use Abjad to create a symbolic
+      representation of all the notes, rests, chords, tuplets, beams and slurs
+      in any score. Because Abjad extends the Python programming language, you
+      can use Abjad to make systematic changes to music as you work. Because
+      Abjad wraps the LilyPond music notation package, you can use Abjad to
+      control the typographic detail of symbols on the page.
+    '';
+    license = lib.licenses.mit;
+    homepage = "https://abjad.github.io/";
+    changelog = "https://abjad.github.io/appendices/changes.html";
+    maintainers = [ lib.maintainers.davisrichard437 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/accuweather/default.nix b/nixpkgs/pkgs/development/python-modules/accuweather/default.nix
index 8aa2719385ad..6069d06d9984 100644
--- a/nixpkgs/pkgs/development/python-modules/accuweather/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/accuweather/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "accuweather";
-  version = "2.1.0";
+  version = "2.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-7uCR/xUARUakODeLVdI13D9ZksvN9c63o3Q0MlJp8cs=";
+    hash = "sha256-hbmeQnxVhBbXKHNdeXzAwRnMKBNvKsdfHg8MzALinhc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/adax/default.nix b/nixpkgs/pkgs/development/python-modules/adax/default.nix
index fd2cb0f29f59..19e1e9a6fb02 100644
--- a/nixpkgs/pkgs/development/python-modules/adax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adax/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "adax";
-  version = "0.3.0";
+  version = "0.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pyadax";
     rev = "refs/tags/${version}";
-    hash = "sha256-y4c1RBy/UxmKP7+mHXi86XJ2/RXGrqkj94I2Q699EJU=";
+    hash = "sha256-wmcZtiML02i1XfqpFzni2WDrxutTvP5laVvTAGtNg0Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix b/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix
index 78b2cba4d482..a92e6e8ae33d 100644
--- a/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "adguardhome";
-  version = "0.6.2";
+  version = "0.6.3";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "frenck";
     repo = "python-${pname}";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hCiyylnc1WsKz8zQxJhXe4v+SJxKFkwzpmPYnltnc8g=";
+    hash = "sha256-V8SsWsGYmUhR9/yV6BZBK1UjYGHlDrXrF8nt0eZbTnI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/afdko/default.nix b/nixpkgs/pkgs/development/python-modules/afdko/default.nix
index a821e9d87890..556261277ea0 100644
--- a/nixpkgs/pkgs/development/python-modules/afdko/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/afdko/default.nix
@@ -64,6 +64,11 @@ buildPythonPackage rec {
     ./use-dynamic-system-antlr4-runtime.patch
   ];
 
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang (toString [
+    "-Wno-error=incompatible-function-pointer-types"
+    "-Wno-error=int-conversion"
+  ]);
+
   # setup.py will always (re-)execute cmake in buildPhase
   dontConfigure = true;
 
diff --git a/nixpkgs/pkgs/development/python-modules/agate-excel/default.nix b/nixpkgs/pkgs/development/python-modules/agate-excel/default.nix
index 80ff09aa25e7..64b4718a2bc2 100644
--- a/nixpkgs/pkgs/development/python-modules/agate-excel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/agate-excel/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "agate-excel";
-  version = "0.3.0";
+  version = "0.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IfrbPmQnGh4OMEiWJl16UUfI6X/UWj/p6J2+3Y2DzuM=";
+    hash = "sha256-KEJmGMkHRxEebVZumD2Djx4vrmQeppcNessOnUs4QJE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ailment/default.nix b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
index d669fa983847..976a0d02fed4 100644
--- a/nixpkgs/pkgs/development/python-modules/ailment/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.77";
+  version = "9.2.79";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Bff44LSWdoXrijTAjnlsaN5iqDbHjfmYqe0FR4dmZxU=";
+    hash = "sha256-aMp28g7a44u4VC0g3v9oVhYcBkSZkMJ/83eFTNNBbc0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aio-pika/default.nix b/nixpkgs/pkgs/development/python-modules/aio-pika/default.nix
index fdcb67102928..574d386b95de 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-pika/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-pika/default.nix
@@ -15,16 +15,16 @@
 
 buildPythonPackage rec {
   pname = "aio-pika";
-  version = "9.3.0";
-  format = "pyproject";
+  version = "9.3.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mosquito";
-    repo = pname;
+    repo = "aio-pika";
     rev = "refs/tags/${version}";
-    hash = "sha256-Fy3vTXfj+gu/+PYWPfcOZ/D7boRiZYcFPX29p28HoGs=";
+    hash = "sha256-RbDiJvbFNuXIqFvevLpk5sy5WDinwaWwSqa+XI6Dljo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix b/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix
index 86cc79d62699..82007382c23a 100644
--- a/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiocomelit";
-  version = "0.5.0";
+  version = "0.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "chemelli74";
     repo = "aiocomelit";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2wdgG22/Cln5uWQoT3Fs9tOLgB1X8J6AEqxV5R+lqno=";
+    hash = "sha256-bs+iSe4vu0ej4SQww6mvQqboVKfQrkd9OirBLGbU3gs=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aioguardian/default.nix b/nixpkgs/pkgs/development/python-modules/aioguardian/default.nix
index aa0dbd64be80..3b72b53045b0 100644
--- a/nixpkgs/pkgs/development/python-modules/aioguardian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioguardian/default.nix
@@ -5,7 +5,6 @@
 , buildPythonPackage
 , docutils
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -16,32 +15,18 @@
 
 buildPythonPackage rec {
   pname = "aioguardian";
-  version = "2023.08.0";
-  format = "pyproject";
+  version = "2023.11.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "aioguardian";
     rev = "refs/tags/${version}";
-    hash = "sha256-/UNSAfAkOXPJQDWBZIe/AYIhx83kPCjGzZjn4oh+gfY=";
+    hash = "sha256-hTV6P9J7SS5lnV/9eFUCFPZu1GIeshytWQvNTbGs52w=";
   };
 
-  patches = [
-    # This patch removes references to setuptools and wheel that are no longer
-    # necessary and changes poetry to poetry-core, so that we don't need to add
-    # unnecessary nativeBuildInputs.
-    #
-    #   https://github.com/bachya/aioguardian/pull/288
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/aioguardian/commit/ffaad4b396645f599815010995fb71ca976e761e.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-client-cache/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-client-cache/default.nix
new file mode 100644
index 000000000000..dc5b34aad95e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-client-cache/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchPypi, python3, ...}:
+
+python3.pkgs.buildPythonPackage rec {
+  pname = "aiohttp_client_cache";
+  version = "0.10.0";
+  pyproject = true;
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-FXU4QNqa8B8ZADmoEyJfd8gsUDI0HEjIR9B2CBP55wU=";
+  };
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
+  propagatedBuildInputs = with python3.pkgs; [
+    aiohttp
+    attrs
+    itsdangerous
+    url-normalize
+  ];
+  meta = with lib; {
+    description = "An async persistent cache for aiohttp requests";
+    homepage = "https://pypi.org/project/aiohttp-client-cache/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ seirl ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-fast-url-dispatcher/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-fast-url-dispatcher/default.nix
new file mode 100644
index 000000000000..905705c992dd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-fast-url-dispatcher/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiohttp-fast-url-dispatcher";
+  version = "0.3.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = "aiohttp-fast-url-dispatcher";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-DZTW9CazcUY3hyxr0MbVfM/yJzUzwN43c2n07Sloxa8=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=aiohttp_fast_url_dispatcher --cov-report=term-missing:skip-covered" ""
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aiohttp_fast_url_dispatcher"
+  ];
+
+  meta = with lib; {
+    description = "A faster URL dispatcher for aiohttp";
+    homepage = "https://github.com/bdraco/aiohttp-fast-url-dispatcher";
+    changelog = "https://github.com/bdraco/aiohttp-fast-url-dispatcher/blob/${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiolifx-themes/default.nix b/nixpkgs/pkgs/development/python-modules/aiolifx-themes/default.nix
index 08015af0f7ad..593d1e77b460 100644
--- a/nixpkgs/pkgs/development/python-modules/aiolifx-themes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiolifx-themes/default.nix
@@ -12,8 +12,8 @@
 
 buildPythonPackage rec {
   pname = "aiolifx-themes";
-  version = "0.4.9";
-  format = "pyproject";
+  version = "0.4.11";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Djelibeybi";
     repo = "aiolifx-themes";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8t0yRia/grSSEqySV57QoB3lgU9iwqiVOvVLE5Jd2pM=";
+    hash = "sha256-pldmkdkDI6RFMcBOF1MtQBddOo+uF23CMHPztEV+kf0=";
   };
 
   prePatch = ''
@@ -31,11 +31,6 @@ buildPythonPackage rec {
       --replace "typer = " "# unused: typer = "
   '';
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'aiolifx = "^0.8.6"' 'aiolifx = "*"'
-  '';
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiolifx/default.nix b/nixpkgs/pkgs/development/python-modules/aiolifx/default.nix
index 69292db13cd5..9bda581ff39f 100644
--- a/nixpkgs/pkgs/development/python-modules/aiolifx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiolifx/default.nix
@@ -7,20 +7,25 @@
 , ifaddr
 , inquirerpy
 , bitstring
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aiolifx";
-  version = "0.9.0";
-  format = "setuptools";
+  version = "1.0.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-oK8Ih62EFwu3X5PNVFLH+Uce6ZBs7IMXet5/DHxfd5M=";
+    hash = "sha256-2lWC2eTYh/YX0Pn3W11uVqqT2ycsa993siiDR2BV4qU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     async-timeout
     bitstring
diff --git a/nixpkgs/pkgs/development/python-modules/aiomisc/default.nix b/nixpkgs/pkgs/development/python-modules/aiomisc/default.nix
index 671cce69c6fd..38a692910d4a 100644
--- a/nixpkgs/pkgs/development/python-modules/aiomisc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiomisc/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "aiomisc";
-  version = "17.3.25";
+  version = "17.3.41";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-EPEfBK/1nbwcajqyv5lFX+02WMvbyFnij2w5J91+UK8=";
+    hash = "sha256-thJBptiwH3jLQIYw7ucCv4xwaGPXMpE+dUwRvsyURtw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix b/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix
index fda31f1a40aa..1cfee59a0003 100644
--- a/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix
@@ -12,18 +12,23 @@
 
 buildPythonPackage rec {
   pname = "aioopenexchangerates";
-  version = "0.4.3";
-  format = "pyproject";
+  version = "0.4.5";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "MartinHjelmare";
-    repo = pname;
+    repo = "aioopenexchangerates";
     rev = "refs/tags/v${version}";
-    hash = "sha256-C34GjCQdkKOTyHw4XNaXvVqqMfKv9KlZjdKfDFsOSOE=";
+    hash = "sha256-4mvd5G4qpebocg74Kz/+XtJovDnGJJYPigyhke9YDjA=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=aioopenexchangerates --cov-report=term-missing:skip-covered" ""
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -39,11 +44,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=aioopenexchangerates --cov-report=term-missing:skip-covered" ""
-  '';
-
   pythonImportsCheck = [
     "aioopenexchangerates"
   ];
@@ -51,7 +51,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for the Openexchangerates API";
     homepage = "https://github.com/MartinHjelmare/aioopenexchangerates";
-    changelog = "https://github.com/MartinHjelmare/aioopenexchangerates/blob/vv${version}/CHANGELOG.md";
+    changelog = "https://github.com/MartinHjelmare/aioopenexchangerates/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix b/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix
index 352f7eb9603d..c2b6f3609e53 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiorecollect/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "aiorecollect";
-  version = "2023.09.0";
+  version = "2023.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-45LgfCA8037GqP4WfEjE4hj2YdKUGu2hGrQ/f0r1PAI=";
+    hash = "sha256-CRiYde3FKVXhqB3W5rD7T3v93PAcsXBj0gG0L0umHSg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiortm/default.nix b/nixpkgs/pkgs/development/python-modules/aiortm/default.nix
index 93b345d89a1d..b04e55251dea 100644
--- a/nixpkgs/pkgs/development/python-modules/aiortm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiortm/default.nix
@@ -2,10 +2,12 @@
 , aiohttp
 , aioresponses
 , buildPythonPackage
+, ciso8601
 , click
 , fetchFromGitHub
-, pydantic
+, mashumaro
 , poetry-core
+, pytest-asyncio
 , pytestCheckHook
 , pythonOlder
 , yarl
@@ -13,39 +15,41 @@
 
 buildPythonPackage rec {
   pname = "aiortm";
-  version = "0.6.4";
-  format = "pyproject";
+  version = "0.8.6";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "MartinHjelmare";
-    repo = pname;
+    repo = "aiortm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PFZ8B2Wtjg3xUFYcnthTW5QXLk//lFH25jwpF7hygxQ=";
+    hash = "sha256-bchfFtggmKXjAVTeFFy+3YXF3PCfAcFPC5fanw3l/RE=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=aiortm --cov-report=term-missing:skip-covered" ""
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
     aiohttp
+    ciso8601
     click
-    pydantic
+    mashumaro
     yarl
   ];
 
   nativeCheckInputs = [
     aioresponses
+    pytest-asyncio
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=aiortm --cov-report=term-missing:skip-covered" ""
-  '';
-
   pythonImportsCheck = [
     "aiortm"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aioshelly/default.nix b/nixpkgs/pkgs/development/python-modules/aioshelly/default.nix
index b47936c926d3..e0547c9484fe 100644
--- a/nixpkgs/pkgs/development/python-modules/aioshelly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioshelly/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aioshelly";
-  version = "6.0.0";
+  version = "6.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-mB9BEVqbHcoUaygIgrtqk20wMJkL+dWpbeyG5VP4+sg=";
+    hash = "sha256-LkcUcGx31GwrbmBWCyEuD5x9yzeszUHBCYSBgTzgz9A=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix b/nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix
index e993813081a8..5775aece8060 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiosomecomfort/default.nix
@@ -1,15 +1,16 @@
 { lib
+, aiohttp
 , buildPythonPackage
 , fetchFromGitHub
-, aiohttp
 , prettytable
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aiosomecomfort";
-  version = "0.0.17";
-  format = "setuptools";
+  version = "0.0.22";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -17,9 +18,13 @@ buildPythonPackage rec {
     owner = "mkmer";
     repo = "AIOSomecomfort";
     rev = "refs/tags/${version}";
-    hash = "sha256-HJbLsl1NHZxfH17mIi0T6h5ZSfKaw4VYbNgN6vmN7l4=";
+    hash = "sha256-d4pyt9+sBPNo/PL05HQ4sjyjubMtTZI9WUGRU1B/dH0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     prettytable
@@ -29,7 +34,8 @@ buildPythonPackage rec {
     "aiosomecomfort"
   ];
 
-  doCheck = false; # tests only run on windows, due to WindowsSelectorEventLoopPolicy
+  # Tests only run on Windows, due to WindowsSelectorEventLoopPolicy
+  doCheck = false;
 
   meta = {
     description = "AsyicIO client for US models of Honeywell Thermostats";
diff --git a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
index 0d1423d9ac63..36b7aa587dda 100644
--- a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "65";
+  version = "66";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VpDtr5r7BxZDd8G8tPrHRVo+LRhsFoMlVUuOcG/3g0s=";
+    hash = "sha256-UWKsx7giGrNR04X/2vgdaCFulxbzQkvlRfCEodVoHY8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiovodafone/default.nix b/nixpkgs/pkgs/development/python-modules/aiovodafone/default.nix
index af193fa8dc69..573075095cb3 100644
--- a/nixpkgs/pkgs/development/python-modules/aiovodafone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiovodafone/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aiovodafone";
-  version = "0.4.2";
+  version = "0.4.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "chemelli74";
     repo = "aiovodafone";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sWONjWchXu5pRFXY/ZhOXvF0z/qUc1LjqcaSiVPA1MU=";
+    hash = "sha256-nYMruxEqLvkcspz0damh9tBYYROz5gleLiyhjco+rsQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix b/nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix
index 9d99977249be..19e133e27cbd 100644
--- a/nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix
@@ -13,8 +13,8 @@
 
 buildPythonPackage rec {
   pname = "aiowaqi";
-  version = "3.0.0";
-  format = "pyproject";
+  version = "3.0.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.11";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "joostlek";
     repo = "python-waqi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FHpZVY7TFjk+2YNBejEwSdYWK41V9bti1JxpWivemw4=";
+    hash = "sha256-+4l820FGQI66GGr+KGEeDmPUFwRrMNvYFJuSouesakY=";
   };
 
   postPatch = ''
@@ -50,6 +50,15 @@ buildPythonPackage rec {
     "aiowaqi"
   ];
 
+  disabledTests = [
+    # Upstream mocking fails
+    "test_search"
+  ];
+
+  pytestFlagsArray = [
+    "--snapshot-update"
+  ];
+
   meta = with lib; {
     description = "Module to interact with the WAQI API";
     homepage = "https://github.com/joostlek/python-waqi";
diff --git a/nixpkgs/pkgs/development/python-modules/aiowithings/default.nix b/nixpkgs/pkgs/development/python-modules/aiowithings/default.nix
index acb6d6bf1e6c..542511d2d3b1 100644
--- a/nixpkgs/pkgs/development/python-modules/aiowithings/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiowithings/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "aiowithings";
-  version = "1.0.2";
+  version = "1.0.3";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "joostlek";
     repo = "python-withings";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6yfhAMQIwhjKXlnN58bL9It8q6CXH9RxKBkB8BfSY1o=";
+    hash = "sha256-n76bpFIWUfztTDEg32uopxukAtvFT3tdbtqWOLghi4I=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/alexapy/default.nix b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
index 34b36816b134..2ab2d2612365 100644
--- a/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "alexapy";
-  version = "1.27.8";
+  version = "1.27.10";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "keatontaylor";
     repo = "alexapy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-M6cv1l6UpUJ0Wn7Swa7Cv+XsDNbzHLNrTJjU5ePL83Q=";
+    hash = "sha256-eoL7q+p0m3YZd7Ub7U8nE3tQGNA2oQXelvN+H01b0BM=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix b/nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix
index cdfbf4c142c5..ba86e0723a5d 100644
--- a/nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix
@@ -1,24 +1,16 @@
 { lib
-, fetchPypi
-, buildPythonPackage
-, six
-, pythonOlder
 , allure-python-commons
+, buildPythonPackage
+, fetchPypi
 , pytest
-, pytestCheckHook
-, pytest-check
-, pytest-flakes
-, pytest-lazy-fixture
-, pytest-rerunfailures
-, pytest-xdist
-, pyhamcrest
-, mock
+, pythonOlder
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "allure-pytest";
   version = "2.13.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -27,52 +19,27 @@ buildPythonPackage rec {
     hash = "sha256-IiQxWejsgc4rUlS0ATgCGYghsbQvEY9p1KKJOWYHx7M=";
   };
 
-  buildInputs = [
-    pytest
-  ];
-
   nativeBuildInputs = [
     setuptools-scm
   ];
 
-  pythonImportsCheck = [ "allure_pytest" ];
+  buildInputs = [
+    pytest
+  ];
 
   propagatedBuildInputs = [
     allure-python-commons
-    six
-  ];
-
-  nativeCheckInputs = [
-    pyhamcrest
-    mock
-    pytestCheckHook
-    pytest-check
-    pytest-flakes
-    pytest-lazy-fixture
-    pytest-rerunfailures
-    pytest-xdist
   ];
 
-  pytestFlagsArray = [
-    "--basetemp"
-    "$(mktemp -d)"
-    "--alluredir"
-    "$(mktemp -d allure-results.XXXXXXX)"
-    "-W"
-    "ignore::pytest.PytestExperimentalApiWarning"
-    "-p"
-    "pytester"
-  ];
+  # Tests were moved to the meta package
+  doCheck = false;
 
-  # we are skipping some of the integration tests for now
-  disabledTests = [
-    "test_pytest_check"
-    "test_pytest_check_example"
-    "test_select_by_testcase_id_test"
+  pythonImportsCheck = [
+    "allure_pytest"
   ];
 
   meta = with lib; {
-    description = "Allure pytest integration. It's developed as pytest plugin and distributed via pypi";
+    description = "Allure integrations for Python test frameworks";
     homepage = "https://github.com/allure-framework/allure-python";
     license = licenses.asl20;
     maintainers = with maintainers; [ evanjs ];
diff --git a/nixpkgs/pkgs/development/python-modules/altair/default.nix b/nixpkgs/pkgs/development/python-modules/altair/default.nix
index b7fbcb552746..3b9b53b9a6c3 100644
--- a/nixpkgs/pkgs/development/python-modules/altair/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/altair/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "altair";
-  version = "5.1.2";
+  version = "5.2.0";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "altair-viz";
     repo = "altair";
     rev = "refs/tags/v${version}";
-    hash = "sha256-30M+rt5IfD4hvK5CwaW8HfQacDBPjowff/f9o7iido0=";
+    hash = "sha256-uTG+V0SQgAQtMjvrVvKVKgIBT9qO+26EPRxQCEXj/gc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/angr/default.nix b/nixpkgs/pkgs/development/python-modules/angr/default.nix
index 1c26f847f622..8ecc9c02c0e1 100644
--- a/nixpkgs/pkgs/development/python-modules/angr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angr/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.77";
+  version = "9.2.79";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "angr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EslJnwgZUUN+EtyjGi/7a4Upr2/vbfNXpkc7I+/ZrU8=";
+    hash = "sha256-J5ZjJPX5bL3xuKB9dbSlEvHVQS4XnrQfpZ6IXy/1uMw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/anthropic/default.nix b/nixpkgs/pkgs/development/python-modules/anthropic/default.nix
index 8086ecec1139..228342f97082 100644
--- a/nixpkgs/pkgs/development/python-modules/anthropic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anthropic/default.nix
@@ -4,6 +4,7 @@
 , hatchling
 , anyio
 , distro
+, dirty-equals
 , httpx
 , pydantic
 , pytest-asyncio
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "anthropic";
-  version = "0.5.0";
+  version = "0.7.4";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "anthropics";
     repo = "anthropic-sdk-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+EiFp55tPsILl6uuTh9qmeQDMKlUzegn3xUo6BupN2E=";
+    hash = "sha256-iLHzoWgAMDZ0AJGVXw2Xnaby07FbhJqNGfW5bPNgfws=";
   };
 
   nativeBuildInputs = [
@@ -42,6 +43,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    dirty-equals
     pytest-asyncio
     pytestCheckHook
     respx
diff --git a/nixpkgs/pkgs/development/python-modules/anytree/default.nix b/nixpkgs/pkgs/development/python-modules/anytree/default.nix
index 2565a3475104..8e55337e4100 100644
--- a/nixpkgs/pkgs/development/python-modules/anytree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anytree/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "anytree";
-  version = "2.10.0";
+  version = "2.12.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "c0fec0de";
     repo = "anytree";
     rev = "refs/tags/${version}";
-    hash = "sha256-9rxrHZBlQarfpYQvo6bJPGF+cdSROlwq+8TjXI18HDs=";
+    hash = "sha256-8mV9Lf6NLPUDVurXCxG+tqe7+3TrIn2H+7tHa6BpTzk=";
   };
 
   patches = lib.optionals withGraphviz [
diff --git a/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix b/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
index 463518ef2f98..e42ae97e2b4e 100644
--- a/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "appthreat-vulnerability-db";
-  version = "5.5.3";
+  version = "5.5.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "AppThreat";
     repo = "vulnerability-db";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6kfkHLW5PftzrhKjywc670HpKCrrU0POEiJ3u2doBTk=";
+    hash = "sha256-LWlB7ZIcGoNXq6WodJE6hinGDBFgUqP4tXa51T5yI8c=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/apricot-select/default.nix b/nixpkgs/pkgs/development/python-modules/apricot-select/default.nix
new file mode 100644
index 000000000000..105f6a71c915
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/apricot-select/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numba
+, numpy
+, pytestCheckHook
+, pythonOlder
+, torchvision
+, scikit-learn
+, scipy
+, setuptools
+, tqdm
+}:
+
+buildPythonPackage rec {
+  pname = "apricot-select";
+  version = "0.6.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "jmschrei";
+    repo = "apricot";
+    rev = "refs/tags/${version}";
+    hash = "sha256-v9BHFxmlbwXVipPze/nV35YijdFBuka3gAl85AlsffQ=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    numba
+    numpy
+    scipy
+    tqdm
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    torchvision
+    scikit-learn
+  ];
+
+  pythonImportsCheck = [
+    "apricot"
+  ];
+
+  disabledTestPaths = [
+    # Tests require nose
+    "tests/test_optimizers/test_knapsack_facility_location.py"
+    "tests/test_optimizers/test_knapsack_feature_based.py"
+  ];
+
+  meta = with lib; {
+    description = "Module for submodular optimization for the purpose of selecting subsets of massive data sets";
+    homepage = "https://github.com/jmschrei/apricot";
+    changelog = "https://github.com/jmschrei/apricot/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
index c8383ecc9af2..9e0858f14066 100644
--- a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.77";
+  version = "9.2.79";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-uTkPDhk4Ugyb9HV/0PMwWpuNajpzfTn1dg7gsQnc/zg=";
+    hash = "sha256-7gnNGUxl/K8GWV99uB/dEv9/ukQ4QV4nvyyByobhBt0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asf-search/default.nix b/nixpkgs/pkgs/development/python-modules/asf-search/default.nix
index a5177a6b7e18..69c452ecb153 100644
--- a/nixpkgs/pkgs/development/python-modules/asf-search/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asf-search/default.nix
@@ -1,18 +1,19 @@
 { lib
 , buildPythonPackage
+, dateparser
+, defusedxml
 , fetchFromGitHub
-, pythonOlder
-, requests
-, shapely
-, python-dateutil
-, pytz
 , importlib-metadata
 , numpy
-, dateparser
-, remotezip
 , pytestCheckHook
+, python-dateutil
+, pythonOlder
+, pytz
+, remotezip
+, requests
 , requests-mock
-, defusedxml
+, shapely
+, tenacity
 }:
 
 buildPythonPackage rec {
@@ -30,23 +31,21 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    requests
-    shapely
-    python-dateutil
-    pytz
+    dateparser
     importlib-metadata
     numpy
-    dateparser
+    python-dateutil
+    pytz
     remotezip
+    requests
+    shapely
   ];
 
   nativeCheckInputs = [
+    defusedxml
     pytestCheckHook
-  ];
-
-  checkInputs = [
     requests-mock
-    defusedxml
+    tenacity
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix b/nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix
index 64fe911661ff..0d66f4c728dc 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astropy-healpix/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , numpy
 , astropy
 , astropy-extension-helpers
@@ -21,6 +22,16 @@ buildPythonPackage rec {
     hash = "sha256-9ILvYqEOaGMD84xm8I3xe53e5a2CIZwjVx7oDXar7qM=";
   };
 
+  patches = [
+    # remove on next udpate. make Numpy loop function args const correct.
+    # https://github.com/astropy/astropy-healpix/pull/199
+    (fetchpatch {
+      name = "numpy-const-args-match.patch";
+      url = "https://github.com/astropy/astropy-healpix/commit/ccf6d9ea4be131f56646adbd7bc482bfcd84f21c.patch";
+      hash = "sha256-fpDxTbs3sHJSb4mnveorM+wlseXbZu1biGyBTNC9ZUo=";
+    })
+  ];
+
   nativeBuildInputs = [
     astropy-extension-helpers
     setuptools-scm
diff --git a/nixpkgs/pkgs/development/python-modules/asyncmy/default.nix b/nixpkgs/pkgs/development/python-modules/asyncmy/default.nix
index 5a8c5bad75be..76a6d86a5bee 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncmy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncmy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "asyncmy";
-  version = "0.2.8";
+  version = "0.2.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "long2ice";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-2DqQclwTfHo3YFlJ7xL3cVnhGyS4ZE7VYYv6TBqRNL0=";
+    hash = "sha256-BjjC8pvvQfnvaExhei+F4a2eryHiRbI527BZFLpJk2w=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asysocks/default.nix b/nixpkgs/pkgs/development/python-modules/asysocks/default.nix
index 36e28f882b2c..b28315a44e8c 100644
--- a/nixpkgs/pkgs/development/python-modules/asysocks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asysocks/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "asysocks";
-  version = "0.2.9";
+  version = "0.2.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zg3xEveyEOisk8s4R/36Ly9JH5xDvVsjS4FZIxHOlZ8=";
+    hash = "sha256-Fwm898mU7wvH5OkYVUrw3rL4VT5yyvoHxVtfcuL+4bQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/auditwheel/default.nix b/nixpkgs/pkgs/development/python-modules/auditwheel/default.nix
new file mode 100644
index 000000000000..836bbaf1cd0f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/auditwheel/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, setuptools-scm
+, pyelftools
+, importlib-metadata
+, pretend
+, pytestCheckHook
+# non-python dependencies
+, bzip2
+, gnutar
+, patchelf
+, unzip
+}:
+
+buildPythonPackage rec {
+  pname = "auditwheel";
+  version = "5.4.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-qvgVOreinMmaZjziSYgE2vGIfqG3oyMboNP+5oo8zxk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    pyelftools
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  nativeCheckInputs = [
+    pretend
+    pytestCheckHook
+  ];
+
+  # Integration tests require docker and networking
+  disabledTestPaths = [
+    "tests/integration"
+  ];
+
+  # Ensure that there are no undeclared deps
+  postCheck = ''
+    PATH= PYTHONPATH= $out/bin/auditwheel --version > /dev/null
+  '';
+
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ bzip2 gnutar patchelf unzip ])
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/pypa/auditwheel/blob/${version}/CHANGELOG.md";
+    description = "Auditing and relabeling cross-distribution Linux wheels";
+    homepage = "https://github.com/pypa/auditwheel";
+    license = with licenses; [
+      mit  # auditwheel and nibabel
+      bsd2  # from https://github.com/matthew-brett/delocate
+      bsd3  # from https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-projects/pax-utils/lddtree.py
+    ];
+    mainProgram = "auditwheel";
+    maintainers = with maintainers; [ davhau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/augeas/default.nix b/nixpkgs/pkgs/development/python-modules/augeas/default.nix
index 6b70f3675268..4872a4ac18d9 100644
--- a/nixpkgs/pkgs/development/python-modules/augeas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/augeas/default.nix
@@ -1,30 +1,36 @@
-{ stdenv, lib, buildPythonPackage, fetchFromGitHub, augeas, cffi }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, unittestCheckHook
+, pkg-config
+, augeas
+, cffi
+, pkgs # for libxml2
+}:
 buildPythonPackage rec {
     pname = "augeas";
-    version = "1.1.0";
+    version = "1.2.0";
 
     src = fetchFromGitHub {
       owner = "hercules-team";
       repo = "python-augeas";
       rev = "v${version}";
-      sha256 = "12q52ilcx059rn544x3712xq6myn99niz131l0fs3xx67456pajh";
+      hash = "sha256-Lq8ckra3sqN38zo1d5JsEq6U5TtLKRmqysoWNwR9J9A=";
     };
 
-    # TODO: not very nice!
-    postPatch =
-      let libname = "libaugeas${stdenv.hostPlatform.extensions.sharedLibrary}";
-      in
-      ''
-        substituteInPlace augeas/ffi.py \
-          --replace 'ffi.dlopen("augeas")' \
-                    'ffi.dlopen("${lib.makeLibraryPath [augeas]}/${libname}")'
-      '';
+    nativeBuildInputs = [ pkg-config ];
 
-    propagatedBuildInputs = [ cffi augeas ];
+    buildInputs = [ augeas pkgs.libxml2 ];
 
-    doCheck = false;
+    propagatedBuildInputs = [ cffi ];
+
+    nativeCheckInputs = [ unittestCheckHook ];
+
+    pythonImportsCheck = [ "augeas" ];
 
     meta = with lib; {
+      changelog = "https://github.com/hercules-team/python-augeas/releases/tag/v${version}";
       description = "Pure python bindings for augeas";
       homepage = "https://github.com/hercules-team/python-augeas";
       license = licenses.lgpl2Plus;
diff --git a/nixpkgs/pkgs/development/python-modules/authcaptureproxy/default.nix b/nixpkgs/pkgs/development/python-modules/authcaptureproxy/default.nix
index e18375c1f5d2..37e640ca6a8d 100644
--- a/nixpkgs/pkgs/development/python-modules/authcaptureproxy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/authcaptureproxy/default.nix
@@ -1,28 +1,33 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+
+# build-system
 , poetry-core
+
+# dependencies
 , aiohttp
 , beautifulsoup4
 , httpx
-, importlib-metadata
 , multidict
 , typer
 , yarl
+
+# tests
 , pytest-asyncio
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "authcaptureproxy";
-  version = "1.2.0";
-  format = "pyproject";
+  version = "1.3.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "alandtse";
     repo = "auth_capture_proxy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OY6wT0xi7f6Bn8VOL9+6kyv5cENYbrGGTWWKc6o36cw=";
+    hash = "sha256-qkvr8uYI6+lbNsAPw2PAnPyWRQTE4AEHf3djBfSp3XU=";
   };
 
   nativeBuildInputs = [
@@ -33,7 +38,6 @@ buildPythonPackage rec {
     aiohttp
     beautifulsoup4
     httpx
-    importlib-metadata
     multidict
     typer
     yarl
diff --git a/nixpkgs/pkgs/development/python-modules/av/default.nix b/nixpkgs/pkgs/development/python-modules/av/default.nix
index b930fd80b99d..e80f521efb2b 100644
--- a/nixpkgs/pkgs/development/python-modules/av/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/av/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, stdenv
 
 # build
 , cython
@@ -101,6 +102,10 @@ buildPythonPackage rec {
     "--deselect=tests/test_subtitles.py::TestSubtitle::test_movtext"
     "--deselect=tests/test_subtitles.py::TestSubtitle::test_vobsub"
     "--deselect=tests/test_videoframe.py::TestVideoFrameImage::test_roundtrip"
+  ] ++ lib.optionals (stdenv.isDarwin) [
+    # Segmentation Faults
+    "--deselect=tests/test_encode.py::TestBasicVideoEncoding::test_encoding_with_pts"
+    "--deselect=tests/test_pyav.py::test_bayer_write"
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/aw-client/default.nix b/nixpkgs/pkgs/development/python-modules/aw-client/default.nix
index dde0df0e71c6..c856d384d8f1 100644
--- a/nixpkgs/pkgs/development/python-modules/aw-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aw-client/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aw-client";
-  version = "0.5.12";
+  version = "0.5.13";
 
   format = "pyproject";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "ActivityWatch";
     repo = "aw-client";
     rev = "v${version}";
-    sha256 = "sha256-Aketk+itfd9gs3s+FDfzmGNWd7tKJQqNn1XsH2VTBD8=";
+    sha256 = "sha256-A9f1Wj4F6qRvCVj3iRQvsnILewJK1L5tfI2MnAXZ4nY=";
   };
 
   disabled = pythonOlder "3.8";
diff --git a/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 6f19a6a7ac1c..0509ccced740 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "1.41.0";
+  version = "1.42.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Uxf52UzzCqXFFnQD1DwcSy3ylY+rYq6qbI5XK5JiVto=";
+    hash = "sha256-rgRGKpthZ0nitO91Z5xUimakDFvcLh4UFKnxnEmRLHI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
index 32a8baa44864..5d7cbaf889f0 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.78.0";
+  version = "1.81.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "serverless-application-model";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hSXJBEntj3k3Kml+Yuvn19X7YXL+Y1hXBkb8iZ7DxR4=";
+    hash = "sha256-Ik9ZO7l2dbjJg+PlSRUoMkrjSBeghKN5DZjx7CjDBPg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/awscrt/default.nix b/nixpkgs/pkgs/development/python-modules/awscrt/default.nix
index 0927fba08e50..9d739c81f700 100644
--- a/nixpkgs/pkgs/development/python-modules/awscrt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awscrt/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "awscrt";
-  version = "0.19.12";
+  version = "0.19.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-skkkwtmSbGJV6MRBJMfNhu+pWEBuMkB7ozTh9wiyYVM=";
+    hash = "sha256-NQtu/Y6+4ILqPz5SxZo8PsWUza8B24tIU9zrn+yQyJ0=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
@@ -27,12 +27,6 @@ buildPythonPackage rec {
     Security
   ];
 
-  # Required to suppress -Werror
-  # https://github.com/NixOS/nixpkgs/issues/39687
-  hardeningDisable = lib.optionals stdenv.cc.isClang [
-    "strictoverflow"
-  ];
-
   # gcc <10 is not supported, LLVM on darwin is just fine
   nativeBuildInputs = [
     cmake
diff --git a/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix b/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
index 54ad818bb8a1..11dc67a61f63 100644
--- a/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
@@ -16,6 +16,7 @@
 , pyarrow
 , pymysql
 , pyodbc
+, pyparsing
 , pytestCheckHook
 , pythonOlder
 , redshift-connector
@@ -24,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "awswrangler";
-  version = "3.4.0";
+  version = "3.4.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -33,7 +34,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "aws-sdk-pandas";
     rev = "refs/tags/${version}";
-    hash = "sha256-RjZWK7XfyRYu7vNaxPd0/F5nBN/JH01ZwZXloMS0g68=";
+    hash = "sha256-fvqtSDd5lResArquOdhcLYqpDo5yFWaknQlq3pODbX8=";
   };
 
   nativeBuildInputs = [
@@ -57,6 +58,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     moto
+    pyparsing
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix b/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix
index bf6d34adce01..ba589b8aa5e6 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix
@@ -2,27 +2,24 @@
 , buildPythonPackage
 , fetchPypi
 , azure-core
-, uamqp
 , pythonOlder
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-eventhub";
-  version = "5.11.4";
+  version = "5.11.5";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-aLiaNRUEDxF2+bSWxMdtOBwQd3mu13V8u7mj2r4wqCM=";
+    hash = "sha256-HDdOmQezNIPVCLTHst8p+crGM15dpaGNIYU0+UL01Uw=";
   };
 
   propagatedBuildInputs = [
     azure-core
-    uamqp
     typing-extensions
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix b/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix
index a2cdf1f929c3..624ce81e5bca 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-identity/default.nix
@@ -1,41 +1,30 @@
 { lib
+, azure-common
+, azure-mgmt-core
 , buildPythonPackage
 , fetchPypi
-, azure-common
-, azure-core
-, cryptography
-, mock
+, isodate
 , msal
-, msal-extensions
-, msrest
-, msrestazure
 , pythonOlder
-, six
 }:
 
 buildPythonPackage rec {
   pname = "azure-identity";
-  version = "1.14.0";
+  version = "1.15.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-ckQXmfjFyJv+IQJpZeJmZyp8XQUMLGURnviZ3VNi4rE=";
+    hash = "sha256-TCj8JGt/kmVhDrUmHWWTEYPQGaI9Sw6ZNX+ssubCJ8g=";
   };
 
   propagatedBuildInputs = [
     azure-common
-    azure-core
-    cryptography
-    mock
+    azure-mgmt-core
+    isodate
     msal
-    msal-extensions
-    msrest
-    msrestazure
-    six
   ];
 
   pythonImportsCheck = [
@@ -49,6 +38,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Microsoft Azure Identity Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-identity_${version}/sdk/keyvault/azure-mgmt-keyvault/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ kamadorueda ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
index bc20dcdfb602..40e86961a892 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-containerregistry";
-  version = "10.2.0";
+  version = "10.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-i7i/5ofGxiF9/wTAPnUOaZ6FAgK3EaBqoHeSC8HuXCo=";
+    hash = "sha256-riFlGFXfsZxC2R1rOpZcbGEeI/i8S/cTiDXmUtL5GOM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
index 04cff63317d1..c72c54ffbdce 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-containerservice";
-  version = "27.0.0";
+  version = "28.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IdGo2A65YiMJJ8S18Ji+FfnnylNhs8vFOQpfA91wgNM=";
+    hash = "sha256-tVYFpEUV9v0OOk3CK/oPRA8+fhYl668Gqz6wa/NabNs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
index 735bcba46c37..3de8b1c16fab 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
@@ -1,29 +1,26 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, msrest
-, msrestazure
 , azure-common
 , azure-mgmt-core
+, buildPythonPackage
+, fetchPypi
+, isodate
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-datafactory";
-  version = "3.1.0";
+  version = "4.0.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-lsOUxDoXocf1fUIcY4q74/vd86LO7yumJg7rJ6i3zcg=";
+    hash = "sha256-XfTLbVdoPVLKgVlBDr59N0EKe+G9fAS+SjI9cWhhs4g=";
   };
 
   propagatedBuildInputs = [
-    msrest
-    msrestazure
+    isodate
     azure-common
     azure-mgmt-core
   ];
@@ -31,9 +28,14 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [
+    "azure.mgmt.datafactory"
+  ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure Data Factory Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/tree/azure-mgmt-datafactory_${version}/sdk/datafactory/azure-mgmt-datafactory";
     license = licenses.mit;
     maintainers = with maintainers; [ maxwilson ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
index 2f7d1486c102..9b954760fe1c 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
@@ -1,43 +1,41 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, msrest
-, msrestazure
 , azure-common
 , azure-mgmt-core
+, buildPythonPackage
+, fetchPypi
+, isodate
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-keyvault";
-  version = "10.2.3";
+  version = "10.3.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-JDM6F0ToMpUeBlLULih17TLzCbrNdxrGrcq5oIfsybU=";
+    hash = "sha256-GDtBZM8YaLjqfv6qmO2tfSpOFKm9l3woGLErdRUM0qI=";
   };
 
   propagatedBuildInputs = [
-    msrest
-    msrestazure
     azure-common
     azure-mgmt-core
+    isodate
   ];
 
   pythonNamespaces = [
     "azure.mgmt"
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
   meta = with lib; {
     description = "This is the Microsoft Azure Key Vault Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-keyvault_${version}/sdk/keyvault/azure-mgmt-keyvault/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer maxwilson ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix
index e1f0f2302b95..81b216804ae4 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-maps/default.nix
@@ -6,6 +6,7 @@
 , isodate
 , pythonOlder
 , typing-extensions
+, msrest
 }:
 
 buildPythonPackage rec {
@@ -24,6 +25,7 @@ buildPythonPackage rec {
     isodate
     azure-common
     azure-mgmt-core
+    msrest
   ] ++ lib.optionals (pythonOlder "3.8") [
     typing-extensions
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index d3ad44918777..a9c9da857478 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -1,31 +1,28 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, msrest
-, msrestazure
 , azure-common
 , azure-mgmt-core
+, buildPythonPackage
+, fetchPypi
+, isodate
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "6.0.0";
+  version = "7.0.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-lIEYi/jvF9pYbnH+clUzfU0fExlY+dZojIyZRtTLQh8=";
+    hash = "sha256-GuW6x8JGdBedywum4fDAQ8rwbVU9UgQWgHrFqJ6Uz9A=";
   };
 
   propagatedBuildInputs = [
-    msrest
-    msrestazure
     azure-common
     azure-mgmt-core
+    isodate
   ];
 
   # Module has no tests
@@ -38,6 +35,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "This is the Microsoft Azure Recovery Services Backup Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-recoveryservicesbackup_${version}/sdk/recoveryservices/azure-mgmt-recoveryservicesbackup/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ maxwilson ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
index 56a38ca05d95..0008035e91e0 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-web/default.nix
@@ -1,31 +1,28 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, msrest
-, msrestazure
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
-, isPy3k
+, buildPythonPackage
+, fetchPypi
+, isodate
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-web";
-  version = "7.1.0";
+  version = "7.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-WxbN5+MNwgRmuRH/vEmlcljH7ylYRyxNz2Ev8aAS8Vw=";
+    hash = "sha256-78/m9/Ug7Qq8/oZRfhyM8CpxL3N6PbDbfLRsbWR5ge0=";
   };
 
   propagatedBuildInputs = [
-    msrest
-    msrestazure
     azure-common
     azure-mgmt-core
-  ] ++ lib.optionals (!isPy3k) [
-    azure-mgmt-nspkg
+    isodate
   ];
 
   # has no tests
@@ -34,6 +31,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "This is the Microsoft Azure Web Apps Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-web_${version}/sdk/appservice/azure-mgmt-web/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ maxwilson ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix b/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
index 2caf5996c30c..1782dd56e485 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
@@ -1,34 +1,33 @@
 { lib
-, buildPythonPackage
-, fetchPypi
 , azure-common
 , azure-core
 , azure-mgmt-core
-, msrest
+, buildPythonPackage
+, fetchPypi
+, isodate
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-synapse-artifacts";
-  version = "0.17.0";
+  version = "0.18.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-58k8F/aUBBNJwGBiPZojkSzEXZ3Kd6uEwr0cZbFaM9k=";
+    hash = "sha256-qgiHMzW7T5NuQl0jwZheMXp7wHhNOHyH24J6wfc4VqQ=";
   };
 
   propagatedBuildInputs = [
     azure-common
     azure-core
     azure-mgmt-core
-    msrest
+    isodate
   ];
 
-  # zero tests run
+  # Tests are only available in mono-repo
   doCheck = false;
 
   pythonImportsCheck = [
@@ -38,6 +37,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Microsoft Azure Synapse Artifacts Client Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-synapse-artifacts_${version}/sdk/synapse/azure-synapse-artifacts/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/bc-jsonpath-ng/default.nix b/nixpkgs/pkgs/development/python-modules/bc-jsonpath-ng/default.nix
index bc16a809b51f..5565adcd8899 100644
--- a/nixpkgs/pkgs/development/python-modules/bc-jsonpath-ng/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bc-jsonpath-ng/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "bc-jsonpath-ng";
-  version = "1.5.9";
+  version = "1.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "bridgecrewio";
     repo = "jsonpath-ng";
     rev = "refs/tags/${version}";
-    hash = "sha256-Uho+slKmKkTrcJBKi+9GJv1JrvDrTP4/6uqmMn3qptU=";
+    hash = "sha256-FWP4tzlacAWVXG3YnPwl5MKc12geaCxZ2xyKx9PSarU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix b/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix
index 9a02610c02a0..5be65f31f601 100644
--- a/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bc-python-hcl2/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "bc-python-hcl2";
-  version = "0.3.51";
+  version = "0.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Fb/suuiC6tmY3ZMAc3I3oU5A39jJc+XH3ntMkgQKAQ8=";
+    hash = "sha256-cqQ4zuztfS5MiY4hj1WipKunqIfB1kpM+RODcZPERrY=";
   };
 
   # Nose is required during build process, so can not use `nativeCheckInputs`.
diff --git a/nixpkgs/pkgs/development/python-modules/bentoml/default.nix b/nixpkgs/pkgs/development/python-modules/bentoml/default.nix
index 5d435d94882c..e65af66ba449 100644
--- a/nixpkgs/pkgs/development/python-modules/bentoml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bentoml/default.nix
@@ -69,7 +69,7 @@
 }:
 
 let
-  version = "1.1.9";
+  version = "1.1.10";
   aws = [ fs-s3fs ];
   grpc = [
     grpcio
@@ -105,7 +105,7 @@ buildPythonPackage {
     owner = "bentoml";
     repo = "BentoML";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+5enRlk05IGdsNY6KIzYgh7vGRua0duI57o/AIevcdM=";
+    hash = "sha256-QUp0ISVcOOtpQtOwT8Ii83J1VzAQoWlQzT1maGTDBSE=";
   };
 
   # https://github.com/bentoml/BentoML/pull/4227 should fix this test
diff --git a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
index 470eaf376a77..af622dfd7624 100644
--- a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "bimmer-connected";
-  version = "0.14.2";
+  version = "0.14.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bimmerconnected";
     repo = "bimmer_connected";
     rev = "refs/tags/${version}";
-    hash = "sha256-69H0hB+yVmyzJ5A2Cb7ZcaaoRzMt618U+TUHYQ03/cY=";
+    hash = "sha256-I/MKjdEu69uis5f/Xuk4H6ynC71IQmfASLr07PdEBXE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bitstring/default.nix b/nixpkgs/pkgs/development/python-modules/bitstring/default.nix
index 55a6094c131b..537905778ba3 100644
--- a/nixpkgs/pkgs/development/python-modules/bitstring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitstring/default.nix
@@ -9,8 +9,8 @@
 
 buildPythonPackage rec {
   pname = "bitstring";
-  version = "4.1.2";
-  format = "pyproject";
+  version = "4.1.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "scott-griffiths";
     repo = pname;
     rev = "refs/tags/bitstring-${version}";
-    hash = "sha256-e4OnXwEuXz5m8d2PZOL5zDw8iGEzUg8LLk+xs/eGleA=";
+    hash = "sha256-RbHy36AnDlu/Ym5Ty2O9XfPj5xXd9hTgoClvISPoGBc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/blspy/default.nix b/nixpkgs/pkgs/development/python-modules/blspy/default.nix
deleted file mode 100644
index 929f1c90b7ce..000000000000
--- a/nixpkgs/pkgs/development/python-modules/blspy/default.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, fetchFromGitHub
-, setuptools-scm
-, substituteAll
-, cmake
-, boost
-, gmp
-, pybind11
-, pythonOlder
-}:
-
-buildPythonPackage rec {
-  pname = "blspy";
-  version = "1.0.16";
-  disabled = pythonOlder "3.7";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-XABdS6CCUJpZ9N1Vra078V0HoDU32u1l3yz96ZKHwFc=";
-  };
-
-  patches = [
-    # prevent CMake from trying to get libraries on the Internet
-    (substituteAll {
-      src = ./dont_fetch_dependencies.patch;
-      pybind11_src = pybind11.src;
-      relic_src = fetchFromGitHub {
-        owner = "Chia-Network";
-        repo = "relic";
-        rev = "215c69966cb78b255995f0ee9c86bbbb41c3c42b"; # pinned by blspy
-        hash = "sha256-wivK18Cp7BMZJvrYxJgSHInRZgFgsgSzd0YIy5IWoYA=";
-      };
-      sodium_src = fetchFromGitHub {
-        owner = "AmineKhaldi";
-        repo = "libsodium-cmake";
-        rev = "f73a3fe1afdc4e37ac5fe0ddd401bf521f6bba65"; # pinned by blspy
-        hash = "sha256-lGz7o6DQVAuEc7yTp8bYS2kwjzHwGaNjugDi1ruRJOA=";
-        fetchSubmodules = true;
-      };
-      catch2_src = fetchFromGitHub {
-        owner = "catchorg";
-        repo = "Catch2";
-        rev = "v3.0.0-preview5"; # pinned by blspy
-        hash = "sha256-IQ1yGZo3nKHTqScUoq3i3Njxqvk7uW8hQ3GT0/SxGaw=";
-      };
-    })
-  ];
-
-  # ImportError: cannot import name 'setuptools' from 'setuptools'
-  # this is resolved in the next release, v2
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "from setuptools import Extension, setup, setuptools" "from setuptools import Extension, setup"
-  '';
-
-  nativeBuildInputs = [ cmake setuptools-scm ];
-
-  buildInputs = [ boost gmp.static pybind11 ];
-
-  pythonImportsCheck = [
-    "blspy"
-  ];
-
-  # Note: upstream testsuite is just a single test.py script outside of any framework
-  doCheck = false;
-
-  # CMake needs to be run by setuptools rather than by its hook
-  dontConfigure = true;
-
-  meta = with lib; {
-    description = "BLS signatures with aggregation";
-    homepage = "https://github.com/Chia-Network/bls-signatures/";
-    license = licenses.asl20;
-    maintainers = teams.chia.members;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch b/nixpkgs/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch
deleted file mode 100644
index 6acc6f878f51..000000000000
--- a/nixpkgs/pkgs/development/python-modules/blspy/dont_fetch_dependencies.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7922652..d85b058 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -31,29 +31,18 @@ set(CMAKE_MODULE_PATH
- include(FetchContent)
- 
- FetchContent_Declare(Sodium
--  GIT_REPOSITORY https://github.com/AmineKhaldi/libsodium-cmake.git
--  # Latest commit at the moment this was added here
--  # Anchored to libsodium v1.0.18
--  GIT_TAG f73a3fe1afdc4e37ac5fe0ddd401bf521f6bba65
-+  URL /nix/store/2nj48a8vb7rzxhwaigdcpa0yyax7yrv7-source
- )
- set(SODIUM_PCH "on" CACHE STRING "")
- set(SODIUM_DISABLE_TESTS "on" CACHE STRING "")
- set(SODIUM_CHIA_MINIMAL "on" CACHE STRING "")
- FetchContent_MakeAvailable(Sodium)
- 
--if (DEFINED ENV{RELIC_MAIN})
--  set(RELIC_GIT_TAG "origin/main")
--else ()
--  # This is currently anchored to upstream aecdcae7956f542fbee2392c1f0feb0a8ac41dc5
--  set(RELIC_GIT_TAG "215c69966cb78b255995f0ee9c86bbbb41c3c42b")
--endif ()
--
- message(STATUS "Relic will be built from: ${RELIC_GIT_TAG}")
- 
- FetchContent_Declare(
-   relic
--  GIT_REPOSITORY https://github.com/Chia-Network/relic.git
--  GIT_TAG ${RELIC_GIT_TAG}
-+  SOURCE_DIR /nix/store/6r9v1cmmy535q2y0pk0bkjh3ppyzb2ch-source
- )
- 
- # Relic related options
-diff --git a/python-bindings/CMakeLists.txt b/python-bindings/CMakeLists.txt
-index 2e331c3..d9aa940 100644
---- a/python-bindings/CMakeLists.txt
-+++ b/python-bindings/CMakeLists.txt
-@@ -1,8 +1,7 @@
- 
- FetchContent_Declare(
-   pybind11
--  GIT_REPOSITORY https://github.com/pybind/pybind11.git
--  GIT_TAG        v2.10.0
-+  SOURCE_DIR @pybind11_src@
- )
- FetchContent_MakeAvailable(pybind11 relic)
- 
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 3164f7f..15a955e 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -37,8 +37,7 @@ install(FILES $<TARGET_FILE:bls> DESTINATION lib)
- if(BUILD_BLS_TESTS)
-   FetchContent_Declare(
-     Catch2
--    GIT_REPOSITORY https://github.com/catchorg/Catch2.git
--    GIT_TAG        v3.0.0-preview5
-+    URL @catch2_src@
-   )
-   FetchContent_MakeAvailable(Catch2)
-   add_executable(runtest test.cpp)
diff --git a/nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix b/nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix
index faec6cb3650e..ca4f1a540bbb 100644
--- a/nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-data-tools";
-  version = "1.14.0";
+  version = "1.15.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-eO17EuZ9K6tLAyEGmTaxw1Cxfz3XPPwNCcIwZ2/uHug=";
+    hash = "sha256-8Gbw2vXqKvWo30QKExrmH7lUkZBg7zd3o2xWEqGxSBM=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/nixpkgs/pkgs/development/python-modules/bonsai/default.nix b/nixpkgs/pkgs/development/python-modules/bonsai/default.nix
index 3e9f553d9ef6..43c88c1c73a5 100644
--- a/nixpkgs/pkgs/development/python-modules/bonsai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bonsai/default.nix
@@ -5,7 +5,6 @@
 , setuptools
 , cyrus_sasl
 , openldap
-, typing-extensions
 , gevent
 , tornado
 , trio
@@ -14,17 +13,17 @@
 
 buildPythonPackage rec {
   pname = "bonsai";
-  version = "1.5.1";
+  version = "1.5.2";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "noirello";
     repo = "bonsai";
     rev = "v${version}";
-    hash = "sha256-UR/Ds5famD8kuDa6IIIyEv45eJuAcoygXef8XE+5Cxk=";
+    hash = "sha256-h/PbwQ69fDcmUCazMtxXP1iE0fE1on+WoK+wYgQ9jLs=";
   };
 
   nativeBuildInputs = [
@@ -36,10 +35,6 @@ buildPythonPackage rec {
     openldap
   ];
 
-  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
-    typing-extensions
-  ];
-
   passthru.optional-dependencies = {
     gevent = [ gevent ];
     tornado = [ tornado ];
diff --git a/nixpkgs/pkgs/development/python-modules/bork/default.nix b/nixpkgs/pkgs/development/python-modules/bork/default.nix
index 2b3b27108d1b..29357c0cc439 100644
--- a/nixpkgs/pkgs/development/python-modules/bork/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bork/default.nix
@@ -15,15 +15,15 @@
 
 buildPythonPackage rec {
   pname = "bork";
-  version = "7.0.1";
+  version = "7.0.2";
   pyproject = true;
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "duckinator";
     repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-y/p2uuU+QKgJSdJmMt3oebm/zcuatYWTW8Jl79YxA3g=";
+    rev = "v${version}";
+    hash = "sha256-sHCPT6nTenE6mbTifNPtg0OMNIJCs7LRcF8Xuk+MwLs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
index d3f2548f7a9e..f71c5db849e2 100644
--- a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "boschshcpy";
-  version = "0.2.75";
+  version = "0.2.79";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tschamm";
     repo = pname;
     rev = version;
-    hash = "sha256-T3QTNnnkquv0IurwNtblX9CF/gLeMONEFfbJV/n/Wj4=";
+    hash = "sha256-boz4CiAmB9guhM9irW3m2ZRlt4mmcopWD+/3Y6O/Mxk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix
index 3975fa900a1c..ad74f787e7ab 100644
--- a/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -363,12 +363,12 @@
 
 buildPythonPackage rec {
   pname = "boto3-stubs";
-  version = "1.28.78";
+  version = "1.29.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LPjWdNfoXewM9M4I/jGqExgpzHq9NvIZ5ymslTUfTe4=";
+    hash = "sha256-PrVsWs8ESCmq3eAj1Ox3WPzByx0S6Uy0vIL20HvAruM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/botorch/default.nix b/nixpkgs/pkgs/development/python-modules/botorch/default.nix
index 39ed52eb9429..13bf46242439 100644
--- a/nixpkgs/pkgs/development/python-modules/botorch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botorch/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "botorch";
-  version = "0.9.3";
+  version = "0.9.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pytorch";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-d8EMmA499Zxyagkqx0JCKMZPwSH4LvBya+raD3v3iZU=";
+    hash = "sha256-MSbGjv+5/znoUeveePuTrTOMTQMQvsc064G7WoHfBMI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bqplot/default.nix b/nixpkgs/pkgs/development/python-modules/bqplot/default.nix
index a1737d339a3d..4ae4aae24263 100644
--- a/nixpkgs/pkgs/development/python-modules/bqplot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bqplot/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "bqplot";
-  version = "0.12.40";
+  version = "0.12.42";
 
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7L/ovwTwRFju5G3Cwvgla0wVIdRvlEOOm+GTieT4b7k=";
+    hash = "sha256-mUhvdMq8/f+EHf7kG6bStHeC2Fo0/zajSiI9Q//Apyk=";
   };
 
   # upstream seems in flux for 0.13 release. they seem to want to migrate from
diff --git a/nixpkgs/pkgs/development/python-modules/bqscales/default.nix b/nixpkgs/pkgs/development/python-modules/bqscales/default.nix
index c8fa7879bd75..a5fae24a13eb 100644
--- a/nixpkgs/pkgs/development/python-modules/bqscales/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bqscales/default.nix
@@ -5,7 +5,6 @@
 , hatchling
 , hatch-jupyter-builder
 , jupyterlab
-, jupyter-packaging
 , ipywidgets
 , numpy
 , traitlets
@@ -15,7 +14,7 @@
 buildPythonPackage rec {
   pname = "bqscales";
   version = "0.3.3";
-  format = "pyproject";
+  pyproject = true;
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
@@ -23,24 +22,10 @@ buildPythonPackage rec {
     hash = "sha256-SlnNw4dWOzRedwIN3kCyl95qVqkY92QGOMS3Eyoqk0I=";
   };
 
-  # We relax dependencies here instead of pulling in a patch because upstream
-  # has released a new version using hatch-jupyter-builder, but it is not yet
-  # trivial to upgrade to that.
-  #
-  # Per https://github.com/bqplot/bqscales/issues/76, jupyterlab is not needed
-  # as a build dependency right now.
-  #
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace '"jupyterlab==3.*",' "" \
-      --replace 'jupyter_packaging~=' 'jupyter_packaging>='
-  '';
-
   nativeBuildInputs = [
     hatch-jupyter-builder
     hatchling
     jupyterlab
-    jupyter-packaging
   ];
 
   propagatedBuildInputs = [
@@ -50,6 +35,8 @@ buildPythonPackage rec {
     traittypes
   ];
 
+  env.SKIP_JUPYTER_BUILDER = 1;
+
   # no tests in PyPI dist
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/branca/default.nix b/nixpkgs/pkgs/development/python-modules/branca/default.nix
index 65b80267c1d4..119e166e3845 100644
--- a/nixpkgs/pkgs/development/python-modules/branca/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/branca/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "branca";
-  version = "0.6.0";
+  version = "0.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "python-visualization";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-bcqr+vGKBga4rR4XFRWbjtw5xL+pWkIt+ihtKlKF6Y8=";
+    hash = "sha256-DH+XBj+VcS56+nAOGjjrKG0dnSKrqiU6N5vkILm+vSE=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/bugzilla/default.nix b/nixpkgs/pkgs/development/python-modules/bugzilla/default.nix
index 74d86b7fc425..2f38b6f63178 100644
--- a/nixpkgs/pkgs/development/python-modules/bugzilla/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bugzilla/default.nix
@@ -3,22 +3,23 @@
 , fetchPypi
 , requests
 , pytestCheckHook
+, glibcLocalesUtf8
 }:
 
 buildPythonPackage rec {
   pname = "bugzilla";
-  version = "2.3.0";
+  version = "3.2.0";
 
   src = fetchPypi {
     pname = "python-${pname}";
     inherit version;
-    sha256 = "0q8c3k0kdnd11g2s56cp8va9365x0xfr2m2zn9fgxjijdyhwdic5";
+    sha256 = "TvyM+il4N8nk6rIg4ZcXZxW9Ye4zzsLBsPJ5DweGA4c=";
   };
 
   propagatedBuildInputs = [ requests ];
 
   nativeCheckInputs = [
-    pytestCheckHook
+    pytestCheckHook glibcLocalesUtf8
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bx-py-utils/default.nix b/nixpkgs/pkgs/development/python-modules/bx-py-utils/default.nix
index 6dd705585f3d..55d1c971cf21 100644
--- a/nixpkgs/pkgs/development/python-modules/bx-py-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bx-py-utils/default.nix
@@ -14,17 +14,17 @@
 
 buildPythonPackage rec {
   pname = "bx-py-utils";
-  version = "80";
+  version = "88";
 
   disabled = pythonOlder "3.9";
 
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "boxine";
     repo = "bx_py_utils";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ih0tqT+3fTTgncXz4bneo4OGT0jVhybdADTy1de5VqI=";
+    hash = "sha256-Ds7Ljgp6OdbFkEWl1E0X03o0oJ/Nk8U3pO/ztK42DbY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/calmjs-parse/default.nix b/nixpkgs/pkgs/development/python-modules/calmjs-parse/default.nix
index 8420cbd03afd..34a2c00ce33b 100644
--- a/nixpkgs/pkgs/development/python-modules/calmjs-parse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/calmjs-parse/default.nix
@@ -8,17 +8,26 @@
 
 buildPythonPackage rec {
   pname = "calmjs-parse";
-  version = "1.3.0";
+  version = "1.3.1";
 
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "calmjs";
     repo = "calmjs.parse";
     rev = version;
-    hash = "sha256-QhHNp9g88RhGHqRRjg4nk7aXjAgGCOauOagWJoJ3fqc=";
+    hash = "sha256-xph+NuTkWfW0t/1vxWBSgsjU7YHQMnsm/W/XdkAnl7I=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "env['PYTHONPATH'] = 'src'" "env['PYTHONPATH'] += ':src'"
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     setuptools
     ply
@@ -43,6 +52,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/calmjs/calmjs.parse/blob/${src.rev}/CHANGES.rst";
     description = "Various parsers for ECMA standards";
     homepage = "https://github.com/calmjs/calmjs.parse";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/camel-converter/default.nix b/nixpkgs/pkgs/development/python-modules/camel-converter/default.nix
index 1a77c2bcb881..65703ad76bd0 100644
--- a/nixpkgs/pkgs/development/python-modules/camel-converter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/camel-converter/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "camel-converter";
-  version = "3.1.0";
+  version = "3.1.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "sanders41";
     repo = "camel-converter";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ASUwSA63iUgeRfYdO6InZ8YzEbifQh1hr3fUbE3FYac=";
+    hash = "sha256-xrdk5Y3H8KlQaGtJYdJNHq16Qfos2p+93uIAfIl098c=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/can/default.nix b/nixpkgs/pkgs/development/python-modules/can/default.nix
index 2ed28098a63e..4688c6507495 100644
--- a/nixpkgs/pkgs/development/python-modules/can/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/can/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , future
@@ -11,7 +12,6 @@
 , pytestCheckHook
 , pythonOlder
 , setuptools
-, stdenv
 , typing-extensions
 , wrapt
 , uptime
@@ -19,8 +19,8 @@
 
 buildPythonPackage rec {
   pname = "can";
-  version = "4.2.2";
-  format = "setuptools";
+  version = "4.3.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "hardbyte";
     repo = "python-can";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MyVGjAy13Ne0PkVufB0JDNEZHhVBzeUYWWlH72ib/pI=";
+    hash = "sha256-JsYAh5Z6RIX6aWpSuW+VIzJRPf5MfNbBGg36v3CQiLU=";
   };
 
   postPatch = ''
@@ -36,10 +36,13 @@ buildPythonPackage rec {
       --replace " --cov=can --cov-config=tox.ini --cov-report=lcov --cov-report=term" ""
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     msgpack
     packaging
-    setuptools
     typing-extensions
     wrapt
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/canals/default.nix b/nixpkgs/pkgs/development/python-modules/canals/default.nix
index f06975bbfc17..8494d6dfbd5d 100644
--- a/nixpkgs/pkgs/development/python-modules/canals/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/canals/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "canals";
-  version = "0.10.0";
+  version = "0.11.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "deepset-ai";
     repo = "canals";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zTC9zaY2WQ4Sx/1YeEaw23UH0hoP/ktMwzH8x/rER00=";
+    hash = "sha256-xoJqj/zPBPPCheBxA+8EFRJqUnlP+4aWLEh42q1X1mM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix b/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix
index dbc7bd764bac..287d14e60d67 100644
--- a/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/canmatrix/default.nix
@@ -1,64 +1,99 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
 , attrs
-, bitstruct
+, buildPythonPackage
 , click
+, fetchFromGitHub
 , future
-, pathlib2
-, typing ? null
+, importlib-metadata
+, ldfparser
 , lxml
-, xlwt
-, xlrd
-, xlsxwriter
-, pyyaml
+, openpyxl
 , pytestCheckHook
+, pythonOlder
+, pyyaml
+, six
+, xlrd
+, xlwt
 }:
 
 buildPythonPackage rec {
   pname = "canmatrix";
-  version = "0.9.5";
+  version = "1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # uses fetchFromGitHub as PyPi release misses test/ dir
   src = fetchFromGitHub {
     owner = "ebroecker";
-    repo = pname;
-    rev = version;
-    sha256 = "0x8x8kbg4gyzi0ia9657xygp0mqfii76b67fsx76d31bqsdvlda5";
+    repo = "canmatrix";
+    rev = "refs/tags/${version}";
+    hash = "sha256-UUJnLVt+uOj8Eav162btprkUeTemItGrSnBBB9UhJJI=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "version = versioneer.get_version()" 'version = "${version}"'
+  '';
+
   propagatedBuildInputs = [
-    # required
     attrs
-    bitstruct
     click
     future
-    pathlib2
-    # optional
-    lxml
-    xlwt
-    xlrd
-    xlsxwriter
-    pyyaml
-  ] ++ lib.optional (pythonOlder "3.5") typing;
+    six
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "version = versioneer.get_version()" "version = \"${version}\""
-  '';
+  passthru.optional-dependencies = {
+    arxml = [
+      lxml
+    ];
+    fibex = [
+      lxml
+    ];
+    kcd = [
+      lxml
+    ];
+    ldf = [
+      ldfparser
+    ];
+    odx = [
+      lxml
+    ];
+    xls = [
+      xlrd
+      xlwt
+    ];
+    xlsx = [
+      openpyxl
+    ];
+    yaml = [
+      pyyaml
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
-  nativeCheckInputs = [ pytestCheckHook ];
-  # long_envvar_name_imports requires stable key value pair ordering
-  pytestFlagsArray = [ "-s src/canmatrix" ];
-  disabledTests = [ "long_envvar_name_imports" ];
-  pythonImportsCheck = [ "canmatrix" ];
+  pytestFlagsArray = [
+    # long_envvar_name_imports requires stable key value pair ordering
+    "-s src/canmatrix"
+  ];
+
+  disabledTests = [
+    "long_envvar_name_imports"
+  ];
+
+  pythonImportsCheck = [
+    "canmatrix"
+  ];
 
   meta = with lib; {
+    description = "Support and convert several CAN (Controller Area Network) database formats";
     homepage = "https://github.com/ebroecker/canmatrix";
-    description = "Support and convert several CAN (Controller Area Network) database formats .arxml .dbc .dbf .kcd .sym fibex xls(x)";
+    changelog = "https://github.com/ebroecker/canmatrix/releases/tag/${version}";
     license = licenses.bsd2;
     maintainers = with maintainers; [ sorki ];
   };
 }
-
diff --git a/nixpkgs/pkgs/development/python-modules/cantools/default.nix b/nixpkgs/pkgs/development/python-modules/cantools/default.nix
index f5ad88fb5b18..cfe955ca9d96 100644
--- a/nixpkgs/pkgs/development/python-modules/cantools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cantools/default.nix
@@ -1,33 +1,40 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, setuptools
 , argparse-addons
 , bitstruct
+, buildPythonPackage
 , can
 , crccheck
 , diskcache
+, fetchPypi
 , matplotlib
 , parameterized
 , pytestCheckHook
 , pythonOlder
+, setuptools
+, setuptools-scm
 , textparser
 }:
 
 buildPythonPackage rec {
   pname = "cantools";
-  version = "39.3.0";
+  version = "39.4.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LD0IGSJZG8FhHJ8f9S1sivHQMxT4xyTMEU2FbMVVzCg=";
+    hash = "sha256-44zzlyOIQ2qo4Zq5hb+xnCy0ANm6iCpcBww0l2KWdMs=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "setuptools_scm>=8" "setuptools_scm"
+  '';
+
   nativeBuildInputs = [
     setuptools
+    setuptools-scm
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/certbot/default.nix b/nixpkgs/pkgs/development/python-modules/certbot/default.nix
index dd4e5f503335..6da3be8329b2 100644
--- a/nixpkgs/pkgs/development/python-modules/certbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certbot/default.nix
@@ -27,13 +27,13 @@
 
 buildPythonPackage rec {
   pname = "certbot";
-  version = "2.6.0";
+  version = "2.7.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-CbYamk1+NvcyS6w7pOjpD5lqWHCk+VJqF9R3xYxzpQk=";
+    hash = "sha256-BZ7JqAciwbmkpbzR/qZHAraLJWWXNRN3Er4XvfU5kYs=";
   };
 
   sourceRoot = "${src.name}/${pname}";
diff --git a/nixpkgs/pkgs/development/python-modules/chex/default.nix b/nixpkgs/pkgs/development/python-modules/chex/default.nix
index 6bee1641242c..559d047032c6 100644
--- a/nixpkgs/pkgs/development/python-modules/chex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chex/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "chex";
-  version = "0.1.84";
+  version = "0.1.85";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "deepmind";
     repo = "chex";
     rev = "refs/tags/v${version}";
-    hash = "sha256-LsUMvSMVGjqZuFDcb+/61RtFxweeG6bSFzmJUUMv6rA=";
+    hash = "sha256-7k/+2dNNbPBXtbabuOEVpAI7T1SuM4JDf074dmTg/vs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/chia-rs/Cargo.lock b/nixpkgs/pkgs/development/python-modules/chia-rs/Cargo.lock
deleted file mode 100644
index 5e120ecc88d8..000000000000
--- a/nixpkgs/pkgs/development/python-modules/chia-rs/Cargo.lock
+++ /dev/null
@@ -1,1476 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "anes"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
-
-[[package]]
-name = "anyhow"
-version = "1.0.65"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602"
-
-[[package]]
-name = "atomic-polyfill"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28"
-dependencies = [
- "critical-section",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitvec"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
-dependencies = [
- "funty",
- "radium",
- "tap",
- "wyz",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "bls12_381"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62250ece575fa9b22068b3a8d59586f01d426dd7785522efd97632959e71c986"
-dependencies = [
- "ff",
- "group",
- "pairing",
- "rand_core",
- "subtle",
-]
-
-[[package]]
-name = "bls12_381_plus"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7c681aa947677ec0c5ccfa6f14c0dd039ddbaa7b12952bf146bd5226a5f9880"
-dependencies = [
- "digest 0.9.0",
- "ff",
- "group",
- "heapless",
- "pairing",
- "rand_core",
- "serde",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "cast"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "chia"
-version = "0.2.0"
-dependencies = [
- "chia-protocol",
- "clvm-utils",
- "clvmr",
- "hex",
- "num-traits",
- "pyo3",
-]
-
-[[package]]
-name = "chia-bls"
-version = "0.2.0"
-dependencies = [
- "anyhow",
- "bls12_381_plus",
- "criterion",
- "group",
- "hex",
- "hkdf",
- "num-bigint",
- "rand",
- "sha2 0.9.9",
- "tiny-bip39",
-]
-
-[[package]]
-name = "chia-protocol"
-version = "0.2.0"
-dependencies = [
- "chia_py_streamable_macro",
- "chia_streamable_macro",
- "clvmr",
- "hex",
- "pyo3",
- "sha2 0.10.2",
-]
-
-[[package]]
-name = "chia_py_streamable_macro"
-version = "0.1.2"
-dependencies = [
- "quote",
- "syn",
-]
-
-[[package]]
-name = "chia_rs"
-version = "0.2.0"
-dependencies = [
- "chia",
- "chia-protocol",
- "chia_py_streamable_macro",
- "chia_streamable_macro",
- "clvmr",
- "hex",
- "pyo3",
-]
-
-[[package]]
-name = "chia_streamable_macro"
-version = "0.2.3"
-dependencies = [
- "quote",
- "syn",
-]
-
-[[package]]
-name = "chia_wasm"
-version = "0.2.0"
-dependencies = [
- "chia",
- "wasm-bindgen",
- "wasm-bindgen-test",
-]
-
-[[package]]
-name = "ciborium"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0c137568cc60b904a7724001b35ce2630fd00d5d84805fbb608ab89509d788f"
-dependencies = [
- "ciborium-io",
- "ciborium-ll",
- "serde",
-]
-
-[[package]]
-name = "ciborium-io"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "346de753af073cc87b52b2083a506b38ac176a44cfb05497b622e27be899b369"
-
-[[package]]
-name = "ciborium-ll"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "213030a2b5a4e0c0892b6652260cf6ccac84827b83a85a534e178e3906c4cf1b"
-dependencies = [
- "ciborium-io",
- "half",
-]
-
-[[package]]
-name = "clap"
-version = "3.2.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
-dependencies = [
- "bitflags",
- "clap_lex",
- "indexmap",
- "textwrap",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-dependencies = [
- "os_str_bytes",
-]
-
-[[package]]
-name = "clvm-utils"
-version = "0.2.0"
-dependencies = [
- "clvmr",
-]
-
-[[package]]
-name = "clvmr"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c6bb157d96f8309f2081663887e055b6f500f00d50235290690988d11197e84"
-dependencies = [
- "bls12_381",
- "hex",
- "lazy_static",
- "num-bigint",
- "num-integer",
- "num-traits",
- "sha2 0.10.2",
-]
-
-[[package]]
-name = "console_error_panic_hook"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc"
-dependencies = [
- "cfg-if",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "criterion"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
-dependencies = [
- "anes",
- "atty",
- "cast",
- "ciborium",
- "clap",
- "criterion-plot",
- "itertools",
- "lazy_static",
- "num-traits",
- "oorandom",
- "plotters",
- "rayon",
- "regex",
- "serde",
- "serde_derive",
- "serde_json",
- "tinytemplate",
- "walkdir",
-]
-
-[[package]]
-name = "criterion-plot"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
-dependencies = [
- "cast",
- "itertools",
-]
-
-[[package]]
-name = "critical-section"
-version = "1.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6548a0ad5d2549e111e1f6a11a6c2e2d00ce6a3dafe22948d67c2b443f775e52"
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
-dependencies = [
- "cfg-if",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
-dependencies = [
- "cfg-if",
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a"
-dependencies = [
- "autocfg",
- "cfg-if",
- "crossbeam-utils",
- "memoffset",
- "scopeguard",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "typenum",
-]
-
-[[package]]
-name = "crypto-mac"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"
-dependencies = [
- "generic-array",
- "subtle",
-]
-
-[[package]]
-name = "ctor"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
-dependencies = [
- "quote",
- "syn",
-]
-
-[[package]]
-name = "digest"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
-dependencies = [
- "block-buffer 0.10.3",
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "either"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
-
-[[package]]
-name = "ff"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
-dependencies = [
- "bitvec",
- "rand_core",
- "subtle",
-]
-
-[[package]]
-name = "funty"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
-
-[[package]]
-name = "generic-array"
-version = "0.14.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "ghost"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41973d4c45f7a35af8753ba3457cc99d406d863941fd7f52663cff54a5ab99b3"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "group"
-version = "0.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7391856def869c1c81063a03457c676fbcd419709c3dfb33d8d319de484b154d"
-dependencies = [
- "byteorder",
- "ff",
- "rand_core",
- "subtle",
-]
-
-[[package]]
-name = "half"
-version = "1.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
-
-[[package]]
-name = "hash32"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "heapless"
-version = "0.7.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743"
-dependencies = [
- "atomic-polyfill",
- "hash32",
- "rustc_version",
- "spin",
- "stable_deref_trait",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hex"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
-
-[[package]]
-name = "hkdf"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b"
-dependencies = [
- "digest 0.9.0",
- "hmac 0.11.0",
-]
-
-[[package]]
-name = "hmac"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
-dependencies = [
- "crypto-mac",
- "digest 0.9.0",
-]
-
-[[package]]
-name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest 0.10.6",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.9.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399"
-dependencies = [
- "autocfg",
- "hashbrown",
-]
-
-[[package]]
-name = "indoc"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8"
-dependencies = [
- "indoc-impl",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "indoc-impl"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0"
-dependencies = [
- "proc-macro-hack",
- "proc-macro2",
- "quote",
- "syn",
- "unindent",
-]
-
-[[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "inventory"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0eb5160c60ba1e809707918ee329adb99d222888155835c6feedba19f6c3fd4"
-dependencies = [
- "ctor",
- "ghost",
- "inventory-impl",
-]
-
-[[package]]
-name = "inventory-impl"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e41b53715c6f0c4be49510bb82dee2c1e51c8586d885abe65396e82ed518548"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "itertools"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
-
-[[package]]
-name = "js-sys"
-version = "0.3.52"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce791b7ca6638aae45be056e068fc756d871eb3b3b10b8efa62d1c9cec616752"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-[[package]]
-name = "libc"
-version = "0.2.139"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
-
-[[package]]
-name = "lock_api"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num-bigint"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-integer"
-version = "0.1.45"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
-dependencies = [
- "autocfg",
- "num-traits",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
-dependencies = [
- "hermit-abi 0.2.6",
- "libc",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.17.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
-
-[[package]]
-name = "oorandom"
-version = "11.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
-
-[[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-[[package]]
-name = "os_str_bytes"
-version = "6.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
-
-[[package]]
-name = "pairing"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "135590d8bdba2b31346f9cd1fb2a912329f5135e832a4f422942eb6ead8b6b3b"
-dependencies = [
- "group",
-]
-
-[[package]]
-name = "parking_lot"
-version = "0.11.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
-dependencies = [
- "cfg-if",
- "instant",
- "libc",
- "redox_syscall",
- "smallvec",
- "winapi",
-]
-
-[[package]]
-name = "paste"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
-dependencies = [
- "paste-impl",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "paste-impl"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
-dependencies = [
- "proc-macro-hack",
-]
-
-[[package]]
-name = "pbkdf2"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
-dependencies = [
- "digest 0.10.6",
-]
-
-[[package]]
-name = "plotters"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97"
-dependencies = [
- "num-traits",
- "plotters-backend",
- "plotters-svg",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "plotters-backend"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142"
-
-[[package]]
-name = "plotters-svg"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f"
-dependencies = [
- "plotters-backend",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
-
-[[package]]
-name = "proc-macro-hack"
-version = "0.5.20+deprecated"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.49"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "pyo3"
-version = "0.15.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cf01dbf1c05af0a14c7779ed6f3aa9deac9c3419606ac9de537a2d649005720"
-dependencies = [
- "cfg-if",
- "indoc",
- "inventory",
- "libc",
- "parking_lot",
- "paste",
- "pyo3-build-config",
- "pyo3-macros",
- "unindent",
-]
-
-[[package]]
-name = "pyo3-build-config"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "779239fc40b8e18bc8416d3a37d280ca9b9fb04bda54b98037bb6748595c2410"
-dependencies = [
- "once_cell",
-]
-
-[[package]]
-name = "pyo3-macros"
-version = "0.15.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67701eb32b1f9a9722b4bc54b548ff9d7ebfded011c12daece7b9063be1fd755"
-dependencies = [
- "pyo3-macros-backend",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pyo3-macros-backend"
-version = "0.15.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f44f09e825ee49a105f2c7b23ebee50886a9aee0746f4dd5a704138a64b0218a"
-dependencies = [
- "proc-macro2",
- "pyo3-build-config",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "radium"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha",
- "rand_core",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "rayon"
-version = "1.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cac410af5d00ab6884528b4ab69d1e8e146e8d471201800fa1b4524126de6ad3"
-dependencies = [
- "crossbeam-channel",
- "crossbeam-deque",
- "crossbeam-utils",
- "num_cpus",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "regex"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
-dependencies = [
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
-
-[[package]]
-name = "rustc-hash"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
-
-[[package]]
-name = "rustc_version"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
-dependencies = [
- "semver",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
-
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "scoped-tls"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "semver"
-version = "1.0.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
-
-[[package]]
-name = "serde"
-version = "1.0.152"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.152"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.91"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "sha2"
-version = "0.9.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
-dependencies = [
- "block-buffer 0.9.0",
- "cfg-if",
- "cpufeatures",
- "digest 0.9.0",
- "opaque-debug",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest 0.10.6",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "spin"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
-dependencies = [
- "lock_api",
-]
-
-[[package]]
-name = "stable_deref_trait"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
-
-[[package]]
-name = "subtle"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
-
-[[package]]
-name = "syn"
-version = "1.0.107"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "synstructure"
-version = "0.12.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "unicode-xid",
-]
-
-[[package]]
-name = "tap"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
-
-[[package]]
-name = "textwrap"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-
-[[package]]
-name = "thiserror"
-version = "1.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tiny-bip39"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861"
-dependencies = [
- "anyhow",
- "hmac 0.12.1",
- "once_cell",
- "pbkdf2",
- "rand",
- "rustc-hash",
- "sha2 0.10.2",
- "thiserror",
- "unicode-normalization",
- "wasm-bindgen",
- "zeroize",
-]
-
-[[package]]
-name = "tinytemplate"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
-dependencies = [
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
-
-[[package]]
-name = "typenum"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-
-[[package]]
-name = "unindent"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "walkdir"
-version = "2.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
-dependencies = [
- "same-file",
- "winapi",
- "winapi-util",
-]
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b608ecc8f4198fe8680e2ed18eccab5f0cd4caaf3d83516fa5fb2e927fda2586"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "580aa3a91a63d23aac5b6b267e2d13cb4f363e31dce6c352fca4752ae12e479f"
-dependencies = [
- "bumpalo",
- "lazy_static",
- "log",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16646b21c3add8e13fdb8f20172f8a28c3dbf62f45406bcff0233188226cfe0c"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "171ebf0ed9e1458810dfcb31f2e766ad6b3a89dbda42d8901f2b268277e5f09c"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c2657dd393f03aa2a659c25c6ae18a13a4048cebd220e147933ea837efc589f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.75"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e0c4a743a309662d45f4ede961d7afa4ba4131a59a639f29b0069c3798bbcc2"
-
-[[package]]
-name = "wasm-bindgen-test"
-version = "0.3.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce783b6c3854292723f498b7bfcf65a782a320b6f1cb3012d08dfbc603fa62f5"
-dependencies = [
- "console_error_panic_hook",
- "js-sys",
- "scoped-tls",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "wasm-bindgen-test-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-test-macro"
-version = "0.3.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3859815cf8435b92f3a34381bef950daffc1403bbb77ef99e35422a7b0abb194"
-dependencies = [
- "proc-macro2",
- "quote",
-]
-
-[[package]]
-name = "web-sys"
-version = "0.3.52"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01c70a82d842c9979078c772d4a1344685045f1a5628f677c2b2eab4dd7d2696"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "wyz"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
-dependencies = [
- "tap",
-]
-
-[[package]]
-name = "zeroize"
-version = "1.5.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f"
-dependencies = [
- "zeroize_derive",
-]
-
-[[package]]
-name = "zeroize_derive"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "synstructure",
-]
diff --git a/nixpkgs/pkgs/development/python-modules/chia-rs/default.nix b/nixpkgs/pkgs/development/python-modules/chia-rs/default.nix
deleted file mode 100644
index 7afec2e1a426..000000000000
--- a/nixpkgs/pkgs/development/python-modules/chia-rs/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ buildPythonPackage
-, lib
-, fetchFromGitHub
-, pytestCheckHook
-, rustPlatform
-}:
-
-buildPythonPackage rec {
-  pname = "chia-rs";
-  version = "0.2.10";
-
-  src = fetchFromGitHub {
-    owner = "chia-network";
-    repo = "chia_rs";
-    rev = "refs/tags/${version}";
-    hash = "sha256-MFVWdpfvmvGfWIuVdrigGucP52/dB4xCO4Pn1RvUJnM=";
-  };
-
-  patches = [
-    # undo a hack from upstream that confuses our build hook
-    ./fix-build.patch
-  ];
-
-  cargoDeps = rustPlatform.importCargoLock {
-    lockFile = ./Cargo.lock;
-  };
-
-  postPatch = ''
-    cp ${./Cargo.lock} Cargo.lock
-  '';
-
-  nativeBuildInputs = with rustPlatform; [
-    cargoSetupHook
-    maturinBuildHook
-  ];
-
-  preBuild = ''
-    # avoid ENOENT in maturinBuildHook
-    touch wheel/Cargo.lock
-  '';
-
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
-
-  buildAndTestSubdir = "wheel";
-
-  meta = with lib; {
-    description = "Rust crate & wheel with consensus code";
-    homepage = "https://github.com/Chia-Network/chia_rs/";
-    license = licenses.asl20;
-    maintainers = teams.chia.members;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/chia-rs/fix-build.patch b/nixpkgs/pkgs/development/python-modules/chia-rs/fix-build.patch
deleted file mode 100644
index cf793f78a744..000000000000
--- a/nixpkgs/pkgs/development/python-modules/chia-rs/fix-build.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -1,8 +1,5 @@
--# the "wheel" crate is excluded from the workspace because pyo3 has problems with
--# "cargo test" and "cargo bench"
- [workspace]
--members = ["wasm", "chia_streamable_macro", "chia-bls", "clvm-utils", "chia-protocol", "chia_py_streamable_macro"]
--exclude = ["wheel"]
-+members = ["wasm", "wheel", "chia_streamable_macro", "chia-bls", "clvm-utils", "chia-protocol", "chia_py_streamable_macro"]
- 
- [package]
- name = "chia"
diff --git a/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix b/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix
deleted file mode 100644
index d926a3e5e218..000000000000
--- a/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv
-, lib
-, buildPythonPackage
-, fetchPypi
-, cmake
-, pybind11
-, pythonOlder
-, pytestCheckHook
-, setuptools-scm
-}:
-
-buildPythonPackage rec {
-  pname = "chiabip158";
-  version = "1.3";
-  disabled = pythonOlder "3.7";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-HUgYVVQ7yc2X3ffnV7mCZf+oFUHl/29Mb4n91dRJ7gc=";
-  };
-
-  nativeBuildInputs = [ cmake setuptools-scm ];
-
-  buildInputs = [ pybind11 ];
-
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
-
-  # CMake needs to be run by setuptools rather than by its hook
-  dontConfigure = true;
-
-  meta = with lib; {
-    broken = stdenv.isDarwin;
-    description = "Chia's implementation of BIP 158";
-    homepage = "https://www.chia.net/";
-    license = licenses.asl20;
-    maintainers = teams.chia.members;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/chiapos/default.nix b/nixpkgs/pkgs/development/python-modules/chiapos/default.nix
deleted file mode 100644
index 501a8f543b2b..000000000000
--- a/nixpkgs/pkgs/development/python-modules/chiapos/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ stdenv
-, lib
-, substituteAll
-, buildPythonPackage
-, fetchPypi
-, catch2
-, cmake
-, cxxopts
-, ghc_filesystem
-, pybind11
-, pytestCheckHook
-, pythonOlder
-, psutil
-, setuptools-scm
-}:
-
-buildPythonPackage rec {
-  pname = "chiapos";
-  version = "1.0.11";
-  disabled = pythonOlder "3.7";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-TMRf9549z3IQzGt5c53Rk1Vq3tdrpZ3Pqc8jhj4AKzo=";
-  };
-
-  patches = [
-    # prevent CMake from trying to get libraries on the Internet
-    (substituteAll {
-      src = ./dont_fetch_dependencies.patch;
-      inherit cxxopts ghc_filesystem;
-      catch2_src = catch2.src;
-      pybind11_src = pybind11.src;
-    })
-  ];
-
-  nativeBuildInputs = [ cmake setuptools-scm ];
-
-  buildInputs = [ pybind11 ];
-
-  nativeCheckInputs = [
-    psutil
-    pytestCheckHook
-  ];
-
-  # A fix for cxxopts >=3.1
-  postPatch = ''
-    substituteInPlace src/cli.cpp \
-      --replace "cxxopts::OptionException" "cxxopts::exceptions::exception"
-  '';
-
-  # CMake needs to be run by setuptools rather than by its hook
-  dontConfigure = true;
-
-  meta = with lib; {
-    broken = stdenv.isDarwin;
-    description = "Chia proof of space library";
-    homepage = "https://www.chia.net/";
-    license = licenses.asl20;
-    maintainers = teams.chia.members;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch b/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch
deleted file mode 100644
index 86dfad747d85..000000000000
--- a/nixpkgs/pkgs/development/python-modules/chiapos/dont_fetch_dependencies.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d1dd25d..96abc65 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -21,23 +21,20 @@ include(${CMAKE_INSTALL_PREFIX}/share/cmake/pybind11/pybind11Config.cmake)
- else()
- FetchContent_Declare(
-   pybind11-src
--  GIT_REPOSITORY https://github.com/pybind/pybind11.git
--  GIT_TAG        v2.10.0
-+  SOURCE_DIR @pybind11_src@
- )
- FetchContent_MakeAvailable(pybind11-src)
- endif()
- 
- FetchContent_Declare(
-   cxxopts
--  GIT_REPOSITORY https://github.com/jarro2783/cxxopts.git
--  GIT_TAG        v2.2.1
-+  SOURCE_DIR @cxxopts@
- )
- FetchContent_MakeAvailable(cxxopts)
- 
- FetchContent_Declare(
-   gulrak
--  GIT_REPOSITORY https://github.com/gulrak/filesystem.git
--  GIT_TAG        v1.5.6
-+  SOURCE_DIR @ghc_filesystem@
- )
- FetchContent_MakeAvailable(gulrak)
- 
-@@ -150,8 +147,7 @@ ENDIF()
- 
- FetchContent_Declare(
-   Catch2
--  GIT_REPOSITORY https://github.com/catchorg/Catch2.git
--  GIT_TAG        v2.13.7
-+  SOURCE_DIR     @catch2_src@
- )
- FetchContent_MakeAvailable(Catch2)
- 
diff --git a/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix b/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix
deleted file mode 100644
index acd5e4ea0926..000000000000
--- a/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, fetchPypi
-, setuptools-scm
-, substituteAll
-, cmake
-, boost
-, gmp
-, pybind11
-, pytestCheckHook
-, pythonOlder
-}:
-
-buildPythonPackage rec {
-  pname = "chiavdf";
-  version = "1.0.11";
-  disabled = pythonOlder "3.8";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-PjUgpMTdWLMFQdnrpeWmn8vA8SlORjmu52ODc/2hivE=";
-  };
-
-  patches = [
-    # prevent CMake from trying to get libraries on the Internet
-    (substituteAll {
-      src = ./dont_fetch_dependencies.patch;
-      pybind11_src = pybind11.src;
-    })
-  ];
-
-  # x86 instructions are needed for this component
-  BUILD_VDF_CLIENT = lib.optionalString (!stdenv.isx86_64) "N";
-
-  nativeBuildInputs = [ cmake setuptools-scm ];
-
-  buildInputs = [ boost gmp pybind11 ];
-
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
-
-  # CMake needs to be run by setuptools rather than by its hook
-  dontConfigure = true;
-
-  meta = with lib; {
-    broken = stdenv.isDarwin;
-    description = "Chia verifiable delay function utilities";
-    homepage = "https://www.chia.net/";
-    license = licenses.asl20;
-    maintainers = teams.chia.members;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/chiavdf/dont_fetch_dependencies.patch b/nixpkgs/pkgs/development/python-modules/chiavdf/dont_fetch_dependencies.patch
deleted file mode 100644
index 1bcea2e68b31..000000000000
--- a/nixpkgs/pkgs/development/python-modules/chiavdf/dont_fetch_dependencies.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index fb92c4d..9fa52ef 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -31,8 +31,7 @@ include(FetchContent)
- 
- FetchContent_Declare(
-   pybind11-src
--  GIT_REPOSITORY https://github.com/pybind/pybind11.git
--  GIT_TAG        v2.10.0
-+  SOURCE_DIR @pybind11_src@
- )
- FetchContent_MakeAvailable(pybind11-src)
- 
diff --git a/nixpkgs/pkgs/development/python-modules/ciso8601/default.nix b/nixpkgs/pkgs/development/python-modules/ciso8601/default.nix
index 5a5a8f3246b0..e245e736ce28 100644
--- a/nixpkgs/pkgs/development/python-modules/ciso8601/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ciso8601/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "ciso8601";
-  version = "2.3.0";
+  version = "2.3.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "closeio";
     repo = "ciso8601";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qTpt91Wf3L6Jl7FU8sn9PvGMRd/cjhQ1mQvUaQeLFQU=";
+    hash = "sha256-KkMa1Rr3Z+5VnZfj25LDYpTfRyKqWA9u0vq6dZpwEy0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix b/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
index e6bff88f4321..eb6e68f1359f 100644
--- a/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
@@ -1,7 +1,8 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
+, setuptools
 , googleapis-common-protos
 , grpcio
 , protobuf
@@ -10,16 +11,22 @@
 
 buildPythonPackage rec {
   pname = "clarifai-grpc";
-  version = "9.10.0";
-  format = "setuptools";
+  version = "9.10.6";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-8jx2OP1VcQtGmen58r1k/w7srjSJC/53sNxFrRm7IXs=";
+  src = fetchFromGitHub {
+    owner = "Clarifai";
+    repo = "clarifai-python-grpc";
+    rev = "refs/tags/${version}";
+    hash = "sha256-OlSbeMBINN4gyFUklLh9zrQNv0VkRZxRwml4jbMjumE=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     googleapis-common-protos
     grpcio
diff --git a/nixpkgs/pkgs/development/python-modules/clarifai/default.nix b/nixpkgs/pkgs/development/python-modules/clarifai/default.nix
index 8f6fdc18509f..1d541e3dab72 100644
--- a/nixpkgs/pkgs/development/python-modules/clarifai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clarifai/default.nix
@@ -2,38 +2,75 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, setuptools
 , clarifai-grpc
+, numpy
+, opencv4
+, pillow
+, pyyaml
+, rich
+, schema
+, tqdm
+, tritonclient
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "clarifai";
-  version = "9.7.1";
-  format = "setuptools";
+  version = "9.10.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "Clarifai";
-    repo = "clarifai-python-utils";
+    repo = "clarifai-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-/zgHgD2kf3ZG7Mu9AEBfOwqpcD0Ye0LVrFxLeuGurCM=";
+    hash = "sha256-i/B4wtSqG/ZysAcidsXnqYPdcmu93Ufd6N9fxUmDJ2E=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     clarifai-grpc
+    numpy
+    tqdm
+    opencv4
+    tritonclient
+    rich
+    schema
+    pillow
+    pyyaml
   ];
 
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # require network access and API key
+    "test_export_workflow_general"
+  ];
+
+  disabledTestPaths = [
+    # require network access and API key
+    "tests/test_app.py"
+    "tests/test_data_upload.py"
+    "tests/test_model_predict.py"
+    "tests/test_model_train.py"
+    "tests/test_search.py"
+    "tests/workflow/test_create_delete.py"
+    "tests/workflow/test_predict.py"
+  ];
+
   pythonImportsCheck = [ "clarifai" ];
 
   meta = with lib; {
     description = "Clarifai Python Utilities";
-    homepage = "https://github.com/Clarifai/clarifai-python-utils";
-    changelog = "https://github.com/Clarifai/clarifai-python-utils/releases/tag/${src.rev}";
+    homepage = "https://github.com/Clarifai/clarifai-python";
+    changelog = "https://github.com/Clarifai/clarifai-python/releases/tag/${src.rev}";
     license = licenses.asl20;
     maintainers = with maintainers; [ natsukium ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/claripy/default.nix b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
index 52a3bf6482d0..c343f7f3e872 100644
--- a/nixpkgs/pkgs/development/python-modules/claripy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.77";
+  version = "9.2.79";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "claripy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YLa70xxLDyOOKQg/PzFO90JzS5SyvgcJ2+Nltz0q6T8=";
+    hash = "sha256-N2w4djqJ9r2inLHwhyqNVUqjrlKVo75BblN5xURkMIc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cle/default.nix b/nixpkgs/pkgs/development/python-modules/cle/default.nix
index 6b56defb4cb4..ffe235dc0b37 100644
--- a/nixpkgs/pkgs/development/python-modules/cle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cle/default.nix
@@ -16,14 +16,14 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.77";
+  version = "9.2.79";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
     owner = "angr";
     repo = "binaries";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YPxdKwR+pq0S1B9GltE8r3bFWDPpCU8OQ05w+kp4lAs=";
+    hash = "sha256-HVCKw7L5Y/4TR26mWOZ8lKhWOcq0yQqo2LWKQjVSPX4=";
   };
 
 in
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "cle";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tdfV+DoDcRO+8TjiBc0u1huA+etF4MY5uYj670lqudY=";
+    hash = "sha256-Zy62O3Mf9V7aGvQejsv4b6JVrHuDIrrqvTSs7/mVdtY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix b/nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix
index 27c0c37d2106..275f6ccc77dc 100644
--- a/nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "click-odoo-contrib";
-  version = "1.18.0";
+  version = "1.18.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dLvrj3yTgfdlW3kEmZtXri3zGlBGQZhsPHzO0rf7foQ=";
+    hash = "sha256-3gusvy3d6kgmyBY+bmXB6lbWk7qxJIuHALZtug1WLzo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix b/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix
index 0a2ffd9a59cd..35c3d7773bed 100644
--- a/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix
@@ -23,7 +23,7 @@
 }:
 buildPythonPackage rec {
   pname = "clickhouse-connect";
-  version = "0.6.18";
+  version = "0.6.21";
 
   format = "setuptools";
 
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     repo = "clickhouse-connect";
     owner = "ClickHouse";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8deiWqVRqGF8MFYe4Y/alJqudBc/vOpQAB2DGweXL5Q=";
+    hash = "sha256-gPxJKNW4JiMmIAwn4WPrzqoRPhigjMEDyCX/7jSUv0c=";
   };
 
   nativeBuildInputs = [ cython_3 ];
diff --git a/nixpkgs/pkgs/development/python-modules/cloup/default.nix b/nixpkgs/pkgs/development/python-modules/cloup/default.nix
index a05ea2d4e3b5..091677c5faf4 100644
--- a/nixpkgs/pkgs/development/python-modules/cloup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cloup/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "cloup";
-  version = "3.0.2";
+  version = "3.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zBBZYQ2B2qCMxgflbHroGfqwEPGdGfPIdc7rZ1GDrPY=";
+    hash = "sha256-5b13idF8DelxOaxeuK+ML42Wotg2PoQRIk32JaaFjSE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clvm-rs/default.nix b/nixpkgs/pkgs/development/python-modules/clvm-rs/default.nix
deleted file mode 100644
index d47e15b4c7e5..000000000000
--- a/nixpkgs/pkgs/development/python-modules/clvm-rs/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, buildPythonPackage
-, rustPlatform
-, pythonOlder
-, openssl
-, perl
-, pkgs
-}:
-
-buildPythonPackage rec {
-  pname = "clvm_rs";
-  version = "0.1.19";
-  disabled = pythonOlder "3.7";
-
-  src = fetchFromGitHub {
-    owner = "Chia-Network";
-    repo = "clvm_rs";
-    rev = version;
-    hash = "sha256-mCKY/PqNOUTaRsFDxQBvbTD6wC4qzP0uv5FldYkwl6c=";
-  };
-
-  cargoDeps = rustPlatform.fetchCargoTarball {
-    inherit src;
-    name = "${pname}-${version}";
-    hash = "sha256-TmrR8EeySsGWXohMdo3dCX4oT3l9uLVv5TUeRxCBQeE=";
-  };
-
-  format = "pyproject";
-
-  buildAndTestSubdir = "wheel";
-
-  nativeBuildInputs = [
-    perl # used by openssl-sys to configure
-  ] ++ (with rustPlatform; [
-    cargoSetupHook
-    maturinBuildHook
-  ]);
-
-  buildInputs = [ openssl ];
-
-  pythonImportsCheck = [ "clvm_rs" ];
-
-  meta = with lib; {
-    broken = stdenv.isDarwin;
-    homepage = "https://chialisp.com/";
-    description = "Rust implementation of clvm";
-    license = licenses.asl20;
-    maintainers = teams.chia.members;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/clvm-tools-rs/default.nix b/nixpkgs/pkgs/development/python-modules/clvm-tools-rs/default.nix
deleted file mode 100644
index a69362c66051..000000000000
--- a/nixpkgs/pkgs/development/python-modules/clvm-tools-rs/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib
-, fetchFromGitHub
-, buildPythonPackage
-, rustPlatform
-, pythonOlder
-}:
-
-buildPythonPackage rec {
-  pname = "clvm-tools-rs";
-  version = "0.1.30";
-  disabled = pythonOlder "3.7";
-  format = "pyproject";
-
-  src = fetchFromGitHub {
-    owner = "Chia-Network";
-    repo = "clvm_tools_rs";
-    rev = version;
-    hash = "sha256-7eGOJgcZcSGmvLJc5BVfWarcu9kQb/uEcnG70JWXDSw=";
-  };
-
-  cargoDeps = rustPlatform.fetchCargoTarball {
-    inherit src;
-    name = "${pname}-${version}";
-    hash = "sha256-46WEmp1FT6biM9A2M7z5onb45XhWjePKb6NSwLjuemc=";
-  };
-
-  nativeBuildInputs = with rustPlatform; [
-    cargoSetupHook
-    maturinBuildHook
-  ];
-
-  pythonImportsCheck = [ "clvm_tools_rs" ];
-
-  meta = with lib; {
-    homepage = "https://chialisp.com/";
-    description = "Rust port of clvm_tools";
-    license = licenses.asl20;
-    maintainers = teams.chia.members;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/clvm-tools/default.nix b/nixpkgs/pkgs/development/python-modules/clvm-tools/default.nix
deleted file mode 100644
index 9312c18ade5d..000000000000
--- a/nixpkgs/pkgs/development/python-modules/clvm-tools/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, clvm
-, clvm-tools-rs
-, setuptools-scm
-, pytestCheckHook
-}:
-
-buildPythonPackage rec {
-  pname = "clvm_tools";
-  version = "0.4.6";
-  disabled = pythonOlder "3.7";
-
-  src = fetchFromGitHub {
-    owner = "Chia-Network";
-    repo = "clvm_tools";
-    rev = version;
-    hash = "sha256-MAtVTSv1RR2/7QEKCOEQ+QH5vK4aE0Us2TXyRRAMl8U=";
-  };
-
-  nativeBuildInputs = [
-    setuptools-scm
-  ];
-
-  propagatedBuildInputs = [
-    clvm
-    clvm-tools-rs
-  ];
-
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
-
-  pythonImportsCheck = [
-    "clvm_tools"
-  ];
-
-  disabledTests = [
-    "test_cmd_unknown-1_txt"
-  ];
-
-  # give a hint to setuptools-scm on package version
-  SETUPTOOLS_SCM_PRETEND_VERSION="v${version}";
-
-  meta = with lib; {
-    description = "Tools for clvm development";
-    homepage = "https://www.chialisp.com/";
-    license = licenses.asl20;
-    maintainers = teams.chia.members;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/clvm/default.nix b/nixpkgs/pkgs/development/python-modules/clvm/default.nix
deleted file mode 100644
index a633f85b0a6e..000000000000
--- a/nixpkgs/pkgs/development/python-modules/clvm/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, blspy
-, setuptools-scm
-, pytestCheckHook
-}:
-
-buildPythonPackage rec {
-  pname = "clvm";
-  version = "0.9.7";
-  disabled = pythonOlder "3.7";
-
-  src = fetchFromGitHub {
-    owner = "Chia-Network";
-    repo = "clvm";
-    rev = version;
-    hash = "sha256-kTmuiy0IbTGjDokZjxp3p8lr/0uVxG/0pRN2hETLBtA=";
-  };
-
-  nativeBuildInputs = [
-    setuptools-scm
-  ];
-
-  # give a hint to setuptools-scm on package version
-  SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
-
-  propagatedBuildInputs = [
-    blspy
-  ];
-
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
-
-  disabledTestPaths = [
-    # all tests in this file have a circular dependency on clvm-tools
-    "tests/cmds_test.py"
-  ];
-
-  pythonImportsCheck = [
-    "clvm"
-  ];
-
-  meta = with lib; {
-    description = "Chia Lisp virtual machine";
-    homepage = "https://www.chia.net/";
-    license = licenses.asl20;
-    maintainers = teams.chia.members;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix b/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
index f2d2cc7ca976..443d24d3f695 100644
--- a/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nix-update-script
 , orjson
 , pandas
 , poetry-core
@@ -18,8 +17,8 @@
 
 buildPythonPackage rec {
   pname = "coinmetrics-api-client";
-  version = "2023.11.13.14";
-  format = "pyproject";
+  version = "2023.11.27.17";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
@@ -28,7 +27,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "coinmetrics_api_client";
-    hash = "sha256-+hX1msvm4hRl3luhMWgXcmpV2DmGI1oCknSP4QEWtxM=";
+    hash = "sha256-UDcegRnDtz6LYAN9S8wiW/TCsIsQHr5sSX+chEkeFnw=";
   };
 
   pythonRelaxDeps = [
@@ -64,7 +63,6 @@ buildPythonPackage rec {
         pandas
       ];
     };
-    updateScript = nix-update-script { };
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix b/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix
index d971c8008936..bdf74940c950 100644
--- a/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/concurrent-log-handler/default.nix
@@ -27,6 +27,6 @@ buildPythonPackage rec {
     description = "Python logging handler that allows multiple processes to safely write to the same log file concurrently";
     homepage = "https://pypi.org/project/concurrent-log-handler";
     license = licenses.asl20;
-    maintainers = teams.chia.members;
+    maintainers = [ maintainers.lourkeur ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/confection/default.nix b/nixpkgs/pkgs/development/python-modules/confection/default.nix
index 30ed7f3c682e..2e7b035de425 100644
--- a/nixpkgs/pkgs/development/python-modules/confection/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/confection/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "confection";
-  version = "0.1.3";
+  version = "0.1.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "explosion";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-PJbFv+5bT4+oF7PRAO6AGnjRhjNudiJEkPFgGSmuI8c=";
+    hash = "sha256-PWtxLcnPd7V4yeHfOl1kYPr5UeqkYCfzGE/DoL94tq0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/construct/default.nix b/nixpkgs/pkgs/development/python-modules/construct/default.nix
index f7e5616d4cde..f6c5bb50b59d 100644
--- a/nixpkgs/pkgs/development/python-modules/construct/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/construct/default.nix
@@ -1,34 +1,69 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder
-, pytestCheckHook, pytest-benchmark, numpy, arrow, ruamel-yaml
-, lz4, cloudpickle
+{ lib
+, stdenv
+, arrow
+, buildPythonPackage
+, cloudpickle
+, cryptography
+, fetchFromGitHub
+, lz4
+, numpy
+, pytestCheckHook
+, pythonOlder
+, ruamel-yaml
+, setuptools
 }:
 
 buildPythonPackage rec {
-  pname   = "construct";
-  version = "2.10.68";
+  pname = "construct";
+  version = "2.10.69";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
-  # no tests in PyPI tarball
   src = fetchFromGitHub {
-    owner  = pname;
-    repo   = pname;
-    rev    = "v${version}";
-    hash = "sha256-bp/YyRFP0rrBHPyhiqnn6o1iC5l61oedShZ2phGeqaw=";
+    owner = "construct";
+    repo = "construct";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-v1ieZytX9I2BR6UBD6TztCBT4KWtqfFZVKNtXIRNEB0=";
   };
 
-  # not an explicit dependency, but it's imported by an entrypoint
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
+    # Not an explicit dependency, but it's imported by an entrypoint
     lz4
   ];
 
-  nativeCheckInputs = [ pytestCheckHook numpy arrow ruamel-yaml cloudpickle ];
+  passthru.optional-dependencies = {
+    extras = [
+      arrow
+      cloudpickle
+      cryptography
+      numpy
+      ruamel-yaml
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
-  disabledTests = [ "test_benchmarks" ] ++ lib.optionals stdenv.isDarwin [ "test_multiprocessing" ];
+  pythonImportsCheck = [
+    "construct"
+  ];
+
+  disabledTests = [
+    "test_benchmarks"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "test_multiprocessing"
+  ];
 
   meta = with lib; {
     description = "Powerful declarative parser (and builder) for binary data";
     homepage = "https://construct.readthedocs.org/";
+    changelog = "https://github.com/construct/construct/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ bjornfor ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix b/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix
index c8cdc1c6d3d3..ba89ff24621a 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "cryptolyzer";
-  version = "0.10.3";
+  version = "0.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "CryptoLyzer";
     inherit version;
-    hash = "sha256-8jpWDd/+eEaAp8L4ySpNK91fma005cPMLgzAsSAIpKg=";
+    hash = "sha256-XiMkZeIjTAv8F84eutZoezZl4bJ2xqh4uwroDU24jjg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix b/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix
index 54be9191a259..54c5faf307d2 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "cryptoparser";
-  version = "0.11.0";
+  version = "0.12.0";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "CryptoParser";
     inherit version;
-    hash = "sha256-fgPmgZxv/UpaoeBO08xcUbPxmjVV4AUEgivNOvWxd04=";
+    hash = "sha256-E32fHcuICUMCH5NYT+oFYU7M73bvXb/g1UoJSChzOiA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cssbeautifier/default.nix b/nixpkgs/pkgs/development/python-modules/cssbeautifier/default.nix
index 390c459242ae..3144c5114fc2 100644
--- a/nixpkgs/pkgs/development/python-modules/cssbeautifier/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cssbeautifier/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "cssbeautifier";
-  version = "1.14.9";
+  version = "1.14.11";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LaQyRy9oFw64VK/5exaiRyH1CQ7javLjEZlZConn9x8=";
+    hash = "sha256-QFRMK2K7y2TKpefzegLflWVOXOG8rK2sTKHz3InDFRM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix b/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix
index f6135ecba744..3e94238709d5 100644
--- a/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix
@@ -4,9 +4,8 @@
 , fetchPypi
 , isPyPy
 , python
-, openblas
 , blas
-, lapack # build segfaults with 64-bit blas
+, lapack
 , suitesparse
 , unittestCheckHook
 , glpk ? null
@@ -30,38 +29,29 @@ buildPythonPackage rec {
     hash = "sha256-NGH6QsGyJAuk2h2YXKc1A5FBV/xMd0FzJ+1tfYWs2+Y=";
   };
 
-  buildInputs = (if stdenv.isDarwin then [ openblas ] else [ blas lapack ]);
-  doCheck = !stdenv.isDarwin;
+  buildInputs = [ blas lapack ];
 
   # similar to Gsl, glpk, fftw there is also a dsdp interface
   # but dsdp is not yet packaged in nixpkgs
-  preConfigure = (if stdenv.isDarwin then
-  ''
-    export CVXOPT_BLAS_LIB=openblas
-    export CVXOPT_LAPACK_LIB=openblas
-  ''
-  else
-  ''
-    export CVXOPT_BLAS_LIB=blas
-    export CVXOPT_LAPACK_LIB=lapack
-  '') +
-  ''
-    export CVXOPT_BUILD_DSDP=0
-    export CVXOPT_SUITESPARSE_LIB_DIR=${lib.getLib suitesparse}/lib
-    export CVXOPT_SUITESPARSE_INC_DIR=${lib.getDev suitesparse}/include
-  '' + lib.optionalString withGsl ''
-    export CVXOPT_BUILD_GSL=1
-    export CVXOPT_GSL_LIB_DIR=${lib.getLib gsl}/lib
-    export CVXOPT_GSL_INC_DIR=${lib.getDev gsl}/include
-  '' + lib.optionalString withGlpk ''
-    export CVXOPT_BUILD_GLPK=1
-    export CVXOPT_GLPK_LIB_DIR=${lib.getLib glpk}/lib
-    export CVXOPT_GLPK_INC_DIR=${lib.getDev glpk}/include
-  '' + lib.optionalString withFftw ''
-    export CVXOPT_BUILD_FFTW=1
-    export CVXOPT_FFTW_LIB_DIR=${lib.getLib fftw}/lib
-    export CVXOPT_FFTW_INC_DIR=${lib.getDev fftw}/include
-  '';
+  env = {
+    CVXOPT_BLAS_LIB = "blas";
+    CVXOPT_LAPACK_LIB = "lapack";
+    CVXOPT_BUILD_DSDP = "0";
+    CVXOPT_SUITESPARSE_LIB_DIR = "${lib.getLib suitesparse}/lib";
+    CVXOPT_SUITESPARSE_INC_DIR = "${lib.getDev suitesparse}/include";
+  } // lib.optionalAttrs withGsl {
+    CVXOPT_BUILD_GSL = "1";
+    CVXOPT_GSL_LIB_DIR= "${lib.getLib gsl}/lib";
+    CVXOPT_GSL_INC_DIR= "${lib.getDev gsl}/include";
+  } // lib.optionalAttrs withGlpk {
+    CVXOPT_BUILD_GLPK = "1";
+    CVXOPT_GLPK_LIB_DIR = "${lib.getLib glpk}/lib";
+    CVXOPT_GLPK_INC_DIR = "${lib.getDev glpk}/include";
+  } // lib.optionalAttrs withFftw {
+    CVXOPT_BUILD_FFTW = "1";
+    CVXOPT_FFTW_LIB_DIR = "${lib.getLib fftw}/lib";
+    CVXOPT_FFTW_INC_DIR = "${lib.getDev fftw}/include";
+  };
 
   nativeCheckInputs = [ unittestCheckHook ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix b/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix
index ce24c505b83b..fafc31d65882 100644
--- a/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix
@@ -32,10 +32,10 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [ pytestCheckHook ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://github.com/pytoolz/cytoolz/";
     description = "Cython implementation of Toolz: High performance functional utilities";
-    license = "licenses.bsd3";
+    license = licenses.bsd3;
     maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dash/default.nix b/nixpkgs/pkgs/development/python-modules/dash/default.nix
index 59e28a31daf4..890a6e08d7db 100644
--- a/nixpkgs/pkgs/development/python-modules/dash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dash/default.nix
@@ -5,7 +5,7 @@
 
 , nodejs
 , yarn
-, fixup_yarn_lock
+, prefetch-yarn-deps
 , fetchYarnDeps
 
 , setuptools
@@ -52,7 +52,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     nodejs
     yarn
-    fixup_yarn_lock
+    prefetch-yarn-deps
   ];
 
   yarnDeps = fetchYarnDeps {
@@ -66,7 +66,7 @@ buildPythonPackage rec {
     export HOME=$(mktemp -d)
 
     yarn config --offline set yarn-offline-mirror ${yarnDeps}
-    fixup_yarn_lock yarn.lock
+    fixup-yarn-lock yarn.lock
 
     substituteInPlace package.json --replace jlpm yarn
     yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts
diff --git a/nixpkgs/pkgs/development/python-modules/datadog/default.nix b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
index 2ec4ca43032b..311e4a0090b0 100644
--- a/nixpkgs/pkgs/development/python-modules/datadog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
@@ -62,6 +62,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    broken = true; # https://github.com/DataDog/datadogpy/issues/800
     description = "The Datadog Python library";
     homepage = "https://github.com/DataDog/datadogpy";
     changelog = "https://github.com/DataDog/datadogpy/blob/v${version}/CHANGELOG.md";
diff --git a/nixpkgs/pkgs/development/python-modules/dateparser/default.nix b/nixpkgs/pkgs/development/python-modules/dateparser/default.nix
index 3f6bfdf86d6a..b97dabbc2d91 100644
--- a/nixpkgs/pkgs/development/python-modules/dateparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dateparser/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, fetchpatch
+, setuptools
 , python-dateutil
 , pytz
 , regex
@@ -21,19 +21,23 @@
 
 buildPythonPackage rec {
   pname = "dateparser";
-  version = "1.1.8";
+  version = "1.2.0";
 
   disabled = pythonOlder "3.7";
 
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "scrapinghub";
     repo = "dateparser";
     rev = "refs/tags/v${version}";
-    hash = "sha256-52g8defF5bsisBv2QoyUymXcf0sljOI9PjeR4l0Pw6k=";
+    hash = "sha256-mnL44hojebOwP6qtEBHs5QM4uRmLuGlVNr+sM3jZEKE=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     python-dateutil
     pytz
@@ -76,6 +80,7 @@ buildPythonPackage rec {
     description = "Date parsing library designed to parse dates from HTML pages";
     homepage = "https://github.com/scrapinghub/dateparser";
     license = licenses.bsd3;
+    mainProgram = "dateparser-download";
     maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix b/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
index 930dd5618ccf..93c738314fbc 100644
--- a/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
@@ -7,6 +7,7 @@
 , click
 , colorama
 , dbt-extractor
+, dbt-semantic-interfaces
 , hologram
 , idna
 , isodate
@@ -60,6 +61,7 @@ buildPythonPackage rec {
     click
     colorama
     dbt-extractor
+    dbt-semantic-interfaces
     hologram
     idna
     isodate
diff --git a/nixpkgs/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix b/nixpkgs/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix
new file mode 100644
index 000000000000..694b2c7f7372
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dbt-semantic-interfaces/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, click
+, dateutils
+, hatchling
+, importlib-metadata
+, jinja2
+, jsonschema
+, more-itertools
+, pydantic
+, pyyaml
+, typing-extensions
+, hypothesis
+}:
+
+buildPythonPackage rec {
+  pname = "dbt-semantic-interfaces";
+  version = "0.2.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "dbt-labs";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-pnhmfj349uMjSsmdr53dY1Xur6huRKHiXWI7DXYK1gE=";
+  };
+
+  propagatedBuildInputs = [
+    click
+    dateutils
+    importlib-metadata
+    jinja2
+    jsonschema
+    more-itertools
+    pydantic
+    pyyaml
+    typing-extensions
+  ];
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    hypothesis
+  ];
+
+  pythonImportsCheck = [
+    "dbt_semantic_interfaces"
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/dbt-labs/dbt-semantic-interfaces/releases/tag/v${version}";
+    description = "shared interfaces used by dbt-core and MetricFlow projects";
+    homepage = "https://github.com/dbt-labs/dbt-semantic-interfaces";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix b/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
index 99264bbae494..233067fbbce3 100644
--- a/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "2.14.0";
+  version = "2.15.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-IT18r7LKOVuiCuE/QzW6X/jkr5EK8sSR038i4LR1bcs=";
+    hash = "sha256-TgkOE6gOFbrbHsllpAZuNNQm3EqCrWW5WSMKqW8bOuI=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/nixpkgs/pkgs/development/python-modules/deap/default.nix b/nixpkgs/pkgs/development/python-modules/deap/default.nix
index 4f0d493c0f80..ad69642a4f7b 100644
--- a/nixpkgs/pkgs/development/python-modules/deap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deap/default.nix
@@ -1,4 +1,10 @@
-{ lib, buildPythonPackage, fetchPypi, numpy, matplotlib, nose }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, matplotlib
+, numpy
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "deap";
@@ -9,19 +15,13 @@ buildPythonPackage rec {
     hash = "sha256-zAHemJLfp9G8mAPasoiS/q0XfwGCyB20c2CiQOrXeP8=";
   };
 
-  propagatedBuildInputs = [ numpy matplotlib ];
-
-  nativeCheckInputs = [ nose ];
-  checkPhase = ''
-    nosetests --verbosity=3
-  '';
+  propagatedBuildInputs = [ matplotlib numpy ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
   meta = with lib; {
-    description = "DEAP is a novel evolutionary computation framework for rapid prototyping and testing of ideas.";
+    description = "A novel evolutionary computation framework for rapid prototyping and testing of ideas";
     homepage = "https://github.com/DEAP/deap";
-    license = licenses.lgpl3;
-    maintainers = with maintainers; [ psyanticy ];
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ getpsyched psyanticy ];
   };
-
 }
-
diff --git a/nixpkgs/pkgs/development/python-modules/deepl/default.nix b/nixpkgs/pkgs/development/python-modules/deepl/default.nix
index bc674c3bf6f0..ab0e1f01ffdc 100644
--- a/nixpkgs/pkgs/development/python-modules/deepl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deepl/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "deepl";
-  version = "1.15.0";
+  version = "1.16.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BRFC4R5d1gxHyEJI41Fi0Az8GqmDG7mQ6Fx/o23OGcE=";
+    hash = "sha256-s01KhkTJ5ip6nCSs/oCgdxe9Cjsr53tjOhDV1P50jc0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix b/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix
index 203983a22896..d726dbe9831d 100644
--- a/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "devpi-common";
-  version = "4.0.2";
+  version = "4.0.3";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LSd3AfrwXUpvbL234ED5PAoAKG2+h9XAou6uuiBVkZw=";
+    hash = "sha256-+OAbT23wgPYihMzljFuxzh6GmwwjSqx60TVgl0X8Fz0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/diffsync/default.nix b/nixpkgs/pkgs/development/python-modules/diffsync/default.nix
index 26e0b58e7e21..8d4a71e89098 100644
--- a/nixpkgs/pkgs/development/python-modules/diffsync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diffsync/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "diffsync";
-  version = "1.9.0";
+  version = "1.10.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "networktocode";
     repo = "diffsync";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OopWzb02/xvASTuvg3dDTEoRwOwKOL0c3arqlsXBUuo=";
+    hash = "sha256-p7aML6dTDkF4hx67bwI29nhEHi7LIEZ5RlHPgtyQMbo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/distrax/default.nix b/nixpkgs/pkgs/development/python-modules/distrax/default.nix
index 80dc392c603d..616dbae7a4fd 100644
--- a/nixpkgs/pkgs/development/python-modules/distrax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distrax/default.nix
@@ -1,21 +1,27 @@
 { lib
-, fetchPypi
 , buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, chex
+, jaxlib
 , numpy
 , tensorflow-probability
-, chex
 , dm-haiku
 , pytestCheckHook
-, jaxlib
 }:
 
 buildPythonPackage rec {
   pname = "distrax";
-  version = "0.1.4";
+  version = "0.1.5";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-klXT5wfnWUGMrf5sQhYqz7Foc/Ou5y4GIFgtTff1ZFQ=";
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "google-deepmind";
+    repo = "distrax";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-A1aCL/I89Blg9sNmIWQru4QJteUTN6+bhgrEJPmCrM0=";
   };
 
   buildInputs = [
@@ -34,6 +40,26 @@ buildPythonPackage rec {
     "distrax"
   ];
 
+  disabledTests = [
+    # AssertionError on numerical values
+    # Reported upstream in https://github.com/google-deepmind/distrax/issues/267
+    "test_method_with_input_unnormalized_probs__with_device"
+    "test_method_with_input_unnormalized_probs__with_jit"
+    "test_method_with_input_unnormalized_probs__without_device"
+    "test_method_with_input_unnormalized_probs__without_jit"
+    "test_method_with_value_1d"
+    "test_nested_distributions__with_device"
+    "test_nested_distributions__without_device"
+    "test_nested_distributions__with_jit"
+    "test_nested_distributions__without_jit"
+    "test_stability__with_device"
+    "test_stability__with_jit"
+    "test_stability__without_device"
+    "test_stability__without_jit"
+    "test_von_mises_sample_gradient"
+    "test_von_mises_sample_moments"
+  ];
+
   disabledTestPaths = [
     # TypeErrors
     "distrax/_src/bijectors/tfp_compatible_bijector_test.py"
@@ -54,7 +80,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/deepmind/distrax";
     license = licenses.asl20;
     maintainers = with maintainers; [ onny ];
-    # Broken on all platforms (starting 2022-07-27)
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/django-auditlog/default.nix b/nixpkgs/pkgs/development/python-modules/django-auditlog/default.nix
new file mode 100644
index 000000000000..fa52f1b3d59c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-auditlog/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, setuptools-scm
+, django
+, python-dateutil
+, freezegun
+, psycopg2
+, postgresql
+, postgresqlTestHook
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "django-auditlog";
+  version = "2.2.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "jazzband";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-QHSGqtpkOgltAg+RlG/Ik3DfEjtSWt45sqlD+Zw4Bh0=";
+  };
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    django
+    python-dateutil
+  ];
+
+  nativeCheckInputs = [
+    freezegun
+    psycopg2
+    postgresql
+    postgresqlTestHook
+  ];
+
+  postgresqlTestUserOptions = "LOGIN SUPERUSER";
+
+  checkPhase = ''
+    runHook preCheck
+
+    TEST_DB_USER=$PGUSER \
+    TEST_DB_HOST=$PGHOST \
+    ${python.interpreter} runtests.py
+
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "auditlog" ];
+
+  meta = with lib; {
+    changelog = "https://github.com/jazzband/django-auditlog/blob/v${version}/CHANGELOG.md";
+    description = "A Django app that keeps a log of changes made to an object";
+    downloadPage = "https://github.com/jazzband/django-auditlog";
+    license = licenses.mit;
+    maintainers = with maintainers; [ leona ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-filter/default.nix b/nixpkgs/pkgs/development/python-modules/django-filter/default.nix
index dcbcede30563..9cfb6493e577 100644
--- a/nixpkgs/pkgs/development/python-modules/django-filter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-filter/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "django-filter";
-  version = "23.3";
+  version = "23.4";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AV/hVVguGAW0Bik0Tkps88xARQgn0pTQQLS4wXSan6Y=";
+    hash = "sha256-vtBws4NZ3OfS2+BXsWXVl3MFeYY1bLgJ3tmDs2x3qXY=";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-import-export/default.nix b/nixpkgs/pkgs/development/python-modules/django-import-export/default.nix
index 5f68c82b1f56..33e74e3c70f8 100644
--- a/nixpkgs/pkgs/development/python-modules/django-import-export/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-import-export/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "django-import-export";
-  version = "3.3.1";
+  version = "3.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "django-import-export";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-9eFBFTx+M28tbIKflldvDJW1po5ht/5FBX5ImfHGFuk=";
+    hash = "sha256-pV8esZBK1ne2Cl0NBejEi2wLu7HbqTnKG16MU/gl4Ig=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix b/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix
index 526a18136a76..799409f61966 100644
--- a/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-ipware";
-  version = "5.0.2";
+  version = "6.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qzq3ZF5nTfaCwRRqW936UVGxt7576SEIcsMVa9g2qtQ=";
+    hash = "sha256-AjM0Ht3MGd5E9GPdPlPIfvncxRn8dKmZEc6+m1gZdUk=";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-rq/default.nix b/nixpkgs/pkgs/development/python-modules/django-rq/default.nix
index e5b9c164b1ef..0be46cc32a5c 100644
--- a/nixpkgs/pkgs/development/python-modules/django-rq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-rq/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "django-rq";
-  version = "2.8.1";
+  version = "2.9.0";
   format = "setuptools";
   disabled = isPy27;
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "rq";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Rabw6FIoSg9Cj4+tRO3BmBAeo9yr8KwU5xTPFL0JkOs=";
+    hash = "sha256-qrAEBAMbw96TCS6J50RG/2fV9K2WhuXyAQevL4RSQhk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/drms/default.nix b/nixpkgs/pkgs/development/python-modules/drms/default.nix
index 913e069f4fbe..cf51ddb6b376 100644
--- a/nixpkgs/pkgs/development/python-modules/drms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/drms/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "drms";
-  version = "0.6.4";
+  version = "0.7.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fH290QRhhglkhkMrpwHUkqVuYvZ6w/MDIYo9V0queVY=";
+    hash = "sha256-BHWoyjYYxblw5I3ADqXTUzAdntLU28uk/Qv3Zm0arGo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
index 0a21a0b84fc8..3c054f1ccb0c 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
@@ -14,16 +14,16 @@
 
 buildPythonPackage rec {
   pname = "dvc-data";
-  version = "2.22.0";
-  format = "pyproject";
+  version = "2.22.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "iterative";
-    repo = pname;
+    repo = "dvc-data";
     rev = "refs/tags/${version}";
-    hash = "sha256-7T6aR1qCJm7m0AmASyJZpZtc+yXqULKc9mMcY2WYT6I=";
+    hash = "sha256-5x+I6Ds7x3JqaZ1oyddrsaX0kbMM8pO+rF3ckpRdcgc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -45,11 +45,6 @@ buildPythonPackage rec {
   # Tests depend on upath which is unmaintained and only available as wheel
   doCheck = false;
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "dvc-objects==" "dvc-objects>="
-  '';
-
   pythonImportsCheck = [
     "dvc_data"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix
index c9d0949c09d7..b2ad5f1dac0d 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-studio-client";
-  version = "0.15.0";
+  version = "0.17.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-azv9B5TiDlKzPD1+8tUOyMo8LDVgcSwiikwLrM/9ZEg=";
+    hash = "sha256-cC/OcQglVIzj4PZFhzq3cXA/4dYkY1gW9b8Ub6opZJU=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dvc/default.nix b/nixpkgs/pkgs/development/python-modules/dvc/default.nix
index 57487bbb7ad4..f7ee2eccd3df 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc/default.nix
@@ -55,14 +55,14 @@
 
 buildPythonPackage rec {
   pname = "dvc";
-  version = "3.30.1";
+  version = "3.30.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-UFAqcO6SG/1ufzylrNuOpJaH2hlIo0ZkSLEfxi8OqLw=";
+    hash = "sha256-efj2p5Tj3VWJC7o8/nLpNrkM0eZodLMsFZRcZQpLFws=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/e3-core/0001-use-distro-over-ld.patch b/nixpkgs/pkgs/development/python-modules/e3-core/0001-use-distro-over-ld.patch
new file mode 100644
index 000000000000..15548b7aec1c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/e3-core/0001-use-distro-over-ld.patch
@@ -0,0 +1,42 @@
+From 189681bbfb703a7026ca7bbb3b21ef554807b144 Mon Sep 17 00:00:00 2001
+From: tali auster <taliauster@gmail.com>
+Date: Wed, 15 Nov 2023 12:15:34 -0700
+Subject: [PATCH] use distro over ld
+
+The `ld` module (linux distribution) was renamed to `distro`, presumably
+so as not to subsume binutils name.
+
+---
+ setup.py              | 2 +-
+ src/e3/os/platform.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index c32f46f..de1ada6 100644
+--- a/setup.py
++++ b/setup.py
+@@ -25,7 +25,7 @@ for p in ("darwin", "linux", "linux2", "win32"):
+     platform_string = ":sys_platform=='%s'" % p
+     extras_require[platform_string] = ["psutil"]
+     if p in ("linux", "linux2"):
+-        extras_require[platform_string].append("ld")
++        extras_require[platform_string].append("distro")
+ 
+ # Get e3 version from the VERSION file.
+ version_file = os.path.join(os.path.dirname(__file__), "VERSION")
+diff --git a/src/e3/os/platform.py b/src/e3/os/platform.py
+index 2d4e174..a9d12d3 100644
+--- a/src/e3/os/platform.py
++++ b/src/e3/os/platform.py
+@@ -78,7 +78,7 @@ class SystemInfo:
+ 
+         # Fetch linux distribution info on linux OS
+         if cls.uname.system == "Linux":  # linux-only
+-            import ld
++            import distro as ld
+ 
+             cls.ld_info = {
+                 "name": ld.name(),
+-- 
+2.40.1
+
diff --git a/nixpkgs/pkgs/development/python-modules/e3-core/default.nix b/nixpkgs/pkgs/development/python-modules/e3-core/default.nix
new file mode 100644
index 000000000000..95759b6a096c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/e3-core/default.nix
@@ -0,0 +1,65 @@
+{ buildPythonPackage
+, colorama
+, coverage
+, distro
+, fetchFromGitHub
+, httpretty
+, lib
+, mock
+, psutil
+, pytest
+, pytest-socket
+, python-dateutil
+, pyyaml
+, requests
+, requests-toolbelt
+, stdenv
+, setuptools
+, stevedore
+, tomlkit
+, tox
+, tqdm
+, typeguard
+}:
+
+buildPythonPackage rec {
+  pname = "e3-core";
+  version = "22.3.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "AdaCore";
+    repo = "e3-core";
+    rev = "v${version}";
+    hash = "sha256-4StHOJldfeqApdF6D14Euzg9HvZ2e7G4/OQ0UrEbEIw=";
+  };
+
+  patches = [ ./0001-use-distro-over-ld.patch ];
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [
+    colorama pyyaml python-dateutil requests requests-toolbelt tqdm stevedore
+  ] ++ lib.optional stdenv.isLinux [
+    # See setup.py:24. These are required only on Linux. Darwin has its own set
+    # of requirements.
+    psutil distro
+  ];
+
+  pythonImportsCheck = [ "e3" ];
+
+  # e3-core is tested with tox; it's hard to test without internet.
+  doCheck = false;
+
+  meta = with lib; {
+    changelog = "https://github.com/AdaCore/e3-core/releases/tag/${src.rev}";
+    homepage = "https://github.com/AdaCore/e3-core/";
+    description = "Core framework for developing portable automated build systems";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ atalii ];
+    mainProgram = "e3";
+    # See the comment regarding distro and psutil. Other platforms are supported
+    # upstream, but not by this package.
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/easyenergy/default.nix b/nixpkgs/pkgs/development/python-modules/easyenergy/default.nix
index d79bdf125c63..8b6092e13c40 100644
--- a/nixpkgs/pkgs/development/python-modules/easyenergy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/easyenergy/default.nix
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "easyenergy";
-  version = "0.3.1";
-  format = "pyproject";
+  version = "1.0.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-easyenergy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-n+dF2bR4BUpQAI+M8gPvFVZ+c5cDdAVoENSGpZtbv+M=";
+    hash = "sha256-HdCrbEk1b+FZzDoMoLcNaPFEHQfDoQsePKmESM9Qhds=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/easygui/default.nix b/nixpkgs/pkgs/development/python-modules/easygui/default.nix
index 6b3c04c726f9..cfcd2ed77ad7 100644
--- a/nixpkgs/pkgs/development/python-modules/easygui/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/easygui/default.nix
@@ -21,6 +21,6 @@ buildPythonPackage rec {
     description = "Very simple, very easy GUI programming in Python";
     homepage = "https://github.com/robertlugg/easygui";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix b/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
index 9a5e3b53d94c..39ad36b70439 100644
--- a/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "edk2-pytool-library";
-  version = "0.19.5";
+  version = "0.19.6";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "tianocore";
     repo = "edk2-pytool-library";
     rev = "v${version}";
-    hash = "sha256-Gxza9bVLVVHejKNI9CQZQxfJuT71LBsxDQ8e4xAozS0=";
+    hash = "sha256-T4DVidz4Xu4M+G7CzrUxRQPotg8ciwCQfa95e0IgpkM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix b/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix
index 354f7b01af4e..ad2e3116bfc4 100644
--- a/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix
@@ -9,14 +9,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "eigenpy";
-  version = "3.1.3";
+  version = "3.1.4";
 
   src = fetchFromGitHub {
     owner = "stack-of-tasks";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-8UuJA96pkXXRKDzQTjoz7w8TQrS5+nfLdsT0j9/oqz0=";
+    hash = "sha256-+1qjyWRE6a9KOopZln/7DyTTAQchAUoqd9HT83+zVuI=";
   };
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/development/python-modules/elastic-transport/default.nix b/nixpkgs/pkgs/development/python-modules/elastic-transport/default.nix
index c4d41f7d2fac..f8645e795629 100644
--- a/nixpkgs/pkgs/development/python-modules/elastic-transport/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elastic-transport/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "elastic-transport";
-  version = "8.4.1";
+  version = "8.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "elastic";
     repo = "elastic-transport-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hrI8GJaI3K/3B0Vng0WvoabDP2Y8/60/tHNKo/Xq6JM=";
+    hash = "sha256-4W9p9niHf2EMY+sS1RCdqWndzvpz8pKrIlLo3NxJ8mk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix
index 3ab17cb180d0..b3c06adb539e 100644
--- a/nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "elasticsearch8";
-  version = "8.10.1";
+  version = "8.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-naLy7xSqHlz8QNbQhM+iydJi8m6DQqBWlDLijOOT7ak=";
+    hash = "sha256-+y9U5fscYLAfP6IhLxzUUOENaNC4i8NAPEFtVP5+HG4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/enaml/default.nix b/nixpkgs/pkgs/development/python-modules/enaml/default.nix
index 542c4907a1d4..fb192e100c5a 100644
--- a/nixpkgs/pkgs/development/python-modules/enaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/enaml/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "enaml";
-  version = "0.16.1";
+  version = "0.17.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "nucleic";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-bXbexHd/SJjfAAREhQ8V4PekI9mle3GcUPjMn0zDAyw=";
+    hash = "sha256-DYLDQ9QwdK/a8eY0bFX31UNgxm8FUOaeNAnisFcyFNI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/energyzero/default.nix b/nixpkgs/pkgs/development/python-modules/energyzero/default.nix
index e51d120e5033..0b0acc5dab06 100644
--- a/nixpkgs/pkgs/development/python-modules/energyzero/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/energyzero/default.nix
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "energyzero";
-  version = "0.5.0";
+  version = "1.0.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-energyzero";
     rev = "refs/tags/v${version}";
-    hash = "sha256-UFmchPFAO5azvLKgbKLbPooGhQ4SZHzrCe6jBo0X3bw=";
+    hash = "sha256-EsZYEc4Hf99PoP5X9LEgcGftI7597P4l1LTepTabGqU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/evohome-async/default.nix b/nixpkgs/pkgs/development/python-modules/evohome-async/default.nix
index 1f9bedd37158..17d4a688130b 100644
--- a/nixpkgs/pkgs/development/python-modules/evohome-async/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/evohome-async/default.nix
@@ -1,6 +1,7 @@
 { lib
 , aiohttp
 , buildPythonPackage
+, click
 , fetchFromGitHub
 , hatchling
 , pythonOlder
@@ -9,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "evohome-async";
-  version = "0.4.9";
+  version = "0.4.11";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -18,7 +19,7 @@ buildPythonPackage rec {
     owner = "zxdavb";
     repo = "evohome-async";
     rev = "refs/tags/${version}";
-    hash = "sha256-4AhxvUkLiej7OSj9Y19tJnVCzNlC5PF6KB5zTHN8gLA=";
+    hash = "sha256-mx4nBEgXeBxcN1pYZfTKPGbNhvSz8l38MyRRpL82lf0=";
   };
 
   nativeBuildInputs = [
@@ -27,6 +28,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
+    click
     voluptuous
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/explorerscript/default.nix b/nixpkgs/pkgs/development/python-modules/explorerscript/default.nix
index dea302fb8f3a..476c0cc433fd 100644
--- a/nixpkgs/pkgs/development/python-modules/explorerscript/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/explorerscript/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "explorerscript";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "sha256-0U5n7e/utmgOTBuTypkBMeHZR7lji6lFimSjbC7hVRM=";
+    hash = "sha256-oa9q5k3OREGn6pQiyLy22MNJTiY6Pm+xrwA4DBUhxp0=";
   };
 
   nativeBuildInputs = [
@@ -29,8 +29,8 @@ buildPythonPackage rec {
     # antlr output is rebuilt in postPatch step.
     "antlr4-python3-runtime"
     # igraph > 0.10.4 was marked as incompatible by upstream
-    # due to regression introduced in 0.10.5, which was fixed
-    # in igraph 0.10.6.
+    # due to a breaking change introduced in 0.10.5. Later versions reverted
+    # this change, and introduced a deprecation warning instead.
     #
     # https://github.com/igraph/python-igraph/issues/693
     "igraph"
@@ -61,6 +61,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/SkyTemple/explorerscript";
     description = "A programming language + compiler/decompiler for creating scripts for Pokémon Mystery Dungeon Explorers of Sky";
     license = licenses.mit;
-    maintainers = with maintainers; [ xfix ];
+    maintainers = with maintainers; [ marius851000 xfix ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix b/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix
index 642f9c6f8645..c1bee4d060df 100644
--- a/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "ezyrb";
-  version = "1.3.0.post2311";
+  version = "1.3.0.post2312";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "mathLab";
     repo = "EZyRB";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qIH/cn+QdcjfNwvokbkC+euo6RD75DrqJ5Oj6Ji/9cY=";
+    hash = "sha256-uS0/Y4luCzJ2zJ0dQ84n4AsQXGWxUv/m5/xiJGPTGDI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flask-sock/default.nix b/nixpkgs/pkgs/development/python-modules/flask-sock/default.nix
new file mode 100644
index 000000000000..36ef8a093e1e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flask-sock/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, pytestCheckHook
+, pythonOlder
+, fetchFromGitHub
+, flask
+, setuptools
+, simple-websocket
+}:
+
+buildPythonPackage rec {
+  pname = "flask-sock";
+  version = "0.7.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "miguelgrinberg";
+    repo = "flask-sock";
+    rev = "v${version}";
+    hash = "sha256-GKfOVdeLPag2IKGCWrMjQp4NTL1/9GiyLhXhf9jQKhQ=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    flask
+    simple-websocket
+  ];
+
+  pytestFlagsArray = [
+    "tests/test_flask_sock.py"
+  ];
+
+  pythonImportsCheck = [ "flask_sock" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "WebSocket support for Flask";
+    homepage = "https://github.com/miguelgrinberg/flask-sock/";
+    changelog = "https://github.com/miguelgrinberg/flask-sock/blob/main/CHANGES.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fmhoeger ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/frozendict/default.nix b/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
index 3ed26a476b6e..6bd1622fa44d 100644
--- a/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
@@ -8,18 +8,30 @@
 
 buildPythonPackage rec {
   pname = "frozendict";
-  version = "2.3.8";
+  version = "2.3.9";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Marco-Sulla";
     repo = "python-frozendict";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4a0DvZOzNJqpop7wi+FagUR+8oaekz4EDNIYdUaAWC8=";
+    hash = "sha256-wVsTsUK6TES6YLGZGcHcGufrdVQrODyXrqczae8iTJ0=";
   };
 
+  # build C version if it exists
+  preBuild = ''
+    version_str=$(python -c 'import sys; print("_".join(map(str, sys.version_info[:2])))')
+    if test -f src/frozendict/c_src/$version_str/frozendictobject.c; then
+      export CIBUILDWHEEL=1
+      export FROZENDICT_PURE_PY=0
+    else
+      export CIBUILDWHEEL=0
+      export FROZENDICT_PURE_PY=1
+    fi
+  '';
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
@@ -28,15 +40,6 @@ buildPythonPackage rec {
     "frozendict"
   ];
 
-  preCheck = ''
-    pushd test
-  '';
-
-  disabledTests = lib.optionals (pythonAtLeast "3.11") [
-    # https://github.com/Marco-Sulla/python-frozendict/issues/68
-    "test_c_extension"
-  ];
-
   meta = with lib; {
     description = "Module for immutable dictionary";
     homepage = "https://github.com/Marco-Sulla/python-frozendict";
diff --git a/nixpkgs/pkgs/development/python-modules/furo/default.nix b/nixpkgs/pkgs/development/python-modules/furo/default.nix
index 5aa3fbcc165b..ff74cbd6c9b0 100644
--- a/nixpkgs/pkgs/development/python-modules/furo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/furo/default.nix
@@ -10,16 +10,16 @@
 
 buildPythonPackage rec {
   pname = "furo";
-  version = "2023.7.26";
+  version = "2023.9.10";
   format = "wheel";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version format;
     dist = "py3";
     python = "py3";
-    hash = "sha256-HHk2kp7FfF3ezHyF8H+oss5Ta1yJE3dkzKUIvpDhHv0=";
+    hash = "sha256-UTCSU4U33FxZZpHaBuPDcHFOyZvEOGgO3B3r/7c+W/w=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gbinder-python/default.nix b/nixpkgs/pkgs/development/python-modules/gbinder-python/default.nix
index 9d9b906e2443..c481c2be6de4 100644
--- a/nixpkgs/pkgs/development/python-modules/gbinder-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gbinder-python/default.nix
@@ -33,11 +33,11 @@ buildPythonPackage rec {
 
   setupPyGlobalFlags = [ "--cython" ];
 
-  meta = with lib; {
+  meta = {
     description = "Python bindings for libgbinder";
     homepage = "https://github.com/erfanoabdi/gbinder-python";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ mcaju ];
-    platforms = platforms.linux;
+    license = lib.licenses.gpl3;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ mcaju ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix b/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix
index b62a8867698b..22426d8e97b6 100644
--- a/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix
@@ -9,12 +9,13 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "gcal-sync";
-  version = "5.0.0";
-  format = "setuptools";
+  version = "6.0.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.10";
 
@@ -22,9 +23,13 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = "gcal_sync";
     rev = "refs/tags/${version}";
-    hash = "sha256-vlPAAGY6h/nV9bNOUXharm1aeKfaL7ImzbvAPlpMV5k=";
+    hash = "sha256-i5K4kJcieugPkXIuDje8tk5TEX6EwDywUB6MByLmukA=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     ical
diff --git a/nixpkgs/pkgs/development/python-modules/gcodepy/default.nix b/nixpkgs/pkgs/development/python-modules/gcodepy/default.nix
new file mode 100644
index 000000000000..51f32d202241
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gcodepy/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "gcodepy";
+  version = "0.1.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "rmeno12";
+    repo = "gcodepy";
+    rev = "v${version}";
+    hash = "sha256-+amBkwwISPyes8ABdqgCw50Zg5ioDa46WZgQsZZgl+8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  pythonImportsCheck = [
+    "gcodepy"
+  ];
+
+  meta = with lib; {
+    description = "G-code generator for 3D printers that use Marlin Firmware";
+    homepage = "https://github.com/rmeno12/gcodepy";
+    changelog = "https://github.com/rmeno12/gcodepy/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ n00b0ss ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gekko/default.nix b/nixpkgs/pkgs/development/python-modules/gekko/default.nix
new file mode 100644
index 000000000000..a623a21eb8c4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gekko/default.nix
@@ -0,0 +1,36 @@
+{ fetchPypi
+, lib
+, buildPythonPackage
+, setuptools
+, numpy
+, wheel
+,
+}:
+buildPythonPackage rec {
+  pname = "gekko";
+  version = "1.0.6";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-WNyEdJXBXfhrD1LywBBJ3Ehk+CnUS8VYbJFK8mpKV20=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  pythonImportsCheck = [ "gekko" ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/BYU-PRISM/GEKKO";
+    description = "A Python package for machine learning and optimization";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ayes-web ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gentools/default.nix b/nixpkgs/pkgs/development/python-modules/gentools/default.nix
index c53dd68fb815..6d2ae215eafa 100644
--- a/nixpkgs/pkgs/development/python-modules/gentools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gentools/default.nix
@@ -1,31 +1,47 @@
-{ buildPythonPackage, lib, fetchFromGitHub, pytest
-, typing ? null, funcsigs ? null, pythonOlder
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, importlib-metadata
+, poetry-core
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "gentools";
   version = "1.2.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
-  # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "ariebovenberg";
-    repo = pname;
+    repo = "gentools";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-RBUIji3FOIRjfp4t7zBAVSeiWaYufz4ID8nTWmhDkf8=";
+    hash = "sha256-RBUIji3FOIRjfp4t7zBAVSeiWaYufz4ID8nTWmhDkf8=";
   };
 
-  propagatedBuildInputs =
-    lib.optionals (pythonOlder "3.5") [ typing ] ++
-    lib.optionals (pythonOlder "3.4") [ funcsigs ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  nativeCheckInputs = [ pytest ];
-  checkPhase = "pytest";
+  pythonImportCheck = [
+    "gentools"
+  ];
 
   meta = with lib; {
     description = "Tools for generators, generator functions, and generator-based coroutines";
-    license = licenses.mit;
     homepage = "https://gentools.readthedocs.io/";
+    changelog = "https://github.com/ariebovenberg/gentools/blob/v${version}/CHANGELOG.rst";
+    license = licenses.mit;
     maintainers = with maintainers; [ mredaelli ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gios/default.nix b/nixpkgs/pkgs/development/python-modules/gios/default.nix
index a872301643f4..d7f9845b3075 100644
--- a/nixpkgs/pkgs/development/python-modules/gios/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gios/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "gios";
-  version = "3.2.1";
+  version = "3.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ACWaYXAxLpqfjPG7KngFrErbMKo9iSsW2Yi8V0q9Ie0=";
+    hash = "sha256-5CiKikhIZ+1pb5/NJ2XzpG1XHrkyuW1WUvvNEpxJIcw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gitdb/default.nix b/nixpkgs/pkgs/development/python-modules/gitdb/default.nix
index d2d79697d10b..dc6be575153c 100644
--- a/nixpkgs/pkgs/development/python-modules/gitdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gitdb/default.nix
@@ -1,33 +1,57 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pytestCheckHook
+, pythonOlder
+, setuptools
 , smmap
-, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "gitdb";
-  version = "4.0.10";
-  disabled = !isPy3k;
+  version = "4.0.11";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-brmQtp304VutiZ6oaNxGVyw/dTOXNWY7gd55sG8X65o=";
+    hash = "sha256-v1QhEmE21tCvVbwefBrxw5ejT1t71553bNPol4XCsEs=";
   };
 
-  propagatedBuildInputs = [ smmap ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    smmap
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  postPatch = ''
-    substituteInPlace setup.py --replace ",<4" ""
-  '';
+  pythonImportsCheck = [
+    "gitdb"
+  ];
 
-  # Bunch of tests fail because they need an actual git repo
-  doCheck = false;
+  disabledTests = [
+    # Tests need part which are not shipped with PyPI releases
+    "test_base"
+    "test_reading"
+    "test_writing"
+    "test_correctness"
+    "test_loose_correctness"
+    "test_pack_random_access"
+    "test_pack_writing"
+    "test_stream_reading"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Git Object Database";
-    maintainers = [ ];
     homepage = "https://github.com/gitpython-developers/gitdb";
-    license = lib.licenses.bsd3;
+    changelog = "https://github.com/gitpython-developers/gitdb/releases/tag/${version}";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/githubkit/default.nix b/nixpkgs/pkgs/development/python-modules/githubkit/default.nix
new file mode 100644
index 000000000000..85509528bf35
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/githubkit/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, poetry-core
+, httpx
+, pydantic
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "githubkit";
+  version = "0.10.7";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-sKikL+761mBP7j+qugHKDQ0hVXT51FV8FYbB3ZJtweA=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    httpx
+    pydantic
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "githubkit" ];
+
+  meta = {
+    description = "GitHub SDK for Python";
+    homepage = "https://github.com/yanyongyu/githubkit";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ kranzes ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/glueviz/default.nix b/nixpkgs/pkgs/development/python-modules/glueviz/default.nix
index c6fb2859b413..2d0e927c1acc 100644
--- a/nixpkgs/pkgs/development/python-modules/glueviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glueviz/default.nix
@@ -29,7 +29,7 @@
 
 buildPythonPackage rec {
   pname = "glueviz";
-  version = "1.14.1";
+  version = "1.16.0";
 
   disabled = pythonOlder "3.7";
 
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "glue-viz";
     repo = "glue";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-pHUcvyDziE7l0foEz7cygMuAwggnIWzsQy9SFZCDkXA=";
+    sha256 = "sha256-jjDa0DxB5AJm+x8P7FiH2kqhhc/bbzjzvdC9INs69Ro=";
   };
 
   buildInputs = [ pyqt-builder ];
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
index b12ee489cc29..b45492a171f8 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
@@ -12,20 +12,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "2.11.3";
-  format = "setuptools";
+  version = "2.11.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VcqQn7w2sTpDHKfniwkwsEXDa8YIV+G1jlbPOu8NVl0=";
+    hash = "sha256-oUMXQWkwHMFI26hpe36mAyoh+bQogtyoDgTaBRactUU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-api-core
     proto-plus
@@ -58,14 +63,11 @@ buildPythonPackage rec {
     rm -r google
   '';
 
-  disabledTestPaths = [
-    # requires credentials
-    "tests/system/gapic/v1beta1/test_system_tables_client_v1.py"
-  ];
-
   disabledTests = [
-    # requires credentials
+    # Test requires credentials
     "test_prediction_client_client_info"
+    # Test requires project ID
+    "test_list_models"
   ];
 
   pythonImportsCheck = [
@@ -76,8 +78,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Cloud AutoML API client library";
-    homepage = "https://github.com/googleapis/python-automl";
-    changelog = "https://github.com/googleapis/python-automl/blob/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-automl";
+    changelog = "https://github.com/googleapis/google-cloud-python/tree/google-cloud-automl-v${version}/packages/google-cloud-automl";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
index 60988de324ad..3999f428c2b6 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-speech/default.nix
@@ -13,21 +13,24 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "2.21.1";
-  format = "setuptools";
+  version = "2.22.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-STU3XqrxhlblPiYxdwudV56Ay07Bs9Rt0jNG94mqAWo=";
+    hash = "sha256-lZKKiYaS1+qgVWbVeiE464tbkjSxw8y3LFUgce0qOrA=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     google-api-core
     proto-plus
     protobuf
-    setuptools
   ] ++ google-api-core.optional-dependencies.grpc;
 
   nativeCheckInputs = [
@@ -36,10 +39,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTestPaths = [
-    # Requrire credentials
-    "tests/system/gapic/v1/test_system_speech_v1.py"
-    "tests/system/gapic/v1p1beta1/test_system_speech_v1p1beta1.py"
+  disabledTests = [
+    # Test requires project ID
+    "test_list_phrase_set"
   ];
 
   pythonImportsCheck = [
@@ -50,8 +52,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Google Cloud Speech API client library";
-    homepage = "https://github.com/googleapis/python-speech";
-    changelog = "https://github.com/googleapis/python-speech/blob/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-speech";
+    changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-speech-v${version}/packages/google-cloud-speech/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/gotenberg-client/default.nix b/nixpkgs/pkgs/development/python-modules/gotenberg-client/default.nix
new file mode 100644
index 000000000000..751d0b742787
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gotenberg-client/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, hatchling
+, httpx
+, typing-extensions
+}:
+buildPythonPackage rec {
+  pname = "gotenberg-client";
+  version = "0.3.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "stumpylog";
+    repo = "gotenberg-client";
+    rev = "refs/tags/${version}";
+    hash = "sha256-xgkpVvklZrew+XOoqFKcbuDsTVfDda67R6YIxR3kzS8=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    httpx
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    typing-extensions
+  ] ++ httpx.optional-dependencies.http2;
+
+  pythonImportsCheck = [
+    "gotenberg_client"
+  ];
+
+  meta = with lib; {
+    description = "A Python client for interfacing with the Gotenberg API";
+    homepage = "https://github.com/stumpylog/gotenberg-client";
+    changelog = "https://github.com/stumpylog/gotenberg-client/blob/${version}/CHANGELOG.md";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ leona ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix b/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
index 9d5f406429f4..6ea7744cab6d 100644
--- a/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
@@ -34,6 +34,6 @@ buildPythonPackage rec {
     description = "Python interface to libgphoto2";
     homepage = "https://github.com/jim-easterbrook/python-gphoto2";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gridnet/default.nix b/nixpkgs/pkgs/development/python-modules/gridnet/default.nix
index 72eba9d84cf7..46a3f3f1b839 100644
--- a/nixpkgs/pkgs/development/python-modules/gridnet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gridnet/default.nix
@@ -1,28 +1,27 @@
 { lib
+, aiohttp
+, aresponses
 , buildPythonPackage
-, pythonOlder
 , fetchFromGitHub
 , poetry-core
-, aiohttp
-, yarl
-, aresponses
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
+, yarl
 }:
 
 buildPythonPackage rec {
   pname = "gridnet";
-  version = "4.3.0";
+  version = "5.0.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.9";
-
-  format = "pyproject";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-gridnet";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8R8vPVL1Iq0NneN8G2bjUOrEq96LW9Zk5RcWG/LSJTY=";
+    hash = "sha256-7tLT5sRoUjWs1DOIuUEbnJJkg9LHZqrN/eu+Mjx5Yd4=";
   };
 
   postPatch = ''
@@ -46,11 +45,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "gridnet" ];
+  pythonImportsCheck = [
+    "gridnet"
+  ];
 
   meta = with lib; {
     description = "Asynchronous Python client for NET2GRID devices";
     homepage = "https://github.com/klaasnicolaas/python-gridnet";
+    changelog = "https://github.com/klaasnicolaas/python-gridnet/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/gumath/default.nix b/nixpkgs/pkgs/development/python-modules/gumath/default.nix
index 013662314b72..7b052fa429c2 100644
--- a/nixpkgs/pkgs/development/python-modules/gumath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gumath/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage {
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'add_include_dirs = [".", "libgumath", "ndtypes/python/ndtypes", "xnd/python/xnd"] + INCLUDES' \
-                'add_include_dirs = [".", "${libndtypes}/include", "${libxnd}/include", "${libgumath}/include"]' \
+                'add_include_dirs = [".", "${libndtypes.dev}/include", "${libxnd}/include", "${libgumath}/include"]' \
       --replace 'add_library_dirs = ["libgumath", "ndtypes/libndtypes", "xnd/libxnd"] + LIBS' \
                 'add_library_dirs = ["${libndtypes}/lib", "${libxnd}/lib", "${libgumath}/lib"]' \
       --replace 'add_runtime_library_dirs = ["$ORIGIN"]' \
diff --git a/nixpkgs/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix b/nixpkgs/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix
index 5d5eb8ba9106..202678344145 100644
--- a/nixpkgs/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "ha-mqtt-discoverable";
-  version = "0.10.0";
+  version = "0.13.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "unixorn";
     repo = "ha-mqtt-discoverable";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0a39KTLZw3Y2D0TXlKCmvVeNoXAN/uLXQGDlA9iM9J0=";
+    hash = "sha256-DY2VvCxcbSO+H+SCRmIybq9fcB+areYQ+R6Js6oExjk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
index 653bf6a4b1e3..e69d51887050 100644
--- a/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2023.11.0";
+  version = "2023.11.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-QslmtmS7zrc0Vbq4XEzbx1XaeL0SuhNjyT3OPlCCf04=";
+    hash = "sha256-LB0BGj/DWjHGAFkyACkkzGY1oYNc7hJ2BeT1lHlNjqU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix b/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix
index 89f01e29d46d..50218663c43b 100644
--- a/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix
@@ -20,18 +20,6 @@ buildPythonPackage rec {
     inherit pname version;
     hash = "sha256-V/q8Xw5F9I0kB7NccxGSq8iWN2QR/n5LuDb/oD04+Q0=";
   };
-  patches = [
-    # should be included in next release
-    (fetchpatch {
-      name = "joblib-1.2.0-compat.patch";
-      url = "https://github.com/scikit-learn-contrib/hdbscan/commit/d829c639923f6866e1917e46ddbde45b513913f3.patch";
-      excludes = [
-        "docs/basic_hdbscan.rst"
-        "docs/how_hdbscan_works.rst"
-      ];
-      hash = "sha256-t0D4OsHEcMwmBZM8Mk1N0uAKi6ra+TOzEks9/efsvWI=";
-    })
-  ];
 
   pythonRemoveDeps = [ "cython" ];
   nativeBuildInputs = [ pythonRelaxDepsHook cython ];
diff --git a/nixpkgs/pkgs/development/python-modules/headerparser/default.nix b/nixpkgs/pkgs/development/python-modules/headerparser/default.nix
index 550e5e9a4626..71cad63ef70f 100644
--- a/nixpkgs/pkgs/development/python-modules/headerparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/headerparser/default.nix
@@ -1,25 +1,26 @@
 { lib
+, attrs
 , buildPythonPackage
+, deprecated
 , fetchFromGitHub
-, setuptools
 , pytest-mock
 , pytestCheckHook
 , pythonOlder
-, six
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "headerparser";
-  version = "0.4.0";
-  format = "pyproject";
+  version = "0.5.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jwodder";
-    repo = pname;
-    rev = "v${version}";
-    hash = "sha256-KJJt85iC/4oBoIelB2zUJVyHSppFem/22v6F30P5nYM=";
+    repo = "headerparser";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-CWXha7BYVO5JFuhWP8OZ95fhUsZ3Jo0cgPAM+O5bfec=";
   };
 
   nativeBuildInputs = [
@@ -27,7 +28,8 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    six
+    attrs
+    deprecated
   ];
 
   nativeCheckInputs = [
@@ -35,13 +37,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace tox.ini \
-      --replace "--cov=headerparser" "" \
-      --replace "--no-cov-on-fail" "" \
-      --replace "--flakes" ""
-  '';
-
   pythonImportsCheck = [
     "headerparser"
   ];
@@ -49,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module to parse key-value pairs in the style of RFC 822 (e-mail) headers";
     homepage = "https://github.com/jwodder/headerparser";
+    changelog = "https://github.com/wheelodex/headerparser/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ ayazhafiz ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/holidays/default.nix b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
index 164a9b869e82..31d9423ebcde 100644
--- a/nixpkgs/pkgs/development/python-modules/holidays/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "holidays";
-  version = "0.36";
+  version = "0.37";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "dr-prodigy";
     repo = "python-holidays";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pYlirojeHi10kUcjcvpfBYpIzbYmIlFgOLfy7WRhACU=";
+    hash = "sha256-3IhyHLwTPLTcyZY/9dZFmIr7Ael8I3mZrXhqYaULwY8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/html5-parser/default.nix b/nixpkgs/pkgs/development/python-modules/html5-parser/default.nix
index 561c9c97f495..67f05cb8e7f6 100644
--- a/nixpkgs/pkgs/development/python-modules/html5-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/html5-parser/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "html5-parser";
-  version = "0.4.11";
+  version = "0.4.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "kovidgoyal";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-l7cCt+zX+qOujS6noc1/p7mELqrHae3eiKQNXBxLm7o=";
+    hash = "sha256-0Qn+To/d3+HMx+KhhgJBEHVYPOfIeBnngBraY7r4uSs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/httpx-auth/default.nix b/nixpkgs/pkgs/development/python-modules/httpx-auth/default.nix
new file mode 100644
index 000000000000..5c099d91d436
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/httpx-auth/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, setuptools-scm
+, wheel
+, httpx
+, pyjwt
+, pytest-httpx
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "httpx-auth";
+  version = "0.18.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Colin-b";
+    repo = "httpx_auth";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-kK31jpS9Ax5kNkvUSbWWIC6CKdZKVJ28kLS0iuntWqg=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    httpx
+  ];
+
+  nativeCheckInputs = [
+    pyjwt
+    pytest-httpx
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "httpx_auth" ];
+
+  __darwinAllowLocalNetworking = true;
+
+  meta = with lib; {
+    description = "Authentication classes to be used with httpx";
+    homepage = "https://github.com/Colin-b/httpx_auth";
+    changelog = "https://github.com/Colin-b/httpx_auth/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/humanize/default.nix b/nixpkgs/pkgs/development/python-modules/humanize/default.nix
index 51653781c57d..ca06ac2abfd7 100644
--- a/nixpkgs/pkgs/development/python-modules/humanize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/humanize/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "humanize";
-  version = "4.8.0";
+  version = "4.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "python-humanize";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-bKTzygQtZ/0UB+zM9735a/xwH4KaoU6C8kUGurbHs2Y=";
+    hash = "sha256-sLlgR6c65RmUNZdH2pHuxzo7dm71uUZXGqzcqyxCrk4=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix b/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
index e8671529be3f..9aac09e8bff3 100644
--- a/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix
@@ -7,20 +7,25 @@
 , pythonOlder
 , requests
 , responses
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "ibm-cloud-sdk-core";
-  version = "3.17.2";
-  format = "setuptools";
+  version = "3.18.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lIpUG/Z8pVdQnSBvWyaAxfBxhyQQDBKRSi/zr3qtSV0=";
+    hash = "sha256-vytpQHYZcMFLU/yPwTWvVnxYuXCdsyFL5AOjg91Ryrs=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     pyjwt
     python-dateutil
@@ -51,6 +56,8 @@ buildPythonPackage rec {
 
   disabledTestPaths = [
     "test/test_container_token_manager.py"
+    # Tests require credentials
+    "test_integration/"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/ical/default.nix b/nixpkgs/pkgs/development/python-modules/ical/default.nix
index 8da513c5b787..b0ae3c59c6b8 100644
--- a/nixpkgs/pkgs/development/python-modules/ical/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ical/default.nix
@@ -1,5 +1,4 @@
 { lib
-, python-dateutil
 , buildPythonPackage
 , emoji
 , fetchFromGitHub
@@ -13,13 +12,15 @@
 , pytestCheckHook
 , pythonOlder
 , pythonRelaxDepsHook
+, python-dateutil
 , pyyaml
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "ical";
-  version = "5.1.1";
-  format = "setuptools";
+  version = "6.1.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.10";
 
@@ -27,11 +28,12 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ewKQzjtVgx9c6h67epgFNhY4MjR7kFNCr4EKZ+UF2xA=";
+    hash = "sha256-1tf/R9CridAdNkS6/G0C1v+lZghS7WV5MVnVuBv1zvI=";
   };
 
   nativeBuildInputs = [
     pythonRelaxDepsHook
+    setuptools
   ];
 
   pythonRelaxDeps = [
@@ -39,7 +41,6 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    emoji
     python-dateutil
     tzdata
     pydantic
@@ -47,6 +48,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    emoji
     freezegun
     pytest-asyncio
     pytest-benchmark
diff --git a/nixpkgs/pkgs/development/python-modules/id/default.nix b/nixpkgs/pkgs/development/python-modules/id/default.nix
new file mode 100644
index 000000000000..c4b59268b4bc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/id/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flit-core
+, pretend
+, pydantic
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "id";
+  version = "1.1.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "di";
+    repo = "id";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-T3p13EnXU1Efysnu1RQw5st1BgHyZNdrKtkzQSguRtM=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+    pydantic
+    requests
+  ];
+
+  nativeCheckInputs = [
+    pretend
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "id"
+  ];
+
+  meta = with lib; {
+    description = "A tool for generating OIDC identities";
+    homepage = "https://github.com/di/id";
+    changelog = "https://github.com/di/id/blob/${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/identify/default.nix b/nixpkgs/pkgs/development/python-modules/identify/default.nix
index d53408aa1aca..d754f90318cf 100644
--- a/nixpkgs/pkgs/development/python-modules/identify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/identify/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.5.31";
+  version = "2.5.32";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-rov80COnU8e6NXwHkafGGbJyhDTMLUSwxkmjmlw8QYU=";
+    hash = "sha256-fKcxK11IxC0wmpPdyGzYQViSW2rx1v9Bvc+uBvGT8kE=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/igraph/default.nix b/nixpkgs/pkgs/development/python-modules/igraph/default.nix
index e85f78d4ca5a..4aebfc1cecd1 100644
--- a/nixpkgs/pkgs/development/python-modules/igraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/igraph/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "igraph";
-  version = "0.11.2";
+  version = "0.11.3";
 
   disabled = pythonOlder "3.8";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "igraph";
     repo = "python-igraph";
     rev = "refs/tags/${version}";
-    hash = "sha256-evYnUv2PWO+LbVBBQPa708dQb8Wq8SQ92bJ6clQNV/g=";
+    hash = "sha256-Pki0ygcQeuC5E4SwhzGX7oIe9LUSgoBKiXbtcpjL3ng=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/imageio/default.nix b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
index 7a5aaaf81e68..ec4e3a3b749a 100644
--- a/nixpkgs/pkgs/development/python-modules/imageio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
@@ -2,8 +2,7 @@
 , stdenv
 , buildPythonPackage
 , pythonOlder
-, fetchPypi
-, fetchpatch
+, fetchFromGitHub
 , isPyPy
 , substituteAll
 
@@ -32,24 +31,19 @@
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.32.0";
+  version = "2.33.0";
   pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-5CWtNsYFMI2eptk+2nsJh5JgWbi4YiDhQqWZp5dRKN0=";
+  src = fetchFromGitHub {
+    owner = "imageio";
+    repo = "imageio";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-WoCycrJxo0vyV9LiWnEag1wbld3EJWu8mks8TnYt2+A=";
   };
 
-  patches = [
-    # pillow 10.1.0 compat
-    (fetchpatch {
-      name = "imageio-pillow-10.1.0-compat.patch";
-      url = "https://github.com/imageio/imageio/commit/f58379c1ae7fbd1da8689937b39e499e2d225740.patch";
-      hash = "sha256-jPSl/EUe69Dizkv8CqWpnm+TDPtF3VX2DkHOCEuYTLA=";
-    })
-  ] ++ lib.optionals (!stdenv.isDarwin) [
+  patches = lib.optionals (!stdenv.isDarwin) [
     (substituteAll {
       src = ./libgl-path.patch;
       libgl = "${libGL.out}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}";
@@ -119,6 +113,16 @@ buildPythonPackage rec {
     "tests/test_swf.py"
   ];
 
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # Segmentation fault
+    "test_bayer_write"
+    # RuntimeError: No valid H.264 encoder was found with the ffmpeg installation
+    "test_writer_file_properly_closed"
+    "test_writer_pixelformat_size_verbose"
+    "test_writer_ffmpeg_params"
+    "test_reverse_read"
+  ];
+
   meta = with lib; {
     description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats";
     homepage = "https://imageio.readthedocs.io";
diff --git a/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix b/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
index 94f2257cc12c..6f9182bc1220 100644
--- a/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "1.4.0";
+  version = "1.5.0";
 
   disabled = pythonOlder "3.5";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bTYfAXc/2bRj8TBd9mmg0EGjUcUu6aiZXl8MF0+1xcs=";
+    hash = "sha256-kY6Y8Uu1HwSkcmlKL5+zPh4n+4mofX2aoPVXAZvInlI=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch b/nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch
index 139eafd63ced..28d334a71e6b 100644
--- a/nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch
+++ b/nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch
@@ -1,8 +1,8 @@
 diff --git a/src/img2pdf.py b/src/img2pdf.py
-index 036232b..d2e7829 100755
+index f89670b..01ec4d3 100755
 --- a/src/img2pdf.py
 +++ b/src/img2pdf.py
-@@ -3815,14 +3815,7 @@ def gui():
+@@ -3841,17 +3841,7 @@ def validate_icc(fname):
  
  
  def get_default_icc_profile():
@@ -11,8 +11,11 @@ index 036232b..d2e7829 100755
 -        "/usr/share/color/icc/OpenICC/sRGB.icc",
 -        "/usr/share/color/icc/colord/sRGB.icc",
 -    ]:
--        if os.path.exists(profile):
--            return profile
+-        if not os.path.exists(profile):
+-            continue
+-        if not file_is_icc(profile):
+-            continue
+-        return profile
 -    return "/usr/share/color/icc/sRGB.icc"
 +    return "@srgbProfile@"
  
diff --git a/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix b/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix
index a94681ada0f1..3bfbb03fc675 100644
--- a/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "img2pdf";
-  version = "0.5.0";
+  version = "0.5.1";
   disabled = isPy27;
 
   pyproject = true;
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "josch";
     repo = "img2pdf";
     rev = version;
-    hash = "sha256-k0GqBTS8PvYDmjzyLCSdQB7oBakrEQYJcQykDNrzgcA=";
+    hash = "sha256-mrNTc37GrHTc7NW0sYI1FlAOlnvXum02867enqHsAEQ=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/importlab/default.nix b/nixpkgs/pkgs/development/python-modules/importlab/default.nix
index 5b572e50f1cb..8fd01ca7008e 100644
--- a/nixpkgs/pkgs/development/python-modules/importlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/importlab/default.nix
@@ -1,20 +1,18 @@
 { stdenv
 , lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , networkx
 , pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "importlab";
-  version = "0.7";
+  version = "0.8.1";
 
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = "importlab";
-    rev = "676d17cd41ac68de6ebb48fb71780ad6110c4ae3";
-    hash = "sha256-O8y1c65NQ+19BnGnUnWrA0jYUqF+726CFAcWzHFOiHE=";
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-s4k4U7H26wJ9pQnDtA5nh+ld1mtLZvGzYTqtd1VuFGU=";
   };
 
   propagatedBuildInputs = [ networkx ];
@@ -23,10 +21,12 @@ buildPythonPackage {
 
   disabledTestPaths = [ "tests/test_parsepy.py" ];
 
+  # Test fails on darwin filesystem
+  disabledTests = [ "testIsDir" ];
+
   pythonImportsCheck = [ "importlab" ];
 
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "A library that automatically infers dependencies for Python files";
     homepage = "https://github.com/google/importlab";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/jplephem/default.nix b/nixpkgs/pkgs/development/python-modules/jplephem/default.nix
index dfb0594151ef..d945d9c11c56 100644
--- a/nixpkgs/pkgs/development/python-modules/jplephem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jplephem/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jplephem";
-  version = "2.19";
+  version = "2.20";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wWJFTGVtblID/5cB2CZnH6+fMgnZccu2jdtGAD3/bc8=";
+    hash = "sha256-u5htUI6kbGiTaomWiaZE21+grznJpQRCIImgA+yg4fo=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/junit2html/default.nix b/nixpkgs/pkgs/development/python-modules/junit2html/default.nix
index 744456950354..bc21fdb74bf7 100644
--- a/nixpkgs/pkgs/development/python-modules/junit2html/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/junit2html/default.nix
@@ -1,12 +1,10 @@
 { lib
-, fetchPypi
 , buildPythonPackage
-, nix-update-script
-
-, setuptools
-, wheel
-
+, fetchPypi
 , jinja2
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -14,27 +12,31 @@ buildPythonPackage rec {
   version = "30.1.3";
   pyproject = true;
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-1q6KpKdrZvp8XvxGCkoorlZDDgvGg/imTX8+NEOBbWs=";
   };
 
-  passthru.updateScript = nix-update-script { };
-
   nativeBuildInputs = [
     setuptools
-    wheel
   ];
 
   propagatedBuildInputs = [
     jinja2
   ];
 
-  pythonImportsCheck = [ "junit2htmlreport" ];
+  # Tests are not shipped with PyPi and source is not tagged
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "junit2htmlreport"
+  ];
 
   meta = with lib; {
     description = "Generate HTML reports from Junit results";
-    homepage = "https://pypi.org/project/junit2html/";
+    homepage = "https://gitlab.com/inorton/junit2html";
     license = licenses.mit;
     maintainers = with maintainers; [ otavio ];
     mainProgram = "junit2html";
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix
index fb5880a4f226..120585896600 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix
@@ -5,21 +5,22 @@
 , hatchling
 , platformdirs
 , traitlets
+, pip
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "jupyter-core";
-  version = "5.3.1";
+  version = "5.5.0";
   disabled = pythonOlder "3.7";
 
-  format = "pyproject";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "jupyter";
     repo = "jupyter_core";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kQ7oNEC5L19PTPaX6C2bP5FYuzlsFsS0TABsw6VvoL8=";
+    hash = "sha256-GufCQUkR4283xMsyrbv5tDfJ8SeL35WBW5Aw2z6Ardc=";
   };
 
   patches = [
@@ -36,6 +37,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    pip
     pytestCheckHook
   ];
 
@@ -43,6 +45,11 @@ buildPythonPackage rec {
     export HOME=$TMPDIR
   '';
 
+  pytestFlagsArray = [
+    # suppress pytest.PytestUnraisableExceptionWarning: Exception ignored in: <socket.socket fd=-1, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0>
+    "-W ignore::pytest.PytestUnraisableExceptionWarning"
+  ];
+
   disabledTests = [
     # creates a temporary script, which isn't aware of PYTHONPATH
     "test_argv0"
@@ -57,7 +64,8 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Base package on which Jupyter projects rely";
     homepage = "https://jupyter.org/";
+    changelog = "https://github.com/jupyter/jupyter_core/blob/${src.rev}/CHANGELOG.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh ];
+    maintainers = teams.jupyter.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-core/tests_respect_pythonpath.patch b/nixpkgs/pkgs/development/python-modules/jupyter-core/tests_respect_pythonpath.patch
index eb061676c0e2..48b44ad56e70 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-core/tests_respect_pythonpath.patch
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-core/tests_respect_pythonpath.patch
@@ -1,8 +1,8 @@
-diff --git a/jupyter_core/tests/test_command.py b/jupyter_core/tests/test_command.py
-index 4ef38cd..08fba22 100644
---- a/jupyter_core/tests/test_command.py
-+++ b/jupyter_core/tests/test_command.py
-@@ -174,7 +174,7 @@ def test_not_on_path(tmpdir):
+diff --git a/tests/test_command.py b/tests/test_command.py
+index a0833c1..67c2110 100644
+--- a/tests/test_command.py
++++ b/tests/test_command.py
+@@ -191,7 +191,7 @@ def test_not_on_path(tmpdir):
      witness_src = "#!{}\n{}\n".format(sys.executable, 'print("WITNESS ME")')
      write_executable(witness, witness_src)
  
@@ -11,7 +11,7 @@ index 4ef38cd..08fba22 100644
      if "SYSTEMROOT" in os.environ:  # Windows http://bugs.python.org/issue20614
          env["SYSTEMROOT"] = os.environ["SYSTEMROOT"]
      if sys.platform == "win32":
-@@ -198,7 +198,7 @@ def test_path_priority(tmpdir):
+@@ -216,7 +216,7 @@ def test_path_priority(tmpdir):
      witness_b_src = "#!{}\n{}\n".format(sys.executable, 'print("WITNESS B")')
      write_executable(witness_b, witness_b_src)
  
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix
index 98e6ea22df6e..28aa80927763 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 
 # build
 , hatchling
@@ -9,6 +10,7 @@
 , jsonschema
 , python-json-logger
 , pyyaml
+, referencing
 , traitlets
 
 # optionals
@@ -23,14 +25,16 @@
 
 buildPythonPackage rec {
   pname = "jupyter-events";
-  version = "0.7.0";
-  format = "pyproject";
+  version = "0.9.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "jupyter";
     repo = "jupyter_events";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hOx2/WiFpDjtmP+qC6Ew2VY4/gdvXuv2k76qtmS+61M=";
+    hash = "sha256-LDj6dTtq3npJxLKBQEEwGQFeDPvWF2adHeJhOai2MRU=";
   };
 
   nativeBuildInputs = [
@@ -41,9 +45,9 @@ buildPythonPackage rec {
     jsonschema
     python-json-logger
     pyyaml
+    referencing
     traitlets
   ]
-  ++ jsonschema.optional-dependencies.format
   ++ jsonschema.optional-dependencies.format-nongpl;
 
   passthru.optional-dependencies = {
@@ -63,6 +67,10 @@ buildPythonPackage rec {
     export PATH="$out/bin:$PATH"
   '';
 
+  pythonImportsCheck = [
+    "jupyter_events"
+  ];
+
   meta = with lib; {
     changelog = "https://github.com/jupyter/jupyter_events/releases/tag/v${version}";
     description = "Configurable event system for Jupyter applications and extensions";
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix
index fbb9f0cacd83..5a61b06c5026 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix
@@ -34,14 +34,14 @@
 
 buildPythonPackage rec {
   pname = "jupyter-server";
-  version = "2.7.3";
+  version = "2.10.1";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "jupyter_server";
     inherit version;
-    hash = "sha256-1JFshYHE67xTTOvaqOyiR42fO/3Yjq4p/KsBIOrFdkk=";
+    hash = "sha256-5tomV6lUp4ee7SjMCOCBewH/2B1+q4Y0ZgOXtV+SZHI=";
   };
 
   nativeBuildInputs = [
@@ -90,9 +90,9 @@ buildPythonPackage rec {
   '';
 
   disabledTests = [
-    "test_server_extension_list"
     "test_cull_idle"
     "test_server_extension_list"
+    "test_subscribe_websocket"
   ] ++ lib.optionals stdenv.isDarwin [
     # attempts to use trashcan, build env doesn't allow this
     "test_delete"
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
index 626130398121..5f298922cfe6 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
@@ -205,6 +205,7 @@ buildPythonPackage rec {
     homepage = "https://jupyter.org/";
     changelog = "https://github.com/jupyterhub/jupyterhub/blob/${version}/docs/source/reference/changelog.md";
     license = licenses.bsd3;
+    maintainers = teams.jupyter.members;
     # darwin: E   OSError: dlopen(/nix/store/43zml0mlr17r5jsagxr00xxx91hz9lky-openpam-20170430/lib/libpam.so, 6): image not found
     broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix
index 7c0522c75401..512c79947457 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix
@@ -1,34 +1,41 @@
 { lib
-, stdenv
 , buildPythonPackage
 , fetchPypi
 , git
 , jupyter-server
-, jupyter-packaging
+, hatch-jupyter-builder
+, hatch-nodejs-version
+, hatchling
 , jupyterlab
 , nbdime
 , nbformat
 , pexpect
 , pytest-asyncio
+, pytest-jupyter
 , pytest-tornasync
 , pytestCheckHook
 , pythonOlder
+, traitlets
 }:
 
 buildPythonPackage rec {
   pname = "jupyterlab-git";
-  version = "0.42.0";
+  version = "0.50.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "jupyterlab_git";
     inherit version;
-    hash = "sha256-GFnox6KnwKWFqsUWY0QYzMShXlH9KFSY3rRJA4RAiCk=";
+    hash = "sha256-CYWVRtOQE067kYqWXCw/4mBf6v4yfPYWFb592Qtb37s=";
   };
 
   nativeBuildInputs = [
-    jupyter-packaging
+    hatch-jupyter-builder
+    hatch-nodejs-version
+    hatchling
+    jupyterlab
   ];
 
   propagatedBuildInputs = [
@@ -37,17 +44,20 @@ buildPythonPackage rec {
     git
     nbformat
     pexpect
+    traitlets
   ];
 
   nativeCheckInputs = [
     jupyterlab
     pytest-asyncio
+    pytest-jupyter
     pytest-tornasync
     pytestCheckHook
   ];
 
-  # All Tests on darwin fail or are skipped due to sandbox
-  doCheck = !stdenv.isDarwin;
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
 
   disabledTestPaths = [
     "jupyterlab_git/tests/test_handlers.py"
@@ -67,9 +77,12 @@ buildPythonPackage rec {
     "jupyterlab_git"
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with lib; {
     description = "Jupyter lab extension for version control with Git";
     homepage = "https://github.com/jupyterlab/jupyterlab-git";
+    changelog = "https://github.com/jupyterlab/jupyterlab-git/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ chiroptical ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/keyring/default.nix b/nixpkgs/pkgs/development/python-modules/keyring/default.nix
index 1905434759a2..28df79fb9998 100644
--- a/nixpkgs/pkgs/development/python-modules/keyring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keyring/default.nix
@@ -3,7 +3,9 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, installShellFiles
 , setuptools-scm
+, shtab
 , importlib-metadata
 , dbus-python
 , jaraco-classes
@@ -14,17 +16,19 @@
 
 buildPythonPackage rec {
   pname = "keyring";
-  version = "24.2.0";
-  format = "pyproject";
+  version = "24.3.0";
+  pyproject = true;
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ygdGoZ7EISGfTXE/hI+il6ZhqKjBUEhn5Vv7XgkJFQk=";
+    hash = "sha256-5zDs/9MJZYoI7oJTWjtexLTIZpqb4R77ZiSdjgrrmiU=";
   };
 
   nativeBuildInputs = [
+    installShellFiles
     setuptools-scm
+    shtab
   ];
 
   propagatedBuildInputs = [
@@ -36,6 +40,12 @@ buildPythonPackage rec {
     importlib-metadata
   ];
 
+  postInstall = ''
+    installShellCompletion --cmd keyring \
+      --bash <($out/bin/keyring --print-completion bash) \
+      --zsh <($out/bin/keyring --print-completion zsh)
+  '';
+
   pythonImportsCheck = [
     "keyring"
     "keyring.backend"
@@ -56,6 +66,7 @@ buildPythonPackage rec {
     homepage    = "https://github.com/jaraco/keyring";
     changelog   = "https://github.com/jaraco/keyring/blob/v${version}/NEWS.rst";
     license     = licenses.mit;
+    mainProgram = "keyring";
     maintainers = with maintainers; [ lovek323 dotlambda ];
     platforms   = platforms.unix;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix b/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix
index 4a640d7b1b7c..f15e65a32b57 100644
--- a/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/default.nix
@@ -50,6 +50,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/frispete/keyrings.cryptfile";
     changelog = "https://github.com/frispete/keyrings.cryptfile/blob/v${version}/CHANGES.md";
     license = licenses.mit;
-    maintainers = teams.chia.members;
+    maintainers = [ maintainers.lourkeur ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/fix-testsuite.patch b/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/fix-testsuite.patch
deleted file mode 100644
index 8e32a64e5292..000000000000
--- a/nixpkgs/pkgs/development/python-modules/keyrings-cryptfile/fix-testsuite.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/setup.cfg b/setup.cfg
-index ec7eb30..7ffd831 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -5,9 +5,6 @@ dists = clean --all sdist bdist_wheel
- [wheel]
- universal = 1
- 
--[tool:pytest]
--addopts = -s --cov=keyrings/cryptfile
--
- [egg_info]
- tag_build = 
- tag_date = 0
diff --git a/nixpkgs/pkgs/development/python-modules/keyrings-google-artifactregistry-auth/default.nix b/nixpkgs/pkgs/development/python-modules/keyrings-google-artifactregistry-auth/default.nix
index 82938b33f27a..b9204cbdabe7 100644
--- a/nixpkgs/pkgs/development/python-modules/keyrings-google-artifactregistry-auth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keyrings-google-artifactregistry-auth/default.nix
@@ -4,6 +4,7 @@
 , google-auth
 , keyring
 , pluggy
+, pythonOlder
 , requests
 , setuptools-scm
 , toml
@@ -11,11 +12,15 @@
 
 buildPythonPackage rec {
   pname = "keyrings.google-artifactregistry-auth";
-  version = "1.1.1";
+  version = "1.1.2";
+
+  disabled = pythonOlder "3.6";
+
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vrA3+/awws4R2BAxn9wYDKuIZdqioWsQnDr3MYL/5E0=";
+    hash = "sha256-vWq7cnQNLf60pcA8OxBcb326FpyqKd7jlZaU8fAsd94=";
   };
 
   buildInputs = [
@@ -34,8 +39,11 @@ buildPythonPackage rec {
     "keyrings.gauth"
   ];
 
+  # upstream has no tests
+  doCheck = false;
 
   meta = with lib; {
+    changelog = "https://github.com/GoogleCloudPlatform/artifact-registry-python-tools/blob/main/HISTORY.md";
     description = "Python package which allows you to configure keyring to interact with Python repositories stored in Artifact Registry";
     homepage = "https://pypi.org/project/keyrings.google-artifactregistry-auth";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/python-modules/keyrings-passwordstore/default.nix b/nixpkgs/pkgs/development/python-modules/keyrings-passwordstore/default.nix
index f7f5cf0aef2c..db8d934c9300 100644
--- a/nixpkgs/pkgs/development/python-modules/keyrings-passwordstore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keyrings-passwordstore/default.nix
@@ -34,5 +34,6 @@ buildPythonPackage rec {
     description = "Keyring backend for password-store";
     homepage = "https://github.com/stv0g/keyrings.passwordstore";
     maintainers = [ lib.maintainers.shlevy ];
+    broken = true; # https://github.com/stv0g/keyrings.passwordstore/issues/2
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/labelbox/default.nix b/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
index c0b635abf460..cf71b36b3c2b 100644
--- a/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
@@ -1,5 +1,4 @@
 { lib
-, backoff
 , buildPythonPackage
 , fetchFromGitHub
 , geojson
@@ -7,21 +6,17 @@
 , imagesize
 , nbconvert
 , nbformat
-, ndjson
 , numpy
-, opencv
-  # , opencv-python
+, opencv4
 , packaging
 , pillow
 , pydantic
-  # , pygeotile
 , pyproj
-, pytest-cases
 , pytestCheckHook
+, python-dateutil
 , pythonOlder
-, pythonRelaxDepsHook
-, rasterio
 , requests
+, setuptools
 , shapely
 , tqdm
 , typeguard
@@ -30,8 +25,8 @@
 
 buildPythonPackage rec {
   pname = "labelbox";
-  version = "3.52.0";
-  format = "setuptools";
+  version = "3.56.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -39,7 +34,7 @@ buildPythonPackage rec {
     owner = "Labelbox";
     repo = "labelbox-python";
     rev = "refs/tags/v.${version}";
-    hash = "sha256-t0Q+6tnUPK2oqjdAwwYeSebgn2EQ1fBivw115L8ndOg=";
+    hash = "sha256-JRh14XpW/iGeBWrslm7weCP/vyJ7eZICqRgQpE2wjXs=";
   };
 
   postPatch = ''
@@ -48,18 +43,13 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
-    pythonRelaxDepsHook
-  ];
-
-  pythonRelaxDeps = [
-    "backoff"
+    setuptools
   ];
 
   propagatedBuildInputs = [
-    backoff
     google-api-core
-    ndjson
     pydantic
+    python-dateutil
     requests
     tqdm
   ];
@@ -70,7 +60,7 @@ buildPythonPackage rec {
       geojson
       numpy
       pillow
-      # opencv-python
+      opencv4
       typeguard
       imagesize
       pyproj
@@ -83,10 +73,15 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     nbconvert
     nbformat
-    pytest-cases
     pytestCheckHook
   ] ++ passthru.optional-dependencies.data;
 
+  # disable pytest_plugins which requires `pygeotile`
+  preCheck = ''
+    substituteInPlace tests/conftest.py \
+      --replace "pytest_plugins" "_pytest_plugins"
+  '';
+
   disabledTestPaths = [
     # Requires network access
     "tests/integration"
@@ -94,11 +89,6 @@ buildPythonPackage rec {
     "tests/data"
   ];
 
-  pytestFlagsArray = [
-    # see tox.ini
-    "-k 'not notebooks'"
-  ];
-
   pythonImportsCheck = [
     "labelbox"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/latexify-py/default.nix b/nixpkgs/pkgs/development/python-modules/latexify-py/default.nix
index cecba90e33ea..f56055e55fd7 100644
--- a/nixpkgs/pkgs/development/python-modules/latexify-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/latexify-py/default.nix
@@ -9,8 +9,8 @@
 
 buildPythonPackage rec {
   pname = "latexify-py";
-  version = "0.3.1";
-  format = "pyproject";
+  version = "0.4.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = "latexify_py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uWSLs7Dem+cj93RWIincCXzPkjZUwQskpDac/L+fgjQ=";
+    hash = "sha256-sxXfm4zJJT+94jcSsYH7Ky3XwFOniSNxvcVUAsgz8u0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ldfparser/default.nix b/nixpkgs/pkgs/development/python-modules/ldfparser/default.nix
new file mode 100644
index 000000000000..f71543c828bb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ldfparser/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, bitstruct
+, buildPythonPackage
+, fetchFromGitHub
+, jinja2
+, jsonschema
+, lark
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "ldfparser";
+  version = "0.21.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "c4deszes";
+    repo = "ldfparser";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-4uwze9TJYmNvhDiKYyUX6Ya+eQb0mbpQQaawUWmO3Gs=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    bitstruct
+    jinja2
+    lark
+  ];
+
+  nativeCheckInputs = [
+    jsonschema
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ldfparser"
+  ];
+
+  disabledTestPaths = [
+    # We don't care about benchmarks
+    "tests/test_performance.py"
+  ];
+
+  meta = with lib; {
+    description = "LIN Description File parser written in Python";
+    homepage = "https://github.com/c4deszes/ldfparser";
+    changelog = "https://github.com/c4deszes/ldfparser/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/linknlink/default.nix b/nixpkgs/pkgs/development/python-modules/linknlink/default.nix
index 59c02c466093..7bd25ff01545 100644
--- a/nixpkgs/pkgs/development/python-modules/linknlink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/linknlink/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "linknlink";
-  version = "0.1.1";
+  version = "0.1.9";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "xuanxuan000";
     repo = "python-linknlink";
     rev = "refs/tags/${version}";
-    hash = "sha256-pr0FwNweg7hFcvaOHQyXjIzH1L6Q4q/1llwfdl9k0Sk=";
+    hash = "sha256-msKunZsAxA9xpCJmG4MVXuJDMEqrCeShvAqOw8zjSPM=";
   };
 
   nativeBuildInputs = [
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module and CLI for controlling Linklink devices locally";
     homepage = "https://github.com/xuanxuan000/python-linknlink";
-    changelog = "";
+    changelog = "https://github.com/xuanxuan000/python-linknlink/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/localstack/default.nix b/nixpkgs/pkgs/development/python-modules/localstack/default.nix
index 03af7530a26b..663b20e5355f 100644
--- a/nixpkgs/pkgs/development/python-modules/localstack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/localstack/default.nix
@@ -20,13 +20,13 @@
 
 buildPythonPackage rec {
   pname = "localstack";
-  version = "2.3.2";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "localstack";
     repo = "localstack";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8HrPnMmzoxgAhu3Qm18FBJ3kNoGOD7bGmI1t7tcETwM=";
+    hash = "sha256-N/Mc1bubCcq38VxUqkO9LGG25pEetEyJ+VJMdg/7hrU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/lpc-checksum/default.nix b/nixpkgs/pkgs/development/python-modules/lpc-checksum/default.nix
new file mode 100644
index 000000000000..2ebdba9fe095
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/lpc-checksum/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+, intelhex
+}:
+
+buildPythonPackage rec {
+  pname = "lpc-checksum";
+  version = "3.0.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "basilfx";
+    repo = "lpc_checksum";
+    rev = "v${version}";
+    hash = "sha256-POgV0BdkMLmdjBh/FToPPmJTAxsPASB7ZE32SqGGKHk=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+    pytestCheckHook
+  ];
+
+  propagatedBuildInputs = [
+    intelhex
+  ];
+
+  pythonImportsCheck = [ "lpc_checksum" ];
+
+  meta = with lib; {
+    description = "Python script to calculate LPC firmware checksums";
+    homepage = "https://pypi.org/project/lpc-checksum/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ otavio ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/manuf/default.nix b/nixpkgs/pkgs/development/python-modules/manuf/default.nix
index 6d237ab396fd..19b98a12a17c 100644
--- a/nixpkgs/pkgs/development/python-modules/manuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/manuf/default.nix
@@ -29,7 +29,8 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    cat ${wireshark-cli}/share/wireshark/{manuf,wka} > manuf/manuf
+    ${lib.getExe wireshark-cli} -G manuf > manuf/manuf
+    cat ${wireshark-cli}/share/wireshark/wka >> manuf/manuf
   '';
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix b/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix
index f898acad5144..d61ddf90362d 100644
--- a/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix
@@ -1,31 +1,32 @@
 { lib
 , buildPythonPackage
+, ciso8601
 , fetchFromGitHub
-, pythonOlder
-, setuptools
-, typing-extensions
-, orjson
 , msgpack
-, pyyaml
-, tomli-w
-, tomli
-, pytestCheckHook
-, ciso8601
+, orjson
 , pendulum
 , pytest-mock
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, setuptools
+, tomli
+, tomli-w
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "mashumaro";
-  version = "3.10";
-  format = "pyproject";
-  disabled = pythonOlder "3.7";
+  version = "3.11";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "Fatal1ty";
-    repo = pname;
+    repo = "mashumaro";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PvMEwIxurDGwYMCmNFThedxDY4vwATHYwMlXkucNuwM=";
+    hash = "sha256-7gRbTNNK8elWsL0ub7c/EeswIk4xxJOxKVk8HmvWMZA=";
   };
 
   nativeBuildInputs = [
@@ -37,10 +38,20 @@ buildPythonPackage rec {
   ];
 
   passthru.optional-dependencies = {
-    orjson = [ orjson ];
-    msgpack = [ msgpack ];
-    yaml = [ pyyaml ];
-    toml = [ tomli-w ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
+    orjson = [
+      orjson
+    ];
+    msgpack = [
+      msgpack
+    ];
+    yaml = [
+      pyyaml
+    ];
+    toml = [
+      tomli-w
+    ] ++ lib.optionals (pythonOlder "3.11") [
+      tomli
+    ];
   };
 
   nativeCheckInputs = [
@@ -55,7 +66,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Fast and well tested serialization library on top of dataclasses";
+    description = "Serialization library on top of dataclasses";
     homepage = "https://github.com/Fatal1ty/mashumaro";
     changelog = "https://github.com/Fatal1ty/mashumaro/releases/tag/v${version}";
     license = licenses.asl20;
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix
index b073bb83a595..333cb5651130 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "mdformat-frontmatter";
-  version = "2.0.1";
-  format = "pyproject";
+  version = "2.0.8";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "butler54";
-    repo = pname;
+    repo = "mdformat-frontmatter";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PhT5whtvvcYSs5gHQEsIvV1evhx7jR+3DWFMHrF0uMw=";
+    hash = "sha256-2heQw8LL/ILY36oItBeQq33qjVBGT51qGG4CcCEDutA=";
   };
 
   nativeBuildInputs = [
@@ -44,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "mdformat plugin to ensure frontmatter is respected";
     homepage = "https://github.com/butler54/mdformat-frontmatter";
+    changelog = "https://github.com/butler54/mdformat-frontmatter/blob/v{version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ aldoborrero polarmutex ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix
index e8efd7bac91c..9052c67be207 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix
@@ -6,20 +6,21 @@
 , mdformat-gfm
 , mdit-py-plugins
 , pythonOlder
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "mdformat-mkdocs";
-  version = "1.0.4";
-  format = "pyproject";
+  version = "1.1.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "KyleKing";
-    repo = pname;
+    repo = "mdformat-mkdocs";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mGWeG8clWJ7obsvO+gYaVzfAyDOh9HNdyWW5KgOgfmM=";
+    hash = "sha256-5MCsXCkYnoLEZZoj9WrO/Z3VzTKagoOrMCuTpA4dGAQ=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +33,10 @@ buildPythonPackage rec {
     mdit-py-plugins
   ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
   pythonImportsCheck = [
     "mdformat_mkdocs"
   ];
@@ -39,7 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "mdformat plugin for MkDocs";
     homepage = "https://github.com/KyleKing/mdformat-mkdocs";
-changelog = "https://github.com/KyleKing/mdformat-mkdocs/releases/tag/v${version}";
+    changelog = "https://github.com/KyleKing/mdformat-mkdocs/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ aldoborrero ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mdtraj/default.nix b/nixpkgs/pkgs/development/python-modules/mdtraj/default.nix
new file mode 100644
index 000000000000..ad20cdbf0671
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mdtraj/default.nix
@@ -0,0 +1,102 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, llvmPackages
+, zlib
+, cython
+, oldest-supported-numpy
+, setuptools
+, wheel
+, astunparse
+, numpy
+, pyparsing
+, scipy
+, gsd
+, networkx
+, pandas
+, pytest-xdist
+, pytestCheckHook
+, tables
+}:
+
+buildPythonPackage rec {
+  pname = "mdtraj";
+  version = "1.9.9";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "mdtraj";
+    repo = "mdtraj";
+    rev = "refs/tags/${version}";
+    hash = "sha256-2Jg6DyVJlRBLD/6hMtcsrAdxKF5RkpUuhAQm/lqVGeE=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "gsd_3-compatibility.patch";
+      url = "https://github.com/mdtraj/mdtraj/commit/81209d00817ab07cfc4668bf5ec88088d16904c0.patch";
+      hash = "sha256-ttNmij7csxF0Z5wPPwhGumRX055W2IgFjRAe6nI6GNY=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cython
+    oldest-supported-numpy
+    setuptools
+    wheel
+  ];
+
+  buildInputs = [
+    zlib
+  ] ++ lib.optionals stdenv.cc.isClang [
+    llvmPackages.openmp
+  ];
+
+  propagatedBuildInputs = [
+    astunparse
+    numpy
+    pyparsing
+    scipy
+  ];
+
+  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-incompatible-function-pointer-types";
+
+  nativeCheckInputs = [
+    gsd
+    networkx
+    pandas
+    pytest-xdist
+    pytestCheckHook
+    tables
+  ];
+
+  preCheck = ''
+    cd tests
+    export PATH=$out/bin:$PATH
+  '';
+
+  disabledTests = [
+    # require network access
+    "test_pdb_from_url"
+    "test_1vii_url_and_gz"
+
+    # fail due to data race
+    "test_read_atomindices_1"
+    "test_read_atomindices_2"
+
+    # flaky test
+    "test_distances_t"
+  ];
+
+  pythonImportsCheck = [ "mdtraj" ];
+
+  meta = with lib; {
+    description = "An open library for the analysis of molecular dynamics trajectories";
+    homepage = "https://github.com/mdtraj/mdtraj";
+    changelog = "https://github.com/mdtraj/mdtraj/releases/tag/${src.rev}";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/miauth/default.nix b/nixpkgs/pkgs/development/python-modules/miauth/default.nix
new file mode 100644
index 000000000000..380fe8e23e1f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/miauth/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, wheel
+, bluepy
+, pythonOlder
+, cryptography
+}:
+
+buildPythonPackage rec {
+  pname = "miauth";
+  version = "0.9.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchFromGitHub {
+    owner = "dnandha";
+    repo = "miauth";
+    # Release is not tagged properly, https://github.com/dnandha/miauth/issues/15
+    # rev = "refs/tags/${version}";
+    rev = "refs/tags/release";
+    hash = "sha256-+aoY0Eyd9y7xQTA3uSC6YIZisViilsHlFaOXmhPMcBY=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    bluepy
+    cryptography
+  ];
+
+  pythonImportsCheck = [
+    "miauth"
+  ];
+
+  meta = with lib; {
+    description = "Authenticate and interact with Xiaomi devices over BLE";
+    homepage = "https://github.com/dnandha/miauth";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/minidump/default.nix b/nixpkgs/pkgs/development/python-modules/minidump/default.nix
index 26ac7f8afc7b..9168d3297b11 100644
--- a/nixpkgs/pkgs/development/python-modules/minidump/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/minidump/default.nix
@@ -2,20 +2,25 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "minidump";
-  version = "0.0.21";
-  format = "setuptools";
+  version = "0.0.22";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-g9YSr7bFdyfr84rKQztVD4P5+MfDtlYq0quXBx/YXzo=";
+    hash = "sha256-PPvvvHz3WA67Vn2P7MIY+ChkjXrCOuTgj0KXr4B2mZ0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # Upstream doesn't have tests
   doCheck = false;
 
@@ -26,6 +31,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library to parse and read Microsoft minidump file format";
     homepage = "https://github.com/skelsec/minidump";
+    changelog = "https://github.com/skelsec/minidump/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/minikerberos/default.nix b/nixpkgs/pkgs/development/python-modules/minikerberos/default.nix
index d1c6a94d4787..5bf47f5a04ab 100644
--- a/nixpkgs/pkgs/development/python-modules/minikerberos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/minikerberos/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "minikerberos";
-  version = "0.4.2";
+  version = "0.4.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BECKWG5nxICOSfQJgXJqCki2gcv/ZRrDFo57nXHvhos=";
+    hash = "sha256-9VPK15GIPcG+UcyUinevKyEoom6mNA99NKL0XWd9G/M=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mirakuru/default.nix b/nixpkgs/pkgs/development/python-modules/mirakuru/default.nix
index 4376c9387fcf..97f1cef438ae 100644
--- a/nixpkgs/pkgs/development/python-modules/mirakuru/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mirakuru/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "mirakuru";
-  version = "2.5.1";
+  version = "2.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "ClearcodeHQ";
     repo = "mirakuru";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jBsSvIy2FaAYlDZLjJXl9hyCiK+nk/cM5j128f24dRc=";
+    hash = "sha256-I1TKP0ESuBMTcReZf0tryjvGpSpwzofwmOiQqhyr6Zg=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy-macos/default.nix b/nixpkgs/pkgs/development/python-modules/mitmproxy-macos/default.nix
index 39798d90b15d..0ce125e691e1 100644
--- a/nixpkgs/pkgs/development/python-modules/mitmproxy-macos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy-macos/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "mitmproxy-macos";
-  version = "0.3.11";
+  version = "0.4.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "mitmproxy";
     repo = "mitmproxy_rs";
     rev = version;
-    hash = "sha256-V6LUr1jJiTo0+53jipkTyzG5JSw6uHaS6ziyBaFbETw=";
+    hash = "sha256-Vc7ez/W40CefO2ZLAHot14p478pDPtQor865675vCtI=";
   };
 
   sourceRoot = "${src.name}/mitmproxy-macos";
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock
index a09043a1cb2b..3c0c5cc67535 100644
--- a/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock
@@ -93,10 +93,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
 
 [[package]]
+name = "async-stream"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
+dependencies = [
+ "async-stream-impl",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-stream-impl"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
 name = "async-trait"
-version = "0.1.73"
+version = "0.1.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
+checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -390,11 +412,12 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
 
 [[package]]
 name = "console-api"
-version = "0.5.0"
+version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2895653b4d9f1538a83970077cb01dfc77a4810524e51a110944688e916b18e"
+checksum = "fd326812b3fd01da5bb1af7d340d0d555fd3d4b641e7f1dfcf5962a902952787"
 dependencies = [
- "prost 0.11.9",
+ "futures-core",
+ "prost",
  "prost-types",
  "tonic",
  "tracing-core",
@@ -402,14 +425,14 @@ dependencies = [
 
 [[package]]
 name = "console-subscriber"
-version = "0.1.10"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4cf42660ac07fcebed809cfe561dd8730bcd35b075215e6479c516bcd0d11cb"
+checksum = "7481d4c57092cd1c19dd541b92bdce883de840df30aa5d03fd48a3935c01842e"
 dependencies = [
  "console-api",
  "crossbeam-channel",
  "crossbeam-utils",
- "futures",
+ "futures-task",
  "hdrhistogram",
  "humantime",
  "prost-types",
@@ -770,9 +793,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -780,9 +803,9 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
 
 [[package]]
 name = "futures-executor"
@@ -797,15 +820,15 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
 
 [[package]]
 name = "futures-macro"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -814,21 +837,21 @@ dependencies = [
 
 [[package]]
 name = "futures-sink"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
 
 [[package]]
 name = "futures-task"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
 
 [[package]]
 name = "futures-util"
-version = "0.3.28"
+version = "0.3.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -1232,7 +1255,7 @@ checksum = "9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd"
 
 [[package]]
 name = "macos-certificate-truster"
-version = "0.3.11"
+version = "0.4.1"
 dependencies = [
  "apple-security-framework",
 ]
@@ -1308,7 +1331,7 @@ dependencies = [
 
 [[package]]
 name = "mitm-wg-test-client"
-version = "0.3.11"
+version = "0.4.1"
 dependencies = [
  "anyhow",
  "boringtun",
@@ -1319,7 +1342,7 @@ dependencies = [
 
 [[package]]
 name = "mitmproxy"
-version = "0.3.11"
+version = "0.4.1"
 dependencies = [
  "anyhow",
  "apple-security-framework",
@@ -1334,7 +1357,7 @@ dependencies = [
  "nix 0.27.1",
  "once_cell",
  "pretty-hex",
- "prost 0.12.1",
+ "prost",
  "rand",
  "rand_core",
  "smoltcp",
@@ -1346,7 +1369,7 @@ dependencies = [
 
 [[package]]
 name = "mitmproxy_rs"
-version = "0.3.11"
+version = "0.4.1"
 dependencies = [
  "anyhow",
  "boringtun",
@@ -1630,35 +1653,12 @@ dependencies = [
 
 [[package]]
 name = "prost"
-version = "0.11.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd"
-dependencies = [
- "bytes",
- "prost-derive 0.11.9",
-]
-
-[[package]]
-name = "prost"
 version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d"
 dependencies = [
  "bytes",
- "prost-derive 0.12.1",
-]
-
-[[package]]
-name = "prost-derive"
-version = "0.11.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
-dependencies = [
- "anyhow",
- "itertools 0.10.5",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
+ "prost-derive",
 ]
 
 [[package]]
@@ -1676,11 +1676,11 @@ dependencies = [
 
 [[package]]
 name = "prost-types"
-version = "0.11.9"
+version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13"
+checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf"
 dependencies = [
- "prost 0.11.9",
+ "prost",
 ]
 
 [[package]]
@@ -1736,9 +1736,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-log"
-version = "0.8.3"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f47b0777feb17f61eea78667d61103758b243a871edc09a7786500a50467b605"
+checksum = "4c10808ee7250403bedb24bc30c32493e93875fef7ba3e4292226fe924f398bd"
 dependencies = [
  "arc-swap",
  "log",
@@ -2205,9 +2205,9 @@ dependencies = [
 
 [[package]]
 name = "tokio"
-version = "1.32.0"
+version = "1.33.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
+checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653"
 dependencies = [
  "backtrace",
  "bytes",
@@ -2256,9 +2256,9 @@ dependencies = [
 
 [[package]]
 name = "tokio-util"
-version = "0.7.9"
+version = "0.7.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
+checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15"
 dependencies = [
  "bytes",
  "futures-core",
@@ -2279,16 +2279,15 @@ dependencies = [
 
 [[package]]
 name = "tonic"
-version = "0.9.2"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a"
+checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e"
 dependencies = [
+ "async-stream",
  "async-trait",
  "axum",
  "base64 0.21.4",
  "bytes",
- "futures-core",
- "futures-util",
  "h2",
  "http",
  "http-body",
@@ -2296,7 +2295,7 @@ dependencies = [
  "hyper-timeout",
  "percent-encoding",
  "pin-project",
- "prost 0.11.9",
+ "prost",
  "tokio",
  "tokio-stream",
  "tower",
@@ -2622,7 +2621,7 @@ dependencies = [
 
 [[package]]
 name = "windows-redirector"
-version = "0.3.11"
+version = "0.4.1"
 dependencies = [
  "anyhow",
  "env_logger",
@@ -2631,7 +2630,7 @@ dependencies = [
  "log",
  "lru_time_cache",
  "mitmproxy",
- "prost 0.12.1",
+ "prost",
  "tokio",
  "windivert",
  "winres",
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix
index d90e1e0c2a96..33b0d7acee18 100644
--- a/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "mitmproxy-rs";
-  version = "0.3.11";
+  version = "0.4.1";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "mitmproxy";
     repo = "mitmproxy_rs";
     rev = version;
-    hash = "sha256-V6LUr1jJiTo0+53jipkTyzG5JSw6uHaS6ziyBaFbETw=";
+    hash = "sha256-Vc7ez/W40CefO2ZLAHot14p478pDPtQor865675vCtI=";
   };
 
   cargoDeps = rustPlatform.importCargoLock {
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix b/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
index 566c1e0b3298..e8c941fb950a 100644
--- a/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
@@ -1,8 +1,8 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , buildPythonPackage
 , pythonOlder
-, stdenv
   # Mitmproxy requirements
 , aioquic
 , asgiref
@@ -44,19 +44,19 @@
 
 buildPythonPackage rec {
   pname = "mitmproxy";
-  version = "10.1.1";
-  disabled = pythonOlder "3.9";
+  version = "10.1.5";
   pyproject = true;
 
+  disabled = pythonOlder "3.9";
+
   src = fetchFromGitHub {
     owner = "mitmproxy";
     repo = "mitmproxy";
     rev = "refs/tags/${version}";
-    hash = "sha256-/ouMj7UVowvzwjOuusgVfXjvjNPKpuJUuoJf6Sl9P44=";
+    hash = "sha256-WtZ5KPkTjYMCjrghVcihxuQ2cS88OOCbMYHfqzeo4qQ=";
   };
 
   propagatedBuildInputs = [
-    setuptools
     aioquic
     asgiref
     blinker
@@ -73,11 +73,12 @@ buildPythonPackage rec {
     msgpack
     passlib
     protobuf
-    pyopenssl
     publicsuffix2
+    pyopenssl
     pyparsing
     pyperclip
     ruamel-yaml
+    setuptools
     sortedcontainers
     tornado
     urwid
@@ -113,10 +114,12 @@ buildPythonPackage rec {
     "test_flowview"
     # ValueError: Exceeds the limit (4300) for integer string conversion
     "test_roundtrip_big_integer"
-
     "test_wireguard"
     "test_commands_exist"
     "test_statusbar"
+    # AssertionError: Playbook mismatch!
+    "test_untrusted_cert"
+    "test_mitmproxy_ca_is_untrusted"
   ];
 
   disabledTestPaths = [
@@ -131,6 +134,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Man-in-the-middle proxy";
     homepage = "https://mitmproxy.org/";
+    changelog = "https://github.com/mitmproxy/mitmproxy/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ kamilchm SuperSandro2000 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix
index 27caba7aae10..212eded518eb 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocstrings-python";
-  version = "1.7.3";
+  version = "1.7.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = "python";
     rev = "refs/tags/${version}";
-    hash = "sha256-r/N2ZGqA1cYFkP4Ai8p6utIw/m+FiNBVbpL4Y0EO2ds=";
+    hash = "sha256-PfAdECR80kYgvaaL+09zsqOeWa8z4pSnORNFnj+/l7M=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/moto/default.nix b/nixpkgs/pkgs/development/python-modules/moto/default.nix
index 2dc5bd55ee73..a76f39fc2a52 100644
--- a/nixpkgs/pkgs/development/python-modules/moto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moto/default.nix
@@ -37,19 +37,20 @@
 # tests
 , freezegun
 , pytestCheckHook
+, pytest-order
 , pytest-xdist
 }:
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "4.2.6";
+  version = "4.2.10";
   pyproject = true;
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zgpV1+dWxZpaQ5LHCXqlylPgCqLdP3AACTNWvhXnrvk=";
+    hash = "sha256-kllf4odHSjGsPvhHlB67CX6P+ww9bBBuR89XPbBpM7I=";
   };
 
   nativeBuildInputs = [
@@ -95,12 +96,20 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     freezegun
     pytestCheckHook
+    pytest-order
     pytest-xdist
   ] ++ passthru.optional-dependencies.all;
 
+  # Some tests depend on AWS credentials environment variables to be set.
+  env.AWS_ACCESS_KEY_ID = "ak";
+  env.AWS_SECRET_ACCESS_KEY = "sk";
+
   pytestFlagsArray = [
     "-m" "'not network and not requires_docker'"
 
+    # Matches upstream configuration, presumably due to expensive setup/teardown.
+    "--dist" "loadscope"
+
     # Fails at local name resolution
     "--deselect=tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header"
     "--deselect=tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins"
@@ -120,21 +129,17 @@ buildPythonPackage rec {
     # https://github.com/getmoto/moto/pull/6938
     "--deselect=tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers"
 
-    # Racy, expects two timestamp two differ
-    # https://github.com/getmoto/moto/issues/6946
-    "--deselect=tests/test_databrew/test_databrew_recipes.py::test_publish_recipe"
+    # Flaky under parallel execution
+    "--deselect=tests/test_cloudformation/test_server.py::test_cloudformation_server_get"
+    "--deselect=tests/test_core/test_moto_api.py::TestModelDataResetForClassDecorator::test_should_find_bucket"
   ];
 
   disabledTestPaths = [
-    # Requires pytest-ordering, which is unmaintained
-    # https://github.com/getmoto/moto/issues/6937
-    # botocore.exceptions.NoCredentialsError: Unable to locate credentials
-    "tests/test_dynamodb/test_dynamodb_statements.py"
-    "tests/test_lakeformation/test_resource_tags_integration.py"
-    "tests/test_redshiftdata/test_redshiftdata.py"
-    "tests/test_s3/test_s3_file_handles.py"
-    "tests/test_s3/test_s3.py"
-    "tests/test_s3/test_s3_select.py"
+    # Flaky under parallel execution, Connection Reset errors to localhost.
+    "tests/test_moto_api/recorder/test_recorder.py"
+
+    # Flaky under parallel execution
+    "tests/test_resourcegroupstaggingapi/*.py"
 
     # Tries to access the network
     "tests/test_batch/test_batch_jobs.py"
diff --git a/nixpkgs/pkgs/development/python-modules/mscerts/default.nix b/nixpkgs/pkgs/development/python-modules/mscerts/default.nix
index bdf4fd1fd454..400e0c2774e8 100644
--- a/nixpkgs/pkgs/development/python-modules/mscerts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mscerts/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "mscerts";
-  version = "2023.8.23";
+  version = "2023.11.29";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ralphje";
     repo = "mscerts";
     rev = "refs/tags/${version}";
-    hash = "sha256-Oc02yi7N2W/DekmTxdYllN6UBD1phbVdSBN2dcPo1oI=";
+    hash = "sha256-TNwpWxknCUcvXFy3UInrEx4iFZi/hLS7exvJBv3DlWo=";
   };
 
   # extras_require contains signify -> circular dependency
diff --git a/nixpkgs/pkgs/development/python-modules/napalm/hp-procurve.nix b/nixpkgs/pkgs/development/python-modules/napalm/hp-procurve.nix
index 87dad04cf781..6402005bed6e 100644
--- a/nixpkgs/pkgs/development/python-modules/napalm/hp-procurve.nix
+++ b/nixpkgs/pkgs/development/python-modules/napalm/hp-procurve.nix
@@ -5,6 +5,7 @@
 , netmiko
 , pip
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
@@ -12,32 +13,37 @@ buildPythonPackage rec {
   version = "0.7.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "napalm-automation-community";
-    repo = pname;
-    rev = version;
+    repo = "napalm-hp-procurve";
+    rev = "refs/tags/${version}";
     hash = "sha256-cO4kxI90krj1knzixRKWxa77OAaxjO8dLTy02VpkV9M=";
   };
 
-  nativeBuildInputs = [
-    pip
-  ];
-
-  # dependency installation in setup.py doesn't work
   patchPhase = ''
+    # Dependency installation in setup.py doesn't work
     echo -n > requirements.txt
+    substituteInPlace setup.cfg \
+      --replace "--cov=napalm_procurve --cov-report term-missing -vs --pylama" ""
   '';
 
-  buildInputs = [ napalm ];
+  nativeBuildInputs = [
+    pip
+  ];
 
-  propagatedBuildInputs = [ netmiko ];
+  buildInputs = [
+    napalm
+  ];
 
-  # setup.cfg seems to contain invalid pytest parameters
-  preCheck = ''
-    rm setup.cfg
-  '';
+  propagatedBuildInputs = [
+    netmiko
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   disabledTests = [
     # AssertionError: Some methods vary.
@@ -46,6 +52,11 @@ buildPythonPackage rec {
     "test_get_config_filtered"
     # AssertionError
     "test_get_interfaces"
+    "test_get_facts"
+  ];
+
+  pythonImportsCheck = [
+    "napalm_procurve"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
index 68d3de53cb3a..4afb593479d6 100644
--- a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
@@ -21,7 +21,6 @@
 , importlib-metadata
 , flaky
 , ipywidgets
-, pyppeteer
 , pytestCheckHook
 }:
 
@@ -33,15 +32,14 @@ let
   };
 in buildPythonPackage rec {
   pname = "nbconvert";
-  version = "7.8.0";
+  version = "7.11.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
-  format = "pyproject";
-
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9bwVoSR+FN1Bzu8MCjvHACDgFldusFeNpi8cW0+VBHk=";
+    hash = "sha256-q+3AHPVDF3/94L/Cppcm1aR49q8QozL8G/Kfy08M8AA=";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
@@ -87,7 +85,6 @@ in buildPythonPackage rec {
   nativeCheckInputs = [
     flaky
     ipywidgets
-    pyppeteer
     pytestCheckHook
   ];
 
@@ -105,8 +102,9 @@ in buildPythonPackage rec {
 
   meta = {
     description = "Converting Jupyter Notebooks";
-    homepage = "https://jupyter.org/";
+    homepage = "https://github.com/jupyter/nbconvert";
+    changelog = "https://github.com/jupyter/nbconvert/blob/v${version}/CHANGELOG.md";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
+    maintainers = lib.teams.jupyter.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix b/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
index 47ed44420f03..d070b4317eed 100644
--- a/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "4.5.0";
+  version = "4.5.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "gajim";
     repo = "python-nbxmpp";
     rev = "refs/tags/${version}";
-    hash = "sha256-7TGP3J4qepnUV/3aC7FssSGu4PahB70DGWezjOy+/+w=";
+    hash = "sha256-vAuHfG2/DVUDCxUb7UMRejIh4fQHGl67A+dncvcJ8jQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ndtypes/default.nix b/nixpkgs/pkgs/development/python-modules/ndtypes/default.nix
index 75fc5373b4c5..8bfe1347e6df 100644
--- a/nixpkgs/pkgs/development/python-modules/ndtypes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ndtypes/default.nix
@@ -12,12 +12,14 @@ buildPythonPackage {
   disabled = isPy27;
   inherit (libndtypes) version src meta;
 
+  outputs = [ "out" "dev" ];
+
   propagatedBuildInputs = [ numpy ];
 
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'include_dirs = ["libndtypes"]' \
-                'include_dirs = ["${libndtypes}/include"]' \
+                'include_dirs = ["${libndtypes.dev}/include"]' \
       --replace 'library_dirs = ["libndtypes"]' \
                 'library_dirs = ["${libndtypes}/lib"]' \
       --replace 'runtime_library_dirs = ["$ORIGIN"]' \
diff --git a/nixpkgs/pkgs/development/python-modules/neo4j/default.nix b/nixpkgs/pkgs/development/python-modules/neo4j/default.nix
index 1e034efa1971..f75be1cfc723 100644
--- a/nixpkgs/pkgs/development/python-modules/neo4j/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/neo4j/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "neo4j";
-  version = "5.14.1";
+  version = "5.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "neo4j";
     repo = "neo4j-python-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-lQNsVpkMRn23qzqAa/K6aPrip67TsL+nXpMRqOXNFik=";
+    hash = "sha256-vO/LzLQ7pA/4KcX48dIM9eH6z4XMbse0xGOJxZPcMfo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix b/nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix
index ac6da73af2ab..538aec6b4f24 100644
--- a/nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "nettigo-air-monitor";
-  version = "2.2.1";
+  version = "2.2.2";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = "nettigo-air-monitor";
     rev = "refs/tags/${version}";
-    hash = "sha256-24O9Yl0+boxDtyPW4tBTsk2iDGGXf8ofkDHu8B+GxhE=";
+    hash = "sha256-Z88IkXQi9Uqc+HX++Cp5nj4S0puwMfToqXzBCnbG59g=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/netutils/default.nix b/nixpkgs/pkgs/development/python-modules/netutils/default.nix
index 517c90b3f449..182485253875 100644
--- a/nixpkgs/pkgs/development/python-modules/netutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/netutils/default.nix
@@ -15,13 +15,13 @@
 buildPythonPackage rec {
   pname = "netutils";
   version = "1.6.0";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "networktocode";
-    repo = pname;
+    repo = "netutils";
     rev = "refs/tags/v${version}";
     hash = "sha256-ocajE7E4xIatEmv58/9gEpWF2plJdiZXjk6ajD2vTzw=";
   };
@@ -32,7 +32,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     jsonschema
-    napalm
   ];
 
   passthru.optional-dependencies.optionals = [
diff --git a/nixpkgs/pkgs/development/python-modules/nextdns/default.nix b/nixpkgs/pkgs/development/python-modules/nextdns/default.nix
index 9a41c79fb160..7d81eccbcabf 100644
--- a/nixpkgs/pkgs/development/python-modules/nextdns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nextdns/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "nextdns";
-  version = "2.0.1";
+  version = "2.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = "nextdns";
     rev = "refs/tags/${version}";
-    hash = "sha256-NJjnk/FadD4QUqPYxbbS7gsIKVxwR5tpnBth1HFLkr0=";
+    hash = "sha256-haw6t7pepMN77LFVgDFBbV4StRqcRMvnCaup8K38kEg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nibe/default.nix b/nixpkgs/pkgs/development/python-modules/nibe/default.nix
index b122c7bbbf5e..a437ec2547ce 100644
--- a/nixpkgs/pkgs/development/python-modules/nibe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nibe/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "nibe";
-  version = "2.5.0";
+  version = "2.5.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "yozik04";
     repo = "nibe";
     rev = "refs/tags/${version}";
-    hash = "sha256-PCfodp8gyjOUgb4FthMlbanbEtJuc6axM8DkQJ/ykLg=";
+    hash = "sha256-qlGQtjRG92AhFY+sF3mB4ghIn4kydkbDOolLu9Qh0JM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ninebot-ble/default.nix b/nixpkgs/pkgs/development/python-modules/ninebot-ble/default.nix
new file mode 100644
index 000000000000..c13d96fe700c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ninebot-ble/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, bleak
+, bleak-retry-connector
+, bluetooth-data-tools
+, bluetooth-sensor-state-data
+, buildPythonPackage
+, fetchFromGitHub
+, miauth
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "ninebot-ble";
+  version = "0.0.6";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchFromGitHub {
+    owner = "ownbee";
+    repo = "ninebot-ble";
+    rev = "refs/tags/${version}";
+    hash = "sha256-gA3VTs45vVpO0Iy8MbvvDf9j99vsFzrkADaJEslx6y0=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    bleak
+    bleak-retry-connector
+    bluetooth-data-tools
+    bluetooth-sensor-state-data
+    miauth
+  ];
+
+  # Module has no test
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "ninebot_ble"
+  ];
+
+  meta = with lib; {
+    description = "Ninebot scooter BLE client";
+    homepage = "https://github.com/ownbee/ninebot-ble";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix b/nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix
index 7252ce45b711..263aebada6a5 100644
--- a/nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "notus-scanner";
-  version = "22.6.0";
+  version = "22.6.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ih6Uz7dTVMNCBsLcDsslyIzttg+IDBW3B+Ixpp7sz1Y=";
+    hash = "sha256-V70cFSfQ9SuLhCSUa8DuYA7qaabwiK9IbIkYcQMgVUk=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix b/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
index 7b1a3c60d628..ae8d6737380e 100644
--- a/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "oauthenticator";
-  version = "16.1.1";
+  version = "16.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Obv4MJvO7li+KqI2l6KxfxjpbZVD5KFJwjn/u+UtaQQ=";
+    hash = "sha256-z5CFFfVJYeXaDFVPYaBOfUMzgl+Uvn3LYS5Zn1AHRy0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
index 05b71d2b4520..c6e16c25d52c 100644
--- a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -31,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "ocrmypdf";
-  version = "15.3.1";
+  version = "15.4.0";
 
   disabled = pythonOlder "3.9";
 
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-Yngx9hH/4yftClNqM/yyrOCPH0+4Bl9GIEGjawLdy0s=";
+    hash = "sha256-cbKqisaRAeT8ljANbYiUDrptAoQmmIkMu1ya8O6nXvQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch b/nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch
index 6e6a1f8d79a0..a1db7c690bcf 100644
--- a/nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch
+++ b/nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch
@@ -1,8 +1,8 @@
 diff --git a/src/ocrmypdf/_exec/ghostscript.py b/src/ocrmypdf/_exec/ghostscript.py
-index e28d23e9..183cd918 100644
+index 92b73a0a..9f04555c 100644
 --- a/src/ocrmypdf/_exec/ghostscript.py
 +++ b/src/ocrmypdf/_exec/ghostscript.py
-@@ -67,7 +67,7 @@ log.addFilter(DuplicateFilter(log))
+@@ -58,7 +58,7 @@ log.addFilter(DuplicateFilter(log))
  
  
  # Ghostscript executable - gswin32c is not supported
@@ -12,7 +12,7 @@ index e28d23e9..183cd918 100644
  
  def version() -> Version:
 diff --git a/src/ocrmypdf/_exec/jbig2enc.py b/src/ocrmypdf/_exec/jbig2enc.py
-index 28d3dd1c..477a7d6c 100644
+index 5a34a95a..5ee1b333 100644
 --- a/src/ocrmypdf/_exec/jbig2enc.py
 +++ b/src/ocrmypdf/_exec/jbig2enc.py
 @@ -14,7 +14,7 @@ from ocrmypdf.subprocess import get_version, run
@@ -26,27 +26,27 @@ index 28d3dd1c..477a7d6c 100644
  def available():
 @@ -27,7 +27,7 @@ def available():
  
- def convert_group(*, cwd, infiles, out_prefix, threshold):
+ def convert_group(cwd, infiles, out_prefix, threshold):
      args = [
 -        'jbig2',
 +        '@jbig2@',
          '-b',
          out_prefix,
          '--symbol-mode',  # symbol mode (lossy)
-@@ -50,7 +50,7 @@ def convert_group_mp(args):
+@@ -44,7 +44,7 @@ def convert_group(cwd, infiles, out_prefix, threshold):
  
  
- def convert_single(*, cwd, infile, outfile, threshold):
+ def convert_single(cwd, infile, outfile, threshold):
 -    args = ['jbig2', '--pdf', '-t', str(threshold), infile]
 +    args = ['@jbig2@', '--pdf', '-t', str(threshold), infile]
      with open(outfile, 'wb') as fstdout:
          proc = run(args, cwd=cwd, stdout=fstdout, stderr=PIPE)
      proc.check_returncode()
 diff --git a/src/ocrmypdf/_exec/pngquant.py b/src/ocrmypdf/_exec/pngquant.py
-index 8425caec..a027f041 100644
+index 5b8600d0..fcad771b 100644
 --- a/src/ocrmypdf/_exec/pngquant.py
 +++ b/src/ocrmypdf/_exec/pngquant.py
-@@ -18,7 +18,7 @@ from ocrmypdf.subprocess import get_version, run
+@@ -15,7 +15,7 @@ from ocrmypdf.subprocess import get_version, run
  
  
  def version() -> Version:
@@ -55,9 +55,9 @@ index 8425caec..a027f041 100644
  
  
  def available():
-@@ -45,7 +45,7 @@ def input_as_png(input_file: Path):
- def quantize(input_file: Path, output_file: Path, quality_min: int, quality_max: int):
-     with input_as_png(input_file) as input_stream:
+@@ -37,7 +37,7 @@ def quantize(input_file: Path, output_file: Path, quality_min: int, quality_max:
+     """
+     with open(input_file, 'rb') as input_stream:
          args = [
 -            'pngquant',
 +            '@pngquant@',
@@ -65,10 +65,10 @@ index 8425caec..a027f041 100644
              '--skip-if-larger',
              '--quality',
 diff --git a/src/ocrmypdf/_exec/tesseract.py b/src/ocrmypdf/_exec/tesseract.py
-index 4eac3470..61315d14 100644
+index fab92bb1..78b634a7 100644
 --- a/src/ocrmypdf/_exec/tesseract.py
 +++ b/src/ocrmypdf/_exec/tesseract.py
-@@ -114,7 +114,7 @@ class TesseractVersion(Version):
+@@ -95,7 +95,7 @@ class TesseractVersion(Version):
  
  
  def version() -> Version:
@@ -77,7 +77,7 @@ index 4eac3470..61315d14 100644
  
  
  def has_thresholding() -> bool:
-@@ -132,7 +132,7 @@ def get_languages() -> set[str]:
+@@ -113,7 +113,7 @@ def get_languages() -> set[str]:
          msg += output
          return msg
  
@@ -86,7 +86,7 @@ index 4eac3470..61315d14 100644
      try:
          proc = run(
              args_tess,
-@@ -154,7 +154,7 @@ def get_languages() -> set[str]:
+@@ -135,7 +135,7 @@ def get_languages() -> set[str]:
  
  
  def tess_base_args(langs: list[str], engine_mode: int | None) -> list[str]:
@@ -96,10 +96,10 @@ index 4eac3470..61315d14 100644
          args.extend(['-l', '+'.join(langs)])
      if engine_mode is not None:
 diff --git a/src/ocrmypdf/_exec/unpaper.py b/src/ocrmypdf/_exec/unpaper.py
-index 2944b4f4..55a36140 100644
+index 493d9b3a..578c2dda 100644
 --- a/src/ocrmypdf/_exec/unpaper.py
 +++ b/src/ocrmypdf/_exec/unpaper.py
-@@ -69,7 +69,7 @@ class UnpaperImageTooLargeError(Exception):
+@@ -70,7 +70,7 @@ class UnpaperImageTooLargeError(Exception):
  
  
  def version() -> Version:
@@ -107,8 +107,8 @@ index 2944b4f4..55a36140 100644
 +    return Version(get_version('@unpaper@'))
  
  
- SUPPORTED_MODES = {'1', 'L', 'RGB'}
-@@ -123,7 +123,7 @@ def _setup_unpaper_io(input_file: Path) -> Iterator[tuple[Path, Path, Path]]:
+ @contextmanager
+@@ -92,7 +92,7 @@ def _setup_unpaper_io(input_file: Path) -> Iterator[tuple[Path, Path, Path]]:
  def run_unpaper(
      input_file: Path, output_file: Path, *, dpi: DecFloat, mode_args: list[str]
  ) -> None:
diff --git a/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix b/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix
index 150943994c8b..9f8f810b4be9 100644
--- a/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "odp-amsterdam";
-  version = "5.3.1";
-  format = "pyproject";
+  version = "6.0.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-odp-amsterdam";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HesAg6hJ8Al/ZZRBTXZM0EVv1kjYmmA66W+crwtWhf4=";
+    hash = "sha256-dAyKypc8bMWkXhYa7BlGGAGqPaPJHFHwXd/UK80BGoE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix b/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix
index 64abf9f96f10..37d6dd8b54e8 100644
--- a/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "oelint-parser";
-  version = "2.11.4";
+  version = "2.11.6";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "oelint_parser";
-    hash = "sha256-r8qpD7UDh8ZfsdwVuv0ipihPEX3263t929mMYf143iA=";
+    hash = "sha256-CTZxxKZPrAvuWGhwD7qAPG10rry0H71QSRXbGT0J3J0=";
   };
 
   buildInputs = [ pip ];
diff --git a/nixpkgs/pkgs/development/python-modules/openllm-client/default.nix b/nixpkgs/pkgs/development/python-modules/openllm-client/default.nix
index 2dd395bab677..ce77953f12df 100644
--- a/nixpkgs/pkgs/development/python-modules/openllm-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openllm-client/default.nix
@@ -5,11 +5,11 @@
 , hatch-fancy-pypi-readme
 , hatch-vcs
 , hatchling
-, attrs
-, cattrs
+, anyio
+, distro
 , httpx
+, httpx-auth
 , openllm-core
-, orjson
 , soundfile
 , transformers
 }:
@@ -30,16 +30,19 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    attrs
-    cattrs
+    anyio
+    distro
     httpx
-    orjson
+    openllm-core
   ];
 
   passthru.optional-dependencies = {
     grpc = [
       bentoml
     ] ++ bentoml.optional-dependencies.grpc;
+    auth = [
+      httpx-auth
+    ];
     agents = [
       transformers
       # diffusers
diff --git a/nixpkgs/pkgs/development/python-modules/openllm-core/default.nix b/nixpkgs/pkgs/development/python-modules/openllm-core/default.nix
index 75b755740d04..ab39bf6c11b9 100644
--- a/nixpkgs/pkgs/development/python-modules/openllm-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openllm-core/default.nix
@@ -4,10 +4,12 @@
 , pythonOlder
 , accelerate
 , attrs
-, bentoml
 , bitsandbytes
+, bentoml
 , cattrs
+, click-option-group
 , datasets
+, deepmerge
 , hatch-fancy-pypi-readme
 , hatch-vcs
 , hatchling
@@ -15,14 +17,13 @@
 , mypy-extensions
 , orjson
 , peft
-, ray
 , transformers
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "openllm-core";
-  version = "0.3.9";
+  version = "0.4.22";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -31,7 +32,7 @@ buildPythonPackage rec {
     owner = "bentoml";
     repo = "OpenLLM";
     rev = "refs/tags/v${version}";
-    hash = "sha256-M/ckvaHTdKFg7xfUgFxu7pRBrS6TGw0m2U3L88b2DKU=";
+    hash = "sha256-Hgwc4rneY0d7KZHuBIWRpndLksts5DTvaYuwZOO4sdI=";
   };
 
   sourceRoot = "source/openllm-core";
@@ -44,8 +45,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     attrs
-    bentoml
     cattrs
+    # not listed in pyproject.toml, but required at runtime
+    click-option-group
+    deepmerge
     inflection
     mypy-extensions
     orjson
@@ -54,9 +57,11 @@ buildPythonPackage rec {
 
   passthru.optional-dependencies = {
     vllm = [
-      ray
       # vllm
     ];
+    bentoml = [
+      bentoml
+    ];
     fine-tune = [
       accelerate
       bitsandbytes
@@ -67,7 +72,7 @@ buildPythonPackage rec {
     ] ++ transformers.optional-dependencies.torch
       ++ transformers.optional-dependencies.tokenizers
       ++ transformers.optional-dependencies.accelerate;
-    full = with passthru.optional-dependencies; ( vllm ++ fine-tune );
+    full = with passthru.optional-dependencies; ( vllm ++ bentoml ++ fine-tune );
   };
 
   # there is no tests
diff --git a/nixpkgs/pkgs/development/python-modules/openllm/default.nix b/nixpkgs/pkgs/development/python-modules/openllm/default.nix
index b9f3d2b6fa3b..b1cad320a11d 100644
--- a/nixpkgs/pkgs/development/python-modules/openllm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openllm/default.nix
@@ -9,20 +9,18 @@
 , accelerate
 , bentoml
 , bitsandbytes
+, build
 , click
+, ctranslate2
 , datasets
 , docker
 , einops
-, fairscale
-, flax
 , ghapi
+, huggingface-hub
 , hypothesis
 , ipython
-, jax
-, jaxlib
 , jupyter
 , jupytext
-, keras
 , nbformat
 , notebook
 , openai
@@ -34,14 +32,12 @@
 , pytest-randomly
 , pytest-rerunfailures
 , pytest-xdist
-, ray
 , safetensors
 , scipy
 , sentencepiece
 , soundfile
 , syrupy
 , tabulate
-, tensorflow
 , tiktoken
 , transformers
 , openai-triton
@@ -73,12 +69,16 @@ buildPythonPackage rec {
     accelerate
     bentoml
     bitsandbytes
+    build
     click
+    einops
     ghapi
     openllm-client
     openllm-core
     optimum
     safetensors
+    scipy
+    sentencepiece
     tabulate
     transformers
   ] ++ bentoml.optional-dependencies.io
@@ -92,62 +92,43 @@ buildPythonPackage rec {
       soundfile
       transformers
     ] ++ transformers.optional-dependencies.agents;
+    awq = [
+      # autoawq
+    ];
     baichuan = [
       # cpm-kernels
-      sentencepiece
     ];
     chatglm = [
       # cpm-kernels
-      sentencepiece
+    ];
+    ctranslate = [
+      ctranslate2
     ];
     falcon = [
-      einops
       xformers
     ];
     fine-tune = [
-      accelerate
-      bitsandbytes
       datasets
+      huggingface-hub
       peft
       # trl
     ];
-    flan-t5 = [
-      flax
-      jax
-      jaxlib
-      keras
-      tensorflow
-    ];
     ggml = [
       # ctransformers
     ];
     gptq = [
       # auto-gptq
-      optimum
     ]; # ++ autogptq.optional-dependencies.triton;
     grpc = [
-      openllm-client
-    ] ++ openllm-client.optional-dependencies.grpc;
-    llama = [
-      fairscale
-      sentencepiece
-      scipy
-    ];
+      bentoml
+    ] ++ bentoml.optional-dependencies.grpc;
     mpt = [
-      einops
       openai-triton
     ];
     openai = [
       openai
       tiktoken
-    ] ++ openai.optional-dependencies.embeddings;
-    opt = [
-      flax
-      jax
-      jaxlib
-      keras
-      tensorflow
-    ];
+    ] ++ openai.optional-dependencies.datalib;
     playground = [
       ipython
       jupyter
@@ -159,11 +140,10 @@ buildPythonPackage rec {
       bitsandbytes
     ];
     vllm = [
-      ray
       # vllm
     ];
     full = with passthru.optional-dependencies; (
-      agents ++ baichuan ++ chatglm ++ falcon ++ fine-tune ++ flan-t5 ++ ggml ++ gptq ++ llama ++ mpt ++ openai ++ opt ++ playground ++ starcoder ++ vllm
+      agents ++ awq ++ baichuan ++ chatglm ++ ctranslate ++ falcon ++ fine-tune ++ ggml ++ gptq ++ mpt ++ openai ++ playground ++ starcoder ++ vllm
     );
     all = passthru.optional-dependencies.full;
   };
@@ -187,12 +167,15 @@ buildPythonPackage rec {
     export CI=1
   '';
 
+  disabledTestPaths = [
+    # require network access
+    "tests/models"
+  ];
+
   disabledTests = [
-    # these tests access to huggingface.co
-    "test_opt_125m"
-    "test_opt_125m"
-    "test_flan_t5"
-    "test_flan_t5"
+    # incompatible with recent TypedDict
+    # https://github.com/bentoml/OpenLLM/blob/f3fd32d596253ae34c68e2e9655f19f40e05f666/openllm-python/tests/configuration_test.py#L18-L21
+    "test_missing_default"
   ];
 
   pythonImportsCheck = [ "openllm" ];
diff --git a/nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix b/nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix
index 3f2c965cbbc2..da0c13d63d61 100644
--- a/nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "opensearch-py";
-  version = "2.4.1";
+  version = "2.4.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "opensearch-project";
     repo = "opensearch-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nfKUJjB3yAUGiCSLK3xXHQmtDenVZpLjgICR2hMv1aA=";
+    hash = "sha256-MPuHdjhsrccKYUIDlDYGoXBbBu/V+q43Puf0e5j8vhU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/openusd/default.nix b/nixpkgs/pkgs/development/python-modules/openusd/default.nix
new file mode 100644
index 000000000000..70ae6eb5e08b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/openusd/default.nix
@@ -0,0 +1,131 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, writeShellScriptBin
+, cmake
+, doxygen
+, draco
+, graphviz-nox
+, ninja
+, setuptools
+, pyqt6
+, pyopengl
+, jinja2
+, pyside6
+, boost
+, numpy
+, git
+, tbb
+, opensubdiv
+, openimageio
+, opencolorio
+, osl
+, ptex
+, embree
+, alembic
+, openexr
+, flex
+, bison
+, qt6
+, python
+}:
+let
+  # Matches the pyside6-uic implementation
+  # https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/pyside-tools/pyside_tool.py?id=e501cad66146a49c7a259579c7bb94bc93a67a08#n82
+  pyside-tools-uic = writeShellScriptBin "pyside6-uic" ''
+    exec ${qt6.qtbase}/libexec/uic -g python "$@"
+  '';
+in
+buildPythonPackage rec {
+  pname = "OpenUSD";
+  version = "23.11";
+  src = fetchFromGitHub {
+    owner = "PixarAnimationStudios";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-5zQrfB14kXs75WbL3s4eyhxELglhLNxU2L2aVXiyVjg=";
+  };
+
+  outputs = ["out" "doc"];
+
+  format = "other";
+
+  propagatedBuildInputs = [
+    setuptools
+    pyqt6
+    pyopengl
+    jinja2
+    pyside6
+    pyside-tools-uic
+    boost
+    numpy
+  ];
+
+  cmakeFlags = [
+    "-DPXR_BUILD_EXAMPLES=OFF"
+    "-DPXR_BUILD_TUTORIALS=OFF"
+    "-DPXR_BUILD_USD_TOOLS=ON"
+    "-DPXR_BUILD_IMAGING=ON"
+    "-DPXR_BUILD_USD_IMAGING=ON"
+    "-DPXR_BUILD_USDVIEW=ON"
+    "-DPXR_BUILD_DOCUMENTATION=ON"
+    "-DPXR_BUILD_PYTHON_DOCUMENTATION=ON"
+    "-DPXR_BUILD_EMBREE_PLUGIN=ON"
+    "-DPXR_BUILD_ALEMBIC_PLUGIN=ON"
+    "-DPXR_ENABLE_OSL_SUPPORT=ON"
+    "-DPXR_BUILD_DRACO_PLUGIN=ON"
+    "-DPXR_BUILD_MONOLITHIC=ON" # Seems to be commonly linked to monolithically
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    git
+    qt6.wrapQtAppsHook
+    doxygen
+    graphviz-nox
+  ];
+  buildInputs = [
+    tbb
+    opensubdiv
+    openimageio
+    opencolorio
+    osl
+    ptex
+    embree
+    alembic.dev
+    openexr
+    flex
+    bison
+    boost
+    draco
+    qt6.qtbase
+    qt6.qtwayland
+  ];
+
+  pythonImportsCheck = [ "pxr" "pxr.Usd" ];
+
+  postInstall = ''
+    # Make python lib properly accessible
+    target_dir=$out/${python.sitePackages}
+    mkdir -p $(dirname $target_dir)
+    mv $out/lib/python $target_dir
+
+    mv $out/docs $doc
+
+    rm $out/share -r # only examples
+    rm $out/tests -r
+  '';
+
+  meta = {
+    description = "Universal Scene Description";
+    longDescription = ''
+      Universal Scene Description (USD) is an efficient, scalable system
+      for authoring, reading, and streaming time-sampled scene description
+      for interchange between graphics applications.
+    '';
+    homepage = "https://openusd.org/";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ shaddydc ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/optimum/default.nix b/nixpkgs/pkgs/development/python-modules/optimum/default.nix
index 3b38fcc2c864..57b8b3d8475a 100644
--- a/nixpkgs/pkgs/development/python-modules/optimum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/optimum/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "optimum";
-  version = "1.14.0";
+  version = "1.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "optimum";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fCLMDbWfEAG7pTFKWv67fpr6lNTxRTCBkppgDZR51eY=";
+    hash = "sha256-aHolI+vM3sA83elsqxY5yaiZGB+I0okjSdRmjTRaxJI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/p1monitor/default.nix b/nixpkgs/pkgs/development/python-modules/p1monitor/default.nix
index 48d2044031f1..c45af36a8633 100644
--- a/nixpkgs/pkgs/development/python-modules/p1monitor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/p1monitor/default.nix
@@ -12,18 +12,24 @@
 
 buildPythonPackage rec {
   pname = "p1monitor";
-  version = "2.3.1";
-  format = "pyproject";
+  version = "3.0.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-p1monitor";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2NlFXeI+6ooh4D1OxUWwYrmM4zpL9gg8vhnseLjj2dM=";
+    hash = "sha256-ZtIY4HvRllqlLlf3j1+RMJuuQuq+BZbMuMn9n/v8H5M=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"' \
+      --replace 'addopts = "--cov"' ""
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -39,12 +45,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace '"0.0.0"' '"${version}"' \
-      --replace 'addopts = "--cov"' ""
-  '';
-
   pythonImportsCheck = [
     "p1monitor"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/patool/default.nix b/nixpkgs/pkgs/development/python-modules/patool/default.nix
index 7d22c167a356..9d31fa9e93ee 100644
--- a/nixpkgs/pkgs/development/python-modules/patool/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/patool/default.nix
@@ -9,6 +9,7 @@
 , lzip
 , zpaq
 , gnutar
+, unar  # Free alternative to unrar
 , gnugrep
 , diffutils
 , file
@@ -17,13 +18,11 @@
 , xz
 }:
 
-# unrar is unfree, as well as 7z with unrar support, not including it (patool doesn't support unar)
-# it will still use unrar if present in the path
-
 let
   compression-utilities = [
     p7zip
     gnutar
+    unar
     cabextract
     zip
     lzip
@@ -38,7 +37,7 @@ let
 in
 buildPythonPackage rec {
   pname = "patool";
-  version = "1.12";
+  version = "2.0.0";
   format = "setuptools";
 
   #pypi doesn't have test data
@@ -46,24 +45,9 @@ buildPythonPackage rec {
     owner = "wummel";
     repo = pname;
     rev = "upstream/${version}";
-    hash = "sha256-Xv4aCUnLi+b1T29tuKRADTIWwK2dO8iDP/D7UfU5mWw=";
+    hash = "sha256-Hjpifsi5Q1eoe/MFWuQBDyjoXi/aUG4VN84yNMkAZaE=";
   };
 
-  patches = [
-    # https://github.com/wummel/patool/pull/63
-    (fetchpatch {
-      name = "apk-sometimes-has-mime-jar.patch";
-      url = "https://github.com/wummel/patool/commit/a9f3ee3d639a1065be024001e89c0b153511b16b.patch";
-      hash = "sha256-a4aWqHHc/cBs5T2QKZ08ky1K1tqKZEgqVmTmV11aTVE=";
-    })
-    # https://github.com/wummel/patool/pull/130
-    (fetchpatch {
-      name = "apk-sometimes-has-mime-android-package.patch";
-      url = "https://github.com/wummel/patool/commit/e8a1eea1d273b278a1b6f5029d2e21cb18bc9ffd.patch";
-      hash = "sha256-AVooVdU4FNIixUfwyrn39N2SDFHNs4CUYzS5Eey+DrU=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace patoolib/util.py \
       --replace "path = None" 'path = os.environ["PATH"] + ":${lib.makeBinPath compression-utilities}"'
diff --git a/nixpkgs/pkgs/development/python-modules/paypalrestsdk/default.nix b/nixpkgs/pkgs/development/python-modules/paypalrestsdk/default.nix
deleted file mode 100644
index 0562be6ee739..000000000000
--- a/nixpkgs/pkgs/development/python-modules/paypalrestsdk/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ buildPythonPackage, fetchPypi
-, requests, six, pyopenssl }:
-
-buildPythonPackage rec {
-  pname = "paypalrestsdk";
-  version = "1.13.2";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-kZUfNtsw1oW5ceFASYSRo1bPHfjv9xZWYDrKTtcs81o=";
-  };
-
-  propagatedBuildInputs = [ requests six pyopenssl ];
-
-  meta = {
-    homepage = "https://developer.paypal.com/";
-    description = "Python APIs to create, process and manage payment";
-    license = "PayPal SDK License";
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pdunehd/default.nix b/nixpkgs/pkgs/development/python-modules/pdunehd/default.nix
index 63eca0dab825..e3ae53ecb85e 100644
--- a/nixpkgs/pkgs/development/python-modules/pdunehd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdunehd/default.nix
@@ -7,15 +7,15 @@
 
 buildPythonPackage rec {
   pname = "pdunehd";
-  version = "1.3.2";
+  version = "1.3.3";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "valentinalexeev";
     repo = "pdunehd";
-    rev = version;
-    sha256 = "06p0k82nf89rsakr8d2hdb19dp1wqp9bsf54lwb0qma47iakljjh";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-8CL7ZQ+tV0CKdqWWiPDbo6Q5d1iIj/vNbYshdjUpYSw=";
   };
 
   propagatedBuildInputs = [
@@ -30,6 +30,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python wrapper for Dune HD media player API";
     homepage = "https://github.com/valentinalexeev/pdunehd";
+    changelog = "https://github.com/valentinalexeev/pdunehd/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix b/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix
index 32b8701daa2f..d9c344e6e72c 100644
--- a/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "19.5.13";
+  version = "19.5.20";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0WixwsBvfRgHxKrs/eAhzDNgFIpPdUbfEdJxnlaGmCA=";
+    hash = "sha256-atrrPU9aQvpbI3JYdsnGkdRpq3SRuBJpezF1qc1USB0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pebble/default.nix b/nixpkgs/pkgs/development/python-modules/pebble/default.nix
index deeec443b85c..5cdc198bc792 100644
--- a/nixpkgs/pkgs/development/python-modules/pebble/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pebble/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pebble";
-  version = "5.0.3";
+  version = "5.0.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Pebble";
     inherit version;
-    hash = "sha256-vc/Z6n4K7biVsgQXfBnm1lQ9mWL040AuurIXUASGPag=";
+    hash = "sha256-b3rfK97UQUvdNWLV9NVnvZT/EB5yav+HimZXW8mcEis=";
   };
 
   nativeCheckInputs = [
@@ -32,6 +32,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "API to manage threads and processes within an application";
     homepage = "https://github.com/noxdafox/pebble";
+    changelog = "https://github.com/noxdafox/pebble/releases/tag/${version}";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ orivej ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/peft/default.nix b/nixpkgs/pkgs/development/python-modules/peft/default.nix
index de19d37c54e7..bab37b5b7d79 100644
--- a/nixpkgs/pkgs/development/python-modules/peft/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/peft/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "peft";
-  version = "0.6.0";
+  version = "0.6.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-XF7hjPuPoTioVIoiFhaMeyFYjHXmMwPVuJYDrCMUZwo=";
+    hash = "sha256-hqXHU6PHn2jkWBRRCRuGIGjSCUc6jfUaHgrn3glTwlE=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/pex/default.nix b/nixpkgs/pkgs/development/python-modules/pex/default.nix
index 1d288d2f4389..9d067789b3ab 100644
--- a/nixpkgs/pkgs/development/python-modules/pex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pex/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.151";
+  version = "2.1.153";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-op7V7Xn0qzcCTyISyi/Z4bhdk/W7Ol5YbmvD2Sl5zkM=";
+    hash = "sha256-idIhtaEjmX1FX2Kgaks3IjNZz76jCUdR/9w1Q1BHu4c=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pgspecial/default.nix b/nixpkgs/pkgs/development/python-modules/pgspecial/default.nix
index 41a0c834ba78..1a86bce72969 100644
--- a/nixpkgs/pkgs/development/python-modules/pgspecial/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pgspecial/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pgspecial";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CZqcQ7V2iIWpnHYbHxSoxlBLsU6WMa2HVXOa2vdYJm8=";
+    hash = "sha256-o4I5zZYfrDPObaNcRm11istvlCkBWY19905bgv5vVjY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pgvector/default.nix b/nixpkgs/pkgs/development/python-modules/pgvector/default.nix
index 389a917668bf..383029504b54 100644
--- a/nixpkgs/pkgs/development/python-modules/pgvector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pgvector/default.nix
@@ -13,11 +13,12 @@
 , pytestCheckHook
 , pythonOlder
 , sqlalchemy
+, sqlmodel
 }:
 
 buildPythonPackage rec {
   pname = "pgvector";
-  version = "0.2.3";
+  version = "0.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -26,7 +27,7 @@ buildPythonPackage rec {
     owner = "pgvector";
     repo = "pgvector-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KQROG0cHvKmdWssr7Git3JH0YguRPno/ZzYiQL7VhwU=";
+    hash = "sha256-XKoaEwLW59pV4Dwis7p2L65XoO2zUEa1kXxz6Lgs2d8=";
   };
 
   propagatedBuildInputs = [
@@ -44,6 +45,7 @@ buildPythonPackage rec {
     pytest-asyncio
     pytestCheckHook
     sqlalchemy
+    sqlmodel
   ];
 
   env = {
diff --git a/nixpkgs/pkgs/development/python-modules/phik/default.nix b/nixpkgs/pkgs/development/python-modules/phik/default.nix
index adf507cb048b..bbc26de99cf7 100644
--- a/nixpkgs/pkgs/development/python-modules/phik/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/phik/default.nix
@@ -2,27 +2,29 @@
 , buildPythonPackage
 , cmake
 , fetchFromGitHub
-, isPy3k
-, pytestCheckHook
-, nbconvert
 , joblib
 , jupyter
 , jupyter-client
-, numpy
-, scipy
-, pandas
 , matplotlib
+, nbconvert
 , ninja
 , numba
+, numpy
+, pandas
 , pybind11
+, pytestCheckHook
+, pythonOlder
 , scikit-build
+, scipy
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "phik";
   version = "0.12.3";
-  disabled = !isPy3k;
-  format = "pyproject";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "KaveIO";
@@ -31,11 +33,11 @@ buildPythonPackage rec {
     hash = "sha256-9o3EDhgmne2J1QfzjjNQc1mUcyCzoVrCnWXqjWkiZU0=";
   };
 
-  nativeCheckInputs = [
-    pytestCheckHook
-    nbconvert
-    jupyter
-    jupyter-client
+  nativeBuildInputs = [
+    cmake
+    ninja
+    scikit-build
+    setuptools
   ];
 
   propagatedBuildInputs = [
@@ -48,17 +50,20 @@ buildPythonPackage rec {
     pybind11
   ];
 
-  # uses setuptools to drive build process
+  nativeCheckInputs = [
+    pytestCheckHook
+    nbconvert
+    jupyter
+    jupyter-client
+  ];
+
+  # Uses setuptools to drive build process
   dontUseCmakeConfigure = true;
 
-  nativeBuildInputs = [
-    cmake
-    ninja
-    scikit-build
+  pythonImportsCheck = [
+    "phik"
   ];
 
-  pythonImportsCheck = [ "phik" ];
-
   postInstall = ''
     rm -r $out/bin
   '';
@@ -68,12 +73,27 @@ buildPythonPackage rec {
     rm -r phik
   '';
 
+  disabledTests = [
+    # TypeError: 'numpy.float64' object cannot be interpreted as an integer
+    # https://github.com/KaveIO/PhiK/issues/73
+    "test_significance_matrix_hybrid"
+    "test_significance_matrix_mc"
+  ];
+
+  disabledTestPaths = [
+    # Don't test integrations
+    "tests/phik_python/integration/"
+  ];
+
   meta = with lib; {
     description = "Phi_K correlation analyzer library";
-    longDescription = "Phi_K is a new and practical correlation coefficient based on several refinements to Pearson’s hypothesis test of independence of two variables.";
-    homepage = "https://phik.readthedocs.io/en/latest/";
-    changelog = "https://github.com/KaveIO/PhiK/blob/${src.rev}/CHANGES.rst";
-    maintainers = with maintainers; [ melsigl ];
+    longDescription = ''
+      Phi_K is a new and practical correlation coefficient based on several refinements to
+      Pearson’s hypothesis test of independence of two variables.
+    '';
+    homepage = "https://phik.readthedocs.io/";
+    changelog = "https://github.com/KaveIO/PhiK/blob/${version}/CHANGES.rst";
     license = licenses.asl20;
+    maintainers = with maintainers; [ melsigl ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix b/nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix
index ca0d947d37b1..55842f20019d 100644
--- a/nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pillow-simd/default.nix
@@ -31,7 +31,7 @@ import ../pillow/generic.nix (rec {
 
       Currently, Pillow-SIMD can be compiled with SSE4 (default) or AVX2 support.
     '';
-    license = "http://www.pythonware.com/products/pil/license.htm";
+    license = licenses.hpnd;
     maintainers = with maintainers; [ ];
   };
 } // args )
diff --git a/nixpkgs/pkgs/development/python-modules/playwright/default.nix b/nixpkgs/pkgs/development/python-modules/playwright/default.nix
index 7751452d5fb8..575ffeff5a6b 100644
--- a/nixpkgs/pkgs/development/python-modules/playwright/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/playwright/default.nix
@@ -1,4 +1,5 @@
 { lib
+, auditwheel
 , buildPythonPackage
 , git
 , greenlet
@@ -6,6 +7,7 @@
 , pyee
 , python
 , pythonOlder
+, setuptools
 , setuptools-scm
 , playwright-driver
 }:
@@ -16,15 +18,15 @@ in
 buildPythonPackage rec {
   pname = "playwright";
   # run ./pkgs/development/python-modules/playwright/update.sh to update
-  version = "1.38.0";
-  format = "setuptools";
+  version = "1.40.0";
+  pyproject = true;
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "playwright-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-K3ZLDnDtV9PWX0etVv6RIDHp0vZZ7b7DGJ1GjP2kfXU=";
+    hash = "sha256-+gq/aFq/rQpl04LbaZXGxL35iIX1Wi/motYg5jwv91I=";
   };
 
   patches = [
@@ -46,10 +48,15 @@ buildPythonPackage rec {
     git commit -m "workaround setuptools-scm"
 
     substituteInPlace setup.py \
-      --replace "greenlet==2.0.1" "greenlet>=2.0.1" \
-      --replace "pyee==8.1.0" "pyee>=8.1.0" \
-      --replace "setuptools-scm==7.0.5" "setuptools-scm>=7.0.5" \
-      --replace "wheel==0.38.1" "wheel>=0.37.1"
+      --replace "setuptools-scm==8.0.4" "setuptools-scm" \
+      --replace "wheel==0.41.2" "wheel"
+
+    substituteInPlace pyproject.toml \
+      --replace 'requires = ["setuptools==68.2.2", "setuptools-scm==8.0.4", "wheel==0.41.2", "auditwheel==5.4.0"]' \
+                'requires = ["setuptools", "setuptools-scm", "wheel", "auditwheel"]' \
+      --replace 'version_file = "playwright/_repo_version.py"' ""
+    # FIXME version_file is available in setuptools-scm>=8.0.0
+    echo "__version__ = version = '${version}'" > playwright/_repo_version.py
 
     # Skip trying to download and extract the driver.
     # This is done manually in postInstall instead.
@@ -62,7 +69,7 @@ buildPythonPackage rec {
   '';
 
 
-  nativeBuildInputs = [ git setuptools-scm ];
+  nativeBuildInputs = [ git setuptools-scm setuptools auditwheel ];
 
   propagatedBuildInputs = [
     greenlet
diff --git a/nixpkgs/pkgs/development/python-modules/plum-py/default.nix b/nixpkgs/pkgs/development/python-modules/plum-py/default.nix
index b0cd4c4aea5b..721786e608d9 100644
--- a/nixpkgs/pkgs/development/python-modules/plum-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plum-py/default.nix
@@ -38,6 +38,12 @@ buildPythonPackage rec {
     "tests"
   ];
 
+  disabledTestPaths = [
+    # tests enum.IntFlag behaviour which has been disallowed in python 3.11.6
+    # https://gitlab.com/dangass/plum/-/issues/150
+    "tests/flag/test_flag_invalid.py"
+  ];
+
   meta = with lib; {
     description = "Classes and utilities for packing/unpacking bytes";
     homepage = "https://plum-py.readthedocs.io/";
diff --git a/nixpkgs/pkgs/development/python-modules/pmdsky-debug-py/default.nix b/nixpkgs/pkgs/development/python-modules/pmdsky-debug-py/default.nix
index 3f7e3305b98e..8a8b89e60455 100644
--- a/nixpkgs/pkgs/development/python-modules/pmdsky-debug-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pmdsky-debug-py/default.nix
@@ -7,7 +7,8 @@
 #This package is auto-generated. It could totally be possible to generate it from upstream, but seems unecessary
 buildPythonPackage rec {
   pname = "pmdsky-debug-py";
-  version = "4.0.0";
+  version = "8.0.4";
+  pyproject = true;
   # SkyTemple specifically require this version. This is used when patching the binary,
   # and risk to be a bit problematic if using the latest version, given it doesn’t follow semver.
 
@@ -15,19 +16,17 @@ buildPythonPackage rec {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "sha256-iRiUZoyWAkFGPvRyQRWvI0210Vk2jPS0PSCCCns5yJI=";
+    sha256 = "sha256-D81vXhYGxwvy26PvicniCLiS58LmrSP9ppzXKRzQSJc=";
   };
 
   prePatch = "cd src";
 
-  format = "pyproject";
-
   nativeBuildInputs = [ setuptools ];
 
   meta = with lib; {
     description = "Autogenerated and statically check-able pmdsky-debug symbol definitions for Python";
     homepage = "https://github.com/SkyTemple/pmdsky-debug-py";
     license = licenses.mit;
-    maintainers = with maintainers; [ marius851000 ];
+    maintainers = with maintainers; [ marius851000 xfix ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/podman/default.nix b/nixpkgs/pkgs/development/python-modules/podman/default.nix
index 4541cac8b14e..b3ba05351ea2 100644
--- a/nixpkgs/pkgs/development/python-modules/podman/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/podman/default.nix
@@ -7,15 +7,15 @@
 , pyxdg
 , requests
 , requests-mock
+, rich
 , setuptools
 , tomli
 , urllib3
-, wheel
 }:
 
 buildPythonPackage rec {
   pname = "podman";
-  version = "4.7.0";
+  version = "4.8.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -24,17 +24,17 @@ buildPythonPackage rec {
     owner = "containers";
     repo = "podman-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0p3o1pTqD5Y2JmyLcGS/OCb3HmRu5iqeFqoPlwAkNfY=";
+    hash = "sha256-lw8ZW1Uh6pbL5Z15NBBgKFm1143rEyFdecBHsSwBYVo=";
   };
 
   nativeBuildInputs = [
     setuptools
-    wheel
   ];
 
   propagatedBuildInputs = [
     pyxdg
     requests
+    rich
     tomli
     urllib3
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/polars/all_horizontal.patch b/nixpkgs/pkgs/development/python-modules/polars/all_horizontal.patch
deleted file mode 100644
index 3caf548d4ac0..000000000000
--- a/nixpkgs/pkgs/development/python-modules/polars/all_horizontal.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/crates/polars-lazy/src/frame/mod.rs b/crates/polars-lazy/src/frame/mod.rs
-index 2d2ede651..be24b8809 100644
---- a/crates/polars-lazy/src/frame/mod.rs
-+++ b/crates/polars-lazy/src/frame/mod.rs
-@@ -25,7 +25,7 @@ pub use parquet::*;
- use polars_core::frame::explode::MeltArgs;
- use polars_core::prelude::*;
- use polars_io::RowCount;
--use polars_plan::dsl::all_horizontal;
-+use polars_plan::dsl::functions::all_horizontal;
- pub use polars_plan::frame::{AllowedOptimizations, OptState};
- use polars_plan::global::FETCH_ROWS;
- #[cfg(any(feature = "ipc", feature = "parquet", feature = "csv"))]
diff --git a/nixpkgs/pkgs/development/python-modules/polars/default.nix b/nixpkgs/pkgs/development/python-modules/polars/default.nix
index fc82d8638569..991a3a3684cd 100644
--- a/nixpkgs/pkgs/development/python-modules/polars/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/polars/default.nix
@@ -32,13 +32,6 @@ buildPythonPackage {
   disabled = pythonOlder "3.6";
   src = rootSource;
 
-  patches = [
-    # workaround for apparent rustc bug
-    # remove when we're at Rust 1.73
-    # https://github.com/pola-rs/polars/issues/12050
-    ./all_horizontal.patch
-  ];
-
   # Cargo.lock file is sometimes behind actual release which throws an error,
   # thus the `sed` command
   # Make sure to check that the right substitutions are made when updating the package
diff --git a/nixpkgs/pkgs/development/python-modules/pot/default.nix b/nixpkgs/pkgs/development/python-modules/pot/default.nix
index a6251b3ea479..90aac0fef677 100644
--- a/nixpkgs/pkgs/development/python-modules/pot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pot/default.nix
@@ -1,10 +1,11 @@
 { lib
 , autograd
 , buildPythonPackage
+, fetchFromGitHub
 , cupy
 , cvxopt
 , cython
-, fetchPypi
+, oldest-supported-numpy
 , matplotlib
 , numpy
 , tensorflow
@@ -20,19 +21,20 @@
 buildPythonPackage rec {
   pname = "pot";
   version = "0.9.1";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    pname = "POT";
-    inherit version;
-    hash = "sha256-gcJTJ6ABl/8Rwf5SIc8YGtHf/mFWRBUuLhFd3d9eWRs=";
+  src = fetchFromGitHub {
+    owner = "PythonOT";
+    repo = "POT";
+    rev = version;
+    hash = "sha256-D61/dqO16VvcQx4FG1beKR4y1OQHndwCizaugNaUe4g=";
   };
 
   nativeBuildInputs = [
-    numpy
     cython
+    oldest-supported-numpy
   ];
 
   propagatedBuildInputs = [
@@ -59,17 +61,19 @@ buildPythonPackage rec {
       --replace " --cov-report= --cov=ot" "" \
       --replace " --durations=20" "" \
       --replace " --junit-xml=junit-results.xml" ""
-    substituteInPlace setup.py \
-      --replace '"oldest-supported-numpy", ' ""
 
     # we don't need setup.py to find the macos sdk for us
     sed -i '/sdk_path/d' setup.py
   '';
 
-  # To prevent importing of an incomplete package from the build directory
-  # instead of nix store (`ot` is the top-level package name).
+  # need to run the tests with the built package next to the test directory
   preCheck = ''
-    rm -r ot
+    pushd build/lib.*
+    ln -s -t . "$OLDPWD/test"
+  '';
+
+  postCheck = ''
+    popd
   '';
 
   disabledTests = [
@@ -100,15 +104,7 @@ buildPythonPackage rec {
     "test_emd1d_device_tf"
   ];
 
-  disabledTestPaths = [
-    # AttributeError: module pytest has no attribute skip_backend
-    "test/test_bregman.py"
-    "test/test_da.py"
-    "test/test_utils.py"
-    "test/test_gromov.py"
-    "test/test_helpers.py"
-    "test/test_unbalanced.py"
-  ] ++ lib.optionals (!enableDimensionalityReduction) [
+  disabledTestPaths = lib.optionals (!enableDimensionalityReduction) [
     "test/test_dr.py"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/prometheus-pandas/default.nix b/nixpkgs/pkgs/development/python-modules/prometheus-pandas/default.nix
index da6e9c1bccdd..ff7cadd8f58b 100644
--- a/nixpkgs/pkgs/development/python-modules/prometheus-pandas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prometheus-pandas/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "prometheus-pandas";
-  version = "0.3.2";
+  version = "0.3.3";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zysdlYPjvhextAfW4vvGN6mSPVUbWLV+AvQ1hGWCAbw=";
+    hash = "sha256-1eaTmNui3cAisKEhBMEpOv+UndJZwb4GGK2M76xiy7k=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/psycopg/default.nix b/nixpkgs/pkgs/development/python-modules/psycopg/default.nix
index 24063596918c..b73c74ca0ae3 100644
--- a/nixpkgs/pkgs/development/python-modules/psycopg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/psycopg/default.nix
@@ -35,13 +35,13 @@
 
 let
   pname = "psycopg";
-  version = "3.1.12";
+  version = "3.1.13";
 
   src = fetchFromGitHub {
     owner = "psycopg";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-2fd21aSCjwSwk8G0uS3cPGzLZfPVoJl2V5dG+akfCrE=";
+    hash = "sha256-N+x8RErlId1uBgXZjBBjtPxqJXGuXZEl78DKVKjhy9w=";
   };
 
   patches = [
@@ -51,12 +51,12 @@ let
       libc = "${stdenv.cc.libc}/lib/libc.so.6";
     })
 
-    # https://github.com/psycopg/psycopg/pull/669
-    # mark some tests as timing remove on next version update
     (fetchpatch {
-      name = "mark_tests_as_timing.patch";
-      url = "https://github.com/psycopg/psycopg/commit/00a3c640dd836328ba15931b400b012171f648c2.patch";
-      hash = "sha256-DoVZv1yy9gHOKl0AdVLir+C+UztJZVjboLhS5af2944=";
+      # fix environment variables leaking into test environment
+      # https://github.com/psycopg/psycopg/pull/683
+      # https://github.com/psycopg/psycopg/issues/681
+      url = "https://github.com/psycopg/psycopg/commit/f060855aa6126e811de243c7213d2caff9c88123.patch";
+      hash = "sha256-QsFxK8Qasw9kbNCUUCqbOHaf53kT5NONlr28vGoPda0=";
     })
   ];
 
@@ -188,12 +188,13 @@ buildPythonPackage rec {
   env = {
     postgresqlEnableTCP = 1;
     PGUSER = "psycopg";
+    PGDATABASE = "psycopg";
   };
 
   preCheck = ''
     cd ..
   '' + lib.optionalString (stdenv.isLinux) ''
-    export PSYCOPG_TEST_DSN="host=127.0.0.1 user=$PGUSER"
+    export PSYCOPG_TEST_DSN="host=/build/run/postgresql user=$PGUSER"
   '';
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix b/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
index f16fa4cedfd9..ad60d8e79f85 100644
--- a/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "publicsuffixlist";
-  version = "0.10.0.20231109";
+  version = "0.10.0.20231122";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cr2rEoGVJ8BeXLfyPq4Auxu7OEOlVnKxlSMUREmji2E=";
+    hash = "sha256-0CrHVPoQTS3I9ZPvf/4wWQX4vYn5vAeWUxNanjnbF60=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pubnub/default.nix b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
index 626f0913dfef..4a6ae8af2322 100644
--- a/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "7.3.1";
+  version = "7.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-V6yw/OscTGwrFcjHEhwtaT7txWLqbVj0uYjuoSAtP2E=";
+    hash = "sha256-J6vwdOI/GM/K0TxRwIgkXibNAc+n9wVCpmMkzMhBepw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix b/nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix
index 56036d21c109..fd2fb808bb43 100644
--- a/nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "py-partiql-parser";
-  version = "0.4.0";
+  version = "0.4.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "getmoto";
     repo = "py-partiql-parser";
     rev = "refs/tags/${version}";
-    hash = "sha256-gxoBc7PjS4EQix38VNX6u9cwy4FCjENcUN1euOJJLCo=";
+    hash = "sha256-EV5Md7dAkHcBbfF4DhmUHwKxjlXI4Jbb1VryeOwRTWo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix b/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix
index c9563039b0a8..2e3f3f6fabd6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix
@@ -4,7 +4,6 @@
 , buildPythonPackage
 , certifi
 , fetchFromGitHub
-, fetchpatch
 , numpy
 , poetry-core
 , pygments
@@ -17,27 +16,18 @@
 
 buildPythonPackage rec {
   pname = "pyairvisual";
-  version = "2023.08.1";
-  format = "pyproject";
+  version = "2023.11.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "pyairvisual";
     rev = "refs/tags/${version}";
-    hash = "sha256-+yqN3q+uA/v01uCguzUSoeCJK9lRmiiYn8d272+Dd2M=";
+    hash = "sha256-69lLw+ZYQ4hfD6xsfq1DVTWCnbp7e+qexuW3osDUejg=";
   };
 
-  patches = [
-    # https://github.com/bachya/pyairvisual/pull/298
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/pyairvisual/commit/eb32beb7229a53ff81917cc417ed66b26aae47dd.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace pyproject.toml --replace \
       'certifi = ">=2023.07.22"' \
diff --git a/nixpkgs/pkgs/development/python-modules/pyatag/default.nix b/nixpkgs/pkgs/development/python-modules/pyatag/default.nix
index 405c39398d5e..47cbf5b6c797 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatag/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatag/default.nix
@@ -3,12 +3,13 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pyatag";
-  version = "3.5.1";
-  format = "setuptools";
+  version = "0.3.7.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -16,9 +17,13 @@ buildPythonPackage rec {
     owner = "MatsNl";
     repo = "pyatag";
     rev = "refs/tags/${version}";
-    hash = "sha256-hyGos0LFVKv63jf1ODPFfk+R47oyHea+8MGvxeKpop8=";
+    hash = "sha256-3h9mpopTbEULCx7rcEt/I/ZnUA0L/fJ7Y3L5h/6EuC4=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
index 186dca2c17d0..9eeb40225cab 100644
--- a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
@@ -12,7 +12,6 @@
 , pytestCheckHook
 , libxcrypt
 , makeSetupHook
-, darwin
 }: let
   setupHook = makeSetupHook {
     name = "pybind11-setup-hook";
diff --git a/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix b/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix
index e8d33c939012..f6173a18966d 100644
--- a/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycfmodel/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pycfmodel";
-  version = "0.21.0";
+  version = "0.21.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Skyscanner";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-5KgZnph9BAE2w3Y93abDHQWmxnFdyVOuW/NdzN66hgA=";
+    hash = "sha256-nQIZ9fwk8CdqJawYsU5qiu9xxhi9X0IxhlPohHUDTL8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix b/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
index 55c687d89430..32ca267d4449 100644
--- a/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pychromecast";
-  version = "13.0.7";
+  version = "13.0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyChromecast";
     inherit version;
-    hash = "sha256-DemOnlvkMmndQe+xYSarDVupQcpKyuAkMpcShRwMAyQ=";
+    hash = "sha256-5LdSPbE3+N4F7tzGFUETtoUyhIYpRCtEjCM0+slmpEc=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyclip/default.nix b/nixpkgs/pkgs/development/python-modules/pyclip/default.nix
index cfeb3a19916b..c9819b523ad9 100644
--- a/nixpkgs/pkgs/development/python-modules/pyclip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyclip/default.nix
@@ -40,11 +40,11 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
-  meta = with lib; {
+  meta = {
     broken = stdenv.isDarwin;
     description = "Cross-platform clipboard utilities supporting both binary and text data";
     homepage = "https://github.com/spyoungtech/pyclip";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ mcaju ];
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ mcaju ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pycollada/default.nix b/nixpkgs/pkgs/development/python-modules/pycollada/default.nix
index 06daa9194610..24f4d26fe02d 100644
--- a/nixpkgs/pkgs/development/python-modules/pycollada/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycollada/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for reading and writing collada documents";
     homepage = "http://pycollada.github.io/";
-    license = "BSD"; # they don't specify which BSD variant
+    license = licenses.bsd3;
     platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ bjornfor ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pycontrol4/default.nix b/nixpkgs/pkgs/development/python-modules/pycontrol4/default.nix
index 5719e7640631..e45c448bba0f 100644
--- a/nixpkgs/pkgs/development/python-modules/pycontrol4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycontrol4/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, setuptools
 , aiohttp
 , xmltodict
 , python-socketio
@@ -10,17 +11,17 @@
 
 buildPythonPackage rec {
   pname = "pycontrol4";
-  version = "1.1.0";
+  version = "1.1.2";
 
   disabled = pythonOlder "3.6";
 
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "lawtancool";
     repo = "pyControl4";
-    rev = "v${version}";
-    hash = "sha256-dMv2b6dbMauPvPf4LHKmLF4jnXYRYe6A+2lDtiZDUhY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-oKKc9s3/fO7cFMjOeKtpvEwmfglxI2lxlN3EIva7zR8=";
   };
 
   postPatch = ''
@@ -28,6 +29,10 @@ buildPythonPackage rec {
       --replace "python-socketio>=4,<5" "python-socketio>=4"
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     xmltodict
diff --git a/nixpkgs/pkgs/development/python-modules/pydata-sphinx-theme/default.nix b/nixpkgs/pkgs/development/python-modules/pydata-sphinx-theme/default.nix
index 5cfd38ff37d3..8310d2fe21ba 100644
--- a/nixpkgs/pkgs/development/python-modules/pydata-sphinx-theme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydata-sphinx-theme/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pydata-sphinx-theme";
-  version = "0.14.3";
+  version = "0.14.4";
 
   format = "wheel";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     dist = "py3";
     python = "py3";
     pname = "pydata_sphinx_theme";
-    hash = "sha256-t+QM11ogRJrf4tdSW+N5uf6S9tMeUjPkSfo03c1DmNk=";
+    hash = "sha256-rBUgH0wuLnBCsMrYswJRQzwfkr52Ldzv20rmiBHZGNk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix b/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix
index a58e69fe0255..9a322790f865 100644
--- a/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydeconz/default.nix
@@ -1,32 +1,44 @@
 { lib
 , aiohttp
 , aioresponses
-, async-timeout
 , buildPythonPackage
 , fetchFromGitHub
 , orjson
 , pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
+, setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "113";
-  format = "setuptools";
+  version = "114";
+  pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "Kane610";
     repo = "deconz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Vf3nYUopaGY5JK//rqqsz47VRHwql1cQcslYbkH3owQ=";
+    hash = "sha256-XN6di3pxB7lhZ5TQnyHr7nKA0STBi0CVzGnhvRDsbFY=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "--cov=pydeconz --cov-report term-missing" "" \
+      --replace "setuptools==" "setuptools>=" \
+      --replace "wheel==" "wheel>="
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     aiohttp
-    async-timeout
     orjson
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pygls/default.nix b/nixpkgs/pkgs/development/python-modules/pygls/default.nix
index 91d7fa7eb519..34ed59e96061 100644
--- a/nixpkgs/pkgs/development/python-modules/pygls/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygls/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pygls";
-  version = "1.1.2";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "openlawlibrary";
     repo = "pygls";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OfLlYTgVCg+oiYww0RjRTjiBwTZBSNqJRryo8gZEmk4=";
+    hash = "sha256-hIr06qzOkObEcrIgFUloAPBJdOtcipl4htpbbUVkbdw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pygobject/3.nix b/nixpkgs/pkgs/development/python-modules/pygobject/3.nix
index 6d5615a780e5..89d261d5f8de 100644
--- a/nixpkgs/pkgs/development/python-modules/pygobject/3.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygobject/3.nix
@@ -10,24 +10,24 @@
 , ncurses
 , meson
 , ninja
-, isPy3k
+, pythonOlder
 , gnome
 , python
 }:
 
 buildPythonPackage rec {
   pname = "pygobject";
-  version = "3.44.1";
+  version = "3.46.0";
 
   outputs = [ "out" "dev" ];
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.8";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "PGgF0TIb6QzDLmSCFaViQw4NPW7c2o9MXnqdr/ytVxA=";
+    sha256 = "QmAIstrVSMmvHHsDtZ3wRA/eXDPzj7VAaxA6Q9ZTyvw=";
   };
 
   depsBuildBuild = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyheck/default.nix b/nixpkgs/pkgs/development/python-modules/pyheck/default.nix
index 4a32babb69fb..123ebe3db978 100644
--- a/nixpkgs/pkgs/development/python-modules/pyheck/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyheck/default.nix
@@ -2,11 +2,13 @@
 , buildPythonPackage
 , cargo
 , fetchFromGitHub
+, libiconv
 , poetry-core
 , pytestCheckHook
 , pythonOlder
 , rustc
 , rustPlatform
+, stdenv
 }:
 
 buildPythonPackage rec {
@@ -39,6 +41,8 @@ buildPythonPackage rec {
     rustPlatform.maturinBuildHook
   ];
 
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pykdl/default.nix b/nixpkgs/pkgs/development/python-modules/pykdl/default.nix
index cc92086747e4..75f2ab61d283 100644
--- a/nixpkgs/pkgs/development/python-modules/pykdl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykdl/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, toPythonModule, cmake, orocos-kdl, eigen, python }:
+{ lib, stdenv, toPythonModule, fetchpatch, cmake, pybind11, orocos-kdl, eigen
+, python }:
 
 toPythonModule (stdenv.mkDerivation {
   pname = "pykdl";
@@ -6,13 +7,22 @@ toPythonModule (stdenv.mkDerivation {
 
   sourceRoot = "${orocos-kdl.src.name}/python_orocos_kdl";
 
+  patches = [
+    # Support system pybind11; the vendored copy doesn't support Python 3.11
+    (fetchpatch {
+      url = "https://github.com/orocos/orocos_kinematics_dynamics/commit/e25a13fc5820dbca6b23d10506407bca9bcdd25f.patch";
+      hash = "sha256-NGMVGEYsa7hVX+SgRZgeSm93BqxFR1uiyFvzyF5H0Y4=";
+      stripLen = 1;
+    })
+  ];
+
   # Fix hardcoded installation path
   postPatch = ''
     substituteInPlace CMakeLists.txt \
       --replace dist-packages site-packages
   '';
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake pybind11 ];
   buildInputs = [ orocos-kdl eigen ];
   propagatedBuildInputs = [ python ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix b/nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix
index 0514b9eaeb40..832658039531 100644
--- a/nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykrakenapi/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pykrakenapi";
-  version = "0.3.1";
+  version = "0.3.2";
 
   disabled = pythonOlder "3.3";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "dominiktraxl";
     repo = "pykrakenapi";
     rev = "v${version}";
-    hash = "sha256-gG0kbB3yaFU4DcBKupnBS7UFuU1hIMThdUHCuqufKzc=";
+    hash = "sha256-sMtNdXM+47iCnDgo33DCD1nx/I+jVX/oG/9aN80LfRg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymc/default.nix b/nixpkgs/pkgs/development/python-modules/pymc/default.nix
index 5ca2b1ce9395..355d8511b6a4 100644
--- a/nixpkgs/pkgs/development/python-modules/pymc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymc/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pymc";
-  version = "5.9.1";
+  version = "5.10.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "pymc-devs";
     repo = "pymc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yY8W3B1yqj0oOkR6+nMbFgCFmTStXkePWnEYPHI8Zto=";
+    hash = "sha256-cjvEP7vkFQKwUPwHw3JWbS8+U8PEaL3c1D2NwV3uLOU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix b/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix
index 4c8d6aee1e49..c65e6d0e1487 100644
--- a/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix
@@ -54,6 +54,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/sbraz/pymediainfo";
     changelog = "https://github.com/sbraz/pymediainfo/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix b/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
index e52cb5da77fc..8f75abea64fd 100644
--- a/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pynamodb";
-  version = "5.5.0";
+  version = "5.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "pynamodb";
     repo = "PynamoDB";
     rev = "refs/tags/${version}";
-    hash = "sha256-sbGrFTpupBP0VQWR9gUVoCiw6D61s6GsmBvjgD1u99g=";
+    hash = "sha256-VZHEXAuHGn10EMkyd8hibipu6tw5JvOP4XwdB+xdjN8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyngo/default.nix b/nixpkgs/pkgs/development/python-modules/pyngo/default.nix
new file mode 100644
index 000000000000..91d39a4ab0a2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyngo/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# build-system
+, hatchling
+
+# dependencies
+, django
+, pydantic
+, typing-extensions
+
+# tests
+, django-stubs
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "pyngo";
+  version = "1.6.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "yezz123";
+    repo = "pyngo";
+    rev = version;
+    hash = "sha256-qOY1ILMDqSguLnbhuu5JJVMvG3uA08Lv2fB70TgrKqI=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    django
+    pydantic
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "pyngo" ];
+
+  nativeCheckInputs = [
+    django-stubs
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/yezz123/pyngo/releases/tag/${version}";
+    description = "Pydantic model support for Django & Django-Rest-Framework";
+    homepage = "https://github.com/yezz123/pyngo";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
index 318f2aa033b6..428bd4084ae0 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopengl/default.nix
@@ -69,7 +69,7 @@ buildPythonPackage rec {
       Python 2.5) ctypes library, and is provided under an extremely
       liberal BSD-style Open-Source license.
     '';
-    license = "BSD-style";
+    license = licenses.bsd3;
     platforms = platforms.mesaPlatforms;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix b/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
index 0b36f9b73544..c57fd7f12276 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
@@ -4,7 +4,6 @@
 , backoff
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -14,32 +13,18 @@
 
 buildPythonPackage rec {
   pname = "pyopenuv";
-  version = "2023.08.0";
-  format = "pyproject";
+  version = "2023.11.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "pyopenuv";
     rev = "refs/tags/${version}";
-    hash = "sha256-6JYYkEH873beEQf2agAF85YLSb7+n0UVzIuRz3amXpU=";
+    hash = "sha256-qlyKLovM0h3iWvhGecaFPswnchZXPNkr0PbSqK2UW0c=";
   };
 
-  patches = [
-    # This patch removes references to setuptools and wheel that are no longer
-    # necessary and changes poetry to poetry-core, so that we don't need to add
-    # unnecessary nativeBuildInputs.
-    #
-    #   https://github.com/bachya/pyopenuv/pull/244
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/pyopenuv/commit/1663f697dd5528fb03af1400e5ffd3fba076c64c.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
index 31d8adb3b629..af384e0a228c 100644
--- a/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyoverkiz";
-  version = "1.13.2";
+  version = "1.13.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iMicknl";
     repo = "python-overkiz-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-WGFRZhnlTDC9uv9N4sKznIdgjBwpnuT9Gsa8hdlnPAE=";
+    hash = "sha256-OvzK7NHRcv/UGLLZ60yNBNdK/J21iFh8myCvdBec+7Q=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyprind/default.nix b/nixpkgs/pkgs/development/python-modules/pyprind/default.nix
index faf99607199a..4dc25322863d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyprind/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyprind/default.nix
@@ -23,6 +23,6 @@ buildPythonPackage rec {
     description = "Python Progress Bar and Percent Indicator Utility";
     homepage = "https://github.com/rasbt/pyprind";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix b/nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix
index 51f0341703e1..641b12f4e50d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix
@@ -133,7 +133,10 @@ buildPythonPackage rec {
   ;
 
   # fix build with qt 6.6
-  env.NIX_CFLAGS_COMPILE = "-fpermissive";
+  env.NIX_CFLAGS_COMPILE = toString ([
+    "-fpermissive"
+  ]
+  ++ lib.optional (stdenv.isDarwin) "-Wno-address-of-temporary");
 
   meta = with lib; {
     description = "Python bindings for Qt6";
diff --git a/nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix b/nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix
index 7a4e86c8dd1f..44d4e83794fa 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "pyrainbird";
-  version = "4.0.0";
+  version = "4.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-VwcYyD9JtLDU2Bgp2hlptDz3vPoX4revTRKTA8OkWEw=";
+    hash = "sha256-OcCg6Q+FJnmrYf70uNLWTg/tfWVJpiQlnyKfREcP2YM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix b/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix
index 1ed1b31b5d57..7372e88482ff 100644
--- a/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyreadstat";
-  version = "1.2.4";
+  version = "1.2.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Roche";
     repo = "pyreadstat";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+wa8HxQyEwdGF2LWJXTZ/gOFpC8P9+k5p4Lj3ePP2n8=";
+    hash = "sha256-npzriBrp/ex0noH6EAmWnFyHzVkOKvQ68J578NujMHA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyregion/default.nix b/nixpkgs/pkgs/development/python-modules/pyregion/default.nix
index 30c63528514f..6f1affd9063e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyregion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyregion/default.nix
@@ -3,64 +3,59 @@
 , buildPythonPackage
 , fetchFromGitHub
 , fetchpatch
-, pyparsing
-, numpy
+# needed to build
 , cython
+, oldest-supported-numpy
+, setuptools
+, setuptools-scm
+, wheel
+# needed to run
 , astropy
-, astropy-helpers
+, numpy
+, pyparsing
+# needed to check
 , pytestCheckHook
 , pytest-astropy
 }:
 
 buildPythonPackage rec {
   pname = "pyregion";
-  version = "2.1.1";
+  version = "2.2.0";
+  pyproject = true;
 
   # pypi src contains cython-produced .c files which don't compile
   # with python3.9
   src = fetchFromGitHub {
     owner = "astropy";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-xo+XbBJ2HKql9rd7Ma84JofRg8M4u6vmz44Qo8JhEBc=";
+    rev = version;
+    hash = "sha256-r2STKnZwNvonXATrQ5q9NVD9QftlWI1RWl4F+GZSxVg=";
+  };
+
+  env = {
+    SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  } // lib.optionalAttrs stdenv.cc.isClang {
+    # Try to remove on next update.  generated code returns a NULL in a
+    # function where an int is expected.
+    NIX_CFLAGS_COMPILE = "-Wno-error=int-conversion";
   };
 
   propagatedBuildInputs = [
-    pyparsing
-    numpy
     astropy
-    cython
+    numpy
+    pyparsing
   ];
 
-  # Upstream patches needed for the tests to pass
-  # See https://github.com/astropy/pyregion/pull/157/
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/astropy/pyregion/pull/157/commits/082649730d353a0d0c0ee9619be1aa501aabba62.patch";
-      hash = "sha256-4mHZt3S29ZfK+QKavm6DLBwVxGl/ga7W7GEcQ5ewxuo=";
-    })
-    (fetchpatch {
-      url = "https://github.com/astropy/pyregion/pull/157/commits/c448a465dd56887979da62aec6138fc89bb37b19.patch";
-      hash = "sha256-GEtvScmVbAdE4E5Xx0hNOPommvzcnJ3jNZpBmY3PbyE=";
-    })
+  nativeBuildInputs = [
+    cython
+    oldest-supported-numpy
+    setuptools
+    setuptools-scm
+    wheel
   ];
 
-  nativeBuildInputs = [ astropy-helpers cython ];
-
   nativeCheckInputs = [ pytestCheckHook pytest-astropy ];
 
-  disabledTests = lib.optionals (!stdenv.hostPlatform.isDarwin) [
-    # Skipping 2 tests because it's failing. Domain knowledge was unavailable on decision.
-    # Error logs: https://gist.github.com/superherointj/3f616f784014eeb2e3039b0f4037e4e9
-    "test_calculate_rotation_angle"
-    "test_region"
-  ];
-
-  # Disable automatic update of the astropy-helper module
-  postPatch = ''
-    substituteInPlace setup.cfg --replace "auto_use = True" "auto_use = False"
-  '';
-
   # Tests must be run in the build directory
   preCheck = ''
     pushd build/lib.*
@@ -70,6 +65,7 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
+    changelog = "https://github.com/astropy/pyregion/blob/${version}/CHANGES.rst";
     description = "Python parser for ds9 region files";
     homepage = "https://github.com/astropy/pyregion";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/pyside6/default.nix b/nixpkgs/pkgs/development/python-modules/pyside6/default.nix
index 17e98a85089d..5a484637768b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyside6/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyside6/default.nix
@@ -1,12 +1,10 @@
 { lib
 , stdenv
-, fetchpatch2
 , cmake
 , ninja
 , python
 , moveBuildTree
 , shiboken6
-, libxcrypt
 }:
 
 stdenv.mkDerivation rec {
@@ -14,16 +12,7 @@ stdenv.mkDerivation rec {
 
   inherit (shiboken6) version src;
 
-  sourceRoot = "pyside-setup-everywhere-src-${version}/sources/${pname}";
-
-  patches = [
-    # Needed to build against qt 6.5.3, until pyside 6.5.3 is released
-    (fetchpatch2 {
-      url = "https://code.qt.io/cgit/pyside/pyside-setup.git/patch/sources/pyside6?id=63ef7628091c8827e3d0d688220d3ae165587eb2";
-      hash = "sha256-TN1xdBkrzZhNontShMC1SKyJK6a8fOk/Di3zX3kv5+I=";
-      stripLen = 2;
-    })
-  ];
+  sourceRoot = "pyside-setup-everywhere-src-${lib.removeSuffix ".0" version}/sources/${pname}";
 
   # FIXME: cmake/Macros/PySideModules.cmake supposes that all Qt frameworks on macOS
   # reside in the same directory as QtCore.framework, which is not true for Nix.
diff --git a/nixpkgs/pkgs/development/python-modules/pysigma/default.nix b/nixpkgs/pkgs/development/python-modules/pysigma/default.nix
index 57d2794b7a42..d80e23d269ef 100644
--- a/nixpkgs/pkgs/development/python-modules/pysigma/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysigma/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma";
-  version = "0.10.6";
+  version = "0.10.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CmIhNZraDawiiKg6WuHUVRMwXSVEizg1KEv7o2ZP1Hc=";
+    hash = "sha256-zKV2yDLhoRTvlDZ/bwEyJhtE6hx1IAgKNI37J31nQo8=";
   };
 
   pythonRelaxDeps = [
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # require network connection
+    # Tests require network connection
     "test_sigma_plugin_directory_default"
     "test_sigma_plugin_installation"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pysnmplib/default.nix b/nixpkgs/pkgs/development/python-modules/pysnmplib/default.nix
index 3b1c8fe2b299..587bb4762716 100644
--- a/nixpkgs/pkgs/development/python-modules/pysnmplib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysnmplib/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysnmplib";
-  version = "5.0.21";
+  version = "5.0.23";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "pysnmp";
     repo = "pysnmp";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ejRIlRxDbdZgy7wHilSzunRTGn1uO6YLLmLxNrrHKss=";
+    hash = "sha256-1h87fqaWMJN25SOD0xOkP3PFm1GPK99sT0o6ILCFVUI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyspx/default.nix b/nixpkgs/pkgs/development/python-modules/pyspx/default.nix
new file mode 100644
index 000000000000..b8e3cb49df6f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyspx/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, cffi
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "pyspx";
+  version = "0.5.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "sphincs";
+    repo = "pyspx";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-hMZ7JZoo5RdUwQYpGjtZznH/O6rBUXv+svfOAI0cjqs=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    cffi
+    setuptools
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pyspx"
+  ];
+
+  meta = with lib; {
+    description = "Python bindings for SPHINCS";
+    homepage = "https://github.com/sphincs/pyspx";
+    changelog = "https://github.com/sphincs/pyspx/releases/tag/v${version}";
+    license = licenses.cc0;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytaglib/default.nix b/nixpkgs/pkgs/development/python-modules/pytaglib/default.nix
index 0b57dce5ec1a..a3fd95133a66 100644
--- a/nixpkgs/pkgs/development/python-modules/pytaglib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytaglib/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pytaglib";
-  version = "2.0.0";
+  version = "2.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "supermihi";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-CEpyRxC9d7EuxupMQaX7WUCZ7lhyE6LhQY7Koe0NJ1A=";
+    hash = "sha256-b3ODsG5rdSJ1Tq/0DARf99gHgWWGaArBFAjqeK3mvsY=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytapo/default.nix b/nixpkgs/pkgs/development/python-modules/pytapo/default.nix
index 6cbde872a48f..2d4c8286d610 100644
--- a/nixpkgs/pkgs/development/python-modules/pytapo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytapo/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pytapo";
-  version = "3.3.6";
+  version = "3.3.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kY1tPkzmUN5eb6YeUp/WSVmDloVSJbM5TXEFyfoXc/g=";
+    hash = "sha256-omeJUF4bY/FfXMmBvpVo3dr7B/pUy8YXt0DPaSe3VkA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
index 8fe421cd9328..5d1efa486fb5 100644
--- a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "pytenable";
-  version = "1.4.13";
+  version = "1.4.14";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "tenable";
     repo = "pyTenable";
     rev = "refs/tags/${version}";
-    hash = "sha256-UY3AFnPplmU0jrV4LIKH4+2tcJEFkKMqO2GWVkgaHYE=";
+    hash = "sha256-EZ6W7DTcmZWjP2BmopU2G3S/82juGG+/ht5Fd8G0W1A=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytensor/default.nix b/nixpkgs/pkgs/development/python-modules/pytensor/default.nix
index 06d0dffb2468..c109a707d24d 100644
--- a/nixpkgs/pkgs/development/python-modules/pytensor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytensor/default.nix
@@ -18,15 +18,13 @@
 , pytest-mock
 , pytestCheckHook
 , pythonOlder
-# Tensorflow is currently (2023/10/04) broken.
-# Thus, we don't provide this optional test dependency.
-# , tensorflow-probability
+, tensorflow-probability
 , stdenv
 }:
 
 buildPythonPackage rec {
   pname = "pytensor";
-  version = "2.17.3";
+  version = "2.18.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -35,7 +33,7 @@ buildPythonPackage rec {
     owner = "pymc-devs";
     repo = "pytensor";
     rev = "refs/tags/rel-${version}";
-    hash = "sha256-FufPCFzSjG8BrHes7t3XsdovX9gqUBG0gMDGKvkRkSA=";
+    hash = "sha256-8bt6ps5bwT+Atr6JgQMxe234bL/ZriYlURUdX0sC1kk=";
   };
 
   postPatch = ''
@@ -66,9 +64,7 @@ buildPythonPackage rec {
     numba-scipy
     pytest-mock
     pytestCheckHook
-    # Tensorflow is currently (2023/10/04) broken.
-    # Thus, we don't provide this optional test dependency.
-    # tensorflow-probability
+    tensorflow-probability
   ];
 
   preBuild = ''
@@ -86,8 +82,6 @@ buildPythonPackage rec {
     "test_logsumexp_benchmark"
     "test_scan_multiple_output"
     "test_vector_taps_benchmark"
-    # Temporarily disabled because of broken tensorflow-probability
-    "test_tfp_ops"
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-order/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-order/default.nix
index 7fdcfdad1062..389ce90eddce 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-order/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-order/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-order";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-E50lswgmt47rtCci90fqsUxEuIBZ16cdT3nRSgVyaaU=";
+    hash = "sha256-lE+GttRBqnsdqA+AHGq2W4S766Ry0KehLrQ7omZQEBo=";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix
index df1ae78c8612..3f2cbf8d874a 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-testinfra/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonAtLeast
+, pythonOlder
 , setuptools-scm
 , ansible-core
 , paramiko
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-testinfra";
-  version = "9.0.0";
+  version = "10.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UxGzaeBUaSD85GTDv5RbVevnWhJ1aPbWFelLiJE0AUk=";
+    hash = "sha256-L7fQGFRYqbpmn/FNDdvsizkAxr3j+2+tmwlzdM5Kt30=";
   };
 
   nativeBuildInputs = [
@@ -52,8 +52,8 @@ buildPythonPackage rec {
     "test_user_connection"
     "test_sudo"
     "test_docker_encoding"
-  ] ++ lib.optionals (pythonAtLeast "3.11") [
-    # broken because salt package only built for python 3.10
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    # broken because salt package only built for python 3.11
     "test_backend_importables"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/python_fedora/default.nix b/nixpkgs/pkgs/development/python-modules/python-fedora/default.nix
index 7f4e6e2a4fd5..01c79c39ea1c 100644
--- a/nixpkgs/pkgs/development/python-modules/python_fedora/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-fedora/default.nix
@@ -1,15 +1,16 @@
 { lib
 , beautifulsoup4
 , buildPythonPackage
-, bunch
 , fetchPypi
 , kitchen
 , lockfile
 , munch
+, nose
 , openidc-client
-, paver
+, pytestCheckHook
 , pythonOlder
 , requests
+, setuptools
 , six
 , urllib3
 }:
@@ -17,7 +18,7 @@
 buildPythonPackage rec {
   pname = "python-fedora";
   version = "1.1.1";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -26,20 +27,30 @@ buildPythonPackage rec {
     hash = "sha256-VrnYQaObQDDjiOkMe3fazUefHOXi/5sYw5VNl9Vwmhk=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     beautifulsoup4
-    bunch
     kitchen
     lockfile
     munch
     openidc-client
-    paver
     requests
     six
     urllib3
   ];
 
-  doCheck = false;
+  nativeCheckInputs = [
+    pytestCheckHook
+    nose
+  ];
+
+  disabledTestPaths = [
+    # requires network access
+    "tests/functional/test_openidbaseclient.py"
+  ];
 
   pythonImportsCheck = [
     "fedora"
@@ -48,7 +59,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module to interact with the infrastructure of the Fedora Project";
     homepage = "https://github.com/fedora-infra/python-fedora";
-    changelog = "https://github.com/fedora-infra/python-fedora/releases/tag/1.1.1";
+    changelog = "https://github.com/fedora-infra/python-fedora/releases/tag/${version}";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/python-hosts/default.nix b/nixpkgs/pkgs/development/python-modules/python-hosts/default.nix
index e3c1b155c90b..7452abb860c3 100644
--- a/nixpkgs/pkgs/development/python-modules/python-hosts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-hosts/default.nix
@@ -1,31 +1,61 @@
-{ lib, buildPythonPackage, fetchPypi, pyyaml, pytest, pytest-cov }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, setuptools
+}:
 
 buildPythonPackage rec {
   pname = "python-hosts";
-  version = "1.0.4";
+  version = "1.0.5";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-y7d7CuGuKYEUCjFHvWb+iDI6oDeVsTzBNPSySzxu1Zk=";
+    hash = "sha256-xabbGnvzXNiE0koQVq9dmEib5Cv7kg1JjpZAyb7IZM0=";
   };
 
-  # win_inet_pton is required for windows support
+  # win_inet_pton is required for Windows support
   prePatch = ''
-    substituteInPlace setup.py --replace "install_requires=['win_inet_pton']," ""
-    substituteInPlace python_hosts/utils.py --replace "import win_inet_pton" ""
+    substituteInPlace setup.py \
+      --replace "install_requires=['win_inet_pton']," ""
+    substituteInPlace python_hosts/utils.py \
+      --replace "import win_inet_pton" ""
   '';
 
-  nativeCheckInputs = [ pyyaml pytest pytest-cov ];
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  # Removing 1 test file (it requires internet connection) and keeping the other two
-  checkPhase = ''
-    pytest tests/test_hosts_entry.py
-    pytest tests/test_utils.py
-  '';
+  nativeCheckInputs = [
+    pyyaml
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "python_hosts"
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_import_from_url_counters_for_part_success"
+    "test_import_from_url_with_force"
+    "test_import_from_url_without_force"
+    "test_import_from_url"
+  ];
 
   meta = with lib; {
-    description = "A library for managing a hosts file. It enables adding and removing entries, or importing them from a file or URL";
+    description = "Library for managing a hosts file";
+    longDescription = ''
+      python-hosts is a Python library for managing a hosts file. It enables you to add
+      and remove entries, or import them from a file or URL.
+    '';
     homepage = "https://github.com/jonhadfield/python-hosts";
+    changelog = "https://github.com/jonhadfield/python-hosts/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ psyanticy ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/python-ipware/default.nix b/nixpkgs/pkgs/development/python-modules/python-ipware/default.nix
index fb652df4a9e0..5564eabdb4f6 100644
--- a/nixpkgs/pkgs/development/python-modules/python-ipware/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-ipware/default.nix
@@ -3,11 +3,12 @@
 , fetchFromGitHub
 , pythonOlder
 , unittestCheckHook
+, setuptools
 }:
 buildPythonPackage rec {
   pname = "python-ipware";
-  version = "0.9.0";
-  format = "setuptools";
+  version = "2.0.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -15,12 +16,17 @@ buildPythonPackage rec {
     owner = "un33k";
     repo = "python-ipware";
     rev = "v${version}";
-    hash = "sha256-RK624ktIzoLBD/2mB65zcYZ+o8axDE16bJpB6TwG4h4=";
+    hash = "sha256-j43uAcb1dyKe/SHQLLR+QJS6hKGB5qxjb9NiJaUPj8Y=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   pythonImportsCheck = [
-    "ipware"
+    "python_ipware"
   ];
+
   nativeCheckInputs = [
     unittestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix
index eae9047c9f9d..01d9e4eb49d1 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix
@@ -3,37 +3,45 @@
 , buildPythonPackage
 , fetchPypi
 , ruff
+, cattrs
 , lsprotocol
 , python-lsp-server
 , tomli
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "python-lsp-ruff";
-  version = "1.6.0";
-  format = "pyproject";
-  disabled = pythonOlder "3.7";
+  version = "2.0.0";
+  pyproject = true;
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit version;
     pname = "python-lsp-ruff";
-    sha256 = "sha256-vf3ZNZyen1W29qk4ST1sus5VTcys9F3067NlUr406bg=";
+    sha256 = "sha256-lCTBFKTb1djrRQcX4Eg/G2Fs+VrqTvJ/XVnUPVM/5nE=";
   };
 
   postPatch = ''
     # ruff binary is used directly, the ruff python package is not needed
     sed -i '/"ruff>=/d' pyproject.toml
     sed -i 's|sys.executable, "-m", "ruff"|"${ruff}/bin/ruff"|' pylsp_ruff/plugin.py
+    sed -i -e '/sys.executable/,+2c"${ruff}/bin/ruff",' -e 's|assert "ruff" in call_args|assert "${ruff}/bin/ruff" in call_args|' tests/test_ruff_lint.py
+    # Nix builds everything in /build/ but ruff somehow doesn't run on files in /build/ and outputs empty results.
+    sed -i -e "s|workspace.root_path|'/tmp/'|g" tests/*.py
   '';
 
   propagatedBuildInputs = [
+    cattrs
     lsprotocol
     python-lsp-server
   ] ++ lib.optionals (pythonOlder "3.11") [
     tomli
   ];
 
-  doCheck = true;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/python-lsp/python-lsp-ruff";
diff --git a/nixpkgs/pkgs/development/python-modules/python-matter-server/default.nix b/nixpkgs/pkgs/development/python-modules/python-matter-server/default.nix
index 904cd312d56b..36e6ca30fcbd 100644
--- a/nixpkgs/pkgs/development/python-modules/python-matter-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-matter-server/default.nix
@@ -28,7 +28,7 @@
 
 buildPythonPackage rec {
   pname = "python-matter-server";
-  version = "4.0.1";
+  version = "4.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = "python-matter-server";
     rev = "refs/tags/${version}";
-    hash = "sha256-zCw5sj+UgY0egjXGzcbOb7VATeLY80+8Mv9owmdA+f0=";
+    hash = "sha256-fyVvmYznYuhDhU3kApXgXjkPdwhJFxoFq3U87ichmt8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-mbedtls/default.nix b/nixpkgs/pkgs/development/python-modules/python-mbedtls/default.nix
new file mode 100644
index 000000000000..967bade85b3b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-mbedtls/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, certifi
+, cython
+, mbedtls_2
+, pytestCheckHook
+, setuptools
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "python-mbedtls";
+  version = "2.8.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "Synss";
+    repo = "python-mbedtls";
+    rev = version;
+    hash = "sha256-gMFludfAprQ/1JR77Ee6/xVvGLJ9pY1LrouLpSKVrzk=";
+  };
+
+  nativeBuildInputs = [
+    cython
+    setuptools
+  ];
+
+  buildInputs = [
+    mbedtls_2
+  ];
+
+  propagatedBuildInputs = [
+    certifi
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "mbedtls" ];
+
+  meta = with lib; {
+    description = "Cryptographic library with an mbed TLS back end";
+    homepage = "https://github.com/Synss/python-mbedtls";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix b/nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix
index 9de9819e8840..eef8f21cb3aa 100644
--- a/nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "python-on-whales";
-  version = "0.66.0";
+  version = "0.67.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gabrieldemarmiesse";
     repo = "python-on-whales";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Y18NospSDcr9K93xS24vKTnrT8DT1GPRX78clZB040E=";
+    hash = "sha256-wO2ZSELxu8BmIZN4x2mSLzsbU3sU49MEpjTfiSzVzaE=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-opendata-transport/default.nix b/nixpkgs/pkgs/development/python-modules/python-opendata-transport/default.nix
index b633848e649e..473eb8089707 100644
--- a/nixpkgs/pkgs/development/python-modules/python-opendata-transport/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-opendata-transport/default.nix
@@ -1,30 +1,35 @@
 { lib
+, aiohttp
 , buildPythonPackage
 , fetchPypi
-, aiohttp
-, urllib3
 , pythonOlder
+, setuptools
+, urllib3
 }:
 
 buildPythonPackage rec {
   pname = "python-opendata-transport";
-  version = "0.3.0";
-  format = "setuptools";
+  version = "0.4.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     pname = "python_opendata_transport";
     inherit version;
-    hash = "sha256-CpzMMp2C3UOiUna9EcUucD/PKv7AZlkaU8QJfWntoi8=";
+    hash = "sha256-2lEKPu5vjyqNUqz1NGmZ5b6YP3oWnCgoubDdiQCbdps=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     urllib3
   ];
 
-  # no tests are present
+  # No tests are present
   doCheck = false;
 
   pythonImportsCheck = [
@@ -34,6 +39,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python client for interacting with transport.opendata.ch";
     homepage = "https://github.com/home-assistant-ecosystem/python-opendata-transport";
+    changelog = "https://github.com/home-assistant-ecosystem/python-opendata-transport/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix b/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
index 3a44ee54a2f3..7aae0e442d28 100644
--- a/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
@@ -29,9 +29,9 @@ let
     cmakeFlags = old.cmakeFlags ++ [ "-DCMAKE_CTEST_ARGUMENTS=-E;valgrind_unittest" ];
   });
 in buildPythonPackage rec {
-  version = "1.11";
+  version = "1.13";
   pname = "python-rapidjson";
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   format = "setuptools";
 
@@ -39,7 +39,7 @@ in buildPythonPackage rec {
     owner = "python-rapidjson";
     repo = "python-rapidjson";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Jnnr4MCopx2YJTqbHqSCzPBzUl0T8SqcznRGSI14d2Q=";
+    hash = "sha256-lWF/INhgeFQoPAhyL655UCcVamFELra29R6JPJSAmMg=";
   };
 
   setupPyBuildFlags = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix b/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix
index 8a13ee5e8991..c30f7b77b431 100644
--- a/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "python-rtmidi";
-  version = "1.5.7";
+  version = "1.5.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "python_rtmidi";
     inherit version;
-    hash = "sha256-3vsaSyrob/OYwjLFPu2lVOJKSfZ96ELnnOuos8p3N00=";
+    hash = "sha256-f5reaLBorgkADstWKulSHaOiNDYa1USeg/xzRUTQBPo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix b/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix
index d0fb764422fe..7a0d04e979b0 100644
--- a/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix
@@ -11,14 +11,14 @@
 }:
 buildPythonPackage rec {
   pname = "python-youtube";
-  version = "0.9.2";
+  version = "0.9.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "sns-sdks";
     repo = "python-youtube";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jUs6n8j1coA37V0RTYqr7pqt+LRABieX7gbyWsXQpUM=";
+    hash = "sha256-vd+cbESypc/q7eSrERqkMvGhVMIfKMsoxPblPJwPiUg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix
index 1ed718a70032..c2244a1c1447 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "pytorch-lightning";
-  version = "2.1.1";
+  version = "2.1.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Lightning-AI";
     repo = "pytorch-lightning";
     rev = "refs/tags/${version}";
-    hash = "sha256-1psTa++qF5WPDVXeDGWfcQ4hGz98uW297QDUKrQyoRE=";
+    hash = "sha256-d5DKAx67uuIPxtSgazIQnxLiHTBD0lwHaB6LD3R6vKA=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
index 59f1c4233ab3..ef4e572c873a 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.77";
+  version = "9.2.79";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kVMhzdTYwra8G/4gg1G853vUr7YHxxt/zXus/SXMkXc=";
+    hash = "sha256-wtRguqbSvypScYhPlnWXM1qcppaw2Tb93GNYc/fziCM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix b/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix
index 6a116e4c6e71..20d632456ea6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvicare/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyvicare";
-  version = "2.28.1";
+  version = "2.29.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "somm15";
     repo = "PyViCare";
     rev = "refs/tags/${version}";
-    hash = "sha256-6tyFSKD8Igai9A5wn7vRJdTryy+lv2MkxaskNpCwqV8=";
+    hash = "sha256-FTvlRCPajRqKLCb5x1Gz/EGZIdMhXow4nP+WlWbjLko=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pyvoro/default.nix b/nixpkgs/pkgs/development/python-modules/pyvoro/default.nix
index 802ad73a6411..595fa345f303 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvoro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvoro/default.nix
@@ -20,5 +20,15 @@ buildPythonPackage rec {
     description = "2D and 3D Voronoi tessellations: a python entry point for the voro++ library";
     license = licenses.mit;
     maintainers = [ ];
+
+    # Cython generated code is vendored directly and no longer compatible with
+    # newer versions of the CPython C API.
+    #
+    # Upstream explicitly removed the Cython source files from the source
+    # distribution, making it impossible for us to force-compile them:
+    # https://github.com/joe-jordan/pyvoro/commit/922bba6db32d44c2e1825228627a25aa891f9bc1
+    #
+    # No upstream activity since 2014.
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/qasync/default.nix b/nixpkgs/pkgs/development/python-modules/qasync/default.nix
index c3761210a1c1..182e1b209df4 100644
--- a/nixpkgs/pkgs/development/python-modules/qasync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qasync/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "qasync";
-  version = "0.26.1";
+  version = "0.27.0";
 
   format = "pyproject";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "CabbageDevelopment";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-vtRmThXKxqof+Rz3Dngtc9tuwL1bPYFHDq4DBRCsrIU=";
+    hash = "sha256-kU8QgcBZSzQQO3V4zKaIBuodUCQS4CLHOH7qHYU8ja0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix b/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix
deleted file mode 100644
index a20841319b74..000000000000
--- a/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix
+++ /dev/null
@@ -1,97 +0,0 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, fetchPypi
-, h5py
-, hickle
-, hypothesis
-, ipython
-, lazy-loader
-, matplotlib
-, numpy
-, pandas
-, pyqt5
-, pyqtgraph
-, pytest-mock
-, pytest-xdist
-, pytestCheckHook
-, pythonOlder
-, qcodes
-, setuptools
-, slack-sdk
-, versioningit
-, wheel
-, xarray
-}:
-
-buildPythonPackage rec {
-  pname = "qcodes-loop";
-  version = "0.1.2";
-  pyproject = true;
-
-  disabled = pythonOlder "3.8";
-
-  src = fetchPypi {
-    inherit version;
-    pname = "qcodes_loop";
-    hash = "sha256-TizNSC49n4Xc2BmJNziARlVXYQxp/LtwmKpgqQkQ3a8=";
-  };
-
-  nativeBuildInputs = [
-    setuptools
-    versioningit
-    wheel
-  ];
-
-  propagatedBuildInputs = [
-    qcodes
-    h5py
-    lazy-loader
-    matplotlib
-    numpy
-    pandas
-    xarray
-    hickle
-    ipython
-  ];
-
-  passthru.optional-dependencies = {
-    qtplot = [
-      pyqtgraph
-    ];
-    slack = [
-      slack-sdk
-    ];
-  };
-
-  nativeCheckInputs = [
-    pytestCheckHook
-    hypothesis
-    pytest-xdist
-    pytest-mock
-    pyqt5
-  ];
-
-  pythonImportsCheck = [
-    "qcodes_loop"
-  ];
-
-  postInstall = ''
-    export HOME="$TMPDIR"
-  '';
-
-  disabledTests = [
-    # AssertionError: False is not true
-    "TestHDF5_Format"
-  ];
-
-  meta = with lib; {
-    description = "Features previously in QCoDeS";
-    homepage = "https://github.com/QCoDeS/Qcodes_loop";
-    changelog = "https://github.com/QCoDeS/Qcodes_loop/releases/tag/v${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ evilmav ];
-    # Some tests fail on this platform
-    broken = stdenv.isDarwin;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/qcodes/default.nix b/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
index 320054041104..7db5c72f80c5 100644
--- a/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
@@ -4,7 +4,7 @@
 , cf-xarray
 , dask
 , deepdiff
-, fetchPypi
+, fetchFromGitHub
 , h5netcdf
 , h5py
 , hypothesis
@@ -31,7 +31,6 @@
 , pythonOlder
 , pyvisa
 , pyvisa-sim
-, qcodes-loop
 , rsa
 , ruamel-yaml
 , setuptools
@@ -49,14 +48,16 @@
 
 buildPythonPackage rec {
   pname = "qcodes";
-  version = "0.41.1";
-  format = "pyproject";
+  version = "0.42.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-3Ncg51E4KYbvzlEyesVbTmzmz+UPfFkj3tudVbNYqHQ=";
+  src = fetchFromGitHub {
+    owner = "QCoDeS";
+    repo = "Qcodes";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-+NtPE9mQKWftk3vR5WFZgM+7jl8HWr9MxVA+VpbuHvE=";
   };
 
   nativeBuildInputs = [
@@ -97,12 +98,6 @@ buildPythonPackage rec {
     importlib-metadata
   ];
 
-  passthru.optional-dependencies = {
-    loop = [
-      qcodes-loop
-    ];
-  };
-
   nativeCheckInputs = [
     deepdiff
     hypothesis
@@ -120,21 +115,26 @@ buildPythonPackage rec {
   __darwinAllowLocalNetworking = true;
 
   pytestFlagsArray = [
+    "-v"
+    "-n"
+    "$NIX_BUILD_CORES"
     # Follow upstream with settings
     "--durations=20"
   ];
 
   disabledTestPaths = [
     # Test depends on qcodes-loop, causing a cyclic dependency
-    "qcodes/tests/dataset/measurement/test_load_legacy_data.py"
+    "tests/dataset/measurement/test_load_legacy_data.py"
     # TypeError
-    "qcodes/tests/dataset/test_dataset_basic.py"
+    "tests/dataset/test_dataset_basic.py"
   ];
 
   disabledTests = [
     # Tests are time-sensitive and power-consuming
-    # Those tests fails repeatably
+    # Those tests fails repeatably and are flaky
     "test_access_channels_by_slice"
+    "test_aggregator"
+    "test_datasaver"
     "test_do1d_additional_setpoints_shape"
     "test_dond_1d_additional_setpoints_shape"
     "test_field_limits"
diff --git a/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix b/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix
index 30e7afd82b4c..f83a741dfd90 100644
--- a/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qdarkstyle/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "qdarkstyle";
-  version = "3.1";
+  version = "3.2.3";
 
   src = fetchPypi {
     inherit version;
     pname = "QDarkStyle";
-    hash = "sha256-YAWE1iU0Pg3dEo3gg5PTw1Y3eGpJgn8XTSmqfKqCecE=";
+    hash = "sha256-DAt/dKbpISEAiZKzabq2BGgVfbHALNMNZKXpo7QC8a4=";
   };
 
   # No tests available
diff --git a/nixpkgs/pkgs/development/python-modules/radios/default.nix b/nixpkgs/pkgs/development/python-modules/radios/default.nix
index 047946b25175..73630f59fd3a 100644
--- a/nixpkgs/pkgs/development/python-modules/radios/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/radios/default.nix
@@ -8,26 +8,28 @@
 , awesomeversion
 , backoff
 , cachetools
+, mashumaro
+, orjson
 , pycountry
-, pydantic
 , yarl
+, aresponses
 , pytest-asyncio
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "radios";
-  version = "0.1.1";
+  version = "0.3.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.11";
 
-  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "frenck";
     repo = "python-radios";
     rev = "v${version}";
-    hash = "sha256-NCBch9MCWVD6ez0sIUph8rwOOzEMZtwC4atXJe53xZM=";
+    hash = "sha256-bzo+SA8kqc2GcxSV0TiIJyPVG+JshdsMoXSUhZYSphU=";
   };
 
   postPatch = ''
@@ -46,18 +48,22 @@ buildPythonPackage rec {
     awesomeversion
     backoff
     cachetools
+    mashumaro
+    orjson
     pycountry
-    pydantic
     yarl
   ];
 
   nativeCheckInputs = [
+    aresponses
     pytest-asyncio
     pytestCheckHook
   ];
 
   pythonImportsCheck = [ "radios" ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with lib; {
     description = "Asynchronous Python client for the Radio Browser API";
     homepage = "https://github.com/frenck/python-radios";
diff --git a/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix b/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix
index 80094a1a350d..6bde7864d2af 100644
--- a/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "rapidfuzz";
-  version = "3.4.0";
+  version = "3.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "RapidFuzz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JgTmhnKVzv9m8//GMQjvCFPNJQM/7dalCD5bk6fWBPc=";
+    hash = "sha256-D7Z0xKqAJAPKSAEK+3Mpz/LaEKqKYczp+m6SqfzufwA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rapidgzip/default.nix b/nixpkgs/pkgs/development/python-modules/rapidgzip/default.nix
index ace2bad62016..450746876669 100644
--- a/nixpkgs/pkgs/development/python-modules/rapidgzip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rapidgzip/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "rapidgzip";
-  version = "0.10.3";
+  version = "0.10.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gtxF9V7OQb34Z0cCuTh/Lbe1ttCbdaY0zpM3KHHGGuw=";
+    hash = "sha256-dTVQTxzgjHAUuoWA2+asMI5g2fIWvHEl46bdTIAxAvg=";
   };
 
   nativeBuildInputs = [ nasm ];
@@ -27,6 +27,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for parallel decompression and seeking within compressed gzip files";
     homepage = "https://github.com/mxmlnkn/rapidgzip";
+    changelog = "https://github.com/mxmlnkn/rapidgzip/blob/rapidgzip-v${version}/python/rapidgzip/CHANGELOG.md";
     license = licenses.mit; # dual MIT and asl20, https://internals.rust-lang.org/t/rationale-of-apache-dual-licensing/8952
     maintainers = with lib.maintainers; [ mxmlnkn ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix b/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
index e0f393ff6134..0e216ce18508 100644
--- a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
@@ -1,25 +1,27 @@
 { lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, pytestCheckHook
+, pythonOlder
 , stdenv
+
 , affine
 , attrs
 , boto3
-, buildPythonPackage
+, certifi
 , click
 , click-plugins
 , cligj
-, certifi
 , cython_3
-, fetchFromGitHub
 , gdal
 , hypothesis
-, matplotlib
 , ipython
+, matplotlib
 , numpy
 , oldest-supported-numpy
 , packaging
 , pytest-randomly
-, pytestCheckHook
-, pythonOlder
 , setuptools
 , shapely
 , snuggs
@@ -40,6 +42,18 @@ buildPythonPackage rec {
     hash = "sha256-Tp6BSU33FaszrIXQgU0Asb7IMue0C939o/atAKz+3Q4=";
   };
 
+  patches = [
+    # fix tests failing with GDAL 3.8.0
+    (fetchpatch {
+      url = "https://github.com/rasterio/rasterio/commit/54ec554a6d9ee52207ad17dee42cbc51c613f709.diff";
+      hash = "sha256-Vjt9HRYNAWyj0myMdtSUENbcLjACfzegEClzZb4BxY8=";
+    })
+    (fetchpatch {
+      url = "https://github.com/rasterio/rasterio/commit/5a72613c58d1482bf297d08cbacf27992f52b2c4.diff";
+      hash = "sha256-bV6rh3GBmeqq9+Jff2b8/1wOuyF3Iqducu2eN4CT3lM=";
+    })
+  ];
+
   nativeBuildInputs = [
     cython_3
     gdal
@@ -52,13 +66,13 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     affine
     attrs
+    certifi
     click
     click-plugins
     cligj
-    certifi
     numpy
-    snuggs
     setuptools
+    snuggs
   ];
 
   passthru.optional-dependencies = {
@@ -77,8 +91,8 @@ buildPythonPackage rec {
     boto3
     hypothesis
     packaging
-    pytest-randomly
     pytestCheckHook
+    pytest-randomly
     shapely
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/rawkit/default.nix b/nixpkgs/pkgs/development/python-modules/rawkit/default.nix
index 65c5a5759998..83252b1c3338 100644
--- a/nixpkgs/pkgs/development/python-modules/rawkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rawkit/default.nix
@@ -31,6 +31,6 @@ buildPythonPackage rec {
     description = "CTypes based LibRaw bindings for Python";
     homepage = "https://rawkit.readthedocs.org/";
     license = licenses.mit;
-    maintainers = with maintainers; [ jfrankenau ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix b/nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix
index b6c20812d9cc..3ddc6bb4ccc9 100644
--- a/nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
+, setuptools
 , icalendar
 , pytz
 , python-dateutil
@@ -13,17 +15,23 @@
 
 buildPythonPackage rec {
   pname = "recurring-ical-events";
-  version = "2.1.0";
+  version = "2.1.1";
 
-  format = "setuptools";
+  disabled = pythonOlder "3.7";
+
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "niccokunzmann";
     repo = "python-recurring-ical-events";
     rev = "v${version}";
-    hash = "sha256-HNImooD6+hsMIfJX8LuHw1YyFIQNbY7dAjqdupPbhEE=";
+    hash = "sha256-I5D4CAk0C60H2hMBV62gOaIRA+wYF2ORKxHfWustQz0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     icalendar
     pytz
diff --git a/nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix b/nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix
index 7bf21823e7bb..4bd4b3c14619 100644
--- a/nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix
@@ -27,9 +27,9 @@ buildPythonPackage rec {
     hash = "sha256-fGOo9FgVMI6ayyB3EMN6RGThwWciShcBZzWTZWtOt8E=";
   };
 
-  # disable test coverage
+  # remove addops as they add test directory and coverage parameters to pytest
   postPatch = ''
-    sed -i "/--cov/d" setup.cfg
+    substituteInPlace setup.cfg --replace 'addopts =' 'no-opts ='
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
index 62de4b4f88c5..c3b959a65ef0 100644
--- a/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/regenmaschine/default.nix
@@ -3,7 +3,6 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -15,32 +14,18 @@
 
 buildPythonPackage rec {
   pname = "regenmaschine";
-  version = "2023.08.0";
-  format = "pyproject";
+  version = "2023.11.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "regenmaschine";
     rev = "refs/tags/${version}";
-    hash = "sha256-2czpPLTJOUxjzG0+aOyY01jfwlcRgoHiQdB6ybQ6gWg=";
+    hash = "sha256-FRfw3B2zHEspKf1LENrB3Ayu6/t3hyS8sjuwoBC5Lfk=";
   };
 
-  patches = [
-    # This patch removes references to setuptools and wheel that are no longer
-    # necessary and changes poetry to poetry-core, so that we don't need to add
-    # unnecessary nativeBuildInputs.
-    #
-    #   https://github.com/bachya/regenmaschine/pull/334
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/regenmaschine/commit/ecc2f771e2ae2e0a8d46f5beab072df4e4727ba3.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix b/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
index 832d84384759..2fbacc6ea980 100644
--- a/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "reolink-aio";
-  version = "0.7.15";
+  version = "0.8.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "reolink_aio";
     rev = "refs/tags/${version}";
-    hash = "sha256-BSl7dECYJIjR9QTvcizUF3Lz1jmgm9xi4kPt7PdO/Nk=";
+    hash = "sha256-zxIx7+cpYKN811yz+nxjtOagHOMMIs1YU0ZLN9q5T7M=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
index 674c508696bf..ac7d76f4377e 100644
--- a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "ring-doorbell";
-  version = "0.8.1";
+  version = "0.8.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "ring_doorbell";
     inherit version;
-    hash = "sha256-A7FQeeYym0nAQlkbpejpZqd5ZgX2cw3/DbshDxlrivw=";
+    hash = "sha256-d3GcswCTI8UUj4Ph/WujnQQlHB9m46UjNRkN0nA6Sxs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rollbar/default.nix b/nixpkgs/pkgs/development/python-modules/rollbar/default.nix
index 51b4af38b2e2..d5caebf899b0 100644
--- a/nixpkgs/pkgs/development/python-modules/rollbar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rollbar/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "rollbar";
-  version = "0.16.3";
+  version = "1.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AjE9/GBxDsc2qwM9D4yWnYV6i5kc1n4MGpFiDooE7eI=";
+    hash = "sha256-Y0e35J8i8ClvwoemrqddZCz2RJTS7hJwQqelk8l9868=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rotary-embedding-torch/default.nix b/nixpkgs/pkgs/development/python-modules/rotary-embedding-torch/default.nix
index 8a65e0249e70..814f178c81f3 100644
--- a/nixpkgs/pkgs/development/python-modules/rotary-embedding-torch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rotary-embedding-torch/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "rotary-embedding-torch";
-  version = "0.3.5";
+  version = "0.3.6";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "lucidrains";
     repo = "rotary-embedding-torch";
-    rev = version;
-    hash = "sha256-dST3eJnOcG2s9tiD/Fb9BvLS6nIpE8RXly92PK/gCC8=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-sbkUHFUv/+nY6AT3wu/ipuDF45VUjQalsYcIvUFR9PE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rpcq/default.nix b/nixpkgs/pkgs/development/python-modules/rpcq/default.nix
index 1289f10ed3c4..42643ca74826 100644
--- a/nixpkgs/pkgs/development/python-modules/rpcq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rpcq/default.nix
@@ -9,22 +9,32 @@
 , pythonOlder
 , pyzmq
 , ruamel-yaml
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "rpcq";
   version = "3.10.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "rigetti";
-    repo = pname;
+    repo = "rpcq";
     rev = "refs/tags/v${version}";
     hash = "sha256-J7jtGXJIF3jp0a0IQZmSR4TWf9D02Luau+Bupmi/d68=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "msgpack>=0.6,<1.0" "msgpack"
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     msgpack
     python-rapidjson
@@ -38,14 +48,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "msgpack>=0.6,<1.0" "msgpack"
-  '';
-
-  disabledTests = [
-    # Test doesn't work properly on Hydra
-    "test_client_backlog"
+  pytestFlagsArray = [
+    # Don't run tests that spin-up a zmq server
+    "rpcq/test/test_base.py"
+    "rpcq/test/test_spec.py"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
index 2c7254fdcfdf..0f6dd6469046 100644
--- a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.197.0";
+  version = "2.198.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "sagemaker-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-d4HbwzgVfuo6n4FD/nl88XeQi/FPRrlq8AIV/eZz9f4=";
+    hash = "sha256-iaO+wbMs2FsnPB3Y4zwC49fWqP/zHQGzGisxNtPxOUA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix
index c49ffd7bce5d..cf9d4c84c0bb 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix
@@ -7,10 +7,12 @@
 , git
 , meson-python
 , pkg-config
+, blas
+, lapack
 , numpy
-, openblas
 , setuptools
 , wheel
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -25,22 +27,17 @@ buildPythonPackage rec {
     hash = "sha256-XV3s+y3JdMr1770S91ek6Y7MqvTg7/2cphLQldUPe5s=";
   };
 
-  patches = [
-    # check for openblas64 pkg-config
-    # remove when patch merged upstream
-    # https://github.com/has2k1/scikit-misc/pull/29
-    (fetchpatch {
-      name = "openblas64-pkg-config.patch";
-      url = "https://github.com/has2k1/scikit-misc/commit/6a140de18e5e1276c7aa08bf0a047b1023aa9ae4.patch";
-      hash = "sha256-HzKiRISOvoDIUIcgiYVvxhx9klwyfAh/1DDKq7inl+A=";
-    })
-  ];
-
   postPatch = ''
     patchShebangs .
 
+    # unbound numpy and disable coverage testing in pytest
     substituteInPlace pyproject.toml \
-      --replace 'numpy==' 'numpy>='
+      --replace 'numpy==' 'numpy>=' \
+      --replace 'addopts = "' '#addopts = "'
+
+    # provide a version to use when git fails to get the tag
+    [[ -f skmisc/_version.py ]] || \
+      echo '__version__ = "${version}"' > skmisc/_version.py
   '';
 
   nativeBuildInputs = [
@@ -54,9 +51,31 @@ buildPythonPackage rec {
     wheel
   ];
 
-  buildInputs = [
+  propagatedBuildInputs = [
     numpy
-    openblas
+  ];
+
+  buildInputs = [
+    blas
+    lapack
+  ];
+
+  mesonFlags = [
+    "-Dblas=${blas.pname}"
+    "-Dlapack=${lapack.pname}"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  # can not run tests from source directory
+  preCheck = ''
+    cd "$(mktemp -d)"
+  '';
+
+  pytestFlagsArray = [
+    "--pyargs skmisc"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix b/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
index fb650d2d95ac..36e69d778db8 100644
--- a/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "scmrepo";
-  version = "1.4.1";
+  version = "1.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ZK3M689vv3Kr2OoNdxaCs9Spo6h6xJmhTsPajKHYtkA=";
+    hash = "sha256-eEK2U1gTw3PP7kt2lNjiEs8yZX9Cmty0LIgZqg7FsJc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/securesystemslib/default.nix b/nixpkgs/pkgs/development/python-modules/securesystemslib/default.nix
new file mode 100644
index 000000000000..4a0ce694866b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/securesystemslib/default.nix
@@ -0,0 +1,96 @@
+{ lib
+, asn1crypto
+, azure-identity
+, azure-keyvault-keys
+, boto3
+, botocore
+, buildPythonPackage
+, cryptography
+, ed25519
+, fetchFromGitHub
+, google-cloud-kms
+, hatchling
+, pynacl
+, pyspx
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "securesystemslib";
+  version = "0.30.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "secure-systems-lab";
+    repo = "securesystemslib";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Jqw65VTMLA/X7VQGxN0BlTzF/lxBYirDKBf+xI9cfhg=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  passthru.optional-dependencies = {
+    PySPX = [
+      pyspx
+    ];
+    awskms = [
+      boto3
+      botocore
+      cryptography
+    ];
+    azurekms = [
+      azure-identity
+      azure-keyvault-keys
+      cryptography
+    ];
+    crypto = [
+      cryptography
+    ];
+    gcpkms = [
+      cryptography
+      google-cloud-kms
+    ];
+    hsm = [
+      asn1crypto
+      cryptography
+    #   pykcs11
+    ];
+    pynacl = [
+      pynacl
+    ];
+    # Circular dependency
+    # sigstore = [
+    #   sigstore
+    # ];
+  };
+
+  nativeCheckInputs = [
+    ed25519
+    pytestCheckHook
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  pythonImportsCheck = [
+    "securesystemslib"
+  ];
+
+  disabledTestPaths = [
+    # pykcs11 is not available
+    "tests/test_hsm_signer.py"
+    # Ignore vendorized tests
+    "securesystemslib/_vendor/"
+  ];
+
+  meta = with lib; {
+    description = "Cryptographic and general-purpose routines";
+    homepage = "https://github.com/secure-systems-lab/securesystemslib";
+    changelog = "https://github.com/secure-systems-lab/securesystemslib/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
index b389da6f1c99..cabee11f0d6d 100644
--- a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -41,7 +41,7 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.35.0";
+  version = "1.37.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     owner = "getsentry";
     repo = "sentry-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-wV38DW5YfY+f5Qg/I7JPQ5R8TyqqdjwHKfr5XjT2vFA=";
+    hash = "sha256-y1fZe3ql8twSsTl24bP0fqA6myMv71I6IgzOVucbuvM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools_dso/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools_dso/default.nix
new file mode 100644
index 000000000000..30fc6f7393b4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/setuptools_dso/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose2
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "setuptools_dso";
+  version = "2.10";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-sjAZ9enOw3vF3zqXNbhu45SM5/sv2kIwfKC6SWJdG0Q=";
+  };
+
+  propagatedBuildInputs = [ setuptools ];
+
+  nativeCheckInputs = [ nose2 ];
+
+  checkPhase = ''
+    runHook preCheck
+    nose2 -v
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "setuptools extension for building non-Python Dynamic Shared Objects";
+    homepage = "https://github.com/mdavidsaver/setuptools_dso";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ marius851000 xfix ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sfrbox-api/default.nix b/nixpkgs/pkgs/development/python-modules/sfrbox-api/default.nix
index fce03188f85d..397fa31a8ca9 100644
--- a/nixpkgs/pkgs/development/python-modules/sfrbox-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sfrbox-api/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "sfrbox-api";
-  version = "0.0.6";
+  version = "0.0.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "hacf-fr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-1Jn785e4aLd83EHjkgB90sWi9No8wqCjUEn4ecyVl4o=";
+    hash = "sha256-yvVoWBupHRbMoXmun/pj0bPpujWKfH1SknEhvgIsPzk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/shiboken6/default.nix b/nixpkgs/pkgs/development/python-modules/shiboken6/default.nix
index 134bc4ff2d43..b2e8362be8b9 100644
--- a/nixpkgs/pkgs/development/python-modules/shiboken6/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shiboken6/default.nix
@@ -1,11 +1,11 @@
 { lib
 , fetchurl
+, fetchpatch
 , llvmPackages
 , python
 , cmake
 , autoPatchelfHook
 , stdenv
-, libxcrypt
 }:
 
 let
@@ -13,23 +13,30 @@ let
 in
 stdenv'.mkDerivation rec {
   pname = "shiboken6";
-  version = "6.5.2";
+  version = "6.6.0";
 
   src = fetchurl {
     # https://download.qt.io/official_releases/QtForPython/shiboken6/
     url = "https://download.qt.io/official_releases/QtForPython/shiboken6/PySide6-${version}-src/pyside-setup-everywhere-src-${version}.tar.xz";
-    sha256 = "sha256-kNvx0U/NQcmKfL6kS4pJUeENC3mOFUdJdW5JRmVNG6g";
+    sha256 = "sha256-LdAC24hRqHFzNU84qoxuxC0P8frJnqQisp4t/OUtFjg=";
   };
 
-  sourceRoot = "pyside-setup-everywhere-src-${version}/sources/${pname}";
+  sourceRoot = "pyside-setup-everywhere-src-${lib.removeSuffix ".0" version}/sources/${pname}";
 
   patches = [
     ./fix-include-qt-headers.patch
+    # TODO: remove after bumping above 6.6.0
+    (fetchpatch {
+      name = "shiboken6-improve-api-extractor-argument-parsing.patch";
+      url = "https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=6abde77c3df60ccac25089660df5797de7f6e68c";
+      hash = "sha256-uctp5rjY16X37BYzsZzg9AAgM2hwNVkcNxT1bCobb0I=";
+      stripLen = 2;
+    })
   ];
 
   nativeBuildInputs = [
     cmake
-    python
+    (python.pythonOnBuildForHost.withPackages (ps: [ ps.setuptools ]))
   ] ++ lib.optionals stdenv.isLinux [
     autoPatchelfHook
   ];
@@ -47,14 +54,20 @@ stdenv'.mkDerivation rec {
     "-DBUILD_TESTS=OFF"
   ];
 
-  # Due to Shiboken.abi3.so being linked to libshiboken6.abi3.so.6.5 in the build tree,
+  # We intentionally use single quotes around `${BASH}` since it expands from a CMake
+  # variable available in this file.
+  postPatch = ''
+    substituteInPlace cmake/ShibokenHelpers.cmake --replace '#!/bin/bash' '#!''${BASH}'
+  '';
+
+  # Due to Shiboken.abi3.so being linked to libshiboken6.abi3.so.6.6 in the build tree,
   # we need to remove the build tree reference from the RPATH and then add the correct
   # directory to the RPATH. On Linux, the second part is handled by autoPatchelfHook.
   # https://bugreports.qt.io/browse/PYSIDE-2233
   preFixup = ''
     echo "fixing RPATH of Shiboken.abi3.so"
   '' + lib.optionalString stdenv.isDarwin ''
-    install_name_tool -change {@rpath,$out/lib}/libshiboken6.abi3.6.5.dylib $out/${python.sitePackages}/shiboken6/Shiboken.abi3.so
+    install_name_tool -change {@rpath,$out/lib}/libshiboken6.abi3.6.6.dylib $out/${python.sitePackages}/shiboken6/Shiboken.abi3.so
   '' + lib.optionalString stdenv.isLinux ''
     patchelf $out/${python.sitePackages}/shiboken6/Shiboken.abi3.so --shrink-rpath --allowed-rpath-prefixes ${builtins.storeDir}
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/sigstore-protobuf-specs/default.nix b/nixpkgs/pkgs/development/python-modules/sigstore-protobuf-specs/default.nix
new file mode 100644
index 000000000000..be58c8b5f4cd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sigstore-protobuf-specs/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, pythonOlder
+, flit-core
+, fetchPypi
+, buildPythonPackage
+, betterproto
+}:
+
+buildPythonPackage rec {
+  pname = "sigstore-protobuf-specs";
+  version = "0.2.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    pname = "sigstore_protobuf_specs";
+    inherit version;
+    hash = "sha256-wFwedHioCvDH3qnMLRHwR4JuTAKVc9VkE394jhE3c5E=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+    betterproto
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "sigstore_protobuf_specs"
+  ];
+
+  meta = with lib; {
+    description = "Library for serializing and deserializing Sigstore messages";
+    homepage = "https://pypi.org/project/sigstore-protobuf-specs/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sigstore-rekor-types/default.nix b/nixpkgs/pkgs/development/python-modules/sigstore-rekor-types/default.nix
new file mode 100644
index 000000000000..a58595ed19a9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sigstore-rekor-types/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, pythonOlder
+, pydantic
+, flit-core
+, fetchFromGitHub
+, buildPythonPackage
+}:
+
+buildPythonPackage rec {
+  pname = "sigstore-rekor-types";
+  version = "0.0.11";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "trailofbits";
+    repo = "sigstore-rekor-types";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-oOFdRiDp9USc3A+aaPExprEO2i/RERNahiyi2kVpkns=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+    pydantic
+  ] ++ pydantic.optional-dependencies.email;
+
+  # Module has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python models for Rekor's API types";
+    homepage = "https://github.com/trailofbits/sigstore-rekor-types";
+    changelog = "https://github.com/trailofbits/sigstore-rekor-types/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/simpful/default.nix b/nixpkgs/pkgs/development/python-modules/simpful/default.nix
index bb535e7c10f5..2060210a3bd8 100644
--- a/nixpkgs/pkgs/development/python-modules/simpful/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simpful/default.nix
@@ -6,33 +6,29 @@
 , numpy
 , pytestCheckHook
 , pythonOlder
+, requests
 , scipy
 , seaborn
-, requests
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "simpful";
-  version = "2.11.0";
-  format = "setuptools";
+  version = "2.11.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "aresio";
-    repo = pname;
+    repo = "simpful";
     rev = "refs/tags/${version}";
-    hash = "sha256-1CU/Iz83CKRx7dsOTGfdJm98TUfc2kxCHKIEUXP36HQ=";
+    hash = "sha256-54WkKnPB3xA2CaOpmasqxgDoga3uAqoC1nOivytXmGY=";
   };
 
-  # patch dated use of private matplotlib interface
-  # https://github.com/aresio/simpful/issues/22
-  postPatch = ''
-    substituteInPlace simpful/simpful.py \
-      --replace \
-        "next(ax._get_lines.prop_cycler)['color']" \
-        "ax._get_lines.get_next_color()"
-  '';
+  nativeBuildInputs = [
+    setuptools
+  ];
 
   propagatedBuildInputs = [
     numpy
@@ -56,11 +52,11 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "Library for fuzzy logic";
     homepage = "https://github.com/aresio/simpful";
     changelog = "https://github.com/aresio/simpful/releases/tag/${version}";
     license = with licenses; [ lgpl3Only ];
     maintainers = with maintainers; [ fab ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/skytemple-dtef/default.nix b/nixpkgs/pkgs/development/python-modules/skytemple-dtef/default.nix
index 401e5a8e015b..238bae491a90 100644
--- a/nixpkgs/pkgs/development/python-modules/skytemple-dtef/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skytemple-dtef/default.nix
@@ -9,8 +9,8 @@
 
 buildPythonPackage rec {
   pname = "skytemple-dtef";
-  version = "1.1.5";
-  format = "setuptools";
+  version = "1.6.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    hash = "sha256-QL+nLmjz0wCED2RjidIDK0tB6mAPnoaSJWpyLFu0pP4=";
+    hash = "sha256-ngIjM8DW9HQJpa/U2f1sy+6CeWdccayp60vbJmos+A8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/skytemple-eventserver/default.nix b/nixpkgs/pkgs/development/python-modules/skytemple-eventserver/default.nix
index 123f4ba6d853..e258b46c584f 100644
--- a/nixpkgs/pkgs/development/python-modules/skytemple-eventserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skytemple-eventserver/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "skytemple-eventserver";
-  version = "1.0.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "1xcf7ljvi5ixhwx9rkg3hnwcyv4wsgd2yb6is11jffbrdp00j2bq";
+    hash = "sha256-PWLGPORNprTfG+jgXI1sxyVkRTwSEib4SZhPdOBchwE=";
   };
 
   doCheck = false; # there are no tests
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/SkyTemple/skytemple-eventserver";
     description = "Websocket server that emits SkyTemple UI events";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ xfix ];
+    maintainers = with maintainers; [ marius851000 xfix ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/skytemple-files/default.nix b/nixpkgs/pkgs/development/python-modules/skytemple-files/default.nix
index d6a56883bc46..faac31c81521 100644
--- a/nixpkgs/pkgs/development/python-modules/skytemple-files/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skytemple-files/default.nix
@@ -12,6 +12,8 @@
 , tilequant
 , pyyaml
 , pmdsky-debug-py
+, range-typed-integers
+, importlib-resources
 , typing-extensions
 , pythonOlder
 , # optional dependancies for SpriteCollab
@@ -28,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "skytemple-files";
-  version = "1.5.5";
+  version = "1.6.1";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    hash = "sha256-PVHI3SuXXH+XpSaBhtSUT5I6wYK3WmwW67nJmPLKdg4=";
-    fetchSubmodules = true;
+    hash = "sha256-P0VME1keazqcyb0JuQ4iXPyJH7/gTmYE7uASpjvhqUo=";
   };
 
   postPatch = ''
@@ -56,7 +58,9 @@ buildPythonPackage rec {
     tilequant
     pyyaml
     pmdsky-debug-py
+    range-typed-integers
   ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
     typing-extensions
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/skytemple-rust/default.nix b/nixpkgs/pkgs/development/python-modules/skytemple-rust/default.nix
index ddf1866a1056..d33a87f50662 100644
--- a/nixpkgs/pkgs/development/python-modules/skytemple-rust/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skytemple-rust/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , buildPythonPackage
 , cargo
-, fetchFromGitHub
+, fetchPypi
 , libiconv
 , Foundation
 , rustPlatform
@@ -13,19 +13,18 @@
 
 buildPythonPackage rec {
   pname = "skytemple-rust";
-  version = "1.5.3";
+  version = "1.6.1";
+  pyproject = true;
 
-  src = fetchFromGitHub {
-    owner = "SkyTemple";
-    repo = pname;
-    rev = version;
-    hash = "sha256-Txx8kQNb3ODbaJXfuHERzPx4zGUqYXzy+jbLNaMyf+w=";
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Qg2KAzjSV7yQTpRHmNMkHRwOJSbfsgcdT0RHQru2lBI=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-KQA8dfHnuysx9EUySJXZ/52Hfq6AbALwkBp3B1WJJuc=";
+    hash = "sha256-ZJ5eYof9RZ07iP0YowIBorHuNUntQVW9JWcSVe2emig=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
@@ -34,7 +33,7 @@ buildPythonPackage rec {
 
   GETTEXT_SYSTEM = true;
 
-  doCheck = false; # there are no tests
+  doCheck = false; # tests for this package are in skytemple-files package
   pythonImportsCheck = [ "skytemple_rust" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix b/nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
index 6f05b7324c82..b497c4406147 100644
--- a/nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
@@ -1,40 +1,53 @@
-{ lib
-, buildPythonPackage
+{ buildPythonPackage
+, explorerscript
 , fetchFromGitHub
 , gobject-introspection
 , gtk3
 , gtksourceview4
-, wrapGAppsHook
+, importlib-metadata
+, lib
+, ndspy
 , nest-asyncio
+, pmdsky-debug-py
 , pycairo
-, py-desmume
+, pygobject3
 , pygtkspellcheck
-, setuptools
+, pythonOlder
+, range-typed-integers
 , skytemple-files
 , skytemple-icons
+, skytemple-ssb-emulator
+, wrapGAppsHook
 }:
 
 buildPythonPackage rec {
   pname = "skytemple-ssb-debugger";
-  version = "1.4.4";
+  version = "1.6.1";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    hash = "sha256-/LBz0PCQI3QOAmOZk6Jynqi/+NN0w8gbY/S3YckRZ68=";
+    hash = "sha256-Zqp/NSF3uoxktycg+Q3BLFUMzbHFKUkYCg+DvEcRydU=";
   };
 
   buildInputs = [ gtk3 gtksourceview4 ];
   nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
   propagatedBuildInputs = [
+    explorerscript
+    ndspy
     nest-asyncio
+    pmdsky-debug-py
     pycairo
-    py-desmume
+    pygobject3
     pygtkspellcheck
-    setuptools
+    range-typed-integers
     skytemple-files
     skytemple-icons
+    skytemple-ssb-emulator
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
   ];
 
   doCheck = false; # requires Pokémon Mystery Dungeon ROM
@@ -44,6 +57,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/SkyTemple/skytemple-ssb-debugger";
     description = "Script Engine Debugger for Pokémon Mystery Dungeon Explorers of Sky";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ xfix ];
+    maintainers = with maintainers; [ marius851000 xfix ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/skytemple-ssb-emulator/Cargo.lock b/nixpkgs/pkgs/development/python-modules/skytemple-ssb-emulator/Cargo.lock
new file mode 100644
index 000000000000..f8ed09197a77
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/skytemple-ssb-emulator/Cargo.lock
@@ -0,0 +1,887 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "arc-swap"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
+
+[[package]]
+name = "bitvec"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "block"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
+
+[[package]]
+name = "byteorder"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "desmume-rs"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95166a679be6515156852dfd35dd5b086929b1a82104a0fdc68c7e3c3dcccd05"
+dependencies = [
+ "desmume-sys",
+ "thiserror",
+]
+
+[[package]]
+name = "desmume-sys"
+version = "0.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8414d5cfbc53315f1956069a67d34e2a1c4c05d420e669504a4dfc4e5ba278e3"
+dependencies = [
+ "glob",
+ "libc",
+ "pkg-config",
+ "tempfile",
+]
+
+[[package]]
+name = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[package]]
+name = "encoding"
+version = "0.2.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
+dependencies = [
+ "encoding-index-japanese",
+ "encoding-index-korean",
+ "encoding-index-simpchinese",
+ "encoding-index-singlebyte",
+ "encoding-index-tradchinese",
+]
+
+[[package]]
+name = "encoding-index-japanese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
+dependencies = [
+ "encoding_index_tests",
+]
+
+[[package]]
+name = "encoding-index-korean"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
+dependencies = [
+ "encoding_index_tests",
+]
+
+[[package]]
+name = "encoding-index-simpchinese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7"
+dependencies = [
+ "encoding_index_tests",
+]
+
+[[package]]
+name = "encoding-index-singlebyte"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a"
+dependencies = [
+ "encoding_index_tests",
+]
+
+[[package]]
+name = "encoding-index-tradchinese"
+version = "1.20141219.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
+dependencies = [
+ "encoding_index_tests",
+]
+
+[[package]]
+name = "encoding_index_tests"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
+
+[[package]]
+name = "errno"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[package]]
+name = "fastrand"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
+
+[[package]]
+name = "funty"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
+
+[[package]]
+name = "gettext-rs"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364"
+dependencies = [
+ "gettext-sys",
+ "locale_config",
+]
+
+[[package]]
+name = "gettext-sys"
+version = "0.21.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d"
+dependencies = [
+ "cc",
+ "temp-dir",
+]
+
+[[package]]
+name = "glob"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+
+[[package]]
+name = "indoc"
+version = "2.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+
+[[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.149"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
+
+[[package]]
+name = "locale_config"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
+dependencies = [
+ "lazy_static",
+ "objc",
+ "objc-foundation",
+ "regex",
+ "winapi",
+]
+
+[[package]]
+name = "lock_api"
+version = "0.4.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "malloc_buf"
+version = "0.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "memchr"
+version = "2.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num-derive"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "objc"
+version = "0.2.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
+dependencies = [
+ "malloc_buf",
+]
+
+[[package]]
+name = "objc-foundation"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
+dependencies = [
+ "block",
+ "objc",
+ "objc_id",
+]
+
+[[package]]
+name = "objc_id"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
+dependencies = [
+ "objc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[package]]
+name = "packed_struct"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "36b29691432cc9eff8b282278473b63df73bea49bc3ec5e67f31a3ae9c3ec190"
+dependencies = [
+ "bitvec",
+ "packed_struct_codegen",
+ "serde",
+]
+
+[[package]]
+name = "packed_struct_codegen"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cd6706dfe50d53e0f6aa09e12c034c44faacd23e966ae5a209e8bdb8f179f98"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-targets",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04e8453b658fe480c3e70c8ed4e3d3ec33eb74988bd186561b0cc66b85c3bc4b"
+dependencies = [
+ "cfg-if",
+ "indoc",
+ "libc",
+ "memoffset",
+ "parking_lot",
+ "pyo3-build-config",
+ "pyo3-ffi",
+ "pyo3-macros",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-build-config"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a96fe70b176a89cff78f2fa7b3c930081e163d5379b4dcdf993e3ae29ca662e5"
+dependencies = [
+ "once_cell",
+ "target-lexicon",
+]
+
+[[package]]
+name = "pyo3-ffi"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "214929900fd25e6604661ed9cf349727c8920d47deff196c4e28165a6ef2a96b"
+dependencies = [
+ "libc",
+ "pyo3-build-config",
+]
+
+[[package]]
+name = "pyo3-log"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c10808ee7250403bedb24bc30c32493e93875fef7ba3e4292226fe924f398bd"
+dependencies = [
+ "arc-swap",
+ "log",
+ "pyo3",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dac53072f717aa1bfa4db832b39de8c875b7c7af4f4a6fe93cdbf9264cf8383b"
+dependencies = [
+ "proc-macro2",
+ "pyo3-macros-backend",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7774b5a8282bd4f25f803b1f0d945120be959a36c72e08e7cd031c792fdfd424"
+dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
+
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+[[package]]
+name = "rustix"
+version = "0.38.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
+dependencies = [
+ "bitflags 2.4.1",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "serde"
+version = "1.0.190"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91d3c334ca1ee894a2c6f6ad698fe8c435b76d504b13d436f0685d648d6d96f7"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.190"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67c5609f394e5c2bd7fc51efda478004ea80ef42fee983d5c67a65e34f32c0e3"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "skytemple_rust"
+version = "1.6.0"
+source = "git+https://github.com/SkyTemple/skytemple-rust.git?tag=1.6.0#9403594d96a7c8fa480625578038a75e9189173f"
+dependencies = [
+ "bytes",
+ "encoding",
+ "gettext-rs",
+ "itertools",
+ "log",
+ "num-derive",
+ "num-traits",
+ "packed_struct",
+ "paste",
+ "skytemple_rust_macros",
+ "skytemple_rust_macros_no_py",
+ "thiserror",
+]
+
+[[package]]
+name = "skytemple_rust_macros"
+version = "1.4.0"
+source = "git+https://github.com/SkyTemple/skytemple-rust.git?tag=1.6.0#9403594d96a7c8fa480625578038a75e9189173f"
+dependencies = [
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "skytemple_rust_macros_no_py"
+version = "1.4.0"
+source = "git+https://github.com/SkyTemple/skytemple-rust.git?tag=1.6.0#9403594d96a7c8fa480625578038a75e9189173f"
+dependencies = [
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "skytemple_ssb_emulator"
+version = "1.6.1"
+dependencies = [
+ "byteorder",
+ "crossbeam-channel",
+ "desmume-rs",
+ "lazy_static",
+ "log",
+ "pyo3",
+ "pyo3-log",
+ "serde_json",
+ "skytemple_rust",
+ "sprintf",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+
+[[package]]
+name = "sprintf"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c0cdea5a20a06e7c57f627094e7b1618e5665592cd88f2d45fa4014e348db58"
+
+[[package]]
+name = "syn"
+version = "1.0.109"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a"
+
+[[package]]
+name = "temp-dir"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
+
+[[package]]
+name = "tempfile"
+version = "3.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall",
+ "rustix",
+ "windows-sys",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.38",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unindent"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "wyz"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
+dependencies = [
+ "tap",
+]
diff --git a/nixpkgs/pkgs/development/python-modules/skytemple-ssb-emulator/default.nix b/nixpkgs/pkgs/development/python-modules/skytemple-ssb-emulator/default.nix
new file mode 100644
index 000000000000..0e0f4dc98885
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/skytemple-ssb-emulator/default.nix
@@ -0,0 +1,78 @@
+{ alsa-lib
+, buildPythonPackage
+, cargo
+, fetchPypi
+, glib
+, lib
+, libpcap
+, meson
+, ninja
+, openal
+, pkg-config
+, range-typed-integers
+, rustc
+, rustPlatform
+, SDL2
+, setuptools
+, setuptools-rust
+, soundtouch
+, zlib
+}:
+buildPythonPackage rec {
+  pname = "skytemple-ssb-emulator";
+  version = "1.6.1.post1";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-FEQnQPIathtrP03Dncz560K0lhKW4+HI/Oyo7qsEpFw=";
+  };
+
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "skytemple_rust-1.6.0" = "sha256-4glBo1VKCSwSSeQU6Ojhc0Cbaikxy101V1fU4rgcczg=";
+    };
+  };
+
+  buildInputs = [
+    alsa-lib
+    glib
+    libpcap
+    SDL2
+    soundtouch
+    zlib
+  ];
+
+  nativeBuildInputs = [
+    cargo
+    meson
+    ninja
+    openal
+    pkg-config
+    rustc
+    rustPlatform.cargoSetupHook
+    setuptools
+    setuptools-rust
+  ];
+
+  propagatedBuildInputs = [
+    range-typed-integers
+  ];
+
+  hardeningDisable = [
+    "format"
+  ];
+
+  doCheck = false; # there are no tests
+  pythonImportsCheck = [
+    "skytemple_ssb_emulator"
+  ];
+
+  meta = with lib; {
+    description = "SkyTemple Script Engine Debugger Emulator Backend";
+    homepage = "https://github.com/SkyTemple/skytemple-ssb-emulator";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ marius851000 xfix ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/slack-bolt/default.nix b/nixpkgs/pkgs/development/python-modules/slack-bolt/default.nix
index f732da1d5d3f..94291d7a9cc4 100644
--- a/nixpkgs/pkgs/development/python-modules/slack-bolt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slack-bolt/default.nix
@@ -4,6 +4,7 @@
 , chalice
 , cherrypy
 , django
+, docker
 , falcon
 , fastapi
 , fetchFromGitHub
@@ -18,6 +19,7 @@
 , pytestCheckHook
 , pythonOlder
 , sanic
+, setuptools
 , sanic-testing
 , slack-sdk
 , starlette
@@ -30,8 +32,8 @@
 
 buildPythonPackage rec {
   pname = "slack-bolt";
-  version = "1.18.0";
-  format = "setuptools";
+  version = "1.18.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -39,7 +41,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "bolt-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-s9djd/MDNnyNkjkeApY6Fb1mhI6iop8RghaSJdi4eAs=";
+    hash = "sha256-UwVStemFVA4hgqnSpCKpQGwLYG+p5z7MwFXXnIhrvNk=";
   };
 
   # The packaged pytest-runner version is too new as of 2023-07-27. It's not really needed anyway. Unfortunately,
@@ -48,7 +50,13 @@ buildPythonPackage rec {
     substituteInPlace setup.py --replace "pytest-runner==5.2" ""
   '';
 
-  propagatedBuildInputs = [ slack-sdk ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    slack-sdk
+  ];
 
   passthru.optional-dependencies = {
     async = [
@@ -78,6 +86,7 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
+    docker
     pytest-asyncio
     pytestCheckHook
   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
diff --git a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
index 66c1a734c8b6..a015400616e3 100644
--- a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.23.1";
+  version = "3.26.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lqB4eljM/JLyvVHeT7LnYgjG3AP3i9le2IxUI31aK6o=";
+    hash = "sha256-jvLzZFlR2msyCc9C7WvYpXIGoKCDRxJI5lgNUtbGh/w=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/slackclient/default.nix b/nixpkgs/pkgs/development/python-modules/slackclient/default.nix
index a31f44b3ad68..c45d8394fa85 100644
--- a/nixpkgs/pkgs/development/python-modules/slackclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slackclient/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "slackclient";
-  version = "3.23.0";
+  version = "3.26.0";
   format =  "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OsPwLOnmN3kvPmbM6lOaiTWwWvy7b9pgn1X536dCkWk=";
+    hash = "sha256-jvLzZFlR2msyCc9C7WvYpXIGoKCDRxJI5lgNUtbGh/w=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/speechbrain/default.nix b/nixpkgs/pkgs/development/python-modules/speechbrain/default.nix
index 4875019258ea..ddb1ab53c9c3 100644
--- a/nixpkgs/pkgs/development/python-modules/speechbrain/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/speechbrain/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "speechbrain";
-  version = "0.5.15";
+  version = "0.5.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "speechbrain";
     repo = "speechbrain";
     rev = "refs/tags/v${version}";
-    hash = "sha256-d0+3bry69ML65JR8XDppG8RO200ZTTHyd7PrTP7SJkk=";
+    hash = "sha256-Mve6wr3klXMe7sCiJjPuzUPKGHRyI/LzTe6Ea39zNHw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/splinter/default.nix b/nixpkgs/pkgs/development/python-modules/splinter/default.nix
index a65cf3a3f445..6b60d2f3ad2c 100644
--- a/nixpkgs/pkgs/development/python-modules/splinter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/splinter/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , isPy27
 , fetchFromGitHub
+, setuptools
 , urllib3
 , selenium
 , cssselect
@@ -14,19 +15,23 @@
 
 buildPythonPackage rec {
   pname = "splinter";
-  version = "0.19.0";
+  version = "0.20.1";
 
   disabled = isPy27;
 
-  format = "setuptools";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "cobrateam";
     repo = "splinter";
     rev = "refs/tags/${version}";
-    hash = "sha256-K10zrQOM/khVcf+OT4s5UCY8zE2+nWtaAkRLy9/feU0=";
+    hash = "sha256-6oHcHIkqOr0aFNfCNjZpm4zIYuz2ov9drfCxSdjAg7o=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     urllib3
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix
index c4129974154a..1821ed3ef8df 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy-jsonfield/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy-jsonfield";
-  version = "1.0.1.post0+2023-04-24";
+  version = "1.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,8 +22,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "penguinolog";
     repo = "sqlalchemy_jsonfield";
-    rev = "a1efda9755055c1d382257fb4ef78006b713d07e";
-    hash = "sha256-6l4LEGpA8dKPw8M4quStd1nWyshMNiwQojBCxKwRRXA=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-4zLXB3UQh6pgQ80KrxkLeC5yiv1R8t2+JmSukmGXr7I=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
diff --git a/nixpkgs/pkgs/development/python-modules/sqlmodel/default.nix b/nixpkgs/pkgs/development/python-modules/sqlmodel/default.nix
new file mode 100644
index 000000000000..5b7449d4a796
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sqlmodel/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fastapi
+, fetchFromGitHub
+, poetry-core
+, pydantic
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, sqlalchemy
+}:
+
+buildPythonPackage rec {
+  pname = "sqlmodel";
+  version = "0.0.12";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "tiangolo";
+    repo = "sqlmodel";
+    rev = "refs/tags/${version}";
+    hash = "sha256-ER8NGDcCCCXT8lsm8fgJUaLyjdf5v2/UdrBw5T9EeXQ=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pydantic
+    sqlalchemy
+  ];
+
+  nativeCheckInputs = [
+    fastapi
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "sqlmodel"
+  ];
+
+  disabledTestPaths = [
+    # Coverage
+    "tests/test_tutorial/test_create_db_and_table/test_tutorial001.py"
+  ];
+
+  meta = with lib; {
+    description = "Module to work with SQL databases";
+    homepage = "https://github.com/tiangolo/sqlmodel";
+    changelog = "https://github.com/tiangolo/sqlmodel/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sqltrie/default.nix b/nixpkgs/pkgs/development/python-modules/sqltrie/default.nix
index b18731c172f9..09eac58bae7c 100644
--- a/nixpkgs/pkgs/development/python-modules/sqltrie/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqltrie/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "sqltrie";
-  version = "0.8.0";
+  version = "0.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-9EjvMEpvGjYPUt5qCxv8xXiIxHxXfPEmluA3ZdQU2xI=";
+    hash = "sha256-4+jj9kRT6AR8u9nIlEkILY+/GQ7EBRd5V2oLeMLSo3o=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/strawberry-graphql/default.nix b/nixpkgs/pkgs/development/python-modules/strawberry-graphql/default.nix
index 94011ad5244d..895471333802 100644
--- a/nixpkgs/pkgs/development/python-modules/strawberry-graphql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/strawberry-graphql/default.nix
@@ -42,7 +42,7 @@
 
 buildPythonPackage rec {
   pname = "strawberry-graphql";
-  version = "0.214.0";
+  version = "0.215.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -51,7 +51,7 @@ buildPythonPackage rec {
     owner = "strawberry-graphql";
     repo = "strawberry";
     rev = "refs/tags/${version}";
-    hash = "sha256-5mPVZz/KmrRytGoW5h1vG8pt8+N+jFk2Q22ih+sjcjM=";
+    hash = "sha256-7jWG9bk7NN3BhpzS2fi7OkAsxL0446hnqiNqhwiBGHc=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/streamlit/default.nix b/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
index 9b05380d423e..73c36577413a 100644
--- a/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "streamlit";
-  version = "1.28.1";
+  version = "1.28.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zKBPbZWxS3vDfwyrrydQS4ava04a+Y1zrMgOzc+8xJI=";
+    hash = "sha256-wUQWiIG/e9bWAXqb/eWFtS0gCHsQstXIXTdu9tUqqO4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/symengine/default.nix b/nixpkgs/pkgs/development/python-modules/symengine/default.nix
index 599b2e74566b..7d02d2e0c6fd 100644
--- a/nixpkgs/pkgs/development/python-modules/symengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/symengine/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "symengine";
-  version = "0.10.0";
+  version = "0.11.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "symengine";
     repo = "symengine.py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-03lHip0iExfptrUe5ObA6xXrsfS4QJPrh1Z0v7q2lDI=";
+    hash = "sha256-uUMcNnynE2itIwc7IGFwxveqLRL8f4dAAcaD6FUWJaY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix b/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix
index 2bacc67690f0..3ce734237ce4 100644
--- a/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix
@@ -14,16 +14,16 @@
 
 buildPythonPackage rec {
   pname = "tabula-py";
-  version = "2.8.2";
-  format = "pyproject";
+  version = "2.9.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "chezou";
-    repo = pname;
+    repo = "tabula-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Zrq1i+HYXXNulyZ/fv00AgVd7ODj3rP9orLq5rT3ERU=";
+    hash = "sha256-MGv2n8DoSjumD3lRcqwI0sEsaEDgs1n+st8DwZuZauo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/taskw/default.nix b/nixpkgs/pkgs/development/python-modules/taskw/default.nix
index 32e40801c6ea..5e9b2f3269e1 100644
--- a/nixpkgs/pkgs/development/python-modules/taskw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/taskw/default.nix
@@ -20,7 +20,11 @@ buildPythonPackage rec {
     hash = "sha256-EQm9+b3nqbMqUAejAsh4MD/2UYi2QiWsdKMomkxUi90=";
   };
 
-  patches = [ ./use-template-for-taskwarrior-install-path.patch ];
+  patches = [
+    ./use-template-for-taskwarrior-install-path.patch
+    # Remove when https://github.com/ralphbean/taskw/pull/151 is merged.
+    ./support-relative-path-in-taskrc.patch
+  ];
   postPatch = ''
     substituteInPlace taskw/warrior.py \
       --replace '@@taskwarrior@@' '${pkgs.taskwarrior}'
diff --git a/nixpkgs/pkgs/development/python-modules/taskw/support-relative-path-in-taskrc.patch b/nixpkgs/pkgs/development/python-modules/taskw/support-relative-path-in-taskrc.patch
new file mode 100644
index 000000000000..25b1b28eff5c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/taskw/support-relative-path-in-taskrc.patch
@@ -0,0 +1,79 @@
+From 958b63ceec02b179482141cfb846ddbcae711a1b Mon Sep 17 00:00:00 2001
+From: Scott Mcdermott <scott@smemsh.net>
+Date: Sat, 28 Aug 2021 21:12:38 -0700
+Subject: [PATCH] RcFile: _read: try taskrc directory when trying to load
+ includes
+
+Taskwarrior itself tries includes as absolute path, then cwd, then
+relative to rcfile, then in various search paths (see
+GothenburgBitFactory/libshared -> src/Configuration.cpp ->
+Configuration::parse()).
+
+We won't try to duplicate that whole arrangement here, but at least look
+relative to the rcfile in addition to cwd/absolute, like taskwarrior
+does.  This will allow specification as relative path in most cases.
+Otherwise, we'd have to chdir anyways because includes are always tried
+as-is by taskw.  They would only work if specified as absolute paths or
+if in cwd
+
+We use a TaskRc() class variable to store the rcdir because there could
+be an include chain and all the instances will need to know the same
+one, but will be processing different paths, so we have to capture the
+directory of the first one processed, ie the base rcfile.
+
+Fixes #150
+
+Co-authored-by: Raito Bezarius <masterancpp@gmail.com>
+---
+ taskw/taskrc.py | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/taskw/taskrc.py b/taskw/taskrc.py
+index 1b6f8e5..b72dee6 100644
+--- a/taskw/taskrc.py
++++ b/taskw/taskrc.py
+@@ -1,5 +1,6 @@
+ import logging
+ import os
++import os.path
+ 
+ from taskw.fields import (
+     ChoiceField,
+@@ -39,6 +40,7 @@ class TaskRc(dict):
+ 
+     """
+ 
++    rcdir = None
+     UDA_TYPE_MAP = {
+         'date': DateField,
+         'duration': DurationField,
+@@ -54,6 +56,8 @@ class TaskRc(dict):
+                     path
+                 )
+             )
++            if not self.rcdir:
++                TaskRc.rcdir = os.path.dirname(os.path.realpath(self.path))
+             config = self._read(self.path)
+         else:
+             self.path = None
+@@ -92,6 +96,17 @@ class TaskRc(dict):
+ 
+     def _read(self, path):
+         config = {}
++        if not os.path.exists(path) and TaskRc.rcdir is not None:
++            # include path may be given relative to dir of rcfile
++            oldpath = path
++            path = os.path.join(TaskRc.rcdir, oldpath)
++            if not os.path.exists(path):
++                logger.error(
++                    "rcfile does not exist, tried %s and %s",
++                    oldpath, path
++                )
++                raise FileNotFoundError
++
+         with open(path, 'r') as config_file:
+             for raw_line in config_file.readlines():
+                 line = sanitize(raw_line)
+-- 
+2.42.0
+
diff --git a/nixpkgs/pkgs/development/python-modules/tcxreader/default.nix b/nixpkgs/pkgs/development/python-modules/tcxreader/default.nix
index dd11c6624e3f..9442567eec08 100644
--- a/nixpkgs/pkgs/development/python-modules/tcxreader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tcxreader/default.nix
@@ -1,24 +1,29 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "tcxreader";
-  version = "0.4.4";
-  format = "setuptools";
+  version = "0.4.5";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "alenrajsp";
     repo = "tcxreader";
-    rev = "v${version}";
-    hash = "sha256-UJ6F+GcdF0b2gALQWepLyCnWm+6RKBRnBt1eJNoRRzo=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-CiOLcev9fo2BPgnPZZ2borU25f/gKISqRAapAHgLN3w=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix
index dae6816a906c..fa70e4cc4a30 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/bin.nix
@@ -146,8 +146,10 @@ in buildPythonPackage {
       rrPathArr=(
         "$out/${python.sitePackages}/tensorflow/"
         "$out/${python.sitePackages}/tensorflow/core/kernels"
+        "$out/${python.sitePackages}/tensorflow/compiler/mlir/stablehlo/"
         "$out/${python.sitePackages}/tensorflow/compiler/tf2tensorrt/"
         "$out/${python.sitePackages}/tensorflow/compiler/tf2xla/ops/"
+        "$out/${python.sitePackages}/tensorflow/include/external/ml_dtypes/"
         "$out/${python.sitePackages}/tensorflow/lite/experimental/microfrontend/python/ops/"
         "$out/${python.sitePackages}/tensorflow/lite/python/analyzer_wrapper/"
         "$out/${python.sitePackages}/tensorflow/lite/python/interpreter_wrapper/"
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/binary-hashes.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/binary-hashes.nix
index 37138e455386..9204d1652d03 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/binary-hashes.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/binary-hashes.nix
@@ -1,51 +1,39 @@
 {
-version = "2.13.0";
-linux_py_38_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "14pnklfp24hpybl5yqvvi2rxxhmc35rkjsijq86acakx0bx6afkw";
-};
+version = "2.15.0";
 linux_py_39_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "1vqvapsb0fqihkl3xgjy7ywljf7gp5rqdj6iwkv39cfvr9z3rs10";
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "01m5wn9wpywd2cscklr2h8wdsf3wzg11dhgl0nfj7a997v2bvlyg";
 };
 linux_py_310_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "00mx8qmxaxq2ldh84g3wh21c5aizlnysfbipfm64v8b7c4753ljs";
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "0qjahvq9gd89cx2dwkb6gk3s947czmasp9cx1pqyw1x5f113s2zn";
 };
 linux_py_311_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "0r8fgq06nzfp4rcl4bhxjv57k43n31xc2j27sgn0hfbakxwy483y";
-};
-linux_py_38_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "04hrs1v50sp1bgr921xjsgslng3npnn6sq2f23xvfscdqd4aq8i8";
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow_cpu-2.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "0w3jz7rpbf4r8hm91rjh666qyqflqy6x619fas1iqcgnfx8pjv7l";
 };
 linux_py_39_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "0whwm93adgw2px8x678ik2nmsz8adi8vmj2np40jsbiq5y68pmkj";
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "0ckij6jffsi6yvjfiysnwrfblhqm5g1f8dkw4i7n3dwndnanba1z";
 };
 linux_py_310_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "0am36a7n744xjn2m8hkf2cnncczsxigwazmwqsgkj07qwagbdw78";
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "1y0cxsps4rkidc2c3apaf7vd9vsnjg5lpcq30bnrnzcvvx1inq7d";
 };
 linux_py_311_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
-  sha256 = "09cczbh19mw44n526bqc3h83q5hcfdjwlp38mn3ngch22y86gvhr";
-};
-mac_py_38_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp38-cp38-macosx_10_15_x86_64.whl";
-  sha256 = "1fk9ymlm1n8i48dm418g8r3ixw655vk2kms6jzcb6wivlash704l";
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-2.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl";
+  sha256 = "1z7bd4yrdxa7rq4k1fybbwnyhxf4rm9nwx15bpk2m53c5hmyrs6y";
 };
 mac_py_39_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp39-cp39-macosx_10_15_x86_64.whl";
-  sha256 = "10pbhfhjzy7zfd85s18nsf0pnir77097hxkqm11bdmcfjgic023s";
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.15.0-cp39-cp39-macosx_10_15_x86_64.whl";
+  sha256 = "1kqb5h4vs4jlhlqjmqvcg6jivccwqj1rgklrgrhvw09wzzhxvz1c";
 };
 mac_py_310_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp310-cp310-macosx_10_15_x86_64.whl";
-  sha256 = "009icsdwvhs2g3csx3jczprgf7rbmggjk8g4qicq0m4qx51m84l9";
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.15.0-cp310-cp310-macosx_10_15_x86_64.whl";
+  sha256 = "0wmawdfhva9ixal7468c0rrx8qd7nzgkxy6i9k2s7cqn8c7qw94v";
 };
 mac_py_311_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.13.0-cp311-cp311-macosx_10_15_x86_64.whl";
-  sha256 = "0sjq82q7q7k80f35rrpkjbrm3fd25rfjfi6s6k3a91njc5k45zvg";
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-2.15.0-cp311-cp311-macosx_10_15_x86_64.whl";
+  sha256 = "0cigk43fabps7vskz4pfgmca3wa0545b15qridyqdbyp5ri1c1qy";
 };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/prefetcher.sh b/nixpkgs/pkgs/development/python-modules/tensorflow/prefetcher.sh
index 35026dbc35e0..136d982f2f60 100755
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/prefetcher.sh
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/prefetcher.sh
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-version="2.13.0"
+version="2.15.0"
 
 bucket="https://storage.googleapis.com/tensorflow"
 
@@ -8,15 +8,12 @@ bucket="https://storage.googleapis.com/tensorflow"
 # on the following page:
 # https://www.tensorflow.org/install/pip?lang=python3#package-location
 url_and_key_list=(
-"linux_py_38_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_39_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_310_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_311_cpu $bucket/linux/cpu/tensorflow_cpu-${version}-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
-"linux_py_38_gpu $bucket/linux/gpu/tensorflow-${version}-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_39_gpu $bucket/linux/gpu/tensorflow-${version}-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_310_gpu $bucket/linux/gpu/tensorflow-${version}-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
 "linux_py_311_gpu $bucket/linux/gpu/tensorflow-${version}-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
-"mac_py_38_cpu $bucket/mac/cpu/tensorflow-${version}-cp38-cp38-macosx_10_15_x86_64.whl"
 "mac_py_39_cpu $bucket/mac/cpu/tensorflow-${version}-cp39-cp39-macosx_10_15_x86_64.whl"
 "mac_py_310_cpu $bucket/mac/cpu/tensorflow-${version}-cp310-cp310-macosx_10_15_x86_64.whl"
 "mac_py_311_cpu $bucket/mac/cpu/tensorflow-${version}-cp311-cp311-macosx_10_15_x86_64.whl"
diff --git a/nixpkgs/pkgs/development/python-modules/tilequant/default.nix b/nixpkgs/pkgs/development/python-modules/tilequant/default.nix
index c0d182693553..fe4a748fa238 100644
--- a/nixpkgs/pkgs/development/python-modules/tilequant/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tilequant/default.nix
@@ -1,44 +1,38 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, gitpython
+, fetchPypi
 , click
 , ordered-set
 , pythonOlder
 , pillow
 , sortedcollections
+, setuptools_dso
 }:
 
 buildPythonPackage rec {
   pname = "tilequant";
-  version = "0.4.1.post0";
-  format = "setuptools";
+  version = "1.1.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
-  src = fetchFromGitHub {
-    owner = "SkyTemple";
-    repo = pname;
-    rev = version;
-    hash = "sha256-7vU/AYnX7deOH3PjrseRIj9BUJMWzDlwR3UcMpBRyfc=";
-    fetchSubmodules = true;
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-uW1g3nlT6Y+1beifo/MOlGxsGL7on/jcAROxSddySHk=";
   };
 
-  buildInputs = [
-    gitpython
-  ];
-
   propagatedBuildInputs = [
     click
     ordered-set
     pillow
     sortedcollections
+    setuptools_dso
   ];
 
   doCheck = false; # there are no tests
 
   pythonImportsCheck = [
-    "skytemple_tilequant"
+    "tilequant"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/timm/default.nix b/nixpkgs/pkgs/development/python-modules/timm/default.nix
index fc944620e459..90dfe5598785 100644
--- a/nixpkgs/pkgs/development/python-modules/timm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/timm/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "timm";
-  version = "0.9.10";
+  version = "0.9.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "pytorch-image-models";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PyrJhyJmuF7BZzlQ4f5fiJY5fYFC1JPRLto5ljPVbY4=";
+    hash = "sha256-dDd/Sjy4xmJlaAg+fOxxcuX3FX//uJJkW0q3AaeCfns=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
index 7788bd00fb05..58dffe94a66b 100644
--- a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "tldextract";
-  version = "5.1.0";
+  version = "5.1.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "john-kurkowski";
     repo = "tldextract";
     rev = "refs/tags/${version}";
-    hash = "sha256-x5SJcbTUrqG7mMUPXIhR1rEu3PZ+VA00dFYeoGnX5l0=";
+    hash = "sha256-/VBbU8FuB8MEuX6MgGO44+gfqVjl1aHHDHncHY2Jo38=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/toml-adapt/default.nix b/nixpkgs/pkgs/development/python-modules/toml-adapt/default.nix
index 5c4aa1576b46..66ad2d58dbc7 100644
--- a/nixpkgs/pkgs/development/python-modules/toml-adapt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/toml-adapt/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "toml-adapt";
-  version = "0.2.11";
+  version = "0.2.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "firefly-cpp";
     repo = pname;
-    rev = version;
-    hash = "sha256-7gQZCjsCtzvmV5NPZNAW4d34TkKemH9FgeN0Iwydwgc=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-DtxA63lutgjGMH8GYz5r6IFEuuZ9iFGPGup960c4xgE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/torch/bin.nix b/nixpkgs/pkgs/development/python-modules/torch/bin.nix
index 3259f1fca185..74eefd071890 100644
--- a/nixpkgs/pkgs/development/python-modules/torch/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/torch/bin.nix
@@ -9,7 +9,6 @@
 , future
 , numpy
 , autoPatchelfHook
-, patchelf
 , pyyaml
 , requests
 , setuptools
@@ -25,7 +24,7 @@ let
   pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
   srcs = import ./binary-hashes.nix version;
   unsupported = throw "Unsupported system";
-  version = "2.0.1";
+  version = "2.1.1";
 in buildPythonPackage {
   inherit version;
 
diff --git a/nixpkgs/pkgs/development/python-modules/torch/binary-hashes.nix b/nixpkgs/pkgs/development/python-modules/torch/binary-hashes.nix
index 7b1cc4e18011..42eed4485ebf 100644
--- a/nixpkgs/pkgs/development/python-modules/torch/binary-hashes.nix
+++ b/nixpkgs/pkgs/development/python-modules/torch/binary-hashes.nix
@@ -6,86 +6,86 @@
 # To add a new version, run "prefetch.sh 'new-version'" to paste the generated file as follows.
 
 version : builtins.getAttr version {
-  "2.0.1" = {
+  "2.1.1" = {
     x86_64-linux-38 = {
-      name = "torch-2.0.1-cp38-cp38-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torch-2.0.1%2Bcu118-cp38-cp38-linux_x86_64.whl";
-      hash = "sha256-LOOKbk6nxLf1uqUeZSQ6X2h/bhmreRW6WypDEQX1C74=";
+      name = "torch-2.1.1-cp38-cp38-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torch-2.1.1%2Bcu121-cp38-cp38-linux_x86_64.whl";
+      hash = "sha256-h8y2g+ZCqYuO8FRV722GRntiB1pDJfTV+aouiTL2Bzk=";
     };
     x86_64-linux-39 = {
-      name = "torch-2.0.1-cp39-cp39-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torch-2.0.1%2Bcu118-cp39-cp39-linux_x86_64.whl";
-      hash = "sha256-61XynbV0TtqKlvVZTmN9rtDVIngnMAXedZlw5nz6alo=";
+      name = "torch-2.1.1-cp39-cp39-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torch-2.1.1%2Bcu121-cp39-cp39-linux_x86_64.whl";
+      hash = "sha256-KCRfYtEHPCfW8N4DqBrUnVMzxGBlke2I/tHtuX8FUz0=";
     };
     x86_64-linux-310 = {
-      name = "torch-2.0.1-cp310-cp310-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torch-2.0.1%2Bcu118-cp310-cp310-linux_x86_64.whl";
-      hash = "sha256-p6SdRZv0hi9k97waaL7M+IgcL6nz4FaWCOFrpvhev3s=";
+      name = "torch-2.1.1-cp310-cp310-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torch-2.1.1%2Bcu121-cp310-cp310-linux_x86_64.whl";
+      hash = "sha256-7HbRE1DI6IejTTZgLNN/UGObyc2p+upNQ/IHDpeS5KQ=";
     };
     x86_64-linux-311 = {
-      name = "torch-2.0.1-cp311-cp311-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torch-2.0.1%2Bcu118-cp311-cp311-linux_x86_64.whl";
-      hash = "sha256-FDtsZYwX1DN24t+6osEG01Y51hXl6N7EQpzx5RDdjWE=";
+      name = "torch-2.1.1-cp311-cp311-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torch-2.1.1%2Bcu121-cp311-cp311-linux_x86_64.whl";
+      hash = "sha256-g7/hE036irhlU8Fdpd/6GQqG2CKvr+jqbeEWnBDZcao=";
     };
     x86_64-darwin-38 = {
-      name = "torch-2.0.1-cp38-none-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-2.0.1-cp38-none-macosx_10_9_x86_64.whl";
-      hash = "sha256-Gttg02nyZQysjpqVsdV1jiXVJqNICPdEjQvVmeSukHI=";
+      name = "torch-2.1.1-cp38-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp38-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-1WsDIXZFjir0cJYnu9LCD+KRfv+M0Ien/jE6zM9c4vE=";
     };
     x86_64-darwin-39 = {
-      name = "torch-2.0.1-cp39-none-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-2.0.1-cp39-none-macosx_10_9_x86_64.whl";
-      hash = "sha256-xi35k1K9buWlqNGDJFIRBDXReLUWTeRQgxo6jMFNxoA=";
+      name = "torch-2.1.1-cp39-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp39-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-cVtQ2MHeXaVSSmgofrAA9z4CbnTV9rErxFDvaZX89fk=";
     };
     x86_64-darwin-310 = {
-      name = "torch-2.0.1-cp310-none-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-2.0.1-cp310-none-macosx_10_9_x86_64.whl";
-      hash = "sha256-Vn+E1lftxVgtcWkAVD5uYjU9videYc3DbtpJKeRt+ec=";
+      name = "torch-2.1.1-cp310-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp310-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-Hh5frd1DqPLA4OIr6s0eI1ouRHeU2AdIPJSp4xtUp1g=";
     };
     x86_64-darwin-311 = {
-      name = "torch-2.0.1-cp311-none-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-2.0.1-cp311-none-macosx_10_9_x86_64.whl";
-      hash = "sha256-72VEJ9kWABKYZGRONd7qdh+x/hMXEBgLlSpvLiIHB14=";
+      name = "torch-2.1.1-cp311-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp311-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-pwWTgG8dfmtTZX2WgQUY2g+I7yYIyYpAKVV2W4x51Sw=";
     };
     aarch64-darwin-38 = {
-      name = "torch-2.0.1-cp38-none-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-2.0.1-cp38-none-macosx_11_0_arm64.whl";
-      hash = "sha256-G8/8FrieKWgmszuY21Fm+ZDjtyZUorkGc+gXsWxQ4ys=";
+      name = "torch-2.1.1-cp38-none-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp38-none-macosx_11_0_arm64.whl";
+      hash = "sha256-KeO5CowoH2ZggEqTnR9CGGBMgBYuUh4ebYyFVzJZAqA=";
     };
     aarch64-darwin-39 = {
-      name = "torch-2.0.1-cp39-none-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-2.0.1-cp39-none-macosx_11_0_arm64.whl";
-      hash = "sha256-ZxolZeP2O4/o5Crj42rSSf5eVnQ16ie5TtqmcqfQxBY=";
+      name = "torch-2.1.1-cp39-none-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp39-none-macosx_11_0_arm64.whl";
+      hash = "sha256-22foclx29Mf08C51UbsW6BuhoZEoZ7w117uW0r6MeLQ=";
     };
     aarch64-darwin-310 = {
-      name = "torch-2.0.1-cp310-none-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-2.0.1-cp310-none-macosx_11_0_arm64.whl";
-      hash = "sha256-eHtaeKp5F0Zem5Y5m4g5IMiKCPTrY7Wl0tGhbifS+Js=";
+      name = "torch-2.1.1-cp310-none-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp310-none-macosx_11_0_arm64.whl";
+      hash = "sha256-52vzxcNUh08dpGXIUqL7YO5svOMG6TUzeIV2DwgPm6o=";
     };
     aarch64-darwin-311 = {
-      name = "torch-2.0.1-cp311-none-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-2.0.1-cp311-none-macosx_11_0_arm64.whl";
-      hash = "sha256-JapDyoDc3zLxPaBMUD7Hr9+Od+OgGD3YXNPlOyhC5Sc=";
+      name = "torch-2.1.1-cp311-none-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp311-none-macosx_11_0_arm64.whl";
+      hash = "sha256-4xL36C5JVl92Z7C7+VWasMWXBj2TBEdAeBwCrNWoeXg=";
     };
     aarch64-linux-38 = {
-      name = "torch-2.0.1-cp38-cp38-manylinux2014_aarch64.whl";
-      url = "https://download.pytorch.org/whl/torch-2.0.1-cp38-cp38-manylinux2014_aarch64.whl";
-      hash = "sha256-CIIkN1X/KIlejm3GvCbrz1qgkR7YGyoS8kH8SwkHWxM=";
+      name = "torch-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";
+      hash = "sha256-nKD8vz1bpkTWqFcsg6mrvfX3/1dbw4Up72wYWjpxvek=";
     };
     aarch64-linux-39 = {
-      name = "torch-2.0.1-cp39-cp39-manylinux2014_aarch64.whl";
-      url = "https://download.pytorch.org/whl/torch-2.0.1-cp39-cp39-manylinux2014_aarch64.whl";
-      hash = "sha256-Qj4K4le3VrtFpLSQcgRnctGtDFkiZcUIAHDgdn2k5JA=";
+      name = "torch-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";
+      hash = "sha256-sxIwvQWEJOVtun+JkoDbxqyLmUjkOQLgyEpEZmsewVE=";
     };
     aarch64-linux-310 = {
-      name = "torch-2.0.1-cp310-cp310-manylinux2014_aarch64.whl";
-      url = "https://download.pytorch.org/whl/torch-2.0.1-cp310-cp310-manylinux2014_aarch64.whl";
-      hash = "sha256-NZv6rZTRzaAqt3XcHMOG1YVxIym7R7h0FgfvbvSVB0c=";
+      name = "torch-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";
+      hash = "sha256-hP79YzVkFsDNIFeGN8zbuCFkmTQA7Re1fJUd1jdtzug=";
     };
     aarch64-linux-311 = {
-      name = "torch-2.0.1-cp311-cp311-manylinux2014_aarch64.whl";
-      url = "https://download.pytorch.org/whl/torch-2.0.1-cp311-cp311-manylinux2014_aarch64.whl";
-      hash = "sha256-tgGbHeSXjpbaoh1qPrtB6IoLR0iY/iUf2WGJWHQIhz4=";
+      name = "torch-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl";
+      hash = "sha256-YbUbM8YXN8KHBYsMMGHmqdPDY4Y+SglPgEvEhoiKGIo=";
     };
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/torch/default.nix b/nixpkgs/pkgs/development/python-modules/torch/default.nix
index f89fed489f84..49ed033bd6a1 100644
--- a/nixpkgs/pkgs/development/python-modules/torch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torch/default.nix
@@ -1,5 +1,12 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, buildPythonPackage, python,
-  config, cudaSupport ? config.cudaSupport, cudaPackages, magma,
+  config, cudaSupport ? config.cudaSupport, cudaPackages,
+  effectiveMagma ?
+  if cudaSupport then magma-cuda-static
+  else if rocmSupport then magma-hip
+  else magma,
+  magma,
+  magma-hip,
+  magma-cuda-static,
   useSystemNccl ? true,
   MPISupport ? false, mpi,
   buildDocs ? false,
@@ -13,6 +20,7 @@
   Accelerate, CoreServices, libobjc,
 
   # Propagated build inputs
+  fsspec,
   filelock,
   jinja2,
   networkx,
@@ -111,16 +119,16 @@ let
   };
 
   brokenConditions = attrsets.filterAttrs (_: cond: cond) {
-    "CUDA and ROCm are not mutually exclusive" = cudaSupport && rocmSupport;
+    "CUDA and ROCm are mutually exclusive" = cudaSupport && rocmSupport;
     "CUDA is not targeting Linux" = cudaSupport && !stdenv.isLinux;
     "Unsupported CUDA version" = cudaSupport && !(builtins.elem cudaPackages.cudaMajorVersion [ "11" "12" ]);
     "MPI cudatoolkit does not match cudaPackages.cudatoolkit" = MPISupport && cudaSupport && (mpi.cudatoolkit != cudaPackages.cudatoolkit);
-    "Magma cudaPackages does not match cudaPackages" = cudaSupport && (magma.cudaPackages != cudaPackages);
+    "Magma cudaPackages does not match cudaPackages" = cudaSupport && (effectiveMagma.cudaPackages != cudaPackages);
   };
 in buildPythonPackage rec {
   pname = "torch";
   # Don't forget to update torch-bin to the same version.
-  version = "2.0.1";
+  version = "2.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8.0";
@@ -136,10 +144,13 @@ in buildPythonPackage rec {
     repo = "pytorch";
     rev = "refs/tags/v${version}";
     fetchSubmodules = true;
-    hash = "sha256-xUj77yKz3IQ3gd/G32pI4OhL3LoN1zS7eFg0/0nZp5I=";
+    hash = "sha256-01+uqHvPbQVXKLohGWfsCsZOjb7xmfjBKkTGUGMEdAI=";
   };
 
-  patches = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
+  patches = lib.optionals cudaSupport [
+    ./fix-cmake-cuda-toolkit.patch
+  ]
+  ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
     # pthreadpool added support for Grand Central Dispatch in April
     # 2020. However, this relies on functionality (DISPATCH_APPLY_AUTO)
     # that is available starting with macOS 10.13. However, our current
@@ -181,12 +192,11 @@ in buildPythonPackage rec {
         'message(FATAL_ERROR "Found NCCL header version and library version' \
         'message(WARNING "Found NCCL header version and library version'
   ''
-  # TODO(@connorbaker): Remove this patch after 2.1.0 lands.
+  # Remove PyTorch's FindCUDAToolkit.cmake and to use CMake's default.
+  # We do not remove the entirety of cmake/Modules_CUDA_fix because we need FindCUDNN.cmake.
   + lib.optionalString cudaSupport ''
-    substituteInPlace torch/utils/cpp_extension.py \
-      --replace \
-        "'8.6', '8.9'" \
-        "'8.6', '8.7', '8.9'"
+    rm cmake/Modules/FindCUDAToolkit.cmake
+    rm -rf cmake/Modules_CUDA_fix/{upstream,FindCUDA.cmake}
   ''
   # error: no member named 'aligned_alloc' in the global namespace; did you mean simply 'aligned_alloc'
   # This lib overrided aligned_alloc hence the error message. Tltr: his function is linkable but not in header.
@@ -359,7 +369,7 @@ in buildPythonPackage rec {
       cuda_profiler_api.dev # <cuda_profiler_api.h>
     ])
     ++ lib.optionals rocmSupport [ rocmPackages.llvm.openmp ]
-    ++ lib.optionals (cudaSupport || rocmSupport) [ magma ]
+    ++ lib.optionals (cudaSupport || rocmSupport) [ effectiveMagma ]
     ++ lib.optionals stdenv.isLinux [ numactl ]
     ++ lib.optionals stdenv.isDarwin [ Accelerate CoreServices libobjc ];
 
@@ -370,6 +380,7 @@ in buildPythonPackage rec {
     pyyaml
 
     # From install_requires:
+    fsspec
     filelock
     typing-extensions
     sympy
diff --git a/nixpkgs/pkgs/development/python-modules/torch/fix-cmake-cuda-toolkit.patch b/nixpkgs/pkgs/development/python-modules/torch/fix-cmake-cuda-toolkit.patch
new file mode 100644
index 000000000000..508118cc2e8a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/torch/fix-cmake-cuda-toolkit.patch
@@ -0,0 +1,65 @@
+From aa7e7cfd5a5fe0c839406c1b197b81ef955a7ef5 Mon Sep 17 00:00:00 2001
+From: Gaetan Lepage <gaetan@glepage.com>
+Date: Thu, 23 Nov 2023 00:39:26 +0100
+Subject: [PATCH] fix-cmake-cuda-toolkit
+
+---
+ CMakeLists.txt               |  4 ----
+ cmake/public/cuda.cmake      | 12 +++++++++---
+ tools/setup_helpers/cmake.py |  2 ++
+ 3 files changed, 11 insertions(+), 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3a48eaf4e29..3aaeef2593a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1152,10 +1152,6 @@ if(BUILD_SHARED_LIBS)
+       ${PROJECT_SOURCE_DIR}/cmake/Modules_CUDA_fix
+       DESTINATION share/cmake/Caffe2/
+       COMPONENT dev)
+-  install(FILES
+-      ${PROJECT_SOURCE_DIR}/cmake/Modules/FindCUDAToolkit.cmake
+-      DESTINATION share/cmake/Caffe2/
+-      COMPONENT dev)
+   install(FILES
+       ${PROJECT_SOURCE_DIR}/cmake/Modules/FindCUSPARSELT.cmake
+       DESTINATION share/cmake/Caffe2/
+diff --git a/cmake/public/cuda.cmake b/cmake/public/cuda.cmake
+index 32f3ba375b5..c8b666e4c78 100644
+--- a/cmake/public/cuda.cmake
++++ b/cmake/public/cuda.cmake
+@@ -62,9 +62,15 @@ cmake_policy(POP)
+ 
+ if(NOT CMAKE_CUDA_COMPILER_VERSION STREQUAL CUDAToolkit_VERSION OR
+     NOT CUDA_INCLUDE_DIRS STREQUAL CUDAToolkit_INCLUDE_DIR)
+-  message(FATAL_ERROR "Found two conflicting CUDA installs:\n"
+-                      "V${CMAKE_CUDA_COMPILER_VERSION} in '${CUDA_INCLUDE_DIRS}' and\n"
+-                      "V${CUDAToolkit_VERSION} in '${CUDAToolkit_INCLUDE_DIR}'")
++  if(CUDA_INCLUDE_DIRS IN_LIST CUDAToolkit_INCLUDE_DIR)
++    message(STATUS "CUDA_INCLUDE_DIRS is a substring of CUDAToolkit_INCLUDE_DIR. "
++                   "Setting CUDA_INCLUDE_DIRS to CUDAToolkit_INCLUDE_DIR.")
++    set(CUDA_INCLUDE_DIRS "${CUDAToolkit_INCLUDE_DIR}")
++  else()
++    message(FATAL_ERROR "Found two conflicting CUDA installs:\n"
++                        "V${CMAKE_CUDA_COMPILER_VERSION} in '${CUDA_INCLUDE_DIRS}' and\n"
++                        "V${CUDAToolkit_VERSION} in '${CUDAToolkit_INCLUDE_DIR}'")
++  endif()
+ endif()
+ 
+ if(NOT TARGET CUDA::nvToolsExt)
+diff --git a/tools/setup_helpers/cmake.py b/tools/setup_helpers/cmake.py
+index fb19b66dfba..3f83bef32fe 100644
+--- a/tools/setup_helpers/cmake.py
++++ b/tools/setup_helpers/cmake.py
+@@ -207,6 +207,8 @@ class CMake:
+                     "BUILDING_WITH_TORCH_LIBS",
+                     "CUDA_HOST_COMPILER",
+                     "CUDA_NVCC_EXECUTABLE",
++                    "CUDAToolkit_ROOT",
++                    "CUDAToolkit_INCLUDE_DIR",
+                     "CUDA_SEPARABLE_COMPILATION",
+                     "CUDNN_LIBRARY",
+                     "CUDNN_INCLUDE_DIR",
+-- 
+2.42.0
+
diff --git a/nixpkgs/pkgs/development/python-modules/torch/prefetch.sh b/nixpkgs/pkgs/development/python-modules/torch/prefetch.sh
index be3e4ec755bd..7b9c26de35f2 100755
--- a/nixpkgs/pkgs/development/python-modules/torch/prefetch.sh
+++ b/nixpkgs/pkgs/development/python-modules/torch/prefetch.sh
@@ -5,9 +5,9 @@ set -eou pipefail
 
 version=$1
 
-linux_cuda_version="cu118"
+linux_cuda_version="cu121"
 linux_cuda_bucket="https://download.pytorch.org/whl/${linux_cuda_version}"
-linux_cpu_bucket="https://download.pytorch.org/whl"
+linux_cpu_bucket="https://download.pytorch.org/whl/cpu"
 darwin_bucket="https://download.pytorch.org/whl/cpu"
 
 url_and_key_list=(
@@ -23,10 +23,10 @@ url_and_key_list=(
   "aarch64-darwin-39 $darwin_bucket/torch-${version}-cp39-none-macosx_11_0_arm64.whl torch-${version}-cp39-none-macosx_11_0_arm64.whl"
   "aarch64-darwin-310 $darwin_bucket/torch-${version}-cp310-none-macosx_11_0_arm64.whl torch-${version}-cp310-none-macosx_11_0_arm64.whl"
   "aarch64-darwin-311 $darwin_bucket/torch-${version}-cp311-none-macosx_11_0_arm64.whl torch-${version}-cp311-none-macosx_11_0_arm64.whl"
-  "aarch64-linux-38 $linux_cpu_bucket/torch-${version}-cp38-cp38-manylinux2014_aarch64.whl torch-${version}-cp38-cp38-manylinux2014_aarch64.whl"
-  "aarch64-linux-39 $linux_cpu_bucket/torch-${version}-cp39-cp39-manylinux2014_aarch64.whl torch-${version}-cp39-cp39-manylinux2014_aarch64.whl"
-  "aarch64-linux-310 $linux_cpu_bucket/torch-${version}-cp310-cp310-manylinux2014_aarch64.whl torch-${version}-cp310-cp310-manylinux2014_aarch64.whl"
-  "aarch64-linux-311 $linux_cpu_bucket/torch-${version}-cp311-cp311-manylinux2014_aarch64.whl torch-${version}-cp311-cp311-manylinux2014_aarch64.whl"
+  "aarch64-linux-38 $linux_cpu_bucket/torch-${version}-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl torch-${version}-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+  "aarch64-linux-39 $linux_cpu_bucket/torch-${version}-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl torch-${version}-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+  "aarch64-linux-310 $linux_cpu_bucket/torch-${version}-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl torch-${version}-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
+  "aarch64-linux-311 $linux_cpu_bucket/torch-${version}-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl torch-${version}-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl"
 )
 
 hashfile="binary-hashes-$version.nix"
diff --git a/nixpkgs/pkgs/development/python-modules/torchaudio/bin.nix b/nixpkgs/pkgs/development/python-modules/torchaudio/bin.nix
index ec2e680e948e..5ad263a8df67 100644
--- a/nixpkgs/pkgs/development/python-modules/torchaudio/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchaudio/bin.nix
@@ -6,6 +6,9 @@
 , cudaPackages
 , fetchurl
 , ffmpeg_4
+, ffmpeg_5
+, ffmpeg_6
+, sox
 , pythonAtLeast
 , pythonOlder
 , python
@@ -14,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "torchaudio";
-  version = "2.0.2";
+  version = "2.1.1";
   format = "wheel";
 
   src =
@@ -35,7 +38,11 @@ buildPythonPackage rec {
     # libnvToolsExt-$hash.so.1
     cuda_nvtx
 
-    ffmpeg_4.lib
+    # We need to patch the lib/_torchaudio_ffmpeg[4-6]
+    ffmpeg_4.dev
+    ffmpeg_5.dev
+    ffmpeg_6.dev
+    sox
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/torchaudio/binary-hashes.nix b/nixpkgs/pkgs/development/python-modules/torchaudio/binary-hashes.nix
index 35bc1cfce930..21241253da3f 100644
--- a/nixpkgs/pkgs/development/python-modules/torchaudio/binary-hashes.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchaudio/binary-hashes.nix
@@ -6,86 +6,86 @@
 # To add a new version, run "prefetch.sh 'new-version'" to paste the generated file as follows.
 
 version : builtins.getAttr version {
-  "2.0.2" = {
+  "2.1.1" = {
     x86_64-linux-38 = {
-      name = "torchaudio-2.0.2-cp38-cp38-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torchaudio-2.0.2%2Bcu118-cp38-cp38-linux_x86_64.whl";
-      hash = "sha256-lU3njk8Gb+lvpvQYtfHX1Y0bD7z2otNzDwQaL9eW93I=";
+      name = "torchaudio-2.1.1-cp38-cp38-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torchaudio-2.1.1%2Bcu121-cp38-cp38-linux_x86_64.whl";
+      hash = "sha256-GM8TlEbiLP2K+jglzkkvPPEf00LxcI7o9K+EtIKLTGA=";
     };
     x86_64-linux-39 = {
-      name = "torchaudio-2.0.2-cp39-cp39-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torchaudio-2.0.2%2Bcu118-cp39-cp39-linux_x86_64.whl";
-      hash = "sha256-MixBw26OYv03qzURSmeSGuVCvNlA1YPNE+DhUUHISPk=";
+      name = "torchaudio-2.1.1-cp39-cp39-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torchaudio-2.1.1%2Bcu121-cp39-cp39-linux_x86_64.whl";
+      hash = "sha256-4YdH1mdew+TFmvpA23Lp5+pNcVy5KxQ9pV31lhPAPTA=";
     };
     x86_64-linux-310 = {
-      name = "torchaudio-2.0.2-cp310-cp310-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torchaudio-2.0.2%2Bcu118-cp310-cp310-linux_x86_64.whl";
-      hash = "sha256-JmkmReoGGgBcV+xYGi0EJSEKxrqfkj7fEcybDvOhEek=";
+      name = "torchaudio-2.1.1-cp310-cp310-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torchaudio-2.1.1%2Bcu121-cp310-cp310-linux_x86_64.whl";
+      hash = "sha256-7/gmDgL4imlKlksrtvY3pq8xB3h9kH6uflgBgWAzv6c=";
     };
     x86_64-linux-311 = {
-      name = "torchaudio-2.0.2-cp311-cp311-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torchaudio-2.0.2%2Bcu118-cp311-cp311-linux_x86_64.whl";
-      hash = "sha256-e8C1Cg2DokvcORYnDCOTQ0WshDUd92vTuwiDS9snHfY=";
+      name = "torchaudio-2.1.1-cp311-cp311-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torchaudio-2.1.1%2Bcu121-cp311-cp311-linux_x86_64.whl";
+      hash = "sha256-qq2dkQ5CDBlVsIpa8yatlplLitDQWW/L9gGxVYDof6c=";
     };
     x86_64-darwin-38 = {
-      name = "torchaudio-2.0.2-cp38-cp38-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.0.2-cp38-cp38-macosx_10_9_x86_64.whl";
-      hash = "sha256-qCg91hxXnqWxTWdzu8C/hFc7ErN/BfArtLJCXXd2coQ=";
+      name = "torchaudio-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.1.1-cp38-cp38-macosx_10_13_x86_64.whl";
+      hash = "sha256-b8d8SNB5zSbvQMYTqm8xxcePD4FiEWYqJ4Vsf1RPHMw=";
     };
     x86_64-darwin-39 = {
-      name = "torchaudio-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl";
-      hash = "sha256-ETihw52iRFocrKIN3OHnfJZX6SJj6zQ3YCT1F/UoTUs=";
+      name = "torchaudio-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.1.1-cp39-cp39-macosx_10_13_x86_64.whl";
+      hash = "sha256-f/BYndc9vepm7SHIF8ttHvjs0+6EmXrqf8DjUroWjkg=";
     };
     x86_64-darwin-310 = {
-      name = "torchaudio-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl";
-      hash = "sha256-gMZNq7nYwzvG8qjgx+vhfqh/UCiTHA1qL3O54WtSctA=";
+      name = "torchaudio-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.1.1-cp310-cp310-macosx_10_13_x86_64.whl";
+      hash = "sha256-JPpYcPYgmU5FiEUtVO3LL/tfUJ1+42ugToxo6yiv/Io=";
     };
     x86_64-darwin-311 = {
-      name = "torchaudio-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl";
-      hash = "sha256-psuoDZqzouwTF83Fy8BlShiaJuPYso75+DM2FZ/V5ek=";
+      name = "torchaudio-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.1.1-cp311-cp311-macosx_10_13_x86_64.whl";
+      hash = "sha256-7j9/B9sCOprjYGpjDbRyJ+d/IOYEyZQGdnzsWKE5uW4=";
     };
     aarch64-darwin-38 = {
-      name = "torchaudio-2.0.2-cp38-cp38-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.0.2-cp38-cp38-macosx_11_0_arm64.whl";
-      hash = "sha256-KMm+gwYI+TyQZ3Dre0iAli+P75vVJ1rFtIyFDzzEvDI=";
+      name = "torchaudio-2.1.1-cp38-cp38-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.1.1-cp38-cp38-macosx_11_0_arm64.whl";
+      hash = "sha256-L+SgvGuooE9xrLxmT93CtzY3y/G+NFxkM0KprtNDVDo=";
     };
     aarch64-darwin-39 = {
-      name = "torchaudio-2.0.2-cp39-cp39-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.0.2-cp39-cp39-macosx_11_0_arm64.whl";
-      hash = "sha256-3l2Uy4MFwAJo37xXbKfkRfQIkeAkqeXijGOtn4UeVBo=";
+      name = "torchaudio-2.1.1-cp39-cp39-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.1.1-cp39-cp39-macosx_11_0_arm64.whl";
+      hash = "sha256-VwmUP7JnXIVDvrYfAz+50AGr8VXxUJrzPhO8uD9UPQo=";
     };
     aarch64-darwin-310 = {
-      name = "torchaudio-2.0.2-cp310-cp310-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.0.2-cp310-cp310-macosx_11_0_arm64.whl";
-      hash = "sha256-FhlnNQD+CK6WtxlS8D7Px059CEPNmIIZPQZCqCck9Tc=";
+      name = "torchaudio-2.1.1-cp310-cp310-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.1.1-cp310-cp310-macosx_11_0_arm64.whl";
+      hash = "sha256-fNRlvgb9OHNq2n1MCG8M3SSd4ot1ddEDXOJd+ziW+kw=";
     };
     aarch64-darwin-311 = {
-      name = "torchaudio-2.0.2-cp311-cp311-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.0.2-cp311-cp311-macosx_11_0_arm64.whl";
-      hash = "sha256-FTJxMrKPNJY7qm/hgTAwpjTSWBqpyhIPcwwej6vcEQI=";
+      name = "torchaudio-2.1.1-cp311-cp311-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchaudio-2.1.1-cp311-cp311-macosx_11_0_arm64.whl";
+      hash = "sha256-+tHGDPveoxu7KgDk0fFTYEYG3N00vJdPQ8YvpuJpYns=";
     };
     aarch64-linux-38 = {
-      name = "torchaudio-2.0.2-cp38-cp38-manylinux2014_aarch64.whl";
-      url = "https://download.pytorch.org/whl/torchaudio-2.0.2-cp38-cp38-manylinux2014_aarch64.whl";
-      hash = "sha256-7gjsMDBQQFmY50oKNkmu5NFkCMLrS7H4x6cmMYsc4bc=";
+      name = "torchaudio-2.1.1-cp38-cp38-manylinux2014_aarch64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-2.1.1-cp38-cp38-linux_aarch64.whl";
+      hash = "sha256-bnhAF5QfPoGtvvJGIkqT1eXSZocF3NxFlWZo3nuiLTI=";
     };
     aarch64-linux-39 = {
-      name = "torchaudio-2.0.2-cp39-cp39-manylinux2014_aarch64.whl";
-      url = "https://download.pytorch.org/whl/torchaudio-2.0.2-cp39-cp39-manylinux2014_aarch64.whl";
-      hash = "sha256-p08z2gs8U7dw9YOgLKvVkZbwift3pl6znNXYEbWiHWM=";
+      name = "torchaudio-2.1.1-cp39-cp39-manylinux2014_aarch64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-2.1.1-cp39-cp39-linux_aarch64.whl";
+      hash = "sha256-FXE1qdeNwSe7J0XEZUqn6hQd3Huzn8rSHf+Oq6VXihQ=";
     };
     aarch64-linux-310 = {
-      name = "torchaudio-2.0.2-cp310-cp310-manylinux2014_aarch64.whl";
-      url = "https://download.pytorch.org/whl/torchaudio-2.0.2-cp310-cp310-manylinux2014_aarch64.whl";
-      hash = "sha256-2t8je0/RVaPSE73+/+3tR/WlU9ODgXUAQ4tE8k+lOFE=";
+      name = "torchaudio-2.1.1-cp310-cp310-manylinux2014_aarch64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-2.1.1-cp310-cp310-linux_aarch64.whl";
+      hash = "sha256-dK3UoOX6BJmO1SoBN9Ox2cKtJdqCEsRt8O1z+h0Uanc=";
     };
     aarch64-linux-311 = {
-      name = "torchaudio-2.0.2-cp311-cp311-manylinux2014_aarch64.whl";
-      url = "https://download.pytorch.org/whl/torchaudio-2.0.2-cp311-cp311-manylinux2014_aarch64.whl";
-      hash = "sha256-sirOqh7FozEMwVZC0Z3QDVOnzjmbkJatHeoLJOUJevM=";
+      name = "torchaudio-2.1.1-cp311-cp311-manylinux2014_aarch64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-2.1.1-cp311-cp311-linux_aarch64.whl";
+      hash = "sha256-6toEKY1TfF0CddoRIsRxmMF31CYetaXSI24Rqg6FyB8=";
     };
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/torchaudio/default.nix b/nixpkgs/pkgs/development/python-modules/torchaudio/default.nix
index 0b38925e0a2b..4ff44d123a48 100644
--- a/nixpkgs/pkgs/development/python-modules/torchaudio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchaudio/default.nix
@@ -2,9 +2,12 @@
 , buildPythonPackage
 , fetchFromGitHub
 , cmake
+, symlinkJoin
+, ffmpeg-full
 , pkg-config
 , ninja
 , pybind11
+, sox
 , torch
 , cudaSupport ? torch.cudaSupport
 , cudaPackages
@@ -12,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "torchaudio";
-  version = "2.0.2";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "pytorch";
     repo = "audio";
-    rev = "v${version}";
-    hash = "sha256-9lB4gLXq0nXHT1+DNOlbJQqNndt2I6kVoNwhMO/2qlE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-5UlnOGXXFu1p9M5B+Ixc9DW5hLZ1nskv81Y+McbWu6Q=";
   };
 
   postPatch = ''
@@ -31,6 +34,16 @@ buildPythonPackage rec {
     TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" torch.cudaCapabilities}";
   };
 
+  # https://github.com/pytorch/audio/blob/v2.1.0/docs/source/build.linux.rst#optional-build-torchaudio-with-a-custom-built-ffmpeg
+  FFMPEG_ROOT = symlinkJoin {
+    name = "ffmpeg";
+    paths = [
+      ffmpeg-full.bin
+      ffmpeg-full.dev
+      ffmpeg-full.lib
+    ];
+  };
+
   nativeBuildInputs = [
     cmake
     pkg-config
@@ -38,8 +51,11 @@ buildPythonPackage rec {
   ] ++ lib.optionals cudaSupport [
     cudaPackages.cuda_nvcc
   ];
+
   buildInputs = [
+    ffmpeg-full
     pybind11
+    sox
   ] ++ lib.optionals cudaSupport [
     cudaPackages.libcurand.dev
     cudaPackages.libcurand.lib
@@ -52,6 +68,7 @@ buildPythonPackage rec {
     cudaPackages.libcufft.dev
     cudaPackages.libcufft.lib
   ];
+
   propagatedBuildInputs = [
     torch
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/torchaudio/prefetch.sh b/nixpkgs/pkgs/development/python-modules/torchaudio/prefetch.sh
index 0777d3f2b56a..c0be5710121b 100755
--- a/nixpkgs/pkgs/development/python-modules/torchaudio/prefetch.sh
+++ b/nixpkgs/pkgs/development/python-modules/torchaudio/prefetch.sh
@@ -5,7 +5,7 @@ set -eou pipefail
 
 version=$1
 
-linux_cuda_version="cu118"
+linux_cuda_version="cu121"
 linux_cuda_bucket="https://download.pytorch.org/whl/${linux_cuda_version}"
 linux_cpu_bucket="https://download.pytorch.org/whl"
 darwin_bucket="https://download.pytorch.org/whl/cpu"
@@ -15,18 +15,18 @@ url_and_key_list=(
   "x86_64-linux-39 $linux_cuda_bucket/torchaudio-${version}%2B${linux_cuda_version}-cp39-cp39-linux_x86_64.whl torchaudio-${version}-cp39-cp39-linux_x86_64.whl"
   "x86_64-linux-310 $linux_cuda_bucket/torchaudio-${version}%2B${linux_cuda_version}-cp310-cp310-linux_x86_64.whl torchaudio-${version}-cp310-cp310-linux_x86_64.whl"
   "x86_64-linux-311 $linux_cuda_bucket/torchaudio-${version}%2B${linux_cuda_version}-cp311-cp311-linux_x86_64.whl torchaudio-${version}-cp311-cp311-linux_x86_64.whl"
-  "x86_64-darwin-38 $darwin_bucket/torchaudio-${version}-cp38-cp38-macosx_10_9_x86_64.whl torchaudio-${version}-cp38-cp38-macosx_10_9_x86_64.whl"
-  "x86_64-darwin-39 $darwin_bucket/torchaudio-${version}-cp39-cp39-macosx_10_9_x86_64.whl torchaudio-${version}-cp39-cp39-macosx_10_9_x86_64.whl"
-  "x86_64-darwin-310 $darwin_bucket/torchaudio-${version}-cp310-cp310-macosx_10_9_x86_64.whl torchaudio-${version}-cp310-cp310-macosx_10_9_x86_64.whl"
-  "x86_64-darwin-311 $darwin_bucket/torchaudio-${version}-cp311-cp311-macosx_10_9_x86_64.whl torchaudio-${version}-cp311-cp311-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-38 $darwin_bucket/torchaudio-${version}-cp38-cp38-macosx_10_13_x86_64.whl torchaudio-${version}-cp38-cp38-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-39 $darwin_bucket/torchaudio-${version}-cp39-cp39-macosx_10_13_x86_64.whl torchaudio-${version}-cp39-cp39-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-310 $darwin_bucket/torchaudio-${version}-cp310-cp310-macosx_10_13_x86_64.whl torchaudio-${version}-cp310-cp310-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-311 $darwin_bucket/torchaudio-${version}-cp311-cp311-macosx_10_13_x86_64.whl torchaudio-${version}-cp311-cp311-macosx_10_9_x86_64.whl"
   "aarch64-darwin-38 $darwin_bucket/torchaudio-${version}-cp38-cp38-macosx_11_0_arm64.whl torchaudio-${version}-cp38-cp38-macosx_11_0_arm64.whl"
   "aarch64-darwin-39 $darwin_bucket/torchaudio-${version}-cp39-cp39-macosx_11_0_arm64.whl torchaudio-${version}-cp39-cp39-macosx_11_0_arm64.whl"
   "aarch64-darwin-310 $darwin_bucket/torchaudio-${version}-cp310-cp310-macosx_11_0_arm64.whl torchaudio-${version}-cp310-cp310-macosx_11_0_arm64.whl"
   "aarch64-darwin-311 $darwin_bucket/torchaudio-${version}-cp311-cp311-macosx_11_0_arm64.whl torchaudio-${version}-cp311-cp311-macosx_11_0_arm64.whl"
-  "aarch64-linux-38 $linux_cpu_bucket/torchaudio-${version}-cp38-cp38-manylinux2014_aarch64.whl torchaudio-${version}-cp38-cp38-manylinux2014_aarch64.whl"
-  "aarch64-linux-39 $linux_cpu_bucket/torchaudio-${version}-cp39-cp39-manylinux2014_aarch64.whl torchaudio-${version}-cp39-cp39-manylinux2014_aarch64.whl"
-  "aarch64-linux-310 $linux_cpu_bucket/torchaudio-${version}-cp310-cp310-manylinux2014_aarch64.whl torchaudio-${version}-cp310-cp310-manylinux2014_aarch64.whl"
-  "aarch64-linux-311 $linux_cpu_bucket/torchaudio-${version}-cp311-cp311-manylinux2014_aarch64.whl torchaudio-${version}-cp311-cp311-manylinux2014_aarch64.whl"
+  "aarch64-linux-38 $linux_cpu_bucket/torchaudio-${version}-cp38-cp38-linux_aarch64.whl torchaudio-${version}-cp38-cp38-manylinux2014_aarch64.whl"
+  "aarch64-linux-39 $linux_cpu_bucket/torchaudio-${version}-cp39-cp39-linux_aarch64.whl torchaudio-${version}-cp39-cp39-manylinux2014_aarch64.whl"
+  "aarch64-linux-310 $linux_cpu_bucket/torchaudio-${version}-cp310-cp310-linux_aarch64.whl torchaudio-${version}-cp310-cp310-manylinux2014_aarch64.whl"
+  "aarch64-linux-311 $linux_cpu_bucket/torchaudio-${version}-cp311-cp311-linux_aarch64.whl torchaudio-${version}-cp311-cp311-manylinux2014_aarch64.whl"
 )
 
 hashfile=binary-hashes-"$version".nix
diff --git a/nixpkgs/pkgs/development/python-modules/torchvision/bin.nix b/nixpkgs/pkgs/development/python-modules/torchvision/bin.nix
index e1ec53671141..574476ef8777 100644
--- a/nixpkgs/pkgs/development/python-modules/torchvision/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchvision/bin.nix
@@ -16,7 +16,7 @@ let
   pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
   srcs = import ./binary-hashes.nix version;
   unsupported = throw "Unsupported system";
-  version = "0.15.2";
+  version = "0.16.1";
 in buildPythonPackage {
   inherit version;
 
diff --git a/nixpkgs/pkgs/development/python-modules/torchvision/binary-hashes.nix b/nixpkgs/pkgs/development/python-modules/torchvision/binary-hashes.nix
index abcb5780bf47..f560d78baaa4 100644
--- a/nixpkgs/pkgs/development/python-modules/torchvision/binary-hashes.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchvision/binary-hashes.nix
@@ -6,66 +6,66 @@
 # To add a new version, run "prefetch.sh 'new-version'" to paste the generated file as follows.
 
 version : builtins.getAttr version {
-  "0.15.2" = {
+  "0.16.1" = {
     x86_64-linux-38 = {
-      name = "torchvision-0.15.2-cp38-cp38-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torchvision-0.15.2%2Bcu118-cp38-cp38-linux_x86_64.whl";
-      hash = "sha256-r2gH1eWZ/lOByRYjWlWBQH6FDrd8PUOJnzehUR/4HMA=";
+      name = "torchvision-0.16.1-cp38-cp38-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torchvision-0.16.1%2Bcu121-cp38-cp38-linux_x86_64.whl";
+      hash = "sha256-xPO1sRtw2yyLBlrp3kduqc6yrVc8fFgGi+CXWkABgrQ=";
     };
     x86_64-linux-39 = {
-      name = "torchvision-0.15.2-cp39-cp39-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torchvision-0.15.2%2Bcu118-cp39-cp39-linux_x86_64.whl";
-      hash = "sha256-8sb1oQC8+QILgvXUyHzX4mrwQJzzO5D7eXsRJ9zULeY=";
+      name = "torchvision-0.16.1-cp39-cp39-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torchvision-0.16.1%2Bcu121-cp39-cp39-linux_x86_64.whl";
+      hash = "sha256-1voLyIMnBZI9kBleyb819IhwW0nAFEizcCy3t9ebVPk=";
     };
     x86_64-linux-310 = {
-      name = "torchvision-0.15.2-cp310-cp310-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torchvision-0.15.2%2Bcu118-cp310-cp310-linux_x86_64.whl";
-      hash = "sha256-GcpKtdYXm75Tz/ed8ahV7mUzwoYd3HOJ9oNJ2Ln4MCo=";
+      name = "torchvision-0.16.1-cp310-cp310-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torchvision-0.16.1%2Bcu121-cp310-cp310-linux_x86_64.whl";
+      hash = "sha256-AglL7N9dxCpq/iGQ4ayz8y3ZwtOt2Cfd/pG1RMwjrfQ=";
     };
     x86_64-linux-311 = {
-      name = "torchvision-0.15.2-cp311-cp311-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu118/torchvision-0.15.2%2Bcu118-cp311-cp311-linux_x86_64.whl";
-      hash = "sha256-3vmvR+vCytVcWqLa0SMNz0Jhgz7W34pz6Dm8Izdk8J4=";
+      name = "torchvision-0.16.1-cp311-cp311-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu121/torchvision-0.16.1%2Bcu121-cp311-cp311-linux_x86_64.whl";
+      hash = "sha256-tO7B2cBOsDa05yrqX0OuM8BkFNqdNjkb0E/9Ma2C+6k=";
     };
     x86_64-darwin-38 = {
-      name = "torchvision-0.15.2-cp38-cp38-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchvision-0.15.2-cp38-cp38-macosx_10_9_x86_64.whl";
-      hash = "sha256-jxJBW2htuohPsIb1OsgD9pK+WlzdinWPUIErMP/+ouQ=";
+      name = "torchvision-0.16.1-cp38-cp38-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.1-cp38-cp38-macosx_10_13_x86_64.whl";
+      hash = "sha256-TyytYh+5bPEOKa+T4WyYsyJr3VOucStX6HPD3q8GFhc=";
     };
     x86_64-darwin-39 = {
-      name = "torchvision-0.15.2-cp39-cp39-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchvision-0.15.2-cp39-cp39-macosx_10_9_x86_64.whl";
-      hash = "sha256-R5AmD89HikHH7MYKbVIAqIFZ/djXVunynw+MWcSmemg=";
+      name = "torchvision-0.16.1-cp39-cp39-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.1-cp39-cp39-macosx_10_13_x86_64.whl";
+      hash = "sha256-8U0gHDcXbcQQbux2sinWWFoVBSZrjOqZ0zZv04iXt8A=";
     };
     x86_64-darwin-310 = {
-      name = "torchvision-0.15.2-cp310-cp310-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchvision-0.15.2-cp310-cp310-macosx_10_9_x86_64.whl";
-      hash = "sha256-d1QIh3ToEMVnKxQqRdzyCxvZhqWn2pD4ZgxD3EP7hQw=";
+      name = "torchvision-0.16.1-cp310-cp310-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.1-cp310-cp310-macosx_10_13_x86_64.whl";
+      hash = "sha256-mHEyeV5cA3y3TnvjWmk5mf2y9gMVImbuFbgCBug6Www=";
     };
     x86_64-darwin-311 = {
-      name = "torchvision-0.15.2-cp311-cp311-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchvision-0.15.2-cp311-cp311-macosx_10_9_x86_64.whl";
-      hash = "sha256-XzX2vVvMRWjmUi5BN/pg/McvT6PmFTIcJs2H6FWs05g=";
+      name = "torchvision-0.16.1-cp311-cp311-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.1-cp311-cp311-macosx_10_13_x86_64.whl";
+      hash = "sha256-Supc9JHGwhscvbsb8qODilnU25OtX0kBmmVk08pxJ8c=";
     };
     aarch64-darwin-38 = {
-      name = "torchvision-0.15.2-cp38-cp38-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchvision-0.15.2-cp38-cp38-macosx_11_0_arm64.whl";
-      hash = "sha256-MSEcAfi47DO4pjgye1RjIS55oD5DyJX4gEn5evG9Ev0=";
+      name = "torchvision-0.16.1-cp38-cp38-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.1-cp38-cp38-macosx_11_0_arm64.whl";
+      hash = "sha256-HWFLPJ4t6c11zA5OGSP8+7zZ/bnwigu7v34TXkoKHPo=";
     };
     aarch64-darwin-39 = {
-      name = "torchvision-0.15.2-cp39-cp39-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchvision-0.15.2-cp39-cp39-macosx_11_0_arm64.whl";
-      hash = "sha256-mHq2IiW0FRoR5T/QYVDFJYztJKydfFR+Dkq2+8qSpc4=";
+      name = "torchvision-0.16.1-cp39-cp39-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.1-cp39-cp39-macosx_11_0_arm64.whl";
+      hash = "sha256-oV6IqTp1Acx1t2Gi3NB6rtqvnL+vSMiv+oyYmJ7LsZ0=";
     };
     aarch64-darwin-310 = {
-      name = "torchvision-0.15.2-cp310-cp310-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchvision-0.15.2-cp310-cp310-macosx_11_0_arm64.whl";
-      hash = "sha256-N+sTjhP2ISU3owCawhhpVIOmNcQEtswdjg0Nl4AmqG0=";
+      name = "torchvision-0.16.1-cp310-cp310-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.1-cp310-cp310-macosx_11_0_arm64.whl";
+      hash = "sha256-JdpqeyLqA0j2LEXsDa8VdzEJa6vK5l0iJAQIGvluCFw=";
     };
     aarch64-darwin-311 = {
-      name = "torchvision-0.15.2-cp311-cp311-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torchvision-0.15.2-cp311-cp311-macosx_11_0_arm64.whl";
-      hash = "sha256-dXUFoKsr5wlsudK/RyMgLJcczt23LHlSp+h393PeD4o=";
+      name = "torchvision-0.16.1-cp311-cp311-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torchvision-0.16.1-cp311-cp311-macosx_11_0_arm64.whl";
+      hash = "sha256-M5F1cWdjes4+8zpnydXvhrH4y9k+qlutRe688mbqYIk=";
     };
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/torchvision/default.nix b/nixpkgs/pkgs/development/python-modules/torchvision/default.nix
index 401e415e2812..223130918af5 100644
--- a/nixpkgs/pkgs/development/python-modules/torchvision/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchvision/default.nix
@@ -40,7 +40,7 @@ let
   };
 
   pname = "torchvision";
-  version = "0.15.2";
+  version = "0.16.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -49,7 +49,7 @@ buildPythonPackage {
     owner = "pytorch";
     repo = "vision";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KNbOgd6PCINZqZ24c/Ev+ODux3ik5iUlzem9uUfQArM=";
+    hash = "sha256-TsYBDtedTQ3+F3LM4JwzkGH2XOr0WSp1Au5YoR07rSA=";
   };
 
   nativeBuildInputs = [ libpng ninja which ] ++ lib.optionals cudaSupport [ cuda-native-redist ];
diff --git a/nixpkgs/pkgs/development/python-modules/torchvision/prefetch.sh b/nixpkgs/pkgs/development/python-modules/torchvision/prefetch.sh
index 17dd15f6742e..e80718a50530 100755
--- a/nixpkgs/pkgs/development/python-modules/torchvision/prefetch.sh
+++ b/nixpkgs/pkgs/development/python-modules/torchvision/prefetch.sh
@@ -5,7 +5,7 @@ set -eou pipefail
 
 version=$1
 
-linux_cuda_version="cu118"
+linux_cuda_version="cu121"
 linux_bucket="https://download.pytorch.org/whl/${linux_cuda_version}"
 darwin_bucket="https://download.pytorch.org/whl/cpu"
 
@@ -14,10 +14,10 @@ url_and_key_list=(
   "x86_64-linux-39 $linux_bucket/torchvision-${version}%2B${linux_cuda_version}-cp39-cp39-linux_x86_64.whl torchvision-${version}-cp39-cp39-linux_x86_64.whl"
   "x86_64-linux-310 $linux_bucket/torchvision-${version}%2B${linux_cuda_version}-cp310-cp310-linux_x86_64.whl torchvision-${version}-cp310-cp310-linux_x86_64.whl"
   "x86_64-linux-311 $linux_bucket/torchvision-${version}%2B${linux_cuda_version}-cp311-cp311-linux_x86_64.whl torchvision-${version}-cp311-cp311-linux_x86_64.whl"
-  "x86_64-darwin-38 $darwin_bucket/torchvision-${version}-cp38-cp38-macosx_10_9_x86_64.whl torchvision-${version}-cp38-cp38-macosx_10_9_x86_64.whl"
-  "x86_64-darwin-39 $darwin_bucket/torchvision-${version}-cp39-cp39-macosx_10_9_x86_64.whl torchvision-${version}-cp39-cp39-macosx_10_9_x86_64.whl"
-  "x86_64-darwin-310 $darwin_bucket/torchvision-${version}-cp310-cp310-macosx_10_9_x86_64.whl torchvision-${version}-cp310-cp310-macosx_10_9_x86_64.whl"
-  "x86_64-darwin-311 $darwin_bucket/torchvision-${version}-cp311-cp311-macosx_10_9_x86_64.whl torchvision-${version}-cp311-cp311-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-38 $darwin_bucket/torchvision-${version}-cp38-cp38-macosx_10_13_x86_64.whl torchvision-${version}-cp38-cp38-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-39 $darwin_bucket/torchvision-${version}-cp39-cp39-macosx_10_13_x86_64.whl torchvision-${version}-cp39-cp39-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-310 $darwin_bucket/torchvision-${version}-cp310-cp310-macosx_10_13_x86_64.whl torchvision-${version}-cp310-cp310-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-311 $darwin_bucket/torchvision-${version}-cp311-cp311-macosx_10_13_x86_64.whl torchvision-${version}-cp311-cp311-macosx_10_9_x86_64.whl"
   "aarch64-darwin-38 $darwin_bucket/torchvision-${version}-cp38-cp38-macosx_11_0_arm64.whl torchvision-${version}-cp38-cp38-macosx_11_0_arm64.whl"
   "aarch64-darwin-39 $darwin_bucket/torchvision-${version}-cp39-cp39-macosx_11_0_arm64.whl torchvision-${version}-cp39-cp39-macosx_11_0_arm64.whl"
   "aarch64-darwin-310 $darwin_bucket/torchvision-${version}-cp310-cp310-macosx_11_0_arm64.whl torchvision-${version}-cp310-cp310-macosx_11_0_arm64.whl"
diff --git a/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix b/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
index fb510b7e764c..f9635d5617d4 100644
--- a/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/total-connect-client/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "total-connect-client";
-  version = "2023.11";
+  version = "2023.11.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "craigjmidwinter";
     repo = "total-connect-client";
     rev = "refs/tags/${version}";
-    hash = "sha256-UTMYuSKNn5ACKg9BmeUf1SFhDV1jknbxggkmCgzB/xk=";
+    hash = "sha256-XyoyPMhp7KZrizAehuFnBAWYliv9A7D2JjGA+lO3p7Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tree-sitter/default.nix b/nixpkgs/pkgs/development/python-modules/tree-sitter/default.nix
index d098859f5108..6eb833b92d50 100644
--- a/nixpkgs/pkgs/development/python-modules/tree-sitter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tree-sitter/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "tree-sitter";
-  version = "0.20.2";
+  version = "0.20.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "tree_sitter";
     inherit version;
-    hash = "sha256-CmwGq6pV3hdCQaR2tTYXO7ooJB0uqF0ZjTOqi/AJ8Cg=";
+    hash = "sha256-atsSPi8+VjmbvyNZkkYzyILMQO6DRIhSALygki9xO+U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
index 3943d185255d..477fb3b97438 100644
--- a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "4.0.1";
+  version = "4.0.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jBVQqYNB8P7E0xkcTH6uYmbBZ/l5P9VLtyyRQxq/fOY=";
+    hash = "sha256-ub/P7AO3CrTSHwVd8atz6HQN0LyP1WSCc+74/sds3fk=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/tuf/default.nix b/nixpkgs/pkgs/development/python-modules/tuf/default.nix
new file mode 100644
index 000000000000..b6965a7f42e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tuf/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, buildPythonPackage
+, ed25519
+, fetchFromGitHub
+, hatchling
+, pytestCheckHook
+, pythonOlder
+, requests
+, securesystemslib
+}:
+
+buildPythonPackage rec {
+  pname = "tuf";
+  version = "3.1.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "theupdateframework";
+    repo = "python-tuf";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-IGF/8RdX7Oxl6gdqPGN1w/6q4zaei+MnYXBZepB4KUA=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "hatchling==" "hatchling>="
+  '';
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    requests
+    securesystemslib
+  ] ++ securesystemslib.optional-dependencies.pynacl
+  ++ securesystemslib.optional-dependencies.crypto;
+
+  nativeCheckInputs = [
+    ed25519
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "tuf"
+  ];
+
+  preCheck = ''
+    cd tests
+  '';
+
+  meta = with lib; {
+    description = "Python reference implementation of The Update Framework (TUF)";
+    homepage = "https://github.com/theupdateframework/python-tuf";
+    changelog = "https://github.com/theupdateframework/python-tuf/blob/v${version}/docs/CHANGELOG.md";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/twentemilieu/default.nix b/nixpkgs/pkgs/development/python-modules/twentemilieu/default.nix
index e52f70753f32..389f31ba89bf 100644
--- a/nixpkgs/pkgs/development/python-modules/twentemilieu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twentemilieu/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "twentemilieu";
-  version = "2.0.0";
+  version = "2.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-twentemilieu";
     rev = "refs/tags/v${version}";
-    hash = "sha256-r0LZS8TXux1mzzXBTSu+x5sxUZOCzW7poKG3dQ2A6No=";
+    hash = "sha256-0rs+nBJfyXRj/3n/G2JzUDXaiIYZmWsoIcgLoWKhlV4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/twilio/default.nix b/nixpkgs/pkgs/development/python-modules/twilio/default.nix
index dac090b3957a..c053a9294fe9 100644
--- a/nixpkgs/pkgs/development/python-modules/twilio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twilio/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "8.10.1";
+  version = "8.10.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-bOWyvgqa9h5SaGFPtdsvMS8HxY8Pg3uLgugXH+2opEA=";
+    hash = "sha256-3Gm1oKhKcTb3c+awMKVQ3qFKkdXC3azR1ECTdw60oCg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/twitchapi/default.nix b/nixpkgs/pkgs/development/python-modules/twitchapi/default.nix
index f9db5fa4ecc8..5c672eef4c2a 100644
--- a/nixpkgs/pkgs/development/python-modules/twitchapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twitchapi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "twitchapi";
-  version = "4.0.1";
+  version = "4.1.0";
 
   disabled = pythonOlder "3.7";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Teekeks";
     repo = "pyTwitchAPI";
     rev = "refs/tags/v${version}";
-    hash = "sha256-WrZb734K51NYqlcMCRr8HO8E7XByioltd4vanTN8HUg=";
+    hash = "sha256-aYYuHyILd3nT0jG59wJcRgSeri26YsC3NpwuQ9dsI1I=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-appdirs/default.nix b/nixpkgs/pkgs/development/python-modules/types-appdirs/default.nix
index 7d316400a041..f6fe4cf6e1b3 100644
--- a/nixpkgs/pkgs/development/python-modules/types-appdirs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-appdirs/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "This is a PEP 561 type stub package for the appdirs package. It can be used by type-checking tools like mypy, pyright, pytype, PyCharm, etc. to check code that uses appdirs. ";
-    homepage = "https://pypi.org/project/types-appdirss";
+    homepage = "https://pypi.org/project/types-appdirs";
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix b/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix
index 4ce81ade979b..94810408f0ca 100644
--- a/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix
@@ -7,15 +7,15 @@
 
 buildPythonPackage rec {
   pname = "types-awscrt";
-  version = "0.19.13";
-  format = "pyproject";
+  version = "0.19.18";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "types_awscrt";
     inherit version;
-    hash = "sha256-N0erJxk0FN47IClSt0YiSYH58j9ysQFscSShN7rAD3s=";
+    hash = "sha256-T1pZyHwFgraev5lNYU4Pt2zC0KXsPzLk0dscCRhnzdM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-mock/default.nix b/nixpkgs/pkgs/development/python-modules/types-mock/default.nix
index 23c742798166..cb0d8060d89b 100644
--- a/nixpkgs/pkgs/development/python-modules/types-mock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-mock/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-mock";
-  version = "5.1.0.2";
+  version = "5.1.0.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3kjTdm5OMDTv2LJtqeCeSQjzHlMTel/i778fur7haZY=";
+    hash = "sha256-7urCVIAoe7ch+xf82i6XaNcKR23MFKLB0DiVNcVPgYQ=";
   };
 
   # Module has no tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-redis/default.nix b/nixpkgs/pkgs/development/python-modules/types-redis/default.nix
index c2e0e0551321..03fe60ce33d2 100644
--- a/nixpkgs/pkgs/development/python-modules/types-redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-redis/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "types-redis";
-  version = "4.6.0.10";
+  version = "4.6.0.11";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qn+190NTRQDydN3xGrHJEKrhAgSBhlo2t5nh1n3iqvM=";
+    hash = "sha256-yM/IRjUYPeyi20pSiWbFVmRF/TcTmD8ANPsPWgngiQ0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-s3transfer/default.nix b/nixpkgs/pkgs/development/python-modules/types-s3transfer/default.nix
index 56c27732187f..44f025c23c1a 100644
--- a/nixpkgs/pkgs/development/python-modules/types-s3transfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-s3transfer/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "types-s3transfer";
-  version = "0.7.0";
+  version = "0.8.1";
   pyproject = true;
 
   src = fetchPypi {
     pname = "types_s3transfer";
     inherit version;
-    hash = "sha256-rKDySG0KOlA3zVuPPiCkUiopV5qN0YMoH/CqHE4siqc=";
+    hash = "sha256-tng+wpElwAtWCzVNL+KhhdxcznahfCOsLWMGdK+nAEA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix b/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
index ea7e91719936..9c705d4bfbec 100644
--- a/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-setuptools";
-  version = "68.2.0.1";
+  version = "68.2.0.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jzHoIB55aXieDrI0Y7U+vl9n2SQX30tkim6jw1fKT1E=";
+    hash = "sha256-Ce/DgK1cf3jjC8oVRvcGRpVozyYITPq3Ps+D3qHShEY=";
   };
 
   # Module doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-tqdm/default.nix b/nixpkgs/pkgs/development/python-modules/types-tqdm/default.nix
new file mode 100644
index 000000000000..b8e7b096c835
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-tqdm/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "types-tqdm";
+  version = "4.66.0.5";
+  pyproject = true;
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-dL1+RpI4wogWMA9yqbcT0CA29rVXc0YWQwrbe350ESw=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  # This package does not have tests.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Typing stubs for tqdm";
+    homepage = "https://pypi.org/project/types-tqdm/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/uqbar/default.nix b/nixpkgs/pkgs/development/python-modules/uqbar/default.nix
new file mode 100644
index 000000000000..e6633ab2e676
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/uqbar/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, unidecode
+, sphinx
+, pythonAtLeast
+, pythonOlder
+, pytestCheckHook
+, pytest-cov
+}:
+
+buildPythonPackage rec {
+  pname = "uqbar";
+  version = "0.7.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-cEhWXGtMSXVjT5QigDedjT/lwYQnVqPCE5vbctXWznk=";
+  };
+
+  propagatedBuildInputs = [
+    unidecode
+    sphinx
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov
+  ];
+
+  pytestFlagsArray = [
+    "tests/"
+    "-vv"
+    "-rf"
+    "--cov-branch"
+    "--cov-report=html"
+    "--cov-report=term"
+    "--doctest-modules"
+  ];
+
+  disabledTests = [
+    # UnboundLocalError: local variable 'output_path' referenced before
+    # assignment
+    "test_01"
+    # AssertionError: assert False
+    "test_sphinx_book_html_cached"
+    # FileNotFoundError: [Errno 2] No such file or directory: 'unflatten'
+    "test_sphinx_style_html"
+    # assert not ["\x1b[91mWARNING: dot command 'dot' cannot be run (needed for
+    # graphviz output), check the graphviz_dot setting\x1b[39;49;00m"]
+    "test_sphinx_style_latex"
+  ]
+  # assert not '\x1b[91m/build/uqbar-0.7.0/tests/fake_package/enums.py:docstring
+  ++ lib.optional (pythonAtLeast "3.11") "test_sphinx_style";
+
+  pythonImportsCheck = [ "uqbar" ];
+
+  meta = {
+    description = "Tools for creating Sphinx and Graphviz documentation";
+    license = lib.licenses.mit;
+    homepage = "https://github.com/josiah-wolf-oberholtzer/uqbar";
+    changelog =
+      "https://github.com/josiah-wolf-oberholtzer/uqbar/releases/tag/v${version}";
+    maintainers = [ lib.maintainers.davisrichard437 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/uri-template/default.nix b/nixpkgs/pkgs/development/python-modules/uri-template/default.nix
index db7dc602aea0..7bebffce194a 100644
--- a/nixpkgs/pkgs/development/python-modules/uri-template/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uri-template/default.nix
@@ -1,30 +1,45 @@
-{ lib, buildPythonPackage, fetchFromGitHub, python }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+, pythonOlder
+, setuptools
+, setuptools-scm
+}:
 
 buildPythonPackage rec {
   pname = "uri-template";
-  version = "1.2.0";
+  version = "1.3.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "plinss";
     repo = "uri_template";
-    rev = "v${version}";
-    hash = "sha256-IAq6GpEwimq45FU0QugLZLSOhwAmC1KbpZKD0zyxsUs=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-38HFFqM6yfpsPrhIpE639ePy/NbLqKw7gbnE3y8sL3w=";
   };
 
-  postPatch = ''
-    sed -i -e 's/0.0.0/${version}/' setup.py
-  '';
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
 
   checkPhase = ''
     ${python.interpreter} test.py
   '';
 
-  pythonImportsCheck = [ "uri_template" ];
+  pythonImportsCheck = [
+    "uri_template"
+  ];
 
   meta = with lib; {
     description = "An implementation of RFC 6570 URI Templates";
     homepage = "https://github.com/plinss/uri_template/";
     license = licenses.mit;
-    maintainers = [];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix b/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix
index 6a7fd953c423..6808c1d906d6 100644
--- a/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix
@@ -6,12 +6,13 @@
 , pyserial
 , pyserial-asyncio
 , pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "velbus-aio";
-  version = "2023.10.2";
-  format = "setuptools";
+  version = "2023.11.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -19,10 +20,14 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qRKVjiRrRg1YwwYCSp6KGvaS7QnYLIW5rum3X7vEANM=";
+    hash = "sha256-j0NGeuxhtxmlpal9MpnlHqGv47uTVx1Lyfy9u0cEtYg=";
     fetchSubmodules = true;
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     backoff
     pyserial
diff --git a/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix b/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
index 26660fec990a..018b0b27bf52 100644
--- a/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "vertica-python";
-  version = "1.3.6";
+  version = "1.3.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LLlaLP9NgzpJyxsEGPd7sdcVX/qXY8mO3ZQNm39gocM=";
+    hash = "sha256-Kl8NARHTzEZrh5I//TwmITKp+g44lk5D7vkKPM2ldFI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vncdo/default.nix b/nixpkgs/pkgs/development/python-modules/vncdo/default.nix
index 5f27bba823c4..51b5abbe9ea2 100644
--- a/nixpkgs/pkgs/development/python-modules/vncdo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vncdo/default.nix
@@ -1,39 +1,57 @@
-{ lib, fetchFromGitHub
-, buildPythonPackage, isPy27
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pexpect
 , pillow
+, pycryptodomex
+, pytestCheckHook
+, pythonOlder
+, pyvirtualdisplay
+, setuptools
 , twisted
-, pexpect
-, nose
-, ptyprocess
 }:
 
 buildPythonPackage rec {
   pname = "vncdo";
   version = "1.1.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "sibson";
     repo = "vncdotool";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-m8msWa8uUuDEjEUlXHCgYi0HFPKXLVXpXLyuQ3quNbA=";
+    hash = "sha256-m8msWa8uUuDEjEUlXHCgYi0HFPKXLVXpXLyuQ3quNbA=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     pillow
+    pycryptodomex
     twisted
+  ];
+
+  nativeCheckInputs = [
     pexpect
-    nose
-    ptyprocess
+    pytestCheckHook
+    pyvirtualdisplay
   ];
 
-  doCheck = !isPy27;
+  pythonImportsCheck = [
+    "vncdotool"
+  ];
 
   meta = with lib; {
+    description = "A command line VNC client and Python library";
     homepage = "https://github.com/sibson/vncdotool";
-    description = "A command line VNC client and python library";
+    changelog = "https://github.com/sibson/vncdotool/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ elitak ];
-    mainProgram = pname;
+    mainProgram = "vncdo";
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/vulture/default.nix b/nixpkgs/pkgs/development/python-modules/vulture/default.nix
index e3fcad870a95..5578b54ccd28 100644
--- a/nixpkgs/pkgs/development/python-modules/vulture/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vulture/default.nix
@@ -2,21 +2,23 @@
 , buildPythonPackage
 , fetchPypi
 , pint
-, pythonOlder
 , pytestCheckHook
+, pythonOlder
+, setuptools
 , toml
+, tomli
 }:
 
 buildPythonPackage rec {
   pname = "vulture";
-  version = "2.9.1";
-  format = "setuptools";
+  version = "2.10";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tqKqYytv1RSIqO6sZQq0pQm7GgMugZQ4F6ii5qY6MLM=";
+    hash = "sha256-KlwxYL/7p3WVtubfzEEgFr0qCc1LZs33+7qRNoSJn28=";
   };
 
   postPatch = ''
@@ -24,13 +26,18 @@ buildPythonPackage rec {
       --replace " --cov vulture --cov-report=html --cov-report=term --cov-report=xml --cov-append" ""
   '';
 
-  propagatedBuildInputs = [
-    toml
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [
+    tomli
   ];
 
   nativeCheckInputs = [
     pint
     pytestCheckHook
+    toml
   ];
 
   pythonImportsCheck = [
@@ -40,6 +47,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Finds unused code in Python programs";
     homepage = "https://github.com/jendrikseipp/vulture";
+    changelog = "https://github.com/jendrikseipp/vulture/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ mcwitt ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix b/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
index 23b41404034f..d90a71ca2582 100644
--- a/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "wagtail-localize";
-  version = "1.6";
+  version = "1.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     repo = pname;
     owner = "wagtail";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OrRR5wLTq3icSBq+9m+MxIvkTvJP7yiGR9yzPt53q+k=";
+    hash = "sha256-Q29Nh/4Z3tYuwoodWKDl5FS+lfl9yDXN7RHn/RReCds=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/warcio/default.nix b/nixpkgs/pkgs/development/python-modules/warcio/default.nix
index 935a538222bd..fe9f7bdeb0f1 100644
--- a/nixpkgs/pkgs/development/python-modules/warcio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/warcio/default.nix
@@ -2,18 +2,22 @@
 , buildPythonPackage
 , fetchFromGitHub
 , fetchpatch
-, six
-, setuptools
-, pytestCheckHook
 , httpbin
+, multidict
+, pytestCheckHook
+, pythonOlder
 , requests
+, setuptools
+, six
 , wsgiprox
-, multidict
 }:
 
 buildPythonPackage rec {
   pname = "warcio";
   version = "1.7.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "webrecorder";
@@ -24,6 +28,7 @@ buildPythonPackage rec {
 
   patches = [
     (fetchpatch {
+      # Add offline mode to skip tests that require an internet connection, https://github.com/webrecorder/warcio/pull/135
       name = "add-offline-option.patch";
       url = "https://github.com/webrecorder/warcio/pull/135/commits/2546fe457c57ab0b391764a4ce419656458d9d07.patch";
       hash = "sha256-3izm9LvAeOFixiIUUqmd5flZIxH92+NxL7jeu35aObQ=";
@@ -36,20 +41,30 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    pytestCheckHook
     httpbin
+    multidict # Optional. Without this, one test in test/test_utils.py is skipped.
+    pytestCheckHook
     requests
     wsgiprox
-    multidict # Optional. Without this, one test in test/test_utils.py is skipped.
   ];
 
-  pytestFlagsArray = [ "--offline" ];
+  pytestFlagsArray = [
+    "--offline"
+  ];
+
+  disabledTests = [
+    # Tests require network access, see above
+    "test_get_cache_to_file"
+  ];
 
-  pythonImportsCheck = [ "warcio" ];
+  pythonImportsCheck = [
+    "warcio"
+  ];
 
   meta = with lib; {
     description = "Streaming WARC/ARC library for fast web archive IO";
     homepage = "https://github.com/webrecorder/warcio";
+    changelog = "https://github.com/webrecorder/warcio/blob/master/CHANGELIST.rst";
     license = licenses.asl20;
     maintainers = with maintainers; [ Luflosi ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/wasmer/default.nix b/nixpkgs/pkgs/development/python-modules/wasmer/default.nix
index 7ac1626c3b6f..947022eab4f6 100644
--- a/nixpkgs/pkgs/development/python-modules/wasmer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wasmer/default.nix
@@ -8,6 +8,7 @@
 , libiconv
 , libffi
 , libxml2
+, llvm_14
 , ncurses
 , zlib
 }:
@@ -93,7 +94,7 @@ in
     pname = "wasmer-compiler-llvm";
     buildAndTestSubdir = "packages/compiler-llvm";
     cargoHash = "sha256-xawbf5gXXV+7I2F2fDSaMvjtFvGDBtqX7wL3c28TSbA=";
-    extraNativeBuildInputs = [ rustc.llvm ];
+    extraNativeBuildInputs = [ llvm_14 ];
     extraBuildInputs = [ libffi libxml2.out ncurses zlib ];
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/watermark/default.nix b/nixpkgs/pkgs/development/python-modules/watermark/default.nix
index 29b600624e87..6e9e169ace5e 100644
--- a/nixpkgs/pkgs/development/python-modules/watermark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/watermark/default.nix
@@ -1,35 +1,47 @@
 { lib
-, fetchFromGitHub
 , buildPythonPackage
+, fetchFromGitHub
 , importlib-metadata
 , ipython
+, py3nvml
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "watermark";
   version = "2.4.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "rasbt";
-    repo = pname;
+    repo = "watermark";
     rev = "refs/tags/v${version}";
     hash = "sha256-4/1Y7cdh1tF33jgPrqdxCGPcRnnxx+Wf8lyztF54Ck0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     ipython
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
+  passthru.optional-dependencies = {
+    gpu = [
+      py3nvml
+    ];
+  };
+
   nativeCheckInputs =  [
     pytestCheckHook
-  ];
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   pythonImportsCheck = [
     "watermark"
@@ -38,6 +50,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "IPython extension for printing date and timestamps, version numbers, and hardware information";
     homepage = "https://github.com/rasbt/watermark";
+    changelog = "https://github.com/rasbt/watermark/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ nphilou ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/wordcloud/default.nix b/nixpkgs/pkgs/development/python-modules/wordcloud/default.nix
index bf71a5a14cd3..1bca71009a99 100644
--- a/nixpkgs/pkgs/development/python-modules/wordcloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wordcloud/default.nix
@@ -24,6 +24,11 @@ buildPythonPackage rec {
     hash = "sha256-Tcle9otT1eBN/RzajwKZDUq8xX0Lhi2t74OvhUrvHZE=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov --cov-report xml --tb=short" ""
+  '';
+
   nativeBuildInputs = [
     cython
   ];
@@ -39,11 +44,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace " --cov --cov-report xml --tb=short" ""
-  '';
-
   preCheck = ''
     cd test
   '';
@@ -55,11 +55,15 @@ buildPythonPackage rec {
   disabledTests = [
     # Don't tests CLI
     "test_cli_as_executable"
+    # OSError: invalid ppem value
+    "test_recolor_too_small"
+    "test_coloring_black_works"
   ];
 
   meta = with lib; {
     description = "Word cloud generator in Python";
     homepage = "https://github.com/amueller/word_cloud";
+    changelog = "https://github.com/amueller/word_cloud/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ jm2dev ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/xformers/default.nix b/nixpkgs/pkgs/development/python-modules/xformers/default.nix
index 0fa17ac6858a..bf2d415b3e7d 100644
--- a/nixpkgs/pkgs/development/python-modules/xformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xformers/default.nix
@@ -2,12 +2,10 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, pythonRelaxDepsHook
 , which
 # runtime dependencies
 , numpy
 , torch
-, pyre-extensions
 # check dependencies
 , pytestCheckHook
 , pytest-cov
@@ -27,7 +25,7 @@
 #, flash-attn
 }:
 let
-  version = "0.03";
+  version = "0.0.22.post7";
 in
 buildPythonPackage {
   pname = "xformers";
@@ -40,7 +38,7 @@ buildPythonPackage {
     owner = "facebookresearch";
     repo = "xformers";
     rev = "refs/tags/v${version}";
-    hash = "sha256-G8f7tny5B8SAQ6+2uOjhY7nD0uOT4sskIwtTdwivQXo=";
+    hash = "sha256-7lZi3+2dVDZJFYCUlxsyDU8t9qdnl+b2ERRXKA6Zp7U=";
     fetchSubmodules = true;
   };
 
@@ -52,18 +50,12 @@ buildPythonPackage {
   '';
 
   nativeBuildInputs = [
-    pythonRelaxDepsHook
     which
   ];
 
-  pythonRelaxDeps = [
-    "pyre-extensions"
-  ];
-
   propagatedBuildInputs = [
     numpy
     torch
-    pyre-extensions
   ];
 
   pythonImportsCheck = [ "xformers" ];
diff --git a/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix b/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
index 0d11e9df8c1b..d4a04317ad80 100644
--- a/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "xkcdpass";
-  version = "1.19.5";
+  version = "1.19.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zEgC3tTQ6kwDovHPHRTvYndWVF79DpnAX454VDZiedE=";
+    hash = "sha256-zrdR4KuORCGIoRTZDednT9JDV/seWQRa3aPal8gxdTE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yamllint/default.nix b/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
index 7db56a0d617a..c5664846dcfc 100644
--- a/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yamllint";
-  version = "1.32.0";
+  version = "1.33.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "adrienverge";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-DtIQ/gUBFQBm0OOJC2c/ONn2ZKsMAzdwMx7FbUo+uIU=";
+    hash = "sha256-hWN5PhEAhckp250Dj7h5PpyH/E1jCi38O4VmMYgPtzE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yeelight/default.nix b/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
index c70bdb38e375..12fb6ffccc72 100644
--- a/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yeelight";
-  version = "0.7.13";
+  version = "0.7.14";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "stavros";
     repo = "python-yeelight";
     rev = "refs/tags/v${version}";
-    hash = "sha256-IhEvyWgOTAlfQH1MX7GCpaJUJOGY/ZNbyk5Q6CiTDLA=";
+    hash = "sha256-BnMvRs95rsmoBa/5bp0zShgU1BBHtZzyADjbH0y1d/o=";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/yfinance/default.nix b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
index d61a1097ee83..500dbcefb1e5 100644
--- a/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.2.31";
+  version = "0.2.32";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ranaroussi";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-GXnMzIjRx5c3O7J0bPjcdDvEIqTGMe002wYx28FLI6U=";
+    hash = "sha256-sEEYi2qp3LcgBxN0tlbmOaCpkjiDO80lFIaY0qdbuoo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zamg/default.nix b/nixpkgs/pkgs/development/python-modules/zamg/default.nix
index b878a1198f87..5138ebd1319a 100644
--- a/nixpkgs/pkgs/development/python-modules/zamg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zamg/default.nix
@@ -9,8 +9,8 @@
 
 buildPythonPackage rec {
   pname = "zamg";
-  version = "0.3.1";
-  format = "pyproject";
+  version = "0.3.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "killer0071234";
     repo = "python-zamg";
     rev = "refs/tags/v${version}";
-    hash = "sha256-snYRYwJc9H6H+dxaQM4beGvu5AuaXv7W8w5xjR6RPyw=";
+    hash = "sha256-hgJtM208xsDh9RbxOFu5DOiKonLMj8aWyu9+EhpE6TA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix b/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 52f2422bab85..fbddedbe867f 100644
--- a/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -6,12 +6,13 @@
 , pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.53.1";
-  format = "setuptools";
+  version = "0.54.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.11";
 
@@ -19,9 +20,13 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-WfKZraF/mh1YTgK2YXnP5JHqjj5oWI9PeZAvt75btr8=";
+    hash = "sha256-FdA8GHwe/An53CqPxE6QUwXTxk3HSqLBrk1dMaVWamA=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     pydantic