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/accelerate/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/acquire/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/adafruit-nrfutil/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/adlfs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aemet-opendata/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aenum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/afdko/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ailment/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-pika/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioairq/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioambient/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioboto3/default.nix73
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiobotocore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiofiles/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiogram/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-basicauth/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-openmetrics/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-remotes/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohue/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiojobs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomisc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioprometheus/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioqsw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioridwell/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorun/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosmb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiostream/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiounifi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiovlc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiovodafone/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiowithings/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioxmpp/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/alembic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/alexapy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-iot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/allure-behave/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/allure-python-commons-test/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/allure-python-commons/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/altair/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/altgraph/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/amazon-ion/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/amazon-kclpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/angr/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/annotated-types/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/core.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/anthemav/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/anthropic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/anyio/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/anywidget/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aocd/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/apache-beam/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apischema/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/app-model/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apple-weatherkit/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/apprise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aprslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apsw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apycula/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/archinfo/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/argh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/argilla/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/argon2-cffi-bindings/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/argon2-cffi/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/argos-translate-files/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/argostranslate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ariadne/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/array-record/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/arviz/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/asana/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/asdf-transform-schemas/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/asdf/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/asf-search/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asn1tools/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/permissions.patch20
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/astroquery/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/asttokens/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyauth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-timeout/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-tkinter-loop/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncwhois/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/atom/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/atpublic/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/atsim-potentials/default.nix (renamed from nixpkgs/pkgs/development/python-modules/atsim_potentials/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python-modules/auditok/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/augmax/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/auth0-python/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/autofaiss/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/autoflake/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/automx2/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/autopep8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/av/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awkward/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-encryption-sdk/default.nix2
-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.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awscrt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/awswrangler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/b2sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bambi/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/barectf/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/base64io/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/bash_kernel/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/bbox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/beancount-docverif/default.nix (renamed from nixpkgs/pkgs/development/python-modules/beancount_docverif/default.nix)19
-rw-r--r--nixpkgs/pkgs/development/python-modules/beancount/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/beartype/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/beautiful-date/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/bellows/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bespon/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/bip-utils/default.nix (renamed from nixpkgs/pkgs/development/python-modules/bip_utils/default.nix)9
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitcoinlib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitstring/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/blackjax/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/blinker/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/blinkpy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/blosc2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/blspy/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix1823
-rw-r--r--nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bottle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bottombar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bqplot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bqscales/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/breathe/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/breezy/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/brian2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/brotli/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/brotlicffi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/btrees/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/build/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/busypie/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/bytecode/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bytewax/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cadquery/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/camel-converter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/canals/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/canopen/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/casbin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/castepxbin/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/catboost/default.nix96
-rw-r--r--nixpkgs/pkgs/development/python-modules/catboost/nix-support.patch173
-rw-r--r--nixpkgs/pkgs/development/python-modules/catppuccin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/celery-types/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/censys/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cepa/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/certauth/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/certifi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/certipy-ad/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chardet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/chart-studio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/checksumdir/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/cheroot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chex/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/chia-rs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiabip158/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chiavdf/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/chispa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/circuitbreaker/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/circus/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/cirq-core/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/cirq-ft/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/cirq-google/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/cirq/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/claripy/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/cle/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/cleanlab/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/clevercsv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-aliases/0001-Fix-quotes-in-test.patch39
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-aliases/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/clickgen/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cliff/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudflare/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clustershell/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmaes/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmdstanpy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cntk/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/cocotb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cohere/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/colored/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/comicon/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/comm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/command_runner/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/compreffor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/configparser/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/confuse/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/contourpy/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/controku/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/correctionlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/corsair-scan/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/coverage/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cramjam/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/crate/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/crc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cronsim/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptodatahub/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/cssutils/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/ctranslate2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cvxopt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cvxpy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/cython-test-exception-raiser/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/cytoolz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/darkdetect/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/dash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-glm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/databases/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/databricks-sql-connector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dataprep-ml/default.nix77
-rw-r--r--nixpkgs/pkgs/development/python-modules/dataset/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datasette/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/datauri/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbt-bigquery/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbt-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbt-redshift/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbt-snowflake/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus-deviation/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dctorch/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/deal-solver/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/deal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/debugpy/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/deep_merge/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/deepdiff/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/deezer-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/defcon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deform/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/denonavr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deprecated/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/desktop-entry-lib/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/devito/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/devpi-common/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/devtools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/dill/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/dinghy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dirty-equals/default.nix83
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-cstruct/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-target/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-util/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/distlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/distrax/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/distutils-extra/default.nix (renamed from nixpkgs/pkgs/development/python-modules/distutils_extra/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python-modules/dj-rest-auth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-allauth/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-anymail/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-environ/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-extensions/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-filter/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-hijack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-import-export/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-phonenumber-field/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-postgresql-netfields/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-redis/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-reversion/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-sesame/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-silk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-simple-captcha/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-storages/default.nix81
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-stubs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-taggit/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-treebeard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-types/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-webpush/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/3.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django/4.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dllogger/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/dns-lexicon/default.nix118
-rw-r--r--nixpkgs/pkgs/development/python-modules/docformatter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/docformatter/test-path.patch6
-rw-r--r--nixpkgs/pkgs/development/python-modules/docker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/docopt-ng/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/docutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/docx2python/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/draftjs-exporter/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dramatiq/default.nix106
-rw-r--r--nixpkgs/pkgs/development/python-modules/drf-spectacular-sidecar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/drf-spectacular/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dtw-python/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/duckdb-engine/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/duckdb-engine/remote_data.patch24
-rw-r--r--nixpkgs/pkgs/development/python-modules/duckdb/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/duo-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-data/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvclive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dynalite-devices/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ebooklib/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/editables/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/einops/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elastic-transport/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elmax-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/email-validator/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/emborg/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/enlighten/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/env-canada/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/envisage/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/ephem/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/equinox/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/eradicate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/es-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/esig/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python-modules/et-xmlfile/default.nix (renamed from nixpkgs/pkgs/development/python-modules/et_xmlfile/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python-modules/eth-keys/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/etils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eufylife-ble-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/evaluate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/execnet/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/exitcode/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/ezyrb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/faadelays/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/factory-boy/default.nix (renamed from nixpkgs/pkgs/development/python-modules/factory_boy/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python-modules/fake-useragent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/faker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fakeredis/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastai/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastapi/default.nix75
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastavro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastembed/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ffcv/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/filelock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flake8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flasgger/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-babel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-dramatiq/default.nix85
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-login/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-mysqldb/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-openid/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-restful/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-restx/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-wtf/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/flax/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flet-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flow-record/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/fnv-hash-fast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fontmake/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fonttools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/formbox/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/formulae/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/formulaic/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/frozendict/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/frozenlist/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/fschat/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/fsspec/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/fugashi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/furo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/galois/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/garminconnect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/garth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/gcsa/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/gentools/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/get-video-properties/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/gevent/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/gidgethub/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/gitignore-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gitlike-commands/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/gitpython/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/glean-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/glfw/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/glyphslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-ai-generativelanguage/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-auth/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-generativeai/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gphoto2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpiozero/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/gptcache/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpustat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gradio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphql-server-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/grappelli-safe/default.nix (renamed from nixpkgs/pkgs/development/python-modules/grappelli_safe/default.nix)28
-rw-r--r--nixpkgs/pkgs/development/python-modules/graspologic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/greynoise/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/griffe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-health-checking/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-status/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gsd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gspread/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/gssapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gst-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/guzzle-sphinx-theme/default.nix (renamed from nixpkgs/pkgs/development/python-modules/guzzle_sphinx_theme/default.nix)25
-rw-r--r--nixpkgs/pkgs/development/python-modules/h5netcdf/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/h5py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hacking/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hahomematic/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/hap-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hatch-jupyter-builder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hatch-nodejs-version/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hatch-requirements-txt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hdbscan/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hdfs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/help2man/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/heudiconv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hglib/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/hglib/hgpath.patch24
-rw-r--r--nixpkgs/pkgs/development/python-modules/hist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/holidays/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/horizon-eda/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpbin/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpcore/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpie/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/huey/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/huggingface-hub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hupper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hvac/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hvplot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hyperscan/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/hypothesis-auto/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/hypothesis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hyppo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibm-cloud-sdk-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/icmplib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/icontract/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/idasen/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/identify/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ifcopenshell/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/igraph/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ihm/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/iisignature/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/image-go-nord/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/imageio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/imap-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/iminuit/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/importlib-resources/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/in-n-out/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/in-place/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/indexed-bzip2/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/indexed-gzip/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/indexed-zstd/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/inflect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/influxdb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/iniconfig/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/iocextract/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipdb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipwhl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipympl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython-genutils/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython-sql/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipython_genutils/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ircrobots/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ircstates/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/irctokens/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/iso8601/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/iteration-utilities/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaraco-classes/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaraco-functools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaraco-itertools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jax/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxopt/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxtyping/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/jinja2-git/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/jiwer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jplephem/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonpickle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonpointer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonschema/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-book/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-console/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-ydoc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupytext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/justnimbus/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/kaggle/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/kaptan/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/kasa-crypt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/kbcstorage/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/keras/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/keystoneauth1/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/klein/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/kotsu/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/kubernetes/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/labelbox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/labgrid/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/langchain/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/langchainplus-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/langsmith/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lark/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/lazy-imports/default.nix (renamed from nixpkgs/pkgs/development/python-modules/lazy_imports/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/python-modules/led-ble/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/ledger-bitcoin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ledgercomm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/levenshtein/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/libcst/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/libnacl/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/librosa/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/liccheck/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lifelines/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lightgbm/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/limits/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/limnoria/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/linear_operator/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/linkify-it-py/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/linode-api/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/liquidctl/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/lit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/litellm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/loca/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/localstack-ext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/localstack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/logilab/common.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/loguru/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/looseversion/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/loqedapi/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/losant-rest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lsprotocol/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/lxmf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/m2r/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/m3u8/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/magic-filter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/mando/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/mandown/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/manimpango/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/marisa-trie/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mashumaro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/maya/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/md2gemini/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-admon/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-footnote/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-gfm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-simple-breaks/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat-tables/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdit-py-plugins/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mediafile/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mediapy/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/meep/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/meilisearch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/memory-profiler/default.nix (renamed from nixpkgs/pkgs/development/python-modules/memory_profiler/default.nix)5
-rw-r--r--nixpkgs/pkgs/development/python-modules/meraki/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mesa/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/meson-python/add-build-flags.sh16
-rw-r--r--nixpkgs/pkgs/development/python-modules/meson-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mezzanine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mido/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/millheater/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mindsdb-evaluator/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/minio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mirakuru/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/mistletoe/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mistune/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/mizani/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-material/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocstrings/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/ml-dtypes/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/mlflow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mlxtend/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mmcv/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/mne-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mobi/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/mocket/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mockfs/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/model-bakery/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/modelcif/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/monai-deploy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/monai/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mongoengine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/monty/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/more-itertools/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/moto/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/motor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpi4py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mplhep/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mrsqm/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/msal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msgpack/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/msgspec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msldap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/multipledispatch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/multiprocess/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/munch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mung/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-boto3-ebs/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-boto3/default.nix755
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/myst-docutils/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/myst-nb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/myst-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nameparser/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/napalm/default.nix86
-rw-r--r--nixpkgs/pkgs/development/python-modules/napari-npe2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nasdaq-data-link/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbclassic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbdev/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbformat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbmerge/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/neo4j/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nestedtext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/netio/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/netmiko/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/netutils/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/networkx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nextcord/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/niaarm/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nibe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nilearn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nkdfu/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/nomadnet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nose2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook-shim/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/notifications-python-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nsz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/numba/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/numba/numpy-1.24.patch644
-rw-r--r--nixpkgs/pkgs/development/python-modules/numexpr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpy/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpyro/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/nutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oci/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch86
-rw-r--r--nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/okta/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/onnxconverter-common/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-triton/default.nix224
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-triton/llvm.nix125
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-triton/llvm15.patch4617
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-whisper/ffmpeg-path.patch20
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openaiauth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openant/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/openapi-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opencensus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openllm-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openpyxl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openstackdocstheme/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opower/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opsdroid-get-image-size/default.nix (renamed from nixpkgs/pkgs/development/python-modules/opsdroid_get_image_size/default.nix)17
-rw-r--r--nixpkgs/pkgs/development/python-modules/optimum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/optuna/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/oracledb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/orange-widget-base/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/orange3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/orjson/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ormar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslo-config/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslo-db/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslo-i18n/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oss2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/paddleocr/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/palettable/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas/installer-fix.patch25
-rw-r--r--nixpkgs/pkgs/development/python-modules/parametrize-from-file/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/paramiko/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/parse-type/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/parse/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/partd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/parver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/paste/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/patator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/path/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pathos/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pathspec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/patiencediff/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pcpp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdbfixer/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdm-backend/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdoc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/peewee-migrate/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/peewee/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pep440/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/periodiq/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/persistent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pg8000/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pglast/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pgmpy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/piccolo-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pika/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pillow-heif/default.nix73
-rw-r--r--nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pkgutil-resolve-name/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/plac/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plaster-pastedeploy/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/platformdirs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/playwright/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/plexapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plexwebsocket/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plotnine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plyer/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/plyfile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pmdarima/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/podcastparser/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/podman/default.nix76
-rw-r--r--nixpkgs/pkgs/development/python-modules/poetry-core/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/polars/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/polling/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/pomegranate/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pontos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pony/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pooch/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/port-for/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/portend/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/portpicker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/posthog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/powerline/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ppft/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ppscore/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/prawcore/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pre-commit-hooks/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/preshed/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/primer3/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/proto-plus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/psychrolib/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/psycopg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/psycopg2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/psygnal/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pubnub/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pudb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-dormakaba-dkey/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-serializable/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/py3status/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pySmartDL/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyacaia-async/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyarr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatag/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyathena/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybase64/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybids/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybigwig/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybloom-live/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybotvac/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybotvac/urllib3-2.0-compat.patch21
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycairo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycapnp/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycatch22/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycddl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyclipper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycodestyle/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycodestyle/python-3.11.4-compat.patch16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycognito/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycookiecheat/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyctr/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycurl/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydal/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic-core/Cargo.lock662
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic-core/default.nix112
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic-extra-types/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic-settings/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydexcom/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydicom/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydiscovergy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydrawise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydyf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyeapi/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyecoforest/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyee/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyenphase/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyerfa/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyface/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfiglet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyflakes/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfronius/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyftpdlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygame-gui/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygame/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygccxml/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygit2/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygitguardian/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygithub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygments/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygmo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygtkspellcheck/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyhepmc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyicu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyinfra/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyixapi/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykalman/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykalman/fix-masked-arrays-not-supported.patch14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykalman/fix-p311-issues.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykka/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint-django/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymanopt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymazda/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymc/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymdown-extensions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymodbus/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymongo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymorphy3/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymupdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymyq/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynina/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynndescent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynobo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynput/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynws/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyocd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyodbc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopencl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyosmium/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyparted/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypdf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyperf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypiserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypoint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyproj/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyproject-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypugjs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypykatz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqt5-stubs/default.nix61
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyradios/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid-beaker/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pyramid_beaker/default.nix)5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid-chameleon/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pyramid_chameleon/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid-chameleon/test-renderers-pyramid-import.patch (renamed from nixpkgs/pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch)0
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid-exclog/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pyramid_exclog/default.nix)5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid-jinja2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid-mako/default.nix (renamed from nixpkgs/pkgs/development/python-modules/pyramid_mako/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid-multiauth/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyramid_multiauth/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrate-limiter/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyre-extensions/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrevolve/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrisco/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyro5/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrogram/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyscard/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysensibo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyside6/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysmartdl/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysnooz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyspark/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyspnego/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysptk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pystemd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pystray/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytablewriter/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytensor/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-aiohttp/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-base-url/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-celery/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-check/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-cid/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-env/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-html/default.nix68
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-httpbin/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-jupyter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-md-report/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mypy-plugins/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-param-files/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-playwright/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-postgresql/default.nix73
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-raisin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-regressions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-reverse/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-spec/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-arango/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-efl/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-engineio/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-fx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-gvm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-hl7/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-homewizard-energy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lzo/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-multipart/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-ndn/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-osc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-roborock/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-socks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-tado/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-tds/default.nix74
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-telegram/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-uinput/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-ulid/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-xz/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-youtube/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/python3-saml/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/python3-saml/skip-broken-tests.patch28
-rw-r--r--nixpkgs/pkgs/development/python-modules/python_docs_theme/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythonnet/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythonocc-core/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytile/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytoolconfig/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytrafikverket/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyuv/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvex/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvis/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvista/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvo/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywayland/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywaze/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyweatherflowudp/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywebview/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywerview/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywfa/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywlroots/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyyaml-include/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyyardian/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyzmq/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcelemental/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcengine/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcodes/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qdldl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qdrant-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-aer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-machine-learning/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-nature/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qiskit-terra/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/qt-material/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtconsole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtile-extras/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtile/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/quandl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/quantile-python/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/quantiphy-eval/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/quantiphy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/quart-cors/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/quart/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/radon/default.nix67
-rw-r--r--nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/rapidgzip/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/ratarmount/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/ratarmountcore/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/ray/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/rcssmin/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/rdflib/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/rdkit/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/recaptcha_client/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/recipe-scrapers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/recordlinkage/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/redis-om/default.nix85
-rw-r--r--nixpkgs/pkgs/development/python-modules/redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/reedsolo/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/referencing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/releases/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/remarshal/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/reolink/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/reportlab/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/reproject/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/reptor/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-cache/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-ratelimiter/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/rich-click/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/rich/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/riscv-config/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rjsmin/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/rkm-codes/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/rlax/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rnginline/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/rns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/robotframework-databaselibrary/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/robotframework/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/robotsuite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rotary-embedding-torch/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpds-py/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpy2/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/rsskey/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/rtmixer/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/rtree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/fix-incompatible-function-pointers.patch79
-rw-r--r--nixpkgs/pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/s3transfer/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sabctools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/safetensors/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sagemaker/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/sanic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scancode-toolkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/schedule/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/schemainspect/default.nix118
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-bio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-build-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scipy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/scmrepo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scooby/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/scrapy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/seaborn/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/seasonal/default.nix63
-rw-r--r--nixpkgs/pkgs/development/python-modules/selenium/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentence-splitter/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentence-transformers/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/setupmeta/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools-changelog-shortener/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools-generate/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools-odoo/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sh/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/shap/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/shodan/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/simple-rest-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/simple-websocket/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/simplemma/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/simpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/single-version/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/sip/4.x.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/sip/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/siuba/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/skia-pathops/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/skrl/default.nix4
-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/slither-analyzer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/smart-open/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/snaptime/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/snitun/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/social-auth-app-django/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/socid-extractor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/softlayer/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/solo-python/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/somajo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/soupsieve/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/soxr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy-alignments/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy-pkuseg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/spglib/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-autoapi/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-automodapi/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-basic-ng/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-comments/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-design/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-hoverxref/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-mdinclude/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-notfound-page/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-prompt/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-pytest/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-rtd-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-sitemap/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-tabs/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-thebe/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-togglebutton/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-version-warning/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx_pypi_upload/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-websupport/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-youtube/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqids/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlbag/default.nix95
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlparse/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqltrie/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/srsly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ssdpy/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/stack-data/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stanio/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/stanza/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/starlette/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/staticmap/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/steamodd/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/steamship/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stix2-patterns/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/stravalib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/strawberry-graphql/default.nix4
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/streamlit/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/stripe/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/structlog/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/succulent/default.nix59
-rw-r--r--nixpkgs/pkgs/development/python-modules/sumo/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sunpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/supervise-api/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/supervise_api/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/supervise_api/supervise-path.patch15
-rw-r--r--nixpkgs/pkgs/development/python-modules/surt/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/sv-ttk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/symengine/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/syncedlyrics/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/syrupy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tabledata/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tables/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/tabula-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tag-expressions/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/tagoio-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tank-utility/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/tbats/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/tblib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tcolorpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tempest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tenacity/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorboard-data-server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorboard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/termcolor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tesserocr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/testfixtures/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/testtools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/textacy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/textdistance/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/texttable/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/textual/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/textx/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/textx/tests.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tf2onnx/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/thefuzz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/thelogrus/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/thinc/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/tidyexc/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/tifffile/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/tiktoken/Cargo.lock181
-rw-r--r--nixpkgs/pkgs/development/python-modules/tiktoken/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/tiledb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/time-machine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/timm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tinycss2/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/tld/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tldextract/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tokenizers/Cargo.lock1695
-rw-r--r--nixpkgs/pkgs/development/python-modules/tokenizers/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/torch/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchaudio/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchlibrosa/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchsde/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/towncrier/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tqdm/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/trainer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/traitlets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/traitsui/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/transformers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/treelib/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/treeo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/trimesh/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/trio/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/trytond/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tsfresh/default.nix93
-rw-r--r--nixpkgs/pkgs/development/python-modules/tsfresh/remove-pyscaffold.patch14
-rw-r--r--nixpkgs/pkgs/development/python-modules/tsfresh/remove-pytest-coverage-flags.patch15
-rw-r--r--nixpkgs/pkgs/development/python-modules/tskit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ttls/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tubeup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/turnt/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twisted/default.nix83
-rw-r--r--nixpkgs/pkgs/development/python-modules/twitchapi/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/txredisapi/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/txtai/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/type-infer/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/typed-settings/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/typeguard/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/typepy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-aiobotocore-packages/default.nix752
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-aiobotocore/default.nix1824
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-click/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-docutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-pillow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-pytz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-s3transfer/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-toml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-typed-ast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tzdata/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tzlocal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ua-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uamqp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/uc-micro-py/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ufoLib2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/uhi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ujson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/unearth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/univers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/universal-silabs-flasher/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/unstructured/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uproot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uptime-kuma-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/urllib3/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/urwid/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/userpath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uvicorn/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/validators/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/vcrpy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/vector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtualenv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vispy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vncdo/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/volvooncall/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/vulture/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/w1thermsensor/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/w3lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wagtail-factories/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wagtail/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/walrus/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/wandb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/watchdog-gevent/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/watchfiles/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/watermark/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/weasyprint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/webauthn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/webcolors/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/webrtc-noise-gain/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/websocket-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/websockets/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/weconnect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/werkzeug/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/west/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/whodap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/whois-api/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wikipedia-api/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/willow/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/wsgidav/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/wyoming/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/xapp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xarray/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xdg-base-dirs/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/xdg/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/xdot/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/xformers/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/xgboost/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/xmlschema/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xtensor-python/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/xxhash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/xyzservices/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/y-py/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/yamlordereddictloader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yangson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yark/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yfinance/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/ypy-websocket/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zarr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeversolarlocal/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zict/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy-xbee/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zipstream-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-component/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-contenttype/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-deprecation/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-lifecycleevent/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-proxy/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-testbrowser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_contenttype/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_deprecation/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_lifecycleevent/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_location/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_proxy/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/zopfli/default.nix4
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/zstandard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zwave-js-server-python/default.nix4
1529 files changed, 19023 insertions, 13400 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/accelerate/default.nix b/nixpkgs/pkgs/development/python-modules/accelerate/default.nix
index 9aefa2294878..de51ac126950 100644
--- a/nixpkgs/pkgs/development/python-modules/accelerate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/accelerate/default.nix
@@ -2,7 +2,6 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonAtLeast
 , pythonOlder
 , pytestCheckHook
@@ -19,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "accelerate";
-  version = "0.21.0";
+  version = "0.23.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -27,18 +26,9 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-BwM3gyNhsRkxtxLNrycUGwBmXf8eq/7b56/ykMryt5w=";
+    hash = "sha256-pFkEgE1NGLPBW1CeGU0RJr+1Nj/y58ZcljyOnJuR47A=";
   };
 
-  patches = [
-    # fix import error when torch>=2.0.1 and torch.distributed is disabled
-    # https://github.com/huggingface/accelerate/pull/1800
-    (fetchpatch {
-      url = "https://github.com/huggingface/accelerate/commit/32701039d302d3875c50c35ab3e76c467755eae9.patch";
-      hash = "sha256-Hth7qyOfx1sC8UaRdbYTnyRXD/VRKf41GtLc0ee1t2I=";
-    })
-  ];
-
   nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
@@ -64,6 +54,19 @@ buildPythonPackage rec {
     # try to download data:
     "FeatureExamplesTests"
     "test_infer_auto_device_map_on_t0pp"
+
+    # require socket communication
+    "test_explicit_dtypes"
+    "test_gated"
+    "test_invalid_model_name"
+    "test_invalid_model_name_transformers"
+    "test_no_metadata"
+    "test_no_split_modules"
+    "test_remote_code"
+    "test_transformers_model"
+
+    # set the environment variable, CC, which conflicts with standard environment
+    "test_patch_environment_key_exists"
   ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
     # usual aarch64-linux RuntimeError: DataLoader worker (pid(s) <...>) exited unexpectedly
     "CheckpointTest"
diff --git a/nixpkgs/pkgs/development/python-modules/acquire/default.nix b/nixpkgs/pkgs/development/python-modules/acquire/default.nix
index e944a1d21013..13297b0cd6d3 100644
--- a/nixpkgs/pkgs/development/python-modules/acquire/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/acquire/default.nix
@@ -17,16 +17,16 @@
 
 buildPythonPackage rec {
   pname = "acquire";
-  version = "3.8";
+  version = "3.9";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "acquire";
     rev = "refs/tags/${version}";
-    hash = "sha256-JfZ0sc7hFj71XxGWTTZ50uGWuKoWKY4vYm0v+zS2YiQ=";
+    hash = "sha256-ppkfnPJEvCImTA0+NjYD8r6SHcx9eBN9GBvo0IZYcjY=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/adafruit-nrfutil/default.nix b/nixpkgs/pkgs/development/python-modules/adafruit-nrfutil/default.nix
index 43071fa93f0e..0197bf21927f 100644
--- a/nixpkgs/pkgs/development/python-modules/adafruit-nrfutil/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adafruit-nrfutil/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "adafruit-nrfutil";
-  version = "0.5.3.post17";
+  version = "1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "adafruit";
     repo = "Adafruit_nRF52_nrfutil";
-    rev = version;
-    hash = "sha256-mHHKOQE9AGBX8RAyaPOy+JS3fTs98+AFdq9qsVy7go4=";
+    rev = "refs/tags/appveyor-test-release-${version}";
+    hash = "sha256-wsspDg8XwEtJwJye6Z3TXaIN1TcfI7gYDah3L/xiiLo=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 7bd3f7b403cd..e7ed02bbe043 100644
--- a/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.52.3";
+  version = "3.53.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    hash = "sha256-5JEnsTvY4PgAuaoIyTHriJVJUPAHMYETgqbhAuAPJcI=";
+    hash = "sha256-P6oR9Aszj2yj2w+2hAjCMDwngJ+uuUNLpgZooYImzyk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/adlfs/default.nix b/nixpkgs/pkgs/development/python-modules/adlfs/default.nix
index f3d19bd779ab..7e293f953c07 100644
--- a/nixpkgs/pkgs/development/python-modules/adlfs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adlfs/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "adlfs";
-  version = "2023.9.0";
+  version = "2023.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "fsspec";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-gu0qGaOIi5U8CtuhTfbX+AjyYSS6psPrJCM1ZqVe8Ww=";
+    hash = "sha256-pmKqMNVSW+Jzz4MZaiUbzXFcLzTKj52RJH7WvFMj6NM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aemet-opendata/default.nix b/nixpkgs/pkgs/development/python-modules/aemet-opendata/default.nix
index 90f28265c090..947f6d3d121f 100644
--- a/nixpkgs/pkgs/development/python-modules/aemet-opendata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aemet-opendata/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aemet-opendata";
-  version = "0.4.4";
+  version = "0.4.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = "AEMET-OpenData";
     rev = "refs/tags/${version}";
-    hash = "sha256-Jm7fv1fNavp2GkfKPhZXYGnGuCBy6BdN9iTNYTBIyew=";
+    hash = "sha256-rjHiDn8//zjFR27RTGGWZCxKI6pDXu47DFINV8Tq7ZM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aenum/default.nix b/nixpkgs/pkgs/development/python-modules/aenum/default.nix
index ba7fcaa46e64..d1ff94519646 100644
--- a/nixpkgs/pkgs/development/python-modules/aenum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aenum/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "3.1.12";
+  version = "3.1.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PlMckYYKgfiF9+bpfSGa6XcsuJlYAIR4iTXa19l0LvA=";
+    hash = "sha256-jL12zRjE+HD/ObJChNPqAo++hzGljfOqWB5DTFdblVk=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/afdko/default.nix b/nixpkgs/pkgs/development/python-modules/afdko/default.nix
index 214a85f8c915..a821e9d87890 100644
--- a/nixpkgs/pkgs/development/python-modules/afdko/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/afdko/default.nix
@@ -34,14 +34,14 @@
 
 buildPythonPackage rec {
   pname = "afdko";
-  version = "3.9.3";
+  version = "4.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-v0fIhf3P5Xjdn5/ryRNj0Q2YHAisMqi5RTmJQabaUO0=";
+    hash = "sha256-66faoWBuCW0lQZP8/mBJLT+ErRGBl396HdG1RfPOYcM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ailment/default.nix b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
index b4113b9f2e79..dcfdece2ef60 100644
--- a/nixpkgs/pkgs/development/python-modules/ailment/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
@@ -8,16 +8,16 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.69";
-  format = "pyproject";
+  version = "9.2.73";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-qoewPYu4BO5VZq3MXg0j+L58dTusaoqrsrHo6stepJQ=";
+    hash = "sha256-wMHyp6l7a5MuVX/q1QVfwZbuqBT6NbFltZsGopCjj3I=";
   };
 
   nativeBuildInputs = [
@@ -31,7 +31,9 @@ buildPythonPackage rec {
   # Tests depend on angr (possibly a circular dependency)
   doCheck = false;
 
-  #pythonImportsCheck = [ "ailment" ];
+  pythonImportsCheck = [
+    "ailment"
+  ];
 
   meta = with lib; {
     description = "The angr Intermediate Language";
diff --git a/nixpkgs/pkgs/development/python-modules/aio-pika/default.nix b/nixpkgs/pkgs/development/python-modules/aio-pika/default.nix
index 9082fd4b37a7..fdcb67102928 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-pika/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-pika/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aio-pika";
-  version = "9.1.3";
+  version = "9.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "mosquito";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-QCM/9Vt9/uXylaU8xymXJEjVd6sFRcVhpr2CGjB0AoY=";
+    hash = "sha256-Fy3vTXfj+gu/+PYWPfcOZ/D7boRiZYcFPX29p28HoGs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioairq/default.nix b/nixpkgs/pkgs/development/python-modules/aioairq/default.nix
index 342a2fc978f3..73be4e3f64cf 100644
--- a/nixpkgs/pkgs/development/python-modules/aioairq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioairq/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aioairq";
-  version = "0.2.4";
+  version = "0.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "CorantGmbH";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+5FyBfsB3kjyX/V9CdZ072mZ3THyvALyym+uk7/kZLo=";
+    hash = "sha256-9OO3ox6q08QQcYfz4ArsKy/6jR329bAQPUo+mVYuhJs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix b/nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix
index db3f27b5d3f0..bdc21d70892f 100644
--- a/nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone-cloud";
-  version = "0.2.1";
+  version = "0.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = "aioairzone-cloud";
     rev = "refs/tags/${version}";
-    hash = "sha256-GOt6oFf1ogxODrgs6/OdgTjA1UNyiNZOPFr+0DRgz0M=";
+    hash = "sha256-7sjiY20jDUHtEnqAMwEHsBboK9XCH5XjE0sHR82YvEA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioambient/default.nix b/nixpkgs/pkgs/development/python-modules/aioambient/default.nix
index 812417a38a76..7ec26592696b 100644
--- a/nixpkgs/pkgs/development/python-modules/aioambient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioambient/default.nix
@@ -3,7 +3,6 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -16,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aioambient";
-  version = "2023.08.0";
+  version = "2023.10.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -25,23 +24,9 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Y8I4iPvxcK98Olb3JURNK37MKggdhcweKvNBa0ZtG6I=";
+    hash = "sha256-Q7jb0tJsbVM2vEqKgjXOWJN2OwR9qLchU/4ShOUGPT4=";
   };
 
-  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/aioambient/pull/295
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/aioambient/commit/fa21a2e82678a231a73c8a1153032980926f4c35.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'websockets = ">=11.0.1"' 'websockets = "*"'
diff --git a/nixpkgs/pkgs/development/python-modules/aioboto3/default.nix b/nixpkgs/pkgs/development/python-modules/aioboto3/default.nix
new file mode 100644
index 000000000000..6494bf65a6e7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aioboto3/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, poetry-dynamic-versioning
+, aiobotocore
+, chalice
+, cryptography
+, boto3
+, pytestCheckHook
+, pytest-asyncio
+, requests
+, aiofiles
+, moto
+, dill
+}:
+
+buildPythonPackage rec {
+  pname = "aioboto3";
+  version = "11.3.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "terrycain";
+    repo = "aioboto3";
+    rev = "v${version}";
+    hash = "sha256-jU9sKhbUdVeOvOXQnXR/S/4sBwTNcQCc9ZduO+HDXho=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+    --replace poetry.masonry.api poetry.core.masonry.api \
+    --replace "poetry>=0.12" "poetry-core>=0.12"
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+    poetry-dynamic-versioning
+  ];
+
+  propagatedBuildInputs = [
+    aiobotocore
+    boto3
+  ];
+
+  passthru.optional-dependencies = {
+    chalice = [
+      chalice
+    ];
+    s3cse = [
+      cryptography
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-asyncio
+    requests
+    aiofiles
+    moto
+    dill
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  pythonImportsCheck = [ "aioboto3" ];
+
+  meta = with lib; {
+    description = "Wrapper to use boto3 resources with the aiobotocore async backend";
+    homepage = "https://github.com/terrycain/aioboto3";
+    changelog = "https://github.com/terrycain/aioboto3/blob/${src.rev}/CHANGELOG.rst";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiobotocore/default.nix b/nixpkgs/pkgs/development/python-modules/aiobotocore/default.nix
index 6f7ef895c373..9de5593a2562 100644
--- a/nixpkgs/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiobotocore/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "aiobotocore";
-  version = "2.5.2";
+  version = "2.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "aio-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-twIo5qJht7oZye5lbiPwLFa/5dCwgCm+OkwuCuWU0cU=";
+    hash = "sha256-e8FBUG08yWNL9B51Uv4ftYx1C0kcdoweOreUtvvvTAk=";
   };
 
   # Relax version constraints: aiobotocore works with newer botocore versions
diff --git a/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix b/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix
index dd572da52210..f20d38b7266f 100644
--- a/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aiocomelit";
-  version = "0.0.6";
+  version = "0.0.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "chemelli74";
     repo = "aiocomelit";
     rev = "refs/tags/v${version}";
-    hash = "sha256-u6CyqDFLgnIVak0UqN4JmL8ll/li3k9EhFs7iC5oZ9U=";
+    hash = "sha256-xVSxXiHSyUa31X+eOK5ZXH/+Uwm8lfStY0nZ2mKWFpI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
index f0a310b7a14c..79ef028fd36e 100644
--- a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "16.0.5";
+  version = "17.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-SueK59CZTKkQPsHThs7k9eCEmc1GwaRIrw3oSK4E80E=";
+    hash = "sha256-+yPHIXJ0vHaFO2X3xN+7WIQUlCvoYlGi1N7W+H/ng/0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiofiles/default.nix b/nixpkgs/pkgs/development/python-modules/aiofiles/default.nix
index 28d4f5f368dc..fe72ff28c78b 100644
--- a/nixpkgs/pkgs/development/python-modules/aiofiles/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiofiles/default.nix
@@ -2,7 +2,7 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
-, poetry-core
+, hatchling
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aiofiles";
-  version = "23.1.0";
+  version = "23.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,11 +19,11 @@ buildPythonPackage rec {
     owner = "Tinche";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-ouBqqt0CJYxxQqbG9jn4p8zO+nKjqZgPjZpiZic67ss=";
+    hash = "sha256-EbRQD/AoTMWAlPOMWmD0UdFjRyjt5MUBkJtcydUCdHM=";
   };
 
   nativeBuildInputs = [
-    poetry-core
+    hatchling
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiogram/default.nix b/nixpkgs/pkgs/development/python-modules/aiogram/default.nix
index ceb3f9603ede..7638c4efb48f 100644
--- a/nixpkgs/pkgs/development/python-modules/aiogram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiogram/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "aiogram";
-  version = "2.25.1";
+  version = "3.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,8 +25,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "aiogram";
     repo = "aiogram";
-    rev = "v${version}";
-    hash = "sha256-g8nuvna7DpXElvjBehnGKHUsrf+nyQcoKNnyR59RALo=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-bWwK761gn7HsR9ObcBDfvQH0fJfTAo0QAcL/HcNdHik=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix b/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
index afe7223f91f5..644c3cda0801 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "aiohomekit";
-  version = "3.0.3";
+  version = "3.0.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "Jc2k";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-6fNsiHddnsdjei0/wqx5ifWhM3bALlYG5Gli69+FmnM=";
+    hash = "sha256-e7KSgUOEA3iAR4QdUhjYcHsPdtCJRxu6u+uxuDMaghQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-basicauth/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-basicauth/default.nix
new file mode 100644
index 000000000000..b7ce89c13476
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-basicauth/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, pytestCheckHook
+, pytest-asyncio
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiohttp-basicauth";
+  version = "1.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "romis2012";
+    repo = "aiohttp-basicauth";
+    rev = "v${version}";
+    hash = "sha256-UaRzauHmBHYwXFqRwDn1py79BScqq5j5SWALM4dQBP4=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  pythonImportsCheck = [ "aiohttp_basicauth" ];
+
+  meta = with lib; {
+    description = "HTTP basic authentication middleware for aiohttp 3.0";
+    homepage = "https://github.com/romis2012/aiohttp-basicauth";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-openmetrics/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-openmetrics/default.nix
index eab5d1801f07..11b979c4f6c2 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-openmetrics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-openmetrics/default.nix
@@ -3,15 +3,19 @@
 , fetchPypi
 , aiohttp
 , prometheus-client
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aiohttp-openmetrics";
-  version = "0.0.11";
+  version = "0.0.12";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GIVUkjyn+iQSMZZ6dNmmimvbt+t+uxOYv2QEDk/dA+g=";
+    hash = "sha256-/ZRngcMlroCVTvIl+30DR4SI8LsSnTovuzg3YduWgWA=";
   };
 
   propagatedBuildInputs = [
@@ -22,11 +26,14 @@ buildPythonPackage rec {
   # no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "aiohttp_openmetrics" ];
+  pythonImportsCheck = [
+    "aiohttp_openmetrics"
+  ];
 
   meta = with lib; {
     description = "OpenMetrics provider for aiohttp";
     homepage = "https://github.com/jelmer/aiohttp-openmetrics/";
+    changelog = "https://github.com/jelmer/aiohttp-openmetrics/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-remotes/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-remotes/default.nix
index ae0cbf998417..66f81b123298 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-remotes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-remotes/default.nix
@@ -2,6 +2,7 @@
 , aiohttp
 , buildPythonPackage
 , fetchPypi
+, flit
 , pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
@@ -11,7 +12,7 @@
 buildPythonPackage rec {
   pname = "aiohttp-remotes";
   version = "1.2.0";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -21,6 +22,10 @@ buildPythonPackage rec {
     sha256 = "f95c3a6be5e2de746a85ce9af49ec548da6db8378d7e81bb171ec77b13562a6c";
   };
 
+  nativeBuildInputs = [
+    flit
+  ];
+
   propagatedBuildInputs = [
     aiohttp
   ] ++ lib.optionals (pythonOlder "3.7") [
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix
index 9b157264a7e9..0a60d0af2801 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-socks/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-socks";
-  version = "0.8.1";
+  version = "0.8.3";
 
   src = fetchPypi {
     inherit version;
     pname = "aiohttp_socks";
-    hash = "sha256-duWEJDS5Ts3EWNRZ8MJcD7buMh3FRKA+bJiO3P7QWz0=";
+    hash = "sha256-aqtSj2aeCHMBj9N3c7gzouK6KEJDvmcoF/pAG8eUHsY=";
   };
 
   propagatedBuildInputs = [ aiohttp attrs python-socks ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiohue/default.nix b/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
index efd590e7e827..56b911ee4f89 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohue/default.nix
@@ -5,23 +5,35 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pytest-aiohttp
+, pytest-asyncio
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aiohue";
-  version = "4.6.2";
-  format = "setuptools";
+  version = "4.7.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-DzslGfKwsXXWWhbTb0apJCsnNdnUe7AbvrRT8ZnPbVU=";
+    hash = "sha256-t48rUPAM0XpbDreCwHU/smoyhPtxhwrpDkb1170GkQM=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"'
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     awesomeversion
     aiohttp
@@ -30,6 +42,8 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-asyncio
+    pytest-aiohttp
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiojobs/default.nix b/nixpkgs/pkgs/development/python-modules/aiojobs/default.nix
index a3b982e22d5a..094e7509ee3c 100644
--- a/nixpkgs/pkgs/development/python-modules/aiojobs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiojobs/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiojobs";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "aio-libs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-FHdEVt/XXmuTrPAETyod3fHJIK1wg957/+QMAhZG1xk=";
+    hash = "sha256-/+PTHLrZyf2UuYkLWkNgzf9amFywDJnP2OKVWvARcAA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiomisc/default.nix b/nixpkgs/pkgs/development/python-modules/aiomisc/default.nix
index 045168b8d162..77016c323d98 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.21";
+  version = "17.3.23";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NaSwjU4SfUYeUe/3nWQxfgMYrN4Ez1Dc/PE4ffJmlSs=";
+    hash = "sha256-9Df/eGMnXFdv3RUh4LmlPm7STlUcVBw4flfH+bZ6q9Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix b/nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix
index b4d39350ba4f..c7d7b5dd7a99 100644
--- a/nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aiomqtt";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "sbtinstruments";
     repo = "aiomqtt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-WfHyCjNowtgTBADKeGyBBbO2JQ6YXJFvAtSq0iLzSbw=";
+    hash = "sha256-P8p21wjmFDvI0iobpQsWkKYleY4M0R3yod3/mJ7V+Og=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix b/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix
index 3ca5f7108822..fda31f1a40aa 100644
--- a/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioopenexchangerates/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioopenexchangerates";
-  version = "0.4.2";
+  version = "0.4.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "MartinHjelmare";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ykbw/s932XXX3qWutWUOLV1O9MMgBWPJNveKG8SDhWY=";
+    hash = "sha256-C34GjCQdkKOTyHw4XNaXvVqqMfKv9KlZjdKfDFsOSOE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix b/nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix
index b09accb38b74..4a66a8f35d02 100644
--- a/nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioprocessing/default.nix
@@ -8,7 +8,7 @@
 buildPythonPackage rec {
   pname = "aioprocessing";
   version = "2.0.1";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.5";
 
diff --git a/nixpkgs/pkgs/development/python-modules/aioprometheus/default.nix b/nixpkgs/pkgs/development/python-modules/aioprometheus/default.nix
new file mode 100644
index 000000000000..273d35fe13d9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aioprometheus/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, orjson
+, quantile-python
+, aiohttp
+, aiohttp-basicauth
+, starlette
+, quart
+, pytestCheckHook
+, httpx
+, fastapi
+, uvicorn
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aioprometheus";
+  version = "unstable-2023-03-14";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "claws";
+    repo = "aioprometheus";
+    rev = "4786678b413d166c0b6e0041558d11bc1a7097b2";
+    hash = "sha256-2z68rQkMjYqkszg5Noj9owWUWQGOEp/91RGiWiyZVOY=";
+  };
+
+  propagatedBuildInputs = [
+    orjson
+    quantile-python
+  ];
+
+  passthru.optional-dependencies = {
+    aiohttp = [
+      aiohttp
+    ];
+    starlette = [
+      starlette
+    ];
+    quart = [
+      quart
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    aiohttp-basicauth
+    httpx
+    fastapi
+    uvicorn
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  pythonImportsCheck = [ "aioprometheus" ];
+
+  meta = with lib; {
+    description = "A Prometheus Python client library for asyncio-based applications";
+    homepage = "https://github.com/claws/aioprometheus";
+    changelog = "https://github.com/claws/aioprometheus/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aioqsw/default.nix b/nixpkgs/pkgs/development/python-modules/aioqsw/default.nix
index d08eeaec6c0e..7e62d1f2089d 100644
--- a/nixpkgs/pkgs/development/python-modules/aioqsw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioqsw/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aioqsw";
-  version = "0.3.4";
+  version = "0.3.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-YGVQsw7UhRWXtfn2MQa3GHNlgXR4LJlFnaeLCGjmWfQ=";
+    hash = "sha256-kSwTHwVSMGyXA0SF74f9gyBN82XhdjdN6DWrQV0PiaU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix b/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix
index 150486cf4aea..c5b1c9bb70fa 100644
--- a/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioridwell/default.nix
@@ -3,7 +3,6 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , freezegun
 , poetry-core
 , pyjwt
@@ -18,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "aioridwell";
-  version = "2023.08.0";
+  version = "2023.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -27,23 +26,9 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-AreQC5LOthnOEj0HnEww4zLob394XwCvqZBwjsT2Lcg=";
+    hash = "sha256-psynooRbX34EFYY7FTqy3KdFsv939z/qYfIfyNTVkiM=";
   };
 
-  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/aioridwell/pull/234
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/aioridwell/commit/79a9dd7462dcfeb0833abca73a1f184827120a6f.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiorun/default.nix b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
index 202712367232..f0e63e0ae374 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
@@ -2,6 +2,8 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, fetchpatch
+, flit-core
 , pygments
 , pytestCheckHook
 , uvloop
@@ -10,7 +12,7 @@
 buildPythonPackage rec {
   pname = "aiorun";
   version = "2023.7.2";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -21,6 +23,18 @@ buildPythonPackage rec {
     hash = "sha256-3AGsT8IUNi5SZHBsBfd7akj8eQ+xb0mrR7ydIr3T8gs=";
   };
 
+  patches = [
+    # Raise flit-core version constrains
+    (fetchpatch { # https://github.com/cjrh/aiorun/pull/85
+      url = "https://github.com/cjrh/aiorun/commit/a0c027ea331167712738e35ca70fefcd794e16d5.patch";
+      hash = "sha256-M1rcrkdFcoFa3IncPnJaRhnXbelyk56QnMGtmgB6bvk=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     pygments
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiosmb/default.nix b/nixpkgs/pkgs/development/python-modules/aiosmb/default.nix
index b0655e0dabc3..cc786f115d66 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosmb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiosmb/default.nix
@@ -3,6 +3,7 @@
 , asysocks
 , buildPythonPackage
 , colorama
+, cryptography
 , fetchPypi
 , minikerberos
 , prompt-toolkit
@@ -16,20 +17,21 @@
 
 buildPythonPackage rec {
   pname = "aiosmb";
-  version = "0.4.6";
+  version = "0.4.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Y0Z76YP1cWcfMKZOn2L6z4B+hAdibxJOYBzT3WV6FcY=";
+    hash = "sha256-siV2cr8YuU4kWRNHGlV29RjeHxCk6mcbK7J15LZguls=";
   };
 
   propagatedBuildInputs = [
     asyauth
     asysocks
     colorama
+    cryptography
     minikerberos
     prompt-toolkit
     pycryptodomex
diff --git a/nixpkgs/pkgs/development/python-modules/aiosql/default.nix b/nixpkgs/pkgs/development/python-modules/aiosql/default.nix
index 88a1c7aa37ca..d7d87003e1a7 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiosql/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aiosql";
-  version = "8.0";
+  version = "9.0";
   outputs = [ "out" "doc" ];
   format = "pyproject";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "nackjicholson";
     repo = "aiosql";
     rev = "refs/tags/${version}";
-    hash = "sha256-cE89w1CbDqlkryRr3yAdSxAtWzV1+O+n41ihTwYWelE=";
+    hash = "sha256-AwuZ3y/qAyZzffTG6mHLk0b+zFB9307VjAX8g1pvWto=";
   };
 
   sphinxRoot = "docs/source";
diff --git a/nixpkgs/pkgs/development/python-modules/aiostream/default.nix b/nixpkgs/pkgs/development/python-modules/aiostream/default.nix
index 5d6b5436db43..0e8e7927ddca 100644
--- a/nixpkgs/pkgs/development/python-modules/aiostream/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiostream/default.nix
@@ -1,30 +1,49 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pythonOlder
-, pytestCheckHook
-, pytest-cov
 , pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "aiostream";
-  version = "0.4.5";
-  disabled = pythonOlder "3.6";
+  version = "0.5.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "vxgmichel";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-WOtscg02Dq5YNSAfq4pIyH3oUP/5G+cjBwKB6c+SUVA=";
+    hash = "sha256-YdVvUP1b/NfXpbJ83ktjtXaVLHS6CQUGCw+EVygB4fU=";
   };
 
-  nativeCheckInputs = [ pytestCheckHook pytest-cov pytest-asyncio ];
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov aiostream --cov-report html --cov-report term" ""
+  '';
+
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aiostream"
+  ];
 
   meta = with lib; {
     description = "Generator-based operators for asynchronous iteration";
     homepage = "https://aiostream.readthedocs.io";
+    changelog = "https://github.com/vxgmichel/aiostream/releases/tag/v${version}";
     license = licenses.gpl3Only;
-    maintainers = [ maintainers.rmcgibbo ];
+    maintainers = with maintainers; [ rmcgibbo ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
index a906f8311f81..02e84b8f7e04 100644
--- a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
@@ -10,12 +10,13 @@
 , pythonOlder
 , segno
 , setuptools
+, trustme
 , wheel
 }:
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "62";
+  version = "63";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5XCF67YuelS4RDUxfImSAELfdb3rJWGprIYQeQPp+yk=";
+    hash = "sha256-am11pFgYMRccUNaK/iKdp6mfk5NQ4QnU41xbFiGCMPs=";
   };
 
   postPatch = ''
@@ -51,6 +52,7 @@ buildPythonPackage rec {
     pytest-aiohttp
     pytest-asyncio
     pytestCheckHook
+    trustme
   ];
 
   pytestFlagsArray = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiovlc/default.nix b/nixpkgs/pkgs/development/python-modules/aiovlc/default.nix
index 64ece4bed85b..39607c9fdde5 100644
--- a/nixpkgs/pkgs/development/python-modules/aiovlc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiovlc/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aiovlc";
-  version = "0.3.0";
+  version = "0.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "MartinHjelmare";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZFLNgPxR5N+hI988POCYJD9QGivs1fYysyFtmxsJQaA=";
+    hash = "sha256-+IpWX661Axl2Ke1NGN6W9CMMQMEu7EQ/2PeRkkByAxI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiovodafone/default.nix b/nixpkgs/pkgs/development/python-modules/aiovodafone/default.nix
index 77d494743786..ac9b87fb4eda 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.2.1";
+  version = "0.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "chemelli74";
     repo = "aiovodafone";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fBGVXYHyC7Ek75KgmH9LCCgETGvHnS9WF1QJMbDtfVc=";
+    hash = "sha256-Zitssjoe88T7gphfAQXyv2el7jbMLKTnr1GSe5LTWnI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix b/nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix
index ba2d16c7e3e9..63e225130391 100644
--- a/nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiowaqi/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "aiowaqi";
-  version = "1.1.0";
+  version = "2.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "joostlek";
     repo = "python-waqi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CQCF59Tp0VE7PNHPdVzzZegLUNDkslzKapELDjZn1k4=";
+    hash = "sha256-wwpktevEh/ukb9ByV660BePyqYU49/W+lIcgXuEBcuQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiowithings/default.nix b/nixpkgs/pkgs/development/python-modules/aiowithings/default.nix
new file mode 100644
index 000000000000..bc6e69534342
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiowithings/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, aiohttp
+, aresponses
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, syrupy
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "aiowithings";
+  version = "0.4.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchFromGitHub {
+    owner = "joostlek";
+    repo = "python-withings";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-YmTYwj3Udo1Pev25LLvY7757BR0h44aefqIe8b8FlTc=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "--cov" ""
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  nativeCheckInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+    syrupy
+  ];
+
+  pythonImportsCheck = [
+    "aiowithings"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Withings";
+    homepage = "https://github.com/joostlek/python-withings";
+    changelog = "https://github.com/joostlek/python-withings/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/aioxmpp/default.nix b/nixpkgs/pkgs/development/python-modules/aioxmpp/default.nix
index edc9b8def3da..6c7660f9f3e1 100644
--- a/nixpkgs/pkgs/development/python-modules/aioxmpp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioxmpp/default.nix
@@ -60,6 +60,11 @@ buildPythonPackage rec {
     "benchmarks"
   ];
 
+  disabledTests = [
+    # AttributeError: 'zoneinfo.ZoneInfo' object has no attribute 'normalize'
+    "test_convert_field_datetime_default_locale"
+  ];
+
   meta = {
     changelog = "https://github.com/horazont/aioxmpp/blob/${src.rev}/docs/api/changelog.rst";
     description = "Pure-python XMPP library for asyncio";
diff --git a/nixpkgs/pkgs/development/python-modules/alembic/default.nix b/nixpkgs/pkgs/development/python-modules/alembic/default.nix
index 4a60bfca201f..c1bb0f1d3c7d 100644
--- a/nixpkgs/pkgs/development/python-modules/alembic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alembic/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "alembic";
-  version = "1.9.4";
+  version = "1.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TTvTLs27e7+0ip/p5tb9aoMaG1nQPibikiECNzc+fbU=";
+    hash = "sha256-jnZFwy5PIAZ15p8HRUFTNetZo2Y/X+tIer+gswxFiIs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/alexapy/default.nix b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
index d5e6f93ebefd..060751ace13a 100644
--- a/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
@@ -19,8 +19,8 @@
 
 buildPythonPackage rec {
   pname = "alexapy";
-  version = "1.26.9";
-  format = "pyproject";
+  version = "1.27.6";
+  pyproject = true;
 
   disabled = pythonOlder "3.10";
 
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "keatontaylor";
     repo = "alexapy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mDh4kYwRXpvVCh+nBmQblmlmgG98P6+UmgG4ZioQ68M=";
+    hash = "sha256-CKaxdKuvie88nn1LSTxCLCdbr9bzD6MtvgSU9lplT/8=";
   };
 
   pythonRelaxDeps = [
@@ -64,7 +64,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python Package for controlling Alexa devices (echo dot, etc) programmatically";
     homepage = "https://gitlab.com/keatontaylor/alexapy";
-    changelog = "https://gitlab.com/keatontaylor/alexapy/-/blob/${src.rev}/CHANGELOG.md";
+    changelog = "https://gitlab.com/keatontaylor/alexapy/-/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix b/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix
index 16d2842b5e56..1ab81cd86b52 100644
--- a/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-core/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "aliyun-python-sdk-core";
-  version = "2.13.36";
+  version = "2.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IL1UmE+jFtpwDH81WlGrC4FmkOKg/O+3te8BP+0NqSg=";
+    hash = "sha256-yAaBWkj/24lMxbzhW4JZuaMBLMDNoBvi89+7hE8/TyE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-iot/default.nix b/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-iot/default.nix
index 9f4098d6fa5b..2a753b425103 100644
--- a/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-iot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-iot/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "aliyun-python-sdk-iot";
-  version = "8.56.0";
+  version = "8.57.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8d77P522c6gV8LhKErixzE2DvGmjr9bms+2eHYirgwg=";
+    hash = "sha256-Ea0IUn2mlu0c7QYJZkUrBUrtjUuTHoTeuvZHw/il+4A=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix b/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix
index cbfbe7c27ffa..8de611716748 100644
--- a/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "aliyun-python-sdk-sts";
-  version = "3.1.1";
+  version = "3.1.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1pCgIw2Glc5Fyp/eoJJXew80SJz7VDcg9vvUpeZpBYk=";
+    hash = "sha256-GLzieAX0j/aEKeKj37PtBQJy3c2zWgy1no7/lXiYSU0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/allure-behave/default.nix b/nixpkgs/pkgs/development/python-modules/allure-behave/default.nix
index 2dc57281e8f3..a67ff5e98d9b 100644
--- a/nixpkgs/pkgs/development/python-modules/allure-behave/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/allure-behave/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "allure-behave";
-  version = "2.12.0";
+  version = "2.13.2";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CxdB1gliajS6dUUhnD+yRMVj0zglGEwZC6RDmirH+pg=";
+    hash = "sha256-mxXb7+1tvf5EmVbD6eOmGfza9lAjbEVoxWZBSeZmPxQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix b/nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix
index a08f4bc93a43..cdfbf4c142c5 100644
--- a/nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/allure-pytest/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "allure-pytest";
-  version = "2.12.0";
+  version = "2.13.2";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hbc7Hb6ZCLpPhLgBGKk+EEnALdWTIJJg2MHJUM8ob2w=";
+    hash = "sha256-IiQxWejsgc4rUlS0ATgCGYghsbQvEY9p1KKJOWYHx7M=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/allure-python-commons-test/default.nix b/nixpkgs/pkgs/development/python-modules/allure-python-commons-test/default.nix
index aaba8d9fccf7..c358a2f14d7f 100644
--- a/nixpkgs/pkgs/development/python-modules/allure-python-commons-test/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/allure-python-commons-test/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "allure-python-commons-test";
-  version = "2.12.0";
+  version = "2.13.2";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TaeQF9EZ5tLMmVSwnWgrxsRz5lh0O3BZLLEUawd8BeI=";
+    hash = "sha256-Xh6NtqiuTg7UxKqJ7/p45rCUQGWiGDEaNAslzeYtgfg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/allure-python-commons/default.nix b/nixpkgs/pkgs/development/python-modules/allure-python-commons/default.nix
index b92ee139b6ba..0b50f23f77c4 100644
--- a/nixpkgs/pkgs/development/python-modules/allure-python-commons/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/allure-python-commons/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "allure-python-commons";
-  version = "2.12.0";
+  version = "2.13.2";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1cNi3QEWfwhjMYIumxkS1Ob9bLwtGgBt0EjnfoKnrnM=";
+    hash = "sha256-igNoEzAjGx3q3Ya5f/aIQcZZEyARSuY4Vw8e1g16IDM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/altair/default.nix b/nixpkgs/pkgs/development/python-modules/altair/default.nix
index 14d65a2e1af1..8d7ec25da838 100644
--- a/nixpkgs/pkgs/development/python-modules/altair/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/altair/default.nix
@@ -23,17 +23,15 @@
 
 buildPythonPackage rec {
   pname = "altair";
-  # current version, 5.0.1, is broken with jsonschema>=4.18
-  # we use unstable version instead of patch due to many changes
-  version = "unstable-2023-08-12";
+  version = "5.1.2";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "altair-viz";
     repo = "altair";
-    rev = "56b3b66daae7160c8d82777d2646131afcc3dab4";
-    hash = "sha256-uVE3Bth1D1mIhaULB4IxEtOzhQd51Pscqyfdys65F6A=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-30M+rt5IfD4hvK5CwaW8HfQacDBPjowff/f9o7iido0=";
   };
 
   nativeBuildInputs = [
@@ -74,6 +72,7 @@ buildPythonPackage rec {
     description = "A declarative statistical visualization library for Python.";
     homepage = "https://altair-viz.github.io";
     downloadPage = "https://github.com/altair-viz/altair";
+    changelog = "https://altair-viz.github.io/releases/changes.html";
     license = licenses.bsd3;
     maintainers = with maintainers; [ teh vinetos ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/altgraph/default.nix b/nixpkgs/pkgs/development/python-modules/altgraph/default.nix
index 0f2321c81e51..3a42414aa8d8 100644
--- a/nixpkgs/pkgs/development/python-modules/altgraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/altgraph/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "altgraph";
-  version = "0.17.3";
+  version = "0.17.4";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ad33358114df7c9416cdb8fa1eaa5852166c505118717021c6a8c7c7abbd03dd";
+    sha256 = "sha256-G1r7uY9sTcrbLirmq5+plLu4wddfT6ltNA+UN65FRAY=";
   };
 
   pythonImportsCheck = [ "altgraph" ];
diff --git a/nixpkgs/pkgs/development/python-modules/amazon-ion/default.nix b/nixpkgs/pkgs/development/python-modules/amazon-ion/default.nix
index 21db57509745..0a2479dd38f4 100644
--- a/nixpkgs/pkgs/development/python-modules/amazon-ion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amazon-ion/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "amazon-ion";
-  version = "0.9.3";
+  version = "0.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,9 +18,9 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "amzn";
     repo = "ion-python";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     fetchSubmodules = true;
-    hash = "sha256-FLwzHcge+vLcRY4gOzrxS3kWlprCkRXX5KeGOoTJDSw=";
+    hash = "sha256-pCm3jd/dVqO/uIvT5N/w5yoUWU6ni62Pl2A862e+qSk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/amazon-kclpy/default.nix b/nixpkgs/pkgs/development/python-modules/amazon-kclpy/default.nix
index 623ab60ed63a..fca55e3bc0dc 100644
--- a/nixpkgs/pkgs/development/python-modules/amazon-kclpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amazon-kclpy/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "amazon-kclpy";
-  version = "2.1.1";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "amazon-kinesis-client-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Z0MC4SbZS82beMA7UunEfs4KvrmhW5xAhFeb7WXA7DM=";
+    hash = "sha256-3BhccRJd6quElXZSix1aVIqWr9wdcTTziDhnIOLiPPo=";
   };
 
   # argparse is just required for python2.6
diff --git a/nixpkgs/pkgs/development/python-modules/angr/default.nix b/nixpkgs/pkgs/development/python-modules/angr/default.nix
index e3e787df1cde..9767a0475a82 100644
--- a/nixpkgs/pkgs/development/python-modules/angr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angr/default.nix
@@ -32,16 +32,16 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.69";
-  format = "pyproject";
+  version = "9.2.73";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "angr";
+    repo = "angr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6I8ybszEIWVtIVNPxkxP7W5jHH66XaaGZ5yF59CXBAc=";
+    hash = "sha256-WwgcKZWKM6x36AuynVHaDJgDt4B2b3K1ZaX9efxiDKc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/annotated-types/default.nix b/nixpkgs/pkgs/development/python-modules/annotated-types/default.nix
index 645e3c40c48c..85e2379507c6 100644
--- a/nixpkgs/pkgs/development/python-modules/annotated-types/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/annotated-types/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "annotated-types";
-  version = "0.5.0";
+  version = "0.6.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "annotated-types";
     repo = "annotated-types";
-    rev = "v${version}";
-    hash = "sha256-zCsWfJ8BQuov8FN+hlm9XBKWAAQ/KHPK/x024A8k2kE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-SZ9/rXYcns4DFM6vk6SRKvuv3MY3T7xO9aW7WAQqtVE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/core.nix b/nixpkgs/pkgs/development/python-modules/ansible/core.nix
index 633811c34c52..12002f4933c4 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/core.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/core.nix
@@ -28,11 +28,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-core";
-  version = "2.15.4";
+  version = "2.15.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-waiq7emF955ZMrohY2OTeffYAlv9myg3jbFkmk71Qe0=";
+    hash = "sha256-jMU5y41DSa8//ZAccHIvenogOuZCfdrJX/31RqbkFgI=";
   };
 
   # ansible_connection is already wrapped, so don't pass it through
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/default.nix b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
index f7c41aa12ba2..71bd13c7ab49 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
@@ -21,7 +21,7 @@
 
 let
   pname = "ansible";
-  version = "8.3.0";
+  version = "8.4.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -31,7 +31,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XlgAHX1twz5dFWyjQ4g7YT7JiPaTZLCkP3Ek/ktb4vI=";
+    hash = "sha256-8zxJJpBZL60SaE6Yl/beLaFcn24ey3kTdwOgZHCvLOY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/anthemav/default.nix b/nixpkgs/pkgs/development/python-modules/anthemav/default.nix
new file mode 100644
index 000000000000..965d399d573c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/anthemav/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "anthemav";
+  version = "1.4.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "nugget";
+    repo = "python-anthemav";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ZjAt4oODx09Qij0PwBvLCplSjwdBx2fReiwjmKhdPa0=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "anthemav"
+  ];
+
+  meta = with lib; {
+    description = "Python asyncio module to interface with Anthem AVM and MRX receivers";
+    homepage = "https://github.com/nugget/python-anthemav";
+    changelog = "https://github.com/nugget/python-anthemav/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/anthropic/default.nix b/nixpkgs/pkgs/development/python-modules/anthropic/default.nix
index 8344af439070..ef0ffe778e46 100644
--- a/nixpkgs/pkgs/development/python-modules/anthropic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anthropic/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "anthropic";
-  version = "0.3.11";
+  version = "0.3.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "anthropics";
     repo = "anthropic-sdk-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bjagT0I0/N76CGf1b8EBNyOTzPBWybr2I2yO5NWO3po=";
+    hash = "sha256-2sw/tzbKd0d4sSHM+PYTE/XeqkycFFLfG1c/lyrU4Jc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/anyio/default.nix b/nixpkgs/pkgs/development/python-modules/anyio/default.nix
index 3508554d308d..06112cccdc3f 100644
--- a/nixpkgs/pkgs/development/python-modules/anyio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anyio/default.nix
@@ -28,7 +28,7 @@
 
 buildPythonPackage rec {
   pname = "anyio";
-  version = "3.7.1";
+  version = "4.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -36,8 +36,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "agronholm";
     repo = pname;
-    rev = version;
-    hash = "sha256-9/pAcVTzw9v57E5l4d8zNyBJM+QNGEuLKrQ0WUBW5xw=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-gUFd2gHWIElYfzOvg7Yx7iJyhU6+iAcJpHTVsJtxTsk=";
   };
 
   env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -84,6 +84,10 @@ buildPythonPackage rec {
     "test_exception_group_children"
     "test_exception_group_host"
     "test_exception_group_filtering"
+    # timing sensitive
+    # assert threading.active_count() == initial_count + 1
+    # assert 4 == (4 + 1)
+    "test_run_sync_from_thread_pooling"
   ] ++ lib.optionals stdenv.isDarwin [
     # PermissionError: [Errno 1] Operation not permitted: '/dev/console'
     "test_is_block_device"
diff --git a/nixpkgs/pkgs/development/python-modules/anywidget/default.nix b/nixpkgs/pkgs/development/python-modules/anywidget/default.nix
index f96ef47e7332..8eb392f68595 100644
--- a/nixpkgs/pkgs/development/python-modules/anywidget/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anywidget/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "anywidget";
-  version = "0.6.3";
+  version = "0.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OUKxmYceEKURJeQTVI7oLT4SdZM90V7BoZf0UykkEV4=";
+    hash = "sha256-OxwCnCGvSwrVxBzQwxMBqESsETu2q1vdevJHDr/IfUI=";
   };
 
   # We do not need the jupyterlab build dependency, because we do not need to
diff --git a/nixpkgs/pkgs/development/python-modules/aocd/default.nix b/nixpkgs/pkgs/development/python-modules/aocd/default.nix
index b58c31ea7320..f1a31ee243b8 100644
--- a/nixpkgs/pkgs/development/python-modules/aocd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aocd/default.nix
@@ -10,6 +10,9 @@
 , pytest-raisin
 , pytest-socket
 , requests-mock
+, pook
+, numpy
+, rich
 , pebble
 , python-dateutil
 , termcolor
@@ -20,8 +23,8 @@
 
 buildPythonPackage rec {
   pname = "aocd";
-  version = "1.3.2";
-  format = "setuptools";
+  version = "2.0.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -29,7 +32,7 @@ buildPythonPackage rec {
     owner = "wimglenn";
     repo = "advent-of-code-data";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yY8ItXZZp0yVs4viJzduMPq8Q8NKd34uvlGaVUE2GjQ=";
+    hash = "sha256-YZvcR97uHceloqwoP+azaBmj3GLusYNbItLIaeJ3QD0=";
   };
 
   propagatedBuildInputs = [
@@ -40,6 +43,7 @@ buildPythonPackage rec {
     pebble
     tzlocal
     setuptools
+    rich # for example parser aoce. must either be here or checkInputs
   ];
 
   # Too many failing tests
@@ -52,6 +56,33 @@ buildPythonPackage rec {
     "test_run_and_autosubmit"
     "test_run_and_no_autosubmit"
     "test_load_input_from_file"
+    "test_examples_cache" # IndexError: list index out of range
+    "test_example_partial" # ValueError: not enough values to unpack (expected 1, got 0)
+    "test_run_against_examples" # AssertionError: assert '2022/25 - The Puzzle Title' in ''
+    "test_aocd_no_examples" # SystemExit: 2
+    "test_aocd_examples" # SystemExit: 2
+    "test_aoce" # SystemExit: 1
+
+    # TypeError: sequence item 0: expected str instance, bool found
+    # Likely because they use `pook.get` to get a webpage
+    "test_submit_prevents_bad_guesses_too_high"
+    "test_submit_prevents_bad_guesses_too_low"
+    "test_submit_prevents_bad_guesses_known_incorrect"
+    "test_submit_correct_answer"
+    "test_correct_submit_reopens_browser_on_answer_page"
+    "test_server_error"
+    "test_submit_when_already_solved"
+    "test_submitted_too_recently_autoretry"
+    "test_submitted_too_recently_autoretry_quiet"
+    "test_submit_when_submitted_too_recently_no_autoretry"
+    "test_submit_wrong_answer "
+    "test_correct_submit_records_good_answer"
+    "test_submits_for_partb_when_already_submitted_parta"
+    "test_submit_when_parta_solved_but_answer_unsaved"
+    "test_submit_saves_both_answers_if_possible"
+    "test_submit_puts_level1_by_default"
+    "test_cannot_submit_same_bad_answer_twice"
+    "test_submit_float_warns"
   ];
 
   nativeCheckInputs = [
@@ -60,6 +91,11 @@ buildPythonPackage rec {
     pytest-freezegun
     pytest-raisin
     pytest-socket
+  ];
+
+  checkInputs = [
+    pook
+    numpy
     requests-mock
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix b/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix
index 92a9203a93f6..d0e36a989b94 100644
--- a/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix
@@ -48,13 +48,13 @@
 
 buildPythonPackage rec {
   pname = "apache-beam";
-  version = "2.45.0";
+  version = "2.50.0";
 
   src = fetchFromGitHub {
     owner = "apache";
     repo = "beam";
     rev = "refs/tags/v${version}";
-    hash = "sha256-e+6Vt+SlOxi16udsdx7WFoDWYupuXhggpoEZPe4tPr0=";
+    hash = "sha256-qaxYWPVdMlegvH/W66UBoQbcQ5Ac/3DNoQs8xo+KfLc=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/apischema/default.nix b/nixpkgs/pkgs/development/python-modules/apischema/default.nix
index a60b97d1d951..eb385ccaf90e 100644
--- a/nixpkgs/pkgs/development/python-modules/apischema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apischema/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "apischema";
-  version = "0.18.0";
+  version = "0.18.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "wyfo";
     repo = "apischema";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DBFFCLi8cpASyGPNqZvYe3OTLSbNZ8QzaxjQkOiHxFc=";
+    hash = "sha256-omw6znk09r2SigPfaVrtA6dd8KeSfjaPgGfK12ty23g=";
   };
 
   passthru.optional-dependencies = {
diff --git a/nixpkgs/pkgs/development/python-modules/app-model/default.nix b/nixpkgs/pkgs/development/python-modules/app-model/default.nix
index 29f19979ff53..1371cc72de3b 100644
--- a/nixpkgs/pkgs/development/python-modules/app-model/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/app-model/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "app-model";
-  version = "0.2.1";
+  version = "0.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "pyapp-kit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-1LldqihVCCgFdnsod751zWAAqkaaIH2qMpfsPYjWzgs=";
+    hash = "sha256-vo10BHUzvYlldAqTw/1LxgvSXgTM3LAls9jQIeB5LcU=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/apple-weatherkit/default.nix b/nixpkgs/pkgs/development/python-modules/apple-weatherkit/default.nix
new file mode 100644
index 000000000000..89363e859bd0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/apple-weatherkit/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, aiohttp
+, pythonOlder
+, pyjwt
+}:
+
+buildPythonPackage rec {
+  pname = "apple-weatherkit";
+  version = "1.0.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.11";
+
+  src = fetchFromGitHub {
+    owner = "tjhorner";
+    repo = "python-weatherkit";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-G/0hyK2rjdSSnVnvAUGyDvsfNMHVgAD7NHfNFmdBCNA=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    pyjwt
+  ] ++ pyjwt.optional-dependencies.crypto;
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "apple_weatherkit"
+  ];
+
+  meta = with lib; {
+    description = "Python library for Apple WeatherKit";
+    homepage = "https://github.com/tjhorner/python-weatherkit";
+    changelog = "https://github.com/tjhorner/python-weatherkit/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/apprise/default.nix b/nixpkgs/pkgs/development/python-modules/apprise/default.nix
index 0e0944dd32e6..486b7fd6c25c 100644
--- a/nixpkgs/pkgs/development/python-modules/apprise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apprise/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "apprise";
-  version = "1.5.0";
+  version = "1.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PFgRQQd6EBeQ7eDKsW+ig60DKpsvl9xtNWX7LZGBP9c=";
+    hash = "sha256-Pu+rHF15eLDmXFCR0c2+kgaGXcPLXRnKXPvdt26Kr/4=";
   };
 
   nativeBuildInputs = [
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 647a77e035a5..8b72b5e8e996 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.4.3";
+  version = "5.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "AppThreat";
     repo = "vulnerability-db";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hALpNLXPg2Apha3KbEixFEH3NuzLe6lnEy9V5otskDM=";
+    hash = "sha256-URDVNuUrxWoQjeNRPrSJz8aiEozn5BzRTvhqc4bihA0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aprslib/default.nix b/nixpkgs/pkgs/development/python-modules/aprslib/default.nix
index ce73dadd8d66..ab56bf58b8e3 100644
--- a/nixpkgs/pkgs/development/python-modules/aprslib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aprslib/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchFromGitHub
 , fetchpatch
-, mox3
 , pytestCheckHook
 }:
 
@@ -24,8 +23,9 @@ buildPythonPackage rec {
     })
   ];
 
+  doCheck = false; # mox3 is disabled on python311
+
   nativeCheckInputs = [
-    mox3
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/apsw/default.nix b/nixpkgs/pkgs/development/python-modules/apsw/default.nix
index 5964274881c6..59576a129d68 100644
--- a/nixpkgs/pkgs/development/python-modules/apsw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apsw/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "apsw";
-  version = "3.42.0.0";
+  version = "3.43.1.0";
   format = "setuptools";
 
   disabled = isPyPy;
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "rogerbinns";
     repo = "apsw";
     rev = "refs/tags/${version}";
-    hash = "sha256-pLkYTyf2BGRLs4bChb+eo2i5gRRUUJDFyfCBTSJ1RkQ=";
+    hash = "sha256-x+bSft37DgF2tXXCL6ac86g1+mj/wJeDLoCSiVSXedA=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/apycula/default.nix b/nixpkgs/pkgs/development/python-modules/apycula/default.nix
index 2d985b8786f5..c09d616b4d50 100644
--- a/nixpkgs/pkgs/development/python-modules/apycula/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apycula/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "apycula";
-  version = "0.9.0";
+  version = "0.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "Apycula";
-    hash = "sha256-M62RgNUxn14o8w+vIJjDrMpYnfvwcU4jw05PPvPvR8A=";
+    hash = "sha256-9THKebhyoUUSnZek1uBIFckFM0Xh1fKRpxEt5Eptugw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
index 967ddc9587f7..928a386e59cd 100644
--- a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
@@ -1,4 +1,5 @@
 { lib
+, backports-strenum
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
@@ -8,8 +9,8 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.69";
-  format = "pyproject";
+  version = "9.2.73";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -17,13 +18,17 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VvTUIFJ5XCo+iGKofv6aMhBS3To1uyWgwEsGXz2bOwE=";
+    hash = "sha256-D6ZMZzuWoCSKSAEnVqU5iM4ttpeBNojofMW/vsV8gVw=";
   };
 
   nativeBuildInputs = [
     setuptools
   ];
 
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [
+    backports-strenum
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/argh/default.nix b/nixpkgs/pkgs/development/python-modules/argh/default.nix
index bdc296f432a0..a03e441c8fda 100644
--- a/nixpkgs/pkgs/development/python-modules/argh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/argh/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "argh";
-  version = "0.29.3";
+  version = "0.29.4";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WOQ4zpFpqqLm3hR+POs0zqz+JlVqIwb1Di1G9Sd5rLE=";
+    hash = "sha256-aVwK5FNCcMriaXhBtKVvQ0qZBpSgAmTqEOu7zcAsE/c=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/argilla/default.nix b/nixpkgs/pkgs/development/python-modules/argilla/default.nix
index 4ef9c171d2b2..8179d054a97f 100644
--- a/nixpkgs/pkgs/development/python-modules/argilla/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/argilla/default.nix
@@ -61,11 +61,11 @@
 , pytest-cov
 , pytest-mock
 , pytest-asyncio
-, factory_boy
+, factory-boy
 }:
 let
   pname = "argilla";
-  version = "1.15.0";
+  version = "1.17.0";
   optional-dependencies = {
     server = [
       fastapi
@@ -126,7 +126,7 @@ buildPythonPackage {
     owner = "argilla-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-CEB2Q+8JJmYWeqKS1QuOysedCSuPWXcljlmaclwZzmY=";
+    hash = "sha256-ggw6ABPn3d+aOj+0ETKYWWTha/2Recdnp/LGBXG1HY4=";
   };
 
   pythonRelaxDeps = [
@@ -166,7 +166,7 @@ buildPythonPackage {
     pytest-cov
     pytest-mock
     pytest-asyncio
-    factory_boy
+    factory-boy
   ]
     ++ optional-dependencies.server
     ++ optional-dependencies.postgresql
diff --git a/nixpkgs/pkgs/development/python-modules/argon2-cffi-bindings/default.nix b/nixpkgs/pkgs/development/python-modules/argon2-cffi-bindings/default.nix
index 3f1f3f86666c..77182cbd6a43 100644
--- a/nixpkgs/pkgs/development/python-modules/argon2-cffi-bindings/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/argon2-cffi-bindings/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, libargon2
 , cffi
 , setuptools-scm
 }:
@@ -14,14 +15,19 @@ buildPythonPackage rec {
     sha256 = "bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3";
   };
 
+  buildInputs = [ libargon2 ];
+
   nativeBuildInputs = [
     setuptools-scm
+    cffi
   ];
 
   propagatedBuildInputs = [
     cffi
   ];
 
+  env.ARGON2_CFFI_USE_SYSTEM = 1;
+
   # tarball doesn't include tests, but the upstream tests are minimal
   doCheck = false;
   pythonImportsCheck = [ "_argon2_cffi_bindings" ];
diff --git a/nixpkgs/pkgs/development/python-modules/argon2-cffi/default.nix b/nixpkgs/pkgs/development/python-modules/argon2-cffi/default.nix
index 24e32526682f..da9022c93f19 100644
--- a/nixpkgs/pkgs/development/python-modules/argon2-cffi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/argon2-cffi/default.nix
@@ -1,41 +1,32 @@
-{ cffi
-, six
-, enum34
-, hypothesis
-, pytest
-, wheel
+{ hypothesis
+, pytestCheckHook
 , buildPythonPackage
 , fetchPypi
-, isPy3k
 , lib
-, stdenv
+, hatchling
+, hatch-vcs
+, hatch-fancy-pypi-readme
 , argon2-cffi-bindings
 }:
 
 buildPythonPackage rec {
   pname = "argon2-cffi";
-  version = "21.3.0";
-  format = "flit";
+  version = "23.1.0";
+  format = "pyproject";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b";
+    pname = "argon2_cffi";
+    inherit version;
+    hash = "sha256-h5w+eaJynOdo67fTbUYJ46eKTKLsOp8SKGygV+PQ2wg=";
   };
 
-  propagatedBuildInputs = [ cffi six argon2-cffi-bindings ]
-    ++ lib.optional (!isPy3k) enum34;
+  nativeBuildInputs = [ hatchling hatch-vcs hatch-fancy-pypi-readme ];
 
-  propagatedNativeBuildInputs = [
-    argon2-cffi-bindings
-    cffi
-  ];
+  propagatedBuildInputs = [ argon2-cffi-bindings ];
 
-  ARGON2_CFFI_USE_SSE2 = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) "0";
+  nativeCheckInputs = [ hypothesis pytestCheckHook ];
 
-  nativeCheckInputs = [ hypothesis pytest wheel ];
-  checkPhase = ''
-    pytest tests
-  '';
+  pythonImportsCheck = [ "argon2" ];
 
   meta = with lib; {
     description = "Secure Password Hashes for Python";
diff --git a/nixpkgs/pkgs/development/python-modules/argos-translate-files/default.nix b/nixpkgs/pkgs/development/python-modules/argos-translate-files/default.nix
index 1acab31b723c..0f0e3ea22354 100644
--- a/nixpkgs/pkgs/development/python-modules/argos-translate-files/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/argos-translate-files/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "argos-translate-files";
-  version = "1.1.3";
+  version = "1.1.4";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c6931ea8fbabdc24903ceaabfe848be0fa4a0477d00451a8dfbc1525b623f0ba";
+    sha256 = "sha256-YSTqqd+Kv2QVlAjA0lf4IRx7rJ1DmvB0JIReBv3yZcM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/argostranslate/default.nix b/nixpkgs/pkgs/development/python-modules/argostranslate/default.nix
index 8a1cadfb8803..2347730ad4cb 100644
--- a/nixpkgs/pkgs/development/python-modules/argostranslate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/argostranslate/default.nix
@@ -18,13 +18,13 @@ let
 in
 buildPythonPackage rec {
   pname = "argostranslate";
-  version = "1.8.0";
+  version = "1.8.1";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9b109255d6a2c692c6f3bfbde494d1a27b3d5ed1c1d1d78711cdc1b1e3744c64";
+    sha256 = "sha256-8eVmEHwsQ9/5NPmKJzZ4aX4nkh4+mna5K1BC+lXLXcE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ariadne/default.nix b/nixpkgs/pkgs/development/python-modules/ariadne/default.nix
index 23d45893fe4f..3810934eefeb 100644
--- a/nixpkgs/pkgs/development/python-modules/ariadne/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ariadne/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "ariadne";
-  version = "0.18.1";
+  version = "0.20.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "mirumee";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-E7uC+l0Yjol8UPLF4CV+PN49tOUJXNUS5yYdF1oyfwU=";
+    hash = "sha256-v3CaLMTo/zbNEoE3K+aWnFTCgLetcnN7vOU/sFqLq2k=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/array-record/default.nix b/nixpkgs/pkgs/development/python-modules/array-record/default.nix
index f278c34fbe1d..1c82445f0e4f 100644
--- a/nixpkgs/pkgs/development/python-modules/array-record/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/array-record/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "array-record";
-  version = "0.4.0";
+  version = "0.4.1";
   format = "wheel";
 
   disabled = python.pythonVersion != "3.10";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     pname = "array_record";
     dist = "py310";
     python = "py310";
-    hash = "sha256-VHDU6RLR/z3/tNxJiDdAruz1cva6cHu5NzMlsKrLYXg=";
+    hash = "sha256-agyO1v36ryzs09XGucE+EWrTKZZJYRyP0YTWRVf7q6g=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/arviz/default.nix b/nixpkgs/pkgs/development/python-modules/arviz/default.nix
index fee3f12b80ca..b37e7d9a8a18 100644
--- a/nixpkgs/pkgs/development/python-modules/arviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/arviz/default.nix
@@ -32,16 +32,16 @@
 
 buildPythonPackage rec {
   pname = "arviz";
-  version = "0.15.1";
-  format = "setuptools";
+  version = "0.16.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "arviz-devs";
-    repo = pname;
+    repo = "arviz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jjA+yltvpPZldIxXXqu1bXCLqpiU5/NBYTPlI9ImGVs=";
+    hash = "sha256-kixWGj0M0flTq5rXSiPB0nfZaGYRvvMBGAJpehdW8KY=";
   };
 
   propagatedBuildInputs = [
@@ -93,6 +93,10 @@ buildPythonPackage rec {
     "test_plot_pair"
     # Array mismatch
     "test_plot_ts"
+    # The following two tests fail in a common venv-based setup.
+    # An issue has been opened upstream: https://github.com/arviz-devs/arviz/issues/2282
+    "test_plot_ppc_discrete"
+    "test_plot_ppc_discrete_save_animation"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/asana/default.nix b/nixpkgs/pkgs/development/python-modules/asana/default.nix
index 410c8d6a24f1..f3b6787dd66b 100644
--- a/nixpkgs/pkgs/development/python-modules/asana/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asana/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "asana";
-  version = "3.2.1";
+  version = "4.0.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "asana";
     repo = "python-asana";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-hvAyKGoNkX3bs7Mz2h7SnOa5T6J88c0YiTR/L8fgfi8=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-B98X8ErmoMIpXu4KKvRGgtElPs/va2+UIR+ARUgafgo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asdf-transform-schemas/default.nix b/nixpkgs/pkgs/development/python-modules/asdf-transform-schemas/default.nix
index 545062e0dd5a..d00e43e756a3 100644
--- a/nixpkgs/pkgs/development/python-modules/asdf-transform-schemas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asdf-transform-schemas/default.nix
@@ -9,15 +9,15 @@
 
 buildPythonPackage rec {
   pname = "asdf-transform-schemas";
-  version = "0.3.0";
-  format = "pyproject";
+  version = "0.4.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "asdf_transform_schemas";
     inherit version;
-    hash = "sha256-DPL/eyLMtAj+WN3ZskQaWbpz/jI+QW1ZueCkcop9LdY=";
+    hash = "sha256-3n/cP+41+5V/wylXh3oOnX3U0uhRvWMaclnxHCvSlMo=";
   };
 
   nativeBuildInputs = [
@@ -40,6 +40,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "ASDF schemas for validating transform tags";
     homepage = "https://github.com/asdf-format/asdf-transform-schemas";
+    changelog = "https://github.com/asdf-format/asdf-transform-schemas/releases/tag/${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/asdf/default.nix b/nixpkgs/pkgs/development/python-modules/asdf/default.nix
index 0363eae2919b..f4a45ecaf9ad 100644
--- a/nixpkgs/pkgs/development/python-modules/asdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asdf/default.nix
@@ -94,5 +94,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/asdf-format/asdf";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
+    # Many tests fail, according to Hydra
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/asf-search/default.nix b/nixpkgs/pkgs/development/python-modules/asf-search/default.nix
index 3fd043766778..a5177a6b7e18 100644
--- a/nixpkgs/pkgs/development/python-modules/asf-search/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asf-search/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "asf-search";
-  version = "6.3.1";
+  version = "6.6.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "asfadmin";
     repo = "Discovery-asf_search";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9mhb8PEpRdFjbPBZ/B8he/UcRSLryBQU0Dgjcii7LGY=";
+    hash = "sha256-w4xpCqNal0BHsmf1cL4k/DKzs/e9WQXTQNJNs8puJUU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asn1tools/default.nix b/nixpkgs/pkgs/development/python-modules/asn1tools/default.nix
index 8bc58e992c86..89abcb152639 100644
--- a/nixpkgs/pkgs/development/python-modules/asn1tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asn1tools/default.nix
@@ -7,6 +7,7 @@
 , pyparsing
 , python
 , pythonOlder
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -25,14 +26,22 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     bitstruct
-    diskcache
-    prompt-toolkit
     pyparsing
   ];
 
-  checkPhase = ''
-    ${python.interpreter} setup.py test
-  '';
+  passthru.optional-depdendencies = {
+    shell = [
+      prompt-toolkit
+    ];
+    cache = [
+      diskcache
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-depdendencies);
+
 
   pythonImportsCheck = [
     "asn1tools"
diff --git a/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix b/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix
index 0077cfdde150..d02ed1236154 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , findutils
 , pytestCheckHook
 , pythonOlder
@@ -11,23 +12,31 @@
 
 buildPythonPackage rec {
   pname = "extension-helpers";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca1bfac67c79cf4a7a0c09286ce2a24eec31bf17715818d0726318dd0e5050e6";
+    hash = "sha256-SUYMeKP40fjOwXRHn16FrURZSMzEFgM8WqPm3fLFAik=";
   };
 
+  patches = [
+    # Not needed to allow this package to build, but meant for it's dependent
+    # packages, like astropy. See explanation at:
+    # https://github.com/astropy/extension-helpers/pull/59
+    (fetchpatch {
+      url = "https://github.com/astropy/extension-helpers/commit/796f3e7831298df2d26b6d994b13fd57061a56d1.patch";
+      hash = "sha256-NnqK9HQq1hQ66RUJf9gTCuLyA0BVqVtL292mSXJ9860=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools-scm
     wheel
   ];
 
-  patches = [ ./permissions.patch ];
-
   nativeCheckInputs = [
     findutils
     pip
diff --git a/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/permissions.patch b/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/permissions.patch
deleted file mode 100644
index cef74b336034..000000000000
--- a/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/permissions.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/extension_helpers/_setup_helpers.py b/extension_helpers/_setup_helpers.py
-index ec3e547..e2419f7 100644
---- a/extension_helpers/_setup_helpers.py
-+++ b/extension_helpers/_setup_helpers.py
-@@ -79,8 +79,13 @@ def get_extensions(srcdir='.'):
-     if len(ext_modules) > 0:
-         main_package_dir = min(packages, key=len)
-         src_path = os.path.join(os.path.dirname(__file__), 'src')
--        shutil.copy(os.path.join(src_path, 'compiler.c'),
--                    os.path.join(srcdir, main_package_dir, '_compiler.c'))
-+        a = os.path.join(src_path, 'compiler.c')
-+        b = os.path.join(srcdir, main_package_dir, '_compiler.c')
-+        try:
-+            os.unlink(b)
-+        except OSError:
-+            pass
-+        shutil.copy(a, b)
-         ext = Extension(main_package_dir + '.compiler_version',
-                         [os.path.join(main_package_dir, '_compiler.c')])
-         ext_modules.append(ext)
diff --git a/nixpkgs/pkgs/development/python-modules/astropy/default.nix b/nixpkgs/pkgs/development/python-modules/astropy/default.nix
index 2176a6ff1fc3..0a70e40e9e8a 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astropy/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchPypi
+, fetchpatch
 , buildPythonPackage
 , pythonOlder
 
@@ -10,6 +11,11 @@
 , oldest-supported-numpy
 , setuptools-scm
 , wheel
+# testing
+, pytestCheckHook
+, pytest-xdist
+, pytest-astropy
+, python
 
 # runtime
 , numpy
@@ -18,21 +24,20 @@
 , pyyaml
 }:
 
-let
+buildPythonPackage rec {
   pname = "astropy";
-  version = "5.2.1";
-in
-buildPythonPackage {
-  inherit pname version;
+  version = "5.3.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.8"; # according to setup.cfg
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9q4noHf46oSQPvp2x5C5hWFzQaAISw0hw5H3o/MyrCM=";
+    hash = "sha256-1JD34vqsLMwBySRCAtYpFUJZr4qXkQTO2J3ErOTm8dg=";
   };
-
+  # Relax cython dependency to allow this to build, upstream only doesn't
+  # support cython 3 as of writing. See:
+  # https://github.com/astropy/astropy/issues/15315
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'cython==' 'cython>='
@@ -54,14 +59,33 @@ buildPythonPackage {
     pyyaml
   ];
 
-  # infinite recursion with pytest-astropy (pytest-astropy-header depends on astropy itself)
-  doCheck = false;
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-xdist
+    pytest-astropy
+  ];
+
+  # Not running it inside the build directory. See:
+  # https://github.com/astropy/astropy/issues/15316#issuecomment-1722190547
+  preCheck = ''
+    cd "$out"
+    export HOME="$(mktemp -d)"
+    export OMP_NUM_THREADS=$(( $NIX_BUILD_CORES / 4 ))
+  '';
+  pythonImportsCheck = [
+    "astropy"
+  ];
+  disabledTests = [
+    # May fail due to parallelism, see:
+    # https://github.com/astropy/astropy/issues/15441
+    "TestUnifiedOutputRegistry"
+  ];
 
-  meta = with lib; {
+  meta = {
     description = "Astronomy/Astrophysics library for Python";
     homepage = "https://www.astropy.org";
-    license = licenses.bsd3;
-    platforms = platforms.all;
-    maintainers = [ maintainers.kentjames ];
+    license = lib.licenses.bsd3;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ kentjames doronbehar ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/astroquery/default.nix b/nixpkgs/pkgs/development/python-modules/astroquery/default.nix
index 67bee933c0da..610238559a2c 100644
--- a/nixpkgs/pkgs/development/python-modules/astroquery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astroquery/default.nix
@@ -53,6 +53,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    # DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
+    "-W" "ignore::DeprecationWarning"
+  ];
+
   # Tests must be run in the build directory. The tests create files
   # in $HOME/.astropy so we need to set HOME to $TMPDIR.
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/asttokens/default.nix b/nixpkgs/pkgs/development/python-modules/asttokens/default.nix
index 89c959293df3..452abd626e0b 100644
--- a/nixpkgs/pkgs/development/python-modules/asttokens/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asttokens/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "asttokens";
-  version = "2.2.1";
+  version = "2.4.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RiIRCypvMLd+FHOv+ql+cRvC8H0/EISEIP8YmO2+lPM=";
+    hash = "sha256-LgFxuZGyyVmsxsSTGASSNoRKXaHWW6JnLEiAwciUg04=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asyauth/default.nix b/nixpkgs/pkgs/development/python-modules/asyauth/default.nix
index ccb8ef68911e..a08a20831f1b 100644
--- a/nixpkgs/pkgs/development/python-modules/asyauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyauth/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "asyauth";
-  version = "0.0.15";
+  version = "0.0.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-J2shp4YMGvDFDrfKxnqHQSfH6yteKM1DpQ+8DjblcNI=";
+    hash = "sha256-ktmL2EFWDTzZwhxfleYEeJtMiiDP28JaCGbsvxx73Ok=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/async-timeout/default.nix b/nixpkgs/pkgs/development/python-modules/async-timeout/default.nix
index 55297bea9cbd..59c8b51fbb67 100644
--- a/nixpkgs/pkgs/development/python-modules/async-timeout/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-timeout/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "async-timeout";
-  version = "4.0.2";
+  version = "4.0.3";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IWPhZA3bUreoyA0KZ6CFh+XSRcycVTp0qEcFa8KXaxU=";
+    hash = "sha256-RkDZa+hNgtAu1Z6itxBaD3szq+hwNwPNCrC/h8QnUi8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/async-tkinter-loop/default.nix b/nixpkgs/pkgs/development/python-modules/async-tkinter-loop/default.nix
index bb00fbcde53b..d376ec154263 100644
--- a/nixpkgs/pkgs/development/python-modules/async-tkinter-loop/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-tkinter-loop/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "async-tkinter-loop";
-  version = "0.8.1";
+  version = "0.9.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit version;
     pname = "async_tkinter_loop";
-    hash = "sha256-+9AvnYIZMWCbpCEKdbIadyU8zgyUlW/fRYYyDOxAzeg=";
+    hash = "sha256-YwmW+zXAx9TAxgoRLEr7/3o1rrO4eSNScuoTh3ud2Vo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix b/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
index acebba712643..03b7e8664c46 100644
--- a/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "async-upnp-client";
-  version = "0.35.1";
+  version = "0.36.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "StevenLooman";
     repo = "async_upnp_client";
     rev = "refs/tags/${version}";
-    hash = "sha256-owg9oZv/smovJPoCjr9Y0TK4Ap5IMD7cNagtkYkJk1c=";
+    hash = "sha256-NFSJlBRVgeuhK7IXjNz2g6SbSgveSjaJpSQrxSACG04=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix b/nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix
index 9257e12f721e..9049a2285185 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix
@@ -1,13 +1,14 @@
 { lib
 , buildPythonPackage
 , fetchFromGitLab
+, flit-core
 , python
 }:
 
 buildPythonPackage rec {
   pname = "asyncinotify";
   version = "4.0.2";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchFromGitLab {
     owner = "Taywee";
@@ -16,6 +17,10 @@ buildPythonPackage rec {
     hash = "sha256-Q7b406UENCmD9SGbaml+y2YLDi7VLZBmDkYMo8CLuVw=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   checkPhase = ''
     ${python.pythonForBuild.interpreter} ${src}/test.py
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix b/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix
index 4d27c6da8827..2f61273c161e 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncstdlib/default.nix
@@ -2,14 +2,15 @@
 , buildPythonPackage
 , fetchFromGitHub
 , typing-extensions
+, flit-core
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "asyncstdlib";
-  version = "3.10.8";
-  format = "flit";
+  version = "3.10.9";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -17,9 +18,13 @@ buildPythonPackage rec {
     owner = "maxfischer2781";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7HQFyIR+NWRzbFkzkZiuEQotZfCXpCzrWfWIFg1lWv4=";
+    hash = "sha256-Wvp2orIGxy10jJOyskY3QMCciH33pPgX4Yd0nHjRjsM=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     typing-extensions
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/asyncwhois/default.nix b/nixpkgs/pkgs/development/python-modules/asyncwhois/default.nix
index cddb597b43e0..25cb21e7e246 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncwhois/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncwhois/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pytest-asyncio
 , pytest-mock
 , pytestCheckHook
 , python-socks
@@ -11,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "asyncwhois";
-  version = "1.0.7";
+  version = "1.0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "pogzyb";
-    repo = pname;
+    repo = "asyncwhois";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OiDi9hD2IDDfQoQoPhLpClBnJyI/wlZfGyzqmVI94yA=";
+    hash = "sha256-fYXxoS4bGTat5QT98ETmWk/VKXJmg9mtkUu02SZT4Eo=";
   };
 
   propagatedBuildInputs = [
@@ -30,6 +31,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    pytest-asyncio
     pytest-mock
     pytestCheckHook
   ];
@@ -52,6 +54,8 @@ buildPythonPackage rec {
     "test_whois_query_run"
     "test_whois_query_create_connection"
     "test_whois_query_send_and_recv"
+    "test_input_parameters_for_domain_query"
+    "test__get_top_level_domain"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/atom/default.nix b/nixpkgs/pkgs/development/python-modules/atom/default.nix
index f9a2950aa35a..4232716d4829 100644
--- a/nixpkgs/pkgs/development/python-modules/atom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/atom/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "atom";
-  version = "0.10.0";
+  version = "0.10.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "nucleic";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-l+4/bk3V5gMa7CXSHSo8aWmipur0xheL2FopHuiLcpQ=";
+    hash = "sha256-NXjvRVYcWU9p7b8y2ICOzYe6TeMh1S70Edy/JvTG7a4=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/atpublic/default.nix b/nixpkgs/pkgs/development/python-modules/atpublic/default.nix
index d856aa544cb1..20fc37d45999 100644
--- a/nixpkgs/pkgs/development/python-modules/atpublic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/atpublic/default.nix
@@ -3,25 +3,25 @@
 , fetchPypi
 , pytestCheckHook
 , pythonOlder
-, pdm-pep517
+, pdm-backend
 , sybil
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "atpublic";
-  version = "3.1.1";
+  version = "4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MJjuEtAQfMUAnWH06A5e3PrEzaK9qgRkSvdYJ8sSGxg=";
+    hash = "sha256-D0BDMhnhJO3xFcbDY4CMpvDhz6fRYNhrL7lHkwhtEpQ=";
   };
 
   nativeBuildInputs = [
-    pdm-pep517
+    pdm-backend
   ];
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
diff --git a/nixpkgs/pkgs/development/python-modules/atsim_potentials/default.nix b/nixpkgs/pkgs/development/python-modules/atsim-potentials/default.nix
index f9977ec84121..f9977ec84121 100644
--- a/nixpkgs/pkgs/development/python-modules/atsim_potentials/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/atsim-potentials/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/auditok/default.nix b/nixpkgs/pkgs/development/python-modules/auditok/default.nix
new file mode 100644
index 000000000000..459662df15d5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/auditok/default.nix
@@ -0,0 +1,44 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+, matplotlib
+, numpy
+, pyaudio
+, pydub
+, pythonOlder
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "auditok";
+  version = "0.1.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "auditok";
+    hash = "sha256-HNsw9VLP7XEgs8E2X6p7ygDM47AwWxMYjptipknFig4=";
+  };
+
+  propagatedBuildInputs = [ matplotlib numpy pyaudio pydub ];
+
+  nativeCheckInputs = [ unittestCheckHook ];
+
+  unittestFlagsArray = [ "-s" "tests" ];
+
+  pythonImportsCheck = [ "auditok" ];
+
+  # The most recent version is 0.2.0, but the only dependent package is
+  # ffsubsync, which is pinned at 0.1.5.
+  passthru.skipBulkUpdate = true;
+
+  meta = with lib; {
+    description = "Audio Activity Detection tool that can process online data as well as audio files";
+    homepage = "https://github.com/amsehili/auditok/";
+    changelog = "https://github.com/amsehili/auditok/blob/v${version}/CHANGELOG";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Benjamin-L ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/augmax/default.nix b/nixpkgs/pkgs/development/python-modules/augmax/default.nix
index 48eb38cad3d2..2ab159cfc6f8 100644
--- a/nixpkgs/pkgs/development/python-modules/augmax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/augmax/default.nix
@@ -4,21 +4,28 @@
 , jax
 , jaxlib
 , lib
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "augmax";
-  version = "unstable-2022-02-19";
-  format = "setuptools";
+  version = "0.3.1";
+  pyproject = true;
+
+  disbaled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "khdlr";
-    repo = pname;
-    # augmax does not have releases tagged. See https://github.com/khdlr/augmax/issues/5.
-    rev = "3e5d85d6921a1e519987d33f226bc13f61e04d04";
-    sha256 = "046n43v7161w7najzlbi0443q60436xv24nh1mv23yw6psqqhx5i";
+    repo = "augmax";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-hDNNoE7KVaH3jrXZA4A8f0UoQJPl6KHA3XwMc3Ccohk=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [ einops jax ];
 
   # augmax does not have any tests at the time of writing (2022-02-19), but
@@ -30,6 +37,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Efficiently Composable Data Augmentation on the GPU with Jax";
     homepage = "https://github.com/khdlr/augmax";
+    changelog = "https://github.com/khdlr/augmax/blob/${src.rev}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ samuela ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix b/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix
index 44599435f149..b40a680fb381 100644
--- a/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix
@@ -3,8 +3,10 @@
 , aioresponses
 , buildPythonPackage
 , callee
-, fetchPypi
+, fetchFromGitHub
 , mock
+, poetry-core
+, poetry-dynamic-versioning
 , pyjwt
 , pytestCheckHook
 , pythonOlder
@@ -13,16 +15,23 @@
 
 buildPythonPackage rec {
   pname = "auth0-python";
-  version = "4.4.0";
-  format = "setuptools";
+  version = "4.4.2";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-Yf8/NmQygdikQXv9sUukQEKKd+FcpSPnGbbi8kzVyLo=";
+  src = fetchFromGitHub {
+    owner = "auth0";
+    repo = "auth0-python";
+    rev = "refs/tags/${version}";
+    hash = "sha256-RBkAuZQx7mBxVCpo5PoBiEge8+yTmp0XpcnxCkOsM6U=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+    poetry-dynamic-versioning
+  ];
+
   propagatedBuildInputs = [
     requests
     pyjwt
diff --git a/nixpkgs/pkgs/development/python-modules/autofaiss/default.nix b/nixpkgs/pkgs/development/python-modules/autofaiss/default.nix
index aad226fa7451..eddea783def8 100644
--- a/nixpkgs/pkgs/development/python-modules/autofaiss/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/autofaiss/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "autofaiss";
-  version = "2.15.5";
+  version = "2.15.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "criteo";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-IcAlvFlCERnw1UQWPRpSWpscOuPx0wd1MXOfoXZhvCU=";
+    hash = "sha256-vB906xbpEjNNzc8Dc8i3ENgl9lCPOgB9vs7QVRS7UcM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/autoflake/default.nix b/nixpkgs/pkgs/development/python-modules/autoflake/default.nix
index 9446a6dc2b4c..0897abe77b84 100644
--- a/nixpkgs/pkgs/development/python-modules/autoflake/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/autoflake/default.nix
@@ -9,12 +9,12 @@
 }:
 buildPythonPackage rec {
   pname = "autoflake";
-  version = "2.0.1";
+  version = "2.2.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HOUgExt/OWkVJC/pHlciH01CQIUpu+Ouk62v7ShlkeA=";
+    hash = "sha256-Yre2RJppLDybDJFpGbvCFkjacoHoUGvPjT+CgOQx68E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/automx2/default.nix b/nixpkgs/pkgs/development/python-modules/automx2/default.nix
new file mode 100644
index 000000000000..cfc3a8484b67
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/automx2/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, flask-migrate
+, ldap3
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "automx2";
+  version = "unstable-2023-08-23";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "rseichter";
+    repo = pname;
+    rev = "f3e3fc8e769c3799361001d51b7d9335a6a9d1a8";
+    hash = "sha256-NkeazjjGDYUXfoydvEfww6e7SkSZ8rMRlML+oOaf374=";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    flask-migrate
+    ldap3
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "automx2"
+  ];
+
+  meta = with lib; {
+    description = "Email client configuration made easy";
+    homepage = "https://rseichter.github.io/automx2/";
+    changelog = "https://github.com/rseichter/automx2/blob/${version}/CHANGELOG";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ twey ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/autopep8/default.nix b/nixpkgs/pkgs/development/python-modules/autopep8/default.nix
index b34a78351bd9..9a177d7b4936 100644
--- a/nixpkgs/pkgs/development/python-modules/autopep8/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/autopep8/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "autopep8";
-  version = "2.0.2";
+  version = "2.0.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "hhatto";
     repo = "autopep8";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+EZgo7xtYKMgpcntU5FtPrfikDDpnvGHhorhtoqDsvE=";
+    hash = "sha256-TuaDnZqn9mRUsoDJkj9JK4ztvzl9JTwAk8nghIkZBvw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/av/default.nix b/nixpkgs/pkgs/development/python-modules/av/default.nix
index 64f12ed24a1a..b930fd80b99d 100644
--- a/nixpkgs/pkgs/development/python-modules/av/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/av/default.nix
@@ -9,7 +9,7 @@
 , setuptools
 
 # runtime
-, ffmpeg-headless
+, ffmpeg_5-headless
 
 # tests
 , numpy
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   ];
 
   buildInputs = [
-    ffmpeg-headless
+    ffmpeg_5-headless
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix b/nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix
index a8107fac2b84..16bae9a42597 100644
--- a/nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "awkward-cpp";
-  version = "22";
+  version = "23";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IWeWNvshz+NxX4ijIyaleRmThNstpKYplcMQUC1/6F8=";
+    hash = "sha256-c+Rg8+CMIvuDaeuME6ERyfMqeaLMfQHklnXdXQiSNt4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/awkward/default.nix b/nixpkgs/pkgs/development/python-modules/awkward/default.nix
index 81881d519392..f8fd32caa696 100644
--- a/nixpkgs/pkgs/development/python-modules/awkward/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awkward/default.nix
@@ -3,8 +3,10 @@
 , fetchPypi
 , pythonOlder
 , awkward-cpp
+, cupy
 , hatch-fancy-pypi-readme
 , hatchling
+, importlib-metadata
 , numba
 , numpy
 , packaging
@@ -15,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "awkward";
-  version = "2.3.1";
+  version = "2.4.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NLROXEbh4MKvBFuj+4+Wa2u37P9vuQ0Ww8kK+CYWt5E=";
+    hash = "sha256-soMmJ2JXhoR7rmCjtb+5388WfwnDrEbILyMvJqdymro=";
   };
 
   nativeBuildInputs = [
@@ -34,13 +36,16 @@ buildPythonPackage rec {
     awkward-cpp
     numpy
     packaging
-  ]  ++ lib.optionals (pythonOlder "3.11") [
+  ] ++ lib.optionals (pythonOlder "3.11") [
     typing-extensions
+  ] ++ lib.optionals (pythonOlder "3.12") [
+    importlib-metadata
   ];
 
   dontUseCmakeConfigure = true;
 
   nativeCheckInputs = [
+    cupy
     pytestCheckHook
     numba
     setuptools
diff --git a/nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix b/nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix
index 85a4f6bbe680..7dc2a217987f 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-adfs/default.nix
@@ -5,7 +5,6 @@
 , click
 , configparser
 , fetchFromGitHub
-, fetchpatch
 , fido2
 , lxml
 , poetry-core
@@ -19,16 +18,16 @@
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "2.2.1";
-  format = "pyproject";
+  version = "2.8.2";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "venth";
     repo = pname;
-    rev = "refs/tags/${version}";
-    hash = "sha256-REJYuOGq22onMj4WcfA7i4/cG99UGZA9D99ESIKY1A8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-hMM7Z0s9t5vetgskiy7nb1W/kKCKHe0Q3kT2ngUVADA=";
   };
 
   nativeBuildInputs = [
@@ -47,20 +46,6 @@ buildPythonPackage rec {
     requests-kerberos
   ];
 
-  patches = [
-    # Apply new fido2 api (See: venth/aws-adfs#243)
-    (fetchpatch {
-      url = "https://github.com/venth/aws-adfs/commit/09836d89256f3537270d760d8aa30ab9284725a8.diff";
-      hash = "sha256-pAAJvOa43BXtyWvV8hsLe2xqd5oI+vzndckRTRol61s=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'boto3 = "^1.20.50"' 'boto3 = "*"' \
-      --replace 'botocore = ">=1.12.6"' 'botocore = "*"'
-  '';
-
   nativeCheckInputs = [
     pytestCheckHook
     toml
@@ -77,6 +62,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Command line tool to ease AWS CLI authentication against ADFS";
     homepage = "https://github.com/venth/aws-adfs";
+    changelog = "https://github.com/venth/aws-adfs/releases/tag/v${version}";
     license = licenses.psfl;
     maintainers = with maintainers; [ bhipple ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/aws-encryption-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/aws-encryption-sdk/default.nix
index 6088e22e80d7..7c69b062bd80 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-encryption-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-encryption-sdk/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     homepage = "https://aws-encryption-sdk-python.readthedocs.io/";
     changelog = "https://github.com/aws/aws-encryption-sdk-python/blob/v${version}/CHANGELOG.rst";
     description = "Fully compliant, native Python implementation of the AWS Encryption SDK.";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ anthonyroussel ];
   };
 }
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 85a668a2c22e..44dbdd50fda5 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.37.0";
+  version = "1.40.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-ukHDrxx+Jxlp/Ypg1ltz7WN07X16spNdC7YygJhTBJo=";
+    hash = "sha256-4LapTxeJtzuXdWRgDmsQ8/yDeYZfMz+kJwpZKF7stmc=";
   };
 
   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 7fe9fdac96eb..5a7b1af3e8f1 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -2,6 +2,7 @@
 , boto3
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , jsonschema
 , parameterized
 , pydantic
@@ -28,6 +29,13 @@ buildPythonPackage rec {
     hash = "sha256-uOfBR0bvLVyBcfSAkSqOx4KjmSYbfktpJlxKjipfj50=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/aws/serverless-application-model/commit/e41b0f02204635a655100b68dd38220af32a2728.patch";
+      hash = "sha256-V6KXdXQUr9fvLzxI6sUMrSRnGX5SrAaDygcaQ87FaQ8=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace pytest.ini \
       --replace " --cov samtranslator --cov-report term-missing --cov-fail-under 95" ""
@@ -57,6 +65,26 @@ buildPythonPackage rec {
     sed -i '2ienv =\n\tAWS_DEFAULT_REGION=us-east-1' pytest.ini
   '';
 
+  disabledTests = [
+    # urllib3 2.0 compat
+    "test_plugin_accepts_different_sar_client"
+    "test_plugin_accepts_flags"
+    "test_plugin_accepts_parameters"
+    "test_plugin_default_values"
+    "test_plugin_invalid_configuration_raises_exception"
+    "test_plugin_must_setup_correct_name"
+    "test_must_process_applications"
+    "test_must_process_applications_validate"
+    "test_process_invalid_applications"
+    "test_process_invalid_applications_validate"
+    "test_resolve_intrinsics"
+    "test_sar_service_calls"
+    "test_sar_success_one_app"
+    "test_sar_throttling_doesnt_stop_processing"
+    "test_sleep_between_sar_checks"
+    "test_unexpected_sar_error_stops_processing"
+  ];
+
   meta = with lib; {
     description = "Python library to transform SAM templates into AWS CloudFormation templates";
     homepage = "https://github.com/awslabs/serverless-application-model";
diff --git a/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix
index 3be1c09b5fbe..e2fb2414a2c0 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-xray-sdk/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "aws-xray-sdk";
-  version = "2.11.0";
+  version = "2.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eINfyEHwPlUIWPGKmXPquGGPR/ItL1nt8TBXj6VFqGc=";
+    hash = "sha256-KVr8I3BzqAlW19TyfDGDDty5qMzKnviqRJkLre8V5bc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/awscrt/default.nix b/nixpkgs/pkgs/development/python-modules/awscrt/default.nix
index 807cd8a02942..b6384fce40b5 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.1";
+  version = "0.19.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kXf/TKw0YkWuSWNc1rQqbb3q4XWCRRkBAiDUisX/8UI=";
+    hash = "sha256-UMIzuGZBff/7szG3CuO3oHZOfY4WcYqW9mUAGFBWLvA=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix b/nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix
index d79b3448f212..1d89f2e93241 100644
--- a/nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awslambdaric/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "awslambdaric";
-  version = "2.0.0";
+  version = "2.0.7";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-lambda-python-runtime-interface-client";
-    rev = version;
-    sha256 = "1amlaq119mk8fa3fxi3d6vgp83vcd81mbk53jzbixacklmcsp50k";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-9PgdLzeSafglguXksMetzopbDlBWlGDSSXiZHfuWgE8=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix b/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
index 806016afbffc..65f5bcf36e94 100644
--- a/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "awswrangler";
-  version = "3.3.0";
+  version = "3.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "aws-sdk-pandas";
     rev = "refs/tags/${version}";
-    hash = "sha256-Sb5yqbEqGmwhPoG21+uMnl8Jdn3Gc455guceQhAflWY=";
+    hash = "sha256-ZHEWG/A3lNwSw3MxguqjvgAOx5IHei43ku7GVJh8tLY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix b/nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix
index 9cbbd8e64b06..f41bc696d56f 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-cosmos/default.nix
@@ -6,12 +6,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.2.0";
+  version = "4.5.1";
   pname = "azure-cosmos";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4f77cc558fecffac04377ba758ac4e23f076dc1c54e2cf2515f85bc15cbde5c6";
+    sha256 = "sha256-xK2oOBMG7sQTwBvFCneOJk3D9Pr6nWlvnfhDYUjSrqg=";
   };
 
   propagatedBuildInputs = [ six requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix b/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
index 56d27d60d26f..07914459837e 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "azure-eventgrid";
-  version = "4.14.0";
+  version = "4.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Nati9XRCNJgt/cmhj2t1l+oijsR6SC1UVZ35VANd0l8=";
+    hash = "sha256-hVPCQgVu5NkEMJBJcfaER8JGtjnIEWquIcBX6vFSiAc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
index 67e7acde59a6..495b448c4c99 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-compute/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-compute";
-  version = "30.2.0";
+  version = "30.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-pd1tAbhn1ot2sAM+x8yKGgEpCtlp7vVyCAcAzMZhyYE=";
+    hash = "sha256-5Sl4Y0D4YqpqIYp61qW+trn7VYM8XKoIUcwzFNBJO2M=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
index 9bf335e85580..9d2857c1c740 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
@@ -1,39 +1,41 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, msrest
-, msrestazure
 , azure-common
 , azure-mgmt-core
+, buildPythonPackage
+, fetchPypi
+, isodate
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cosmosdb";
-  version = "9.2.0";
+  version = "9.3.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-PAaBkR77Ho2YI5I+lmazR/8vxEZWpbvM427yRu1ET0k=";
+    hash = "sha256-02DisUN2/auBDhPgE9aUvEvYwoQUQC4NYGD/PQZOl/Y=";
   };
 
   propagatedBuildInputs = [
-    msrest
-    msrestazure
+    isodate
     azure-common
     azure-mgmt-core
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
+  pythonImportsCheck = [
+    "azure.mgmt.cosmosdb"
+  ];
+
   meta = with lib; {
-    description = "This is the Microsoft Azure Cosmos DB Management Client Library";
+    description = "Module to work with the Microsoft Azure Cosmos DB Management";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-cosmosdb_${version}/sdk/cosmos/azure-mgmt-cosmosdb/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ maxwilson ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix
index 385d55248ecd..fd6fe1b3e65b 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-redhatopenshift";
-  version = "1.3.0";
+  version = "1.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LOJldUyWdVShpN8lD8zGdFeYFiKSmODk3WNOP1fJfcs=";
+    hash = "sha256-BL2a2L2AwJWvs0V+VpSGaS8//AWMy5m6rdAPDJPbrEo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
index a0da387c627a..c5190b6d3368 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-trafficmanager";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-R0F2HoA0bE7dTLPycTaOqYBj+ATQFeJFwv4EjtK1lqg=";
+    hash = "sha256-Nb8ZAr8VidYm41lx5aqgCeiECUZytHm3mM0buNTy/fk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix b/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
index d57082feccd6..aba7d2a29df4 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-servicebus/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "azure-servicebus";
-  version = "7.11.2";
+  version = "7.11.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0iKPBVxP6tP+vnU37QD8vDHeMsfULO02pxt6hg/RIw8=";
+    hash = "sha256-lNZfL9yV56kSxT/qz4iH+w6QWGEmwBU+Ivrg+2UNH8o=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix
index a537e32c2545..e0846bc60514 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage-blob/default.nix
@@ -1,36 +1,29 @@
 { lib
-, azure-common
 , azure-core
-, azure-storage-common
 , buildPythonPackage
 , cryptography
 , fetchPypi
 , isodate
-, msrest
 , pythonOlder
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-storage-blob";
-  version = "12.17.0";
+  version = "12.18.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-wUt4WhcFCzD8MmoxW9rmvEoHiFX0+UpMMDrXSkjcjGM=";
+    hash = "sha256-4Rk1NImB/8AFuEi1XbJcBPLR+Q4e4zAAZZkGt2PPFMg=";
   };
 
   propagatedBuildInputs = [
-    azure-common
     azure-core
-    azure-storage-common
     cryptography
     isodate
-    msrest
     typing-extensions
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix
index 3afaf383f45e..1a4ef7c80cb6 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-file-share";
-  version = "12.14.1";
+  version = "12.14.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-f1vV13c/NEUYWZ0Tgha+CwpHZJ5AZWdbhFPrTmf5hGA=";
+    hash = "sha256-mcMtgN2jX4hO4NSNk/1X9vT/vgCulYR5w7fV9OsCHrw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix
index 0990203d42dd..e6f41525795b 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage-queue/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-queue";
-  version = "12.7.1";
+  version = "12.7.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zBt5z13ZRxB1xMLA3xEWf7mSoil43JLl8q46w0n/avY=";
+    hash = "sha256-sDVzLTLT9mQ3eWYZM4CzDkv99rR2dHhDVExaXyE1VYk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/b2sdk/default.nix b/nixpkgs/pkgs/development/python-modules/b2sdk/default.nix
index c577a7888a94..7bb1551c5770 100644
--- a/nixpkgs/pkgs/development/python-modules/b2sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/b2sdk/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "b2sdk";
-  version = "1.24.0";
+  version = "1.24.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6zSjCt+J6530f1GMc/omP1zXKQKU1SDLLvslMWoqMcU=";
+    hash = "sha256-Tp9RjtybqCSxB1gFZXrjwNJ4mmwl+OWTzVyHd250Jas=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bambi/default.nix b/nixpkgs/pkgs/development/python-modules/bambi/default.nix
index dd76021cab03..01c079225f10 100644
--- a/nixpkgs/pkgs/development/python-modules/bambi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bambi/default.nix
@@ -17,16 +17,16 @@
 
 buildPythonPackage rec {
   pname = "bambi";
-  version = "0.10.0";
-  format = "pyproject";
+  version = "0.12.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "bambinos";
-    repo = pname;
+    repo = "bambi";
     rev = "refs/tags/${version}";
-    hash = "sha256-D04eTAlckEqgKA+59BRljlyneHYoqqZvLYmt/gBLHcU=";
+    hash = "sha256-36D8u813v2vWQdNqBWfM8YVnAJuLGvn5vqdHs94odmU=";
   };
 
   nativeBuildInputs = [
@@ -55,16 +55,18 @@ buildPythonPackage rec {
 
   disabledTests = [
     # Tests require network access
+    "test_alias_equal_to_name"
     "test_custom_prior"
     "test_data_is_copied"
     "test_distributional_model"
+    "test_extra_namespace"
     "test_gamma_with_splines"
-    "test_non_distributional_model_with_categories"
     "test_non_distributional_model"
     "test_normal_with_splines"
     "test_predict_offset"
-    # Assertion issue
-    "test_custom_likelihood_function"
+    "test_predict_new_groups"
+    "test_predict_new_groups_fail"
+    "test_set_alias_warnings"
   ];
 
   pythonImportsCheck = [
@@ -74,6 +76,7 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://bambinos.github.io/bambi";
     description = "High-level Bayesian model-building interface";
+    changelog = "https://github.com/bambinos/bambi/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ bcdarwin ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/barectf/default.nix b/nixpkgs/pkgs/development/python-modules/barectf/default.nix
new file mode 100644
index 000000000000..429e03fbe940
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/barectf/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+, setuptools
+, jsonschema
+, pyyaml
+, jinja2
+, termcolor
+}:
+
+buildPythonPackage rec {
+  pname = "barectf";
+  version = "3.1.2";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "efficios";
+    repo = "barectf";
+    rev = "v${version}";
+    hash = "sha256-JelFfd3WS012dveNlIljhLdyPmgE9VEOXoZE3MBA/Gw=";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  propagatedBuildInputs = [
+    setuptools # needs pkg_resources at runtime
+    jsonschema
+    pyyaml
+    jinja2
+    termcolor
+  ];
+
+  pythonImportsCheck = [ "barectf" ];
+
+  meta = with lib; {
+    description = "Generator of ANSI C tracers which output CTF data streams ";
+    homepage = "https://github.com/efficios/barectf";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Madouura ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/base64io/default.nix b/nixpkgs/pkgs/development/python-modules/base64io/default.nix
index 8e5b121759fc..4fefa1336214 100644
--- a/nixpkgs/pkgs/development/python-modules/base64io/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/base64io/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     homepage = "https://base64io-python.readthedocs.io/";
     changelog = "https://github.com/aws/base64io-python/blob/${version}/CHANGELOG.rst";
     description = "Python stream implementation for base64 encoding/decoding";
-    license = licenses.apsl20;
+    license = licenses.asl20;
     maintainers = with maintainers; [ anthonyroussel ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bash_kernel/default.nix b/nixpkgs/pkgs/development/python-modules/bash_kernel/default.nix
index b7ccfedfbb85..331b9c91707a 100644
--- a/nixpkgs/pkgs/development/python-modules/bash_kernel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bash_kernel/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , fetchpatch
+, flit-core
 , ipykernel
 , isPy27
 , python
@@ -11,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "bash_kernel";
-  version = "0.9.0";
+  version = "0.9.1";
   format = "flit";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-BCPwUS72+DplThQ5o2lxiJmjjyeUj+IbZlst8dvzp8c=";
+    sha256 = "sha256-AYPVPjYP+baEcQUqmiiagWIXMlFrA04njpcgtdFaFis=";
   };
 
   patches = [
@@ -33,6 +34,8 @@ buildPythonPackage rec {
       --replace "\"bash\"" "'${bash}/bin/bash'"
   '';
 
+  nativeBuildInputs = [ flit-core ];
+
   propagatedBuildInputs = [ ipykernel pexpect ];
 
   # no tests
diff --git a/nixpkgs/pkgs/development/python-modules/bbox/default.nix b/nixpkgs/pkgs/development/python-modules/bbox/default.nix
index 88a019dda8e9..4f1d0cef7fd0 100644
--- a/nixpkgs/pkgs/development/python-modules/bbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bbox/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "bbox";
-  version = "0.9.2";
+  version = "0.9.4";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ucR7mg9eubEefjC7ratEgrb9h++a26z8KV38n3N2kcw=";
+    hash = "sha256-GGQhKkdwmrYPEhtldPY3WUInSniU/B40NZvt1gXEuzg=";
   };
 
   propagatedBuildInputs = [ pyquaternion numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/beancount_docverif/default.nix b/nixpkgs/pkgs/development/python-modules/beancount-docverif/default.nix
index 521652f8424d..d614b2f12d4f 100644
--- a/nixpkgs/pkgs/development/python-modules/beancount_docverif/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/beancount-docverif/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k
+{ lib, buildPythonPackage, fetchPypi
 , setuptools-scm
 , beancount
-, pytest, sh
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   version = "1.0.1";
-  pname = "beancount_docverif";
-
-  disabled = !isPy3k;
+  pname = "beancount-docverif";
+  pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "beancount_docverif";
+    inherit version;
     hash = "sha256-CFBv1FZP5JO+1MPnD86ttrO42zZlvE157zqig7s4HOg=";
   };
 
@@ -24,14 +24,9 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    pytest
-    sh
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    pytest
-  '';
-
   meta = with lib; {
     homepage = "https://github.com/siriobalmelli/beancount_docverif";
     description = "Document verification plugin for Beancount";
diff --git a/nixpkgs/pkgs/development/python-modules/beancount/default.nix b/nixpkgs/pkgs/development/python-modules/beancount/default.nix
index bff59de42549..103f88082068 100644
--- a/nixpkgs/pkgs/development/python-modules/beancount/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/beancount/default.nix
@@ -17,14 +17,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.3.5";
+  version = "2.3.6";
   pname = "beancount";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FONWJaLpy9Q8rmF42gjLPxIk9iYeVBymcm3zXZjpw2o=";
+    hash = "sha256-gB+Tvta1fS4iQ2aIxInVob8fduIQ887RhoB1fmDTR1o=";
   };
 
   # Tests require files not included in the PyPI archive.
diff --git a/nixpkgs/pkgs/development/python-modules/beartype/default.nix b/nixpkgs/pkgs/development/python-modules/beartype/default.nix
index 62dbfd059b11..42b3ea063de5 100644
--- a/nixpkgs/pkgs/development/python-modules/beartype/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/beartype/default.nix
@@ -3,22 +3,24 @@
 , fetchPypi
 , pytestCheckHook
 , pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "beartype";
-  version = "0.14.0";
+  version = "0.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VG5ujc3aHW2fkG6k6xUYqgHJxfWkQOSVkXstr1PL1Zg=";
+    hash = "sha256-Kvao2KcmfM99Jx4aO9kIr7wCXSoJqlESNWfX17N0ON8=";
   };
 
   nativeCheckInputs = [
     pytestCheckHook
+    typing-extensions
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/beautiful-date/default.nix b/nixpkgs/pkgs/development/python-modules/beautiful-date/default.nix
index 22f69a728539..05ebf87f2a05 100644
--- a/nixpkgs/pkgs/development/python-modules/beautiful-date/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/beautiful-date/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   version = "2.3.0";
   format = "setuptools";
 
-  disable = pythonOlder "3.7";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "kuzmoyev";
diff --git a/nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix b/nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix
index 4a9063365d68..e803bcf154e1 100644
--- a/nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/beautifulsoup4/default.nix
@@ -9,6 +9,14 @@
 , pythonOlder
 , soupsieve
 , sphinxHook
+
+# for passthru.tests
+, html-sanitizer
+, markdownify
+, mechanicalsoup
+, nbconvert
+, subliminal
+, wagtail
 }:
 
 buildPythonPackage rec {
@@ -52,6 +60,15 @@ buildPythonPackage rec {
     "bs4"
   ];
 
+  passthru.tests = {
+    inherit html-sanitizer
+      markdownify
+      mechanicalsoup
+      nbconvert
+      subliminal
+      wagtail;
+  };
+
   meta = with lib; {
     changelog = "https://git.launchpad.net/beautifulsoup/tree/CHANGELOG?h=${version}";
     description = "HTML and XML parser";
diff --git a/nixpkgs/pkgs/development/python-modules/bellows/default.nix b/nixpkgs/pkgs/development/python-modules/bellows/default.nix
index effdf9d010f8..13cc8d991774 100644
--- a/nixpkgs/pkgs/development/python-modules/bellows/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bellows/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "bellows";
-  version = "0.36.3";
+  version = "0.36.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "bellows";
     rev = "refs/tags/${version}";
-    hash = "sha256-5s2I24gvHRXHm7ZTNZxc6ge9Kbe6UObcY29SvbIUWJg=";
+    hash = "sha256-j7Awqt14/J0BbYcKwIR10UtVeqt9BpQkzT8dqGRVEOU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bespon/default.nix b/nixpkgs/pkgs/development/python-modules/bespon/default.nix
index da6820ef6ecc..a942651dcb73 100644
--- a/nixpkgs/pkgs/development/python-modules/bespon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bespon/default.nix
@@ -1,18 +1,20 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 }:
 
 buildPythonPackage rec {
-  version = "0.6.0";
-  pname = "BespON";
+  version = "0.7.0";
+  pname = "bespon";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2f2bda67fea8ee95c8aa7e885835ab88bdbfa392a94077ce1c9d29017420ce7a";
+    hash = "sha256-dGtXw4uq6pdyXBVfSi9s7kCFUqA1PO7qWEGY0JNAz8Q=";
   };
 
-  propagatedBuildInputs = [ ];
+  nativeBuildInputs = [ setuptools ];
   # upstream doesn't contain tests
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix b/nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix
index 065af5879a47..aef733f93878 100644
--- a/nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bibtexparser/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "bibtexparser";
-  version = "1.4.0";
+  version = "1.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "sciunto-org";
     repo = "python-${pname}";
     rev = "refs/tags/v${version}";
-    hash = "sha256-dP3ETzgVPI4NsxFI6Hv+nUInrjF+I1FwdqmeAetzL38=";
+    hash = "sha256-YMkLSx7L2srLINZa6Ec0rPoxE2SdMv6CnI4BpHgHuzM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
index 57eb2dc26845..40f7ad7cf8ab 100644
--- a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -1,10 +1,10 @@
 { lib
-, aiofile
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
 , pbr
 , httpx
+, pillow
 , pycryptodome
 , pyjwt
 , pytest-asyncio
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "bimmer-connected";
-  version = "0.14.0";
+  version = "0.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bimmerconnected";
     repo = "bimmer_connected";
     rev = "refs/tags/${version}";
-    hash = "sha256-cx22otbBCSFRTfr+wY1+k5kyX6h9mTQfRBfPw3rplzY=";
+    hash = "sha256-Fo30qDBqVxVuD/Ow0jsvN20Hx7Zhvie47CE+1ys1ewU=";
   };
 
   nativeBuildInputs = [
@@ -36,8 +36,8 @@ buildPythonPackage rec {
   PBR_VERSION = version;
 
   propagatedBuildInputs = [
-    aiofile
     httpx
+    pillow
     pycryptodome
     pyjwt
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/bip_utils/default.nix b/nixpkgs/pkgs/development/python-modules/bip-utils/default.nix
index 16786b2e0189..b7337c064277 100644
--- a/nixpkgs/pkgs/development/python-modules/bip_utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bip-utils/default.nix
@@ -10,11 +10,12 @@
 , py-sr25519-bindings
 , cbor2
 , pycryptodome
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "bip-utils";
-  version = "2.7.0";
+  version = "2.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +24,7 @@ buildPythonPackage rec {
     owner = "ebellocchia";
     repo = "bip_utils";
     rev = "refs/tags/v${version}";
-    hash = "sha256-m7/CC5/T6qR2Ot4y5WQlzOAR0czz6XHCjJskES+2nns=";
+    hash = "sha256-QrCkLiGBdZTQCnbWSTN0PeoAsQfg2CoSGdZcbhqTvOk=";
   };
 
   postPatch = ''
@@ -42,6 +43,10 @@ buildPythonPackage rec {
     pycryptodome
   ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
   pythonImportsCheck = [
     "bip_utils"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
index a301f5757d56..55f709c0e3df 100644
--- a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "2.8.1";
+  version = "2.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5ozu81qIYl0WFpVQdo/MjTiUkT42PCTsv2uMB+sCyPM=";
+    hash = "sha256-+QsvRLWyM2TV+63iw0ZS4Vsfz+gTxG+CjgCPaKcJFg8=";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bitcoinlib/default.nix b/nixpkgs/pkgs/development/python-modules/bitcoinlib/default.nix
index 037ea8b5ebfe..3b1ead8d8962 100644
--- a/nixpkgs/pkgs/development/python-modules/bitcoinlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitcoinlib/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "bitcoinlib";
-  version = "0.12.0";
+  version = "0.12.2";
 
   disabled = !isPy3k;
 
@@ -10,12 +10,12 @@ buildPythonPackage rec {
     owner = "petertodd";
     repo = "python-bitcoinlib";
     rev = "refs/tags/python-bitcoinlib-v${version}";
-    hash = "sha256-jguybrH86z6NWLaucQEYjvH2Gkoh3Aqh/PLZ6l8Qel4=";
+    hash = "sha256-jfd2Buy6GSCH0ZeccRREC1NmlS6Mq1qtNv/NLNJOsX0=";
   };
 
   postPatch = ''
     substituteInPlace bitcoin/core/key.py --replace \
-      "ctypes.util.find_library('ssl.35') or ctypes.util.find_library('ssl') or 'libeay32'" \
+      "ctypes.util.find_library('ssl.35') or ctypes.util.find_library('ssl') or ctypes.util.find_library('libeay32')" \
       "'${lib.getLib openssl}/lib/libssl${stdenv.hostPlatform.extensions.sharedLibrary}'"
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/bitstring/default.nix b/nixpkgs/pkgs/development/python-modules/bitstring/default.nix
index a61a159a71ec..55a6094c131b 100644
--- a/nixpkgs/pkgs/development/python-modules/bitstring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitstring/default.nix
@@ -2,13 +2,14 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, bitarray
 , setuptools
 , unittestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "bitstring";
-  version = "4.0.2";
+  version = "4.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -16,14 +17,18 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "scott-griffiths";
     repo = pname;
-    rev = "bitstring-${version}";
-    hash = "sha256-LghfDjf/Z1dEU0gjH1cqMb04ChnW+aGDjmN+RAhMWW8=";
+    rev = "refs/tags/bitstring-${version}";
+    hash = "sha256-e4OnXwEuXz5m8d2PZOL5zDw8iGEzUg8LLk+xs/eGleA=";
   };
 
   nativeBuildInputs = [
     setuptools
   ];
 
+  propagatedBuildInputs = [
+    bitarray
+  ];
+
   nativeCheckInputs = [ unittestCheckHook ];
 
   pythonImportsCheck = [ "bitstring" ];
diff --git a/nixpkgs/pkgs/development/python-modules/blackjax/default.nix b/nixpkgs/pkgs/development/python-modules/blackjax/default.nix
index 62fdc0e94a98..4e47e692657a 100644
--- a/nixpkgs/pkgs/development/python-modules/blackjax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blackjax/default.nix
@@ -2,8 +2,8 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, fetchpatch
 , pytestCheckHook
+, setuptools-scm
 , fastprogress
 , jax
 , jaxlib
@@ -14,24 +14,21 @@
 
 buildPythonPackage rec {
   pname = "blackjax";
-  version = "0.9.6";
-  disabled = pythonOlder "3.7";
+  version = "1.0.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "blackjax-devs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-EieDu9SJxi2cp1bHlxX4vvFZeDGMGIm24GoR8nSyjvE=";
+    hash = "sha256-hqOKSHyZ/BmOu6MJLeecD3H1BbLbZqywmlBzn3xjQRk=";
   };
 
-  patches = [
-    # remove in next release
-    (fetchpatch {
-      name = "fix-lbfgs-args";
-      url = "https://github.com/blackjax-devs/blackjax/commit/1aaa6f64bbcb0557b658604b2daba826e260cbc6.patch";
-      hash = "sha256-XyjorXPH5Ap35Tv1/lTeTWamjplJF29SsvOq59ypftE=";
-    })
-  ];
+  nativeBuildInputs = [ setuptools-scm ];
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   propagatedBuildInputs = [
     fastprogress
@@ -56,6 +53,7 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://blackjax-devs.github.io/blackjax";
     description = "Sampling library designed for ease of use, speed and modularity";
+    changelog = "https://github.com/blackjax-devs/blackjax/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ bcdarwin ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/blinker/default.nix b/nixpkgs/pkgs/development/python-modules/blinker/default.nix
index 88bd08c92554..9864bbae3c61 100644
--- a/nixpkgs/pkgs/development/python-modules/blinker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blinker/default.nix
@@ -2,24 +2,37 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, pytest-asyncio
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "blinker";
-  version = "1.5";
+  version = "1.6.2";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kj5eL2nBVfLMQtr7vXDhbj/eJNLUqiq3L744YjiJJGI=";
+    hash = "sha256-Sv095m7zqfgGdVn7ehy+VVwX3L4VlxsF0bYlw+er4hM=";
   };
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  pythonImportsCheck = [ "blinker" ];
+  pythonImportsCheck = [
+    "blinker"
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
   meta = with lib; {
-    homepage = "https://pythonhosted.org/blinker/";
-    description = "Fast, simple object-to-object and broadcast signaling";
+    changelog = "https://github.com/pallets-eco/blinker/releases/tag/${version}";
+    description = "Fast Python in-process signal/event dispatching system";
+    homepage = "https://github.com/pallets-eco/blinker/";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/blinkpy/default.nix b/nixpkgs/pkgs/development/python-modules/blinkpy/default.nix
index 51e5e3b0f472..619e181e8d56 100644
--- a/nixpkgs/pkgs/development/python-modules/blinkpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blinkpy/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, aiofiles
+, aiohttp
 , pytestCheckHook
 , python-dateutil
 , python-slugify
@@ -12,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "blinkpy";
-  version = "0.21.0";
+  version = "0.22.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,10 +23,12 @@ buildPythonPackage rec {
     owner = "fronzbot";
     repo = "blinkpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0sEZlnS6CJj8nMyjtSFZRALRKdmY0Uu5N6sozPiDG6w=";
+    hash = "sha256-r8kf5L6bvtivqd9dSi8om1wIi8IHmipKFckNMPT515I=";
   };
 
   propagatedBuildInputs = [
+    aiofiles
+    aiohttp
     python-dateutil
     python-slugify
     requests
diff --git a/nixpkgs/pkgs/development/python-modules/blosc2/default.nix b/nixpkgs/pkgs/development/python-modules/blosc2/default.nix
index 80cec5ca1ec3..a4c1db3d7b70 100644
--- a/nixpkgs/pkgs/development/python-modules/blosc2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blosc2/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "blosc2";
-  version = "2.1.1";
+  version = "2.2.7";
   format = "pyproject";
 
   src = fetchFromGitHub {
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     repo = "python-blosc2";
     rev = "refs/tags/v${version}";
     fetchSubmodules = true;
-    hash = "sha256-nbPMLkTye0/Q05ubE35LssN677sUIQErPTxjAtSuGgI=";
+    hash = "sha256-5a94Zm6sYl/nSfkcFbKG7PkyXwLB6bAoIvfaq0yVGHo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/blspy/default.nix b/nixpkgs/pkgs/development/python-modules/blspy/default.nix
index 41d8c13dc56e..929f1c90b7ce 100644
--- a/nixpkgs/pkgs/development/python-modules/blspy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blspy/default.nix
@@ -48,6 +48,13 @@ buildPythonPackage rec {
     })
   ];
 
+  # 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 ];
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 920bb1cecc48..8df2ee06a991 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.11.0";
+  version = "1.13.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-iyfk0OOJezNCNyqRCbR2cTTTdgdYQM6hExTngd/3CtA=";
+    hash = "sha256-qvr4CYOMgyTEFONpe6KA176H56+w6RHThAyUthIzszE=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix b/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix
index 6e461e15b827..ed29be91d81f 100644
--- a/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boost-histogram/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "boost-histogram";
-  version = "1.3.2";
+  version = "1.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "boost_histogram";
     inherit version;
-    hash = "sha256-4XXvvBBUonvFP7vpVHLKyeqTmZyR0GEYQNd2uZWI1Ro=";
+    hash = "sha256-z5gmz8/hAzUJa1emH2xlafZfAVklnusiUcW/MdhZ11M=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
index 3a53322ceb91..b8aeb5c15762 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.67";
+  version = "0.2.72";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tschamm";
     repo = pname;
     rev = version;
-    hash = "sha256-M0LyEKJUcamv0PcflVI97zrXAoe1iV5sJ/oh60bMo6c=";
+    hash = "sha256-Re+OKgarLe4n54nZyBm0EtzMHcGKqDY6r+7rtvRSqsg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix
new file mode 100644
index 000000000000..2efe49547834
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/boto3-stubs/default.nix
@@ -0,0 +1,1823 @@
+{ lib
+, boto3
+, botocore
+, botocore-stubs
+, buildPythonPackage
+, fetchPypi
+, mypy-boto3-accessanalyzer
+, mypy-boto3-account
+, mypy-boto3-acm
+, mypy-boto3-acm-pca
+, mypy-boto3-alexaforbusiness
+, mypy-boto3-amp
+, mypy-boto3-amplify
+, mypy-boto3-amplifybackend
+, mypy-boto3-amplifyuibuilder
+, mypy-boto3-apigateway
+, mypy-boto3-apigatewaymanagementapi
+, mypy-boto3-apigatewayv2
+, mypy-boto3-appconfig
+, mypy-boto3-appconfigdata
+, mypy-boto3-appfabric
+, mypy-boto3-appflow
+, mypy-boto3-appintegrations
+, mypy-boto3-application-autoscaling
+, mypy-boto3-application-insights
+, mypy-boto3-applicationcostprofiler
+, mypy-boto3-appmesh
+, mypy-boto3-apprunner
+, mypy-boto3-appstream
+, mypy-boto3-appsync
+, mypy-boto3-arc-zonal-shift
+, mypy-boto3-athena
+, mypy-boto3-auditmanager
+, mypy-boto3-autoscaling
+, mypy-boto3-autoscaling-plans
+, mypy-boto3-backup
+, mypy-boto3-backup-gateway
+, mypy-boto3-backupstorage
+, mypy-boto3-batch
+, mypy-boto3-billingconductor
+, mypy-boto3-braket
+, mypy-boto3-budgets
+, mypy-boto3-ce
+, mypy-boto3-chime
+, mypy-boto3-chime-sdk-identity
+, mypy-boto3-chime-sdk-media-pipelines
+, mypy-boto3-chime-sdk-meetings
+, mypy-boto3-chime-sdk-messaging
+, mypy-boto3-chime-sdk-voice
+, mypy-boto3-cleanrooms
+, mypy-boto3-cloud9
+, mypy-boto3-cloudcontrol
+, mypy-boto3-clouddirectory
+, mypy-boto3-cloudformation
+, mypy-boto3-cloudfront
+, mypy-boto3-cloudhsm
+, mypy-boto3-cloudhsmv2
+, mypy-boto3-cloudsearch
+, mypy-boto3-cloudsearchdomain
+, mypy-boto3-cloudtrail
+, mypy-boto3-cloudtrail-data
+, mypy-boto3-cloudwatch
+, mypy-boto3-codeartifact
+, mypy-boto3-codebuild
+, mypy-boto3-codecatalyst
+, mypy-boto3-codecommit
+, mypy-boto3-codedeploy
+, mypy-boto3-codeguru-reviewer
+, mypy-boto3-codeguru-security
+, mypy-boto3-codeguruprofiler
+, mypy-boto3-codepipeline
+, mypy-boto3-codestar
+, mypy-boto3-codestar-connections
+, mypy-boto3-codestar-notifications
+, mypy-boto3-cognito-identity
+, mypy-boto3-cognito-idp
+, mypy-boto3-cognito-sync
+, mypy-boto3-comprehend
+, mypy-boto3-comprehendmedical
+, mypy-boto3-compute-optimizer
+, mypy-boto3-config
+, mypy-boto3-connect
+, mypy-boto3-connect-contact-lens
+, mypy-boto3-connectcampaigns
+, mypy-boto3-connectcases
+, mypy-boto3-connectparticipant
+, mypy-boto3-controltower
+, mypy-boto3-cur
+, mypy-boto3-customer-profiles
+, mypy-boto3-databrew
+, mypy-boto3-dataexchange
+, mypy-boto3-datapipeline
+, mypy-boto3-datasync
+, mypy-boto3-dax
+, mypy-boto3-detective
+, mypy-boto3-devicefarm
+, mypy-boto3-devops-guru
+, mypy-boto3-directconnect
+, mypy-boto3-discovery
+, mypy-boto3-dlm
+, mypy-boto3-dms
+, mypy-boto3-docdb
+, mypy-boto3-docdb-elastic
+, mypy-boto3-drs
+, mypy-boto3-ds
+, mypy-boto3-dynamodb
+, mypy-boto3-dynamodbstreams
+, mypy-boto3-ebs
+, mypy-boto3-ec2
+, mypy-boto3-ec2-instance-connect
+, mypy-boto3-ecr
+, mypy-boto3-ecr-public
+, mypy-boto3-ecs
+, mypy-boto3-efs
+, mypy-boto3-eks
+, mypy-boto3-elastic-inference
+, mypy-boto3-elasticache
+, mypy-boto3-elasticbeanstalk
+, mypy-boto3-elastictranscoder
+, mypy-boto3-elb
+, mypy-boto3-elbv2
+, mypy-boto3-emr
+, mypy-boto3-emr-containers
+, mypy-boto3-emr-serverless
+, mypy-boto3-entityresolution
+, mypy-boto3-es
+, mypy-boto3-events
+, mypy-boto3-evidently
+, mypy-boto3-finspace
+, mypy-boto3-finspace-data
+, mypy-boto3-firehose
+, mypy-boto3-fis
+, mypy-boto3-fms
+, mypy-boto3-forecast
+, mypy-boto3-forecastquery
+, mypy-boto3-frauddetector
+, mypy-boto3-fsx
+, mypy-boto3-gamelift
+, mypy-boto3-gamesparks
+, mypy-boto3-glacier
+, mypy-boto3-globalaccelerator
+, mypy-boto3-glue
+, mypy-boto3-grafana
+, mypy-boto3-greengrass
+, mypy-boto3-greengrassv2
+, mypy-boto3-groundstation
+, mypy-boto3-guardduty
+, mypy-boto3-health
+, mypy-boto3-healthlake
+, mypy-boto3-honeycode
+, mypy-boto3-iam
+, mypy-boto3-identitystore
+, mypy-boto3-imagebuilder
+, mypy-boto3-importexport
+, mypy-boto3-inspector
+, mypy-boto3-inspector2
+, mypy-boto3-internetmonitor
+, mypy-boto3-iot
+, mypy-boto3-iot-data
+, mypy-boto3-iot-jobs-data
+, mypy-boto3-iot-roborunner
+, mypy-boto3-iot1click-devices
+, mypy-boto3-iot1click-projects
+, mypy-boto3-iotanalytics
+, mypy-boto3-iotdeviceadvisor
+, mypy-boto3-iotevents
+, mypy-boto3-iotevents-data
+, mypy-boto3-iotfleethub
+, mypy-boto3-iotfleetwise
+, mypy-boto3-iotsecuretunneling
+, mypy-boto3-iotsitewise
+, mypy-boto3-iotthingsgraph
+, mypy-boto3-iottwinmaker
+, mypy-boto3-iotwireless
+, mypy-boto3-ivs
+, mypy-boto3-ivs-realtime
+, mypy-boto3-ivschat
+, mypy-boto3-kafka
+, mypy-boto3-kafkaconnect
+, mypy-boto3-kendra
+, mypy-boto3-kendra-ranking
+, mypy-boto3-keyspaces
+, mypy-boto3-kinesis
+, mypy-boto3-kinesis-video-archived-media
+, mypy-boto3-kinesis-video-media
+, mypy-boto3-kinesis-video-signaling
+, mypy-boto3-kinesis-video-webrtc-storage
+, mypy-boto3-kinesisanalytics
+, mypy-boto3-kinesisanalyticsv2
+, mypy-boto3-kinesisvideo
+, mypy-boto3-kms
+, mypy-boto3-lakeformation
+, mypy-boto3-lambda
+, mypy-boto3-lex-models
+, mypy-boto3-lex-runtime
+, mypy-boto3-lexv2-models
+, mypy-boto3-lexv2-runtime
+, mypy-boto3-license-manager
+, mypy-boto3-license-manager-linux-subscriptions
+, mypy-boto3-license-manager-user-subscriptions
+, mypy-boto3-lightsail
+, mypy-boto3-location
+, mypy-boto3-logs
+, mypy-boto3-lookoutequipment
+, mypy-boto3-lookoutmetrics
+, mypy-boto3-lookoutvision
+, mypy-boto3-m2
+, mypy-boto3-machinelearning
+, mypy-boto3-macie
+, mypy-boto3-macie2
+, mypy-boto3-managedblockchain
+, mypy-boto3-managedblockchain-query
+, mypy-boto3-marketplace-catalog
+, mypy-boto3-marketplace-entitlement
+, mypy-boto3-marketplacecommerceanalytics
+, mypy-boto3-mediaconnect
+, mypy-boto3-mediaconvert
+, mypy-boto3-medialive
+, mypy-boto3-mediapackage
+, mypy-boto3-mediapackage-vod
+, mypy-boto3-mediapackagev2
+, mypy-boto3-mediastore
+, mypy-boto3-mediastore-data
+, mypy-boto3-mediatailor
+, mypy-boto3-medical-imaging
+, mypy-boto3-memorydb
+, mypy-boto3-meteringmarketplace
+, mypy-boto3-mgh
+, mypy-boto3-mgn
+, mypy-boto3-migration-hub-refactor-spaces
+, mypy-boto3-migrationhub-config
+, mypy-boto3-migrationhuborchestrator
+, mypy-boto3-migrationhubstrategy
+, mypy-boto3-mobile
+, mypy-boto3-mq
+, mypy-boto3-mturk
+, mypy-boto3-mwaa
+, mypy-boto3-neptune
+, mypy-boto3-network-firewall
+, mypy-boto3-networkmanager
+, mypy-boto3-nimble
+, mypy-boto3-oam
+, mypy-boto3-omics
+, mypy-boto3-opensearch
+, mypy-boto3-opensearchserverless
+, mypy-boto3-opsworks
+, mypy-boto3-opsworkscm
+, mypy-boto3-organizations
+, mypy-boto3-osis
+, mypy-boto3-outposts
+, mypy-boto3-panorama
+, mypy-boto3-payment-cryptography
+, mypy-boto3-payment-cryptography-data
+, mypy-boto3-personalize
+, mypy-boto3-personalize-events
+, mypy-boto3-personalize-runtime
+, mypy-boto3-pi
+, mypy-boto3-pinpoint
+, mypy-boto3-pinpoint-email
+, mypy-boto3-pinpoint-sms-voice
+, mypy-boto3-pinpoint-sms-voice-v2
+, mypy-boto3-pipes
+, mypy-boto3-polly
+, mypy-boto3-pricing
+, mypy-boto3-privatenetworks
+, mypy-boto3-proton
+, mypy-boto3-qldb
+, mypy-boto3-qldb-session
+, mypy-boto3-quicksight
+, mypy-boto3-ram
+, mypy-boto3-rbin
+, mypy-boto3-rds
+, mypy-boto3-rds-data
+, mypy-boto3-redshift
+, mypy-boto3-redshift-data
+, mypy-boto3-redshift-serverless
+, mypy-boto3-rekognition
+, mypy-boto3-resiliencehub
+, mypy-boto3-resource-explorer-2
+, mypy-boto3-resource-groups
+, mypy-boto3-resourcegroupstaggingapi
+, mypy-boto3-robomaker
+, mypy-boto3-rolesanywhere
+, mypy-boto3-route53
+, mypy-boto3-route53-recovery-cluster
+, mypy-boto3-route53-recovery-control-config
+, mypy-boto3-route53-recovery-readiness
+, mypy-boto3-route53domains
+, mypy-boto3-route53resolver
+, mypy-boto3-rum
+, mypy-boto3-s3
+, mypy-boto3-s3control
+, mypy-boto3-s3outposts
+, mypy-boto3-sagemaker
+, mypy-boto3-sagemaker-a2i-runtime
+, mypy-boto3-sagemaker-edge
+, mypy-boto3-sagemaker-featurestore-runtime
+, mypy-boto3-sagemaker-geospatial
+, mypy-boto3-sagemaker-metrics
+, mypy-boto3-sagemaker-runtime
+, mypy-boto3-savingsplans
+, mypy-boto3-scheduler
+, mypy-boto3-schemas
+, mypy-boto3-sdb
+, mypy-boto3-secretsmanager
+, mypy-boto3-securityhub
+, mypy-boto3-securitylake
+, mypy-boto3-serverlessrepo
+, mypy-boto3-service-quotas
+, mypy-boto3-servicecatalog
+, mypy-boto3-servicecatalog-appregistry
+, mypy-boto3-servicediscovery
+, mypy-boto3-ses
+, mypy-boto3-sesv2
+, mypy-boto3-shield
+, mypy-boto3-signer
+, mypy-boto3-simspaceweaver
+, mypy-boto3-sms
+, mypy-boto3-sms-voice
+, mypy-boto3-snow-device-management
+, mypy-boto3-snowball
+, mypy-boto3-sns
+, mypy-boto3-sqs
+, mypy-boto3-ssm
+, mypy-boto3-ssm-contacts
+, mypy-boto3-ssm-incidents
+, mypy-boto3-ssm-sap
+, mypy-boto3-sso
+, mypy-boto3-sso-admin
+, mypy-boto3-sso-oidc
+, mypy-boto3-stepfunctions
+, mypy-boto3-storagegateway
+, mypy-boto3-sts
+, mypy-boto3-support
+, mypy-boto3-support-app
+, mypy-boto3-swf
+, mypy-boto3-synthetics
+, mypy-boto3-textract
+, mypy-boto3-timestream-query
+, mypy-boto3-timestream-write
+, mypy-boto3-tnb
+, mypy-boto3-transcribe
+, mypy-boto3-transfer
+, mypy-boto3-translate
+, mypy-boto3-verifiedpermissions
+, mypy-boto3-voice-id
+, mypy-boto3-vpc-lattice
+, mypy-boto3-waf
+, mypy-boto3-waf-regional
+, mypy-boto3-wafv2
+, mypy-boto3-wellarchitected
+, mypy-boto3-wisdom
+, mypy-boto3-workdocs
+, mypy-boto3-worklink
+, mypy-boto3-workmail
+, mypy-boto3-workmailmessageflow
+, mypy-boto3-workspaces
+, mypy-boto3-workspaces-web
+, mypy-boto3-xray
+, types-s3transfer
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "boto3-stubs";
+  version = "1.28.64";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-zky/LBr6GhTFw8xWp094wMGISAzalgom+Zi5P/FjzgY=";
+  };
+
+  propagatedBuildInputs = [
+    botocore-stubs
+    types-s3transfer
+    typing-extensions
+  ];
+
+  passthru.optional-dependencies = {
+    accessanalyzer = [
+      mypy-boto3-accessanalyzer
+    ];
+    account = [
+      mypy-boto3-account
+    ];
+    acm = [
+      mypy-boto3-acm
+    ];
+    acm-pca = [
+      mypy-boto3-acm-pca
+    ];
+    alexaforbusiness = [
+      mypy-boto3-alexaforbusiness
+    ];
+    all = [
+      mypy-boto3-accessanalyzer
+      mypy-boto3-account
+      mypy-boto3-acm
+      mypy-boto3-acm-pca
+      mypy-boto3-alexaforbusiness
+      mypy-boto3-amp
+      mypy-boto3-amplify
+      mypy-boto3-amplifybackend
+      mypy-boto3-amplifyuibuilder
+      mypy-boto3-apigateway
+      mypy-boto3-apigatewaymanagementapi
+      mypy-boto3-apigatewayv2
+      mypy-boto3-appconfig
+      mypy-boto3-appconfigdata
+      mypy-boto3-appfabric
+      mypy-boto3-appflow
+      mypy-boto3-appintegrations
+      mypy-boto3-application-autoscaling
+      mypy-boto3-application-insights
+      mypy-boto3-applicationcostprofiler
+      mypy-boto3-appmesh
+      mypy-boto3-apprunner
+      mypy-boto3-appstream
+      mypy-boto3-appsync
+      mypy-boto3-arc-zonal-shift
+      mypy-boto3-athena
+      mypy-boto3-auditmanager
+      mypy-boto3-autoscaling
+      mypy-boto3-autoscaling-plans
+      mypy-boto3-backup
+      mypy-boto3-backup-gateway
+      mypy-boto3-backupstorage
+      mypy-boto3-batch
+      mypy-boto3-billingconductor
+      mypy-boto3-braket
+      mypy-boto3-budgets
+      mypy-boto3-ce
+      mypy-boto3-chime
+      mypy-boto3-chime-sdk-identity
+      mypy-boto3-chime-sdk-media-pipelines
+      mypy-boto3-chime-sdk-meetings
+      mypy-boto3-chime-sdk-messaging
+      mypy-boto3-chime-sdk-voice
+      mypy-boto3-cleanrooms
+      mypy-boto3-cloud9
+      mypy-boto3-cloudcontrol
+      mypy-boto3-clouddirectory
+      mypy-boto3-cloudformation
+      mypy-boto3-cloudfront
+      mypy-boto3-cloudhsm
+      mypy-boto3-cloudhsmv2
+      mypy-boto3-cloudsearch
+      mypy-boto3-cloudsearchdomain
+      mypy-boto3-cloudtrail
+      mypy-boto3-cloudtrail-data
+      mypy-boto3-cloudwatch
+      mypy-boto3-codeartifact
+      mypy-boto3-codebuild
+      mypy-boto3-codecatalyst
+      mypy-boto3-codecommit
+      mypy-boto3-codedeploy
+      mypy-boto3-codeguru-reviewer
+      mypy-boto3-codeguru-security
+      mypy-boto3-codeguruprofiler
+      mypy-boto3-codepipeline
+      mypy-boto3-codestar
+      mypy-boto3-codestar-connections
+      mypy-boto3-codestar-notifications
+      mypy-boto3-cognito-identity
+      mypy-boto3-cognito-idp
+      mypy-boto3-cognito-sync
+      mypy-boto3-comprehend
+      mypy-boto3-comprehendmedical
+      mypy-boto3-compute-optimizer
+      mypy-boto3-config
+      mypy-boto3-connect
+      mypy-boto3-connect-contact-lens
+      mypy-boto3-connectcampaigns
+      mypy-boto3-connectcases
+      mypy-boto3-connectparticipant
+      mypy-boto3-controltower
+      mypy-boto3-cur
+      mypy-boto3-customer-profiles
+      mypy-boto3-databrew
+      mypy-boto3-dataexchange
+      mypy-boto3-datapipeline
+      mypy-boto3-datasync
+      mypy-boto3-dax
+      mypy-boto3-detective
+      mypy-boto3-devicefarm
+      mypy-boto3-devops-guru
+      mypy-boto3-directconnect
+      mypy-boto3-discovery
+      mypy-boto3-dlm
+      mypy-boto3-dms
+      mypy-boto3-docdb
+      mypy-boto3-docdb-elastic
+      mypy-boto3-drs
+      mypy-boto3-ds
+      mypy-boto3-dynamodb
+      mypy-boto3-dynamodbstreams
+      mypy-boto3-ebs
+      mypy-boto3-ec2
+      mypy-boto3-ec2-instance-connect
+      mypy-boto3-ecr
+      mypy-boto3-ecr-public
+      mypy-boto3-ecs
+      mypy-boto3-efs
+      mypy-boto3-eks
+      mypy-boto3-elastic-inference
+      mypy-boto3-elasticache
+      mypy-boto3-elasticbeanstalk
+      mypy-boto3-elastictranscoder
+      mypy-boto3-elb
+      mypy-boto3-elbv2
+      mypy-boto3-emr
+      mypy-boto3-emr-containers
+      mypy-boto3-emr-serverless
+      mypy-boto3-entityresolution
+      mypy-boto3-es
+      mypy-boto3-events
+      mypy-boto3-evidently
+      mypy-boto3-finspace
+      mypy-boto3-finspace-data
+      mypy-boto3-firehose
+      mypy-boto3-fis
+      mypy-boto3-fms
+      mypy-boto3-forecast
+      mypy-boto3-forecastquery
+      mypy-boto3-frauddetector
+      mypy-boto3-fsx
+      mypy-boto3-gamelift
+      mypy-boto3-gamesparks
+      mypy-boto3-glacier
+      mypy-boto3-globalaccelerator
+      mypy-boto3-glue
+      mypy-boto3-grafana
+      mypy-boto3-greengrass
+      mypy-boto3-greengrassv2
+      mypy-boto3-groundstation
+      mypy-boto3-guardduty
+      mypy-boto3-health
+      mypy-boto3-healthlake
+      mypy-boto3-honeycode
+      mypy-boto3-iam
+      mypy-boto3-identitystore
+      mypy-boto3-imagebuilder
+      mypy-boto3-importexport
+      mypy-boto3-inspector
+      mypy-boto3-inspector2
+      mypy-boto3-internetmonitor
+      mypy-boto3-iot
+      mypy-boto3-iot-data
+      mypy-boto3-iot-jobs-data
+      mypy-boto3-iot-roborunner
+      mypy-boto3-iot1click-devices
+      mypy-boto3-iot1click-projects
+      mypy-boto3-iotanalytics
+      mypy-boto3-iotdeviceadvisor
+      mypy-boto3-iotevents
+      mypy-boto3-iotevents-data
+      mypy-boto3-iotfleethub
+      mypy-boto3-iotfleetwise
+      mypy-boto3-iotsecuretunneling
+      mypy-boto3-iotsitewise
+      mypy-boto3-iotthingsgraph
+      mypy-boto3-iottwinmaker
+      mypy-boto3-iotwireless
+      mypy-boto3-ivs
+      mypy-boto3-ivs-realtime
+      mypy-boto3-ivschat
+      mypy-boto3-kafka
+      mypy-boto3-kafkaconnect
+      mypy-boto3-kendra
+      mypy-boto3-kendra-ranking
+      mypy-boto3-keyspaces
+      mypy-boto3-kinesis
+      mypy-boto3-kinesis-video-archived-media
+      mypy-boto3-kinesis-video-media
+      mypy-boto3-kinesis-video-signaling
+      mypy-boto3-kinesis-video-webrtc-storage
+      mypy-boto3-kinesisanalytics
+      mypy-boto3-kinesisanalyticsv2
+      mypy-boto3-kinesisvideo
+      mypy-boto3-kms
+      mypy-boto3-lakeformation
+      mypy-boto3-lambda
+      mypy-boto3-lex-models
+      mypy-boto3-lex-runtime
+      mypy-boto3-lexv2-models
+      mypy-boto3-lexv2-runtime
+      mypy-boto3-license-manager
+      mypy-boto3-license-manager-linux-subscriptions
+      mypy-boto3-license-manager-user-subscriptions
+      mypy-boto3-lightsail
+      mypy-boto3-location
+      mypy-boto3-logs
+      mypy-boto3-lookoutequipment
+      mypy-boto3-lookoutmetrics
+      mypy-boto3-lookoutvision
+      mypy-boto3-m2
+      mypy-boto3-machinelearning
+      mypy-boto3-macie
+      mypy-boto3-macie2
+      mypy-boto3-managedblockchain
+      mypy-boto3-managedblockchain-query
+      mypy-boto3-marketplace-catalog
+      mypy-boto3-marketplace-entitlement
+      mypy-boto3-marketplacecommerceanalytics
+      mypy-boto3-mediaconnect
+      mypy-boto3-mediaconvert
+      mypy-boto3-medialive
+      mypy-boto3-mediapackage
+      mypy-boto3-mediapackage-vod
+      mypy-boto3-mediapackagev2
+      mypy-boto3-mediastore
+      mypy-boto3-mediastore-data
+      mypy-boto3-mediatailor
+      mypy-boto3-medical-imaging
+      mypy-boto3-memorydb
+      mypy-boto3-meteringmarketplace
+      mypy-boto3-mgh
+      mypy-boto3-mgn
+      mypy-boto3-migration-hub-refactor-spaces
+      mypy-boto3-migrationhub-config
+      mypy-boto3-migrationhuborchestrator
+      mypy-boto3-migrationhubstrategy
+      mypy-boto3-mobile
+      mypy-boto3-mq
+      mypy-boto3-mturk
+      mypy-boto3-mwaa
+      mypy-boto3-neptune
+      mypy-boto3-network-firewall
+      mypy-boto3-networkmanager
+      mypy-boto3-nimble
+      mypy-boto3-oam
+      mypy-boto3-omics
+      mypy-boto3-opensearch
+      mypy-boto3-opensearchserverless
+      mypy-boto3-opsworks
+      mypy-boto3-opsworkscm
+      mypy-boto3-organizations
+      mypy-boto3-osis
+      mypy-boto3-outposts
+      mypy-boto3-panorama
+      mypy-boto3-payment-cryptography
+      mypy-boto3-payment-cryptography-data
+      mypy-boto3-personalize
+      mypy-boto3-personalize-events
+      mypy-boto3-personalize-runtime
+      mypy-boto3-pi
+      mypy-boto3-pinpoint
+      mypy-boto3-pinpoint-email
+      mypy-boto3-pinpoint-sms-voice
+      mypy-boto3-pinpoint-sms-voice-v2
+      mypy-boto3-pipes
+      mypy-boto3-polly
+      mypy-boto3-pricing
+      mypy-boto3-privatenetworks
+      mypy-boto3-proton
+      mypy-boto3-qldb
+      mypy-boto3-qldb-session
+      mypy-boto3-quicksight
+      mypy-boto3-ram
+      mypy-boto3-rbin
+      mypy-boto3-rds
+      mypy-boto3-rds-data
+      mypy-boto3-redshift
+      mypy-boto3-redshift-data
+      mypy-boto3-redshift-serverless
+      mypy-boto3-rekognition
+      mypy-boto3-resiliencehub
+      mypy-boto3-resource-explorer-2
+      mypy-boto3-resource-groups
+      mypy-boto3-resourcegroupstaggingapi
+      mypy-boto3-robomaker
+      mypy-boto3-rolesanywhere
+      mypy-boto3-route53
+      mypy-boto3-route53-recovery-cluster
+      mypy-boto3-route53-recovery-control-config
+      mypy-boto3-route53-recovery-readiness
+      mypy-boto3-route53domains
+      mypy-boto3-route53resolver
+      mypy-boto3-rum
+      mypy-boto3-s3
+      mypy-boto3-s3control
+      mypy-boto3-s3outposts
+      mypy-boto3-sagemaker
+      mypy-boto3-sagemaker-a2i-runtime
+      mypy-boto3-sagemaker-edge
+      mypy-boto3-sagemaker-featurestore-runtime
+      mypy-boto3-sagemaker-geospatial
+      mypy-boto3-sagemaker-metrics
+      mypy-boto3-sagemaker-runtime
+      mypy-boto3-savingsplans
+      mypy-boto3-scheduler
+      mypy-boto3-schemas
+      mypy-boto3-sdb
+      mypy-boto3-secretsmanager
+      mypy-boto3-securityhub
+      mypy-boto3-securitylake
+      mypy-boto3-serverlessrepo
+      mypy-boto3-service-quotas
+      mypy-boto3-servicecatalog
+      mypy-boto3-servicecatalog-appregistry
+      mypy-boto3-servicediscovery
+      mypy-boto3-ses
+      mypy-boto3-sesv2
+      mypy-boto3-shield
+      mypy-boto3-signer
+      mypy-boto3-simspaceweaver
+      mypy-boto3-sms
+      mypy-boto3-sms-voice
+      mypy-boto3-snow-device-management
+      mypy-boto3-snowball
+      mypy-boto3-sns
+      mypy-boto3-sqs
+      mypy-boto3-ssm
+      mypy-boto3-ssm-contacts
+      mypy-boto3-ssm-incidents
+      mypy-boto3-ssm-sap
+      mypy-boto3-sso
+      mypy-boto3-sso-admin
+      mypy-boto3-sso-oidc
+      mypy-boto3-stepfunctions
+      mypy-boto3-storagegateway
+      mypy-boto3-sts
+      mypy-boto3-support
+      mypy-boto3-support-app
+      mypy-boto3-swf
+      mypy-boto3-synthetics
+      mypy-boto3-textract
+      mypy-boto3-timestream-query
+      mypy-boto3-timestream-write
+      mypy-boto3-tnb
+      mypy-boto3-transcribe
+      mypy-boto3-transfer
+      mypy-boto3-translate
+      mypy-boto3-verifiedpermissions
+      mypy-boto3-voice-id
+      mypy-boto3-vpc-lattice
+      mypy-boto3-waf
+      mypy-boto3-waf-regional
+      mypy-boto3-wafv2
+      mypy-boto3-wellarchitected
+      mypy-boto3-wisdom
+      mypy-boto3-workdocs
+      mypy-boto3-worklink
+      mypy-boto3-workmail
+      mypy-boto3-workmailmessageflow
+      mypy-boto3-workspaces
+      mypy-boto3-workspaces-web
+      mypy-boto3-xray
+    ];
+    amp = [
+      mypy-boto3-amp
+    ];
+    amplify = [
+      mypy-boto3-amplify
+    ];
+    amplifybackend = [
+      mypy-boto3-amplifybackend
+    ];
+    amplifyuibuilder = [
+      mypy-boto3-amplifyuibuilder
+    ];
+    apigateway = [
+      mypy-boto3-apigateway
+    ];
+    apigatewaymanagementapi = [
+      mypy-boto3-apigatewaymanagementapi
+    ];
+    apigatewayv2 = [
+      mypy-boto3-apigatewayv2
+    ];
+    appconfig = [
+      mypy-boto3-appconfig
+    ];
+    appconfigdata = [
+      mypy-boto3-appconfigdata
+    ];
+    appfabric = [
+      mypy-boto3-appfabric
+    ];
+    appflow = [
+      mypy-boto3-appflow
+    ];
+    appintegrations = [
+      mypy-boto3-appintegrations
+    ];
+    application-autoscaling = [
+      mypy-boto3-application-autoscaling
+    ];
+    application-insights = [
+      mypy-boto3-application-insights
+    ];
+    applicationcostprofiler = [
+      mypy-boto3-applicationcostprofiler
+    ];
+    appmesh = [
+      mypy-boto3-appmesh
+    ];
+    apprunner = [
+      mypy-boto3-apprunner
+    ];
+    appstream = [
+      mypy-boto3-appstream
+    ];
+    appsync = [
+      mypy-boto3-appsync
+    ];
+    arc-zonal-shift = [
+      mypy-boto3-arc-zonal-shift
+    ];
+    athena = [
+      mypy-boto3-athena
+    ];
+    auditmanager = [
+      mypy-boto3-auditmanager
+    ];
+    autoscaling = [
+      mypy-boto3-autoscaling
+    ];
+    autoscaling-plans = [
+      mypy-boto3-autoscaling-plans
+    ];
+    backup = [
+      mypy-boto3-backup
+    ];
+    backup-gateway = [
+      mypy-boto3-backup-gateway
+    ];
+    backupstorage = [
+      mypy-boto3-backupstorage
+    ];
+    batch = [
+      mypy-boto3-batch
+    ];
+    billingconductor = [
+      mypy-boto3-billingconductor
+    ];
+    boto3 = [
+      boto3
+      botocore
+    ];
+    braket = [
+      mypy-boto3-braket
+    ];
+    budgets = [
+      mypy-boto3-budgets
+    ];
+    ce = [
+      mypy-boto3-ce
+    ];
+    chime = [
+      mypy-boto3-chime
+    ];
+    chime-sdk-identity = [
+      mypy-boto3-chime-sdk-identity
+    ];
+    chime-sdk-media-pipelines = [
+      mypy-boto3-chime-sdk-media-pipelines
+    ];
+    chime-sdk-meetings = [
+      mypy-boto3-chime-sdk-meetings
+    ];
+    chime-sdk-messaging = [
+      mypy-boto3-chime-sdk-messaging
+    ];
+    chime-sdk-voice = [
+      mypy-boto3-chime-sdk-voice
+    ];
+    cleanrooms = [
+      mypy-boto3-cleanrooms
+    ];
+    cloud9 = [
+      mypy-boto3-cloud9
+    ];
+    cloudcontrol = [
+      mypy-boto3-cloudcontrol
+    ];
+    clouddirectory = [
+      mypy-boto3-clouddirectory
+    ];
+    cloudformation = [
+      mypy-boto3-cloudformation
+    ];
+    cloudfront = [
+      mypy-boto3-cloudfront
+    ];
+    cloudhsm = [
+      mypy-boto3-cloudhsm
+    ];
+    cloudhsmv2 = [
+      mypy-boto3-cloudhsmv2
+    ];
+    cloudsearch = [
+      mypy-boto3-cloudsearch
+    ];
+    cloudsearchdomain = [
+      mypy-boto3-cloudsearchdomain
+    ];
+    cloudtrail = [
+      mypy-boto3-cloudtrail
+    ];
+    cloudtrail-data = [
+      mypy-boto3-cloudtrail-data
+    ];
+    cloudwatch = [
+      mypy-boto3-cloudwatch
+    ];
+    codeartifact = [
+      mypy-boto3-codeartifact
+    ];
+    codebuild = [
+      mypy-boto3-codebuild
+    ];
+    codecatalyst = [
+      mypy-boto3-codecatalyst
+    ];
+    codecommit = [
+      mypy-boto3-codecommit
+    ];
+    codedeploy = [
+      mypy-boto3-codedeploy
+    ];
+    codeguru-reviewer = [
+      mypy-boto3-codeguru-reviewer
+    ];
+    codeguru-security = [
+      mypy-boto3-codeguru-security
+    ];
+    codeguruprofiler = [
+      mypy-boto3-codeguruprofiler
+    ];
+    codepipeline = [
+      mypy-boto3-codepipeline
+    ];
+    codestar = [
+      mypy-boto3-codestar
+    ];
+    codestar-connections = [
+      mypy-boto3-codestar-connections
+    ];
+    codestar-notifications = [
+      mypy-boto3-codestar-notifications
+    ];
+    cognito-identity = [
+      mypy-boto3-cognito-identity
+    ];
+    cognito-idp = [
+      mypy-boto3-cognito-idp
+    ];
+    cognito-sync = [
+      mypy-boto3-cognito-sync
+    ];
+    comprehend = [
+      mypy-boto3-comprehend
+    ];
+    comprehendmedical = [
+      mypy-boto3-comprehendmedical
+    ];
+    compute-optimizer = [
+      mypy-boto3-compute-optimizer
+    ];
+    config = [
+      mypy-boto3-config
+    ];
+    connect = [
+      mypy-boto3-connect
+    ];
+    connect-contact-lens = [
+      mypy-boto3-connect-contact-lens
+    ];
+    connectcampaigns = [
+      mypy-boto3-connectcampaigns
+    ];
+    connectcases = [
+      mypy-boto3-connectcases
+    ];
+    connectparticipant = [
+      mypy-boto3-connectparticipant
+    ];
+    controltower = [
+      mypy-boto3-controltower
+    ];
+    cur = [
+      mypy-boto3-cur
+    ];
+    customer-profiles = [
+      mypy-boto3-customer-profiles
+    ];
+    databrew = [
+      mypy-boto3-databrew
+    ];
+    dataexchange = [
+      mypy-boto3-dataexchange
+    ];
+    datapipeline = [
+      mypy-boto3-datapipeline
+    ];
+    datasync = [
+      mypy-boto3-datasync
+    ];
+    dax = [
+      mypy-boto3-dax
+    ];
+    detective = [
+      mypy-boto3-detective
+    ];
+    devicefarm = [
+      mypy-boto3-devicefarm
+    ];
+    devops-guru = [
+      mypy-boto3-devops-guru
+    ];
+    directconnect = [
+      mypy-boto3-directconnect
+    ];
+    discovery = [
+      mypy-boto3-discovery
+    ];
+    dlm = [
+      mypy-boto3-dlm
+    ];
+    dms = [
+      mypy-boto3-dms
+    ];
+    docdb = [
+      mypy-boto3-docdb
+    ];
+    docdb-elastic = [
+      mypy-boto3-docdb-elastic
+    ];
+    drs = [
+      mypy-boto3-drs
+    ];
+    ds = [
+      mypy-boto3-ds
+    ];
+    dynamodb = [
+      mypy-boto3-dynamodb
+    ];
+    dynamodbstreams = [
+      mypy-boto3-dynamodbstreams
+    ];
+    ebs = [
+      mypy-boto3-ebs
+    ];
+    ec2 = [
+      mypy-boto3-ec2
+    ];
+    ec2-instance-connect = [
+      mypy-boto3-ec2-instance-connect
+    ];
+    ecr = [
+      mypy-boto3-ecr
+    ];
+    ecr-public = [
+      mypy-boto3-ecr-public
+    ];
+    ecs = [
+      mypy-boto3-ecs
+    ];
+    efs = [
+      mypy-boto3-efs
+    ];
+    eks = [
+      mypy-boto3-eks
+    ];
+    elastic-inference = [
+      mypy-boto3-elastic-inference
+    ];
+    elasticache = [
+      mypy-boto3-elasticache
+    ];
+    elasticbeanstalk = [
+      mypy-boto3-elasticbeanstalk
+    ];
+    elastictranscoder = [
+      mypy-boto3-elastictranscoder
+    ];
+    elb = [
+      mypy-boto3-elb
+    ];
+    elbv2 = [
+      mypy-boto3-elbv2
+    ];
+    emr = [
+      mypy-boto3-emr
+    ];
+    emr-containers = [
+      mypy-boto3-emr-containers
+    ];
+    emr-serverless = [
+      mypy-boto3-emr-serverless
+    ];
+    entityresolution = [
+      mypy-boto3-entityresolution
+    ];
+    es = [
+      mypy-boto3-es
+    ];
+    essential = [
+      mypy-boto3-cloudformation
+      mypy-boto3-dynamodb
+      mypy-boto3-ec2
+      mypy-boto3-lambda
+      mypy-boto3-rds
+      mypy-boto3-s3
+      mypy-boto3-sqs
+    ];
+    events = [
+      mypy-boto3-events
+    ];
+    evidently = [
+      mypy-boto3-evidently
+    ];
+    finspace = [
+      mypy-boto3-finspace
+    ];
+    finspace-data = [
+      mypy-boto3-finspace-data
+    ];
+    firehose = [
+      mypy-boto3-firehose
+    ];
+    fis = [
+      mypy-boto3-fis
+    ];
+    fms = [
+      mypy-boto3-fms
+    ];
+    forecast = [
+      mypy-boto3-forecast
+    ];
+    forecastquery = [
+      mypy-boto3-forecastquery
+    ];
+    frauddetector = [
+      mypy-boto3-frauddetector
+    ];
+    fsx = [
+      mypy-boto3-fsx
+    ];
+    gamelift = [
+      mypy-boto3-gamelift
+    ];
+    gamesparks = [
+      mypy-boto3-gamesparks
+    ];
+    glacier = [
+      mypy-boto3-glacier
+    ];
+    globalaccelerator = [
+      mypy-boto3-globalaccelerator
+    ];
+    glue = [
+      mypy-boto3-glue
+    ];
+    grafana = [
+      mypy-boto3-grafana
+    ];
+    greengrass = [
+      mypy-boto3-greengrass
+    ];
+    greengrassv2 = [
+      mypy-boto3-greengrassv2
+    ];
+    groundstation = [
+      mypy-boto3-groundstation
+    ];
+    guardduty = [
+      mypy-boto3-guardduty
+    ];
+    health = [
+      mypy-boto3-health
+    ];
+    healthlake = [
+      mypy-boto3-healthlake
+    ];
+    honeycode = [
+      mypy-boto3-honeycode
+    ];
+    iam = [
+      mypy-boto3-iam
+    ];
+    identitystore = [
+      mypy-boto3-identitystore
+    ];
+    imagebuilder = [
+      mypy-boto3-imagebuilder
+    ];
+    importexport = [
+      mypy-boto3-importexport
+    ];
+    inspector = [
+      mypy-boto3-inspector
+    ];
+    inspector2 = [
+      mypy-boto3-inspector2
+    ];
+    internetmonitor = [
+      mypy-boto3-internetmonitor
+    ];
+    iot = [
+      mypy-boto3-iot
+    ];
+    iot-data = [
+      mypy-boto3-iot-data
+    ];
+    iot-jobs-data = [
+      mypy-boto3-iot-jobs-data
+    ];
+    iot-roborunner = [
+      mypy-boto3-iot-roborunner
+    ];
+    iot1click-devices = [
+      mypy-boto3-iot1click-devices
+    ];
+    iot1click-projects = [
+      mypy-boto3-iot1click-projects
+    ];
+    iotanalytics = [
+      mypy-boto3-iotanalytics
+    ];
+    iotdeviceadvisor = [
+      mypy-boto3-iotdeviceadvisor
+    ];
+    iotevents = [
+      mypy-boto3-iotevents
+    ];
+    iotevents-data = [
+      mypy-boto3-iotevents-data
+    ];
+    iotfleethub = [
+      mypy-boto3-iotfleethub
+    ];
+    iotfleetwise = [
+      mypy-boto3-iotfleetwise
+    ];
+    iotsecuretunneling = [
+      mypy-boto3-iotsecuretunneling
+    ];
+    iotsitewise = [
+      mypy-boto3-iotsitewise
+    ];
+    iotthingsgraph = [
+      mypy-boto3-iotthingsgraph
+    ];
+    iottwinmaker = [
+      mypy-boto3-iottwinmaker
+    ];
+    iotwireless = [
+      mypy-boto3-iotwireless
+    ];
+    ivs = [
+      mypy-boto3-ivs
+    ];
+    ivs-realtime = [
+      mypy-boto3-ivs-realtime
+    ];
+    ivschat = [
+      mypy-boto3-ivschat
+    ];
+    kafka = [
+      mypy-boto3-kafka
+    ];
+    kafkaconnect = [
+      mypy-boto3-kafkaconnect
+    ];
+    kendra = [
+      mypy-boto3-kendra
+    ];
+    kendra-ranking = [
+      mypy-boto3-kendra-ranking
+    ];
+    keyspaces = [
+      mypy-boto3-keyspaces
+    ];
+    kinesis = [
+      mypy-boto3-kinesis
+    ];
+    kinesis-video-archived-media = [
+      mypy-boto3-kinesis-video-archived-media
+    ];
+    kinesis-video-media = [
+      mypy-boto3-kinesis-video-media
+    ];
+    kinesis-video-signaling = [
+      mypy-boto3-kinesis-video-signaling
+    ];
+    kinesis-video-webrtc-storage = [
+      mypy-boto3-kinesis-video-webrtc-storage
+    ];
+    kinesisanalytics = [
+      mypy-boto3-kinesisanalytics
+    ];
+    kinesisanalyticsv2 = [
+      mypy-boto3-kinesisanalyticsv2
+    ];
+    kinesisvideo = [
+      mypy-boto3-kinesisvideo
+    ];
+    kms = [
+      mypy-boto3-kms
+    ];
+    lakeformation = [
+      mypy-boto3-lakeformation
+    ];
+    lambda = [
+      mypy-boto3-lambda
+    ];
+    lex-models = [
+      mypy-boto3-lex-models
+    ];
+    lex-runtime = [
+      mypy-boto3-lex-runtime
+    ];
+    lexv2-models = [
+      mypy-boto3-lexv2-models
+    ];
+    lexv2-runtime = [
+      mypy-boto3-lexv2-runtime
+    ];
+    license-manager = [
+      mypy-boto3-license-manager
+    ];
+    license-manager-linux-subscriptions = [
+      mypy-boto3-license-manager-linux-subscriptions
+    ];
+    license-manager-user-subscriptions = [
+      mypy-boto3-license-manager-user-subscriptions
+    ];
+    lightsail = [
+      mypy-boto3-lightsail
+    ];
+    location = [
+      mypy-boto3-location
+    ];
+    logs = [
+      mypy-boto3-logs
+    ];
+    lookoutequipment = [
+      mypy-boto3-lookoutequipment
+    ];
+    lookoutmetrics = [
+      mypy-boto3-lookoutmetrics
+    ];
+    lookoutvision = [
+      mypy-boto3-lookoutvision
+    ];
+    m2 = [
+      mypy-boto3-m2
+    ];
+    machinelearning = [
+      mypy-boto3-machinelearning
+    ];
+    macie = [
+      mypy-boto3-macie
+    ];
+    macie2 = [
+      mypy-boto3-macie2
+    ];
+    managedblockchain = [
+      mypy-boto3-managedblockchain
+    ];
+    managedblockchain-query = [
+      mypy-boto3-managedblockchain-query
+    ];
+    marketplace-catalog = [
+      mypy-boto3-marketplace-catalog
+    ];
+    marketplace-entitlement = [
+      mypy-boto3-marketplace-entitlement
+    ];
+    marketplacecommerceanalytics = [
+      mypy-boto3-marketplacecommerceanalytics
+    ];
+    mediaconnect = [
+      mypy-boto3-mediaconnect
+    ];
+    mediaconvert = [
+      mypy-boto3-mediaconvert
+    ];
+    medialive = [
+      mypy-boto3-medialive
+    ];
+    mediapackage = [
+      mypy-boto3-mediapackage
+    ];
+    mediapackage-vod = [
+      mypy-boto3-mediapackage-vod
+    ];
+    mediapackagev2 = [
+      mypy-boto3-mediapackagev2
+    ];
+    mediastore = [
+      mypy-boto3-mediastore
+    ];
+    mediastore-data = [
+      mypy-boto3-mediastore-data
+    ];
+    mediatailor = [
+      mypy-boto3-mediatailor
+    ];
+    medical-imaging = [
+      mypy-boto3-medical-imaging
+    ];
+    memorydb = [
+      mypy-boto3-memorydb
+    ];
+    meteringmarketplace = [
+      mypy-boto3-meteringmarketplace
+    ];
+    mgh = [
+      mypy-boto3-mgh
+    ];
+    mgn = [
+      mypy-boto3-mgn
+    ];
+    migration-hub-refactor-spaces = [
+      mypy-boto3-migration-hub-refactor-spaces
+    ];
+    migrationhub-config = [
+      mypy-boto3-migrationhub-config
+    ];
+    migrationhuborchestrator = [
+      mypy-boto3-migrationhuborchestrator
+    ];
+    migrationhubstrategy = [
+      mypy-boto3-migrationhubstrategy
+    ];
+    mobile = [
+      mypy-boto3-mobile
+    ];
+    mq = [
+      mypy-boto3-mq
+    ];
+    mturk = [
+      mypy-boto3-mturk
+    ];
+    mwaa = [
+      mypy-boto3-mwaa
+    ];
+    neptune = [
+      mypy-boto3-neptune
+    ];
+    network-firewall = [
+      mypy-boto3-network-firewall
+    ];
+    networkmanager = [
+      mypy-boto3-networkmanager
+    ];
+    nimble = [
+      mypy-boto3-nimble
+    ];
+    oam = [
+      mypy-boto3-oam
+    ];
+    omics = [
+      mypy-boto3-omics
+    ];
+    opensearch = [
+      mypy-boto3-opensearch
+    ];
+    opensearchserverless = [
+      mypy-boto3-opensearchserverless
+    ];
+    opsworks = [
+      mypy-boto3-opsworks
+    ];
+    opsworkscm = [
+      mypy-boto3-opsworkscm
+    ];
+    organizations = [
+      mypy-boto3-organizations
+    ];
+    osis = [
+      mypy-boto3-osis
+    ];
+    outposts = [
+      mypy-boto3-outposts
+    ];
+    panorama = [
+      mypy-boto3-panorama
+    ];
+    payment-cryptography = [
+      mypy-boto3-payment-cryptography
+    ];
+    payment-cryptography-data = [
+      mypy-boto3-payment-cryptography-data
+    ];
+    personalize = [
+      mypy-boto3-personalize
+    ];
+    personalize-events = [
+      mypy-boto3-personalize-events
+    ];
+    personalize-runtime = [
+      mypy-boto3-personalize-runtime
+    ];
+    pi = [
+      mypy-boto3-pi
+    ];
+    pinpoint = [
+      mypy-boto3-pinpoint
+    ];
+    pinpoint-email = [
+      mypy-boto3-pinpoint-email
+    ];
+    pinpoint-sms-voice = [
+      mypy-boto3-pinpoint-sms-voice
+    ];
+    pinpoint-sms-voice-v2 = [
+      mypy-boto3-pinpoint-sms-voice-v2
+    ];
+    pipes = [
+      mypy-boto3-pipes
+    ];
+    polly = [
+      mypy-boto3-polly
+    ];
+    pricing = [
+      mypy-boto3-pricing
+    ];
+    privatenetworks = [
+      mypy-boto3-privatenetworks
+    ];
+    proton = [
+      mypy-boto3-proton
+    ];
+    qldb = [
+      mypy-boto3-qldb
+    ];
+    qldb-session = [
+      mypy-boto3-qldb-session
+    ];
+    quicksight = [
+      mypy-boto3-quicksight
+    ];
+    ram = [
+      mypy-boto3-ram
+    ];
+    rbin = [
+      mypy-boto3-rbin
+    ];
+    rds = [
+      mypy-boto3-rds
+    ];
+    rds-data = [
+      mypy-boto3-rds-data
+    ];
+    redshift = [
+      mypy-boto3-redshift
+    ];
+    redshift-data = [
+      mypy-boto3-redshift-data
+    ];
+    redshift-serverless = [
+      mypy-boto3-redshift-serverless
+    ];
+    rekognition = [
+      mypy-boto3-rekognition
+    ];
+    resiliencehub = [
+      mypy-boto3-resiliencehub
+    ];
+    resource-explorer-2 = [
+      mypy-boto3-resource-explorer-2
+    ];
+    resource-groups = [
+      mypy-boto3-resource-groups
+    ];
+    resourcegroupstaggingapi = [
+      mypy-boto3-resourcegroupstaggingapi
+    ];
+    robomaker = [
+      mypy-boto3-robomaker
+    ];
+    rolesanywhere = [
+      mypy-boto3-rolesanywhere
+    ];
+    route53 = [
+      mypy-boto3-route53
+    ];
+    route53-recovery-cluster = [
+      mypy-boto3-route53-recovery-cluster
+    ];
+    route53-recovery-control-config = [
+      mypy-boto3-route53-recovery-control-config
+    ];
+    route53-recovery-readiness = [
+      mypy-boto3-route53-recovery-readiness
+    ];
+    route53domains = [
+      mypy-boto3-route53domains
+    ];
+    route53resolver = [
+      mypy-boto3-route53resolver
+    ];
+    rum = [
+      mypy-boto3-rum
+    ];
+    s3 = [
+      mypy-boto3-s3
+    ];
+    s3control = [
+      mypy-boto3-s3control
+    ];
+    s3outposts = [
+      mypy-boto3-s3outposts
+    ];
+    sagemaker = [
+      mypy-boto3-sagemaker
+    ];
+    sagemaker-a2i-runtime = [
+      mypy-boto3-sagemaker-a2i-runtime
+    ];
+    sagemaker-edge = [
+      mypy-boto3-sagemaker-edge
+    ];
+    sagemaker-featurestore-runtime = [
+      mypy-boto3-sagemaker-featurestore-runtime
+    ];
+    sagemaker-geospatial = [
+      mypy-boto3-sagemaker-geospatial
+    ];
+    sagemaker-metrics = [
+      mypy-boto3-sagemaker-metrics
+    ];
+    sagemaker-runtime = [
+      mypy-boto3-sagemaker-runtime
+    ];
+    savingsplans = [
+      mypy-boto3-savingsplans
+    ];
+    scheduler = [
+      mypy-boto3-scheduler
+    ];
+    schemas = [
+      mypy-boto3-schemas
+    ];
+    sdb = [
+      mypy-boto3-sdb
+    ];
+    secretsmanager = [
+      mypy-boto3-secretsmanager
+    ];
+    securityhub = [
+      mypy-boto3-securityhub
+    ];
+    securitylake = [
+      mypy-boto3-securitylake
+    ];
+    serverlessrepo = [
+      mypy-boto3-serverlessrepo
+    ];
+    service-quotas = [
+      mypy-boto3-service-quotas
+    ];
+    servicecatalog = [
+      mypy-boto3-servicecatalog
+    ];
+    servicecatalog-appregistry = [
+      mypy-boto3-servicecatalog-appregistry
+    ];
+    servicediscovery = [
+      mypy-boto3-servicediscovery
+    ];
+    ses = [
+      mypy-boto3-ses
+    ];
+    sesv2 = [
+      mypy-boto3-sesv2
+    ];
+    shield = [
+      mypy-boto3-shield
+    ];
+    signer = [
+      mypy-boto3-signer
+    ];
+    simspaceweaver = [
+      mypy-boto3-simspaceweaver
+    ];
+    sms = [
+      mypy-boto3-sms
+    ];
+    sms-voice = [
+      mypy-boto3-sms-voice
+    ];
+    snow-device-management = [
+      mypy-boto3-snow-device-management
+    ];
+    snowball = [
+      mypy-boto3-snowball
+    ];
+    sns = [
+      mypy-boto3-sns
+    ];
+    sqs = [
+      mypy-boto3-sqs
+    ];
+    ssm = [
+      mypy-boto3-ssm
+    ];
+    ssm-contacts = [
+      mypy-boto3-ssm-contacts
+    ];
+    ssm-incidents = [
+      mypy-boto3-ssm-incidents
+    ];
+    ssm-sap = [
+      mypy-boto3-ssm-sap
+    ];
+    sso = [
+      mypy-boto3-sso
+    ];
+    sso-admin = [
+      mypy-boto3-sso-admin
+    ];
+    sso-oidc = [
+      mypy-boto3-sso-oidc
+    ];
+    stepfunctions = [
+      mypy-boto3-stepfunctions
+    ];
+    storagegateway = [
+      mypy-boto3-storagegateway
+    ];
+    sts = [
+      mypy-boto3-sts
+    ];
+    support = [
+      mypy-boto3-support
+    ];
+    support-app = [
+      mypy-boto3-support-app
+    ];
+    swf = [
+      mypy-boto3-swf
+    ];
+    synthetics = [
+      mypy-boto3-synthetics
+    ];
+    textract = [
+      mypy-boto3-textract
+    ];
+    timestream-query = [
+      mypy-boto3-timestream-query
+    ];
+    timestream-write = [
+      mypy-boto3-timestream-write
+    ];
+    tnb = [
+      mypy-boto3-tnb
+    ];
+    transcribe = [
+      mypy-boto3-transcribe
+    ];
+    transfer = [
+      mypy-boto3-transfer
+    ];
+    translate = [
+      mypy-boto3-translate
+    ];
+    verifiedpermissions = [
+      mypy-boto3-verifiedpermissions
+    ];
+    voice-id = [
+      mypy-boto3-voice-id
+    ];
+    vpc-lattice = [
+      mypy-boto3-vpc-lattice
+    ];
+    waf = [
+      mypy-boto3-waf
+    ];
+    waf-regional = [
+      mypy-boto3-waf-regional
+    ];
+    wafv2 = [
+      mypy-boto3-wafv2
+    ];
+    wellarchitected = [
+      mypy-boto3-wellarchitected
+    ];
+    wisdom = [
+      mypy-boto3-wisdom
+    ];
+    workdocs = [
+      mypy-boto3-workdocs
+    ];
+    worklink = [
+      mypy-boto3-worklink
+    ];
+    workmail = [
+      mypy-boto3-workmail
+    ];
+    workmailmessageflow = [
+      mypy-boto3-workmailmessageflow
+    ];
+    workspaces = [
+      mypy-boto3-workspaces
+    ];
+    workspaces-web = [
+      mypy-boto3-workspaces-web
+    ];
+    xray = [
+      mypy-boto3-xray
+    ];
+  };
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "boto3-stubs"
+  ];
+
+  meta = with lib; {
+    description = "Type annotations for boto3";
+    homepage = "https://pypi.org/project/boto3-stubs/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix
index 7a74a0b5964b..c6472883c5c8 100644
--- a/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.31.52";
+  version = "1.31.64";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-L6m3jHozWpTZGAeXc9wxmHht50FYYYfYR6hxC5wzcAk=";
+    hash = "sha256-K1sbzvl1nNMgIyJ1PLrNk2s2rtAwFuUjh98y4aojMwo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/botocore/default.nix b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
index 1693f2258bcc..3dac327a48be 100644
--- a/nixpkgs/pkgs/development/python-modules/botocore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.31.9"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.31.48"; # N.B: if you change this, change boto3 and awscli to a matching version
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vYSdOslfF4E4Xtgx11OgSj7IcKWdZZgXWq7dcdwrr18=";
+    hash = "sha256-btFvZqpu1gcP7SbWl2TLFMd1nkzAscGRKDzEiwXWXek=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bottle/default.nix b/nixpkgs/pkgs/development/python-modules/bottle/default.nix
index 7a97b9990230..e64883140316 100644
--- a/nixpkgs/pkgs/development/python-modules/bottle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bottle/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "bottle";
-  version = "0.12.24";
+  version = "0.12.25";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JIASGnPoc4CYm3fjK9IJLRkOfqfXHm8bj3r36rnVTqM=";
+    hash = "sha256-4anJSXCubXELP7RSYpTf64byy0qB7/OkuY3ED7Dl4CE=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bottombar/default.nix b/nixpkgs/pkgs/development/python-modules/bottombar/default.nix
index e3e9bb38cc11..ab7a9b06d64f 100644
--- a/nixpkgs/pkgs/development/python-modules/bottombar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bottombar/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "bottombar";
-  version = "1.0";
+  version = "2.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "evalf";
     repo = "bottombar";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/3m34HcYmmEf92H3938dYV1Q6k44KaCb9TDx9nDNPnM=";
+    hash = "sha256-W+Cbcgb664nVT/nsFdDruT688JWG2NZnF5hDDezTgnw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bqplot/default.nix b/nixpkgs/pkgs/development/python-modules/bqplot/default.nix
index 5695be669bbc..a1737d339a3d 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.39";
+  version = "0.12.40";
 
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FNjeb5pNGUW76mwTIOpNHJMlb3JoN3T24AINzFefPdI=";
+    hash = "sha256-7L/ovwTwRFju5G3Cwvgla0wVIdRvlEOOm+GTieT4b7k=";
   };
 
   # 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 8b0ebb610ad9..c8fa7879bd75 100644
--- a/nixpkgs/pkgs/development/python-modules/bqscales/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bqscales/default.nix
@@ -3,6 +3,8 @@
 , pythonOlder
 , fetchPypi
 , hatchling
+, hatch-jupyter-builder
+, jupyterlab
 , jupyter-packaging
 , ipywidgets
 , numpy
@@ -12,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "bqscales";
-  version = "0.3.1";
+  version = "0.3.3";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-C+/GLpqYpePngbn5W0MwvpdmVgFZF7aGHyKMgO5XM90=";
+    hash = "sha256-SlnNw4dWOzRedwIN3kCyl95qVqkY92QGOMS3Eyoqk0I=";
   };
 
   # We relax dependencies here instead of pulling in a patch because upstream
@@ -35,7 +37,9 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
+    hatch-jupyter-builder
     hatchling
+    jupyterlab
     jupyter-packaging
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/breathe/default.nix b/nixpkgs/pkgs/development/python-modules/breathe/default.nix
index cfb919682e44..81068d4c0796 100644
--- a/nixpkgs/pkgs/development/python-modules/breathe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/breathe/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , docutils
 , fetchFromGitHub
-, fetchpatch
 , pytestCheckHook
 , pythonOlder
 , sphinx
@@ -10,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "breathe";
-  version = "4.34.0";
+  version = "4.35.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,16 +18,9 @@ buildPythonPackage rec {
     owner = "michaeljones";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-OOc3XQjqQa0cVpA+/HHco+koL+0whUm5qC7x3xiEdwQ=";
+    hash = "sha256-LJXvtScyWRL8zfj877bJ4xuIbLV9IN3Sn9KPUTLMjMI=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/breathe-doc/breathe/commit/de3504c81c7cefc87c8229743f93232ca00a685d.patch";
-      hash = "sha256-UGld5j0F/hnTuS7KUFvgQL52xCUdaJ3/NeuEuHhpCxI=";
-    })
-  ];
-
   propagatedBuildInputs = [
     docutils
     sphinx
diff --git a/nixpkgs/pkgs/development/python-modules/breezy/default.nix b/nixpkgs/pkgs/development/python-modules/breezy/default.nix
index 5fb4dd913e60..505137993b08 100644
--- a/nixpkgs/pkgs/development/python-modules/breezy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/breezy/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , cargo
 , configobj
@@ -8,6 +9,7 @@
 , dulwich
 , fastbencode
 , fastimport
+, pygithub
 , libiconv
 , merge3
 , patiencediff
@@ -37,6 +39,14 @@ buildPythonPackage rec {
     hash = "sha256-fEEvOfo8YWhx+xuiqD/KNstlso5/K1XJnGY64tkLIwE=";
   };
 
+  patches = [
+    # Explicitly track which URLs are used for GitLab
+    (fetchpatch {
+      url = "https://github.com/breezy-team/breezy/commit/cc9fdf3774253183f726127c2ee191c24640d898.patch";
+      hash = "sha256-HTDAW3CPEZ1YBe0wnv6ncWEd0QRHwHawfTplbVDiOGc=";
+    })
+  ];
+
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
   };
@@ -66,7 +76,8 @@ buildPythonPackage rec {
     pyyaml
     urllib3
   ] ++ passthru.optional-dependencies.launchpad
-    ++ passthru.optional-dependencies.fastimport;
+    ++ passthru.optional-dependencies.fastimport
+    ++ passthru.optional-dependencies.github;
 
   nativeCheckInputs = [
     testtools
@@ -109,6 +120,9 @@ buildPythonPackage rec {
       fastimport = [
         fastimport
       ];
+      github = [
+        pygithub
+      ];
     };
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/brian2/default.nix b/nixpkgs/pkgs/development/python-modules/brian2/default.nix
index 6ebd89a7b346..2b3bcbff5076 100644
--- a/nixpkgs/pkgs/development/python-modules/brian2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/brian2/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "brian2";
-  version = "2.5.1";
+  version = "2.5.4";
 
   src = fetchPypi {
     pname = "Brian2";
     inherit version;
-    hash = "sha256-x1EcS7PFCsjPYsq3Lt87SJRW4J5DE/OfdFs3NuyHiLw=";
+    hash = "sha256-XMXSOwcH8fLgzXCcT+grjYxhBdtF4H/Vr+S7J4GYZSw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/brotli/default.nix b/nixpkgs/pkgs/development/python-modules/brotli/default.nix
index b70302fe9ea6..91e907c3af33 100644
--- a/nixpkgs/pkgs/development/python-modules/brotli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/brotli/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "brotli";
-  version = "1.0.9";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-tFnXSXv8t3l3HX6GwWLhEtgpqz0c7Yom5U3k47pWM7o=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-MvceRcle2dSkkucC2PlsCizsIf8iv95d8Xjqew266wc=";
     # .gitattributes is not correct or GitHub does not parse it correct and the archive is missing the test data
     forceFetchGit = true;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/brotlicffi/default.nix b/nixpkgs/pkgs/development/python-modules/brotlicffi/default.nix
index 5e0600d343a8..fd30ab86c07c 100644
--- a/nixpkgs/pkgs/development/python-modules/brotlicffi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/brotlicffi/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "brotlicffi";
-  version = "1.0.9.2";
-  disabled = pythonOlder "3.6";
+  version = "1.1.0.0";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "python-hyper";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qx7an7772brmx1rbbrqzqnkqqvicc70mx740nl31kzzyv4jjs00";
+    sha256 = "sha256-oW4y1WBJ7+4XwNwwSSR0qUqN03cZYXUYQ6EAwce9dzI=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix b/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix
index bced86608d4d..dddf9d5d9c1f 100644
--- a/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bthome-ble";
-  version = "3.1.1";
+  version = "3.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "bthome-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fQIvOa9/Bqo4BN6LJz8COHo6n2m4XogVYCMdAUvDZUQ=";
+    hash = "sha256-UYW7yEAg4RJR1ERFDDS6s8OBr0XRTHTJLSuOF7FO6u4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/btrees/default.nix b/nixpkgs/pkgs/development/python-modules/btrees/default.nix
index 308bba80b31f..930ede2cd120 100644
--- a/nixpkgs/pkgs/development/python-modules/btrees/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/btrees/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "btrees";
-  version = "5.0";
+  version = "5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "BTrees";
     inherit version;
-    hash = "sha256-/d+KTcwCU+OQJ7qzgKLiDUeuNwoySFQW8qZq2a4aQ/o=";
+    hash = "sha256-raDzHpMloEeV0dJOAn7ZsrZdpNZqz/i4eVWzUo1/w2k=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/build/default.nix b/nixpkgs/pkgs/development/python-modules/build/default.nix
index f86f47e2bd85..4b06298f1d26 100644
--- a/nixpkgs/pkgs/development/python-modules/build/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/build/default.nix
@@ -13,22 +13,22 @@
 , pytestCheckHook
 , pythonOlder
 , setuptools
-, toml
 , tomli
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "build";
-  version = "0.10.0";
+  version = "1.0.3";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "pypa";
-    repo = pname;
-    rev = version;
-    hash = "sha256-kXFrfTb7+68EV+gSENL81IFSR+ue7Fl6R2gsuFFBJhI=";
+    repo = "build";
+    rev = "refs/tags/${version}";
+    hash = "sha256-SGWpm+AGIfqKMpDfmz2aMYmcs+XVREbHIXSuU4R7U/k=";
   };
 
   nativeBuildInputs = [
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   passthru.tests = {
     pytest = buildPythonPackage {
       pname = "${pname}-pytest";
-      inherit version;
+      inherit src version;
       format = "other";
 
       dontBuild = true;
@@ -63,7 +63,7 @@ buildPythonPackage rec {
         pytest-xdist
         pytestCheckHook
         setuptools
-        toml
+        wheel
       ];
 
       pytestFlagsArray = [
diff --git a/nixpkgs/pkgs/development/python-modules/busypie/default.nix b/nixpkgs/pkgs/development/python-modules/busypie/default.nix
new file mode 100644
index 000000000000..9539d3f4371e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/busypie/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytest-timeout
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "busypie";
+  version = "0.5.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "rockem";
+    repo = "busypie";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-dw0Sc/a27/EYY7LVMQqDkYuxrUFYK+N6XLk6A7A/eS8=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pytest-runner" ""
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytest-timeout
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "busypie"
+  ];
+
+  meta = with lib; {
+    description = "Expressive busy wait for Python";
+    homepage = "https://github.com/rockem/busypie";
+    changelog = "https://github.com/rockem/busypie/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bytecode/default.nix b/nixpkgs/pkgs/development/python-modules/bytecode/default.nix
index 95b28f4190fd..4df83b9e45df 100644
--- a/nixpkgs/pkgs/development/python-modules/bytecode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bytecode/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "bytecode";
-  version = "0.15.0";
+  version = "0.15.1";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "vstinner";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-A8S3U07P4Olq9f7/q20aHOPAQsQp3OuGHtIAs8B8VEQ=";
+    hash = "sha256-Jzsh0m00SiJjTP7hXMDmuR4XHmsCYdURuFDkVopGyIE=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/bytewax/default.nix b/nixpkgs/pkgs/development/python-modules/bytewax/default.nix
index 61e6b3142fb9..c27d756070de 100644
--- a/nixpkgs/pkgs/development/python-modules/bytewax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bytewax/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "bytewax";
-  version = "0.16.2";
+  version = "0.17.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "bytewax";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-PHjKEZMNhtLliOSGt4XHQFDm8Rc4TejQUVSqFN6Au38=";
+    hash = "sha256-Cv2bTgs3XfYOcHK628/RgGol7S6E4WfHb7gHXXjBhig=";
   };
 
   env = {
diff --git a/nixpkgs/pkgs/development/python-modules/cadquery/default.nix b/nixpkgs/pkgs/development/python-modules/cadquery/default.nix
index 15142e3d80e4..1eb8f73b7a77 100644
--- a/nixpkgs/pkgs/development/python-modules/cadquery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cadquery/default.nix
@@ -5,12 +5,11 @@
 , pythonAtLeast
 , fetchFromGitHub
 , pyparsing
-, opencascade
+, opencascade-occt
 , stdenv
 , python
 , cmake
 , swig
-, smesh
 , freetype
 , libGL
 , libGLU
@@ -42,8 +41,7 @@ let
 
     buildInputs = [
       python
-      opencascade
-      smesh
+      opencascade-occt
       freetype
       libGL
       libGLU
@@ -57,9 +55,6 @@ let
     cmakeFlags = [
       "-Wno-dev"
       "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC"
-      "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh"
-      "-DSMESH_LIB_PATH=${smesh}/lib"
-      "-DPYTHONOCC_WRAP_SMESH=TRUE"
     ];
   });
 
@@ -76,7 +71,7 @@ in
     };
 
     buildInputs = [
-      opencascade
+      opencascade-occt
     ];
 
     propagatedBuildInputs = [
@@ -99,5 +94,6 @@ in
       homepage = "https://github.com/CadQuery/cadquery";
       license = licenses.asl20;
       maintainers = with maintainers; [ marcus7070 ];
+      broken = true;
     };
   }
diff --git a/nixpkgs/pkgs/development/python-modules/camel-converter/default.nix b/nixpkgs/pkgs/development/python-modules/camel-converter/default.nix
index cc9c345d3fb0..176c49819dbf 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.0.2";
+  version = "3.0.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "sanders41";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-XKtWR9dmSMfqkJYUHDQtWBLG3CHrbrI5lNtPUTShmBE=";
+    hash = "sha256-0sNb1zg8cnDjQQnStfe1k8uB1GpmNtd/VwqSqTcLmj0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/canals/default.nix b/nixpkgs/pkgs/development/python-modules/canals/default.nix
index 9b919465365d..b74594f25ed9 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.8.0";
+  version = "0.8.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "deepset-ai";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-co2Zv4U4Vnn8IdPqZnyLD+siFu7tectj7ckh4oaKWYU=";
+    hash = "sha256-XC4CxvDghz8/LReeYjHEVtd8j2ZN4jd+x7vP6N8BKpc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/canopen/default.nix b/nixpkgs/pkgs/development/python-modules/canopen/default.nix
index 072b22a895a6..09a9f4366a0d 100644
--- a/nixpkgs/pkgs/development/python-modules/canopen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/canopen/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "canopen";
-  version = "2.1.0";
+  version = "2.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vBJrsdy2Ljs02KEuOKB7WqgxnBdFfJv+II8Lu9qQ/2E=";
+    hash = "sha256-XxhlG5325HabmILpafk0rnc+8kpFqrwzNLWGmCBI0Iw=";
   };
 
   nativeBuildInputs = [
@@ -38,8 +38,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/christiansandberg/canopen/";
     description = "CANopen stack implementation";
+    homepage = "https://github.com/christiansandberg/canopen/";
+    changelog = "https://github.com/christiansandberg/canopen/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ sorki ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/casbin/default.nix b/nixpkgs/pkgs/development/python-modules/casbin/default.nix
index eb825a5d9ad7..91f8b98a191b 100644
--- a/nixpkgs/pkgs/development/python-modules/casbin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/casbin/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "casbin";
-  version = "1.28.0";
+  version = "1.32.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "pycasbin";
     rev = "refs/tags/v${version}";
-    hash = "sha256-h/wg7O6zWnSQL5+VzAUA+G/4i7LcFpHvK2weyql998Y=";
+    hash = "sha256-voabnGdtYci6rV5aLSdEAD3sWEva1tjJSm0EwpjdTj8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/castepxbin/default.nix b/nixpkgs/pkgs/development/python-modules/castepxbin/default.nix
index 765bb7164369..007a9543d6f1 100644
--- a/nixpkgs/pkgs/development/python-modules/castepxbin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/castepxbin/default.nix
@@ -1,27 +1,35 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
+, flit-core
 , numpy
 , scipy
-, pymatgen
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "castepxbin";
-  version = "0.2.0";
+  version = "0.3.0";
+
+  disabled = pythonOlder "3.7";
+
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "zhubonan";
     repo = "castepxbin";
-    rev = "v${version}";
-    sha256 = "0bqicpdyisbcz8argy4ppm59zzkcn9lcs4y1mh2f31f75x732na3";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-6kumVnm4PLRxuKO6Uz0iHzfYuu21hFC7EPRsc3S1kxE=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     numpy
     scipy
-    pymatgen
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/catboost/default.nix b/nixpkgs/pkgs/development/python-modules/catboost/default.nix
index 1939b7c13a6d..30e140a83142 100644
--- a/nixpkgs/pkgs/development/python-modules/catboost/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/catboost/default.nix
@@ -1,64 +1,50 @@
-{ buildPythonPackage, fetchFromGitHub, lib, pythonOlder
-, clang_12, python
-, graphviz, matplotlib, numpy, pandas, plotly, scipy, six
-, withCuda ? false, cudatoolkit }:
-
-buildPythonPackage rec {
-  pname = "catboost";
-  # nixpkgs-update: no auto update
-  version = "1.0.5";
-
-  disabled = pythonOlder "3.4";
+{ lib
+, buildPythonPackage
+, catboost
+, python
+, graphviz
+, matplotlib
+, numpy
+, pandas
+, plotly
+, scipy
+, setuptools
+, six
+, wheel
+}:
+
+buildPythonPackage {
+  inherit (catboost) pname version src meta;
+  format = "pyproject";
+
+  sourceRoot = "source/catboost/python-package";
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
 
-  src = fetchFromGitHub {
-    owner = "catboost";
-    repo = "catboost";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-ILemeZUBI9jPb9G6F7QX/T1HaVhQ+g6y7YmsT6DFCJk";
-  };
+  propagatedBuildInputs = [
+    graphviz
+    matplotlib
+    numpy
+    pandas
+    plotly
+    scipy
+    six
+  ];
 
-  nativeBuildInputs = [ clang_12 ];
+  buildPhase = ''
+    runHook preBuild
 
-  propagatedBuildInputs = [ graphviz matplotlib numpy pandas scipy plotly six ]
-    ++ lib.optionals withCuda [ cudatoolkit ];
+    # these arguments must set after bdist_wheel
+    ${python.pythonForBuild.interpreter} setup.py bdist_wheel --no-widget --prebuilt-extensions-build-root-dir=${lib.getDev catboost}
 
-  patches = [
-    ./nix-support.patch
-  ];
-
-  postPatch = ''
-    # substituteInPlace is too slow for these large files, and the target has lots of numbers in it that change often.
-    sed -e 's|\$(YMAKE_PYTHON3-.*)/python3|${python.interpreter}|' -i make/*.makefile
+    runHook postBuild
   '';
 
-  preBuild = ''
-    cd catboost/python-package
-  '';
-  setupPyBuildFlags = [ "--with-ymake=no" ];
-  CUDA_ROOT = lib.optional withCuda cudatoolkit;
-  enableParallelBuilding = true;
+  # setup a test is difficult
+  doCheck = false;
 
-  # Tests use custom "ya" tool, not yet supported.
-  dontUseSetuptoolsCheck = true;
   pythonImportsCheck = [ "catboost" ];
-
-  passthru = {
-    # Do not update to catboost 1.1.x because the patch doesn't apply cleanly
-    skipBulkUpdate = true;
-  };
-
-  meta = with lib; {
-    description = "High-performance library for gradient boosting on decision trees.";
-    longDescription = ''
-      A fast, scalable, high performance Gradient Boosting on Decision Trees
-      library, used for ranking, classification, regression and other machine
-      learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.
-    '';
-    license = licenses.asl20;
-    platforms = [ "x86_64-linux" ];
-    homepage = "https://catboost.ai";
-    maintainers = with maintainers; [ PlushBeaver ];
-    # _catboost.pyx.cpp:226822:19: error: use of undeclared identifier '_PyGen_Send'
-    broken = withCuda;
-  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/catboost/nix-support.patch b/nixpkgs/pkgs/development/python-modules/catboost/nix-support.patch
deleted file mode 100644
index b8294420e09c..000000000000
--- a/nixpkgs/pkgs/development/python-modules/catboost/nix-support.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-diff --git a/catboost/python-package/setup.py b/catboost/python-package/setup.py
-index fe9251a21f..86b880c5d0 100644
---- a/catboost/python-package/setup.py
-+++ b/catboost/python-package/setup.py
-@@ -80,7 +80,7 @@ class Helper(object):
-         self.with_cuda = os.environ.get('CUDA_PATH') or os.environ.get('CUDA_ROOT') or None
-         self.os_sdk = 'local'
-         self.with_ymake = True
--        self.parallel = None
-+        self.parallel = os.environ.get('NIX_BUILD_CORES') or None
- 
-     def finalize_options(self):
-         if os.path.exists(str(self.with_cuda)):
-@@ -222,11 +222,12 @@ class build_ext(_build_ext):
- 
-     def build_with_make(self, topsrc_dir, build_dir, catboost_ext, put_dir, verbose, dry_run):
-         logging.info('Buildling {} with gnu make'.format(catboost_ext))
--        makefile = 'python{}.{}CLANG11-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '')
-+        makefile = 'python{}.{}CLANG12-LINUX-X86_64.makefile'.format(python_version()[0], 'CUDA.' if self.with_cuda else '')
-         make_cmd = [
-             'make', '-f', '../../make/' + makefile,
--            'CC=clang-11',
--            'CXX=clang++-11',
-+            'CC=clang',
-+            'CXX=clang++',
-+            'PYTHON=python{}'.format(python_version()[0]),
-             'BUILD_ROOT=' + build_dir,
-             'SOURCE_ROOT=' + topsrc_dir,
-         ]
-diff --git a/make/python2.CLANG12-LINUX-X86_64.makefile b/make/python2.CLANG12-LINUX-X86_64.makefile
-index b49a36fb3f..33996af995 100644
---- a/make/python2.CLANG12-LINUX-X86_64.makefile
-+++ b/make/python2.CLANG12-LINUX-X86_64.makefile
-@@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd)
- SOURCE_ROOT = $(shell pwd)
- PYTHON = $(shell which python)
- 
--ifneq ($(MAKECMDGOALS),help)
--define _CC_TEST
--__clang_major__ __clang_minor__
--endef
--
--_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -)
--$(info _CC_VERSION = '$(_CC_VERSION)')
--
--ifneq '$(_CC_VERSION)' '12 0'
--    $(error clang 12.0 is required)
--endif
--endif
--
--ifneq ($(MAKECMDGOALS),help)
--define _CXX_TEST
--__clang_major__ __clang_minor__
--endef
--
--_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -)
--$(info _CXX_VERSION = '$(_CXX_VERSION)')
--
--ifneq '$(_CXX_VERSION)' '12 0'
--    $(error clang 12.0 is required)
--endif
--endif
- 
- 
- all\
-diff --git a/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile b/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile
-index 82935b297e..093cc86532 100644
---- a/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile
-+++ b/make/python2.CUDA.CLANG12-LINUX-X86_64.makefile
-@@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd)
- SOURCE_ROOT = $(shell pwd)
- PYTHON = $(shell which python)
- 
--ifneq ($(MAKECMDGOALS),help)
--define _CC_TEST
--__clang_major__ __clang_minor__
--endef
--
--_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -)
--$(info _CC_VERSION = '$(_CC_VERSION)')
--
--ifneq '$(_CC_VERSION)' '12 0'
--    $(error clang 12.0 is required)
--endif
--endif
--
--ifneq ($(MAKECMDGOALS),help)
--define _CXX_TEST
--__clang_major__ __clang_minor__
--endef
--
--_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -)
--$(info _CXX_VERSION = '$(_CXX_VERSION)')
--
--ifneq '$(_CXX_VERSION)' '12 0'
--    $(error clang 12.0 is required)
--endif
--endif
- 
- 
- all\
-diff --git a/make/python3.CLANG12-LINUX-X86_64.makefile b/make/python3.CLANG12-LINUX-X86_64.makefile
-index 1c5d646ae4..6c091fbe17 100644
---- a/make/python3.CLANG12-LINUX-X86_64.makefile
-+++ b/make/python3.CLANG12-LINUX-X86_64.makefile
-@@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd)
- SOURCE_ROOT = $(shell pwd)
- PYTHON = $(shell which python)
- 
--ifneq ($(MAKECMDGOALS),help)
--define _CC_TEST
--__clang_major__ __clang_minor__
--endef
--
--_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -)
--$(info _CC_VERSION = '$(_CC_VERSION)')
--
--ifneq '$(_CC_VERSION)' '12 0'
--    $(error clang 12.0 is required)
--endif
--endif
--
--ifneq ($(MAKECMDGOALS),help)
--define _CXX_TEST
--__clang_major__ __clang_minor__
--endef
--
--_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -)
--$(info _CXX_VERSION = '$(_CXX_VERSION)')
--
--ifneq '$(_CXX_VERSION)' '12 0'
--    $(error clang 12.0 is required)
--endif
--endif
- 
- 
- all\
-diff --git a/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile b/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile
-index fcdb75a719..4e1dbc3cd7 100644
---- a/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile
-+++ b/make/python3.CUDA.CLANG12-LINUX-X86_64.makefile
-@@ -4,31 +4,6 @@ BUILD_ROOT = $(shell pwd)
- SOURCE_ROOT = $(shell pwd)
- PYTHON = $(shell which python)
- 
--ifneq ($(MAKECMDGOALS),help)
--define _CC_TEST
--__clang_major__ __clang_minor__
--endef
--
--_CC_VERSION = $(shell echo '$(_CC_TEST)' | $(CC) -E -P -)
--$(info _CC_VERSION = '$(_CC_VERSION)')
--
--ifneq '$(_CC_VERSION)' '12 0'
--    $(error clang 12.0 is required)
--endif
--endif
--
--ifneq ($(MAKECMDGOALS),help)
--define _CXX_TEST
--__clang_major__ __clang_minor__
--endef
--
--_CXX_VERSION = $(shell echo '$(_CXX_TEST)' | $(CXX) -E -P -)
--$(info _CXX_VERSION = '$(_CXX_VERSION)')
--
--ifneq '$(_CXX_VERSION)' '12 0'
--    $(error clang 12.0 is required)
--endif
--endif
- 
- 
- all\
diff --git a/nixpkgs/pkgs/development/python-modules/catppuccin/default.nix b/nixpkgs/pkgs/development/python-modules/catppuccin/default.nix
index 5a53233fff87..c938b389c28a 100644
--- a/nixpkgs/pkgs/development/python-modules/catppuccin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/catppuccin/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "catppuccin";
-  version = "1.1.1";
+  version = "1.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mHNuV3yIuFL2cixDOr+//+/b9iD2fN82cfLzZkegxKc=";
+    hash = "sha256-iRQF9U6QvbyOSdp0OALc/Efl4IL1w17WGOZRbhzlqGA=";
   };
 
   propagatedBuildInputs = [ pygments ];
diff --git a/nixpkgs/pkgs/development/python-modules/celery-types/default.nix b/nixpkgs/pkgs/development/python-modules/celery-types/default.nix
index 6379d041f160..cc77baff0444 100644
--- a/nixpkgs/pkgs/development/python-modules/celery-types/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/celery-types/default.nix
@@ -1,6 +1,5 @@
 { lib
 , buildPythonPackage
-, fetchpatch
 , fetchPypi
 , poetry-core
 , pythonOlder
@@ -9,26 +8,16 @@
 
 buildPythonPackage rec {
   pname = "celery-types";
-  version = "0.19.0";
+  version = "0.20.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1OLUJxsuxG/sCKDxKiU4i7o5HyaJdIW8rPo8UofMI28=";
+    hash = "sha256-5cdiVVYF7QWSuu2dUZIwBGzo56EcZ6ghVVwIt87OGWA=";
   };
 
-  patches = [
-    # remove extraneous build dependencies:
-    # https://github.com/sbdchd/celery-types/pull/138
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/sbdchd/celery-types/commit/ff83f06a0302084e1a690e2a5a8b25f2c0dfc6e7.patch";
-      hash = "sha256-c68SMugg6Qk88FC842/czoxLpk0uVAVSlWsvo4NI9uo=";
-    })
-  ];
-
   propagatedBuildInputs = [
     typing-extensions
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/censys/default.nix b/nixpkgs/pkgs/development/python-modules/censys/default.nix
index f0a144e646ee..15fba8b6a654 100644
--- a/nixpkgs/pkgs/development/python-modules/censys/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/censys/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "censys";
-  version = "2.2.6";
+  version = "2.2.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "censys";
     repo = "censys-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-awe/6d6AryihS8vYCRtU8APbLUsqv9aKULBmjjaz3gM=";
+    hash = "sha256-9g0UmG2MJN1GB4ny/BvMV0ipID4w9e5P+NJnpd6DqeI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cepa/default.nix b/nixpkgs/pkgs/development/python-modules/cepa/default.nix
index 708decb2964f..67c45a26665b 100644
--- a/nixpkgs/pkgs/development/python-modules/cepa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cepa/default.nix
@@ -1,4 +1,10 @@
-{ lib, buildPythonPackage, fetchPypi, python, mock }:
+{ lib
+, buildPythonPackage
+, fetchpatch
+, fetchPypi
+, python
+, mock
+}:
 
 buildPythonPackage rec {
   pname = "cepa";
@@ -9,6 +15,14 @@ buildPythonPackage rec {
     hash = "sha256-P7xwGsP8ic1/abxYptDXNbAU+kC2Hiwu/Tge0g21ipY=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "python-3.11-compatibility.patch";
+      url = "https://github.com/onionshare/cepa/commit/0bf9aee7151e65594c532826bb04636e1d80fb6f.patch";
+      hash = "sha256-roSt9N5OvnOOxKZUee86zGXt0AsZCcbBdV2cLz1MB2k=";
+    })
+  ];
+
   postPatch = ''
     rm test/unit/installation.py
     sed -i "/test.unit.installation/d" test/settings.cfg
diff --git a/nixpkgs/pkgs/development/python-modules/certauth/default.nix b/nixpkgs/pkgs/development/python-modules/certauth/default.nix
index b789fe5d16f8..04a4637bafc9 100644
--- a/nixpkgs/pkgs/development/python-modules/certauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certauth/default.nix
@@ -4,20 +4,29 @@
 , pyopenssl
 , tldextract
 , pytestCheckHook
-, pytest-cov
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "certauth";
   version = "1.3.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ikreymer";
     repo = "certauth";
-    rev = "ad2bae5d40a9e45519fc1f2cd7678174bbc55b3d"; # Repo has no git tags
+    # Repo has no git tags, https://github.com/ikreymer/certauth/issues/15
+    rev = "ad2bae5d40a9e45519fc1f2cd7678174bbc55b3d";
     hash = "sha256-Rso5N0jb9k7bdorjPIUMNiZZPnzwbkxFNiTpsJ9pco0=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "--cov certauth " ""
+  '';
+
   propagatedBuildInputs = [
     pyopenssl
     tldextract
@@ -25,10 +34,20 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    pytest-cov
   ];
 
-  pythonImportsCheck = [ "certauth" ];
+  pythonImportsCheck = [
+    "certauth"
+  ];
+
+  disabledTests = [
+    # Tests want to download Public Suffix List
+    "test_file_wildcard"
+    "test_file_wildcard_subdomains"
+    "test_in_mem_parent_wildcard_cert"
+    "test_in_mem_parent_wildcard_cert_at_tld"
+    "test_in_mem_parent_wildcard_cert_2"
+  ];
 
   meta = with lib; {
     description = "Simple CertificateAuthority and host certificate creation, useful for man-in-the-middle HTTPS proxy";
diff --git a/nixpkgs/pkgs/development/python-modules/certifi/default.nix b/nixpkgs/pkgs/development/python-modules/certifi/default.nix
index 7931432bd5e1..8a2fd3bb88cf 100644
--- a/nixpkgs/pkgs/development/python-modules/certifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certifi/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "certifi";
-  version = "2023.05.07";
+  version = "2023.07.22";
 
   disabled = pythonOlder "3.6";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-certifi";
     rev = version;
-    hash = "sha256-KXm0CtuZJL9VgFeY+DV0rdjaKqPQCqcoGPCkeGieTX8=";
+    hash = "sha256-V3bptJDNMGXlCMg6GHj792IrjfsG9+F/UpQKxeM0QOc=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/certipy-ad/default.nix b/nixpkgs/pkgs/development/python-modules/certipy-ad/default.nix
index a0411655c26d..ce55ab982925 100644
--- a/nixpkgs/pkgs/development/python-modules/certipy-ad/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certipy-ad/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "certipy-ad";
-  version = "4.8.1";
+  version = "4.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "ly4k";
     repo = "Certipy";
     rev = "refs/tags/${version}";
-    hash = "sha256-HgRUpltkai68tDkanXIOEdrJ4DJYDcbNk0op0enUAXU=";
+    hash = "sha256-Era5iNLJkZIRvN/p3BiD/eDiDQme24G65VSG97tuEOQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix b/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
index ed5377d9783a..f52bf2f667ae 100644
--- a/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cfn-lint/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "cfn-lint";
-  version = "0.79.6";
+  version = "0.79.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "aws-cloudformation";
     repo = "cfn-python-lint";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5Lb8dA8HqDdEO/Ehv5y/JlP+te46mzrTw/kNHBb9l38=";
+    hash = "sha256-dVLKMoZzP2q3bejEIslgpQgkPJOJUeEsXyyk8HRP6h0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/chardet/default.nix b/nixpkgs/pkgs/development/python-modules/chardet/default.nix
index 69353dcaec28..7c78de37d36d 100644
--- a/nixpkgs/pkgs/development/python-modules/chardet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chardet/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "chardet";
-  version = "5.1.0";
+  version = "5.2.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DWJxK5VrwVT4X7CiZuKjxZE8KWfgA0hwGzJBHW3vMeU=";
+    hash = "sha256-Gztv9HmoxBS8P6LAhSmVaVxKAm3NbQYzst0JLKOcHPc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix b/nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix
index d567c41dbe6f..c2856a49060f 100644
--- a/nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/charset-normalizer/default.nix
@@ -1,17 +1,15 @@
 { lib
+, aiohttp
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
-
-  # popular downstream dependencies
-, aiohttp
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "charset-normalizer";
-  version = "3.0.1";
+  version = "3.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -20,18 +18,18 @@ buildPythonPackage rec {
     owner = "Ousret";
     repo = "charset_normalizer";
     rev = "refs/tags/${version}";
-    hash = "sha256-2kXs6ZdemA6taV4aa9xBKLmhbSgpybjg3Z61EUFabrk=";
+    hash = "sha256-CfL5rlrwJs9453z+1xPUzs1B3OyjFBaU6klzY7gJCzA=";
   };
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
-
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace " --cov=charset_normalizer --cov-report=term-missing" ""
   '';
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
   pythonImportsCheck = [
     "charset_normalizer"
   ];
@@ -41,6 +39,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python module for encoding and language detection";
     homepage = "https://charset-normalizer.readthedocs.io/";
+    changelog = "https://github.com/Ousret/charset_normalizer/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix b/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix
index 1632d41fee67..5f8117c6e586 100644
--- a/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "chart-studio";
-  version = "5.16.1";
+  version = "5.17.0";
 
   # chart-studio was split from plotly
   src = fetchFromGitHub {
     owner = "plotly";
     repo = "plotly.py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-R94fmkz9cydOHKQbXMBR47OCdHHsR25uGiGszcr7AQQ=";
+    hash = "sha256-Vaa/MgauSoSpzNtRVXq3fQSVqMYzLTqDtIbiHBgrXQY=";
   };
 
   sourceRoot = "${src.name}/packages/python/chart-studio";
diff --git a/nixpkgs/pkgs/development/python-modules/checksumdir/default.nix b/nixpkgs/pkgs/development/python-modules/checksumdir/default.nix
new file mode 100644
index 000000000000..78a24bb2950a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/checksumdir/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "checksumdir";
+  version = "1.2.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "to-mc";
+    repo = "checksumdir";
+    rev = version;
+    hash = "sha256-PO8sRGFQ1Dt/UYJuFH6Y3EaQVaS+4DJlOQtvF8ZmBWQ=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  doCheck = false; # Package does not contain tests
+  pythonImportsCheck = [ "checksumdir" ];
+
+  meta = with lib; {
+    description = "Simple package to compute a single deterministic hash of the file contents of a directory";
+    homepage = "https://github.com/to-mc/checksumdir";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cheroot/default.nix b/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
index 11ce178e6906..679c5464b8f5 100644
--- a/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
@@ -20,13 +20,13 @@
 
 buildPythonPackage rec {
   pname = "cheroot";
-  version = "9.0.0";
+  version = "10.0.0";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PUetnuGey+wUS0dYOZA2aS/b9npAuW7vH7FFQ2ez0zg=";
+    hash = "sha256-WcShh3/vmWmzw8CAyqrzd+J4CRlDeFP8DTKp30CzEfA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/chex/default.nix b/nixpkgs/pkgs/development/python-modules/chex/default.nix
index 7d7912ff0f45..6bee1641242c 100644
--- a/nixpkgs/pkgs/development/python-modules/chex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chex/default.nix
@@ -15,16 +15,16 @@
 
 buildPythonPackage rec {
   pname = "chex";
-  version = "0.1.82";
+  version = "0.1.84";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "deepmind";
-    repo = pname;
+    repo = "chex";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xBq22AaR2Tp1NSPefEyvCDeUYqRZlAf5LVHWo0luiXk=";
+    hash = "sha256-LsUMvSMVGjqZuFDcb+/61RtFxweeG6bSFzmJUUMv6rA=";
   };
 
   propagatedBuildInputs = [
@@ -49,6 +49,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Chex is a library of utilities for helping to write reliable JAX code.";
     homepage = "https://github.com/deepmind/chex";
+    changelog = "https://github.com/google-deepmind/chex/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ ndl ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/chia-rs/default.nix b/nixpkgs/pkgs/development/python-modules/chia-rs/default.nix
index b8ce9ce755bc..7afec2e1a426 100644
--- a/nixpkgs/pkgs/development/python-modules/chia-rs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chia-rs/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "chia-rs";
-  version = "0.2.0";
+  version = "0.2.10";
 
   src = fetchFromGitHub {
     owner = "chia-network";
     repo = "chia_rs";
-    rev = version;
-    hash = "sha256-kjURkzynrrb5iD5s77Q3nETt71SCGGazm/2lt9HS5JU=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-MFVWdpfvmvGfWIuVdrigGucP52/dB4xCO4Pn1RvUJnM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix b/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix
index 508f32cd4641..d926a3e5e218 100644
--- a/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chiabip158/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "chiabip158";
-  version = "1.2";
+  version = "1.3";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-t0Fnsh9B83KiT5dFVVfHs7sm9HyNbMsp6goj3esoph8=";
+    hash = "sha256-HUgYVVQ7yc2X3ffnV7mCZf+oFUHl/29Mb4n91dRJ7gc=";
   };
 
   nativeBuildInputs = [ cmake setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix b/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix
index a2ed3295f01f..acd5e4ea0926 100644
--- a/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chiavdf/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "chiavdf";
-  version = "1.0.10";
-  disabled = pythonOlder "3.7";
+  version = "1.0.11";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-660Frlaj6WbYOl0sfb5ox6qTzE+jKJR0Qka9nEijSyg=";
+    hash = "sha256-PjUgpMTdWLMFQdnrpeWmn8vA8SlORjmu52ODc/2hivE=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/chispa/default.nix b/nixpkgs/pkgs/development/python-modules/chispa/default.nix
index 352a27c515dc..e72c3990e367 100644
--- a/nixpkgs/pkgs/development/python-modules/chispa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chispa/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "chispa";
-  version = "0.9.3";
+  version = "0.9.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "MrPowers";
     repo = "chispa";
     rev = "refs/tags/v${version}";
-    hash = "sha256-C+fodrQ7PztGzFHAi9SF+rkwtf4bdjDE2u0uORDXBbE=";
+    hash = "sha256-VF7k0u7QpoG3PXvU5M7jrM9pht6xeRUpYH9znMdLOxk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/circuitbreaker/default.nix b/nixpkgs/pkgs/development/python-modules/circuitbreaker/default.nix
index 05fce26d6e65..9218d82847cc 100644
--- a/nixpkgs/pkgs/development/python-modules/circuitbreaker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/circuitbreaker/default.nix
@@ -1,14 +1,15 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, mock
 , pytestCheckHook
+, pytest-asyncio
+, pytest-mock
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "circuitbreaker";
-  version = "1.4.0";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,12 +18,13 @@ buildPythonPackage rec {
     owner = "fabfuel";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-l0ASt9CQmgJmWpRrghElbff/gaNOmxNh+Wj0C0p4jE0=";
+    hash = "sha256-jaDCMGCZZu3STluYeHDNgdEPf2DNq7bXJ0LPV3JZdk0=";
   };
 
   nativeCheckInputs = [
-    mock
     pytestCheckHook
+    pytest-asyncio
+    pytest-mock
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/circus/default.nix b/nixpkgs/pkgs/development/python-modules/circus/default.nix
index e5420f26c1a0..90cf6a4be7f7 100644
--- a/nixpkgs/pkgs/development/python-modules/circus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/circus/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, flit-core
 , psutil
 , pytestCheckHook
 , pyyaml
@@ -11,13 +12,17 @@
 buildPythonPackage rec {
   pname = "circus";
   version = "0.18.0";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-GTzoIk4GjO1mckz0gxBvtmdLUaV1g6waDn7Xp+6Mcas=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     psutil
     pyzmq
diff --git a/nixpkgs/pkgs/development/python-modules/cirq-core/default.nix b/nixpkgs/pkgs/development/python-modules/cirq-core/default.nix
index ce188ce6811b..fe6a04480f66 100644
--- a/nixpkgs/pkgs/development/python-modules/cirq-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cirq-core/default.nix
@@ -4,7 +4,6 @@
 , pythonAtLeast
 , pythonOlder
 , fetchFromGitHub
-, fetchpatch
 , duet
 , matplotlib
 , networkx
@@ -32,36 +31,24 @@
 
 buildPythonPackage rec {
   pname = "cirq-core";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
-  # Upstream package is broken on Python 3.11 https://github.com/quantumlib/Cirq/issues/6018
-  disabled = pythonOlder "3.7" || pythonAtLeast "3.11";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "quantumlib";
     repo = "cirq";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5j4hbG95KRfRQTyyZgoNp/eHIcy0FphyEhbYnzyUMO4=";
+    hash = "sha256-KEei5PJ0ammsduZVmMh2vaW3f58DYI4BCrFCl/SjUoo=";
   };
 
   sourceRoot = "${src.name}/${pname}";
 
-  patches = [
-    # https://github.com/quantumlib/Cirq/pull/5991
-    (fetchpatch {
-      url = "https://build.opensuse.org/public/source/openSUSE:Factory/python-cirq/cirq-pr5991-np1.24.patch?rev=8";
-      stripLen = 1;
-      hash = "sha256-d2FpaxM1PsPWT9ZM9v2gVrnLCy9zmvkkyAVgo85eL3U=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "matplotlib~=3.0" "matplotlib" \
-      --replace "networkx~=2.4" "networkx" \
-      --replace "numpy>=1.16,<1.24" "numpy"
-  '';
+      --replace "matplotlib~=3.0" "matplotlib"
+   '';
 
   propagatedBuildInputs = [
     duet
@@ -106,6 +93,8 @@ buildPythonPackage rec {
     "test_json_and_repr_data"
     # Tests for some changed error handling behavior in SymPy 1.12
     "test_custom_value_not_implemented"
+    # Calibration issue
+    "test_xeb_to_calibration_layer"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/cirq-ft/default.nix b/nixpkgs/pkgs/development/python-modules/cirq-ft/default.nix
new file mode 100644
index 000000000000..83a8392b9520
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cirq-ft/default.nix
@@ -0,0 +1,36 @@
+{ attrs
+, buildPythonPackage
+, cachetools
+, cirq-core
+, ipython
+, ipywidgets
+, nbconvert
+, nbformat
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "cirq-ft";
+  inherit (cirq-core) version src meta;
+
+  sourceRoot = "${src.name}/${pname}";
+
+  propagatedBuildInputs = [
+    attrs
+    cachetools
+    cirq-core
+    ipython
+    ipywidgets
+    nbconvert
+    nbformat
+  ];
+
+  nativeCheckInputs = [
+    ipython
+    pytestCheckHook
+  ];
+
+  # cirq's importlib hook doesn't work here
+  #pythonImportsCheck = [ "cirq_ft" ];
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix b/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix
index 491caa5f9293..a49eebfce90d 100644
--- a/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cirq-google/default.nix
@@ -4,6 +4,7 @@
 , protobuf
 , pytestCheckHook
 , freezegun
+, pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
@@ -18,6 +19,10 @@ buildPythonPackage rec {
       --replace "protobuf >= 3.15.0, < 4" "protobuf >= 3.15.0"
   '';
 
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+
   propagatedBuildInputs = [
     cirq-core
     google-api-core
@@ -40,6 +45,8 @@ buildPythonPackage rec {
     # unittest.mock.InvalidSpecError: Cannot autospec attr 'QuantumEngineServiceClient'
     "test_get_engine_sampler_explicit_project_id"
     "test_get_engine_sampler"
+    # Calibration issue
+    "test_xeb_to_calibration_layer"
   ];
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix b/nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix
index f09f7ce04539..be0ec040995b 100644
--- a/nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cirq-rigetti/default.nix
@@ -31,20 +31,22 @@ buildPythonPackage rec {
 
   sourceRoot = "${src.name}/${pname}";
 
+  pythonRelaxDeps = [
+    "attrs"
+    "certifi"
+    "h11"
+    "httpcore"
+    "httpx"
+    "idna"
+    "iso8601"
+    "pydantic"
+    "pyjwt"
+    "pyquil"
+    "qcs-api-client"
+    "rfc3986"
+  ];
+
   postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "attrs~=20.3.0" "attrs" \
-      --replace "certifi~=2021.5.30" "certifi" \
-      --replace "h11~=0.9.0" "h11" \
-      --replace "httpcore~=0.11.1" "httpcore" \
-      --replace "httpx~=0.15.5" "httpx" \
-      --replace "idna~=2.10" "idna" \
-      --replace "pyjwt~=1.7.1" "pyjwt" \
-      --replace "qcs-api-client~=0.8.0" "qcs-api-client" \
-      --replace "iso8601~=0.1.14" "iso8601" \
-      --replace "rfc3986~=1.5.0" "rfc3986" \
-      --replace "pyquil~=3.0.0" "pyquil" \
-      --replace "pydantic~=1.8.2" "pydantic"
     # Remove outdated test
     rm cirq_rigetti/service_test.py
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/cirq/default.nix b/nixpkgs/pkgs/development/python-modules/cirq/default.nix
index f77741052447..f53613065fb3 100644
--- a/nixpkgs/pkgs/development/python-modules/cirq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cirq/default.nix
@@ -1,6 +1,7 @@
 { buildPythonPackage
 , cirq-aqt
 , cirq-core
+, cirq-ft
 , cirq-google
 , cirq-ionq
 , cirq-pasqal
@@ -16,6 +17,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     cirq-aqt
     cirq-core
+    cirq-ft
     cirq-ionq
     cirq-google
     cirq-rigetti
@@ -32,6 +34,7 @@ buildPythonPackage rec {
   disabledTestPaths = [
     "cirq-aqt"
     "cirq-core"
+    "cirq-ft"
     "cirq-google"
     "cirq-ionq"
     "cirq-pasqal"
diff --git a/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix b/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
index d9dbcf86fe53..6caadcff5af8 100644
--- a/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "clarifai-grpc";
-  version = "9.8.0";
+  version = "9.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hUx+dUx0Lkz6sEZizHqH8ONk2r19D9MIVuefhBmjEiQ=";
+    hash = "sha256-YZYawFGpGPK0T4MlWHwONqcx1fwcoZiNalhU2ydM+mo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/claripy/default.nix b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
index 1b9b0a9b6162..f0b833396838 100644
--- a/nixpkgs/pkgs/development/python-modules/claripy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.69";
-  format = "pyproject";
+  version = "9.2.73";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "angr";
-    repo = pname;
+    repo = "claripy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-l1l4E0NES06ewf499vE9fmYuqAFaylRamDrJSkGEGMQ=";
+    hash = "sha256-6wXhGMpMCh/xKmwQwvzQCgk8IQaZqDrgBh12paagkpE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cle/default.nix b/nixpkgs/pkgs/development/python-modules/cle/default.nix
index 5bb2a7db6e6e..47d2715290cd 100644
--- a/nixpkgs/pkgs/development/python-modules/cle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cle/default.nix
@@ -16,29 +16,29 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.69";
+  version = "9.2.73";
 
   # 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-AURNfPdmvMwVxYwLa60T7pJxKbGbTy3xeH/jm1Qdad0=";
+    hash = "sha256-x67mvpRvqJIrYrqdNt8AueHahCOt0AHurzWIkYx1veQ=";
   };
 
 in
 buildPythonPackage rec {
   pname = "cle";
   inherit version;
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "angr";
-    repo = pname;
+    repo = "cle";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6NDNGcKiBKKzkzXx/gnSyO/dCHD4VrcClGCMndwxF9Q=";
+    hash = "sha256-IBqNr5ILPzsRLSf7tsu/oTXXOnMPon6LrMnUq4i6oDA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cleanlab/default.nix b/nixpkgs/pkgs/development/python-modules/cleanlab/default.nix
index 0ac79e306c17..f1de682c40b5 100644
--- a/nixpkgs/pkgs/development/python-modules/cleanlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cleanlab/default.nix
@@ -16,7 +16,7 @@
 }:
 let
   pname = "cleanlab";
-  version = "2.4.0";
+  version = "2.5.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -27,8 +27,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "cleanlab";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-XFrjjBJA0OQEAspnQQiSIW4td0USJDXTp9C/91mobp8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-5XQQVrhjpvjwtFM79DqttObmw/GQLkMQVXb5jhiC8e0=";
   };
 
   # postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/clevercsv/default.nix b/nixpkgs/pkgs/development/python-modules/clevercsv/default.nix
index 6f7d682ba033..6ad07d8ec62e 100644
--- a/nixpkgs/pkgs/development/python-modules/clevercsv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clevercsv/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "clevercsv";
-  version = "0.8.1";
+  version = "0.8.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "alan-turing-institute";
     repo = "CleverCSV";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kCkMZnHbFUuBBvlQ5rn0tNeL7uTAq0aodpj2JvPo968=";
+    hash = "sha256-yyPUNFDq9W5OW1muHtQ10QgAHhXI8w7CY77fsWhIy0k=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click-aliases/0001-Fix-quotes-in-test.patch b/nixpkgs/pkgs/development/python-modules/click-aliases/0001-Fix-quotes-in-test.patch
deleted file mode 100644
index 13cc6a68e8d3..000000000000
--- a/nixpkgs/pkgs/development/python-modules/click-aliases/0001-Fix-quotes-in-test.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Nicolas Benes <nbenes.gh@xandea.de>
-Date: Mon, 12 Jun 2023 11:29:32 +0200
-Subject: [PATCH] Fix quotes in test
-
-
-diff --git a/tests/test_basic.py b/tests/test_basic.py
-index 077e6c0..90bbdc3 100644
---- a/tests/test_basic.py
-+++ b/tests/test_basic.py
-@@ -43,8 +43,8 @@ def test_foobar(runner):
- 
- TEST_INVALID = """Usage: cli [OPTIONS] COMMAND [ARGS]...
- {}
--Error: No such command "bar".
--""".format('Try "cli --help" for help.\n' if _click7 else '')
-+Error: No such command 'bar'.
-+""".format("Try 'cli --help' for help.\n" if _click7 else '')
- 
- 
- def test_invalid(runner):
-diff --git a/tests/test_foobar.py b/tests/test_foobar.py
-index fd6c4e6..ab0ad5d 100644
---- a/tests/test_foobar.py
-+++ b/tests/test_foobar.py
-@@ -44,8 +44,8 @@ def test_foobar(runner):
- 
- TEST_INVALID = """Usage: cli [OPTIONS] COMMAND [ARGS]...
- {}
--Error: No such command "baz".
--""".format('Try "cli --help" for help.\n' if _click7 else '')
-+Error: No such command 'baz'.
-+""".format("Try 'cli --help' for help.\n" if _click7 else '')
- 
- 
- def test_invalid(runner):
--- 
-2.40.1
-
diff --git a/nixpkgs/pkgs/development/python-modules/click-aliases/default.nix b/nixpkgs/pkgs/development/python-modules/click-aliases/default.nix
index 677cb1309fd7..7e2ed9b1bf5a 100644
--- a/nixpkgs/pkgs/development/python-modules/click-aliases/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-aliases/default.nix
@@ -1,23 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , click
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "click-aliases";
-  version = "1.0.1";
+  version = "1.0.2";
+
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "click-contrib";
     repo = "click-aliases";
     rev = "v${version}";
-    hash = "sha256-vzWlCb4m9TdRaVz4DrlRRZ60+9gj60NoiALgvaIG0gA=";
+    hash = "sha256-ZrNdxUMLRre0U9xCyyU8HjByNGMSXiuMDVjW9e88eyk=";
   };
 
-  patches = [
-    ./0001-Fix-quotes-in-test.patch
+  nativeBuildInputs = [
+    poetry-core
   ];
 
   propagatedBuildInputs = [
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 b0ddaef004b9..ced0f6678407 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.16.1";
+  version = "1.17.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VFoS/lOw/jbJNj9xfgZHKzR6JDTwnlCAItq4mZ3RA6I=";
+    hash = "sha256-my6dWmAqvelihtB9SzFje01dZenkkNneKqcgwKtbOuA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click/default.nix b/nixpkgs/pkgs/development/python-modules/click/default.nix
index 6d748af8b5a2..8569eede0bbb 100644
--- a/nixpkgs/pkgs/development/python-modules/click/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchPypi
+, fetchFromGitHub
 , importlib-metadata
 , pytestCheckHook
 
@@ -15,12 +15,16 @@
 
 buildPythonPackage rec {
   pname = "click";
-  version = "8.1.6";
+  version = "8.1.7";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-SO6EmVGRlSegRb/jv3uqipWcQjE04aW5jAXCC6daHL0=";
+  src = fetchFromGitHub {
+    owner = "pallets";
+    repo = "click";
+    rev = "refs/tags/${version}";
+    hash = "sha256-8YqIKRyw5MegnRwAO7YTCZateEFQFTH2PHpE8gTPTow=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
diff --git a/nixpkgs/pkgs/development/python-modules/clickgen/default.nix b/nixpkgs/pkgs/development/python-modules/clickgen/default.nix
index c4598f86d9ac..e9296435e052 100644
--- a/nixpkgs/pkgs/development/python-modules/clickgen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clickgen/default.nix
@@ -6,13 +6,14 @@
 , pillow
 , toml
 , numpy
+, pyyaml
 , python
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "clickgen";
-  version = "2.1.3";
+  version = "2.1.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,10 +22,10 @@ buildPythonPackage rec {
     owner = "ful1e5";
     repo = "clickgen";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qDaSfIeKCbyl3C2iKz9DYQc1oNwTe5xDlGg/yYhakSw=";
+    hash = "sha256-mSaltlX2eNRLJ09zN5Tim8mW8mnjPi10W4QIEpiBQvI=";
   };
 
-  propagatedBuildInputs = [ pillow toml numpy ];
+  propagatedBuildInputs = [ pillow toml numpy pyyaml ];
 
   nativeCheckInputs = [ pytestCheckHook ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix b/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix
index 9e986383dc57..3c807716e03d 100644
--- a/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clickhouse-cli/default.nix
@@ -10,11 +10,12 @@
 
 buildPythonPackage rec {
   pname = "clickhouse-cli";
-  version = "0.3.8";
+  version = "0.3.9";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-pa3vkIyNblS1LOwBReTqg8JAR2Ii32a2QIHWjau0uZE=";
+    hash = "sha256-gkgLAedUtzGv/4P+D56M2Pb5YecyqyVYp06ST62sjdY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix b/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix
index e2a2915fe38b..1d693b3629f3 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.8";
+  version = "0.6.11";
 
   format = "setuptools";
 
@@ -32,8 +32,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     repo = "clickhouse-connect";
     owner = "ClickHouse";
-    rev = "v${version}";
-    hash = "sha256-T1vUXhOngPvA4wrg5jVzIiqj0B0gEnk/BS5OdopHgkA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-1ItHRbfV8tSH5h0f+/bXIBIWfAxh4Umxqm4N4MT7oek=";
   };
 
   nativeBuildInputs = [ cython_3 ];
diff --git a/nixpkgs/pkgs/development/python-modules/cliff/default.nix b/nixpkgs/pkgs/development/python-modules/cliff/default.nix
index f6feaaf39562..978c1c3f62f8 100644
--- a/nixpkgs/pkgs/development/python-modules/cliff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cliff/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "cliff";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-l/wx6TVS477GZL6dVa1/kNwqtCqtjfKaW5hbZEybjPI=";
+    hash = "sha256-/FtuvI+4FTMncLJIXuNsCXU5N8N8zk8yJ83U4Qsz6sw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix b/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix
index 05a84ae35a26..f7e1cb2cf073 100644
--- a/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "cloudflare";
-  version = "2.11.7";
+  version = "2.12.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-e7DRZa7qB4n9B+UMZ4pT38Uj7ENEl8WZVj+rvHvFQcM=";
+    hash = "sha256-UX8ROC6pL8WR82zJupUkPac+aDReUvIh8D1R1ujXhqU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix b/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix
index f11a1cff485e..bb4340eec4c6 100644
--- a/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cloudsplaining/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "cloudsplaining";
-  version = "0.6.1";
+  version = "0.6.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "salesforce";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Bw1RhYFTz1bw+4APZKTyWP/G+LWB3R9WI/QEduEgWTQ=";
+    hash = "sha256-7aOPerqayuJTHItlpnVVSzOlSGNnqHvtIi5BdovNh3A=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clustershell/default.nix b/nixpkgs/pkgs/development/python-modules/clustershell/default.nix
index f95b9f02aa10..87fef1f934cf 100644
--- a/nixpkgs/pkgs/development/python-modules/clustershell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clustershell/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "ClusterShell";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bwqzyhQbUI2gPOGb1S8eXo0pdz/DBi1782RQqCIH7Bs=";
+    hash = "sha256-rsF/HG4GNBC+N49b+sDO2AyUI1G44wJNBUwQNPzShD0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/cmaes/default.nix b/nixpkgs/pkgs/development/python-modules/cmaes/default.nix
index 88085cd2fdf9..2e0afcf38162 100644
--- a/nixpkgs/pkgs/development/python-modules/cmaes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cmaes/default.nix
@@ -17,23 +17,38 @@ buildPythonPackage rec {
 
   src = fetchFromGitHub {
     owner = "CyberAgentAILab";
-    repo = pname;
+    repo = "cmaes";
     rev = "refs/tags/v${version}";
     hash = "sha256-1mXulG/yqNwKQKDFGBh8uxIYOPSsm8+PNp++CSswc50=";
   };
 
-  nativeBuildInputs = [ setuptools ];
-  propagatedBuildInputs = [ numpy ];
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook hypothesis ];
+  propagatedBuildInputs = [
+    numpy
+  ];
 
-  pythonImportsCheck = [ "cmaes" ];
+  nativeCheckInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "cmaes"
+  ];
+
+  disabledTests = [
+    # Disable time-sensitive test
+    "test_cma_tell"
+  ];
 
   meta = with lib; {
     description = "Python library for CMA evolution strategy";
     homepage = "https://github.com/CyberAgentAILab/cmaes";
     changelog = "https://github.com/CyberAgentAILab/cmaes/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [ maintainers.bcdarwin ];
+    maintainers = with maintainers; [ bcdarwin ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/cmdstanpy/default.nix b/nixpkgs/pkgs/development/python-modules/cmdstanpy/default.nix
index f8960fadb3aa..d2c097743c75 100644
--- a/nixpkgs/pkgs/development/python-modules/cmdstanpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cmdstanpy/default.nix
@@ -8,6 +8,7 @@
 , pandas
 , numpy
 , tqdm
+, stanio
 , xarray
 
 , pytestCheckHook
@@ -15,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "cmdstanpy";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "stan-dev";
     repo = "cmdstanpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9kAd3rbSctWEhAzB6RiQlbg5/uVxGIghYLus8hWzBFQ=";
+    hash = "sha256-1/X5JDvCx21qLNamNQXpg+w3d3DdSRlB+liIv2fThs4=";
   };
 
   patches = [
@@ -41,6 +42,7 @@ buildPythonPackage rec {
     pandas
     numpy
     tqdm
+    stanio
   ];
 
   passthru.optional-dependencies = {
diff --git a/nixpkgs/pkgs/development/python-modules/cntk/default.nix b/nixpkgs/pkgs/development/python-modules/cntk/default.nix
deleted file mode 100644
index b1bba8cf1e0f..000000000000
--- a/nixpkgs/pkgs/development/python-modules/cntk/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ lib
-, buildPythonPackage
-, pkgs
-, numpy
-, scipy
-, mpi
-, enum34
-, protobuf
-, pip
-, python
-, swig
-}:
-
-let
-  cntk = pkgs.cntk;
-in
-buildPythonPackage {
-  inherit (cntk) name version src;
-
-  nativeBuildInputs = [ swig mpi ];
-  buildInputs = [ cntk mpi ];
-  propagatedBuildInputs = [ numpy scipy enum34 protobuf pip ];
-
-  CNTK_LIB_PATH = "${cntk}/lib";
-  CNTK_COMPONENT_VERSION = cntk.version;
-  CNTK_VERSION = cntk.version;
-  CNTK_VERSION_BANNER = cntk.version;
-
-  postPatch = ''
-    cd bindings/python
-    sed -i 's,"libmpi.so.12","${mpi}/lib/libmpi.so",g' cntk/train/distributed.py
-
-    # Remove distro and libs checks; they aren't compatible with NixOS and besides we guarantee
-    # compatibility by providing a package.
-    cat <<EOF > cntk/cntk_py_init.py
-    def cntk_check_distro_info():
-      pass
-    def cntk_check_libs():
-      pass
-    EOF
-  '';
-
-  postInstall = ''
-    rm -rf $out/${python.sitePackages}/cntk/libs
-    ln -s ${cntk}/lib $out/${python.sitePackages}/cntk/libs
-    # It's not installed for some reason.
-    cp cntk/cntk_py.py $out/${python.sitePackages}/cntk
-  '';
-
-  # Actual tests are broken.
-  checkPhase = ''
-    cd $NIX_BUILD_TOP
-    ${python.interpreter} -c "import cntk"
-  '';
-
-  meta = {
-    inherit (cntk.meta) homepage description license maintainers platforms;
-    # doesn't support Python 3.7
-    broken = lib.versionAtLeast python.version "3.7";
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/cocotb/default.nix b/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
index cd9c3b035819..e8c78e1b91c2 100644
--- a/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "cocotb";
-  version = "1.8.0";
+  version = "1.8.1";
 
   # pypi source doesn't include tests
   src = fetchFromGitHub {
     owner = "cocotb";
     repo = "cocotb";
     rev = "refs/tags/v${version}";
-    hash = "sha256-k3VizQ9iyDawfDCeE3Zup/KkyD54tFBLdQvRKsbKDLY=";
+    hash = "sha256-B7SePM8muEL3KFVOY7+OAgQVIRvTs6k29xASK9lgCB4=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/cohere/default.nix b/nixpkgs/pkgs/development/python-modules/cohere/default.nix
index 29ec01f23823..0966ba8ae28c 100644
--- a/nixpkgs/pkgs/development/python-modules/cohere/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cohere/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "cohere";
-  version = "4.21";
+  version = "4.26.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9hFDj0Cd/F1aChU6WFNJ9agLFpxxArWZTZmZ7PhECGY=";
+    hash = "sha256-kiU5VooOWhqnjdhSHAIGV+D4pm9Qupz2oo0TZz9ASY8=";
   };
 
   patches = [
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 b113175941cc..967bcab909d4 100644
--- a/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "coinmetrics-api-client";
-  version = "2023.8.30.20";
+  version = "2023.9.29.14";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "coinmetrics_api_client";
-    hash = "sha256-zi9hFpmRILfWXA9eLGbzt/+v3l1wykZz10GUuH20hzE=";
+    hash = "sha256-88tNPg/0U5ZC2OvH8Bh9EzKzRFF2YClS2tyrswBaUZw=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/colored/default.nix b/nixpkgs/pkgs/development/python-modules/colored/default.nix
index 1a8c55dfde09..af696f384f15 100644
--- a/nixpkgs/pkgs/development/python-modules/colored/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/colored/default.nix
@@ -1,24 +1,33 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, nose
+, fetchFromGitLab
+, flit-core
+, unittestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "colored";
-  version = "1.4.4";
-  format = "setuptools";
+  version = "2.2.3";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-BP9NTdUUJ0/juZohu1L7lvJojAHpP7p77zciHny1bOA=";
+  src = fetchFromGitLab {
+    owner = "dslackw";
+    repo = "colored";
+    rev = "refs/tags/${version}";
+    hash = "sha256-4APFAIN+cmPPd6qbqVC9iU4YntNEjoPbJXZywG1hsBY=";
   };
 
-  nativeCheckInputs = [ nose ];
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
 
-  checkPhase = ''
-    nosetests
-  '';
+  unittestFlagsArray = [
+    "unittests"
+  ];
 
   pythonImportsCheck = [
     "colored"
diff --git a/nixpkgs/pkgs/development/python-modules/comicon/default.nix b/nixpkgs/pkgs/development/python-modules/comicon/default.nix
new file mode 100644
index 000000000000..8d69ae0fc744
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/comicon/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, ebooklib
+, lxml
+, pillow
+, pypdf
+}:
+
+buildPythonPackage rec {
+  pname = "comicon";
+  version = "1.0.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "potatoeggy";
+    repo = "comicon";
+    rev = "v${version}";
+    hash = "sha256-D6nK+GlcG/XqMTH7h7mJcbZCRG2xDHRsnooSTtphDNs=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    ebooklib
+    lxml
+    pillow
+    pypdf
+  ];
+
+  pythonImportsCheck = [ "comicon" ];
+
+  meta = with lib; {
+    description = "Lightweight comic converter library between CBZ, PDF, and EPUB";
+    homepage = "https://github.com/potatoeggy/comicon";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ Scrumplex ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/comm/default.nix b/nixpkgs/pkgs/development/python-modules/comm/default.nix
index 2f42ef87e928..627c1630489d 100644
--- a/nixpkgs/pkgs/development/python-modules/comm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/comm/default.nix
@@ -8,7 +8,7 @@
 
 let
   pname = "comm";
-  version = "0.1.3";
+  version = "0.1.4";
 in
 buildPythonPackage {
   inherit pname version;
@@ -18,7 +18,7 @@ buildPythonPackage {
     owner = "ipython";
     repo = "comm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5IUE2g00GT231hjuM7mLPst0QTk2Y+Re302FRDq65C8=";
+    hash = "sha256-6GvAyiTm+zQ5sSynuJhAg50PaMTY9EFqVVsD3K2wTkY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/command_runner/default.nix b/nixpkgs/pkgs/development/python-modules/command_runner/default.nix
new file mode 100644
index 000000000000..f5f8586d1319
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/command_runner/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, psutil }:
+
+buildPythonPackage rec {
+  pname = "command_runner";
+  version = "1.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-UIDzLLIm69W53jvS9M2LVclM+OqRYmLtvuXVAv54ltg=";
+  };
+
+  propagatedBuildInputs = [ psutil ];
+
+  meta = with lib; {
+    homepage = "https://github.com/netinvent/command_runner";
+    description = ''
+      Platform agnostic command execution, timed background jobs with live
+      stdout/stderr output capture, and UAC/sudo elevation
+    '';
+    license = licenses.bsd3;
+    maintainers = teams.wdz.members;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/compreffor/default.nix b/nixpkgs/pkgs/development/python-modules/compreffor/default.nix
index 0b5e684fdf91..f587a2963800 100644
--- a/nixpkgs/pkgs/development/python-modules/compreffor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/compreffor/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "compreffor";
-  version = "0.5.4";
+  version = "0.5.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MGulQEUGPrQ30T3VYzwRRlvzvWkFqNzqsNzAjtjX9xU=";
+    hash = "sha256-9NMmIJC8Q4hRC/H2S7OrgoWSQ9SRIPHxHvZpPrPCvHo=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/configparser/default.nix b/nixpkgs/pkgs/development/python-modules/configparser/default.nix
index b703e5de599b..9dc6d16097a2 100644
--- a/nixpkgs/pkgs/development/python-modules/configparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/configparser/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "configparser";
-  version = "5.3.0";
+  version = "6.0.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-i+JngktUHAmwjbEkkX9Iq1JabD6DcBHzEweBoiTFcJA=";
+    hash = "sha256-7JFKseVsZy3h9cNIOWTmj3GzTkV5BLe3bga5Iq7AZ6g=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
@@ -18,6 +18,12 @@ buildPythonPackage rec {
     export LC_ALL=${if stdenv.isDarwin then "en_US" else "C"}.UTF-8
   '';
 
+  preCheck = ''
+    # avoid FileNotFoundError
+    # FileNotFoundError: [Errno 2] No such file or directory: 'cfgparser.3'
+    cd tests
+  '';
+
   meta = with lib; {
     description = "Updated configparser from Python 3.7 for Python 2.6+.";
     homepage = "https://github.com/jaraco/configparser";
diff --git a/nixpkgs/pkgs/development/python-modules/confuse/default.nix b/nixpkgs/pkgs/development/python-modules/confuse/default.nix
index 1d2f56a85f11..a3a979f68f87 100644
--- a/nixpkgs/pkgs/development/python-modules/confuse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/confuse/default.nix
@@ -10,7 +10,7 @@
 buildPythonPackage rec {
   pname = "confuse";
   version = "1.7.0";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
diff --git a/nixpkgs/pkgs/development/python-modules/contourpy/default.nix b/nixpkgs/pkgs/development/python-modules/contourpy/default.nix
index dfefc1b4486e..f5af82e55ff3 100644
--- a/nixpkgs/pkgs/development/python-modules/contourpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/contourpy/default.nix
@@ -4,8 +4,10 @@
 , pythonOlder
 
 # build
+, meson
+, meson-python
+, ninja
 , pybind11
-, setuptools
 
 # propagates
 , numpy
@@ -23,7 +25,7 @@
 
 let countourpy = buildPythonPackage rec {
   pname = "contourpy";
-  version = "1.0.7";
+  version = "1.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -32,12 +34,14 @@ let countourpy = buildPythonPackage rec {
     owner = "contourpy";
     repo = "contourpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-n04b9yUoUMH2H7t8um/8h5XaL3hzY/uNMYmOKTVKEPA=";
+    hash = "sha256-7M+5HMDqQI4UgVfW/MXsVyz/yM6wjTcJEdw7vPvzuNY=";
   };
 
   nativeBuildInputs = [
+    meson
+    meson-python
+    ninja
     pybind11
-    setuptools
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/controku/default.nix b/nixpkgs/pkgs/development/python-modules/controku/default.nix
new file mode 100644
index 000000000000..4fd2e762b9c4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/controku/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, python3Packages
+, fetchFromGitHub
+, setuptools
+, requests
+, ssdpy
+, appdirs
+, pygobject3
+, gobject-introspection
+, gtk3
+, wrapGAppsHook
+, buildApplication ? false
+}:
+
+python3Packages.buildPythonPackage rec {
+  pname = "controku";
+  version = "1.1.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "benthetechguy";
+    repo = "controku";
+    rev = version;
+    hash = "sha256-sye2GtL3a77pygllZc6ylaIP7faPb+NFbyKKyqJzIXw=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ] ++ lib.optionals buildApplication [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = [
+    requests
+    ssdpy
+  ] ++ lib.optionals buildApplication [
+    gtk3
+    appdirs
+    pygobject3
+  ];
+
+  pythonImportsCheck = [ "controku" ];
+
+  meta = with lib; {
+    changelog = "https://github.com/benthetechguy/controku/releases/tag/${version}";
+    description = "Control Roku devices from the comfort of your own desktop";
+    homepage = "https://github.com/benthetechguy/controku";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mjm ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix b/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix
index 2156bd978229..45be07ce4dce 100644
--- a/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "correctionlib";
-  version = "2.2.2";
+  version = "2.3.3";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-h3eggtPLSF/8ShQ5xzowZW1KSlcI/YBsPu3lsSyzHkw=";
+    hash = "sha256-4WXY7XfZVYaJD63y7fPB6tCsc+wGAsgnFlgtFbX5IK0=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/corsair-scan/default.nix b/nixpkgs/pkgs/development/python-modules/corsair-scan/default.nix
index ecebf7f92c1b..82ef32b2d7b3 100644
--- a/nixpkgs/pkgs/development/python-modules/corsair-scan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/corsair-scan/default.nix
@@ -14,15 +14,22 @@
 buildPythonPackage rec {
   pname = "corsair-scan";
   version = "0.2.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "Santandersecurityresearch";
     repo = "corsair_scan";
-    rev = "v${version}";
-    sha256 = "09jsv5bag7mjy0rxsxjzmg73rjl7qknzr0d7a7himd7v6a4ikpmk";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-s94ZiTL7tBrhUaeB/O3Eh8o8zqtfdt0z8LKep1bZWiY=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'," ""
+  '';
+
   propagatedBuildInputs = [
     validators
     requests
@@ -36,16 +43,20 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "'pytest-runner'," ""
-  '';
+  pythonImportsCheck = [
+    "corsair_scan"
+  ];
 
-  pythonImportsCheck = [ "corsair_scan" ];
+  disabledTests = [
+    # Tests want to download Public Suffix List
+    "test_corsair_scan_401"
+    "test_corsair_scan_origin"
+  ];
 
   meta = with lib; {
     description = "Python module to check for Cross-Origin Resource Sharing (CORS) misconfigurations";
     homepage = "https://github.com/Santandersecurityresearch/corsair_scan";
+    changelog = "https://github.com/Santandersecurityresearch/corsair_scan/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/coverage/default.nix b/nixpkgs/pkgs/development/python-modules/coverage/default.nix
index 4e1f780e3613..2bcfe6c34655 100644
--- a/nixpkgs/pkgs/development/python-modules/coverage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coverage/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "coverage";
-  version = "7.2.1";
+  version = "7.3.1";
   # uses f strings
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-x38qkJPM8yndUjqbKzyFTCDSo9lott7zuCAnLKZzIkI=";
+    hash = "sha256-bLf+FYHetnt4LBUxNlQeIJAaoxLO7a8UZ9yzUlV4eVI=";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/cramjam/default.nix b/nixpkgs/pkgs/development/python-modules/cramjam/default.nix
index b0ca3c0ac0e4..03d823812c15 100644
--- a/nixpkgs/pkgs/development/python-modules/cramjam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cramjam/default.nix
@@ -7,7 +7,7 @@
 , brotli
 , hypothesis
 , lz4
-, memory_profiler
+, memory-profiler
 , numpy
 , py
 , pytest-benchmark
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     brotli
     hypothesis
     lz4
-    memory_profiler
+    memory-profiler
     numpy
     py
     pytest-benchmark
diff --git a/nixpkgs/pkgs/development/python-modules/crate/default.nix b/nixpkgs/pkgs/development/python-modules/crate/default.nix
index 6535ab5f6c8d..2a6b5a1fc1ee 100644
--- a/nixpkgs/pkgs/development/python-modules/crate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crate/default.nix
@@ -1,25 +1,26 @@
 { lib
 , fetchPypi
 , buildPythonPackage
+, dask
 , urllib3
 , geojson
+, pandas
 , pythonOlder
 , sqlalchemy
 , pytestCheckHook
 , pytz
-, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "crate";
-  version = "0.31.1";
+  version = "0.33.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SYjzyPqKR6BpC5z3P/ASDXe0mwi8Hz413b8Fm7cc5zo=";
+    hash = "sha256-bzsJnWw4rLjl1VrjmfNq4PudrnWPB1FzIuWAc9WmT6M=";
   };
 
   propagatedBuildInputs = [
@@ -29,6 +30,8 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    dask
+    pandas
     pytestCheckHook
     pytz
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/crc/default.nix b/nixpkgs/pkgs/development/python-modules/crc/default.nix
index eee1f058366f..47c2da0f8505 100644
--- a/nixpkgs/pkgs/development/python-modules/crc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crc/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "crc";
-  version = "4.3.0";
+  version = "5.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Nicoretti";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-rH/jc6/gxww3NSCYrhu+InZX1HTTdJFfa52ioU8AclY=";
+    hash = "sha256-+C4cUKXZCpAXil8X4gTK3AhqNVWDrBQYY2Kgkd3+gqc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cronsim/default.nix b/nixpkgs/pkgs/development/python-modules/cronsim/default.nix
index ef4e533a977c..098dbe711d9d 100644
--- a/nixpkgs/pkgs/development/python-modules/cronsim/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cronsim/default.nix
@@ -1,20 +1,22 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "cronsim";
-  version = "2.3";
+  version = "2.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-ebFYIOANXZLmM6cbovwBCJH8Wr/HlJbOR9YGp8Jw7pc=";
+  src = fetchFromGitHub {
+    owner = "cuu508";
+    repo = "cronsim";
+    rev = "refs/tags/${version}";
+    hash = "sha256-TSVFkMCMmrMXaPJPPNjIML+z98i1iIYuKH7hHiZnJkg=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cryptodatahub/default.nix b/nixpkgs/pkgs/development/python-modules/cryptodatahub/default.nix
new file mode 100644
index 000000000000..734569297796
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cryptodatahub/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitLab
+
+# build-system
+, setuptools
+
+# dependencies
+, asn1crypto
+, attrs
+, pathlib2
+, python-dateutil
+, six
+, urllib3
+
+# tests
+, beautifulsoup4
+, pyfakefs
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "cryptodatahub";
+  version = "0.10.1";
+  format = "pyproject";
+
+  src = fetchFromGitLab {
+    owner = "coroner";
+    repo = "cryptodatahub";
+    rev = "v${version}";
+    hash = "sha256-eLdK5gFrLnbIBB1NTeQzpdCLPdATVjzPn5LhhUsDuwo=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    asn1crypto
+    attrs
+    pathlib2
+    python-dateutil
+    six
+    urllib3
+  ];
+
+  pythonImportsCheck = [ "cryptodatahub" ];
+
+  nativeCheckInputs = [
+    beautifulsoup4
+    pyfakefs
+    unittestCheckHook
+  ];
+
+  preCheck = ''
+    # failing tests
+    rm test/updaters/test_common.py
+  '';
+
+  meta = with lib; {
+    description = "Repository of cryptography-related data";
+    homepage = "https://gitlab.com/coroner/cryptodatahub";
+    changelog = "https://gitlab.com/coroner/cryptodatahub/-/blob/${src.rev}/CHANGELOG.rst";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix b/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix
index f25c46907b61..da45bb33ffc0 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.8.4";
+  version = "0.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "CryptoLyzer";
     inherit version;
-    hash = "sha256-7qMNz8F0B3bph/nHkS1VrkcF1bETWAklXFOlMWu3K9s=";
+    hash = "sha256-jb2yin3W+VfqFWJbQOXNml0xJEbSr1SfSSFupfxBHRs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix b/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix
index afbbe513b21b..1eab372381bc 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix
@@ -1,26 +1,36 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 , attrs
-, six
 , asn1crypto
+, cryptodatahub
 , python-dateutil
+, urllib3
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "cryptoparser";
-  version = "0.8.4";
+  version = "0.10.0";
+  format = "pyproject";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-Sn4sfzu1Y1gC+4K9WdiZW92cYuVbUsBXcNbNQOv0BRw=";
+    pname = "CryptoParser";
+    inherit version;
+    hash = "sha256-43V82/nxtOa9y4fVOMsxhoSQpDxTyOcHIGsbRr0euAk=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    attrs
-    six
     asn1crypto
+    attrs
+    cryptodatahub
     python-dateutil
+    urllib3
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix b/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix
index 4e725dd8cde2..26e7080c2139 100644
--- a/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix
@@ -6,20 +6,21 @@
 , pythonOlder
 , setuptools
 , solc-select
+, toml
 }:
 
 buildPythonPackage rec {
   pname = "crytic-compile";
-  version = "0.3.4";
+  version = "0.3.5";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "crytic";
     repo = "crytic-compile";
     rev = "refs/tags/${version}";
-    hash = "sha256-CeoACtgvMweDbIvYguK2Ca+iTBFONWcE2b0qUkBbQSU=";
+    hash = "sha256-aO2K0lc3qjKK8CZAbu/lotI5QJ/R+8npSIRX4a6HdrI=";
   };
 
   propagatedBuildInputs = [
@@ -27,6 +28,7 @@ buildPythonPackage rec {
     pycryptodome
     setuptools
     solc-select
+    toml
   ];
 
   # Test require network access
diff --git a/nixpkgs/pkgs/development/python-modules/cssutils/default.nix b/nixpkgs/pkgs/development/python-modules/cssutils/default.nix
index 75ded7bd3e59..ab8615b0fe9b 100644
--- a/nixpkgs/pkgs/development/python-modules/cssutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cssutils/default.nix
@@ -6,7 +6,6 @@
 , fetchPypi
 , setuptools
 , setuptools-scm
-, importlib-metadata
 , cssselect
 , jaraco-test
 , lxml
@@ -17,15 +16,15 @@
 
 buildPythonPackage rec {
   pname = "cssutils";
-  version = "2.7.1";
+  version = "2.9.0";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NA7P2YNdId+PmFAPDfzqCu5By04Z7Lws+U8KbTbXy2w=";
+    hash = "sha256-iUd7PRfXkOl7n7Te9wh2cGEFV5Wq5vfIKuMulnyb5M0=";
   };
 
   nativeBuildInputs = [
@@ -33,10 +32,6 @@ buildPythonPackage rec {
     setuptools-scm
   ];
 
-  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
-    importlib-metadata
-  ];
-
   nativeCheckInputs = [
     cssselect
     jaraco-test
diff --git a/nixpkgs/pkgs/development/python-modules/ctranslate2/default.nix b/nixpkgs/pkgs/development/python-modules/ctranslate2/default.nix
index bfb8c31a48a8..a86516856fd4 100644
--- a/nixpkgs/pkgs/development/python-modules/ctranslate2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ctranslate2/default.nix
@@ -12,7 +12,7 @@
 
 # tests
 , pytestCheckHook
-, tensorflow
+, tensorflow-bin
 , torch
 , transformers
 , wurlitzer
@@ -49,7 +49,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    tensorflow
+    tensorflow-bin
     torch
     transformers
     wurlitzer
diff --git a/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix b/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix
index 8c1da0f7f5c4..0a2b13ad4c81 100644
--- a/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix
@@ -21,13 +21,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 buildPythonPackage rec {
   pname = "cvxopt";
-  version = "1.3.0";
+  version = "1.3.2";
 
   disabled = isPyPy; # hangs at [translation:info]
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ALGyMvnR+QLVeKnXWBS2f6AgdY1a5CLijKjO9iafpcY=";
+    hash = "sha256-NGH6QsGyJAuk2h2YXKc1A5FBV/xMd0FzJ+1tfYWs2+Y=";
   };
 
   buildInputs = (if stdenv.isDarwin then [ openblas ] else [ blas lapack ]);
diff --git a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
index 3d15d8d7776c..0fb8be981e10 100644
--- a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
@@ -67,6 +67,8 @@ buildPythonPackage rec {
     "test_diffcp_sdp_example"
     "test_huber"
     "test_partial_problem"
+    # https://github.com/cvxpy/cvxpy/issues/2174
+    "test_scipy_mi_time_limit_reached"
   ] ++ lib.optionals stdenv.isAarch64 [
     "test_ecos_bb_mi_lp_2" # https://github.com/cvxpy/cvxpy/issues/1241#issuecomment-780912155
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix b/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix
index b30fa8e5659f..db03a359a6bd 100644
--- a/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "cx-freeze";
-  version = "6.14.4";
+  version = "6.15.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.5";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "cx_Freeze";
     inherit version;
-    hash = "sha256-ydox+o4B0t/dYD+nDiY5CmWupt1iMzyU2fA4tCqgVcg=";
+    hash = "sha256-+X9FWkpG7gwHbZIqKftT7/RioWXdBCP6J+J8KkRTtAs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
index 706129075717..b07ceca9a6dc 100644
--- a/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
@@ -23,16 +23,16 @@
 
 buildPythonPackage rec {
   pname = "cyclonedx-python-lib";
-  version = "4.2.2";
+  version = "4.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "CycloneDX";
-    repo = pname;
+    repo = "cyclonedx-python-lib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7bqIKwKGfMj5YPqZpvWtP881LNOgvJ+DMHs1U63gCN0=";
+    hash = "sha256-I94YsfDJ+FGQBRWCRKum917tXJ5vFm/cWbbM+NpwA4M=";
   };
 
   nativeBuildInputs = [
@@ -83,6 +83,11 @@ buildPythonPackage rec {
     "test_bom_v1_4_with_metadata_component"
   ];
 
+  disabledTestPaths = [
+    # Test failures seem py-serializable related
+    "tests/test_output_xml.py"
+  ];
+
   meta = with lib; {
     description = "Python library for generating CycloneDX SBOMs";
     homepage = "https://github.com/CycloneDX/cyclonedx-python-lib";
diff --git a/nixpkgs/pkgs/development/python-modules/cython-test-exception-raiser/default.nix b/nixpkgs/pkgs/development/python-modules/cython-test-exception-raiser/default.nix
new file mode 100644
index 000000000000..e6f3f8b451b3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cython-test-exception-raiser/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cython
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "cython-test-exception-raiser";
+  version = "1.0.2";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "twisted";
+    repo = "cython-test-exception-raiser";
+    rev = "v${version}";
+    hash = "sha256-fwMq0pOrFUJnPndH/a6ghoo6mlcVSxtsWazqE9mCx3M=";
+  };
+
+  nativeBuildInputs = [
+    cython
+    setuptools
+    wheel
+  ];
+
+  pythonImportsCheck = [
+    "cython_test_exception_raiser"
+  ];
+
+  meta = with lib; {
+    description = "Testing only. A cython simple extension which is used as helper for twisted/twisted Failure tests";
+    homepage = "https://github.com/twisted/cython-test-exception-raiser";
+    changelog = "https://github.com/twisted/cython-test-exception-raiser/blob/${src.rev}/CHANGELOG.rst";
+    license = with licenses; [ publicDomain mit ];
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix b/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix
index 768950237acb..ce24c505b83b 100644
--- a/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cytoolz/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "cytoolz";
-  version = "0.12.1";
+  version = "0.12.2";
   disabled = isPy27 || isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/DOQk5dIHJDePOyDG/uI2X4iDckZOdmWkgIC8YS0ZI4=";
+    hash = "sha256-MdSwRV1y2RRkX4A9kX2vTzFNEVxw3gV404IN64sQH2Y=";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix b/nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix
index 0f5a0f07e06d..f20b693d3870 100644
--- a/nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "dalle-mini";
-  version = "0.1.4";
+  version = "0.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UwCcoKbGxZT5XB+Mtv8kAHFdj0iLw8U1Ayo60y3Tm7U=";
+    hash = "sha256-k4XILjNNz0FPcAzwPEeqe5Lj24S2Y139uc9o/1IUS1c=";
   };
 
   format = "setuptools";
diff --git a/nixpkgs/pkgs/development/python-modules/darkdetect/default.nix b/nixpkgs/pkgs/development/python-modules/darkdetect/default.nix
new file mode 100644
index 000000000000..534d9a0573ce
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/darkdetect/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, stdenv
+
+, glib
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "darkdetect";
+  version = "0.8.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "albertosottile";
+    repo = "darkdetect";
+    rev = "v${version}";
+    hash = "sha256-OOINgrgjSLr3L07E9zf1+mlTPr+7ZlgN3CfkWE8+LoE=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  pythonImportsCheck = [
+    "darkdetect"
+  ];
+
+  postPatch = lib.optionalString (stdenv.isLinux) ''
+    substituteInPlace darkdetect/_linux_detect.py \
+      --replace "'gsettings'" "'${glib.bin}/bin/gsettings'"
+  '';
+
+  meta = with lib; {
+    description = "Detect OS Dark Mode from Python";
+    homepage = "https://github.com/albertosottile/darkdetect";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ paveloom ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dash/default.nix b/nixpkgs/pkgs/development/python-modules/dash/default.nix
index d990d710d639..5d99a40c004b 100644
--- a/nixpkgs/pkgs/development/python-modules/dash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dash/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "2.10.2";
+  version = "2.13.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "plotly";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-OcY4nEtIfR9nvBaBwpHeUJkHXwWZp+LZxjhEkwjRC9k=";
+    hash = "sha256-+pTxEPuXtcu+ZekphqXD/k2tQ5werH/1ueGJOxA8pZw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix b/nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix
index a0ae12d7c13e..a913f577b77b 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dask-awkward";
-  version = "2023.8.1";
+  version = "2023.9.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "dask-contrib";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-sSsd35Psf3VEydkNxtd9mSBzV23S7fRM/jhbC9T62kY=";
+    hash = "sha256-eGdOFI2KCpheMQcUH1jokyBO96dqyUlcl98jcgdRkYA=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/dask-glm/default.nix b/nixpkgs/pkgs/development/python-modules/dask-glm/default.nix
index 77dbf3717d5d..4e0357ddd823 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-glm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-glm/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "dask-glm";
-  version = "0.2.0";
+  version = "0.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WLhs6/BP5bnlgJLhxGfjLmDQHhG3H9xii6qp/G0a3uU=";
+    hash = "sha256-ddaYNBUlvsMzrku7fKrlozRmjshVbQ9yrYIlaRBQCp4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dask/default.nix b/nixpkgs/pkgs/development/python-modules/dask/default.nix
index 355e16553be0..341a133c987c 100644
--- a/nixpkgs/pkgs/development/python-modules/dask/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask/default.nix
@@ -38,7 +38,7 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2023.8.0";
+  version = "2023.9.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     owner = "dask";
     repo = "dask";
     rev = "refs/tags/${version}";
-    hash = "sha256-ZKjfxTJCu3EUOKz16+VP8+cPqQliFNc7AU1FPC1gOXw=";
+    hash = "sha256-NJLZyxVS5L25wC79mZ6kRjxxd5dYcjWiC3x3A5Topm8=";
   };
 
   nativeBuildInputs = [
@@ -140,6 +140,9 @@ buildPythonPackage rec {
     "test_dot"
     "test_dot_nan"
     "test_merge_column_with_nulls"
+    # FileNotFoundError: [Errno 2] No such file or directory: '/build/tmp301jryv_/createme/0.part'
+    "test_to_csv_nodir"
+    "test_to_json_results"
   ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/nixpkgs/pkgs/development/python-modules/databases/default.nix b/nixpkgs/pkgs/development/python-modules/databases/default.nix
index 2f731daa1131..bbd16ffb126d 100644
--- a/nixpkgs/pkgs/development/python-modules/databases/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/databases/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "databases";
-  version = "0.7.0";
+  version = "0.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-3RRHXkM8/GoIcO6Y1EZGbnp/X5gzYkW/PV4bzGay6ZI=";
+    hash = "sha256-e3iMZBPdldZFuS7FyhbGj9SufnH5hBBt8MEUjixXfqA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/databricks-sql-connector/default.nix b/nixpkgs/pkgs/development/python-modules/databricks-sql-connector/default.nix
index 8d087712a539..f47949a6198e 100644
--- a/nixpkgs/pkgs/development/python-modules/databricks-sql-connector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/databricks-sql-connector/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "databricks-sql-connector";
-  version = "2.4.0";
+  version = "2.9.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "databricks";
     repo = "databricks-sql-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-V8Nl6xr96Xnd1gkw9R0aqXkitLESsAyW7ufTYn6ttLg=";
+    hash = "sha256-y4Pmkgq3hv6mVu0zBsoiqNOcsHM0mxTNiJOCCZ+rwA8=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix b/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix
index 32328178fa4e..77a14c44b7cb 100644
--- a/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dataclasses-json/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "dataclasses-json";
-  version = "0.6.0";
+  version = "0.6.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "lidatong";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jv00WqSC/KCM+6+LtsCAQcqZTBbV1pavEqsCP/F84VU=";
+    hash = "sha256-pZohueZvEIGgY6isci2mGGBewfi9SwnHHy8OwyJGR0w=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/dataprep-ml/default.nix b/nixpkgs/pkgs/development/python-modules/dataprep-ml/default.nix
new file mode 100644
index 000000000000..3eeac2e85b9b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dataprep-ml/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, poetry-core
+, numpy
+, pandas
+, pydateinfer
+, python-dateutil
+, scipy
+, type-infer
+, dataclasses-json
+, colorlog
+, pydantic
+, nltk-data
+, symlinkJoin
+}:
+let
+  testNltkData = symlinkJoin {
+    name = "nltk-test-data";
+    paths = [ nltk-data.punkt nltk-data.stopwords ];
+  };
+in
+buildPythonPackage rec {
+  pname = "dataprep-ml";
+  version = "0.0.18";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  # using PyPI as github repo does not contain tags or release branches
+  src = fetchPypi {
+    pname = "dataprep_ml";
+    inherit version;
+    hash = "sha256-nIqyRwv62j8x5Fy7ILMLWxw6yJmkkNRE1zyUlfvRYTI=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    pandas
+    pydateinfer
+    python-dateutil
+    scipy
+    type-infer
+    dataclasses-json
+    colorlog
+    pydantic
+  ];
+
+  # PyPI tarball has no tests
+  doCheck = false;
+
+  # Package import requires NLTK data to be downloaded
+  # It is the only way to set NLTK_DATA environment variable,
+  # so that it is available in pythonImportsCheck
+  env.NLTK_DATA = testNltkData;
+  pythonImportsCheck = [
+    "dataprep_ml"
+    "dataprep_ml.cleaners"
+    "dataprep_ml.helpers"
+    "dataprep_ml.imputers"
+    "dataprep_ml.insights"
+    "dataprep_ml.recommenders"
+    "dataprep_ml.splitters"
+  ];
+
+  meta = with lib; {
+    description = "Data utilities for Machine Learning pipelines";
+    homepage = "https://github.com/mindsdb/dataprep_ml";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dataset/default.nix b/nixpkgs/pkgs/development/python-modules/dataset/default.nix
index a3f2d67d35a7..9446920d0b05 100644
--- a/nixpkgs/pkgs/development/python-modules/dataset/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dataset/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "dataset";
-  version = "1.6.0";
+  version = "1.6.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fNvJBdZjtYKvhGzwULfP2iDNUrqhxiwRlhlFrHfmGdU=";
+    hash = "sha256-d9NiEY9nqMu0hI29MKs2K5+nz+vb+vQmycUAyziWmpk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/datasets/default.nix b/nixpkgs/pkgs/development/python-modules/datasets/default.nix
index eae7b663dd99..0802ae5cf6f6 100644
--- a/nixpkgs/pkgs/development/python-modules/datasets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datasets/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "datasets";
-  version = "2.14.4";
+  version = "2.14.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-2XC5k546JvqUV4xeL1SRQOHDzItL1CE3bJQMjva3IkY=";
+    hash = "sha256-oLB6laY/Si071mBKoWlZpd1fqr/wNtAnhRvBKLjeEuE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/datasette/default.nix b/nixpkgs/pkgs/development/python-modules/datasette/default.nix
index 7063e90a1d85..e5d169b6d3cc 100644
--- a/nixpkgs/pkgs/development/python-modules/datasette/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datasette/default.nix
@@ -29,22 +29,21 @@
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.64.4";
+  version = "0.64.5";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "simonw";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-6zZgbUKszSo13qmrWKo5UAPqS/QaS8omoTJQgWFfULk=";
+    hash = "sha256-cCzvltq3DFbfRp0gO8RQxGUwBtYJcJoeYHIz06FA7vM=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace '"pytest-runner"' "" \
-      --replace "click-default-group-wheel>=1.2.2" "click-default-group"
+      --replace '"pytest-runner"' ""
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/datauri/default.nix b/nixpkgs/pkgs/development/python-modules/datauri/default.nix
index 4c89eb9ba279..d5ed9bf0525e 100644
--- a/nixpkgs/pkgs/development/python-modules/datauri/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datauri/default.nix
@@ -1,31 +1,38 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
+, pydantic
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "datauri";
-  version = "1.1.0";
+  version = "2.0.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "fcurella";
     repo = "python-datauri";
-    rev = "v${version}";
-    hash = "sha256-Eevd/xxKgxvvsAfI/L/KShH+PfxffBGyVwKewLgyEu0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-k4tlWRasGa2oQykCD9QJl65UAoZQMJVdyCfqlUBBgqY=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   pythonImportsCheck = [
     "datauri"
   ];
 
   nativeCheckInputs = [
+    pydantic
     pytestCheckHook
   ];
 
-  disabledTestPaths = [
-    # UnicodeDecodeError: 'utf-8' codec can't decode
-    "tests/test_file_ebcdic.txt"
+  disabledTests = [
+    "test_pydantic" # incompatible with pydantic v2
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/dbt-bigquery/default.nix b/nixpkgs/pkgs/development/python-modules/dbt-bigquery/default.nix
index 9d456c84d22c..5b1e9aeeb946 100644
--- a/nixpkgs/pkgs/development/python-modules/dbt-bigquery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbt-bigquery/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "dbt-bigquery";
-  version = "1.5.3";
+  version = "1.6.4";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dbt-labs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-mzqUdT+dI7U0tHHcr0joIB1UCfKXrDdqhtVFShjIKus=";
+    hash = "sha256-m458gg5TQ7jznhA9QNi8KQ+ICxdQn58mS0jvyZ88Fmg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix b/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
index e927665bdc85..930dd5618ccf 100644
--- a/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
@@ -30,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "dbt-core";
-  version = "1.5.5";
+  version = "1.6.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dbt-labs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-aAe3sNa4CxqynsFHoTLEYWo12jEF/LAyYMqnpy5cTbg=";
+    hash = "sha256-zmZdFOB0jQHamRJ7Zuzr/augP6Y2smAdUvqSXDZDuwo=";
   };
 
   sourceRoot = "${src.name}/core";
diff --git a/nixpkgs/pkgs/development/python-modules/dbt-redshift/default.nix b/nixpkgs/pkgs/development/python-modules/dbt-redshift/default.nix
index b757683e9516..46f62dcafd7e 100644
--- a/nixpkgs/pkgs/development/python-modules/dbt-redshift/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbt-redshift/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "dbt-redshift";
-  version = "1.5.8";
+  version = "1.6.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dbt-labs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-T7cNszIroOT8TNfOzZpdJDR1+5ybhkXvyvvM5zokVgo=";
+    hash = "sha256-5sgge55BwvC00Gj3UvLS/uzCgNSi4j4YdVlg/LuJI+s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dbt-snowflake/default.nix b/nixpkgs/pkgs/development/python-modules/dbt-snowflake/default.nix
index b32f7fbd9a6b..dccf0ed7f989 100644
--- a/nixpkgs/pkgs/development/python-modules/dbt-snowflake/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbt-snowflake/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "dbt-snowflake";
-  version = "1.5.2";
+  version = "1.6.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dbt-labs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Oz9BDvxSG4kOteuwKiPccxlsmQtOEwDLVyirDSWy1kY=";
+    hash = "sha256-AOO3VbU1R3/snH7U7K9XXokBGXtf9Udpv7eR5HCBxss=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dbus-deviation/default.nix b/nixpkgs/pkgs/development/python-modules/dbus-deviation/default.nix
index 016b18f25081..164c543a5ed7 100644
--- a/nixpkgs/pkgs/development/python-modules/dbus-deviation/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbus-deviation/default.nix
@@ -9,12 +9,17 @@
 buildPythonPackage rec {
   pname = "dbus-deviation";
   version = "0.6.1";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-4GuI7+IjiF0nJd9Rz3ybe0Y9HG8E6knUaQh0MY0Ot6M=";
   };
 
+  postPatch = ''
+    sed -i "/'sphinx',/d" setup.py
+  '';
+
   nativeBuildInputs = [
     setuptools-git
     sphinx
diff --git a/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix b/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
index a4cf927ec901..b5d2ce8eef71 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.9.0";
+  version = "2.11.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-0+uWnm0gygDL4sc2b+3dekgZfgAQZKfmJRMSDgyeMjk=";
+    hash = "sha256-oYBk+Rko5qK1k2TJdDNiN0rWdx7sdy6UpxMlDynKZ9Y=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/nixpkgs/pkgs/development/python-modules/dctorch/default.nix b/nixpkgs/pkgs/development/python-modules/dctorch/default.nix
new file mode 100644
index 000000000000..d44d00629cff
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dctorch/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, poetry-core
+, numpy
+, scipy
+, torch
+}:
+
+buildPythonPackage rec {
+  pname = "dctorch";
+  version = "0.1.2";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-TmfLAkiofrQNWYBhIlY4zafbZPgFftISCGloO/rlEG4=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    torch
+  ];
+
+  pythonImportsCheck = [
+    "dctorch"
+  ];
+
+  doCheck = false; # no tests
+
+  meta = with lib; {
+    description = "Fast discrete cosine transforms for pytorch";
+    homepage = "https://pypi.org/project/dctorch/";
+    license = licenses.mit;
+    maintainers = teams.tts.members;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/deal-solver/default.nix b/nixpkgs/pkgs/development/python-modules/deal-solver/default.nix
index dc66675dc095..5c91d6d92559 100644
--- a/nixpkgs/pkgs/development/python-modules/deal-solver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deal-solver/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "deal-solver";
-  version = "0.1.1";
+  version = "0.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "life4";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-LXBAWbm8fT/jYNbzB95YeBL9fEknMNJvkTRMbc+nf6c=";
+    hash = "sha256-DAOeQLFR/JED32uJSW7W9+Xx5f1Et05W8Fp+Vm7sfZo=";
   };
 
   nativeBuildInputs = [
@@ -53,6 +53,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Z3-powered solver (theorem prover) for deal";
     homepage = "https://github.com/life4/deal-solver";
+    changelog = "https://github.com/life4/deal-solver/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ gador ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/deal/default.nix b/nixpkgs/pkgs/development/python-modules/deal/default.nix
index 861f9c6847ce..0333bb37ce3b 100644
--- a/nixpkgs/pkgs/development/python-modules/deal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deal/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "deal";
-  version = "4.24.0";
+  version = "4.24.2";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "life4";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-5gd46SMucH0rek9talMJ74TMRRvUm5Up6pCusUIHDjE=";
+    hash = "sha256-bdIoKOOC7qSer9Cp9A55HG960xunKXT2WiXp0UC6tsI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/deap/default.nix b/nixpkgs/pkgs/development/python-modules/deap/default.nix
index a6e901199204..4f0d493c0f80 100644
--- a/nixpkgs/pkgs/development/python-modules/deap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deap/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "deap";
-  version = "1.3.3";
+  version = "1.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-h3LxsP/wQtXlFrCuusLHBiQwRap9DejguGWPOAGBzzE=";
+    hash = "sha256-zAHemJLfp9G8mAPasoiS/q0XfwGCyB20c2CiQOrXeP8=";
   };
 
   propagatedBuildInputs = [ numpy matplotlib ];
diff --git a/nixpkgs/pkgs/development/python-modules/debugpy/default.nix b/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
index 2cf365846246..85389fba2fb2 100644
--- a/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
@@ -2,10 +2,8 @@
 , stdenv
 , buildPythonPackage
 , pythonOlder
-, pythonAtLeast
 , fetchFromGitHub
 , substituteAll
-, fetchpatch
 , gdb
 , django
 , flask
@@ -23,7 +21,7 @@ buildPythonPackage rec {
   version = "1.8.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.8" || pythonAtLeast "3.13";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "microsoft";
@@ -110,13 +108,8 @@ buildPythonPackage rec {
   __darwinAllowLocalNetworking = true;
 
   disabledTests = [
-    # https://github.com/microsoft/debugpy/issues/1241
-    "test_flask_breakpoint_multiproc"
-
-    # DeprecationWarning: pkg_resources is deprecated as an API
-    # Supposedly fixed in https://github.com/microsoft/debugpy/pull/1374,
-    # but still fails for a nix build
-    "test_gevent"
+    # testsuite gets stuck at this one
+    "test_attach_pid_client"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/deep_merge/default.nix b/nixpkgs/pkgs/development/python-modules/deep_merge/default.nix
deleted file mode 100644
index ad879347367c..000000000000
--- a/nixpkgs/pkgs/development/python-modules/deep_merge/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, nose }:
-
-buildPythonPackage rec {
-  pname = "deep_merge";
-  version = "0.0.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "tUQV+Qk0xC4zQRTihky01OczWzStOW41rYYQyWBlpH4=";
-  };
-
-  nativeCheckInputs = [
-    nose
-  ];
-
-  doCheck = false;
-
-  meta = with lib; {
-    description = "This library contains a simple utility for deep-merging dictionaries and the data structures they contain";
-    homepage = "https://github.com/halfak/deep_merge";
-    license = licenses.mit;
-    maintainers = [ maintainers.anhdle14 ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/deepdiff/default.nix b/nixpkgs/pkgs/development/python-modules/deepdiff/default.nix
index 7f1f0481d228..93deb8c10b81 100644
--- a/nixpkgs/pkgs/development/python-modules/deepdiff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deepdiff/default.nix
@@ -11,12 +11,13 @@
 , python-dateutil
 , pyyaml
 , toml
+, tomli-w
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "deepdiff";
-  version = "6.3.0";
+  version = "6.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "seperman";
     repo = "deepdiff";
     rev = "refs/tags/${version}";
-    hash = "sha256-txZ1X1J8DwueDRpLP3OuRA+S9hc5G3YCmEG+AS6ZAkI=";
+    hash = "sha256-oO5+ZCDgqonxaHR95tSrPkZDar/fzr1FXtl6J2W3PeU=";
   };
 
   postPatch = ''
@@ -52,8 +53,15 @@ buildPythonPackage rec {
     numpy
     pytestCheckHook
     python-dateutil
+    tomli-w
   ] ++ passthru.optional-dependencies.cli;
 
+  disabledTests = [
+    # not compatible with pydantic 2.x
+    "test_pydantic1"
+    "test_pydantic2"
+  ];
+
   pythonImportsCheck = [
     "deepdiff"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix b/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
index 7b185d6d5a1f..dd9505625af0 100644
--- a/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "deezer-python";
-  version = "6.1.0";
+  version = "6.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "browniebroke";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-9uFKrr0C/RIklpW5KZj8pSv4oEibzSaAJWnTwYKyxD8=";
+    hash = "sha256-pzEXiWKMP2Wqme/pqfTMHxWH/4YcCS6u865wslHrUqI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/defcon/default.nix b/nixpkgs/pkgs/development/python-modules/defcon/default.nix
index 8d5d9da29a02..3203f0bb973e 100644
--- a/nixpkgs/pkgs/development/python-modules/defcon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/defcon/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "defcon";
-  version = "0.10.2";
+  version = "0.10.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ruOW5taeRa5lyCZHgTktTCkRaTSyc3rXbYIwtAwYKkQ=";
+    hash = "sha256-Vt4m18dfFk7qA+KLwRtMdpxo1wX6GG38rrVsJ/mkzAw=";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/deform/default.nix b/nixpkgs/pkgs/development/python-modules/deform/default.nix
index 42c1602a399f..3e5ad6939e9d 100644
--- a/nixpkgs/pkgs/development/python-modules/deform/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deform/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, chameleon, colander, iso8601, peppercorn, translationstring, zope_deprecation
+, chameleon, colander, iso8601, peppercorn, translationstring, zope-deprecation
 , nose, coverage, beautifulsoup4, flaky, pyramid, pytestCheckHook }:
 
 buildPythonPackage rec {
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     iso8601
     peppercorn
     translationstring
-    zope_deprecation
+    zope-deprecation
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/denonavr/default.nix b/nixpkgs/pkgs/development/python-modules/denonavr/default.nix
index 534d960b49a8..acfa4dc0eb5c 100644
--- a/nixpkgs/pkgs/development/python-modules/denonavr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/denonavr/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "denonavr";
-  version = "0.11.3";
+  version = "0.11.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ol-iver";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-QBy1nm09trAmL7KsPWgv5iMAOJ3Fkviug/o7a+tSSDA=";
+    hash = "sha256-0+BjakGGnCbmiSHSipRifPkasfP1vvAWGvzyRufpsOk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/deprecated/default.nix b/nixpkgs/pkgs/development/python-modules/deprecated/default.nix
index 4c8dae04e7bd..ed2cf8a01171 100644
--- a/nixpkgs/pkgs/development/python-modules/deprecated/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deprecated/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "deprecated";
-  version = "1.2.13";
+  version = "1.2.14";
   outputs = [ "out" "doc" ];
 
   src = fetchFromGitHub {
     owner = "tantale";
     repo = "deprecated";
-    rev = "v${version}";
-    hash = "sha256-rCDUY/TVmJqhrxDah62lEhqpr05JNZSyiFNTlHvSnmw=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-H5Gp2F/ChMeEH4fSYXIB34syDIzDymfN949ksJnS0k4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/desktop-entry-lib/default.nix b/nixpkgs/pkgs/development/python-modules/desktop-entry-lib/default.nix
new file mode 100644
index 000000000000..5a6d3c00e7f0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/desktop-entry-lib/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, pytestCheckHook
+, fetchFromGitea
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "desktop-entry-lib";
+  version = "3.1";
+  pyproject = true;
+  disabled = pythonOlder "3.9";
+
+  # We could use fetchPypi, but then the tests won't run
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "JakobDev";
+    repo = pname;
+    rev = version;
+    hash = "sha256-+c+FuLv88wc4yVw3iyFFtfbocnWzTCIe2DS0SWoj+VI=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+  nativeCheckInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "desktop_entry_lib" ];
+
+  meta = with lib; {
+    description = "Allows reading and writing .desktop files according to the Desktop Entry Specification";
+    homepage = "https://codeberg.org/JakobDev/desktop-entry-lib";
+    changelog = "https://codeberg.org/JakobDev/desktop-entry-lib/releases/tag/${version}";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ Madouura ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/devito/default.nix b/nixpkgs/pkgs/development/python-modules/devito/default.nix
index 208778465191..064899b8e78e 100644
--- a/nixpkgs/pkgs/development/python-modules/devito/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devito/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "devito";
-  version = "4.8.2";
+  version = "4.8.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "devitocodes";
     repo = "devito";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zckFU9Q5Rpj0TPeT96lXfR/yp2SYrV4sjAjqN/y8GDw=";
+    hash = "sha256-g9rRJF1JrZ6+s3tj4RZHuGOjt5LJjtK9I5CJmq4CJL4=";
   };
 
   pythonRemoveDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix b/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix
index 0a05e0843587..203983a22896 100644
--- a/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devpi-common/default.nix
@@ -1,45 +1,47 @@
 { lib, buildPythonPackage, fetchPypi
+, pythonOlder
+, setuptools
+, setuptools-changelog-shortener
 , requests
-, py
 , pytestCheckHook
 , lazy
 }:
 
 buildPythonPackage rec {
   pname = "devpi-common";
-  version = "3.7.2";
+  version = "4.0.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kHiYknmteenBgce63EpzhGBEUYcQHrDLreZ1k01eRkQ=";
+    hash = "sha256-LSd3AfrwXUpvbL234ED5PAoAKG2+h9XAou6uuiBVkZw=";
   };
 
-  postPatch = ''
-    substituteInPlace tox.ini \
-      --replace "--flake8" ""
-  '';
+  nativeBuildInputs = [
+    setuptools
+    setuptools-changelog-shortener
+  ];
 
   propagatedBuildInputs = [
     requests
-    py
     lazy
   ];
 
   nativeCheckInputs = [
-    py
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "devpi_common"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/devpi/devpi";
     description = "Utilities jointly used by devpi-server and devpi-client";
+    changelog = "https://github.com/devpi/devpi/blob/common-${version}/common/CHANGELOG";
     license = licenses.mit;
     maintainers = with maintainers; [ lewo makefu ];
-    # It fails to build because it depends on packaging <22 while we
-    # use packaging >22.
-    # See the following issues for details:
-    # - https://github.com/NixOS/nixpkgs/issues/231346
-    # - https://github.com/devpi/devpi/issues/939
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/devtools/default.nix b/nixpkgs/pkgs/development/python-modules/devtools/default.nix
index ec386f8e0b29..08a5f2e7f50c 100644
--- a/nixpkgs/pkgs/development/python-modules/devtools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devtools/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "devtools";
-  version = "0.11.0";
+  version = "0.12.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "samuelcolvin";
     repo = "python-${pname}";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ogogXZnuSFkWktCin+cyefjqIbGFRBVIeOrZJAa3hOE=";
+    hash = "sha256-1HFbNswdKa/9cQX0Gf6lLW1V5Kt/N4X6/5kQDdzp1Wo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix b/nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix
index 3e05deb5e2d3..93d9e3288dda 100644
--- a/nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diff-match-patch/default.nix
@@ -1,21 +1,32 @@
-{ lib, buildPythonPackage, fetchPypi, python }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flit-core
+, unittestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "diff-match-patch";
-  version = "20200713";
-
-  meta = {
-    homepage = "https://github.com/diff-match-patch-python/diff-match-patch";
-    description = "Diff, Match and Patch libraries for Plain Text";
-    license = lib.licenses.asl20;
-  };
+  version = "20230430";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da6f5a01aa586df23dfc89f3827e1cafbb5420be9d87769eeb079ddfd9477a18";
+    hash = "sha256-lTAZzbnJ0snke1sSvP889HRvxFmOtAYHb6H8J+ah8Vw=";
   };
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest -v diff_match_patch.tests
-  '';
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/diff-match-patch-python/diff-match-patch";
+    description = "Diff, Match and Patch libraries for Plain Text";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dill/default.nix b/nixpkgs/pkgs/development/python-modules/dill/default.nix
index 3caf068a1270..d6fdd2b97d2d 100644
--- a/nixpkgs/pkgs/development/python-modules/dill/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dill/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , python
+, pythonOlder
 , setuptools
 
 # passthru tests
@@ -11,14 +12,16 @@
 
 buildPythonPackage rec {
   pname = "dill";
-  version = "0.3.6";
+  version = "0.3.7";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "uqfoundation";
     repo = pname;
     rev = "refs/tags/dill-${version}";
-    hash = "sha256-lh1o/TqnqtYN9xTZom33y1/7ZhMEAFpheLdtalwgObQ=";
+    hash = "sha256-1cRGA5RuNjlpc3jq9SAsUYgmPauIV8zRF9SxOmveljI=";
   };
 
   nativeBuildInputs = [
@@ -40,6 +43,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Serialize all of python (almost)";
     homepage = "https://github.com/uqfoundation/dill/";
+    changelog = "https://github.com/uqfoundation/dill/releases/tag/dill-${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ tjni ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/dinghy/default.nix b/nixpkgs/pkgs/development/python-modules/dinghy/default.nix
index aea49cde6f18..cae8c8abcc66 100644
--- a/nixpkgs/pkgs/development/python-modules/dinghy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dinghy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dinghy";
-  version = "1.2.0";
+  version = "1.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "nedbat";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-xtcNcykfgcWvifso0xaeMT31+G5x4HCp+tLAIEEq4cw=";
+    hash = "sha256-a1CHbPSoiR3JbuAXYPJc1EsSq13DbrOttk9zLFF9+cM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dirty-equals/default.nix b/nixpkgs/pkgs/development/python-modules/dirty-equals/default.nix
index 5d0c94686926..9f40226e6bb3 100644
--- a/nixpkgs/pkgs/development/python-modules/dirty-equals/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dirty-equals/default.nix
@@ -9,43 +9,48 @@
 , pytz
 }:
 
-buildPythonPackage rec {
-  pname = "dirty-equals";
-  version = "0.7.0";
-  format = "pyproject";
-
-  disabled = pythonOlder "3.8";
-
-  src = fetchFromGitHub {
-    owner = "samuelcolvin";
-    repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-ShbkPGj1whOQ11bFLUSTfvVEVlvc3JUzRDICbBohgMM=";
+let
+  dirty-equals = buildPythonPackage rec {
+    pname = "dirty-equals";
+    version = "0.7.0";
+    format = "pyproject";
+
+    disabled = pythonOlder "3.8";
+
+    src = fetchFromGitHub {
+      owner = "samuelcolvin";
+      repo = pname;
+      rev = "refs/tags/v${version}";
+      hash = "sha256-ShbkPGj1whOQ11bFLUSTfvVEVlvc3JUzRDICbBohgMM=";
+    };
+
+    nativeBuildInputs = [
+      hatchling
+    ];
+
+    propagatedBuildInputs = [
+      pytz
+    ];
+
+    doCheck = false;
+    passthru.tests.pytest = dirty-equals.overrideAttrs { doCheck = true; };
+
+    nativeCheckInputs = [
+      pydantic
+      pytest-examples
+      pytestCheckHook
+    ];
+
+    pythonImportsCheck = [
+      "dirty_equals"
+    ];
+
+    meta = with lib; {
+      description = "Module for doing dirty (but extremely useful) things with equals";
+      homepage = "https://github.com/samuelcolvin/dirty-equals";
+      changelog = "https://github.com/samuelcolvin/dirty-equals/releases/tag/v${version}";
+      license = with licenses; [ mit ];
+      maintainers = with maintainers; [ fab ];
+    };
   };
-
-  nativeBuildInputs = [
-    hatchling
-  ];
-
-  propagatedBuildInputs = [
-    pytz
-  ];
-
-  nativeCheckInputs = [
-    pydantic
-    pytest-examples
-    pytestCheckHook
-  ];
-
-  pythonImportsCheck = [
-    "dirty_equals"
-  ];
-
-  meta = with lib; {
-    description = "Module for doing dirty (but extremely useful) things with equals";
-    homepage = "https://github.com/samuelcolvin/dirty-equals";
-    changelog = "https://github.com/samuelcolvin/dirty-equals/releases/tag/v${version}";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ fab ];
-  };
-}
+in dirty-equals
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-cstruct/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-cstruct/default.nix
index 556927b63a08..a40b806ab01d 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-cstruct/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-cstruct/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-cstruct";
-  version = "3.9";
+  version = "3.10";
   format = "pyproject";
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.cstruct";
     rev = "refs/tags/${version}";
-    hash = "sha256-v0giDdH6bYCSrotd9WGSlIMzylTz7FHeCE/JkCw7frY=";
+    hash = "sha256-cdBojvFI0cN6mEZ98xLa3XldvIoR+Jv1c0/hvVkKVoQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix
index bf2ef463247e..5ae671c06a7e 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-esedb";
-  version = "3.8";
+  version = "3.9";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.esedb";
     rev = "refs/tags/${version}";
-    hash = "sha256-OW0HqKQDg15fO/ETNv+cIupfsX53+qopMoZZ/3xcAUI=";
+    hash = "sha256-MdEKAArdbOG/FnTSksuJCt8o8161NY3vL0KGnUHJEdQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix
index 13dbb72e9572..7e022eb1797b 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-evidence";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.evidence";
     rev = "refs/tags/${version}";
-    hash = "sha256-0rDV7hMOUA18h4Mm4EnIL2NQO9wbVAh00P2V5t2YcZU=";
+    hash = "sha256-b7Ls3Xfd0scMe/gccjvRfuADITnz5QpJNLUaIgmZtpI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix
index 26f466365939..ff1395b932cb 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-hypervisor";
-  version = "3.8";
+  version = "3.9";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.hypervisor";
     rev = "refs/tags/${version}";
-    hash = "sha256-PTF1PSFsjD9lYa3SLd7329+ZZuSC07tN1GqwOndo8Go=";
+    hash = "sha256-AcDlyLKrRyt1mhh7nb9Oln/cjVKw8s1g78J8sgE2p2g=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-target/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-target/default.nix
index 31fbfafe5496..7704766d4342 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-target/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-target/default.nix
@@ -39,16 +39,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-target";
-  version = "3.11.1";
+  version = "3.12";
   format = "pyproject";
 
-  disabled = pythonOlder "3.11.1";
+  disabled = pythonOlder "3.12";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.target";
     rev = "refs/tags/${version}";
-    hash = "sha256-xT0PXah+sYzSDRoBU4OWBp+zhlinKRuQUDBLvos4zKk=";
+    hash = "sha256-ByjeQcoDi0edum2XebF2DQ7d0xeH2nyulj6vt7bztKg=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix
index 1e5ac9980963..a9224d0d4361 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-thumbcache";
-  version = "1.5";
+  version = "1.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.thumbcache";
     rev = "refs/tags/${version}";
-    hash = "sha256-xWwmkvBKKVCISL5RKzPkdPGo/ganNydymp4FaE9Mr7w=";
+    hash = "sha256-q35VL3BUZrxNBB5mHegqVObG76BYG4FAk/KIAvdm6B8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-util/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-util/default.nix
index bcd15ffbd250..735ad9820f26 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-util/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-util/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "dissect-util";
-  version = "3.10";
+  version = "3.11";
   format = "pyproject";
 
-  disabled = pythonOlder "3.10";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.util";
     rev = "refs/tags/${version}";
-    hash = "sha256-H89lPX//AlTEJLuZFzzn9wUc4lZC1TGd98t4+TYlbWs=";
+    hash = "sha256-PtmvXnmZ6f8YxEejqaVwtaoV7d1Oa7063ZFagH110yk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix
index b82fad029b91..3cf3282c0b5b 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-volume";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.volume";
     rev = "refs/tags/${version}";
-    hash = "sha256-dKDefDPdmr20mo7YhZtPeMVkhLXQn5a5dLdRAEoe7+8=";
+    hash = "sha256-5ZO++l6BWA085U5IkghjCT46YhKc85SB7sNU2h4Fpec=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -43,6 +43,16 @@ buildPythonPackage rec {
     "dissect.volume"
   ];
 
+  disabledTests = [
+    # gzip.BadGzipFile: Not a gzipped file
+    "test_ddf_read"
+    "test_dm_thin"
+    "test_lvm_mirro"
+    "test_lvm_thin"
+    "test_md_raid0_zones"
+    "test_md_read"
+  ];
+
   meta = with lib; {
     description = "Dissect module implementing various utility functions for the other Dissect modules";
     homepage = "https://github.com/fox-it/dissect.volume";
diff --git a/nixpkgs/pkgs/development/python-modules/dissect/default.nix b/nixpkgs/pkgs/development/python-modules/dissect/default.nix
index 01b1907a95df..e9b1c6b46a6e 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect/default.nix
@@ -32,16 +32,16 @@
 
 buildPythonPackage rec {
   pname = "dissect";
-  version = "3.8.1";
+  version = "3.9";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8.1";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect";
     rev = "refs/tags/${version}";
-    hash = "sha256-WbKzmLeGsvzFA/bTTCqBEj/unbnzKQFzHFPRG411Cos=";
+    hash = "sha256-lNa6GiX0hCZFVyiokBzEKGsvimSkUkgR1bkQMhxUbDw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/distlib/default.nix b/nixpkgs/pkgs/development/python-modules/distlib/default.nix
index f9668720653b..ca91e77a6672 100644
--- a/nixpkgs/pkgs/development/python-modules/distlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distlib/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "distlib";
-  version = "0.3.6";
+  version = "0.3.7";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FLrS2bBNOjYSesl/MLEqGSaPIRBj2PjuT0cQiJbhG0Y=";
+    hash = "sha256-na/lSzSgKOr9lQOdXl1IUaE3NFQPEzEGDTHJkW5xR6g=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/distrax/default.nix b/nixpkgs/pkgs/development/python-modules/distrax/default.nix
index 69679a8bbf7f..80dc392c603d 100644
--- a/nixpkgs/pkgs/development/python-modules/distrax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distrax/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "distrax";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-x9ORfhGX5catEZMfR+iXkZSRa/wIb0B3CrCWOWf35Ks=";
+    hash = "sha256-klXT5wfnWUGMrf5sQhYqz7Foc/Ou5y4GIFgtTff1ZFQ=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/distutils_extra/default.nix b/nixpkgs/pkgs/development/python-modules/distutils-extra/default.nix
index 37ef77947b3f..37ef77947b3f 100644
--- a/nixpkgs/pkgs/development/python-modules/distutils_extra/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distutils-extra/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/dj-rest-auth/default.nix b/nixpkgs/pkgs/development/python-modules/dj-rest-auth/default.nix
index a2219ae22cc5..4bd5d486d4a9 100644
--- a/nixpkgs/pkgs/development/python-modules/dj-rest-auth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dj-rest-auth/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "dj-rest-auth";
-  version = "4.0.1";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "iMerica";
     repo = "dj-rest-auth";
     rev = "refs/tags/${version}";
-    hash = "sha256-+ladx0b/bvvUW8zLjtG8IiWWdfPTqqm/KYbEK9uiFaU=";
+    hash = "sha256-PTFUZ54vKlufKCQyJb+QB/+hI15r+Z0auTjnc38yMLg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix b/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
index 439c4c2cb564..49864b0b9bbb 100644
--- a/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-allauth/default.nix
@@ -1,18 +1,35 @@
 { lib
 , buildPythonPackage
-, django
 , fetchFromGitHub
-, python3-openid
 , pythonOlder
+
+# build-system
+, setuptools
+
+# dependencies
+, django
+, python3-openid
 , requests
 , requests-oauthlib
 , pyjwt
+
+# optional-dependencies
+, python3-saml
+, qrcode
+
+# tests
+, pillow
+, pytestCheckHook
+, pytest-django
+
+# passthru tests
+, dj-rest-auth
 }:
 
 buildPythonPackage rec {
   pname = "django-allauth";
-  version = "0.54.0";
-  format = "setuptools";
+  version = "0.57.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -20,13 +37,12 @@ buildPythonPackage rec {
     owner = "pennersr";
     repo = pname;
     rev = version;
-    hash = "sha256-0yJsHJhYeiCHQg/QzFD/metb97rcUJ+LYlsl7fGYmuM=";
+    hash = "sha256-zhKqvm43rw28UKNFdfJ2C1dIeZfPqmchb1rJykm1lx4=";
   };
 
-  postPatch = ''
-    chmod +x manage.py
-    patchShebangs manage.py
-  '';
+  nativeBuildInputs = [
+    setuptools
+  ];
 
   propagatedBuildInputs = [
     django
@@ -37,19 +53,34 @@ buildPythonPackage rec {
   ]
   ++ pyjwt.optional-dependencies.crypto;
 
-  checkPhase = ''
-    # test is out of date
-    rm allauth/socialaccount/providers/cern/tests.py
-
-    ./manage.py test
-  '';
+  passthru.optional-dependencies = {
+    saml = [
+      python3-saml
+    ];
+    mfa = [
+      qrcode
+    ];
+  };
 
   pythonImportsCheck = [
     "allauth"
   ];
 
+  nativeCheckInputs = [
+    pillow
+    pytestCheckHook
+    pytest-django
+  ]
+  ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  passthru.tests = {
+    inherit dj-rest-auth;
+  };
+
   meta = with lib; {
+    changelog = "https://github.com/pennersr/django-allauth/blob/${version}/ChangeLog.rst";
     description = "Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication";
+    downloadPage = "https://github.com/pennersr/django-allauth";
     homepage = "https://www.intenct.nl/projects/django-allauth";
     license = licenses.mit;
     maintainers = with maintainers; [ derdennisop ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix b/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix
index fb8ca502695d..50b86d7fb90a 100644
--- a/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-anymail/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "django-anymail";
-  version = "9.0";
+  version = "10.1";
 
   src = fetchFromGitHub {
     owner = "anymail";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-qEYBHsaHo1gmrsa6q7DQiUJurC7cXhv5e/SQ7R3Tkzc=";
+    hash = "sha256-unmbYQFLeqfqE1uFLMPLUad1UqA+sgbTzwRfpRhM3ik=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix b/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
index 89432c28198c..3fa84658b6d0 100644
--- a/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "django-auth-ldap";
-  version = "4.5.0";
+  version = "4.6.0";
   format = "pyproject";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-B6L+NbQCUIluErjWLROW0eQ3AEYwNwN2BJPOzXkfqI8=";
+    hash = "sha256-muK/h/m2Nnts/ZSgRRiWy8co5UAO2By/vVjOdDwJCaI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-environ/default.nix b/nixpkgs/pkgs/development/python-modules/django-environ/default.nix
index bb3cd1acf7ce..b0e3f6eb0c40 100644
--- a/nixpkgs/pkgs/development/python-modules/django-environ/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-environ/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "django-environ";
-  version = "0.9.0";
+  version = "0.11.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-v/U4FTMFYyjJrAL3F5C9W/HOqBsb7rZI8ouByeg+CiE=";
+    hash = "sha256-8yqHqgiZiUwn1OF3b6a0d+gWTtf2s+QQpiptcsqvZL4=";
   };
 
   # The testsuite fails to modify the base environment
diff --git a/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
index 3c09cde4d10b..eb46b6b86920 100644
--- a/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
@@ -1,9 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , django
-, factory_boy
+, factory-boy
 , mock
 , pip
 , pygments
@@ -16,23 +15,15 @@
 
 buildPythonPackage rec {
   pname = "django-extensions";
-  version = "3.2.1";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-i8A/FMba1Lc3IEBzefP3Uu23iGcDGYqo5bNv+u6hKQI=";
+    hash = "sha256-A2+5FBv0IhTJPkwgd7je+B9Ac64UHJEa3HRBbWr2FxM=";
   };
 
-  patches = [
-    (fetchpatch {
-      # pygments 2.14 compat for tests
-      url = "https://github.com/django-extensions/django-extensions/commit/61ebfe38f8fca9225b41bec5418e006e6a8815e1.patch";
-      hash = "sha256-+sxaQMmKi/S4IlfHqARPGhaqc+F1CXUHVFyeU/ArW2U=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "--cov=django_extensions --cov-report html --cov-report term" ""
@@ -45,7 +36,7 @@ buildPythonPackage rec {
   __darwinAllowLocalNetworking = true;
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     mock
     pip
     pygments # not explicitly declared in setup.py, but some tests require it
diff --git a/nixpkgs/pkgs/development/python-modules/django-filter/default.nix b/nixpkgs/pkgs/development/python-modules/django-filter/default.nix
index 1225a3301a10..dcbcede30563 100644
--- a/nixpkgs/pkgs/development/python-modules/django-filter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-filter/default.nix
@@ -1,43 +1,44 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, flit-core
 , django
-, djangorestframework, python, mock
+, djangorestframework
+, pytestCheckHook
+, pytest-django
+, python
 }:
 
 buildPythonPackage rec {
   pname = "django-filter";
-  version = "22.1";
+  version = "23.3";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7Uc7duhPfoOyURuyBQw++zbRNSB9ASjf465LNuNZS6U=";
+    hash = "sha256-AV/hVVguGAW0Bik0Tkps88xARQgn0pTQQLS4wXSan6Y=";
   };
 
+  nativeBuildInputs = [ flit-core ];
+
   propagatedBuildInputs = [ django ];
 
   pythonImportsCheck = [
     "django_filters"
   ];
 
-  # Tests fail (needs the 'crispy_forms' module not packaged on nixos)
-  doCheck = false;
-
   nativeCheckInputs = [
     djangorestframework
-    django
-    mock
+    pytestCheckHook
+    pytest-django
   ];
 
-  checkPhase = ''
-    runHook preCheck
-    ${python.interpreter} runtests.py tests
-    runHook postCheck
-  '';
+  env.DJANGO_SETTINGS_MODULE = "tests.settings";
 
   meta = with lib; {
     description = "Reusable Django application for allowing users to filter querysets dynamically";
-    homepage = "https://pypi.org/project/django-filter/";
+    homepage = "https://github.com/carltongibson/django-filter";
+    changelog = "https://github.com/carltongibson/django-filter/blob/v${version}/CHANGES.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ mmai ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix b/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix
index ef77abefeeae..01e1593a82ce 100644
--- a/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "django-hijack";
-  version = "3.3.0";
+  version = "3.4.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "django-hijack";
     repo = "django-hijack";
     rev = "refs/tags/${version}";
-    hash = "sha256-ytQ4xxkBAC3amQbenD8RO5asrbfNAjOspWUY3c2hkig=";
+    hash = "sha256-y8KT/Fbk2eQDbGzcJtLdwS6jPCNoTWXousvqY+GlFnQ=";
   };
 
   postPatch = ''
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 bc87f6f5dfd6..5f68c82b1f56 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.2.0";
+  version = "3.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "django-import-export";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ws9gUPCr5nM8HGbCt9+6IFjLgAKiCMQRkY/yfIb2mng=";
+    hash = "sha256-9eFBFTx+M28tbIKflldvDJW1po5ht/5FBX5ImfHGFuk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix b/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
index 6639257740bc..c68c554b9b9e 100644
--- a/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 
 # propagates
 , django-gravatar2
@@ -24,6 +25,17 @@ buildPythonPackage rec {
     hash = "sha256-GpI1W0O9aJpLF/mcS23ktJDZsP69S2zQy7drOiWBnTM=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://gitlab.com/mailman/django-mailman3/-/commit/840d0d531a0813de9a30e72427e202aea21b40fe.patch";
+      hash = "sha256-vltvsIP/SWpQZeXDUB+GWlTu+ghFMUqIT8i6CrYcmGo=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.com/mailman/django-mailman3/-/commit/25c55e31d28f2fa8eb23f0e83c12f9b0a05bfbf0.patch";
+      hash = "sha256-ug5tBmnVfJTn5ufDDVg/cEtsZM59jQYJpQZV51T3qIc=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'django>=3.2,<4.2' 'django>=3.2,<4.3'
diff --git a/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix b/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix
index 00b6fe9c978f..76d376d11c09 100644
--- a/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix
@@ -1,47 +1,59 @@
-{ beautifulsoup4
-, buildPythonPackage
-, django
+{ buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , lib
-, markdown
+
+# build-system
 , poetry-core
-, python
+
+# dependencies
+, django
+, markdown
 , pyyaml
+
+# tests
+, beautifulsoup4
+, pytestCheckHook
+, pytest-django
 }:
 
 buildPythonPackage rec {
   pname = "django-pattern-library";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
-    repo = pname;
     owner = "torchbox";
+    repo = "django-pattern-library";
     rev = "v${version}";
-    sha256 = "sha256-V299HpbfNLa9cpVhBfzD41oe95xqh+ktQVMMVvm5Xao=";
+    hash = "sha256-Q8rv7RDlstTSlwmbmHV0vrnCV/lwz6VJf27BUllA34Y=";
   };
 
+  patches = [
+    (fetchpatch {
+      # https://github.com/torchbox/django-pattern-library/pull/232
+      url = "https://github.com/torchbox/django-pattern-library/commit/e7a9a8928a885941391fb584eba81578a292ee7d.patch";
+      hash = "sha256-3uUoxdVYEiF+to88qZRhOkh1++RfmsqCzO9JNMDqz6g=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     django
     pyyaml
     markdown
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-    --replace poetry.masonry.api poetry.core.masonry.api
-  '';
-
-  nativeBuildInputs = [ poetry-core ];
-
-  checkInputs = [
+  nativeCheckInputs = [
     beautifulsoup4
+    pytestCheckHook
+    pytest-django
   ];
 
-  checkPhase = ''
-    export DJANGO_SETTINGS_MODULE=tests.settings.dev
-    ${python.interpreter} -m django test
-  '';
+  env.DJANGO_SETTINGS_MODULE = "tests.settings.dev";
 
   pythonImportsCheck = [ "pattern_library" ];
 
@@ -51,7 +63,5 @@ buildPythonPackage rec {
     changelog = "https://github.com/torchbox/django-pattern-library/blob/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ sephi ];
-    # https://github.com/torchbox/django-pattern-library/issues/212
-    broken = lib.versionAtLeast django.version "4.2";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/django-phonenumber-field/default.nix b/nixpkgs/pkgs/development/python-modules/django-phonenumber-field/default.nix
index 19b94a6a7cb3..41b3dee76f42 100644
--- a/nixpkgs/pkgs/development/python-modules/django-phonenumber-field/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-phonenumber-field/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "django-phonenumber-field";
-  version = "7.1.0";
+  version = "7.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "stefanfoulis";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Ey/EuP3WzoGcPPJlDg97cznU5dqDPBLX/aEGPdBm9Fc=";
+    hash = "sha256-QEmwCdSiaae7mhmCPcV5F01f1GRxmIur3tyhv0XK7I4=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/django-postgresql-netfields/default.nix b/nixpkgs/pkgs/development/python-modules/django-postgresql-netfields/default.nix
index 5564e0f6de22..1f0600b68a84 100644
--- a/nixpkgs/pkgs/development/python-modules/django-postgresql-netfields/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-postgresql-netfields/default.nix
@@ -1,18 +1,23 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , django
 , netaddr
 , six
 , fetchFromGitHub
 , pythonOlder
+, djangorestframework
 # required for tests
-#, djangorestframework
-#, psycopg2
+, postgresql
+, postgresqlTestHook
+, psycopg2
+, pytestCheckHook
+, pytest-django
 }:
 
 buildPythonPackage rec {
   pname = "django-postgresql-netfields";
-  version = "1.3.0";
+  version = "1.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +26,7 @@ buildPythonPackage rec {
     owner = "jimfunk";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-I+X4yfadtiiZlW7QhfwVbK1qyWn/khH9fWXszCo9uro=";
+    hash = "sha256-76vGvxxfNZQBCCsTkkSgQZ8PpFspWxJQDj/xq9iOSTU=";
   };
 
   propagatedBuildInputs = [
@@ -30,23 +35,19 @@ buildPythonPackage rec {
     six
   ];
 
-  # tests need a postgres database
-  doCheck = false;
+  doCheck = !stdenv.isDarwin; # could not create shared memory segment: Operation not permitted
 
-  # keeping the dependencies below as comment for reference
-  # checkPhase = ''
-    # python manage.py test
-  # '';
-
-  # buildInputs = [
-    # djangorestframework
-    # psycopg2
-  # ];
+  nativeCheckInputs = [
+    djangorestframework
+    postgresql
+    postgresqlTestHook
+    psycopg2
+    pytestCheckHook
+    pytest-django
+  ];
 
-  # Requires psycopg2
-  # pythonImportsCheck = [
-  #   "netfields"
-  # ];
+  postgresqlTestUserOptions = "LOGIN SUPERUSER";
+  env.DJANGO_SETTINGS_MODULE = "testsettings";
 
   meta = with lib; {
     description = "Django PostgreSQL netfields implementation";
diff --git a/nixpkgs/pkgs/development/python-modules/django-redis/default.nix b/nixpkgs/pkgs/development/python-modules/django-redis/default.nix
index 39c430f1be2a..26a9c784f88d 100644
--- a/nixpkgs/pkgs/development/python-modules/django-redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-redis/default.nix
@@ -20,7 +20,7 @@
 
 let
   pname = "django-redis";
-  version = "5.2.0";
+  version = "5.4.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -30,8 +30,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "jazzband";
     repo = "django-redis";
-    rev = version;
-    hash = "sha256-e8wCgfxBT+WKFY4H83CTMirTpQym3QAoeWnXbRCDO90=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-m7z3c7My24vrSSnyfDQ/LlWhy7pV4U0L8LATMvkfczc=";
   };
 
   postPatch = ''
@@ -67,26 +67,22 @@ buildPythonPackage {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = lib.optionals (pythonAtLeast "3.11") [
-    # DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
-    "-W" "ignore::DeprecationWarning"
-  ];
-
   disabledTests = [
     # ModuleNotFoundError: No module named 'test_cache_options'
     "test_custom_key_function"
     # ModuleNotFoundError: No module named 'test_client'
+    "test_delete_pattern_calls_delete_for_given_keys"
     "test_delete_pattern_calls_get_client_given_no_client"
     "test_delete_pattern_calls_make_pattern"
-    "test_delete_pattern_calls_scan_iter_with_count_if_itersize_given"
-    "test_delete_pattern_calls_scan_iter_with_count_if_itersize_given"
+    "test_delete_pattern_calls_pipeline_delete_and_execute"
     "test_delete_pattern_calls_scan_iter"
-    "test_delete_pattern_calls_delete_for_given_keys"
+    "test_delete_pattern_calls_scan_iter_with_count_if_itersize_given"
   ];
 
   meta = with lib; {
     description = "Full featured redis cache backend for Django";
     homepage = "https://github.com/jazzband/django-redis";
+    changelog = "https://github.com/jazzband/django-redis/releases/tag/${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ hexa ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/django-reversion/default.nix b/nixpkgs/pkgs/development/python-modules/django-reversion/default.nix
index e85e89e2b6c9..2559cc1fbf5c 100644
--- a/nixpkgs/pkgs/development/python-modules/django-reversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-reversion/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-reversion";
-  version = "5.0.5";
+  version = "5.0.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
 src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JTxpGwpOC+He7Atiw4yfu3W25aj9gdO1iib0YTWXAQY=";
+    hash = "sha256-buJalwcN2hTz4IK4uZm/vstKnwgv8fhR40TQVqGMk0w=";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +31,7 @@ src = fetchPypi {
   meta = with lib; {
     description = "An extension to the Django web framework that provides comprehensive version control facilities";
     homepage = "https://github.com/etianen/django-reversion";
+    changelog = "https://github.com/etianen/django-reversion/blob/v${version}/CHANGELOG.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/django-sesame/default.nix b/nixpkgs/pkgs/development/python-modules/django-sesame/default.nix
index 531d26158d17..b0671d789510 100644
--- a/nixpkgs/pkgs/development/python-modules/django-sesame/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-sesame/default.nix
@@ -10,16 +10,16 @@
 
 buildPythonPackage rec {
   pname = "django-sesame";
-  version = "3.1";
+  version = "3.2.1";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "aaugustin";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Pyyhm0th0cNEkM0sd6maCnf4qELsSO82c9CQuqQdn0w=";
+    hash = "sha256-R7ySuop7E1lkxtRSVNFfzyb3Ba1mW0o6PDiTxTztK/Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-silk/default.nix b/nixpkgs/pkgs/development/python-modules/django-silk/default.nix
index 0b420e9362c9..9f91aee935ac 100644
--- a/nixpkgs/pkgs/development/python-modules/django-silk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-silk/default.nix
@@ -2,7 +2,7 @@
 , autopep8
 , buildPythonPackage
 , django
-, factory_boy
+, factory-boy
 , fetchFromGitHub
 , fetchpatch
 , freezegun
@@ -73,7 +73,7 @@ buildPythonPackage rec {
     freezegun
     networkx
     pydot
-    factory_boy
+    factory-boy
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-simple-captcha/default.nix b/nixpkgs/pkgs/development/python-modules/django-simple-captcha/default.nix
index 0f505b21d3df..4b61d523a5ab 100644
--- a/nixpkgs/pkgs/development/python-modules/django-simple-captcha/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-simple-captcha/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "django-simple-captcha";
-  version = "0.5.18";
+  version = "0.5.20";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bh/MT0AF99ae56Llmn6GO105GPNqhaTYEUmJhK7MSM4=";
+    hash = "sha256-ICcwCae+tEKX6fbHpr0hraPS+pPDFNL2v145TO62opc=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-storages/default.nix b/nixpkgs/pkgs/development/python-modules/django-storages/default.nix
index 5b638aa05b34..1bce8c0d751e 100644
--- a/nixpkgs/pkgs/development/python-modules/django-storages/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-storages/default.nix
@@ -1,53 +1,90 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+
+# build-system
+, setuptools
+
+# dependencies
 , django
+
+# optional-dependencies
 , azure-storage-blob
 , boto3
 , dropbox
 , google-cloud-storage
 , libcloud
 , paramiko
+
+# tests
+, cryptography
+, moto
+, pytestCheckHook
+, rsa
 }:
 
 buildPythonPackage rec {
   pname = "django-storages";
-  version = "1.13.2";
+  version = "1.14";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-y63RXJCc63JH1P/FA/Eqm+w2mZ340L73wx5XF31RJog=";
+  src = fetchFromGitHub {
+    owner = "jschneier";
+    repo = "django-storages";
+    rev = "refs/tags/${version}";
+    hash = "sha256-q+vQm1T5/ueGPfwzuUOmSI/nESchqJc4XizJieBsLWc=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     django
   ];
 
-  preCheck = ''
-    export DJANGO_SETTINGS_MODULE=tests.settings
-    # timezone issues https://github.com/jschneier/django-storages/issues/1171
-    substituteInPlace tests/test_sftp.py \
-      --replace 'test_accessed_time' 'dont_test_accessed_time' \
-      --replace 'test_modified_time' 'dont_test_modified_time'
-  '';
-
-  nativeCheckInputs = [
-    azure-storage-blob
-    boto3
-    dropbox
-    google-cloud-storage
-    libcloud
-    paramiko
-  ];
+  passthru.optional-dependencies = {
+    azure = [
+      azure-storage-blob
+    ];
+    boto3 = [
+      boto3
+    ];
+    dropbox = [
+      dropbox
+    ];
+    google = [
+      google-cloud-storage
+    ];
+    libcloud = [
+      libcloud
+    ];
+    s3 = [
+      boto3
+    ];
+    sftp = [
+      paramiko
+    ];
+  };
 
   pythonImportsCheck = [
     "storages"
   ];
 
+  env.DJANGO_SETTINGS_MODULE = "tests.settings";
+
+  nativeCheckInputs = [
+    cryptography
+    moto
+    pytestCheckHook
+    rsa
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
   meta = with lib; {
+    changelog = "https://github.com/jschneier/django-storages/blob/${version}/CHANGELOG.rst";
     description = "Collection of custom storage backends for Django";
+    downloadPage = "https://github.com/jschneier/django-storages/";
     homepage = "https://django-storages.readthedocs.io";
-    changelog = "https://github.com/jschneier/django-storages/blob/${version}/CHANGELOG.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ mmai ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/django-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/django-stubs/default.nix
index fe7e96579cdb..6dcc875884e0 100644
--- a/nixpkgs/pkgs/development/python-modules/django-stubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-stubs/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "django-stubs";
-  version = "4.2.3";
+  version = "4.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2tqzm0bZro83qOh5xZDzmp4EK1ZcA/oMWo91S0QbHyM=";
+    hash = "sha256-fUoTLDgVGYFehlwnqJ7KQby9BgVoMlByJIFqQ9dcYBw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-taggit/default.nix b/nixpkgs/pkgs/development/python-modules/django-taggit/default.nix
index 4260f76e03c5..81326d195a2d 100644
--- a/nixpkgs/pkgs/development/python-modules/django-taggit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-taggit/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, fetchpatch
 , django
 , djangorestframework
 , python
@@ -10,24 +9,16 @@
 
 buildPythonPackage rec {
   pname = "django-taggit";
-  version = "3.1.0";
+  version = "4.0.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yPLk6uOHk5CJs9ddHYZJ4AiICXDAaM6dDoL4f9XilQg=";
+    hash = "sha256-TVLenTckWpufmMDscf3M8dIoPjjohm1Ap65qO2eHoWE=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Django 4.2 support; https://github.com/jazzband/django-taggit/pull/850
-      url = "https://github.com/jazzband/django-taggit/commit/5f19cfbaa14e8d6d4d1679529eb168a87ca97908.patch";
-      hash = "sha256-KcsiACLy3+1JoFquu//Kz+iAySZQAVIuBEKzNZaaR9s=";
-    })
-  ];
-
   propagatedBuildInputs = [
     django
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-treebeard/default.nix b/nixpkgs/pkgs/development/python-modules/django-treebeard/default.nix
index dd6e054b55c3..ec05953eae6e 100644
--- a/nixpkgs/pkgs/development/python-modules/django-treebeard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-treebeard/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "django-treebeard";
-  version = "4.6.1";
+  version = "4.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hKs1BAJ31STrd5OeI1VoychWy1I8yWVXk7Zv6aPvRos=";
+    hash = "sha256-x1Gj+SQVjCiP6omvwlpxUZefrwG/Ef3HvjuFgJnfpW0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-types/default.nix b/nixpkgs/pkgs/development/python-modules/django-types/default.nix
index 71542f2f9b4f..5c16312538ac 100644
--- a/nixpkgs/pkgs/development/python-modules/django-types/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-types/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "django-types";
-  version = "0.17.0";
+  version = "0.18.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wcQqt4h2xXxyg0LVqwYHJas3H8jcg7uFuuC+BoRqrXA=";
+    hash = "sha256-uOIzTIEIZNer8RzTzbHaOyAVtn5/EnAAfjN3f/G9hlQ=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-webpush/default.nix b/nixpkgs/pkgs/development/python-modules/django-webpush/default.nix
new file mode 100644
index 000000000000..44d670dfeede
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-webpush/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, django
+, fetchFromGitHub
+, pythonOlder
+, pythonRelaxDepsHook
+, pywebpush
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "django-webpush";
+  version = "0.3.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "safwanrahman";
+    repo = "django-webpush";
+    rev = "refs/tags/${version}";
+    hash = "sha256-Mwp53apdPpBcn7VfDbyDlvLAVAG65UUBhT0w9OKjKbU=";
+  };
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    django
+    pywebpush
+  ];
+
+  # nothing to test
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "webpush"
+  ];
+
+  meta = with lib; {
+    description = "A Package made for integrating and sending Web Push Notification in Django Application";
+    homepage = "https://github.com/safwanrahman/django-webpush/";
+    changelog = "https://github.com/safwanrahman/django-webpush/releases/tag/${src.rev}";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ derdennisop ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django/3.nix b/nixpkgs/pkgs/development/python-modules/django/3.nix
index 9c8e13842422..7796c31ebd0e 100644
--- a/nixpkgs/pkgs/development/python-modules/django/3.nix
+++ b/nixpkgs/pkgs/development/python-modules/django/3.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "django";
-  version = "3.2.20";
+  version = "3.2.22";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "Django";
     inherit version;
-    hash = "sha256-3sKhFnh7jhSWIBS/eOEgu6RUE1EI4a+em5Gt57KWTEA=";
+    hash = "sha256-g7bWawbkhIB9d4Jj/cf5GG1NwYYvz6ZQeDBEasawYLo=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/django/4.nix b/nixpkgs/pkgs/development/python-modules/django/4.nix
index d694ff7fb033..582a2fab79c2 100644
--- a/nixpkgs/pkgs/development/python-modules/django/4.nix
+++ b/nixpkgs/pkgs/development/python-modules/django/4.nix
@@ -42,14 +42,14 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "4.2.5";
+  version = "4.2.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XlwclUj/t3lrSopHgumi5aPfNhUln8G/0+vHO2RhRsE=";
+    hash = "sha256-CPQfRotjM1rqDZBMVyngJQMA9qGQe/KTplSZSWzbxo8=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/dllogger/default.nix b/nixpkgs/pkgs/development/python-modules/dllogger/default.nix
new file mode 100644
index 000000000000..2ae7bd683e01
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dllogger/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "dllogger";
+  version = "1.0.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "NVIDIA";
+    repo = "dllogger";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Hpr4yeRl+Dyaz6lRyH/5P6UQT184JEHPqgVlf4qHvOg=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  # use examples as smoke tests since upstream has no tests
+  checkPhase = ''
+    runHook preCheck
+
+    python examples/dllogger_example.py
+    python examples/dllogger_singleton_example.py
+
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "dllogger" ];
+
+  meta = with lib; {
+    description = "A logging tool for deep learning";
+    homepage = "https://github.com/NVIDIA/dllogger";
+    changelog = "https://github.com/NVIDIA/dllogger/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dns-lexicon/default.nix b/nixpkgs/pkgs/development/python-modules/dns-lexicon/default.nix
new file mode 100644
index 000000000000..e8763988fdb9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dns-lexicon/default.nix
@@ -0,0 +1,118 @@
+{ lib
+, beautifulsoup4
+, boto3
+, buildPythonPackage
+, cryptography
+, dnspython
+, fetchFromGitHub
+, importlib-metadata
+, localzone
+, oci
+, poetry-core
+, pyotp
+, pytest-vcr
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, requests
+, softlayer
+, tldextract
+, zeep
+}:
+
+buildPythonPackage rec {
+  pname = "dns_lexicon";
+  version = "3.16.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "Analogj";
+    repo = "lexicon";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-GUYsTZPvsqGemViSqgEvYhyjTEut42akMq2ZK2P1fX0=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    cryptography
+    pyotp
+    pyyaml
+    requests
+    tldextract
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
+  ];
+
+  passthru.optional-dependencies = {
+    route53 = [
+      boto3
+    ];
+    localzone = [
+      localzone
+    ];
+    softlayer = [
+      softlayer
+    ];
+    ddns = [
+      dnspython
+    ];
+    duckdns = [
+      dnspython
+    ];
+    oci = [
+      oci
+    ];
+    full = [
+      boto3
+      dnspython
+      localzone
+      oci
+      softlayer
+      zeep
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-vcr
+  ] ++ passthru.optional-dependencies.full;
+
+  pytestFlagsArray = [
+    "tests/"
+  ];
+
+  disabledTestPaths = [
+    # Needs network access
+    "tests/providers/test_auto.py"
+    # Needs network access (and an API token)
+    "tests/providers/test_namecheap.py"
+  ];
+
+  disabledTests = [
+    # Tests want to download Public Suffix List
+    "test_client_legacy_init"
+    "test_client_basic_init"
+    "test_client_init"
+    "test_client_parse_env"
+    "test_missing"
+    "action_is_correctly"
+  ];
+
+  pythonImportsCheck = [
+    "lexicon"
+  ];
+
+  meta = with lib; {
+    description = "Manipulate DNS records on various DNS providers in a standardized way";
+    homepage = "https://github.com/AnalogJ/lexicon";
+    changelog = "https://github.com/AnalogJ/lexicon/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ aviallon ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/docformatter/default.nix b/nixpkgs/pkgs/development/python-modules/docformatter/default.nix
index 52bdb7ccc9d7..5e0240034413 100644
--- a/nixpkgs/pkgs/development/python-modules/docformatter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/docformatter/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "docformatter";
-  version = "1.6.4";
+  version = "1.7.5";
 
   disabled = pythonOlder "3.7";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "PyCQA";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-OQNE6Is1Pl0uoAkFYh4M+c8oNWL/uIh4X0hv8X0Qt/g=";
+    hash = "sha256-QUjeG84KwI5Y3MU1wrmjHBXU2tEJ0CuiR3Y/S+dX7Gs=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/docformatter/test-path.patch b/nixpkgs/pkgs/development/python-modules/docformatter/test-path.patch
index bd61c0ca829b..2959d84704e8 100644
--- a/nixpkgs/pkgs/development/python-modules/docformatter/test-path.patch
+++ b/nixpkgs/pkgs/development/python-modules/docformatter/test-path.patch
@@ -1,13 +1,13 @@
 diff --git a/tests/conftest.py b/tests/conftest.py
-index 5f5a9aa..3289222 100644
+index 762d246..7f86763 100644
 --- a/tests/conftest.py
 +++ b/tests/conftest.py
-@@ -92,21 +92,9 @@ def run_docformatter(arguments, temporary_file):
+@@ -101,21 +101,9 @@ def run_docformatter(arguments, temporary_file):
  
      Return subprocess object.
      """
 -    if "DOCFORMATTER_COVERAGE" in os.environ and int(
--            os.environ["DOCFORMATTER_COVERAGE"]
+-        os.environ["DOCFORMATTER_COVERAGE"]
 -    ):
 -        DOCFORMATTER_COMMAND = [
 -            "coverage",
diff --git a/nixpkgs/pkgs/development/python-modules/docker/default.nix b/nixpkgs/pkgs/development/python-modules/docker/default.nix
index f4c59515315c..80c73f2fe0a6 100644
--- a/nixpkgs/pkgs/development/python-modules/docker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/docker/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "docker";
-  version = "6.0.1";
+  version = "6.1.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iWxCguXHr1xF6LaDsLDDOTKXT+blD8aQagqDYWqz2pc=";
+    hash = "sha256-qm0XgwBFul7wFo1eqjTTe+6xE5SMQTr/4dWZH8EfmiA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/docopt-ng/default.nix b/nixpkgs/pkgs/development/python-modules/docopt-ng/default.nix
index a6297780a83a..cdeda778e0dc 100644
--- a/nixpkgs/pkgs/development/python-modules/docopt-ng/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/docopt-ng/default.nix
@@ -1,17 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pdm-backend
 }:
 
 buildPythonPackage rec {
   pname = "docopt-ng";
-  version = "0.8.1";
+  version = "0.9.0";
+  format = "pyproject";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-6mphooj8hk7uayLW/iiqIC1Z/Ib60F8W/145zE6n9uM=";
+    pname = "docopt_ng";
+    inherit version;
+    hash = "sha256-kcbaELW7by6eJTRYKfuCeMeK8Bn2/ECIetSbBgSDsdc=";
   };
 
+  nativeBuildInputs = [
+    pdm-backend
+  ];
+
   pythonImportsCheck = [ "docopt" ];
   doCheck = false; # no tests in the package
 
diff --git a/nixpkgs/pkgs/development/python-modules/docutils/default.nix b/nixpkgs/pkgs/development/python-modules/docutils/default.nix
index ca7fcae7406e..136f679fcf6e 100644
--- a/nixpkgs/pkgs/development/python-modules/docutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/docutils/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "docutils";
-  version = "0.19";
+  version = "0.20.1";
 
   disabled = pythonOlder "3.7";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-M5laZ1PDC39Xf+v8LFBBH+xqrH9//rfEz+WZEHLc+eY=";
+    hash = "sha256-8IpOJ2w6FYOobc4+NKuj/gTQK7ot1R7RYQYkToqSPjs=";
   };
 
   # Only Darwin needs LANG, but we could set it in general.
diff --git a/nixpkgs/pkgs/development/python-modules/docx2python/default.nix b/nixpkgs/pkgs/development/python-modules/docx2python/default.nix
index 13b41949ebef..f65f4f7c9075 100644
--- a/nixpkgs/pkgs/development/python-modules/docx2python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/docx2python/default.nix
@@ -1,29 +1,42 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, poetry-core
+, lxml
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "docx2python";
-  version = "unstable-2020-11-15";
+  version = "2.11.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
-  # Pypi does not contain tests
   src = fetchFromGitHub {
     owner = "ShayHill";
-    repo = pname;
-    rev = "21b2edafc0a01a6cfb73aefc61747a65917e2cad";
-    sha256 = "1nwg17ziwm9a2x7yxsscj8zgc1d383ifsk5w7qa2fws6gf627kyi";
+    repo = "docx2python";
+    rev = "refs/tags/${version}";
+    hash = "sha256-SavRYnNbESRQh9Elk8qCt/qdI2x+sYZJFMYy+Gojg2k=";
   };
 
-  preCheck = "cd test"; # Tests require the `test/resources` folder to be accessible
-  nativeCheckInputs = [ pytestCheckHook ];
-  disabledTests = [ # asserts related to file deletions fail
-    "test_docx2python.py"
-    "test_docx_context.py"
-    "test_google_docs.py"
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    lxml
   ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
   pythonImportsCheck = [ "docx2python" ];
 
   meta = with lib; {
     homepage = "https://github.com/ShayHill/docx2python";
     description = "Extract docx headers, footers, (formatted) text, footnotes, endnotes, properties, and images";
+    changelog = "https://github.com/ShayHill/docx2python/blob/${src.rev}/CHANGELOG.md";
     maintainers = [ maintainers.ivar ];
     license = licenses.mit;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix b/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix
index 4f5337fdb04c..069d08f4d551 100644
--- a/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dogpile-cache/default.nix
@@ -2,41 +2,45 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 , pytestCheckHook
-, mock
 , mako
 , decorator
 , stevedore
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "dogpile-cache";
-  version = "1.2.0";
+  version = "1.2.2";
+  format = "pyproject";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "dogpile.cache";
     inherit version;
-    hash = "sha256-R1VMhgzrSE3Vrvn/H4j+yz1K72u5IRlFD1vLqgJrv7E=";
+    hash = "sha256-/ZAiwNnLra3yCUI5GpWtrylr6AtC2qjiAvjeHCHxmLI=";
   };
 
-  preCheck = ''
-    # Disable concurrency tests that often fail,
-    # probably some kind of timing issue.
-    rm tests/test_lock.py
-    # Failing tests. https://bitbucket.org/zzzeek/dogpile.cache/issues/116
-    rm tests/cache/test_memcached_backend.py
-  '';
-
-  dontUseSetuptoolsCheck = true;
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook mock mako ];
+  propagatedBuildInputs = [
+    decorator
+    stevedore
+    typing-extensions
+  ];
 
-  propagatedBuildInputs = [ decorator stevedore ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    mako
+  ];
 
   meta = with lib; {
     description = "A caching front-end based on the Dogpile lock";
-    homepage = "https://bitbucket.org/zzzeek/dogpile.cache";
+    homepage = "https://github.com/sqlalchemy/dogpile.cache";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/draftjs-exporter/default.nix b/nixpkgs/pkgs/development/python-modules/draftjs-exporter/default.nix
index aac2ed2f6baf..ef94901e9aac 100644
--- a/nixpkgs/pkgs/development/python-modules/draftjs-exporter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/draftjs-exporter/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "draftjs-exporter";
-  version = "2.1.7";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     repo = "draftjs_exporter";
     owner = "springload";
-    rev = "v${version}";
-    sha256 = "sha256-tw0r9RnQdIwcY+pqnW8fcV0o2LzmxW0MZPn5drNgK80=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-4MmCVRx350p6N9XqTZSo8ROI/OJ0s4aKSYH9+Oxgvf4=";
   };
 
   passthru.optional-dependencies = {
diff --git a/nixpkgs/pkgs/development/python-modules/dramatiq/default.nix b/nixpkgs/pkgs/development/python-modules/dramatiq/default.nix
new file mode 100644
index 000000000000..8b7300d786f5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dramatiq/default.nix
@@ -0,0 +1,106 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, gevent
+, pika
+, prometheus-client
+, pylibmc
+, pytestCheckHook
+, redis
+, watchdog
+, watchdog-gevent
+}:
+
+buildPythonPackage rec {
+  pname = "dramatiq";
+  version = "1.14.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "Bogdanp";
+    repo = "dramatiq";
+    rev = "v${version}";
+    hash = "sha256-yv6HUJI7wsAQdBJ5QNv7qXhtzPvCsrF1389kyemAV7Y=";
+  };
+
+  propagatedBuildInputs = [
+    prometheus-client
+  ];
+
+  passthru.optional-dependencies = {
+    all = [
+      gevent
+      pika
+      pylibmc
+      redis
+      watchdog
+      watchdog-gevent
+    ];
+    gevent = [
+      gevent
+    ];
+    memcached = [
+      pylibmc
+    ];
+    rabbitmq = [
+      pika
+    ];
+    redis = [
+      redis
+    ];
+    watch = [
+      watchdog
+      watchdog-gevent
+    ];
+  };
+
+  nativeCheckInputs = [ pytestCheckHook pika redis pylibmc ];
+
+  postPatch = ''
+    sed -i ./setup.cfg \
+      -e 's:--cov dramatiq::' \
+      -e 's:--cov-report html::' \
+      -e 's:--benchmark-autosave::' \
+      -e 's:--benchmark-compare::' \
+  '';
+
+  disabledTests = [
+    # Requires a running redis
+    "test_after_process_boot_call_has_no_blocked_signals"
+    "test_cli_can_be_reloaded_on_sighup"
+    "test_cli_can_watch_for_source_code_changes"
+    "test_cli_fork_functions_have_no_blocked_signals"
+    "test_consumer_threads_have_no_blocked_signals"
+    "test_middleware_fork_functions_have_no_blocked_signals"
+    "test_redis_broker_can_connect_via_client"
+    "test_redis_broker_can_connect_via_url"
+    "test_redis_process_100k_messages_with_cli"
+    "test_redis_process_10k_fib_with_cli"
+    "test_redis_process_1k_latency_with_cli"
+    "test_worker_threads_have_no_blocked_signals"
+    # Requires a running rabbitmq
+    "test_rabbitmq_broker_can_be_passed_a_list_of_parameters_for_failover"
+    "test_rabbitmq_broker_can_be_passed_a_list_of_uri_for_failover"
+    "test_rabbitmq_broker_can_be_passed_a_semicolon_separated_list_of_uris"
+    "test_rabbitmq_broker_connections_are_lazy"
+    "test_rabbitmq_process_100k_messages_with_cli"
+    "test_rabbitmq_process_10k_fib_with_cli"
+    "test_rabbitmq_process_1k_latency_with_cli"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Takes too long for darwin ofborg
+    "test_retry_exceptions_can_specify_a_delay"
+  ];
+
+  pythonImportsCheck = [ "dramatiq" ];
+
+  meta = with lib; {
+    description = "Background Processing for Python 3";
+    homepage = "https://github.com/Bogdanp/dramatiq";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ traxys ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/drf-spectacular-sidecar/default.nix b/nixpkgs/pkgs/development/python-modules/drf-spectacular-sidecar/default.nix
index 1413cd324803..2ce7b3e92074 100644
--- a/nixpkgs/pkgs/development/python-modules/drf-spectacular-sidecar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/drf-spectacular-sidecar/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "drf-spectacular-sidecar";
-  version = "2023.3.1";
+  version = "2023.9.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "tfranzel";
     repo = "drf-spectacular-sidecar";
     rev = version;
-    hash = "sha256-UTH6t/znN4nYnqDhtFFxXoBXX8Zo19pJE9iDsvw7bGE=";
+    hash = "sha256-EoQKbxzXEuKC50/W1/tBB2wASJZmNNwg9r1qhIB4Ws8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/drf-spectacular/default.nix b/nixpkgs/pkgs/development/python-modules/drf-spectacular/default.nix
index b90a35f4ea69..9e476ad5c188 100644
--- a/nixpkgs/pkgs/development/python-modules/drf-spectacular/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/drf-spectacular/default.nix
@@ -28,13 +28,13 @@
 
 buildPythonPackage rec {
   pname = "drf-spectacular";
-  version = "0.26.4";
+  version = "0.26.5";
 
   src = fetchFromGitHub {
     owner = "tfranzel";
     repo = "drf-spectacular";
     rev = "refs/tags/${version}";
-    hash = "sha256-f8x4QOt2EbDv+NlYAmpzXrCdT+q4wLGIrDsuUd45j2U=";
+    hash = "sha256-sK+upLh0mi8eHKh1Wt9FoLRjqlHitTSX0Zl54S4Ce6E=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dtw-python/default.nix b/nixpkgs/pkgs/development/python-modules/dtw-python/default.nix
new file mode 100644
index 000000000000..6af3dd1186b1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dtw-python/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cython
+, oldest-supported-numpy
+, setuptools
+, wheel
+, scipy
+, numpy
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "dtw-python";
+  version = "1.3.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "DynamicTimeWarping";
+    repo = "dtw-python";
+    rev = "v${version}";
+    hash = "sha256-7hQuo7dES9f08YZhCf+kxUkMlrr+bg1P7HHRCMv3bLk=";
+  };
+
+  nativeBuildInputs = [
+    cython
+    oldest-supported-numpy
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    scipy
+    numpy
+  ];
+
+  # We need to run tests on real built package: https://github.com/NixOS/nixpkgs/issues/255262
+  preCheck = "cd $out";
+  nativeCheckInputs = [ pytestCheckHook ];
+  # tests/ are not included to output package, so we have to set path explicitly
+  pytestFlagsArray = [
+    "$src/tests"
+  ];
+
+  pythonImportsCheck = [ "dtw" ];
+
+  meta = with lib; {
+    description = "Python port of R's Comprehensive Dynamic Time Warp algorithms package";
+    homepage = "https://github.com/DynamicTimeWarping/dtw-python";
+    changelog = "https://github.com/DynamicTimeWarping/dtw-python/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/duckdb-engine/default.nix b/nixpkgs/pkgs/development/python-modules/duckdb-engine/default.nix
index f2b49cd0ea7b..ab82edb0893b 100644
--- a/nixpkgs/pkgs/development/python-modules/duckdb-engine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/duckdb-engine/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "duckdb-engine";
-  version = "0.7.3";
+  version = "0.9.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,9 +23,11 @@ buildPythonPackage rec {
     repo = "duckdb_engine";
     owner = "Mause";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Z9m1+Bc/csWKdPDuwf82xX0qOiD1Y5LBgJjUlLntAO8=";
+    hash = "sha256-T02nGF+YlughRQPinb0I3NC6xsarh4+qRhG8YfhTvhI=";
   };
 
+  patches = [ ./remote_data.patch ];
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -42,8 +44,11 @@ buildPythonPackage rec {
   disabledTests = [
     # this test tries to download the httpfs extension
     "test_preload_extension"
+    "test_motherduck"
     # test should be skipped based on sqlalchemy version but isn't and fails
     "test_commit"
+    # rowcount no longer generates an attribute error.
+    "test_rowcount"
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/duckdb-engine/remote_data.patch b/nixpkgs/pkgs/development/python-modules/duckdb-engine/remote_data.patch
new file mode 100644
index 000000000000..1c887acf6cae
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/duckdb-engine/remote_data.patch
@@ -0,0 +1,24 @@
+diff --git a/duckdb_engine/tests/test_basic.py b/duckdb_engine/tests/test_basic.py
+index 302636f..ed20f12 100644
+--- a/duckdb_engine/tests/test_basic.py
++++ b/duckdb_engine/tests/test_basic.py
+@@ -183,7 +183,6 @@ def test_get_views(engine: Engine) -> None:
+ 
+ 
+ @mark.skipif(os.uname().machine == "aarch64", reason="not supported on aarch64")
+-@mark.remote_data
+ def test_preload_extension() -> None:
+     duckdb.default_connection.execute("INSTALL httpfs")
+     engine = create_engine(
+diff --git a/duckdb_engine/tests/test_integration.py b/duckdb_engine/tests/test_integration.py
+index 349c976..bf3dbaa 100644
+--- a/duckdb_engine/tests/test_integration.py
++++ b/duckdb_engine/tests/test_integration.py
+@@ -24,7 +24,6 @@ def test_integration(engine: Engine) -> None:
+         conn.execute(text("select * from test_df"))
+ 
+ 
+-@mark.remote_data
+ @mark.skipif(
+     "dev" in duckdb.__version__, reason="md extension not available for dev builds"  # type: ignore[attr-defined]
+ )
diff --git a/nixpkgs/pkgs/development/python-modules/duckdb/default.nix b/nixpkgs/pkgs/development/python-modules/duckdb/default.nix
index f582ae9c3fdf..e9aac74d835e 100644
--- a/nixpkgs/pkgs/development/python-modules/duckdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/duckdb/default.nix
@@ -1,8 +1,10 @@
 { lib
 , buildPythonPackage
 , duckdb
+, fsspec
 , google-cloud-storage
 , numpy
+, openssl
 , pandas
 , psutil
 , pybind11
@@ -21,13 +23,13 @@ buildPythonPackage rec {
     # 1. let nix control build cores
     # 2. unconstrain setuptools_scm version
     substituteInPlace setup.py \
-      --replace "multiprocessing.cpu_count()" "$NIX_BUILD_CORES" \
-      --replace "setuptools_scm<7.0.0" "setuptools_scm"
+      --replace "multiprocessing.cpu_count()" "$NIX_BUILD_CORES"
 
-      # avoid dependency on mypy
-      rm tests/stubs/test_stubs.py
+    # avoid dependency on mypy
+    rm tests/stubs/test_stubs.py
   '';
 
+  BUILD_HTTPFS = 1;
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
@@ -35,12 +37,15 @@ buildPythonPackage rec {
     setuptools-scm
   ];
 
+  buildInputs = [ openssl ];
+
   propagatedBuildInputs = [
     numpy
     pandas
   ];
 
   nativeCheckInputs = [
+    fsspec
     google-cloud-storage
     psutil
     pytestCheckHook
@@ -55,6 +60,10 @@ buildPythonPackage rec {
     export HOME="$(mktemp -d)"
   '';
 
+  setupPyBuildFlags = [
+    "--inplace"
+  ];
+
   pythonImportsCheck = [
     "duckdb"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/duo-client/default.nix b/nixpkgs/pkgs/development/python-modules/duo-client/default.nix
index 088e9dc844cb..05f9f0c9a406 100644
--- a/nixpkgs/pkgs/development/python-modules/duo-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/duo-client/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "duo-client";
-  version = "4.7.1";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "duosecurity";
     repo = "duo_client_python";
     rev = "refs/tags/${version}";
-    hash = "sha256-nnKujvhOtuNnlFrbmYtD7L++S7DK0Qqrc0LyAVYe7Xg=";
+    hash = "sha256-G0XLZZaQTPD64WXN34wq2z+YtzECgtC2nJXzDxAlgyg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
index 004fceaaa8a1..72c9915cc879 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-data";
-  version = "2.16.3";
+  version = "2.18.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-cuUxVDc//O0FjPyBgXh8gBkCHSqfHELtTLT4VAu4HSA=";
+    hash = "sha256-JL72tenKmsWanHl6+olpx7SkFLmFoTyctl+2TnnKcAI=";
   };
 
   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 66d6e1057b04..9dad3e76369e 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.22.0";
+  version = "3.27.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-8L8ilGOPSfc6mW4JmmLM7VimwlFBQ6h5WIxaRnvWcm0=";
+    hash = "sha256-tEdYa3YkCE8qg6/XOxNm7kKULGk+KXxMkMNtW6T7+yw=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/dvclive/default.nix b/nixpkgs/pkgs/development/python-modules/dvclive/default.nix
index 7f07a851fe38..a07eb1c2d07c 100644
--- a/nixpkgs/pkgs/development/python-modules/dvclive/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvclive/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvclive";
-  version = "2.16.0";
+  version = "3.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-VxZXZhbKtym1ow/dU3G4yu4X1GwCsXzcau/YocertzY=";
+    hash = "sha256-jcgNNraMgsqTPNCbBcqEewe3jAXer4wn0aKqiUos+k8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dynalite-devices/default.nix b/nixpkgs/pkgs/development/python-modules/dynalite-devices/default.nix
index cb899bb04c07..7066271182ef 100644
--- a/nixpkgs/pkgs/development/python-modules/dynalite-devices/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dynalite-devices/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "dynalite-devices";
-  version = "0.1.48";
+  version = "0.47";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ziv1234";
     repo = "python-dynalite-devices";
     rev = "refs/tags/v${version}";
-    hash = "sha256-i88aIsRNsToSceQdwfspJg+Y5MO5zC4O6EkyhrYR27g=";
+    hash = "sha256-kJo4e5vhgWzijLUhQd9VBVk1URpg9SXhOA60dJYashM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ebooklib/default.nix b/nixpkgs/pkgs/development/python-modules/ebooklib/default.nix
new file mode 100644
index 000000000000..63ea0b4d06d2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ebooklib/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, lxml
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "ebooklib";
+  version = "0.18";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "aerkalov";
+    repo = "ebooklib";
+    rev = "v${version}";
+    hash = "sha256-Ciks/eeRpkqkWnyLgyHC+x/dSOcj/ZT45KUElKqv1F8=";
+  };
+
+  propagatedBuildInputs = [
+    lxml
+    six
+  ];
+
+  pythonImportsCheck = [ "ebooklib" ];
+
+  meta = with lib; {
+    description = "Python E-book library for handling books in EPUB2/EPUB3  format";
+    homepage = "https://github.com/aerkalov/ebooklib";
+    changelog = "https://github.com/aerkalov/ebooklib/blob/${src.rev}/CHANGES.txt";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ Scrumplex ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix b/nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix
index 07def603cb70..cd55d1c4c2b9 100644
--- a/nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix
@@ -9,7 +9,7 @@
 buildPythonPackage rec {
   pname = "ecs-logging";
   version = "2.1.0";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
diff --git a/nixpkgs/pkgs/development/python-modules/editables/default.nix b/nixpkgs/pkgs/development/python-modules/editables/default.nix
index 0211a855b3b4..f3db3a96d26f 100644
--- a/nixpkgs/pkgs/development/python-modules/editables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/editables/default.nix
@@ -1,18 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, flit-core
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "editables";
-  version = "0.3";
+  version = "0.5";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FnUk43c1jtHxN05hwmjw16S/fb0EbGVve0EM3hYWGxo=";
+    hash = "sha256-MJYn2bXErcDmaNjG+nusG6fIxdQVwtJ/YPCB+OgNHeI=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
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 c1bc530db0ff..21210376eca1 100644
--- a/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
 , setuptools
 , setuptools-scm
@@ -14,14 +15,16 @@
 
 buildPythonPackage rec {
   pname = "edk2-pytool-library";
-  version = "0.18.0";
-  format = "pyproject";
+  version = "0.19.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "tianocore";
     repo = "edk2-pytool-library";
     rev = "v${version}";
-    hash = "sha256-O7K439nAIHHTWSoR8mZWEu9sXcrhYfZto3RTgHZcOuA=";
+    hash = "sha256-xSW9ZeE2+vo2m2KaCW8lyotkHy7WVvNX16TDQEeQbQ4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/einops/default.nix b/nixpkgs/pkgs/development/python-modules/einops/default.nix
index f4364aac8307..a1e0b65aec20 100644
--- a/nixpkgs/pkgs/development/python-modules/einops/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/einops/default.nix
@@ -4,20 +4,17 @@
 , fetchFromGitHub
 , hatchling
 , jupyter
-, keras
-  #, mxnet
 , nbconvert
-, nbformat
-, nose
 , numpy
 , parameterized
+, pillow
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "einops";
-  version = "0.6.0";
+  version = "0.6.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +23,7 @@ buildPythonPackage rec {
     owner = "arogozhnikov";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/bnp8IhDxp8EB/PoW5Dz+7rOru0/odOrts84aq4qyJw=";
+    hash = "sha256-+TaxaxOc5jAm79tIK0NHZ58HgcgdCANrSo/602YaF8E=";
   };
 
   nativeBuildInputs = [ hatchling ];
@@ -34,18 +31,14 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     chainer
     jupyter
-    keras
-    # mxnet (has issues with some CPUs, segfault)
     nbconvert
-    nbformat
-    nose
     numpy
     parameterized
+    pillow
     pytestCheckHook
   ];
 
-  # No CUDA in sandbox
-  EINOPS_SKIP_CUPY = 1;
+  env.EINOPS_TEST_BACKENDS = "numpy,chainer";
 
   preCheck = ''
     export HOME=$(mktemp -d);
diff --git a/nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix b/nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix
index c50b5042a6c1..e00e188492fe 100644
--- a/nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elastic-apm/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "elastic-apm";
-  version = "6.18.0";
+  version = "6.19.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     owner = "elastic";
     repo = "apm-agent-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-s4aM2HuagqcF2sLHHRh2kj1tglf+JZ7hXT4PcAeFStQ=";
+    hash = "sha256-XwAKydZuvNMOIT4GkfID8YW019OfatRekXmGrssZfMw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/elastic-transport/default.nix b/nixpkgs/pkgs/development/python-modules/elastic-transport/default.nix
index 7975b2f2abef..c4d41f7d2fac 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.0";
+  version = "8.4.1";
   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-rZdl2gjY5Yg2Ls777tj12pPATMn//xVvEM4wkrZ3qUY=";
+    hash = "sha256-hrI8GJaI3K/3B0Vng0WvoabDP2Y8/60/tHNKo/Xq6JM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix
index 2fe746ea7f38..e5bdc6571cc9 100644
--- a/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elasticsearch-dsl/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "elasticsearch-dsl";
-  version = "7.4.0";
+  version = "8.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c4a7b93882918a413b63bed54018a1685d7410ffd8facbc860ee7fd57f214a6d";
+    sha256 = "sha256-ZkEK34gfArigMuilsqPuCT/e7eS4FPvwTA9s4EmbdHI=";
   };
 
   propagatedBuildInputs = [ elasticsearch python-dateutil six ];
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
index b8c25ce5ac31..a07ba8c6d188 100644
--- a/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elasticsearch/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage (rec {
   pname = "elasticsearch";
-  version = "7.16.3";
+  version = "8.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8adf8bc351ed55df7296be1009d38a1c999c0abc7d8700fa88533f1ad6087c5e";
+    sha256 = "sha256-0zZ/wBPgT8eq00mm3p+tHuBPttYnsOeJaqUFwS/eXgQ=";
   };
 
   # Check is disabled because running them destroy the content of the local cluster!
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix
index 6893a8353dff..3ab17cb180d0 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.9.0";
+  version = "8.10.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9j71MX3ITwfwFfIVvQIbXHu4r/3qz9SNAz8XfeAyWTc=";
+    hash = "sha256-naLy7xSqHlz8QNbQhM+iydJi8m6DQqBWlDLijOOT7ak=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/elmax-api/default.nix b/nixpkgs/pkgs/development/python-modules/elmax-api/default.nix
index 415211cb3625..b3e94cca5f02 100644
--- a/nixpkgs/pkgs/development/python-modules/elmax-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elmax-api/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "elmax-api";
-  version = "0.0.4";
+  version = "0.0.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "albertogeniola";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+dR1ccRa4G91yFeSwjgdZ1lEXV/PIgnKN8e9tfy5fTU=";
+    hash = "sha256-57pmmH7f893H71CMhdnahvbN/5F2yfrVZ6MFpYQ4+mQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/email-validator/default.nix b/nixpkgs/pkgs/development/python-modules/email-validator/default.nix
index 76b5b6fbe34a..99ae071f4ae3 100644
--- a/nixpkgs/pkgs/development/python-modules/email-validator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/email-validator/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "email-validator";
-  version = "1.3.1";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "JoshData";
     repo = "python-${pname}";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JW6Yrotm3HjUOUtNFxRorkrJKjzuwIXwjpUuMWEyLV0=";
+    hash = "sha256-o7UREa+IBiFjmqx0p+4XJCcoHQ/R6r2RtoezEcWvgbg=";
   };
 
   propagatedBuildInputs = [
@@ -30,18 +30,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # fails with dns.resolver.NoResolverConfiguration due to network sandboxing
-    "test_deliverability_no_records"
-    "test_deliverability_found"
-    "test_deliverability_fails"
-    "test_deliverability_dns_timeout"
-    "test_email_example_reserved_domain"
-    "test_main_single_good_input"
-    "test_main_multi_input"
-    "test_main_input_shim"
-    "test_validate_email__with_caching_resolver"
-    "test_validate_email__with_configured_resolver"
+  disabledTestPaths = [
+    # dns.resolver.NoResolverConfiguration: cannot open /etc/resolv.conf
+    "tests/test_deliverability.py"
+    "tests/test_main.py"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/emborg/default.nix b/nixpkgs/pkgs/development/python-modules/emborg/default.nix
index 0d7218ea3ead..b4b0b9b2106a 100644
--- a/nixpkgs/pkgs/development/python-modules/emborg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emborg/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , fetchpatch
+, flit-core
 , pytestCheckHook
 , pythonOlder
 , borgbackup
@@ -20,7 +21,7 @@
 buildPythonPackage rec {
   pname = "emborg";
   version = "1.37";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -31,6 +32,10 @@ buildPythonPackage rec {
     hash = "sha256-bHYs+vlNku/T5Hb9u77Xml9/FNj5vgqPeXSzcilsS+I=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     appdirs
     arrow
diff --git a/nixpkgs/pkgs/development/python-modules/enlighten/default.nix b/nixpkgs/pkgs/development/python-modules/enlighten/default.nix
index f6568e691fa1..76ff49c6a4c0 100644
--- a/nixpkgs/pkgs/development/python-modules/enlighten/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/enlighten/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "enlighten";
-  version = "1.11.2";
+  version = "1.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-koSGHe5aJy4OGjdYzT87cYCxvRdUh12naHbyp/Rsy2E=";
+    hash = "sha256-a4r20HG13gUBOjjoDhaHJtxv+yhY3oF/d+QV+Fss6Bk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/env-canada/default.nix b/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
index 332d4866e09a..9906725b63c6 100644
--- a/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "env-canada";
-  version = "0.5.36";
+  version = "0.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "michaeldavie";
     repo = "env_canada";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5eA9fqL748VigNgy1G7bZtMstV7EI9LLPhv6xZnCEFA=";
+    hash = "sha256-YIU0fboXw2CHkAeC47pcXlZT2KPO0R1UolBVILlLoPg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/envisage/default.nix b/nixpkgs/pkgs/development/python-modules/envisage/default.nix
index c49579a03fe1..74f70ee4979b 100644
--- a/nixpkgs/pkgs/development/python-modules/envisage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/envisage/default.nix
@@ -13,25 +13,16 @@
 
 buildPythonPackage rec {
   pname = "envisage";
-  version = "6.1.0";
-  format = "setuptools";
+  version = "7.0.3";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AATsUNcYLB4vtyvuooAMDZx8p5fayijb6yJoUKTCW40=";
+    hash = "sha256-97GviL86j/8qmsbja7SN6pkp4/YSIEz+lK7WKwMWyeM=";
   };
 
-  patches = [
-    # TODO: remove on next release
-    (fetchpatch {
-      name = "fix-mistake-in-menu-group-specification.patch";
-      url = "https://github.com/enthought/envisage/commit/f23ea3864a5f6ffca665d47dec755992e062029b.patch";
-      hash = "sha256-l4CWB4jRkSmoTDoV8CtP2w87Io2cLINKfOSaSPy7cXE=";
-    })
-  ];
-
   # for the optional dependency ipykernel, only versions < 6 are
   # supported, so it's not included in the tests, and not propagated
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ephem/default.nix b/nixpkgs/pkgs/development/python-modules/ephem/default.nix
index 0accb3ccf6d9..3b9f4fba9f50 100644
--- a/nixpkgs/pkgs/development/python-modules/ephem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ephem/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ephem";
-  version = "4.1.4";
+  version = "4.1.5";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-c6WfDSFi0WJFNcPDt1+VZVa9uyBV6vVUp77xR9P5x2A=";
+    hash = "sha256-DGSoqkAVdMdZQgRbmvcNFlbhTFNmFRwMu0AMvu3CNio=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/equinox/default.nix b/nixpkgs/pkgs/development/python-modules/equinox/default.nix
index 853e239500e2..d8342f054bc2 100644
--- a/nixpkgs/pkgs/development/python-modules/equinox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/equinox/default.nix
@@ -7,19 +7,20 @@
 , jaxtyping
 , typing-extensions
 , beartype
+, optax
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "equinox";
-  version = "0.10.11";
-  format = "pyproject";
+  version = "0.11.1";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "patrick-kidger";
-    repo = pname;
+    repo = "equinox";
     rev = "refs/tags/v${version}";
-    hash = "sha256-JffuPplIROPog29FBsWH9cQHSkrFKuXjaTjjEwIqW/0=";
+    hash = "sha256-iYVAbUIZG90kgWger+M+DZmS/kQ3nEPXQFU+90lHgK0=";
   };
 
   nativeBuildInputs = [
@@ -35,6 +36,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     beartype
+    optax
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/eradicate/default.nix b/nixpkgs/pkgs/development/python-modules/eradicate/default.nix
index cddeddfef8c2..511f8d17ecbe 100644
--- a/nixpkgs/pkgs/development/python-modules/eradicate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eradicate/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "eradicate";
-  version = "2.2.0";
+  version = "2.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "wemake-services";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-pVjvzW3UVeLMLLYcU0SIE19GEHFmouoA/JKSweTZSGo=";
+    hash = "sha256-ikiqNe1a+OeRraNBbtAx6v3LsTajWlgxm4wR2Tcbmjk=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/es-client/default.nix b/nixpkgs/pkgs/development/python-modules/es-client/default.nix
index ffa9d07f495d..e0a88d607c5b 100644
--- a/nixpkgs/pkgs/development/python-modules/es-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/es-client/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "es-client";
-  version = "8.9.0";
+  version = "8.10.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "untergeek";
     repo = "es_client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pzCjVkZ/NmHSe6X8dNH1YvjTu3njQaJe4CuguqrJNs8=";
+    hash = "sha256-EvE40HLNKYl38PZ2bShAhFCsX3DMYsMmusUTcAql9b4=";
   };
 
   pythonRelaxDeps = true;
diff --git a/nixpkgs/pkgs/development/python-modules/esig/default.nix b/nixpkgs/pkgs/development/python-modules/esig/default.nix
new file mode 100644
index 000000000000..f0183917c2c6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/esig/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cmake
+, ninja
+, oldest-supported-numpy
+, scikit-build
+, setuptools
+, numpy
+, iisignature
+, boost
+}:
+
+buildPythonPackage rec {
+  pname = "esig";
+  version = "0.9.8.3";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-BGZaJSrpNSwZMHBYFDmDVPZOtgam/EVyh5Y5FAB8e1o=";
+  };
+
+  buildInputs = [
+    boost
+  ];
+
+  dontUseCmakeConfigure = true;
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    oldest-supported-numpy
+    scikit-build
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  passthru.optional-dependencies = {
+    iisignature = [
+      iisignature
+    ];
+  };
+
+  # PyPI tarball has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "esig" ];
+
+  meta = with lib; {
+    description = "This package provides \"rough path\" tools for analysing vector time series";
+    homepage = "https://github.com/datasig-ac-uk/esig";
+    changelog = "https://github.com/datasig-ac-uk/esig/blob/release/CHANGELOG";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/et_xmlfile/default.nix b/nixpkgs/pkgs/development/python-modules/et-xmlfile/default.nix
index b744d2a693dd..b744d2a693dd 100644
--- a/nixpkgs/pkgs/development/python-modules/et_xmlfile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/et-xmlfile/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/eth-keys/default.nix b/nixpkgs/pkgs/development/python-modules/eth-keys/default.nix
index e9d3cc28cb83..8cc904bb4029 100644
--- a/nixpkgs/pkgs/development/python-modules/eth-keys/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eth-keys/default.nix
@@ -6,7 +6,7 @@
 , eth-hash
 , eth-typing
 , eth-utils
-, factory_boy
+, factory-boy
 , hypothesis
 , isPyPy
 , pyasn1
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     asn1tools
-    factory_boy
+    factory-boy
     hypothesis
     pyasn1
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/etils/default.nix b/nixpkgs/pkgs/development/python-modules/etils/default.nix
index bc870003ae1a..b6a3eed265df 100644
--- a/nixpkgs/pkgs/development/python-modules/etils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/etils/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "etils";
-  version = "1.4.1";
+  version = "1.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Uxk7V7KP8UxO4rJ/yh0JxME1bOuTJLQW6dnC7vX239s=";
+    hash = "sha256-tTDA0bLtG42hrzZ9S5eJHmgKakZY1BkBgyELu7jPH7k=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/eufylife-ble-client/default.nix b/nixpkgs/pkgs/development/python-modules/eufylife-ble-client/default.nix
index a3a228682f73..d6216634232a 100644
--- a/nixpkgs/pkgs/development/python-modules/eufylife-ble-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eufylife-ble-client/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "eufylife-ble-client";
-  version = "0.1.7";
+  version = "0.1.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "eufylife_ble_client";
     inherit version;
-    hash = "sha256-Vt9hHUVAM0d+BcotPUD9v8jXrcg7lEDVChLENUHd3rY=";
+    hash = "sha256-1pnT5B+m2/IDqHqOIZdDx8WwBdZpJe1Bj/HaxY+VW1Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/evaluate/default.nix b/nixpkgs/pkgs/development/python-modules/evaluate/default.nix
index 6412e7834a62..2e3ca084e1f9 100644
--- a/nixpkgs/pkgs/development/python-modules/evaluate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/evaluate/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "evaluate";
-  version = "0.4.0";
+  version = "0.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-O3W2m12R94iY3F7xgkIiiIyqI6vqiZPXn4jAqEDjVCw=";
+    hash = "sha256-axcJg0ZalEd4FOySCiFReKL7wmTCtLaw71YqyLHq8fc=";
   };
 
   nativeBuildInputs = [ pythonRelaxDepsHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/execnet/default.nix b/nixpkgs/pkgs/development/python-modules/execnet/default.nix
index 528e849290db..eb184c180d5b 100644
--- a/nixpkgs/pkgs/development/python-modules/execnet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/execnet/default.nix
@@ -2,31 +2,22 @@
 , buildPythonPackage
 , isPyPy
 , fetchPypi
-, fetchpatch
+, hatchling
+, hatch-vcs
+, gevent
 , pytestCheckHook
-, setuptools-scm
-, apipkg
-, py
 }:
 
 buildPythonPackage rec {
   pname = "execnet";
-  version = "1.9.0";
-  format = "setuptools";
+  version = "2.0.2";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f694f3ba9cc92cab508b152dcfe322153975c29bda272e2fd7f3f00f36e47c5";
+    hash = "sha256-zFm8RCN0L9ca0icSLrDdRNtR77PcQJW0WsmgjHcAlq8=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fix test compat with pytest 7.2.0
-      url = "https://github.com/pytest-dev/execnet/commit/c0459b92bc4a42b08281e69b8802d24c5d3415d4.patch";
-      hash = "sha256-AT2qr7AUpFXcPps525U63A7ARcEVmf0HM6ya73Z2vi0=";
-    })
-  ];
-
   postPatch = ''
     # remove vbox tests
     rm testing/test_termination.py
@@ -38,21 +29,27 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
-    setuptools-scm
-  ];
-
-  propagatedBuildInputs = [
-    apipkg
+    hatchling
+    hatch-vcs
   ];
 
   # sometimes crashes with: OSError: [Errno 9] Bad file descriptor
   doCheck = !isPyPy;
 
   nativeCheckInputs = [
-    py # no longer required with 1.10.0
+    gevent
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # gets stuck
+    "test_popen_io"
+    # OSError: [Errno 9] Bad file descriptor
+    "test_stdouterrin_setnull"
+  ];
+
+  pytestFlagsArray = [ "-vvv" ];
+
   pythonImportsCheck = [
     "execnet"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/exitcode/default.nix b/nixpkgs/pkgs/development/python-modules/exitcode/default.nix
new file mode 100644
index 000000000000..e3d91f53de87
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/exitcode/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "exitcode";
+  version = "0.1.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchFromGitHub {
+    owner = "rumpelsepp";
+    repo = "exitcode";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-MZeLwU1gODqH752y/nc9WkUArl48pyq9Vun7tX620No=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "exitcode"
+  ];
+
+  meta = with lib; {
+    description = "Preferred system exit codes as defined by sysexits.h";
+    homepage = "https://github.com/rumpelsepp/exitcode";
+    changelog = "https://github.com/rumpelsepp/exitcode/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix b/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix
index f6d9ecaf876a..aaeda3f40e73 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.post2305";
+  version = "1.3.0.post2309";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "mathLab";
     repo = "EZyRB";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uYwLz5NY+8lO8hZnAhqv+5PlcCSm6OOFWra47pwQhxg=";
+    hash = "sha256-9g7FCyGZc9TDR9MummM1KJJZs31Oo50N/U6HjKM90Nw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/faadelays/default.nix b/nixpkgs/pkgs/development/python-modules/faadelays/default.nix
index 22f764ad4ace..e19b3192e350 100644
--- a/nixpkgs/pkgs/development/python-modules/faadelays/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faadelays/default.nix
@@ -3,25 +3,38 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "faadelays";
-  version = "0.0.7";
+  version = "2023.9.1";
+  format = "pyproject";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-osZqfSYlKPYZMelBR6YB331iRB4DTjCUlmX7pcrIiGk=";
+    hash = "sha256-ngMFd+BE3hKeaeGEX4xHpzDIrtGFDsSwxBbrc4ZMFas=";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "faadelays" ];
+
+  pythonImportsCheck = [
+    "faadelays"
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/ntilley905/faadelays/releases/tag/v${version}";
     description = "Python package to retrieve FAA airport status";
     homepage = "https://github.com/ntilley905/faadelays";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix b/nixpkgs/pkgs/development/python-modules/factory-boy/default.nix
index 2269445282bd..2269445282bd 100644
--- a/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/factory-boy/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/fake-useragent/default.nix b/nixpkgs/pkgs/development/python-modules/fake-useragent/default.nix
index c9b58a92c229..50c4f5e96837 100644
--- a/nixpkgs/pkgs/development/python-modules/fake-useragent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fake-useragent/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "fake-useragent";
-  version = "1.2.1";
+  version = "1.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fake-useragent";
     repo = "fake-useragent";
     rev = "refs/tags/${version}";
-    hash = "sha256-kOvVqdfK9swtjW8D7COrZksLCu1N8sQO8rzx5RZqCT0=";
+    hash = "sha256-erGX52ipM0scn3snICf6ipjgVbV8/H5xT4GP3AtvOwo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/faker/default.nix b/nixpkgs/pkgs/development/python-modules/faker/default.nix
index 7e26264bc3e7..4f0a1e701352 100644
--- a/nixpkgs/pkgs/development/python-modules/faker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faker/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "faker";
-  version = "17.3.0";
+  version = "19.6.1";
 
   src = fetchPypi {
     pname = "Faker";
     inherit version;
-    hash = "sha256-JrKGSlMyCU8sfzlo3uurzmm+Oe1dtNvyK0+guj0aza4=";
+    hash = "sha256-XWt4gLO+pwgHXd+Rk4QkRT8HBTpZ+PoEU8GHDfb/MpI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
index 2ceea8047274..55685e35eb09 100644
--- a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
@@ -5,9 +5,10 @@
 , hypothesis
 , lupa
 , poetry-core
+, pybloom-live
 , pytest-asyncio
-, pytestCheckHook
 , pytest-mock
+, pytestCheckHook
 , pythonOlder
 , redis
 , six
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "2.18.1";
+  version = "2.19.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "dsoftwareinc";
     repo = "fakeredis-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XxQGkcwWesPS/N31t04FDq6w773OZnLVTWB42dY4AGA=";
+    hash = "sha256-EFgd7NnHcA4T/BZZUR/z3Z4JxA0dWricasKyJAaDsHc=";
   };
 
   nativeBuildInputs = [
@@ -52,6 +53,9 @@ buildPythonPackage rec {
     aioredis = [
       aioredis
     ];
+    bf = [
+      pybloom-live
+    ];
   };
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix b/nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix
index 784b13c3549a..fb2bcf88fa7f 100644
--- a/nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faraday-plugins/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "faraday-plugins";
-  version = "1.13.2";
+  version = "1.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "infobyte";
     repo = "faraday_plugins";
     rev = "refs/tags/${version}";
-    hash = "sha256-ZoxIuUeDkhACWGi+njZuMhO8P6nlErcBkub5VCMNm8Q=";
+    hash = "sha256-qFA0AVebHd/Ny8x+rUkueLZhYB/PwL7o/qpUnZCRsEA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/fastai/default.nix b/nixpkgs/pkgs/development/python-modules/fastai/default.nix
index 9f58d0434329..cb2ee2cc2692 100644
--- a/nixpkgs/pkgs/development/python-modules/fastai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastai/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "fastai";
-  version = "2.7.12";
+  version = "2.7.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5ayA/0bdgHDGcKNI8xpkyF6hqR3DIMIQZIjzQzMoKRY=";
+    hash = "sha256-q1KBBAAKrTzq6USRwBjvT23mXpjQT2gjBsxuZ4w54rY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fastapi/default.nix b/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
index c0c4b36d3439..553f313bd0b6 100644
--- a/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
@@ -1,27 +1,41 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pydantic
+, pythonOlder
+
+# build-system
+, hatchling
+
+# dependencies
 , starlette
-, pytestCheckHook
-, pytest-asyncio
-, aiosqlite
-, databases
+, pydantic
+, typing-extensions
+
+# tests
+, dirty-equals
 , flask
-, httpx
-, hatchling
-, orjson
 , passlib
-, peewee
+, pytest-asyncio
+, pytestCheckHook
 , python-jose
 , sqlalchemy
 , trio
-, pythonOlder
+
+# optional-dependencies
+, httpx
+, jinja2
+, python-multipart
+, itsdangerous
+, pyyaml
+, ujson
+, orjson
+, email-validator
+, uvicorn
 }:
 
 buildPythonPackage rec {
   pname = "fastapi";
-  version = "0.95.2";
+  version = "0.103.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -30,40 +44,43 @@ buildPythonPackage rec {
     owner = "tiangolo";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-wD39CqUZOgwpG/NEGz/pXgQsadzUoM/elxfEXthOlHo=";
+    hash = "sha256-2J8c3S4Ca+c5bI0tyjMJArJKux9qPmu+ohqve5PhSGI=";
   };
 
   nativeBuildInputs = [
     hatchling
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace '"databases[sqlite] >=0.3.2,<0.7.0",' "" \
-      --replace "starlette==" "starlette>="
-  '';
-
   propagatedBuildInputs = [
     starlette
     pydantic
+    typing-extensions
   ];
 
-  nativeCheckInputs = [
-    aiosqlite
-    # databases FIXME incompatible with SQLAlchemy 2.0
-    flask
+  passthru.optional-dependencies.all = [
     httpx
+    jinja2
+    python-multipart
+    itsdangerous
+    pyyaml
+    ujson
     orjson
+    email-validator
+    uvicorn
+    # pydantic-settings
+    # pydantic-extra-types
+  ] ++ uvicorn.optional-dependencies.standard;
+
+  nativeCheckInputs = [
+    dirty-equals
+    flask
     passlib
-    peewee
-    python-jose
     pytestCheckHook
     pytest-asyncio
-    sqlalchemy
+    python-jose
     trio
-  ]
-  ++ passlib.optional-dependencies.bcrypt
-  ++ pydantic.optional-dependencies.email;
+    sqlalchemy
+  ] ++ passthru.optional-dependencies.all;
 
   pytestFlagsArray = [
     # ignoring deprecation warnings to avoid test failure from
@@ -92,6 +109,8 @@ buildPythonPackage rec {
     "test_trace"
     # Unexpected number of warnings caught
     "test_warn_duplicate_operation_id"
+    # assert state["except"] is True
+    "test_dependency_gets_exception"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/fastavro/default.nix b/nixpkgs/pkgs/development/python-modules/fastavro/default.nix
index 85b9eecb57e8..54a475c08b01 100644
--- a/nixpkgs/pkgs/development/python-modules/fastavro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastavro/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "fastavro";
-  version = "1.8.2";
+  version = "1.8.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-UPnWVYiZJdP6r7Bm1H9DMXpLi26c9tpXeEkLXVJxWdM=";
+    hash = "sha256-W+fFZAQU7W6gDqB6LOrG8se6mBATFZWmepTt1HSphbE=";
   };
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/python-modules/fastembed/default.nix b/nixpkgs/pkgs/development/python-modules/fastembed/default.nix
index d3633af2bb8e..f9b3f71e1ce7 100644
--- a/nixpkgs/pkgs/development/python-modules/fastembed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastembed/default.nix
@@ -10,9 +10,9 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "fastembed";
-  version = "unstable-2023-09-07";
+  version = "0.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "qdrant";
     repo = "fastembed";
-    rev = "9c5d32f271dfe9ae4730694727ff5df480983942";
+    rev = "refs/tags/v${version}";
     hash = "sha256-d7Zb0IL0NOPEPsCHe/ZMNELnSCG4+y8JmGAXnCRUd50=";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix b/nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix
index 563c4b7e4f48..b632f9f28772 100644
--- a/nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "faster-whisper";
-  version = "0.7.1";
+  version = "0.8.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "guillaumekln";
     repo = "faster-whisper";
-    rev = "v${version}";
-    hash = "sha256-NTk0S+dMChygnC7Wix62AFO4NNSPJuKXyqoEyWiQhII=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-MVcopBIwmgoklVROfIp35uvFgNQDVDNDfJwITV9sLSQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ffcv/default.nix b/nixpkgs/pkgs/development/python-modules/ffcv/default.nix
index 08f80d198e4e..861f2d020190 100644
--- a/nixpkgs/pkgs/development/python-modules/ffcv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ffcv/default.nix
@@ -13,14 +13,13 @@
 
 buildPythonPackage rec {
   pname = "ffcv";
-  version = "0.0.3";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "libffcv";
     repo = pname;
-    # See https://github.com/libffcv/ffcv/issues/158.
-    rev = "131d56235eca3f1497bb84eeaec82c3434ef25d8";
-    sha256 = "0f7q2x48lknnf98mqaa35my05qwvdgv0h8l9lpagdw6yhx0a6p2x";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-L2mwGFivq/gtAw+1D6U2jbW6VxYgetHX7OUrjwyybqE=";
   };
 
   # See https://github.com/libffcv/ffcv/issues/159.
diff --git a/nixpkgs/pkgs/development/python-modules/filelock/default.nix b/nixpkgs/pkgs/development/python-modules/filelock/default.nix
index 3215a9010882..74cd6e727dbd 100644
--- a/nixpkgs/pkgs/development/python-modules/filelock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/filelock/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "filelock";
-  version = "3.12.2";
+  version = "3.12.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ACdAUY2KpZomsMduEPuMbhXq6CXTS2/fZwMz/XuTjYE=";
+    hash = "sha256-Lm8knx82VCkWBuBGsJ8f1erDmzYGZMJ/Wq0HIBL4vL0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix b/nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix
index 064b8291b8ce..1491b254e835 100644
--- a/nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "finvizfinance";
-  version = "0.14.5";
+  version = "0.14.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "lit26";
     repo = "finvizfinance";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yhOa/CS+9UdI+TVMObBsOqIp9XggMJvNjteSMa5DJcM=";
+    hash = "sha256-YRdOj0n2AUGRicQCENoXWad5MnRyTqQFxqisTFnClac=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/flake8/default.nix b/nixpkgs/pkgs/development/python-modules/flake8/default.nix
index 860f449fd8b3..4a05efc146ba 100644
--- a/nixpkgs/pkgs/development/python-modules/flake8/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flake8/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "flake8";
-  version = "6.0.0";
+  version = "6.1.0";
 
   disabled = pythonOlder "3.8";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "PyCQA";
     repo = "flake8";
     rev = version;
-    hash = "sha256-dN9LlLpQ/ZoVIFrAQ1NxMvsHqWsgdJVLUIAFwkheEL4=";
+    hash = "sha256-N8bufkn1CUREHusVc2mQ1YlNr7lrESEZGmlN68bhgbE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flasgger/default.nix b/nixpkgs/pkgs/development/python-modules/flasgger/default.nix
new file mode 100644
index 000000000000..4bb5e9fe30d9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flasgger/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+
+# dependencies
+, flask
+, jsonschema
+, mistune
+, pyyaml
+, six
+, werkzeug
+
+# tests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "flasgger";
+  version = "0.9.5";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "flasgger";
+    repo = "flasgger";
+    rev = version;
+    hash = "sha256-cYFMKZxpi69gVWqyZUltCL0ZwcfIABNsJKqAhN2TTSg=";
+  };
+
+  patches = [
+    (fetchpatch {
+      # flask 2.3 compat
+      url = "https://github.com/flasgger/flasgger/commit/ab77be7c6de1d4b361f0eacfa37290239963f890.patch";
+      hash = "sha256-ZbE5pPUP23nZAP/qcdeWkwzrZgqJSRES7oFta8U1uVQ=";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    flask
+    jsonschema
+    mistune
+    pyyaml
+    six
+    werkzeug
+  ];
+
+  pythonImportsCheck = [
+    "flasgger"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  doCheck = false; # missing flex dependency
+
+  meta = with lib; {
+    description = "Easy OpenAPI specs and Swagger UI for your Flask API";
+    homepage = "https://github.com/flasgger/flasgger/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix b/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix
index eaf132e943c3..6309e0ddd2c0 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-appbuilder/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "flask-appbuilder";
-  version = "4.3.1";
+  version = "4.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Flask-AppBuilder";
     inherit version;
-    hash = "sha256-FP92HEGOsufHtaIySqDiScD3QUu3iQhWdtvkOecUvuI=";
+    hash = "sha256-jKlxD6fScEdH0ZXhG0h9RaVx9AVZ2DmdnV36QuofPHg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flask-babel/default.nix b/nixpkgs/pkgs/development/python-modules/flask-babel/default.nix
index 63e393a40afb..f8a6d3b31000 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-babel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-babel/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "flask-babel";
-  version = "3.1.0";
+  version = "4.0.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "python-babel";
     repo = "flask-babel";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KoTHBrGD6M3rkXoxUadRXhroRUbWKaL/rE6Rd2mxw4c=";
+    hash = "sha256-BAT+oupy4MCSjeZ4hFtSKMkGU9xZtc7Phnz1mIsb2Kc=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flask-dramatiq/default.nix b/nixpkgs/pkgs/development/python-modules/flask-dramatiq/default.nix
new file mode 100644
index 000000000000..6f8884516f49
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flask-dramatiq/default.nix
@@ -0,0 +1,85 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitLab
+, poetry-core
+, dramatiq
+, flask
+, requests
+, pytestCheckHook
+, flask-migrate
+, periodiq
+, postgresql
+, postgresqlTestHook
+, psycopg2
+}:
+
+buildPythonPackage {
+  pname = "flask-dramatiq";
+  version = "0.6.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitLab {
+    owner = "bersace";
+    repo = "flask-dramatiq";
+    rev = "840209e9bf582b4dda468e8bba515f248f3f8534";
+    hash = "sha256-qjV1zyVzHPXMt+oUeGBdP9XVlbcSz2MF9Zygj543T4w=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'poetry>=0.12' 'poetry-core' \
+      --replace 'poetry.masonry.api' 'poetry.core.masonry.api'
+
+    patchShebangs --build ./example.py
+
+    sed -i ./tests/unit/pytest.ini \
+      -e 's:--cov=flask_dramatiq::' \
+      -e 's:--cov-report=term-missing::'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    dramatiq
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    flask
+    requests
+    flask-migrate
+    periodiq
+    postgresql
+    postgresqlTestHook
+    psycopg2
+  ] ++ dramatiq.optional-dependencies.rabbitmq;
+
+  postgresqlTestSetupPost = ''
+    substituteInPlace config.py \
+      --replace 'SQLALCHEMY_DATABASE_URI = f"postgresql://{PGUSER}:{PGPASSWORD}@{PGHOST}/{PGDATABASE}"' \
+        "SQLALCHEMY_DATABASE_URI = \"postgresql://$PGUSER/$PGDATABASE?host=$PGHOST\""
+    python3 ./example.py db upgrade
+  '';
+
+  pytestFlagsArray = [ "-x" "tests/func/" "tests/unit"];
+
+  pythonImportsCheck = [ "flask_dramatiq" ];
+
+  # Does HTTP requests to localhost
+  disabledTests = [
+    "test_fast"
+    "test_other"
+  ];
+
+  meta = with lib; {
+    description = "Adds Dramatiq support to your Flask application";
+    homepage = "https://gitlab.com/bersace/flask-dramatiq";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ traxys ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix b/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
index 173b029d1533..2d5537b5df69 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-jwt-extended/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "flask-jwt-extended";
-  version = "4.5.2";
+  version = "4.5.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Flask-JWT-Extended";
     inherit version;
-    hash = "sha256-ulYkW6Q7cciuk2eEuGdiXc6LmVb67t7ClTIi5XlC+ws=";
+    hash = "sha256-Bh7z0l7VdDur5JZKs4822HDm0v2KEmurXXfd74oBkys=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix b/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix
index 1305234e43f7..ff532ffd12d9 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "flask-limiter";
-  version = "3.3.1";
+  version = "3.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "alisaifee";
     repo = "flask-limiter";
     rev = "refs/tags/${version}";
-    hash = "sha256-UtmMd180bwFm426YevARq6r7DL182dI7dGAUPFKLWuM=";
+    hash = "sha256-ZaHw8+l1sBCeNj0tYdUw1f4BUvEj6plOSoH0GUzNg+0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/flask-login/default.nix b/nixpkgs/pkgs/development/python-modules/flask-login/default.nix
index c1b8c15bea03..1caf53c7a2d8 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-login/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-login/default.nix
@@ -36,10 +36,20 @@ buildPythonPackage rec {
     semantic-version
   ];
 
-  disabledTests = lib.optionals (pythonAtLeast "3.10") [
+  disabledTests = [
+    # https://github.com/maxcountryman/flask-login/issues/747
+    "test_remember_me_accepts_duration_as_int"
+    "test_remember_me_custom_duration_uses_custom_cookie"
+    "test_remember_me_refresh_every_request"
+    "test_remember_me_uses_custom_cookie_parameters"
+  ] ++ lib.optionals (pythonAtLeast "3.10") [
     "test_hashable"
   ];
 
+  pytestFlagsArray = [
+    "-W" "ignore::DeprecationWarning"
+  ];
+
   pythonImportsCheck = [
     "flask_login"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix b/nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix
index 819c9d239231..a7a5da621630 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-migrate/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
     repo = "Flask-Migrate";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     hash = "sha256-fdnoX7ypTpH2mQ+7Xuhzdh706Of7PIVhHQGVbe0jv1s=";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/flask-mysqldb/default.nix b/nixpkgs/pkgs/development/python-modules/flask-mysqldb/default.nix
new file mode 100644
index 000000000000..f0b7d59206fe
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flask-mysqldb/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, setuptools
+, flask
+, mysqlclient
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "flask-mysqldb";
+  version = "2.0.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "alexferl";
+    repo = "flask-mysqldb";
+    rev = "v${version}";
+    hash = "sha256-RHAB9WGRzojH6eAOG61QguwF+4LssO9EcFjbWxoOtF4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    flask
+    mysqlclient
+  ];
+
+  pythonImportsCheck = [
+    "flask_mysqldb"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "MySQL connection support for Flask";
+    homepage = "https://github.com/alexferl/flask-mysqldb";
+    changelog = "https://github.com/alexferl/flask-mysqldb/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ netali ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flask-openid/default.nix b/nixpkgs/pkgs/development/python-modules/flask-openid/default.nix
index c8d212368958..748e2fbe2bd9 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-openid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-openid/default.nix
@@ -9,7 +9,6 @@
 buildPythonPackage rec {
   pname = "flask-openid";
   version = "1.3.0";
-  disable = !isPy3k;
 
   src = fetchPypi {
     pname = "Flask-OpenID";
diff --git a/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix b/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
index d73ad8d35c0d..1c4e021e1b2d 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
@@ -1,19 +1,45 @@
-{ lib, buildPythonPackage, fetchPypi, flask }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "flask-paginate";
-  version = "2022.1.8";
+  version = "2023.10.8";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a32996ec07ca004c45b768b0d50829728ab8f3986c0650ef538e42852c7aeba2";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "lixxu";
+    repo = "flask-paginate";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-QXXuXwMY3CwSv1P5zDK6q/LZfh96/BL3fbdbg53BJ6o=";
   };
 
-  propagatedBuildInputs = [ flask ];
+  propagatedBuildInputs = [
+    flask
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "flask_paginate"
+  ];
+
+  pytestFlagsArray = [
+    "tests/tests.py"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/lixxu/flask-paginate";
     description = "Pagination support for Flask";
+    homepage = "https://github.com/lixxu/flask-paginate";
+    changelog = "https://github.com/lixxu/flask-paginate/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/flask-restful/default.nix b/nixpkgs/pkgs/development/python-modules/flask-restful/default.nix
index 9db70e044e19..68072b7ddde9 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-restful/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-restful/default.nix
@@ -48,6 +48,9 @@ buildPythonPackage rec {
   disabledTests = [
     # Broke in flask 2.2 upgrade
     "test_exception_header_forwarded"
+    # Broke in werkzeug 2.3 upgrade
+    "test_media_types_method"
+    "test_media_types_q"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/flask-restx/default.nix b/nixpkgs/pkgs/development/python-modules/flask-restx/default.nix
index cdee90d222a6..42132b2da539 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-restx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-restx/default.nix
@@ -58,6 +58,12 @@ buildPythonPackage rec {
     "--deselect=tests/test_logging.py::LoggingTest::test_override_app_level"
   ];
 
+  disabledTests = [
+    # broken in werkzeug 2.3 upgrade
+    "test_media_types_method"
+    "test_media_types_q"
+  ];
+
   pythonImportsCheck = [
     "flask_restx"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix b/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix
index e18cc8579ba9..529a1a63913a 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-security-too/default.nix
@@ -46,7 +46,7 @@
 
 buildPythonPackage rec {
   pname = "flask-security-too";
-  version = "5.1.2";
+  version = "5.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -54,7 +54,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Flask-Security-Too";
     inherit version;
-    hash = "sha256-lZzm43m30y+2qjxNddFEeg9HDlQP9afq5VtuR25zaLc=";
+    hash = "sha256-n12DCRPqxm8YhFeVrl99BEvdDYNq6rzP662rain3k1Q=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix
index 550d9adf416f..7146c38e5a30 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-sqlalchemy/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , flask
 , mock
-, pdm-pep517
+, flit-core
 , pytestCheckHook
 , pythonOlder
 , sqlalchemy
@@ -11,19 +11,19 @@
 
 buildPythonPackage rec {
   pname = "flask-sqlalchemy";
-  version = "3.0.3";
+  version = "3.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
-    pname = "Flask-SQLAlchemy";
+    pname = "flask_sqlalchemy";
     inherit version;
-    hash = "sha256-J2QzXzydfr3J7WBEr6+Yqun6UNegdM71Xd4wfslZA+w=";
+    hash = "sha256-5LaLuIGALdoafYeLL8hMBtHuV/tAuHTT3Jfav6NrgxI=";
   };
 
   nativeBuildInputs = [
-    pdm-pep517
+    flit-core
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flask-wtf/default.nix b/nixpkgs/pkgs/development/python-modules/flask-wtf/default.nix
index 4954f19f91de..a106945df060 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-wtf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-wtf/default.nix
@@ -1,24 +1,34 @@
 { lib
 , fetchPypi
-, fetchpatch
 , buildPythonPackage
+, pythonOlder
+, hatchling
 , flask
 , itsdangerous
 , wtforms
 , email-validator
 , pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "flask-wtf";
-  version = "1.1.1";
+  version = "1.2.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
-    pname = "Flask-WTF";
+    pname = "flask_wtf";
     inherit version;
-    hash = "sha256-QcQkTprmJtY77UKuR4W5Bme4hbFTXVpAleH2MGDRKqk=";
+    hash = "sha256-i7Jp65u0a4fnyCM9fn3r3x+LdL+QzBeJmIwps3qXtpU=";
   };
 
+  nativeBuildInputs = [
+    hatchling
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     flask
     itsdangerous
@@ -33,10 +43,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    "-W" "ignore::DeprecationWarning"
+  ];
+
   meta = with lib; {
     description = "Simple integration of Flask and WTForms.";
     license = licenses.bsd3;
     maintainers = with maintainers; [ mic92 anthonyroussel ];
     homepage = "https://github.com/lepture/flask-wtf/";
+    changelog = "https://github.com/wtforms/flask-wtf/releases/tag/v${version}";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flask/default.nix b/nixpkgs/pkgs/development/python-modules/flask/default.nix
index b7914ad3777e..154625f6c52a 100644
--- a/nixpkgs/pkgs/development/python-modules/flask/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask/default.nix
@@ -2,7 +2,9 @@
 , buildPythonPackage
 , fetchPypi
 , asgiref
+, blinker
 , click
+, flit-core
 , importlib-metadata
 , itsdangerous
 , jinja2
@@ -19,16 +21,21 @@
 
 buildPythonPackage rec {
   pname = "flask";
-  version = "2.2.5";
+  version = "2.3.3";
+  format = "pyproject";
 
   src = fetchPypi {
-    pname = "Flask";
-    inherit version;
-    hash = "sha256-7e6bCn/yZiG9WowQ/0hK4oc3okENmbC7mmhQx/uXeqA=";
+    inherit pname version;
+    hash = "sha256-CcNHqSqn/0qOfzIGeV8w2CZlS684uHPQdEzVccpgnvw=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     click
+    blinker
     itsdangerous
     jinja2
     werkzeug
diff --git a/nixpkgs/pkgs/development/python-modules/flax/default.nix b/nixpkgs/pkgs/development/python-modules/flax/default.nix
index bea9667a1a18..0a6b086fe516 100644
--- a/nixpkgs/pkgs/development/python-modules/flax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flax/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "flax";
-  version = "0.6.5";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Vv68BK83gTIKj0r9x+twdhqmRYziD0vxQCdHkYSeTak=";
+    hash = "sha256-i48omag/1Si3mCCGfsUD9qeejyeCLWzvvwKJqH8vm8k=";
   };
 
   nativeBuildInputs = [ jaxlib pythonRelaxDepsHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/flet-core/default.nix b/nixpkgs/pkgs/development/python-modules/flet-core/default.nix
index ed55629dca03..bf1e8b2d693a 100644
--- a/nixpkgs/pkgs/development/python-modules/flet-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flet-core/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "flet-core";
-  version = "0.7.4";
+  version = "0.10.1";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "flet_core";
     inherit version;
-    hash = "sha256-8WG7odYiGrew4GwD+MUuzQPmDn7V/GmocBproqsbCNw=";
+    hash = "sha256-YLtHnKBlXkUJJkQzxnDkfl6+gSGm05GXYPGEU3XO/jI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flet/default.nix b/nixpkgs/pkgs/development/python-modules/flet/default.nix
index 4c41e5972600..c6541372d66b 100644
--- a/nixpkgs/pkgs/development/python-modules/flet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flet/default.nix
@@ -19,12 +19,12 @@
 
 buildPythonPackage rec {
   pname = "flet";
-  version = "0.7.4";
+  version = "0.10.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vFPjN+5wIygtP035odAOSdF9PQe6eXz6CJ9Q0d8ScFo=";
+    hash = "sha256-Ogy4F9/beSb3GCpwPsN+8hsVroRoHTSojqg+5eXwcRI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/flow-record/default.nix b/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
index 0f4cea423e46..3479f3b3d57b 100644
--- a/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
@@ -15,16 +15,16 @@
 
 buildPythonPackage rec {
   pname = "flow-record";
-  version = "3.11";
+  version = "3.12";
   format = "pyproject";
 
-  disabled = pythonOlder "3.11";
+  disabled = pythonOlder "3.12";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "flow.record";
     rev = "refs/tags/${version}";
-    hash = "sha256-/mrsm7WoqnTIaGOHuIZk1eMXAMi38eVpctgi6+RQ3WQ=";
+    hash = "sha256-b9MCgs3Imo0DHtPyvQuRgYvsLWe8N2Y9TIWdU1E04L8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/fnv-hash-fast/default.nix b/nixpkgs/pkgs/development/python-modules/fnv-hash-fast/default.nix
index 7fe9ba92b638..01e57845d3bb 100644
--- a/nixpkgs/pkgs/development/python-modules/fnv-hash-fast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fnv-hash-fast/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "fnv-hash-fast";
-  version = "0.4.1";
+  version = "0.5.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = "fnv-hash-fast";
     rev = "v${version}";
-    hash = "sha256-vKv3Hfla+U1teYVB+w8ONj0Ur996noanbg6aaJ6S6+I=";
+    hash = "sha256-gAHCssJC6sTR6ftkQHrtF/5Nf9dXE4ykRhVusb0Gu3I=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/fontmake/default.nix b/nixpkgs/pkgs/development/python-modules/fontmake/default.nix
index 1f684becb94c..a6bd37c0153e 100644
--- a/nixpkgs/pkgs/development/python-modules/fontmake/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fontmake/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "fontmake";
-  version = "3.5.1";
+  version = "3.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-njJArNq7nhdoq0Si3+RUDE+VJSwuUvk+e7WeuNaluK0=";
+    hash = "sha256-Nb09/BRPR0H3rHrbDIhcrgOyJp55KCIdPvUr/vh2Z0U=";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/fonttools/default.nix b/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
index 845ca18e4a62..3c167debba37 100644
--- a/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fonttools/default.nix
@@ -24,7 +24,8 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "4.38.0";
+  version = "4.42.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
@@ -32,7 +33,7 @@ buildPythonPackage rec {
     owner  = pname;
     repo   = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-cdZI2kwR3zzS6eiiXGpeHIp+kgPCPEsTOSTV60pODTM=";
+    hash = "sha256-fcFFJi9Hr0m74LwFIhhhm/bMfxepAvg4/ymU53MmsPg=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
@@ -60,6 +61,7 @@ buildPythonPackage rec {
   ] ++ lib.concatLists (lib.attrVals ([
     "woff"
     "interpolatable"
+    "ufo"
   ] ++ lib.optionals (!skia-pathops.meta.broken) [
     "pathops" # broken
   ] ++ [
diff --git a/nixpkgs/pkgs/development/python-modules/formbox/default.nix b/nixpkgs/pkgs/development/python-modules/formbox/default.nix
index 387ee2bea4ed..098d13e87c98 100644
--- a/nixpkgs/pkgs/development/python-modules/formbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/formbox/default.nix
@@ -1,9 +1,9 @@
-{ lib, buildPythonPackage, pythonOlder, fetchFromSourcehut, bleach, markdown }:
+{ lib, buildPythonPackage, pythonOlder, fetchFromSourcehut, flit-core, bleach, markdown }:
 
 buildPythonPackage rec {
   pname = "formbox";
   version = "0.4.1";
-  format = "flit";
+  format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchFromSourcehut {
@@ -13,6 +13,7 @@ buildPythonPackage rec {
     hash = "sha256-zOvXmSeBiwc0Z5mRMwMsHLU3A/iP7rpjXm0T0I2gUTk=";
   };
 
+  nativeBuildInputs = [ flit-core ];
   propagatedBuildInputs = [ bleach markdown ];
   doCheck = false; # there's no test
   pythonImportsCheck = [ "formbox" ];
diff --git a/nixpkgs/pkgs/development/python-modules/formulae/default.nix b/nixpkgs/pkgs/development/python-modules/formulae/default.nix
index ab13f86dc18b..d8b6088124d4 100644
--- a/nixpkgs/pkgs/development/python-modules/formulae/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/formulae/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "formulae";
-  version = "0.5.0";
+  version = "0.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "bambinos";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-WDWpyrHXGBfheE0m5I9K+Dk1urXRMY6yoenN3OaZogM=";
+    hash = "sha256-nmqGdXqsesRhR06FDS5t64C6+Bz1B97W+PkHrfV7Qmg=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/formulaic/default.nix b/nixpkgs/pkgs/development/python-modules/formulaic/default.nix
index 3cfe44c55d53..fcb8ddc1b00b 100644
--- a/nixpkgs/pkgs/development/python-modules/formulaic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/formulaic/default.nix
@@ -17,15 +17,15 @@
 
 buildPythonPackage rec {
   pname = "formulaic";
-  version = "0.5.2";
+  version = "0.6.4";
 
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "matthewwardrop";
     repo = "formulaic";
-    rev = "v${version}";
-    hash = "sha256-sIvHTuUS/nkcDjRgZCoEOY2negIOsarzH0PeXJsavWc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-lpza5FDO/QOsiLYdxNT1o62lHfFeD6YahFz/zgH3K0I=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/frozendict/default.nix b/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
index f262710119ca..3ed26a476b6e 100644
--- a/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/frozendict/default.nix
@@ -20,12 +20,6 @@ buildPythonPackage rec {
     hash = "sha256-4a0DvZOzNJqpop7wi+FagUR+8oaekz4EDNIYdUaAWC8=";
   };
 
-  postPatch = ''
-    # https://github.com/Marco-Sulla/python-frozendict/pull/69
-    substituteInPlace setup.py \
-      --replace 'if impl == "PyPy":' 'if impl == "PyPy" or not src_path.exists():'
-  '';
-
   nativeCheckInputs = [
     pytestCheckHook
   ];
@@ -48,6 +42,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/Marco-Sulla/python-frozendict";
     changelog = "https://github.com/Marco-Sulla/python-frozendict/releases/tag/v${version}";
     license = licenses.lgpl3Only;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ pbsds ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/frozenlist/default.nix b/nixpkgs/pkgs/development/python-modules/frozenlist/default.nix
index 957e9f5d057a..06ff0d1c7dcc 100644
--- a/nixpkgs/pkgs/development/python-modules/frozenlist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/frozenlist/default.nix
@@ -4,33 +4,32 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
+, setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "frozenlist";
-  version = "1.3.3";
-  format = "setuptools";
+  version = "1.4.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-lJWRdXvuzyvJwNSpv0+ojY4rwws3jwDtlLOqYyLPrZc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-sI6jnrTxDbW0sNVodpCjBnA31VAAmunwMp9s8GkoHGI=";
   };
 
   nativeBuildInputs = [
     cython
-  ];
-
-  nativeCheckInputs = [
-    pytestCheckHook
+    setuptools
+    wheel
   ];
 
   postPatch = ''
-    substituteInPlace pytest.ini \
-      --replace "--cov=frozenlist" ""
+    sed -i "/addopts =/d" pytest.ini
   '';
 
   preBuild = ''
@@ -41,6 +40,10 @@ buildPythonPackage rec {
     "frozenlist"
   ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
   meta = with lib; {
     description = "Python module for list-like structure";
     homepage = "https://github.com/aio-libs/frozenlist";
diff --git a/nixpkgs/pkgs/development/python-modules/fschat/default.nix b/nixpkgs/pkgs/development/python-modules/fschat/default.nix
index 26f69132ed0c..ee42f4ce8ac9 100644
--- a/nixpkgs/pkgs/development/python-modules/fschat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fschat/default.nix
@@ -29,7 +29,7 @@
 , protobuf
 }:
 let
-  version = "0.2.28";
+  version = "0.2.30";
 in
 buildPythonPackage {
   pname = "fschat";
@@ -39,8 +39,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "lm-sys";
     repo = "FastChat";
-    rev = "v${version}";
-    hash = "sha256-nTP4zY6mJykzKb6LBWosg77mwE33vq9eiYSpAlZU5NI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-SkrdRpmbxnt/Xn8TTmozxhr3fPeAFPP7X0cM9vJC9Sc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fsspec/default.nix b/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
index e158692e9af7..89d493bc87d6 100644
--- a/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fsspec/default.nix
@@ -29,7 +29,7 @@
 
 buildPythonPackage rec {
   pname = "fsspec";
-  version = "2023.4.0";
+  version = "2023.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "fsspec";
     repo = "filesystem_spec";
     rev = version;
-    hash = "sha256-qkvhmXJNxA8v+kbZ6ulxJAQr7ReQpb+JkbhOUnL59KM=";
+    hash = "sha256-1ai+/8akUlP9kfzSKYEpDnobBfUC6EAPFPVVxh4jb/0=";
   };
 
   propagatedBuildInputs = [
@@ -146,6 +146,11 @@ buildPythonPackage rec {
     "test_touch"
   ];
 
+  disabledTestPaths = [
+    # JSON decoding issues
+    "fsspec/implementations/tests/test_dbfs.py"
+  ];
+
   pythonImportsCheck = [
     "fsspec"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/fugashi/default.nix b/nixpkgs/pkgs/development/python-modules/fugashi/default.nix
index 6a8c1ac9db2d..264771ed5a4b 100644
--- a/nixpkgs/pkgs/development/python-modules/fugashi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fugashi/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "fugashi";
-  version = "1.2.1";
+  version = "1.3.0";
   format = "setuptools";
   disabled = pythonOlder "3.7";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "polm";
     repo = "fugashi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VDqRhJiNDbKFE284EAUS0d5T9cl8kgyHjh+r/HjjDY8=";
+    hash = "sha256-4i7Q+TtXTQNSJ1EIcS8KHrVPdCJAgZh86Y6lB8772XU=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/furo/default.nix b/nixpkgs/pkgs/development/python-modules/furo/default.nix
index 8d73aa1c5e20..5aa3fbcc165b 100644
--- a/nixpkgs/pkgs/development/python-modules/furo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/furo/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   version = "2023.7.26";
   format = "wheel";
 
-  disable = pythonOlder "3.7";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version format;
diff --git a/nixpkgs/pkgs/development/python-modules/galois/default.nix b/nixpkgs/pkgs/development/python-modules/galois/default.nix
index 4012144710c8..e6a12ba415df 100644
--- a/nixpkgs/pkgs/development/python-modules/galois/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/galois/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "galois";
-  version = "0.3.5";
+  version = "0.3.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mhostetter";
     repo = "galois";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4eYDaQwjnYCTnobXRtFrToRyxxH2N2n9sh8z7oPC2Wc=";
+    hash = "sha256-Lt55HUTBmrg0IX9oWUdh5zyxccViKq0X+9bhDEgUZjQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/garminconnect/default.nix b/nixpkgs/pkgs/development/python-modules/garminconnect/default.nix
index 78e234be0f53..aff899a18878 100644
--- a/nixpkgs/pkgs/development/python-modules/garminconnect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/garminconnect/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "garminconnect";
-  version = "0.2.7";
+  version = "0.2.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "cyberjunky";
     repo = "python-garminconnect";
     rev = "refs/tags/${version}";
-    hash = "sha256-hyrj3icj5QxXf9NDk/x7bocFg6iD+KEDZNcpZVBEx4k=";
+    hash = "sha256-jNDFSA6Mz0+7UhEVrCKcKDEX3B7yk6igBf59A6YlW2M=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/garth/default.nix b/nixpkgs/pkgs/development/python-modules/garth/default.nix
index 0eaf2793caa8..8277d8e28f40 100644
--- a/nixpkgs/pkgs/development/python-modules/garth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/garth/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "garth";
-  version = "0.4.26";
+  version = "0.4.39";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ezq9lZE6HTtuW396sKZ32mDvNjrkz6UHQGvLhXUjfnI=";
+    hash = "sha256-2jmgi0evGqVgtcPRTYpTWG0wFrG1i5W7ryZJslPweNc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix b/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix
index c06a43b584a0..b62a8867698b 100644
--- a/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "gcal-sync";
-  version = "4.2.1";
+  version = "5.0.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "allenporter";
     repo = "gcal_sync";
     rev = "refs/tags/${version}";
-    hash = "sha256-+ysm3THUet2gKHyVq0QoOxDem7ik4BK7bxVos9thExM=";
+    hash = "sha256-vlPAAGY6h/nV9bNOUXharm1aeKfaL7ImzbvAPlpMV5k=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gcsa/default.nix b/nixpkgs/pkgs/development/python-modules/gcsa/default.nix
index 9dd8b51fd31d..c4ffcabeb94d 100644
--- a/nixpkgs/pkgs/development/python-modules/gcsa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gcsa/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   pname = "gcsa";
   version = "2.1.0";
   format = "setuptools";
-  disable = pythonOlder "3.6";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kuzmoyev";
diff --git a/nixpkgs/pkgs/development/python-modules/gentools/default.nix b/nixpkgs/pkgs/development/python-modules/gentools/default.nix
index d3f45cdea7f0..c53dd68fb815 100644
--- a/nixpkgs/pkgs/development/python-modules/gentools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gentools/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "gentools";
-  version = "1.1.0";
+  version = "1.2.1";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "ariebovenberg";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1sm6cqi7fv2k3pc68r7wvvjjz8y6cjmz8bvxgqfa4v4wxibwnwrl";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-RBUIji3FOIRjfp4t7zBAVSeiWaYufz4ID8nTWmhDkf8=";
   };
 
   propagatedBuildInputs =
diff --git a/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
index d216f43f76ac..c29d6d4bec09 100644
--- a/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "geoalchemy2";
-  version = "0.13.3";
+  version = "0.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "GeoAlchemy2";
     inherit version;
-    hash = "sha256-2Fp96qmiMJAXM/dBnWv/VnS4cwZR3hoH8rZCOqSSXQk=";
+    hash = "sha256-Ygsxy/l6NoskhtvPzTbaIIGCfpM9QWO8uUIEO3m1Reg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/get-video-properties/default.nix b/nixpkgs/pkgs/development/python-modules/get-video-properties/default.nix
index 89e01fedc13d..63b9515cf791 100644
--- a/nixpkgs/pkgs/development/python-modules/get-video-properties/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/get-video-properties/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, ffmpeg
+, ffmpeg-headless
 }:
 
 buildPythonPackage rec {
@@ -20,7 +20,10 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace videoprops/__init__.py \
-      --replace "which('ffprobe')" "'${ffmpeg}/bin/ffprobe'"
+      --replace "which('ffprobe')" "'${ffmpeg-headless}/bin/ffprobe'"
+
+    # unused and vulnerable to various CVEs
+    rm -r videoprops/binary_dependencies
   '';
 
   pythonImportsCheck = [ "videoprops" ];
diff --git a/nixpkgs/pkgs/development/python-modules/gevent/default.nix b/nixpkgs/pkgs/development/python-modules/gevent/default.nix
index b21e40c7a600..938cb99cf8fa 100644
--- a/nixpkgs/pkgs/development/python-modules/gevent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gevent/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchPypi
+, fetchpatch
 , buildPythonPackage
 , isPyPy
 , python
@@ -7,6 +8,7 @@
 , cffi
 , cython_3
 , greenlet
+, importlib-metadata
 , setuptools
 , wheel
 , zope_event
@@ -26,6 +28,15 @@ buildPythonPackage rec {
     hash = "sha256-HKAdoXbuN7NSeicC99QNvJ/7jPx75aA7+k+e7EXlXEY=";
   };
 
+  patches = [
+    # Replace deprecated pkg_resources with importlib-metadata
+    (fetchpatch {
+      url = "https://github.com/gevent/gevent/commit/bd96d8e14dc99f757de22ab4bb98439f912dab1e.patch";
+      hash = "sha256-Y+cxIScuEgAVYmmxBJ8OI+JuJ4G+iiROTcRdWglo3l0=";
+      includes = [ "src/gevent/events.py" ];
+    })
+  ];
+
   nativeBuildInputs = [
     cython_3
     setuptools
@@ -39,6 +50,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    importlib-metadata
     zope_event
     zope_interface
   ] ++ lib.optionals (!isPyPy) [
@@ -50,6 +62,7 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [
     "gevent"
+    "gevent.events"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/gidgethub/default.nix b/nixpkgs/pkgs/development/python-modules/gidgethub/default.nix
index 37a9d75beee7..e109f4fa0487 100644
--- a/nixpkgs/pkgs/development/python-modules/gidgethub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gidgethub/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, flit
 , uritemplate
 , pyjwt
 , pytestCheckHook
@@ -15,7 +16,7 @@
 buildPythonPackage rec {
   pname = "gidgethub";
   version = "5.3.0";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -24,6 +25,10 @@ buildPythonPackage rec {
     hash = "sha256-ns59N/vOuBm4BWDn7Vj5NuSKZdN+xfVtt5FFFWtCaiU=";
   };
 
+  nativeBuildInputs = [
+    flit
+  ];
+
   propagatedBuildInputs = [
     uritemplate
     pyjwt
diff --git a/nixpkgs/pkgs/development/python-modules/gitignore-parser/default.nix b/nixpkgs/pkgs/development/python-modules/gitignore-parser/default.nix
index 8ccc6a1cfba8..a50d7ce2e235 100644
--- a/nixpkgs/pkgs/development/python-modules/gitignore-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gitignore-parser/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "gitignore-parser";
-  version = "0.1.6";
+  version = "0.1.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "mherrmann";
     repo = "gitignore_parser";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RAtXh57WU67fKQhhItdOm25BYfh3ucc0eyWUHGksnLg=";
+    hash = "sha256-T1XgcOHVFv/+oCEFKSoJeFAspJguimHasuREzjQwgWE=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gitlike-commands/default.nix b/nixpkgs/pkgs/development/python-modules/gitlike-commands/default.nix
new file mode 100644
index 000000000000..f51adf2a184a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gitlike-commands/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "gitlike-commands";
+  version = "0.2.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "unixorn";
+    repo = "gitlike-commands";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-VjweN4gigzCNvg6TccZx2Xw1p7SusKplxUTZjItTQc0=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  # Module has no real tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "gitlike_commands"
+  ];
+
+  meta = with lib; {
+    description = "Easy python module for creating git-style subcommand handling";
+    homepage = "https://github.com/unixorn/gitlike-commands";
+    changelog = "https://github.com/unixorn/gitlike-commands/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gitpython/default.nix b/nixpkgs/pkgs/development/python-modules/gitpython/default.nix
index 8721df4bf36a..43925e357a90 100644
--- a/nixpkgs/pkgs/development/python-modules/gitpython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gitpython/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "gitpython";
-  version = "3.1.33";
+  version = "3.1.37";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gitpython-developers";
     repo = "GitPython";
     rev = "refs/tags/${version}";
-    hash = "sha256-SqpoI8QnynHRHUdenMrOAGib/SDpix4rSXfEes4xt/Y=";
+    hash = "sha256-w3aSgIaD6tkxhYctkvvsdKlWXS8xU4+F0cCYeYTNHig=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/glean-parser/default.nix b/nixpkgs/pkgs/development/python-modules/glean-parser/default.nix
index 71ff271a1419..7ab2855d8d73 100644
--- a/nixpkgs/pkgs/development/python-modules/glean-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glean-parser/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "glean-parser";
-  version = "7.2.1";
+  version = "9.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "glean_parser";
     inherit version;
-    hash = "sha256-EUlqwAT+QhuRTH+9yaHWIOSCHVbh2fZVI9OFjNuQe70=";
+    hash = "sha256-dwBKds89CaanZA4b5I6u01Q2s23joQp5SOCjdTXn/Xc=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/glfw/default.nix b/nixpkgs/pkgs/development/python-modules/glfw/default.nix
index 12a2e40aecc5..db9f369a3497 100644
--- a/nixpkgs/pkgs/development/python-modules/glfw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glfw/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "glfw";
-  version = "2.5.9";
+  version = "2.6.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "FlorianRhiem";
     repo = "pyGLFW";
     rev = "refs/tags/v${version}";
-    hash = "sha256-IQcUL+vVIjI/c8/GFkmw7kMmOJG/xAlxudgspC8pDvI=";
+    hash = "sha256-3K+mDSz4ifVYkUvhd2XDPbhh6UCY4y54YqNLoAYDsP0=";
   };
 
   # Patch path to GLFW shared object
diff --git a/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix
index 76bd9c572fa4..4e4f964c7430 100644
--- a/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "globus-sdk";
-  version = "3.28.0";
+  version = "3.29.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "globus";
     repo = "globus-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-mKtqfEpnWftpGReaUrmXf3LftZnMtEizPi4RbIwgnUM=";
+    hash = "sha256-s5o7vp7D/b73QQyIebrFT2zlhpJKYQDDXpgmDgN0+Nk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/glyphslib/default.nix b/nixpkgs/pkgs/development/python-modules/glyphslib/default.nix
index 17c7ba91f28b..2a0276a3c7e3 100644
--- a/nixpkgs/pkgs/development/python-modules/glyphslib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glyphslib/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "glyphslib";
-  version = "6.4.0";
+  version = "6.4.1";
 
   format = "pyproject";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "googlefonts";
     repo = "glyphsLib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-vbyI5pSoQWFHG8aqZC4FExKzzIo6yxwl9DgGSgDz8xU=";
+    hash = "sha256-pDFPn1KDiZ5yw1UzPgi0+Syv3h606bsOOzLbdOiag8s=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix b/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix
index c81a9e2aa6f9..06e22f0a9cf1 100644
--- a/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "gocardless-pro";
-  version = "1.46.0";
+  version = "1.47.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "gocardless";
     repo = "gocardless-pro-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tfaV/pohDu7IIzDa9B3GpnzOs6U+MVoFM3YZ0ErC7zQ=";
+    hash = "sha256-YCHI4MvdTlpDavXTTU4AESBUOBKt23IPxvGI+BGo2EI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-ai-generativelanguage/default.nix b/nixpkgs/pkgs/development/python-modules/google-ai-generativelanguage/default.nix
index 88f5dfc3e9ee..ebadff454005 100644
--- a/nixpkgs/pkgs/development/python-modules/google-ai-generativelanguage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-ai-generativelanguage/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-ai-generativelanguage";
-  version = "0.3.2";
+  version = "0.3.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PkQpWHUzvTnv7Ky+cRSHzaXTwh2rDvD0qq53tbxPBME=";
+    hash = "sha256-cnX9lGmtOrd5CdioC9bAVeHiMXjEsV6Z67ARSnV03P8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix b/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
index 24bf908942fc..ecf2b36ab9db 100644
--- a/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.97.0";
+  version = "2.99.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SCdykYlIdqHKftQSfgVegfgeY0PO0bVEpyAK4sEZ3Nc=";
+    hash = "sha256-5zP9DyyHk7GgANXmmsgbG57AZltEW37YO9u7ADiXMwY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix b/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
index 5d5c56188c88..2a24f4c04b03 100644
--- a/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-auth-oauthlib/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-auth-oauthlib";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-43UGSWSCC0ciGn4bfuH9dwUbYyPD+ePhl4X3irZ+z8U=";
+    hash = "sha256-g+qMOwiB5FN5C6/0RI6KYRKsh3jR3p2gtoAQuEOTevs=";
   };
 
   propagatedBuildInputs = [
@@ -33,8 +33,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # some tests require loopback networking
-  __darwinAllowLocalNetworking = true;
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # This test fails if the hostname is not associated with an IP (e.g., in `/etc/hosts`).
+    "test_run_local_server_bind_addr"
+  ];
 
   pythonImportsCheck = [
     "google_auth_oauthlib"
diff --git a/nixpkgs/pkgs/development/python-modules/google-auth/default.nix b/nixpkgs/pkgs/development/python-modules/google-auth/default.nix
index 13f0ea961f0d..4785bed59fb3 100644
--- a/nixpkgs/pkgs/development/python-modules/google-auth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-auth/default.nix
@@ -5,6 +5,7 @@
 , buildPythonPackage
 , cachetools
 , cryptography
+, fetchpatch
 , fetchPypi
 , flask
 , freezegun
@@ -37,6 +38,18 @@ buildPythonPackage rec {
     hash = "sha256-so6ASOV3J+fPDlvY5ydrISrvR2ZUoJURNUqoJ1O0XGY=";
   };
 
+  patches = [
+    # Although the migration to urllib3-2.0.0 is incomplete,
+    # the discussion in the following PR has addressed the concerns.
+    # https://github.com/googleapis/google-auth-library-python/pull/1290
+    (fetchpatch {
+      name = "support-urllib3_2.patch";
+      url = "https://github.com/googleapis/google-auth-library-python/commit/9ed006d02d7c9de3e6898ee819648c2fd3367c1d.patch";
+      hash = "sha256-64g0GzZeyO8l/s1jqfsogr8pTOBbG9xfp/UeVZNA4q8=";
+      includes = [ "google/auth/transport/urllib3.py" ];
+    })
+  ];
+
   propagatedBuildInputs = [
     cachetools
     pyasn1-modules
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix
index 0e9f76e4b6bf..d7ed23f14cec 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-appengine-logging/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-appengine-logging";
-  version = "1.3.1";
+  version = "1.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-s/X3l9a6zGBlTeIZAZAvinh49xaNdr5dR8d3X+DD4Kg=";
+    hash = "sha256-opifyg6IRjtWQyqoIeZLgcPRce43uEdxGJtI6Ll81JY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix
index f38a83a2c087..c430d23c32f6 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-asset";
-  version = "3.19.1";
+  version = "3.20.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Rmd01HHVOThqSwfnoIrTaMjxqHFuGcKAjwKp3hD4S5o=";
+    hash = "sha256-lJLC1igiY0OYLu3eyuOvJ2KmFr9n4su8T7LPgWlUtCk=";
   };
 
   propagatedBuildInputs = [
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 fcbddee2fdde..b12ee489cc29 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-automl/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "2.11.2";
+  version = "2.11.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-w4kzOe8az6zcMLoNYbfkvC5Aq5zCbSNw6+PHYZkEZqI=";
+    hash = "sha256-VcqQn7w2sTpDHKfniwkwsEXDa8YIV+G1jlbPOu8NVl0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
index 7c4a0df032e2..d64bd1bf7340 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "3.12.0";
+  version = "3.12.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5jxcN69FPuAZ7xiBcBu5+aE+q4OU9OlM+i9bd6vMnJI=";
+    hash = "sha256-uEWnQIGs4yybuukzgrAqaduFYKNW9h/WouX2MzSVgUg=";
   };
 
   propagatedBuildInputs = [
@@ -43,6 +43,11 @@ buildPythonPackage rec {
     "google.cloud.bigquery_datatransfer_v1"
   ];
 
+  disabledTests = [
+    # Tests require project ID
+    "test_list_data_sources"
+  ];
+
   meta = with lib; {
     description = "BigQuery Data Transfer API client library";
     homepage = "https://github.com/googleapis/python-bigquery-datatransfer";
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix
index a79c74b3de08..2ee87fac60c2 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.31.0";
+  version = "2.32.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PGrG29a5tq41hn8zzJWdAy4Dju1O5ZPYhZ+CcsBraAY=";
+    hash = "sha256-aU+42neWNlPhxw+mCSi0oR+vjh8VgKOQJQU6PhvM5t4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
index 1a5d935f4a81..2f934c38765a 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-datacatalog/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datacatalog";
-  version = "3.15.2";
+  version = "3.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GaGxn7Q5blqPWNWIl6pRV9lLzmGm5GGwqcyOuAWI0Ds=";
+    hash = "sha256-cD5BQ5Ykj6mEdLurnqli9MlqPK8RhMkDv8lFPSdLDqI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix
index 70ad01460836..81a5bb08599c 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-dataproc/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dataproc";
-  version = "5.5.1";
+  version = "5.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+tfaWdOR/sFfGih71x1VznI3gZ2quQ4h1rEUCFHZ1DQ=";
+    hash = "sha256-X6nfuIQzwtDBOLfrtq3hdBA743YszQObJNU8dEjjdg0=";
   };
 
   propagatedBuildInputs = [
@@ -51,7 +51,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Google Cloud Dataproc API client library";
     homepage = "https://github.com/googleapis/python-dataproc";
-    changelog = "https://github.com/googleapis/python-dataproc/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-dataproc-v${version}/packages/google-cloud-dataproc/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
index a07053ea9172..54397f68cd8f 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
@@ -40,8 +40,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Google Cloud Natural Language API client library";
-    homepage = "https://github.com/googleapis/python-language";
-    changelog = "https://github.com/googleapis/python-language/blob/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-language";
+    changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-language-v${version}/packages/google-cloud-language/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix
index 3de689ac1712..83842597d877 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-logging/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-logging";
-  version = "3.6.0";
+  version = "3.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QhNCI5VoUN3WSHfIgELTH3hljnsGelqOPdKCNrcfPDI=";
+    hash = "sha256-/dkW5ZqEqowC6BSNf907O2I8V7DB/3H0MpfOjlD8Hqs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix
index 7f2b2f46d675..1622df520797 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-monitoring";
-  version = "2.15.1";
+  version = "2.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CGqEWjSm4QWrijpICTkupjZ6ZbKLdWHCYQFTSocF7Tc=";
+    hash = "sha256-PRhRAJMSraXoq/IP92GvhHS3UwYKtuC31uxHvBHysTY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix
index a25ef3587d84..4c71548c0df8 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-os-config/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-os-config";
-  version = "1.15.2";
+  version = "1.15.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WgrqxnVsbA0ppvfcqxW+kA8vjn71bMU9qAyZraqYt8g=";
+    hash = "sha256-KNM4wASyfgoBqhXa5k+8tf+AN9VljHDDK0U849N5qHI=";
   };
 
   propagatedBuildInputs = [
@@ -37,8 +37,10 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
+    # Test requires a project ID
     "test_patch_deployment"
     "test_patch_job"
+    "test_list_patch_jobs"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
index a1d430c022db..6872b953efca 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-texttospeech";
-  version = "2.14.1";
+  version = "2.14.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3XFvKnaK1nUCz9mbmSXFH/1uFr6TtBCr7v/arBkL/oE=";
+    hash = "sha256-ojc4NmmI+vTSZSAPV8XeQxLvo9FLtDS5Km5UFxP12QY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-generativeai/default.nix b/nixpkgs/pkgs/development/python-modules/google-generativeai/default.nix
index ffab9af49802..2131255d5a85 100644
--- a/nixpkgs/pkgs/development/python-modules/google-generativeai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-generativeai/default.nix
@@ -2,13 +2,17 @@
 , buildPythonPackage
 , fetchFromGitHub
 , google-ai-generativelanguage
+, google-api-core
+, google-auth
+, protobuf
 , pythonOlder
 , pythonRelaxDepsHook
+, tqdm
 }:
 
 buildPythonPackage rec {
   pname = "google-generativeai";
-  version = "0.1.0";
+  version = "0.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +21,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = "generative-ai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-caFq7BZKRuNU7fKJWeWSbbDFNpav7OrIET4OQSHkPz4=";
+    hash = "sha256-zlLfA8wlXCsBXvzTHNW8y30/DvWMgf7DnpShsvjZXZ4=";
   };
 
   pythonRelaxDeps = [
@@ -30,6 +34,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     google-ai-generativelanguage
+    google-auth
+    google-api-core
+    protobuf
+    tqdm
   ];
 
   # Issue with the google.ai module. Check with the next release
diff --git a/nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix b/nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix
index dbf098fae7be..64dc4d2c7182 100644
--- a/nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/googleapis-common-protos/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "googleapis-common-protos";
-  version = "1.58.0";
+  version = "1.60.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xyclHsAllH1UUYS6F+NXiED8OiSgUWoCBHntq2YEV98=";
+    hash = "sha256-5z67QECY20BbqV0eGuCqkcPhWnHaAxou62suI+e8Nwg=";
   };
 
   propagatedBuildInputs = [ grpc protobuf ];
diff --git a/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix b/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
index bea5b01ab152..a9c49b57063d 100644
--- a/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "gphoto2";
-  version = "2.3.4";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mEbF/fOtw0cU/bx7DgQcmmJ/yqal8Hs/1KaLGC3e4/c=";
+    hash = "sha256-l9B6PEIGf8rkUlYApOytW2s9OhgcxMHVlDgfQR5ZnoA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/python-modules/gpiozero/default.nix b/nixpkgs/pkgs/development/python-modules/gpiozero/default.nix
index 587f3c9e3015..929ce0e24f5b 100644
--- a/nixpkgs/pkgs/development/python-modules/gpiozero/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gpiozero/default.nix
@@ -4,25 +4,29 @@
 , sphinx-rtd-theme
 , sphinxHook
 , colorzero
-, mock
 , pythonOlder
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "gpiozero";
-  version = "1.6.2";
+  version = "2.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "gpiozero";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-dmFc3DNTlEajYQ5e8QK2WfehwYwAsWyG2cxKg5ykEaI=";
+    hash = "sha256-6qSB9RMypNXNj+Ds1nyzB7iaeHXvF0swSubrJSn2L34=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov" ""
+  '';
+
   outputs = [
     "out"
     "doc"
@@ -38,7 +42,6 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    mock
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix b/nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix
index 45f9915c06c5..cd0ef5b174a6 100644
--- a/nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gprof2dot/default.nix
@@ -3,18 +3,21 @@
 , buildPythonPackage
 , python
 , graphviz
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "gprof2dot";
-  version = "2021.02.21";
+  version = "2022.07.29";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "jrfonseca";
     repo = "gprof2dot";
-    rev = version;
-    sha256 = "1jjhsjf5fdi1fkn7mvhnzkh6cynl8gcjrygd3cya5mmda3akhzic";
+    rev = "refs/tags/${version}";
+    hash = "sha256-nIsBO6KTyG2VZZRXrkU/T/a9Ki1x6hda5Vv3rZv/mJM=";
   };
 
   makeWrapperArgs = [
@@ -22,7 +25,9 @@ buildPythonPackage rec {
   ];
 
   # Needed so dot is on path of the test script
-  nativeCheckInputs = [ graphviz ];
+  nativeCheckInputs = [
+    graphviz
+  ];
 
   checkPhase = ''
     runHook preCheck
@@ -34,8 +39,9 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/jrfonseca/gprof2dot";
     description = "Python script to convert the output from many profilers into a dot graph";
+    homepage = "https://github.com/jrfonseca/gprof2dot";
+    changelog = "https://github.com/jrfonseca/gprof2dot/releases/tag/${version}";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ pmiddend ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/gptcache/default.nix b/nixpkgs/pkgs/development/python-modules/gptcache/default.nix
index 9fd2c80c3c49..3172e8d7bc89 100644
--- a/nixpkgs/pkgs/development/python-modules/gptcache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gptcache/default.nix
@@ -4,12 +4,14 @@
 , cachetools
 , numpy
 , pythonOlder
+, redis
+, redis-om
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "gptcache";
-  version = "0.1.37";
+  version = "0.1.41";
   format = "setuptools";
 
   disabled = pythonOlder "3.8.1";
@@ -18,12 +20,14 @@ buildPythonPackage rec {
     owner = "zilliztech";
     repo = "GPTCache";
     rev = "refs/tags/${version}";
-    hash = "sha256-eQu3O6jPL1BRObA99XA2EOznn9NaArVRouqD1Ypz/4w=";
+    hash = "sha256-0jQziywoDQQuNaB1G7YovX7473PfI7u5fTRQMidf3NA=";
   };
 
   propagatedBuildInputs = [
     cachetools
     numpy
+    redis
+    redis-om
     requests
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/gpustat/default.nix b/nixpkgs/pkgs/development/python-modules/gpustat/default.nix
index beada3b4a351..8952e84c5c12 100644
--- a/nixpkgs/pkgs/development/python-modules/gpustat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gpustat/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "gpustat";
-  version = "1.1";
+  version = "1.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yPwQVASqwRiE9w7S+gbP0hDTzTicyuSpvDhXnHJGDO4=";
+    hash = "sha256-wY0+1VGPwWMAxC1pTevHCuuzvlXK6R8dtk1jtfqK+dg=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/gradio/default.nix b/nixpkgs/pkgs/development/python-modules/gradio/default.nix
index c09b55496bef..5d051ef80ec2 100644
--- a/nixpkgs/pkgs/development/python-modules/gradio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gradio/default.nix
@@ -53,7 +53,7 @@
 
 buildPythonPackage rec {
   pname = "gradio";
-  version = "3.43.1";
+  version = "3.44.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -62,7 +62,7 @@ buildPythonPackage rec {
   # and has more frequent releases compared to github tags
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-a8eHw8jedrse1dpgup9BL60oXx4wvOk8X5z5DP1DWOs=";
+    hash = "sha256-3mXs9PwlzUo89VosBWtnsOzDQf/T22Yv7s5j6OLLp3M=";
   };
 
   # fix packaging.ParserSyntaxError, which can't handle comments
diff --git a/nixpkgs/pkgs/development/python-modules/graphql-server-core/default.nix b/nixpkgs/pkgs/development/python-modules/graphql-server-core/default.nix
index 37c2893908c8..16217cd23a51 100644
--- a/nixpkgs/pkgs/development/python-modules/graphql-server-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graphql-server-core/default.nix
@@ -11,7 +11,7 @@
 buildPythonPackage rec {
   pname = "graphql-server-core";
   version = "2.0.0";
-  disable = pythonOlder "3.6";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "graphql-python";
diff --git a/nixpkgs/pkgs/development/python-modules/grappelli_safe/default.nix b/nixpkgs/pkgs/development/python-modules/grappelli-safe/default.nix
index 33b4c437dde2..916ac606473b 100644
--- a/nixpkgs/pkgs/development/python-modules/grappelli_safe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grappelli-safe/default.nix
@@ -1,17 +1,34 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   version = "1.1.1";
-  pname = "grappelli_safe";
+  pname = "grappelli-safe";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "ee34b3e2a3711498b1f8da3d9daa8a1239efdf255a212181742b6a5890fac039";
+    pname = "grappelli_safe";
+    inherit version;
+    hash = "sha256-7jSz4qNxFJix+No9naqKEjnv3yVaISGBdCtqWJD6wDk=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "grappelli_safe"
+  ];
+
   meta = with lib; {
     description = "A snapshot of django-grappelli for the Mezzanine CMS";
     longDescription = ''
@@ -26,9 +43,8 @@ buildPythonPackage rec {
     '';
     homepage = "https://github.com/stephenmcd/grappelli-safe";
     downloadPage = "http://pypi.python.org/pypi/grappelli_safe/";
-    license = licenses.free;
+    changelog = "https://github.com/stephenmcd/grappelli-safe/releases/tag/v${version}";
+    license = licenses.bsd3;
     maintainers = with maintainers; [ prikhi ];
-    platforms = platforms.unix;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/graspologic/default.nix b/nixpkgs/pkgs/development/python-modules/graspologic/default.nix
index 5ea1e5c55eb9..afc5b2edad2e 100644
--- a/nixpkgs/pkgs/development/python-modules/graspologic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graspologic/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "graspologic";
-  version = "2.0.1";
+  version = "3.2.0";
 
   disabled = isPy27;
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "microsoft";
     repo = "graspologic";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EmbCA4JpY2OIwXrRWjBxA4iNm0ddQODjoGmHIYgvAWs=";
+    hash = "sha256-yXhEI/8qm526D+Ehqqfb+j+sbbh83Q4OWC+UM7cgCjU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/greynoise/default.nix b/nixpkgs/pkgs/development/python-modules/greynoise/default.nix
new file mode 100644
index 000000000000..ada5f4096216
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/greynoise/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, click
+, ansimarkup
+, cachetools
+, colorama
+, click-default-group
+, click-repl
+, dict2xml
+, jinja2
+, more-itertools
+, requests
+, six
+, pytestCheckHook
+, mock
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "greynoise";
+  version = "2.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "GreyNoise-Intelligence";
+    repo = "pygreynoise";
+    rev = "v${version}";
+    hash = "sha256-zevom7JqXnZuotXfGtfPOmQNh32dANS4Uc6tHUuq08s=";
+  };
+
+  propagatedBuildInputs = [
+    click
+    ansimarkup
+    cachetools
+    colorama
+    click-default-group
+    click-repl
+    dict2xml
+    jinja2
+    more-itertools
+    requests
+    six
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    mock
+  ];
+
+  pythonImportsCheck = [ "greynoise" ];
+
+  meta = with lib; {
+    description = "Python3 library and command line for GreyNoise";
+    homepage = "https://github.com/GreyNoise-Intelligence/pygreynoise";
+    changelog = "https://github.com/GreyNoise-Intelligence/pygreynoise/blob/${src.rev}/CHANGELOG.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/griffe/default.nix b/nixpkgs/pkgs/development/python-modules/griffe/default.nix
index c94cda768501..17144972839c 100644
--- a/nixpkgs/pkgs/development/python-modules/griffe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/griffe/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "griffe";
-  version = "0.36.2";
+  version = "0.36.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-21u6QnmFoa3rCeFMkxdEh4OYtE4QmBr5O9PwV5tKgxg=";
+    hash = "sha256-sxj/avPVmS2qHD+s5nsTWpnXjAMQ1RuBA9Z52Rx/X8k=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix
index 2e3b8b894c4b..5769fe0dafaf 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-channelz";
-  version = "1.58.0";
+  version = "1.59.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NWhuF3z+FGHJ+d99r+Uq4iTIppXkgwQYu0ASIyE8DB0=";
+    hash = "sha256-H25CEs6JW+gnpuGJe88vSh0h5ETKMT8lxEgfViExhMk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-health-checking/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-health-checking/default.nix
index c202a1f7c659..ce1a78f02cfd 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-health-checking/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-health-checking/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-health-checking";
-  version = "1.56.2";
+  version = "1.58.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XNodihNovizaBPkoSotzzuCf8+J37sjd2avPL+92s3I=";
+    hash = "sha256-B9WGI/J77PGGyGLLrn39elS9Y/SzdZTHfIuPyTPxHC8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix
index 2bd0c72151b3..901cad45c6e3 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-reflection";
-  version = "1.58.0";
+  version = "1.59.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5gSKdY0XtsoXBSWOfuXZJtKWCpWuCLoJKd0jPlBazT0=";
+    hash = "sha256-H+jw3WwYD9z04SztKo94TZx0HMvAsZhYWx3wJLf48/I=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-status/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-status/default.nix
index 991549ea9ed9..c03c1faa9d4f 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-status/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-status/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "grpcio-status";
-  version = "1.57.0";
+  version = "1.58.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sJjamd8e6+WDN/j3jlDfmQJzzKzBIm/d60fFkOPfngI=";
+    hash = "sha256-C0LnDAQFpmqC2emGf6JV/lnmGJZKYJmyBWjDHdkJl2Y=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix
index 9e7b61e12b9e..904c0b24a0ab 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "grpcio-testing";
-  version = "1.57.0";
+  version = "1.58.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xFMqJlY+Ehn0K3bXqdiGEvL2X3Pm7IPhHHPWTi8ecOk=";
+    hash = "sha256-ABZMp+VTsyf2HE50cnHf9wdCOeGlAqpbuMWlbsWE/qY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix
index 78e3cdaae7f1..285f3477deaa 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.57.0";
+  version = "1.58.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LxYTDYac4n7NYjGUVHtkndZXMz7H6GRMxXHGRXgam4U=";
+    hash = "sha256-b02AzrWR4xyk3O7HR9vlYTLhOSoKm7HI/gAdG1ysiYo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/gsd/default.nix b/nixpkgs/pkgs/development/python-modules/gsd/default.nix
index 922a892be593..3040102f8773 100644
--- a/nixpkgs/pkgs/development/python-modules/gsd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gsd/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "gsd";
-  version = "3.1.1";
+  version = "3.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "glotzerlab";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-YeMdBELr5kfymVUEE8+cqGLgOPBqbbD+vh1e9XbRLB8=";
+    hash = "sha256-ceoHHEX44DrVgatV2EIS6gT9oVZkAx6OTFMZG/x4q64=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gspread/default.nix b/nixpkgs/pkgs/development/python-modules/gspread/default.nix
index fd01e1b1d815..285a552ac933 100644
--- a/nixpkgs/pkgs/development/python-modules/gspread/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gspread/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, flitBuildHook
+, flit-core
 , google-auth
 , google-auth-oauthlib
 , pytest-vcr
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "gspread";
-  version = "5.11.1";
+  version = "5.11.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,11 +21,11 @@ buildPythonPackage rec {
     owner = "burnash";
     repo = "gspread";
     rev = "refs/tags/v${version}";
-    hash = "sha256-a8A47il9NrMdHkSX4YmQj4VIAYDXK5V+FUdwv+LGIfQ=";
+    hash = "sha256-O6uhT8zfCGiGr0v8pEMZ4uLuDAdFpiTie7EC3rphZQI=";
   };
 
   nativeBuildInputs = [
-    flitBuildHook
+    flit-core
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gssapi/default.nix b/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
index 30619532a4a5..56b79e8c08b6 100644
--- a/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "gssapi";
-  version = "1.8.2";
+  version = "1.8.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "pythongssapi";
     repo = "python-${pname}";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qz4EWAO++yq72/AGwyNOtH/fTRSFbiCo/K98htROUxI=";
+    hash = "sha256-H1JfdvxJvX5dmC9aTqIOkjAqFEL44KoUXEhoYj2uRY8=";
   };
 
   # It's used to locate headers
diff --git a/nixpkgs/pkgs/development/python-modules/gst-python/default.nix b/nixpkgs/pkgs/development/python-modules/gst-python/default.nix
index efa4fba8513a..2f9ced5aec75 100644
--- a/nixpkgs/pkgs/development/python-modules/gst-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gst-python/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "gst-python";
-  version = "1.22.5";
+  version = "1.22.6";
 
   format = "other";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-python/${pname}-${version}.tar.xz";
-    hash = "sha256-vwUjJBXPYBgUKuUd07iXu3NDJoe1zheGv0btximM5bA=";
+    hash = "sha256-Ud4tbROxLOCV6sl8C5TuWcKuujcSu3Rit4xNV93hdsU=";
   };
 
   # Python 2.x is not supported.
diff --git a/nixpkgs/pkgs/development/python-modules/guzzle_sphinx_theme/default.nix b/nixpkgs/pkgs/development/python-modules/guzzle-sphinx-theme/default.nix
index 6f765bd98d6b..48d87c8dd7d8 100644
--- a/nixpkgs/pkgs/development/python-modules/guzzle_sphinx_theme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/guzzle-sphinx-theme/default.nix
@@ -1,22 +1,37 @@
-{ lib, buildPythonPackage, sphinx, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, sphinx
+}:
 
 buildPythonPackage rec {
-  pname = "guzzle_sphinx_theme";
+  pname = "guzzle-sphinx-theme";
   version = "0.7.11";
+  pyproject = true;
+
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "1rnkzrrsbnifn3vsb4pfaia3nlvgvw6ndpxp7lzjrh23qcwid34v";
+    pname = "guzzle_sphinx_theme";
+    inherit version;
+    hash = "sha256-m4wWOcNDwCw/PbffZg3fb1M7VFTukqX3sC7apXP+0+Y=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   doCheck = false; # no tests
 
   propagatedBuildInputs = [ sphinx ];
 
+  pythonImportsCheck = [
+    "guzzle_sphinx_theme"
+  ];
+
   meta = with lib; {
     description = "Sphinx theme used by Guzzle: http://guzzlephp.org";
     homepage = "https://github.com/guzzle/guzzle_sphinx_theme/";
     license = licenses.mit;
     maintainers = with maintainers; [ flokli ];
-    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/h5netcdf/default.nix b/nixpkgs/pkgs/development/python-modules/h5netcdf/default.nix
index 680e94028c09..1c97861f1eee 100644
--- a/nixpkgs/pkgs/development/python-modules/h5netcdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/h5netcdf/default.nix
@@ -1,29 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , h5py
 , pytestCheckHook
 , netcdf4
 , pythonOlder
+, setuptools
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "h5netcdf";
-  version = "1.1.0";
-  format = "setuptools";
+  version = "1.2.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kyw7Vzvtc3Dr/J6ALNYPGk2lI277EbNu7/iXMk12v1Y=";
+    hash = "sha256-f2snM73gbqJXW3mmRQ2b1cOJGP9MsqNVvyK76Mhsa88=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/h5py/default.nix b/nixpkgs/pkgs/development/python-modules/h5py/default.nix
index 427caf0211e6..3fb20fad4c3b 100644
--- a/nixpkgs/pkgs/development/python-modules/h5py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/h5py/default.nix
@@ -21,7 +21,7 @@ let
   mpi = hdf5.mpi;
   mpiSupport = hdf5.mpiSupport;
 in buildPythonPackage rec {
-  version = "3.8.0";
+  version = "3.9.0";
   pname = "h5py";
   format = "pyproject";
 
@@ -29,7 +29,7 @@ in buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-b+rYLwxAAM841T+cAweA2Bv6AiAhiu4TuQt3Ack32V8=";
+    hash = "sha256-5gTbZSHB42fGvX+tI5yEf1PMRmRvLSZRNy0Frl6V+Bc=";
   };
 
   # avoid strict pinning of numpy
diff --git a/nixpkgs/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix b/nixpkgs/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix
new file mode 100644
index 000000000000..5d5eb8ba9106
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ha-mqtt-discoverable/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, gitlike-commands
+, paho-mqtt
+, poetry-core
+, pyaml
+, pydantic
+, pythonOlder
+, thelogrus
+}:
+
+buildPythonPackage rec {
+  pname = "ha-mqtt-discoverable";
+  version = "0.10.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchFromGitHub {
+    owner = "unixorn";
+    repo = "ha-mqtt-discoverable";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-0a39KTLZw3Y2D0TXlKCmvVeNoXAN/uLXQGDlA9iM9J0=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    gitlike-commands
+    paho-mqtt
+    pyaml
+    pydantic
+    thelogrus
+  ];
+
+  # Test require a running Mosquitto instance
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "ha_mqtt_discoverable"
+  ];
+
+  meta = with lib; {
+    description = "Python module to create MQTT entities that are automatically discovered by Home Assistant";
+    homepage = "https://github.com/unixorn/ha-mqtt-discoverable";
+    changelog = "https://github.com/unixorn/ha-mqtt-discoverable/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix b/nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix
index 0f1af2dee46c..5530cfe070f1 100644
--- a/nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ha-philipsjs/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "ha-philipsjs";
-  version = "3.1.0";
+  version = "3.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-VwgcN9DXzuWp6J3joswXEwRKJI499LNY7MAVBWBBEbM=";
+    hash = "sha256-r8uqToxkJg9j89UUZpxsPXutWPefAYDW95zFBKU9Al4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hacking/default.nix b/nixpkgs/pkgs/development/python-modules/hacking/default.nix
index 3ea0b24f0684..bd92a2712228 100644
--- a/nixpkgs/pkgs/development/python-modules/hacking/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hacking/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "hacking";
-  version = "5.0.0";
+  version = "6.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qzWyCK8/FHpvlZUnMxw4gK5BrCHMzra/1oqE9OtW4CY=";
+    hash = "sha256-YdeEb8G58m7CFnjpkHQmkJX5ZNe72M1kbrbIxML4jcE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
index 9a3d67da9973..97a7a55b26a4 100644
--- a/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hahomematic/default.nix
@@ -2,6 +2,7 @@
 , aiohttp
 , buildPythonPackage
 , fetchFromGitHub
+, freezegun
 , orjson
 , pydevccu
 , pytest-aiohttp
@@ -17,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "2023.9.3";
+  version = "2023.10.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -26,9 +27,15 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-j8uM/vEfZO1C4jsYU68nTt/cmhRKsW2MTFG84g53vE4=";
+    hash = "sha256-mlZlaUcpVflz1mTiI0rIAOnJD5+NqXjsb1xp+wvoQvs=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "setuptools~=68.2" "setuptools" \
+      --replace "wheel~=0.41.2" "wheel"
+  '';
+
   nativeBuildInputs = [
     setuptools
     wheel
@@ -42,6 +49,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    freezegun
     pydevccu
     pytest-aiohttp
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/hap-python/default.nix b/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
index c40d1633eaed..cb7e154887e0 100644
--- a/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hap-python/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "hap-python";
-  version = "4.7.1";
+  version = "4.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ikalchev";
     repo = "HAP-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-M/STfco+Bx+KxBT1lUIrYyGSjBcPw2UVX02gNOROke4=";
+    hash = "sha256-bFSqMAZWE3xTfnc7FSQMfAhxhKlYm65VFpm+q3yrqpE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hatch-jupyter-builder/default.nix b/nixpkgs/pkgs/development/python-modules/hatch-jupyter-builder/default.nix
index 8ce6f73c547b..fe641977812f 100644
--- a/nixpkgs/pkgs/development/python-modules/hatch-jupyter-builder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hatch-jupyter-builder/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "hatch-jupyter-builder";
-  version = "0.8.2";
+  version = "0.8.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "jupyterlab";
     repo = "hatch-jupyter-builder";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ns5jrVfTAA7NuvUok3/13nIpXSSVZ6WRkgHyTuxkSKA=";
+    hash = "sha256-UywhFJ8d1+lSFOF5ECsknDeQuO7ppckdy5IqAT14ius=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hatch-nodejs-version/default.nix b/nixpkgs/pkgs/development/python-modules/hatch-nodejs-version/default.nix
index ed849eaa52aa..806bffe56cc1 100644
--- a/nixpkgs/pkgs/development/python-modules/hatch-nodejs-version/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hatch-nodejs-version/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "hatch-nodejs-version";
-  version = "0.3.1";
+  version = "0.3.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "agoose77";
     repo = "hatch-nodejs-version";
     rev = "refs/tags/v${version}";
-    hash = "sha256-txF392XiRqHndTEYw6QVk12Oqw9E6cOwF81hUyp2oh4=";
+    hash = "sha256-hknlb11DCe+b55CfF3Pr62ccWPxVrjQ197ZagSiH/zU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hatch-requirements-txt/default.nix b/nixpkgs/pkgs/development/python-modules/hatch-requirements-txt/default.nix
index af74b15b0214..a6246b3a4746 100644
--- a/nixpkgs/pkgs/development/python-modules/hatch-requirements-txt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hatch-requirements-txt/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "hatch-requirements-txt";
-  version = "0.3.0";
+  version = "0.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "repo-helper";
     repo = "hatch-requirements-txt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Gyt5Fs8uqVe0cOKtxFeg1n1WMyeK5Iokh71ynb2i5cM=";
+    hash = "sha256-qk+70o/41BLxCuz3SOXkGYSEmUZOG1oLYcFUmlarqmY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hcloud/default.nix b/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
index cfa94debf55f..5da7e3018f12 100644
--- a/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "hcloud";
-  version = "1.28.0";
+  version = "1.30.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BM6iy3dSjiy65uLi1Yr1qvaWcnrE/LQfyFkZLrzD8pw=";
+    hash = "sha256-TZlz+jk3+wcMkGk6FM70BdqBrLZe+DINwjHHbFNZ/Zo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix b/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix
index 1971516a00fa..75d8a4a990ce 100644
--- a/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hdbscan/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "hdbscan";
-  version = "0.8.28";
+  version = "0.8.33";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7tr3Hy87vt/Ew42hrUiXRUzl69R5LhponJecKFPtwFo=";
+    hash = "sha256-V/q8Xw5F9I0kB7NccxGSq8iWN2QR/n5LuDb/oD04+Q0=";
   };
   patches = [
     # should be included in next release
diff --git a/nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix b/nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix
index 5d231b2b0a60..38782e3240c0 100644
--- a/nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "hdf5plugin";
-  version = "4.1.3";
+  version = "4.2.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "silx-kit";
     repo = "hdf5plugin";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0emCZ+r5dCRBT2xaNsgYskcGcLF/9Jf6K7FFi/PA+60=";
+    hash = "sha256-y0iDPAfm66FdclPREPnvurupWd9ZUgz8PqFd/JoapDc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hdfs/default.nix b/nixpkgs/pkgs/development/python-modules/hdfs/default.nix
index 45bd4faf4462..9b9268c13eac 100644
--- a/nixpkgs/pkgs/development/python-modules/hdfs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hdfs/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "hdfs";
-  version = "2.7.2";
+  version = "2.7.3";
 
   src = fetchFromGitHub {
     owner = "mtth";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-KXJDQEc4+T9r8sB41SOgcx8Gth3qAOZceoOpsLbJ+ak=";
+    hash = "sha256-Pm2E8hB0wbu7npi/sLt9D8jQsH69qNOHLji9CYqST/8=";
   };
 
   propagatedBuildInputs = [ docopt requests six ];
diff --git a/nixpkgs/pkgs/development/python-modules/help2man/default.nix b/nixpkgs/pkgs/development/python-modules/help2man/default.nix
new file mode 100644
index 000000000000..38cff88b4a12
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/help2man/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, jinja2
+, setuptools-scm
+, shtab
+, tomli
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "help2man";
+  version = "0.0.9";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Freed-Wu";
+    repo = "help2man";
+    rev = version;
+    hash = "sha256-BIDn+LQzBtDHUtFvIRL3NMXNouO3cMLibuYBoFtCUxI=";
+  };
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    jinja2
+    setuptools-scm
+    shtab
+    tomli
+  ];
+
+  propagatedBuildInputs = [
+    jinja2
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "help2man" ];
+
+  meta = with lib; {
+    description = "Convert --help and --version to man page";
+    homepage = "https://github.com/Freed-Wu/help2man";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ natsukium ];
+    mainProgram = "help2man";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/heudiconv/default.nix b/nixpkgs/pkgs/development/python-modules/heudiconv/default.nix
index 514d4e2477b6..3cdf1463cd57 100644
--- a/nixpkgs/pkgs/development/python-modules/heudiconv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/heudiconv/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "heudiconv";
-  version = "0.13.1";
+  version = "1.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UUBRC6RToj4XVbJnxG+EKdue4NVpTAW31RNm9ieF1lU=";
+    hash = "sha256-cW6G2NtPZiyqqJ3w9a3Y/6blEaXtR9eGG5epPknimsw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/hglib/default.nix b/nixpkgs/pkgs/development/python-modules/hglib/default.nix
deleted file mode 100644
index 9d6a4cece1c0..000000000000
--- a/nixpkgs/pkgs/development/python-modules/hglib/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, fetchpatch, substituteAll, python, nose, mercurial }:
-
-buildPythonPackage rec {
-  pname = "python-hglib";
-  version = "2.6.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7c1fa0cb4d332dd6ec8409b04787ceba4623e97fb378656f7cab0b996c6ca3b2";
-  };
-
-  patches = [
-    (substituteAll {
-      src = ./hgpath.patch;
-      hg = "${mercurial}/bin/hg";
-    })
-
-    # These two patches are needed to fix the tests.
-    # They will need to be removed on the next update.
-    (fetchpatch {
-      url = "https://www.mercurial-scm.org/repo/python-hglib/raw-rev/12e6aaef0f6e";
-      sha256 = "159pmhy23gqcc6rkh5jrni8fba4xbhxwcc0jf02wqr7f82kv8a7x";
-    })
-    (fetchpatch {
-      url = "https://www.mercurial-scm.org/repo/python-hglib/raw-rev/1a318162f06f";
-      sha256 = "04lxfc15m3yw5kvp133xg8zv09l8kndi146xk3lnbbm07fgcnn1z";
-    })
-  ];
-
-  nativeCheckInputs = [ nose ];
-
-  checkPhase = ''
-    ${python.interpreter} test.py --with-hg "${mercurial}/bin/hg" -v
-  '';
-
-  meta = with lib; {
-    description = "Mercurial Python library";
-    homepage = "http://selenic.com/repo/python-hglib";
-    license = licenses.mit;
-    maintainers = with maintainers; [ dfoxfranke ];
-    platforms = platforms.all;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/hglib/hgpath.patch b/nixpkgs/pkgs/development/python-modules/hglib/hgpath.patch
deleted file mode 100644
index 2141aa32a139..000000000000
--- a/nixpkgs/pkgs/development/python-modules/hglib/hgpath.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -r 2d0ec6097d78 hglib/__init__.py
---- a/hglib/__init__.py	Mon Apr 30 15:43:29 2018 +0900
-+++ b/hglib/__init__.py	Tue Mar 19 23:30:01 2019 +0100
-@@ -1,7 +1,7 @@
- import subprocess
- from hglib import client, util, error
- 
--HGPATH = 'hg'
-+HGPATH = '@hg@'
- 
- def open(path=None, encoding=None, configs=None):
-     '''starts a cmdserver for the given path (or for a repository found
-diff -r 2d0ec6097d78 tests/common.py
---- a/tests/common.py	Mon Apr 30 15:43:29 2018 +0900
-+++ b/tests/common.py	Tue Mar 19 23:30:01 2019 +0100
-@@ -26,7 +26,7 @@
-         os.mkdir(self._testtmp)
-         os.chdir(self._testtmp)
-         # until we can run norepo commands in the cmdserver
--        os.system('hg init')
-+        os.system('@hg@ init')
-         self.client = hglib.open()
- 
-     def tearDown(self):
diff --git a/nixpkgs/pkgs/development/python-modules/hist/default.nix b/nixpkgs/pkgs/development/python-modules/hist/default.nix
index 07f8035fb2a2..8d47c7de0f73 100644
--- a/nixpkgs/pkgs/development/python-modules/hist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hist/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "hist";
-  version = "2.7.1";
+  version = "2.7.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/74xTCvQPDQrnxaNznFa2PNigesjFyoAlwiCqTRP6Yg=";
+    hash = "sha256-JrGrgQ2LECIttdFh1KyvZKqgT+a6rtKWbUHB2sVgHQY=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/holidays/default.nix b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
index 0f3f8ae66054..976766f0a4df 100644
--- a/nixpkgs/pkgs/development/python-modules/holidays/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , hijri-converter
 , korean-lunar-calendar
+, polib
 , pytestCheckHook
 , python-dateutil
 , pythonOlder
@@ -11,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "holidays";
-  version = "0.29";
+  version = "0.32";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +21,7 @@ buildPythonPackage rec {
     owner = "dr-prodigy";
     repo = "python-holidays";
     rev = "refs/tags/v.${version}";
-    hash = "sha256-ijhqu0LzQzpjDSe9ZjNhgdjq/DJuD7oVbRTLX97nGHM=";
+    hash = "sha256-YAh5gR4KcUgXzeXy3xyGeokDFsyd9FqRQ5j1TC6wCQY=";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +32,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    polib
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/horizon-eda/default.nix b/nixpkgs/pkgs/development/python-modules/horizon-eda/default.nix
new file mode 100644
index 000000000000..d2385e190e77
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/horizon-eda/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, callPackage
+, horizon-eda
+, mesa
+, pycairo
+, python
+, pythonOlder
+}:
+
+let
+  base = horizon-eda.passthru.base;
+in
+buildPythonPackage {
+  inherit (base) pname version src meta CASROOT;
+
+  pyproject = false;
+
+  disabled = pythonOlder "3.9";
+
+  buildInputs = base.buildInputs ++ [
+    mesa
+    mesa.osmesa
+    python
+  ];
+
+  propagatedBuildInputs = [
+    pycairo
+  ];
+
+  nativeBuildInputs = base.nativeBuildInputs;
+
+  buildFlags = ["pymodule"];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/${python.sitePackages}
+    cp build/horizon.so $out/${python.sitePackages}
+
+    runHook postInstall
+  '';
+
+  enableParallelBuilding = true;
+}
diff --git a/nixpkgs/pkgs/development/python-modules/httpbin/default.nix b/nixpkgs/pkgs/development/python-modules/httpbin/default.nix
index 570b75eddc46..cc15e00748c0 100644
--- a/nixpkgs/pkgs/development/python-modules/httpbin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpbin/default.nix
@@ -1,43 +1,40 @@
 { lib
-, brotlipy
+, brotlicffi
 , buildPythonPackage
 , decorator
-, fetchpatch
 , fetchPypi
 , flask
 , flask-limiter
+, flasgger
 , itsdangerous
 , markupsafe
 , raven
 , six
 , pytestCheckHook
+, setuptools
 , werkzeug
 }:
 
 buildPythonPackage rec {
   pname = "httpbin";
-  version = "0.7.0";
-  format = "setuptools";
+  version = "0.10.1";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-y7N3kMkVdfTxV1f0KtQdn3KesifV7b6J5OwXVIbbjfo=";
+    hash = "sha256-e4WWvrDnWntlPDnR888mPW1cR20p4d9ve7K3C/nwaj0=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Replaces BaseResponse class with Response class for Werkezug 2.1.0 compatibility
-      # https://github.com/postmanlabs/httpbin/pull/674
-      url = "https://github.com/postmanlabs/httpbin/commit/5cc81ce87a3c447a127e4a1a707faf9f3b1c9b6b.patch";
-      hash = "sha256-SbEWjiqayMFYrbgAPZtSsXqSyCDUz3z127XgcKOcrkE=";
-    })
+  nativeBuildInputs = [
+    setuptools
   ];
 
   propagatedBuildInputs = [
-    brotlipy
+    brotlicffi
     decorator
     flask
     flask-limiter
+    flasgger
     itsdangerous
     markupsafe
     raven
@@ -49,10 +46,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [
-    "test_httpbin.py"
-  ];
-
   disabledTests = [
     # Tests seems to be outdated
     "test_anything"
@@ -70,7 +63,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "HTTP Request and Response Service";
-    homepage = "https://github.com/kennethreitz/httpbin";
+    homepage = "https://github.com/psf/httpbin";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/httpcore/default.nix b/nixpkgs/pkgs/development/python-modules/httpcore/default.nix
index 9f3905f55182..91cd904e3afe 100644
--- a/nixpkgs/pkgs/development/python-modules/httpcore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpcore/default.nix
@@ -3,6 +3,8 @@
 , buildPythonPackage
 , certifi
 , fetchFromGitHub
+, hatchling
+, hatch-fancy-pypi-readme
 , h11
 , h2
 , pproxy
@@ -20,8 +22,8 @@
 
 buildPythonPackage rec {
   pname = "httpcore";
-  version = "0.17.2";
-  format = "setuptools";
+  version = "0.18.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -29,9 +31,14 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qAoORhzBbjXxgtzTqbAxWBxrohzfwDWm5mxxrgeXt48=";
+    hash = "sha256-UEpERsB7jZlMqRtyHxLYBisfDbTGaAiTtsgU1WUpvtA=";
   };
 
+  nativeBuildInputs = [
+    hatchling
+    hatch-fancy-pypi-readme
+  ];
+
   propagatedBuildInputs = [
     anyio
     certifi
@@ -57,18 +64,19 @@ buildPythonPackage rec {
   ] ++ passthru.optional-dependencies.http2
     ++ passthru.optional-dependencies.socks;
 
-  pythonImportsCheck = [
-    "httpcore"
+  disabledTests = [
+    # https://github.com/encode/httpcore/discussions/813
+    "test_connection_pool_timeout_during_request"
+    "test_connection_pool_timeout_during_response"
+    "test_h11_timeout_during_request"
+    "test_h11_timeout_during_response"
+    "test_h2_timeout_during_handshake"
+    "test_h2_timeout_during_request"
+    "test_h2_timeout_during_response"
   ];
 
-  preCheck = ''
-    # remove upstreams pytest flags which cause:
-    # httpcore.ConnectError: TLS/SSL connection has been closed (EOF) (_ssl.c:997)
-    rm setup.cfg
-  '';
-
-  pytestFlagsArray = [
-    "--asyncio-mode=strict"
+  pythonImportsCheck = [
+    "httpcore"
   ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/nixpkgs/pkgs/development/python-modules/httpie/default.nix b/nixpkgs/pkgs/development/python-modules/httpie/default.nix
index 22b6918bccc9..43f69ecd3c9b 100644
--- a/nixpkgs/pkgs/development/python-modules/httpie/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpie/default.nix
@@ -106,6 +106,11 @@ buildPythonPackage rec {
     "test_valid_xml"
     "test_xml_format_options"
     "test_xml_xhtm"
+    # httpbin compatibility issues
+    "test_compress_form"
+    "test_binary_suppresses_when_terminal"
+    "test_binary_suppresses_when_not_terminal_but_pretty"
+    "test_binary_included_and_correct_when_suitable"
   ] ++ lib.optionals stdenv.isDarwin [
     # flaky
     "test_daemon_runner"
diff --git a/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
index 992ddf1c6932..58e6fded6e1a 100644
--- a/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "httpx-socks";
-  version = "0.7.6";
+  version = "0.7.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "romis2012";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-rLcYC8IO2eCWAL4QIiUg/kyigybq6VNTUjNDXx4KPHc=";
+    hash = "sha256-I00+yB+aRnIMUQIJ7Lvr6LsHpf+gibkHh+2XgpeQn5U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/httpx/default.nix b/nixpkgs/pkgs/development/python-modules/httpx/default.nix
index 11204ec8b9b4..7e451532af04 100644
--- a/nixpkgs/pkgs/development/python-modules/httpx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpx/default.nix
@@ -29,7 +29,7 @@
 
 buildPythonPackage rec {
   pname = "httpx";
-  version = "0.24.1";
+  version = "0.25.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qG6fgijNgQKjpSG6sg0+0yqeAU6qV7czR8NgWe63LIg=";
+    hash = "sha256-zQVavjU66ksO0FB1h32e0YUhOGiQ4jHPvjgLhtxjU6s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/huey/default.nix b/nixpkgs/pkgs/development/python-modules/huey/default.nix
index a622017bebcf..2ef88e7bf486 100644
--- a/nixpkgs/pkgs/development/python-modules/huey/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/huey/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "huey";
-  version = "2.4.5";
+  version = "2.5.0";
 
   format = "pyproject";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "coleifer";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-7ZMkA5WzWJKSwvpOoZYQO9JgedCdxNGrkFuPmYm4aRE=";
+    hash = "sha256-t767eqZ6U12mG8nWEYC9Hoq/jW2yfrPkCxB3/xLKQww=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/huggingface-hub/default.nix b/nixpkgs/pkgs/development/python-modules/huggingface-hub/default.nix
index 9fc7e657468d..dd7c1eec6725 100644
--- a/nixpkgs/pkgs/development/python-modules/huggingface-hub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/huggingface-hub/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "huggingface-hub";
-  version = "0.16.4";
+  version = "0.17.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "huggingface_hub";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fWvEvYiaLiVGmDdfibIHJAsu7nUX+eaE0QGolS3LHO8=";
+    hash = "sha256-zoZIxp9+4FVPLCiikKussC34rwWBQzWMDlZx9S7NnqQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hupper/default.nix b/nixpkgs/pkgs/development/python-modules/hupper/default.nix
index da287226ff53..11f37dcac28e 100644
--- a/nixpkgs/pkgs/development/python-modules/hupper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hupper/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "hupper";
-  version = "1.11";
+  version = "1.12";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FcEb13XY+YCVt0W05lihfCXIbjtzJ1yuiWrByNUzyxg=";
+    hash = "sha256-GLFlPZgyyfjn00AZhsfnryrmeDYWvgvEBr/gsUE0pcY=";
   };
 
   # FIXME: watchdog dependency is disabled on Darwin because of #31865, which causes very silent
diff --git a/nixpkgs/pkgs/development/python-modules/hvac/default.nix b/nixpkgs/pkgs/development/python-modules/hvac/default.nix
index 7f8c9c5bea8a..6fe396897114 100644
--- a/nixpkgs/pkgs/development/python-modules/hvac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hvac/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "hvac";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-b1qg1rgTi1hdRlbR/gG12HYWMQyASEuQnMhMLLjwZP0=";
+    hash = "sha256-x4bj36HzUjmBDlMXzMrb41j0m4yQAaHy9ot5olC5+KE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hvplot/default.nix b/nixpkgs/pkgs/development/python-modules/hvplot/default.nix
index 39e7f5835965..5047eb68ea96 100644
--- a/nixpkgs/pkgs/development/python-modules/hvplot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hvplot/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "hvplot";
-  version = "0.8.4";
+  version = "0.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7/X9qXExNKwN89JkihGJfuQKCbGiVhrTMBiALhi4fCI=";
+    hash = "sha256-BkxnV90QxJjQYqN0DdjGbjPmNDaDN9hUBjO7nQte7eg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hyperscan/default.nix b/nixpkgs/pkgs/development/python-modules/hyperscan/default.nix
new file mode 100644
index 000000000000..342dda967cfe
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/hyperscan/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, pkgs
+, buildPythonPackage
+, fetchFromGitHub
+, pdm-backend
+, setuptools
+, wheel
+, pcre
+, pkg-config
+, pytestCheckHook
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "hyperscan";
+  version = "0.6.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "darvid";
+    repo = "python-hyperscan";
+    rev = "v${version}";
+    hash = "sha256-6PoV9rY9CkXkAMWN2QCnfU4S0OJD/6bzkqFgvEVqNjo=";
+  };
+
+  buildInputs = [
+    (pkgs.hyperscan.override { withStatic = true; })
+    # we need static pcre to be built, by default only shared library is built
+    (pcre.overrideAttrs { dontDisableStatic = 0; })
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+    pdm-backend
+    setuptools
+    wheel
+  ];
+
+  pythonImportsCheck = [ "hyperscan" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-mock
+  ];
+
+  meta = with lib; {
+    description = "A CPython extension for the Hyperscan regular expression matching library";
+    homepage = "https://github.com/darvid/python-hyperscan";
+    changelog = "https://github.com/darvid/python-hyperscan/blob/${src.rev}/CHANGELOG.md";
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/hypothesis-auto/default.nix b/nixpkgs/pkgs/development/python-modules/hypothesis-auto/default.nix
index 49638e825823..ad6ae8dbd96c 100644
--- a/nixpkgs/pkgs/development/python-modules/hypothesis-auto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hypothesis-auto/default.nix
@@ -1,41 +1,27 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , hypothesis
 , poetry-core
 , pydantic
 , pytest
+, pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "hypothesis-auto";
-  version = "1.1.4";
+  version = "1.1.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-XiwvsJ3AmEJRLYBjC7eSNZodM9LARzrUfuI9oL6eMrE=";
+    pname = "hypothesis_auto";
+    inherit version;
+    hash = "sha256-U0vcOB9jXmUV5v2IwybVu2arY1FpPnKkP7m2kbD1kRw=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/timothycrosley/hypothesis-auto/commit/8277b4232617c0433f80e9c2844452b9fae67a65.patch";
-      hash = "sha256-/0z0nphtQnUBiLYhhzLZT59kQgktSugaBg+ePNxy0qI=";
-    })
-  ];
-
-  postPatch = ''
-    # https://github.com/timothycrosley/hypothesis-auto/pull/20
-    substituteInPlace pyproject.toml \
-      --replace 'pydantic = ">=0.32.2<2.0.0"' 'pydantic = ">=0.32.2, <2.0.0"' \
-      --replace 'hypothesis = ">=4.36<6.0.0"' 'hypothesis = "*"'
-  '';
-
   nativeBuildInputs = [
     poetry-core
   ];
@@ -50,6 +36,10 @@ buildPythonPackage rec {
     "hypothesis_auto"
   ];
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
   meta = with lib; {
     description = "Enables fully automatic tests for type annotated functions";
     homepage = "https://github.com/timothycrosley/hypothesis-auto/";
diff --git a/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix b/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix
index a5692c631508..4cc5aab3bffe 100644
--- a/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "hypothesis";
-  version = "6.68.2";
+  version = "6.84.3";
   outputs = [ "out" ];
   format = "setuptools";
 
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "HypothesisWorks";
     repo = "hypothesis";
     rev = "hypothesis-python-${version}";
-    hash = "sha256-SgX8esTyC3ulFIv9mZJUoBA5hiv7Izr2hyD+NOudkpE=";
+    hash = "sha256-wymZ/tJBGcP57B3BuDlBT7kbUxNwW4/SSmvwLSa5PvM=";
   };
 
   # I tried to package sphinx-selective-exclude, but it throws
diff --git a/nixpkgs/pkgs/development/python-modules/hyppo/default.nix b/nixpkgs/pkgs/development/python-modules/hyppo/default.nix
index 223ef9fe7a43..709c7180f004 100644
--- a/nixpkgs/pkgs/development/python-modules/hyppo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hyppo/default.nix
@@ -14,15 +14,15 @@
 
 buildPythonPackage rec {
   pname = "hyppo";
-  version = "0.3.2";
+  version = "0.4.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "neurodata";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-DQ5DrQrFBJ3dnGAjD1c/7GCJeR3g+aL2poR4hwOvmPA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-QRE3oSxTEobTQ/7DzCAUOdjzIZmWUn9bgPmJWj6JuZg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix b/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
index 16274bc3f00d..9b77a6be51d0 100644
--- a/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
@@ -130,6 +130,17 @@ buildPythonPackage rec {
     # tries to download duckdb extensions
     "--deselect=ibis/backends/duckdb/tests/test_register.py::test_register_sqlite"
     "--deselect=ibis/backends/duckdb/tests/test_register.py::test_read_sqlite"
+
+    # duckdb does not respect sample_size=2 (reads 3 lines of csv).
+    "--deselect=ibis/backends/tests/test_register.py::test_csv_reregister_schema"
+
+    # duckdb fails with:
+    # "This function can not be called with an active transaction!, commit or abort the existing one first"
+    "--deselect=ibis/backends/tests/test_udf.py::test_vectorized_udf"
+    "--deselect=ibis/backends/tests/test_udf.py::test_map_merge_udf"
+    "--deselect=ibis/backends/tests/test_udf.py::test_udf"
+    "--deselect=ibis/backends/tests/test_udf.py::test_map_udf"
+
     # pyarrow13 is not supported yet.
     "--deselect=ibis/backends/tests/test_temporal.py::test_date_truncate"
     "--deselect=ibis/backends/tests/test_temporal.py::test_integer_to_interval_timestamp"
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 c228a934bd7a..e8671529be3f 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
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "ibm-cloud-sdk-core";
-  version = "3.16.7";
+  version = "3.17.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qYXxR+jXjMfqrxJ62j5do33EbjfeoYSq+IeMrO14FnQ=";
+    hash = "sha256-lIpUG/Z8pVdQnSBvWyaAxfBxhyQQDBKRSi/zr3qtSV0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/icmplib/default.nix b/nixpkgs/pkgs/development/python-modules/icmplib/default.nix
index 07449e0cce30..5e963bd82e55 100644
--- a/nixpkgs/pkgs/development/python-modules/icmplib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/icmplib/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "icmplib";
-  version = "3.0.3";
+  version = "3.0.4";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ValentinBELYN";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-EQyu7lV8F/U8cZklYYIMk9ut1FTcoBvGc8Ggx6JerDk=";
+    hash = "sha256-PnBcGiUvftz/KYg9Qd2GaIcF3OW4lYH301uI5/M5CBI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/icontract/default.nix b/nixpkgs/pkgs/development/python-modules/icontract/default.nix
index 0a200038032f..77565311efbf 100644
--- a/nixpkgs/pkgs/development/python-modules/icontract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/icontract/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "icontract";
-  version = "2.6.2";
+  version = "2.6.4";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Parquery";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-NUgMt/o9EpSQyOiAhYBVJtQKJn0Pd2lI45bKlo2z7mk=";
+    hash = "sha256-zuaS9mmq47hUIBObYRuzEYQQdTArFXR3TpK9nfZt/yk=";
   };
 
   preCheck = ''
@@ -52,12 +52,6 @@ buildPythonPackage rec {
     "tests/test_mypy_decorators.py"
   ];
 
-  # Upstream adds some plain text files direct to the package's root directory
-  # https://github.com/Parquery/icontract/blob/master/setup.py#L63
-  postInstall = ''
-    rm -f $out/{LICENSE.txt,README.rst,requirements.txt}
-  '';
-
   pythonImportsCheck = [ "icontract" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/idasen/default.nix b/nixpkgs/pkgs/development/python-modules/idasen/default.nix
index 8fb0b0c4d008..7e9c67634976 100644
--- a/nixpkgs/pkgs/development/python-modules/idasen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/idasen/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "idasen";
-  version = "0.10.2";
+  version = "0.10.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "newAM";
     repo = "idasen";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aCAtZsHH1tkti2A7OWw9rV4vij1n6T+R8nMa/MRZuF8=";
+    hash = "sha256-mAczHrFEH1LEH1IEUc7ZXTWtaPBrvIdSvkUqOCupyRs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/identify/default.nix b/nixpkgs/pkgs/development/python-modules/identify/default.nix
index 13e1e8d93f8f..891d03cfc04c 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.29";
+  version = "2.5.30";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-eCOgOXzbjP2yTLKYcnjnWFes4P2jvr9rGfQuHuqxLDc=";
+    hash = "sha256-e3+yjd3jrcv4hU+0vCTl+bAzlYcfTdhLHr93briFxdI=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ifcopenshell/default.nix b/nixpkgs/pkgs/development/python-modules/ifcopenshell/default.nix
index e2c945c2834e..eb1c71601c92 100644
--- a/nixpkgs/pkgs/development/python-modules/ifcopenshell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ifcopenshell/default.nix
@@ -14,15 +14,15 @@
 
 buildPythonPackage rec {
   pname = "ifcopenshell";
-  version = "210410";
+  version = "230915";
   format = "other";
 
   src = fetchFromGitHub {
     owner  = "IfcOpenShell";
     repo   = "IfcOpenShell";
-    rev    = "blenderbim-${version}";
+    rev = "refs/tags/blenderbim-${version}";
     fetchSubmodules = true;
-    sha256 = "1g52asxrqcfj01iqvf03k3bb6rg3v04hh1wc3nmn329a2lwjbxpw";
+    sha256 = "sha256-dHw+5AlJbeuUeaxv7eE2XfLjR/K5S00dMSCtoWVcEB8=";
   };
 
   nativeBuildInputs = [ gcc10 cmake ];
diff --git a/nixpkgs/pkgs/development/python-modules/igraph/default.nix b/nixpkgs/pkgs/development/python-modules/igraph/default.nix
index f73b77699c91..e85f78d4ca5a 100644
--- a/nixpkgs/pkgs/development/python-modules/igraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/igraph/default.nix
@@ -10,9 +10,9 @@
 
 buildPythonPackage rec {
   pname = "igraph";
-  version = "0.10.8";
+  version = "0.11.2";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   format = "setuptools";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "igraph";
     repo = "python-igraph";
     rev = "refs/tags/${version}";
-    hash = "sha256-EpWkFKN8fhKkzR2g9Uv0/LxSwi4TkraH5rjde7yR+C8=";
+    hash = "sha256-evYnUv2PWO+LbVBBQPa708dQb8Wq8SQ92bJ6clQNV/g=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ihm/default.nix b/nixpkgs/pkgs/development/python-modules/ihm/default.nix
new file mode 100644
index 000000000000..b56459317f34
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ihm/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, swig
+, wheel
+, msgpack
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ihm";
+  version = "0.41";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ihmwg";
+    repo = "python-ihm";
+    rev = "refs/tags/${version}";
+    hash = "sha256-weeOizVWFcOxD45QsvEaoknTofZjglCvidyvXpyRKwc=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    swig
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    msgpack
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # requires network access
+    "test_validator_example"
+  ];
+
+  pythonImportsCheck = [ "ihm" ];
+
+  meta = with lib; {
+    description = "Python package for handling IHM mmCIF and BinaryCIF files";
+    homepage = "https://github.com/ihmwg/python-ihm";
+    changelog = "https://github.com/ihmwg/python-ihm/blob/${src.rev}/ChangeLog.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/iisignature/default.nix b/nixpkgs/pkgs/development/python-modules/iisignature/default.nix
new file mode 100644
index 000000000000..1ddfd05b5326
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/iisignature/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, wheel
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "iisignature";
+  version = "0.24";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-C5MUxui4BIf68yMZH7NZhq1CJuhrDGfPCjspObaVucY=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  # PyPI tarball has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "iisignature" ];
+
+  meta = with lib; {
+    description = "Iterated integral signature calculations";
+    homepage = "https://pypi.org/project/iisignature";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/image-go-nord/default.nix b/nixpkgs/pkgs/development/python-modules/image-go-nord/default.nix
index 519ac772a59e..ff7c654c9ea3 100644
--- a/nixpkgs/pkgs/development/python-modules/image-go-nord/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/image-go-nord/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "image-go-nord";
-  version = "0.1.5";
+  version = "0.1.7";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Schrodinger-Hat";
     repo = "ImageGoNord-pip";
-    rev = "v${version}";
-    hash = "sha256-O34COlGsXExJShRd2zvhdescNfYXWLNuGpkjcH3koPU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-vXABG3aJ6bwT37hfo909oF8qfAY3ZW18xvr1V8vSy5w=";
   };
 
   propagatedBuildInputs = [ pillow ];
diff --git a/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix b/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix
index cdffa669edcf..3f2b7de89dde 100644
--- a/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imageio-ffmpeg/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "imageio-ffmpeg";
-  version = "0.4.8";
+  version = "0.4.9";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/aoFrRD+Bwt/qOX2FcsNKPO5t5HQCvbSoR5pQVjRCqk=";
+    hash = "sha256-ObzRZgEY7zYPpAR0VlAQcTZGYaqdkCHT0mxY8e4ggfU=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/imageio/default.nix b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
index 6989a12bf865..083170fd438b 100644
--- a/nixpkgs/pkgs/development/python-modules/imageio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imageio/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.28.1";
+  version = "2.31.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XbUIe+XIFOz34sfTChoVyX7Kl9jCbzHdxU12fUpDvOg=";
+    hash = "sha256-dMaoMtgbetWoqAl23qWO4DPT4rmaVJkMvXibTLCzFGE=";
   };
 
   patches = lib.optionals (!stdenv.isDarwin) [
diff --git a/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix b/nixpkgs/pkgs/development/python-modules/imap-tools/default.nix
index b7d2811fbd10..94f2257cc12c 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.2.0";
+  version = "1.4.0";
 
   disabled = pythonOlder "3.5";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FC4uvBqQ9Lqpvj94ByM7LYiqqjAQQljYduBxwum49lI=";
+    hash = "sha256-bTYfAXc/2bRj8TBd9mmg0EGjUcUu6aiZXl8MF0+1xcs=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/iminuit/default.nix b/nixpkgs/pkgs/development/python-modules/iminuit/default.nix
index c1d896f698e1..3969b1c9ca51 100644
--- a/nixpkgs/pkgs/development/python-modules/iminuit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iminuit/default.nix
@@ -1,27 +1,43 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
+
+# build-system
 , cmake
+, scikit-build-core
+, pybind11
+, pathspec
+, ninja
+, pyproject-metadata
+
+# dependencies
 , numpy
+
+# tests
 , pytestCheckHook
-, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "iminuit";
-  version = "2.21.3";
-  format = "setuptools";
+  version = "2.24.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+zE/DMJ+IhubIhvNd5s6Zo+0x3sPkKv9UzaDPsvawBY=";
+    hash = "sha256-JatjHDyOAksbzHyW9mM4yqxUpKIyTVXx47pWF4FuRP0=";
   };
 
   nativeBuildInputs = [
     cmake
-  ];
+    scikit-build-core
+    pybind11
+    pathspec
+    ninja
+    pyproject-metadata
+  ] ++ scikit-build-core.optional-dependencies.pyproject;
 
   propagatedBuildInputs = [
     numpy
diff --git a/nixpkgs/pkgs/development/python-modules/importlib-resources/default.nix b/nixpkgs/pkgs/development/python-modules/importlib-resources/default.nix
index b470eb12a4ea..8b6afb522b6a 100644
--- a/nixpkgs/pkgs/development/python-modules/importlib-resources/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/importlib-resources/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "importlib-resources";
-  version = "5.12.0";
+  version = "6.0.1";
   format = "pyproject";
   disabled = isPy27;
 
   src = fetchPypi {
     pname = "importlib_resources";
     inherit version;
-    hash = "sha256-S+glib9cHXmZrt8qRRWdEMs8pPGbInH4eSvI5tp7IvY=";
+    hash = "sha256-Q1lFfkJwhGK5YmoEZXxiCK15nOtB5cWMV/+g5qCYpdQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/in-n-out/default.nix b/nixpkgs/pkgs/development/python-modules/in-n-out/default.nix
index baffe42e0f36..b35e4588a4dd 100644
--- a/nixpkgs/pkgs/development/python-modules/in-n-out/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/in-n-out/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "in-n-out";
-  version = "0.1.8";
+  version = "0.1.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "in_n_out";
     inherit version;
-    hash = "sha256-gWKvh4fmgutLNtBH+RQZnYDxEk46QUIM1T3mgOfQolQ=";
+    hash = "sha256-if65ROQg+vQtPCVCFFaBtNVxRDVZMsK4WWlfzcT5oto=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/in-place/default.nix b/nixpkgs/pkgs/development/python-modules/in-place/default.nix
index 0acfbac481f6..324cd61537fe 100644
--- a/nixpkgs/pkgs/development/python-modules/in-place/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/in-place/default.nix
@@ -2,19 +2,22 @@
 , fetchFromGitHub
 , lib
 , pytestCheckHook
+, pythonOlder
 , setuptools
 }:
 
 buildPythonPackage rec {
   pname = "in-place";
-  version = "0.5.0";
+  version = "1.0.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "jwodder";
     repo = "inplace";
-    rev = "v${version}";
-    sha256 = "1w6q3d0gqz4mxvspd08l1nhsrw6rpzv1gnyj4ckx61b24f84p5gk";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-TfWfSb1GslzcT30/xvBg5Xui7ptp7+g89Fq/giLCoQ8=";
   };
 
   postPatch = ''
@@ -32,6 +35,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "In-place file processing";
     homepage = "https://github.com/jwodder/inplace";
+    changelog = "https://github.com/jwodder/inplace/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ samuela ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/indexed-bzip2/default.nix b/nixpkgs/pkgs/development/python-modules/indexed-bzip2/default.nix
new file mode 100644
index 000000000000..d6c82e3aec9a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/indexed-bzip2/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "indexed_bzip2";
+  version = "1.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-tKf9odadfQZQYJz//vWYpeB99Z8VLg+hEPvfEHXgdnM=";
+  };
+
+  # has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "indexed_bzip2" ];
+
+  meta = with lib; {
+    description = "Python library for parallel decompression and seeking within compressed bzip2 files";
+    homepage = "https://github.com/mxmlnkn/indexed_bzip2";
+    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/indexed-gzip/default.nix b/nixpkgs/pkgs/development/python-modules/indexed-gzip/default.nix
new file mode 100644
index 000000000000..73ad916f35f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/indexed-gzip/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, cython
+, zlib
+}:
+
+buildPythonPackage rec {
+  pname = "indexed_gzip";
+  version = "1.8.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-h9JgYq9KxmknaRuMgq+5YWA8tUaFk+lclkqdNAnr/cI=";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  buildInputs = [ zlib ];
+
+  # Too complicated to get to work, not a simple pytest call.
+  doCheck = false;
+
+  pythonImportsCheck = [ "indexed_gzip" ];
+
+  meta = with lib; {
+    description = "Python library to seek within compressed gzip files";
+    homepage = "https://github.com/pauldmccarthy/indexed_gzip";
+    license = licenses.zlib;
+    maintainers = with lib.maintainers; [ mxmlnkn ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/indexed-zstd/default.nix b/nixpkgs/pkgs/development/python-modules/indexed-zstd/default.nix
new file mode 100644
index 000000000000..f9d643c8ff49
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/indexed-zstd/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, cython
+, zstd
+}:
+
+buildPythonPackage rec {
+  pname = "indexed_zstd";
+  version = "1.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-icCerrv6ihBjSTS4Fsw7qhoA5ha8yegfMVRiIOhTvvY=";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  buildInputs = [ zstd.dev ];
+
+  # has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "indexed_zstd" ];
+
+  meta = with lib; {
+    description = "Python library to seek within compressed zstd files";
+    homepage = "https://github.com/martinellimarco/indexed_zstd";
+    license = licenses.mit;
+    maintainers = with lib.maintainers; [ mxmlnkn ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/inflect/default.nix b/nixpkgs/pkgs/development/python-modules/inflect/default.nix
index 9805f72ef830..10f5a56763ef 100644
--- a/nixpkgs/pkgs/development/python-modules/inflect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/inflect/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "inflect";
-  version = "6.0.4";
+  version = "7.0.0";
   disabled = isPy27;
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GEJkmhe2ytZoEqXJvfrLYxDh57bdijHwJnZt8bYmEus=";
+    hash = "sha256-Y9qTJa0p2oHsI+BVtBIleVq3k7TstIO+XcH6Nj/UcX4=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix b/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix
index 699cd2945d73..5bc9ba395063 100644
--- a/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/influxdb-client/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "influxdb-client";
-  version = "1.37.0";
+  version = "1.38.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "influxdata";
     repo = "influxdb-client-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-paS+/miraJ9vRL1ZEAWJRSVd1hGvrYJe+0YD/F4sGDs=";
+    hash = "sha256-oE0RPryuUJcy6HN3V2XIxipGYU41xrYMC7b0sGRfay8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
index ce6bccdd409f..e270df9746d2 100644
--- a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , python-dateutil
 , fetchPypi
-, fetchpatch
 , mock
 , msgpack
 , nose
@@ -56,6 +55,7 @@ buildPythonPackage rec {
     #   b'foo[30 chars]_one="1",column_two=1i 0\nfoo,tag_one=red,tag_[46 chars]00\n'
     "test_write_points_from_dataframe_with_nan_json"
     "test_write_points_from_dataframe_with_tags_and_nan_json"
+    "test_write_points_from_dataframe_with_numeric_precision"
     # Reponse is not empty but `s = '孝'` and the JSON decoder chokes on that
     "test_query_with_empty_result"
     # Pandas API changes cause it to no longer infer datetimes in the expected manner
diff --git a/nixpkgs/pkgs/development/python-modules/iniconfig/default.nix b/nixpkgs/pkgs/development/python-modules/iniconfig/default.nix
index 04f06c013d4b..b9c6e8e205fa 100644
--- a/nixpkgs/pkgs/development/python-modules/iniconfig/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iniconfig/default.nix
@@ -32,7 +32,9 @@ buildPythonPackage rec {
     "iniconfig"
   ];
 
-  doCheck = false; # avoid circular import with pytest
+  # Requires pytest, which in turn requires this package - causes infinite
+  # recursion. See also: https://github.com/NixOS/nixpkgs/issues/63168
+  doCheck = false;
 
   meta = with lib; {
     description = "brain-dead simple parsing of ini files";
diff --git a/nixpkgs/pkgs/development/python-modules/iocextract/default.nix b/nixpkgs/pkgs/development/python-modules/iocextract/default.nix
index 5831ab80e14b..3353d912b393 100644
--- a/nixpkgs/pkgs/development/python-modules/iocextract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iocextract/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "iocextract";
-  version = "1.16.0";
+  version = "1.16.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "InQuest";
     repo = "python-iocextract";
     rev = "refs/tags/v${version}";
-    hash = "sha256-jwMu4G146FpH6aFCiZK9tI/3CKnZYC2RCtO9QXXaquQ=";
+    hash = "sha256-cCp9ug/TuVY1zL+kiDlFGBmfFJyAmVwxLD36WT0oRAE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ipdb/default.nix b/nixpkgs/pkgs/development/python-modules/ipdb/default.nix
index 4aec18990732..f5911b627c8d 100644
--- a/nixpkgs/pkgs/development/python-modules/ipdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipdb/default.nix
@@ -5,6 +5,7 @@
 , decorator
 , ipython
 , isPyPy
+, exceptiongroup
 , tomli
 , setuptools
 , unittestCheckHook
@@ -30,6 +31,7 @@ buildPythonPackage rec {
     ipython
     decorator
   ] ++ lib.optionals (pythonOlder "3.11") [
+    exceptiongroup
     tomli
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix b/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix
index 80068293145d..6e6d0e21ef02 100644
--- a/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipwhl/default.nix
@@ -1,10 +1,10 @@
 { lib, buildPythonPackage, pythonOlder, fetchFromSourcehut
-, kubo, packaging, tomli }:
+, kubo, packaging, tomli, flit-core }:
 
 buildPythonPackage rec {
   pname = "ipwhl";
   version = "1.1.0";
-  format = "flit";
+  format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchFromSourcehut {
@@ -14,6 +14,7 @@ buildPythonPackage rec {
     hash = "sha256-YaIYcoUnbiv9wUOFIzGj2sWGbh7NsqRQcqOR2X6+QZA=";
   };
 
+  nativeBuildInputs = [ flit-core ];
   buildInputs = [ kubo ];
   propagatedBuildInputs = [ packaging tomli ];
   doCheck = false; # there's no test
diff --git a/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix b/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
index aeb19ec9f2bd..74cb52629af5 100644
--- a/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipykernel/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "6.21.2";
+  version = "6.25.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bpITSE5M4fsUJn7kNeGPI8w6BjTmNbn7TtRne4Tg/fg=";
+    hash = "sha256-9Gjd0fF6y0jIzmf8+km6bUbU+awEOMH0Qb58PRNyIws=";
   };
 
   # debugpy is optional, see https://github.com/ipython/ipykernel/pull/767
diff --git a/nixpkgs/pkgs/development/python-modules/ipympl/default.nix b/nixpkgs/pkgs/development/python-modules/ipympl/default.nix
index 9863064f16ea..f461659c6500 100644
--- a/nixpkgs/pkgs/development/python-modules/ipympl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipympl/default.nix
@@ -3,7 +3,7 @@
 , pythonOlder
 , fetchPypi
 , ipykernel
-, ipython_genutils
+, ipython-genutils
 , ipywidgets
 , matplotlib
 , numpy
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     ipykernel
-    ipython_genutils
+    ipython-genutils
     ipywidgets
     matplotlib
     numpy
diff --git a/nixpkgs/pkgs/development/python-modules/ipython-genutils/default.nix b/nixpkgs/pkgs/development/python-modules/ipython-genutils/default.nix
new file mode 100644
index 000000000000..e3a7b6c0a444
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ipython-genutils/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, nose
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ipython-genutils";
+  version = "0.2.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "ipython_genutils";
+    inherit version;
+    hash = "sha256-6y4RbnXs751NIo/cZq9UJpr6JqtEYwQuM3hbiHxii6g=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    nose
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    substituteInPlace ipython_genutils/tests/test_path.py \
+      --replace "setUp" "setup_method" \
+      --replace "tearDown" "teardown_method"
+  '';
+
+  pythonImportsCheck = [
+    "ipython_genutils"
+  ];
+
+  meta = {
+    description = "Vestigial utilities from IPython";
+    homepage = "https://ipython.org/";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ fridh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ipython-sql/default.nix b/nixpkgs/pkgs/development/python-modules/ipython-sql/default.nix
index 8853b066ecb6..2fc59859ab2a 100644
--- a/nixpkgs/pkgs/development/python-modules/ipython-sql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipython-sql/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , pythonOlder
 , ipython
-, ipython_genutils
+, ipython-genutils
 , pandas
 , prettytable
 , pytest
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     ipython
-    ipython_genutils
+    ipython-genutils
     prettytable
     sqlalchemy
     sqlparse
diff --git a/nixpkgs/pkgs/development/python-modules/ipython/default.nix b/nixpkgs/pkgs/development/python-modules/ipython/default.nix
index d0fd08146bcf..a730531bf873 100644
--- a/nixpkgs/pkgs/development/python-modules/ipython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipython/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , pythonOlder
 
 # Build dependencies
@@ -12,6 +11,7 @@
 , appnope
 , backcall
 , decorator
+, exceptiongroup
 , jedi
 , matplotlib-inline
 , pexpect
@@ -20,6 +20,7 @@
 , pygments
 , stack-data
 , traitlets
+, typing-extensions
 
 # Test dependencies
 , pytestCheckHook
@@ -28,13 +29,13 @@
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "8.11.0";
+  version = "8.15.0";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "735cede4099dbc903ee540307b9171fbfef4aa75cfcacc5a273b2cda2f02be04";
+    sha256 = "sha256-K661vmlJ7uv1MhUPgXRvgzPizM4C3hx+7d4/I+1enx4=";
   };
 
   nativeBuildInputs = [
@@ -52,6 +53,10 @@ buildPythonPackage rec {
     pygments
     stack-data
     traitlets
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    exceptiongroup
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    typing-extensions
   ] ++ lib.optionals stdenv.isDarwin [
     appnope
   ];
@@ -64,8 +69,8 @@ buildPythonPackage rec {
     export HOME=$TMPDIR
 
     # doctests try to fetch an image from the internet
-    substituteInPlace pytest.ini \
-      --replace "--ipdoctest-modules" "--ipdoctest-modules --ignore=IPython/core/display.py"
+    substituteInPlace pyproject.toml \
+      --replace '"--ipdoctest-modules",' '"--ipdoctest-modules", "--ignore=IPython/core/display.py",'
   '';
 
   nativeCheckInputs = [
@@ -83,6 +88,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "IPython: Productive Interactive Computing";
+    downloadPage = "https://github.com/ipython/ipython/";
     homepage = "https://ipython.org/";
     changelog = "https://github.com/ipython/ipython/blob/${version}/docs/source/whatsnew/version${lib.versions.major version}.rst";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/ipython_genutils/default.nix b/nixpkgs/pkgs/development/python-modules/ipython_genutils/default.nix
deleted file mode 100644
index 2283444c23db..000000000000
--- a/nixpkgs/pkgs/development/python-modules/ipython_genutils/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, nose
-, glibcLocales
-}:
-
-buildPythonPackage rec {
-  pname = "ipython_genutils";
-  version = "0.2.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8";
-  };
-
-  nativeCheckInputs = [ nose glibcLocales ];
-
-  checkPhase = ''
-    LC_ALL="en_US.UTF-8" nosetests -v ipython_genutils/tests
-  '';
-
-  meta = {
-    description = "Vestigial utilities from IPython";
-    homepage = "https://ipython.org/";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix b/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix
index 5432d31c5472..0de6db55b941 100644
--- a/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipywidgets/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "ipywidgets";
-  version = "8.0.6";
+  version = "8.1.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3n13nyBF1g3p9sJfZT/a4tuleJjmoShElLO6ILaJO7g=";
+    hash = "sha256-QCEe+1Vq3sb6RQzMKnfVnKRKBg9PnxNoM99ZyfU45ug=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ircrobots/default.nix b/nixpkgs/pkgs/development/python-modules/ircrobots/default.nix
index 51de0c11bfe2..ef09e41c2361 100644
--- a/nixpkgs/pkgs/development/python-modules/ircrobots/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ircrobots/default.nix
@@ -13,21 +13,19 @@
 
 buildPythonPackage rec {
   pname = "ircrobots";
-  version = "0.4.6";
+  version = "0.6.6";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jesopo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-+BrS1+ZkgwT/qvqD0PwRZi2LF+31biS738SzKH1dy7w=";
+    hash = "sha256-mIh3tERwHtGH9eA0AT8Lcnwp1Wn9lQhKkUjuZcOXO/c=";
   };
 
   postPatch = ''
     # too specific pins https://github.com/jesopo/ircrobots/issues/3
     sed -iE 's/anyio.*/anyio/' requirements.txt
-    sed -iE 's/ircstates.*/ircstates/' requirements.txt
-    sed -iE 's/async_timeout.*/async_timeout/' requirements.txt
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ircstates/default.nix b/nixpkgs/pkgs/development/python-modules/ircstates/default.nix
index 49ddb8c0614e..4ccaea6e6f24 100644
--- a/nixpkgs/pkgs/development/python-modules/ircstates/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ircstates/default.nix
@@ -4,19 +4,20 @@
 , pythonOlder
 , irctokens
 , pendulum
+, freezegun
 , python
 }:
 
 buildPythonPackage rec {
   pname = "ircstates";
-  version = "0.11.8";
+  version = "0.12.1";
   disabled = pythonOlder "3.6";  # f-strings
 
   src = fetchFromGitHub {
     owner = "jesopo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0scxqcgby4vzh2q937r0wy2mb46aghjf47q3z6fp6di1b6hlj7zh";
+    hash = "sha256-F9yOY3YBacyoUzNTvPs7pxp6yNx08tiq1jWQKhGiagc=";
   };
 
   propagatedBuildInputs = [
@@ -24,6 +25,10 @@ buildPythonPackage rec {
     pendulum
   ];
 
+  nativeCheckInputs = [
+    freezegun
+  ];
+
   checkPhase = ''
     ${python.interpreter} -m unittest test
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/irctokens/default.nix b/nixpkgs/pkgs/development/python-modules/irctokens/default.nix
index 9f40a88dd352..b2b35a7a926b 100644
--- a/nixpkgs/pkgs/development/python-modules/irctokens/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/irctokens/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "irctokens";
-  version = "2.0.1";
+  version = "2.0.2";
   disabled = pythonOlder "3.6";  # f-strings
 
   src = fetchFromGitHub {
     owner = "jesopo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-FgcLngS11U9eBNV/8jllwdrm89tCmthA1sUaFDovk6U=";
+    hash = "sha256-Y9NBqxGUkt48hnXxsmfydHkJmWWb+sRrElV8C7l9bpw=";
   };
 
   nativeCheckInputs = [ pyyaml ];
diff --git a/nixpkgs/pkgs/development/python-modules/iso8601/default.nix b/nixpkgs/pkgs/development/python-modules/iso8601/default.nix
index c3e022cdb38b..ade0c71ee887 100644
--- a/nixpkgs/pkgs/development/python-modules/iso8601/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iso8601/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "iso8601";
-  version = "1.1.0";
+  version = "2.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MoEee4He7iBj6m0ulPiBmobR84EeSdI2I6QfqDK+8D8=";
+    hash = "sha256-c5lg03x0x3vZvVRqdlYsy1gf49SCD/XDFB60nIOf2o8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/iteration-utilities/default.nix b/nixpkgs/pkgs/development/python-modules/iteration-utilities/default.nix
index fd055d35bdbe..dcfc86c3aa2c 100644
--- a/nixpkgs/pkgs/development/python-modules/iteration-utilities/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/iteration-utilities/default.nix
@@ -1,27 +1,36 @@
-{ lib, buildPythonPackage, fetchFromGitHub
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "iteration-utilities";
-  version = "0.11.0";
+  version = "0.12.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "MSeifert04";
     repo = "iteration_utilities";
-    rev = "v${version}";
-    hash = "sha256-Q/ZuwAf+NPikN8/eltwaUilnLw4DKFm864tUe6GLDak=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-KdL0lwlmBEG++JRociR92HdYxzArTeL5uEyUjvvwi1Y=";
   };
 
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "iteration_utilities" ];
+  pythonImportsCheck = [
+    "iteration_utilities"
+  ];
 
   meta = with lib; {
     description = "Utilities based on Pythons iterators and generators";
     homepage = "https://github.com/MSeifert04/iteration_utilities";
+    changelog = "https://github.com/MSeifert04/iteration_utilities/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jaraco-classes/default.nix b/nixpkgs/pkgs/development/python-modules/jaraco-classes/default.nix
index 8c9b32fb11ee..317fc3e3dc1a 100644
--- a/nixpkgs/pkgs/development/python-modules/jaraco-classes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaraco-classes/default.nix
@@ -6,14 +6,16 @@
 
 buildPythonPackage rec {
   pname = "jaraco-classes";
-  version = "3.1.1";
+  version = "3.3.0";
+  format = "pyproject";
+
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "jaraco";
     repo = "jaraco.classes";
-    rev = "v${version}";
-    sha256 = "0wzrcsxi9gb65inayg0drm08iaw37jm1lqxhz3860i6pwjh503pr";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-DW8qf6G6997vBOaO1+Bdx4LBvKfpl/MiiFqWJYKE/pg=";
   };
 
   pythonNamespaces = [ "jaraco" ];
diff --git a/nixpkgs/pkgs/development/python-modules/jaraco-functools/default.nix b/nixpkgs/pkgs/development/python-modules/jaraco-functools/default.nix
index 9cd5e9988f66..0cc2fa124db5 100644
--- a/nixpkgs/pkgs/development/python-modules/jaraco-functools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaraco-functools/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "jaraco-functools";
-  version = "3.6.0";
+  version = "3.9.0";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "jaraco.functools";
     inherit version;
-    hash = "sha256-Lho74Rq67O5fWrjdWJY4voMEzEy5E2H+Xmg/S22ft6M=";
+    hash = "sha256-ixN7D+rMF/70us7gTAEcnobyNBCZyHCh0S0743sypjg=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/jaraco-itertools/default.nix b/nixpkgs/pkgs/development/python-modules/jaraco-itertools/default.nix
index 906733508c25..23722cc20c4b 100644
--- a/nixpkgs/pkgs/development/python-modules/jaraco-itertools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaraco-itertools/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "jaraco-itertools";
-  version = "6.2.1";
+  version = "6.4.1";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "jaraco.itertools";
     inherit version;
-    hash = "sha256-YJjts3xrgCPzeU1CWIoTv3WyygK0D/l5XIRry+DBtGw=";
+    hash = "sha256-MU/OVi67RepIIqmLvXsi5f6sfVEY28Gk8ess0Ea/+kc=";
   };
 
   pythonNamespaces = [ "jaraco" ];
diff --git a/nixpkgs/pkgs/development/python-modules/jax/default.nix b/nixpkgs/pkgs/development/python-modules/jax/default.nix
index a92148ada6bb..d9293e073480 100644
--- a/nixpkgs/pkgs/development/python-modules/jax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jax/default.nix
@@ -12,6 +12,7 @@
 , numpy
 , opt-einsum
 , pytestCheckHook
+, pytest-xdist
 , pythonOlder
 , scipy
 , stdenv
@@ -26,17 +27,17 @@ let
 in
 buildPythonPackage rec {
   pname = "jax";
-  version = "0.4.16";
-  format = "pyproject";
+  version = "0.4.19";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "google";
-    repo = pname;
+    repo = "jax";
     # google/jax contains tags for jax and jaxlib. Only use jax tags!
     rev = "refs/tags/${pname}-v${version}";
-    hash = "sha256-q+8CXGxK8JX0bUMK4KJB3qV/EaLHg68D1B5UrtRz0Eg=";
+    hash = "sha256-l5uLPqhg/hqtO9oJSaioow5cH/0jKHDVziGezkfnVcc=";
   };
 
   nativeBuildInputs = [
@@ -61,13 +62,18 @@ buildPythonPackage rec {
     jaxlib'
     matplotlib
     pytestCheckHook
+    pytest-xdist
   ];
 
+  # high parallelism will result in the tests getting stuck
+  dontUsePytestXdist = true;
+
   # NOTE: Don't run the tests in the expiremental directory as they require flax
   # which creates a circular dependency. See https://discourse.nixos.org/t/how-to-nix-ify-python-packages-with-circular-dependencies/14648/2.
   # Not a big deal, this is how the JAX docs suggest running the test suite
   # anyhow.
   pytestFlagsArray = [
+    "--numprocesses=4"
     "-W ignore::DeprecationWarning"
     "tests/"
   ];
@@ -94,6 +100,14 @@ buildPythonPackage rec {
     "test_for_loop_fixpoint_correctly_identifies_loop_varying_residuals_unrolled_for_loop"
     "testQdwhWithRandomMatrix3"
     "testScanGrad_jit_scan"
+
+    # See https://github.com/google/jax/issues/17867.
+    "test_array"
+    "test_async"
+    "test_copy0"
+    "test_device_put"
+    "test_make_array_from_callback"
+    "test_make_array_from_single_device_arrays"
   ];
 
   disabledTestPaths = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
diff --git a/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
index b9e8fac59306..8b673d6040d5 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
@@ -39,7 +39,7 @@ in
 assert cudaSupport -> lib.versionAtLeast cudatoolkit.version "11.1" && lib.versionAtLeast cudnn.version "8.2" && stdenv.isLinux;
 
 let
-  version = "0.4.16";
+  version = "0.4.19";
 
   inherit (python) pythonVersion;
 
@@ -60,15 +60,15 @@ let
     {
       "x86_64-linux" = getSrcFromPypi {
         platform = "manylinux2014_x86_64";
-        hash = "sha256-4XyaDnKEMhAbfPEvN3RCDEjXTWbOL6tWrTlyYeiboVs=";
+        hash = "sha256-ksnY+CPEstact5lKjbSg+ZSPJtSt0Y0NFWEFufBCByk=";
       };
       "aarch64-darwin" = getSrcFromPypi {
         platform = "macosx_11_0_arm64";
-        hash = "sha256-IG2pCui/Yj+LDMbQwBVlu7yl2llqnaxMzz/MtBvBr6U=";
+        hash = "sha256-O7dHvdKLKfNELGfF4TKy7N5EX6Ca7Zu8OtLXWvFykR8=";
       };
       "x86_64-darwin" = getSrcFromPypi {
         platform = "macosx_10_14_x86_64";
-        hash = "sha256-x5DqsmHqEb7Dl7dnxT5N0l30GKt5OPZpq3HGX9MFKmo=";
+        hash = "sha256-gqKMUZSXrt8sQtTAoQbzAfCzO8gM9Y1/tZpuJVWyN0Y=";
       };
     };
 
@@ -77,8 +77,8 @@ let
   # When upgrading, you can get these hashes from prefetch.sh. See
   # https://github.com/google/jax/issues/12879 as to why this specific URL is the correct index.
   gpuSrc = fetchurl {
-    url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn86-cp310-cp310-manylinux2014_x86_64.whl";
-    hash = "sha256-eLOprP2kv6roodwRKZXVZFQCD1wC26TSTEDJBjMu/Uo=";
+    url = "https://storage.googleapis.com/jax-releases/cuda12/jaxlib-${version}+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl";
+    hash = "sha256-zfN0n31+5GohwBkeQrqHus4qOyhM/GEdqG6KUupCZ4o=";
   };
 
 in
diff --git a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
index 6fb960f684c6..d02cb0aa5dee 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
@@ -54,7 +54,7 @@ let
   inherit (cudaPackages) backendStdenv cudatoolkit cudaFlags cudnn nccl;
 
   pname = "jaxlib";
-  version = "0.4.16";
+  version = "0.4.19";
 
   meta = with lib; {
     description = "JAX is Autograd and XLA, brought together for high-performance machine learning research.";
@@ -151,7 +151,7 @@ let
       repo = "jax";
       # google/jax contains tags for jax and jaxlib. Only use jaxlib tags!
       rev = "refs/tags/${pname}-v${version}";
-      hash = "sha256-q+8CXGxK8JX0bUMK4KJB3qV/EaLHg68D1B5UrtRz0Eg=";
+      hash = "sha256-l5uLPqhg/hqtO9oJSaioow5cH/0jKHDVziGezkfnVcc=";
     };
 
     nativeBuildInputs = [
@@ -264,10 +264,10 @@ let
       ];
 
       sha256 = (if cudaSupport then {
-        x86_64-linux = "sha256-6HkrEWAPjGPj4zRxahl0FLiV7WZO/6zsdCX8STfV5EE=";
+        x86_64-linux = "sha256-Z5cSgdRxdKxidaz4b1RlUF4rVcQiUTmQ1OorlBWlpt0=";
       } else {
-        x86_64-linux = "sha256-MDnuJwJ/xKnC72Qub0ETYj5uQB2r8/AgGm10oqmzzcc=";
-        aarch64-linux = "sha256-aVUm612VNEsjZLDrtiOPTqSk1t+AhmOx+pOG3bZdOAw=";
+        x86_64-linux = "sha256-sn7p8FFHWIVdBWnsLsVj5jLiSaTlRm7s/qj2RqvQ3jU=";
+        aarch64-linux = "sha256-oAYF5AeuPHTlwtpDMs2+tAhRAJH0yeSVnB7Ni7wmzS8=";
       }).${stdenv.system} or (throw "jaxlib: unsupported system: ${stdenv.system}");
     };
 
diff --git a/nixpkgs/pkgs/development/python-modules/jaxopt/default.nix b/nixpkgs/pkgs/development/python-modules/jaxopt/default.nix
index 70d802019e3f..6320619c1383 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxopt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxopt/default.nix
@@ -16,16 +16,16 @@
 
 buildPythonPackage rec {
   pname = "jaxopt";
-  version = "0.5.5";
+  version = "0.8.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
-    rev = "refs/tags/${pname}-v${version}";
-    hash = "sha256-WOsr/Dvguu9/qX6+LMlAKM3EANtYPtDu8Uo2157+bs0=";
+    rev = "refs/tags/jaxopt-v${version}";
+    hash = "sha256-5+GfRFzXyc1Ukp86NeK0qstTq9fkx+eDb4iXvxzRoKs=";
   };
 
   propagatedBuildInputs = [
@@ -60,6 +60,7 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://jaxopt.github.io";
     description = "Hardware accelerated, batchable and differentiable optimizers in JAX";
+    changelog = "https://github.com/google/jaxopt/releases/tag/jaxopt-v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ bcdarwin ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jaxtyping/default.nix b/nixpkgs/pkgs/development/python-modules/jaxtyping/default.nix
index 0d0621c56ec9..364e65012b53 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxtyping/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxtyping/default.nix
@@ -16,14 +16,14 @@
 let
   self = buildPythonPackage rec {
     pname = "jaxtyping";
-    version = "0.2.22";
+    version = "0.2.23";
     pyproject = true;
 
     src = fetchFromGitHub {
       owner = "google";
       repo = "jaxtyping";
       rev = "refs/tags/v${version}";
-      hash = "sha256-OYx7Eq5jxSGERHsk611+n+Nq2B915gpJLPZYdO7Lt+k=";
+      hash = "sha256-22dIuIjFgqRmV9AQok02skVt7fm17/WpzBm3FrJ6/zs=";
     };
 
     nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix b/nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix
index 35749407a36e..10969de0673e 100644
--- a/nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jedi-language-server/default.nix
@@ -9,14 +9,14 @@
 , pydantic
 , pyhamcrest
 , pytestCheckHook
-, python-jsonrpc-server
+, python-lsp-jsonrpc
 , pythonOlder
 , pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
   pname = "jedi-language-server";
-  version = "0.40.0";
+  version = "0.41.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "pappasam";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+3VgONZzlobgs4wujCaGTTYpIgYrWgWwYgKQqirS7t8=";
+    hash = "sha256-1ujEhoxWcCM1g640aLE60YGiNQLB+G7t7oLVZXW8AMM=";
   };
 
   pythonRelaxDeps = [
@@ -48,7 +48,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     pyhamcrest
-    python-jsonrpc-server
+    python-lsp-jsonrpc
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/jinja2-git/default.nix b/nixpkgs/pkgs/development/python-modules/jinja2-git/default.nix
index 59b34f6a4fb3..518f62c54030 100644
--- a/nixpkgs/pkgs/development/python-modules/jinja2-git/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jinja2-git/default.nix
@@ -1,32 +1,38 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 , jinja2
 , poetry-core
 }:
 
 buildPythonPackage rec {
   pname = "jinja2-git";
-  version = "unstable-2021-07-20";
-  format = "pyproject";
+  version = "1.3.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "wemake-services";
     repo = "jinja2-git";
-    # this is master, we can't patch because of poetry.lock :(
-    # luckily, there appear to have been zero API changes since then, only
-    # dependency upgrades
-    rev = "c6d19b207eb6ac07182dc8fea35251d286c82512";
-    sha256 = "0yw0318w57ksn8azmdyk3zmyzfhw0k281fddnxyf4115bx3aph0g";
+    rev = "refs/tags/${version}";
+    hash = "sha256-XuN2L3/HLcZ/WPWiCtufDOmkxj+q4I6IOgjrGQHfNLk=";
   };
 
   nativeBuildInputs = [ poetry-core ];
+
   propagatedBuildInputs = [ jinja2 ];
+
+  # the tests need to be run on the git repository
+  doCheck = false;
+
   pythonImportsCheck = [ "jinja2_git" ];
 
   meta = with lib; {
     homepage = "https://github.com/wemake-services/jinja2-git";
     description = "Jinja2 extension to handle git-specific things";
+    changelog = "https://github.com/wemake-services/jinja2-git/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ cpcloud ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jiwer/default.nix b/nixpkgs/pkgs/development/python-modules/jiwer/default.nix
index b92d1e71755a..d042726daa6a 100644
--- a/nixpkgs/pkgs/development/python-modules/jiwer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jiwer/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "jiwer";
-  version = "3.0.2";
+  version = "3.0.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jitsi";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-z+M0/mftitLV2OaaQvTdRehtt16FFeBjqR//S5ad1XE=";
+    hash = "sha256-32bpSBYl6yxb4lJhHnfnYhtye7DaBZT0VAe9rDcleTc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jplephem/default.nix b/nixpkgs/pkgs/development/python-modules/jplephem/default.nix
index a2da6c10b3a8..dfb0594151ef 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.18";
+  version = "2.19";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SSkR6KTEeDB5GwO5oP/ff8ZfaF0cuzoXkLHqKIrn+uU=";
+    hash = "sha256-wWJFTGVtblID/5cB2CZnH6+fMgnZccu2jdtGAD3/bc8=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix b/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix
index 0469943e334a..dfbe2d7d638e 100644
--- a/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/json-schema-for-humans/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "json-schema-for-humans";
-  version = "0.45.2";
+  version = "0.46";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "coveooss";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-DmUQ06UabLcB67PyfRC/gmSkEY/V8kuZ/T/ZW1D11vA=";
+    hash = "sha256-wTO+d0O3SKT2jJ2zNubT2q76PdJ7+kT9RBEw5MMH1yg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jsonpickle/default.nix b/nixpkgs/pkgs/development/python-modules/jsonpickle/default.nix
index d60fd41d7045..4fc2f49119dc 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonpickle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonpickle/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "jsonpickle";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AyU4gEeV5zuU6tQQgArDh/223pj4iCrJV/zSR+OoUgA=";
+    hash = "sha256-43q7pL+zykpGR9KLufRwZDb3tGyKgzO0pxirr6jkazc=";
   };
 
   nativeCheckInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/jsonpointer/default.nix b/nixpkgs/pkgs/development/python-modules/jsonpointer/default.nix
index 646824b064a7..f05b886cfb12 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonpointer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonpointer/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "jsonpointer";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-l8ulFSbIKSgiGP65nasbHmvfjv0cQ9ydV74JPA1pyZo=";
+    hash = "sha256-WFzugrcCEfqeYEO3u4nbbhqklSQ0Dd6K1rYyBuponYg=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix b/nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix
index 3353e5ec4380..0da22f2cf98f 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "jsonschema-spec";
-  version = "0.2.3";
+  version = "0.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "p1c2u";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Sa97DwPnGMLmT00hVdkoGO7C0vrvtwxvUvv9lq4nCY4=";
+    hash = "sha256-1Flb3XQCGhrAYzTvriSVhHDb/Z/uvCyZdbav2u7f3sg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix b/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
index 0f3d69b18d8c..d8c235efed23 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "jsonschema";
-  version = "4.18.4";
+  version = "4.19.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+zZCc1OZ+pWMDSqtcFeQFVRZbGM0n09rKDxJPPaSol0=";
+    hash = "sha256-bh51aawTvoE5st0sIaVdNQBm7j+A3wbGCLOYzcbzDo8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix b/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
index d50dd571764b..e6499c5196d1 100644
--- a/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/junos-eznc/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "junos-eznc";
-  version = "2.6.7";
+  version = "2.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "Juniper";
     repo = "py-junos-eznc";
     rev = "refs/tags/${version}";
-    hash = "sha256-+hGybznip5RpJm89MLg9JO4B/y50OIdgtmV2FIpZShU=";
+    hash = "sha256-5xZjuU2U3BodAMQiWZIJ27AZiAwoMm4yJ4qr3DjMd9o=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-book/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-book/default.nix
index 81b89e77a8bb..631a853833d4 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-book/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-book/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   pname = "jupyter-book";
   version = "0.15.1";
 
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix
index cbeb05bde98f..29a8bb024584 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix
@@ -16,7 +16,7 @@
 buildPythonPackage rec {
   pname = "jupyter-cache";
   version = "0.6.1";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix
index 5aa400a1694c..2d7234051d23 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "jupyter_client";
-  version = "8.0.3";
+  version = "8.3.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7WVJi+pth2752No+DbPdM8XRKfWyZF9WrgOZN4KWa9A=";
+    hash = "sha256-YClLLVuGk1bIk/V7God+plENYNRc9LOAV/FnLYVpmsk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix
index de73ea621b47..6c2842eb6d0c 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "jupyter-collaboration";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "jupyter_collaboration";
     inherit version;
-    hash = "sha256-3OxduJ93TmbS/fKSKmVXs5vj2IZMX5MqKPTeGklFCbM=";
+    hash = "sha256-qhcCPAgHlBwt+Lt8NdDa+ZPhNNotCvNtz9WQx6OHvOc=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-console/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-console/default.nix
index e847c341f4d8..715557bad733 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-console/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-console/default.nix
@@ -2,9 +2,9 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
-, substituteAll
 , hatchling
 , ipykernel
+, exceptiongroup
 , ipython
 , jupyter-client
 , jupyter-core
@@ -51,6 +51,8 @@ buildPythonPackage rec {
     pygments
     pyzmq
     traitlets
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    exceptiongroup
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix
index 73ba031e3992..5656043625f3 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, ipython_genutils
+, ipython-genutils
 , jupyter-contrib-core
 , jupyter-highlight-selected-word
 , jupyter-nbextensions-configurator
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    ipython_genutils
+    ipython-genutils
     jupyter-contrib-core
     jupyter-highlight-selected-word
     jupyter-nbextensions-configurator
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix
index a25681dda45a..fb5880a4f226 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-core/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, fetchpatch
 , hatchling
 , platformdirs
 , traitlets
@@ -11,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "jupyter-core";
-  version = "5.2.0";
+  version = "5.3.1";
   disabled = pythonOlder "3.7";
 
   format = "pyproject";
@@ -20,16 +19,11 @@ buildPythonPackage rec {
     owner = "jupyter";
     repo = "jupyter_core";
     rev = "refs/tags/v${version}";
-    hash = "sha256-X3P3bTLhpWIa6EHdxZ/KFiQNAnhszha2cfZ8PynZPRs=";
+    hash = "sha256-kQ7oNEC5L19PTPaX6C2bP5FYuzlsFsS0TABsw6VvoL8=";
   };
 
   patches = [
     ./tests_respect_pythonpath.patch
-    (fetchpatch {
-      # add support for platformdirs>=3
-      url = "https://github.com/jupyter/jupyter_core/commit/ff4086cdbdac2ea79c18632e4e35acebc1f7cf57.patch";
-      hash = "sha256-UhHO58xZ4hH47NBhOhsfBjgsUtA+1EIHxPBvnKA5w28=";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix
index a60983e40420..98e6ea22df6e 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-events/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "jupyter-events";
-  version = "0.6.3";
+  version = "0.7.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "jupyter";
     repo = "jupyter_events";
     rev = "refs/tags/v${version}";
-    hash = "sha256-k+OyCKUN9hC6J1Ff2DDb2ECLvmWkkK1HtNxfKVXyl8g=";
+    hash = "sha256-hOx2/WiFpDjtmP+qC6Ew2VY4/gdvXuv2k76qtmS+61M=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix
index 0c3d704711d1..fbb9f0cacd83 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix
@@ -5,12 +5,10 @@
 , pythonOlder
 , hatch-jupyter-builder
 , hatchling
-, pandoc
 , pytestCheckHook
 , pytest-console-scripts
 , pytest-jupyter
 , pytest-timeout
-, pytest-tornasync
 , argon2-cffi
 , jinja2
 , tornado
@@ -102,7 +100,8 @@ buildPythonPackage rec {
     "test_authorized_requests"
     # Insufficient access privileges for operation
     "test_regression_is_hidden"
-  ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
+  ] ++ lib.optionals stdenv.isLinux [
+    # Failed: DID NOT RAISE <class 'tornado.web.HTTPError'>
     "test_copy_big_dir"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-ydoc/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-ydoc/default.nix
index e3294150bf62..03dae2dfa9ff 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-ydoc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-ydoc/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "jupyter-ydoc";
-  version = "1.0.2";
+  version = "1.1.1";
 
   format = "pyproject";
 
   src = fetchPypi {
     pname = "jupyter_ydoc";
     inherit version;
-    hash = "sha256-D5W+3j8eCB4H1cV8A8ZY46Ukfg7xiIkHT776IN0+ylM=";
+    hash = "sha256-APizOm59VcvhK5G4emqGtnPikz13w6EmG7qLJHU2Rd0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
index 3f16022e2163..d6bdedc992ae 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
@@ -201,7 +201,7 @@ buildPythonPackage rec {
     homepage = "https://jupyter.org/";
     changelog = "https://github.com/jupyterhub/jupyterhub/blob/${version}/docs/source/reference/changelog.md";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ixxie cstrahan ];
+    maintainers = with maintainers; [ ixxie ];
     # 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 e894a8c88d8d..7c0522c75401 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-git/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-git";
-  version = "0.41.0";
+  version = "0.42.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "jupyterlab_git";
     inherit version;
-    hash = "sha256-UXZ9qgAvCKfPCzchFOtwbv8vNPEtcLU0dwBGTmiHSD4=";
+    hash = "sha256-GFnox6KnwKWFqsUWY0QYzMShXlH9KFSY3rRJA4RAiCk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix
index b7d5ce4cf0c9..6d57bc519646 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-lsp";
-  version = "4.2.0";
+  version = "5.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OqsByMrAQKjTqev6QIUiOwVLf71iGdPHtWD2qXZsovM=";
+    hash = "sha256-D4jiaAPQ8+TIyL7wip+GHycGp3ym1NkvZQJsCelYFks=";
   };
 
   propagatedBuildInputs = [
@@ -28,8 +28,5 @@ buildPythonPackage rec {
     license = licenses.bsd3;
     platforms = platforms.all;
     maintainers = with maintainers; [ ];
-    # No support for Jupyterlab > 4
-    # https://github.com/jupyter-lsp/jupyterlab-lsp/pull/949
-    broken = lib.versionAtLeast jupyterlab.version "4.0";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix
index 2418b8db4d35..4d668da9bde6 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-widgets/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-widgets";
-  version = "3.0.7";
+  version = "3.0.9";
 
   src = fetchPypi {
     pname = "jupyterlab_widgets";
     inherit version;
-    hash = "sha256-w6UO1b9Sigx6hpCWUDr1RwL4bdodtGmu4cktwMAbQ8o=";
+    hash = "sha256-YAWk6XTHvu6EBg/fujQaMhhJUEbeiuPsZIiOX+Gf20w=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
index 81c7f862f6ad..a99d4d468c95 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "4.0.3";
+  version = "4.0.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4U0c5GphMCgRHQ1Hah19awlAA7dGK6xmn1tHgxeryzk=";
+    hash = "sha256-bEOuWmof0v36/LNFQASVi95tp2Mxq7RM/8b55Daxm6E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
index 2ec4ccf47e7e..6deb3912730b 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab_server";
-  version = "2.24.0";
+  version = "2.25.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Tm+Z4KVXm7vDLkScTbsDlWHU8aeCfVczJz7VZzjyHwc=";
+    hash = "sha256-d8Lx8oLWEPleSW4g1b8dKncGgm37exjzN4rihw0nL7c=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix b/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
index a3e0eba387f9..e5bc170509d2 100644
--- a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "jupytext";
-  version = "1.15.1";
+  version = "1.15.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "mwouts";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-XGjAPeMtg2Epu85JiqQPyZJVez5Z8uA+E40SFcZM7WY=";
+    hash = "sha256-GvMoz2BsYWk0atrT3xmSnbV7AuO5RJoM/bOJlZ5YIn4=";
   };
 
   # Follow https://github.com/mwouts/jupytext/pull/1119 to see if the patch
diff --git a/nixpkgs/pkgs/development/python-modules/justnimbus/default.nix b/nixpkgs/pkgs/development/python-modules/justnimbus/default.nix
index cc302cc5865b..ecea9ef4a549 100644
--- a/nixpkgs/pkgs/development/python-modules/justnimbus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/justnimbus/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "justnimbus";
-  version = "0.6.0";
+  version = "0.7.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "kvanzuijlen";
     repo = pname;
-    rev = version;
-    hash = "sha256-uQ5Nc5sxqHeAuavyfX4Q6Umsd54aileJjFwOOU6X7Yg=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-arUdjZiEJx0L1YcCNxqlE4ItoTEzd/TYVgqDPIqomMg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix b/nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix
index 55a3ce36f80c..4a2c6f0a1d32 100644
--- a/nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix
@@ -3,13 +3,15 @@
 , buildPythonPackage
 , clean-fid
 , clip-anytorch
+, dctorch
 , einops
 , fetchFromGitHub
 , jsonmerge
 , kornia
 , pillow
 , pythonOlder
-, resize-right
+, rotary-embedding-torch
+, safetensors
 , scikit-image
 , scipy
 , torch
@@ -22,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "k-diffusion";
-  version = "0.0.16";
+  version = "0.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,20 +33,22 @@ buildPythonPackage rec {
     owner = "crowsonkb";
     repo = "k-diffusion";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tOWDFt0/hGZF5HENiHPb9a2pBlXdSvDvCNTsCMZljC4=";
+    hash = "sha256-ef4NhViHQcV+4T+GXpg+Qev5IC0Cid+XWE3sFVx7w4w=";
   };
 
   propagatedBuildInputs = [
     accelerate
     clean-fid
     clip-anytorch
+    dctorch
     einops
     jsonmerge
     kornia
     pillow
-    resize-right
+    rotary-embedding-torch
     scikit-image
     scipy
+    safetensors
     torch
     torchdiffeq
     torchsde
diff --git a/nixpkgs/pkgs/development/python-modules/kaggle/default.nix b/nixpkgs/pkgs/development/python-modules/kaggle/default.nix
index 42cb7f83bb85..ce68748ac7e2 100644
--- a/nixpkgs/pkgs/development/python-modules/kaggle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kaggle/default.nix
@@ -1,4 +1,5 @@
 { buildPythonPackage
+, bleach
 , certifi
 , fetchPypi
 , lib
@@ -12,22 +13,15 @@
 
 buildPythonPackage rec {
   pname = "kaggle";
-  version = "1.5.13";
+  version = "1.5.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-g2TFbDYSXLgZWHbZEdC8nvvBcxZ+ljuenveTeJupp/4=";
+    sha256 = "sha256-prNUL1kM80GlrUQdWuAhvpO9ZEQclsdYsVSQNJWjpgA=";
   };
 
-  # The version bounds in the setup.py file are unnecessarily restrictive.
-  # They have both python-slugify and slugify, don't know why
-  patchPhase = ''
-    substituteInPlace setup.py \
-      --replace 'urllib3 >= 1.21.1, < 1.25' 'urllib3' \
-      --replace " 'slugify'," " "
-    '';
-
   propagatedBuildInputs = [
+    bleach
     certifi
     python-dateutil
     python-slugify
@@ -35,6 +29,7 @@ buildPythonPackage rec {
     six
     tqdm
     urllib3
+    bleach
   ];
 
   # Tests try to access the network.
@@ -50,6 +45,6 @@ buildPythonPackage rec {
     description = "Official API for https://www.kaggle.com, accessible using a command line tool implemented in Python 3";
     homepage = "https://github.com/Kaggle/kaggle-api";
     license = licenses.asl20;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ mbalatsko ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/kaptan/default.nix b/nixpkgs/pkgs/development/python-modules/kaptan/default.nix
index 5597980acde1..c86e2a2d6f3a 100644
--- a/nixpkgs/pkgs/development/python-modules/kaptan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kaptan/default.nix
@@ -2,16 +2,18 @@
 , buildPythonPackage
 , fetchPypi
 , pyyaml
-, pytest
+, pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "kaptan";
   version = "0.6.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-EBMwpE/e3oiFhvMBC9FFwOxIpIBrxWQp+lSHpndAIfg=";
+    hash = "sha256-EBMwpE/e3oiFhvMBC9FFwOxIpIBrxWQp+lSHpndAIfg=";
   };
 
   postPatch = ''
@@ -20,9 +22,17 @@ buildPythonPackage rec {
     substituteInPlace requirements/base.txt --replace 'PyYAML>=3.13,<6' 'PyYAML>=3.13'
   '';
 
-  propagatedBuildInputs = [ pyyaml ];
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  nativeCheckInputs = [ pytest ];
+  propagatedBuildInputs = [
+    pyyaml
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Configuration manager for python applications";
diff --git a/nixpkgs/pkgs/development/python-modules/kasa-crypt/default.nix b/nixpkgs/pkgs/development/python-modules/kasa-crypt/default.nix
index a9b15b4390d1..c02c0043eacc 100644
--- a/nixpkgs/pkgs/development/python-modules/kasa-crypt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kasa-crypt/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "kasa-crypt";
-  version = "0.3.0";
+  version = "0.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = "kasa-crypt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-w0LdGPVsxTi7jlfS/HSBEZdjL9ZKclucnBVViwrVC6Y=";
+    hash = "sha256-wjZnro5sIRt8+vQYxA62sGnPi7Ittp3oSqph7aBBEg0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/kbcstorage/default.nix b/nixpkgs/pkgs/development/python-modules/kbcstorage/default.nix
index 199ab908efd7..04d5b17c55e9 100644
--- a/nixpkgs/pkgs/development/python-modules/kbcstorage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kbcstorage/default.nix
@@ -4,6 +4,8 @@
 , pythonOlder
 
 # build
+, setuptools
+, setuptools-git-versioning
 , setuptools-scm
 
 # propagates
@@ -17,8 +19,8 @@
 }:
 buildPythonPackage rec {
   pname = "sapi-python-client";
-  version = "0.5.0";
-  format = "setuptools";
+  version = "0.7.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -26,12 +28,14 @@ buildPythonPackage rec {
     owner = "keboola";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-79v9quhzeNRXcm6Z7BhD76lTZtw+Z0T1yK3zhrdreXw=";
+    hash = "sha256-74sChw6eMkBtfHV6hiaaLNOr/J0Sa73LB93Z8muLaiI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
+    setuptools
+    setuptools-git-versioning
     setuptools-scm
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/keras/default.nix b/nixpkgs/pkgs/development/python-modules/keras/default.nix
index a2a90aa851d3..f5275ea1a2a6 100644
--- a/nixpkgs/pkgs/development/python-modules/keras/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keras/default.nix
@@ -6,12 +6,14 @@
 
 buildPythonPackage rec {
   pname = "keras";
-  version = "2.11.0";
+  version = "2.14.0";
   format = "wheel";
 
   src = fetchPypi {
     inherit format pname version;
-    hash = "sha256-OMb/8OqaiwaicXc2VlySpzyM2bHCOecSXMsYi3hI9l4=";
+    hash = "sha256-10KdHSExzH6x8uouwzAifH2dONqz398ueN7+5OzEP80=";
+    python = "py3";
+    dist = "py3";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/keystoneauth1/default.nix b/nixpkgs/pkgs/development/python-modules/keystoneauth1/default.nix
index 71faf0c4cf18..134f5af0632f 100644
--- a/nixpkgs/pkgs/development/python-modules/keystoneauth1/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keystoneauth1/default.nix
@@ -24,11 +24,11 @@
 
 buildPythonPackage rec {
   pname = "keystoneauth1";
-  version = "5.1.2";
+  version = "5.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2fdIStX8mwu7fsw8vzeVoXBpT72EglEzHlS6SLvuzHI=";
+    hash = "sha256-AXwrm1mUU8kpQHUO27IPF2hxIbKJARS/nTbfFKBicRc=";
   };
 
   postPatch = ''
@@ -62,8 +62,11 @@ buildPythonPackage rec {
     testtools
   ];
 
+  # test_keystoneauth_betamax_fixture is incompatible with urllib3 2.0.0
+  # https://bugs.launchpad.net/keystoneauth/+bug/2020112
   checkPhase = ''
-    stestr run
+    stestr run \
+      -E "keystoneauth1.tests.unit.test_betamax_fixture.TestBetamaxFixture.test_keystoneauth_betamax_fixture"
   '';
 
   pythonImportsCheck = [ "keystoneauth1" ];
diff --git a/nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix b/nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix
index 0a985bc3dee0..bc905e77269a 100644
--- a/nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kiwisolver/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "kiwisolver";
-  version = "1.4.4";
+  version = "1.4.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1BmXUZ/LpKHkbrSi/jG8EvD/lXsrgbrCjbJHRPMz6VU=";
+    hash = "sha256-5X5WOlf7IqFC2jTziswvwaXIZLwpyhUXqIq8lj5g1uw=";
   };
 
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
diff --git a/nixpkgs/pkgs/development/python-modules/klein/default.nix b/nixpkgs/pkgs/development/python-modules/klein/default.nix
index 641388fbdd57..c19746970a71 100644
--- a/nixpkgs/pkgs/development/python-modules/klein/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/klein/default.nix
@@ -1,35 +1,46 @@
 { lib
-, stdenv
-, attrs
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
+
+# build-system
+, setuptools
+, wheel
+
+# dependencies
+, attrs
 , hyperlink
-, hypothesis
 , incremental
-, python
-, pythonOlder
-, treq
 , tubes
 , twisted
-, typing-extensions
 , werkzeug
 , zope_interface
+
+# tests
+, idna
+, python
+, treq
 }:
 
 buildPythonPackage rec {
   pname = "klein";
-  version = "unstable-2022-06-26";
-  format = "setuptools";
+  version = "unstable-2023-09-05";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "twisted";
     repo = pname;
-    rev = "d8c2b92a3c77aa64c596696fb6f07172ecf94a74";
-    hash = "sha256-RDZqavkteUbARV78OctZtLIrE4RoYDVAanjwE5i/ZeM=";
+    rev = "44b356ede27a667252ae5392014c802f0492c017";
+    hash = "sha256-zHdyyx5IseFWr25BGLL0dDM8/5BDehsvbxIci+DEo9s=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     attrs
     hyperlink
@@ -38,17 +49,17 @@ buildPythonPackage rec {
     tubes
     werkzeug
     zope_interface
-  ] ++ lib.optionals (pythonOlder "3.8") [
-    typing-extensions
   ];
 
   nativeCheckInputs = [
-    hypothesis
+    idna
     treq
   ];
 
   checkPhase = ''
+    runHook preCheck
     ${python.interpreter} -m twisted.trial klein
+    runHook postCheck
   '';
 
   pythonImportsCheck = [
@@ -56,6 +67,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/twisted/klein/releases/tag/${version}";
     description = "Klein Web Micro-Framework";
     homepage = "https://github.com/twisted/klein";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/kotsu/default.nix b/nixpkgs/pkgs/development/python-modules/kotsu/default.nix
index 47d78c8b916f..f1f9389daf5b 100644
--- a/nixpkgs/pkgs/development/python-modules/kotsu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kotsu/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
   version = "0.3.3";
   format = "setuptools";
 
-  disable = pythonOlder "3.7";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "datavaluepeople";
diff --git a/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix b/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix
index 8e97d083cd9e..2b28f76d051a 100644
--- a/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kubernetes/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "kubernetes";
-  version = "26.1.0";
+  version = "27.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     owner = "kubernetes-client";
     repo = "python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2QkQGZ4Dho2PykH90ijosWWBzhQoCHoWhRL3ruOiDBg=";
+    hash = "sha256-KqQ7wUu5Se4WYOdtk9vMU3M5oyz0WgIltSEliCD7s10=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/labelbox/default.nix b/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
index f5c9bdfed9e2..c0b635abf460 100644
--- a/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/labelbox/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "labelbox";
-  version = "3.38.0";
+  version = "3.52.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     owner = "Labelbox";
     repo = "labelbox-python";
     rev = "refs/tags/v.${version}";
-    hash = "sha256-AyQPI19As49GML3kVXtHtRNOKthrpkQ7MCmww+F6owc=";
+    hash = "sha256-t0Q+6tnUPK2oqjdAwwYeSebgn2EQ1fBivw115L8ndOg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/labgrid/default.nix b/nixpkgs/pkgs/development/python-modules/labgrid/default.nix
index bcae9b88398d..0e96bf2fe9ae 100644
--- a/nixpkgs/pkgs/development/python-modules/labgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/labgrid/default.nix
@@ -23,13 +23,13 @@
 
 buildPythonPackage rec {
   pname = "labgrid";
-  version = "0.4.1";
+  version = "23.0.3";
 
   src = fetchFromGitHub {
     owner = "labgrid-project";
     repo = "labgrid";
-    rev = "v${version}";
-    sha256 = "0ih04lh1q3dysps4vfmk2rhqqrsimssadsxvbxdsnim2yihrrw47";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-yhlBqqCLOt6liw4iv8itG6E4QfIa7cW76QJqefUM5dw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/langchain/default.nix b/nixpkgs/pkgs/development/python-modules/langchain/default.nix
index 865ce51b07db..6f77951ccec5 100644
--- a/nixpkgs/pkgs/development/python-modules/langchain/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langchain/default.nix
@@ -86,7 +86,7 @@
 
 buildPythonPackage rec {
   pname = "langchain";
-  version = "0.0.285";
+  version = "0.0.291";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -95,7 +95,7 @@ buildPythonPackage rec {
     owner = "hwchase17";
     repo = "langchain";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3vOfwn8qvPd9dPRnsX14bVSLQQKHLPS5r15S8yAQFpw=";
+    hash = "sha256-Ilmu4l+DCu2soX5kANegk/DMvr2x9AXUcQ1aZOKbQJc=";
   };
 
   sourceRoot = "${src.name}/libs/langchain";
diff --git a/nixpkgs/pkgs/development/python-modules/langchainplus-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/langchainplus-sdk/default.nix
index 1ea97ccdb11e..8747c0a8d9e8 100644
--- a/nixpkgs/pkgs/development/python-modules/langchainplus-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langchainplus-sdk/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "langchainplus-sdk";
-  version = "0.0.20";
+  version = "0.0.21";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "langchainplus_sdk";
-    hash = "sha256-PTAOLjKQ9ozJ2ELAWflFjeumDndsnnkDCWiMrRv7shk=";
+    hash = "sha256-frjZnQnOe6IHKrQk+Q/xMc5Akb+eBQ/eBzP545Fq6Xk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/langsmith/default.nix b/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
index cdb89dc49121..062815772653 100644
--- a/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.0.35";
+  version = "0.0.37";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TR4vBsRImMLs7CTlBt1NHL+n65jXxBNbOY7wIlfFBfM=";
+    hash = "sha256-xtyGL1Voyoik3fN//xhPNetC+yera4Wd+DZJTnLhW7g=";
   };
 
   sourceRoot = "${src.name}/python";
diff --git a/nixpkgs/pkgs/development/python-modules/lark/default.nix b/nixpkgs/pkgs/development/python-modules/lark/default.nix
index b5ba6c7583f1..3158b626c2a6 100644
--- a/nixpkgs/pkgs/development/python-modules/lark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lark/default.nix
@@ -1,23 +1,38 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, python
+, fetchpatch
 , regex
 , pytestCheckHook
 , js2py
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "lark";
-  version = "1.1.5";
+  version = "1.1.7";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "lark-parser";
     repo = "lark";
     rev = "refs/tags/${version}";
-    hash = "sha256-drvF+0PSOdrha2rfpntrM8xIbeb0S7eNtfioxkdjEKw=";
+    hash = "sha256-k74tozIgJuwtUqKKmYHlfLpCWyT2hdoygRJiIpw+GDE=";
   };
 
+  patches = [
+    # include .lark files in package data
+    # https://github.com/lark-parser/lark/pull/1308
+    (fetchpatch {
+      url = "https://github.com/lark-parser/lark/commit/656334cb8793fd4e08a12843eaced5a7bb518be3.patch";
+      hash = "sha256-pYeNnFfXJ8xkR0KsU/KMWJ8nF+BhP9PXEANiVhT254s=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # Optional import, but fixes some re known bugs & allows advanced regex features
   propagatedBuildInputs = [ regex ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/lazy_imports/default.nix b/nixpkgs/pkgs/development/python-modules/lazy-imports/default.nix
index 31aabf305ca7..e15b3226006f 100644
--- a/nixpkgs/pkgs/development/python-modules/lazy_imports/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lazy-imports/default.nix
@@ -6,7 +6,7 @@
 , packaging
 }:
 let
-  pname = "lazy_imports";
+  pname = "lazy-imports";
   version = "0.3.1";
 in
 buildPythonPackage {
diff --git a/nixpkgs/pkgs/development/python-modules/led-ble/default.nix b/nixpkgs/pkgs/development/python-modules/led-ble/default.nix
index a75bc1f59ab9..653d75a46da4 100644
--- a/nixpkgs/pkgs/development/python-modules/led-ble/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/led-ble/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "led-ble";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-XAb/tJPUe/sNvcU7t63inMPBIz+AREioWXBuQa/c9T0=";
+    hash = "sha256-8DBA01QjW99OVYI9zC1Q+utnwzc10idUG7y+lmUbO4A=";
   };
 
   postPatch = ''
@@ -34,10 +34,11 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    async-timeout
     bleak
     bleak-retry-connector
     flux-led
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    async-timeout
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ledger-bitcoin/default.nix b/nixpkgs/pkgs/development/python-modules/ledger-bitcoin/default.nix
index edfc9c7f22f2..afffe79b26bc 100644
--- a/nixpkgs/pkgs/development/python-modules/ledger-bitcoin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ledger-bitcoin/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "ledger-bitcoin";
-  version = "0.2.1";
+  version = "0.2.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit version;
     pname = "ledger_bitcoin";
-    hash = "sha256-AWl/q2MzzspNIo6yf30S92PgM/Ygsb+1lJsg7Asztso=";
+    hash = "sha256-MEZuwIthIOwBkRdR7dEsEznO+GVBeOf7/5xmwNW1SvI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ledgercomm/default.nix b/nixpkgs/pkgs/development/python-modules/ledgercomm/default.nix
index 092378a142b8..15bac008f0d5 100644
--- a/nixpkgs/pkgs/development/python-modules/ledgercomm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ledgercomm/default.nix
@@ -2,20 +2,22 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools
+, setuptools-scm
  }:
 
 buildPythonPackage rec {
   pname = "ledgercomm";
-  version = "1.1.2";
+  version = "1.2.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-izOPbwv+34Xq8mpq9+QRIGhd+z4pVnGJSMnYOktRVbs=";
+    hash = "sha256-HunJjIRa3IpSL/3pZPf6CroLxEK/l7ihh737VOAILgU=";
   };
 
   nativeBuildInputs = [
     setuptools
+    setuptools-scm
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix b/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
index 3cdecde9e702..037ae3cda69f 100644
--- a/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "levenshtein";
-  version = "0.21.1";
+  version = "0.23.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "Levenshtein";
     rev = "refs/tags/v${version}";
-    hash = "sha256-I1kVGbZI1hQRNv0e44giWiMqmeqaqFZks20IyFQ9VIU=";
+    hash = "sha256-O39Xe26WKAGcv6DEvwuOL8NZJBem5SYZDX1TPAY7/uA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix b/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
index 943ed138f991..43f2e11ef3df 100644
--- a/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libarchive-c/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "libarchive-c";
-  version = "4.0";
+  version = "5.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Changaco";
     repo = "python-${pname}";
-    rev = version;
-    sha256 = "1ar7lj1lpisklq2q07d95yhlbfq25g9g61hcj8whj17mq8vrvml1";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-8e3Tnek5q5NJneSVIrbFNTQPjHZ7Ieb14uiKjQwufTE=";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/nixpkgs/pkgs/development/python-modules/libcst/default.nix b/nixpkgs/pkgs/development/python-modules/libcst/default.nix
index 991a51203d72..abad21fe6760 100644
--- a/nixpkgs/pkgs/development/python-modules/libcst/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libcst/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "libcst";
-  version = "1.0.1";
+  version = "1.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,14 +28,14 @@ buildPythonPackage rec {
     owner = "instagram";
     repo = "libcst";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FgQE8ofRXQs/zHh7AKscXu0deN3IG+Nk/h+a09Co5R8=";
+    hash = "sha256-kFs7edBWz0GRbgbLDmtpUVi5R+6mYXsJSvceOoPW9ck=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     sourceRoot = "${src.name}/${cargoRoot}";
     name = "${pname}-${version}";
-    hash = "sha256-rPB3bAMdvjgsT3jkEDoWatW8LPwgIaFSbFPqiqANtBY=";
+    hash = "sha256-fhaHiz64NH6S61fSXj4gNxxcuB+ECxWSSmG5StiFr1k=";
   };
 
   cargoRoot = "native";
@@ -92,6 +92,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Concrete Syntax Tree (CST) parser and serializer library for Python";
     homepage = "https://github.com/Instagram/libcst";
+    changelog = "https://github.com/Instagram/LibCST/blob/v${version}/CHANGELOG.md";
     license = with licenses; [ mit asl20 psfl ];
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/libnacl/default.nix b/nixpkgs/pkgs/development/python-modules/libnacl/default.nix
index d07c08bc65b6..ec6d1e442564 100644
--- a/nixpkgs/pkgs/development/python-modules/libnacl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libnacl/default.nix
@@ -2,39 +2,37 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
+, poetry-core
 , libsodium
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "libnacl";
-  version = "1.7.2";
+  version = "2.1.0";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "saltstack";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-nttR9PQimhqd2pByJ5IJzJ4RmSI4y7lcX7a7jcK+vqc=";
+    hash = "sha256-phECLGDcBfDi/r2y0eGtqgIX/hvirtBqO8UUvEJ66zo=";
   };
 
-  patches = [
-    # Fixes build on 32-bit platforms
-    (fetchpatch {
-      name = "fix-crypto_kdf_derive_from_key-32bit.patch";
-      url = "https://github.com/saltstack/libnacl/commit/e8a1f95ee1d4d0806fb6aee793dcf308b05d485d.patch";
-      hash = "sha256-z6TAVNfPcuWZ/hRgk6Aa8I1IGzne7/NYnUOOQ3TjGVU=";
-    })
-  ];
+  nativeBuildInputs = [ poetry-core ];
 
   buildInputs = [ libsodium ];
 
   postPatch =
     let soext = stdenv.hostPlatform.extensions.sharedLibrary; in
     ''
-      substituteInPlace "./libnacl/__init__.py" --replace \
-        "ctypes.cdll.LoadLibrary('libsodium${soext}')" \
-        "ctypes.cdll.LoadLibrary('${libsodium}/lib/libsodium${soext}')"
+      substituteInPlace "./libnacl/__init__.py" \
+        --replace \
+          "l_path = ctypes.util.find_library('sodium')" \
+          "l_path = None" \
+        --replace \
+          "ctypes.cdll.LoadLibrary('libsodium${soext}')" \
+          "ctypes.cdll.LoadLibrary('${libsodium}/lib/libsodium${soext}')"
     '';
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/librosa/default.nix b/nixpkgs/pkgs/development/python-modules/librosa/default.nix
index 03cdeea14e51..a93b6b0d99cb 100644
--- a/nixpkgs/pkgs/development/python-modules/librosa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/librosa/default.nix
@@ -33,7 +33,7 @@
 
 buildPythonPackage rec {
   pname = "librosa";
-  version = "0.10.0";
+  version = "0.10.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
@@ -41,22 +41,23 @@ buildPythonPackage rec {
     repo = "librosa";
     rev = "refs/tags/${version}";
     fetchSubmodules = true; # for test data
-    hash = "sha256-MXzPIcbG8b1JwhEyAZG4DRObGaHq+ipVHMrZCzaxLdE=";
+    hash = "sha256-zbmU87hI9A1CVcBZ/5FU8z0t6SS4jfJk9bj9kLe/EHI=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   patches = [
-    # https://github.com/librosa/librosa/pull/1731
     (fetchpatch {
-      name = "support-scipy-1.11.patch";
-      url = "https://github.com/librosa/librosa/commit/12dee8eabed7df14c5622b52c05393ddfeb11f4b.patch";
-      hash = "sha256-JxTXU0Mc+QYpsafjoGLaIccD7EdCYJvIVianeosYpw4=";
+      # https://github.com/librosa/librosa/issues/1754
+      # https://github.com/librosa/librosa/pull/1755
+      name = "matplotlib-3.8-compat.patch";
+      url = "https://github.com/librosa/librosa/commit/beef47885ce1255b43b65e48ea2054ddace37c6c.patch";
+      hash = "sha256-rrnlUHXHY2me4BWGs3wFq8WJmz75CbXTWKFp3VdJKzE=";
     })
   ];
 
-  nativeBuildInputs = [
-    setuptools
-  ];
-
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "--cov-report term-missing --cov librosa --cov-report=xml " ""
diff --git a/nixpkgs/pkgs/development/python-modules/liccheck/default.nix b/nixpkgs/pkgs/development/python-modules/liccheck/default.nix
index 0af550ef6f89..713fc3cca23c 100644
--- a/nixpkgs/pkgs/development/python-modules/liccheck/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/liccheck/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "liccheck";
-  version = "0.9.1";
+  version = "0.9.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "dhatim";
     repo = "python-license-check";
     rev = "refs/tags/${version}";
-    hash = "sha256-ZgwHcZI0vsNYJWPkUnoBogVPPIuifAX9hu4fa1fHSz4=";
+    hash = "sha256-2WJw5TVMjOr+GX4YV0nssOtQeYvDHBLnlWquJQWPL9I=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/lifelines/default.nix b/nixpkgs/pkgs/development/python-modules/lifelines/default.nix
index 450138fdde68..d0dd1b757fae 100644
--- a/nixpkgs/pkgs/development/python-modules/lifelines/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lifelines/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "lifelines";
-  version = "0.27.7";
+  version = "0.27.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "CamDavidsonPilon";
     repo = "lifelines";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6ulg3R59QHy31CXit8tddi6F0vPKVRZDIu0zdS19xu0=";
+    hash = "sha256-2AjqN4TtBY1KtgFlY0E2UcFUHniHe2Hge+JaUQd4gO8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix b/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix
index 38ec2aaa5b40..d2fc8cbc13a2 100644
--- a/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lightgbm/default.nix
@@ -2,33 +2,47 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+
+# build-system
 , cmake
+, ninja
+, pathspec
+, pyproject-metadata
+, scikit-build-core
+
+# dependencies
+, llvmPackages
 , numpy
 , scipy
 , scikit-learn
-, llvmPackages ? null
 , pythonOlder
-, python
+
+# optionals: gpu
+, boost
+, cudatoolkit
 , ocl-icd
 , opencl-headers
-, boost
 , gpuSupport ? stdenv.isLinux
 }:
 
 buildPythonPackage rec {
   pname = "lightgbm";
-  version = "3.3.5";
-  format = "setuptools";
+  version = "4.1.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ELj73PhR5PaKHwLzjZm9xEx8f7mxpi3PkkoNKf9zOVw=";
+    hash = "sha256-vuWd0mmpOwk/LGENSmaDp+qHxj0+o1xiISPOLAILKrw=";
   };
 
   nativeBuildInputs = [
     cmake
+    ninja
+    pathspec
+    pyproject-metadata
+    scikit-build-core
   ];
 
   dontUseCmakeConfigure = true;
@@ -37,6 +51,7 @@ buildPythonPackage rec {
     llvmPackages.openmp
   ]) ++ (lib.optionals gpuSupport [
     boost
+    cudatoolkit
     ocl-icd
     opencl-headers
   ]);
@@ -47,13 +62,7 @@ buildPythonPackage rec {
     scikit-learn
   ];
 
-  buildPhase = ''
-    runHook preBuild
-
-    ${python.pythonForBuild.interpreter} setup.py bdist_wheel ${lib.optionalString gpuSupport "--gpu"}
-
-    runHook postBuild
-  '';
+  pypaBuildFlags = lib.optionalString gpuSupport "--config-setting=cmake.define.USE_CUDA=ON";
 
   postConfigure = ''
     export HOME=$(mktemp -d)
diff --git a/nixpkgs/pkgs/development/python-modules/limits/default.nix b/nixpkgs/pkgs/development/python-modules/limits/default.nix
index 8ee100670418..2146f1b9a0bc 100644
--- a/nixpkgs/pkgs/development/python-modules/limits/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/limits/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "limits";
-  version = "3.5.0";
+  version = "3.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/limits/_version.py"
     '';
-    hash = "sha256-O4yENynvon9xM8F/r0NMSpSh6Hl2EoTcXgldrwzo24M=";
+    hash = "sha256-VLfFWFcwLgEEvPUKQ00QjEq1HN28OpE6Eu1eyF+TwXU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/limnoria/default.nix b/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
index 8276af406b14..0cc2d73d969b 100644
--- a/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "limnoria";
-  version = "2023.8.10";
+  version = "2023.9.24";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3AHc7Ej0IJ2WCQ8XVbWL0lwTQW6ng2ehemTcmJOQ86U=";
+    hash = "sha256-VJXIuGcgwAEObCCah+yc/o3IEpe4ln5F4wVwCy54Auc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/linear_operator/default.nix b/nixpkgs/pkgs/development/python-modules/linear_operator/default.nix
index f42522016c1f..1bf11865dfc0 100644
--- a/nixpkgs/pkgs/development/python-modules/linear_operator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/linear_operator/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "linear_operator";
-  version = "0.5.1";
+  version = "0.5.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "cornellius-gp";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-7NkcvVDwFaLHBZZhq7aKY3cWxe90qeKmodP6cVsdrPM=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-OuE6jx9Q4IU+b2a+mrglRdBOReN1tt/thetNXxwk1GI=";
   };
 
   env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/linkify-it-py/default.nix b/nixpkgs/pkgs/development/python-modules/linkify-it-py/default.nix
index 21c99442f7bd..660e3cd2d9b9 100644
--- a/nixpkgs/pkgs/development/python-modules/linkify-it-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/linkify-it-py/default.nix
@@ -4,12 +4,13 @@
 , pythonOlder
 , pytestCheckHook
 , uc-micro-py
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "linkify-it-py";
-  version = "2.0.0";
-  format = "setuptools";
+  version = "2.0.2";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -17,13 +18,24 @@ buildPythonPackage rec {
     owner = "tsutsu3";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3bgkhIC6tHl5zieiyllvqFCKwLms55m8MGt1xGhQ4Dk=";
+    hash = "sha256-e3k2RblqvzWSSIrJL6ib2dxFw7T5vXlN8DrCV1qEr6w=";
   };
 
-  propagatedBuildInputs = [ uc-micro-py ];
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
-  pythonImportsCheck = [ "linkify_it" ];
+  propagatedBuildInputs = [
+    uc-micro-py
+  ];
+
+  pythonImportsCheck = [
+    "linkify_it"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Links recognition library with full unicode support";
diff --git a/nixpkgs/pkgs/development/python-modules/linode-api/default.nix b/nixpkgs/pkgs/development/python-modules/linode-api/default.nix
index 906f5eb40a06..4c1b77bf86a9 100644
--- a/nixpkgs/pkgs/development/python-modules/linode-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/linode-api/default.nix
@@ -9,15 +9,15 @@
 
 buildPythonPackage rec {
   pname = "linode-api";
-  version = "5.0.0";
+  version = "5.7.2";
   disabled = pythonOlder "3.6";
 
   # Sources from Pypi exclude test fixtures
   src = fetchFromGitHub {
     owner = "linode";
     repo = "python-linode-api";
-    rev = version;
-    sha256 = "0lqi15vks4fxbki1l7n1bfzygjy3w17d9wchjxvp22ijmas44yai";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-RU/GyNYV05iYVNanMqKMmoksXWrxTQ2H2XvaIwSSslA=";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix b/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
index bc4dcaee1a19..f6e5379fb271 100644
--- a/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
@@ -87,5 +87,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/liquidctl/liquidctl/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ arturcygan evils ];
+    mainProgram = "liquidctl";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/lit/default.nix b/nixpkgs/pkgs/development/python-modules/lit/default.nix
index b4dee1e20b55..1467dfaa1f6d 100644
--- a/nixpkgs/pkgs/development/python-modules/lit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lit/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "lit";
-  version = "15.0.6";
+  version = "17.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-S06OQfDmDyutls21HxyQ016ku3FTTsDOP8Di67d9f+k=";
+    hash = "sha256-RIZ65Xa1eQVnsSC8Pw2fAh2slCTRsIQMdazYX0YQrAQ=";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/python-modules/litellm/default.nix b/nixpkgs/pkgs/development/python-modules/litellm/default.nix
index 1e75776f0c32..ee707875bff7 100644
--- a/nixpkgs/pkgs/development/python-modules/litellm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/litellm/default.nix
@@ -8,7 +8,7 @@
 , tiktoken
 }:
 let
-  version = "0.1.590";
+  version = "0.1.738";
 in
 buildPythonPackage rec {
   pname = "litellm";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "BerriAI";
     repo = "litellm";
-    rev = "7cb96e86b4753008cbf8d116aca514750e98d360";
-    hash = "sha256-ITMcwGjelNfNGnfBmmdu0Xwph4u0mxiFSfHnysUxWCQ=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-1Ft2E5I3OkVZUfmQHN1Qe/Z3cvLid8ie3BCeZoAii8U=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/loca/default.nix b/nixpkgs/pkgs/development/python-modules/loca/default.nix
index 8ad0a4adbe74..28a9020d7444 100644
--- a/nixpkgs/pkgs/development/python-modules/loca/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/loca/default.nix
@@ -1,9 +1,9 @@
-{ lib, buildPythonPackage, pythonOlder, fetchFromSourcehut }:
+{ lib, buildPythonPackage, pythonOlder, fetchFromSourcehut, flit-core }:
 
 buildPythonPackage rec {
   pname = "loca";
   version = "2.0.1";
-  format = "flit";
+  format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchFromSourcehut {
@@ -13,6 +13,10 @@ buildPythonPackage rec {
     sha256 = "1l6jimw3wd81nz1jrzsfw1zzsdm0jm998xlddcqaq0h38sx69w8g";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   doCheck = false; # all checks are static analyses
   pythonImportsCheck = [ "loca" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/localstack-ext/default.nix b/nixpkgs/pkgs/development/python-modules/localstack-ext/default.nix
index ed9b190b80f1..2e19ff0d9b34 100644
--- a/nixpkgs/pkgs/development/python-modules/localstack-ext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/localstack-ext/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "localstack-ext";
-  version = "1.4.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/uesHiB/54wEfcWf4e9BW1ZvcVfAgAD7yGAlfYxv+6g=";
+    hash = "sha256-BLK41TRaYNtpeeDeGZhlvnvkQwWo0uGB19g34waRqFk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/localstack/default.nix b/nixpkgs/pkgs/development/python-modules/localstack/default.nix
index e984554a843e..e44f6e609d21 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.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "localstack";
     repo = "localstack";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hlK3pltajFRAtiwLOJQNmxRfoRAX5Jccygglbhb45O8=";
+    hash = "sha256-Sdyl/ccyhKRP5eb866ly1ZJrrFSQMLdX22R7UNRfDCA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/logilab/common.nix b/nixpkgs/pkgs/development/python-modules/logilab/common.nix
index 9467f003c703..b03fd98eefe8 100644
--- a/nixpkgs/pkgs/development/python-modules/logilab/common.nix
+++ b/nixpkgs/pkgs/development/python-modules/logilab/common.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "logilab-common";
-  version = "1.10.0";
+  version = "1.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MoXt3tta5OimJUjOkWSMDCmXV0aS8N0W5bcANwAelYY=";
+    hash = "sha256-lWl6654nbOBCec24iJ7GGKEcYy/gYDn9wMil3PPqWkk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/loguru/default.nix b/nixpkgs/pkgs/development/python-modules/loguru/default.nix
index 75cc1f9b2c61..93e9d8937bd8 100644
--- a/nixpkgs/pkgs/development/python-modules/loguru/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/loguru/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "loguru";
-  version = "0.7.0";
+  version = "0.7.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Delgan";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-JwhJPX58KrPdX237L43o77spycLAVFv3K9njJiRK30Y=";
+    hash = "sha256-1xcPAOOhjFmWSxmPj6NICRur3ITOuQRNNKPJlfp89Jw=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/looseversion/default.nix b/nixpkgs/pkgs/development/python-modules/looseversion/default.nix
index 19b5d10ca0e1..b16fd1a572d2 100644
--- a/nixpkgs/pkgs/development/python-modules/looseversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/looseversion/default.nix
@@ -2,18 +2,23 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, hatchling
 }:
 
 buildPythonPackage rec {
   pname = "looseversion";
   version = "1.3.0";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit version pname;
     sha256 = "sha256-695l8/a7lTGoEBbG/vPrlaYRga3Ee3+UnpwOpHkRZp4=";
   };
 
+  nativeBuildInputs = [
+    hatchling
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/loqedapi/default.nix b/nixpkgs/pkgs/development/python-modules/loqedapi/default.nix
new file mode 100644
index 000000000000..332edd1c0112
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/loqedapi/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "loqedapi";
+  version = "2.1.8";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "cpolhout";
+    repo = "loqedAPI";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-9ekZ98GazH1tna4JT5SEUETKR227UYRIBBghdj+TFB4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  # Tests require network access
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "loqedAPI"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with the Loqed Smart Door Lock API";
+    homepage = "https://github.com/cpolhout/loqedAPI";
+    changelog = "https://github.com/cpolhout/loqedAPI/releases/tag/v${version}";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix b/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix
index 1a103d2a8c52..1f702894258b 100644
--- a/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "losant-rest";
-  version = "1.19.0";
+  version = "1.19.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Losant";
     repo = "losant-rest-python";
     rev = "v${version}";
-    hash = "sha256-Kr+L8zHcutpxzqvwQ10iebHiwBIT+sZiiT38G6O/joY=";
+    hash = "sha256-xCC0AEiHrulxNdBf59ap9oKh/mF1u9IzZsPYFJeHNR0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/lsprotocol/default.nix b/nixpkgs/pkgs/development/python-modules/lsprotocol/default.nix
index a2e17eb40042..5ee4d3ed1126 100644
--- a/nixpkgs/pkgs/development/python-modules/lsprotocol/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lsprotocol/default.nix
@@ -4,6 +4,7 @@
 , cattrs
 , fetchFromGitHub
 , flit-core
+, importlib-resources
 , jsonschema
 , nox
 , pyhamcrest
@@ -13,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "lsprotocol";
-  version = "2023.0.0a2";
+  version = "2023.0.0b1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +23,7 @@ buildPythonPackage rec {
     owner = "microsoft";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-AEvs2fb8nhWEFMyLvwNv9HoxxxE50/KW3TGZ5pDf4dc=";
+    hash = "sha256-Y/Mp/8MskRB6irNU3CBOKmo2Zt5S69h+GyMg71sQ9Uw=";
   };
 
   nativeBuildInputs = [
@@ -40,6 +41,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    importlib-resources
     jsonschema
     pyhamcrest
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/lxmf/default.nix b/nixpkgs/pkgs/development/python-modules/lxmf/default.nix
index 1dae9f126b92..b41e21c83e0c 100644
--- a/nixpkgs/pkgs/development/python-modules/lxmf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lxmf/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "lxmf";
-  version = "0.3.3";
+  version = "0.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "lxmf";
     rev = "refs/tags/${version}";
-    hash = "sha256-IbBuQuKWFjWUpVRdo5rl2Wq8vCAngg9/TKLuljRmKAU=";
+    hash = "sha256-s5+hfn/NfuL7B5c1LElZ10B+O5xr98D0eBYfLhPt6uU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/m2r/default.nix b/nixpkgs/pkgs/development/python-modules/m2r/default.nix
index 942699156a93..02dd3c540ac4 100644
--- a/nixpkgs/pkgs/development/python-modules/m2r/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/m2r/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "m2r";
-  version = "0.2.1";
+  version = "0.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bf90bad66cda1164b17e5ba4a037806d2443f2a4d5ddc9f6a5554a0322aaed99";
+    sha256 = "sha256-qvtn/EnPsdieRqNEOsdH4V9LtC3yDtBPBnrZ777iVqs=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/m3u8/default.nix b/nixpkgs/pkgs/development/python-modules/m3u8/default.nix
index 7ba084913ba7..9ff8dfbf0e73 100644
--- a/nixpkgs/pkgs/development/python-modules/m3u8/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/m3u8/default.nix
@@ -4,17 +4,21 @@
 , iso8601
 , bottle
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "m3u8";
-  version = "3.5.0";
+  version = "3.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "globocom";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-9Xmbc1aL7SI24FFn0/5KJtAM3+Xyvd3bwUh8DU1wGKE=";
+    hash = "sha256-JLYRkibcvmNct2eIBfBP7z3gR680xhZL/Kn/1S7feoo=";
   };
 
   propagatedBuildInputs = [
@@ -38,8 +42,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/globocom/m3u8";
     description = "Python m3u8 parser";
+    homepage = "https://github.com/globocom/m3u8";
+    changelog = "https://github.com/globocom/m3u8/releases/tag//${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ Scriptkiddi ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/magic-filter/default.nix b/nixpkgs/pkgs/development/python-modules/magic-filter/default.nix
index bf85abee73c8..e9d2fb8b8696 100644
--- a/nixpkgs/pkgs/development/python-modules/magic-filter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/magic-filter/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "magic-filter";
-  version = "1.0.11";
+  version = "1.0.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "aiogram";
     repo = "magic-filter";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mfSq47UWOLyEDkAsdHsJuVl/rJ4KgiGPpDL7qSKEfws=";
+    hash = "sha256-MSYIZ/bzngRu6mG3EGblUotSCA+6bi+l3EymFA8NRZA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix b/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix
index 95635b94d505..d25daaf21bc0 100644
--- a/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -2,6 +2,11 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+
+# build-system
+, setuptools
+
+# dependencies
 , spake2
 , pynacl
 , six
@@ -9,11 +14,15 @@
 , twisted
 , autobahn
 , automat
-, hkdf
 , tqdm
 , click
 , humanize
 , txtorcon
+
+# optional-dependencies
+, noiseprotocol
+
+# tests
 , nettools
 , mock
 , magic-wormhole-transit-relay
@@ -23,13 +32,18 @@
 
 buildPythonPackage rec {
   pname = "magic-wormhole";
-  version = "0.12.0";
+  version = "0.13.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0q41j99718y7m95zg1vaybnsp31lp6lhyqkbv4yqz5ys6jixh3qv";
+    hash = "sha256-rDvWgoYnDn8UnAYUmo5Anl+jTX/rDoiESibSnu0tFRY=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     spake2
     pynacl
@@ -38,25 +52,29 @@ buildPythonPackage rec {
     twisted
     autobahn
     automat
-    hkdf
     tqdm
     click
     humanize
     txtorcon
-  ] ++ autobahn.optional-dependencies.twisted
+  ]
+  ++ autobahn.optional-dependencies.twisted
   ++ twisted.optional-dependencies.tls;
 
+  passthru.optional-dependencies = {
+    dilation = [
+      noiseprotocol
+    ];
+  };
+
   nativeCheckInputs = [
     mock
     magic-wormhole-transit-relay
     magic-wormhole-mailbox-server
     pytestCheckHook
-  ];
+  ]
+  ++ passthru.optional-dependencies.dilation;
 
-  disabledTests = [
-    # Expected: (<class 'wormhole.errors.WrongPasswordError'>,) Got: Failure instance: Traceback (failure with no frames): <class 'wormhole.errors.LonelyError'>:
-    "test_welcome"
-  ] ++ lib.optionals stdenv.isDarwin [
+  disabledTests = lib.optionals stdenv.isDarwin [
     # These tests doesn't work within Darwin's sandbox
     "test_version"
     "test_text"
@@ -92,6 +110,7 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
+    changelog = "https://github.com/magic-wormhole/magic-wormhole/blob/${version}/NEWS.md";
     description = "Securely transfer data between computers";
     homepage = "https://github.com/magic-wormhole/magic-wormhole";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/mando/default.nix b/nixpkgs/pkgs/development/python-modules/mando/default.nix
new file mode 100644
index 000000000000..dc48dd18ebe1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mando/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+# Python deps
+, six
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "mando";
+  version = "0.7.1";
+
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "rubik";
+    repo = "mando";
+    rev = "v${version}";
+    hash = "sha256-Ylrrfo57jqGuWEqCa5RyTT9AagBpUvAfviHkyJPFv08=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  pythonImportsCheck = [
+    "mando"
+  ];
+
+  meta = with lib; {
+    description = "Create Python CLI apps with little to no effort at all";
+    homepage = "https://mando.readthedocs.org";
+    changelog = "https://github.com/rubik/mando/blob/v${version}/CHANGELOG";
+    license = licenses.mit;
+    maintainers = with maintainers; [ t4ccer ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mandown/default.nix b/nixpkgs/pkgs/development/python-modules/mandown/default.nix
new file mode 100644
index 000000000000..fd699821f6da
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mandown/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, beautifulsoup4
+, comicon
+, feedparser
+, filetype
+, lxml
+, natsort
+, pillow
+, python-slugify
+, requests
+, typer
+, pyside6
+}:
+
+buildPythonPackage rec {
+  pname = "mandown";
+  version = "1.5.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "potatoeggy";
+    repo = "mandown";
+    rev = "v${version}";
+    hash = "sha256-ph+1bb1jhqqDE2d4F8lTf7LAzN7DWpDTGn8qhCiccKA=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    comicon
+    feedparser
+    filetype
+    lxml
+    natsort
+    pillow
+    python-slugify
+    requests
+    typer
+  ];
+
+  passthru.optional-dependencies = {
+    gui = [
+      pyside6
+    ];
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml --replace 'typer = "^0.7.0"' 'typer = "^0"'
+  '';
+
+  pythonImportsCheck = [ "mandown" ];
+
+  meta = with lib; {
+    description = "Comic/manga/webtoon downloader and CBZ/EPUB/MOBI/PDF converter";
+    homepage = "https://github.com/potatoeggy/mandown";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ Scrumplex ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix b/nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix
index 3135ded66ebf..4d23928da1ac 100644
--- a/nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "manifestoo-core";
-  version = "0.11.0";
+  version = "1.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit version;
     pname = "manifestoo_core";
-    hash = "sha256-ZZAJDOtGcYWm0yS5bMOUdM1Jf+kfurwiLsJwyTYPz/4=";
+    hash = "sha256-cnEbws2NDxVkLEgLsYw2VQQWP69nC1SVixl9a6vHPmo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/manimpango/default.nix b/nixpkgs/pkgs/development/python-modules/manimpango/default.nix
index 443415470b05..4219e9a59431 100644
--- a/nixpkgs/pkgs/development/python-modules/manimpango/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/manimpango/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "manimpango";
-  version = "0.4.3";
+  version = "0.4.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "ManimCommunity";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-FT3X6TmGfwd8kRPtuqy78ZCGeEGGg6IJEeEpB7ZbIsA=";
+    hash = "sha256-M7Wd4s9q+oNioi4JlcQcKSyLRliGgoMzkiXcIznpR5o=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/marisa-trie/default.nix b/nixpkgs/pkgs/development/python-modules/marisa-trie/default.nix
index 34a1a4767e72..587dc99080a9 100644
--- a/nixpkgs/pkgs/development/python-modules/marisa-trie/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/marisa-trie/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "marisa-trie";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2KaDAfAjpyTrN5qqGxD4ip4aRYzIpBtSfGJQeFm0pNI=";
+    hash = "sha256-W/Q+0M82r0V4/nsDTPlfUyQ5dmUWaA5L1gNyNhHr1Ws=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix b/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
index 3330817fb8a4..ed3df6f804eb 100644
--- a/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
@@ -6,6 +6,7 @@
 , flit-core
 , linkify-it-py
 , markdown
+, mdit-py-plugins
 , mdurl
 , mistletoe
 , mistune
@@ -25,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "markdown-it-py";
-  version = "2.2.0";
+  version = "3.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -34,7 +35,7 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-qdRU1BxczFDGoIEtl0ZMkKNn4p5tec8YuPt5ZwX5fYM=";
+    hash = "sha256-cmjLElJA61EysTUFMVY++Kw0pI4wOIXOyCY3To9fpQc=";
   };
 
   # fix downstrem usage of markdown-it-py[linkify]
@@ -69,6 +70,7 @@ buildPythonPackage rec {
   passthru.optional-dependencies = {
     compare = [ commonmark markdown mistletoe mistune panflute ];
     linkify = [ linkify-it-py ];
+    plugins = [ mdit-py-plugins ];
     rtd = [ attrs myst-parser pyyaml sphinx sphinx-copybutton sphinx-design sphinx-book-theme ];
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix b/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix
index 97eeb09d7b8a..f898acad5144 100644
--- a/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "mashumaro";
-  version = "3.9.1";
+  version = "3.10";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "Fatal1ty";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VDB6313lvKuLJFOnuzEaiiRLUBOvbdjfowgl3nvG8Y0=";
+    hash = "sha256-PvMEwIxurDGwYMCmNFThedxDY4vwATHYwMlXkucNuwM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
index e5df4ea7d4ea..4ac081e26a20 100644
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
@@ -79,7 +79,7 @@ let
 in
 
 buildPythonPackage rec {
-  version = "3.7.2";
+  version = "3.8.0";
   pname = "matplotlib";
   format = "pyproject";
 
@@ -87,7 +87,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qM25Hd2wRDa9LwmLj99LgTUuaM9NLGdW/MQUeRB2Vps=";
+    hash = "sha256-34UF4cGdXCwmr/NJeny9PM/C6XBD0eTbPnavo5kWS2k=";
   };
 
   env.XDG_RUNTIME_DIR = "/tmp";
diff --git a/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix b/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix
index 03bc6015843d..77f47543c52a 100644
--- a/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/matrix-nio/default.nix
@@ -29,14 +29,14 @@
 
 buildPythonPackage rec {
   pname = "matrix-nio";
-  version = "0.20.1";
+  version = "0.21.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "poljar";
     repo = "matrix-nio";
     rev = version;
-    hash = "sha256-6oMOfyl8yR8FMprPYD831eiXh9g/bqslvxDmVcrNK80=";
+    hash = "sha256-eK5DPmPZ/hv3i3lzoIuS9sJXKpUNhmBv4+Nw2u/RZi0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/maya/default.nix b/nixpkgs/pkgs/development/python-modules/maya/default.nix
index baa95f7c7de2..e96d66826583 100644
--- a/nixpkgs/pkgs/development/python-modules/maya/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/maya/default.nix
@@ -1,28 +1,58 @@
-{ lib, fetchPypi, fetchpatch, buildPythonPackage
-, dateparser, humanize, pendulum, ruamel-yaml, tzlocal }:
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+
+# build-system
+, setuptools
+
+# dependencies
+, dateparser
+, humanize
+, tzlocal
+, pendulum
+, snaptime
+, pytz
+
+# tests
+, freezegun
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "maya";
-  version = "0.3.3";
+  version = "0.6.1";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1x88k4irpckvd7jf2yvqjw1s52hjqbxym1r1d928yb3fkj7rvlxs";
+  src = fetchFromGitHub {
+    owner = "kennethreitz";
+    repo = "maya";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-4fUyUqVQk/AcQL3xMnU1cQlF5yiD/N9NPAsUPuDTTNY=";
   };
 
-  patches = [
-    (fetchpatch {
-      # https://github.com/kennethreitz/maya/issues/112
-      # Merged, so should be in next release.
-      url = "https://github.com/kennethreitz/maya/commit/f69a93b1103130139cdec30511777823957fb659.patch";
-      sha256 = "152ba7amv9dhhx1wcklfalsdzsxggik9f7rsrikms921lq9xqc8h";
-    })
+  postPatch = ''
+    # function was made private in humanize
+    substituteInPlace maya/core.py \
+      --replace "humanize.time.abs_timedelta" "humanize.time._abs_timedelta"
+  '';
+
+  nativeBuildInputs = [
+    setuptools
   ];
 
-  propagatedBuildInputs = [ dateparser humanize pendulum ruamel-yaml tzlocal ];
+  propagatedBuildInputs = [
+    dateparser
+    humanize
+    pendulum
+    pytz
+    snaptime
+    tzlocal
+  ];
 
-  # No tests
-  doCheck = false;
+  nativeCheckInputs = [
+    freezegun
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Datetimes for Humans";
diff --git a/nixpkgs/pkgs/development/python-modules/md2gemini/default.nix b/nixpkgs/pkgs/development/python-modules/md2gemini/default.nix
index e50c405334c1..c0b6eec7f838 100644
--- a/nixpkgs/pkgs/development/python-modules/md2gemini/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/md2gemini/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "md2gemini";
-  version = "1.9.0";
+  version = "1.9.1";
 
   propagatedBuildInputs = [ mistune cjkwrap wcwidth ];
   nativeCheckInputs = [ pytestCheckHook ];
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-d1zuK+NqoPS36ihh8qx9gOET94tApY+SGStsc/bITnU=";
+    hash = "sha256-XreDqqzH3UQ+RIBOrvHpaBb7PXcPPptjQx5cjpI+VzQ=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-admon/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-admon/default.nix
index 1d285d89c70b..a7fd0f940373 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-admon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-admon/default.nix
@@ -24,7 +24,7 @@ let
 in python.pkgs.buildPythonPackage rec {
   pname = "mdformat-admon";
   version = "1.0.2";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -35,6 +35,10 @@ in python.pkgs.buildPythonPackage rec {
     hash = "sha256-33Q3Re/axnoOHZ9XYA32mmK+efsSelJXW8sD7C1M/jU=";
   };
 
+  nativeBuildInputs = with python.pkgs; [
+    flit-core
+  ];
+
   buildInputs = with python.pkgs; [
     mdformat
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-footnote/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-footnote/default.nix
index cee0e1bd5e59..4d7b56f0c2fa 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-footnote/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-footnote/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, flit-core
 , linkify-it-py
 , markdown-it-py
 , mdformat
@@ -11,7 +12,7 @@
 buildPythonPackage rec {
   pname = "mdformat-footnote";
   version = "0.1.1";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -22,6 +23,10 @@ buildPythonPackage rec {
     hash = "sha256-DUCBWcmB5i6/HkqxjlU3aTRO7i0n2sj+e/doKB8ffeo=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   buildInputs = [
     mdformat
     mdit-py-plugins
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix
index 67e0634fa1d2..b073bb83a595 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-frontmatter/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, flit-core
 , linkify-it-py
 , markdown-it-py
 , mdformat
@@ -12,7 +13,7 @@
 buildPythonPackage rec {
   pname = "mdformat-frontmatter";
   version = "2.0.1";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -23,6 +24,10 @@ buildPythonPackage rec {
     hash = "sha256-PhT5whtvvcYSs5gHQEsIvV1evhx7jR+3DWFMHrF0uMw=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   buildInputs = [
     mdformat
     mdit-py-plugins
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-gfm/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-gfm/default.nix
index 2b48bcfa45de..de5a1d2ac68b 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-gfm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-gfm/default.nix
@@ -4,7 +4,6 @@
 , linkify-it-py
 , markdown-it-py
 , mdformat
-, mdformat-gfm
 , mdformat-tables
 , mdit-py-plugins
 , poetry-core
@@ -45,6 +44,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    "test_default_style__api"
+    "test_default_style__cli"
+  ];
+
   pythonImportsCheck = [
     "mdformat_gfm"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix
index 734045426526..e8efd7bac91c 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-mkdocs/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, flit-core
 , mdformat
 , mdformat-gfm
 , mdit-py-plugins
@@ -10,7 +11,7 @@
 buildPythonPackage rec {
   pname = "mdformat-mkdocs";
   version = "1.0.4";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -21,6 +22,10 @@ buildPythonPackage rec {
     hash = "sha256-mGWeG8clWJ7obsvO+gYaVzfAyDOh9HNdyWW5KgOgfmM=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   buildInputs = [
     mdformat
     mdformat-gfm
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-simple-breaks/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-simple-breaks/default.nix
index b4d293f6368f..c5bbeeb46de9 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-simple-breaks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-simple-breaks/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, flit-core
 , mdformat
 , mdit-py-plugins
 , pythonOlder
@@ -9,7 +10,7 @@
 buildPythonPackage rec {
   pname = "mdformat-simple-breaks";
   version = "0.0.1";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -20,6 +21,10 @@ buildPythonPackage rec {
     hash = "sha256-4lJHB4r9lI2uGJ/BmFFc92sumTRKBBwiRmGBdQkzfd0=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   buildInputs = [
     mdformat
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat-tables/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat-tables/default.nix
index 747029eab276..018371ada82f 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat-tables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat-tables/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, flit-core
 , mdformat
 , mdit-py-plugins
 , pytestCheckHook
@@ -10,7 +11,7 @@
 buildPythonPackage rec {
   pname = "mdformat-tables";
   version = "0.4.1";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -21,6 +22,10 @@ buildPythonPackage rec {
     hash = "sha256-Q61GmaRxjxJh9GjyR8QCZOH0njFUtAWihZ9lFQJ2nQQ=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   buildInputs = [
     mdformat
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/mdit-py-plugins/default.nix b/nixpkgs/pkgs/development/python-modules/mdit-py-plugins/default.nix
index 772d9547088b..ad3e8580f11d 100644
--- a/nixpkgs/pkgs/development/python-modules/mdit-py-plugins/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdit-py-plugins/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "mdit-py-plugins";
-  version = "0.3.5";
+  version = "0.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-U6Qh/1GklW9ZXBXmjPLuxga0JS/Cyga1iorcMEA+WP8=";
+    hash = "sha256-YBJu0vIOD747DrJLcqiZMHq34+gHdXeGLCw1OxxzIJ0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix b/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
index e5943b186dda..878f85600dd1 100644
--- a/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mecab-python3/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "mecab-python3";
-  version = "1.0.7";
+  version = "1.0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2ZM79P2UQmD1i0Ifhjm7wRIEE9Hz/N6MVQlyIdwT1R0=";
+    hash = "sha256-cJiLqyY2lkVvddPYkQx1rqR3qdCAVK1++FvlRw3T9ls=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mediafile/default.nix b/nixpkgs/pkgs/development/python-modules/mediafile/default.nix
index a3c2ad7794f5..00a657800da8 100644
--- a/nixpkgs/pkgs/development/python-modules/mediafile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mediafile/default.nix
@@ -11,7 +11,7 @@
 buildPythonPackage rec {
   pname = "mediafile";
   version = "0.10.1";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
diff --git a/nixpkgs/pkgs/development/python-modules/mediapy/default.nix b/nixpkgs/pkgs/development/python-modules/mediapy/default.nix
index 28f754e98edf..2c58382a4779 100644
--- a/nixpkgs/pkgs/development/python-modules/mediapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mediapy/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, flit-core
 , ipython
 , matplotlib
 , numpy
@@ -10,18 +11,20 @@
 
 buildPythonPackage rec {
   pname = "mediapy";
-  version = "1.1.8";
+  version = "1.1.9";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mVhBM+NQEkLYByp/kCPFJCAY26La5CWjcPl6PgclA9A=";
+    hash = "sha256-WUOxtE0NfXi0fpdasZTqixPhVV2+Refatvf6dgCb0Z8=";
   };
 
+  nativeBuildInputs = [ flit-core ];
+
   propagatedBuildInputs = [ ipython matplotlib numpy pillow ];
 
-  format = "flit";
 
   pythonImportsCheck = [ "mediapy" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/meep/default.nix b/nixpkgs/pkgs/development/python-modules/meep/default.nix
index df0dd2cb1bb1..1e0dbb166839 100644
--- a/nixpkgs/pkgs/development/python-modules/meep/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meep/default.nix
@@ -33,13 +33,13 @@ assert !lapack.isILP64;
 
 buildPythonPackage rec {
   pname = "meep";
-  version = "1.25.0";
+  version = "1.27.0";
 
   src = fetchFromGitHub {
     owner = "NanoComp";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-4rIz2RXLSWzZbRuv8d4nidOa0ULYc4QHIdaYrGu1WkI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-9ha6YPlvq2HUTuEqngFOAJUqCahBi7L7O8qsIMMfbrY=";
   };
 
   format = "other";
diff --git a/nixpkgs/pkgs/development/python-modules/meilisearch/default.nix b/nixpkgs/pkgs/development/python-modules/meilisearch/default.nix
index 88ca28f4896b..cb40f3194198 100644
--- a/nixpkgs/pkgs/development/python-modules/meilisearch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meilisearch/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "meilisearch";
-  version = "0.28.2";
+  version = "0.28.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "meilisearch";
     repo = "meilisearch-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-S1ZBSkWqCU6EpFqLpxCN1ZNswJroF86+26WeyYPD0S0=";
+    hash = "sha256-ASrm21dW1lCiUZJReJYlot2sp9sO1HuGaWVZXDOC9i4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/memory_profiler/default.nix b/nixpkgs/pkgs/development/python-modules/memory-profiler/default.nix
index 7473514cd628..218772a1527e 100644
--- a/nixpkgs/pkgs/development/python-modules/memory_profiler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/memory-profiler/default.nix
@@ -4,11 +4,12 @@
 }:
 
 python.pkgs.buildPythonPackage rec {
-  pname = "memory_profiler";
+  pname = "memory-profiler";
   version = "0.61.0";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "memory_profiler";
+    inherit version;
     sha256 = "sha256-Tltz14ZKHRKS+3agPoKj5475NNBoKKaY2dradtogZ7A=";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/meraki/default.nix b/nixpkgs/pkgs/development/python-modules/meraki/default.nix
index 2a7db95a730b..c97624c73c8a 100644
--- a/nixpkgs/pkgs/development/python-modules/meraki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meraki/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "meraki";
-  version = "1.36.0";
+  version = "1.38.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VkXA5eEIEcyPlyI566rwtmIGauxD4ra0Q4ccH4ojc0U=";
+    hash = "sha256-LYwjcm4qZfzrDSujQ9eaxjPN9z0qWDSfT+IU1f32cY0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mesa/default.nix b/nixpkgs/pkgs/development/python-modules/mesa/default.nix
index 2f441ca71106..fe4e8dd598d5 100644
--- a/nixpkgs/pkgs/development/python-modules/mesa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mesa/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "mesa";
-  version = "1.2.1";
+  version = "2.1.1";
   format = "setuptools";
 
   # According to their docs, this library is for Python 3+.
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Mesa";
     inherit version;
-    hash = "sha256-SJiAuQSnatBnsZpwF3KyBTd1oiNjCpJEepq7t0QjoAQ=";
+    hash = "sha256-1wyXndB7xQy1jnfHsIqMQgsvmGYUhjDuSBB2M0GcXC4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
index dcac8a6b277b..16706e4dae83 100644
--- a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "2.2.6";
+  version = "2.2.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-JnheGeiLJMI0zsb+jiuMxjXg/3rDbMyA2XVtl1ujiso=";
+    hash = "sha256-AaEAI61MQCi1bUEc0xVNmDaVjXCPMvDIstIR/FuQ8aU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/meson-python/add-build-flags.sh b/nixpkgs/pkgs/development/python-modules/meson-python/add-build-flags.sh
index d2535d1fd59a..d9327960eb1d 100644
--- a/nixpkgs/pkgs/development/python-modules/meson-python/add-build-flags.sh
+++ b/nixpkgs/pkgs/development/python-modules/meson-python/add-build-flags.sh
@@ -1,6 +1,10 @@
-# Add all of mesonFlags to -Csetup-args for pypa builds
-for f in $mesonFlags; do
-  pypaBuildFlags+=" -Csetup-args=$f"
-  # This requires pip>23.0.1, see: https://meson-python.readthedocs.io/en/latest/how-to-guides/config-settings.html
-  pipBuildFlags+=" --config-settings=setup-args=$f"
-done
+mesonPythonBuildFlagsHook() {
+  # Add all of mesonFlags to -Csetup-args for pypa builds
+  for f in $mesonFlags; do
+    pypaBuildFlags+=" -Csetup-args=$f"
+    # This requires pip>23.0.1, see: https://meson-python.readthedocs.io/en/latest/how-to-guides/config-settings.html
+    pipBuildFlags+=" --config-settings=setup-args=$f"
+  done
+}
+
+postConfigureHooks+=(mesonPythonBuildFlagsHook)
diff --git a/nixpkgs/pkgs/development/python-modules/meson-python/default.nix b/nixpkgs/pkgs/development/python-modules/meson-python/default.nix
index 4b45ee4e77d3..84031db71b80 100644
--- a/nixpkgs/pkgs/development/python-modules/meson-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meson-python/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "meson-python";
-  version = "0.13.1";
+  version = "0.14.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit version;
     pname = "meson_python";
-    hash = "sha256-Y7MXAAFCXEL6TP7a25BRy9KJJf+O7XxA02ugCZ48dhg=";
+    hash = "sha256-uWhmaQMmVE3+RSWDdTrD9DMTIn6f2UFnAajfkK8hIjQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix b/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix
index 46bf44bf8ad9..0b210e18d6d9 100644
--- a/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix
@@ -8,7 +8,7 @@
 , fetchPypi
 , filebrowser_safe
 , future
-, grappelli_safe
+, grappelli-safe
 , isPyPy
 , pep8
 , pillow
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     django-contrib-comments
     filebrowser_safe
     future
-    grappelli_safe
+    grappelli-safe
     pillow
     pytz
     requests
diff --git a/nixpkgs/pkgs/development/python-modules/mido/default.nix b/nixpkgs/pkgs/development/python-modules/mido/default.nix
index 9b9b25ee3768..65702b23c7ad 100644
--- a/nixpkgs/pkgs/development/python-modules/mido/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mido/default.nix
@@ -6,15 +6,18 @@
 , portmidi
 , python-rtmidi
 , pytestCheckHook
+, setuptools
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "mido";
-  version = "1.2.10";
+  version = "1.3.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17b38a8e4594497b850ec6e78b848eac3661706bfc49d484a36d91335a373499";
+    sha256 = "sha256-hCguOs40vKP5hCINstvLmCRc/q+4VCYMAuAAdQ3Khqo=";
   };
 
   patches = [
@@ -24,6 +27,11 @@ buildPythonPackage rec {
     })
   ];
 
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     python-rtmidi
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/millheater/default.nix b/nixpkgs/pkgs/development/python-modules/millheater/default.nix
index adf1eca9d576..7f2fe358c2fe 100644
--- a/nixpkgs/pkgs/development/python-modules/millheater/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/millheater/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "millheater";
-  version = "0.11.5";
+  version = "0.11.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pymill";
     rev = "refs/tags/${version}";
-    hash = "sha256-rDEzMxXsbHvxAmPx1IFC5S8jG8LO8TNuNq/ISkdPWsU=";
+    hash = "sha256-qd9JuZv1utwL523eiQ79P3hXuVQ8+teTatOJCtI6v00=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mindsdb-evaluator/default.nix b/nixpkgs/pkgs/development/python-modules/mindsdb-evaluator/default.nix
new file mode 100644
index 000000000000..7e18975095b0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mindsdb-evaluator/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, poetry-core
+, dataprep-ml
+, numpy
+, pandas
+, scikit-learn
+, type-infer
+}:
+
+buildPythonPackage rec {
+  pname = "mindsdb-evaluator";
+  version = "0.0.11";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  # using PyPI as git repository does not have release tags or branches
+  src = fetchPypi {
+    pname = "mindsdb_evaluator";
+    inherit version;
+    hash = "sha256-pEfY+ocLEE8qcDjf6AzJxtXo1cqD2LhcBmlLjN0llTA=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    dataprep-ml
+    numpy
+    pandas
+    scikit-learn
+    type-infer
+  ];
+
+  pythonImportsCheck = [ "mindsdb_evaluator" ];
+
+  meta = with lib; {
+    description = "Model evaluation for Machine Learning pipelines";
+    homepage = "https://pypi.org/project/mindsdb-evaluator/";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/minio/default.nix b/nixpkgs/pkgs/development/python-modules/minio/default.nix
index e76ffe0c8090..5181d8bef54e 100644
--- a/nixpkgs/pkgs/development/python-modules/minio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/minio/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "minio";
-  version = "7.1.16";
+  version = "7.1.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "minio";
     repo = "minio-py";
     rev = "refs/tags/${version}";
-    hash = "sha256-avGCAaqP2gLlrLDFzUJZW/KaT2lrueVjgsAJSk1eyX0=";
+    hash = "sha256-I0Q1SkZ1zQ9s2HbMTc2EzUnnOti14zQBxHVJasaukug=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mirakuru/default.nix b/nixpkgs/pkgs/development/python-modules/mirakuru/default.nix
new file mode 100644
index 000000000000..4376c9387fcf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mirakuru/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, setuptools
+, psutil
+, netcat
+, ps
+, python-daemon
+}:
+
+buildPythonPackage rec {
+  pname = "mirakuru";
+  version = "2.5.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "ClearcodeHQ";
+    repo = "mirakuru";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-jBsSvIy2FaAYlDZLjJXl9hyCiK+nk/cM5j128f24dRc=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [ psutil ];
+
+  nativeCheckInputs = [
+    netcat.nc
+    ps
+    python-daemon
+    pytestCheckHook
+  ];
+  pythonImportsCheck = [ "mirakuru" ];
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/mirakuru";
+    description = "Process orchestration tool designed for functional and integration tests";
+    changelog = "https://github.com/ClearcodeHQ/mirakuru/blob/v${version}/CHANGES.rst";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mistletoe/default.nix b/nixpkgs/pkgs/development/python-modules/mistletoe/default.nix
index 98844b1e8e51..c95a26eb6e04 100644
--- a/nixpkgs/pkgs/development/python-modules/mistletoe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mistletoe/default.nix
@@ -1,20 +1,21 @@
 { lib
 , fetchPypi
 , buildPythonPackage
+, parameterized
 , pythonOlder
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "mistletoe";
-  version = "1.0.1";
+  version = "1.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sfia+weaGxpULp7ywI3UUKB6K9k1wDyrIsMorXyk2Og=";
+    hash = "sha256-fQwas3RwR9Fp+fxLkl0cuj9cE+rwuQw2W3LkflnQCgI=";
   };
 
   pythonImportsCheck = [
@@ -22,6 +23,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    parameterized
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/mistune/default.nix b/nixpkgs/pkgs/development/python-modules/mistune/default.nix
index 2023b478cb85..38e2c21ba66a 100644
--- a/nixpkgs/pkgs/development/python-modules/mistune/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mistune/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
 , setuptools
@@ -8,15 +8,17 @@
 
 buildPythonPackage rec {
   pname = "mistune";
-  version = "3.0.1";
+  version = "3.0.2";
 
   disabled = pythonOlder "3.7";
 
   format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-6RIRbBOqCUT53FMNs464j2p3CHqxKPSfhKSPTAXqFjw=";
+  src = fetchFromGitHub {
+    owner = "lepture";
+    repo = "mistune";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-OoTiqJ7hsFP1Yx+7xW3rL+Yc/O2lCMdhBBbaZucyZXM=";
   };
 
   nativeBuildInputs = [
@@ -30,7 +32,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "mistune" ];
 
   meta = with lib; {
-    changelog = "https://github.com/lepture/mistune/blob/v${version}/docs/changes.rst";
+    changelog = "https://github.com/lepture/mistune/blob/${src.rev}/docs/changes.rst";
     description = "A sane Markdown parser with useful plugins and renderers";
     homepage = "https://github.com/lepture/mistune";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/mizani/default.nix b/nixpkgs/pkgs/development/python-modules/mizani/default.nix
index 8e9975fb223d..467da5dd80af 100644
--- a/nixpkgs/pkgs/development/python-modules/mizani/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mizani/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "mizani";
-  version = "0.9.2";
+  version = "0.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "has2k1";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-6jdQxRqulE5hIzzmdr9kR5gsLrzt0lfJun5blJjTUY0=";
+    hash = "sha256-JrE12dU0Es4VwUZLcbB8mabifnpxZ7Qt68WJ22HvPm4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix
index 92470b9b4903..926b6db02e5b 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-jupyter";
-  version = "0.24.2";
+  version = "0.24.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,12 +23,12 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "mkdocs_jupyter";
     inherit version;
-    hash = "sha256-XgwQnVNdSHlyMHGbaUH00I3pWno8lb8VhmLEEvwVyy4=";
+    hash = "sha256-+ngEh5pidwJJfir66kCj2xy90qOroORBd4LdJMqJm7M=";
   };
 
   postPatch = ''
     sed -i "/--cov/d" pyproject.toml
-    substituteInPlace mkdocs_jupyter/tests/test_base_usage.py \
+    substituteInPlace src/mkdocs_jupyter/tests/test_base_usage.py \
       --replace "[\"mkdocs\"," "[\"${mkdocs.out}/bin/mkdocs\","
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs-material/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs-material/default.nix
index 7f45b1ecc7ae..59c433145b02 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs-material/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-material/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-material";
-  version = "9.1.13";
+  version = "9.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "squidfunk";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-S+cCNcQR8Y1UGj+4Nfy9Z10N/9PRq13fSeR2YFntxWI=";
+    hash = "sha256-2Z1U71agXxkYp1OFYd/xInAfN5SVI9FQf39b8DkX10o=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix
index 54499fdbd07d..86037b0c18ec 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-mermaid2-plugin";
-  version = "1.0.8";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "fralau";
     repo = "mkdocs-mermaid2-plugin";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0h/EMfp6D14ZJcQe3U2r/RQ/VNejOK9bLP6AMNiB0Rc=";
+    hash = "sha256-9vYLkGUnL+rnmZntcgFzOvXQdf6angb9DRsmrBjnPUY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
index ff9326a8ba7d..f28fbf5ff7b6 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-swagger-ui-tag";
-  version = "0.6.4";
+  version = "0.6.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Blueswen";
     repo = "mkdocs-swagger-ui-tag";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/Spvj3lt7p+ZUbA/7xaQMLCSmHOOsoCRliqaAN+YU3g=";
+    hash = "sha256-08/nwJC7p5pwSXJicoJbZ8Xsc3yOvxWxzaCIS6aQ9uI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs/default.nix
index ac3c2c851c63..61c8bdcd13c1 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs/default.nix
@@ -14,8 +14,11 @@
 , importlib-metadata
 , jinja2
 , markdown
+, markupsafe
 , mergedeep
 , packaging
+, pathspec
+, platformdirs
 , pyyaml
 , pyyaml-env-tag
 , watchdog
@@ -28,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs";
-  version = "1.4.2";
+  version = "1.5.2";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -36,29 +39,28 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-/NxiKbCd2acYcNe5ww3voM9SGVE2IDqknngqApkDbNs=";
+    hash = "sha256-9sV1bewsHVJEc2kTyGxDM6SjDTEKEc/HSY6gWBC5tvE=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "Markdown >=3.2.1, <3.4" "Markdown"
-  '';
-
   nativeBuildInputs = [
     hatchling
   ];
 
   propagatedBuildInputs = [
     click
+    ghp-import
     jinja2
     markdown
+    markupsafe
     mergedeep
+    packaging
+    pathspec
+    platformdirs
     pyyaml
     pyyaml-env-tag
-    ghp-import
-    importlib-metadata
     watchdog
-    packaging
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix
index 3fc681de70ea..27caba7aae10 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.0";
+  version = "1.7.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = "python";
     rev = "refs/tags/${version}";
-    hash = "sha256-akN9/h7jh0SFY1GZ1YlwMw33/RmycekMs0nWpUHLu6Y=";
+    hash = "sha256-r/N2ZGqA1cYFkP4Ai8p6utIw/m+FiNBVbpL4Y0EO2ds=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocstrings/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocstrings/default.nix
index fbbdb91feb2d..d8fb50f586b2 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocstrings/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocstrings/default.nix
@@ -8,13 +8,13 @@
 , mkdocs-autorefs
 , pymdown-extensions
 , pytestCheckHook
-, pdm-pep517
+, pdm-backend
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "mkdocstrings";
-  version = "0.21.2";
+  version = "0.23.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "mkdocstrings";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-pi0BEe/zhG/V9wh2CO91Cc7Mze93+2tbVo6/2LGQ6Nw=";
+    hash = "sha256-t7wxm600XgYl1jsqjOpZdWcmqR9qafdKTaz/xDPdDPY=";
   };
 
   postPatch = ''
@@ -33,7 +33,7 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
-    pdm-pep517
+    pdm-backend
   ];
 
   propagatedBuildInputs = [
@@ -61,6 +61,8 @@ buildPythonPackage rec {
   disabledTests = [
     # Not all requirements are available
     "test_disabling_plugin"
+    # Circular dependency on mkdocstrings-python
+    "test_extended_templates"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/ml-dtypes/default.nix b/nixpkgs/pkgs/development/python-modules/ml-dtypes/default.nix
index 4a2948ca3e73..9b99c06ce40a 100644
--- a/nixpkgs/pkgs/development/python-modules/ml-dtypes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ml-dtypes/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, fetchpatch
 , setuptools
 , pybind11
 , numpy
@@ -11,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "ml-dtypes";
-  version = "0.3.0";
+  version = "0.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,13 +21,21 @@ buildPythonPackage rec {
     owner = "jax-ml";
     repo = "ml_dtypes";
     rev = "refs/tags/v${version}";
-    hash = "sha256-crBTPQeRjgykkIpWx95ypyDeA/RRjWIasg9MR2r2yIU=";
+    hash = "sha256-tuqB5itrAkT2b76rgRAJaOeng4V83TzPu400DPYrdKU=";
     # Since this upstream patch (https://github.com/jax-ml/ml_dtypes/commit/1bfd097e794413b0d465fa34f2eff0f3828ff521),
     # the attempts to use the nixpkgs packaged eigen dependency have failed.
     # Hence, we rely on the bundled eigen library.
     fetchSubmodules = true;
   };
 
+  patches = [
+    # See https://github.com/jax-ml/ml_dtypes/issues/106.
+    (fetchpatch {
+      url = "https://github.com/jax-ml/ml_dtypes/commit/c082a2df6bc0686b35c4b4a303fd1990485e181f.patch";
+      hash = "sha256-aVJy9vT00b98xOrJCdbCHSZBI3uyjafmN88Z2rjBS48=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace "numpy~=1.21.2" "numpy" \
diff --git a/nixpkgs/pkgs/development/python-modules/mlflow/default.nix b/nixpkgs/pkgs/development/python-modules/mlflow/default.nix
index 14f4b76b48cf..41ebc9545cef 100644
--- a/nixpkgs/pkgs/development/python-modules/mlflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mlflow/default.nix
@@ -38,14 +38,14 @@
 
 buildPythonPackage rec {
   pname = "mlflow";
-  version = "2.5.0";
+  version = "2.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+ZKujqnHNQI0S69IxOxEeqnvv6iWW8CQho5hYyNPTrA=";
+    hash = "sha256-3q8PXydgjpUm1p//zKcMgirJDqKQpvPkuz36GyCbARE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/mlxtend/default.nix b/nixpkgs/pkgs/development/python-modules/mlxtend/default.nix
index 6f9294e83b13..0da165ada2b6 100644
--- a/nixpkgs/pkgs/development/python-modules/mlxtend/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mlxtend/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "mlxtend";
-  version = "0.21.0";
+  version = "0.22.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rasbt";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7G4tIoQGS7/YPpAhUn0CRf8fl/DdjdqySPWgJEL0trA=";
+    hash = "sha256-YLCNLpg2qrdFon0/gdggJd9XovHwRHAdleBFQc18qzE=";
   };
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/mmcv/default.nix b/nixpkgs/pkgs/development/python-modules/mmcv/default.nix
index fcc59e417c0c..923e40d02fcf 100644
--- a/nixpkgs/pkgs/development/python-modules/mmcv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mmcv/default.nix
@@ -12,6 +12,7 @@
 , addict
 , ninja
 , which
+, pybind11
 , onnx
 , onnxruntime
 , scipy
@@ -49,16 +50,16 @@ let
 in
 buildPythonPackage rec {
   pname = "mmcv";
-  version = "2.0.0";
+  version = "2.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "open-mmlab";
-    repo = pname;
+    repo = "mmcv";
     rev = "refs/tags/v${version}";
-    hash = "sha256-36PcvoB0bM0VoNb2psURYFo3krmgHG47OufU6PVjHyw=";
+    hash = "sha256-an78tRvx18zQ5Q0ca74r4Oe2gJ9F9OfWXLbuP2+rL68=";
   };
 
   preConfigure = ''
@@ -96,7 +97,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [ ninja which ]
     ++ lib.optionals cudaSupport [ cuda-native-redist ];
 
-  buildInputs = [ torch ] ++ lib.optionals cudaSupport [ cuda-redist ];
+  buildInputs = [ pybind11 torch ] ++ lib.optionals cudaSupport [ cuda-redist ];
 
   nativeCheckInputs = [ pytestCheckHook torchvision lmdb onnx onnxruntime scipy pyturbojpeg tifffile ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/mne-python/default.nix b/nixpkgs/pkgs/development/python-modules/mne-python/default.nix
index 46bc25672e18..940c633d4115 100644
--- a/nixpkgs/pkgs/development/python-modules/mne-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mne-python/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "mne-python";
-  version = "1.3.1";
+  version = "1.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "mne-tools";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jvrk6m1Cd5ig2LXq6sAIbHDhmtG1gH/7WNAc7oet+tg=";
+    hash = "sha256-djVQkj8ktIOxe1xmi+XuIvdS1WdDzozgTJNJhWAhuBo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mobi/default.nix b/nixpkgs/pkgs/development/python-modules/mobi/default.nix
new file mode 100644
index 000000000000..262e724a7b53
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mobi/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+
+, loguru
+, poetry-core
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "mobi";
+  version = "0.3.3";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "iscc";
+    repo = "mobi";
+    rev = "v${version}";
+    hash = "sha256-g1L72MkJdrKQRsEdew+Qsn8LfCn8+cmj2pmY6s4nv2U=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    loguru
+  ];
+
+  pythonImportsCheck = [
+    "mobi"
+  ];
+
+  meta = with lib; {
+    description = "Library for unpacking unencrypted mobi files";
+    homepage = "https://github.com/iscc/mobi";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ paveloom ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mocket/default.nix b/nixpkgs/pkgs/development/python-modules/mocket/default.nix
index ff8d2856cc99..49125a286e90 100644
--- a/nixpkgs/pkgs/development/python-modules/mocket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mocket/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "mocket";
-  version = "3.11.0";
+  version = "3.11.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OIdLP3hHnPZ9MqrHt6G5t2SSO342+jTACgzxM6RjVYM=";
+    hash = "sha256-sEPLUN9nod4AKYcoCNQZ4FBblUCLCPV1dFOrNC6xDWo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mockfs/default.nix b/nixpkgs/pkgs/development/python-modules/mockfs/default.nix
new file mode 100644
index 000000000000..234a3d14d696
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mockfs/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, setuptools-scm
+, wheel
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "mockfs";
+  version = "1.1.4";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "mockfs";
+    repo = "mockfs";
+    rev = "v${version}";
+    hash = "sha256-JwSkOI0dz9ZetfE0ZL3CthvcCSXGFYX+yQZy/oC6VBk=";
+  };
+
+  postPatch = ''
+    sed -i '/addopts/d' pytest.ini
+  '';
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
+
+  pythonImportsCheck = [ "mockfs" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "A simple mock filesystem for use in unit tests";
+    homepage = "https://github.com/mockfs/mockfs";
+    changelog = "https://github.com/mockfs/mockfs/blob/${src.rev}/CHANGES.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/model-bakery/default.nix b/nixpkgs/pkgs/development/python-modules/model-bakery/default.nix
index 12f47a9e80d0..d03bcb2c50e0 100644
--- a/nixpkgs/pkgs/development/python-modules/model-bakery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/model-bakery/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "model-bakery";
-  version = "1.15.0";
+  version = "1.16.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "model-bakers";
     repo = "model_bakery";
     rev = "refs/tags/${version}";
-    hash = "sha256-gB6lcLymkajRoeOQ70kmZVlBI7oeZgQo1VySfPGeQLQ=";
+    hash = "sha256-pLGSrwRsbxB5no9nQr1THr9wXrtISOMqHrW+FeZ24Bw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/modelcif/default.nix b/nixpkgs/pkgs/development/python-modules/modelcif/default.nix
new file mode 100644
index 000000000000..e3bfea707429
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/modelcif/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, wheel
+, ihm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "modelcif";
+  version = "0.9";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "ihmwg";
+    repo = "python-modelcif";
+    rev = "refs/tags/${version}";
+    hash = "sha256-u+e2QtG6gO1e31OzPfAuzfCkwZymEZMxa2p0haYplAk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    ihm
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # require network access
+    "test_validate_mmcif_example"
+    "test_validate_modbase_example"
+  ];
+
+  pythonImportsCheck = [ "modelcif" ];
+
+  meta = with lib; {
+    description = "Python package for handling ModelCIF mmCIF and BinaryCIF files";
+    homepage = "https://github.com/ihmwg/python-modelcif";
+    changelog = "https://github.com/ihmwg/python-modelcif/blob/${src.rev}/ChangeLog.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/monai-deploy/default.nix b/nixpkgs/pkgs/development/python-modules/monai-deploy/default.nix
index 85c23a39c77a..e3a4f2418d16 100644
--- a/nixpkgs/pkgs/development/python-modules/monai-deploy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/monai-deploy/default.nix
@@ -13,9 +13,9 @@
 }:
 
 buildPythonPackage rec {
-  pname = "monai";
-  version = "0.5.0";
-  format = "pyproject";
+  pname = "monai-deploy";
+  version = "0.5.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Project-MONAI";
     repo = "monai-deploy-app-sdk";
     rev = "refs/tags/${version}";
-    hash = "sha256-oaNZ0US0YR/PSwAZ5GfRpAW+HRYVhdCZI83fC00rgok=";
+    hash = "sha256-a5WtU+1XjsYsXB/uZS8ufE0fOOWDf+Wy7mOX2xPEQEg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/monai/default.nix b/nixpkgs/pkgs/development/python-modules/monai/default.nix
index 9e896e81e6f5..c2e27b23d039 100644
--- a/nixpkgs/pkgs/development/python-modules/monai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/monai/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "monai";
-  version = "1.2.0";
+  version = "1.3.0";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "Project-MONAI";
     repo = "MONAI";
     rev = "refs/tags/${version}";
-    hash = "sha256-nMxROOBkLPmw1GRKiZq6WGJq93LOpSg/7zIVOg+WzC8=";
+    hash = "sha256-h//igmSV1cPAFifE1woIluSyGwZBRByYMLqeY3oLHnk=";
   };
 
   # Ninja is not detected by setuptools for some reason even though it's present:
diff --git a/nixpkgs/pkgs/development/python-modules/mongoengine/default.nix b/nixpkgs/pkgs/development/python-modules/mongoengine/default.nix
index cb0be3e5ea9f..c4b7b7135e2b 100644
--- a/nixpkgs/pkgs/development/python-modules/mongoengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mongoengine/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "mongoengine";
-  version = "0.26.0";
+  version = "0.27.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "MongoEngine";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-mPz9Nyoyke++e9vBWSKunc9VGHCP8pbmldgKty5HIMA=";
+    hash = "sha256-UCd7RpsSNDKh3vgVRYrFYWYVLQuK7WI0n/Moukhq5dM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/monty/default.nix b/nixpkgs/pkgs/development/python-modules/monty/default.nix
index 37107a1b1b52..cebb9c382c7c 100644
--- a/nixpkgs/pkgs/development/python-modules/monty/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/monty/default.nix
@@ -9,12 +9,13 @@
 , pytestCheckHook
 , pythonOlder
 , ruamel-yaml
+, torch
 , tqdm
 }:
 
 buildPythonPackage rec {
   pname = "monty";
-  version = "2023.4.10";
+  version = "2023.9.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +24,7 @@ buildPythonPackage rec {
     owner = "materialsvirtuallab";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-9of56ErJ03hU+KqxUjR4IiyU4XLJoothSwODlzSWv9Y=";
+    hash = "sha256-VzOu0gLQcobWQs8uMFzI4CyN+1OVx94VqhJYB+rMpMI=";
   };
 
   postPatch = ''
@@ -43,6 +44,7 @@ buildPythonPackage rec {
     pydantic
     pymongo
     pytestCheckHook
+    torch
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/more-itertools/default.nix b/nixpkgs/pkgs/development/python-modules/more-itertools/default.nix
index f52432361893..df3804095665 100644
--- a/nixpkgs/pkgs/development/python-modules/more-itertools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/more-itertools/default.nix
@@ -9,15 +9,15 @@
 
 buildPythonPackage rec {
   pname = "more-itertools";
-  version = "9.1.0";
-  format = "flit";
+  version = "10.1.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yrqjQa0DieqDwXqUVmpTrkydBzSYYeyxTcbQNFz5rF0=";
+    hash = "sha256-Ymw2n6DrN7rAKRvOglmzMv1ZrHkvpUl7WYNzCc1bEUo=";
   };
 
-  nativeBuildInouts = [
+  nativeBuildInputs = [
     flit-core
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/moto/default.nix b/nixpkgs/pkgs/development/python-modules/moto/default.nix
index c30fc5311d04..73e95a6e1ead 100644
--- a/nixpkgs/pkgs/development/python-modules/moto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moto/default.nix
@@ -33,6 +33,7 @@
 
 # tests
 , freezegun
+, py-partiql-parser
 , pytestCheckHook
 , pytest-xdist
 , sure
@@ -40,14 +41,14 @@
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "4.1.3";
+  version = "4.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yCAMyqlEDC6dqgvV4L12inGdtaLILqjXgvDj+gmjxeI=";
+    hash = "sha256-7jTEw/U5ANlTGAlGkgyduhJ6SD4u1A5tv5PUri52Dnw=";
   };
 
   nativeBuildInputs = [
@@ -83,6 +84,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     freezegun
+    py-partiql-parser
     pytestCheckHook
     sure
   ];
@@ -105,12 +107,21 @@ buildPythonPackage rec {
     "--deselect=tests/test_iotdata/test_iotdata.py::test_basic"
     "--deselect=tests/test_iotdata/test_iotdata.py::test_delete_field_from_device_shadow"
     "--deselect=tests/test_iotdata/test_iotdata.py::test_publish"
-    "--deselect=tests/test_s3/test_server.py::test_s3_server_bucket_versioning"
+    "--deselect=tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data"
+    "--deselect=tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests"
     "--deselect=tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header"
+    "--deselect=tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers"
+    "--deselect=tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers"
+    "--deselect=tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body"
+    "--deselect=tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url"
+    "--deselect=tests/test_s3/test_server.py::test_s3_server_bucket_versioning"
+    "--deselect=tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins"
 
     # Disable tests that require docker daemon
+    "--deselect=tests/test_core/test_docker.py::test_docker_is_running_and_available"
     "--deselect=tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda"
     "--deselect=tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda"
+    "--deselect=tests/test_sqs/test_sqs_integration.py"
 
     # json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
     "--deselect=tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function"
diff --git a/nixpkgs/pkgs/development/python-modules/motor/default.nix b/nixpkgs/pkgs/development/python-modules/motor/default.nix
index 704c8697ce8d..3e4cf4d574ad 100644
--- a/nixpkgs/pkgs/development/python-modules/motor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/motor/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "motor";
-  version = "3.1.1";
+  version = "3.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "mongodb";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-PD41ZyUFY4fYaO4Fo7kiTWcn1a6LOd81K3PWAAagmr4=";
+    hash = "sha256-iJz3JiW9cVT3G1rLQwWQXcPfPBRGsIwVLs4gauM+pYo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix b/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
index 887c5446d53c..eaf7d30efb5d 100644
--- a/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "mpi4py";
-  version = "3.1.4";
+  version = "3.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-F4WPLrxiMiDQEg0fqNQo0DPd50nEvDWzPYGmatf5NIA=";
+    hash = "sha256-pwbnbbklUTXC+10e9Uy097DkrZ4zy62n3idiYgXyoVM=";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/python-modules/mplhep/default.nix b/nixpkgs/pkgs/development/python-modules/mplhep/default.nix
index 63a81c47e303..c39b24a17f31 100644
--- a/nixpkgs/pkgs/development/python-modules/mplhep/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mplhep/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "mplhep";
-  version = "0.3.28";
+  version = "0.3.31";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/7nfjIdlYoouDOI1vXdr9BSml5gpE0gad7ONAUmOCiE=";
+    hash = "sha256-aZwazbDljRncB2p7qD95Cms0uQBU8tciUrXcKpsyVTM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mrsqm/default.nix b/nixpkgs/pkgs/development/python-modules/mrsqm/default.nix
index 3bbe69f2d4e5..d9748df70785 100644
--- a/nixpkgs/pkgs/development/python-modules/mrsqm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mrsqm/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "mrsqm";
-  version = "0.0.4";
+  version = "0.0.6";
   format = "setuptools";
 
-  disable = pythonOlder "3.8";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kg9GSgtBpnCF+09jyP5TRwZh0tifxx4WRtQGn8bLH8c=";
+    hash = "sha256-dBwWiJEL76aXqM2vKn4uQsd86Rm3bMeDSsRRs/aLWCE=";
   };
 
   buildInputs = [ fftw ];
@@ -33,12 +33,15 @@ buildPythonPackage rec {
     numpy
   ];
 
-  doCheck = false; # Package has no tests
+  # Package has no tests
+  doCheck = false;
+
   pythonImportsCheck = [ "mrsqm" ];
 
   meta = with lib; {
     description = "MrSQM (Multiple Representations Sequence Miner) is a time series classifier";
     homepage = "https://pypi.org/project/mrsqm";
+    changelog = "https://github.com/mlgig/mrsqm/releases/tag/v.${version}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ mbalatsko ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/msal/default.nix b/nixpkgs/pkgs/development/python-modules/msal/default.nix
index 123008106b8e..31febd203db8 100644
--- a/nixpkgs/pkgs/development/python-modules/msal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msal/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "msal";
-  version = "1.23.0";
+  version = "1.24.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JcmjOs+EMB+T0f2+nxqcYM04rw1f/9v6N4E4/HvB6Gs=";
+    hash = "sha256-fS7NrUGl9zuyuBPzBhpM9HySRiEQWo7RN1hvy52Pgn4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/msgpack/default.nix b/nixpkgs/pkgs/development/python-modules/msgpack/default.nix
index 18287c641989..d44166b82f7d 100644
--- a/nixpkgs/pkgs/development/python-modules/msgpack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msgpack/default.nix
@@ -4,6 +4,7 @@
 , pytestCheckHook
 , pythonOlder
 , setuptools
+, borgbackup
 }:
 
 buildPythonPackage rec {
@@ -30,6 +31,12 @@ buildPythonPackage rec {
     "msgpack"
   ];
 
+  passthru.tests = {
+    # borgbackup is sensible to msgpack versions: https://github.com/borgbackup/borg/issues/3753
+    # please be mindful before bumping versions.
+    inherit borgbackup;
+  };
+
   meta = with lib;  {
     description = "MessagePack serializer implementation";
     homepage = "https://github.com/msgpack/msgpack-python";
diff --git a/nixpkgs/pkgs/development/python-modules/msgspec/default.nix b/nixpkgs/pkgs/development/python-modules/msgspec/default.nix
index f5ae1860039c..b2039e23c6ed 100644
--- a/nixpkgs/pkgs/development/python-modules/msgspec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msgspec/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "msgspec";
-  version = "0.18.2";
+  version = "0.18.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "jcrist";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-t5TM7CgVIxdXR6jMOXh1XhpA9vBrYHBcR2iLYP4A/Jc=";
+    hash = "sha256-u1mrj/pHvlbSwh6QtRdJKuVGN1zQ6mRITi/qzrCHnhk=";
   };
 
   # Requires libasan to be accessible
diff --git a/nixpkgs/pkgs/development/python-modules/msldap/default.nix b/nixpkgs/pkgs/development/python-modules/msldap/default.nix
index 472ff27efc96..dc7613354743 100644
--- a/nixpkgs/pkgs/development/python-modules/msldap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/msldap/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "msldap";
-  version = "0.5.5";
+  version = "0.5.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ewE3rECsydNFgfh53X/oB/VyXd54nSpVsxMRZPGuR3I=";
+    hash = "sha256-6gTUPtGQKJSd7HpMRRlw87Iu3I1L2ea2F+QQs1U1jIM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/multipledispatch/default.nix b/nixpkgs/pkgs/development/python-modules/multipledispatch/default.nix
index ed55b0421cd8..0953e46a5545 100644
--- a/nixpkgs/pkgs/development/python-modules/multipledispatch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/multipledispatch/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "multipledispatch";
-  version = "0.6.0";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a7ab1451fd0bf9b92cab3edbd7b205622fb767aeefb4fb536c2e3de9e0a38bea";
+    sha256 = "sha256-XIOZFUZcaCBsPpxHM1eQghbCg4O0JTYeXRRFlL+Fp+A=";
   };
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/multiprocess/default.nix b/nixpkgs/pkgs/development/python-modules/multiprocess/default.nix
index 962a70726adb..647281b8b4ee 100644
--- a/nixpkgs/pkgs/development/python-modules/multiprocess/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/multiprocess/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "multiprocess";
-  version = "0.70.14";
+  version = "0.70.15";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "uqfoundation";
     repo = pname;
     rev = "refs/tags/multiprocess-${version}";
-    hash = "sha256-pjYOEOI5No9gT0XchmH6FSJ9uDqEnaLj/PyHT2a90jo=";
+    hash = "sha256-fpyFBrQXy5TwbHmce3qg1RiM8JnH3J5skl3es1IQPiw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/munch/default.nix b/nixpkgs/pkgs/development/python-modules/munch/default.nix
index f6ca7c1d6905..0ff62dcbee2b 100644
--- a/nixpkgs/pkgs/development/python-modules/munch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/munch/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "munch";
-  version = "2.5.0";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2d735f6f24d4dba3417fa448cae40c6e896ec1fdab6cdb5e6510999758a4dbd2";
+    sha256 = "sha256-VCyxUUYSYyFqTjfD/Zr8Ql/urziqowJc0qmB+ttCIjU=";
   };
 
   propagatedBuildInputs = [ six pbr ];
diff --git a/nixpkgs/pkgs/development/python-modules/mung/default.nix b/nixpkgs/pkgs/development/python-modules/mung/default.nix
index 0e5528c112df..03fcd29dba75 100644
--- a/nixpkgs/pkgs/development/python-modules/mung/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mung/default.nix
@@ -1,47 +1,49 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , lxml
-, matplotlib
-, midiutil
 , numpy
 , pytestCheckHook
 , scikit-image
-, scikit-learn
 }:
 let
-  rev = "8d0ce91d831b0592c111ddb38fc9aa8eba130ed2";
+  version = "1.2";
 in
 buildPythonPackage {
   pname = "mung";
-  version = "unstable-2022-07-10";
+  inherit version;
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "OMR-Research";
     repo = "mung";
-    inherit rev;
-    hash = "sha256-QzCkB9Wj4dTPuMCMweFw6IsSwBBzV0Nfx7+VX7Plnio=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-NSKaJkJRevTy5gh6/ik8Qe46bOPdznsmXPgh7Xz7vXQ=";
   };
 
-  format = "setuptools";
+  nativeBuildInputs = [
+    setuptools
+  ];
 
   propagatedBuildInputs = [
     lxml
     numpy
     scikit-image
-    scikit-learn
-    matplotlib
-    midiutil
   ];
 
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "mung"
+  ];
+
   meta = with lib; {
     description = "Music Notation Graph: a data model for optical music recognition";
     homepage = "https://github.com/OMR-Research/mung";
-    changelog = "https://github.com/OMR-Research/mung/blob/${rev}/CHANGES.md";
+    changelog = "https://github.com/OMR-Research/mung/blob/${version}/CHANGES.md";
     license = licenses.mit;
     maintainers = with maintainers; [ piegames ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mypy-boto3-ebs/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-boto3-ebs/default.nix
deleted file mode 100644
index 8b22c42f0f7b..000000000000
--- a/nixpkgs/pkgs/development/python-modules/mypy-boto3-ebs/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, boto3
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
-, typing-extensions
-}:
-
-buildPythonPackage rec {
-  pname = "mypy-boto3-ebs";
-  version = "1.28.36";
-  format = "setuptools";
-
-  disabled = pythonOlder "3.7";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-w9OLKJAn9UBnA7x+uedhplSV8plZRYlBpviU9Gv1Ny8=";
-  };
-
-  propagatedBuildInputs = [
-    boto3
-    typing-extensions
-  ];
-
-  # Project has no tests
-  doCheck = false;
-
-  pythonImportsCheck = [
-    "mypy_boto3_ebs"
-  ];
-
-  meta = with lib; {
-    description = "Type annotations for boto3.s3";
-    homepage = "https://github.com/youtype/mypy_boto3_builder";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ fab ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix
deleted file mode 100644
index 91df8b1ce0bc..000000000000
--- a/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib
-, boto3
-, buildPythonPackage
-, cython_3
-, fetchPypi
-, pythonOlder
-, typing-extensions
-}:
-
-buildPythonPackage rec {
-  pname = "mypy-boto3-s3";
-  version = "1.28.52";
-  format = "setuptools";
-
-  disabled = pythonOlder "3.7";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-F5y3VCzF72VvEyOtUesjevy6d9Hl7QfSGgE/427/uLI=";
-  };
-
-  nativeBuildInputs = [
-    cython_3
-  ];
-
-  propagatedBuildInputs = [
-    boto3
-  ] ++ lib.optionals (pythonOlder "3.12") [
-    typing-extensions
-  ];
-
-  # Project has no tests
-  doCheck = false;
-
-  pythonImportsCheck = [
-    "mypy_boto3_s3"
-  ];
-
-  meta = with lib; {
-    description = "Type annotations for boto3.s3";
-    homepage = "https://github.com/youtype/mypy_boto3_builder";
-    changelog = "https://github.com/youtype/mypy_boto3_builder/releases/tag/${version}";
-    license = with licenses; [ mit ];
-    maintainers = with maintainers; [ fab ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/mypy-boto3/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-boto3/default.nix
new file mode 100644
index 000000000000..e3436bbb6b1a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mypy-boto3/default.nix
@@ -0,0 +1,755 @@
+{ lib
+, boto3
+, buildPythonPackage
+, pythonOlder
+, typing-extensions
+, fetchPypi
+}:
+let
+  toUnderscore = str: builtins.replaceStrings [ "-" ] [ "_" ] str;
+
+  buildMypyBoto3Package = serviceName: version: hash:
+    buildPythonPackage rec {
+      pname = "mypy-boto3-${serviceName}";
+      inherit version;
+      format = "setuptools";
+
+      disabled = pythonOlder "3.7";
+
+      src = fetchPypi {
+        inherit pname version hash;
+      };
+
+      propagatedBuildInputs = [
+        boto3
+      ] ++ lib.optionals (pythonOlder "3.12") [
+        typing-extensions
+      ];
+
+      # Project has no tests
+      doCheck = false;
+
+      pythonImportsCheck = [
+        "mypy_boto3_${toUnderscore serviceName}"
+      ];
+
+      meta = with lib; {
+        description = "Type annotations for boto3 ${serviceName}";
+        homepage = "https://github.com/youtype/mypy_boto3_builder";
+        license = with licenses; [ mit ];
+        maintainers = with maintainers; [ fab mbalatsko ];
+      };
+    };
+in
+rec {
+  mypy-boto3-accessanalyzer = buildMypyBoto3Package "accessanalyzer" "1.28.36" "sha256-1gfL7x81tTVZlYL8UwoI5k8pDotu1byCWqP31CruRIo=";
+
+  mypy-boto3-account = buildMypyBoto3Package "account" "1.28.36" "sha256-RDGy7V+YgVlGufL+bFJ1xR5yi4xc2zkV+gTBdXdwkxk=";
+
+  mypy-boto3-acm = buildMypyBoto3Package "acm" "1.28.37" "sha256-NDYWiS7MM7z6mCpRASWh42IGsSTUvVzIJU0eH5V7JUI=";
+
+  mypy-boto3-acm-pca = buildMypyBoto3Package "acm-pca" "1.28.37" "sha256-l79J8dndeHBZTdXhYCUSa39lYFgcgM6/lIUQPx4HbRE=";
+
+  mypy-boto3-alexaforbusiness = buildMypyBoto3Package "alexaforbusiness" "1.28.37" "sha256-Rk2BLp1oqwOG+Rd9lal53RArPjIo1XMkmXhZJLiI6Ik=";
+
+  mypy-boto3-amp = buildMypyBoto3Package "amp" "1.28.36" "sha256-/iFfYQ2hwndbtOPnFx5GopCNOYi4uAAOTbD8Z8xFOoE=";
+
+  mypy-boto3-amplify = buildMypyBoto3Package "amplify" "1.28.36" "sha256-ORwKl4j3M+O9a/JVrfal2lCBOe8QEcjAWscEhRqPrxc=";
+
+  mypy-boto3-amplifybackend = buildMypyBoto3Package "amplifybackend" "1.28.36" "sha256-tx837SLt7DL1bD/bZl0egzVpClfJKaSY6p82yrcHWRQ=";
+
+  mypy-boto3-amplifyuibuilder = buildMypyBoto3Package "amplifyuibuilder" "1.28.54" "sha256-5Y2AacuMzVHdPntUyDts21bUzttM9t8EdBcwV1MHhyU=";
+
+  mypy-boto3-apigateway = buildMypyBoto3Package "apigateway" "1.28.36" "sha256-5GDltAso++KS+EKZPnvzrVFNAHN3SzDxxeE33mq6xoE=";
+
+  mypy-boto3-apigatewaymanagementapi = buildMypyBoto3Package "apigatewaymanagementapi" "1.28.36" "sha256-yh5Xd7rKl6eUZBvnqgVU3BEThbIoVOWA15UEYoFicLo=";
+
+  mypy-boto3-apigatewayv2 = buildMypyBoto3Package "apigatewayv2" "1.28.36" "sha256-ZSj0PoLQaUtqd0qLzU+Eg3YG0q6GwWEitKZCTfYergI=";
+
+  mypy-boto3-appconfig = buildMypyBoto3Package "appconfig" "1.28.52" "sha256-OjHFaTlMso7dbUCyNfOtbIgpRQYmVm7n0PoUZjOaf18=";
+
+  mypy-boto3-appconfigdata = buildMypyBoto3Package "appconfigdata" "1.28.36" "sha256-dGBUpgH/1QQ3nGxhkLWBW06ngmr+Iq2v9MqjrZ0vP1k=";
+
+  mypy-boto3-appfabric = buildMypyBoto3Package "appfabric" "1.28.36" "sha256-WN7nEPs2KweoGu7XUycFpp8i/bOWSlcr+6BZFSFh6KM=";
+
+  mypy-boto3-appflow = buildMypyBoto3Package "appflow" "1.28.42" "sha256-zUqO8SGKoA9umP2iKrw5VXC4pBBVqs4D9Ou/lJwEVBI=";
+
+  mypy-boto3-appintegrations = buildMypyBoto3Package "appintegrations" "1.28.55" "sha256-Sii5aQ9Y1YvpW1QLMXOeboLXzSR7RCZA6hDGvI39yWM=";
+
+  mypy-boto3-application-autoscaling = buildMypyBoto3Package "application-autoscaling" "1.28.36" "sha256-sxkmyfgk3FJPrS9SUJrHA4tNADM8g+wGaEEPnZjv2H4=";
+
+  mypy-boto3-application-insights = buildMypyBoto3Package "application-insights" "1.28.36" "sha256-jNzhi3ashmQFH7QRi28UY5ZZ/su8RwzhU1XzmunOiro=";
+
+  mypy-boto3-applicationcostprofiler = buildMypyBoto3Package "applicationcostprofiler" "1.28.36" "sha256-keA+JdfyJVGf388qcA0HTIq9bUiMeEbcg1/s/SI7mt4=";
+
+  mypy-boto3-appmesh = buildMypyBoto3Package "appmesh" "1.28.36" "sha256-1Cf+Mzgg0KDqBRpCWeCR0lbR5q8KJM+p/p2we6925b0=";
+
+  mypy-boto3-apprunner = buildMypyBoto3Package "apprunner" "1.28.55" "sha256-lBbqHhOqWoudqK4NDFNSpzR/UA/dLCHzFmZWQSNhJLY=";
+
+  mypy-boto3-appstream = buildMypyBoto3Package "appstream" "1.28.49" "sha256-5TgCIA4bbUHgxMcLHrWPEyIIYhjlCXZlvW8mYubA0+I=";
+
+  mypy-boto3-appsync = buildMypyBoto3Package "appsync" "1.28.36" "sha256-Qag3caLiBRlUWl+TbUQjGkoAbQk+CEbuzZAJgq21PdE=";
+
+  mypy-boto3-arc-zonal-shift = buildMypyBoto3Package "arc-zonal-shift" "1.28.36" "sha256-hTGtmMTWhsMqo+Vq2Bxtfo1sGezi1vD05LsQyGOl9Ps=";
+
+  mypy-boto3-athena = buildMypyBoto3Package "athena" "1.28.36" "sha256-p232qs49wdkbP3RkDWF80bSALl80iiLbLxbfzgsB7iY=";
+
+  mypy-boto3-auditmanager = buildMypyBoto3Package "auditmanager" "1.28.38" "sha256-t32bXFUOsVNVs+1Sagx2PIO7/Re6gN2cOevLj+7gbqo=";
+
+  mypy-boto3-autoscaling = buildMypyBoto3Package "autoscaling" "1.28.36" "sha256-3b2iUNeY/8ZcZZsyqHTNTsGMwWBxCeiOm+1Tpq+iYf8=";
+
+  mypy-boto3-autoscaling-plans = buildMypyBoto3Package "autoscaling-plans" "1.28.36" "sha256-Hx/rpODs11SdfZTQTcOYAIsPbiLDpreqLdbBHGIEp5E=";
+
+  mypy-boto3-backup = buildMypyBoto3Package "backup" "1.28.36" "sha256-LbGiDazOf32hEoxGTZlTtH9iTj+3ru+sCO0VAMCfN6E=";
+
+  mypy-boto3-backup-gateway = buildMypyBoto3Package "backup-gateway" "1.28.36" "sha256-AGbffUSt3ndl5a0B5nl9CYgYExaM1JLT53T9jVJxeno=";
+
+  mypy-boto3-backupstorage = buildMypyBoto3Package "backupstorage" "1.28.36" "sha256-Km6lRkCrsWep/kAlPXplbyfHyy5D5nnrd0j0v8FID00=";
+
+  mypy-boto3-batch = buildMypyBoto3Package "batch" "1.28.36" "sha256-SEDD3Fjd4y337atj+RVUKIvpUd0oCvje8gOF1/Rg7Gs=";
+
+  mypy-boto3-billingconductor = buildMypyBoto3Package "billingconductor" "1.28.41" "sha256-aUphZNHrTLUt4dOvg+GmZR7z3whq5jx2PVsjvcY0qS0=";
+
+  mypy-boto3-braket = buildMypyBoto3Package "braket" "1.28.53" "sha256-fMNDKmjx/2hUJHWEWcveYbsbIkiWUXTQSv4itP8zOas=";
+
+  mypy-boto3-budgets = buildMypyBoto3Package "budgets" "1.28.57" "sha256-Af6omXHyctUeXbEOQC/KoiE3ux88r/hyxlWQoMM1eF4=";
+
+  mypy-boto3-ce = buildMypyBoto3Package "ce" "1.28.36" "sha256-lBrKm4s1QPGTuZHtHt+uNhX9zsMhNuV0l23822IYIDI=";
+
+  mypy-boto3-chime = buildMypyBoto3Package "chime" "1.28.37" "sha256-fg8svfLvw+Rzhcr+HxrjHtXw9UE1vuccaOFvjfgxC58=";
+
+  mypy-boto3-chime-sdk-identity = buildMypyBoto3Package "chime-sdk-identity" "1.28.37" "sha256-r+UvZ213ffIOdmZ1V8MNtZN/i3ozeKfwv7VIvJZ4CRg=";
+
+  mypy-boto3-chime-sdk-media-pipelines = buildMypyBoto3Package "chime-sdk-media-pipelines" "1.28.54" "sha256-ewC4woDpDkGUBvPgjpcctkO860EJWHGvZrgCgXSsPbA=";
+
+  mypy-boto3-chime-sdk-meetings = buildMypyBoto3Package "chime-sdk-meetings" "1.28.36" "sha256-OZijI8aLKnnZnXf3q8LmePd9ncIrDj2zRq19tNlNQTk=";
+
+  mypy-boto3-chime-sdk-messaging = buildMypyBoto3Package "chime-sdk-messaging" "1.28.37" "sha256-qMLqjzniJfyVCfnMGiIPMRzQoIj309P5WDBjy1P7B8Y=";
+
+  mypy-boto3-chime-sdk-voice = buildMypyBoto3Package "chime-sdk-voice" "1.28.36" "sha256-e627SiCiQV38AzvYusuNEsD9XoYkTYYbaTMJ2odKzAo=";
+
+  mypy-boto3-cleanrooms = buildMypyBoto3Package "cleanrooms" "1.28.38" "sha256-fbuCwuzXiK9ekk30m90WZW7LcDFLeR/Ta9BvFnT/wnU=";
+
+  mypy-boto3-cloud9 = buildMypyBoto3Package "cloud9" "1.28.47" "sha256-vV+cqYs7msRzBkIIz4uA123QM54gFpi1q9lXo997BOk=";
+
+  mypy-boto3-cloudcontrol = buildMypyBoto3Package "cloudcontrol" "1.28.36" "sha256-DshOzjolyUCztdlOqxxvRlKIIJP6izeyhp2Wl6ObCrY=";
+
+  mypy-boto3-clouddirectory = buildMypyBoto3Package "clouddirectory" "1.28.36" "sha256-ikyPoBWFRXl95QylMg3rstBymj3HKZqQs0orb14Uorg=";
+
+  mypy-boto3-cloudformation = buildMypyBoto3Package "cloudformation" "1.28.48" "sha256-775Aczl4AIJCh8jVKmU4MRKGL5A7Fv1Ye1ETRJZSNxs=";
+
+  mypy-boto3-cloudfront = buildMypyBoto3Package "cloudfront" "1.28.36" "sha256-lY3dwCA/xw6YIgmmJeglC3/mHubiKNqPqrrif6ZreDc=";
+
+  mypy-boto3-cloudhsm = buildMypyBoto3Package "cloudhsm" "1.28.39" "sha256-1K3HPvtZSkQZD5/V9T0tXv6PC2NSoB5v5aR20OWV6kw=";
+
+  mypy-boto3-cloudhsmv2 = buildMypyBoto3Package "cloudhsmv2" "1.28.36" "sha256-mxvW/ge2gEkGF0rz4LJZCkEIveNGkt9ud5bqs4WhlBs=";
+
+  mypy-boto3-cloudsearch = buildMypyBoto3Package "cloudsearch" "1.28.36" "sha256-fEGcYuWWDHOalygjig2qdMn8A3T4vBYZIbZRHtRRQns=";
+
+  mypy-boto3-cloudsearchdomain = buildMypyBoto3Package "cloudsearchdomain" "1.28.36" "sha256-yRUv7XlIpCqkyFw+whHh07LUw0aKbcRa0UkR6zpVtCA=";
+
+  mypy-boto3-cloudtrail = buildMypyBoto3Package "cloudtrail" "1.28.36" "sha256-YUrRZ53Wdd4CCjq9VYRkAIGxu2wYTaqXF7Fp4DA7jM4=";
+
+  mypy-boto3-cloudtrail-data = buildMypyBoto3Package "cloudtrail-data" "1.28.36" "sha256-aUZYh0fTrcv1d56HRdu7u4CzAMiCvVlN/tKY1e7piLM=";
+
+  mypy-boto3-cloudwatch = buildMypyBoto3Package "cloudwatch" "1.28.36" "sha256-108mLOQPp+qUdIBWHlN2UO5pRrIIrAf2wM/a/BYAFEM=";
+
+  mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.28.52" "sha256-kmPzmdQj79l+8KY7Q/E4qTxCxAEhEPivYiR1Hh04qm0=";
+
+  mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.28.36" "sha256-po4qcd6jiYjqMQj7aP+eMzNJcmwjYP22Q92fHkx1q5U=";
+
+  mypy-boto3-codecatalyst = buildMypyBoto3Package "codecatalyst" "1.28.36" "sha256-IuFxPWpE6zCGfbVfhTBtueUSspeVaq9TrESkfHdrxI8=";
+
+  mypy-boto3-codecommit = buildMypyBoto3Package "codecommit" "1.28.36" "sha256-o/kVzldUZNfMmK3Ni5L0kOLjKLxsB93YwutqM5GvHqQ=";
+
+  mypy-boto3-codedeploy = buildMypyBoto3Package "codedeploy" "1.28.55" "sha256-jkN9DCiS5fKhBq7752gRzHwmfdohQBZOSNGaA1OxVbc=";
+
+  mypy-boto3-codeguru-reviewer = buildMypyBoto3Package "codeguru-reviewer" "1.28.36" "sha256-xUkKfYEBmqA0D8RKxbf8VF0XeYOgwNWh1y7ORnj1VpM=";
+
+  mypy-boto3-codeguru-security = buildMypyBoto3Package "codeguru-security" "1.28.36" "sha256-EU6VTdhzWLofMEFF0vOXTDpJI/BkC3FpSAz1rbtbFWA=";
+
+  mypy-boto3-codeguruprofiler = buildMypyBoto3Package "codeguruprofiler" "1.28.36" "sha256-DHUALwX0ec7rzaSsU0vASersuuHpJXY8cDI8cDhzgl0=";
+
+  mypy-boto3-codepipeline = buildMypyBoto3Package "codepipeline" "1.28.36" "sha256-isqRkPLovlkHgmBuuYDPBTaBlOdu3LgwajD+z3luO8c=";
+
+  mypy-boto3-codestar = buildMypyBoto3Package "codestar" "1.28.36" "sha256-+D1SBuI6JMA0ISBv5OiGkA43dOESGH4d4m8CUN4Uhxk=";
+
+  mypy-boto3-codestar-connections = buildMypyBoto3Package "codestar-connections" "1.28.36" "sha256-1K0mrUUO0ycP7uBCqnESd/iGiElL0eqJfwLTpgPH5a0=";
+
+  mypy-boto3-codestar-notifications = buildMypyBoto3Package "codestar-notifications" "1.28.36" "sha256-BYTeNmL6fKXD6Ym0Z3DOZvLaTqRwANDWfCcWs9TUZ+Y=";
+
+  mypy-boto3-cognito-identity = buildMypyBoto3Package "cognito-identity" "1.28.36" "sha256-fJIKiNsKDcoDtTIRMxbxpcO6QZOl8KnCn2qTkb4owLI=";
+
+  mypy-boto3-cognito-idp = buildMypyBoto3Package "cognito-idp" "1.28.56" "sha256-LmuBr551lvNWlyPbEFTAgZA4+XSeFX4tK8kbuabo2JU=";
+
+  mypy-boto3-cognito-sync = buildMypyBoto3Package "cognito-sync" "1.28.36" "sha256-Hx+/3Q+FLMeDRu+ijTl80WbmqjW/jzpW8eDar8hu/ro=";
+
+  mypy-boto3-comprehend = buildMypyBoto3Package "comprehend" "1.28.37" "sha256-OK8LtQoV2Ccqc4qjRBNJirRDM8wHR7VDzcgbaJNrGok=";
+
+  mypy-boto3-comprehendmedical = buildMypyBoto3Package "comprehendmedical" "1.28.36" "sha256-6uyeuxkhRD5Xpfh5u09U28Zg1OzLyzwhgQZ/LRGI9lc=";
+
+  mypy-boto3-compute-optimizer = buildMypyBoto3Package "compute-optimizer" "1.28.41" "sha256-TYY9yrw8Az+x01fp3mXc2zzX7YBdnAQQr1uy+E8FkdQ=";
+
+  mypy-boto3-config = buildMypyBoto3Package "config" "1.28.36" "sha256-3NUJLfbriTXMsGyj+8XNbhI37BLVSm+sShaJJIz6I7s=";
+
+  mypy-boto3-connect = buildMypyBoto3Package "connect" "1.28.55" "sha256-sA6ef9iOyRrCKwxsSHU19IaBwYiVKeTR0+k94wUX4gw=";
+
+  mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.28.36" "sha256-7+DHcEkDov1/0mNu/mbKaCwwPfvGRYSEfp3+4tnOnuY=";
+
+  mypy-boto3-connectcampaigns = buildMypyBoto3Package "connectcampaigns" "1.28.39" "sha256-4c074TlgMh8YxdOl9vb+Xs0JEs5k0mA5rYaF+BIH3Ps=";
+
+  mypy-boto3-connectcases = buildMypyBoto3Package "connectcases" "1.28.36" "sha256-oYU/yw9CUltwPfvONhCvH6gCXirzKF26RZj9hdKTtPQ=";
+
+  mypy-boto3-connectparticipant = buildMypyBoto3Package "connectparticipant" "1.28.39" "sha256-iOv8UX4eh07Dwk7zvtv1YXeDiX/RHhuEMGzLafBk+kI=";
+
+  mypy-boto3-controltower = buildMypyBoto3Package "controltower" "1.28.36" "sha256-0j6Fa0hobGlNfvMDmlNrqp4EqIhnYTo9XJ41VpEY+Cs=";
+
+  mypy-boto3-cur = buildMypyBoto3Package "cur" "1.28.36" "sha256-pWKHl8zKmx3ypQOiWtFzRb92630sLJVO0qmn5KEZJ14=";
+
+  mypy-boto3-customer-profiles = buildMypyBoto3Package "customer-profiles" "1.28.39" "sha256-wAghxGUIThqLBfThNliSu39Dl8vmO8QCrfbxvQOuHxc=";
+
+  mypy-boto3-databrew = buildMypyBoto3Package "databrew" "1.28.36" "sha256-LhvgmeMOlP4EAmx3Xd97ZiHi/FeChpGtZ1LIuGkTnMU=";
+
+  mypy-boto3-dataexchange = buildMypyBoto3Package "dataexchange" "1.28.36" "sha256-cNgpRQTJ2JhPw+UZo+HiulWg1998kfgnAB/E6gyvetI=";
+
+  mypy-boto3-datapipeline = buildMypyBoto3Package "datapipeline" "1.28.36" "sha256-IkO7QXwdEWmkzaCOrCWTzNv1xpvwOHGp9wlris/KEws=";
+
+  mypy-boto3-datasync = buildMypyBoto3Package "datasync" "1.28.49" "sha256-BcW47DW0aHb+Gabj6fybaiZgtKotWNvNChyKyaagIw4=";
+
+  mypy-boto3-dax = buildMypyBoto3Package "dax" "1.28.36" "sha256-t5DMgU3iSxWLSXpC9QaNonKKQpl0tr/gQPnPxO+dTbY=";
+
+  mypy-boto3-detective = buildMypyBoto3Package "detective" "1.28.36" "sha256-RGSt2jtwDqC3qWh+Z6IfWoiVpoLDjSqLTSjo7+SUL3Q=";
+
+  mypy-boto3-devicefarm = buildMypyBoto3Package "devicefarm" "1.28.36" "sha256-TSxUsHAhGY4rgscwesf6mnlya8kHb6MZGKPzhud/OC0=";
+
+  mypy-boto3-devops-guru = buildMypyBoto3Package "devops-guru" "1.28.36" "sha256-Whn1VVBzBdav0D31XCH5izyVmZGg/ndPlOamIoY5U94=";
+
+  mypy-boto3-directconnect = buildMypyBoto3Package "directconnect" "1.28.36" "sha256-YUZ2XsKaPLi4qDF1Cuf5/6BZ1Pi+xf65hTBc0NHfQTc=";
+
+  mypy-boto3-discovery = buildMypyBoto3Package "discovery" "1.28.50" "sha256-bUFzZ+Ipw3hmaTvBBPlLRz48U+alvfLBiOKNljEap38=";
+
+  mypy-boto3-dlm = buildMypyBoto3Package "dlm" "1.28.36" "sha256-i+OVrnJ+irxgIWi0ZEad6lPLNwT1cvfQ+0xKKXWe8z0=";
+
+  mypy-boto3-dms = buildMypyBoto3Package "dms" "1.28.53" "sha256-CY3bGLiiciRnscCsqOSdFv04YKDG4gN7f/q3um7QwZ8=";
+
+  mypy-boto3-docdb = buildMypyBoto3Package "docdb" "1.28.36" "sha256-Dbg80rvJBHkXEzLLWeEi7jN6OrVZiJ6+C6wYkhM72J0=";
+
+  mypy-boto3-docdb-elastic = buildMypyBoto3Package "docdb-elastic" "1.28.36" "sha256-XvcexadEtui/Wh2sZnketqygNgpGfaSAGciM64Yc+Sk=";
+
+  mypy-boto3-drs = buildMypyBoto3Package "drs" "1.28.47" "sha256-4JBlsWQLu1KsPSTxwy/ySNQM1ZlIaX1sORvES8Lut00=";
+
+  mypy-boto3-ds = buildMypyBoto3Package "ds" "1.28.36" "sha256-l/k+1VhA6mi6mVRKCUis0gAv/dizqZB5JIqLmj9+IDI=";
+
+  mypy-boto3-dynamodb = buildMypyBoto3Package "dynamodb" "1.28.55" "sha256-owOfitoHohj5fwxwqC7Zz0YaDLUTMZT88eDoexXImaU=";
+
+  mypy-boto3-dynamodbstreams = buildMypyBoto3Package "dynamodbstreams" "1.28.36" "sha256-mqz+YRVZlSbwEKYbaC4ZbWw0qJTXpRObAphfI4sfRV4=";
+
+  mypy-boto3-ebs = buildMypyBoto3Package "ebs" "1.28.36" "sha256-w9OLKJAn9UBnA7x+uedhplSV8plZRYlBpviU9Gv1Ny8=";
+
+  mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.28.58" "sha256-p4BGJSydAqtSMH8PFFc/IAwBquLHCq1I6vW50UNySRo=";
+
+  mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.28.36" "sha256-oVcd5yqbg8Drozgmog4nonRSe4nOM7rwpqZi9HVYTL0=";
+
+  mypy-boto3-ecr = buildMypyBoto3Package "ecr" "1.28.45" "sha256-NYShmgGLrNe26BR7ye9pMpZ4FcCRjGzzkp/1Xxyb5gE=";
+
+  mypy-boto3-ecr-public = buildMypyBoto3Package "ecr-public" "1.28.36" "sha256-LiFZtqdGf9tC6Tj4ukclFyaq/bLos5jZCgPL1y/0VMU=";
+
+  mypy-boto3-ecs = buildMypyBoto3Package "ecs" "1.28.41" "sha256-/aXw4fpS4o3/Jt+jfzm0p4zqZVcoSJLlk9EUMd3+SVo=";
+
+  mypy-boto3-efs = buildMypyBoto3Package "efs" "1.28.53" "sha256-QhSddCRqWUly2w+GLZJHJn/TKpQHbQO88yKny6nj/ZI=";
+
+  mypy-boto3-eks = buildMypyBoto3Package "eks" "1.28.36" "sha256-etvfyKLFr4lKE9DLvKQuHw2YHshhOBTXXTCvDv2hFxE=";
+
+  mypy-boto3-elastic-inference = buildMypyBoto3Package "elastic-inference" "1.28.36" "sha256-BwI32rA8Y1lhc+k/XQh+LHPlFHmaCTr37OYvLFJMX1o=";
+
+  mypy-boto3-elasticache = buildMypyBoto3Package "elasticache" "1.28.36" "sha256-6Ymobcuhh1dOqA9IoN9lWrj639ZKu/NQEP6ImlhapFA=";
+
+  mypy-boto3-elasticbeanstalk = buildMypyBoto3Package "elasticbeanstalk" "1.28.36" "sha256-V2vSEaN7Kf2TPateMNtJ95a+Ad/CRcZOV2JsJlTOPIo=";
+
+  mypy-boto3-elastictranscoder = buildMypyBoto3Package "elastictranscoder" "1.28.36" "sha256-lkz4up43fVyWCOO9dM4xI285wsAu1lnV4mICuJV8D4k=";
+
+  mypy-boto3-elb = buildMypyBoto3Package "elb" "1.28.36" "sha256-c9Re0WZOn+LaK58VJk+YlI3YWn/wrgT+/TdqrOisBnM=";
+
+  mypy-boto3-elbv2 = buildMypyBoto3Package "elbv2" "1.28.42" "sha256-NXyhMxuIbuyyDifzBicvDNQB3ysbVx+azsqpTBhfnZ8=";
+
+  mypy-boto3-emr = buildMypyBoto3Package "emr" "1.28.36" "sha256-DrhDkqcxAAUTfheZRpPJQkFFzeDynByF2wn9jyZr0F4=";
+
+  mypy-boto3-emr-containers = buildMypyBoto3Package "emr-containers" "1.28.36" "sha256-ZG7mf4C31COK7hobIbTLmd64Ydu2Al+NhSMrS8069jQ=";
+
+  mypy-boto3-emr-serverless = buildMypyBoto3Package "emr-serverless" "1.28.54" "sha256-cDbUY1Ftlhyid7CiMEhY7ZepqH2bANrwlU8wdrdDqc4=";
+
+  mypy-boto3-entityresolution = buildMypyBoto3Package "entityresolution" "1.28.48" "sha256-xCYg+Ik/VQpDjRR7QKlYyBffsGWZ7PSl531sTSvMv48=";
+
+  mypy-boto3-es = buildMypyBoto3Package "es" "1.28.36" "sha256-NfMTzKYwYgZ+dbyIzxn+3poLWo8zjF8ANGWQFtMRTbk=";
+
+  mypy-boto3-events = buildMypyBoto3Package "events" "1.28.46" "sha256-/a4rUcfBPQBFxqCnwt23NeZ655B3CEoo+SKHBZMJGtE=";
+
+  mypy-boto3-evidently = buildMypyBoto3Package "evidently" "1.28.36" "sha256-U3igtB9eGBYv8VW+PQXD2fc16FKiYl8musH/ccrrMKA=";
+
+  mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.28.36" "sha256-3l1/ACy5Z09z/ngQKdq3dgBTp05x+NUCRjj1z8I99/4=";
+
+  mypy-boto3-finspace-data = buildMypyBoto3Package "finspace-data" "1.28.54" "sha256-V5Rxrp94hrUWZgpc+LDn1PwyzZREHDXq3NaZdZQaYoE=";
+
+  mypy-boto3-firehose = buildMypyBoto3Package "firehose" "1.28.56" "sha256-IPwUkzEymLJ4NgB2OrD4mr5hZsmTaGjbbxCiHyFaaDw=";
+
+  mypy-boto3-fis = buildMypyBoto3Package "fis" "1.28.36" "sha256-km9Ia9Hs/rZv3ljv+BVnR9pOxNK3u5luJOMaW670km0=";
+
+  mypy-boto3-fms = buildMypyBoto3Package "fms" "1.28.36" "sha256-mzumkMcF2TMrcnHoPPA0SlrmwFAw0TR1cMvSXF28gvM=";
+
+  mypy-boto3-forecast = buildMypyBoto3Package "forecast" "1.28.36" "sha256-DCa0GNn7XL3iVgGl5M6E7uyPFdyYjrHfqHakCS7clcc=";
+
+  mypy-boto3-forecastquery = buildMypyBoto3Package "forecastquery" "1.28.36" "sha256-s2z8QZR9PP8Kj6yImCwUfh/gtbj4SKLn8wDTOYUVaEE=";
+
+  mypy-boto3-frauddetector = buildMypyBoto3Package "frauddetector" "1.28.36" "sha256-Zn3rGHErin7nPYnyC0Ojr0Kkc5T+YDD2KmZinYNV9Jg=";
+
+  mypy-boto3-fsx = buildMypyBoto3Package "fsx" "1.28.44" "sha256-t90+ngxgivF/KThwaB6/LNPZAHL2oLenhl6KUzSZSzU=";
+
+  mypy-boto3-gamelift = buildMypyBoto3Package "gamelift" "1.28.36" "sha256-ADxlyEX5KgAewNFq7JhYECNIhaoKiPkdqWK2pnS+65A=";
+
+  mypy-boto3-gamesparks = buildMypyBoto3Package "gamesparks" "1.28.36" "sha256-6lQXNJ55FYvkFA14rgJGhRMjBHA3YrOybnsKNecX7So=";
+
+  mypy-boto3-glacier = buildMypyBoto3Package "glacier" "1.28.36" "sha256-L0a7CoD9I0wM8JvzaAxL8bm1SV1XmFi5lvs2SuGPtl4=";
+
+  mypy-boto3-globalaccelerator = buildMypyBoto3Package "globalaccelerator" "1.28.36" "sha256-+nnFS/7kJHvqqiwqkWnYlgeIuSecicI1P+UtWyGUoGQ=";
+
+  mypy-boto3-glue = buildMypyBoto3Package "glue" "1.28.36" "sha256-FhdxJSu2oiCgv9jmrXHahUhZnGEflf6KlIRvSjOG0q4=";
+
+  mypy-boto3-grafana = buildMypyBoto3Package "grafana" "1.28.39" "sha256-OsEvT2f3LEvjz6aojIpG2scoZ80hETvk8t/BTumn+9M=";
+
+  mypy-boto3-greengrass = buildMypyBoto3Package "greengrass" "1.28.36" "sha256-vH/viSZe2UcjtbwGN2Zcf9IB1boBHhL3zmy3IHN1rpg=";
+
+  mypy-boto3-greengrassv2 = buildMypyBoto3Package "greengrassv2" "1.28.36" "sha256-VdsQUNg3a2PUaP8rgx3I1ZxUW4hqJsBCS0B8+7CfP1w=";
+
+  mypy-boto3-groundstation = buildMypyBoto3Package "groundstation" "1.28.36" "sha256-M0HaOpC6zbIaN3VVcM9oE/QzL+me4d5Co5miJGMU3n8=";
+
+  mypy-boto3-guardduty = buildMypyBoto3Package "guardduty" "1.28.53" "sha256-ctMp5+GrKYICPioPi5kB7cnxoP9QFIfbYiDxqf/pPCw=";
+
+  mypy-boto3-health = buildMypyBoto3Package "health" "1.28.39" "sha256-yp8r38QxJVKxiZtrCgvUcuqz2HnTM2IvYjyYGTgAqYc=";
+
+  mypy-boto3-healthlake = buildMypyBoto3Package "healthlake" "1.28.36" "sha256-RYbiExGphCkf8v+oC3ixOOFOnUrXE2bGnOvjRUGdQRQ=";
+
+  mypy-boto3-honeycode = buildMypyBoto3Package "honeycode" "1.28.36" "sha256-pOWZ+WNmgWwGz1sPq/feZiQ2TlXDcpoWMXcDPSESJOY=";
+
+  mypy-boto3-iam = buildMypyBoto3Package "iam" "1.28.37" "sha256-Ob1bi5pIy0fZCdRcE8cTwJnC+EcZYSoKhI16BJfG/PQ=";
+
+  mypy-boto3-identitystore = buildMypyBoto3Package "identitystore" "1.28.40" "sha256-KPPWrEMuciHf3ms3SkUgAaEFNPa5WyFKm5fFfG4o9G8=";
+
+  mypy-boto3-imagebuilder = buildMypyBoto3Package "imagebuilder" "1.28.36" "sha256-2fJtgGfwkY3V07kXAiyi61TUmvq3BVqiN+EFzxTQkvI=";
+
+  mypy-boto3-importexport = buildMypyBoto3Package "importexport" "1.28.36" "sha256-806+dIMqKZ14MifNoDqKgj8MGPYBQVd8KnT+V+eOr/E=";
+
+  mypy-boto3-inspector = buildMypyBoto3Package "inspector" "1.28.36" "sha256-plSUqqsTvOMxMeAYueWNpK8JFHdeOOr8DfgSZov9Gbw=";
+
+  mypy-boto3-inspector2 = buildMypyBoto3Package "inspector2" "1.28.36" "sha256-O20aGL3EhyS5HNYlY6Jv1n0OIUWPr3L2VVjReHwpAGM=";
+
+  mypy-boto3-internetmonitor = buildMypyBoto3Package "internetmonitor" "1.28.47" "sha256-qNv+Qi/5eZ5oUsysYokQufE3BgL32BzA9gdxWsJ6ocU=";
+
+  mypy-boto3-iot = buildMypyBoto3Package "iot" "1.28.56" "sha256-dLDUJEflskkXKb6soxoKRoPxko/Qb9lWkKjPnVklUWc=";
+
+  mypy-boto3-iot-data = buildMypyBoto3Package "iot-data" "1.28.36" "sha256-DDUn2TFgXeeltWJqH7g7D+gKLSQv832/J4lWBVyWmlQ=";
+
+  mypy-boto3-iot-jobs-data = buildMypyBoto3Package "iot-jobs-data" "1.28.36" "sha256-bpKEm6reRSLi74HT9wMGN+xkJPTYSLxOGf8Z7QN1qMY=";
+
+  mypy-boto3-iot-roborunner = buildMypyBoto3Package "iot-roborunner" "1.28.36" "sha256-DFaWmHPzlgZztGfbbxeyDWu2rGLm69r8Ejww5cvzkRQ=";
+
+  mypy-boto3-iot1click-devices = buildMypyBoto3Package "iot1click-devices" "1.28.36" "sha256-GROHe78qVJLlPtw+wH73fzyBjTsrKkUbpVN0U26HsJs=";
+
+  mypy-boto3-iot1click-projects = buildMypyBoto3Package "iot1click-projects" "1.28.36" "sha256-XAtVZ+j5k8eb1G79B+sin/W3bVfq+Vtr/P80BU2XnVQ=";
+
+  mypy-boto3-iotanalytics = buildMypyBoto3Package "iotanalytics" "1.28.36" "sha256-jO+/523WSPqhQCAOr6nFiag/tCHL1Up1A0q76jZ7/qE=";
+
+  mypy-boto3-iotdeviceadvisor = buildMypyBoto3Package "iotdeviceadvisor" "1.28.36" "sha256-0v8vHIOzHO7ZEZEA08hzukJV9EFSnTFh/1K1h3RhCyY=";
+
+  mypy-boto3-iotevents = buildMypyBoto3Package "iotevents" "1.28.36" "sha256-27oaZTqmrBRJ3xlE9QKqLkau+dR30aYdeczVaWwK1Xs=";
+
+  mypy-boto3-iotevents-data = buildMypyBoto3Package "iotevents-data" "1.28.36" "sha256-De7a/DdIEmK9jkd6CekBQ+ZNlp+5hyavdY5ISYNLM20=";
+
+  mypy-boto3-iotfleethub = buildMypyBoto3Package "iotfleethub" "1.28.36" "sha256-AH9zk6pQ5OhupzG9lkZGSAX/ngrFovlldGkfn40TZh4=";
+
+  mypy-boto3-iotfleetwise = buildMypyBoto3Package "iotfleetwise" "1.28.57" "sha256-KE8Q0jmXGhRAD3SmioxKVabyM0zLQEvhzogGEAMGvtU=";
+
+  mypy-boto3-iotsecuretunneling = buildMypyBoto3Package "iotsecuretunneling" "1.28.36" "sha256-ANWiAgtmQCchCYvPPXUGdUHYLJOCoQAsFz8ybpZSceg=";
+
+  mypy-boto3-iotsitewise = buildMypyBoto3Package "iotsitewise" "1.28.36" "sha256-Sr5hmTMLMDxxXwG6s+wv5kkq4NnFCTFjMisOwdniBN4=";
+
+  mypy-boto3-iotthingsgraph = buildMypyBoto3Package "iotthingsgraph" "1.28.36" "sha256-msc7aVFDSQRUNeqHWFqJ+4haUvCq+VYCpmZONl7+ySA=";
+
+  mypy-boto3-iottwinmaker = buildMypyBoto3Package "iottwinmaker" "1.28.36" "sha256-laSFI1ugTL+9bVVQLuMKvQ9WGgXGikvV3k1DsyTIJ00=";
+
+  mypy-boto3-iotwireless = buildMypyBoto3Package "iotwireless" "1.28.36" "sha256-CAAkka/CEZ1D+MgK1cbWDm6mArcRPxAo98Rz3ti6oHk=";
+
+  mypy-boto3-ivs = buildMypyBoto3Package "ivs" "1.28.39" "sha256-bsUwfBojGMRujL9yLhIqBLAxEpgz1H3KCSmhoQ/UrfM=";
+
+  mypy-boto3-ivs-realtime = buildMypyBoto3Package "ivs-realtime" "1.28.47" "sha256-f5aHtTu7H0TY3XYW1OJIkwKlKe6iZj0nxEjwlbEmc/4=";
+
+  mypy-boto3-ivschat = buildMypyBoto3Package "ivschat" "1.28.36" "sha256-WMq8phYMtEl8Ey7tDxBzVexuR4gmZQlO6qpDwYu8xwY=";
+
+  mypy-boto3-kafka = buildMypyBoto3Package "kafka" "1.28.36" "sha256-93kbJxpiLQsnhudgnGoGUimUPfhGMN0cc1x8qqsA/Jc=";
+
+  mypy-boto3-kafkaconnect = buildMypyBoto3Package "kafkaconnect" "1.28.39" "sha256-p2vmaWN7oBdsud3bCB2/rCme7IXKJ4xI/XSFj4AqmGo=";
+
+  mypy-boto3-kendra = buildMypyBoto3Package "kendra" "1.28.46" "sha256-zeKYrDZdcdNISV2eukD7GN/sdve8R5PNbvOhZN5FyRI=";
+
+  mypy-boto3-kendra-ranking = buildMypyBoto3Package "kendra-ranking" "1.28.36" "sha256-C1wYGskKNR6E4bL6OR8ERRwHZ8HpTbhCAoiBKIAsgME=";
+
+  mypy-boto3-keyspaces = buildMypyBoto3Package "keyspaces" "1.28.36" "sha256-p5Tj7bqC/E552Mmr/G+QxOA4LyW4YK9VlztEhKNw/Fc=";
+
+  mypy-boto3-kinesis = buildMypyBoto3Package "kinesis" "1.28.36" "sha256-Q3E8DOj2Oyy9GBEy5xNxAxvZDqwlCu9zV7I51NprhQQ=";
+
+  mypy-boto3-kinesis-video-archived-media = buildMypyBoto3Package "kinesis-video-archived-media" "1.28.36" "sha256-v3hjhhFbCTKsfYTUvI57lEvnRSIX5POdjH/4hC+GthA=";
+
+  mypy-boto3-kinesis-video-media = buildMypyBoto3Package "kinesis-video-media" "1.28.36" "sha256-Si9Dz0blHg5oq8Nnq/6V5NMmt3Zbl9rVt8/UcfwSgnU=";
+
+  mypy-boto3-kinesis-video-signaling = buildMypyBoto3Package "kinesis-video-signaling" "1.28.36" "sha256-sOiEpuZ3AMYRK6daSsoK3ti9LN4v7GgBPSThWTh25Og=";
+
+  mypy-boto3-kinesis-video-webrtc-storage = buildMypyBoto3Package "kinesis-video-webrtc-storage" "1.28.36" "sha256-AJPSjIIX+AQKXPPoNxTESszrC5ZzQhwHeb/eTF/LJkE=";
+
+  mypy-boto3-kinesisanalytics = buildMypyBoto3Package "kinesisanalytics" "1.28.36" "sha256-K/NUI/VQjoxmiL3s7ASUBCBv9GWqKQYpz4o0+oohDFU=";
+
+  mypy-boto3-kinesisanalyticsv2 = buildMypyBoto3Package "kinesisanalyticsv2" "1.28.36" "sha256-k+ftbXSH2gm76lsJvMdvAuAnWBVsLEh829o4x5rUQUQ=";
+
+  mypy-boto3-kinesisvideo = buildMypyBoto3Package "kinesisvideo" "1.28.52" "sha256-X05ZXElPveZ44sea7a0F5oO+wIIpYgTISpUwvACPiEY=";
+
+  mypy-boto3-kms = buildMypyBoto3Package "kms" "1.28.37" "sha256-l4RcfT1vhG8hlaWdapdDB6FqCFseZP56/kDppcBra48=";
+
+  mypy-boto3-lakeformation = buildMypyBoto3Package "lakeformation" "1.28.55" "sha256-RgYc0eRv7agKmJVwqTqsx2ua0Y1B8UHbwQ1eCh5kumU=";
+
+  mypy-boto3-lambda = buildMypyBoto3Package "lambda" "1.28.36" "sha256-cEmOb/a/1gt1hVPSf632kboWlXL6ygHCvUV9oLSLnP8=";
+
+  mypy-boto3-lex-models = buildMypyBoto3Package "lex-models" "1.28.36" "sha256-pe4WZgqSF3iodWqXn94fzNChq946ZydQlwJF7CB0HMc=";
+
+  mypy-boto3-lex-runtime = buildMypyBoto3Package "lex-runtime" "1.28.36" "sha256-pE1gAxoS2hb4N4H7irZNgXERAXBt/eWqF0CZZjszTyI=";
+
+  mypy-boto3-lexv2-models = buildMypyBoto3Package "lexv2-models" "1.28.36" "sha256-6DXon6AyJugNzp9bKXfvspvWGdD11dV5qxBZa7AikbE=";
+
+  mypy-boto3-lexv2-runtime = buildMypyBoto3Package "lexv2-runtime" "1.28.36" "sha256-6wP6YHyctJWXdPO8bmylwhxtJ3jltbWYyAxdu+5+X5w=";
+
+  mypy-boto3-license-manager = buildMypyBoto3Package "license-manager" "1.28.36" "sha256-/XOD5I4y2PHzW9Y+akeF1Oovf04jeh4r4ZcxjUP4ZOU=";
+
+  mypy-boto3-license-manager-linux-subscriptions = buildMypyBoto3Package "license-manager-linux-subscriptions" "1.28.36" "sha256-LuwZUXbQlSC1YSyfNuensyYVoKwy6cZzMbC2/bGJ5Pw=";
+
+  mypy-boto3-license-manager-user-subscriptions = buildMypyBoto3Package "license-manager-user-subscriptions" "1.28.36" "sha256-KcTO20KTKnvcCykL5C4BqDFyj/Xrp0l6gH7JslRIzcQ=";
+
+  mypy-boto3-lightsail = buildMypyBoto3Package "lightsail" "1.28.36" "sha256-3euT5o4jOo39mco4y7geAA7PBF6z7A3lj451xXnB98o=";
+
+  mypy-boto3-location = buildMypyBoto3Package "location" "1.28.36" "sha256-Gl0Q4693qhG9Wii6KlQXw9B5hZcoYoNcsO6rptLGPHQ=";
+
+  mypy-boto3-logs = buildMypyBoto3Package "logs" "1.28.52" "sha256-tR6bl5YSI7/iMUzhaIe70imFezlgph03JIDW1ogWi34=";
+
+  mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.28.48" "sha256-RXWRC9LegKQlODn8zgQJEADZGSuCYMp4/HdFGUge3rU=";
+
+  mypy-boto3-lookoutmetrics = buildMypyBoto3Package "lookoutmetrics" "1.28.36" "sha256-GDkmENl2VbNDdXS26ORGeEoK8YAURJJRVzoxAiFt9L8=";
+
+  mypy-boto3-lookoutvision = buildMypyBoto3Package "lookoutvision" "1.28.36" "sha256-tcA34QM+t2tiaV7kmaNDZjGEbtc6Bs1ZRQoPjHFNojw=";
+
+  mypy-boto3-m2 = buildMypyBoto3Package "m2" "1.28.36" "sha256-6UdS7JMp8vnbP/AHoiQJ+kTBZiPSvymziVeNQnkXNxg=";
+
+  mypy-boto3-machinelearning = buildMypyBoto3Package "machinelearning" "1.28.36" "sha256-ucXN/rMMlxsRBvR0rhvF+X98qKzuvXXHSGRZSqds2Cc=";
+
+  mypy-boto3-macie = buildMypyBoto3Package "macie" "1.28.36" "sha256-T7zd6G5Z4fz1/ZiCOwf+kWbXWCy35JaE3f2OUpWGNpE=";
+
+  mypy-boto3-macie2 = buildMypyBoto3Package "macie2" "1.28.50" "sha256-OSQqQIDB1mPTZNk1eZFHm5Undcc+C4W/cHnXk26STWQ=";
+
+  mypy-boto3-managedblockchain = buildMypyBoto3Package "managedblockchain" "1.28.58" "sha256-WurxI39UdFSgwdxaymDxsoO03bGZ1ooMaCCwOthnrPo=";
+
+  mypy-boto3-managedblockchain-query = buildMypyBoto3Package "managedblockchain-query" "1.28.36" "sha256-3RQJLfH4XCw8ajN6NdEZqhnBjfYZvxqbZOISKaQyuq0=";
+
+  mypy-boto3-marketplace-catalog = buildMypyBoto3Package "marketplace-catalog" "1.28.37" "sha256-Egrc6aap+HyguDM71bJrvFrtG0x3mxHjKqusw8PGTc8=";
+
+  mypy-boto3-marketplace-entitlement = buildMypyBoto3Package "marketplace-entitlement" "1.28.36" "sha256-9pTcu/s4RykpnM/FsI/VuBLmLCz1/AVpWSTPORFVraY=";
+
+  mypy-boto3-marketplacecommerceanalytics = buildMypyBoto3Package "marketplacecommerceanalytics" "1.28.36" "sha256-8omV1nyC83MRbAEwCOzDvyuTHARxCDJtMCkIJ76/42Q=";
+
+  mypy-boto3-mediaconnect = buildMypyBoto3Package "mediaconnect" "1.28.36" "sha256-xJ/i8IAQvwsCD/8F8hVMGuVpI/8ZbiWCW6w2O9PMmwg=";
+
+  mypy-boto3-mediaconvert = buildMypyBoto3Package "mediaconvert" "1.28.53" "sha256-nGLoDX8cgcCHad2hpZvOzNSkq+VfWvTQ6qGbsvqbnbc=";
+
+  mypy-boto3-medialive = buildMypyBoto3Package "medialive" "1.28.45" "sha256-vcf1hxhHJ/F6S58p9Jb/Pic063aeLVc+HrzAnN9ph/A=";
+
+  mypy-boto3-mediapackage = buildMypyBoto3Package "mediapackage" "1.28.36" "sha256-ezPUrghBEb7oInGgyP8JlEf2yKSOPHRznBZ7BcNP6Oc=";
+
+  mypy-boto3-mediapackage-vod = buildMypyBoto3Package "mediapackage-vod" "1.28.36" "sha256-CYgKkn7AOmwBgaMNhq2ofKH5dQXu+hgC0In+UfWa9f0=";
+
+  mypy-boto3-mediapackagev2 = buildMypyBoto3Package "mediapackagev2" "1.28.36" "sha256-oGwfsKI4PEhj5oJKr9pLvma7+nNSFyRlMzC2HYnVCsQ=";
+
+  mypy-boto3-mediastore = buildMypyBoto3Package "mediastore" "1.28.37" "sha256-OptRBCGquVDgcG/7K70WZCdMhGCPSU8Gyb236ooUwhY=";
+
+  mypy-boto3-mediastore-data = buildMypyBoto3Package "mediastore-data" "1.28.36" "sha256-X7PuP1LtOgJo/PJ5TBgq7O0iFAhBiVJRalNbQEWT7W4=";
+
+  mypy-boto3-mediatailor = buildMypyBoto3Package "mediatailor" "1.28.36" "sha256-1w5g2gzMCvufKYjjXey3ZeokZTxuL97LqHdu3CoG2UA=";
+
+  mypy-boto3-medical-imaging = buildMypyBoto3Package "medical-imaging" "1.28.36" "sha256-pAoO8V4SxZnUGou2Gf0p0Shpm7ZIvxdB9ZI8fhZU5U4=";
+
+  mypy-boto3-memorydb = buildMypyBoto3Package "memorydb" "1.28.36" "sha256-GsdpyKFaQyakXnKJzi2cBE0Vb1gLyUhXQ5VeGlkhVmk=";
+
+  mypy-boto3-meteringmarketplace = buildMypyBoto3Package "meteringmarketplace" "1.28.36" "sha256-LiZj7Dltu+C717k1Aywtkk1faeSUAFYCMiOe5Mgoy4A=";
+
+  mypy-boto3-mgh = buildMypyBoto3Package "mgh" "1.28.36" "sha256-7AGJAF8dh5FQz46IRinvrTX/PEC8cBkS2G/LMndjNS4=";
+
+  mypy-boto3-mgn = buildMypyBoto3Package "mgn" "1.28.36" "sha256-MMp+P5+6/vc/fSNFUVuKtZCZbyDh8XvGsPg1LFTtzxg=";
+
+  mypy-boto3-migration-hub-refactor-spaces = buildMypyBoto3Package "migration-hub-refactor-spaces" "1.28.36" "sha256-xfTzLCtQPfBM01l96ks/nGGYNgYYTy6GA3I/qU/y0II=";
+
+  mypy-boto3-migrationhub-config = buildMypyBoto3Package "migrationhub-config" "1.28.36" "sha256-p3FiriZZMmqWMMPGT4Zu/BRiDch1K4hGqMYM9dVWX7g=";
+
+  mypy-boto3-migrationhuborchestrator = buildMypyBoto3Package "migrationhuborchestrator" "1.28.36" "sha256-x5vC9TZD5y/wyNCUS4KbcJk3tfMbD6GxhxJQj+DYVo4=";
+
+  mypy-boto3-migrationhubstrategy = buildMypyBoto3Package "migrationhubstrategy" "1.28.36" "sha256-HvDtYoWRyBmQxzn/YZJ9nhXgpKAnnwfD8RtTG2RakDM=";
+
+  mypy-boto3-mobile = buildMypyBoto3Package "mobile" "1.28.36" "sha256-SyBzpVCo90lFHeT9K9wbxMXNnJEccEY+bWsgnYcnA7Q=";
+
+  mypy-boto3-mq = buildMypyBoto3Package "mq" "1.28.36" "sha256-nHADqvj4clxfJjeS0eiadhtaVKFKeXWLBG93QOwQkR8=";
+
+  mypy-boto3-mturk = buildMypyBoto3Package "mturk" "1.28.36" "sha256-7h2xEOjgYe1QVV3mbxb7HMZJunHo4RtDdr2Jojr6XDU=";
+
+  mypy-boto3-mwaa = buildMypyBoto3Package "mwaa" "1.28.36" "sha256-OyetpZbtbOjtUowUA7ahRY3OGgUEHD+Q7i4rej5CLIs=";
+
+  mypy-boto3-neptune = buildMypyBoto3Package "neptune" "1.28.36" "sha256-NEu+SKj/eoYlE2bRigVIFcXS+NRcyTwhB+xP0+SLh/s=";
+
+  mypy-boto3-neptunedata = buildMypyBoto3Package "neptunedata" "1.28.43" "sha256-IWYezgs1FUCYgGvmw6X/8u8QX5uHew5PXhv3gr9MzME=";
+
+  mypy-boto3-network-firewall = buildMypyBoto3Package "network-firewall" "1.28.38" "sha256-MR+/d8G6cfpSEXsC9+mk1WXg/y1fQatMDV0uASI9bU0=";
+
+  mypy-boto3-networkmanager = buildMypyBoto3Package "networkmanager" "1.28.36" "sha256-KESRmtzmmm/IMlQw8s7alP2PSupcdnXRtx2ZHETPzLA=";
+
+  mypy-boto3-nimble = buildMypyBoto3Package "nimble" "1.28.36" "sha256-VDO5M5cFq0CLE4i017Peq9PFAOzKtld5ID8pgcZXBIA=";
+
+  mypy-boto3-oam = buildMypyBoto3Package "oam" "1.28.36" "sha256-wZ1GYz84QiDvu1EWE8AFrGP/7VnzZbLsrVj8Zt3WehE=";
+
+  mypy-boto3-omics = buildMypyBoto3Package "omics" "1.28.37" "sha256-bJALOo0sx1IwD1RBBx2CeW1JSW0IpqzF6i85ICO9SUM=";
+
+  mypy-boto3-opensearch = buildMypyBoto3Package "opensearch" "1.28.36" "sha256-97rGlw+REicstwKchMVjN6EuZBxQuSwmhSfBnbHxsS4=";
+
+  mypy-boto3-opensearchserverless = buildMypyBoto3Package "opensearchserverless" "1.28.36" "sha256-7V+wNpLTrYueSnPkOGD1ARqAewrNjbQzlIPDQJ/eEDY=";
+
+  mypy-boto3-opsworks = buildMypyBoto3Package "opsworks" "1.28.36" "sha256-Dpp3frNgsAyzKqC0Etq/p7jpjV+1YMwBx2bFqchGpeI=";
+
+  mypy-boto3-opsworkscm = buildMypyBoto3Package "opsworkscm" "1.28.36" "sha256-zrkTx2FkTuP880vcmBYwfkHDsPvLmYA3aUEZx7dbHRU=";
+
+  mypy-boto3-organizations = buildMypyBoto3Package "organizations" "1.28.36" "sha256-IFR1uIVZVjJe2sWS9Tv75l67SXiB4Em74iKFz5giAWk=";
+
+  mypy-boto3-osis = buildMypyBoto3Package "osis" "1.28.36" "sha256-TOEjsJmgoUEXd4H4s4y7Gx7gWxo4GeLWbDd7FA5Xc/o=";
+
+  mypy-boto3-outposts = buildMypyBoto3Package "outposts" "1.28.51" "sha256-iA+7Mxkp3n6hUJuFhxZ/Nf4vjeQcd3PoOEmjzk2ITI8=";
+
+  mypy-boto3-panorama = buildMypyBoto3Package "panorama" "1.28.36" "sha256-st4X3JA9Wf6zBqx9Gr2BxE9Z+1LeU0kiDpI8b+IVnjw=";
+
+  mypy-boto3-payment-cryptography = buildMypyBoto3Package "payment-cryptography" "1.28.36" "sha256-2YvWtVCfr7tYJzml4LdYpEsFrSpLve+nAWF6s2xB6HQ=";
+
+  mypy-boto3-payment-cryptography-data = buildMypyBoto3Package "payment-cryptography-data" "1.28.39" "sha256-aMYAPA0/z6O4fSOcp+IfIaC49NiPq/cmCGSGHCCiyBo=";
+
+  mypy-boto3-pca-connector-ad = buildMypyBoto3Package "pca-connector-ad" "1.28.38" "sha256-fVexVJjucP+4UEsje+jQU+dbA0ycpQQxWc3dqKnENiY=";
+
+  mypy-boto3-personalize = buildMypyBoto3Package "personalize" "1.28.36" "sha256-SCQqvz6rBi9Ohbw10A9BS3Yu0xPQLs03a0a0zC9mXoM=";
+
+  mypy-boto3-personalize-events = buildMypyBoto3Package "personalize-events" "1.28.36" "sha256-Znmc+a37B+wlkDCT387ZGCyfQ6kLrQeVcHCkplAAOAo=";
+
+  mypy-boto3-personalize-runtime = buildMypyBoto3Package "personalize-runtime" "1.28.36" "sha256-EICeLDJQzOWkm+Lk94pfY6KPi+HQY46AbGUxOi4dsxg=";
+
+  mypy-boto3-pi = buildMypyBoto3Package "pi" "1.28.36" "sha256-sHhbm4A0BkC7h9SuYjOpIwQCLtvU5ukYzpgqNruvJnM=";
+
+  mypy-boto3-pinpoint = buildMypyBoto3Package "pinpoint" "1.28.55" "sha256-Qi9wlrmtGVeGW/BXYJggG12q0g2Jw8pu2A9jd+3ryKI=";
+
+  mypy-boto3-pinpoint-email = buildMypyBoto3Package "pinpoint-email" "1.28.36" "sha256-KGDy7obD+hVisnEStsIGmvUD6/Peyo83/mzKFsKd+xI=";
+
+  mypy-boto3-pinpoint-sms-voice = buildMypyBoto3Package "pinpoint-sms-voice" "1.28.36" "sha256-NyUHn3+WgCp5AI0ly9F1gB2uyXICy5ot4HWPkv1sRjE=";
+
+  mypy-boto3-pinpoint-sms-voice-v2 = buildMypyBoto3Package "pinpoint-sms-voice-v2" "1.28.36" "sha256-YO/15ikVJ0OJ4FuEubtcV4nc+NGBFMWwiZUgn28SgFQ=";
+
+  mypy-boto3-pipes = buildMypyBoto3Package "pipes" "1.28.36" "sha256-wGVcXwhUGM729QsU3Tkmg8aD2s2cpg8/CTqOR1i8Lt4=";
+
+  mypy-boto3-polly = buildMypyBoto3Package "polly" "1.28.36" "sha256-fntpy/+K4DYhfdv35hhanDS4oq1P0kNxxDFkkHQRmuU=";
+
+  mypy-boto3-pricing = buildMypyBoto3Package "pricing" "1.28.36" "sha256-zmtifAqoWolmES6GVNRHvcvsC43AWpI4BZLipns8vqU=";
+
+  mypy-boto3-privatenetworks = buildMypyBoto3Package "privatenetworks" "1.28.36" "sha256-JUaloEf/CtJBBwvf08tX1dfvMmo5zM85NFGKzLwd0zk=";
+
+  mypy-boto3-proton = buildMypyBoto3Package "proton" "1.28.36" "sha256-TGSxplMR6PQJT8LOTNUct4VjDAMqtgBkg3HOOB8To7w=";
+
+  mypy-boto3-qldb = buildMypyBoto3Package "qldb" "1.28.36" "sha256-y1UMibv5dwVuuvs2x3Cprc4gErqxUOYN6Loeaug6Tjw=";
+
+  mypy-boto3-qldb-session = buildMypyBoto3Package "qldb-session" "1.28.36" "sha256-JGlIwudacKEBgKlf2iDn3iRTf/b869rS7fYaK3Q6Jgk=";
+
+  mypy-boto3-quicksight = buildMypyBoto3Package "quicksight" "1.28.54" "sha256-NOQ9zNMTJYZNhEoE2xNcyG78x9eajyY0AUDsa5JW3Ls=";
+
+  mypy-boto3-ram = buildMypyBoto3Package "ram" "1.28.36" "sha256-5ne0E27ct5g2LQs3rzEJ5vQdnu/10uIfeS9t4FAVU2U=";
+
+  mypy-boto3-rbin = buildMypyBoto3Package "rbin" "1.28.36" "sha256-ADN+McM/ZuloBxZVug6Zc9w1Bij5pWhzQpP8if47re8=";
+
+  mypy-boto3-rds = buildMypyBoto3Package "rds" "1.28.58" "sha256-pm5I8iTKxAKscXXy99EvF+ZnIpmposPnmo0yG3y3NQU=";
+
+  mypy-boto3-rds-data = buildMypyBoto3Package "rds-data" "1.28.36" "sha256-rNDCwG1tnI3diKXH0sN2Qd/+J4UEh7aKBOWCIX4gvYs=";
+
+  mypy-boto3-redshift = buildMypyBoto3Package "redshift" "1.28.36" "sha256-j0MCYKr0R42X1EtoGhNPM7lqTyoisvbYJPdCji8GvI8=";
+
+  mypy-boto3-redshift-data = buildMypyBoto3Package "redshift-data" "1.28.36" "sha256-fEoxqvIsAs8mUTY/dSTAbQOxNlf4+1qpyZO28Fe2PLA=";
+
+  mypy-boto3-redshift-serverless = buildMypyBoto3Package "redshift-serverless" "1.28.36" "sha256-fd7nHbR/4eo08/RN8u6GESyshRa81BIussx8Rdg0IHE=";
+
+  mypy-boto3-rekognition = buildMypyBoto3Package "rekognition" "1.28.37" "sha256-6eNlzJDFLLP9YsFdogWE1vtXvSNP//N+f4KpnFfnpa4=";
+
+  mypy-boto3-resiliencehub = buildMypyBoto3Package "resiliencehub" "1.28.36" "sha256-A6Nbwo6IxIBDbhCWqaKIDFYUvHCc1GRHh2IzCaYn6Nc=";
+
+  mypy-boto3-resource-explorer-2 = buildMypyBoto3Package "resource-explorer-2" "1.28.36" "sha256-vTYcU6Lf5mhh3+PtwhLTb72MZwgrykAbXz8coSw7znM=";
+
+  mypy-boto3-resource-groups = buildMypyBoto3Package "resource-groups" "1.28.36" "sha256-0q1trks0Xs22VuqE5nYnMVOmsPQ936UXMN3k7qo2kDc=";
+
+  mypy-boto3-resourcegroupstaggingapi = buildMypyBoto3Package "resourcegroupstaggingapi" "1.28.36" "sha256-A2T8OZr2OibcP+WSCDk4NydfXA8UMI4DPRCnb4l+yWI=";
+
+  mypy-boto3-robomaker = buildMypyBoto3Package "robomaker" "1.28.36" "sha256-zgk5TPyOtimF9axIjv8f0chrD2M7LZbeo6Huat6IUEs=";
+
+  mypy-boto3-rolesanywhere = buildMypyBoto3Package "rolesanywhere" "1.28.36" "sha256-YQKGDMmakoxhIsarmBdvOlqno9Qtm5XqOOuBD3cnhsc=";
+
+  mypy-boto3-route53 = buildMypyBoto3Package "route53" "1.28.36" "sha256-x/T2EZtPlnSFmRkRhU+GSKvRQHpXAL3c+JN6kdmFSuY=";
+
+  mypy-boto3-route53-recovery-cluster = buildMypyBoto3Package "route53-recovery-cluster" "1.28.36" "sha256-UAHjH2z8jCvyR2vdM5igPc1gwkcxX7wb51qZbmHBe9c=";
+
+  mypy-boto3-route53-recovery-control-config = buildMypyBoto3Package "route53-recovery-control-config" "1.28.36" "sha256-kcVRZWAIDRrHwGxd/tnWcCuu9fIgdmHzvHIG1XUdMMs=";
+
+  mypy-boto3-route53-recovery-readiness = buildMypyBoto3Package "route53-recovery-readiness" "1.28.36" "sha256-iwncFBFaoMzDDApHHSBfbRaIHUOXaJJO9fWTEK6LAKY=";
+
+  mypy-boto3-route53domains = buildMypyBoto3Package "route53domains" "1.28.36" "sha256-0g6Xh6GS06L6o0De4V/zQdw0DMOQMFFW7NMWEY7I5fQ=";
+
+  mypy-boto3-route53resolver = buildMypyBoto3Package "route53resolver" "1.28.36" "sha256-o5wa4Jjskxw10OpjvVq62mdyi55nB8xsB1t52hEtrs8=";
+
+  mypy-boto3-rum = buildMypyBoto3Package "rum" "1.28.36" "sha256-e342+/wBjUwNWBtQnlPoJtShgDbFXEEGd8B43UPSCFg=";
+
+  mypy-boto3-s3 = buildMypyBoto3Package "s3" "1.28.55" "sha256-sAiAn0SOdAdQEtT8VLAXbeC09JvDjjneMMoOdk63UFY=";
+
+  mypy-boto3-s3control = buildMypyBoto3Package "s3control" "1.28.36" "sha256-ZgJtq2jXRtgUXQrTfIZKSbF7TMTw/bV+bGlxte7kVA8=";
+
+  mypy-boto3-s3outposts = buildMypyBoto3Package "s3outposts" "1.28.36" "sha256-56REWXuXLQP2mibMz1s2FbCZFqTRZNOsuUd0IZ3sOJI=";
+
+  mypy-boto3-sagemaker = buildMypyBoto3Package "sagemaker" "1.28.57" "sha256-W3QJIXU+RPgr4IrgyJC7o0ox65W1Xyye5X5qpUCnAzo=";
+
+  mypy-boto3-sagemaker-a2i-runtime = buildMypyBoto3Package "sagemaker-a2i-runtime" "1.28.36" "sha256-2qwf/dtIhBT5HSYDDEuSy4nqGQrBYEZ/1RiD5vMYPMI=";
+
+  mypy-boto3-sagemaker-edge = buildMypyBoto3Package "sagemaker-edge" "1.28.36" "sha256-JsDQv4j8QB0wrXA3142LdNdYabJd8iB7PiLVZz0X3ss=";
+
+  mypy-boto3-sagemaker-featurestore-runtime = buildMypyBoto3Package "sagemaker-featurestore-runtime" "1.28.57" "sha256-vcK8WdiV8m7cqJ7WkGAqYFLjRmKdqX0qCuxmZKYlrtw=";
+
+  mypy-boto3-sagemaker-geospatial = buildMypyBoto3Package "sagemaker-geospatial" "1.28.36" "sha256-2JU0tA26pENaTJBsg13RV40+gsSRz+g1p/s+5LKtKTM=";
+
+  mypy-boto3-sagemaker-metrics = buildMypyBoto3Package "sagemaker-metrics" "1.28.36" "sha256-DF36xuoA1csbTCz/NJ8UhU7NPYU/OgE0+Z1t5ppPKCA=";
+
+  mypy-boto3-sagemaker-runtime = buildMypyBoto3Package "sagemaker-runtime" "1.28.39" "sha256-BQFdGoaL6GPAtCgFBTT4ajdkSWXsPrxYcLGndAcZw2k=";
+
+  mypy-boto3-savingsplans = buildMypyBoto3Package "savingsplans" "1.28.36" "sha256-EuCyeSHWSlS2OC8DM5alD6IcZ3fewmJavMMHWXL12T0=";
+
+  mypy-boto3-scheduler = buildMypyBoto3Package "scheduler" "1.28.36" "sha256-dMEm7KqoZFFtFnqXR6upXHQ/CeKQO1xQ+v7CoR4o7Xs=";
+
+  mypy-boto3-schemas = buildMypyBoto3Package "schemas" "1.28.36" "sha256-gq8a1k0MEnXFdmB5IPE9zHYF1rfoSD3Vis7YOVyCTV8=";
+
+  mypy-boto3-sdb = buildMypyBoto3Package "sdb" "1.28.36" "sha256-pbH5y/bS15S6BeTPIZ0bw8h0elfLeHdab/IxJF4DNYU=";
+
+  mypy-boto3-secretsmanager = buildMypyBoto3Package "secretsmanager" "1.28.36" "sha256-fjkIh9Nb03CNjAzpQJUl2tCAU+qNpf0Ef3Lse88JP9M=";
+
+  mypy-boto3-securityhub = buildMypyBoto3Package "securityhub" "1.28.43" "sha256-Ein8Q/bhJoThpGzGK9ow53WEWs5D5ARW/15s3qzLqnw=";
+
+  mypy-boto3-securitylake = buildMypyBoto3Package "securitylake" "1.28.36" "sha256-YKtv/32/5ngUo4GUqeplkL5mmdcWP7rYrypLPJtebQ0=";
+
+  mypy-boto3-serverlessrepo = buildMypyBoto3Package "serverlessrepo" "1.28.36" "sha256-oNSQAc9ZBX3+q1ycI0mg4lJ3jjqYkMfb0Cs/wjBRhrY=";
+
+  mypy-boto3-service-quotas = buildMypyBoto3Package "service-quotas" "1.28.36" "sha256-qWw/5Q/S/60ZJ55wJf+1++YRnXS7fySFJSDLOm9neDE=";
+
+  mypy-boto3-servicecatalog = buildMypyBoto3Package "servicecatalog" "1.28.37" "sha256-BOhaddv6XQwCRLuYk3ybTmFSdAQfWkqMVW6IvB4q/78=";
+
+  mypy-boto3-servicecatalog-appregistry = buildMypyBoto3Package "servicecatalog-appregistry" "1.28.37" "sha256-rUHzIPXave2oWWyEDERmBfybNFyzw2RMxPFFidVqdh8=";
+
+  mypy-boto3-servicediscovery = buildMypyBoto3Package "servicediscovery" "1.28.52" "sha256-WaiZXFpKr59w0XtjF6mVI7kGt1X+vmbeWiDBNwEaeRw=";
+
+  mypy-boto3-ses = buildMypyBoto3Package "ses" "1.28.36" "sha256-HYAl9ock3b9chpYp+wd+sR1DElFN+jxipHc3lGoIFR8=";
+
+  mypy-boto3-sesv2 = buildMypyBoto3Package "sesv2" "1.28.37" "sha256-TqnrgOc+YI6YA3BtJcN2BdU8Cm3By60yQJPxcWdQrEY=";
+
+  mypy-boto3-shield = buildMypyBoto3Package "shield" "1.28.36" "sha256-io8Ux5jD5gyQwZDENXuT/5/R1iqTWd4c34zzQtBxNyk=";
+
+  mypy-boto3-signer = buildMypyBoto3Package "signer" "1.28.36" "sha256-4Aji9L+AI66iB9NaiuV96YefuoEJ0s+BPdsOu/UwDpM=";
+
+  mypy-boto3-simspaceweaver = buildMypyBoto3Package "simspaceweaver" "1.28.47" "sha256-13RYW3vObQUNBsBtp8uaZZ9JFAiwBwiaYQv8tJ0O85w=";
+
+  mypy-boto3-sms = buildMypyBoto3Package "sms" "1.28.36" "sha256-xV29r8VmjvEQyyTYIdfkB9WbF08kjWbKdtLB5fXoWOo=";
+
+  mypy-boto3-sms-voice = buildMypyBoto3Package "sms-voice" "1.28.36" "sha256-mtX0fSvFofCCD2gQhyc+YBWZbAoR497FAyjUezm4FgU=";
+
+  mypy-boto3-snow-device-management = buildMypyBoto3Package "snow-device-management" "1.28.36" "sha256-mD1oojs3893aLdZQybDe41j5bG8dkMT92eq9fDbo5V8=";
+
+  mypy-boto3-snowball = buildMypyBoto3Package "snowball" "1.28.36" "sha256-ngClAeGdx5U6b41iNIABhcrBWzv4t3PB0dkdavx2e2I=";
+
+  mypy-boto3-sns = buildMypyBoto3Package "sns" "1.28.36" "sha256-SXWRhkEBpRR9XS+nFRBIwMTLSxmvN0prcKwu+KrkMGY=";
+
+  mypy-boto3-sqs = buildMypyBoto3Package "sqs" "1.28.36" "sha256-2cFZ4CDw7yJabVhQo2c+iyNjJyQ7pf/g0Tdirk/cDiE=";
+
+  mypy-boto3-ssm = buildMypyBoto3Package "ssm" "1.28.54" "sha256-cf246Qy7fhVgvU7M9w38JkqsdWQma4GI+YmNNpIJtJ8=";
+
+  mypy-boto3-ssm-contacts = buildMypyBoto3Package "ssm-contacts" "1.28.36" "sha256-MK1Hp9196tv2vFaVtroRPAMSP5lgmBJJZjOi7sqK318=";
+
+  mypy-boto3-ssm-incidents = buildMypyBoto3Package "ssm-incidents" "1.28.36" "sha256-0wYmsUl+q0s163UReHdCGSd18GOAhYh2aZKujT25aZc=";
+
+  mypy-boto3-ssm-sap = buildMypyBoto3Package "ssm-sap" "1.28.36" "sha256-aQtr5rgXtokfiI/CoVxD1g4KmP9ii0hELER08sJOu3g=";
+
+  mypy-boto3-sso = buildMypyBoto3Package "sso" "1.28.58" "sha256-EieqwoZ+kj3bbRDgwDDNZEPQXXFv3wFQUCYHivM6zeE=";
+
+  mypy-boto3-sso-admin = buildMypyBoto3Package "sso-admin" "1.28.44" "sha256-BleFuvoN4f9/6Q/vvDRwgmRBP86F7i7tpaC6G3sXn1Y=";
+
+  mypy-boto3-sso-oidc = buildMypyBoto3Package "sso-oidc" "1.28.52" "sha256-LGxlGXTsYZdBHiTFGzCCMvRW20Ny0kXMXLoP2YTAbKg=";
+
+  mypy-boto3-stepfunctions = buildMypyBoto3Package "stepfunctions" "1.28.36" "sha256-jHlOmKvFyiPvE+NR9Gu4Sd5jS6ym81KG4x5Y3t5Atoc=";
+
+  mypy-boto3-storagegateway = buildMypyBoto3Package "storagegateway" "1.28.36" "sha256-59qw52muZfYjmzO3quhIfgSk5xurzialMIEh+k+C69Q=";
+
+  mypy-boto3-sts = buildMypyBoto3Package "sts" "1.28.58" "sha256-vv/scF8fC0Sdo8H1Ksdlhie7KJrs7BpECCZkecRuBTs=";
+
+  mypy-boto3-support = buildMypyBoto3Package "support" "1.28.36" "sha256-HjzL3qwEiQSvJvaiB6pJN/GUMRNseuIqxM7rfrfwRKs=";
+
+  mypy-boto3-support-app = buildMypyBoto3Package "support-app" "1.28.36" "sha256-p/v2QUgmGYRVKGUtrCt9i6c1LKCxqNoNKHnfbAw7qMU=";
+
+  mypy-boto3-swf = buildMypyBoto3Package "swf" "1.28.36" "sha256-GO8hb3oVmSK0J8GB4ZT1RlqyBaRrOM2ZorOHkE3L8p0=";
+
+  mypy-boto3-synthetics = buildMypyBoto3Package "synthetics" "1.28.36" "sha256-6vRCRKjNplmMqmUpvDC/JVPl4q/YUYealQdXOComXNQ=";
+
+  mypy-boto3-textract = buildMypyBoto3Package "textract" "1.28.56" "sha256-xWQQAJJSeB/vsY2RAxw4z9lKjtVHJ91tvgZklwl/g74=";
+
+  mypy-boto3-timestream-query = buildMypyBoto3Package "timestream-query" "1.28.36" "sha256-fslhEeOU6hSx6efMMesqkV4MyicL5hAvKBD1ZdyB1Dw=";
+
+  mypy-boto3-timestream-write = buildMypyBoto3Package "timestream-write" "1.28.36" "sha256-dWA9lZ/vw96WA69hyECGnTTo9O+5qPyQWAUCSdevBUM=";
+
+  mypy-boto3-tnb = buildMypyBoto3Package "tnb" "1.28.36" "sha256-sGoBXxbU2rLyTbW1olhS3jgrfcw10FtCNgHckcWiSpI=";
+
+  mypy-boto3-transcribe = buildMypyBoto3Package "transcribe" "1.28.36" "sha256-oBof0qzgKgS58e+2teI6bBiIY3svwiyS+Ztzb3wRtLI=";
+
+  mypy-boto3-transfer = buildMypyBoto3Package "transfer" "1.28.58" "sha256-aTpJa78Q/Z2xCtMCsExVqHsZwVlRlzBwKl3m/sWvXcM=";
+
+  mypy-boto3-translate = buildMypyBoto3Package "translate" "1.28.36" "sha256-Q2FuBXtXWenPvkJ3PprDolsO6ur5QAAn0y1ORYEQIMM=";
+
+  mypy-boto3-verifiedpermissions = buildMypyBoto3Package "verifiedpermissions" "1.28.36" "sha256-HpiBOyeWvB/T/MquJ0R8Uk647VqCAlmC0Tryw9iojjA=";
+
+  mypy-boto3-voice-id = buildMypyBoto3Package "voice-id" "1.28.36" "sha256-B4R1U1eU4IZdB/Q+keSRL41zLvBMBJUiGw0RcCsC2l4=";
+
+  mypy-boto3-vpc-lattice = buildMypyBoto3Package "vpc-lattice" "1.28.41" "sha256-azHtPlg9etjfZOpN2505djAq9enyrIkz5NcIQE+fl9U=";
+
+  mypy-boto3-waf = buildMypyBoto3Package "waf" "1.28.36" "sha256-andRHQn1HAms2m57rIy+40iF7jz4nzGzYH24fP8qHSw=";
+
+  mypy-boto3-waf-regional = buildMypyBoto3Package "waf-regional" "1.28.36" "sha256-WoIforrEs7OOroJB5YvPSw/M9tvrojNnbFJdG7BlzkU=";
+
+  mypy-boto3-wafv2 = buildMypyBoto3Package "wafv2" "1.28.57" "sha256-7xrRaEm54cKtRZplu6l8UbTg+hF6Y5qP9/lgAV8D6AY=";
+
+  mypy-boto3-wellarchitected = buildMypyBoto3Package "wellarchitected" "1.28.36" "sha256-Xsu8CV0MvpmbAMA6ZMoIPQHSMJn8okag1SxKW0SUv1I=";
+
+  mypy-boto3-wisdom = buildMypyBoto3Package "wisdom" "1.28.36" "sha256-paheK7r4sqDjBbUVieh6E5gPAbmVaEFAC3NsWsCWxBA=";
+
+  mypy-boto3-workdocs = buildMypyBoto3Package "workdocs" "1.28.36" "sha256-dQysUcm1xlXJbcM1vdYZ7+migQgjHl4gSqHoZDKnhHg=";
+
+  mypy-boto3-worklink = buildMypyBoto3Package "worklink" "1.28.36" "sha256-oFjYLBxp/dZf1+IN5rj3usSUvZnRyhRMu63mRgdsrmI=";
+
+  mypy-boto3-workmail = buildMypyBoto3Package "workmail" "1.28.50" "sha256-OfRyehgMROua9Ydcc8HBvBp4eddo0re1w0fciBVUuS4=";
+
+  mypy-boto3-workmailmessageflow = buildMypyBoto3Package "workmailmessageflow" "1.28.36" "sha256-hfRjdhr/xJJNWYy4XDg8LT00sx/JGAEa4D+5GyR+FCo=";
+
+  mypy-boto3-workspaces = buildMypyBoto3Package "workspaces" "1.28.44" "sha256-/LXeiuXeNTgfAf8BrzC/z0kdK201Htkau79BH0MQEO4=";
+
+  mypy-boto3-workspaces-web = buildMypyBoto3Package "workspaces-web" "1.28.36" "sha256-kVVNGZYzZ2wIQVOCq3domqztTqsHY8FFHgeT5GCWtg0=";
+
+  mypy-boto3-xray = buildMypyBoto3Package "xray" "1.28.47" "sha256-1OiTpbaBm2aAls4A7ZaZBNAM8DTRuQcwNKJDq3lOKMY=";
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mypy/default.nix b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
index 90fafe527bd7..0ee96a6d690d 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
@@ -2,14 +2,12 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonOlder
 
 # build-system
 , setuptools
 , types-psutil
 , types-setuptools
-, types-typed-ast
 
 # propagates
 , mypy-extensions
@@ -32,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "mypy";
-  version = "1.4.1";
+  version = "1.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -41,23 +39,14 @@ buildPythonPackage rec {
     owner = "python";
     repo = "mypy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2PeE/L9J6J0IuUpHZasemM8xxefNJrdzYnutgJjevWQ=";
+    hash = "sha256-qs+axm2+UWNuWzLW8CI4qBV7k7Ra8gBajid8mYKDsso=";
   };
 
-  patches = [
-    (fetchpatch {
-      # pytest 7.4 compat
-      url = "https://github.com/python/mypy/commit/0a020fa73cf5339a80d81c5b44e17116a5c5307e.patch";
-      hash = "sha256-3HQPo+V7T8Gr92clXAt5QJUJPmhjnGjQgFq0qR0whfw=";
-    })
-  ];
-
   nativeBuildInputs = [
     mypy-extensions
     setuptools
     types-psutil
     types-setuptools
-    types-typed-ast
     typing-extensions
   ] ++ lib.optionals (pythonOlder "3.11") [
     tomli
diff --git a/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix b/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix
index 7b85fcf54b54..d821adc3bb25 100644
--- a/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix
@@ -1,11 +1,16 @@
-{ lib, buildPythonPackage, fetchPypi, libmysqlclient }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, libmysqlclient
+, pkg-config
+}:
 
 buildPythonPackage rec {
   pname = "mysqlclient";
-  version = "2.1.1";
+  version = "2.2.0";
 
   nativeBuildInputs = [
-    libmysqlclient
+    pkg-config
   ];
 
   buildInputs = [
@@ -17,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-godX5Bn7Ed1sXtJXbsksPvqpOg98OeJjWG0e53nD14I=";
+    hash = "sha256-BDaERfnEh9irt6h449I+kj5gcsBKbDIPng3IqC77oU4=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/myst-docutils/default.nix b/nixpkgs/pkgs/development/python-modules/myst-docutils/default.nix
index 3a51d240c5ae..66c07489dfaa 100644
--- a/nixpkgs/pkgs/development/python-modules/myst-docutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/myst-docutils/default.nix
@@ -13,12 +13,13 @@
 
 buildPythonPackage rec {
   pname = "myst-docutils";
-  version = "1.0.0";
+  version = "2.0.0";
   format = "pyproject";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-fbh97Z/5TnnMHj2bGZ4UvJkPpYtrTTcFOgpLWgHUYk0=";
+    pname = "myst_docutils";
+    inherit version;
+    hash = "sha256-WmmPEg+bINmeId+pjR6bbp8qzjfSXfEel+sQEdPIu8Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/myst-nb/default.nix b/nixpkgs/pkgs/development/python-modules/myst-nb/default.nix
index 6ede481fba85..33c06fc24619 100644
--- a/nixpkgs/pkgs/development/python-modules/myst-nb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/myst-nb/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   pname = "myst-nb";
   version = "0.17.2";
 
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
diff --git a/nixpkgs/pkgs/development/python-modules/myst-parser/default.nix b/nixpkgs/pkgs/development/python-modules/myst-parser/default.nix
index f2beeb85036f..0e6b2204ddbb 100644
--- a/nixpkgs/pkgs/development/python-modules/myst-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/myst-parser/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "myst-parser";
-  version = "1.0.0";
+  version = "2.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Kewd6/4yawpRuyCe8Na0BGUMo59tr2fc97VlGbVJ8mI=";
+    hash = "sha256-1BW7Z+0rs5Up+VZ3vDygnhLzE9Y2BqEMnTnflboweu0=";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/nameparser/default.nix b/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
index 4453e33975cf..370a5300a04e 100644
--- a/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
@@ -1,25 +1,35 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, glibcLocales
+, pythonOlder
+, unittestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "nameparser";
-  version = "1.1.2";
+  version = "1.1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9LbHwQSNUovWqisnz0KgZEfSsx5FqVsgRJUTB48dhu8=";
+    hash = "sha256-qiQArXHM+AcGdbQDEaJXyTRln5GFSxVOG6bCZHYcBJ0=";
   };
 
-  LC_ALL="en_US.UTF-8";
-  buildInputs = [ glibcLocales ];
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "nameparser"
+  ];
 
   meta = with lib; {
-    description = "A simple Python module for parsing human names into their individual components";
+    description = "Module for parsing human names into their individual components";
     homepage = "https://github.com/derek73/python-nameparser";
+    changelog = "https://github.com/derek73/python-nameparser/releases/tag/v${version}";
     license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/napalm/default.nix b/nixpkgs/pkgs/development/python-modules/napalm/default.nix
index eabbadc1d614..9b835d52737a 100644
--- a/nixpkgs/pkgs/development/python-modules/napalm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/napalm/default.nix
@@ -1,58 +1,76 @@
-{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, setuptools, cffi
-, paramiko, requests, future, textfsm, jinja2, netaddr, pyyaml, pyeapi, netmiko
-, junos-eznc, ciscoconfparse, scp, lxml, ncclient, pytestCheckHook, ddt, mock
-, pythonOlder, invoke }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+
+# build-system
+, setuptools
+, cffi
+
+# dependencies
+, future
+, jinja2
+, junos-eznc
+, lxml
+, ncclient
+, netaddr
+, netmiko
+, netutils
+, paramiko
+, pyeapi
+, pyyaml
+, requests
+, scp
+, textfsm
+, ttp
+, ttp-templates
+, typing-extensions
+
+# tests
+, pytestCheckHook
+, ddt
+, mock
+ }:
 
 buildPythonPackage rec {
   pname = "napalm";
-  version = "3.4.1";
-  format = "setuptools";
+  version = "4.1.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "napalm-automation";
     repo = "napalm";
-    rev = version;
-    hash = "sha256-TNWRJtc6+VS6wgJGGvCPDoFQmOKQAyXdjFQo9bPJ2F8=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-JqjuYMJcP58UMn1pPYg7x8KpqCKQUs19Ng9HbI2iX38=";
   };
 
-  patches = [
-    # netmiko 4.0.0 support
-    (fetchpatch{
-      url = "https://github.com/napalm-automation/napalm/commit/4b8cc85db3236099a04f742cf71773e74d9dd70e.patch";
-      excludes = [ "requirements.txt" ];
-      hash = "sha256-DBKp+wiKd+/j2xAqaQL3UCcGQd6wnWcNTsNXBBt9c98=";
-    })
-    (fetchpatch{
-      url = "https://github.com/napalm-automation/napalm/commit/4a8b5b1823335dd79aa5269c038a1f08ecd35cdd.patch";
-      hash = "sha256-uiou/rzmnFf4wAvXwmUsGJx99GeHWKJB2JrMM1kLakM=";
-    })
+  nativeBuildInputs = [
+    setuptools
   ];
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "netmiko>=3.3.0,<4.0.0" "netmiko"
-  '';
-
   propagatedBuildInputs = [
     cffi
-    paramiko
-    requests
     future
-    textfsm
-    invoke
     jinja2
+    junos-eznc
+    lxml
+    ncclient
     netaddr
-    pyyaml
-    pyeapi
     netmiko
-    junos-eznc
-    ciscoconfparse
+    # breaks infinite recursion
+    (netutils.override { napalm = null; })
+    paramiko
+    pyeapi
+    pyyaml
+    requests
     scp
     setuptools
-    lxml
-    ncclient
+    textfsm
+    ttp
+    ttp-templates
+    typing-extensions
   ];
 
   nativeCheckInputs = [ pytestCheckHook mock ddt ];
diff --git a/nixpkgs/pkgs/development/python-modules/napari-npe2/default.nix b/nixpkgs/pkgs/development/python-modules/napari-npe2/default.nix
index fc81042527b8..61cf2978a8e5 100644
--- a/nixpkgs/pkgs/development/python-modules/napari-npe2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/napari-npe2/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "napari-npe2";
-  version = "0.7.0";
+  version = "0.7.2";
 
   format = "pyproject";
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "napari";
     repo = "npe2";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6kHyz7jMZO3385XaNJ4zFBoQiU1SIRyYZsUeMH5EBXo=";
+    hash = "sha256-PjoLocNTkcAnBNRbPi+MZqZtQ2bjWPIUVz0+k8nIn2A=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/nasdaq-data-link/default.nix b/nixpkgs/pkgs/development/python-modules/nasdaq-data-link/default.nix
index 17e2b229245a..f72edadaf262 100644
--- a/nixpkgs/pkgs/development/python-modules/nasdaq-data-link/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nasdaq-data-link/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, factory_boy
+, factory-boy
 , fetchFromGitHub
 , httpretty
 , inflection
@@ -42,7 +42,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     httpretty
     jsondate
     mock
diff --git a/nixpkgs/pkgs/development/python-modules/nbclassic/default.nix b/nixpkgs/pkgs/development/python-modules/nbclassic/default.nix
index 79febaf68518..d4730414006c 100644
--- a/nixpkgs/pkgs/development/python-modules/nbclassic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbclassic/default.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , fetchPypi
 , ipykernel
-, ipython_genutils
+, ipython-genutils
 , jinja2
 , jupyter-client
 , jupyter-core
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     argon2-cffi
     ipykernel
-    ipython_genutils
+    ipython-genutils
     jinja2
     jupyter-client
     jupyter-core
diff --git a/nixpkgs/pkgs/development/python-modules/nbclient/default.nix b/nixpkgs/pkgs/development/python-modules/nbclient/default.nix
index 6c386ee01854..745de65f4b2e 100644
--- a/nixpkgs/pkgs/development/python-modules/nbclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbclient/default.nix
@@ -19,7 +19,7 @@
 
 let nbclient = buildPythonPackage rec {
   pname = "nbclient";
-  version = "0.7.2";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ let nbclient = buildPythonPackage rec {
     owner = "jupyter";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-2H6Oi1tK/GrtfMTR1j12tZdRzQkFUxXzMSpfCtGPyWE=";
+    hash = "sha256-uBCYmrl/Zfw58hd12z20jLVwGSPv+M3fMo1mfV2GO/M=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
index e7fb3dfba472..68d3de53cb3a 100644
--- a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
@@ -33,7 +33,7 @@ let
   };
 in buildPythonPackage rec {
   pname = "nbconvert";
-  version = "7.7.3";
+  version = "7.8.0";
 
   disabled = pythonOlder "3.8";
 
@@ -41,7 +41,7 @@ in buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SlmWv1880WqgQxiXuhqkxkhCwgefQ0s9xrjEslLvM1U=";
+    hash = "sha256-9bwVoSR+FN1Bzu8MCjvHACDgFldusFeNpi8cW0+VBHk=";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
diff --git a/nixpkgs/pkgs/development/python-modules/nbdev/default.nix b/nixpkgs/pkgs/development/python-modules/nbdev/default.nix
index ac309a9002e1..8a298ec19f67 100644
--- a/nixpkgs/pkgs/development/python-modules/nbdev/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbdev/default.nix
@@ -15,13 +15,14 @@
 
 buildPythonPackage rec {
   pname = "nbdev";
-  version = "2.3.12";
+  version = "2.3.13";
   format = "setuptools";
-  disabled = pythonOlder "3.6";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-AQWNqCq9IEWMKkkG5bw0pkvWtvIMKkBbAotfTRRTMCQ=";
+    hash = "sha256-Umkf3CcRRSS+pK3UKeTg+Ru3TW+qHNoQ2F6nUk8jQUU=";
   };
 
   propagatedBuildInputs = [
@@ -38,11 +39,15 @@ buildPythonPackage rec {
 
   # no real tests
   doCheck = false;
-  pythonImportsCheck = [ "nbdev" ];
+
+  pythonImportsCheck = [
+    "nbdev"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/fastai/nbdev";
     description = "Create delightful software with Jupyter Notebooks";
+    changelog = "https://github.com/fastai/nbdev/blob/${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ rxiao ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/nbformat/default.nix b/nixpkgs/pkgs/development/python-modules/nbformat/default.nix
index 354a937a6105..290663e78a81 100644
--- a/nixpkgs/pkgs/development/python-modules/nbformat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbformat/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "nbformat";
-  version = "5.9.1";
+  version = "5.9.2";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-On9S0EBjnL2KOJAhjIsP+5MhFYjFdEbJAJXjK6WIG10=";
+    hash = "sha256-X5i1uhmX3/F1534MF9XBCpbq7Sy9HeNTPR/DXV4REZI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nbmerge/default.nix b/nixpkgs/pkgs/development/python-modules/nbmerge/default.nix
index 5919f7e18bf6..6aaee680582c 100644
--- a/nixpkgs/pkgs/development/python-modules/nbmerge/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbmerge/default.nix
@@ -1,34 +1,50 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , nbformat
 , nose
 }:
 
 buildPythonPackage rec {
   pname = "nbmerge";
-  version = "unstable-2017-10-23";
+  version = "0.0.4";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "jbn";
     repo = pname;
-    rev = "fc0ba95e8422340317358ffec4404235defbc06a";
-    sha256 = "1cn550kjadnxc1sx2xy814248fpzrj3lgvrmsbrwmk03vwaa2hmi";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Uqs/SO/AculHCFYcbjW08kLQX5GSU/eAwkN2iy/vhLM=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [ nbformat ];
+
   nativeCheckInputs = [ nose ];
 
   checkPhase = ''
+    runHook preCheck
+
     patchShebangs .
     nosetests -v
     PATH=$PATH:$out/bin ./cli_tests.sh
+
+    runHook postCheck
   '';
 
+  pythonImportsCheck = [
+    "nbmerge"
+  ];
+
   meta = {
     description = "A tool to merge/concatenate Jupyter (IPython) notebooks";
     inherit (src.meta) homepage;
     license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ ];
+    mainProgram = "nbmerge";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/neo4j/default.nix b/nixpkgs/pkgs/development/python-modules/neo4j/default.nix
index 96790c04c450..9e31ebadf6bd 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.12.0";
+  version = "5.13.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-feKKBbULkWxEgUaMROvmQph2YTAgSOVDRz/OnpzG9Ac=";
+    hash = "sha256-ykbKNLMnbAGUavyfRtF3q97FRLaeuKOt0pcWHtJ9mCY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nestedtext/default.nix b/nixpkgs/pkgs/development/python-modules/nestedtext/default.nix
index 807060528eee..185fffba413a 100644
--- a/nixpkgs/pkgs/development/python-modules/nestedtext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nestedtext/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , docopt
 , fetchFromGitHub
-, flitBuildHook
+, flit-core
 , hypothesis
 , inform
 , nestedtext
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [
-    flitBuildHook
+    flit-core
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/netio/default.nix b/nixpkgs/pkgs/development/python-modules/netio/default.nix
index 82e5d1641fd8..30e9fc1af53a 100644
--- a/nixpkgs/pkgs/development/python-modules/netio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/netio/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, poetry-core
 , pyopenssl
 , pythonOlder
 , requests
@@ -9,19 +10,20 @@
 
 buildPythonPackage rec {
   pname = "netio";
-  version = "1.0.10";
-  format = "pyproject";
+  version = "1.0.13";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    pname ="Netio";
-    inherit version;
-    hash = "sha256-+fGs7ZwvspAW4GlO5Hx+gNb+7Mhl9HC4pijHyk+8PYs=";
+  src = fetchFromGitHub {
+    owner = "netioproducts";
+    repo = "PyNetio";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-s/X2WGhQXYsbo+ZPpkVSF/vclaThYYNHu0UY0yCnfPA=";
   };
 
   nativeBuildInputs = [
-    setuptools
+    poetry-core
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/netmiko/default.nix b/nixpkgs/pkgs/development/python-modules/netmiko/default.nix
index 7258acb2aad1..513c3ade941f 100644
--- a/nixpkgs/pkgs/development/python-modules/netmiko/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/netmiko/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "netmiko";
-  version = "4.1.2";
+  version = "4.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9e3iooZw09/TRwBhRoZl+A+bSQbtIOaw+02eHJvmevw=";
+    hash = "sha256-et3m/j6mMzYij0moY2UMLYP7DmgODw0Vi1sPsExBAOE=";
   };
 
   buildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/netutils/default.nix b/nixpkgs/pkgs/development/python-modules/netutils/default.nix
index c1f43e64f8f0..517c90b3f449 100644
--- a/nixpkgs/pkgs/development/python-modules/netutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/netutils/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , jinja2
+, jsonschema
 , napalm
 , poetry-core
 , pytestCheckHook
@@ -30,6 +31,12 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    jsonschema
+    napalm
+  ];
+
+  passthru.optional-dependencies.optionals = [
+    jsonschema
     napalm
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/networkx/default.nix b/nixpkgs/pkgs/development/python-modules/networkx/default.nix
index 5342b12dc8b2..b793bc57bf0e 100644
--- a/nixpkgs/pkgs/development/python-modules/networkx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/networkx/default.nix
@@ -11,12 +11,12 @@
 buildPythonPackage rec {
   pname = "networkx";
   # upgrade may break sage, please test the sage build or ping @timokau on upgrade
-  version = "3.0";
+  version = "3.1";
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mpmSNFNTYYrpgznCtj2CAcOBwpRPOKKrSctFpMZn5BI=";
+    hash = "sha256-3jRjNUCPhN4Orab/n6+v/5vNoR8KDfqpMRM967FGq2E=";
   };
 
   propagatedBuildInputs = [ decorator setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/nextcord/default.nix b/nixpkgs/pkgs/development/python-modules/nextcord/default.nix
index 04fa54a28d6a..4a5faf4c33a8 100644
--- a/nixpkgs/pkgs/development/python-modules/nextcord/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nextcord/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "nextcord";
-  version = "2.5.0";
+  version = "2.6.1";
 
   format = "setuptools";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "nextcord";
     repo = "nextcord";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Oo1C2tasuNIpUaKACbapnoZs7WVS1uncS1akErzQrqI=";
+    hash = "sha256-bv4I+Ol/N4kbp/Ch7utaUpo0GmF+Mpx4zWmHL7uIveM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/niaarm/default.nix b/nixpkgs/pkgs/development/python-modules/niaarm/default.nix
index fd2d7df76e2d..90d063a5114b 100644
--- a/nixpkgs/pkgs/development/python-modules/niaarm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/niaarm/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "niaarm";
-  version = "0.3.2";
+  version = "0.3.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "firefly-cpp";
     repo = "NiaARM";
-    rev = version;
-    hash = "sha256-9/VGr/Ci9f8SiuofX1vWVF/E4eoeQ0ESj9raQk53Zp4=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-kWOJfADqtC8YdZUlifKeiaS2a2cgcsMgCf0IHJt4NKY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nibe/default.nix b/nixpkgs/pkgs/development/python-modules/nibe/default.nix
index 48a9365f8f26..bec644ecaae1 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.3.0";
+  version = "2.4.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "yozik04";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-IrPEXrrnbxJcIuy+Xq4iVEEblJ85d7M99zGr1DDJS2M=";
+    hash = "sha256-6WXn8W7C6QCy9afGMTL2NaSYuxQy+u2OYYa0Vc8sbV8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nilearn/default.nix b/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
index 5a79242daa06..921af46b15d5 100644
--- a/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "nilearn";
-  version = "0.10.0";
+  version = "0.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zH8QaOA4B2Un6tG9NjQ2+I9ejSHou1ezI7MLkm/HVTo=";
+    hash = "sha256-koo2Tn7XfRXQK38icZfqfHj0Ty/ngP61VdbXz5Iy+EY=";
   };
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/nkdfu/default.nix b/nixpkgs/pkgs/development/python-modules/nkdfu/default.nix
index 340af281269e..35d6fa16e1d3 100644
--- a/nixpkgs/pkgs/development/python-modules/nkdfu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nkdfu/default.nix
@@ -1,15 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi, fire, tqdm, intelhex, libusb1 }:
+{ lib, buildPythonPackage, fetchPypi, flit-core, fire, tqdm, intelhex, libusb1 }:
 
 buildPythonPackage rec {
   pname = "nkdfu";
   version = "0.2";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-8l913dOCxHKFtpQ83p9RV3sUlu0oT5PVi14FSuYJ9fg=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     fire
     tqdm
diff --git a/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix b/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix
index 9415343d6ea7..62af8da7eb62 100644
--- a/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "nomadnet";
-  version = "0.3.7";
+  version = "0.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "NomadNet";
     rev = "refs/tags/${version}";
-    hash = "sha256-cyD68GsAuJKmbVxWCCJVWz/VErB9LEdRzz9IT8ir+U0=";
+    hash = "sha256-xXVur2ibctRCfQ1zKnPeLrNoukTmFT8exTbm2ukByYY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nose2/default.nix b/nixpkgs/pkgs/development/python-modules/nose2/default.nix
index 648d954be7d0..81fcdce60d1e 100644
--- a/nixpkgs/pkgs/development/python-modules/nose2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nose2/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "nose2";
-  version = "0.12.0";
+  version = "0.13.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lW55ub1VjuCLYgDAWtLHZGW344YMDAU3aGCJKFwyARM=";
+    hash = "sha256-V8aK1nbvS4i1BpSTfrUvSUOqHKJhB0tJCbbhYwRrRvA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/notebook-shim/default.nix b/nixpkgs/pkgs/development/python-modules/notebook-shim/default.nix
index 985cc63158e6..3bdb11416863 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook-shim/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notebook-shim/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "notebook-shim";
-  version = "0.2.2";
+  version = "0.2.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "jupyter";
     repo = "notebook_shim";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/z4vXSBqeL2wSqJ0kFNgU0TSGUGByhxHNya8EO55+7s=";
+    hash = "sha256-eAYZuNYqOMKC6joDbbKk4Q4nrfdbO7b+yZeSvMdWWrI=";
   };
 
   nativeBuildInputs = [ hatchling ];
diff --git a/nixpkgs/pkgs/development/python-modules/notebook/default.nix b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
index 95f387653d97..0532d2472a7f 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "7.0.2";
+  version = "7.0.3";
   disabled = pythonOlder "3.8";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1w1qB0GMgpvV9UM3zpk7cQUmHZAm+dP+aOm4qhog2po=";
+    hash = "sha256-B/PFBi/Q5uaYZEN6A0erxIXZkaroepLEfWWWmfVxtyk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/notifications-python-client/default.nix b/nixpkgs/pkgs/development/python-modules/notifications-python-client/default.nix
index 2f2eceb788c1..5ae579c8deb2 100644
--- a/nixpkgs/pkgs/development/python-modules/notifications-python-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notifications-python-client/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "notifications-python-client";
-  version = "8.0.1";
+  version = "8.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "alphagov";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ZDqUJljCZnGmm0TRclv23I+I9egFdF25P0wIYAQkOVI=";
+    hash = "sha256-pdBPjc2j0/PSk224r8un22pNQ9g1jMdhPn8XmoKp+ng=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nsz/default.nix b/nixpkgs/pkgs/development/python-modules/nsz/default.nix
index e9d6edbfa80a..06cb7a9457b1 100644
--- a/nixpkgs/pkgs/development/python-modules/nsz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nsz/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "nsz";
-  version = "4.4.0";
+  version = "4.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "nicoboss";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-glK4CK7D33FfLqHLxVr4kkb887/A9tqxPwWpcXYZu/0=";
+    hash = "sha256-/46qOQEuzSBmnFG0XW4z71HAHpuyqhia29KQkUlDsgg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix b/nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix
index d668ba721718..e8c1be951a4f 100644
--- a/nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ntc-templates/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "ntc-templates";
-  version = "3.2.0";
+  version = "3.5.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "networktocode";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-uEGl245tmc+W/9G+IclSNu76VTJ7w3zw6BQkhmGgEnY=";
+    hash = "sha256-FhKMDSAW+MifAy2EnHePbSfY56rdK1SfOe85bFte6ps=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "TextFSM templates for parsing show commands of network devices";
     homepage = "https://github.com/networktocode/ntc-templates";
+    changelog = "https://github.com/networktocode/ntc-templates/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ hexa ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/numba/default.nix b/nixpkgs/pkgs/development/python-modules/numba/default.nix
index 874cbe2376d1..51a043b8d7f3 100644
--- a/nixpkgs/pkgs/development/python-modules/numba/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numba/default.nix
@@ -12,7 +12,6 @@
 , importlib-metadata
 , substituteAll
 , runCommand
-, fetchpatch
 
 , config
 
@@ -29,15 +28,16 @@ let
 in buildPythonPackage rec {
   # Using an untagged version, with numpy 1.25 support, when it's released
   # also drop the versioneer patch in postPatch
-  version = "unstable-2023-08-11";
+  version = "0.58.0rc2";
   pname = "numba";
   format = "setuptools";
-  disabled = pythonOlder "3.6" || pythonAtLeast "3.11";
+
+  disabled = pythonOlder "3.8" || pythonAtLeast "3.12";
 
   src = fetchFromGitHub {
     owner = "numba";
     repo = "numba";
-    rev = "6f0c5060a69656319ab0bae1d8bb89484cd5631f";
+    rev = "refs/tags/${version}";
     # Upstream uses .gitattributes to inject information about the revision
     # hash and the refname into `numba/_version.py`, see:
     #
@@ -50,7 +50,7 @@ in buildPythonPackage rec {
     # use `forceFetchGit = true;`.` If in the future we'll observe the hash
     # changes too often, we can always use forceFetchGit, and inject the
     # relevant strings ourselves, using `sed` commands, in extraPostFetch.
-    hash = "sha256-34qEn/i2X6Xu1cjuiRrmrm/HryNoN+Am4A4pJ90srAE=";
+    hash = "sha256-ktFBjzd2vEahdr86lhVLVFEadCIhPP3hRF/EuZhHCC4=";
   };
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
 
@@ -78,13 +78,6 @@ in buildPythonPackage rec {
       cuda_toolkit_lib_path = cudatoolkit.lib;
     })
   ];
-  # with untagged version we need to specify the correct version ourselves
-
-  postPatch = ''
-    substituteInPlace setup.py --replace "version=versioneer.get_version()" "version='0.57.1'"
-    substituteInPlace numba/_version.py \
-      --replace 'git_refnames = " (HEAD -> main)"' 'git_refnames = "tag: 0.57.1"'
-  '';
 
   postFixup = lib.optionalString cudaSupport ''
     find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
diff --git a/nixpkgs/pkgs/development/python-modules/numba/numpy-1.24.patch b/nixpkgs/pkgs/development/python-modules/numba/numpy-1.24.patch
deleted file mode 100644
index 8a0214b79f7f..000000000000
--- a/nixpkgs/pkgs/development/python-modules/numba/numpy-1.24.patch
+++ /dev/null
@@ -1,644 +0,0 @@
-From c3e6994e07fb6ac57be5d9d33d9046c5453b2256 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Thu, 24 Nov 2022 15:41:24 +0000
-Subject: [PATCH 01/13] CUDA intrinsics tests: correct np.float -> np.float16
-
-I believe this was written in error and should always have been float16.
----
- numba/cuda/tests/cudapy/test_intrinsics.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/numba/cuda/tests/cudapy/test_intrinsics.py b/numba/cuda/tests/cudapy/test_intrinsics.py
-index 6e5fc0a0e..46fe8c607 100644
---- a/numba/cuda/tests/cudapy/test_intrinsics.py
-+++ b/numba/cuda/tests/cudapy/test_intrinsics.py
-@@ -619,7 +619,7 @@ class TestCudaIntrinsic(CUDATestCase):
-         arg2 = np.float16(4.)
-         compiled[1, 1](ary, arg1, arg2)
-         np.testing.assert_allclose(ary[0], arg2)
--        arg1 = np.float(5.)
-+        arg1 = np.float16(5.)
-         compiled[1, 1](ary, arg1, arg2)
-         np.testing.assert_allclose(ary[0], arg1)
- 
-@@ -631,7 +631,7 @@ class TestCudaIntrinsic(CUDATestCase):
-         arg2 = np.float16(4.)
-         compiled[1, 1](ary, arg1, arg2)
-         np.testing.assert_allclose(ary[0], arg1)
--        arg1 = np.float(5.)
-+        arg1 = np.float16(5.)
-         compiled[1, 1](ary, arg1, arg2)
-         np.testing.assert_allclose(ary[0], arg2)
- 
--- 
-2.39.1
-
-From 550fc6a25a82f76bc1f06bdea39177df635038c2 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Thu, 22 Dec 2022 13:02:22 +0000
-Subject: [PATCH 02/13] TestLinalgSvd.test_no_input_mutation: use
- reconstruction if necessary
-
-This test only checked for a plain match when comparing outputs.
-However, in some cases a reconstruction check can be necessary, as in
-`test_linalg_svd`.
----
- numba/tests/test_linalg.py | 61 ++++++++++++++++++++------------------
- 1 file changed, 32 insertions(+), 29 deletions(-)
-
-diff --git a/numba/tests/test_linalg.py b/numba/tests/test_linalg.py
-index db183059d..b1d4f0a83 100644
---- a/numba/tests/test_linalg.py
-+++ b/numba/tests/test_linalg.py
-@@ -1122,6 +1122,32 @@ class TestLinalgSvd(TestLinalgBase):
-     Tests for np.linalg.svd.
-     """
- 
-+    # This checks that A ~= U*S*V**H, i.e. SV decomposition ties out.  This is
-+    # required as NumPy uses only double precision LAPACK routines and
-+    # computation of SVD is numerically sensitive. Numba uses type-specific
-+    # routines and therefore sometimes comes out with a different answer to
-+    # NumPy (orthonormal bases are not unique, etc.).
-+
-+    def check_reconstruction(self, a, got, expected):
-+        u, sv, vt = got
-+
-+        # Check they are dimensionally correct
-+        for k in range(len(expected)):
-+            self.assertEqual(got[k].shape, expected[k].shape)
-+
-+        # Columns in u and rows in vt dictates the working size of s
-+        s = np.zeros((u.shape[1], vt.shape[0]))
-+        np.fill_diagonal(s, sv)
-+
-+        rec = np.dot(np.dot(u, s), vt)
-+        resolution = np.finfo(a.dtype).resolution
-+        np.testing.assert_allclose(
-+            a,
-+            rec,
-+            rtol=10 * resolution,
-+            atol=100 * resolution  # zeros tend to be fuzzy
-+        )
-+
-     @needs_lapack
-     def test_linalg_svd(self):
-         """
-@@ -1150,34 +1176,8 @@ class TestLinalgSvd(TestLinalgBase):
-                     # plain match failed, test by reconstruction
-                     use_reconstruction = True
- 
--            # if plain match fails then reconstruction is used.
--            # this checks that A ~= U*S*V**H
--            # i.e. SV decomposition ties out
--            # this is required as numpy uses only double precision lapack
--            # routines and computation of svd is numerically
--            # sensitive, numba using the type specific routines therefore
--            # sometimes comes out with a different answer (orthonormal bases
--            # are not unique etc.).
-             if use_reconstruction:
--                u, sv, vt = got
--
--                # check they are dimensionally correct
--                for k in range(len(expected)):
--                    self.assertEqual(got[k].shape, expected[k].shape)
--
--                # regardless of full_matrices cols in u and rows in vt
--                # dictates the working size of s
--                s = np.zeros((u.shape[1], vt.shape[0]))
--                np.fill_diagonal(s, sv)
--
--                rec = np.dot(np.dot(u, s), vt)
--                resolution = np.finfo(a.dtype).resolution
--                np.testing.assert_allclose(
--                    a,
--                    rec,
--                    rtol=10 * resolution,
--                    atol=100 * resolution  # zeros tend to be fuzzy
--                )
-+                self.check_reconstruction(a, got, expected)
- 
-             # Ensure proper resource management
-             with self.assertNoNRTLeak():
-@@ -1238,8 +1238,11 @@ class TestLinalgSvd(TestLinalgBase):
-         got = func(X, False)
-         np.testing.assert_allclose(X, X_orig)
- 
--        for e_a, g_a in zip(expected, got):
--            np.testing.assert_allclose(e_a, g_a)
-+        try:
-+            for e_a, g_a in zip(expected, got):
-+                np.testing.assert_allclose(e_a, g_a)
-+        except AssertionError:
-+            self.check_reconstruction(X, got, expected)
- 
- 
- class TestLinalgQr(TestLinalgBase):
--- 
-2.39.1
-
-From c9ca2d1ae5e09ace729cddf6fba08effcd69a0b7 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Thu, 24 Nov 2022 21:39:27 +0000
-Subject: [PATCH 03/13] test_comp_nest_with_dependency: skip on NumPy 1.24
-
-Setting an array element with a sequence is removed in NumPy 1.24.
----
- numba/tests/test_comprehension.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/numba/tests/test_comprehension.py b/numba/tests/test_comprehension.py
-index 2cdd3dc25..092ed51da 100644
---- a/numba/tests/test_comprehension.py
-+++ b/numba/tests/test_comprehension.py
-@@ -11,6 +11,7 @@ from numba import jit, typed
- from numba.core import types, utils
- from numba.core.errors import TypingError, LoweringError
- from numba.core.types.functions import _header_lead
-+from numba.np.numpy_support import numpy_version
- from numba.tests.support import tag, _32bit, captured_stdout
- 
- 
-@@ -360,6 +361,7 @@ class TestArrayComprehension(unittest.TestCase):
-         self.check(comp_nest_with_array_conditional, 5,
-                    assert_allocate_list=True)
- 
-+    @unittest.skipUnless(numpy_version < (1, 24), 'Removed in NumPy 1.24')
-     def test_comp_nest_with_dependency(self):
-         def comp_nest_with_dependency(n):
-             l = np.array([[i * j for j in range(i+1)] for i in range(n)])
--- 
-2.39.1
-
-From e69ad519352ac5a1f7714083968fcbac3ba92f95 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Thu, 24 Nov 2022 16:48:37 +0000
-Subject: [PATCH 04/13] Avoid use of np.bool in stencilparfor.py
-
----
- numba/stencils/stencilparfor.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/numba/stencils/stencilparfor.py b/numba/stencils/stencilparfor.py
-index 5f30893b3..4f23ed903 100644
---- a/numba/stencils/stencilparfor.py
-+++ b/numba/stencils/stencilparfor.py
-@@ -21,6 +21,7 @@ from numba.core.ir_utils import (get_call_table, mk_unique_var,
-                             find_callname, require, find_const, GuardException)
- from numba.core.errors import NumbaValueError
- from numba.core.utils import OPERATORS_TO_BUILTINS
-+from numba.np import numpy_support
- 
- 
- def _compute_last_ind(dim_size, index_const):
-@@ -264,7 +265,11 @@ class StencilPass(object):
-             dtype_g_np_assign = ir.Assign(dtype_g_np, dtype_g_np_var, loc)
-             init_block.body.append(dtype_g_np_assign)
- 
--            dtype_np_attr_call = ir.Expr.getattr(dtype_g_np_var, return_type.dtype.name, loc)
-+            return_type_name = numpy_support.as_dtype(
-+                               return_type.dtype).type.__name__
-+            if return_type_name == 'bool':
-+                return_type_name = 'bool_'
-+            dtype_np_attr_call = ir.Expr.getattr(dtype_g_np_var, return_type_name, loc)
-             dtype_attr_var = ir.Var(scope, mk_unique_var("$np_attr_attr"), loc)
-             self.typemap[dtype_attr_var.name] = types.functions.NumberClass(return_type.dtype)
-             dtype_attr_assign = ir.Assign(dtype_np_attr_call, dtype_attr_var, loc)
--- 
-2.39.1
-
-From dd96d5996abd8646443501f2bbd7d4e1a9c0eec4 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Thu, 24 Nov 2022 15:46:52 +0000
-Subject: [PATCH 05/13] test_hypot: Tweak regex so it matches NumPy 1.24
-
-The modified regex matches the existing message produced by NumPy <
-1.24, and the new improved message in 1.24.
----
- numba/tests/test_mathlib.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/numba/tests/test_mathlib.py b/numba/tests/test_mathlib.py
-index a3f535316..05e3d68f5 100644
---- a/numba/tests/test_mathlib.py
-+++ b/numba/tests/test_mathlib.py
-@@ -516,7 +516,7 @@ class TestMathLib(TestCase):
-             with warnings.catch_warnings():
-                 warnings.simplefilter("error", RuntimeWarning)
-                 self.assertRaisesRegexp(RuntimeWarning,
--                                        'overflow encountered in .*_scalars',
-+                                        'overflow encountered in .*scalar',
-                                         naive_hypot, val, val)
- 
-     def test_hypot_npm(self):
--- 
-2.39.1
-
-From b755c22caeec9e6b0e0606f0cee245648914d592 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Thu, 24 Nov 2022 11:29:53 +0000
-Subject: [PATCH 06/13] Don't test summing with timedelta dtype
-
-This always produced invalid results (though they were consistent
-between Numba and NumPy) but now this fails in NumPy 1.24 with an
-exception:
-
-```
-TypeError: The `dtype` and `signature` arguments to ufuncs only select
-the general DType and not details such as the byte order or time unit.
-You can avoid this error by using the scalar types `np.float64` or the
-dtype string notation.
-```
-
-Note that the exception message is misleading, and using the dtype
-string notation does not provide a workaround.
----
- numba/tests/test_array_methods.py | 15 ++++++---------
- 1 file changed, 6 insertions(+), 9 deletions(-)
-
-diff --git a/numba/tests/test_array_methods.py b/numba/tests/test_array_methods.py
-index eee5cfeff..a2312adba 100644
---- a/numba/tests/test_array_methods.py
-+++ b/numba/tests/test_array_methods.py
-@@ -1193,7 +1193,7 @@ class TestArrayMethods(MemoryLeakMixin, TestCase):
-         pyfunc = array_sum_dtype_kws
-         cfunc = jit(nopython=True)(pyfunc)
-         all_dtypes = [np.float64, np.float32, np.int64, np.int32, np.uint32,
--                      np.uint64, np.complex64, np.complex128, TIMEDELTA_M]
-+                      np.uint64, np.complex64, np.complex128]
-         all_test_arrays = [
-             [np.ones((7, 6, 5, 4, 3), arr_dtype),
-              np.ones(1, arr_dtype),
-@@ -1207,8 +1207,7 @@ class TestArrayMethods(MemoryLeakMixin, TestCase):
-                       np.dtype('uint32'): [np.float64, np.int64, np.float32],
-                       np.dtype('uint64'): [np.float64, np.int64],
-                       np.dtype('complex64'): [np.complex64, np.complex128],
--                      np.dtype('complex128'): [np.complex128],
--                      np.dtype(TIMEDELTA_M): [np.dtype(TIMEDELTA_M)]}
-+                      np.dtype('complex128'): [np.complex128]}
- 
-         for arr_list in all_test_arrays:
-             for arr in arr_list:
-@@ -1216,15 +1215,15 @@ class TestArrayMethods(MemoryLeakMixin, TestCase):
-                     subtest_str = ("Testing np.sum with {} input and {} output"
-                                    .format(arr.dtype, out_dtype))
-                     with self.subTest(subtest_str):
--                        self.assertPreciseEqual(pyfunc(arr, dtype=out_dtype),
--                                                cfunc(arr, dtype=out_dtype))
-+                            self.assertPreciseEqual(pyfunc(arr, dtype=out_dtype),
-+                                                    cfunc(arr, dtype=out_dtype))
- 
-     def test_sum_axis_dtype_kws(self):
-         """ test sum with axis and dtype parameters over a whole range of dtypes """
-         pyfunc = array_sum_axis_dtype_kws
-         cfunc = jit(nopython=True)(pyfunc)
-         all_dtypes = [np.float64, np.float32, np.int64, np.int32, np.uint32,
--                      np.uint64, np.complex64, np.complex128, TIMEDELTA_M]
-+                      np.uint64, np.complex64, np.complex128]
-         all_test_arrays = [
-             [np.ones((7, 6, 5, 4, 3), arr_dtype),
-              np.ones(1, arr_dtype),
-@@ -1238,9 +1237,7 @@ class TestArrayMethods(MemoryLeakMixin, TestCase):
-                       np.dtype('uint32'): [np.float64, np.int64, np.float32],
-                       np.dtype('uint64'): [np.float64, np.uint64],
-                       np.dtype('complex64'): [np.complex64, np.complex128],
--                      np.dtype('complex128'): [np.complex128],
--                      np.dtype(TIMEDELTA_M): [np.dtype(TIMEDELTA_M)],
--                      np.dtype(TIMEDELTA_Y): [np.dtype(TIMEDELTA_Y)]}
-+                      np.dtype('complex128'): [np.complex128]}
- 
-         for arr_list in all_test_arrays:
-             for arr in arr_list:
--- 
-2.39.1
-
-From 65df00379df1276b7045b44818347a119bb32361 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Thu, 24 Nov 2022 10:03:54 +0000
-Subject: [PATCH 07/13] Replace use of deprecated np.bool with np.bool_
-
-np.bool was removed in NumPy 1.24.
----
- numba/tests/test_np_functions.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/numba/tests/test_np_functions.py b/numba/tests/test_np_functions.py
-index 4cdaf548b..e195ac781 100644
---- a/numba/tests/test_np_functions.py
-+++ b/numba/tests/test_np_functions.py
-@@ -932,11 +932,11 @@ class TestNPFunctions(MemoryLeakMixin, TestCase):
-             yield np.inf, None
-             yield np.PINF, None
-             yield np.asarray([-np.inf, 0., np.inf]), None
--            yield np.NINF, np.zeros(1, dtype=np.bool)
--            yield np.inf, np.zeros(1, dtype=np.bool)
--            yield np.PINF, np.zeros(1, dtype=np.bool)
-+            yield np.NINF, np.zeros(1, dtype=np.bool_)
-+            yield np.inf, np.zeros(1, dtype=np.bool_)
-+            yield np.PINF, np.zeros(1, dtype=np.bool_)
-             yield np.NINF, np.empty(12)
--            yield np.asarray([-np.inf, 0., np.inf]), np.zeros(3, dtype=np.bool)
-+            yield np.asarray([-np.inf, 0., np.inf]), np.zeros(3, dtype=np.bool_)
- 
-         pyfuncs = [isneginf, isposinf]
-         for pyfunc in pyfuncs:
--- 
-2.39.1
-
-From 065475bd8d5f39ad0a2b0d154ca283dec10bf5d0 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Thu, 24 Nov 2022 09:56:06 +0000
-Subject: [PATCH 08/13] Overload np.MachAr only for NumPy < 1.24
-
----
- numba/np/arraymath.py            | 4 ++++
- numba/tests/test_np_functions.py | 4 +++-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/numba/np/arraymath.py b/numba/np/arraymath.py
-index 9885526ee..f6e5f5560 100644
---- a/numba/np/arraymath.py
-+++ b/numba/np/arraymath.py
-@@ -4177,6 +4177,10 @@ iinfo = namedtuple('iinfo', _iinfo_supported)
- # This module is imported under the compiler lock which should deal with the
- # lack of thread safety in the warning filter.
- def _gen_np_machar():
-+    # NumPy 1.24 removed np.MachAr
-+    if numpy_version >= (1, 24):
-+        return
-+
-     np122plus = numpy_version >= (1, 22)
-     w = None
-     with warnings.catch_warnings(record=True) as w:
-diff --git a/numba/tests/test_np_functions.py b/numba/tests/test_np_functions.py
-index e195ac781..e8a9bccd0 100644
---- a/numba/tests/test_np_functions.py
-+++ b/numba/tests/test_np_functions.py
-@@ -4775,6 +4775,7 @@ def foo():
-         eval(compile(funcstr, '<string>', 'exec'))
-         return locals()['foo']
- 
-+    @unittest.skipIf(numpy_version >= (1, 24), "NumPy < 1.24 required")
-     def test_MachAr(self):
-         attrs = ('ibeta', 'it', 'machep', 'eps', 'negep', 'epsneg', 'iexp',
-                  'minexp', 'xmin', 'maxexp', 'xmax', 'irnd', 'ngrd',
-@@ -4817,7 +4818,8 @@ def foo():
-             cfunc = jit(nopython=True)(iinfo)
-             cfunc(np.float64(7))
- 
--    @unittest.skipUnless(numpy_version >= (1, 22), "Needs NumPy >= 1.22")
-+    @unittest.skipUnless((1, 22) <= numpy_version < (1, 24),
-+                         "Needs NumPy >= 1.22, < 1.24")
-     @TestCase.run_test_in_subprocess
-     def test_np_MachAr_deprecation_np122(self):
-         # Tests that Numba is replaying the NumPy 1.22 deprecation warning
--- 
-2.39.1
-
-From 4925287144b9dca5624886ac44a27831178a7198 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Fri, 25 Nov 2022 10:55:04 +0000
-Subject: [PATCH 09/13] _internal.c: Remove NPY_API_VERSION checks
-
-The API version has long since been greater than 0x7 / 0x8 for any
-supported NumPy.
----
- numba/np/ufunc/_internal.c | 14 --------------
- 1 file changed, 14 deletions(-)
-
-diff --git a/numba/np/ufunc/_internal.c b/numba/np/ufunc/_internal.c
-index 98a643788..3ab725f8f 100644
---- a/numba/np/ufunc/_internal.c
-+++ b/numba/np/ufunc/_internal.c
-@@ -285,9 +285,7 @@ static struct _ufunc_dispatch {
-     PyCFunctionWithKeywords ufunc_accumulate;
-     PyCFunctionWithKeywords ufunc_reduceat;
-     PyCFunctionWithKeywords ufunc_outer;
--#if NPY_API_VERSION >= 0x00000008
-     PyCFunction ufunc_at;
--#endif
- } ufunc_dispatch;
- 
- static int
-@@ -303,10 +301,8 @@ init_ufunc_dispatch(int *numpy_uses_fastcall)
-             if (strncmp(crnt_name, "accumulate", 11) == 0) {
-                 ufunc_dispatch.ufunc_accumulate =
-                     (PyCFunctionWithKeywords)crnt->ml_meth;
--#if NPY_API_VERSION >= 0x00000008
-             } else if (strncmp(crnt_name, "at", 3) == 0) {
-                 ufunc_dispatch.ufunc_at = crnt->ml_meth;
--#endif
-             } else {
-                 result = -1;
-             }
-@@ -351,9 +347,7 @@ init_ufunc_dispatch(int *numpy_uses_fastcall)
-                   && (ufunc_dispatch.ufunc_accumulate != NULL)
-                   && (ufunc_dispatch.ufunc_reduceat != NULL)
-                   && (ufunc_dispatch.ufunc_outer != NULL)
--#if NPY_API_VERSION >= 0x00000008
-                   && (ufunc_dispatch.ufunc_at != NULL)
--#endif
-                   );
-     }
-     return result;
-@@ -425,13 +419,11 @@ dufunc_outer_fast(PyDUFuncObject * self,
- }
- 
- 
--#if NPY_API_VERSION >= 0x00000008
- static PyObject *
- dufunc_at(PyDUFuncObject * self, PyObject * args)
- {
-     return ufunc_dispatch.ufunc_at((PyObject*)self->ufunc, args);
- }
--#endif
- 
- static PyObject *
- dufunc__compile_for_args(PyDUFuncObject * self, PyObject * args,
-@@ -609,11 +601,9 @@ static struct PyMethodDef dufunc_methods[] = {
-     {"outer",
-         (PyCFunction)dufunc_outer,
-         METH_VARARGS | METH_KEYWORDS, NULL},
--#if NPY_API_VERSION >= 0x00000008
-     {"at",
-         (PyCFunction)dufunc_at,
-         METH_VARARGS, NULL},
--#endif
-     {"_compile_for_args",
-         (PyCFunction)dufunc__compile_for_args,
-         METH_VARARGS | METH_KEYWORDS,
-@@ -643,11 +633,9 @@ static struct PyMethodDef dufunc_methods_fast[] = {
-     {"outer",
-         (PyCFunction)dufunc_outer_fast,
-         METH_FASTCALL | METH_KEYWORDS, NULL},
--#if NPY_API_VERSION >= 0x00000008
-     {"at",
-         (PyCFunction)dufunc_at,
-         METH_VARARGS, NULL},
--#endif
-     {"_compile_for_args",
-         (PyCFunction)dufunc__compile_for_args,
-         METH_VARARGS | METH_KEYWORDS,
-@@ -791,9 +779,7 @@ MOD_INIT(_internal)
-     if (PyModule_AddIntMacro(m, PyUFunc_One)
-         || PyModule_AddIntMacro(m, PyUFunc_Zero)
-         || PyModule_AddIntMacro(m, PyUFunc_None)
--#if NPY_API_VERSION >= 0x00000007
-         || PyModule_AddIntMacro(m, PyUFunc_ReorderableNone)
--#endif
-         )
-         return MOD_ERROR_VAL;
- 
--- 
-2.39.1
-
-From 783ef5a297f15d16eec61fe38d13648b876e3750 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Tue, 3 Jan 2023 17:08:44 +0000
-Subject: [PATCH 10/13] init_ufunc_dispatch: Handle unexpected ufunc methods
- gracefully
-
-If an unexpected ufunc method was encountered, `init_ufunc_dispatch()`
-would return an error code indicating failure without setting an
-exception, leading to errors like
-
-```
-SystemError: initialization of _internal failed without raising an
-exception
-```
-
-as reported in Issue #8615.
-
-This commit fixes the issue by setting an appropriate exception in this
-case.
----
- numba/np/ufunc/_internal.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/numba/np/ufunc/_internal.c b/numba/np/ufunc/_internal.c
-index 3ab725f8f..6ce8989cd 100644
---- a/numba/np/ufunc/_internal.c
-+++ b/numba/np/ufunc/_internal.c
-@@ -337,6 +337,8 @@ init_ufunc_dispatch(int *numpy_uses_fastcall)
-                 *numpy_uses_fastcall = crnt->ml_flags & METH_FASTCALL;
-             }
-             else if (*numpy_uses_fastcall != (crnt->ml_flags & METH_FASTCALL)) {
-+                PyErr_SetString(PyExc_RuntimeError,
-+                    "ufunc.at() flags do not match numpy_uses_fastcall");
-                 return -1;
-             }
-         }
-@@ -349,7 +351,11 @@ init_ufunc_dispatch(int *numpy_uses_fastcall)
-                   && (ufunc_dispatch.ufunc_outer != NULL)
-                   && (ufunc_dispatch.ufunc_at != NULL)
-                   );
-+    } else {
-+        char const * const fmt = "Unexpected ufunc method %s()";
-+        PyErr_Format(PyExc_RuntimeError, fmt, crnt_name);
-     }
-+
-     return result;
- }
- 
--- 
-2.39.1
-
-From 5c259e46a8e510c2b82c7ff449b167d3b430294b Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Tue, 3 Jan 2023 17:11:10 +0000
-Subject: [PATCH 11/13] init_ufunc_dispatch: Update for NumPy 1.24
-
-NumPy 1.24 adds a new method, `resolve_dtypes()`, and a private method
-`_resolve_dtypes_and_context()`. We handle these by just ignoring them
-(ignoring all private methods in general) in order to provide the same
-level of functionality in Numba as for NumPy 1.23.
-
-There is further room to build new functionality on top of this:
-
-- Providing an implementation of `resolve_dtypes()` for `DUFunc`
-  objects.
-- Using the `resolve_dtypes()` method in place of logic in Numba that
-  implements a similar dtype resolution process.
----
- numba/np/ufunc/_internal.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/numba/np/ufunc/_internal.c b/numba/np/ufunc/_internal.c
-index 6ce8989cd..e860081fb 100644
---- a/numba/np/ufunc/_internal.c
-+++ b/numba/np/ufunc/_internal.c
-@@ -322,10 +322,15 @@ init_ufunc_dispatch(int *numpy_uses_fastcall)
-             } else if (strncmp(crnt_name, "reduceat", 9) == 0) {
-                 ufunc_dispatch.ufunc_reduceat =
-                     (PyCFunctionWithKeywords)crnt->ml_meth;
-+            } else if (strncmp(crnt_name, "resolve_dtypes", 15) == 0) {
-+              /* Ignored */
-             } else {
-                 result = -1;
-             }
-             break;
-+        case '_':
-+            // We ignore private methods
-+            break;
-         default:
-             result = -1; /* Unknown method */
-         }
--- 
-2.39.1
-
-From 3736714982be943eb94f4a259368b1dce525ea64 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Wed, 11 Jan 2023 16:25:19 +0000
-Subject: [PATCH 12/13] Update comment on skipped test
-
-PR #8691 feedback.
----
- numba/tests/test_comprehension.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/numba/tests/test_comprehension.py b/numba/tests/test_comprehension.py
-index 092ed51da..9327b4ed3 100644
---- a/numba/tests/test_comprehension.py
-+++ b/numba/tests/test_comprehension.py
-@@ -361,7 +361,9 @@ class TestArrayComprehension(unittest.TestCase):
-         self.check(comp_nest_with_array_conditional, 5,
-                    assert_allocate_list=True)
- 
--    @unittest.skipUnless(numpy_version < (1, 24), 'Removed in NumPy 1.24')
-+    @unittest.skipUnless(numpy_version < (1, 24),
-+                         'Setting an array element with a sequence is removed '
-+                         'in NumPy 1.24')
-     def test_comp_nest_with_dependency(self):
-         def comp_nest_with_dependency(n):
-             l = np.array([[i * j for j in range(i+1)] for i in range(n)])
--- 
-2.39.1
-
-From 3cbab7ee436e3452e7d078f8283136671a36d944 Mon Sep 17 00:00:00 2001
-From: Graham Markall <gmarkall@nvidia.com>
-Date: Fri, 27 Jan 2023 12:06:57 +0000
-Subject: [PATCH 13/13] Correct name of ufunc method in fastcall flags error
-
-The name of the method should be given, which was never `at()`.
----
- numba/np/ufunc/_internal.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/numba/np/ufunc/_internal.c b/numba/np/ufunc/_internal.c
-index e860081fb..0a33de170 100644
---- a/numba/np/ufunc/_internal.c
-+++ b/numba/np/ufunc/_internal.c
-@@ -342,8 +342,9 @@ init_ufunc_dispatch(int *numpy_uses_fastcall)
-                 *numpy_uses_fastcall = crnt->ml_flags & METH_FASTCALL;
-             }
-             else if (*numpy_uses_fastcall != (crnt->ml_flags & METH_FASTCALL)) {
--                PyErr_SetString(PyExc_RuntimeError,
--                    "ufunc.at() flags do not match numpy_uses_fastcall");
-+                PyErr_Format(PyExc_RuntimeError,
-+                    "ufunc.%s() flags do not match numpy_uses_fastcall",
-+                    crnt_name);
-                 return -1;
-             }
-         }
--- 
-2.39.1
-
diff --git a/nixpkgs/pkgs/development/python-modules/numexpr/default.nix b/nixpkgs/pkgs/development/python-modules/numexpr/default.nix
index 63d95622c061..6acc3e53f4e4 100644
--- a/nixpkgs/pkgs/development/python-modules/numexpr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numexpr/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "numexpr";
-  version = "2.8.4";
+  version = "2.8.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1UMlN0GNGGkbkRXWFdbaoX7oJ1uu8+3xr7v4vGmAYUc=";
+    hash = "sha256-Yzb426P0VuQaT/w8l+tj2JxzWJ/24XBxQSJLkwJjJg0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/numpy/default.nix b/nixpkgs/pkgs/development/python-modules/numpy/default.nix
index c1cd59bc62ed..d2d85bddf3b6 100644
--- a/nixpkgs/pkgs/development/python-modules/numpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numpy/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchPypi
-, fetchpatch
 , python
 , buildPythonPackage
 , gfortran
@@ -12,6 +11,7 @@
 , lapack
 , writeTextFile
 , cython
+, pythonAtLeast
 , pythonOlder
 }:
 
@@ -41,24 +41,17 @@ let
   };
 in buildPythonPackage rec {
   pname = "numpy";
-  version = "1.25.1";
+  version = "1.25.2";
   format = "setuptools";
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9" || pythonAtLeast "3.12";
 
   src = fetchPypi {
     inherit pname version;
     extension = "tar.gz";
-    hash = "sha256-mjqfOmFIDMCGEXtCaovYaGnCE/xAcuYG8BxOS2brkr8=";
+    hash = "sha256-/WCOGcjXxVAh3/1Dv+VJL6uMwQXMiYb4E/jDwEizh2A=";
   };
 
   patches = [
-    # f2py.f90mod_rules generates code with invalid function pointer conversions, which are
-    # clang 16 makes an error by default.
-    (fetchpatch {
-      url = "https://github.com/numpy/numpy/commit/609fee4324f3521d81a3454f5fcc33abb0d3761e.patch";
-      hash = "sha256-6Dbmf/RWvQJPTIjvchVaywHGcKCsgap/0wAp5WswuCo=";
-    })
-
     # Disable `numpy/core/tests/test_umath.py::TestComplexFunctions::test_loss_of_precision[complex256]`
     # on x86_64-darwin because it fails under Rosetta 2 due to issues with trig functions and
     # 80-bit long double complex numbers.
diff --git a/nixpkgs/pkgs/development/python-modules/numpyro/default.nix b/nixpkgs/pkgs/development/python-modules/numpyro/default.nix
index f301fdac7be9..612be673dbc1 100644
--- a/nixpkgs/pkgs/development/python-modules/numpyro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numpyro/default.nix
@@ -9,19 +9,20 @@
 , tqdm
 , funsor
 , pytestCheckHook
-, tensorflow-probability
+# TODO: uncomment when tensorflow-probability gets fixed.
+# , tensorflow-probability
 }:
 
 buildPythonPackage rec {
   pname = "numpyro";
-  version = "0.13.0";
+  version = "0.13.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit version pname;
-    hash = "sha256-n+5K6fZlatKkXGVxzKcVhmP5XNuJeeM+GcCJ1Kh/WMk=";
+    hash = "sha256-Um8LFVGAlMeOaN9uMwycHJzqEnTaxp8FYXIk+m2VTug=";
   };
 
   propagatedBuildInputs = [
@@ -35,7 +36,8 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     funsor
     pytestCheckHook
-    tensorflow-probability
+    # TODO: uncomment when tensorflow-probability gets fixed.
+    # tensorflow-probability
   ];
 
   pythonImportsCheck = [
@@ -62,6 +64,11 @@ buildPythonPackage rec {
     "test_model_transformation"
   ];
 
+  # TODO: remove when tensorflow-probability gets fixed.
+  disabledTestPaths = [
+    "test/test_distributions.py"
+  ];
+
   meta = with lib; {
     description = "Library for probabilistic programming with NumPy";
     homepage = "https://num.pyro.ai/";
diff --git a/nixpkgs/pkgs/development/python-modules/nutils/default.nix b/nixpkgs/pkgs/development/python-modules/nutils/default.nix
index da52ca153e48..421131e7f8e2 100644
--- a/nixpkgs/pkgs/development/python-modules/nutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nutils/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "nutils";
-  version = "7.3";
+  version = "8.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "evalf";
     repo = "nutils";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3VtQFnR8vihxoIyRkbE1a1Rs8Np3/79PWNKReTBZDg8=";
+    hash = "sha256-6VvzUKKUB5SkmvC7PFPqGayc51t3PTMPwrxgZI5+jHA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix b/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
index 37f7a1e44c21..dce4276d57cd 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.0.7";
+  version = "16.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-opF7HdTJX4M7gTgB0VyWyyG/DO7lrVTvTcxMBX3a6UE=";
+    hash = "sha256-7JkV4idZ/euYGGPTg6I+pw2nNOuttmGJMlz3NvJO9Rw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/oci/default.nix b/nixpkgs/pkgs/development/python-modules/oci/default.nix
index 62acb84d4f82..34a79c198309 100644
--- a/nixpkgs/pkgs/development/python-modules/oci/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oci/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.112.1";
+  version = "2.112.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "oracle";
     repo = "oci-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HPmAXLEoTEDVZh1npkcLQamEn/CehzM1FOgGOHUrBrg=";
+    hash = "sha256-ilYlG0bPoMlCs0D49ZJaDgh/xoY+qsHlfJKHPkepe9Q=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
index 58d77f7712d0..fc6aeb040120 100644
--- a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -25,14 +25,15 @@
 , tqdm
 , typing-extensions
 , unpaper
+, wheel
 , installShellFiles
 }:
 
 buildPythonPackage rec {
   pname = "ocrmypdf";
-  version = "14.4.0";
+  version = "15.2.0";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   format = "pyproject";
 
@@ -46,7 +47,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-i1ZUBKR8dJXZkALUFwkzYcjtZ5Li66DfD2fupCGRQC4=";
+    hash = "sha256-XeO/obDP2tv/HKZLa0Absv26m+oUIup/IBMFZP8/1VQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -54,17 +55,18 @@ buildPythonPackage rec {
   patches = [
     (substituteAll {
       src = ./paths.patch;
-      gs = "${lib.getBin ghostscript}/bin/gs";
-      jbig2 = "${lib.getBin jbig2enc}/bin/jbig2";
-      pngquant = "${lib.getBin pngquant}/bin/pngquant";
-      tesseract = "${lib.getBin tesseract}/bin/tesseract";
-      unpaper = "${lib.getBin unpaper}/bin/unpaper";
+      gs = lib.getExe ghostscript;
+      jbig2 = lib.getExe jbig2enc;
+      pngquant = lib.getExe pngquant;
+      tesseract = lib.getExe tesseract;
+      unpaper = lib.getExe unpaper;
     })
   ];
 
   nativeBuildInputs = [
     setuptools
     setuptools-scm
+    wheel
     installShellFiles
   ];
 
@@ -78,9 +80,6 @@ buildPythonPackage rec {
     pluggy
     reportlab
     rich
-    tqdm
-  ] ++ lib.optionals (pythonOlder "3.9") [
-    importlib-resources
   ] ++ lib.optionals (pythonOlder "3.10") [
     typing-extensions
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch b/nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch
index 71d96c9a98eb..6e6a1f8d79a0 100644
--- a/nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch
+++ b/nixpkgs/pkgs/development/python-modules/ocrmypdf/paths.patch
@@ -1,69 +1,61 @@
 diff --git a/src/ocrmypdf/_exec/ghostscript.py b/src/ocrmypdf/_exec/ghostscript.py
-index 9e21c33c..21f134b3 100644
+index e28d23e9..183cd918 100644
 --- a/src/ocrmypdf/_exec/ghostscript.py
 +++ b/src/ocrmypdf/_exec/ghostscript.py
-@@ -32,15 +32,7 @@ log = logging.getLogger(__name__)
- # Most reliable what to get the bitness of Python interpreter, according to Python docs
- _IS_64BIT = sys.maxsize > 2**32
- 
--_GSWIN = None
--if os.name == 'nt':
--    if _IS_64BIT:
--        _GSWIN = 'gswin64c'
--    else:
--        _GSWIN = 'gswin32c'
--
--GS = _GSWIN if _GSWIN else 'gs'
--del _GSWIN
+@@ -67,7 +67,7 @@ log.addFilter(DuplicateFilter(log))
+ 
+ 
+ # Ghostscript executable - gswin32c is not supported
+-GS = 'gswin64c' if os.name == 'nt' else 'gs'
 +GS = '@gs@'
  
  
- def version():
+ def version() -> Version:
 diff --git a/src/ocrmypdf/_exec/jbig2enc.py b/src/ocrmypdf/_exec/jbig2enc.py
-index 0f8f7392..db792b10 100644
+index 28d3dd1c..477a7d6c 100644
 --- a/src/ocrmypdf/_exec/jbig2enc.py
 +++ b/src/ocrmypdf/_exec/jbig2enc.py
-@@ -12,7 +12,7 @@ from ocrmypdf.subprocess import get_version, run
+@@ -14,7 +14,7 @@ from ocrmypdf.subprocess import get_version, run
  
  
- def version():
--    return get_version('jbig2', regex=r'jbig2enc (\d+(\.\d+)*).*')
-+    return get_version('@jbig2@', regex=r'jbig2enc (\d+(\.\d+)*).*')
+ def version() -> Version:
+-    return Version(get_version('jbig2', regex=r'jbig2enc (\d+(\.\d+)*).*'))
++    return Version(get_version('@jbig2@', regex=r'jbig2enc (\d+(\.\d+)*).*'))
  
  
  def available():
-@@ -25,7 +25,7 @@ def available():
+@@ -27,7 +27,7 @@ def available():
  
- def convert_group(*, cwd, infiles, out_prefix):
+ def convert_group(*, cwd, infiles, out_prefix, threshold):
      args = [
 -        'jbig2',
 +        '@jbig2@',
          '-b',
          out_prefix,
-         '-s',  # symbol mode (lossy)
-@@ -44,7 +44,7 @@ def convert_group_mp(args):
+         '--symbol-mode',  # symbol mode (lossy)
+@@ -50,7 +50,7 @@ def convert_group_mp(args):
  
  
- def convert_single(*, cwd, infile, outfile):
--    args = ['jbig2', '-p', infile]
-+    args = ['@jbig2@', '-p', infile]
+ 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 64e91139..ab5b9c49 100644
+index 8425caec..a027f041 100644
 --- a/src/ocrmypdf/_exec/pngquant.py
 +++ b/src/ocrmypdf/_exec/pngquant.py
-@@ -17,7 +17,7 @@ from ocrmypdf.subprocess import get_version, run
+@@ -18,7 +18,7 @@ from ocrmypdf.subprocess import get_version, run
  
  
- def version():
--    return get_version('pngquant', regex=r'(\d+(\.\d+)*).*')
-+    return get_version('@pngquant@', regex=r'(\d+(\.\d+)*).*')
+ def version() -> Version:
+-    return Version(get_version('pngquant', regex=r'(\d+(\.\d+)*).*'))
++    return Version(get_version('@pngquant@', regex=r'(\d+(\.\d+)*).*'))
  
  
  def available():
-@@ -44,7 +44,7 @@ def input_as_png(input_file: Path):
+@@ -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:
          args = [
@@ -73,19 +65,19 @@ index 64e91139..ab5b9c49 100644
              '--skip-if-larger',
              '--quality',
 diff --git a/src/ocrmypdf/_exec/tesseract.py b/src/ocrmypdf/_exec/tesseract.py
-index ad98836a..a12d3002 100644
+index 4eac3470..61315d14 100644
 --- a/src/ocrmypdf/_exec/tesseract.py
 +++ b/src/ocrmypdf/_exec/tesseract.py
-@@ -111,7 +111,7 @@ class TesseractVersion(Version):
+@@ -114,7 +114,7 @@ class TesseractVersion(Version):
  
  
- def version() -> str:
--    return get_version('tesseract', regex=r'tesseract\s(.+)')
-+    return get_version('@tesseract@', regex=r'tesseract\s(.+)')
+ def version() -> Version:
+-    return TesseractVersion(get_version('tesseract', regex=r'tesseract\s(.+)'))
++    return TesseractVersion(get_version('@tesseract@', regex=r'tesseract\s(.+)'))
  
  
- def has_user_words() -> bool:
-@@ -138,7 +138,7 @@ def get_languages() -> set[str]:
+ def has_thresholding() -> bool:
+@@ -132,7 +132,7 @@ def get_languages() -> set[str]:
          msg += output
          return msg
  
@@ -94,7 +86,7 @@ index ad98836a..a12d3002 100644
      try:
          proc = run(
              args_tess,
-@@ -160,7 +160,7 @@ def get_languages() -> set[str]:
+@@ -154,7 +154,7 @@ def get_languages() -> set[str]:
  
  
  def tess_base_args(langs: list[str], engine_mode: int | None) -> list[str]:
@@ -104,19 +96,19 @@ index ad98836a..a12d3002 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 d7f24265..d14f85de 100644
+index 2944b4f4..55a36140 100644
 --- a/src/ocrmypdf/_exec/unpaper.py
 +++ b/src/ocrmypdf/_exec/unpaper.py
-@@ -66,7 +66,7 @@ class UnpaperImageTooLargeError(Exception):
+@@ -69,7 +69,7 @@ class UnpaperImageTooLargeError(Exception):
  
  
- def version() -> str:
--    return get_version('unpaper')
-+    return get_version('@unpaper@')
+ def version() -> Version:
+-    return Version(get_version('unpaper'))
++    return Version(get_version('@unpaper@'))
  
  
  SUPPORTED_MODES = {'1', 'L', 'RGB'}
-@@ -120,7 +120,7 @@ def _setup_unpaper_io(input_file: Path) -> Iterator[tuple[Path, Path, Path]]:
+@@ -123,7 +123,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/oelint-parser/default.nix b/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix
new file mode 100644
index 000000000000..fddfd74834e9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/oelint-parser/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, nix-update-script
+, fetchPypi
+, buildPythonPackage
+, regex
+}:
+
+buildPythonPackage rec {
+  pname = "oelint-parser";
+  version = "2.11.3";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "oelint_parser";
+    hash = "sha256-iR/MDHt3SEG29hSLqA36EXe8EBRZVntt+u6bwoujy0s=";
+  };
+
+  propagatedBuildInputs = [ regex ];
+  pythonImportsCheck = [ "oelint_parser" ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    description = "Alternative parser for bitbake recipes";
+    homepage = "https://github.com/priv-kweihmann/oelint-parser";
+    changelog = "https://github.com/priv-kweihmann/oelint-parser/releases/tag/v${version}";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ otavio ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/okta/default.nix b/nixpkgs/pkgs/development/python-modules/okta/default.nix
index f2e19e4a6340..d6068b59e043 100644
--- a/nixpkgs/pkgs/development/python-modules/okta/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/okta/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "okta";
-  version = "2.9.2";
+  version = "2.9.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kbzqriybzN/86vov3Q+kH2lj9plK1GzWPlc/Nc/nWF0=";
+    hash = "sha256-mOKVCRp8cLY7p0AVbvphWdB3II6eB6HlN8i1HrVUH+o=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/onnxconverter-common/default.nix b/nixpkgs/pkgs/development/python-modules/onnxconverter-common/default.nix
index d45d82da0e3a..dfe5a03e7cc7 100644
--- a/nixpkgs/pkgs/development/python-modules/onnxconverter-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/onnxconverter-common/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "onnxconverter-common";
-  version = "1.13.0";
+  version = "1.14.0";
 
   format = "setuptools";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "microsoft";
     repo = "onnxconverter-common";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VT9ly0d0Yhw1J6C521oUyaCx4WtFSdpyk8EdIKlre3c=";
+    hash = "sha256-NbHyjLcr/Gq1zRiJW3ZBpEVQGVQGhp7SmfVd5hBIi2o=";
   };
 
   propagatedBuildInputs = [
@@ -29,6 +29,10 @@ buildPythonPackage rec {
     onnx
   ];
 
+  pythonImportsCheck = [
+    "onnxconverter_common"
+  ];
+
   nativeCheckInputs = [
     onnxruntime
     unittestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix b/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix
index 0e10642f0693..68dfc24aafda 100644
--- a/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix
@@ -1,12 +1,13 @@
 { lib
+, callPackage
 , buildPythonPackage
-, python
-, fetchpatch
 , fetchFromGitHub
 , addOpenGLRunpath
+, pytestCheckHook
+, pythonRelaxDepsHook
+, pkgsTargetTarget
 , cmake
-, cudaPackages
-, llvmPackages
+, ninja
 , pybind11
 , gtest
 , zlib
@@ -15,18 +16,11 @@
 , lit
 , filelock
 , torchWithRocm
-, pytest
-, pytestCheckHook
-, pythonRelaxDepsHook
-, pkgsTargetTarget
+, python
+, cudaPackages
 }:
 
 let
-  pname = "triton";
-  version = "2.0.0";
-
-  inherit (cudaPackages) cuda_cudart backendStdenv;
-
   # A time may come we'll want to be cross-friendly
   #
   # Short explanation: we need pkgsTargetTarget, because we use string
@@ -38,20 +32,12 @@ let
   # pkgsTargetTarget maybe doesn't matter, because ptxas compiles programs to
   # be executed on the GPU.
   # Cf. https://nixos.org/manual/nixpkgs/unstable/#sec-cross-infra
-  ptxas = "${pkgsTargetTarget.cudaPackages.cuda_nvcc}/bin/ptxas";
-
-  llvm = (llvmPackages.llvm.override {
-    llvmTargetsToBuild = [ "NATIVE" "NVPTX" ];
-    # Upstream CI sets these too:
-    # targetProjects = [ "mlir" ];
-    extraCMakeFlags = [
-      "-DLLVM_INSTALL_UTILS=ON"
-    ];
-  });
+  ptxas = "${pkgsTargetTarget.cudaPackages.cuda_nvcc}/bin/ptxas"; # Make sure cudaPackages is the right version each update (See python/setup.py)
+  llvm = callPackage ./llvm.nix { }; # Use a custom llvm, see llvm.nix for details
 in
-buildPythonPackage {
-  inherit pname version;
-
+buildPythonPackage rec {
+  pname = "triton";
+  version = "2.0.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
@@ -62,21 +48,6 @@ buildPythonPackage {
   };
 
   patches = [
-    # Prerequisite for llvm15 patch
-    (fetchpatch {
-      url = "https://github.com/openai/triton/commit/2aba985daaa70234823ea8f1161da938477d3e02.patch";
-      hash = "sha256-LGv0+Ut2WYPC4Ksi4803Hwmhi3FyQOF9zElJc/JCobk=";
-    })
-    (fetchpatch {
-      url = "https://github.com/openai/triton/commit/e3941f9d09cdd31529ba4a41018cfc0096aafea6.patch";
-      hash = "sha256-A+Gor6qzFlGQhVVhiaaYOzqqx8yO2MdssnQS6TIfUWg=";
-    })
-
-    # Source: https://github.com/openai/triton/commit/fc7a8e35819bda632bdcf1cf75fd9abe4d4e077a.patch
-    # The original patch adds ptxas binary, so we include our own clean copy
-    # Drop with the next update
-    ./llvm15.patch
-
     # TODO: there have been commits upstream aimed at removing the "torch"
     # circular dependency, but the patches fail to apply on the release
     # revision. Keeping the link for future reference
@@ -88,70 +59,11 @@ buildPythonPackage {
     # })
   ];
 
-  postPatch = ''
-    substituteInPlace python/setup.py \
-      --replace \
-        '= get_thirdparty_packages(triton_cache_path)' \
-        '= os.environ["cmakeFlags"].split()'
-  ''
-  # Wiring triton=2.0.0 with llcmPackages_rocm.llvm=5.4.3
-  # Revisit when updating either triton or llvm
-  + ''
-    substituteInPlace CMakeLists.txt \
-      --replace "nvptx" "NVPTX" \
-      --replace "LLVM 11" "LLVM"
-    sed -i '/AddMLIR/a set(MLIR_TABLEGEN_EXE "${llvmPackages.mlir}/bin/mlir-tblgen")' CMakeLists.txt
-    sed -i '/AddMLIR/a set(MLIR_INCLUDE_DIR ''${MLIR_INCLUDE_DIRS})' CMakeLists.txt
-    find -iname '*.td' -exec \
-      sed -i \
-      -e '\|include "mlir/IR/OpBase.td"|a include "mlir/IR/AttrTypeBase.td"' \
-      -e 's|include "mlir/Dialect/StandardOps/IR/Ops.td"|include "mlir/Dialect/Func/IR/FuncOps.td"|' \
-      '{}' ';'
-    substituteInPlace unittest/CMakeLists.txt --replace "include(GoogleTest)" "find_package(GTest REQUIRED)"
-    sed -i 's/^include.*$//' unittest/CMakeLists.txt
-    sed -i '/LINK_LIBS/i NVPTXInfo' lib/Target/PTX/CMakeLists.txt
-    sed -i '/LINK_LIBS/i NVPTXCodeGen' lib/Target/PTX/CMakeLists.txt
-  ''
-  # TritonMLIRIR already links MLIRIR. Not transitive?
-  # + ''
-  #   echo "target_link_libraries(TritonPTX PUBLIC MLIRIR)" >> lib/Target/PTX/CMakeLists.txt
-  # ''
-  # Already defined in llvm, when built with -DLLVM_INSTALL_UTILS
-  + ''
-    substituteInPlace bin/CMakeLists.txt \
-      --replace "add_subdirectory(FileCheck)" ""
-
-    rm cmake/FindLLVM.cmake
-  ''
-  +
-  (
-    let
-      # Bash was getting weird without linting,
-      # but basically upstream contains [cc, ..., "-lcuda", ...]
-      # and we replace it with [..., "-lcuda", "-L/run/opengl-driver/lib", "-L$stubs", ...]
-      old = [ "-lcuda" ];
-      new = [ "-lcuda" "-L${addOpenGLRunpath.driverLink}" "-L${cuda_cudart}/lib/stubs/" ];
-
-      quote = x: ''"${x}"'';
-      oldStr = lib.concatMapStringsSep ", " quote old;
-      newStr = lib.concatMapStringsSep ", " quote new;
-    in
-    ''
-      substituteInPlace python/triton/compiler.py \
-        --replace '${oldStr}' '${newStr}'
-    ''
-  )
-  # Triton seems to be looking up cuda.h
-  + ''
-    sed -i 's|cu_include_dir = os.path.join.*$|cu_include_dir = "${cuda_cudart}/include"|' python/triton/compiler.py
-  '';
-
   nativeBuildInputs = [
-    cmake
     pythonRelaxDepsHook
-
-    # Requires torch (circular dependency) and probably needs GPUs:
-    # pytestCheckHook
+    # pytestCheckHook # Requires torch (circular dependency) and probably needs GPUs:
+    cmake
+    ninja
 
     # Note for future:
     # These *probably* should go in depsTargetTarget
@@ -159,7 +71,6 @@ buildPythonPackage {
     # because we only support cudaPackages on x86_64-linux atm
     lit
     llvm
-    llvmPackages.mlir
   ];
 
   buildInputs = [
@@ -170,17 +81,44 @@ buildPythonPackage {
     zlib
   ];
 
-  propagatedBuildInputs = [
-    filelock
-  ];
+  propagatedBuildInputs = [ filelock ];
+
+  postPatch = let
+    # Bash was getting weird without linting,
+    # but basically upstream contains [cc, ..., "-lcuda", ...]
+    # and we replace it with [..., "-lcuda", "-L/run/opengl-driver/lib", "-L$stubs", ...]
+    old = [ "-lcuda" ];
+    new = [ "-lcuda" "-L${addOpenGLRunpath.driverLink}" "-L${cudaPackages.cuda_cudart}/lib/stubs/" ];
+
+    quote = x: ''"${x}"'';
+    oldStr = lib.concatMapStringsSep ", " quote old;
+    newStr = lib.concatMapStringsSep ", " quote new;
+  in ''
+    # Use our `cmakeFlags` instead and avoid downloading dependencies
+    substituteInPlace python/setup.py \
+      --replace "= get_thirdparty_packages(triton_cache_path)" "= os.environ[\"cmakeFlags\"].split()"
+
+    # Already defined in llvm, when built with -DLLVM_INSTALL_UTILS
+    substituteInPlace bin/CMakeLists.txt \
+      --replace "add_subdirectory(FileCheck)" ""
+
+    # Use our linker flags
+    substituteInPlace python/triton/compiler.py \
+      --replace '${oldStr}' '${newStr}'
+
+    # Don't fetch googletest
+    substituteInPlace unittest/CMakeLists.txt \
+      --replace "include (\''${CMAKE_CURRENT_SOURCE_DIR}/googletest.cmake)" ""\
+      --replace "include(GoogleTest)" "find_package(GTest REQUIRED)"
+  '';
 
   # Avoid GLIBCXX mismatch with other cuda-enabled python packages
   preConfigure = ''
-    export CC="${backendStdenv.cc}/bin/cc";
-    export CXX="${backendStdenv.cc}/bin/c++";
+    export CC=${cudaPackages.backendStdenv.cc}/bin/cc;
+    export CXX=${cudaPackages.backendStdenv.cc}/bin/c++;
 
     # Upstream's setup.py tries to write cache somewhere in ~/
-    export HOME=$TMPDIR
+    export HOME=$(mktemp -d)
 
     # Upstream's github actions patch setup.cfg to write base-dir. May be redundant
     echo "
@@ -188,52 +126,41 @@ buildPythonPackage {
     base-dir=$PWD" >> python/setup.cfg
 
     # The rest (including buildPhase) is relative to ./python/
-    cd python/
+    cd python
 
     # Work around download_and_copy_ptxas()
-    dst_cuda="$PWD/triton/third_party/cuda/bin"
-    mkdir -p "$dst_cuda"
-    ln -s "${ptxas}" "$dst_cuda/"
+    mkdir -p $PWD/triton/third_party/cuda/bin
+    ln -s ${ptxas} $PWD/triton/third_party/cuda/bin
   '';
 
   # CMake is run by setup.py instead
   dontUseCmakeConfigure = true;
-  cmakeFlags = [
-    "-DMLIR_DIR=${llvmPackages.mlir}/lib/cmake/mlir"
-  ];
 
-  postFixup =
-    let
-      ptxasDestination = "$out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas";
-    in
-    # Setuptools (?) strips runpath and +x flags. Let's just restore the symlink
-    ''
-      rm -f ${ptxasDestination}
-      ln -s ${ptxas} ${ptxasDestination}
-    '';
-
-  checkInputs = [
-    cmake # ctest
-  ];
+  # Setuptools (?) strips runpath and +x flags. Let's just restore the symlink
+  postFixup = ''
+    rm -f $out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas
+    ln -s ${ptxas} $out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas
+  '';
+
+  checkInputs = [ cmake ]; # ctest
   dontUseSetuptoolsCheck = true;
-  preCheck =
+
+  preCheck = ''
     # build/temp* refers to build_ext.build_temp (looked up in the build logs)
-    ''
-      (cd /build/source/python/build/temp* ; ctest)
-    '' # For pytestCheckHook
-    + ''
-      cd test/unit
-    '';
-  pythonImportsCheck = [
-    # Circular dependency on torch
-    # "triton"
-    # "triton.language"
-  ];
+    (cd /build/source/python/build/temp* ; ctest)
+
+    # For pytestCheckHook
+    cd test/unit
+  '';
+
+  # Circular dependency on torch
+  # pythonImportsCheck = [
+  #   "triton"
+  #   "triton.language"
+  # ];
 
   # Ultimately, torch is our test suite:
-  passthru.tests = {
-    inherit torchWithRocm;
-  };
+  passthru.tests = { inherit torchWithRocm; };
 
   pythonRemoveDeps = [
     # Circular dependency, cf. https://github.com/openai/triton/issues/1374
@@ -243,11 +170,12 @@ buildPythonPackage {
     "cmake"
     "lit"
   ];
+
   meta = with lib; {
-    description = "Development repository for the Triton language and compiler";
-    homepage = "https://github.com/openai/triton/";
+    description = "Language and compiler for writing highly efficient custom Deep-Learning primitives";
+    homepage = "https://github.com/openai/triton";
     platforms = lib.platforms.unix;
     license = licenses.mit;
-    maintainers = with maintainers; [ SomeoneSerge ];
+    maintainers = with maintainers; [ SomeoneSerge Madouura ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/openai-triton/llvm.nix b/nixpkgs/pkgs/development/python-modules/openai-triton/llvm.nix
new file mode 100644
index 000000000000..70ea69a9b15f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/openai-triton/llvm.nix
@@ -0,0 +1,125 @@
+{ config
+, lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, cmake
+, ninja
+, git
+, doxygen
+, sphinx
+, libxml2
+, libxcrypt
+, libedit
+, libffi
+, mpfr
+, zlib
+, ncurses
+, python3Packages
+, buildDocs ? true
+, buildMan ? true
+, buildTests ? true
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "triton-llvm";
+  version = "14.0.6-f28c006a5895";
+
+  outputs = [
+    "out"
+  ] ++ lib.optionals buildDocs [
+    "doc"
+  ] ++ lib.optionals buildMan [
+    "man"
+  ];
+
+  # See https://github.com/openai/triton/blob/main/python/setup.py and https://github.com/ptillet/triton-llvm-releases/releases
+  src = fetchFromGitHub {
+    owner = "llvm";
+    repo = "llvm-project";
+    rev = "f28c006a5895fc0e329fe15fead81e37457cb1d1";
+    hash = "sha256-vffu4HilvYwtzwgq+NlS26m65DGbp6OSSne2aje1yJE=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    ninja
+    git
+    python3Packages.python
+  ] ++ lib.optionals (buildDocs || buildMan) [
+    doxygen
+    sphinx
+    python3Packages.recommonmark
+  ];
+
+  buildInputs = [
+    libxml2
+    libxcrypt
+    libedit
+    libffi
+    mpfr
+  ];
+
+  propagatedBuildInputs = [
+    zlib
+    ncurses
+  ];
+
+  sourceRoot = "${finalAttrs.src.name}/llvm";
+
+  cmakeFlags = [
+    "-DLLVM_TARGETS_TO_BUILD=${
+      let
+        # Targets can be found in
+        # https://github.com/llvm/llvm-project/tree/f28c006a5895fc0e329fe15fead81e37457cb1d1/clang/lib/Basic/Targets
+        # NOTE: Unsure of how "host" would function, especially given that we might be cross-compiling.
+        llvmTargets = [ "AMDGPU" "NVPTX" ]
+        ++ lib.optionals stdenv.isAarch64 [ "AArch64" ]
+        ++ lib.optionals stdenv.isx86_64 [ "X86" ];
+      in
+      lib.concatStringsSep ";" llvmTargets
+    }"
+    "-DLLVM_ENABLE_PROJECTS=llvm;mlir"
+    "-DLLVM_INSTALL_UTILS=ON"
+  ] ++ lib.optionals (buildDocs || buildMan) [
+    "-DLLVM_INCLUDE_DOCS=ON"
+    "-DMLIR_INCLUDE_DOCS=ON"
+    "-DLLVM_BUILD_DOCS=ON"
+    # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core
+    "-DLLVM_ENABLE_SPHINX=ON"
+    "-DSPHINX_OUTPUT_HTML=ON"
+    "-DSPHINX_OUTPUT_MAN=ON"
+    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
+  ] ++ lib.optionals buildTests [
+    "-DLLVM_INCLUDE_TESTS=ON"
+    "-DMLIR_INCLUDE_TESTS=ON"
+    "-DLLVM_BUILD_TESTS=ON"
+  ];
+
+  postPatch = ''
+    # `CMake Error: cannot write to file "/build/source/llvm/build/lib/cmake/mlir/MLIRTargets.cmake": Permission denied`
+    chmod +w -R ../mlir
+
+    # FileSystem permissions tests fail with various special bits
+    rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
+    rm unittests/Support/Path.cpp
+
+    substituteInPlace unittests/Support/CMakeLists.txt \
+      --replace "Path.cpp" ""
+  '';
+
+  doCheck = buildTests;
+  requiredSystemFeatures = [ "big-parallel" ];
+
+  meta = with lib; {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage = "https://github.com/llvm/llvm-project";
+    license = with licenses; [ ncsa ];
+    maintainers = with maintainers; [ SomeoneSerge Madouura ];
+    platforms = platforms.linux;
+    # Consider the derivation broken if we're not building for CUDA or ROCm, or if we're building for aarch64
+    # and ROCm is enabled. See https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344.
+    broken = stdenv.isAarch64 && !config.cudaSupport;
+  };
+})
diff --git a/nixpkgs/pkgs/development/python-modules/openai-triton/llvm15.patch b/nixpkgs/pkgs/development/python-modules/openai-triton/llvm15.patch
deleted file mode 100644
index 3e20cce23801..000000000000
--- a/nixpkgs/pkgs/development/python-modules/openai-triton/llvm15.patch
+++ /dev/null
@@ -1,4617 +0,0 @@
-From fc7a8e35819bda632bdcf1cf75fd9abe4d4e077a Mon Sep 17 00:00:00 2001
-From: Christian Sigg <chsigg@users.noreply.github.com>
-Date: Thu, 16 Feb 2023 15:40:53 +0100
-Subject: [PATCH] Rebase Triton to LLVM-15. (#1070)
-
-This PR rebases Triton from LLVM-14 to LLVM-15. Most changes are
-mechanical, except for the analysis framework changes.
----
- CMakeLists.txt                                |   6 +-
- bin/CMakeLists.txt                            |   2 +-
- bin/FileCheck/FileCheck.cpp                   |   3 +
- bin/triton-opt.cpp                            |   6 +-
- bin/triton-translate.cpp                      |   7 +-
- include/triton/Analysis/Alias.h               |  21 +-
- include/triton/Analysis/Allocation.h          |   2 +
- include/triton/Analysis/AxisInfo.h            |  56 ++-
- include/triton/Analysis/Utility.h             |   6 +-
- include/triton/Conversion/Passes.td           |   4 +-
- include/triton/Dialect/Triton/IR/Dialect.h    |   7 +-
- .../triton/Dialect/Triton/IR/TritonDialect.td |   8 +-
- include/triton/Dialect/Triton/IR/TritonOps.td |  12 +-
- .../triton/Dialect/Triton/IR/TritonTypes.td   |   2 +
- .../Dialect/Triton/Transforms/Passes.td       |   3 +-
- include/triton/Dialect/TritonGPU/IR/Dialect.h |   4 +-
- .../Dialect/TritonGPU/IR/TritonGPUAttrDefs.td |   7 +
- .../Dialect/TritonGPU/IR/TritonGPUDialect.td  |   2 +-
- .../Dialect/TritonGPU/IR/TritonGPUOps.td      |  13 +-
- lib/Analysis/Alias.cpp                        |  14 +-
- lib/Analysis/Allocation.cpp                   |  30 +-
- lib/Analysis/AxisInfo.cpp                     |  79 ++--
- lib/Analysis/CMakeLists.txt                   |   2 +-
- lib/Analysis/Membar.cpp                       |   2 +-
- lib/Analysis/Utility.cpp                      |  54 +++
- .../TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp |   3 -
- lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h |  10 +-
- .../TritonGPUToLLVM/DotOpToLLVM.cpp           |   5 -
- .../TritonGPUToLLVM/ElementwiseOpToLLVM.cpp   |   2 -
- .../TritonGPUToLLVM/LoadStoreOpToLLVM.cpp     |   5 +-
- .../TritonGPUToLLVM/ReduceOpToLLVM.cpp        |   2 -
- .../TritonGPUToLLVM/TritonGPUToLLVM.cpp       |   7 +-
- .../TritonGPUToLLVM/TritonGPUToLLVMBase.h     |  26 +-
- .../TritonGPUToLLVM/TritonGPUToLLVMPass.cpp   |  52 +--
- lib/Conversion/TritonGPUToLLVM/Utility.h      |   5 +-
- .../TritonToTritonGPUPass.cpp                 |  69 ++--
- lib/Dialect/Triton/IR/CMakeLists.txt          |  10 +-
- lib/Dialect/Triton/IR/Ops.cpp                 |  34 +-
- lib/Dialect/Triton/Transforms/Combine.cpp     |   6 +-
- lib/Dialect/Triton/Transforms/Combine.td      |   2 +-
- lib/Dialect/TritonGPU/IR/Dialect.cpp          |  27 +-
- lib/Dialect/TritonGPU/Transforms/Coalesce.cpp |  20 +-
- lib/Dialect/TritonGPU/Transforms/Combine.cpp  |   2 +-
- lib/Dialect/TritonGPU/Transforms/Combine.td   |   1 +
- .../Transforms/DecomposeConversions.cpp       |   2 +-
- lib/Dialect/TritonGPU/Transforms/Pipeline.cpp |  10 +-
- .../Transforms/ReorderInstructions.cpp        |   2 +-
- .../Transforms/TritonGPUConversion.cpp        |  12 +-
- .../Transforms/UpdateMmaForVolta.cpp          |   6 +-
- lib/Dialect/TritonGPU/Transforms/Utility.cpp  |   2 +-
- lib/Target/LLVMIR/CMakeLists.txt              |   3 +-
- lib/Target/PTX/PTXTranslation.cpp             |   3 +
- python/setup.py                               |  15 +-
- python/src/triton.cc                          |  85 +++--
- python/test/unit/language/test_core.py        |   2 +-
- python/triton/compiler.py                     |   4 +-
- test/Analysis/test-alias.mlir                 |  24 +-
- test/Analysis/test-alignment.mlir             | 344 +++++++++---------
- test/Analysis/test-allocation.mlir            |  32 +-
- test/Analysis/test-membar.mlir                |  38 +-
- test/Conversion/triton_ops.mlir               |  10 +-
- test/Conversion/triton_to_tritongpu.mlir      |   6 +-
- test/Conversion/tritongpu_to_llvm.mlir        |  94 ++---
- test/Target/tritongpu_to_llvmir.mlir          |   4 +-
- test/Target/tritongpu_to_ptx.mlir             |   2 +-
- test/Triton/combine.mlir                      |  40 +-
- test/Triton/vecadd.mlir                       |   4 +-
- test/TritonGPU/coalesce.mlir                  |   2 +-
- test/TritonGPU/combine.mlir                   |  38 +-
- test/TritonGPU/loop-pipeline.mlir             |  22 +-
- test/TritonGPU/matmul.mlir                    |   4 +-
- test/TritonGPU/prefetch.mlir                  |   4 +-
- test/TritonGPU/update-mma-for-volta.mlir      |   4 +-
- test/lib/Analysis/TestAlias.cpp               |  29 +-
- test/lib/Analysis/TestAllocation.cpp          |   5 +-
- test/lib/Analysis/TestAxisInfo.cpp            |  51 +--
- test/lib/Analysis/TestMembar.cpp              |   7 +-
- 78 files changed, 808 insertions(+), 742 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d0d361fc7c..b281a28400 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,4 +1,7 @@
- cmake_minimum_required(VERSION 3.6)
-+
-+cmake_policy(SET CMP0116 OLD)
-+
- include(ExternalProject)
- 
- set(CMAKE_CXX_STANDARD 17)
-@@ -155,7 +158,6 @@ if(TRITON_BUILD_PYTHON_MODULE)
-     endif()
- endif()
- 
--
- # # Triton
- # file(GLOB_RECURSE LIBTRITON_SRC lib/*.cc)
- # if (WIN32 AND TRITON_BUILD_PYTHON_MODULE)
-@@ -212,7 +214,7 @@ if(TRITON_BUILD_PYTHON_MODULE)
-     # optimizations
-     MLIRPass
-     MLIRTransforms
--    MLIRLLVMIR
-+    MLIRLLVMDialect
-     MLIRSupport
-     MLIRTargetLLVMIRExport
-     MLIRExecutionEngine
-diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt
-index 906f635f8b..695b3479fd 100644
---- a/bin/CMakeLists.txt
-+++ b/bin/CMakeLists.txt
-@@ -48,7 +48,7 @@ llvm_update_compile_flags(triton-translate)
-          # MLIR core
-          MLIROptLib
-          MLIRIR
--         MLIRLLVMIR
-+         MLIRLLVMDialect
-          MLIRPass
-          MLIRSupport
-          MLIRTransforms
-diff --git a/bin/FileCheck/FileCheck.cpp b/bin/FileCheck/FileCheck.cpp
-index 819efc3541..9ac6f1b277 100644
---- a/bin/FileCheck/FileCheck.cpp
-+++ b/bin/FileCheck/FileCheck.cpp
-@@ -19,6 +19,7 @@
- #include "llvm/Support/CommandLine.h"
- #include "llvm/Support/InitLLVM.h"
- #include "llvm/Support/Process.h"
-+#include "llvm/Support/SourceMgr.h"
- #include "llvm/Support/WithColor.h"
- #include "llvm/Support/raw_ostream.h"
- #include <cmath>
-@@ -360,6 +361,8 @@ static std::string GetCheckTypeAbbreviation(Check::FileCheckType Ty) {
-     return "bad-not";
-   case Check::CheckBadCount:
-     return "bad-count";
-+  case Check::CheckMisspelled:
-+    return "misspelled";
-   case Check::CheckNone:
-     llvm_unreachable("invalid FileCheckType");
-   }
-diff --git a/bin/triton-opt.cpp b/bin/triton-opt.cpp
-index 9f3b53b7ae..f96232e1b0 100644
---- a/bin/triton-opt.cpp
-+++ b/bin/triton-opt.cpp
-@@ -8,7 +8,7 @@
- 
- #include "mlir/IR/Dialect.h"
- #include "mlir/InitAllPasses.h"
--#include "mlir/Support/MlirOptMain.h"
-+#include "mlir/Tools/mlir-opt/MlirOptMain.h"
- 
- namespace mlir {
- namespace test {
-@@ -33,8 +33,8 @@ int main(int argc, char **argv) {
-   // TODO: register Triton & TritonGPU passes
-   mlir::DialectRegistry registry;
-   registry.insert<mlir::triton::TritonDialect,
--                  mlir::triton::gpu::TritonGPUDialect, mlir::math::MathDialect,
--                  mlir::arith::ArithmeticDialect, mlir::StandardOpsDialect,
-+                  mlir::triton::gpu::TritonGPUDialect, mlir::func::FuncDialect,
-+                  mlir::math::MathDialect, mlir::arith::ArithmeticDialect,
-                   mlir::scf::SCFDialect, mlir::gpu::GPUDialect>();
- 
-   return mlir::asMainReturnCode(mlir::MlirOptMain(
-diff --git a/bin/triton-translate.cpp b/bin/triton-translate.cpp
-index 05ba15e453..56b5d65857 100644
---- a/bin/triton-translate.cpp
-+++ b/bin/triton-translate.cpp
-@@ -3,7 +3,7 @@
- #include "mlir/IR/AsmState.h"
- #include "mlir/IR/BuiltinOps.h"
- #include "mlir/IR/Dialect.h"
--#include "mlir/Parser.h"
-+#include "mlir/Parser/Parser.h"
- #include "mlir/Pass/Pass.h"
- #include "mlir/Pass/PassManager.h"
- #include "mlir/Support/FileUtilities.h"
-@@ -38,7 +38,7 @@ OwningOpRef<ModuleOp> loadMLIRModule(llvm::StringRef inputFilename,
-   mlir::DialectRegistry registry;
-   registry.insert<TritonDialect, triton::gpu::TritonGPUDialect,
-                   mlir::math::MathDialect, arith::ArithmeticDialect,
--                  StandardOpsDialect, scf::SCFDialect>();
-+                  scf::SCFDialect>();
- 
-   context.appendDialectRegistry(registry);
- 
-@@ -50,7 +50,8 @@ OwningOpRef<ModuleOp> loadMLIRModule(llvm::StringRef inputFilename,
-     context.loadAllAvailableDialects();
-     context.allowUnregisteredDialects();
- 
--    OwningOpRef<ModuleOp> module(parseSourceFile(sourceMgr, &context));
-+    OwningOpRef<ModuleOp> module =
-+        parseSourceFile<ModuleOp>(sourceMgr, &context);
-     if (!module) {
-       llvm::errs() << "Parse MLIR file failed.";
-       return nullptr;
-diff --git a/include/triton/Analysis/Alias.h b/include/triton/Analysis/Alias.h
-index fa6b906fc9..631df518bc 100644
---- a/include/triton/Analysis/Alias.h
-+++ b/include/triton/Analysis/Alias.h
-@@ -2,7 +2,7 @@
- #define TRITON_ANALYSIS_ALIAS_H
- 
- #include "mlir/Analysis/AliasAnalysis.h"
--#include "mlir/Analysis/DataFlowAnalysis.h"
-+#include "mlir/Analysis/DataFlow/SparseAnalysis.h"
- #include "llvm/ADT/DenseSet.h"
- 
- namespace mlir {
-@@ -21,7 +21,7 @@ class AliasInfo {
-   }
- 
-   /// The pessimistic value state of a value without alias
--  static AliasInfo getPessimisticValueState(MLIRContext *context) {
-+  static AliasInfo getPessimisticValueState(MLIRContext *context = nullptr) {
-     return AliasInfo();
-   }
-   static AliasInfo getPessimisticValueState(Value value) { return AliasInfo(); }
-@@ -29,6 +29,10 @@ class AliasInfo {
-   /// The union of both arguments
-   static AliasInfo join(const AliasInfo &lhs, const AliasInfo &rhs);
- 
-+  void print(raw_ostream &os) const {
-+    llvm::interleaveComma(allocs, os, [&](Value alloc) { alloc.print(os); });
-+  }
-+
- private:
-   /// The set of allocated values that are aliased by this lattice.
-   /// For now, we only consider aliased value produced by the following
-@@ -58,9 +62,13 @@ class AliasInfo {
- //===----------------------------------------------------------------------===//
- // Shared Memory Alias Analysis
- //===----------------------------------------------------------------------===//
--class SharedMemoryAliasAnalysis : public ForwardDataFlowAnalysis<AliasInfo> {
-+class SharedMemoryAliasAnalysis
-+    : public dataflow::SparseDataFlowAnalysis<dataflow::Lattice<AliasInfo>> {
- public:
--  using ForwardDataFlowAnalysis<AliasInfo>::ForwardDataFlowAnalysis;
-+  using dataflow::SparseDataFlowAnalysis<
-+      dataflow::Lattice<AliasInfo>>::SparseDataFlowAnalysis;
-+  using dataflow::SparseDataFlowAnalysis<
-+      dataflow::Lattice<AliasInfo>>::getLatticeElement;
- 
-   /// XXX(Keren): Compatible interface with MLIR AliasAnalysis for future use.
-   /// Given two values, returns their aliasing behavior.
-@@ -70,9 +78,10 @@ class SharedMemoryAliasAnalysis : public ForwardDataFlowAnalysis<AliasInfo> {
-   ModRefResult getModRef(Operation *op, Value location);
- 
-   /// Computes if the alloc set of the results are changed.
--  ChangeResult
-+  void
-   visitOperation(Operation *op,
--                 ArrayRef<LatticeElement<AliasInfo> *> operands) override;
-+                 ArrayRef<const dataflow::Lattice<AliasInfo> *> operands,
-+                 ArrayRef<dataflow::Lattice<AliasInfo> *> results) override;
- };
- 
- } // namespace mlir
-diff --git a/include/triton/Analysis/Allocation.h b/include/triton/Analysis/Allocation.h
-index b7c136d602..89b77034cc 100644
---- a/include/triton/Analysis/Allocation.h
-+++ b/include/triton/Analysis/Allocation.h
-@@ -188,6 +188,8 @@ class Allocation {
-   friend class triton::AllocationAnalysis;
- };
- 
-+template <typename T> Interval(T, T) -> Interval<T>;
-+
- } // namespace mlir
- 
- #endif // TRITON_ANALYSIS_ALLOCATION_H
-diff --git a/include/triton/Analysis/AxisInfo.h b/include/triton/Analysis/AxisInfo.h
-index fdfbd8fbb3..7083b9c43b 100644
---- a/include/triton/Analysis/AxisInfo.h
-+++ b/include/triton/Analysis/AxisInfo.h
-@@ -1,9 +1,10 @@
- #ifndef TRITON_ANALYSIS_AXISINFO_H
- #define TRITON_ANALYSIS_AXISINFO_H
- 
--#include "mlir/Analysis/DataFlowAnalysis.h"
-+#include "mlir/Analysis/DataFlow/SparseAnalysis.h"
- #include "llvm/Support/raw_ostream.h"
- 
-+#include "mlir/Support/LLVM.h"
- #include "triton/Analysis/Utility.h"
- #include "triton/Dialect/Triton/IR/Dialect.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
-@@ -62,7 +63,7 @@ class AxisInfo {
-   }
- 
-   /// The pessimistic value state of the contiguity is unknown.
--  static AxisInfo getPessimisticValueState(MLIRContext *context) {
-+  static AxisInfo getPessimisticValueState(MLIRContext *context = nullptr) {
-     return AxisInfo();
-   }
-   static AxisInfo getPessimisticValueState(Value value);
-@@ -70,6 +71,22 @@ class AxisInfo {
-   /// The gcd of both arguments for each dimension
-   static AxisInfo join(const AxisInfo &lhs, const AxisInfo &rhs);
- 
-+  void print(raw_ostream &os) const {
-+    auto print = [&](StringRef name, DimVectorT vec) {
-+      os << name << " = [";
-+      llvm::interleaveComma(vec, os);
-+      os << "]";
-+    };
-+    print("contiguity", contiguity);
-+    print(", divisibility", divisibility);
-+    print(", constancy", constancy);
-+    os << ", constant_value = ";
-+    if (constantValue)
-+      os << *constantValue;
-+    else
-+      os << "<none>";
-+  }
-+
- private:
-   /// The _contiguity_ information maps the `d`-th
-   /// dimension to the length of the shortest
-@@ -147,7 +164,8 @@ class AxisInfoVisitor {
-   }
- 
-   virtual AxisInfo
--  getAxisInfo(Operation *op, ArrayRef<LatticeElement<AxisInfo> *> operands) = 0;
-+  getAxisInfo(Operation *op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) = 0;
- 
-   virtual bool match(Operation *op) = 0;
- };
-@@ -157,15 +175,16 @@ template <typename OpTy> class AxisInfoVisitorImpl : public AxisInfoVisitor {
- public:
-   using AxisInfoVisitor::AxisInfoVisitor;
- 
--  AxisInfo getAxisInfo(Operation *op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) final {
-+  AxisInfo
-+  getAxisInfo(Operation *op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) final {
-     return getAxisInfo(cast<OpTy>(op), operands);
-   }
- 
-   bool match(Operation *op) final { return isa<OpTy>(op); }
- 
--  virtual AxisInfo getAxisInfo(OpTy op,
--                               ArrayRef<LatticeElement<AxisInfo> *> operands) {
-+  virtual AxisInfo
-+  getAxisInfo(OpTy op, ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) {
-     llvm_unreachable("Unimplemented getAxisInfo");
-   }
- };
-@@ -176,8 +195,9 @@ class BinaryOpVisitorImpl : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto lhsInfo = operands[0]->getValue();
-     auto rhsInfo = operands[1]->getValue();
-     auto rank = lhsInfo.getRank();
-@@ -230,7 +250,8 @@ class AxisInfoVisitorList {
-     (visitors.emplace_back(std::make_unique<Ts>()), ...);
-   }
- 
--  AxisInfo apply(Operation *op, ArrayRef<LatticeElement<AxisInfo> *> operands) {
-+  AxisInfo apply(Operation *op,
-+                 ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) {
-     for (auto &visitor : visitors)
-       if (visitor->match(op))
-         return visitor->getAxisInfo(op, operands);
-@@ -241,16 +262,19 @@ class AxisInfoVisitorList {
-   std::vector<std::unique_ptr<AxisInfoVisitor>> visitors;
- };
- 
--class AxisInfoAnalysis : public ForwardDataFlowAnalysis<AxisInfo> {
-+class AxisInfoAnalysis
-+    : public dataflow::SparseDataFlowAnalysis<dataflow::Lattice<AxisInfo>> {
- private:
-   AxisInfoVisitorList visitors;
- 
- public:
--  AxisInfoAnalysis(MLIRContext *context);
-+  AxisInfoAnalysis(DataFlowSolver &solver);
-+  using dataflow::SparseDataFlowAnalysis<
-+      dataflow::Lattice<AxisInfo>>::getLatticeElement;
- 
--  ChangeResult
--  visitOperation(Operation *op,
--                 ArrayRef<LatticeElement<AxisInfo> *> operands) override;
-+  void visitOperation(Operation *op,
-+                      ArrayRef<const dataflow::Lattice<AxisInfo> *> operands,
-+                      ArrayRef<dataflow::Lattice<AxisInfo> *> results) override;
- 
-   unsigned getPtrContiguity(Value ptr);
- 
-@@ -261,4 +285,4 @@ class AxisInfoAnalysis : public ForwardDataFlowAnalysis<AxisInfo> {
- 
- } // namespace mlir
- 
--#endif
-\ No newline at end of file
-+#endif
-diff --git a/include/triton/Analysis/Utility.h b/include/triton/Analysis/Utility.h
-index c5ac137dc1..ee7fadb59d 100644
---- a/include/triton/Analysis/Utility.h
-+++ b/include/triton/Analysis/Utility.h
-@@ -1,6 +1,7 @@
- #ifndef TRITON_ANALYSIS_UTILITY_H
- #define TRITON_ANALYSIS_UTILITY_H
- 
-+#include "mlir/Analysis/DataFlowFramework.h"
- #include "mlir/Analysis/SliceAnalysis.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- #include <algorithm>
-@@ -12,7 +13,7 @@ namespace mlir {
- class ReduceOpHelper {
- public:
-   explicit ReduceOpHelper(triton::ReduceOp op) : op(op) {
--    srcTy = op.operand().getType().cast<RankedTensorType>();
-+    srcTy = op.getOperand().getType().cast<RankedTensorType>();
-   }
- 
-   ArrayRef<int64_t> getSrcShape() { return srcTy.getShape(); }
-@@ -103,6 +104,9 @@ SetVector<Operation *>
- multiRootGetSlice(Operation *op, TransitiveFilter backwardFilter = nullptr,
-                   TransitiveFilter forwardFilter = nullptr);
- 
-+// Create a basic DataFlowSolver with constant and dead code analysis included.
-+std::unique_ptr<DataFlowSolver> createDataFlowSolver();
-+
- } // namespace mlir
- 
- #endif // TRITON_ANALYSIS_UTILITY_H
-diff --git a/include/triton/Conversion/Passes.td b/include/triton/Conversion/Passes.td
-index 70bb20b78e..be00eb2dac 100644
---- a/include/triton/Conversion/Passes.td
-+++ b/include/triton/Conversion/Passes.td
-@@ -12,7 +12,6 @@ def ConvertTritonToTritonGPU: Pass<"convert-triton-to-tritongpu", "mlir::ModuleO
- 
-     let dependentDialects = ["mlir::arith::ArithmeticDialect",
-                              "mlir::math::MathDialect",
--                             "mlir::StandardOpsDialect",
-                              // TODO: Does this pass depend on SCF?
-                              "mlir::scf::SCFDialect",
-                              "mlir::triton::TritonDialect",
-@@ -41,8 +40,7 @@ def ConvertTritonGPUToLLVM : Pass<"convert-triton-gpu-to-llvm", "mlir::ModuleOp"
-                              "mlir::tensor::TensorDialect",
-                              "mlir::triton::TritonDialect",
-                              "mlir::triton::gpu::TritonGPUDialect",
--                             "mlir::NVVM::NVVMDialect",
--                             "mlir::StandardOpsDialect"];
-+                             "mlir::NVVM::NVVMDialect"];
- 
-     let options = [
-         Option<"computeCapability", "compute-capability",
-diff --git a/include/triton/Dialect/Triton/IR/Dialect.h b/include/triton/Dialect/Triton/IR/Dialect.h
-index e8012a51df..15869e262e 100644
---- a/include/triton/Dialect/Triton/IR/Dialect.h
-+++ b/include/triton/Dialect/Triton/IR/Dialect.h
-@@ -1,14 +1,15 @@
- #ifndef TRITON_DIALECT_TRITON_IR_DIALECT_H_
- #define TRITON_DIALECT_TRITON_IR_DIALECT_H_
- 
-+#include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
-+#include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
-+#include "mlir/Dialect/Func/IR/FuncOps.h"
- #include "mlir/Dialect/Math/IR/Math.h"
--#include "mlir/Dialect/SCF/SCF.h"
--#include "mlir/Dialect/StandardOps/IR/Ops.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
- #include "mlir/IR/BuiltinOps.h"
- #include "mlir/IR/Dialect.h"
- #include "mlir/Interfaces/ControlFlowInterfaces.h"
--
- #include "triton/Dialect/Triton/IR/Dialect.h.inc"
- #include "triton/Dialect/Triton/IR/OpsEnums.h.inc"
- #include "triton/Dialect/Triton/IR/Traits.h"
-diff --git a/include/triton/Dialect/Triton/IR/TritonDialect.td b/include/triton/Dialect/Triton/IR/TritonDialect.td
-index 07b069e14f..d98ce73884 100644
---- a/include/triton/Dialect/Triton/IR/TritonDialect.td
-+++ b/include/triton/Dialect/Triton/IR/TritonDialect.td
-@@ -25,12 +25,9 @@ def Triton_Dialect : Dialect {
-   let dependentDialects = [
-     "arith::ArithmeticDialect",
-     "math::MathDialect",
--    "StandardOpsDialect",
-     "scf::SCFDialect",
--
--    // Since LLVM 15
--    // "cf::ControlFlowDialect",
--    // "func::FuncDialect"
-+    "cf::ControlFlowDialect",
-+    "func::FuncDialect"
-   ];
- 
-   let extraClassDeclaration = [{
-@@ -38,6 +35,7 @@ def Triton_Dialect : Dialect {
-   }];
- 
-   let hasConstantMaterializer = 1;
-+  let useDefaultTypePrinterParser = 1;
- }
- 
- include "triton/Dialect/Triton/IR/TritonTypes.td"
-diff --git a/include/triton/Dialect/Triton/IR/TritonOps.td b/include/triton/Dialect/Triton/IR/TritonOps.td
-index 779e0b648c..0a69211179 100644
---- a/include/triton/Dialect/Triton/IR/TritonOps.td
-+++ b/include/triton/Dialect/Triton/IR/TritonOps.td
-@@ -141,11 +141,7 @@ def TT_LoadOp : TT_Op<"load",
-                        "triton::EvictionPolicy":$evict, "bool":$isVolatile)>,
-     ];
- 
--    // let assemblyFormat = "operands attr-dict `:` type($result)";
--    let parser = [{ return mlir::triton::parseLoadOp(parser, result); }];
--
--    let printer = [{ return mlir::triton::printLoadOp(p, *this); }];
--
-+    let hasCustomAssemblyFormat = 1;
-     let hasCanonicalizer = 1;
- }
- 
-@@ -170,11 +166,7 @@ def TT_StoreOp : TT_Op<"store",
-                        "triton::EvictionPolicy":$evict)>,
-     ];
- 
--    // let assemblyFormat = "operands attr-dict `:` type($value)";
--    let parser = [{ return mlir::triton::parseStoreOp(parser, result); }];
--
--    let printer = [{ return mlir::triton::printStoreOp(p, *this); }];
--
-+    let hasCustomAssemblyFormat = 1;
-     let hasCanonicalizer = 1;
- }
- 
-diff --git a/include/triton/Dialect/Triton/IR/TritonTypes.td b/include/triton/Dialect/Triton/IR/TritonTypes.td
-index 66d2a7b9a9..2fe2fd077d 100644
---- a/include/triton/Dialect/Triton/IR/TritonTypes.td
-+++ b/include/triton/Dialect/Triton/IR/TritonTypes.td
-@@ -1,6 +1,7 @@
- #ifndef TRITON_TYPES
- #define TRITON_TYPES
- 
-+include "mlir/IR/AttrTypeBase.td"
- include "triton/Dialect/Triton/IR/TritonDialect.td"
- 
- //
-@@ -58,6 +59,7 @@ def TT_Ptr : TritonTypeDef<"Pointer", "ptr"> {
-         }]>
-     ];
- 
-+    let hasCustomAssemblyFormat = 1;
-     let skipDefaultBuilders = 1;
- }
- def TT_PtrTensor : TensorOf<[TT_Ptr]>;
-diff --git a/include/triton/Dialect/Triton/Transforms/Passes.td b/include/triton/Dialect/Triton/Transforms/Passes.td
-index 8f77aed774..a25cdc5680 100644
---- a/include/triton/Dialect/Triton/Transforms/Passes.td
-+++ b/include/triton/Dialect/Triton/Transforms/Passes.td
-@@ -16,8 +16,7 @@ def TritonCombineOps : Pass</*cli-arg*/"triton-combine", /*Op*/"mlir::ModuleOp">
- 
-   let constructor = "mlir::triton::createCombineOpsPass()";
- 
--  let dependentDialects = ["mlir::arith::ArithmeticDialect",
--                           /*SelectOp*/"mlir::StandardOpsDialect"];
-+  let dependentDialects = ["mlir::arith::ArithmeticDialect"];
- }
- 
- #endif
-diff --git a/include/triton/Dialect/TritonGPU/IR/Dialect.h b/include/triton/Dialect/TritonGPU/IR/Dialect.h
-index b4c8daec7b..dfc5f53ab1 100644
---- a/include/triton/Dialect/TritonGPU/IR/Dialect.h
-+++ b/include/triton/Dialect/TritonGPU/IR/Dialect.h
-@@ -1,19 +1,17 @@
- #ifndef TRITON_DIALECT_TRITONGPU_IR_DIALECT_H_
- #define TRITON_DIALECT_TRITONGPU_IR_DIALECT_H_
- 
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
- #include "mlir/IR/BuiltinOps.h"
- #include "mlir/IR/Dialect.h"
- 
- // TritonGPU depends on Triton
- #include "triton/Dialect/Triton/IR/Dialect.h"
--
- #include "triton/Dialect/TritonGPU/IR/Dialect.h.inc"
- #include "triton/Dialect/TritonGPU/IR/Traits.h"
- 
- #define GET_ATTRDEF_CLASSES
--#include "triton/Dialect/Triton/IR/AttrInterfaces.h.inc"
- #include "triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.h.inc"
- 
- #define GET_OP_CLASSES
-diff --git a/include/triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.td b/include/triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.td
-index 0242c3cc17..af2aeb03a8 100644
---- a/include/triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.td
-+++ b/include/triton/Dialect/TritonGPU/IR/TritonGPUAttrDefs.td
-@@ -1,6 +1,7 @@
- #ifndef TRITONGPU_ATTRDEFS
- #define TRITONGPU_ATTRDEFS
- 
-+include "mlir/IR/AttrTypeBase.td"
- include "triton/Dialect/TritonGPU/IR/TritonGPUDialect.td"
- include "triton/Dialect/Triton/IR/TritonInterfaces.td"
- 
-@@ -136,6 +137,7 @@ A_{3, 2}  A_{3, 3}  A_{3, 0}  A_{3, 1} ...   [phase 1] /
-   ];
- 
-   let extraClassDeclaration = extraBaseClassDeclaration;
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- //===----------------------------------------------------------------------===//
-@@ -273,6 +275,7 @@ for
-     // ArrayRefParameter<"unsigned">:$sizePerCTA
-   );
- 
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- //===----------------------------------------------------------------------===//
-@@ -422,6 +425,7 @@ For example, the matrix L corresponding to blockTileSize=[32,16] is:
-     static constexpr int numBitsToHoldMmaV1ID{5};
-   }];
- 
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- def SliceEncodingAttr : DistributedEncoding<"SliceEncoding"> {
-@@ -456,6 +460,8 @@ def SliceEncodingAttr : DistributedEncoding<"SliceEncoding"> {
-     template<class T>
-     SmallVector<T> paddedShape(ArrayRef<T> shape) const;
-   }];
-+
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- def DotOperandEncodingAttr : DistributedEncoding<"DotOperandEncoding"> {
-@@ -492,6 +498,7 @@ section 9.7.13.4.1 for more details.
- 
-   ];
- 
-+  let hasCustomAssemblyFormat = 1;
-   let extraClassDeclaration = extraBaseClassDeclaration;
- }
- 
-diff --git a/include/triton/Dialect/TritonGPU/IR/TritonGPUDialect.td b/include/triton/Dialect/TritonGPU/IR/TritonGPUDialect.td
-index 87ec1d36c6..6489a721b4 100644
---- a/include/triton/Dialect/TritonGPU/IR/TritonGPUDialect.td
-+++ b/include/triton/Dialect/TritonGPU/IR/TritonGPUDialect.td
-@@ -30,7 +30,7 @@ def TritonGPU_Dialect : Dialect {
-     }
-   }];
-   
--
-+  let useDefaultAttributePrinterParser = 1;
- }
- 
- #endif
-diff --git a/include/triton/Dialect/TritonGPU/IR/TritonGPUOps.td b/include/triton/Dialect/TritonGPU/IR/TritonGPUOps.td
-index 510f8d0183..7aba11dc75 100644
---- a/include/triton/Dialect/TritonGPU/IR/TritonGPUOps.td
-+++ b/include/triton/Dialect/TritonGPU/IR/TritonGPUOps.td
-@@ -59,7 +59,7 @@ def TTG_AsyncCommitGroupOp : TTG_Op<"async_commit_group"> {
- // This is needed because these ops don't
- // handle encodings
- // e.g., https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Dialect/Arith/IR/ArithOps.td#L111
--def TTG_CmpIOp : TTG_Op<"cmpi", [NoSideEffect, Elementwise, 
-+def TTG_CmpIOp : TTG_Op<"cmpi", [NoSideEffect, Elementwise,
-                                  SameOperandsAndResultShape, 
-                                  SameOperandsAndResultEncoding]> {
-   let summary = "integer comparison operation";
-@@ -73,7 +73,7 @@ def TTG_CmpIOp : TTG_Op<"cmpi", [NoSideEffect, Elementwise,
-   let results = (outs TT_BoolLike:$result);
- }
- 
--def TTG_CmpFOp : TTG_Op<"cmpf", [NoSideEffect, Elementwise, 
-+def TTG_CmpFOp : TTG_Op<"cmpf", [NoSideEffect, Elementwise,
-                                  SameOperandsAndResultShape, 
-                                  SameOperandsAndResultEncoding]> {
-   let summary = "floating-point comparison operation";
-@@ -88,8 +88,8 @@ def TTG_CmpFOp : TTG_Op<"cmpf", [NoSideEffect, Elementwise,
- }
- 
- // TODO: migrate to arith::SelectOp on LLVM16
--def TTG_SelectOp : TTG_Op<"select", [NoSideEffect, Elementwise, 
--                                     SameOperandsAndResultShape, 
-+def TTG_SelectOp : TTG_Op<"select", [NoSideEffect, Elementwise,
-+                                     SameOperandsAndResultShape,
-                                      SameOperandsAndResultEncoding]> {
-   let summary = "select operation";
- 
-@@ -188,10 +188,7 @@ def TTG_InsertSliceAsyncOp : TTG_Op<"insert_slice_async",
-     }
-   }];
- 
--  // The custom parser could be replaced with oilist in LLVM-16
--  let parser = [{ return parseInsertSliceAsyncOp(parser, result); }];
--
--  let printer = [{ return printInsertSliceAsyncOp(p, *this); }];
-+  let hasCustomAssemblyFormat = 1;
- }
- 
- def TTG_AllocTensorOp : TTG_Op<"alloc_tensor", [MemoryEffects<[MemAlloc]>,  // Allocate shared memory
-diff --git a/lib/Analysis/Alias.cpp b/lib/Analysis/Alias.cpp
-index a39e4de9aa..208fdd4afc 100644
---- a/lib/Analysis/Alias.cpp
-+++ b/lib/Analysis/Alias.cpp
-@@ -18,8 +18,9 @@ AliasInfo AliasInfo::join(const AliasInfo &lhs, const AliasInfo &rhs) {
-   return ret;
- }
- 
--ChangeResult SharedMemoryAliasAnalysis::visitOperation(
--    Operation *op, ArrayRef<LatticeElement<AliasInfo> *> operands) {
-+void SharedMemoryAliasAnalysis::visitOperation(
-+    Operation *op, ArrayRef<const dataflow::Lattice<AliasInfo> *> operands,
-+    ArrayRef<dataflow::Lattice<AliasInfo> *> results) {
-   AliasInfo aliasInfo;
-   bool pessimistic = true;
-   if (maybeSharedAllocationOp(op)) {
-@@ -44,14 +45,11 @@ ChangeResult SharedMemoryAliasAnalysis::visitOperation(
-   }
- 
-   if (pessimistic) {
--    return markAllPessimisticFixpoint(op->getResults());
-+    return markAllPessimisticFixpoint(results);
-   }
-   // Join all lattice elements
--  ChangeResult result = ChangeResult::NoChange;
--  for (Value value : op->getResults()) {
--    result |= getLatticeElement(value).join(aliasInfo);
--  }
--  return result;
-+  for (auto *result : results)
-+    propagateIfChanged(result, result->join(aliasInfo));
- }
- 
- AliasResult SharedMemoryAliasAnalysis::alias(Value lhs, Value rhs) {
-diff --git a/lib/Analysis/Allocation.cpp b/lib/Analysis/Allocation.cpp
-index 712c08c475..b4de8dcd9d 100644
---- a/lib/Analysis/Allocation.cpp
-+++ b/lib/Analysis/Allocation.cpp
-@@ -1,4 +1,5 @@
- #include "triton/Analysis/Allocation.h"
-+#include "mlir/Analysis/DataFlowFramework.h"
- #include "mlir/Analysis/Liveness.h"
- #include "mlir/Analysis/SliceAnalysis.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
-@@ -33,10 +34,8 @@ constexpr int kPtrBitWidth = 64;
- 
- static std::pair<SmallVector<unsigned>, SmallVector<unsigned>>
- getCvtOrder(const Attribute &srcLayout, const Attribute &dstLayout) {
--  auto srcBlockedLayout = srcLayout.dyn_cast<BlockedEncodingAttr>();
-   auto srcMmaLayout = srcLayout.dyn_cast<MmaEncodingAttr>();
-   auto srcDotLayout = srcLayout.dyn_cast<DotOperandEncodingAttr>();
--  auto dstBlockedLayout = dstLayout.dyn_cast<BlockedEncodingAttr>();
-   auto dstMmaLayout = dstLayout.dyn_cast<MmaEncodingAttr>();
-   auto dstDotLayout = dstLayout.dyn_cast<DotOperandEncodingAttr>();
-   assert(!(srcMmaLayout && dstMmaLayout) &&
-@@ -224,14 +223,12 @@ class AllocationAnalysis {
-   }
- 
-   void getValueAlias(Value value, SharedMemoryAliasAnalysis &analysis) {
--    LatticeElement<AliasInfo> *latticeElement =
--        analysis.lookupLatticeElement(value);
--    if (latticeElement) {
--      auto &info = latticeElement->getValue();
--      if (!info.getAllocs().empty()) {
--        for (auto alloc : info.getAllocs()) {
--          allocation->addAlias(value, alloc);
--        }
-+    dataflow::Lattice<AliasInfo> *latticeElement =
-+        analysis.getLatticeElement(value);
-+    if (latticeElement && !latticeElement->isUninitialized()) {
-+      AliasInfo &info = latticeElement->getValue();
-+      for (auto alloc : info.getAllocs()) {
-+        allocation->addAlias(value, alloc);
-       }
-     }
-   }
-@@ -244,14 +241,19 @@ class AllocationAnalysis {
-       getScratchValueSize(op);
-     });
-     // Get the alias values
--    SharedMemoryAliasAnalysis aliasAnalysis(operation->getContext());
--    aliasAnalysis.run(operation);
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    SharedMemoryAliasAnalysis *aliasAnalysis =
-+        solver->load<SharedMemoryAliasAnalysis>();
-+    if (failed(solver->initializeAndRun(operation))) {
-+      // TODO: return error instead of bailing out..
-+      llvm_unreachable("failed to run SharedMemoryAliasAnalysis");
-+    }
-     operation->walk<WalkOrder::PreOrder>([&](Operation *op) {
-       for (auto operand : op->getOperands()) {
--        getValueAlias(operand, aliasAnalysis);
-+        getValueAlias(operand, *aliasAnalysis);
-       }
-       for (auto value : op->getResults()) {
--        getValueAlias(value, aliasAnalysis);
-+        getValueAlias(value, *aliasAnalysis);
-       }
-     });
-   }
-diff --git a/lib/Analysis/AxisInfo.cpp b/lib/Analysis/AxisInfo.cpp
-index 0b7142b04d..4af46c3fbb 100644
---- a/lib/Analysis/AxisInfo.cpp
-+++ b/lib/Analysis/AxisInfo.cpp
-@@ -1,4 +1,4 @@
--#include "mlir/Analysis/DataFlowAnalysis.h"
-+#include "mlir/Analysis/DataFlowFramework.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "llvm/Support/raw_ostream.h"
- 
-@@ -52,7 +52,7 @@ AxisInfo AxisInfo::getPessimisticValueState(Value value) {
-   BlockArgument blockArg = value.dyn_cast<BlockArgument>();
-   if (blockArg && blockArg.getOwner()->isEntryBlock()) {
-     Operation *op = blockArg.getOwner()->getParentOp();
--    if (FuncOp fun = dyn_cast<FuncOp>(op)) {
-+    if (func::FuncOp fun = dyn_cast<func::FuncOp>(op)) {
-       Attribute attr =
-           fun.getArgAttr(blockArg.getArgNumber(), "tt.divisibility");
-       if (attr)
-@@ -136,8 +136,9 @@ class CastOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     return operands[0]->getValue();
-   }
- };
-@@ -147,8 +148,9 @@ class MakeRangeOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<triton::MakeRangeOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(triton::MakeRangeOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(triton::MakeRangeOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto start = op.start();
-     auto end = op.end();
-     return AxisInfo(/*contiguity=*/{end - start},
-@@ -162,8 +164,9 @@ class ConstantOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<arith::ConstantOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(arith::ConstantOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(arith::ConstantOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto intAttr = op.getValue().dyn_cast<IntegerAttr>();
-     auto boolAttr = op.getValue().dyn_cast<BoolAttr>();
-     if (intAttr || boolAttr) {
-@@ -416,8 +419,9 @@ class SplatOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<triton::SplatOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(triton::SplatOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(triton::SplatOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     Type _retTy = *op->result_type_begin();
-     TensorType retTy = _retTy.cast<TensorType>();
-     AxisInfo opInfo = operands[0]->getValue();
-@@ -439,8 +443,9 @@ class ExpandDimsOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<triton::ExpandDimsOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(triton::ExpandDimsOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(triton::ExpandDimsOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     AxisInfo opInfo = operands[0]->getValue();
-     AxisInfo::DimVectorT contiguity = opInfo.getContiguity();
-     AxisInfo::DimVectorT divisibility = opInfo.getDivisibility();
-@@ -458,8 +463,9 @@ class BroadcastOpAxisInfoVisitor final
- public:
-   using AxisInfoVisitorImpl<triton::BroadcastOp>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(triton::BroadcastOp op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(triton::BroadcastOp op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     Type _retTy = *op->result_type_begin();
-     Type _opTy = *op->operand_type_begin();
-     TensorType retTy = _retTy.cast<TensorType>();
-@@ -486,8 +492,9 @@ class CmpOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto resTy = op.getResult().getType().template dyn_cast<RankedTensorType>();
-     if (!resTy)
-       return AxisInfo();
-@@ -596,8 +603,9 @@ class SelectOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto resTy = op.getResult().getType().template dyn_cast<RankedTensorType>();
-     if (!resTy)
-       return AxisInfo();
-@@ -757,8 +765,9 @@ class MaxMinOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- public:
-   using AxisInfoVisitorImpl<OpTy>::AxisInfoVisitorImpl;
- 
--  AxisInfo getAxisInfo(OpTy op,
--                       ArrayRef<LatticeElement<AxisInfo> *> operands) override {
-+  AxisInfo
-+  getAxisInfo(OpTy op,
-+              ArrayRef<const dataflow::Lattice<AxisInfo> *> operands) override {
-     auto lhsInfo = operands[0]->getValue();
-     auto rhsInfo = operands[1]->getValue();
-     std::optional<int64_t> constantValue;
-@@ -786,8 +795,8 @@ class MaxMinOpAxisInfoVisitor final : public AxisInfoVisitorImpl<OpTy> {
- // AxisInfoAnalysis
- //===----------------------------------------------------------------------===//
- 
--AxisInfoAnalysis::AxisInfoAnalysis(MLIRContext *context)
--    : ForwardDataFlowAnalysis<AxisInfo>(context) {
-+AxisInfoAnalysis::AxisInfoAnalysis(DataFlowSolver &solver)
-+    : dataflow::SparseDataFlowAnalysis<dataflow::Lattice<AxisInfo>>(solver) {
-   // UnrealizedConversionCast:
-   // This is needed by TritonGPUToLLVM, to get AxisInfo when the graph is
-   // in the process of a PartialConversion, where UnrealizedConversionCast
-@@ -819,7 +828,7 @@ AxisInfoAnalysis::AxisInfoAnalysis(MLIRContext *context)
-   visitors.append<LogicalOpAxisInfoVisitor<arith::AndIOp>,
-                   LogicalOpAxisInfoVisitor<arith::OrIOp>,
-                   LogicalOpAxisInfoVisitor<arith::XOrIOp>>();
--  visitors.append<SelectOpAxisInfoVisitor<mlir::SelectOp>,
-+  visitors.append<SelectOpAxisInfoVisitor<mlir::arith::SelectOp>,
-                   SelectOpAxisInfoVisitor<triton::gpu::SelectOp>>();
-   visitors.append<ShLIOpAxisInfoVisitor, ShROpAxisInfoVisitor<arith::ShRUIOp>,
-                   ShROpAxisInfoVisitor<arith::ShRSIOp>>();
-@@ -829,11 +838,12 @@ AxisInfoAnalysis::AxisInfoAnalysis(MLIRContext *context)
-                   MaxMinOpAxisInfoVisitor<arith::MinUIOp>>();
- }
- 
--ChangeResult AxisInfoAnalysis::visitOperation(
--    Operation *op, ArrayRef<LatticeElement<AxisInfo> *> operands) {
-+void AxisInfoAnalysis::visitOperation(
-+    Operation *op, ArrayRef<const dataflow::Lattice<AxisInfo> *> operands,
-+    ArrayRef<dataflow::Lattice<AxisInfo> *> results) {
-   AxisInfo curr = visitors.apply(op, operands);
-   if (curr.getRank() == 0) {
--    return markAllPessimisticFixpoint(op->getResults());
-+    return markAllPessimisticFixpoint(results);
-   }
-   // override with hint
-   auto newContiguity = curr.getContiguity();
-@@ -854,11 +864,8 @@ ChangeResult AxisInfoAnalysis::visitOperation(
-   curr = mlir::AxisInfo(newContiguity, newDivisibility, newConstancy,
-                         curr.getConstantValue());
-   // join all lattice elements
--  ChangeResult result = ChangeResult::NoChange;
--  for (Value value : op->getResults()) {
--    result |= getLatticeElement(value).join(curr);
--  }
--  return result;
-+  for (auto *result : results)
-+    propagateIfChanged(result, result->join(curr));
- }
- 
- unsigned AxisInfoAnalysis::getPtrContiguity(Value ptr) {
-@@ -884,7 +891,10 @@ unsigned AxisInfoAnalysis::getPtrAlignment(Value ptr) {
-   auto tensorTy = ptr.getType().dyn_cast<RankedTensorType>();
-   if (!tensorTy)
-     return 1;
--  auto axisInfo = lookupLatticeElement(ptr)->getValue();
-+  dataflow::Lattice<AxisInfo> *latticeElement = getLatticeElement(ptr);
-+  if (!latticeElement || latticeElement->isUninitialized())
-+    return 1;
-+  auto axisInfo = latticeElement->getValue();
-   auto layout = tensorTy.getEncoding();
-   auto order = triton::gpu::getOrder(layout);
-   auto maxMultipleBytes = axisInfo.getDivisibility(order[0]);
-@@ -900,8 +910,11 @@ unsigned AxisInfoAnalysis::getMaskAlignment(Value mask) {
-   auto tensorTy = mask.getType().dyn_cast<RankedTensorType>();
-   if (!tensorTy)
-     return 1;
-+  dataflow::Lattice<AxisInfo> *latticeElement = getLatticeElement(mask);
-+  if (!latticeElement || latticeElement->isUninitialized())
-+    return 1;
-+  auto maskAxis = latticeElement->getValue();
-   auto maskOrder = triton::gpu::getOrder(tensorTy.getEncoding());
--  auto maskAxis = lookupLatticeElement(mask)->getValue();
-   auto alignment = std::max<unsigned>(maskAxis.getConstancy(maskOrder[0]), 1);
-   return alignment;
- }
-diff --git a/lib/Analysis/CMakeLists.txt b/lib/Analysis/CMakeLists.txt
-index afbc692510..1f761f845c 100644
---- a/lib/Analysis/CMakeLists.txt
-+++ b/lib/Analysis/CMakeLists.txt
-@@ -8,7 +8,7 @@ add_mlir_library(TritonAnalysis
-   DEPENDS
-   TritonTableGen
-   TritonGPUAttrDefsIncGen
--  
-+
-   LINK_LIBS PUBLIC
-   MLIRAnalysis
- )
-diff --git a/lib/Analysis/Membar.cpp b/lib/Analysis/Membar.cpp
-index acc885e827..910274b2ac 100644
---- a/lib/Analysis/Membar.cpp
-+++ b/lib/Analysis/Membar.cpp
-@@ -2,7 +2,7 @@
- #include "triton/Analysis/Alias.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- 
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
- 
- namespace mlir {
-diff --git a/lib/Analysis/Utility.cpp b/lib/Analysis/Utility.cpp
-index d9e917e731..6ea52df272 100644
---- a/lib/Analysis/Utility.cpp
-+++ b/lib/Analysis/Utility.cpp
-@@ -1,5 +1,8 @@
- #include "triton/Analysis/Utility.h"
-+#include "mlir/Analysis/DataFlow/ConstantPropagationAnalysis.h"
-+#include "mlir/Analysis/DataFlow/DeadCodeAnalysis.h"
- #include "mlir/IR/Dialect.h"
-+#include "mlir/IR/Matchers.h"
- #include "triton/Dialect/Triton/IR/Dialect.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- #include <deque>
-@@ -325,4 +328,55 @@ SetVector<Operation *> multiRootGetSlice(Operation *op,
-   return multiRootTopologicalSort(slice);
- }
- 
-+namespace {
-+// Copied from TestDeadCodeAnalysis.cpp, because some dead code analysis
-+// interacts with constant propagation, but SparseConstantPropagation
-+// doesn't seem to be sufficient.
-+struct ConstantAnalysis : public DataFlowAnalysis {
-+  using DataFlowAnalysis::DataFlowAnalysis;
-+
-+  LogicalResult initialize(Operation *top) override {
-+    WalkResult result = top->walk([&](Operation *op) {
-+      if (failed(visit(op)))
-+        return WalkResult::interrupt();
-+      return WalkResult::advance();
-+    });
-+    return success(!result.wasInterrupted());
-+  }
-+
-+  LogicalResult visit(ProgramPoint point) override {
-+    Operation *op = point.get<Operation *>();
-+    Attribute value;
-+    if (matchPattern(op, m_Constant(&value))) {
-+      auto *constant = getOrCreate<dataflow::Lattice<dataflow::ConstantValue>>(
-+          op->getResult(0));
-+      propagateIfChanged(constant, constant->join(dataflow::ConstantValue(
-+                                       value, op->getDialect())));
-+      return success();
-+    }
-+    setAllToUnknownConstants(op->getResults());
-+    for (Region &region : op->getRegions())
-+      setAllToUnknownConstants(region.getArguments());
-+    return success();
-+  }
-+
-+  /// Set all given values as not constants.
-+  void setAllToUnknownConstants(ValueRange values) {
-+    dataflow::ConstantValue unknownConstant(nullptr, nullptr);
-+    for (Value value : values) {
-+      auto *constant =
-+          getOrCreate<dataflow::Lattice<dataflow::ConstantValue>>(value);
-+      propagateIfChanged(constant, constant->join(unknownConstant));
-+    }
-+  }
-+};
-+} // namespace
-+
-+std::unique_ptr<DataFlowSolver> createDataFlowSolver() {
-+  auto solver = std::make_unique<DataFlowSolver>();
-+  solver->load<dataflow::DeadCodeAnalysis>();
-+  solver->load<ConstantAnalysis>();
-+  return solver;
-+}
-+
- } // namespace mlir
-diff --git a/lib/Conversion/TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp
-index 6a46265bd7..e352eb3698 100644
---- a/lib/Conversion/TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/ConvertLayoutOpToLLVM.cpp
-@@ -159,9 +159,6 @@ struct ConvertLayoutOpConversion
-                       Value smemBase) const {
-     auto accumNumCTAsEachRep = product<unsigned>(numCTAsEachRep);
-     auto layout = type.getEncoding();
--    auto blockedLayout = layout.dyn_cast<BlockedEncodingAttr>();
--    auto sliceLayout = layout.dyn_cast<SliceEncodingAttr>();
--    auto mmaLayout = layout.dyn_cast<MmaEncodingAttr>();
-     auto rank = type.getRank();
-     auto sizePerThread = getSizePerThread(layout);
-     auto accumSizePerThread = product<unsigned>(sizePerThread);
-diff --git a/lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h b/lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h
-index 4b89965aa9..1d9e00519b 100644
---- a/lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h
-+++ b/lib/Conversion/TritonGPUToLLVM/DotOpHelpers.h
-@@ -7,10 +7,8 @@
- #include "mlir/Conversion/LLVMCommon/LoweringOptions.h"
- #include "mlir/Conversion/LLVMCommon/Pattern.h"
- #include "mlir/Conversion/MathToLLVM/MathToLLVM.h"
--#include "mlir/Conversion/SCFToStandard/SCFToStandard.h"
--#include "mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h"
- #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "mlir/Dialect/Tensor/IR/Tensor.h"
- #include "mlir/IR/Matchers.h"
-@@ -422,9 +420,9 @@ struct MMA16816ConversionHelper {
-   MMA16816ConversionHelper(Type dotOperand, MmaEncodingAttr mmaLayout,
-                            Value thread, ConversionPatternRewriter &rewriter,
-                            TypeConverter *typeConverter, Location loc)
--      : mmaLayout(mmaLayout), thread(thread), helper(mmaLayout),
--        rewriter(rewriter), typeConverter(typeConverter), loc(loc),
--        ctx(mmaLayout.getContext()), wpt(mmaLayout.getWarpsPerCTA()) {
-+      : mmaLayout(mmaLayout), wpt(mmaLayout.getWarpsPerCTA()), thread(thread),
-+        helper(mmaLayout), rewriter(rewriter), typeConverter(typeConverter),
-+        loc(loc), ctx(mmaLayout.getContext()) {
-     helper.deduceMmaType(dotOperand);
- 
-     Value _32 = i32_val(32);
-diff --git a/lib/Conversion/TritonGPUToLLVM/DotOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/DotOpToLLVM.cpp
-index 0f8070ca9f..e4bd47c411 100644
---- a/lib/Conversion/TritonGPUToLLVM/DotOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/DotOpToLLVM.cpp
-@@ -115,8 +115,6 @@ struct DotOpConversion : public ConvertTritonGPUOpToLLVMPattern<triton::DotOp> {
-     auto DTensorTy = D.getType().cast<RankedTensorType>();
-     auto AShape = ATensorTy.getShape();
-     auto BShape = BTensorTy.getShape();
--    auto DShape = DTensorTy.getShape();
--    auto wpt = mmaLayout.getWarpsPerCTA();
- 
-     bool isARow = ALayout.getIsMMAv1Row().cast<BoolAttr>().getValue();
-     bool isBRow = BLayout.getIsMMAv1Row().cast<BoolAttr>().getValue();
-@@ -221,7 +219,6 @@ struct DotOpConversion : public ConvertTritonGPUOpToLLVMPattern<triton::DotOp> {
-                               ConversionPatternRewriter &rewriter) const {
-     auto *ctx = rewriter.getContext();
-     auto loc = op.getLoc();
--    auto threadId = getThreadId(rewriter, loc);
- 
-     auto A = op.a();
-     auto B = op.b();
-@@ -230,12 +227,10 @@ struct DotOpConversion : public ConvertTritonGPUOpToLLVMPattern<triton::DotOp> {
- 
-     auto aTensorTy = A.getType().cast<RankedTensorType>();
-     auto bTensorTy = B.getType().cast<RankedTensorType>();
--    auto cTensorTy = C.getType().cast<RankedTensorType>();
-     auto dTensorTy = D.getType().cast<RankedTensorType>();
- 
-     auto aShape = aTensorTy.getShape();
-     auto bShape = bTensorTy.getShape();
--    auto cShape = cTensorTy.getShape();
- 
-     BlockedEncodingAttr dLayout =
-         dTensorTy.getEncoding().cast<BlockedEncodingAttr>();
-diff --git a/lib/Conversion/TritonGPUToLLVM/ElementwiseOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/ElementwiseOpToLLVM.cpp
-index deb71b9597..0b9e67674b 100644
---- a/lib/Conversion/TritonGPUToLLVM/ElementwiseOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/ElementwiseOpToLLVM.cpp
-@@ -61,7 +61,6 @@ struct FpToFpOpConversion
-   convertFp16x4ToFp8x4(Location loc, ConversionPatternRewriter &rewriter,
-                        const Value &v0, const Value &v1, const Value &v2,
-                        const Value &v3) {
--    auto ctx = rewriter.getContext();
-     auto fp16x2VecTy = vec_ty(f16_ty, 2);
-     Value fp16x2Vec0 = undef(fp16x2VecTy);
-     Value fp16x2Vec1 = undef(fp16x2VecTy);
-@@ -153,7 +152,6 @@ struct FpToFpOpConversion
-   convertBf16x4ToFp8x4(Location loc, ConversionPatternRewriter &rewriter,
-                        const Value &v0, const Value &v1, const Value &v2,
-                        const Value &v3) {
--    auto ctx = rewriter.getContext();
-     auto bf16x2VecTy = vec_ty(i16_ty, 2);
-     Value bf16x2Vec0 = undef(bf16x2VecTy);
-     Value bf16x2Vec1 = undef(bf16x2VecTy);
-diff --git a/lib/Conversion/TritonGPUToLLVM/LoadStoreOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/LoadStoreOpToLLVM.cpp
-index 9a8b4702bc..bae675f0cb 100644
---- a/lib/Conversion/TritonGPUToLLVM/LoadStoreOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/LoadStoreOpToLLVM.cpp
-@@ -109,7 +109,8 @@ struct LoadOpConversion
-     DenseElementsAttr constAttr;
-     int64_t splatVal = 0;
-     if (other && valueElemTy.isa<IntegerType>() &&
--        matchPattern(other, m_Constant(&constAttr)) && constAttr.isSplat()) {
-+        matchPattern(other, m_Constant(&constAttr)) && constAttr.isSplat() &&
-+        constAttr.getElementType().isa<IntegerType>()) {
-       otherIsSplatConstInt = true;
-       splatVal = constAttr.getSplatValue<APInt>().getSExtValue();
-     }
-@@ -333,7 +334,6 @@ struct StoreOpConversion
-             elem = rewriter.create<LLVM::SExtOp>(loc, type::i8Ty(ctx), elem);
-           elem = bitcast(elem, valueElemTy);
- 
--          Type u32Ty = typeConverter->convertType(type::u32Ty(ctx));
-           llWord = insert_element(wordTy, llWord, elem, i32_val(elemIdx));
-         }
-         llWord = bitcast(llWord, valArgTy);
-@@ -387,7 +387,6 @@ struct AtomicCASOpConversion
-                   ConversionPatternRewriter &rewriter) const override {
-     auto loc = op.getLoc();
-     MLIRContext *ctx = rewriter.getContext();
--    Value ptr = op.ptr();
- 
-     Value llPtr = adaptor.ptr();
-     Value llCmp = adaptor.cmp();
-diff --git a/lib/Conversion/TritonGPUToLLVM/ReduceOpToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/ReduceOpToLLVM.cpp
-index 69abd889be..1c973dc196 100644
---- a/lib/Conversion/TritonGPUToLLVM/ReduceOpToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/ReduceOpToLLVM.cpp
-@@ -286,7 +286,6 @@ struct ReduceOpConversion
-     auto srcTy = op.operand().getType().cast<RankedTensorType>();
-     auto srcLayout = srcTy.getEncoding();
-     auto srcShape = srcTy.getShape();
--    auto srcRank = srcTy.getRank();
-     auto order = getOrder(srcLayout);
- 
-     auto threadsPerWarp = triton::gpu::getThreadsPerWarp(srcLayout);
-@@ -351,7 +350,6 @@ struct ReduceOpConversion
- 
-     Value zero = i32_val(0);
-     Value laneZero = icmp_eq(laneIdAxis, zero);
--    Value warpZero = icmp_eq(warpIdAxis, zero);
- 
-     for (auto it : accs) {
-       const SmallVector<unsigned> &key = it.first;
-diff --git a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVM.cpp b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVM.cpp
-index 5b77150b1a..78cfa076bd 100644
---- a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVM.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVM.cpp
-@@ -11,11 +11,11 @@ using ::mlir::LLVM::getStructFromElements;
- using ::mlir::triton::gpu::getElemsPerThread;
- using ::mlir::triton::gpu::SharedEncodingAttr;
- 
--struct ReturnOpConversion : public ConvertOpToLLVMPattern<::mlir::ReturnOp> {
--  using ConvertOpToLLVMPattern<ReturnOp>::ConvertOpToLLVMPattern;
-+struct ReturnOpConversion : public ConvertOpToLLVMPattern<func::ReturnOp> {
-+  using ConvertOpToLLVMPattern<func::ReturnOp>::ConvertOpToLLVMPattern;
- 
-   LogicalResult
--  matchAndRewrite(ReturnOp op, OpAdaptor adaptor,
-+  matchAndRewrite(func::ReturnOp op, OpAdaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
-     unsigned numArguments = op.getNumOperands();
- 
-@@ -476,7 +476,6 @@ struct ExtractSliceOpConversion
- 
-     auto llvmElemTy = getTypeConverter()->convertType(srcTy.getElementType());
-     auto elemPtrTy = ptr_ty(llvmElemTy, 3);
--    auto resTy = op.getType().dyn_cast<RankedTensorType>();
-     smemObj = SharedMemoryObject(gep(elemPtrTy, smemObj.base, offset),
-                                  strideVals, offsetVals);
-     auto retVal = getStructFromSharedMemoryObject(loc, smemObj, rewriter);
-diff --git a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMBase.h b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMBase.h
-index bb10d5b24a..00e399f848 100644
---- a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMBase.h
-+++ b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMBase.h
-@@ -4,6 +4,7 @@
- // TODO: refactor so that it doesn't fail if Allocation.h
- // is included after utility.h (due to conflict in `store` macro
- // and <atomic>
-+#include "mlir/Dialect/Func/IR/FuncOps.h"
- #include "triton/Analysis/Allocation.h"
- 
- //
-@@ -39,15 +40,15 @@ void vprintf_array(Value thread, ArrayRef<Value> arr, std::string info,
- // TODO(Superjomn): remove the code when MLIR v15.0 is included.
- // All the rights are reserved by the LLVM community.
- 
--struct FuncOpConversionBase : public ConvertOpToLLVMPattern<FuncOp> {
-+struct FuncOpConversionBase : public ConvertOpToLLVMPattern<func::FuncOp> {
- private:
-   /// Only retain those attributes that are not constructed by
-   /// `LLVMFuncOp::build`. If `filterArgAttrs` is set, also filter out argument
-   /// attributes.
--  static void filterFuncAttributes(ArrayRef<NamedAttribute> attrs,
--                                   bool filterArgAttrs,
-+  static void filterFuncAttributes(func::FuncOp op, bool filterArgAttrs,
-                                    SmallVectorImpl<NamedAttribute> &result) {
--    for (const auto &attr : attrs) {
-+
-+    for (const auto &attr : op->getAttrs()) {
-       if (attr.getName() == SymbolTable::getSymbolAttrName() ||
-           attr.getName() == FunctionOpInterface::getTypeAttrName() ||
-           attr.getName() == "std.varargs" ||
-@@ -65,27 +66,27 @@ struct FuncOpConversionBase : public ConvertOpToLLVMPattern<FuncOp> {
-   }
- 
- protected:
--  using ConvertOpToLLVMPattern<FuncOp>::ConvertOpToLLVMPattern;
-+  using ConvertOpToLLVMPattern<func::FuncOp>::ConvertOpToLLVMPattern;
- 
-   // Convert input FuncOp to LLVMFuncOp by using the LLVMTypeConverter provided
-   // to this legalization pattern.
-   LLVM::LLVMFuncOp
--  convertFuncOpToLLVMFuncOp(FuncOp funcOp,
-+  convertFuncOpToLLVMFuncOp(func::FuncOp funcOp,
-                             ConversionPatternRewriter &rewriter) const {
-     // Convert the original function arguments. They are converted using the
-     // LLVMTypeConverter provided to this legalization pattern.
-     auto varargsAttr = funcOp->getAttrOfType<BoolAttr>("func.varargs");
-     TypeConverter::SignatureConversion result(funcOp.getNumArguments());
-     auto llvmType = getTypeConverter()->convertFunctionSignature(
--        funcOp.getType(), varargsAttr && varargsAttr.getValue(), result);
-+        funcOp.getFunctionType(), varargsAttr && varargsAttr.getValue(),
-+        result);
-     if (!llvmType)
-       return nullptr;
- 
-     // Propagate argument/result attributes to all converted arguments/result
-     // obtained after converting a given original argument/result.
-     SmallVector<NamedAttribute, 4> attributes;
--    filterFuncAttributes(funcOp->getAttrs(), /*filterArgAttrs=*/true,
--                         attributes);
-+    filterFuncAttributes(funcOp, /*filterArgAttrs=*/true, attributes);
-     if (ArrayAttr resAttrDicts = funcOp.getAllResultAttrs()) {
-       assert(!resAttrDicts.empty() && "expected array to be non-empty");
-       auto newResAttrDicts =
-@@ -131,7 +132,7 @@ struct FuncOpConversionBase : public ConvertOpToLLVMPattern<FuncOp> {
-     }
-     auto newFuncOp = rewriter.create<LLVM::LLVMFuncOp>(
-         funcOp.getLoc(), funcOp.getName(), llvmType, linkage,
--        /*dsoLocal*/ false, attributes);
-+        /*dsoLocal*/ false, LLVM::CConv::C, attributes);
-     rewriter.inlineRegionBefore(funcOp.getBody(), newFuncOp.getBody(),
-                                 newFuncOp.end());
-     if (failed(rewriter.convertRegionTypes(&newFuncOp.getBody(), *typeConverter,
-@@ -191,8 +192,8 @@ class ConvertTritonGPUOpToLLVMPatternBase {
-                                                const Allocation *allocation,
-                                                Value smem,
-                                                IndexCacheInfo indexCacheInfo)
--      : converter(&typeConverter), indexCacheInfo(indexCacheInfo),
--        allocation(allocation), smem(smem) {}
-+      : converter(&typeConverter), allocation(allocation), smem(smem),
-+        indexCacheInfo(indexCacheInfo) {}
- 
-   LLVMTypeConverter *getTypeConverter() const { return converter; }
- 
-@@ -861,7 +862,6 @@ class ConvertTritonGPUOpToLLVMPatternBase {
-                             ArrayRef<int64_t> shape) const {
-     auto parent = sliceLayout.getParent();
-     unsigned dim = sliceLayout.getDim();
--    size_t rank = shape.size();
-     auto parentIndices =
-         emitIndices(loc, rewriter, parent, sliceLayout.paddedShape(shape));
-     unsigned numIndices = parentIndices.size();
-diff --git a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.cpp b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.cpp
-index ff1af09835..6f66af4e34 100644
---- a/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.cpp
-+++ b/lib/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.cpp
-@@ -1,10 +1,11 @@
- #include "triton/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.h"
- 
-+#include "mlir/Analysis/DataFlowFramework.h"
- #include "mlir/Conversion/ArithmeticToLLVM/ArithmeticToLLVM.h"
-+#include "mlir/Conversion/ControlFlowToLLVM//ControlFlowToLLVM.h"
- #include "mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h"
- #include "mlir/Conversion/MathToLLVM/MathToLLVM.h"
--#include "mlir/Conversion/SCFToStandard/SCFToStandard.h"
--#include "mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h"
-+#include "mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "mlir/Dialect/LLVMIR/NVVMDialect.h"
- #include "mlir/Pass/Pass.h"
-@@ -40,7 +41,6 @@ class TritonLLVMConversionTarget : public ConversionTarget {
-     addIllegalDialect<triton::TritonDialect>();
-     addIllegalDialect<triton::gpu::TritonGPUDialect>();
-     addIllegalDialect<mlir::gpu::GPUDialect>();
--    addIllegalDialect<mlir::StandardOpsDialect>();
-     addLegalOp<mlir::UnrealizedConversionCastOp>();
-   }
- };
-@@ -51,7 +51,7 @@ class TritonLLVMFunctionConversionTarget : public ConversionTarget {
-       : ConversionTarget(ctx) {
-     addLegalDialect<LLVM::LLVMDialect>();
-     addLegalDialect<NVVM::NVVMDialect>();
--    addIllegalOp<mlir::FuncOp>();
-+    addIllegalOp<mlir::func::FuncOp>();
-     addLegalOp<mlir::UnrealizedConversionCastOp>();
-   }
- };
-@@ -69,7 +69,7 @@ struct FuncOpConversion : public FuncOpConversionBase {
-       : FuncOpConversionBase(converter, benefit), numWarps(numWarps) {}
- 
-   LogicalResult
--  matchAndRewrite(FuncOp funcOp, OpAdaptor adaptor,
-+  matchAndRewrite(func::FuncOp funcOp, OpAdaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
-     auto newFuncOp = convertFuncOpToLLVMFuncOp(funcOp, rewriter);
-     if (!newFuncOp)
-@@ -133,7 +133,8 @@ class ConvertTritonGPUToLLVM
-     decomposeBlockedToDotOperand(mod);
- 
-     // Step 2
--    decomposeInsertSliceAsyncOp(mod);
-+    if (failed(decomposeInsertSliceAsyncOp(mod)))
-+      return signalPassFailure();
- 
-     // Step 3
-     Allocation allocation(mod);
-@@ -142,7 +143,7 @@ class ConvertTritonGPUToLLVM
- 
-     // Step 4
-     RewritePatternSet scf_patterns(context);
--    mlir::populateLoopToStdConversionPatterns(scf_patterns);
-+    mlir::populateSCFToControlFlowConversionPatterns(scf_patterns);
-     mlir::ConversionTarget scf_target(*context);
-     scf_target.addIllegalOp<scf::ForOp, scf::IfOp, scf::ParallelOp,
-                             scf::WhileOp, scf::ExecuteRegionOp>();
-@@ -159,8 +160,10 @@ class ConvertTritonGPUToLLVM
-       return signalPassFailure();
- 
-     // Step 6 - get axis and shared memory info
--    AxisInfoAnalysis axisInfoAnalysis(mod.getContext());
--    axisInfoAnalysis.run(mod);
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    AxisInfoAnalysis *axisInfoAnalysis = solver->load<AxisInfoAnalysis>();
-+    if (failed(solver->initializeAndRun(mod)))
-+      return signalPassFailure();
-     initSharedMemory(allocation.getSharedMemorySize(), typeConverter);
-     mod->setAttr("triton_gpu.shared",
-                  mlir::IntegerAttr::get(mlir::IntegerType::get(context, 32),
-@@ -178,38 +181,39 @@ class ConvertTritonGPUToLLVM
- 
-     // Normal conversions
-     populateTritonGPUToLLVMPatterns(typeConverter, patterns, numWarps,
--                                    axisInfoAnalysis, &allocation, smem,
-+                                    *axisInfoAnalysis, &allocation, smem,
-                                     indexCacheInfo, /*benefit=*/10);
-     // ConvertLayoutOp
-     populateConvertLayoutOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                          axisInfoAnalysis, &allocation, smem,
-+                                          *axisInfoAnalysis, &allocation, smem,
-                                           indexCacheInfo, /*benefit=*/10);
-     // DotOp
-     populateDotOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                axisInfoAnalysis, &allocation, smem,
-+                                *axisInfoAnalysis, &allocation, smem,
-                                 /*benefit=*/10);
-     // ElementwiseOp
-     populateElementwiseOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                        axisInfoAnalysis, &allocation, smem,
-+                                        *axisInfoAnalysis, &allocation, smem,
-                                         /*benefit=*/10);
-     // LoadStoreOp
-     populateLoadStoreOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                      axisInfoAnalysis, &allocation, smem,
-+                                      *axisInfoAnalysis, &allocation, smem,
-                                       indexCacheInfo, /*benefit=*/10);
-     // ReduceOp
-     populateReduceOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                   axisInfoAnalysis, &allocation, smem,
-+                                   *axisInfoAnalysis, &allocation, smem,
-                                    indexCacheInfo, /*benefit=*/10);
-     // ViewOp
-     populateViewOpToLLVMPatterns(typeConverter, patterns, numWarps,
--                                 axisInfoAnalysis, &allocation, smem,
-+                                 *axisInfoAnalysis, &allocation, smem,
-                                  /*benefit=*/10);
- 
-     // Add arith/math's patterns to help convert scalar expression to LLVM.
-     mlir::arith::populateArithmeticToLLVMConversionPatterns(typeConverter,
-                                                             patterns);
-     mlir::populateMathToLLVMConversionPatterns(typeConverter, patterns);
--    mlir::populateStdToLLVMConversionPatterns(typeConverter, patterns);
-+    mlir::cf::populateControlFlowToLLVMConversionPatterns(typeConverter,
-+                                                          patterns);
-     mlir::populateGpuToNVVMConversionPatterns(typeConverter, patterns);
- 
-     if (failed(applyPartialConversion(mod, target, std::move(patterns))))
-@@ -306,9 +310,11 @@ class ConvertTritonGPUToLLVM
-     });
-   }
- 
--  void decomposeInsertSliceAsyncOp(ModuleOp mod) const {
--    AxisInfoAnalysis axisInfoAnalysis(mod.getContext());
--    axisInfoAnalysis.run(mod);
-+  LogicalResult decomposeInsertSliceAsyncOp(ModuleOp mod) const {
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    AxisInfoAnalysis *axisInfoAnalysis = solver->load<AxisInfoAnalysis>();
-+    if (failed(solver->initializeAndRun(mod)))
-+      return failure();
-     // TODO(Keren): This is a hacky knob that may cause performance regression
-     // when decomposition has been performed. We should remove this knob once we
-     // have thorough analysis on async wait. Currently, we decompose
-@@ -342,7 +348,7 @@ class ConvertTritonGPUToLLVM
-       auto resSharedLayout =
-           dstTy.getEncoding().dyn_cast<triton::gpu::SharedEncodingAttr>();
-       auto resElemTy = dstTy.getElementType();
--      unsigned inVec = axisInfoAnalysis.getPtrContiguity(src);
-+      unsigned inVec = axisInfoAnalysis->getPtrContiguity(src);
-       unsigned outVec = resSharedLayout.getVec();
-       unsigned minVec = std::min(outVec, inVec);
-       auto maxBitWidth =
-@@ -400,11 +406,11 @@ class ConvertTritonGPUToLLVM
-       } else if (decomposed) {
-         // Wait for all previous async ops
-         OpBuilder builder(asyncWaitOp);
--        auto newAsyncWaitOp =
--            builder.create<triton::gpu::AsyncWaitOp>(asyncWaitOp.getLoc(), 0);
-+        builder.create<triton::gpu::AsyncWaitOp>(asyncWaitOp.getLoc(), 0);
-         asyncWaitOp.erase();
-       }
-     });
-+    return success();
-   }
- };
- 
-diff --git a/lib/Conversion/TritonGPUToLLVM/Utility.h b/lib/Conversion/TritonGPUToLLVM/Utility.h
-index d35dac28c5..11976908cf 100644
---- a/lib/Conversion/TritonGPUToLLVM/Utility.h
-+++ b/lib/Conversion/TritonGPUToLLVM/Utility.h
-@@ -220,10 +220,7 @@ struct SharedMemoryObject {
-                      ConversionPatternRewriter &rewriter)
-       : base(base) {
-     strides = getStridesFromShapeAndOrder(shape, order, loc, rewriter);
--
--    for (auto idx : order) {
--      offsets.emplace_back(i32_val(0));
--    }
-+    offsets.append(order.size(), i32_val(0));
-   }
- 
-   SmallVector<Value> getElems() const {
-diff --git a/lib/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.cpp b/lib/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.cpp
-index fe42202c34..5f230f787f 100644
---- a/lib/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.cpp
-+++ b/lib/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.cpp
-@@ -1,10 +1,10 @@
- #include "triton/Conversion/TritonToTritonGPU/TritonToTritonGPUPass.h"
- 
- #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h"
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "mlir/Dialect/LLVMIR/NVVMDialect.h"
--#include "mlir/Dialect/StandardOps/IR/Ops.h"
- #include "mlir/Pass/Pass.h"
- #include "mlir/Transforms/DialectConversion.h"
- #include "triton/Dialect/Triton/IR/Dialect.h"
-@@ -59,10 +59,13 @@ class ArithConstantPattern : public OpConversionPattern<arith::ConstantOp> {
-     Type retType = getTypeConverter()->convertType(op.getType());
-     auto value = adaptor.getValue().dyn_cast<DenseElementsAttr>();
-     assert(value);
--    rewriter.replaceOpWithNewOp<arith::ConstantOp>(
--        op, retType,
--        value.reshape(retType) // This is a hack. We just want to add encoding
--    );
-+    if (value.getElementType().isInteger(1) && value.isSplat())
-+      // Workaround until https://reviews.llvm.org/D133743 is included.
-+      value = DenseElementsAttr::get(retType, value.getSplatValue<bool>());
-+    else
-+      // This is a hack. We just want to add encoding
-+      value = value.reshape(retType);
-+    rewriter.replaceOpWithNewOp<arith::ConstantOp>(op, retType, value);
-     return success();
-   }
- };
-@@ -127,12 +130,12 @@ void populateArithmeticPatternsAndLegality(
- }
- 
- // this shouldn't exist if mlir's SelectOp checked encodings properly
--class StdSelectPattern : public OpConversionPattern<SelectOp> {
-+class StdSelectPattern : public OpConversionPattern<arith::SelectOp> {
- public:
--  using OpConversionPattern<SelectOp>::OpConversionPattern;
-+  using OpConversionPattern<arith::SelectOp>::OpConversionPattern;
- 
-   LogicalResult
--  matchAndRewrite(SelectOp op, typename SelectOp::Adaptor adaptor,
-+  matchAndRewrite(arith::SelectOp op, OpAdaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
-     Type retType = this->getTypeConverter()->convertType(op.getType());
-     rewriter.replaceOpWithNewOp<triton::gpu::SelectOp>(
-@@ -148,8 +151,8 @@ void populateStdPatternsAndLegality(TritonGPUTypeConverter &typeConverter,
-   MLIRContext *context = patterns.getContext();
-   // Rewrite rule
-   patterns.add<StdSelectPattern>(typeConverter, context);
--  target.addLegalOp<ReturnOp>(); // this is ok because all functions are inlined
--                                 // by the frontend
-+  target.addLegalOp<func::ReturnOp>(); // this is ok because all functions are
-+                                       // inlined by the frontend
- }
- 
- void populateMathPatternsAndLegality(TritonGPUTypeConverter &typeConverter,
-@@ -455,18 +458,19 @@ struct TritonPrintfPattern : public OpConversionPattern<triton::PrintfOp> {
- void populateTritonPatterns(TritonGPUTypeConverter &typeConverter,
-                             RewritePatternSet &patterns) {
-   MLIRContext *context = patterns.getContext();
--  patterns.add< // TODO: view should have custom pattern that views the layout
--      TritonGenericPattern<triton::ViewOp>,
--      TritonGenericPattern<triton::BitcastOp>,
--      TritonGenericPattern<triton::FpToFpOp>,
--      TritonGenericPattern<triton::IntToPtrOp>,
--      TritonGenericPattern<triton::PtrToIntOp>,
--      TritonGenericPattern<triton::SplatOp>, TritonBroadcastPattern,
--      TritonGenericPattern<triton::AddPtrOp>, TritonCatPattern,
--      TritonReducePattern, TritonTransPattern, TritonExpandDimsPattern,
--      TritonMakeRangePattern, TritonDotPattern, TritonLoadPattern,
--      TritonStorePattern, TritonExtElemwisePattern, TritonPrintfPattern,
--      TritonAtomicRMWPattern>(typeConverter, context);
-+  patterns
-+      .insert< // TODO: view should have custom pattern that views the layout
-+          TritonGenericPattern<triton::ViewOp>,
-+          TritonGenericPattern<triton::BitcastOp>,
-+          TritonGenericPattern<triton::FpToFpOp>,
-+          TritonGenericPattern<triton::IntToPtrOp>,
-+          TritonGenericPattern<triton::PtrToIntOp>,
-+          TritonGenericPattern<triton::SplatOp>, TritonBroadcastPattern,
-+          TritonGenericPattern<triton::AddPtrOp>, TritonCatPattern,
-+          TritonReducePattern, TritonTransPattern, TritonExpandDimsPattern,
-+          TritonMakeRangePattern, TritonDotPattern, TritonLoadPattern,
-+          TritonStorePattern, TritonExtElemwisePattern, TritonPrintfPattern,
-+          TritonAtomicRMWPattern>(typeConverter, context);
- }
- 
- //
-@@ -623,29 +627,28 @@ void populateSCFPatterns(TritonGPUTypeConverter &typeConverter,
- 
- // CF
- 
--class CFBranchPattern : public OpConversionPattern<BranchOp> {
-+class CFBranchPattern : public OpConversionPattern<cf::BranchOp> {
- public:
--  using OpConversionPattern<BranchOp>::OpConversionPattern;
-+  using OpConversionPattern<cf::BranchOp>::OpConversionPattern;
- 
-   LogicalResult
--  matchAndRewrite(BranchOp op, BranchOp::Adaptor adaptor,
-+  matchAndRewrite(cf::BranchOp op, cf::BranchOp::Adaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
--    auto converter = getTypeConverter();
--    auto newOp = rewriter.replaceOpWithNewOp<BranchOp>(op, op.getSuccessor(),
--                                                       adaptor.getOperands());
-+    auto newOp = rewriter.replaceOpWithNewOp<cf::BranchOp>(
-+        op, op.getSuccessor(), adaptor.getOperands());
-     return success();
-   }
- };
- 
--class CFCondBranchPattern : public OpConversionPattern<CondBranchOp> {
-+class CFCondBranchPattern : public OpConversionPattern<cf::CondBranchOp> {
- public:
--  using OpConversionPattern<CondBranchOp>::OpConversionPattern;
-+  using OpConversionPattern<cf::CondBranchOp>::OpConversionPattern;
- 
-   LogicalResult
--  matchAndRewrite(CondBranchOp op, CondBranchOp::Adaptor adaptor,
-+  matchAndRewrite(cf::CondBranchOp op, cf::CondBranchOp::Adaptor adaptor,
-                   ConversionPatternRewriter &rewriter) const override {
-     auto converter = getTypeConverter();
--    auto newOp = rewriter.replaceOpWithNewOp<CondBranchOp>(
-+    auto newOp = rewriter.replaceOpWithNewOp<cf::CondBranchOp>(
-         op, adaptor.getCondition(), op.getTrueDest(),
-         adaptor.getTrueDestOperands(), op.getFalseDest(),
-         adaptor.getFalseDestOperands());
-diff --git a/lib/Dialect/Triton/IR/CMakeLists.txt b/lib/Dialect/Triton/IR/CMakeLists.txt
-index 2d679b21fd..705554ba6b 100644
---- a/lib/Dialect/Triton/IR/CMakeLists.txt
-+++ b/lib/Dialect/Triton/IR/CMakeLists.txt
-@@ -10,11 +10,7 @@ add_mlir_dialect_library(TritonIR
- 
-   LINK_LIBS PUBLIC
-   MLIRIR
--  MLIRArithmetic
--  MLIRSCF
--
--  # Since LLVM 15
--  # MLIRFunc
--  # else
--  MLIRStandard
-+  MLIRArithmeticDialect
-+  MLIRSCFDialect
-+  MLIRFuncDialect
- )
-diff --git a/lib/Dialect/Triton/IR/Ops.cpp b/lib/Dialect/Triton/IR/Ops.cpp
-index 3aadbfa0c0..86570359c5 100644
---- a/lib/Dialect/Triton/IR/Ops.cpp
-+++ b/lib/Dialect/Triton/IR/Ops.cpp
-@@ -1,10 +1,9 @@
--#include "triton/Dialect/Triton/IR/Dialect.h"
--#include "triton/Dialect/Triton/IR/Types.h"
--
- #include "mlir/IR/Builders.h"
- #include "mlir/IR/BuiltinAttributes.h"
- #include "mlir/IR/BuiltinTypes.h"
- #include "mlir/IR/OperationSupport.h"
-+#include "triton/Dialect/Triton/IR/Dialect.h"
-+#include "triton/Dialect/Triton/IR/Types.h"
- 
- namespace mlir {
- namespace triton {
-@@ -38,8 +37,8 @@ static Type getPointerTypeSameShape(Type type) {
- }
- 
- // Parser & printer for assembly forms
--ParseResult parseLoadOp(OpAsmParser &parser, OperationState &result) {
--  SmallVector<OpAsmParser::OperandType, 4> allOperands;
-+ParseResult LoadOp::parse(OpAsmParser &parser, OperationState &result) {
-+  SmallVector<OpAsmParser::UnresolvedOperand, 4> allOperands;
-   Type resultTypes[1];
-   SMLoc allOperandLoc = parser.getCurrentLocation();
-   if (parser.parseOperandList(allOperands) ||
-@@ -73,18 +72,18 @@ ParseResult parseLoadOp(OpAsmParser &parser, OperationState &result) {
-   return success();
- }
- 
--void printLoadOp(OpAsmPrinter &printer, LoadOp loadOp) {
-+void LoadOp::print(OpAsmPrinter &printer) {
-   printer << " ";
--  printer << loadOp.getOperation()->getOperands();
-+  printer << getOperation()->getOperands();
-   // "operand_segment_sizes" can be deduced, so we don't print it.
--  printer.printOptionalAttrDict(loadOp->getAttrs(),
--                                {loadOp.operand_segment_sizesAttrName()});
-+  printer.printOptionalAttrDict(getOperation()->getAttrs(),
-+                                {operand_segment_sizesAttrName()});
-   printer << " : ";
--  printer.printStrippedAttrOrType(loadOp.result().getType());
-+  printer.printStrippedAttrOrType(getResult().getType());
- }
- 
--ParseResult parseStoreOp(OpAsmParser &parser, OperationState &result) {
--  SmallVector<OpAsmParser::OperandType, 4> allOperands;
-+ParseResult StoreOp::parse(OpAsmParser &parser, OperationState &result) {
-+  SmallVector<OpAsmParser::UnresolvedOperand, 4> allOperands;
-   Type valueType;
-   SMLoc allOperandLoc = parser.getCurrentLocation();
-   if (parser.parseOperandList(allOperands) ||
-@@ -104,12 +103,12 @@ ParseResult parseStoreOp(OpAsmParser &parser, OperationState &result) {
-   return success();
- }
- 
--void printStoreOp(OpAsmPrinter &printer, StoreOp storeOp) {
-+void StoreOp::print(OpAsmPrinter &printer) {
-   printer << " ";
--  printer << storeOp.getOperation()->getOperands();
--  printer.printOptionalAttrDict(storeOp->getAttrs(), /*elidedAttrs=*/{});
-+  printer << getOperation()->getOperands();
-+  printer.printOptionalAttrDict(getOperation()->getAttrs(), /*elidedAttrs=*/{});
-   printer << " : ";
--  printer.printStrippedAttrOrType(storeOp.value().getType());
-+  printer.printStrippedAttrOrType(value().getType());
- }
- 
- } // namespace triton
-@@ -319,7 +318,8 @@ OpFoldResult SplatOp::fold(ArrayRef<Attribute> operands) {
-   if (!constOperand)
-     return {};
-   auto shapedType = getType().cast<ShapedType>();
--  auto ret = SplatElementsAttr::get(shapedType, {constOperand.getValue()});
-+  auto ret = SplatElementsAttr::get(
-+      shapedType, ArrayRef<Attribute>(constOperand.getValue()));
-   return ret;
- }
- 
-diff --git a/lib/Dialect/Triton/Transforms/Combine.cpp b/lib/Dialect/Triton/Transforms/Combine.cpp
-index 2261472170..11570283d6 100644
---- a/lib/Dialect/Triton/Transforms/Combine.cpp
-+++ b/lib/Dialect/Triton/Transforms/Combine.cpp
-@@ -57,13 +57,13 @@ DenseElementsAttr getConstantValue(Builder &builder, Attribute value,
- class CombineSelectMaskedLoadPattern : public mlir::RewritePattern {
- public:
-   CombineSelectMaskedLoadPattern(mlir::MLIRContext *context)
--      : mlir::RewritePattern(mlir::SelectOp::getOperationName(), 3, context,
--                             {triton::LoadOp::getOperationName()}) {}
-+      : mlir::RewritePattern(mlir::arith::SelectOp::getOperationName(), 3,
-+                             context, {triton::LoadOp::getOperationName()}) {}
- 
-   mlir::LogicalResult
-   matchAndRewrite(mlir::Operation *op,
-                   mlir::PatternRewriter &rewriter) const override {
--    auto selectOp = llvm::dyn_cast<mlir::SelectOp>(op);
-+    auto selectOp = llvm::dyn_cast<mlir::arith::SelectOp>(op);
-     if (!selectOp)
-       return mlir::failure();
- 
-diff --git a/lib/Dialect/Triton/Transforms/Combine.td b/lib/Dialect/Triton/Transforms/Combine.td
-index 14f286b26e..ded0e346e6 100644
---- a/lib/Dialect/Triton/Transforms/Combine.td
-+++ b/lib/Dialect/Triton/Transforms/Combine.td
-@@ -1,9 +1,9 @@
- #ifndef TRITON_PATTERNS
- #define TRITON_PATTERNS
- 
--include "mlir/Dialect/StandardOps/IR/Ops.td"
- include "mlir/Dialect/Arithmetic/IR/ArithmeticOps.td"
- include "triton/Dialect/Triton/IR/TritonOps.td"
-+include "mlir/IR/PatternBase.td"
- 
- 
- // AddIOp(DotOp(a, b, c), d) and c==0 => DotOp(a, b, d)
-diff --git a/lib/Dialect/TritonGPU/IR/Dialect.cpp b/lib/Dialect/TritonGPU/IR/Dialect.cpp
-index 1fbc609e88..bfc3f3d3da 100644
---- a/lib/Dialect/TritonGPU/IR/Dialect.cpp
-+++ b/lib/Dialect/TritonGPU/IR/Dialect.cpp
-@@ -1,14 +1,14 @@
-+#include "triton/Dialect/Triton/IR/Dialect.h"
-+
- #include <numeric>
- 
- #include "mlir/IR/DialectImplementation.h"
- #include "mlir/IR/OpImplementation.h"
- #include "triton/Analysis/Utility.h"
--#include "triton/Dialect/Triton/IR/Dialect.h"
-+#include "triton/Dialect/TritonGPU/IR/Dialect.cpp.inc"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- #include "llvm/ADT/TypeSwitch.h"
- 
--#include "triton/Dialect/TritonGPU/IR/Dialect.cpp.inc"
--
- using namespace mlir;
- using namespace mlir::triton::gpu;
- 
-@@ -366,7 +366,6 @@ template SmallVector<int64_t>
- SliceEncodingAttr::paddedShape<int64_t>(ArrayRef<int64_t> shape) const;
- 
- unsigned SliceEncodingAttr::getElemsPerThread(ArrayRef<int64_t> shape) const {
--  size_t rank = shape.size();
-   auto parent = getParent();
-   return ::getElemsPerThread(parent, paddedShape(shape));
- }
-@@ -655,9 +654,9 @@ void DotOperandEncodingAttr::print(mlir::AsmPrinter &printer) const {
- // InsertSliceAsyncOp
- //===----------------------------------------------------------------------===//
- 
--ParseResult parseInsertSliceAsyncOp(OpAsmParser &parser,
--                                    OperationState &result) {
--  SmallVector<OpAsmParser::OperandType, 8> allOperands;
-+ParseResult InsertSliceAsyncOp::parse(OpAsmParser &parser,
-+                                      OperationState &result) {
-+  SmallVector<OpAsmParser::UnresolvedOperand, 8> allOperands;
-   Type srcType, dstType;
-   SMLoc allOperandLoc = parser.getCurrentLocation();
-   if (parser.parseOperandList(allOperands) ||
-@@ -696,18 +695,16 @@ ParseResult parseInsertSliceAsyncOp(OpAsmParser &parser,
-   return success();
- }
- 
--void printInsertSliceAsyncOp(OpAsmPrinter &printer,
--                             InsertSliceAsyncOp insertSliceAsyncOp) {
-+void InsertSliceAsyncOp::print(OpAsmPrinter &printer) {
-   printer << " ";
--  printer << insertSliceAsyncOp.getOperation()->getOperands();
-+  printer << getOperation()->getOperands();
-   // "operand_segment_sizes" can be deduced, so we don't print it.
--  printer.printOptionalAttrDict(
--      insertSliceAsyncOp->getAttrs(),
--      {insertSliceAsyncOp.operand_segment_sizesAttrName()});
-+  printer.printOptionalAttrDict(getOperation()->getAttrs(),
-+                                {operand_segment_sizesAttrName()});
-   printer << " : ";
--  printer.printStrippedAttrOrType(insertSliceAsyncOp.src().getType());
-+  printer.printStrippedAttrOrType(src().getType());
-   printer << " -> ";
--  printer.printStrippedAttrOrType(insertSliceAsyncOp.result().getType());
-+  printer.printStrippedAttrOrType(result().getType());
- }
- 
- //===----------------------------------------------------------------------===//
-diff --git a/lib/Dialect/TritonGPU/Transforms/Coalesce.cpp b/lib/Dialect/TritonGPU/Transforms/Coalesce.cpp
-index 82407980d3..ee6009f44a 100644
---- a/lib/Dialect/TritonGPU/Transforms/Coalesce.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/Coalesce.cpp
-@@ -27,7 +27,11 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-     auto origType = ptr.getType().cast<RankedTensorType>();
-     // Get the shape of the tensor.
-     size_t rank = origType.getRank();
--    AxisInfo info = axisInfo.lookupLatticeElement(ptr)->getValue();
-+    dataflow::Lattice<AxisInfo> *latticeElement =
-+        axisInfo.getLatticeElement(ptr);
-+    AxisInfo info = latticeElement && !latticeElement->isUninitialized()
-+                        ? latticeElement->getValue()
-+                        : AxisInfo();
-     // Get the contiguity order of `ptr`
-     auto order = argSort(info.getContiguity());
-     // The desired divisibility is the maximum divisibility
-@@ -40,7 +44,7 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-         for (Value val : op->getResults()) {
-           if (val.getType() != origType)
-             continue;
--          auto valInfo = axisInfo.lookupLatticeElement(val);
-+          auto valInfo = axisInfo.getLatticeElement(val);
-           auto currOrder = argSort(valInfo->getValue().getContiguity());
-           if (order == currOrder)
-             withSameOrder.insert(val);
-@@ -55,7 +59,7 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-     unsigned elemNumBytes = std::max(elemNumBits / 8, 1u);
-     unsigned perThread = 1;
-     for (Value val : withSameOrder) {
--      AxisInfo info = axisInfo.lookupLatticeElement(val)->getValue();
-+      AxisInfo info = axisInfo.getLatticeElement(val)->getValue();
-       unsigned maxMultipleBytes = info.getDivisibility(order[0]);
-       unsigned maxMultiple = std::max(maxMultipleBytes / elemNumBytes, 1u);
-       unsigned maxContig = info.getContiguity(order[0]);
-@@ -123,8 +127,10 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-   void runOnOperation() override {
-     Operation *op = getOperation();
-     // Run axis info analysis
--    AxisInfoAnalysis axisInfo(&getContext());
--    axisInfo.run(op);
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    AxisInfoAnalysis *axisInfo = solver->load<AxisInfoAnalysis>();
-+    if (failed(solver->initializeAndRun(op)))
-+      return signalPassFailure();
- 
-     // For each i/o operation, we determine what layout
-     // the pointers should have for best memory coalescing
-@@ -146,10 +152,10 @@ struct CoalescePass : public TritonGPUCoalesceBase<CoalescePass> {
-       RankedTensorType ty = ptr.getType().template dyn_cast<RankedTensorType>();
-       if (!ty || !ty.getElementType().isa<PointerType>())
-         return;
--      AxisInfo info = axisInfo.lookupLatticeElement(ptr)->getValue();
-+      AxisInfo info = axisInfo->getLatticeElement(ptr)->getValue();
-       auto mod = curr->getParentOfType<ModuleOp>();
-       int numWarps = triton::gpu::TritonGPUDialect::getNumWarps(mod);
--      auto convertType = getTypeConverter(axisInfo, ptr, numWarps);
-+      auto convertType = getTypeConverter(*axisInfo, ptr, numWarps);
-       layoutMap[ptr] = convertType;
-     });
- 
-diff --git a/lib/Dialect/TritonGPU/Transforms/Combine.cpp b/lib/Dialect/TritonGPU/Transforms/Combine.cpp
-index efa37ff2dc..089ce3996c 100644
---- a/lib/Dialect/TritonGPU/Transforms/Combine.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/Combine.cpp
-@@ -1,6 +1,6 @@
- #include "Utility.h"
- #include "mlir/Analysis/SliceAnalysis.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/IR/BuiltinAttributes.h"
- #include "mlir/IR/Matchers.h"
-diff --git a/lib/Dialect/TritonGPU/Transforms/Combine.td b/lib/Dialect/TritonGPU/Transforms/Combine.td
-index 6bf1b14866..6a7b10dbcb 100644
---- a/lib/Dialect/TritonGPU/Transforms/Combine.td
-+++ b/lib/Dialect/TritonGPU/Transforms/Combine.td
-@@ -3,5 +3,6 @@
- 
- include "triton/Dialect/TritonGPU/IR/TritonGPUOps.td"
- include "triton/Dialect/Triton/IR/TritonOps.td"
-+include "mlir/IR/PatternBase.td"
- 
- #endif
-diff --git a/lib/Dialect/TritonGPU/Transforms/DecomposeConversions.cpp b/lib/Dialect/TritonGPU/Transforms/DecomposeConversions.cpp
-index 4bd3bc76bf..b2f8defd81 100644
---- a/lib/Dialect/TritonGPU/Transforms/DecomposeConversions.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/DecomposeConversions.cpp
-@@ -1,5 +1,5 @@
- #include "mlir/Analysis/SliceAnalysis.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/IR/BuiltinAttributes.h"
- #include "mlir/IR/Matchers.h"
-diff --git a/lib/Dialect/TritonGPU/Transforms/Pipeline.cpp b/lib/Dialect/TritonGPU/Transforms/Pipeline.cpp
-index 9b2f42231e..85f746c1dc 100644
---- a/lib/Dialect/TritonGPU/Transforms/Pipeline.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/Pipeline.cpp
-@@ -2,6 +2,7 @@
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/IR/TypeUtilities.h"
- #include "triton/Analysis/AxisInfo.h"
-+#include "triton/Analysis/Utility.h"
- #include "triton/Dialect/TritonGPU/IR/Dialect.h"
- #include "triton/Dialect/TritonGPU/Transforms/Passes.h"
- 
-@@ -160,15 +161,18 @@ ttg::AllocTensorOp LoopPipeliner::allocateEmptyBuffer(Operation *op,
- LogicalResult LoopPipeliner::initialize() {
-   Block *loop = forOp.getBody();
- 
--  AxisInfoAnalysis axisInfoAnalysis(forOp.getContext());
--  axisInfoAnalysis.run(forOp->getParentOfType<ModuleOp>());
-+  std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+  AxisInfoAnalysis *axisInfoAnalysis = solver->load<AxisInfoAnalysis>();
-+  if (failed(solver->initializeAndRun(forOp->getParentOfType<ModuleOp>()))) {
-+    return failure();
-+  }
- 
-   // can we use forOp.walk(...) here?
-   SmallVector<triton::LoadOp, 2> allLoads;
-   for (Operation &op : *loop)
-     if (auto loadOp = dyn_cast<triton::LoadOp>(&op)) {
-       auto ptr = loadOp.ptr();
--      unsigned vec = axisInfoAnalysis.getPtrContiguity(ptr);
-+      unsigned vec = axisInfoAnalysis->getPtrContiguity(ptr);
-       auto tensorTy = ptr.getType().dyn_cast<RankedTensorType>();
-       if (!tensorTy)
-         continue;
-diff --git a/lib/Dialect/TritonGPU/Transforms/ReorderInstructions.cpp b/lib/Dialect/TritonGPU/Transforms/ReorderInstructions.cpp
-index 0e7dbe5264..b95a4f50a6 100644
---- a/lib/Dialect/TritonGPU/Transforms/ReorderInstructions.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/ReorderInstructions.cpp
-@@ -1,5 +1,5 @@
- #include "mlir/Analysis/SliceAnalysis.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/IR/BuiltinAttributes.h"
- #include "mlir/IR/Matchers.h"
-diff --git a/lib/Dialect/TritonGPU/Transforms/TritonGPUConversion.cpp b/lib/Dialect/TritonGPU/Transforms/TritonGPUConversion.cpp
-index 37ac710995..762e887f36 100644
---- a/lib/Dialect/TritonGPU/Transforms/TritonGPUConversion.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/TritonGPUConversion.cpp
-@@ -82,12 +82,12 @@ TritonGPUConversionTarget::TritonGPUConversionTarget(
-                scf::ReduceReturnOp>();
- 
-   addDynamicallyLegalDialect<arith::ArithmeticDialect, math::MathDialect,
--                             triton::TritonDialect, StandardOpsDialect,
--                             scf::SCFDialect>([&](Operation *op) {
--    if (typeConverter.isLegal(op))
--      return true;
--    return false;
--  });
-+                             triton::TritonDialect, scf::SCFDialect>(
-+      [&](Operation *op) {
-+        if (typeConverter.isLegal(op))
-+          return true;
-+        return false;
-+      });
- 
-   // We have requirements for the data layouts
-   addDynamicallyLegalOp<triton::DotOp>([](triton::DotOp dotOp) -> bool {
-diff --git a/lib/Dialect/TritonGPU/Transforms/UpdateMmaForVolta.cpp b/lib/Dialect/TritonGPU/Transforms/UpdateMmaForVolta.cpp
-index c229104286..c911fd4a5c 100644
---- a/lib/Dialect/TritonGPU/Transforms/UpdateMmaForVolta.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/UpdateMmaForVolta.cpp
-@@ -1,5 +1,5 @@
- #include "Utility.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/Matchers.h"
- #include "mlir/IR/PatternMatch.h"
- #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
-@@ -118,8 +118,8 @@ void setOpResultType(Operation *op, ArrayRef<Type> newTypes) {
-                     .get("value")
-                     .dyn_cast<mlir::DenseElementsAttr>();
-     if (attr) {
--      auto newAttr = mlir::DenseElementsAttr::getFromRawBuffer(
--          newType, attr.getRawData(), true);
-+      auto newAttr =
-+          mlir::DenseElementsAttr::getFromRawBuffer(newType, attr.getRawData());
-       op->setAttr("value", newAttr);
-     }
-   }
-diff --git a/lib/Dialect/TritonGPU/Transforms/Utility.cpp b/lib/Dialect/TritonGPU/Transforms/Utility.cpp
-index ed15f02f67..6400f1633a 100644
---- a/lib/Dialect/TritonGPU/Transforms/Utility.cpp
-+++ b/lib/Dialect/TritonGPU/Transforms/Utility.cpp
-@@ -1,5 +1,5 @@
- #include "Utility.h"
--#include "mlir/Dialect/SCF/SCF.h"
-+#include "mlir/Dialect/SCF/IR/SCF.h"
- #include "mlir/IR/BlockAndValueMapping.h"
- #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
- 
-diff --git a/lib/Target/LLVMIR/CMakeLists.txt b/lib/Target/LLVMIR/CMakeLists.txt
-index f1bbd0bf4e..ac8973ad19 100644
---- a/lib/Target/LLVMIR/CMakeLists.txt
-+++ b/lib/Target/LLVMIR/CMakeLists.txt
-@@ -6,8 +6,7 @@ add_mlir_translation_library(TritonLLVMIR
- 
-         LINK_LIBS PUBLIC
-         MLIRIR
--        MLIRLLVMIR
--        MLIRSCFToStandard
-+        MLIRLLVMDialect
-         MLIRSupport
-         MLIRTargetLLVMIRExport
-         )
-diff --git a/lib/Target/PTX/PTXTranslation.cpp b/lib/Target/PTX/PTXTranslation.cpp
-index 4cb0d8193c..6a5453a6e7 100644
---- a/lib/Target/PTX/PTXTranslation.cpp
-+++ b/lib/Target/PTX/PTXTranslation.cpp
-@@ -1,11 +1,14 @@
- #include "triton/Target/PTX/PTXTranslation.h"
- #include "triton/Target/LLVMIR/LLVMIRTranslation.h"
-+#include <optional>
- 
- #include "llvm/IR/IRBuilder.h"
- #include "llvm/IR/LegacyPassManager.h"
- #include "llvm/IR/Module.h"
- #include "llvm/IR/Verifier.h"
- #include "llvm/MC/TargetRegistry.h"
-+#include "llvm/Pass.h"
-+#include "llvm/Support/CommandLine.h"
- #include "llvm/Support/TargetSelect.h"
- #include "llvm/Target/TargetMachine.h"
- 
-diff --git a/python/setup.py b/python/setup.py
-index 2ac3accd25..4530b36714 100644
---- a/python/setup.py
-+++ b/python/setup.py
-@@ -57,19 +57,10 @@ def get_pybind11_package_info():
- def get_llvm_package_info():
-     # download if nothing is installed
-     system = platform.system()
--    if system == "Darwin":
--        system_suffix = "apple-darwin"
--    elif system == "Linux":
--        vglibc = tuple(map(int, platform.libc_ver()[1].split('.')))
--        vglibc = vglibc[0] * 100 + vglibc[1]
--        linux_suffix = 'ubuntu-18.04' if vglibc > 217 else 'centos-7'
--        system_suffix = f"linux-gnu-{linux_suffix}"
--    else:
--        raise RuntimeError(f"unsupported system: {system}")
-+    system_suffix = {"Linux": "linux-gnu-ubuntu-18.04", "Darwin": "apple-darwin"}[system]
-     use_assert_enabled_llvm = check_env_flag("TRITON_USE_ASSERT_ENABLED_LLVM", "False")
--    release_suffix = "assert" if use_assert_enabled_llvm else "release"
--    name = f'llvm+mlir-14.0.6-x86_64-{system_suffix}-{release_suffix}'
--    url = f"https://github.com/ptillet/triton-llvm-releases/releases/download/llvm-14.0.6-f28c006a5895/{name}.tar.xz"
-+    name = 'llvm+mlir-15.0.7-x86_64-{}-{}'.format(system_suffix, "assert" if use_assert_enabled_llvm else "release")
-+    url = "https://github.com/ptillet/triton-llvm-releases/releases/download/llvm-15.0.7-8dfdcc7b7bf6/{}.tar.xz".format(name)
-     return Package("llvm", name, url, "lib", "LLVM_INCLUDE_DIRS", "LLVM_LIBRARY_DIR", "LLVM_SYSPATH")
- 
- 
-diff --git a/python/src/triton.cc b/python/src/triton.cc
-index c40b117a55..f190eacc34 100644
---- a/python/src/triton.cc
-+++ b/python/src/triton.cc
-@@ -8,9 +8,10 @@
- #include "mlir/Pass/PassManager.h"
- #include "mlir/Transforms/Passes.h"
- 
--#include "mlir/Parser.h"
-+#include "mlir/Parser/Parser.h"
- #include "mlir/Support/FileUtilities.h"
- 
-+#include "mlir/Dialect/ControlFlow/IR/ControlFlowOps.h"
- #include "mlir/Dialect/LLVMIR/LLVMDialect.h"
- #include "triton/Analysis/Allocation.h"
- #include "triton/Conversion/TritonGPUToLLVM/TritonGPUToLLVMPass.h"
-@@ -195,7 +196,7 @@ void init_triton_ir(py::module &&m) {
-                std::string attrName = name + "_arg" + std::to_string(id);
-                mlir::Block *owner = arg.getOwner();
-                if (owner->isEntryBlock() &&
--                   !mlir::isa<mlir::FuncOp>(owner->getParentOp())) {
-+                   !mlir::isa<mlir::func::FuncOp>(owner->getParentOp())) {
-                  owner->getParentOp()->setAttr(attrName, attr);
-                }
-              }
-@@ -348,7 +349,7 @@ void init_triton_ir(py::module &&m) {
-              return str;
-            })
-       .def("push_back",
--           [](mlir::ModuleOp &self, mlir::FuncOp &funcOp) -> void {
-+           [](mlir::ModuleOp &self, mlir::func::FuncOp &funcOp) -> void {
-              self.push_back(funcOp);
-            })
-       .def("has_function",
-@@ -358,16 +359,18 @@ void init_triton_ir(py::module &&m) {
-              return false;
-            })
-       .def("get_function",
--           [](mlir::ModuleOp &self, std::string &funcName) -> mlir::FuncOp {
--             return self.lookupSymbol<mlir::FuncOp>(funcName);
--           })
--      .def("get_single_function", [](mlir::ModuleOp &self) -> mlir::FuncOp {
--        llvm::SmallVector<mlir::FuncOp> funcs;
--        self.walk([&](mlir::FuncOp func) { funcs.push_back(func); });
--        if (funcs.size() != 1)
--          throw std::runtime_error("Expected a single function");
--        return funcs[0];
--      });
-+           [](mlir::ModuleOp &self,
-+              std::string &funcName) -> mlir::func::FuncOp {
-+             return self.lookupSymbol<mlir::func::FuncOp>(funcName);
-+           })
-+      .def("get_single_function",
-+           [](mlir::ModuleOp &self) -> mlir::func::FuncOp {
-+             llvm::SmallVector<mlir::func::FuncOp> funcs;
-+             self.walk([&](mlir::func::FuncOp func) { funcs.push_back(func); });
-+             if (funcs.size() != 1)
-+               throw std::runtime_error("Expected a single function");
-+             return funcs[0];
-+           });
- 
-   m.def("make_attr",
-         [](const std::vector<int> &values, mlir::MLIRContext &context) {
-@@ -388,47 +391,48 @@ void init_triton_ir(py::module &&m) {
-         registry.insert<mlir::triton::TritonDialect,
-                         mlir::triton::gpu::TritonGPUDialect,
-                         mlir::math::MathDialect, mlir::arith::ArithmeticDialect,
--                        mlir::StandardOpsDialect, mlir::scf::SCFDialect>();
-+                        mlir::func::FuncDialect, mlir::scf::SCFDialect>();
-         context.appendDialectRegistry(registry);
-         context.loadAllAvailableDialects();
- 
-         // parse module
--        mlir::OwningOpRef<mlir::ModuleOp> module(
--            mlir::parseSourceFile(inputFilename, &context));
-+        mlir::OwningOpRef<mlir::ModuleOp> module =
-+            mlir::parseSourceFile<mlir::ModuleOp>(inputFilename, &context);
-+        if (!module)
-+          throw std::runtime_error("Parse MLIR file failed.");
-         // locations are incompatible with ptx < 7.5 !
-         module->walk([](mlir::Operation *op) {
-           op->setLoc(mlir::UnknownLoc::get(op->getContext()));
-         });
--        if (!module)
--          throw std::runtime_error("Parse MLIR file failed.");
- 
-         return module->clone();
-       },
-       ret::take_ownership);
- 
--  py::class_<mlir::FuncOp, mlir::OpState>(m, "function")
-+  py::class_<mlir::func::FuncOp, mlir::OpState>(m, "function")
-       // .def_property_readonly("attrs", &ir::function::attrs)
-       // .def("add_attr", &ir::function::add_attr);
-       .def("args",
--           [](mlir::FuncOp &self, unsigned idx) -> mlir::BlockArgument {
-+           [](mlir::func::FuncOp &self, unsigned idx) -> mlir::BlockArgument {
-              return self.getArgument(idx);
-            })
-       .def(
-           "add_entry_block",
--          [](mlir::FuncOp &self) -> mlir::Block * {
-+          [](mlir::func::FuncOp &self) -> mlir::Block * {
-             return self.addEntryBlock();
-           },
-           ret::reference)
-       .def(
-           "set_arg_attr",
--          [](mlir::FuncOp &self, int arg_no, const std::string &name, int val) {
-+          [](mlir::func::FuncOp &self, int arg_no, const std::string &name,
-+             int val) {
-             // set arg attributes "name" to value "val"
-             auto attrTy = mlir::IntegerType::get(self.getContext(), 32);
-             self.setArgAttr(arg_no, name, mlir::IntegerAttr::get(attrTy, val));
-           },
-           ret::reference)
--      .def_property_readonly("type", &mlir::FuncOp::getType)
--      .def("reset_type", &mlir::FuncOp::setType);
-+      .def_property_readonly("type", &mlir::func::FuncOp::getFunctionType)
-+      .def("reset_type", &mlir::func::FuncOp::setType);
- 
-   py::class_<mlir::OpBuilder::InsertPoint>(m, "InsertPoint");
- 
-@@ -445,13 +449,13 @@ void init_triton_ir(py::module &&m) {
-       .def("ret",
-            [](mlir::OpBuilder &self, std::vector<mlir::Value> &vals) -> void {
-              auto loc = self.getUnknownLoc();
--             self.create<mlir::ReturnOp>(loc, vals);
-+             self.create<mlir::func::ReturnOp>(loc, vals);
-            })
-       .def("call",
--           [](mlir::OpBuilder &self, mlir::FuncOp &func,
-+           [](mlir::OpBuilder &self, mlir::func::FuncOp &func,
-               std::vector<mlir::Value> &args) -> mlir::OpState {
-              auto loc = self.getUnknownLoc();
--             return self.create<mlir::CallOp>(loc, func, args);
-+             return self.create<mlir::func::CallOp>(loc, func, args);
-            })
-       // insertion block/point
-       .def("set_insertion_point_to_start",
-@@ -618,15 +622,16 @@ void init_triton_ir(py::module &&m) {
-       .def("get_or_insert_function",
-            [](mlir::OpBuilder &self, mlir::ModuleOp &module,
-               std::string &funcName, mlir::Type &funcType,
--              std::string &visibility) -> mlir::FuncOp {
-+              std::string &visibility) -> mlir::func::FuncOp {
-              if (mlir::Operation *funcOperation = module.lookupSymbol(funcName))
--               return llvm::dyn_cast<mlir::FuncOp>(funcOperation);
-+               return llvm::dyn_cast<mlir::func::FuncOp>(funcOperation);
-              auto loc = self.getUnknownLoc();
-              if (auto funcTy = funcType.dyn_cast<mlir::FunctionType>()) {
-                llvm::SmallVector<mlir::NamedAttribute> attrs = {
-                    mlir::NamedAttribute(self.getStringAttr("sym_visibility"),
-                                         self.getStringAttr(visibility))};
--               return self.create<mlir::FuncOp>(loc, funcName, funcTy, attrs);
-+               return self.create<mlir::func::FuncOp>(loc, funcName, funcTy,
-+                                                      attrs);
-              }
-              throw std::runtime_error("invalid function type");
-            })
-@@ -658,15 +663,15 @@ void init_triton_ir(py::module &&m) {
-            [](mlir::OpBuilder &self, mlir::Value condition,
-               mlir::Block *trueDest, mlir::Block *falseDest) {
-              auto loc = self.getUnknownLoc();
--             self.create<mlir::CondBranchOp>(loc, condition, trueDest,
--                                             falseDest);
-+             self.create<mlir::cf::CondBranchOp>(loc, condition, trueDest,
-+                                                 falseDest);
-              return;
-            })
-       .def("create_branch",
-            [](mlir::OpBuilder &self, mlir::Block *dest,
-               std::vector<mlir::Value> &args) {
-              auto loc = self.getUnknownLoc();
--             self.create<mlir::BranchOp>(loc, dest, args);
-+             self.create<mlir::cf::BranchOp>(loc, dest, args);
-              return;
-            })
-       // Structured control flow
-@@ -792,14 +797,14 @@ void init_triton_ir(py::module &&m) {
-       .def("create_to_index",
-            [](mlir::OpBuilder &self, mlir::Value &input) -> mlir::Value {
-              auto loc = self.getUnknownLoc();
--             return self.create<mlir::arith::IndexCastOp>(loc, input,
--                                                          self.getIndexType());
-+             return self.create<mlir::arith::IndexCastOp>(
-+                 loc, self.getIndexType(), input);
-            })
-       .def("create_index_to_si",
-            [](mlir::OpBuilder &self, mlir::Value &input) -> mlir::Value {
-              auto loc = self.getUnknownLoc();
--             return self.create<mlir::arith::IndexCastOp>(loc, input,
--                                                          self.getI32Type());
-+             return self.create<mlir::arith::IndexCastOp>(
-+                 loc, self.getI32Type(), input);
-            })
-       .def("create_fmul",
-            [](mlir::OpBuilder &self, mlir::Value &lhs,
-@@ -1316,8 +1321,8 @@ void init_triton_ir(py::module &&m) {
-            [](mlir::OpBuilder &self, mlir::Value &condition,
-               mlir::Value &trueValue, mlir::Value &falseValue) -> mlir::Value {
-              auto loc = self.getUnknownLoc();
--             return self.create<mlir::SelectOp>(loc, condition, trueValue,
--                                                falseValue);
-+             return self.create<mlir::arith::SelectOp>(loc, condition,
-+                                                       trueValue, falseValue);
-            })
-       .def("create_printf",
-            [](mlir::OpBuilder &self, const std::string &prefix,
-@@ -1429,7 +1434,7 @@ void init_triton_ir(py::module &&m) {
-              self.addPass(mlir::triton::createConvertTritonGPUToLLVMPass());
-            })
-       .def("add_scf_to_cfg", [](mlir::PassManager &self) {
--        self.addPass(mlir::createLowerToCFGPass());
-+        self.addPass(mlir::createConvertSCFToCFPass());
-       });
- }
- 
-diff --git a/python/test/unit/language/test_core.py b/python/test/unit/language/test_core.py
-index 432544a8a4..018f544714 100644
---- a/python/test/unit/language/test_core.py
-+++ b/python/test/unit/language/test_core.py
-@@ -1918,7 +1918,7 @@ def test_convert2d(dtype, shape, src_layout, dst_layout, device='cuda'):
- #dst = {dst_layout}
- """ + """
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func public @kernel_0d1d(%arg0: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-+  func.func public @kernel_0d1d(%arg0: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-     %cst = arith.constant dense<128> : tensor<128x1xi32, #src>
-     %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32, #triton_gpu.slice<{dim = 1, parent = #src}>>
-     %1 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32, #triton_gpu.slice<{dim = 0, parent = #src}>>
-diff --git a/python/triton/compiler.py b/python/triton/compiler.py
-index 5d167634df..c36589037c 100644
---- a/python/triton/compiler.py
-+++ b/python/triton/compiler.py
-@@ -1514,14 +1514,14 @@ def make_hash(fn, **kwargs):
-     return hashlib.md5((Path(fn).read_text() + triton.runtime.jit.version_key()).encode("utf-8")).hexdigest()
- 
- 
--# - ^\s*func\s+ : match the start of the string, any leading whitespace, the keyword func,
-+# - ^\s*func\.func\s+ : match the start of the string, any leading whitespace, the keyword func,
- #    and any following whitespace
- # - (public\s+)? : optionally match the keyword public and any following whitespace
- # - (@\w+) : match an @ symbol followed by one or more word characters
- #   (letters, digits, or underscores), and capture it as group 1 (the function name)
- # - (\((?:%\w+: \S+(?: \{\S+ = \S+ : \S+\})?(?:, )?)*\)) : match a pair of parentheses enclosing
- #   zero or more arguments separated by commas, and capture it as group 2 (the argument list)
--mlir_prototype_pattern = r'^\s*func\s+(?:public\s+)?(@\w+)(\((?:%\w+: \S+(?: \{\S+ = \S+ : \S+\})?(?:, )?)*\))\s*\{\s*$'
-+mlir_prototype_pattern = r'^\s*func\.func\s+(?:public\s+)?(@\w+)(\((?:%\w+: \S+(?: \{\S+ = \S+ : \S+\})?(?:, )?)*\))\s*\{\s*$'
- ptx_prototype_pattern = r"\.(?:visible|extern)\s+\.(?:entry|func)\s+(\w+)\s*\(([^)]*)\)"
- prototype_pattern = {
-     "ttir": mlir_prototype_pattern,
-diff --git a/test/Analysis/test-alias.mlir b/test/Analysis/test-alias.mlir
-index b3d5673f85..bb21615e68 100644
---- a/test/Analysis/test-alias.mlir
-+++ b/test/Analysis/test-alias.mlir
-@@ -11,7 +11,7 @@
- 
- // CHECK-LABEL: matmul_loop
- // There shouldn't be any aliasing with the dot op encoding.
--func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_ptr_init = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-   %b_ptr_init = tt.broadcast %B : (!tt.ptr<f16>) -> tensor<32x128x!tt.ptr<f16>, #BL>
-   %a_mask = arith.constant dense<true> : tensor<128x32xi1, #AL>
-@@ -36,7 +36,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B
- }
- 
- // CHECK-LABEL: alloc
--func @alloc(%A : !tt.ptr<f16>) {
-+func.func @alloc(%A : !tt.ptr<f16>) {
-   // CHECK: %cst -> %cst
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #AL>
-@@ -46,7 +46,7 @@ func @alloc(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: convert
--func @convert(%A : !tt.ptr<f16>) {
-+func.func @convert(%A : !tt.ptr<f16>) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-   // CHECK: %0 -> %0
-   %cst1 = triton_gpu.convert_layout %cst0 : (tensor<16x16xf16, #AL>) -> tensor<16x16xf16, #A_SHARED>
-@@ -54,7 +54,7 @@ func @convert(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: trans
--func @trans(%A : !tt.ptr<f16>) {
-+func.func @trans(%A : !tt.ptr<f16>) {
-   // CHECK: %cst -> %cst
-   %tensor = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #A_SHARED>
-   // CHECK: %0 -> %cst
-@@ -63,7 +63,7 @@ func @trans(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: insert_slice_async
--func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -76,7 +76,7 @@ func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
- }
- 
- // CHECK-LABEL: insert_slice
--func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -90,7 +90,7 @@ func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
- }
- 
- // CHECK-LABEL: extract_slice
--func @extract_slice(%A : !tt.ptr<f16>) {
-+func.func @extract_slice(%A : !tt.ptr<f16>) {
-   // CHECK: %cst -> %cst
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<1x16x16xf16, #A_SHARED>
-   %index = arith.constant 0 : index
-@@ -100,7 +100,7 @@ func @extract_slice(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: if_cat
--func @if_cat(%i1 : i1) {
-+func.func @if_cat(%i1 : i1) {
-   // CHECK: %cst -> %cst
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK: %cst_0 -> %cst_0
-@@ -119,7 +119,7 @@ func @if_cat(%i1 : i1) {
- }
- 
- // CHECK-LABEL: if_alias
--func @if_alias(%i1 : i1) {
-+func.func @if_alias(%i1 : i1) {
-   // CHECK: %cst -> %cst
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: %cst_0 -> %cst_0
-@@ -134,7 +134,7 @@ func @if_alias(%i1 : i1) {
- }
- 
- // CHECK-LABEL: for
--func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   // CHECK: %cst -> %cst
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: %cst_0 -> %cst_0
-@@ -154,7 +154,7 @@ func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.p
- }
- 
- // CHECK-LABEL: for_if
--func @for_if(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_if(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: %cst -> %cst
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: %cst_0 -> %cst_0
-@@ -180,7 +180,7 @@ func @for_if(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !t
- }
- 
- // CHECK-LABEL: for_if_for
--func @for_if_for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_if_for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: %cst -> %cst
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: %cst_0 -> %cst_0
-diff --git a/test/Analysis/test-alignment.mlir b/test/Analysis/test-alignment.mlir
-index 0ab34c7a78..af8ea6f856 100644
---- a/test/Analysis/test-alignment.mlir
-+++ b/test/Analysis/test-alignment.mlir
-@@ -1,288 +1,288 @@
--// RUN: triton-opt %s -test-print-alignment -split-input-file 2>&1 | FileCheck %s
-+// RUN: triton-opt %s -test-print-alignment -split-input-file -o %t 2>&1 | FileCheck %s
- 
--// CHECK-LABEL: cast
--func @cast() {
--  // CHECK: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [1]
-+// CHECK-LABEL: @cast
-+func.func @cast() {
-+  // CHECK: contiguity = [1], divisibility = [1], constancy = [1], constant_value = 1
-   %cst = arith.constant 1 : i32
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = 1
-   %0 = arith.extsi %cst : i32 to i64
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %cst_tensor = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = tt.bitcast %cst_tensor : tensor<128xi32> -> tensor<128xi64>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: add
--func @add() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @add
-+func.func @add() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1], constancy = [1], constant_value = <none>
-   %2 = arith.addi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [127]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 127
-   %3 = arith.constant dense<127> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %4 = arith.addi %1, %3 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: sub
--func @sub() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @sub
-+func.func @sub() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1], constancy = [1], constant_value = <none>
-   %2 = arith.subi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [129]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 129
-   %3 = arith.constant dense<129> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %4 = arith.subi %3, %1 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: mul
--func @mul() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @mul
-+func.func @mul() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %2 = arith.muli %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %3 = arith.constant dense<128> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %4 = arith.muli %3, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [2] ; Constancy: [128] ; ConstantValue: [2]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [2], constancy = [128], constant_value = 2
-   %5 = arith.constant dense<2> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [256] ; Constancy: [128] ; ConstantValue: [256]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [256], constancy = [128], constant_value = 256
-   %6 = arith.muli %4, %5 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: div
--func @div() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @div
-+func.func @div() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %2 = arith.divsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %3 = arith.divui %1, %0 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %4 = arith.constant dense<64> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16777216] ; Constancy: [64] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16777216], constancy = [64], constant_value = <none>
-   %5 = arith.divsi %0, %4 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %6 = arith.divsi %4, %0 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %7 = arith.divsi %4, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [2] ; Constancy: [128] ; ConstantValue: [66]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [2], constancy = [128], constant_value = 66
-   %8 = arith.constant dense<66> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [2] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [2], constant_value = <none>
-   %9 = arith.divui %0, %8 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [8192] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [8192], constancy = [1], constant_value = <none>
-   %10 = tt.make_range {end = 8320 : i32, start = 8192 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [64] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [64], constant_value = <none>
-   %11 = arith.divsi %10, %4 : tensor<128xi32>
--  return 
-+  return
- }
- 
- // -----
- 
--// CHECK-LABEL: rem
--func @rem() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @rem
-+func.func @rem() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 1
-   %1 = arith.constant dense<1> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-   %2 = arith.remsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %3 = arith.remui %1, %0 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %4 = arith.constant dense<64> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [64] ; Divisibility: [64] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [64], divisibility = [64], constancy = [1], constant_value = <none>
-   %5 = arith.remsi %0, %4 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [1], constant_value = <none>
-   %6 = arith.remsi %4, %0 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [2] ; Constancy: [128] ; ConstantValue: [66]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [2], constancy = [128], constant_value = 66
-   %7 = arith.constant dense<66> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [2] ; Divisibility: [2] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [2], divisibility = [2], constancy = [1], constant_value = <none>
-   %8 = arith.remui %0, %7 : tensor<128xi32>
--  return 
-+  return
- }
- 
- // -----
- 
--// CHECK-LABEL: broadcast
--func @broadcast() {
--  // CHECK: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+// CHECK-LABEL: @broadcast
-+func.func @broadcast() {
-+  // CHECK: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %0 = arith.constant dense<64> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [64, 1] ; Constancy: [128, 1] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [64, 1], constancy = [128, 1], constant_value = 64
-   %1 = tt.expand_dims %0 {axis = 1 : i32} : (tensor<128xi32>) -> tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [64, 1] ; Constancy: [128, 128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [64, 1], constancy = [128, 128], constant_value = 64
-   %2 = tt.broadcast %1 : (tensor<128x1xi32>) -> tensor<128x128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: splat
--func @splat(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
--  // CHECK: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [128, 128] ; ConstantValue: [None]
-+// CHECK-LABEL: @splat
-+func.func @splat(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-+  // CHECK: contiguity = [1, 1], divisibility = [16, 16], constancy = [128, 128], constant_value = <none>
-   %0 = tt.splat %arg0 : (!tt.ptr<f32>) -> tensor<128x128x!tt.ptr<f32>>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: cmp
--func @cmp() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @cmp
-+func.func @cmp() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-   %1 = arith.constant dense<0> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %2 = arith.cmpi eq, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %3 = arith.cmpi slt, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %4 = arith.cmpi sle, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %5 = arith.cmpi sge, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [8] ; Constancy: [128] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [8], constancy = [128], constant_value = 8
-   %6 = arith.constant dense<8> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [8], constant_value = <none>
-   %7 = arith.cmpi sgt, %0, %6 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = 0
-   %8 = arith.cmpi sgt, %1, %6 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: logic
--func @logic() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @logic
-+func.func @logic() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [64] ; Constancy: [128] ; ConstantValue: [64]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [64], constancy = [128], constant_value = 64
-   %1 = arith.constant dense<64> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16777216] ; Constancy: [64] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16777216], constancy = [64], constant_value = <none>
-   %2 = arith.divsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [8] ; Constancy: [128] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [8], constancy = [128], constant_value = 8
-   %3 = arith.constant dense<8> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [134217728] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [134217728], constancy = [8], constant_value = <none>
-   %4 = arith.divsi %0, %3 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %5 = arith.andi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %6 = arith.ori %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %7 = arith.xori %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [8], constant_value = <none>
-   %8 = arith.andi %2, %4 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [8], constant_value = <none>
-   %9 = arith.ori %2, %4 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [8] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [8], constant_value = <none>
-   %10 = arith.xori %2, %4 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: select
--func @select() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @select
-+func.func @select() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-   %1 = arith.constant dense<0> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %2 = arith.cmpi eq, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %3 = arith.cmpi slt, %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [1] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [1], constant_value = 0
-   %4 = arith.constant 0 : i1
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-   %7 = tt.splat %4 : (i1) -> tensor<128xi1>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [128] ; ConstantValue: [0]
--  %5 = select %4, %3, %7 : tensor<128xi1>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [128], constant_value = 0
-+  %5 = arith.select %4, %3, %7 : tensor<128xi1>
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [128], constant_value = <none>
-   %8 = "triton_gpu.select"(%7, %3, %2) : (tensor<128xi1>, tensor<128xi1>, tensor<128xi1>) -> tensor<128xi1>
-   return
- }
- 
- // -----
- 
--func @shift() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+func.func @shift() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [8] ; Constancy: [128] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [8], constancy = [128], constant_value = 8
-   %1 = arith.constant dense<8> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4] ; Constancy: [128] ; ConstantValue: [4]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4], constancy = [128], constant_value = 4
-   %2 = arith.constant dense<4> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [274877906944] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [274877906944], constancy = [1], constant_value = <none>
-   %3 = arith.shli %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [67108864] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [67108864], constancy = [1], constant_value = <none>
-   %4 = arith.shrsi %0, %2 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = 128
-   %5 = arith.shli %1, %2 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--func @max_min() {
--  // CHECK: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+func.func @max_min() {
-+  // CHECK: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [64] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [64], constancy = [1], constant_value = <none>
-   %1 = tt.make_range {end = 192 : i32, start = 64 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %2 = arith.maxsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %3 = arith.minsi %0, %1 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [8] ; Constancy: [128] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [8], constancy = [128], constant_value = 8
-   %4 = arith.constant dense<8> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4] ; Constancy: [128] ; ConstantValue: [4]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4], constancy = [128], constant_value = 4
-   %5 = arith.constant dense<4> : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [8]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = 8
-   %6 = arith.maxsi %4, %5 : tensor<128xi32>
-   return
- }
- 
- // -----
- 
--// CHECK-LABEL: for
--func @for() {
--  // CHECK: Contiguity: [1, 1] ; Divisibility: [4611686018427387904, 4611686018427387904] ; Constancy: [128, 32] ; ConstantValue: [0]
-+// CHECK-LABEL: @for
-+func.func @for() {
-+  // CHECK: contiguity = [1, 1], divisibility = [4611686018427387904, 4611686018427387904], constancy = [128, 32], constant_value = 0
-   %a_init = arith.constant dense<0> : tensor<128x32xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [128, 32] ; ConstantValue: [1]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [1, 1], constancy = [128, 32], constant_value = 1
-   %b_init = arith.constant dense<1> : tensor<128x32xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [4, 4] ; Constancy: [128, 32] ; ConstantValue: [4]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [4, 4], constancy = [128, 32], constant_value = 4
-   %c_init = arith.constant dense<4> : tensor<128x32xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [1] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [1], constant_value = 128
-   %ub = arith.constant 128 : index
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [4611686018427387904] ; Constancy: [1] ; ConstantValue: [0]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [4611686018427387904], constancy = [1], constant_value = 0
-   %lb = arith.constant 0 : index
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16] ; Constancy: [1] ; ConstantValue: [16]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16], constancy = [1], constant_value = 16
-   %step = arith.constant 16 : index
-   %a, %b, %c = scf.for %iv = %lb to %ub step %step iter_args(%a = %a_init, %b = %b_init, %c = %c_init) -> (tensor<128x32xi32>, tensor<128x32xi32>, tensor<128x32xi32>) {
--    // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16] ; Constancy: [1] ; ConstantValue: [None]
-+    // CHECK-NEXT: contiguity = [1], divisibility = [16], constancy = [1], constant_value = <none>
-     %t = arith.index_cast %iv : index to i32
--    // CHECK: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [128, 32] ; ConstantValue: [None]
--    // CHECK: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [128, 32] ; ConstantValue: [None]
--    // CHECK: Contiguity: [1, 1] ; Divisibility: [4, 4] ; Constancy: [128, 32] ; ConstantValue: [4]
-+    // CHECK: contiguity = [1, 1], divisibility = [1, 1], constancy = [128, 32], constant_value = <none>
-+    // CHECK: contiguity = [1, 1], divisibility = [1, 1], constancy = [128, 32], constant_value = <none>
-+    // CHECK: contiguity = [1, 1], divisibility = [4, 4], constancy = [128, 32], constant_value = 4
-     scf.yield %b, %a, %c : tensor<128x32xi32>, tensor<128x32xi32>, tensor<128x32xi32>
-   }
-   return
-@@ -290,53 +290,53 @@ func @for() {
- 
- // -----
- 
--// CHECK-LABEL: permute_2d
--func @permute_2d(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32 {tt.divisibility = 16 : i32}) {
--  // CHECK: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [128, 128] ; ConstantValue: [1]
-+// CHECK-LABEL: @permute_2d
-+func.func @permute_2d(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32 {tt.divisibility = 16 : i32}) {
-+  // CHECK: contiguity = [1, 1], divisibility = [1, 1], constancy = [128, 128], constant_value = 1
-   %cst = arith.constant dense<true> : tensor<128x128xi1>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [1, 1], constancy = [1, 1], constant_value = <none>
-   %cst_0 = arith.constant dense<0.000000e+00> : tensor<128x128xf32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %0 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %1 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [1073741824, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [1073741824, 1], constancy = [1, 1], constant_value = <none>
-   %2 = tt.expand_dims %0 {axis = 1 : i32} : (tensor<128xi32>) -> tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [128, 1], constant_value = <none>
-   %3 = tt.splat %arg1 : (i32) -> tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [17179869184, 16] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [17179869184, 16], constancy = [1, 1], constant_value = <none>
-   %4 = arith.muli %2, %3 : tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [128, 1], constant_value = <none>
-   %5 = tt.splat %arg0 : (!tt.ptr<f32>) -> tensor<128x1x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [1, 1], constant_value = <none>
-   %6 = tt.addptr %5, %4 : tensor<128x1x!tt.ptr<f32>>, tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 128] ; Divisibility: [1, 1073741824] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 128], divisibility = [1, 1073741824], constancy = [1, 1], constant_value = <none>
-   %7 = tt.expand_dims %1 {axis = 0 : i32}: (tensor<128xi32>) -> tensor<1x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [1, 128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [1, 128], constant_value = <none>
-   %8 = tt.broadcast %6 : (tensor<128x1x!tt.ptr<f32>>) -> tensor<128x128x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [1, 128] ; Divisibility: [1, 1073741824] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 128], divisibility = [1, 1073741824], constancy = [128, 1], constant_value = <none>
-   %9 = tt.broadcast %7 : (tensor<1x128xi32>) -> tensor<128x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 128] ; Divisibility: [1, 16] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 128], divisibility = [1, 16], constancy = [1, 1], constant_value = <none>
-   %10 = tt.addptr %8, %9 : tensor<128x128x!tt.ptr<f32>>, tensor<128x128xi32>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [1073741824, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [1073741824, 1], constancy = [1, 1], constant_value = <none>
-   %11 = tt.expand_dims %0 {axis = 1 : i32}: (tensor<128xi32>) -> tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [128, 1], constant_value = <none>
-   %12 = tt.splat %arg2 : (!tt.ptr<f32>) -> tensor<128x1x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [16, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [16, 1], constancy = [1, 1], constant_value = <none>
-   %13 = tt.addptr %12, %11 : tensor<128x1x!tt.ptr<f32>>, tensor<128x1xi32>
--  // CHECK-NEXT: Contiguity: [1, 128] ; Divisibility: [1, 1073741824] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 128], divisibility = [1, 1073741824], constancy = [1, 1], constant_value = <none>
-   %14 = tt.expand_dims %1 {axis = 0 : i32} : (tensor<128xi32>) -> tensor<1x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 16] ; Constancy: [1, 128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 16], constancy = [1, 128], constant_value = <none>
-   %15 = tt.splat %arg3 : (i32) -> tensor<1x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 17179869184] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 17179869184], constancy = [1, 1], constant_value = <none>
-   %16 = arith.muli %14, %15 : tensor<1x128xi32>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [16, 1] ; Constancy: [1, 128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [16, 1], constancy = [1, 128], constant_value = <none>
-   %17 = tt.broadcast %13 : (tensor<128x1x!tt.ptr<f32>>) -> tensor<128x128x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [16, 17179869184] ; Constancy: [128, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [16, 17179869184], constancy = [128, 1], constant_value = <none>
-   %18 = tt.broadcast %16 : (tensor<1x128xi32>) -> tensor<128x128xi32>
--  // CHECK-NEXT: Contiguity: [128, 1] ; Divisibility: [16, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128, 1], divisibility = [16, 1], constancy = [1, 1], constant_value = <none>
-   %19 = tt.addptr %17, %18 : tensor<128x128x!tt.ptr<f32>>, tensor<128x128xi32>
--  // CHECK-NEXT: Contiguity: [1, 1] ; Divisibility: [1, 1] ; Constancy: [1, 1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1, 1], divisibility = [1, 1], constancy = [1, 1], constant_value = <none>
-   %20 = tt.load %10, %cst, %cst_0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<128x128xf32>
-   tt.store %19, %20, %cst : tensor<128x128xf32>
-   return
-@@ -347,29 +347,29 @@ func @permute_2d(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {t
- module {
- 
- // This is a tiny test for verifying StoreOp-related alignment, It simply store a constant to a buffer.
--// CHECK-LABEL: store_constant_align
--func @store_constant_align(%addr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n: i32 {tt.divisibility = 16 : i32}) {
--  // CHECK: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+// CHECK-LABEL: @store_constant_align
-+func.func @store_constant_align(%addr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n: i32 {tt.divisibility = 16 : i32}) {
-+  // CHECK: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %pid = tt.get_program_id {axis = 0 : i32} : i32
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [1] ; ConstantValue: [128]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [1], constant_value = 128
-   %c128_i32 = arith.constant 128 : i32
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [1], constant_value = <none>
-   %1 = arith.muli %pid, %c128_i32 : i32
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [1073741824] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [1073741824], constancy = [1], constant_value = <none>
-   %2 = tt.make_range {end = 128 : i32, start = 0 : i32} : tensor<128xi32>
-- // CHECK-NEXT: Contiguity: [1] ; Divisibility: [128] ; Constancy: [128] ; ConstantValue: [None]
-+ // CHECK-NEXT: contiguity = [1], divisibility = [128], constancy = [128], constant_value = <none>
-   %3 = tt.splat %1 : (i32) -> tensor<128xi32>
-- // CHECK-NEXT: Contiguity: [128] ; Divisibility: [128] ; Constancy: [1] ; ConstantValue: [None]
-+ // CHECK-NEXT: contiguity = [128], divisibility = [128], constancy = [1], constant_value = <none>
-   %4 = arith.addi %3, %2 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16], constancy = [128], constant_value = <none>
-   %5 = tt.splat %addr : (!tt.ptr<f32>) -> tensor<128x!tt.ptr<f32>>
--  // CHECK-NEXT: Contiguity: [128] ; Divisibility: [16] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [128], divisibility = [16], constancy = [1], constant_value = <none>
-   %6 = tt.addptr %5, %4 : tensor<128x!tt.ptr<f32>>, tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [16] ; Constancy: [128] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [16], constancy = [128], constant_value = <none>
-   %9 = tt.splat %n : (i32) -> tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [16] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [16], constant_value = <none>
-   %mask = arith.cmpi slt, %4, %9 : tensor<128xi32>
--  // CHECK-NEXT: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None]
-+  // CHECK-NEXT: contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %cst = arith.constant dense<0.0> : tensor<128xf32>
-   tt.store %5, %cst, %mask : tensor<128xf32>
-   return
-@@ -381,8 +381,8 @@ func @store_constant_align(%addr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n:
- 
- // This IR is dumped from vecadd test.
- // Note, the hint {tt.divisibility = 16 : i32} for %n_elements affects the alignment of mask.
--// CHECK-LABEL: vecadd_mask_align_16
--func @vecadd_mask_align_16(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32 {tt.divisibility = 16 : i32}) {
-+// CHECK-LABEL: @vecadd_mask_align_16
-+func.func @vecadd_mask_align_16(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32 {tt.divisibility = 16 : i32}) {
-   %c64_i32 = arith.constant 64 : i32
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = arith.muli %0, %c64_i32 : i32
-@@ -394,13 +394,13 @@ func @vecadd_mask_align_16(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %ar
-   %7 = tt.splat %arg1 : (!tt.ptr<f32>) -> tensor<64x!tt.ptr<f32>>
-   %8 = tt.addptr %7, %4 : tensor<64x!tt.ptr<f32>>, tensor<64xi32>
-   %9 = tt.splat %n_elements : (i32) -> tensor<64xi32>
--  // CHECK: Contiguity: [1] ; Divisibility: [1] ; Constancy: [16] ; ConstantValue: [None] ( %{{.*}} = arith.cmpi slt, %{{.*}}, %{{.*}} : tensor<64xi32> )
-+  // CHECK: arith.cmpi slt, %{{.*}} => contiguity = [1], divisibility = [1], constancy = [16], constant_value = <none>
-   %mask = arith.cmpi slt, %4, %9 : tensor<64xi32>
-   %11 = tt.load %6, %mask {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64xf32>
-   %12 = tt.load %8, %mask {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64xf32>
-   %13 = arith.addf %11, %12 : tensor<64xf32>
-   %14 = tt.splat %arg2 : (!tt.ptr<f32>) -> tensor<64x!tt.ptr<f32>>
--  // CHECK: Contiguity: [64] ; Divisibility: [16] ; Constancy: [1] ; ConstantValue: [None] ( %{{.*}} = tt.addptr %{{.*}}, %{{.*}} : tensor<64x!tt.ptr<f32>>, tensor<64xi32> )
-+  // CHECK: tt.addptr %{{.*}} => contiguity = [64], divisibility = [16], constancy = [1], constant_value = <none>
-   %15 = tt.addptr %14, %4 : tensor<64x!tt.ptr<f32>>, tensor<64xi32>
-   tt.store %15, %13, %mask : tensor<64xf32>
-   return
-@@ -410,8 +410,8 @@ func @vecadd_mask_align_16(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %ar
- 
- // This IR is dumped from vecadd test.
- // Note, there is no divisibility hint for %n_elements, Triton should assume its divisibility to be 1 by default.
--// CHECK-LABEL: vecadd_mask_align_1
--func @vecadd_mask_align_1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32) {
-+// CHECK-LABEL: @vecadd_mask_align_1
-+func.func @vecadd_mask_align_1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32) {
-   %c64_i32 = arith.constant 64 : i32
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = arith.muli %0, %c64_i32 : i32
-@@ -423,7 +423,7 @@ func @vecadd_mask_align_1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg
-   %7 = tt.splat %arg1 : (!tt.ptr<f32>) -> tensor<64x!tt.ptr<f32>>
-   %8 = tt.addptr %7, %4 : tensor<64x!tt.ptr<f32>>, tensor<64xi32>
-   %9 = tt.splat %n_elements : (i32) -> tensor<64xi32>
--  // CHECK: Contiguity: [1] ; Divisibility: [1] ; Constancy: [1] ; ConstantValue: [None] ( %{{.*}} = arith.cmpi slt, %{{.*}}, %{{.*}} : tensor<64xi32> )
-+  // CHECK: arith.cmpi slt, %{{.*}} => contiguity = [1], divisibility = [1], constancy = [1], constant_value = <none>
-   %10 = arith.cmpi slt, %4, %9 : tensor<64xi32>
-   %11 = tt.load %6, %10 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64xf32>
-   %12 = tt.load %8, %10 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64xf32>
-diff --git a/test/Analysis/test-allocation.mlir b/test/Analysis/test-allocation.mlir
-index efb00c404d..f79222aa7b 100644
---- a/test/Analysis/test-allocation.mlir
-+++ b/test/Analysis/test-allocation.mlir
-@@ -13,7 +13,7 @@
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
- // CHECK-LABEL: matmul_loop
--func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_ptr_init = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-   %b_ptr_init = tt.broadcast %B : (!tt.ptr<f16>) -> tensor<32x128x!tt.ptr<f16>, #BL>
- 
-@@ -46,7 +46,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B
- 
- // Shared memory is available after a tensor's liveness range ends
- // CHECK-LABEL: reusable
--func @reusable(%A : !tt.ptr<f16>) {
-+func.func @reusable(%A : !tt.ptr<f16>) {
-   %cst1 = arith.constant dense<true> : tensor<128x32xi1, #AL>
-   %cst2 = arith.constant dense<0.000000e+00> : tensor<128x32xf16, #AL>
-   %cst3 = arith.constant dense<true> : tensor<32x128xi1, #AL>
-@@ -78,7 +78,7 @@ func @reusable(%A : !tt.ptr<f16>) {
- // %cst1->%cst4
- // %cst3->%g->%h->%i
- // CHECK-LABEL: preallocate
--func @preallocate(%A : !tt.ptr<f16>) {
-+func.func @preallocate(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 1024, size = 512
-@@ -113,7 +113,7 @@ func @preallocate(%A : !tt.ptr<f16>) {
- 
- // Unused tensors are immediately released
- // CHECK-LABEL: unused
--func @unused(%A : !tt.ptr<f16>) {
-+func.func @unused(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 1024
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<32x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 0, size = 512
-@@ -128,7 +128,7 @@ func @unused(%A : !tt.ptr<f16>) {
- 
- // cst0 is alive through the entire function, it cannot be released before the end of the function
- // CHECK-LABEL: longlive
--func @longlive(%A : !tt.ptr<f16>) {
-+func.func @longlive(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 512, size = 512
-@@ -156,7 +156,7 @@ func @longlive(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: alloc
--func @alloc(%A : !tt.ptr<f16>) {
-+func.func @alloc(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #AL>
-@@ -167,7 +167,7 @@ func @alloc(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: scratch
--func @scratch() {
-+func.func @scratch() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-   // CHECK: scratch offset = 0, size = 512
-   %b = tt.reduce %cst0 {redOp = 1 : i32, axis = 0 : i32} : tensor<16x16xf16, #AL> -> tensor<16xf16, #sliceAd0>
-@@ -176,7 +176,7 @@ func @scratch() {
- }
- 
- // CHECK-LABEL: trans
--func @trans(%A : !tt.ptr<f16>) {
-+func.func @trans(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 1024
-   %tensor = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #A_SHARED>
-   %b = tt.trans %tensor : (tensor<16x32xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED_T>
-@@ -184,7 +184,7 @@ func @trans(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: insert_slice_async
--func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -197,7 +197,7 @@ func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
- }
- 
- // CHECK-LABEL: extract_slice
--func @extract_slice(%A : !tt.ptr<f16>) {
-+func.func @extract_slice(%A : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<1x16x16xf16, #A_SHARED>
-   %index = arith.constant 0 : index
-@@ -209,7 +209,7 @@ func @extract_slice(%A : !tt.ptr<f16>) {
- // B0 -> (B1) -> B0
- // Memory used by B1 can be reused by B0.
- // CHECK-LABEL: if
--func @if(%i1 : i1) {
-+func.func @if(%i1 : i1) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 512, size = 512
-@@ -233,7 +233,7 @@ func @if(%i1 : i1) {
- // B0 -> (B1) -> (B2) -> B0
- // Memory used by B0 cannot be reused by B1 or B2.
- // CHECK-LABEL: if_else
--func @if_else(%i1 : i1) {
-+func.func @if_else(%i1 : i1) {
-   // CHECK: offset = 0, size = 512
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 512, size = 512
-@@ -260,7 +260,7 @@ func @if_else(%i1 : i1) {
- // Block arguments and yields are memory aliases that do not trigger a new
- // allocation.
- // CHECK-LABEL: for
--func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   // CHECK: offset = 0, size = 8192
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 8192, size = 8192
-@@ -275,7 +275,7 @@ func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.p
- }
- 
- // CHECK-LABEL: for_if_slice
--func @for_if_slice(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_if_slice(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: offset = 0, size = 8192
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 8192, size = 8192
-@@ -296,7 +296,7 @@ func @for_if_slice(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %
- 
- // c0 cannot be released in the loop
- // CHECK-LABEL: for_use_ancestor
--func @for_use_ancestor(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_use_ancestor(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: offset = 0, size = 8192
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 8192, size = 8192
-@@ -316,7 +316,7 @@ func @for_use_ancestor(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16
- // a_shared_init, b_shared_init, and c_shared_init's liveness ranges are span over the entire function before cst2.
- // So they cannot be reused by cst0 and cst1, but can be reused by cst2.
- // CHECK-LABEL: for_if_for
--func @for_if_for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-+func.func @for_if_for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>, %i1 : i1) {
-   // CHECK: offset = 0, size = 8192
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: offset = 8192, size = 8192
-diff --git a/test/Analysis/test-membar.mlir b/test/Analysis/test-membar.mlir
-index 7199e5f53d..17880b2094 100644
---- a/test/Analysis/test-membar.mlir
-+++ b/test/Analysis/test-membar.mlir
-@@ -14,7 +14,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
- // CHECK-LABEL: matmul_loop
- // There shouldn't be any membar with the dot op encoding.
--func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_ptr_init = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-   %b_ptr_init = tt.broadcast %B : (!tt.ptr<f16>) -> tensor<32x128x!tt.ptr<f16>, #BL>
- 
-@@ -42,7 +42,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B
- }
- 
- // CHECK-LABEL: raw_single_block
--func @raw_single_block(%A : !tt.ptr<f16>) {
-+func.func @raw_single_block(%A : !tt.ptr<f16>) {
-   %cst1 = arith.constant dense<true> : tensor<128x32xi1, #AL>
-   %cst2 = arith.constant dense<0.000000e+00> : tensor<128x32xf16, #AL>
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-@@ -54,7 +54,7 @@ func @raw_single_block(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: war_single_block
--func @war_single_block(%A : !tt.ptr<f16>) {
-+func.func @war_single_block(%A : !tt.ptr<f16>) {
-   %cst1 = arith.constant dense<true> : tensor<128x32xi1, #AL>
-   %cst2 = arith.constant dense<0.000000e+00> : tensor<128x32xf16, #AL>
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-@@ -70,7 +70,7 @@ func @war_single_block(%A : !tt.ptr<f16>) {
- }
- 
- // CHECK-LABEL: scratch
--func @scratch() {
-+func.func @scratch() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK: Membar 1
-   %a = tt.cat %cst0, %cst0 {axis = 0} : (tensor<16x16xf16, #A_SHARED>, tensor<16x16xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED>
-@@ -81,7 +81,7 @@ func @scratch() {
- }
- 
- // CHECK-LABEL: async_wait
--func @async_wait() {
-+func.func @async_wait() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   // CHECK: Membar 1
-   %a = tt.cat %cst0, %cst0 {axis = 0} : (tensor<16x16xf16, #A_SHARED>, tensor<16x16xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED>
-@@ -92,7 +92,7 @@ func @async_wait() {
- }
- 
- // CHECK-LABEL: alloc
--func @alloc() {
-+func.func @alloc() {
-   %cst0 = triton_gpu.alloc_tensor : tensor<16x16xf16, #A_SHARED>
-   %a = tt.cat %cst0, %cst0 {axis = 0} : (tensor<16x16xf16, #A_SHARED>, tensor<16x16xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED>
-   // CHECK: Membar 2
-@@ -101,7 +101,7 @@ func @alloc() {
- }
- 
- // CHECK-LABEL: extract_slice
--func @extract_slice() {
-+func.func @extract_slice() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<1x16x16xf16, #A_SHARED>
-   %index = arith.constant 0 : index
-   %cst1 = tensor.extract_slice %cst0[%index, 0, 0][1, 16, 16][1, 1, 1] : tensor<1x16x16xf16, #A_SHARED> to tensor<16x16xf16, #A_SHARED>
-@@ -113,14 +113,14 @@ func @extract_slice() {
- }
- 
- // CHECK-LABEL: trans
--func @trans() {
-+func.func @trans() {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x32xf16, #A_SHARED>
-   %b = tt.trans %cst0 : (tensor<16x32xf16, #A_SHARED>) -> tensor<32x16xf16, #A_SHARED_T>
-   return
- }
- 
- // CHECK-LABEL: insert_slice_async
--func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -135,7 +135,7 @@ func @insert_slice_async(%A : !tt.ptr<f16>, %i1 : i1) {
- }
- 
- // CHECK-LABEL: insert_slice
--func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
-+func.func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
-   %a_ptr = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<16x16x!tt.ptr<f16>, #AL>
-   %mask = tt.splat %i1 : (i1) -> tensor<16x16xi1, #AL>
-   %other = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #AL>
-@@ -153,7 +153,7 @@ func @insert_slice(%A : !tt.ptr<f16>, %i1 : i1) {
- 
- // If branch inserted a barrier for %cst0 and %cst1, but else didn't, then the barrier should be inserted in the parent region
- // CHECK-LABEL: multi_blocks
--func @multi_blocks(%i1 : i1) {
-+func.func @multi_blocks(%i1 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   scf.if %i1 {
-@@ -174,7 +174,7 @@ func @multi_blocks(%i1 : i1) {
- 
- // Both branches inserted a barrier for %cst0 and %cst1, then the barrier doesn't need to be inserted in the parent region
- // CHECK-LABEL: multi_blocks_join_barrier
--func @multi_blocks_join_barrier(%i1 : i1) {
-+func.func @multi_blocks_join_barrier(%i1 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   scf.if %i1 {
-@@ -192,7 +192,7 @@ func @multi_blocks_join_barrier(%i1 : i1) {
- 
- // Read yielded tensor requires a barrier
- // CHECK-LABEL: multi_blocks_yield
--func @multi_blocks_yield(%i1 : i1) {
-+func.func @multi_blocks_yield(%i1 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %a = scf.if %i1 -> (tensor<32x16xf16, #A_SHARED>) {
-@@ -212,7 +212,7 @@ func @multi_blocks_yield(%i1 : i1) {
- 
- // Conservatively add a barrier as if the branch (%i1) is never taken
- // CHECK-LABEL: multi_blocks_noelse
--func @multi_blocks_noelse(%i1 : i1) {
-+func.func @multi_blocks_noelse(%i1 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   scf.if %i1 {
-@@ -226,7 +226,7 @@ func @multi_blocks_noelse(%i1 : i1) {
- 
- // Conservatively add a barrier as if the branch (%i2) is never taken
- // CHECK-LABEL: multi_blocks_nested_scf
--func @multi_blocks_nested_scf(%i1 : i1, %i2 : i1) {
-+func.func @multi_blocks_nested_scf(%i1 : i1, %i2 : i1) {
-   %cst0 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   %cst1 = arith.constant dense<0.000000e+00> : tensor<16x16xf16, #A_SHARED>
-   scf.if %i1 {
-@@ -247,7 +247,7 @@ func @multi_blocks_nested_scf(%i1 : i1, %i2 : i1) {
- }
- 
- // CHECK-LABEL: for
--func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %b_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %c_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-@@ -262,7 +262,7 @@ func @for(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.p
- // Although a_shared and b_shared are synced before entering the loop,
- // they are reassociated with aliases (c_shared) and thus require a barrier.
- // CHECK-LABEL: for_alias
--func @for_alias(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for_alias(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %b_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: Membar 2
-@@ -282,7 +282,7 @@ func @for_alias(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B :
- // Although cst2 is not an argument of scf.yield, its memory is reused by cst1.
- // So we need a barrier both before and after cst1
- // CHECK-LABEL: for_reuse
--func @for_reuse(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for_reuse(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %b_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: Membar 2
-@@ -302,7 +302,7 @@ func @for_reuse(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B :
- 
- 
- // CHECK-LABEL: for_reuse_nested
--func @for_reuse_nested(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @for_reuse_nested(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   %b_shared_init = arith.constant dense<0.00e+00> : tensor<128x32xf16, #A_SHARED>
-   // CHECK-NEXT: Membar 2
-diff --git a/test/Conversion/triton_ops.mlir b/test/Conversion/triton_ops.mlir
-index e9ee502435..0e979b148d 100644
---- a/test/Conversion/triton_ops.mlir
-+++ b/test/Conversion/triton_ops.mlir
-@@ -1,6 +1,6 @@
- // RUN: triton-opt %s | FileCheck %s
- 
--func @cast_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_f32: f32, %scalar_i64: i64) {
-+func.func @cast_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_f32: f32, %scalar_i64: i64) {
-   // scalar -> scalar
-   // CHECK:  i64 -> !tt.ptr<f32>
-   %0 = tt.int_to_ptr %scalar_i64 : i64 -> !tt.ptr<f32>
-@@ -35,7 +35,7 @@ func @cast_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_f32: f32, %scalar_i64: i64) {
-   return
- }
- 
--func @addptr_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_i32: i32) {
-+func.func @addptr_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_i32: i32) {
-   // scalar -> scalar
-   // CHECK: !tt.ptr<f32>
-   %0 = tt.addptr %scalar_ptr, %scalar_i32 : !tt.ptr<f32>, i32
-@@ -54,7 +54,7 @@ func @addptr_ops(%scalar_ptr: !tt.ptr<f32>, %scalar_i32: i32) {
-   return
- }
- 
--func @load_store_ops_scalar(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %mask : i1) {
-+func.func @load_store_ops_scalar(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %mask : i1) {
-   // Test if Load/Store ops can handle scalar values
-   %other = arith.constant 0.0e+0 : f32
- 
-@@ -76,7 +76,7 @@ func @load_store_ops_scalar(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %ma
-   return
- }
- 
--func @reduce_ops_infer(%ptr: !tt.ptr<f32>, %v : tensor<1x2x4xf32>) {
-+func.func @reduce_ops_infer(%ptr: !tt.ptr<f32>, %v : tensor<1x2x4xf32>) {
-   // Test if reduce ops infer types correctly
- 
-   // CHECK: %{{.*}} = tt.reduce %{{.*}} -> tensor<2x4xf32>
-@@ -101,7 +101,7 @@ func @reduce_ops_infer(%ptr: !tt.ptr<f32>, %v : tensor<1x2x4xf32>) {
-   return
- }
- 
--func @dot_ops_infer(%ptr: !tt.ptr<f32>, %v : f32) {
-+func.func @dot_ops_infer(%ptr: !tt.ptr<f32>, %v : f32) {
-   // Test if reduce ops infer types correctly
-   %v128x32 = tt.splat %v : (f32) -> tensor<128x32xf32>
-   %v32x128 = tt.splat %v : (f32) -> tensor<32x128xf32>
-diff --git a/test/Conversion/triton_to_tritongpu.mlir b/test/Conversion/triton_to_tritongpu.mlir
-index a160bc8815..b461ca542f 100644
---- a/test/Conversion/triton_to_tritongpu.mlir
-+++ b/test/Conversion/triton_to_tritongpu.mlir
-@@ -1,6 +1,6 @@
- // RUN: triton-opt %s -split-input-file -convert-triton-to-tritongpu=num-warps=2 | FileCheck %s
- 
--func @ops() {
-+func.func @ops() {
-   // CHECK: module attributes {"triton_gpu.num-warps" = 2 : i32} {{.*}}
-   %a = arith.constant dense<1.00e+00> : tensor<128x32xf16>
-   %b = arith.constant dense<2.00e+00> : tensor<32x128xf16>
-@@ -11,7 +11,7 @@ func @ops() {
- 
- // -----
- 
--func @load_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-+func.func @load_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-   // Test if LoadOp is lowered properly (see #771)
-   %ptrs = tt.splat %ptr : (!tt.ptr<f32>) -> tensor<128x!tt.ptr<f32>>
-   %mask = arith.constant dense<true> : tensor<128xi1>
-@@ -30,7 +30,7 @@ func @load_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
- 
- // -----
- 
--func @reduce_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-+func.func @reduce_ops(%ptr: !tt.ptr<f32> {tt.divisibility = 16 : i32}) {
-   // Test if the total number of threadsPerWarp is 32
-   // Test if the total number of warps is 2
-   // CHECK: #blocked0 = #triton_gpu.blocked<{sizePerThread = [1, 1], threadsPerWarp = [4, 8], warpsPerCTA = [1, 2], order = [0, 1]}>
-diff --git a/test/Conversion/tritongpu_to_llvm.mlir b/test/Conversion/tritongpu_to_llvm.mlir
-index e9e7d5a340..507b362c99 100644
---- a/test/Conversion/tritongpu_to_llvm.mlir
-+++ b/test/Conversion/tritongpu_to_llvm.mlir
-@@ -4,7 +4,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK: llvm.func @test_empty_kernel(%arg0: i32, %arg1: !llvm.ptr<f16, 1>)
-   // Here the 128 comes from the 4 in module attribute multiples 32
-   // CHECK:  attributes {nvvm.kernel = 1 : ui1, nvvm.maxntid = 128 : i32} {{.*}}
--  func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
-+  func.func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
-     // CHECK:  llvm.return
-     return
-   }
-@@ -15,7 +15,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_load
--  func @basic_load(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf32, #blocked0>) {
-+  func.func @basic_load(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf32, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK: llvm.inline_asm
-     %1 = tt.load %a_ptr_init, %cst, %cst_0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<256xf32, #blocked0>
-@@ -28,7 +28,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [2], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: vectorized_load
--  func @vectorized_load(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf32, #blocked0>) {
-+  func.func @vectorized_load(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf32, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK-SAME: ld.global.b32
-     // CHECK: llvm.inline_asm
-@@ -43,7 +43,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [8], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: vectorized_load_f16
--  func @vectorized_load_f16(%a_ptr_init: tensor<256x!tt.ptr<f16>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf16, #blocked0>) {
-+  func.func @vectorized_load_f16(%a_ptr_init: tensor<256x!tt.ptr<f16>, #blocked0>, %cst : tensor<256xi1, #blocked0>, %cst_0 : tensor<256xf16, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK-SAME: ld.global.b16
-     // CHECK: llvm.inline_asm
-@@ -59,7 +59,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [8], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: masked_load_const_other
--  func @masked_load_const_other(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>) {
-+  func.func @masked_load_const_other(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>) {
-     %cst_0 = arith.constant dense<0.000000e+00> : tensor<256xf32, #blocked0>
-     %1 = tt.load %a_ptr_init, %cst, %cst_0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<256xf32, #blocked0>
-     return
-@@ -72,7 +72,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [4], threadsPerWarp = [32], warpsPerCTA = [8], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: masked_load_const_other_vec
--  func @masked_load_const_other_vec(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>) {
-+  func.func @masked_load_const_other_vec(%a_ptr_init : tensor<256x!tt.ptr<f32>, #blocked0>, %cst : tensor<256xi1, #blocked0>) {
-     %cst_0 = arith.constant dense<0.000000e+00> : tensor<256xf32, #blocked0>
-     %1 = tt.load %a_ptr_init, %cst, %cst_0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<256xf32, #blocked0>
-     return
-@@ -84,7 +84,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [2], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 2 : i32} {
-   // CHECK-LABEL: global_load_store_no_vec
--  func @global_load_store_no_vec(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg3: i32) {
-+  func.func @global_load_store_no_vec(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 4 : i32}, %arg3: i32) {
-     %c256_i32 = arith.constant 256 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -128,7 +128,7 @@ module attributes {"triton_gpu.num-warps" = 2 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [4], threadsPerWarp = [32], warpsPerCTA = [2], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 2 : i32} {
-   // CHECK-LABEL: global_load_store_vec4
--  func @global_load_store_vec4(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-+  func.func @global_load_store_vec4(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-     %c256_i32 = arith.constant 256 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -165,7 +165,7 @@ module attributes {"triton_gpu.num-warps" = 2 : i32} {
- #blocked = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [2], order = [0]}>
- // Note, the %n_elements doesn't have a "tt.divisibility" hint, so Triton assumes it's divisibility is 1, this should effect the mask's alignment and further restrict the load/store ops' vector width to be 1.
- module attributes {"triton_gpu.num-warps" = 2 : i32} {
--  func @vecadd_masked_vec1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32) {
-+  func.func @vecadd_masked_vec1(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %n_elements: i32) {
-     %c64_i32 = arith.constant 64 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c64_i32 : i32
-@@ -195,7 +195,7 @@ module attributes {"triton_gpu.num-warps" = 2 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [8], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: global_load_store_vec2
--    func @global_load_store_vec2(%arg0: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg3: i32) {
-+    func.func @global_load_store_vec2(%arg0: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 8 : i32}, %arg3: i32) {
-     %c256_i32 = arith.constant 256 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -240,7 +240,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [8], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: global_load_store_vec8
--    func @global_load_store_vec8(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-+    func.func @global_load_store_vec8(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-     %c256_i32 = arith.constant 256 : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -283,7 +283,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked2 = #triton_gpu.blocked<{sizePerThread = [1, 1], threadsPerWarp = [32, 1], warpsPerCTA = [4, 1], order = [0, 1]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_view_broadcast
--  func @basic_view_broadcast(%arg : tensor<256xf32,#blocked0>) {
-+  func.func @basic_view_broadcast(%arg : tensor<256xf32,#blocked0>) {
-     // CHECK: llvm.mlir.undef
-     // CHECK: %[[T0:.*]] = llvm.extractvalue
-     // CHECK: %[[T1:.*]] = llvm.extractvalue
-@@ -307,7 +307,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [2], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_make_range
--  func @basic_make_range() {
-+  func.func @basic_make_range() {
-     // CHECK: nvvm.read.ptx.sreg.tid.x
-     // CHECK: llvm.mlir.undef
-     // CHECK: llvm.insertvalue
-@@ -322,7 +322,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_addf
--  func @basic_addf(%arg0 : tensor<256xf32,#blocked0>, %arg1 : tensor<256xf32,#blocked0>) {
-+  func.func @basic_addf(%arg0 : tensor<256xf32,#blocked0>, %arg1 : tensor<256xf32,#blocked0>) {
-     // CHECK: llvm.fadd
-     // CHECK: llvm.fadd
-     %1 = arith.addf %arg0, %arg1 : tensor<256xf32,#blocked0>
-@@ -335,7 +335,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_addi
--  func @basic_addi(%arg0 : tensor<256xi32,#blocked0>, %arg1 : tensor<256xi32,#blocked0>) {
-+  func.func @basic_addi(%arg0 : tensor<256xi32,#blocked0>, %arg1 : tensor<256xi32,#blocked0>) {
-     // CHECK: llvm.add
-     // CHECK: llvm.add
-     %1 = arith.addi %arg0, %arg1 : tensor<256xi32,#blocked0>
-@@ -347,7 +347,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_program_id
--  func @basic_program_id() {
-+  func.func @basic_program_id() {
-     // CHECK: nvvm.read.ptx.sreg.ctaid.x : i32
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     return
-@@ -359,7 +359,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_addptr
--  func @basic_addptr(%arg0 : tensor<256x!tt.ptr<f32>,#blocked0>, %arg1 : tensor<256xi32,#blocked0>) {
-+  func.func @basic_addptr(%arg0 : tensor<256x!tt.ptr<f32>,#blocked0>, %arg1 : tensor<256xi32,#blocked0>) {
-     // CHECK: llvm.getelementptr
-     // CHECK: llvm.getelementptr
-     %0 = tt.addptr %arg0, %arg1 : tensor<256x!tt.ptr<f32>, #blocked0>, tensor<256xi32, #blocked0>
-@@ -373,7 +373,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem
-   // CHECK-LABEL: basic_alloc_tensor
--  func @basic_alloc_tensor() {
-+  func.func @basic_alloc_tensor() {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK-NEXT: llvm.bitcast
-     // CHECK-NEXT: llvm.mlir.constant
-@@ -390,7 +390,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem
-   // CHECK-LABEL: basic_extract_slice
--  func @basic_extract_slice() {
-+  func.func @basic_extract_slice() {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK: llvm.extractvalue
-     // CHECK-NEXT: llvm.extractvalue
-@@ -423,7 +423,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_async_wait
--  func @basic_async_wait() {
-+  func.func @basic_async_wait() {
-     // CHECK: cp.async.wait_group 0x4
-     triton_gpu.async_wait {num = 4: i32}
-     return
-@@ -442,7 +442,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #A = #triton_gpu.shared<{vec = 8, perPhase = 1, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_insert_slice_async_fallback
--  func @basic_insert_slice_async_fallback(%arg0: !tt.ptr<f16> {tt.divisibility = 1 : i32}) {
-+  func.func @basic_insert_slice_async_fallback(%arg0: !tt.ptr<f16> {tt.divisibility = 1 : i32}) {
-     %off0_ = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #slice2d1>
-     %off1_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<64xi32, #slice3d0>
-     %off0 = tt.expand_dims %off0_ {axis = 1 : i32} : (tensor<16xi32, #slice2d1>) -> tensor<16x1xi32, #block2>
-@@ -481,7 +481,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #A = #triton_gpu.shared<{vec = 8, perPhase = 1, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_insert_slice_async_v4
--  func @basic_insert_slice_async_v4(%arg0: !tt.ptr<f32> {tt.divisibility = 32 : i32}) {
-+  func.func @basic_insert_slice_async_v4(%arg0: !tt.ptr<f32> {tt.divisibility = 32 : i32}) {
-     %off0_ = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #slice2d1>
-     %off1_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<64xi32, #slice3d0>
-     %off0 = tt.expand_dims %off0_ {axis = 1 : i32} : (tensor<16xi32, #slice2d1>) -> tensor<16x1xi32, #block2>
-@@ -523,7 +523,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #A = #triton_gpu.shared<{vec = 1, perPhase = 1, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_insert_slice_async_v1
--  func @basic_insert_slice_async_v1(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}) {
-+  func.func @basic_insert_slice_async_v1(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}) {
-     %off0_ = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #slice2d1>
-     %off1_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32, #slice3d0>
-     %off0 = tt.expand_dims %off0_ {axis = 1 : i32} : (tensor<16xi32, #slice2d1>) -> tensor<16x1xi32, #block2>
-@@ -568,7 +568,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #A = #triton_gpu.shared<{vec = 1, perPhase = 1, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_insert_slice_async_v1_multictas
--  func @basic_insert_slice_async_v1_multictas(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}) {
-+  func.func @basic_insert_slice_async_v1_multictas(%arg0: !tt.ptr<f32> {tt.divisibility = 4 : i32}) {
-     %off0_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32, #slice2d1>
-     %off1_ = tt.make_range {end = 32 : i32, start = 0 : i32} : tensor<32xi32, #slice3d0>
-     %off0 = tt.expand_dims %off0_ {axis = 1 : i32} : (tensor<32xi32, #slice2d1>) -> tensor<32x1xi32, #block2>
-@@ -619,7 +619,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK: basic_splat
--  func @basic_splat(%ptr: !tt.ptr<f32>) {
-+  func.func @basic_splat(%ptr: !tt.ptr<f32>) {
-     // CHECK: llvm.mlir.undef
-     // CHECK: llvm.insertvalue
-     // CHECK: llvm.insertvalue
-@@ -633,7 +633,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: basic_store
--  func @basic_store(%ptrs: tensor<256x!tt.ptr<f32>, #blocked0>, %vals: tensor<256xf32, #blocked0>, %mask: tensor<256xi1, #blocked0>) {
-+  func.func @basic_store(%ptrs: tensor<256x!tt.ptr<f32>, #blocked0>, %vals: tensor<256xf32, #blocked0>, %mask: tensor<256xi1, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK-SAME: st.global.b32 [ ${{.*}} + 0 ], { ${{.*}} };
-     // CHECK: llvm.inline_asm
-@@ -650,7 +650,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_blocked_blocked
--  func @convert_layout_blocked_blocked(%arg0: tensor<16x16xf32, #blocked0>) {
-+  func.func @convert_layout_blocked_blocked(%arg0: tensor<16x16xf32, #blocked0>) {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<1xf32>, 3>
-@@ -697,7 +697,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_blocked_blocked_vec
--  func @convert_layout_blocked_blocked_vec(%arg0: tensor<16x16xf32, #blocked0>) {
-+  func.func @convert_layout_blocked_blocked_vec(%arg0: tensor<16x16xf32, #blocked0>) {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<4xf32>, 3>
-@@ -720,7 +720,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_blocked_blocked_multi_rep
--  func @convert_layout_blocked_blocked_multi_rep(%arg0: tensor<16x16xf32, #blocked0>) {
-+  func.func @convert_layout_blocked_blocked_multi_rep(%arg0: tensor<16x16xf32, #blocked0>) {
-     // CHECK: llvm.mlir.addressof @global_smem
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<4xf32>, 3>
-@@ -751,7 +751,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#mma0}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: convert_dot
--  func @convert_dot(%A: tensor<16x16xf16, #blocked0>, %B: tensor<16x16xf16, #blocked0>) {
-+  func.func @convert_dot(%A: tensor<16x16xf16, #blocked0>, %B: tensor<16x16xf16, #blocked0>) {
-     %AA = triton_gpu.convert_layout %A : (tensor<16x16xf16, #blocked0>) -> tensor<16x16xf16, #shared0>
-     %BB = triton_gpu.convert_layout %B : (tensor<16x16xf16, #blocked0>) -> tensor<16x16xf16, #shared0>
-     // CHECK: llvm.inline_asm
-@@ -775,7 +775,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- // TODO: problems in MLIR's parser on slice layout
- // #blocked0 = #triton_gpu.blocked<{sizePerThread = [1, 4], threadsPerWarp = [8, 4], warpsPerCTA = [1, 1], order = [1, 0]}>
- // module attributes {"triton_gpu.num-warps" = 1 : i32} {
--//   func @make_range_sliced_layout() {
-+//   func.func @make_range_sliced_layout() {
- //     %0 = tt.make_range {end = 16 : i32, start = 0 : i32} : tensor<16xi32, #triton_gpu.slice<{dim = 0, parent = #blocked0}>>
- //     return
- //   }
-@@ -788,7 +788,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_mmav2_block
--  func @convert_layout_mmav2_blocked(%arg0: tensor<32x16xf32, #mma>) {
-+  func.func @convert_layout_mmav2_blocked(%arg0: tensor<32x16xf32, #mma>) {
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<2xf32>, 3>
-     // CHECK: llvm.store
-@@ -808,7 +808,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_mmav1_block
--  func @convert_layout_mmav1_blocked(%arg0: tensor<32x64xf32, #mma>) {
-+  func.func @convert_layout_mmav1_blocked(%arg0: tensor<32x64xf32, #mma>) {
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<2xf32>, 3>
-     // CHECK: llvm.store
-@@ -831,7 +831,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK: llvm.mlir.global external @global_smem() {addr_space = 3 : i32} : !llvm.array<0 x i8>
-   // CHECK-LABEL: convert_layout_blocked_shared
--  func @convert_layout_blocked_shared(%arg0: tensor<128x32xf32, #blocked0>) {
-+  func.func @convert_layout_blocked_shared(%arg0: tensor<128x32xf32, #blocked0>) {
-     // CHECK: llvm.store
-     // CHECK-SAME: !llvm.ptr<vector<8xf32>, 3>
-     // CHECK: llvm.store
-@@ -847,7 +847,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked1 = #triton_gpu.blocked<{sizePerThread = [1, 4], threadsPerWarp = [4, 8], warpsPerCTA = [1, 1], order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: convert_blocked1d_to_slice0
--  func @convert_blocked1d_to_slice0(%src:tensor<32xi32, #blocked0>) {
-+  func.func @convert_blocked1d_to_slice0(%src:tensor<32xi32, #blocked0>) {
-     // CHECK-COUNT-4: llvm.load {{.*}} : !llvm.ptr<vector<1xi32>, 3>
-     %cvt = triton_gpu.convert_layout %src : (tensor<32xi32, #blocked0>) -> tensor<32xi32, #triton_gpu.slice<{dim = 0, parent = #blocked1}>>
-     return
-@@ -860,7 +860,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked1 = #triton_gpu.blocked<{sizePerThread = [1, 4], threadsPerWarp = [4, 8], warpsPerCTA = [1, 1], order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: convert_blocked1d_to_slice1
--  func @convert_blocked1d_to_slice1(%src:tensor<32xi32, #blocked0>) {
-+  func.func @convert_blocked1d_to_slice1(%src:tensor<32xi32, #blocked0>) {
-     // CHECK-COUNT-32: llvm.load {{.*}} : !llvm.ptr<vector<1xi32>, 3>
-     %cvt = triton_gpu.convert_layout %src : (tensor<32xi32, #blocked0>) -> tensor<32xi32, #triton_gpu.slice<{dim = 1, parent = #blocked1}>>
-     return
-@@ -873,7 +873,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #blocked1 = #triton_gpu.blocked<{sizePerThread = [4], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: convert_blocked_to_blocked_ptr
--  func @convert_blocked_to_blocked_ptr(%src:tensor<32x!tt.ptr<f32>, #blocked0>) {
-+  func.func @convert_blocked_to_blocked_ptr(%src:tensor<32x!tt.ptr<f32>, #blocked0>) {
-     // CHECK: llvm.ptrtoint
-     // CHECK: llvm.store
-     // CHECK: nvvm.barrier0
-@@ -892,7 +892,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #dot_operand_a = #triton_gpu.dot_op<{opIdx=0, parent=#mma}>
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#mma}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func @matmul_kernel_dot_operand_layout(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-+  func.func @matmul_kernel_dot_operand_layout(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-   %a:tensor<128x32xf16, #shared>, %b:tensor<32x256xf16, #shared>) {
-     %cst = arith.constant dense<0.000000e+00> : tensor<128x256xf32, #mma>
-     // CHECK: ldmatrix.sync.aligned.m8n8.x4.shared.b16
-@@ -918,7 +918,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #dot_operand_a = #triton_gpu.dot_op<{opIdx=0, parent=#mma, isMMAv1Row=true}>
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#mma, isMMAv1Row=true}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func @matmul884_kernel_dot_operand_layout(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-+  func.func @matmul884_kernel_dot_operand_layout(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-   %a:tensor<32x64xf16, #shared0>, %b:tensor<64x64xf16, #shared1>) {
-     %cst = arith.constant dense<0.000000e+00> : tensor<32x64xf32, #mma>
-     // CHECK: ldmatrix.sync.aligned.m8n8.x4.shared.b16
-@@ -941,7 +941,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #dot_operand_a = #triton_gpu.dot_op<{opIdx=0, parent=#blocked}>
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#blocked}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func @matmul_fmadot(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-+  func.func @matmul_fmadot(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-   %a:tensor<32x16xf32, #shared>, %b:tensor<16x32xf32, #shared>) {
-     %cst = arith.constant dense<0.000000e+00> : tensor<32x32xf32, #blocked>
-     // CHECK: llvm.intr.fmuladd
-@@ -965,7 +965,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #dot_operand_b = #triton_gpu.dot_op<{opIdx=1, parent=#mma}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: matmul_tf32dot
--  func @matmul_tf32dot(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-+  func.func @matmul_tf32dot(%ptr:!tt.ptr<f32> {tt.divisibility = 16 : i32},
-   %a:tensor<32x16xf32, #shared>, %b:tensor<16x32xf32, #shared>) {
-     %cst = arith.constant dense<0.000000e+00> : tensor<32x32xf32, #mma>
-     // CHECK: llvm.inline_asm
-@@ -1000,7 +1000,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: atomic_add_f32
--  func @atomic_add_f32(%arg0 : tensor<256x!tt.ptr<f32>, #blocked0>, %arg1 : tensor<256xi1, #blocked0>, %arg2 : tensor<256xf32, #blocked0>) {
-+  func.func @atomic_add_f32(%arg0 : tensor<256x!tt.ptr<f32>, #blocked0>, %arg1 : tensor<256xi1, #blocked0>, %arg2 : tensor<256xf32, #blocked0>) {
-     // CHECK: llvm.inline_asm
-     // CHECK-SAME: atom.global.gpu.add.f32
-     %0 = "tt.atomic_rmw" (%arg0, %arg2, %arg1) {atomic_rmw_op = 5 : i32} : (tensor<256x!tt.ptr<f32>, #blocked0>, tensor<256xf32, #blocked0>, tensor<256xi1, #blocked0>) -> tensor<256xf32, #blocked0>
-@@ -1012,7 +1012,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
--func @test_get_program_id(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
-+func.func @test_get_program_id(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
-   %blockidx = tt.get_program_id {axis=0:i32} : i32
-   %blockidy = tt.get_program_id {axis=1:i32} : i32
-   %blockidz = tt.get_program_id {axis=2:i32} : i32
-@@ -1032,7 +1032,7 @@ func @test_get_program_id(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
- // -----
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [1], threadsPerWarp = [32], warpsPerCTA = [4], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
--  func @test_get_num_program(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
-+  func.func @test_get_num_program(%a: tensor<32x!tt.ptr<i32>, #blocked0>) {
-     // CHECK: nvvm.read.ptx.sreg.nctaid.x
-     // CHECK: nvvm.read.ptx.sreg.nctaid.y
-     // CHECK: nvvm.read.ptx.sreg.nctaid.z
-@@ -1052,7 +1052,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #blocked0 = #triton_gpu.blocked<{sizePerThread = [2], threadsPerWarp = [32], warpsPerCTA = [1], order = [0]}>
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
-   // CHECK-LABEL: test_index_cache
--  func @test_index_cache() {
-+  func.func @test_index_cache() {
-     // CHECK: nvvm.read.ptx.sreg.tid.x
-     %0 = tt.make_range {end = 256 : i32, start = 0 : i32} : tensor<256xi32, #blocked0>
-     // CHECK-NOT: nvvm.read.ptx.sreg.tid.x
-@@ -1066,7 +1066,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- #shared0 = #triton_gpu.shared<{vec = 8, perPhase = 2, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: test_base_index_cache
--  func @test_base_index_cache(%arg0: tensor<128x32xf32, #blocked0>) {
-+  func.func @test_base_index_cache(%arg0: tensor<128x32xf32, #blocked0>) {
-     // CHECK: nvvm.read.ptx.sreg.tid.x
-     %0 = triton_gpu.convert_layout %arg0 : (tensor<128x32xf32, #blocked0>) -> tensor<128x32xf32, #shared0>
-     // CHECK-NOT: nvvm.read.ptx.sreg.tid.x
-@@ -1080,7 +1080,7 @@ module attributes {"triton_gpu.num-warps" = 1 : i32} {
- #shared0 = #triton_gpu.shared<{vec = 8, perPhase = 2, maxPhase = 4, order = [1, 0]}>
- module attributes {"triton_gpu.num-warps" = 1 : i32} {
-   // CHECK-LABEL: test_index_cache_different_block
--  func @test_index_cache_different_block(%arg0: tensor<128x32xf32, #blocked0>, %arg1: i1) {
-+  func.func @test_index_cache_different_block(%arg0: tensor<128x32xf32, #blocked0>, %arg1: i1) {
-     // CHECK: nvvm.read.ptx.sreg.tid.x
-     %0 = triton_gpu.convert_layout %arg0 : (tensor<128x32xf32, #blocked0>) -> tensor<128x32xf32, #shared0>
-     scf.if %arg1 {
-diff --git a/test/Target/tritongpu_to_llvmir.mlir b/test/Target/tritongpu_to_llvmir.mlir
-index cafff3ca60..114d3a9eb2 100644
---- a/test/Target/tritongpu_to_llvmir.mlir
-+++ b/test/Target/tritongpu_to_llvmir.mlir
-@@ -4,11 +4,11 @@
- // CHECK-LABEL: ; ModuleID = 'LLVMDialectModule'
- // CHECK: define void @test_empty_kernel
- // CHECK: !nvvm.annotations
--// CHECK: !{void (i32, half addrspace(1)*)* @test_empty_kernel, !"maxntidx", i32 128}
-+// CHECK: !{ptr @test_empty_kernel, !"maxntidx", i32 128}
- 
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
--func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
-+func.func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
- 
-   return
- }
-diff --git a/test/Target/tritongpu_to_ptx.mlir b/test/Target/tritongpu_to_ptx.mlir
-index 404e970a29..12742ad9e2 100644
---- a/test/Target/tritongpu_to_ptx.mlir
-+++ b/test/Target/tritongpu_to_ptx.mlir
-@@ -6,7 +6,7 @@
- 
- module attributes {"triton_gpu.num-warps" = 4 : i32} {
- 
--func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
-+func.func @test_empty_kernel(%lb : index, %A : !tt.ptr<f16>) {
- 
-   return
- }
-diff --git a/test/Triton/combine.mlir b/test/Triton/combine.mlir
-index 050a3f7565..5ef6790e69 100644
---- a/test/Triton/combine.mlir
-+++ b/test/Triton/combine.mlir
-@@ -2,10 +2,10 @@
- // RUN: triton-opt %s -split-input-file -canonicalize -triton-combine | FileCheck %s
- 
- // CHECK-LABEL: @test_combine_dot_add_pattern
--func @test_combine_dot_add_pattern() -> (tensor<128x128xf32>, tensor<128x128xf32>) {
--    // CHECK: %[[d:.*]] = arith.constant dense<3.000000e+00> : tensor<128x128xf32>
--    // CHECK: %[[b:.*]] = arith.constant dense<2.000000e+00> : tensor<128x128xf32>
--    // CHECK: %[[a:.*]] = arith.constant dense<1.000000e+00> : tensor<128x128xf32>
-+func.func @test_combine_dot_add_pattern() -> (tensor<128x128xf32>, tensor<128x128xf32>) {
-+    // CHECK-DAG: %[[d:.*]] = arith.constant dense<3.000000e+00> : tensor<128x128xf32>
-+    // CHECK-DAG: %[[b:.*]] = arith.constant dense<2.000000e+00> : tensor<128x128xf32>
-+    // CHECK-DAG: %[[a:.*]] = arith.constant dense<1.000000e+00> : tensor<128x128xf32>
-     %a = arith.constant dense<1.0> : tensor<128x128xf32>
-     %b = arith.constant dense<2.0> : tensor<128x128xf32>
-     %zero = arith.constant dense<0.0> : tensor<128x128xf32>
-@@ -24,7 +24,7 @@ func @test_combine_dot_add_pattern() -> (tensor<128x128xf32>, tensor<128x128xf32
- 
- 
- // COM: CHECK-LABEL: @test_combine_addptr_pattern
--func @test_combine_addptr_pattern(%base: !tt.ptr<f32>) -> tensor<8x!tt.ptr<f32>> {
-+func.func @test_combine_addptr_pattern(%base: !tt.ptr<f32>) -> tensor<8x!tt.ptr<f32>> {
-     %off0 = arith.constant 10 : i32
-     %off1 = arith.constant 15 : i32
- 
-@@ -47,46 +47,46 @@ func @test_combine_addptr_pattern(%base: !tt.ptr<f32>) -> tensor<8x!tt.ptr<f32>>
- 
- 
- // CHECK-LABEL: @test_combine_select_masked_load_pattern
--func @test_combine_select_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %cond: i1) -> (tensor<8xf32>, tensor<8xf32>) {
-+func.func @test_combine_select_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %cond: i1) -> (tensor<8xf32>, tensor<8xf32>) {
-     %mask = tt.broadcast %cond : (i1) -> tensor<8xi1>
-     %false_val = arith.constant dense<0.0> : tensor<8xf32>
- 
-     // CHECK: %[[res1:.*]] = tt.load %{{.*}}, %{{.*}}, %{{.*}} {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
-     %x = tt.load %ptr, %mask, %false_val {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
--    %0 = select %cond, %x, %false_val : tensor<8xf32>
-+    %0 = arith.select %cond, %x, %false_val : tensor<8xf32>
- 
-     // CHECK: %[[res2:.*]] = tt.load %{{.*}}, %{{.*}}, %{{.*}} {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
-     %y = tt.load %ptr, %mask, %false_val {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
--    %1 = select %cond, %y, %false_val : tensor<8xf32>
-+    %1 = arith.select %cond, %y, %false_val : tensor<8xf32>
- 
-     // CHECK: return %[[res1]], %[[res2]] : tensor<8xf32>, tensor<8xf32>
-     return %0, %1 : tensor<8xf32>, tensor<8xf32>
- }
- 
- // CHECK-LABEL: @test_combine_select_masked_load_fail_pattern
--func @test_combine_select_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %dummy_load: tensor<8xf32>, %dummy_broadcast: tensor<8xi1>, %cond0: i1, %cond1: i1) -> (tensor<8xf32>, tensor<8xf32>, tensor<8xf32>) {
-+func.func @test_combine_select_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %dummy_load: tensor<8xf32>, %dummy_broadcast: tensor<8xi1>, %cond0: i1, %cond1: i1) -> (tensor<8xf32>, tensor<8xf32>, tensor<8xf32>) {
-     %false_val = arith.constant dense<0.0> : tensor<8xf32>
- 
-     // Case 1: value at the "load" position is not an "op".  Select should not be canonicalized.
--    // CHECK: %{{.*}} = select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
--    %0 = select %cond0, %dummy_load, %false_val : tensor<8xf32>
-+    // CHECK: %{{.*}} = arith.select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
-+    %0 = arith.select %cond0, %dummy_load, %false_val : tensor<8xf32>
- 
-     // Case 2: value at the "broadcast" position is not an "op".  Select should not be canonicalized.
-     %real_load0 = tt.load %ptr, %dummy_broadcast, %false_val {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
--    // CHECK: %{{.*}} = select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
--    %1 = select %cond0, %real_load0, %false_val : tensor<8xf32>
-+    // CHECK: %{{.*}} = arith.select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
-+    %1 = arith.select %cond0, %real_load0, %false_val : tensor<8xf32>
- 
-     // Case 3: condition of "broadcast" is not the same as the condition of "select".  Select should not be canonicalized.
-     %cond0_ = tt.broadcast %cond0 : (i1) -> tensor<8xi1>
-     %real_load1 = tt.load %ptr, %cond0_, %false_val {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<8xf32>
--    // CHECK: %{{.*}} = select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
--    %2 = select %cond1, %real_load1, %false_val : tensor<8xf32>
-+    // CHECK: %{{.*}} = arith.select %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
-+    %2 = arith.select %cond1, %real_load1, %false_val : tensor<8xf32>
- 
-     return %0, %1, %2 : tensor<8xf32>, tensor<8xf32>, tensor<8xf32>
- }
- 
- // CHECK-LABEL: @test_combine_broadcast_constant_pattern
--func @test_combine_broadcast_constant_pattern(%cst : f32) -> tensor<8x2xf32> {
-+func.func @test_combine_broadcast_constant_pattern(%cst : f32) -> tensor<8x2xf32> {
-     // CHECK: %[[cst:.*]] = arith.constant dense<1.000000e+00> : tensor<8x2xf32>
-     %const = arith.constant dense<1.0> : tensor<8xf32>
-     %bst_out = tt.broadcast %const : (tensor<8xf32>) -> tensor<8x2xf32>
-@@ -96,7 +96,7 @@ func @test_combine_broadcast_constant_pattern(%cst : f32) -> tensor<8x2xf32> {
- }
- 
- // CHECK-LABEL: @test_canonicalize_masked_load_pattern
--func @test_canonicalize_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>) -> (tensor<8xf32>, tensor<8xf32>, tensor<8xf32>) {
-+func.func @test_canonicalize_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>) -> (tensor<8xf32>, tensor<8xf32>, tensor<8xf32>) {
-     %true_mask = arith.constant dense<true> : tensor<8xi1>
-     %false_mask = arith.constant dense<false> : tensor<8xi1>
-     %other_val = arith.constant dense<0.0> : tensor<8xf32>
-@@ -117,7 +117,7 @@ func @test_canonicalize_masked_load_pattern(%ptr: tensor<8x!tt.ptr<f32>>) -> (te
- }
- 
- // CHECK-LABEL: @test_canonicalize_masked_load_fail_pattern
--func @test_canonicalize_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %mask: tensor<8xi1>) -> (tensor<8xf32>, tensor<8xf32>) {
-+func.func @test_canonicalize_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %mask: tensor<8xi1>) -> (tensor<8xf32>, tensor<8xf32>) {
-     %other_val = arith.constant dense<0.0> : tensor<8xf32>
- 
-     // Case: value at the "mask" position is not an "op".  Load should not be canonicalized.
-@@ -130,7 +130,7 @@ func @test_canonicalize_masked_load_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %
- }
- 
- // CHECK-LABEL: @test_canonicalize_masked_store_pattern
--func @test_canonicalize_masked_store_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val: tensor<8xf32>) {
-+func.func @test_canonicalize_masked_store_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val: tensor<8xf32>) {
-     %true_mask = arith.constant dense<true> : tensor<8xi1>
-     %false_mask = arith.constant dense<false> : tensor<8xi1>
- 
-@@ -144,7 +144,7 @@ func @test_canonicalize_masked_store_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val:
- }
- 
- // CHECK-LABEL: @test_canonicalize_masked_store_fail_pattern
--func @test_canonicalize_masked_store_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val: tensor<8xf32>, %mask: tensor<8xi1>) {
-+func.func @test_canonicalize_masked_store_fail_pattern(%ptr: tensor<8x!tt.ptr<f32>>, %val: tensor<8xf32>, %mask: tensor<8xi1>) {
-     // Case: value at the "mask" position is not an "op".  Store should not be canonicalized.
-     // CHECK: tt.store %{{.*}}, %{{.*}}, %{{.*}} : tensor<8xf32>
-     tt.store %ptr, %val, %mask : tensor<8xf32>
-diff --git a/test/Triton/vecadd.mlir b/test/Triton/vecadd.mlir
-index 0b69ef3054..f5019b1cdd 100644
---- a/test/Triton/vecadd.mlir
-+++ b/test/Triton/vecadd.mlir
-@@ -1,7 +1,7 @@
- // RUN: triton-opt %s -verify-diagnostics
- 
- module {
--  func @add_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32__(%arg0: !tt.ptr<f32>, %arg1: !tt.ptr<f32>, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32, %arg5: i32) {
-+  func.func @add_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32__(%arg0: !tt.ptr<f32>, %arg1: !tt.ptr<f32>, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32, %arg5: i32) {
-     %0 = tt.get_program_id {axis = 0 : i32} : i32
-     %c256_i32 = arith.constant 256 : i32
-     %1 = arith.muli %0, %c256_i32 : i32
-@@ -43,7 +43,7 @@ module {
-   }
- }
- // module {
--//   func @add_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32__(%arg0: !tt.ptr<f32>, %arg1: !tt.ptr<f32>, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32, %arg5: i32) {
-+//   func.func @add_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32__(%arg0: !tt.ptr<f32>, %arg1: !tt.ptr<f32>, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32, %arg5: i32) {
- //     %c64 = arith.constant 64 : index
- //     %c32 = arith.constant 32 : index
- //     %c0 = arith.constant 0 : index
-diff --git a/test/TritonGPU/coalesce.mlir b/test/TritonGPU/coalesce.mlir
-index 60e359f527..51cccccfbd 100644
---- a/test/TritonGPU/coalesce.mlir
-+++ b/test/TritonGPU/coalesce.mlir
-@@ -19,7 +19,7 @@ module attributes {"triton_gpu.num-warps" = 4 : i32} {
- // CHECK: [[store_val:%.*]] = triton_gpu.convert_layout {{.*}} -> tensor<64x64xf32, [[col_layout]]>
- // CHECK: [[store_mask:%.*]] = triton_gpu.convert_layout {{.*}} -> tensor<64x64xi1, [[col_layout]]>
- // CHECK: tt.store [[store_ptr]], [[store_val]], [[store_mask]]
--func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32},
-+func.func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32},
-                 %arg1: i32 {tt.divisibility = 16 : i32},
-                 %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32},
-                 %arg3: i32 {tt.divisibility = 16 : i32}) {
-diff --git a/test/TritonGPU/combine.mlir b/test/TritonGPU/combine.mlir
-index 2c009ffa48..7e9cb9d504 100644
---- a/test/TritonGPU/combine.mlir
-+++ b/test/TritonGPU/combine.mlir
-@@ -9,7 +9,7 @@
- // CHECK: [[col_layout:#.*]] = #triton_gpu.blocked<{sizePerThread = [4, 1], threadsPerWarp = [16, 2], warpsPerCTA = [4, 1], order = [0, 1]}>
- // CHECK: [[col_layout_novec:#.*]] = #triton_gpu.blocked<{sizePerThread = [1, 1], threadsPerWarp = [32, 1], warpsPerCTA = [4, 1], order = [0, 1]}>
- // CHECK-LABEL: cst
--func @cst() -> tensor<1024xi32, #layout1> {
-+func.func @cst() -> tensor<1024xi32, #layout1> {
-   %cst = arith.constant dense<0> : tensor<1024xi32, #layout0>
-   %1 = triton_gpu.convert_layout %cst : (tensor<1024xi32, #layout0>) -> tensor<1024xi32, #layout1>
-   // CHECK-NOT: triton_gpu.convert_layout
-@@ -18,7 +18,7 @@ func @cst() -> tensor<1024xi32, #layout1> {
- }
- 
- // CHECK-LABEL: range
--func @range() -> tensor<1024xi32, #layout1> {
-+func.func @range() -> tensor<1024xi32, #layout1> {
-   %0 = tt.make_range {end = 1024 : i32, start = 0 : i32} : tensor<1024xi32, #layout0>
-   %1 = triton_gpu.convert_layout %0 : (tensor<1024xi32, #layout0>) -> tensor<1024xi32, #layout1>
-   // CHECK-NOT: triton_gpu.convert_layout
-@@ -27,7 +27,7 @@ func @range() -> tensor<1024xi32, #layout1> {
- }
- 
- // CHECK-LABEL: splat
--func @splat(%arg0: i32) -> tensor<1024xi32, #layout1> {
-+func.func @splat(%arg0: i32) -> tensor<1024xi32, #layout1> {
-   %0 = tt.splat %arg0 : (i32) -> tensor<1024xi32, #layout0>
-   %1 = triton_gpu.convert_layout %0 : (tensor<1024xi32, #layout0>) -> tensor<1024xi32, #layout1>
-   // CHECK-NOT: triton_gpu.convert_layout
-@@ -36,7 +36,7 @@ func @splat(%arg0: i32) -> tensor<1024xi32, #layout1> {
- }
- 
- // CHECK-LABEL: remat
--func @remat(%arg0: i32) -> tensor<1024xi32, #layout1> {
-+func.func @remat(%arg0: i32) -> tensor<1024xi32, #layout1> {
-   %0 = tt.make_range {end = 1024 : i32, start = 0 : i32} : tensor<1024xi32, #layout0>
-   %1 = tt.make_range {end = 1024 : i32, start = 0 : i32} : tensor<1024xi32, #layout0>
-   %2 = arith.muli %0, %1 : tensor<1024xi32, #layout0>
-@@ -56,7 +56,7 @@ func @remat(%arg0: i32) -> tensor<1024xi32, #layout1> {
- }
- 
- // CHECK-LABEL: remat_load_store
--func @remat_load_store(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @remat_load_store(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %0 = tt.make_range {end = 64 : i32, start = 0 : i32} : tensor<64xi32, #layout0>
-   %1 = tt.splat %arg : (!tt.ptr<i32>) -> tensor<64x!tt.ptr<i32>, #layout0>
-   %2 = tt.addptr %1, %0 : tensor<64x!tt.ptr<i32>, #layout0>, tensor<64xi32, #layout0>
-@@ -70,7 +70,7 @@ func @remat_load_store(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- 
- // Don't rematerialize vectorized loads
- // CHECK-LABEL: remat_expensive
--func @remat_expensive(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @remat_expensive(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %0 = tt.make_range {end = 64 : i32, start = 0 : i32} : tensor<64xi32, #layout1>
-   %1 = tt.splat %arg : (!tt.ptr<i32>) -> tensor<64x!tt.ptr<i32>, #layout1>
-   %2 = tt.addptr %1, %0 : tensor<64x!tt.ptr<i32>, #layout1>, tensor<64xi32, #layout1>
-@@ -85,7 +85,7 @@ func @remat_expensive(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- 
- // Don't rematerialize loads when original and target layouts are different
- // CHECK-LABEL: remat_multi_layout
--func @remat_multi_layout(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @remat_multi_layout(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %0 = tt.make_range {end = 64 : i32, start = 0 : i32} : tensor<64xi32, #layout0>
-   %1 = tt.splat %arg : (!tt.ptr<i32>) -> tensor<64x!tt.ptr<i32>, #layout0>
-   %2 = tt.addptr %1, %0 : tensor<64x!tt.ptr<i32>, #layout0>, tensor<64xi32, #layout0>
-@@ -100,7 +100,7 @@ func @remat_multi_layout(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- 
- // Always rematerialize single value loads
- // CHECK-LABEL: remat_single_value
--func @remat_single_value(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @remat_single_value(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %0 = tt.splat %arg : (!tt.ptr<i32>) -> tensor<1x!tt.ptr<i32>, #layout1>
-   %1 = tt.load %0 {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<1xi32, #layout1>
-   // CHECK-NOT: triton_gpu.convert_layout
-@@ -111,7 +111,7 @@ func @remat_single_value(%arg: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- }
- 
- // CHECK-LABEL: if
--func @if(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @if(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   %c32_i32 = arith.constant dense<32> : tensor<1024xi32, #layout1>
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-@@ -128,7 +128,7 @@ func @if(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
- }
- 
- // CHECK-LABEL: if_convert_else_not
--func @if_convert_else_not(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @if_convert_else_not(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %c32_i32 = arith.constant dense<32> : tensor<1024xi32, #layout0>
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = tt.splat %0 : (i32) -> tensor<1024xi32, #layout0>
-@@ -149,7 +149,7 @@ func @if_convert_else_not(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16
- }
- 
- // CHECK-LABEL: if_not_else_convert
--func @if_not_else_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @if_not_else_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %c32_i32 = arith.constant dense<32> : tensor<1024xi32, #layout0>
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = tt.splat %0 : (i32) -> tensor<1024xi32, #layout0>
-@@ -170,7 +170,7 @@ func @if_not_else_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16
- }
- 
- // CHECK-LABEL: if_else_both_convert
--func @if_else_both_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-+func.func @if_else_both_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16 : i32}) {
-   %c32_i32 = arith.constant dense<32> : tensor<1024xi32, #layout0>
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-   %1 = tt.splat %0 : (i32) -> tensor<1024xi32, #layout0>
-@@ -200,7 +200,7 @@ func @if_else_both_convert(%arg0: i32, %arg1: !tt.ptr<i32> {tt.divisibility = 16
- #blocked4 = #triton_gpu.blocked<{sizePerThread = [4, 1], threadsPerWarp = [16, 2], warpsPerCTA = [4, 1], order = [0, 1]}>
- 
- // CHECK-LABEL: transpose
--func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32 {tt.divisibility = 16 : i32}) {
-+func.func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32 {tt.divisibility = 16 : i32}) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   // CHECK: [[loaded_val:%.*]] = tt.load {{.*}}, {{%cst.*}}, {{%cst.*}} {cache = 1 : i32, evict = 1 : i32, isVolatile = false} : tensor<64x64xf32, [[row_layout]]>
-   // CHECK: [[cvt_val:%.*]] = triton_gpu.convert_layout [[loaded_val]] : (tensor<64x64xf32, [[row_layout]]>) -> tensor<64x64xf32, [[col_layout]]>
-@@ -241,7 +241,7 @@ func @transpose(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: i32 {tt
- }
- 
- // CHECK-LABEL: loop
--func @loop(%arg0: !tt.ptr<f32>, %arg1: i32, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32) {
-+func.func @loop(%arg0: !tt.ptr<f32>, %arg1: i32, %arg2: !tt.ptr<f32>, %arg3: i32, %arg4: i32) {
-     // CHECK-NOT: triton_gpu.convert_layout
-     // CHECK: [[loop_ret:%.*]]:2 = scf.for {{.*}} -> (tensor<64x64xf32, [[row_layout]]>, tensor<64x64x!tt.ptr<f32>, [[row_layout]]>)
-     // CHECK-NEXT: {{.*}} = tt.load {{.*}} : tensor<64x64xf32, [[row_layout]]>
-@@ -295,7 +295,7 @@ func @loop(%arg0: !tt.ptr<f32>, %arg1: i32, %arg2: !tt.ptr<f32>, %arg3: i32, %ar
- }
- 
- // CHECK-LABEL: vecadd
--func @vecadd(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-+func.func @vecadd(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   %c256_i32 = arith.constant 256 : i32
-   %0 = tt.get_program_id {axis = 0 : i32} : i32
-@@ -327,7 +327,7 @@ func @vecadd(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f3
- 
- // Select has args with different element types
- // CHECK-LABEL: select
--func @select(%arg0: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg2: i32 {tt.divisibility = 16 : i32}) {
-+func.func @select(%arg0: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg2: i32 {tt.divisibility = 16 : i32}) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   %cst = arith.constant dense<30000> : tensor<1x1xi32, #blocked2>
-   %cst_0 = arith.constant dense<30000> : tensor<1x512xi32, #blocked2>
-@@ -378,7 +378,7 @@ func @select(%arg0: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f6
- 
- // Make sure the following IR doesn't hang the compiler.
- // CHECK-LABEL: long_func
--func public @long_func(%arg0: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg3: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg4: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg5: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg6: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg7: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg8: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg9: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg10: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg11: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg12: !tt.ptr<i32> {tt.divisibility = 16 : i32}, %arg13: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg14: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg15: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg16: i32 {tt.divisibility = 16 : i32}) {
-+func.func public @long_func(%arg0: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg3: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg4: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg5: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg6: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg7: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg8: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg9: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg10: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg11: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg12: !tt.ptr<i32> {tt.divisibility = 16 : i32}, %arg13: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg14: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg15: !tt.ptr<f64> {tt.divisibility = 16 : i32}, %arg16: i32 {tt.divisibility = 16 : i32}) {
-   %cst = arith.constant dense<1.000000e+00> : tensor<1024xf32, #blocked0>
-   %cst_0 = arith.constant dense<5.000000e-04> : tensor<1024xf32, #blocked0>
-   %cst_1 = arith.constant dense<0.999499976> : tensor<1024xf32, #blocked0>
-@@ -775,7 +775,7 @@ func public @long_func(%arg0: !tt.ptr<i64> {tt.divisibility = 16 : i32}, %arg1:
- // A mnist model from torch inductor.
- // Check if topological sort is working correct and there's no unnecessary convert
- // CHECK-LABEL: mnist
--func public @mnist(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: i32 {tt.divisibility = 16 : i32}, %arg3: i32) {
-+func.func public @mnist(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: i32 {tt.divisibility = 16 : i32}, %arg3: i32) {
-   // CHECK-NOT: triton_gpu.convert_layout
-   %cst = arith.constant dense<10> : tensor<16x1xi32, #blocked2>
-   %cst_0 = arith.constant dense<10> : tensor<1x16xi32, #blocked3>
-@@ -862,7 +862,7 @@ func public @mnist(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.
- #blocked5 = #triton_gpu.blocked<{sizePerThread = [1, 4], threadsPerWarp = [2, 16], warpsPerCTA = [8, 1], order = [1, 0]}>
- // cmpf and cmpi have different operands and result types
- // CHECK-LABEL: cmp
--func public @cmp(%arg0: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg4: i32 {tt.divisibility = 16 : i32}, %arg5: i32 {tt.divisibility = 16 : i32}) {
-+func.func public @cmp(%arg0: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: !tt.ptr<f16> {tt.divisibility = 16 : i32}, %arg4: i32 {tt.divisibility = 16 : i32}, %arg5: i32 {tt.divisibility = 16 : i32}) {
-   %c64 = arith.constant 64 : index
-   %c2048 = arith.constant 2048 : index
-   %c0 = arith.constant 0 : index
-diff --git a/test/TritonGPU/loop-pipeline.mlir b/test/TritonGPU/loop-pipeline.mlir
-index 6ee3b15fbc..663f2da7b0 100644
---- a/test/TritonGPU/loop-pipeline.mlir
-+++ b/test/TritonGPU/loop-pipeline.mlir
-@@ -10,7 +10,7 @@
- #A = #triton_gpu.dot_op<{opIdx = 0, parent = #C}>
- #B = #triton_gpu.dot_op<{opIdx = 1, parent = #C}>
- 
--// CHECK: func @matmul_loop
-+// CHECK: func.func @matmul_loop
- // CHECK-DAG: %[[CONSTANT_0:.*]] = arith.constant 0 : i32
- // CHECK-DAG: %[[CONSTANT_1:.*]] = arith.constant 1 : i32
- // CHECK-DAG: %[[CONSTANT_2:.*]] = arith.constant 2 : i32
-@@ -46,8 +46,8 @@
- // CHECK-DAG: %[[NEXT_PIPELINE_IDX:.*]] = arith.addi %[[PIPELINE_IDX]], %[[CONSTANT_1]]
- // CHECK-DAG: %[[NEXT_LOOP_IDX:.*]] = arith.addi %[[LOOP_IDX]], %[[CONSTANT_1]]
- // CHECK:   scf.yield {{.*}}, {{.*}}, {{.*}}, %[[NEXT_A_BUFFER]], %[[NEXT_B_BUFFER]], %[[NEXT_A]], %[[NEXT_B]], {{.*}}, {{.*}}, {{.*}}, %[[NEXT_PIPELINE_IDX]], %[[NEXT_LOOP_IDX]]
--func @matmul_loop(%lb : index, %ub : index, %step : index, 
--                  %A : !tt.ptr<f16> {tt.divisibility = 16 : i32}, 
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index,
-+                  %A : !tt.ptr<f16> {tt.divisibility = 16 : i32},
-                   %B : !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-   // A ptrs
-   %a_ptr_splat = tt.splat %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-@@ -61,7 +61,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index,
-   %b_tmp1 = tt.expand_dims %b_tmp0 {axis = 0 : i32} : (tensor<128xi32, #BLs0>) -> tensor<1x128xi32, #BL>
-   %b_offs = tt.broadcast %b_tmp1 : (tensor<1x128xi32, #BL>) -> tensor<32x128xi32, #BL>
-   %b_ptr_init = tt.addptr %b_ptr_splat, %b_offs : tensor<32x128x!tt.ptr<f16>, #BL>, tensor<32x128xi32, #BL>
--  
-+
- 
-   %a_mask = arith.constant dense<true> : tensor<128x32xi1, #AL>
-   %a_other = arith.constant dense<0.00e+00> : tensor<128x32xf16, #AL>
-@@ -88,7 +88,7 @@ func @matmul_loop(%lb : index, %ub : index, %step : index,
- }
- 
- 
--// CHECK: func @matmul_loop_nested
-+// CHECK: func.func @matmul_loop_nested
- // CHECK-DAG: %[[CONSTANT_0:.*]] = arith.constant 0 : i32
- // CHECK-DAG: %[[CONSTANT_1:.*]] = arith.constant 1 : i32
- // CHECK-DAG: %[[CONSTANT_2:.*]] = arith.constant 2 : i32
-@@ -118,8 +118,8 @@ func @matmul_loop(%lb : index, %ub : index, %step : index,
- // CHECK-DAG: %[[NEXT_PIPELINE_IDX:.*]] = arith.addi %[[PIPELINE_IDX]], %[[CONSTANT_1]]
- // CHECK-DAG: %[[NEXT_LOOP_IDX:.*]] = arith.addi %[[LOOP_IDX]], %[[CONSTANT_1]]
- // CHECK:     scf.yield {{.*}}, {{.*}}, {{.*}}, %[[NEXT_A_BUFFER]], %[[NEXT_B_BUFFER]], %[[NEXT_A]], %[[NEXT_B]], {{.*}}, {{.*}}, {{.*}}, %[[NEXT_PIPELINE_IDX]], %[[NEXT_LOOP_IDX]]
--func @matmul_loop_nested(%lb : index, %ub : index, %step : index, 
--                         %A : !tt.ptr<f16> {tt.divisibility = 16 : i32}, 
-+func.func @matmul_loop_nested(%lb : index, %ub : index, %step : index,
-+                         %A : !tt.ptr<f16> {tt.divisibility = 16 : i32},
-                          %B : !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-   scf.for %iv0 = %lb to %ub step %step {
-     // A ptrs
-@@ -134,7 +134,7 @@ func @matmul_loop_nested(%lb : index, %ub : index, %step : index,
-     %b_tmp1 = tt.expand_dims %b_tmp0 {axis = 0 : i32} : (tensor<128xi32, #BLs0>) -> tensor<1x128xi32, #BL>
-     %b_offs = tt.broadcast %b_tmp1 : (tensor<1x128xi32, #BL>) -> tensor<32x128xi32, #BL>
-     %b_ptr_init = tt.addptr %b_ptr_splat, %b_offs : tensor<32x128x!tt.ptr<f16>, #BL>, tensor<32x128xi32, #BL>
--  
-+
-     %a_mask = arith.constant dense<true> : tensor<128x32xi1, #AL>
-     %a_other = arith.constant dense<0.00e+00> : tensor<128x32xf16, #AL>
-     %b_mask = arith.constant dense<true> : tensor<32x128xi1, #BL>
-@@ -161,7 +161,7 @@ func @matmul_loop_nested(%lb : index, %ub : index, %step : index,
- }
- 
- 
--// CHECK: func @matmul_loop_single_pipeline
-+// CHECK: func.func @matmul_loop_single_pipeline
- // CHECK-DAG: %[[CONSTANT_0:.*]] = arith.constant 0 : i32
- // CHECK-DAG: %[[CONSTANT_1:.*]] = arith.constant 1 : i32
- // CHECK-DAG: %[[CONSTANT_2:.*]] = arith.constant 2 : i32
-@@ -183,8 +183,8 @@ func @matmul_loop_nested(%lb : index, %ub : index, %step : index,
- // CHECK-DAG: %[[NEXT_PIPELINE_IDX:.*]] = arith.addi %[[PIPELINE_IDX]], %[[CONSTANT_1]]
- // CHECK-DAG: %[[NEXT_LOOP_IDX:.*]] = arith.addi %[[LOOP_IDX]], %[[CONSTANT_1]]
- // CHECK:   scf.yield {{.*}}, {{.*}}, %[[NEXT_B_BUFFER]], %[[NEXT_B]], {{.*}}, {{.*}}, %[[NEXT_PIPELINE_IDX]], %[[NEXT_LOOP_IDX]]
--func @matmul_loop_single_pipeline(%lb : index, %ub : index, %step : index, 
--                                  %A : !tt.ptr<f16> {tt.divisibility = 16 : i32}, 
-+func.func @matmul_loop_single_pipeline(%lb : index, %ub : index, %step : index,
-+                                  %A : !tt.ptr<f16> {tt.divisibility = 16 : i32},
-                                   %B : !tt.ptr<f16> {tt.divisibility = 16 : i32}) {
-   // A ptrs
-   %a_ptr_splat = tt.splat %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-diff --git a/test/TritonGPU/matmul.mlir b/test/TritonGPU/matmul.mlir
-index 9bd5318e1e..01dc3f0ab1 100644
---- a/test/TritonGPU/matmul.mlir
-+++ b/test/TritonGPU/matmul.mlir
-@@ -4,7 +4,7 @@
- // CHECK: offset = 49152, size = 49152
- // CHECK: size = 98304
- module {
--func @matmul_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32_i32_i32_i32_i32_i32_i32__12c64_13c64_14c64_15c8(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32, %arg4: i32, %arg5: i32, %arg6: i32 {tt.divisibility = 16 : i32}, %arg7: i32, %arg8: i32 {tt.divisibility = 16 : i32}, %arg9: i32, %arg10: i32 {tt.divisibility = 16 : i32}, %arg11: i32) {
-+func.func @matmul_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32_i32_i32_i32_i32_i32_i32__12c64_13c64_14c64_15c8(%arg0: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg1: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg2: !tt.ptr<f32> {tt.divisibility = 16 : i32}, %arg3: i32, %arg4: i32, %arg5: i32, %arg6: i32 {tt.divisibility = 16 : i32}, %arg7: i32, %arg8: i32 {tt.divisibility = 16 : i32}, %arg9: i32, %arg10: i32 {tt.divisibility = 16 : i32}, %arg11: i32) {
-     %cst = arith.constant dense<true> : tensor<64x64xi1>
-     %c64 = arith.constant 64 : index
-     %c0 = arith.constant 0 : index
-@@ -22,7 +22,7 @@ func @matmul_kernel__Pfp32_Pfp32_Pfp32_i32_i32_i32_i32_i32_i32_i32_i32_i32__12c6
-     %7 = arith.muli %6, %c8_i32 : i32
-     %8 = arith.subi %2, %7 : i32
-     %9 = arith.cmpi slt, %8, %c8_i32 : i32
--    %10 = select %9, %8, %c8_i32 : i32
-+    %10 = arith.select %9, %8, %c8_i32 : i32
-     %11 = arith.remsi %0, %10 : i32
-     %12 = arith.addi %7, %11 : i32
-     %13 = arith.remsi %0, %5 : i32
-diff --git a/test/TritonGPU/prefetch.mlir b/test/TritonGPU/prefetch.mlir
-index 52b4dddec1..b427547890 100644
---- a/test/TritonGPU/prefetch.mlir
-+++ b/test/TritonGPU/prefetch.mlir
-@@ -11,7 +11,7 @@
- #B_OP = #triton_gpu.dot_op<{opIdx = 1, parent = #C}>
- 
- 
--// CHECK: func @matmul_loop
-+// CHECK: func.func @matmul_loop
- // CHECK-DAG: %[[A0_PREFETCH_SMEM:.*]] = tensor.extract_slice %[[A0:.*]][0, 0] [128, 16]
- // CHECK-DAG: %[[A0_PREFETCH:.*]] = triton_gpu.convert_layout %[[A0_PREFETCH_SMEM]]
- // CHECK-DAG: %[[B0_PREFETCH_SMEM:.*]] = tensor.extract_slice %[[B0:.*]][0, 0] [16, 128]
-@@ -28,7 +28,7 @@
- // CHECK-DAG:   %[[NEXT_B_PREFETCH_SMEM:.*]] = tensor.extract_slice {{.*}}[0, 0] [16, 128]
- // CHECK-DAG:   %[[NEXT_B_PREFETCH:.*]] = triton_gpu.convert_layout %[[NEXT_B_PREFETCH_SMEM]]
- // CHECK:     scf.yield {{.*}}, {{.*}}, {{.*}}, {{.*}}, {{.*}}, %[[NEXT_A_PREFETCH]], %[[NEXT_B_PREFETCH]]
--func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-+func.func @matmul_loop(%lb : index, %ub : index, %step : index, %A : !tt.ptr<f16>, %B : !tt.ptr<f16>) {
-   %a_ptr_init = tt.broadcast %A : (!tt.ptr<f16>) -> tensor<128x32x!tt.ptr<f16>, #AL>
-   %b_ptr_init = tt.broadcast %B : (!tt.ptr<f16>) -> tensor<32x128x!tt.ptr<f16>, #BL>
- 
-diff --git a/test/TritonGPU/update-mma-for-volta.mlir b/test/TritonGPU/update-mma-for-volta.mlir
-index d587fffcca..7571ec6185 100644
---- a/test/TritonGPU/update-mma-for-volta.mlir
-+++ b/test/TritonGPU/update-mma-for-volta.mlir
-@@ -15,7 +15,7 @@
- // CHECK: [[new_mma:#mma.*]] = #triton_gpu.mma<{versionMajor = 1, versionMinor = 3, warpsPerCTA = [4, 2]}>
- module attributes {"triton_gpu.num-warps" = 16 : i32} {
-   // CHECK-LABEL: dot_mmav1
--  func @dot_mmav1(%A: tensor<64x64xf16, #blocked0>, %B: tensor<64x64xf16, #blocked0>) -> tensor<64x64xf32, #blocked0> {
-+  func.func @dot_mmav1(%A: tensor<64x64xf16, #blocked0>, %B: tensor<64x64xf16, #blocked0>) -> tensor<64x64xf32, #blocked0> {
-     %C = arith.constant dense<0.000000e+00> : tensor<64x64xf32, #blocked0>
-     %AA = triton_gpu.convert_layout %A : (tensor<64x64xf16, #blocked0>) -> tensor<64x64xf16, #dot_operand_a>
-     %BB = triton_gpu.convert_layout %B : (tensor<64x64xf16, #blocked0>) -> tensor<64x64xf16, #dot_operand_b>
-@@ -50,7 +50,7 @@ module attributes {"triton_gpu.num-warps" = 16 : i32} {
- 
- module attributes {"triton_gpu.num-warps" = 16 : i32} {
-   // CHECK-LABEL: dot_mmav1
--  func @dot_mmav1(%A: tensor<64x64xf16, #blocked0>, %B: tensor<64x64xf16, #blocked0>) -> tensor<64x64xf32, #blocked0> {
-+  func.func @dot_mmav1(%A: tensor<64x64xf16, #blocked0>, %B: tensor<64x64xf16, #blocked0>) -> tensor<64x64xf32, #blocked0> {
-     %C = arith.constant dense<0.000000e+00> : tensor<64x64xf32, #blocked0>
-     %AA = triton_gpu.convert_layout %A : (tensor<64x64xf16, #blocked0>) -> tensor<64x64xf16, #dot_operand_a>
-     %BB = triton_gpu.convert_layout %B : (tensor<64x64xf16, #blocked0>) -> tensor<64x64xf16, #dot_operand_b>
-diff --git a/test/lib/Analysis/TestAlias.cpp b/test/lib/Analysis/TestAlias.cpp
-index 88a4118fe9..3fd0cfd0d3 100644
---- a/test/lib/Analysis/TestAlias.cpp
-+++ b/test/lib/Analysis/TestAlias.cpp
-@@ -9,10 +9,10 @@ using namespace mlir;
- namespace {
- 
- struct TestAliasPass
--    : public PassWrapper<TestAliasPass, OperationPass<FuncOp>> {
-+    : public PassWrapper<TestAliasPass, OperationPass<func::FuncOp>> {
-+
-+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAliasPass);
- 
--  // LLVM15+
--  // MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAliasPass);
-   static void print(StringRef name, SmallVector<std::string, 4> &vals,
-                     raw_ostream &os) {
-     if (vals.empty())
-@@ -39,23 +39,24 @@ struct TestAliasPass
-     auto opName = SymbolTable::getSymbolName(operation).getValue().str();
-     os << opName << "\n";
- 
--    SharedMemoryAliasAnalysis analysis(&getContext());
--    analysis.run(operation);
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    SharedMemoryAliasAnalysis *analysis =
-+        solver->load<SharedMemoryAliasAnalysis>();
-+    if (failed(solver->initializeAndRun(operation)))
-+      return signalPassFailure();
- 
-     AsmState state(operation->getParentOfType<ModuleOp>());
-     // Get operation ids of value's aliases
-     auto getAllocOpNames = [&](Value value) {
--      LatticeElement<AliasInfo> *latticeElement =
--          analysis.lookupLatticeElement(value);
-+      dataflow::Lattice<AliasInfo> *latticeElement =
-+          analysis->getLatticeElement(value);
-       SmallVector<std::string, 4> opNames;
--      if (latticeElement) {
-+      if (latticeElement && !latticeElement->isUninitialized()) {
-         auto &info = latticeElement->getValue();
--        if (!info.getAllocs().empty()) {
--          for (auto &alias : info.getAllocs()) {
--            auto opName =
--                getValueOperandName(alias.getDefiningOp()->getResult(0), state);
--            opNames.push_back(std::move(opName));
--          }
-+        for (auto &alias : info.getAllocs()) {
-+          auto opName =
-+              getValueOperandName(alias.getDefiningOp()->getResult(0), state);
-+          opNames.push_back(std::move(opName));
-         }
-       }
-       // Ensure deterministic output
-diff --git a/test/lib/Analysis/TestAllocation.cpp b/test/lib/Analysis/TestAllocation.cpp
-index 84108c4d36..35e42242bd 100644
---- a/test/lib/Analysis/TestAllocation.cpp
-+++ b/test/lib/Analysis/TestAllocation.cpp
-@@ -6,10 +6,9 @@ using namespace mlir;
- namespace {
- 
- struct TestAllocationPass
--    : public PassWrapper<TestAllocationPass, OperationPass<FuncOp>> {
-+    : public PassWrapper<TestAllocationPass, OperationPass<func::FuncOp>> {
- 
--  // LLVM15+
--  // MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAllocationPass);
-+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAllocationPass);
- 
-   StringRef getArgument() const final { return "test-print-allocation"; }
-   StringRef getDescription() const final {
-diff --git a/test/lib/Analysis/TestAxisInfo.cpp b/test/lib/Analysis/TestAxisInfo.cpp
-index a5205bb0a0..22347c32f0 100644
---- a/test/lib/Analysis/TestAxisInfo.cpp
-+++ b/test/lib/Analysis/TestAxisInfo.cpp
-@@ -1,25 +1,15 @@
- #include "mlir/Pass/Pass.h"
- #include "triton/Analysis/AxisInfo.h"
-+#include "triton/Analysis/Utility.h"
- 
- using namespace mlir;
- 
- namespace {
- 
- struct TestAxisInfoPass
--    : public PassWrapper<TestAxisInfoPass, OperationPass<FuncOp>> {
-+    : public PassWrapper<TestAxisInfoPass, OperationPass<func::FuncOp>> {
- 
--  // LLVM15+
--  // MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAlignmentPass);
--
--  void print(const std::string &name, raw_ostream &os, ArrayRef<int64_t> vals) {
--    os << name << ": [";
--    for (size_t d = 0; d < vals.size(); d++) {
--      if (d != 0)
--        os << ", ";
--      os << vals[d];
--    }
--    os << "]";
--  }
-+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestAxisInfoPass);
- 
-   StringRef getArgument() const final { return "test-print-alignment"; }
-   StringRef getDescription() const final {
-@@ -30,38 +20,19 @@ struct TestAxisInfoPass
-     Operation *operation = getOperation();
-     auto &os = llvm::errs();
-     auto opName = SymbolTable::getSymbolName(operation).getValue().str();
--    os << opName << "\n";
--    AxisInfoAnalysis analysis(&getContext());
--    analysis.run(operation);
-+    os << "@" << opName << "\n";
-+
-+    std::unique_ptr<DataFlowSolver> solver = createDataFlowSolver();
-+    AxisInfoAnalysis *analysis = solver->load<AxisInfoAnalysis>();
-+    if (failed(solver->initializeAndRun(operation)))
-+      return signalPassFailure();
-     operation->walk([&](Operation *op) {
-       if (op->getNumResults() < 1)
-         return;
-       for (Value result : op->getResults()) {
--        // std::ostringstream oss;
--        // result.print(oss);
--        // os << " => ";
--        LatticeElement<AxisInfo> *latticeElement =
--            analysis.lookupLatticeElement(result);
--        if (!latticeElement) {
--          os << "None\n";
--          return;
--        }
--        AxisInfo &info = latticeElement->getValue();
--        print("Contiguity", os, info.getContiguity());
--        os << " ; ";
--        print("Divisibility", os, info.getDivisibility());
--        os << " ; ";
--        print("Constancy", os, info.getConstancy());
--        os << " ; ";
--        auto constantValue = info.getConstantValue();
--        os << "ConstantValue: [";
--        if (constantValue.has_value())
--          os << constantValue.value();
--        else
--          os << "None";
--        os << "] ( ";
-         result.print(os);
--        os << " ) ";
-+        os << " => ";
-+        analysis->getLatticeElement(result)->getValue().print(os);
-         os << "\n";
-       }
-     });
-diff --git a/test/lib/Analysis/TestMembar.cpp b/test/lib/Analysis/TestMembar.cpp
-index df4279fe24..ab9b9f3fb7 100644
---- a/test/lib/Analysis/TestMembar.cpp
-+++ b/test/lib/Analysis/TestMembar.cpp
-@@ -1,4 +1,4 @@
--#include "mlir/Dialect/GPU/GPUDialect.h"
-+#include "mlir/Dialect/GPU/IR/GPUDialect.h"
- #include "mlir/IR/Dialect.h"
- #include "mlir/Pass/Pass.h"
- #include "triton/Analysis/Allocation.h"
-@@ -9,10 +9,9 @@ using namespace mlir;
- namespace {
- 
- struct TestMembarPass
--    : public PassWrapper<TestMembarPass, OperationPass<FuncOp>> {
-+    : public PassWrapper<TestMembarPass, OperationPass<func::FuncOp>> {
- 
--  // LLVM15+
--  // MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestMembarPass);
-+  MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(TestMembarPass);
- 
-   StringRef getArgument() const final { return "test-print-membar"; }
-   StringRef getDescription() const final {
diff --git a/nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix b/nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix
index 28a3b8035ce6..68f692e4c37a 100644
--- a/nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openai-whisper/default.nix
@@ -5,7 +5,7 @@
 , cudaSupport ? false
 
 # runtime
-, ffmpeg
+, ffmpeg-headless
 
 # propagates
 , numpy
@@ -14,7 +14,6 @@
 , tqdm
 , more-itertools
 , transformers
-, ffmpeg-python
 , numba
 , openai-triton
 , scipy
@@ -26,20 +25,20 @@
 
 buildPythonPackage rec {
   pname = "whisper";
-  version = "20230314";
+  version = "20230918";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openai";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-qQCELjRFeRCT1k1CBc3netRtFvt+an/EbkrgnmiX/mc=";
+    hash = "sha256-wBAanFVEIIzTcoX40P9eI26UdEu0SC/xuife/zi2Xho=";
   };
 
   patches = [
     (substituteAll {
       src = ./ffmpeg-path.patch;
-      inherit ffmpeg;
+      ffmpeg = ffmpeg-headless;
     })
   ];
 
@@ -48,7 +47,6 @@ buildPythonPackage rec {
     tqdm
     more-itertools
     transformers
-    ffmpeg-python
     numba
     scipy
     tiktoken
@@ -61,7 +59,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "tiktoken==0.3.1" "tiktoken>=0.3.1"
+      --replace "tiktoken==0.3.3" "tiktoken>=0.3.3"
   ''
   # openai-triton is only needed for CUDA support.
   # triton needs CUDA to be build.
@@ -80,7 +78,6 @@ buildPythonPackage rec {
 
   disabledTests = [
     # requires network access to download models
-    "test_tokenizer"
     "test_transcribe"
     # requires NVIDIA drivers
     "test_dtw_cuda_equivalence"
diff --git a/nixpkgs/pkgs/development/python-modules/openai-whisper/ffmpeg-path.patch b/nixpkgs/pkgs/development/python-modules/openai-whisper/ffmpeg-path.patch
index 6ccde1dcabb8..784168d1f62d 100644
--- a/nixpkgs/pkgs/development/python-modules/openai-whisper/ffmpeg-path.patch
+++ b/nixpkgs/pkgs/development/python-modules/openai-whisper/ffmpeg-path.patch
@@ -1,13 +1,13 @@
 diff --git a/whisper/audio.py b/whisper/audio.py
-index a6074e8..da18350 100644
+index 4f5b6e0..bfe7924 100644
 --- a/whisper/audio.py
 +++ b/whisper/audio.py
-@@ -41,7 +41,7 @@ def load_audio(file: str, sr: int = SAMPLE_RATE):
-         out, _ = (
-             ffmpeg.input(file, threads=0)
-             .output("-", format="s16le", acodec="pcm_s16le", ac=1, ar=sr)
--            .run(cmd=["ffmpeg", "-nostdin"], capture_stdout=True, capture_stderr=True)
-+            .run(cmd=["@ffmpeg@/bin/ffmpeg", "-nostdin"], capture_stdout=True, capture_stderr=True)
-         )
-     except ffmpeg.Error as e:
-         raise RuntimeError(f"Failed to load audio: {e.stderr.decode()}") from e
+@@ -44,7 +44,7 @@ def load_audio(file: str, sr: int = SAMPLE_RATE):
+     # and resampling as necessary.  Requires the ffmpeg CLI in PATH.
+     # fmt: off
+     cmd = [
+-        "ffmpeg",
++        "@ffmpeg@/bin/ffmpeg",
+         "-nostdin",
+         "-threads", "0",
+         "-i", file,
diff --git a/nixpkgs/pkgs/development/python-modules/openai/default.nix b/nixpkgs/pkgs/development/python-modules/openai/default.nix
index 172ddb5970a9..89a02ae69f15 100644
--- a/nixpkgs/pkgs/development/python-modules/openai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openai/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "openai";
-  version = "0.28.0";
+  version = "0.28.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7.1";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "openai";
     repo = "openai-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-NDIHOX0W1nERvOWxnGBD42v+EjrND/9u90SS7KJzOW8=";
+    hash = "sha256-liJyeGxnYIC/jUQKdeATHpVJb/12KGbeM94Y2YQphfY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/openaiauth/default.nix b/nixpkgs/pkgs/development/python-modules/openaiauth/default.nix
index 68eead616b47..da10f6ffbe55 100644
--- a/nixpkgs/pkgs/development/python-modules/openaiauth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openaiauth/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "openaiauth";
-  version = "2.0.0";
+  version = "3.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "OpenAIAuth";
-    hash = "sha256-wmVR+cN/uJ75l62uzmHqpvEcnjzi6CU0kQ2e/5LxkBw=";
+    hash = "sha256-9SrptiheiM5s9YI6Ht68ahDGMFADWfBQgAWUBY3EEJ8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/openant/default.nix b/nixpkgs/pkgs/development/python-modules/openant/default.nix
index 71f699e0552a..ed142826160b 100644
--- a/nixpkgs/pkgs/development/python-modules/openant/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openant/default.nix
@@ -1,38 +1,60 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
+, setuptools
 , pyusb
+, influxdb-client
+, pyserial
+, pytestCheckHook
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "openant-unstable";
-  version = "2017-02-11";
+  version = "1.2.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Tigge";
     repo = "openant";
-    rev = "ed89281e37f65d768641e87356cef38877952397";
-    sha256 = "1g81l9arqdy09ijswn3sp4d6i3z18d44lzyb78bwnvdb14q22k19";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Ook9dwcyWvpaGylVDjBxQ2bnXRUBPYQHo6Wub+ISpwE=";
   };
 
-  # Removes some setup.py hacks intended to install udev rules.
-  # We do the job ourselves in postInstall below.
-  postPatch = ''
-    sed -i -e '/cmdclass=.*/d' setup.py
-  '';
+  nativeBuildInputs = [
+    setuptools
+  ];
 
   postInstall = ''
     install -dm755 "$out/etc/udev/rules.d"
-    install -m644 resources/ant-usb-sticks.rules "$out/etc/udev/rules.d/99-ant-usb-sticks.rules"
+    install -m644 resources/42-ant-usb-sticks.rules "$out/etc/udev/rules.d/99-ant-usb-sticks.rules"
   '';
 
   propagatedBuildInputs = [ pyusb ];
 
+  passthru.optional-dependencies = {
+    serial = [
+      pyserial
+    ];
+    influx = [
+      influxdb-client
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "openant"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/Tigge/openant";
     description = "ANT and ANT-FS Python Library";
     license = licenses.mit;
-    platforms = platforms.unix;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
index b9593b0e13c1..282c659291a4 100644
--- a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
@@ -28,7 +28,7 @@
 
 buildPythonPackage rec {
   pname = "openapi-core";
-  version = "0.18.0";
+  version = "0.18.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "p1c2u";
     repo = "openapi-core";
     rev = "refs/tags/${version}";
-    hash = "sha256-2OcGaZQwzgxcwrXinmJjFc91620Ri0O79c8WZWfDdlQ=";
+    hash = "sha256-8zD4SDGH7Pcu54CcBTJ9Q2sbYfWP4OyNh5STatZ7pAk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/opencensus/default.nix b/nixpkgs/pkgs/development/python-modules/opencensus/default.nix
index 5f710cfbd7d2..fa7141a8fb2e 100644
--- a/nixpkgs/pkgs/development/python-modules/opencensus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opencensus/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "opencensus";
-  version = "0.11.2";
+  version = "0.11.3";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-YVQEKiNrns3VWiPfuydDuz3qzQaH4+A5HsLgx0lQ1m8=";
+    hash = "sha256-r3qYvVHmOWgUTXcvNG1pbtSYoy29xL4mfNYBHEzgXag=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/openllm-core/default.nix b/nixpkgs/pkgs/development/python-modules/openllm-core/default.nix
index 3f2c80cf0a57..e69054b1cbcd 100644
--- a/nixpkgs/pkgs/development/python-modules/openllm-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openllm-core/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "openllm-core";
-  version = "0.2.27";
+  version = "0.3.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "bentoml";
     repo = "OpenLLM";
     rev = "refs/tags/v${version}";
-    hash = "sha256-R69Qsx9360pJx+7oyhHdeAXUjTAdevPmaBl9gj+AA8U=";
+    hash = "sha256-uRXsIcsgu+EAxzUGKt9+PIoO1kvo6rWT569D5qXFrAQ=";
   };
 
   sourceRoot = "source/openllm-core";
diff --git a/nixpkgs/pkgs/development/python-modules/openpyxl/default.nix b/nixpkgs/pkgs/development/python-modules/openpyxl/default.nix
index 03a33ef26a6b..799c991e40fe 100644
--- a/nixpkgs/pkgs/development/python-modules/openpyxl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openpyxl/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, et_xmlfile
+, et-xmlfile
 , fetchFromGitLab
 , jdcal
 , lxml
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     jdcal
-    et_xmlfile
+    et-xmlfile
     lxml
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix b/nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix
index f126651473b6..ce61a587cd6b 100644
--- a/nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opensearch-py/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "opensearch-py";
-  version = "2.3.1";
+  version = "2.3.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "opensearch-project";
     repo = "opensearch-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aM3N47GM5ABvkjP+SZ+Uvnoh6eTF6wvAPJ1xR10ohJg=";
+    hash = "sha256-MkrYCi/iz1OqqrwCZknfcZSEyZNPj+CZFiMycJQk+aQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/openstackdocstheme/default.nix b/nixpkgs/pkgs/development/python-modules/openstackdocstheme/default.nix
index 2d2fbc0dbdd8..00b2128db2aa 100644
--- a/nixpkgs/pkgs/development/python-modules/openstackdocstheme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openstackdocstheme/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "openstackdocstheme";
-  version = "3.0.1";
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yB1CdOqWV7hEfUYdtqQ/fd4sNfy7Sp7YJbRQhK5egLk=";
+    hash = "sha256-PwSWLJr5Hjwz8cRXXutnE4Jc+vLcL3TJTZl6biK/4E4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix
index 1ccb00617ac0..289784d4ac41 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix
@@ -14,15 +14,15 @@
 let
   self = buildPythonPackage rec {
     pname = "opentelemetry-api";
-    version = "1.18.0";
+    version = "1.20.0";
     disabled = pythonOlder "3.7";
 
     # to avoid breakage, every package in opentelemetry-python must inherit this version, src, and meta
     src = fetchFromGitHub {
       owner = "open-telemetry";
       repo = "opentelemetry-python";
-      rev = "refs/tags/v${self.version}";
-      hash = "sha256-8xf4TqEkBeueejQBckFGwBNN4Gyo+/7/my6Z1Mnei5Q=";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-tOg3G6BjHInY5TFYyS7/JA4mQajeP0b1QjrZBGqiqnM=";
     };
 
     sourceRoot = "${src.name}/opentelemetry-api";
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
index 71c742c0ba2a..8a43e9b4cda4 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , hatchling
+, backoff
 , opentelemetry-api
 , opentelemetry-proto
 , opentelemetry-sdk
@@ -23,6 +24,7 @@ buildPythonPackage {
   ];
 
   propagatedBuildInputs = [
+    backoff
     opentelemetry-sdk
     opentelemetry-proto
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
index 331a5e864374..4ee758ea564d 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "opentelemetry-instrumentation";
-  version = "0.39b0";
+  version = "1.16.0";
   disabled = pythonOlder "3.7";
 
   # to avoid breakage, every package in opentelemetry-python-contrib must inherit this version, src, and meta
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "open-telemetry";
     repo = "opentelemetry-python-contrib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MPBOdurEQhA9BPRgVftejjtkvN/zRQEJDjQcS2QW3xc=";
+    hash = "sha256-6tGQjPBej2zv5yJN0S46le3kyD7q3TELYyDmyxlp5Wo=";
   };
 
   sourceRoot = "${src.name}/opentelemetry-instrumentation";
diff --git a/nixpkgs/pkgs/development/python-modules/opower/default.nix b/nixpkgs/pkgs/development/python-modules/opower/default.nix
index cafaf385a733..c221f942a2b2 100644
--- a/nixpkgs/pkgs/development/python-modules/opower/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opower/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "opower";
-  version = "0.0.34";
+  version = "0.0.37";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "opower";
     rev = "refs/tags/v${version}";
-    hash = "sha256-VIw0FRFhZpd9R5/j8ejgfy1p8/R2Gv8Wtjc3PDA4bqo=";
+    hash = "sha256-hfHKn3A1Uo0GAHOwzCuOM2FlIyyGBUefQAKX9TJZzHw=";
   };
 
   pythonRemoveDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/opsdroid_get_image_size/default.nix b/nixpkgs/pkgs/development/python-modules/opsdroid-get-image-size/default.nix
index 0f33da44145f..edd09d2750e2 100644
--- a/nixpkgs/pkgs/development/python-modules/opsdroid_get_image_size/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opsdroid-get-image-size/default.nix
@@ -1,15 +1,24 @@
-{ lib, buildPythonPackage, fetchPypi
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
 }:
 
 buildPythonPackage rec {
-  pname = "opsdroid_get_image_size";
+  pname = "opsdroid-get-image-size";
   version = "0.2.2";
+  pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "124j2xvfxv09q42qfb8nqlcn55y7f09iayrix3yfyrs2qyzav78a";
+    pname = "opsdroid_get_image_size";
+    inherit version;
+    hash = "sha256-Cp2tvsdCZ+/86DF7FRNwx5diGcUWLYcFwQns7nYXkog=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # test data not included on pypi
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/optimum/default.nix b/nixpkgs/pkgs/development/python-modules/optimum/default.nix
index 0c8a9a738aa1..2742f9aab8bf 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.12.0";
+  version = "1.13.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "optimum";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/Z7Gh8pAa5z96X7rdcuq6kxtpF53EFGIYOu1ft8w+XM=";
+    hash = "sha256-heTyGgHC9tfS0hFv83sdxVApcXa63GQLG9Nwgi30GFo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/optuna/default.nix b/nixpkgs/pkgs/development/python-modules/optuna/default.nix
index f3b41af02096..7a3b3cca06b0 100644
--- a/nixpkgs/pkgs/development/python-modules/optuna/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/optuna/default.nix
@@ -13,6 +13,7 @@
 , distributed
 , fakeredis
 , fastai
+, google-cloud-storage
 , lightgbm
 , matplotlib
 , mlflow
@@ -43,7 +44,7 @@
 
 buildPythonPackage rec {
   pname = "optuna";
-  version = "3.3.0";
+  version = "3.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -52,7 +53,7 @@ buildPythonPackage rec {
     owner = "optuna";
     repo = "optuna";
     rev = "refs/tags/v${version}";
-    hash = "sha256-uHv8uEJOQO1+AeNSxBtnCt6gDQHLT1RToF4hfolVVX0=";
+    hash = "sha256-WUjO13NxX0FneOPS4nn6aHq48X95r+GJR/Oxir6n8Pk=";
   };
 
   nativeBuildInputs = [
@@ -62,7 +63,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     alembic
-    cmaes
     colorlog
     numpy
     packaging
@@ -96,6 +96,8 @@ buildPythonPackage rec {
     optional = [
       boto3
       botorch
+      cmaes
+      google-cloud-storage
       matplotlib
       pandas
       plotly
diff --git a/nixpkgs/pkgs/development/python-modules/oracledb/default.nix b/nixpkgs/pkgs/development/python-modules/oracledb/default.nix
index de0c449905a2..cdaa5ee907a6 100644
--- a/nixpkgs/pkgs/development/python-modules/oracledb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oracledb/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "oracledb";
-  version = "1.4.1";
+  version = "1.4.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-v2IlgQNsfTdWZDOANv4X7/0SStEjyDZeIvJ0LQvSN68=";
+    hash = "sha256-4o7ZBG8nNdwt1bvN82Z/KE44Tg7H7tPus3mPqKfUfjY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix b/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix
index 2673151654a3..9c5381171e2f 100644
--- a/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix
@@ -8,22 +8,21 @@
 , docutils
 , filelock
 , lockfile
+, numpy
 , pytest-qt
 , pytestCheckHook
-, python
 , qasync
 , qt5
-, writeShellScript
-, xvfb-run
+, requests-cache
 }:
 
 buildPythonPackage rec {
   pname = "orange-canvas-core";
-  version = "0.1.31";
+  version = "0.1.32";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kqh/c0pEWFLqf1BMD79li1MqLpH/4xrdTH9+/7YO/tg=";
+    hash = "sha256-UE5LHsG7BrJqC0rNRtUUqmXSPsYRVqodiU5DsB/6ECo=";
   };
 
   propagatedBuildInputs = [
@@ -34,7 +33,9 @@ buildPythonPackage rec {
     docutils
     filelock
     lockfile
+    numpy
     qasync
+    requests-cache
   ];
 
   pythonImportsCheck = [ "orangecanvas" ];
diff --git a/nixpkgs/pkgs/development/python-modules/orange-widget-base/default.nix b/nixpkgs/pkgs/development/python-modules/orange-widget-base/default.nix
index ee556ab39f77..c89a1a8e2ce0 100644
--- a/nixpkgs/pkgs/development/python-modules/orange-widget-base/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/orange-widget-base/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "orange-widget-base";
-  version = "4.21.0";
+  version = "4.22.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-43JeEdgEb6WS7PySW1x08fn02yl9Q/HwwKo6ojaqiH0=";
+    hash = "sha256-nV2aBPZzn7K+QECtCVoLLh5smG31zE2G9jFTKlxh9qM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/orange3/default.nix b/nixpkgs/pkgs/development/python-modules/orange3/default.nix
index cff4a603c846..fa1204ffa733 100644
--- a/nixpkgs/pkgs/development/python-modules/orange3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/orange3/default.nix
@@ -44,7 +44,7 @@
 let
   self = buildPythonPackage rec {
     pname = "orange3";
-    version = "3.35.0";
+    version = "3.36.0";
     format = "pyproject";
 
     disabled = pythonOlder "3.7";
@@ -53,7 +53,7 @@ let
       owner = "biolab";
       repo = "orange3";
       rev = "refs/tags/${version}";
-      hash = "sha256-dj/Z4uOjA4nidd45dnHZDyHZP6Fy/MGC8asqOPV7U7A=";
+      hash = "sha256-0HIhBdufc46cTOSXa0koelTfZd5sY7QantmwGWggoCU=";
     };
 
     postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/orjson/default.nix b/nixpkgs/pkgs/development/python-modules/orjson/default.nix
index 934b65298f4e..5297cb920d33 100644
--- a/nixpkgs/pkgs/development/python-modules/orjson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/orjson/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "orjson";
-  version = "3.9.4";
+  version = "3.9.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,13 +25,13 @@ buildPythonPackage rec {
     owner = "ijl";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-WS4qynQmJIVdDf0sYK/HFVQ+F5nfoJwx/zzmaL6YTRc=";
+    hash = "sha256-VkCwvksUtgvFLSMy2fHLxrpZjcWYhincSM4fX/Gwl0I=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-hGUXPTiKvKygxQzxXAO/+bD34eLnpkhQ7r/g27E+d4I=";
+    hash = "sha256-IwWbd7LE/t1UEo/bdC0bXl2K8hYyvDPbyHLBIurfb/8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ormar/default.nix b/nixpkgs/pkgs/development/python-modules/ormar/default.nix
index 90b56b3cd4d7..e50d9b2788fa 100644
--- a/nixpkgs/pkgs/development/python-modules/ormar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ormar/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "ormar";
-  version = "0.12.1";
+  version = "0.12.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "collerek";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-7d0vmYDN1EjzNWmylb/As4ywo8YYzQ88UwigIsVnwMM=";
+    hash = "sha256-Yd5ex0bcy61zq5Sn2dKeb98s/CMxUWnyGx6jFWQ3RUs=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/oslo-config/default.nix b/nixpkgs/pkgs/development/python-modules/oslo-config/default.nix
index b70de2a16e4f..50a544c1d7fb 100644
--- a/nixpkgs/pkgs/development/python-modules/oslo-config/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oslo-config/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-config";
-  version = "9.1.1";
+  version = "9.2.0";
 
   src = fetchPypi {
     pname = "oslo.config";
     inherit version;
-    hash = "sha256-sHZUtT2HeSro5zmWKtcpxSnJk4oRjYkezp7jHVlxa8k=";
+    hash = "sha256-/+sBymWmA9VSWQXxqIozGb4Jzixqw3bEMSquwoMJWHg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/oslo-db/default.nix b/nixpkgs/pkgs/development/python-modules/oslo-db/default.nix
index 659d8b816bb9..a8052d4211c0 100644
--- a/nixpkgs/pkgs/development/python-modules/oslo-db/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oslo-db/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-db";
-  version = "12.3.1";
+  version = "14.0.0";
 
   src = fetchPypi {
     pname = "oslo.db";
     inherit version;
-    hash = "sha256-Gd7FAkDwj7q1rnZzVOtZF1oUdz8CcdeDpX/KxJ5KbaE=";
+    hash = "sha256-nAipzYOOv/rSHrMBL64AKg93v5Vpb6RNBbG2OiJ+n8E=";
   };
 
   nativeBuildInputs = [ pbr ];
diff --git a/nixpkgs/pkgs/development/python-modules/oslo-i18n/default.nix b/nixpkgs/pkgs/development/python-modules/oslo-i18n/default.nix
index bfa608448146..e4d0f9f75d93 100644
--- a/nixpkgs/pkgs/development/python-modules/oslo-i18n/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oslo-i18n/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-i18n";
-  version = "6.0.0";
+  version = "6.1.0";
 
   src = fetchPypi {
     pname = "oslo.i18n";
     inherit version;
-    hash = "sha256-7RBoa3X3xgeCUXemaRVfTiWc459hQ6N19jWbvKpKNc0=";
+    hash = "sha256-4rgp8gW/HrYgR1bMNAJ9EZSUti0nH+7oYL+BbKegfq0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix b/nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix
index f076574bfd60..0d55f870e5fa 100644
--- a/nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oslo-utils/default.nix
@@ -23,12 +23,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-utils";
-  version = "6.1.0";
+  version = "6.2.1";
 
   src = fetchPypi {
     pname = "oslo.utils";
     inherit version;
-    hash = "sha256-drwBCNUKypcraP7IKY55G1+8vrmlGifGmGtBsKamLus=";
+    hash = "sha256-EyK6BfoP88Gor8cn/PlF31qoLWWEcn0uBK8Di1roQkQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/oss2/default.nix b/nixpkgs/pkgs/development/python-modules/oss2/default.nix
index 52fc79baed4c..62a98425a9d7 100644
--- a/nixpkgs/pkgs/development/python-modules/oss2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oss2/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "oss2";
-  version = "2.18.1";
+  version = "2.18.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "aliyun";
     repo = "aliyun-oss-python-sdk";
     rev = "refs/tags/${version}";
-    hash = "sha256-4P2o10FhnLwRkhRYS+LzY+ugWPQgz+Tddn9XYR17018=";
+    hash = "sha256-xbbdzuaUvFnXA5glGr/1/s1Bm28d4XbtuvCKaj8Js68=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix b/nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix
index 171940104444..a3853022f0a6 100644
--- a/nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix
@@ -9,7 +9,7 @@
 }:
 let
   pname = "paddle2onnx";
-  version = "1.0.6";
+  version = "1.0.9";
   format = "wheel";
   pyShortVersion = "cp${builtins.replaceStrings ["."] [""] python.pythonVersion}";
   src = fetchPypi {
@@ -18,7 +18,7 @@ let
     python = pyShortVersion;
     abi = pyShortVersion;
     platform = "manylinux_2_12_x86_64.manylinux2010_x86_64";
-    hash = "sha256-qHy6+RKh/gjy1mBmIj+1ENcHuIERkOeM6rrd5GNfX+Q=";
+    hash = "sha256-QnXfcbfzRt1sSagnDLP3ZRLH3KNqK76L+KvifTU6MJQ=";
   };
 in
 buildPythonPackage {
diff --git a/nixpkgs/pkgs/development/python-modules/paddleocr/default.nix b/nixpkgs/pkgs/development/python-modules/paddleocr/default.nix
index 9bd81077abfd..4cc4d283a831 100644
--- a/nixpkgs/pkgs/development/python-modules/paddleocr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paddleocr/default.nix
@@ -28,7 +28,7 @@
 }:
 
 let
-  version = "2.7.0.1";
+  version = "2.7.1";
 in
 buildPythonPackage {
   pname = "paddleocr";
@@ -38,8 +38,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "PaddlePaddle";
     repo = "PaddleOCR";
-    rev = "254786752a2659e184822b4b2de5637a05236590";
-    hash = "sha256-M/Fpk9swX9Gds7o5poM9Iv6LOhKoZNbe0Wv9JNMPOU0=";
+    rev = "v${version}";
+    hash = "sha256-5Dt4UL+7dwJNjcNnCVi3o8bLCt7/m/M6oh1vPu9rza8=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/palettable/default.nix b/nixpkgs/pkgs/development/python-modules/palettable/default.nix
index bd13c288894a..2f7cb7138c4c 100644
--- a/nixpkgs/pkgs/development/python-modules/palettable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/palettable/default.nix
@@ -2,19 +2,23 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "palettable";
-  version = "3.3.2";
-
-  format = "setuptools";
+  version = "3.3.3";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-aoZ8Qlov8ojqtDVr7ewA3gBt7jbJmmFHwuGwXeeJrJ8=";
+    sha256 = "sha256-CU3X2aX8HMpIVHc+XB/GoxWzO9WzqPRwZJKPrK8EkKg=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pandas/default.nix b/nixpkgs/pkgs/development/python-modules/pandas/default.nix
index e64f61e0ddec..147366a2c514 100644
--- a/nixpkgs/pkgs/development/python-modules/pandas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pandas/default.nix
@@ -1,13 +1,15 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
 
 # build-system
 , cython
+, meson-python
+, meson
 , oldest-supported-numpy
-, setuptools
+, pkg-config
 , versioneer
 , wheel
 
@@ -63,24 +65,42 @@
 
 buildPythonPackage rec {
   pname = "pandas";
-  version = "2.0.3";
+  version = "2.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-wC83Kojg0X820wk6ZExzz8F4jodqfEvLQCCndRLiBDw=";
+  src = fetchFromGitHub {
+    owner = "pandas-dev";
+    repo = "pandas";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-QwMW/qc1n51DaVhUnIaG0bdOvDitvvPh6ftoDawiYlc=";
   };
 
+  patches = [
+    # https://github.com/pandas-dev/pandas/issues/54888#issuecomment-1701186809
+    ./installer-fix.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "meson-python==0.13.1" "meson-python>=0.13.1" \
+      --replace "meson==1.0.1" "meson>=1.0.1"
+  '';
+
   nativeBuildInputs = [
-    setuptools
     cython
+    meson-python
+    meson
     numpy
-    oldest-supported-numpy
+    pkg-config
     versioneer
     wheel
-  ] ++ versioneer.optional-dependencies.toml;
+  ]
+  ++ versioneer.optional-dependencies.toml
+  ++ lib.optionals (pythonOlder "3.12") [
+    oldest-supported-numpy
+  ];
 
   enableParallelBuilding = true;
 
@@ -193,10 +213,9 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [
     # https://github.com/pandas-dev/pandas/blob/main/test_fast.sh
-    "--skip-db"
-    "--skip-slow"
-    "--skip-network"
-    "-m" "'not single_cpu and not slow_arm'"
+    "-m" "'not single_cpu and not slow and not network and not db and not slow_arm'"
+    # https://github.com/pandas-dev/pandas/issues/54907
+    "--no-strict-data-files"
     "--numprocesses" "4"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pandas/installer-fix.patch b/nixpkgs/pkgs/development/python-modules/pandas/installer-fix.patch
new file mode 100644
index 000000000000..b1659c9dbb3d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pandas/installer-fix.patch
@@ -0,0 +1,25 @@
+diff --git a/pandas/_libs/meson.build b/pandas/_libs/meson.build
+index f302c649bc..ddce9ea2d6 100644
+--- a/pandas/_libs/meson.build
++++ b/pandas/_libs/meson.build
+@@ -113,8 +113,4 @@ foreach ext_name, ext_dict : libs_sources
+     )
+ endforeach
+ 
+-py.install_sources('__init__.py',
+-                    pure: false,
+-                    subdir: 'pandas/_libs')
+-
+ subdir('window')
+diff --git a/pandas/_libs/tslibs/meson.build b/pandas/_libs/tslibs/meson.build
+index 14d2eef46d..a862345c3a 100644
+--- a/pandas/_libs/tslibs/meson.build
++++ b/pandas/_libs/tslibs/meson.build
+@@ -30,7 +30,3 @@ foreach ext_name, ext_dict : tslibs_sources
+         install: true
+     )
+ endforeach
+-
+-py.install_sources('__init__.py',
+-                    pure: false,
+-                    subdir: 'pandas/_libs/tslibs')
diff --git a/nixpkgs/pkgs/development/python-modules/parametrize-from-file/default.nix b/nixpkgs/pkgs/development/python-modules/parametrize-from-file/default.nix
index 38370a1c805a..79a073af9955 100644
--- a/nixpkgs/pkgs/development/python-modules/parametrize-from-file/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parametrize-from-file/default.nix
@@ -1,9 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
+, flit-core
 , pytestCheckHook
-, coveralls
 , numpy
 , decopatch
 , more-itertools
@@ -15,23 +14,15 @@
 
 buildPythonPackage rec {
   pname = "parametrize-from-file";
-  version = "0.17.0";
-  format = "flit";
+  version = "0.18.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit version;
     pname = "parametrize_from_file";
-    hash = "sha256-suxQht9YS+8G0RXCTuEahaI60daBda7gpncLmwySIbE=";
+    hash = "sha256-mYE8J7XWlvCS2H3kt0bB8dyPHFDqmW8NiH9UCrNccAU=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "replace contextlib2-with-contextlib.patch";
-      url = "https://github.com/kalekundert/parametrize_from_file/commit/edee706770a713130da7c4b38b0a07de1bd79c1b.patch";
-      hash = "sha256-VkPKGkYYTB5XCavtEEnFJ+EdNUUhITz/euwlYAPC/tQ=";
-    })
-  ];
-
   # patch out coveralls since it doesn't provide us value
   preBuild = ''
     sed -i '/coveralls/d' ./pyproject.toml
@@ -40,6 +31,10 @@ buildPythonPackage rec {
       --replace "more_itertools~=8.10" "more_itertools"
   '';
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   nativeCheckInputs = [
     numpy
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/paramiko/default.nix b/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
index 278556fe4885..278bb0583e35 100644
--- a/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paramiko/default.nix
@@ -5,23 +5,23 @@
 , fetchpatch
 , fetchPypi
 , gssapi
+, icecream
 , invoke
 , mock
 , pyasn1
 , pynacl
-, pytest-relaxed
 , pytestCheckHook
 , six
 }:
 
 buildPythonPackage rec {
   pname = "paramiko";
-  version = "2.11.0";
+  version = "3.3.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AD5r7nwDTCH7sFG/g9wKnuQQYgTdPFMFTHFFLMTsOTg=";
+    hash = "sha256-ajd3qWGshtvvN1xfW41QAUoaltD9fwVKQ7yIATSw/3c=";
   };
 
   patches = [
@@ -31,11 +31,6 @@ buildPythonPackage rec {
       url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch";
       hash = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA=";
     })
-    (fetchpatch {
-      name = "fix-sftp-tests.patch";
-      url = "https://github.com/paramiko/paramiko/commit/47cfed55575c21ac558e6d00a4ab1814406be651.patch";
-      hash = "sha256-H3nKT8+4CTEDoiqnlhFfuKnc/65GGfwwAm9H2lwrlK8=";
-    })
   ];
 
   propagatedBuildInputs = [
@@ -52,6 +47,7 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
+    icecream
     mock
     pytestCheckHook
   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
@@ -70,6 +66,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/paramiko/paramiko/";
+    changelog = "https://github.com/paramiko/paramiko/blob/${version}/sites/www/changelog.rst";
     description = "Native Python SSHv2 protocol library";
     license = licenses.lgpl21Plus;
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/python-modules/parse-type/default.nix b/nixpkgs/pkgs/development/python-modules/parse-type/default.nix
index e795ab3d49d3..e7ebfb5c63e4 100644
--- a/nixpkgs/pkgs/development/python-modules/parse-type/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parse-type/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "parse-type";
-  version = "0.6.0";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "jenisys";
     repo = "parse_type";
-    rev = "v${version}";
-    hash = "sha256-v79zzAAwXYoK2N8ZPl1L90qOwMRexAV2wCTMvo4vrSc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-dunvcSi+nN5VruvRUPIEpkyUsmeS+kIYDfS8ibDR96s=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/parse/default.nix b/nixpkgs/pkgs/development/python-modules/parse/default.nix
index 1ce34bfaab68..7956a2971b51 100644
--- a/nixpkgs/pkgs/development/python-modules/parse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parse/default.nix
@@ -1,18 +1,27 @@
-{ lib, fetchPypi
-, buildPythonPackage, python
+{ lib, fetchFromGitHub
+, buildPythonPackage
+, setuptools
+, pytestCheckHook
 }:
 buildPythonPackage rec {
   pname = "parse";
-  version = "1.19.0";
+  version = "1.19.1";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9ff82852bcb65d139813e2a5197627a94966245c897796760a3a2a8eb66f020b";
+  src = fetchFromGitHub {
+    owner = "r1chardj0n3s";
+    repo = "parse";
+    rev = "refs/tags/${version}";
+    hash = "sha256-f08SlkGnwhSh0ajTKFqBAGGFvLj8nWBZVb6uClbRaP4=";
   };
 
-  checkPhase = ''
-    ${python.interpreter} test_parse.py
-  '';
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/r1chardj0n3s/parse";
diff --git a/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix b/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix
index 5002f564094c..912768621d10 100644
--- a/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix
@@ -41,7 +41,7 @@ let
 in
 buildPythonPackage rec {
   pname = "parsedmarc";
-  version = "8.4.2";
+  version = "8.6.1";
 
   disabled = pythonOlder "3.7";
 
@@ -49,7 +49,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6dP9zQI0jYiE+lUhmFBNp8Sv9povm9Pa4R4TuzAmEQk=";
+    hash = "sha256-lnIhXkBodvLWVeqiwFcnU4M53zwWDmtFz+9TThQY63I=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/partd/default.nix b/nixpkgs/pkgs/development/python-modules/partd/default.nix
index d633b8dfceb1..52e76646875e 100644
--- a/nixpkgs/pkgs/development/python-modules/partd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/partd/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "partd";
-  version = "1.3.0";
+  version = "1.4.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zpGrzcYXjWaLyqQxeRpakX2QI0HLGT9UP+RF1JRmBIU=";
+    hash = "sha256-qg/zXbvMgHrjdNtWMy9MGzm0b2e/KXX1FR4LQYau0NU=";
   };
 
   nativeCheckInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/parver/default.nix b/nixpkgs/pkgs/development/python-modules/parver/default.nix
index d69a9a54e501..b18d7db34766 100644
--- a/nixpkgs/pkgs/development/python-modules/parver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parver/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "parver";
-  version = "0.4";
+  version = "0.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1KPbuTxTNz7poLoFXkhYxEFpsgS5EuSdAD6tlduam8o=";
+    hash = "sha256-uf3h5ruc6fB+COnEvqjYglxeeOGKAFLQLgK/lRfrR3c=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/paste/default.nix b/nixpkgs/pkgs/development/python-modules/paste/default.nix
index 2388e2d15c6d..7b436c697d86 100644
--- a/nixpkgs/pkgs/development/python-modules/paste/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paste/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "paste";
-  version = "3.5.3";
+  version = "3.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "cdent";
     repo = "paste";
     rev = "refs/tags/${version}";
-    hash = "sha256-W02UY9P3qjIFhR/DCpQZyvjEmJYl0MvMcGt9N4xgbaY=";
+    hash = "sha256-vVCJn8PhLNw0fj+/tTigTEodn9SEKv0VASJf4LKJy20=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/patator/default.nix b/nixpkgs/pkgs/development/python-modules/patator/default.nix
index 9083f197aae3..62f75cf37cab 100644
--- a/nixpkgs/pkgs/development/python-modules/patator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/patator/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "patator";
-  version = "0.9";
+  version = "1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-aMskvcMELuDUeiiLGai5mmxUvb1N3wxYF9m5rAoNihU=";
+    hash = "sha256-VQ7JPyQOY9X/7LVAvTwftoOegt4KyfERgu38HfmsYDM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/path/default.nix b/nixpkgs/pkgs/development/python-modules/path/default.nix
index 93f1fbcabe55..ee0329c4050d 100644
--- a/nixpkgs/pkgs/development/python-modules/path/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/path/default.nix
@@ -1,27 +1,23 @@
 { lib
+, appdirs
 , buildPythonPackage
-, pythonOlder
 , fetchPypi
-
-# build time
-, setuptools-scm
-
-# tests
-, pytestCheckHook
-, appdirs
 , packaging
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "path";
-  version = "16.6.0";
+  version = "16.7.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vqOBbh1U9OM6rHjSAxoLDtL5XmnbhbRdUfF9+XBx2mk=";
+    hash = "sha256-K0d/WIcDPzy+oc/YVT7mpqSY6yVAoZ9KoIKCKq3Oowo=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +41,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Object-oriented file system path manipulation";
     homepage = "https://github.com/jaraco/path";
+    changelog = "https://github.com/jaraco/path/blob/v${version}/NEWS.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pathos/default.nix b/nixpkgs/pkgs/development/python-modules/pathos/default.nix
index 6f60593054b1..cf9d9eaa48ca 100644
--- a/nixpkgs/pkgs/development/python-modules/pathos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pathos/default.nix
@@ -1,16 +1,16 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
 , dill
+, fetchFromGitHub
+, multiprocess
 , pox
 , ppft
-, multiprocess
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pathos";
-  version = "0.3.0";
+  version = "0.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "uqfoundation";
     repo = pname;
     rev = "refs/tags/pathos-${version}";
-    hash = "sha256-Jc7pMVjOUSaZydRh87FsHivEAXpX9v6EbZNkHwPeq/Q=";
+    hash = "sha256-uQv1t3TRbvoQv86wNOdc5k0cgKt9kvnw5/DGbbbE46w=";
   };
 
   propagatedBuildInputs = [
@@ -39,6 +39,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Parallel graph management and execution in heterogeneous computing";
     homepage = "https://pathos.readthedocs.io/";
+    changelog = "https://github.com/uqfoundation/pathos/releases/tag/pathos-${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pathspec/default.nix b/nixpkgs/pkgs/development/python-modules/pathspec/default.nix
index b43bcdb2382b..5b97cea17b79 100644
--- a/nixpkgs/pkgs/development/python-modules/pathspec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pathspec/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "pathspec";
-  version = "0.11.0";
+  version = "0.11.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZNM41OCRTpHBeSMh5pB7Wlk/GrGFHef8JpVXohsw67w=";
+    hash = "sha256-4NjQrC8S2mGVbrIwa2n5RptC9N6w88tu1HuczpmWztM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/patiencediff/default.nix b/nixpkgs/pkgs/development/python-modules/patiencediff/default.nix
index 4837ffba7c27..00d551885677 100644
--- a/nixpkgs/pkgs/development/python-modules/patiencediff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/patiencediff/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "patiencediff";
-  version = "0.2.13";
+  version = "0.2.14";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "breezy-team";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Hst/2hRqH8AIKD2EXtJo8m3diOxPBWAmNhtS3TUYT3I=";
+    hash = "sha256-KTOESjaj8fMxJZ7URqg6UMpiQppqZAlk4IPWEw4/Nvw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pcpp/default.nix b/nixpkgs/pkgs/development/python-modules/pcpp/default.nix
index 704e979c2caa..0985d32afb55 100644
--- a/nixpkgs/pkgs/development/python-modules/pcpp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pcpp/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "pcpp";
-  version = "1.21";
+  version = "1.30";
 
   src = fetchFromGitHub {
     owner = "ned14";
     repo = "pcpp";
-    rev = "v${version}";
-    sha256 = "0k52qyxzdngdhyn4sya2qn1w1a4ll0mcla4h4gb1v91fk4lw25dm";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-Fs+CMV4eRKcB+KdV93ncgcqaMnO5etnMY/ivmSJh3Wc=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pdbfixer/default.nix b/nixpkgs/pkgs/development/python-modules/pdbfixer/default.nix
new file mode 100644
index 000000000000..9b0f0bfe86aa
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pdbfixer/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, wheel
+, numpy
+, openmm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pdbfixer";
+  version = "1.9";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "openmm";
+    repo = "pdbfixer";
+    rev = version;
+    hash = "sha256-ZXQWdNQyoVgjpZj/Wimcfwcbxk3CIvg3n5S1glNYUP4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    openmm
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export PATH=$out/bin:$PATH
+  '';
+
+  disabledTests = [
+    # require network access
+    "test_build_and_simulate"
+    "test_mutate_1"
+    "test_mutate_2"
+    "test_mutate_3_fails"
+    "test_mutate_4_fails"
+    "test_mutate_5_fails"
+    "test_mutate_multiple_copies_of_chain_A"
+    "test_pdbid"
+    "test_url"
+  ];
+
+  pythonImportsCheck = [ "pdbfixer" ];
+
+  meta = with lib; {
+    description = "PDBFixer fixes problems in PDB files";
+    homepage = "https://github.com/openmm/pdbfixer";
+    changelog = "https://github.com/openmm/pdbfixer/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+    mainProgram = "pdbfixer";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix b/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix
index a43eaae34a80..37809324e275 100644
--- a/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pdfplumber";
-  version = "0.9.0";
+  version = "0.10.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "jsvine";
     repo = "pdfplumber";
     rev = "refs/tags/v${version}";
-    hash = "sha256-cGTn1JTSp1YvksemjlvvToZcVauZ7GKINiNmG5f4zKg=";
+    hash = "sha256-nuHHEVOYm2/PkXIs9Ze5y5xyJMLkxqp3q3u4gV8Ks80=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pdm-backend/default.nix b/nixpkgs/pkgs/development/python-modules/pdm-backend/default.nix
index 96f626b24b61..0572a1e633b8 100644
--- a/nixpkgs/pkgs/development/python-modules/pdm-backend/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdm-backend/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pdm-backend";
-  version = "2.1.4";
+  version = "2.1.6";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pdm-project";
     repo = "pdm-backend";
     rev = "refs/tags/${version}";
-    hash = "sha256-46HTamiy+8fiGVeviYqXsjwu+PEBE38y19cBVRc+zm0=";
+    hash = "sha256-ZEci8VeKYuORs9iAzaEqrtVBh9fMWHlLsFH1e5PRLwA=";
   };
 
   env.PDM_BUILD_SCM_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pdoc/default.nix b/nixpkgs/pkgs/development/python-modules/pdoc/default.nix
index fc9ce57cde03..621c2842e70c 100644
--- a/nixpkgs/pkgs/development/python-modules/pdoc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdoc/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pdoc";
-  version = "14.0.0";
+  version = "14.1.0";
   disabled = pythonOlder "3.8";
 
   format = "pyproject";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mitmproxy";
     repo = "pdoc";
     rev = "v${version}";
-    hash = "sha256-rMHp0diXvWIOyucuTAXO/IOljKhDYOZKtkih5+rUJCM=";
+    hash = "sha256-LQXhdzocw01URrmpDayK9rpsArvM/E44AE8Eok9DBwk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix b/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix
index 24f1be71cb3c..38397535c01f 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.4.2";
+  version = "19.5.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SJ3G301HO0TnrupzhK4K6JPDs25Nltv+lNj1nQB7gV4=";
+    hash = "sha256-AkVUYUZobQsnSfMfciiSbPwo0HCnlO3NLoUA1+wqBt4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/peewee-migrate/default.nix b/nixpkgs/pkgs/development/python-modules/peewee-migrate/default.nix
index da6f60403c33..dc7cefd00c0d 100644
--- a/nixpkgs/pkgs/development/python-modules/peewee-migrate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/peewee-migrate/default.nix
@@ -17,24 +17,26 @@
 
 buildPythonPackage rec {
   pname = "peewee-migrate";
-  version = "1.10.1";
+  version = "1.12.2";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "klen";
     repo = "peewee_migrate";
     rev = "refs/tags/${version}";
-    hash = "sha256-SBHeXHfhYjyXr+tODryKQfxZKy7l4ez5C6eU6FjS2qI=";
+    hash = "sha256-jxM2cvlDsoiUlVoxdS3wpUKlwMveMraiR431A8kIdgI=";
   };
 
-  nativeBuildInputs = [
-    poetry-core
-  ];
-
   postPatch = ''
     sed -i '/addopts/d' pyproject.toml
   '';
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     peewee
     click
@@ -49,6 +51,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    #  sqlite3.OperationalError: error in table order after drop column...
+    "test_migrator"
+  ];
+
   meta = with lib; {
     description = "Simple migration engine for Peewee";
     homepage = "https://github.com/klen/peewee_migrate";
diff --git a/nixpkgs/pkgs/development/python-modules/peewee/default.nix b/nixpkgs/pkgs/development/python-modules/peewee/default.nix
index 7f494813a19a..ca5d4f45677c 100644
--- a/nixpkgs/pkgs/development/python-modules/peewee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/peewee/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "peewee";
-  version = "3.16.2";
+  version = "3.16.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "coleifer";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-eHTbVhgVqxMR3ZuaC6FPyYbxRpRBi53EfDqERpPBjVQ=";
+    hash = "sha256-QeJaGTKZHmzN+J8uUGXQJXCTINX7iP30u+s+GDP/kpQ=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pep440/default.nix b/nixpkgs/pkgs/development/python-modules/pep440/default.nix
index c9753a47d81a..0faa3c324b37 100644
--- a/nixpkgs/pkgs/development/python-modules/pep440/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pep440/default.nix
@@ -9,7 +9,7 @@
 buildPythonPackage rec {
   pname = "pep440";
   version = "0.1.2";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
diff --git a/nixpkgs/pkgs/development/python-modules/periodiq/default.nix b/nixpkgs/pkgs/development/python-modules/periodiq/default.nix
new file mode 100644
index 000000000000..5ed6a028aa38
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/periodiq/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitLab
+, poetry-core
+, dramatiq
+, pendulum
+, setuptools
+, pytest-mock
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "periodiq";
+  version = "0.12.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitLab {
+    owner = "bersace";
+    repo = "periodiq";
+    rev = "v${version}";
+    hash = "sha256-Ar0n+Wi1OUtRdhVxrU7Nz4je8ylaHgPZbXE0a30hzU0=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'poetry>=0.12' 'poetry-core' \
+      --replace 'poetry.masonry.api' 'poetry.core.masonry.api'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    dramatiq
+    pendulum
+    setuptools
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook pytest-mock ];
+
+  pytestFlagsArray = [ "tests/unit" ];
+
+  pythonImportsCheck = [ "periodiq" ];
+
+  meta = with lib; {
+    description = "Simple Scheduler for Dramatiq Task Queue";
+    homepage = "https://pypi.org/project/periodiq/";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ traxys ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/persistent/default.nix b/nixpkgs/pkgs/development/python-modules/persistent/default.nix
index 6a20154da380..efe366123bdf 100644
--- a/nixpkgs/pkgs/development/python-modules/persistent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/persistent/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "persistent";
-  version = "5.0";
+  version = "5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hx5jxSExFgeVzcjpw90xP4bg3/NMFRyY3NkSPG2M5nM=";
+    hash = "sha256-l8zC+ibMm9zDvh/GWqT08or+UgTC1P0kpnRFkI23Rps=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pex/default.nix b/nixpkgs/pkgs/development/python-modules/pex/default.nix
index a9462cd8e2cc..3eba4ff82878 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.147";
+  version = "2.1.148";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-oTzMMTbq+prKNE8hhBWsRvhxBD+Ca/M1pVuppSByjp4=";
+    hash = "sha256-XRER28ObI9TsZ5h5LkAXhExGq+c4hpoEun2hagkpUXk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
index 9e0815ddfc71..ee580829bbe0 100644
--- a/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pg8000/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.29.4";
+  version = "1.30.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dtKqF1ejC8ceAwfa4Yw3TjNqaRI+awRuIGqWYR+iozA=";
+    hash = "sha256-wEKA5mocz7UWbbXBZBZMLhuPYq+u3/0hFFGlMproSik=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pglast/default.nix b/nixpkgs/pkgs/development/python-modules/pglast/default.nix
index 61022edb9f22..4edaa22bb16d 100644
--- a/nixpkgs/pkgs/development/python-modules/pglast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pglast/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "5.4";
+  version = "5.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fyLvgaYHmTh9OaWXkuenKmNTHCVYFln/FbN+5u2a9+8=";
+    hash = "sha256-yz6Q+Vt7ZuT9NaxuQQA+BH7U6Efaim7No6GJmnOQo1o=";
   };
 
   propagatedBuildInputs = [
@@ -37,10 +37,15 @@ buildPythonPackage rec {
     pytest
   '';
 
+  pythonImportsCheck = [
+    "pglast"
+    "pglast.parser"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/lelit/pglast";
     description = "PostgreSQL Languages AST and statements prettifier";
-    changelog = "https://github.com/lelit/pglast/raw/v${version}/CHANGES.rst";
+    changelog = "https://github.com/lelit/pglast/blob/v${version}/CHANGES.rst";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ marsam ];
     mainProgram = "pgpp";
diff --git a/nixpkgs/pkgs/development/python-modules/pgmpy/default.nix b/nixpkgs/pkgs/development/python-modules/pgmpy/default.nix
index 6fef789e9b40..e9ca2003fa81 100644
--- a/nixpkgs/pkgs/development/python-modules/pgmpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pgmpy/default.nix
@@ -23,7 +23,7 @@
 }:
 let
   pname = "pgmpy";
-  version = "0.1.23";
+  version = "0.1.24";
   # optional-dependencies = {
   #   all = [ daft ];
   # };
@@ -37,8 +37,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "pgmpy";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-4NY37Awhu2mnfZQ/biN1wa9rkGHhTxfZm0+V7D83NR0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-IMlo4SBxO9sPoZl0rQGc3FcvvIN/V/WZz+1BD7aBfzs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/piccolo-theme/default.nix b/nixpkgs/pkgs/development/python-modules/piccolo-theme/default.nix
index 0cb84c332a88..3b68065a23b2 100644
--- a/nixpkgs/pkgs/development/python-modules/piccolo-theme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/piccolo-theme/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "piccolo-theme";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchPypi {
     pname = "piccolo_theme";
     inherit version;
-    hash = "sha256-sq/xWPLLAz4w6JdUfnB5E52hmj8gmrbg1oeBedyjCEE=";
+    hash = "sha256-tEgYrQaVcWZadmhV6JRuXnk8m9oJLNSfb0hA309bX1U=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pika/default.nix b/nixpkgs/pkgs/development/python-modules/pika/default.nix
index ff3b9207182e..ead9239f5cde 100644
--- a/nixpkgs/pkgs/development/python-modules/pika/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pika/default.nix
@@ -1,11 +1,19 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+
+# build-system
+, setuptools
+
+# dependencies
 , gevent
-, nose2
-, mock
 , twisted
 , tornado
+
+# tests
+, nose2
+, mock
+
 }:
 
 buildPythonPackage rec {
@@ -20,9 +28,20 @@ buildPythonPackage rec {
     hash = "sha256-60Z+y3YXazUghfnOy4e7HzM18iju5m5OEt4I3Wg6ty4=";
   };
 
-  propagatedBuildInputs = [ gevent tornado twisted ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    gevent
+    tornado
+    twisted
+  ];
 
-  nativeCheckInputs = [ nose2 mock ];
+  nativeCheckInputs = [
+    nose2
+    mock
+  ];
 
   postPatch = ''
     # don't stop at first test failure
@@ -45,7 +64,9 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
+    changelog = "https://github.com/pika/pika/releases/tag/${version}";
     description = "Pure-Python implementation of the AMQP 0-9-1 protocol";
+    downloadPage = "https://github.com/pika/pika";
     homepage = "https://pika.readthedocs.org";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/development/python-modules/pillow-heif/default.nix b/nixpkgs/pkgs/development/python-modules/pillow-heif/default.nix
new file mode 100644
index 000000000000..6edc041ed481
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pillow-heif/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# build-system
+, cmake
+, nasm
+
+# native dependencies
+, libheif
+, libaom
+, libde265
+, x265
+
+# dependencies
+, pillow
+
+# tests
+, opencv4
+, numpy
+, pympler
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pillow-heif";
+  version = "0.13.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "bigcat88";
+    repo = "pillow_heif";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-GbOW29rGpLMS7AfShuO6UCzcspdHtFS7hyNKori0otI=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    nasm
+  ];
+
+  dontUseCmakeConfigure = true;
+
+  buildInputs = [
+    libaom
+    libde265
+    libheif
+    x265
+  ];
+
+  propagatedBuildInputs = [
+    pillow
+  ];
+
+  pythonImportsCheck = [
+    "pillow_heif"
+  ];
+
+  nativeCheckInputs = [
+    opencv4
+    numpy
+    pympler
+    pytestCheckHook
+  ];
+
+  meta = {
+    changelog = "https://github.com/bigcat88/pillow_heif/releases/tag/v${version}";
+    description = "Python library for working with HEIF images and plugin for Pillow";
+    homepage = "https://github.com/bigcat88/pillow_heif";
+    license = with lib.licenses; [ bsd3 lgpl3 ];
+    maintainers = with lib.maintainers; [ dandellion ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix b/nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix
index 84f3798df846..62fb96fb31aa 100644
--- a/nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pinecone-client/default.nix
@@ -13,11 +13,11 @@
 }:
 buildPythonPackage rec {
   pname = "pinecone-client";
-  version = "2.2.2";
+  version = "2.2.4";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OR/kE3VO/U4O8AFUtEJx1jxM3Uvt8IjSMRGlcl2GMhA=";
+    hash = "sha256-LBzB1mSLK+ZulE2y/6WRZqN7kWTRE1rVJdnNix4pgWg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pkgutil-resolve-name/default.nix b/nixpkgs/pkgs/development/python-modules/pkgutil-resolve-name/default.nix
index d70cfd1c4345..ddb610b53bcf 100644
--- a/nixpkgs/pkgs/development/python-modules/pkgutil-resolve-name/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pkgutil-resolve-name/default.nix
@@ -1,13 +1,15 @@
 { buildPythonPackage
 , fetchPypi
+, fetchpatch
 , lib
 , nix-update-script
 , pythonOlder
+, flit-core
 }:
 buildPythonPackage rec {
   pname = "pkgutil-resolve-name";
   version = "1.3.10";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -17,6 +19,18 @@ buildPythonPackage rec {
     hash = "sha256-NX1snmp1VlPP14iTgXwIU682XdUeyX89NYqBk3O70XQ=";
   };
 
+  patches = [
+    # Raise flit-core version constrains
+    (fetchpatch { # https://github.com/graingert/pkgutil-resolve-name/pull/5
+      url = "https://github.com/graingert/pkgutil-resolve-name/commit/042834290c735fa836bb308ce9e93c9f64d67cbe.patch";
+      hash = "sha256-M1rcrkdFcoFa3IncPnJaRhnXbelyk56QnMGtmgB6bvk=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   # has no tests
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/plac/default.nix b/nixpkgs/pkgs/development/python-modules/plac/default.nix
index 752c7aab5e83..a1822fe5157d 100644
--- a/nixpkgs/pkgs/development/python-modules/plac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plac/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "plac";
-  version = "1.3.5";
+  version = "1.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,8 +15,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "ialbert";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-U3k97YJhQjulYNWcKVx96/5zND5VfsRjA3ZZHWhcDNg=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-BH6NKbDMhlNuo+orIEweABNSVZv1K9VrZBrCIs6H6BU=";
   };
 
   # tests are broken, see https://github.com/ialbert/plac/issues/74
diff --git a/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix b/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
index 6064eb500678..a88ce34ab0d9 100644
--- a/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "16.0.0";
+  version = "17.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FoZTfTPKidY0VPHYui25ArFm/MBIC7Ynwo9TyMT7st4=";
+    hash = "sha256-rVYyS2Wc3PC3BvkzUSe88sSXxJCElmP5s7B1NxSFAWY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plaster-pastedeploy/default.nix b/nixpkgs/pkgs/development/python-modules/plaster-pastedeploy/default.nix
index ad1fa2d68fd1..9e6263351daa 100644
--- a/nixpkgs/pkgs/development/python-modules/plaster-pastedeploy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plaster-pastedeploy/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , plaster
 , pastedeploy
 , pytestCheckHook
@@ -9,22 +8,14 @@
 
 buildPythonPackage rec {
   pname = "plaster-pastedeploy";
-  version = "0.6";
+  version = "1.0.1";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "c231130cb86ae414084008fe1d1797db7e61dc5eaafb5e755de21387c27c6fae";
+    pname = "plaster_pastedeploy";
+    inherit version;
+    hash = "sha256-viYubS5BpyZIddqi/ihQy7BhVyi83JKCj9xyc244FBI=";
   };
 
-  patches = [
-    # Fix tests compatibility with pastedeploy 2+
-    # https://github.com/Pylons/plaster_pastedeploy/pull/17
-    (fetchpatch {
-      url = "https://github.com/Pylons/plaster_pastedeploy/commit/d77d81a57e917c67a20332beca8f418651172905.patch";
-      sha256 = "0n5vnqn8kad41kn9grcwiic6c6rhvy1ji3w81s2v9xyk0bd9yryf";
-    })
-  ];
-
   propagatedBuildInputs = [ plaster pastedeploy ];
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix b/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix
index f64a76d3e625..777ba72bcc2c 100644
--- a/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "platformdirs";
-  version = "3.9.1";
+  version = "3.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-gBiXdnBWp0SlpE6TQPONTXEsQ2XFGCANGdNM/gv7V5s=";
+    hash = "sha256-Ytilbs29oxuwLfoKTXNQxlh8qBF39F2ZRK8imd57A1w=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/playwright/default.nix b/nixpkgs/pkgs/development/python-modules/playwright/default.nix
index ec7a53f423a0..7751452d5fb8 100644
--- a/nixpkgs/pkgs/development/python-modules/playwright/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/playwright/default.nix
@@ -16,15 +16,15 @@ in
 buildPythonPackage rec {
   pname = "playwright";
   # run ./pkgs/development/python-modules/playwright/update.sh to update
-  version = "1.37.0";
+  version = "1.38.0";
   format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "playwright-python";
-    rev = "v${version}";
-    hash = "sha256-7egK76A3+C+JPbCNFXDd4qTjepBRSZgtQmFrE/jWJN4=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-K3ZLDnDtV9PWX0etVv6RIDHp0vZZ7b7DGJ1GjP2kfXU=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
index c2623977be4c..57b4cb430b77 100644
--- a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.15.1";
+  version = "4.15.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-mxVj98wbstUx/Abim7kzVVt/8kaAPVOhv4zt+PFgi3Y=";
+    hash = "sha256-NBV4jrLfU5vqQljQh28tJxgaNSo/ilph8xsjdVKCOJg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plexwebsocket/default.nix b/nixpkgs/pkgs/development/python-modules/plexwebsocket/default.nix
index 430394c416c5..eaaed97c01b7 100644
--- a/nixpkgs/pkgs/development/python-modules/plexwebsocket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plexwebsocket/default.nix
@@ -1,30 +1,39 @@
-{ lib, buildPythonPackage, fetchFromGitHub, aiohttp, isPy27 }:
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "plexwebsocket";
-  version = "0.0.13";
-  disabled = isPy27;
+  version = "0.0.14";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jjlawren";
     repo = "python-plexwebsocket";
-    rev = "v${version}";
-    hash = "sha256-u9zO3d0d4Qg+u4ezVRGkNDpJqHkYIMrEMJzBK5WKk8Y=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-gT9RWpaR33ROs6ttjH2joNPi99Ng94Tp/R9eZY1eGZk=";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
-  # package does not include tests
+  # Package does not include tests
   doCheck = false;
 
-  # at least guarantee the module can be imported
   pythonImportsCheck = [
     "plexwebsocket"
   ];
 
   meta = with lib; {
+    description = "Library to react to events issued over Plex websockets";
     homepage = "https://github.com/jjlawren/python-plexwebsocket/";
-    description = "Async library to react to events issued over Plex websockets";
+    changelog = "https://github.com/jjlawren/python-plexwebsocket/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ colemickens ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/plotly/default.nix b/nixpkgs/pkgs/development/python-modules/plotly/default.nix
index 201f2fcfc4bd..4698a84cefb1 100644
--- a/nixpkgs/pkgs/development/python-modules/plotly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plotly/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "5.13.1";
+  version = "5.16.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kO6aH+4N2jDigw4SmFUIHqF70bBqVTpiti3hXK/xohk=";
+    hash = "sha256-KVrCXt6xjIk6u3Hcrc6gdbeP1v3wfO5CF6ThAJZnkls=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plotnine/default.nix b/nixpkgs/pkgs/development/python-modules/plotnine/default.nix
index 717f530ef16d..241dced9f7e5 100644
--- a/nixpkgs/pkgs/development/python-modules/plotnine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plotnine/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "plotnine";
-  version = "0.10.1";
+  version = "0.12.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2RKgS2ONz4IsUaZ4i4VmQjI0jVFfFR2zpkwAAZZvaEE=";
+    hash = "sha256-o43LNgf8ADweWa4MnVNdrngXZQ0cvC5W5W5bPeiN/pk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
index c1a5338eba5a..8876eea828af 100644
--- a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.33.0";
+  version = "0.33.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    hash = "sha256-EhPy1n1dsvsE4ciVNx86Ttvoyc61e2Lxecioy0kVN4A=";
+    hash = "sha256-uJBUim5FlS+Jw3rGEKuorksVIgI5tVRAI7tESeYnGUc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plyer/default.nix b/nixpkgs/pkgs/development/python-modules/plyer/default.nix
index f190dcb6b24e..5b8bc870b838 100644
--- a/nixpkgs/pkgs/development/python-modules/plyer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plyer/default.nix
@@ -2,35 +2,22 @@
 
 buildPythonPackage rec {
   pname = "plyer";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "kivy";
     repo = pname;
-    rev = version;
-    sha256 = "15z1wpq6s69s76r6akzgg340bpc21l2r1j8270gp7i1rpnffcjwm";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-7Icb2MVj5Uit86lRHxal6b7y9gIJ3UT2HNqpA9DYWVE=";
   };
 
-  patches = [
-    # fix naming of the DOCUMENTS dir
-    (fetchpatch {
-      url = "https://github.com/rski/plyer/commit/99dabb2d62248fc3ea5705c2720abf71c9fc378b.patch";
-      hash = "sha256-bbnw0TxH4FGTso5dopzquDCjrjZAy+6CJauqi/nfstA=";
-    })
-    # fix handling of the ~/.config/user-dirs.dir file
-    (fetchpatch {
-      url = "https://github.com/rski/plyer/commit/f803697a1fe4fb5e9c729ee6ef1997b8d64f3ccd.patch";
-      hash = "sha256-akuh//P5puz2PwcBRXZQ4KoGk+fxi4jn2H3pTIT5M78=";
-    })
-  ];
-
   postPatch = ''
     rm -r examples
     # remove all the wifi stuff. Depends on a python wifi module that has not been updated since 2016
     find -iname "wifi*" -exec rm {} \;
     substituteInPlace plyer/__init__.py \
       --replace "wifi = Proxy('wifi', facades.Wifi)" "" \
-      --replace "'wifi'" ""
+      --replace "'wifi', " ""
     substituteInPlace plyer/facades/__init__.py \
       --replace "from plyer.facades.wifi import Wifi" ""
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/plyfile/default.nix b/nixpkgs/pkgs/development/python-modules/plyfile/default.nix
index 130fba959ea3..20495ba0dd01 100644
--- a/nixpkgs/pkgs/development/python-modules/plyfile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plyfile/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "plyfile";
-  version = "0.7.4";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e9a18d22a3158fcd74df38761d43a7facc6df75126f2ab9f4e9a5d4d2188652";
+    sha256 = "sha256-TOrt8e2Ss6Jrdm/IxWzaG5sjkOwpmxbe3i5f1FCXJho=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/pmdarima/default.nix b/nixpkgs/pkgs/development/python-modules/pmdarima/default.nix
index 17bde3ddf3c7..428511bdca3a 100644
--- a/nixpkgs/pkgs/development/python-modules/pmdarima/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pmdarima/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   version = "2.0.3";
   format = "setuptools";
 
-  disable = pythonOlder "3.7";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "alkaline-ml";
diff --git a/nixpkgs/pkgs/development/python-modules/podcastparser/default.nix b/nixpkgs/pkgs/development/python-modules/podcastparser/default.nix
index 31472409ee71..d844a19f902e 100644
--- a/nixpkgs/pkgs/development/python-modules/podcastparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/podcastparser/default.nix
@@ -1,26 +1,41 @@
-{ lib, buildPythonPackage, fetchFromGitHub, nose }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "podcastparser";
-  version = "0.6.5";
+  version = "0.6.10";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "gpodder";
     repo = "podcastparser";
-    rev = version;
-    sha256 = "1s83iq0mxcikxv6gi003iyavl1ai3siw1d7arijh0g28l0fff23a";
+    rev = "refs/tags/${version}";
+    hash = "sha256-P9wVyxTO0nz/DfuBhCE+VjhH1uYx4jBd30Ca26yBzbo=";
   };
 
-  nativeCheckInputs = [ nose ];
-
-  checkPhase = ''
-    nosetests test_*.py
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace "--cov=podcastparser --cov-report html --doctest-modules" ""
   '';
 
-  meta = {
-    description = "podcastparser is a simple, fast and efficient podcast parser written in Python.";
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "podcastparser"
+  ];
+
+  meta = with lib; {
+    description = "Module to parse podcasts";
     homepage = "http://gpodder.org/podcastparser/";
-    license = lib.licenses.bsd2;
-    maintainers = with lib.maintainers; [ mic92 ];
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ mic92 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/podman/default.nix b/nixpkgs/pkgs/development/python-modules/podman/default.nix
new file mode 100644
index 000000000000..677d6c2a7245
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/podman/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fixtures
+, pytestCheckHook
+, pythonOlder
+, pyxdg
+, requests
+, requests-mock
+, setuptools
+, tomli
+, urllib3
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "podman";
+  version = "4.7.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = "podman-py";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-0p3o1pTqD5Y2JmyLcGS/OCb3HmRu5iqeFqoPlwAkNfY=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    pyxdg
+    requests
+    tomli
+    urllib3
+  ];
+
+  nativeCheckInputs = [
+    fixtures
+    pytestCheckHook
+    requests-mock
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  pythonImportsCheck = [
+    "podman"
+  ];
+
+  disabledTests = [
+    # Integration tests require a running container setup
+    "AdapterIntegrationTest"
+    "ContainersIntegrationTest"
+    "ImagesIntegrationTest"
+    "ManifestsIntegrationTest"
+    "NetworksIntegrationTest"
+    "PodsIntegrationTest"
+    "SecretsIntegrationTest"
+    "SystemIntegrationTest"
+    "VolumesIntegrationTest"
+  ];
+
+  meta = with lib; {
+    description = "Python bindings for Podman's RESTful API";
+    homepage = "https://github.com/containers/podman-py";
+    changelog = "https://github.com/containers/podman-py/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/poetry-core/default.nix b/nixpkgs/pkgs/development/python-modules/poetry-core/default.nix
index 1205b860b8da..fc8da7447ffb 100644
--- a/nixpkgs/pkgs/development/python-modules/poetry-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/poetry-core/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "poetry-core";
-  version = "1.6.1";
+  version = "1.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,47 +24,9 @@ buildPythonPackage rec {
     owner = "python-poetry";
     repo = pname;
     rev = version;
-    hash = "sha256-Gc22Y2T4uO39jiOqEUFeOfnVCbknuDjmzFPZgk2eY74=";
+    hash = "sha256-OfY2zc+5CgOrgbiPVnvMdT4h1S7Aek8S7iThl6azmsk=";
   };
 
-  # revert update of vendored dependencies to unbreak e.g. zeroconf on x86_64-darwin
-  patches = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
-    (fetchpatch {
-      url = "https://github.com/python-poetry/poetry-core/commit/0bdf29e9631fda9436066a07ca8e69a4aa97a31e.patch";
-      revert = true;
-      hash = "sha256-Uqlv17GUcmVkB6ZFePtrbUonsbkiIXay7LLuT/WcPh8=";
-    })
-    (fetchpatch {
-      url = "https://github.com/python-poetry/poetry-core/commit/48447a18a60c43240bf075fc0c2501f6d68f0211.patch";
-      revert = true;
-      hash = "sha256-23GazppqYmuAmkE/xMtuzng2PbxhYNwgtmsvb6lfvig=";
-    })
-    (fetchpatch {
-      url = "https://github.com/python-poetry/poetry-core/commit/bc97ac6030049a01e5337fcb53493112a9c75a81.patch";
-      revert = true;
-      hash = "sha256-8NAG+Xm/BNL16NONZJRNB3JiRRKvjMsZJH2FWlw+dHk=";
-    })
-    (fetchpatch {
-      url = "https://github.com/python-poetry/poetry-core/commit/835bc91393fbb983de6227d67b076aea1360ea68.patch";
-      revert = true;
-      hash = "sha256-Z5viypprDY9GGeX6luBsIoSI9D0lN9g14U9uMh4DTfA=";
-    })
-    (fetchpatch {
-      url = "https://github.com/python-poetry/poetry-core/commit/80d7dcdc722dee0e09e5f3303b663003d794832c.patch";
-      revert = true;
-      hash = "sha256-CPjkNCmuAiowp/kyKqnEfUQNmXK95RMJOIa24nG6xi8=";
-    })
-    (fetchpatch {
-      url = "https://github.com/python-poetry/poetry-core/commit/43fd7fe62676421b3661c96844b5d7cf49b87c07.patch";
-      excludes = [
-        "vendors/poetry.lock"
-        "vendors/pyproject.toml"
-      ];
-      revert = true;
-      hash = "sha256-mbu16qFH9ymDZ0KIMiYMy7js5OmxY7z5qg6ZfgfgeLs=";
-    })
-  ];
-
   nativeCheckInputs = [
     build
     git
diff --git a/nixpkgs/pkgs/development/python-modules/polars/default.nix b/nixpkgs/pkgs/development/python-modules/polars/default.nix
index b070ae37978f..ccd6f2b79ba9 100644
--- a/nixpkgs/pkgs/development/python-modules/polars/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/polars/default.nix
@@ -6,6 +6,7 @@
 , libiconv
 , fetchFromGitHub
 , typing-extensions
+, rust-jemalloc-sys
 , darwin
 }:
 let
@@ -49,7 +50,9 @@ buildPythonPackage {
 
   nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [
+  buildInputs = [
+    rust-jemalloc-sys
+  ] ++ lib.optionals stdenv.isDarwin [
     libiconv
     darwin.apple_sdk.frameworks.Security
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix b/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix
index e358143afea3..26db669e94ba 100644
--- a/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "policy-sentry";
-  version = "0.12.9";
+  version = "0.12.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "salesforce";
     repo = "policy_sentry";
     rev = "refs/tags/${version}";
-    hash = "sha256-mVB7qqADjf4XnDaQyL5C4/Z6hOxAMQbmr6fGnaXD+O0=";
+    hash = "sha256-Kha5fq5l1yXWjDZq9GFKk3gYRtrEyiCFjbEAdYGPSa8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/polling/default.nix b/nixpkgs/pkgs/development/python-modules/polling/default.nix
new file mode 100644
index 000000000000..22e7e0c3916d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/polling/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, wheel
+, mock
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "polling";
+  version = "0.3.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "justiniso";
+    repo = "polling";
+    rev = "v${version}";
+    hash = "sha256-Qy2QxCWzAjZMJ6yxZiDT/80I2+rLimoG8/SYxq960Tk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  pythonImportsCheck = [
+    "polling"
+  ];
+
+  nativeCheckInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Powerful polling utility in Python";
+    homepage = "http://github.com/justiniso/polling";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pomegranate/default.nix b/nixpkgs/pkgs/development/python-modules/pomegranate/default.nix
index 8c94f8bd1a67..57d6dd0b9ab6 100644
--- a/nixpkgs/pkgs/development/python-modules/pomegranate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pomegranate/default.nix
@@ -2,7 +2,6 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , numpy
 , scipy
 , cython
@@ -16,14 +15,15 @@
 
 buildPythonPackage rec {
   pname = "pomegranate";
-  version = "0.14.8";
+  version = "1.0.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "jmschrei";
     # no tags for recent versions: https://github.com/jmschrei/pomegranate/issues/974
-    rev = "0652e955c400bc56df5661db3298a06854c7cce8";
-    sha256 = "16g49nl2bgnh6nh7bd21s393zbksdvgp9l13ww2diwhplj6hlly3";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-EnxKlRRfsOIDLAhYOq7bUSbI/NvPoSyYCZ9D5VCXFGQ=";
   };
 
   propagatedBuildInputs = [ numpy scipy cython networkx joblib pyyaml ];
diff --git a/nixpkgs/pkgs/development/python-modules/pontos/default.nix b/nixpkgs/pkgs/development/python-modules/pontos/default.nix
index ae20790af63c..70cf9bc721dd 100644
--- a/nixpkgs/pkgs/development/python-modules/pontos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pontos/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pontos";
-  version = "23.9.0";
+  version = "23.9.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7AU2K4XQ7B29IY53+uh0yre8RaOZ2GFc8hpyLWQilTE=";
+    hash = "sha256-HRIGS2B6tc4qaOMTud5/uhEr1k7puqJUugDj1WuacqU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pony/default.nix b/nixpkgs/pkgs/development/python-modules/pony/default.nix
index 46cef2597522..892cb0829baf 100644
--- a/nixpkgs/pkgs/development/python-modules/pony/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pony/default.nix
@@ -8,16 +8,16 @@
 
 buildPythonPackage rec {
   pname = "pony";
-  version = "0.7.16";
+  version = "0.7.17";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7" || pythonAtLeast "3.11";
+  disabled = pythonOlder "3.8" || pythonAtLeast "3.12";
 
   src = fetchFromGitHub {
     owner = "ponyorm";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-yATIsX2nKsW5DBwg9/LznQqf+XPY3q46WZut18Sr0v0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-wBqw+YHKlxYplgsYL1pbkusHyPfCaVPcH/Yku6WDYbE=";
   };
 
   nativeCheckInputs = [
@@ -26,7 +26,6 @@ buildPythonPackage rec {
 
   disabledTests = [
     # Tests are outdated
-    "test_exception_msg"
     "test_method"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pooch/default.nix b/nixpkgs/pkgs/development/python-modules/pooch/default.nix
index 06c4617c0ce9..b8ba613ba350 100644
--- a/nixpkgs/pkgs/development/python-modules/pooch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pooch/default.nix
@@ -2,10 +2,12 @@
 , buildPythonPackage
 , isPy27
 , fetchPypi
+, setuptools
 , setuptools-scm
+, wheel
 , pytestCheckHook
 , packaging
-, appdirs
+, platformdirs
 , requests
 , tqdm
 , paramiko
@@ -14,46 +16,62 @@
 
 buildPythonPackage rec {
   pname = "pooch";
-  version = "1.6.0";
+  version = "1.7.0";
   format = "pyproject";
+
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-V9IOxLEN1pTSsFu2S8axCcboWmwUBXlM6H7Ys0GrP0Q=";
+    hash = "sha256-8XShBBtkR/Du+IYPdtF/YO0vhX3A76OHp/CCKK8F2Zg=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
 
-  propagatedBuildInputs = [ packaging appdirs requests ];
+  propagatedBuildInputs = [
+    packaging
+    platformdirs
+    requests
+  ];
+
+  passthru = {
+    optional-dependencies = {
+      progress = [ tqdm ];
+      sftp = [ paramiko ];
+      xxhash = [ xxhash ];
+    };
+  };
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  preCheck = "HOME=$TMPDIR";
-  nativeCheckInputs = [ pytestCheckHook ];
   # tries to touch network
   disabledTests = [
+    "check_availability"
+    "decompress"
+    "downloader"
+    "extractprocessor_fails"
+    "integration"
+    "pooch_corrupted"
     "pooch_custom_url"
     "pooch_download"
     "pooch_logging_level"
     "pooch_update"
-    "pooch_corrupted"
-    "check_availability"
-    "downloader"
+    "processor"
+    "test_fetch"
+    "test_load_registry_from_doi"
     "test_retrieve"
     "test_stream_download"
-    "test_fetch"
-    "decompress"
-    "extractprocessor_fails"
-    "processor"
-    "integration"
-  ];
 
-  passthru = {
-    optional-dependencies = {
-      progress = [ tqdm ];
-      sftp = [ paramiko ];
-      xxhash = [ xxhash ];
-    };
-  };
+  ];
 
   meta = with lib; {
     description = "A friend to fetch your data files.";
diff --git a/nixpkgs/pkgs/development/python-modules/port-for/default.nix b/nixpkgs/pkgs/development/python-modules/port-for/default.nix
new file mode 100644
index 000000000000..9efcd9acfaff
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/port-for/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "port-for";
+  version = "0.7.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "kmike";
+    repo = "port-for";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-/45TQ2crmTupRgL9hgZGw5IvFKywezSIHqHFbeAkMoo=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+  pythonImportsCheck = [ "port_for" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/kmike/port-for";
+    description = "Command-line utility and library that helps with TCP port managment";
+    changelog = "https://github.com/kmike/port-for/blob/v${version}/CHANGES.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/portend/default.nix b/nixpkgs/pkgs/development/python-modules/portend/default.nix
index 4dfd663ac871..73356631615f 100644
--- a/nixpkgs/pkgs/development/python-modules/portend/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/portend/default.nix
@@ -1,13 +1,17 @@
 { lib, buildPythonPackage, fetchPypi
+, pythonOlder
 , pytestCheckHook, setuptools-scm, tempora  }:
 
 buildPythonPackage rec {
   pname = "portend";
-  version = "3.1.0";
+  version = "3.2.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "239e3116045ea823f6df87d6168107ad75ccc0590e37242af0cc1e98c5d224e4";
+    sha256 = "sha256-UlCjUsGclZ12fKyHi4Kdk+XcdiWlFDOZoqANxmKP+3I=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
@@ -16,6 +20,10 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [ pytestCheckHook ];
 
+  pythonImportsCheck = [
+    "portend"
+  ];
+
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
 
diff --git a/nixpkgs/pkgs/development/python-modules/portpicker/default.nix b/nixpkgs/pkgs/development/python-modules/portpicker/default.nix
index f9b8f7993ffd..2595e20622d9 100644
--- a/nixpkgs/pkgs/development/python-modules/portpicker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/portpicker/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "portpicker";
-  version = "1.5.2";
+  version = "1.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xVaDrXJfXACkG8fbAiUiPovgJLH6Vk0DntM5Dk/Uj7M=";
+    hash = "sha256-vVB/1vlvZe4CeB8uZ06dxsmbv6bjw5mS45FiBMnUMfo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/posthog/default.nix b/nixpkgs/pkgs/development/python-modules/posthog/default.nix
index d6136cf71723..0f20800ece0d 100644
--- a/nixpkgs/pkgs/development/python-modules/posthog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/posthog/default.nix
@@ -14,7 +14,7 @@
 }:
 let
   pname = "posthog";
-  version = "3.0.1";
+  version = "3.0.2";
 in
 buildPythonPackage {
   inherit pname version;
@@ -24,7 +24,7 @@ buildPythonPackage {
     owner = "PostHog";
     repo = "posthog-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GSHsa05DUcbIHg1HCoIn8d4NZoG+Iddqfgod2nP4fX0=";
+    hash = "sha256-QASqjphAWtYuIyhbFTYwv1gD+rXvrmp5W0Te4MFn1AA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pot/default.nix b/nixpkgs/pkgs/development/python-modules/pot/default.nix
index 455ee183a26f..a6251b3ea479 100644
--- a/nixpkgs/pkgs/development/python-modules/pot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pot/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "pot";
-  version = "0.8.2";
+  version = "0.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "POT";
     inherit version;
-    hash = "sha256-PKmuPI83DPy7RkOgHHPdPJJz5NT/fpr123AVTzTLwgQ=";
+    hash = "sha256-gcJTJ6ABl/8Rwf5SIc8YGtHf/mFWRBUuLhFd3d9eWRs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/powerline/default.nix b/nixpkgs/pkgs/development/python-modules/powerline/default.nix
index 426450ab404f..c7e0c8565c0a 100644
--- a/nixpkgs/pkgs/development/python-modules/powerline/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/powerline/default.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , socat
 , psutil
-, hglib
+, python-hglib
 , pygit2
 , pyuv
 , i3ipc
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     socat
     psutil
-    hglib
+    python-hglib
     pygit2
     pyuv
   ] ++ lib.optionals (!stdenv.isDarwin) [ i3ipc ];
diff --git a/nixpkgs/pkgs/development/python-modules/ppft/default.nix b/nixpkgs/pkgs/development/python-modules/ppft/default.nix
index 3a868d78d86d..cd801f497a8c 100644
--- a/nixpkgs/pkgs/development/python-modules/ppft/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ppft/default.nix
@@ -25,6 +25,7 @@ buildPythonPackage rec {
 
   # darwin seems to hang
   doCheck = !stdenv.isDarwin;
+
   checkPhase = ''
     runHook preCheck
     ${python.interpreter} -m ppft.tests
@@ -38,6 +39,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Distributed and parallel Python";
     homepage = "https://ppft.readthedocs.io/";
+    changelog = "https://github.com/uqfoundation/ppft/releases/tag/ppft-${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/ppscore/default.nix b/nixpkgs/pkgs/development/python-modules/ppscore/default.nix
index c817fc390ead..b87e0e4c9839 100644
--- a/nixpkgs/pkgs/development/python-modules/ppscore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ppscore/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , pandas
 , pytestCheckHook
 , pythonOlder
@@ -9,18 +10,22 @@
 
 buildPythonPackage rec {
   pname = "ppscore";
-  version = "unstable-2021-11-25";
-  format = "setuptools";
+  version = "1.3.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "8080labs";
-    repo = pname;
-    rev = "c9268c16b6305c5c38e2fe2fd84f43d97ec1aaca";
-    hash = "sha256-qiogjUgcLFauAMpVf2CKNC27c9xR9q7nY69n8/go1ms=";
+    repo = "ppscore";
+    rev = "refs/tags/${version}";
+    hash = "sha256-gJStsL8fN17kvXO8EH/NHGIBelPknJzYw5WEvHsFooU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     pandas
     scikit-learn
@@ -37,6 +42,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python implementation of the Predictive Power Score (PPS)";
     homepage = "https://github.com/8080labs/ppscore/";
+    changelog = "https://github.com/8080labs/ppscore/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ evax ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/prawcore/default.nix b/nixpkgs/pkgs/development/python-modules/prawcore/default.nix
index 3591476927cc..9a8ecea7b3c2 100644
--- a/nixpkgs/pkgs/development/python-modules/prawcore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prawcore/default.nix
@@ -1,27 +1,36 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, requests
-, testfixtures
-, mock
-, requests-toolbelt
 , betamax
-, betamax-serializers
 , betamax-matchers
+, betamax-serializers
+, buildPythonPackage
+, fetchFromGitHub
+, flit-core
+, mock
 , pytestCheckHook
 , pythonOlder
+, requests
+, requests-toolbelt
+, testfixtures
 }:
 
 buildPythonPackage rec {
   pname = "prawcore";
-  version = "2.3.0";
-  disabled = pythonOlder "3.6";
+  version = "2.4.0";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0vgmhjddqxnz5vy70dyqvakak51fg1nk6j3xavkc83d8nzacrwfs";
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "praw-dev";
+    repo = "prawcore";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-tECZRx6VgyiJDKHvj4Rf1sknFqUhz3sDFEsAMOeB7/g=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     requests
   ];
@@ -36,13 +45,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "prawcore" ];
+  pythonImportsCheck = [
+    "prawcore"
+  ];
 
   meta = with lib; {
     description = "Low-level communication layer for PRAW";
     homepage = "https://praw.readthedocs.org/";
+    changelog = "https://github.com/praw-dev/prawcore/blob/v${version}/CHANGES.rst";
     license = licenses.bsd2;
-    platforms = platforms.all;
     maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix b/nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix
index 7e96bf4196b4..672c4c393da3 100644
--- a/nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "prayer-times-calculator";
-  version = "0.0.8";
+  version = "0.0.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "uchagani";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Zk7lzZUfojJrsrLRS9cf9AhEfGGsxZJo2MnIIOv6Ezk=";
+    hash = "sha256-QIUMxs6NOqnljTi1UNp7bCQ9TgBy/u+BWEqgr2C854g=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pre-commit-hooks/default.nix b/nixpkgs/pkgs/development/python-modules/pre-commit-hooks/default.nix
index b795be68e485..aa8722e56ff4 100644
--- a/nixpkgs/pkgs/development/python-modules/pre-commit-hooks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pre-commit-hooks/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "pre-commit-hooks";
-  version = "4.4.0";
+  version = "4.5.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "pre-commit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-V23pgHQ9GdZ2mukFEMAhkp+dl/CQTGxWHAhF7s1VvHo=";
+    hash = "sha256-EiPGdrpD4e9izRNJCjHRp+gR+ClzFtLjs6P57WXDs7I=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/preshed/default.nix b/nixpkgs/pkgs/development/python-modules/preshed/default.nix
index b253525aacd1..e0d37c51a2b1 100644
--- a/nixpkgs/pkgs/development/python-modules/preshed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/preshed/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "preshed";
-  version = "3.0.8";
+  version = "3.0.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bHTHAHiAm/3doXvpZIPEHQbXF5NLB8q3khAR2BdYs1c=";
+    hash = "sha256-chhjxSRP/NJlGtCSiVGix8d7EC9OEaJRrYXTfudiFmA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/primer3/default.nix b/nixpkgs/pkgs/development/python-modules/primer3/default.nix
index 84068a9d9671..f4495d9b2c14 100644
--- a/nixpkgs/pkgs/development/python-modules/primer3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/primer3/default.nix
@@ -5,12 +5,13 @@
 , cython
 , gcc
 , click
+, pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "primer3";
-  version = "2.0.0";
+  version = "2.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +20,7 @@ buildPythonPackage rec {
     owner = "libnano";
     repo = "primer3-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ku2PVrWYWPKnNXeUQmstQedJg1O0hsQl4/iEnAMMEaY=";
+    hash = "sha256-WYn88Xv7WSc67TfYCq+i05tG8aKtWLUgc6axntvLF+8=";
   };
 
   nativeBuildInputs = [
@@ -28,10 +29,18 @@ buildPythonPackage rec {
     gcc
   ];
 
-  # pytestCheckHook leads to a circular import issue
   nativeCheckInputs = [
     click
+    pytestCheckHook
   ];
+  # We are not sure why exactly this is need. It seems `pytestCheckHook`
+  # doesn't find extension modules installed in $out/${python.sitePackages},
+  # and the tests rely upon them. This was initially reported upstream at
+  # https://github.com/libnano/primer3-py/issues/120 and we investigate this
+  # downstream at: https://github.com/NixOS/nixpkgs/issues/255262.
+  preCheck = ''
+    python setup.py build_ext --inplace
+  '';
 
   pythonImportsCheck = [
     "primer3"
diff --git a/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix b/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix
index bd676fc23c17..2869c042d2d0 100644
--- a/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prompt-toolkit/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "prompt-toolkit";
-  version = "3.0.38";
+  version = "3.0.39";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "prompt_toolkit";
     inherit version;
-    hash = "sha256-I6xdUFOKmjjIveBf7LR9C0A+zQZihXqG+Ib3mFY9W5s=";
+    hash = "sha256-BFBa3mh9wm3EKEsa0ZqDvi8q/oPnqCis4McvOh33Kqw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/proto-plus/default.nix b/nixpkgs/pkgs/development/python-modules/proto-plus/default.nix
index d6ef622698a9..d75842e507a2 100644
--- a/nixpkgs/pkgs/development/python-modules/proto-plus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/proto-plus/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "proto-plus";
-  version = "1.22.2";
+  version = "1.22.3";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DozaPVpjTZiVt1xXPJNSwWSGy3XesOB4tf2jTbQkMWU=";
+    hash = "sha256-/c0JcTy9QkgHQNL+KcmQ9/vYhaZ+/DKKqL5u4+n3ams=";
   };
 
   propagatedBuildInputs = [ protobuf ];
diff --git a/nixpkgs/pkgs/development/python-modules/psychrolib/default.nix b/nixpkgs/pkgs/development/python-modules/psychrolib/default.nix
new file mode 100644
index 000000000000..cda0523b9698
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/psychrolib/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "psychrolib";
+  version = "2.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "psychrometrics";
+    repo = "psychrolib";
+    rev = "refs/tags/${version}";
+    hash = "sha256-OkjoYIakF7NXluNTaJnUHk5cI5t8GnpqrbqHYwnLOts=";
+  };
+
+  sourceRoot = "${src.name}/src/python";
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "psychrolib"
+  ];
+
+  meta = with lib; {
+    description = "Library of psychrometric functions to calculate thermodynamic properties";
+    homepage = "https://github.com/psychrometrics/psychrolib";
+    changelog = "https://github.com/psychrometrics/psychrolib/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/psycopg/default.nix b/nixpkgs/pkgs/development/python-modules/psycopg/default.nix
index e2d775f0b3b3..38554ad8e97a 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.10";
+  version = "3.1.11";
 
   src = fetchFromGitHub {
     owner = "psycopg";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-GdgzHmzPCK3wq/8sCc1NaPEVwl4Q5OBZMp86RXkhE0M=";
+    hash = "sha256-cQTGaiVgdgaq1fmDdtqvc+uCp66S+s0GsTcFTARR+SI=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix b/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix
index b697c66613b3..bfe33e1ec3ad 100644
--- a/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/psycopg2/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "psycopg2";
-  version = "2.9.5";
+  version = "2.9.7";
   format = "setuptools";
 
   # Extension modules don't work well with PyPy. Use psycopg2cffi instead.
@@ -21,7 +21,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-pSRtLmg6ly4hh6hxS1ws+BVsBkYp+amxqHPBcw2eJFo=";
+    hash = "sha256-8AzDW9cRnx/tF7hb0QB4VRlN3iy9jeAauOuxdIdECtg=";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/nixpkgs/pkgs/development/python-modules/psygnal/default.nix b/nixpkgs/pkgs/development/python-modules/psygnal/default.nix
index c4a1565ccc2d..c9a1f710b671 100644
--- a/nixpkgs/pkgs/development/python-modules/psygnal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/psygnal/default.nix
@@ -8,13 +8,14 @@
 , pydantic
 , pytestCheckHook
 , pythonOlder
+, toolz
 , typing-extensions
 , wrapt
 }:
 
 buildPythonPackage rec {
   pname = "psygnal";
-  version = "0.9.0";
+  version = "0.9.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +24,7 @@ buildPythonPackage rec {
     owner = "pyapp-kit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-9rYG0XqwFJQojnvM5ygm1RVu9NbeFASns0llOGKaP+4=";
+    hash = "sha256-Ki2s057aqaZa+kOpAlhBYFpZeuDX42+txQXFuBtXd04=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -42,6 +43,7 @@ buildPythonPackage rec {
     numpy
     pydantic
     pytestCheckHook
+    toolz
     wrapt
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix b/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
index 059a67299896..1b0745990ec5 100644
--- a/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "publicsuffixlist";
-  version = "0.10.0.20230920";
+  version = "0.10.0.20231020";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4Sp8uyJAJ+Sg0wv6TjNkMOCKlL/c/2ToWP1byG2BZtE=";
+    hash = "sha256-5Woh5xWIVvVvgmp4xtpU51rXSCZDH0ljPpLpkvFmO+8=";
   };
 
   passthru.optional-dependencies = {
diff --git a/nixpkgs/pkgs/development/python-modules/pubnub/default.nix b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
index f35edd59794a..2e58df25f2f4 100644
--- a/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pubnub/default.nix
@@ -1,6 +1,7 @@
 { lib
 , aiohttp
 , buildPythonPackage
+, busypie
 , cbor2
 , fetchFromGitHub
 , pycryptodomex
@@ -13,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pubnub";
-  version = "7.2.0";
+  version = "7.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,8 +22,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = pname;
     repo = "python";
-    rev = "refs/tags/${version}";
-    hash = "sha256-AUB6pk3Gkrjc0RRFP0mql+up1baPjyPwuiRz8O6r/GM=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-KZC6a0ZrTPn033tQxn7HeCRhZUAgO2I5rGDzLJITtpI=";
   };
 
   propagatedBuildInputs = [
@@ -33,6 +34,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    busypie
     pytest-asyncio
     pytest-vcr
     pytestCheckHook
@@ -45,6 +47,11 @@ buildPythonPackage rec {
     "tests/functional/push"
   ];
 
+  disabledTests = [
+    "test_subscribe"
+    "test_handshaking"
+  ];
+
   pythonImportsCheck = [
     "pubnub"
   ];
@@ -52,7 +59,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python-based APIs for PubNub";
     homepage = "https://github.com/pubnub/python";
-    changelog = "https://github.com/pubnub/python/releases/tag/${version}";
+    changelog = "https://github.com/pubnub/python/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pudb/default.nix b/nixpkgs/pkgs/development/python-modules/pudb/default.nix
index 6ba0d12588bf..347d11341e14 100644
--- a/nixpkgs/pkgs/development/python-modules/pudb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pudb/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pudb";
-  version = "2022.1.3";
+  version = "2023.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WOg62p4Z/+ksH9x4rlRY75GuuJKluPDnN55vph4OZko=";
+    hash = "sha256-Fd88YDq6h6kYpmbvjhv2P3ZCOMw1ids8W3pfGwHqLwM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py-dormakaba-dkey/default.nix b/nixpkgs/pkgs/development/python-modules/py-dormakaba-dkey/default.nix
index 27443d166e76..405c1e61cad6 100644
--- a/nixpkgs/pkgs/development/python-modules/py-dormakaba-dkey/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-dormakaba-dkey/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "py-dormakaba-dkey";
-  version = "1.0.4";
+  version = "1.0.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "emontnemery";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-1jIsKQa27XNVievU02jjanRWFtJDYsHolgPBab6qpM0=";
+    hash = "sha256-kS99du9EZwki6J2q+nI44rx/AWIPtq7wXR/61ZcyUSM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix b/nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix
index 67e934dad1d1..2d01e0cf8ffa 100644
--- a/nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix
@@ -2,31 +2,35 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "py-nextbusnext";
-  version = "0.1.5";
-
+  version = "1.0.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "ViViDboarder";
     repo = "py_nextbus";
-    rev = "v${version}";
-    hash = "sha256-uUHA8v5iTISmPaTgk0RvcLLRM34f3JXUjZClKGXdMoI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-044VDg7bQNNnRGiPZW9gwo3Bzq0LPYKTrd3EgmBOcGA=";
   };
 
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "py_nextbus" ];
+  pythonImportsCheck = [
+    "py_nextbus"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Minimalistic Python client for the NextBus public API";
     homepage = "https://github.com/ViViDboarder/py_nextbus";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ dotlambda ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
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 c6c35ebd297d..07855f6b3288 100644
--- a/nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix
@@ -1,22 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, nix-update-script
 , pytestCheckHook
+, pythonOlder
 , setuptools
 , sure
 }:
 
 buildPythonPackage rec {
   pname = "py-partiql-parser";
-  version = "0.3.7";
-  format = "pyproject";
+  version = "0.3.8";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "getmoto";
     repo = "py-partiql-parser";
     rev = "refs/tags/${version}";
-    hash = "sha256-RObJSvkqD3T8i470po/CayGC/ae8J6rFQROsrQ1EAGs=";
+    hash = "sha256-uIO06RRuUuE9qCEg/tTcn68i7vaFAAeFhxdxW9WAbuw=";
   };
 
   nativeBuildInputs = [
@@ -32,12 +34,8 @@ buildPythonPackage rec {
     "py_partiql_parser"
   ];
 
-  passthru = {
-    updateScript = nix-update-script { };
-  };
-
   meta = with lib; {
-    description = "A tokenizer/parser/executor for the PartiQL-language, in Python";
+    description = "A tokenizer/parser/executor for the PartiQL-language";
     homepage = "https://github.com/getmoto/py-partiql-parser";
     changelog = "https://github.com/getmoto/py-partiql-parser/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/py-serializable/default.nix b/nixpkgs/pkgs/development/python-modules/py-serializable/default.nix
index c27296e851c6..028d61f745a2 100644
--- a/nixpkgs/pkgs/development/python-modules/py-serializable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-serializable/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "py-serializable";
-  version = "0.12.0";
+  version = "0.15.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "madpah";
     repo = "serializable";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TnO8mkRJfdTO1sA26bqh46EMes2TpLXJwpDdrvPPC9g=";
+    hash = "sha256-U01XRT6XS0Uxpk+2pYOGAkZiZ5kogMBtcuEU1OJpSMo=";
   };
 
   nativeBuildInputs = [
@@ -41,6 +41,12 @@ buildPythonPackage rec {
     "serializable"
   ];
 
+  disabledTests = [
+    # AssertionError: '<ns0[155 chars]itle>The Phoenix
+    "test_serializable_no_defaultNS"
+    "test_serializable_with_defaultNS"
+  ];
+
   meta = with lib; {
     description = "Pythonic library to aid with serialisation and deserialisation to/from JSON and XML";
     homepage = "https://github.com/madpah/serializable";
diff --git a/nixpkgs/pkgs/development/python-modules/py3status/default.nix b/nixpkgs/pkgs/development/python-modules/py3status/default.nix
index 9d44aff94394..f0f5484aeb56 100644
--- a/nixpkgs/pkgs/development/python-modules/py3status/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py3status/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "py3status";
-  version = "3.51";
+  version = "3.53";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-x4MftAC1TyR4FEvl+ytwCYg2cm5qAG/X/MJUhJRGlkU=";
+    hash = "sha256-vZrzHERjAg9J004A2dAbq8hKmAUslCTaRdwEAe9JRqU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pySmartDL/default.nix b/nixpkgs/pkgs/development/python-modules/pySmartDL/default.nix
deleted file mode 100644
index cfad2238fbd0..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pySmartDL/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-}:
-
-buildPythonPackage rec {
-  pname = "pySmartDL";
-  version = "1.3.4";
-  src = fetchFromGitHub ({
-    owner = "iTaybb";
-    repo = pname;
-    rev = "b93df794e1e60017c42d9520ac097b6fd38c2e8b";
-    hash = "sha256-Etyv3xCB1cGozWDsskygwcTHJfC+V5hvqBNQAF8SIMM=";
-  });
-
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://github.com/iTaybb/pySmartDL";
-    description = "A Smart Download Manager for Python";
-    license = licenses.unlicense;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
index 951d5d849714..94bf1eef12d8 100644
--- a/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pytelegrambotapi";
-  version = "4.13.0";
+  version = "4.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "eternnoir";
     repo = "pyTelegramBotAPI";
     rev = "refs/tags/${version}";
-    hash = "sha256-5P0DfQL8lwCY4nvp5efB7fO7YyBMTRaB4qflkc+Arso=";
+    hash = "sha256-R52j4JnoM0nlZvlcDox2Wz3WjTEstNaqbg8SPiPHD4c=";
   };
 
   passthru.optional-dependencies = {
diff --git a/nixpkgs/pkgs/development/python-modules/pyacaia-async/default.nix b/nixpkgs/pkgs/development/python-modules/pyacaia-async/default.nix
new file mode 100644
index 000000000000..3001e33937f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyacaia-async/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, bleak
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "pyacaia-async";
+  version = "0.0.8";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchPypi {
+    pname = "pyacaia_async";
+    inherit version;
+    hash = "sha256-9aZmlw+u4fUa+TRh1COmViWAUQQ0MN2nFKY0t1hS+ko=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    bleak
+  ];
+
+  # Module has no tests in PyPI releases
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pyacaia_async"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Acaia scales";
+    homepage = "https://github.com/zweckj/pyacaia_async";
+    license = with licenses; [ gpl3Only mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyarr/default.nix b/nixpkgs/pkgs/development/python-modules/pyarr/default.nix
index 41fa4afc215b..2da0b65e5bed 100644
--- a/nixpkgs/pkgs/development/python-modules/pyarr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyarr/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyarr";
-  version = "4.1.0";
+  version = "5.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3DX02V3Srpx6hqimWbesxfkDqslVH4+8uXY7XYDmjX0=";
+    hash = "sha256-jlcc9Kj1MYSsnvJkKZXXWWJVDx3KIuojjbGtl8kDUpw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyatag/default.nix b/nixpkgs/pkgs/development/python-modules/pyatag/default.nix
index ff2b4c2dcffc..405c39398d5e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatag/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatag/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyatag";
-  version = "0.3.6.2";
+  version = "3.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "MatsNl";
     repo = "pyatag";
     rev = "refs/tags/${version}";
-    hash = "sha256-yJEPDNjEv2lGrBQ78sl7nseVRemsG7hTdBGH5trciYU=";
+    hash = "sha256-hyGos0LFVKv63jf1ODPFfk+R47oyHea+8MGvxeKpop8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyathena/default.nix b/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
index 5aab2c91702d..9e6802ff1749 100644
--- a/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pyathena";
-  version = "3.0.7";
+  version = "3.0.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Mdb+pEkXbwRVx3wxpPdwkCweNO48/GuYiOLATbPUpwQ=";
+    hash = "sha256-RGU4UF+Nhfc2LGQlYf8ImrmDf2009JTSx6cO4o3VuDI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pybase64/default.nix b/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
index 1cd04164ba78..d94cdf524d20 100644
--- a/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
@@ -7,22 +7,28 @@
 
 buildPythonPackage rec {
   pname = "pybase64";
-  version = "1.3.0";
+  version = "1.3.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1MZHKrAITr1O4AW7mFFym9xk2PYsb65b2wdrICn0iO4=";
+    hash = "sha256-I0CC/dcDnLdQxkTi03/Ck+c0XqOl8nmrrC9PyWLZuZY=";
   };
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "pybase64" ];
+  pythonImportsCheck = [
+    "pybase64"
+  ];
 
   meta = with lib; {
     description = "Fast Base64 encoding/decoding";
     homepage = "https://github.com/mayeut/pybase64";
+    changelog = "https://github.com/mayeut/pybase64/releases/tag/v${version}";
     license = licenses.bsd2;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pybids/default.nix b/nixpkgs/pkgs/development/python-modules/pybids/default.nix
index 33660d9165e8..f801b878ae75 100644
--- a/nixpkgs/pkgs/development/python-modules/pybids/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybids/default.nix
@@ -18,24 +18,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.15.6";
+  version = "0.16.3";
   pname = "pybids";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OjWW08tyVDHkF0X3Pa+10HYD/7Gysp5DkEt9LaVxsdM=";
+    hash = "sha256-EOJ5NQyNFMpgLA1EaaXkv3/zk+hkPIMaVGrnNba4LMM=";
   };
 
-  patches = [
-    # remove after next release
-    (fetchpatch {
-      name = "fix-pybids-sqlalchemy-dep";
-      url = "https://github.com/bids-standard/pybids/commit/5f008dfc282394ef94a68d47dba37ceead9eac9a.patch";
-      hash = "sha256-gx6w35XqDBZ8cTGHeY/mz2xNQqza9E5z8bRJR7mbPcg=";
-      excludes = [ "pyproject.toml" ];  # not in PyPI dist
-    })
-  ];
-
   nativeBuildInputs = [ pythonRelaxDepsHook ];
 
   pythonRelaxDeps = [ "sqlalchemy" ];
diff --git a/nixpkgs/pkgs/development/python-modules/pybigwig/default.nix b/nixpkgs/pkgs/development/python-modules/pybigwig/default.nix
index 3101066ff251..efbc350530e5 100644
--- a/nixpkgs/pkgs/development/python-modules/pybigwig/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybigwig/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pybigwig";
-  version = "0.3.20";
+  version = "0.3.22";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "deeptools";
     repo = "pyBigWig";
     rev = "refs/tags/${version}";
-    hash = "sha256-uYKxM0HOG4fus5geBFjbfbv6G1kDvMaAwhk0w/e1YII=";
+    hash = "sha256-wJC5eXIC9PNlbCtmq671WuoIJVkh3aX7K6WArJWjyFg=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pybloom-live/default.nix b/nixpkgs/pkgs/development/python-modules/pybloom-live/default.nix
new file mode 100644
index 000000000000..0499350a7c82
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pybloom-live/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, bitarray
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, wheel
+, xxhash
+}:
+
+buildPythonPackage rec {
+  pname = "pybloom-live";
+  version = "4.0.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "pybloom_live";
+    inherit version;
+    hash = "sha256-mVRcXTsFvTiLVJHja4I7cGgwpoa6GLTBkGPQjeUyERA=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    bitarray
+    xxhash
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pybloom_live"
+  ];
+
+  meta = with lib; {
+    description = "A Probabilistic data structure";
+    homepage = "https://github.com/joseph-fox/python-bloomfilter";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix b/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
index 004572279abb..a104e1e1aeb7 100644
--- a/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
@@ -19,6 +19,10 @@ buildPythonPackage rec {
     hash = "sha256-SXIs9AUXWm1H49MVDT4z6msNPaW5sAU20rcsWZ7ERdU=";
   };
 
+  patches = [
+    ./urllib3-2.0-compat.patch
+  ];
+
   propagatedBuildInputs = [
     requests
     requests-oauthlib
diff --git a/nixpkgs/pkgs/development/python-modules/pybotvac/urllib3-2.0-compat.patch b/nixpkgs/pkgs/development/python-modules/pybotvac/urllib3-2.0-compat.patch
new file mode 100644
index 000000000000..8b6ef4e91cc3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pybotvac/urllib3-2.0-compat.patch
@@ -0,0 +1,21 @@
+diff --git a/pybotvac/robot.py b/pybotvac/robot.py
+index f87546f..e9a61de 100644
+--- a/pybotvac/robot.py
++++ b/pybotvac/robot.py
+@@ -6,7 +6,6 @@ from datetime import datetime, timezone
+ from email.utils import format_datetime

+ 

+ import requests

+-import urllib3

+ from voluptuous import (

+     ALLOW_EXTRA,

+     All,

+@@ -21,8 +20,6 @@ from voluptuous import (
+ from .exceptions import NeatoRobotException, NeatoUnsupportedDevice

+ from .neato import Neato  # For default Vendor argument

+ 

+-# Disable warning due to SubjectAltNameWarning in certificate

+-urllib3.disable_warnings(urllib3.exceptions.SubjectAltNameWarning)

+ 

+ _LOGGER = logging.getLogger(__name__)

+ 

diff --git a/nixpkgs/pkgs/development/python-modules/pycairo/default.nix b/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
index 84c64b79df06..ff2f2e581906 100644
--- a/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pycairo";
-  version = "1.23.0";
+  version = "1.24.0";
 
   disabled = pythonOlder "3.6";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "pygobject";
     repo = "pycairo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tkyVTJUdL2pBpBUpWsiDPKnd5OV88w3TdEOMxMc+hPM=";
+    hash = "sha256-eAE0YPZAV90MP6g1V1T80suaRV15ts38kYt6Djb78Xk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pycapnp/default.nix b/nixpkgs/pkgs/development/python-modules/pycapnp/default.nix
index cd2e8f450cd2..b18fa3b3fc7f 100644
--- a/nixpkgs/pkgs/development/python-modules/pycapnp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycapnp/default.nix
@@ -31,7 +31,10 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://capnproto.github.io/pycapnp/";
-    maintainers = with maintainers; [ cstrahan lukeadams ];
+    maintainers = with maintainers; [ ];
     license = licenses.bsd2;
+    # No support for capnproto 1.0 yet
+    # https://github.com/capnproto/pycapnp/issues/323
+    broken = lib.versionAtLeast capnproto.version "1.0";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pycatch22/default.nix b/nixpkgs/pkgs/development/python-modules/pycatch22/default.nix
new file mode 100644
index 000000000000..c82088d9adbe
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pycatch22/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pandas
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pycatch22";
+  version = "0.4.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "DynamicsAndNeuralSystems";
+    repo = "pycatch22";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-l41LLo9k075EL8rV48bwa4Yw12XuqNJSDYtd9kyqS3U=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pandas
+  ];
+
+  # This packages does not have real tests
+  # But we can run this file as smoketest
+  checkPhase = ''
+    runHook preCheck
+
+    python tests/testing.py
+
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [
+    "pycatch22"
+  ];
+
+  meta = with lib; {
+    description = "Python implementation of catch22";
+    homepage = "https://github.com/DynamicsAndNeuralSystems/pycatch22";
+    changelog = "https://github.com/DynamicsAndNeuralSystems/pycatch22/releases/tag/v${version}";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pycddl/default.nix b/nixpkgs/pkgs/development/python-modules/pycddl/default.nix
index 389717400670..9cd2d1fab202 100644
--- a/nixpkgs/pkgs/development/python-modules/pycddl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycddl/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pycddl";
-  version = "0.4.0";
+  version = "0.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-w0CGbPeiXyS74HqZXyiXhvaAMUaIj5onwjl9gWKAjqY=";
+    hash = "sha256-LdecJPSov2Y/QI4MWb20DcF0EtMuDO0VwiQDUeD55GI=";
   };
 
   nativeBuildInputs = with rustPlatform; [ maturinBuildHook cargoSetupHook ];
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-g96eeaqN9taPED4u+UKUcoitf5aTGFrW2/TOHoHEVHs=";
+    hash = "sha256-FJET2Xb1cq4aePFhPXpp2oEPIOtpugYWNFAa2Dj0F6Y=";
   };
 
   nativeCheckInputs = [ pytestCheckHook psutil cbor2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyclipper/default.nix b/nixpkgs/pkgs/development/python-modules/pyclipper/default.nix
index 1b9eba36b96d..45e5ff27ee55 100644
--- a/nixpkgs/pkgs/development/python-modules/pyclipper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyclipper/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyclipper";
-  version = "1.3.0.post4";
+  version = "1.3.0.post5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "fonttools";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-FMqOZ0WOorTtbdweeu9UdoUNWOPrcwc+0SK+55XxyQQ=";
+    hash = "sha256-FKpP+tgJFzhij3wDQsAgwrTNnny7lgmN+tlSQ9JgG+Q=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pycodestyle/default.nix b/nixpkgs/pkgs/development/python-modules/pycodestyle/default.nix
index cdbec2770080..250537774c2a 100644
--- a/nixpkgs/pkgs/development/python-modules/pycodestyle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycodestyle/default.nix
@@ -3,11 +3,12 @@
 , fetchPypi
 , lib
 , python
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pycodestyle";
-  version = "2.10.0";
+  version = "2.11.0";
 
   disabled = pythonOlder "3.6";
 
@@ -15,26 +16,22 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NHGHvbR2Mp2Y9pXCE9cpWoRtEVL/T+m6y4qVkLjucFM=";
+    hash = "sha256-JZvMF4V9ios7SiMnMkt55fAgoTwWB0Zw+cjI+HLqdtA=";
   };
 
-  patches = [
-    # https://github.com/PyCQA/pycodestyle/issues/1151
-    # Applies a modified version of an upstream patch that only applied
-    # to Python 3.12.
-    ./python-3.11.4-compat.patch
+  pythonImportsCheck = [
+    "pycodestyle"
   ];
 
-  # https://github.com/PyCQA/pycodestyle/blob/2.10.0/tox.ini#L13
-  checkPhase = ''
+  nativCheckInputs = [
+    pytestCheckHook
+  ];
+
+  # https://github.com/PyCQA/pycodestyle/blob/2.11.0/tox.ini#L16
+  postCheck = ''
     ${python.interpreter} -m pycodestyle --statistics pycodestyle.py
-    ${python.interpreter} -m pycodestyle --max-doc-length=72 --testsuite testsuite
-    ${python.interpreter} -m pycodestyle --max-doc-length=72 --doctest
-    ${python.interpreter} -m unittest discover testsuite -vv
   '';
 
-  pythonImportsCheck = [ "pycodestyle" ];
-
   meta = with lib; {
     changelog = "https://github.com/PyCQA/pycodestyle/blob/${version}/CHANGES.txt";
     description = "Python style guide checker";
diff --git a/nixpkgs/pkgs/development/python-modules/pycodestyle/python-3.11.4-compat.patch b/nixpkgs/pkgs/development/python-modules/pycodestyle/python-3.11.4-compat.patch
deleted file mode 100644
index d8a0d7953776..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pycodestyle/python-3.11.4-compat.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/testsuite/test_api.py b/testsuite/test_api.py
-index 8dde32ff..38e34acf 100644
---- a/testsuite/test_api.py
-+++ b/testsuite/test_api.py
-@@ -329,7 +329,10 @@ def test_check_nullbytes(self):
-         count_errors = pep8style.input_file('stdin', lines=['\x00\n'])
- 
-         stdout = sys.stdout.getvalue()
--        expected = "stdin:1:1: E901 ValueError"
-+        if sys.version_info < (3, 11, 4):
-+            expected = "stdin:1:1: E901 ValueError"
-+        else:
-+            expected = "stdin:1:1: E901 SyntaxError: source code string cannot contain null bytes"  # noqa: E501
-         self.assertTrue(stdout.startswith(expected),
-                         msg='Output %r does not start with %r' %
-                         (stdout, expected))
diff --git a/nixpkgs/pkgs/development/python-modules/pycognito/default.nix b/nixpkgs/pkgs/development/python-modules/pycognito/default.nix
index 22947f9e1369..a66c0ef49117 100644
--- a/nixpkgs/pkgs/development/python-modules/pycognito/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycognito/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pycognito";
-  version = "2022.12.0";
+  version = "2023.5.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "pvizeli";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-WepDna9f3Z3dBxWdE6G7nbl3yPK5vMG+7X1rxbZwdjE=";
+    hash = "sha256-2Aqid2bd5BAnWQ+Wtji0zXjLAmSpyJNGqJ0VroGi6lY=";
   };
 
   propagatedBuildInputs = [
@@ -47,6 +47,11 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [ "tests.py" ];
 
+  disabledTests = [
+    # requires network access
+    "test_srp_requests_http_auth"
+  ];
+
   pythonImportsCheck = [ "pycognito" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pycookiecheat/default.nix b/nixpkgs/pkgs/development/python-modules/pycookiecheat/default.nix
index 08085b03c87c..4a539f5ee191 100644
--- a/nixpkgs/pkgs/development/python-modules/pycookiecheat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycookiecheat/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pycookiecheat";
-  version = "0.5.0";
+  version = "0.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "n8henrie";
     repo = "pycookiecheat";
     rev = "refs/tags/v${version}";
-    hash = "sha256-3I7iw/dwF4lRqmVM3OR402InZCFoV9gzKpRQrx4F9KA=";
+    hash = "sha256-mSc5FqMM8BICVEdSdsIny9Bnk6qCRekPk4RkBusDoVA=";
   };
 
   pythonRelaxDeps = [
@@ -51,10 +51,18 @@ buildPythonPackage rec {
     "pycookiecheat"
   ];
 
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
   disabledTests = [
     # Tests want to use playwright executable
     "test_no_cookies"
     "test_fake_cookie"
+    "test_firefox_cookies"
+    "test_load_firefox_cookie_db"
+    "test_firefox_no_cookies"
+    "test_firefox_get_default_profile"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_slack_config"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyctr/default.nix b/nixpkgs/pkgs/development/python-modules/pyctr/default.nix
index bf72bf6b3a52..7f1a8d6d01b1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyctr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyctr/default.nix
@@ -1,24 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
-, pycryptodomex }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pycryptodomex
+}:
 
 buildPythonPackage rec {
   pname = "pyctr";
-  version = "0.6.0";
+  version = "0.7.1";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-05lMcsIeJIHI3LwHQTjr4M+bn1FG+GQscuGq34XxjK8=";
+    hash = "sha256-SnCps5nzrl+dkbloRbjhaOGDzKOsi8OHX2JXgoJ/XG0=";
   };
 
-  propagatedBuildInputs = [ pycryptodomex ];
+  propagatedBuildInputs = [
+    pycryptodomex
+  ];
 
-  pythonImportsCheck = [ "pyctr" ];
+  pythonImportsCheck = [
+    "pyctr"
+  ];
 
   meta = with lib; {
     description = "Python library to interact with Nintendo 3DS files";
+    homepage = "https://github.com/ihaveamac/pyctr";
+    changelog = "https://github.com/ihaveamac/pyctr/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ rileyinman ];
-    homepage = "https://github.com/ihaveamac/pyctr";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pycurl/default.nix b/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
index cacb67496c8c..fb4aacf3b83d 100644
--- a/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
@@ -3,7 +3,6 @@
 , buildPythonPackage
 , isPyPy
 , fetchPypi
-, fetchpatch
 , pythonOlder
 , curl
 , openssl
@@ -14,24 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pycurl";
-  version = "7.45.1";
+  version = "7.45.2";
   disabled = isPyPy || (pythonOlder "3.5"); # https://github.com/pycurl/pycurl/issues/208
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qGOtGP9Hj1VFkkBXiHza5CLhsnRuQWdGFfaHSY6luIo=";
+    hash = "sha256-VzBZC+AnE2Slvd2eJFycwPtxDEy6y92VJkoxItIyJMo=";
   };
 
-  patches = [
-    # Pull upstream patch for curl-3.83:
-    #  https://github.com/pycurl/pycurl/pull/753
-    (fetchpatch {
-      name = "curl-3.83.patch";
-      url = "https://github.com/pycurl/pycurl/commit/d47c68b1364f8a1a45ab8c584c291d44b762f7b1.patch";
-      hash = "sha256-/lGq7O7ZyytzBAxWJPigcWdvypM7OHLBcp9ItmX7z1g=";
-    })
-  ];
-
   preConfigure = ''
     substituteInPlace setup.py --replace '--static-libs' '--libs'
     export PYCURL_SSL_LIBRARY=openssl
@@ -75,6 +64,14 @@ buildPythonPackage rec {
     "test_libcurl_ssl_gnutls"
     # AssertionError: assert 'crypto' in ['curl']
     "test_ssl_in_static_libs"
+    # tests that require curl with http3Support
+    "test_http_version_3"
+    # https://github.com/pycurl/pycurl/issues/819
+    "test_multi_socket_select"
+    # https://github.com/pycurl/pycurl/issues/729
+    "test_multi_socket_action"
+    # https://github.com/pycurl/pycurl/issues/822
+    "test_request_with_verifypeer"
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     # Fatal Python error: Segmentation fault
     "cadata_test"
diff --git a/nixpkgs/pkgs/development/python-modules/pydal/default.nix b/nixpkgs/pkgs/development/python-modules/pydal/default.nix
index b5de4635b47e..18fd4dc70b4a 100644
--- a/nixpkgs/pkgs/development/python-modules/pydal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydal/default.nix
@@ -1,38 +1,46 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, python
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pydal";
-  version = "20221110.1";
-  format = "setuptools";
+  version = "20230521.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fD6JHHD42JGONidvIQoZWbt7rfOydvRxkZhv/PW2o5A=";
+    hash = "sha256-EEeKYeYnxbjLdpH39+v3IQhFSFMWST0310DCl/ttGEU=";
   };
 
-  postPatch = ''
-    # this test has issues with an import statement
-    # rm tests/tags.py
-    sed -i '/from .tags import/d' tests/__init__.py
-
-    # this assertion errors without obvious reason
-    sed -i '/self.assertEqual(csv0, str(r4))/d' tests/caching.py
-
-    # some sql tests fail against sqlite engine
-    sed -i '/from .sql import/d' tests/__init__.py
-  '';
-
-  pythonImportsCheck = [ "pydal" ];
-
-  checkPhase = ''
-    runHook preCheck
-    ${python.interpreter} -m unittest tests
-    runHook postCheck
-  '';
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "tests/*.py"
+    # these tests already seem to be broken on the upstream
+    "--deselect=tests/nosql.py::TestFields::testRun"
+    "--deselect=tests/nosql.py::TestSelect::testGroupByAndDistinct"
+    "--deselect=tests/nosql.py::TestExpressions::testOps"
+    "--deselect=tests/nosql.py::TestExpressions::testRun"
+    "--deselect=tests/nosql.py::TestImportExportUuidFields::testRun"
+    "--deselect=tests/nosql.py::TestConnection::testRun"
+    "--deselect=tests/validation.py::TestValidateAndInsert::testRun"
+    "--deselect=tests/validation.py::TestValidateUpdateInsert::testRun"
+    "--deselect=tests/validators.py::TestValidators::test_IS_IN_DB"
+  ];
+
+  pythonImportsCheck = ["pydal"];
 
   meta = with lib; {
     description = "Python Database Abstraction Layer";
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic-core/Cargo.lock b/nixpkgs/pkgs/development/python-modules/pydantic-core/Cargo.lock
deleted file mode 100644
index 05a29d770d83..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pydantic-core/Cargo.lock
+++ /dev/null
@@ -1,662 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "ahash"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
-dependencies = [
- "cfg-if",
- "getrandom",
- "once_cell",
- "version_check",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
-
-[[package]]
-name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "cc"
-version = "1.0.79"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "enum_dispatch"
-version = "0.3.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e"
-dependencies = [
- "once_cell",
- "proc-macro2",
- "quote",
- "syn 2.0.25",
-]
-
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
-
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
-name = "idna"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "idna"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
-dependencies = [
- "equivalent",
- "hashbrown",
-]
-
-[[package]]
-name = "indoc"
-version = "1.0.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
-
-[[package]]
-name = "itoa"
-version = "1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a"
-
-[[package]]
-name = "libc"
-version = "0.2.147"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
-
-[[package]]
-name = "libmimalloc-sys"
-version = "0.1.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4ac0e912c8ef1b735e92369695618dc5b1819f5a7bf3f167301a3ba1cea515e"
-dependencies = [
- "cc",
- "libc",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.4.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "memchr"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
-
-[[package]]
-name = "memoffset"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "mimalloc"
-version = "0.1.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e2894987a3459f3ffb755608bd82188f8ed00d0ae077f1edea29c068d639d98"
-dependencies = [
- "libmimalloc-sys",
-]
-
-[[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 = "once_cell"
-version = "1.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
-
-[[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.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-targets",
-]
-
-[[package]]
-name = "percent-encoding"
-version = "2.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.64"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "pydantic-core"
-version = "2.3.0"
-dependencies = [
- "ahash",
- "base64",
- "enum_dispatch",
- "idna 0.3.0",
- "mimalloc",
- "num-bigint",
- "pyo3",
- "pyo3-build-config",
- "python3-dll-a",
- "regex",
- "serde",
- "serde_json",
- "speedate",
- "strum",
- "strum_macros 0.24.3",
- "url",
- "version_check",
-]
-
-[[package]]
-name = "pyo3"
-version = "0.19.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffb88ae05f306b4bfcde40ac4a51dc0b05936a9207a4b75b798c7729c4258a59"
-dependencies = [
- "cfg-if",
- "indoc",
- "libc",
- "memoffset",
- "num-bigint",
- "parking_lot",
- "pyo3-build-config",
- "pyo3-ffi",
- "pyo3-macros",
- "unindent",
-]
-
-[[package]]
-name = "pyo3-build-config"
-version = "0.19.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "554db24f0b3c180a9c0b1268f91287ab3f17c162e15b54caaae5a6b3773396b0"
-dependencies = [
- "once_cell",
- "python3-dll-a",
- "target-lexicon",
-]
-
-[[package]]
-name = "pyo3-ffi"
-version = "0.19.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "922ede8759e8600ad4da3195ae41259654b9c55da4f7eec84a0ccc7d067a70a4"
-dependencies = [
- "libc",
- "pyo3-build-config",
-]
-
-[[package]]
-name = "pyo3-macros"
-version = "0.19.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a5caec6a1dd355964a841fcbeeb1b89fe4146c87295573f94228911af3cc5a2"
-dependencies = [
- "proc-macro2",
- "pyo3-macros-backend",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "pyo3-macros-backend"
-version = "0.19.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0b78ccbb160db1556cdb6fd96c50334c5d4ec44dc5e0a968d0a1208fa0efa8b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "python3-dll-a"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f07cd4412be8fa09a721d40007c483981bbe072cd6a21f2e83e04ec8f8343f"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "regex"
-version = "1.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
-
-[[package]]
-name = "rustversion"
-version = "1.0.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f"
-
-[[package]]
-name = "ryu"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9"
-
-[[package]]
-name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "serde"
-version = "1.0.171"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.171"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.25",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c"
-dependencies = [
- "indexmap",
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
-
-[[package]]
-name = "speedate"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e54e4ea42510cf6cb46223f6974670faf58ef49e82040e924a295aa3f0c8eaa2"
-dependencies = [
- "strum",
- "strum_macros 0.25.1",
-]
-
-[[package]]
-name = "strum"
-version = "0.25.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125"
-dependencies = [
- "strum_macros 0.25.1",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.24.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 1.0.109",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.25.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6069ca09d878a33f883cc06aaa9718ede171841d3832450354410b718b097232"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn 2.0.25",
-]
-
-[[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.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "target-lexicon"
-version = "0.12.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df8e77cb757a61f51b947ec4a7e3646efd825b73561db1c232a8ccb639e611a0"
-
-[[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.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unindent"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
-
-[[package]]
-name = "url"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
-dependencies = [
- "form_urlencoded",
- "idna 0.4.0",
- "percent-encoding",
-]
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "windows-targets"
-version = "0.48.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
-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.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic-core/default.nix b/nixpkgs/pkgs/development/python-modules/pydantic-core/default.nix
index 7826712acb6e..6e273aaef4c9 100644
--- a/nixpkgs/pkgs/development/python-modules/pydantic-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydantic-core/default.nix
@@ -14,64 +14,74 @@
 , dirty-equals
 }:
 
-buildPythonPackage rec {
-  pname = "pydantic-core";
-  version = "2.3.0";
-  format = "pyproject";
+let
+  pydantic-core = buildPythonPackage rec {
+    pname = "pydantic-core";
+    version = "2.6.3";
+    format = "pyproject";
 
-  src = fetchFromGitHub {
-    owner = "pydantic";
-    repo = "pydantic-core";
-    rev = "v${version}";
-    hash = "sha256-Wi+b+xiJtVi3KIy6bzT29kyHFSI7mbMNrLa/Iu3cTEY=";
-  };
+    src = fetchFromGitHub {
+      owner = "pydantic";
+      repo = "pydantic-core";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-bEVACTlzELXPoCtEHMR1s87KJn/qnE0lO1O4RmdjmPM=";
+    };
 
-  patches = [
-    ./01-remove-benchmark-flags.patch
-  ];
+    patches = [
+      ./01-remove-benchmark-flags.patch
+    ];
 
-  cargoDeps = rustPlatform.importCargoLock {
-    lockFile = ./Cargo.lock;
-  };
+    cargoDeps = rustPlatform.fetchCargoTarball {
+      inherit src;
+      name = "${pname}-${version}";
+      hash = "sha256-h9SmMLg/W11h/SQz8Te5OoCKdyG6Fctc5ftqbVQFSwU=";
+    };
+
+    nativeBuildInputs = [
+      cargo
+      rustPlatform.cargoSetupHook
+      rustPlatform.maturinBuildHook
+      rustc
+      typing-extensions
+    ];
+
+    buildInputs = lib.optionals stdenv.isDarwin [
+      libiconv
+    ];
+
+    propagatedBuildInputs = [
+      typing-extensions
+    ];
 
-  nativeBuildInputs = [
-    cargo
-    rustPlatform.cargoSetupHook
-    rustPlatform.maturinBuildHook
-    rustc
-    typing-extensions
-  ];
+    pythonImportsCheck = [ "pydantic_core" ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [
-    libiconv
-  ];
+    # escape infinite recursion with pydantic via dirty-equals
+    doCheck = false;
+    passthru.tests.pytest = pydantic-core.overrideAttrs { doCheck = true; };
 
-  propagatedBuildInputs = [
-    typing-extensions
-  ];
+    nativeCheckInputs = [
+      pytestCheckHook
+      hypothesis
+      pytest-timeout
+      dirty-equals
+      pytest-mock
+    ];
 
-  pythonImportsCheck = [ "pydantic_core" ];
+    disabledTests = [
+      # RecursionError: maximum recursion depth exceeded while calling a Python object
+      "test_recursive"
+    ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-    hypothesis
-    pytest-timeout
-    dirty-equals
-    pytest-mock
-  ];
-  disabledTests = [
-    # RecursionError: maximum recursion depth exceeded while calling a Python object
-    "test_recursive"
-  ];
-  disabledTestPaths = [
-    # no point in benchmarking in nixpkgs build farm
-    "tests/benchmarks"
-  ];
+    disabledTestPaths = [
+      # no point in benchmarking in nixpkgs build farm
+      "tests/benchmarks"
+    ];
 
-  meta = with lib; {
-    description = "Core validation logic for pydantic written in rust";
-    homepage = "https://github.com/pydantic/pydantic-core";
-    license = licenses.mit;
-    maintainers = with maintainers; [ blaggacao ];
+    meta = with lib; {
+      description = "Core validation logic for pydantic written in rust";
+      homepage = "https://github.com/pydantic/pydantic-core";
+      license = licenses.mit;
+      maintainers = with maintainers; [ blaggacao ];
+    };
   };
-}
+in pydantic-core
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic-extra-types/default.nix b/nixpkgs/pkgs/development/python-modules/pydantic-extra-types/default.nix
new file mode 100644
index 000000000000..539873a1a4be
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pydantic-extra-types/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hatchling
+, pydantic
+, phonenumbers
+, pycountry
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pydantic-extra-types";
+  version = "2.1.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "pydantic";
+    repo = "pydantic-extra-types";
+    rev = "v${version}";
+    hash = "sha256-QPBOHIssTsWQlEg2WRpLRKrB6zmae43EExnPn5P4oAY=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    pydantic
+  ];
+
+  passthru.optional-dependencies = {
+    all = [
+      phonenumbers
+      pycountry
+    ];
+  };
+
+  pythonImportsCheck = [ "pydantic_extra_types" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ] ++ passthru.optional-dependencies.all;
+
+  pytestFlagsArray = [
+    "-W" "ignore::DeprecationWarning"
+  ];
+
+  meta = with lib; {
+    description = "Extra Pydantic types";
+    homepage = "https://github.com/pydantic/pydantic-extra-types";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic-settings/default.nix b/nixpkgs/pkgs/development/python-modules/pydantic-settings/default.nix
new file mode 100644
index 000000000000..a375ded35f04
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pydantic-settings/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hatchling
+, pydantic
+, python-dotenv
+, pytestCheckHook
+, pytest-examples
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "pydantic-settings";
+  version = "2.0.3";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "pydantic";
+    repo = "pydantic-settings";
+    rev = "v${version}";
+    hash = "sha256-3V6daCibvVr8RKo2o+vHC++QgIYKAOyRg11ATrCzM5Y=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    pydantic
+    python-dotenv
+  ];
+
+  pythonImportsCheck = [ "pydantic_settings" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-examples
+    pytest-mock
+  ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  meta = with lib; {
+    description = "Settings management using pydantic";
+    homepage = "https://github.com/pydantic/pydantic-settings";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic/default.nix b/nixpkgs/pkgs/development/python-modules/pydantic/default.nix
index ea4943a06506..4384e51db22b 100644
--- a/nixpkgs/pkgs/development/python-modules/pydantic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydantic/default.nix
@@ -33,7 +33,7 @@
 
 buildPythonPackage rec {
   pname = "pydantic";
-  version = "1.10.9";
+  version = "1.10.12";
   format = "setuptools";
 
   outputs = [
@@ -48,18 +48,9 @@ buildPythonPackage rec {
     owner = "pydantic";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-POqMxBJUFFS1TnO9h5W7jYwFlukBOng0zbtq4kzmMB4=";
+    hash = "sha256-3XnbPGU90wLCPEryFAOky6Iy73Dvgzzh+GbOKW8hZ4U=";
   };
 
-  patches = [
-    # Fixes racy doctests build failures on really fast machines
-    # FIXME: remove after next release
-    (fetchpatch {
-      url = "https://github.com/pydantic/pydantic/pull/6103/commits/f05014a30340e608155683aaca17d275f93a0380.diff";
-      hash = "sha256-sr47hpl37SSFFbK+/h3hGlF6Pl6L8XPKDU0lZZV7Vzs=";
-    })
-  ];
-
   postPatch = ''
     sed -i '/flake8/ d' Makefile
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/pydexcom/default.nix b/nixpkgs/pkgs/development/python-modules/pydexcom/default.nix
index 412373f09a29..57031c90f97c 100644
--- a/nixpkgs/pkgs/development/python-modules/pydexcom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydexcom/default.nix
@@ -1,20 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
+, setuptools-scm
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "pydexcom";
-  version = "0.2.3";
+  version = "0.3.1";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "gagebenne";
     repo = pname;
-    rev = version;
-    hash = "sha256-ItDGnUUUTwCz4ZJtFVlMYjjoBPn2h8QZgLzgnV2T/Qk=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-VZ8Y8W3oEQ3W8eubMbHLfQAXK8cL6+OTyBFwtEe0cBE=";
   };
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [ requests ];
 
   # tests are interacting with the Dexcom API
diff --git a/nixpkgs/pkgs/development/python-modules/pydicom/default.nix b/nixpkgs/pkgs/development/python-modules/pydicom/default.nix
index a2100c83c8df..11114257714d 100644
--- a/nixpkgs/pkgs/development/python-modules/pydicom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydicom/default.nix
@@ -11,13 +11,13 @@
 
 let
   pname = "pydicom";
-  version = "2.4.2";
+  version = "2.4.3";
 
   src = fetchFromGitHub {
     owner = "pydicom";
     repo = "pydicom";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FNZVu2/7kBGeP4iTH53bsApfHzHFxr5bxqbqkI4T95E=";
+    hash = "sha256-PF4iA/FPxPYD8OfgWqKRndwi2vURuzh6tlEwduxs/3E=";
   };
 
   # Pydicom needs pydicom-data to run some tests. If these files aren't downloaded
diff --git a/nixpkgs/pkgs/development/python-modules/pydiscovergy/default.nix b/nixpkgs/pkgs/development/python-modules/pydiscovergy/default.nix
index 31ef680c85c2..3c87b6b6f3a1 100644
--- a/nixpkgs/pkgs/development/python-modules/pydiscovergy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydiscovergy/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pydiscovergy";
-  version = "2.0.3";
+  version = "2.0.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "jpbede";
     repo = "pydiscovergy";
     rev = "refs/tags/${version}";
-    hash = "sha256-iE80r9xXDI01gG0S9zhWsLSdVLQo2R4A5Ktnccsetzk=";
+    hash = "sha256-u2G+o/vhPri7CPSnekC8rUo/AvuvePpG51MR+FdH2XA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pydrawise/default.nix b/nixpkgs/pkgs/development/python-modules/pydrawise/default.nix
index 4adda6c53ccc..22c281dce3e6 100644
--- a/nixpkgs/pkgs/development/python-modules/pydrawise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydrawise/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pydrawise";
-  version = "2023.8.0";
+  version = "2023.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "dknowles2";
     repo = "pydrawise";
     rev = "refs/tags/${version}";
-    hash = "sha256-cnQJ0enDgOB66rEZePmfTImFrPNMiXfggATM6hsL+ag=";
+    hash = "sha256-CSjYLiOvnm1kFp4DL3w/YmAsDcbaCfLfGT0xUZy+GZ0=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix b/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix
index 6c1db830955a..e61e725a80a1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyduotecno";
-  version = "2023.8.4";
+  version = "2023.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = "pyDuotecno";
     rev = "refs/tags/${version}";
-    hash = "sha256-VDDDG/D21yumWmcTC0mwXoGItB7OTdVCcjo01W1YZXY=";
+    hash = "sha256-GxCqWgw4OdhJUMsGzCZnl6KYH7HQpGyV7zXMxbShHlg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pydyf/default.nix b/nixpkgs/pkgs/development/python-modules/pydyf/default.nix
index b44b691c83e1..0cf3c5677cdc 100644
--- a/nixpkgs/pkgs/development/python-modules/pydyf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydyf/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pydyf";
-  version = "0.7.0";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-paiMsG5b62Sh7yFH7oebDlE59f24J/2i/PFKAYx7EeY=";
+    hash = "sha256-sise8BYUG1SUGtZu1OA2p73/OcCzYJk7KDh1w/hU3Zo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyeapi/default.nix b/nixpkgs/pkgs/development/python-modules/pyeapi/default.nix
index f7923144bae2..2ca3ff02edd9 100644
--- a/nixpkgs/pkgs/development/python-modules/pyeapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyeapi/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , setuptools
 , mock
 , netaddr
@@ -11,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyeapi";
-  version = "0.8.4";
+  version = "1.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "arista-eosplus";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "13chya6wix5jb82k67gr44bjx35gcdwz80nsvpv0gvzs6shn4d7b";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-GZBoCoAqij54rZezRDF/ihJDQ5T6FFyDSRXGV3//avQ=";
   };
 
   nativeBuildInputs = [
@@ -36,28 +35,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  patches = [
-    # Fix usage of collection, https://github.com/arista-eosplus/pyeapi/pull/223
-    (fetchpatch {
-      name = "fix-collection-usage.patch";
-      url = "https://github.com/arista-eosplus/pyeapi/commit/81754f57eb095703cc474f527a0915360af76f68.patch";
-      hash = "sha256-ZNBTPRNmXCFVJeRAJxzIHmCOXZiGwU6t4ekSupU3BX8=";
-    })
-    (fetchpatch {
-      name = "fix-collection-usage-2.patch";
-      url = "https://github.com/arista-eosplus/pyeapi/commit/cc9c584e4a3167e3c1624cccb6bc0d9c9bcdbc1c.patch";
-      hash = "sha256-EY0i1Skm1llEQAAzvrb2yelhhLBkqKAFJB5ObAIxAYo=";
-      excludes = [
-        ".github/workflows/ci.yml"
-      ];
-    })
-    (fetchpatch {
-      name = "fix-collection-usage-3.patch";
-      url = "https://github.com/arista-eosplus/pyeapi/commit/dc35ab076687ea71665ae9524480b05a4e893909.patch";
-      hash = "sha256-xPaYULCPTxiQGB9Im/qLet+XebW9wq+TAfrxcgQxcoE=";
-    })
-  ];
-
   pytestFlagsArray = [
     "test/unit"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyecoforest/default.nix b/nixpkgs/pkgs/development/python-modules/pyecoforest/default.nix
new file mode 100644
index 000000000000..2021b4e414b9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyecoforest/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, httpx
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, respx
+}:
+
+buildPythonPackage rec {
+  pname = "pyecoforest";
+  version = "0.4.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "pjanuario";
+    repo = "pyecoforest";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-C8sFq0vsVsq6irWbRd0eq18tfKu0qRRBZHt23CiDTGU=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "--cov=pyecoforest --cov-report=term-missing:skip-covered" ""
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    httpx
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    respx
+  ];
+
+  pythonImportsCheck = [
+    "pyecoforest"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with Ecoforest devices";
+    homepage = "https://github.com/pjanuario/pyecoforest";
+    changelog = "https://github.com/pjanuario/pyecoforest/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyee/default.nix b/nixpkgs/pkgs/development/python-modules/pyee/default.nix
index a009186dd019..0efcb94259fe 100644
--- a/nixpkgs/pkgs/development/python-modules/pyee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyee/default.nix
@@ -6,25 +6,29 @@
 , pytest-trio
 , pytestCheckHook
 , pythonOlder
+, setuptools
+, setuptools-scm
 , twisted
 , typing-extensions
-, vcversioner
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "pyee";
-  version = "9.0.4";
-  format = "setuptools";
+  version = "11.0.0";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-J3DEkoq8ch9GtwXmpysMWUgMSmnJqDygsAu5lPHqSzI=";
+    hash = "sha256-J8aCvOYL2txdPiPqzUEB3zKMAoCISj2cB/Ok4+WV3ic=";
   };
 
-  buildInputs = [
-    vcversioner
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyenphase/default.nix b/nixpkgs/pkgs/development/python-modules/pyenphase/default.nix
index ca106a91fac4..360db9124175 100644
--- a/nixpkgs/pkgs/development/python-modules/pyenphase/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyenphase/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pyenphase";
-  version = "1.11.4";
+  version = "1.12.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "pyenphase";
     repo = "pyenphase";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZFK7Pyn8YsxdxPICtDXx2L+3t/xG3x2HC+F0plDbvHk=";
+    hash = "sha256-gqbRz0JAp8hjZpFUzlFzqq86UKgD0TLWSp1Z9rdrk3s=";
   };
 
   postPatch = ''
@@ -56,6 +56,11 @@ buildPythonPackage rec {
     syrupy
   ];
 
+  disabledTests = [
+    # https://github.com/pyenphase/pyenphase/issues/97
+    "test_with_7_x_firmware"
+  ];
+
   pythonImportsCheck = [
     "pyenphase"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix b/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix
index 4b9c5039f36a..fda4be537d92 100644
--- a/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyerfa/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , jinja2
 , oldest-supported-numpy
 , setuptools-scm
@@ -8,20 +9,28 @@
 , liberfa
 , packaging
 , numpy
+, pytestCheckHook
+, pytest-doctestplus
 }:
 
 buildPythonPackage rec {
   pname = "pyerfa";
   format = "pyproject";
-  version = "2.0.0.1";
-
-  doCheck = false;
+  version = "2.0.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-L9Rjf/4sHm7edILBP1g7p8cxGdeL75AXVEjOUGoO3jA=";
+    hash = "sha256-13+7+lg1DBlMy5nl2TqgXTwrFNWq2LZi2Txq2f/0Hzk=";
   };
 
+  patches = [
+    # Sort of helps maybe for https://github.com/liberfa/pyerfa/issues/112
+    (fetchpatch {
+      url = "https://github.com/liberfa/pyerfa/commit/4866342b94c5e7344711146f1186a4c3e7534da8.patch";
+      hash = "sha256-uPFFdLYfRweQdeEApBAw6Ulqh31NTQwwmnaU+x/M+C0=";
+    })
+  ];
+
   nativeBuildInputs = [
     jinja2
     oldest-supported-numpy
@@ -31,14 +40,32 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    liberfa
     numpy
   ];
+  buildInputs = [
+    liberfa
+  ];
 
   preBuild = ''
     export PYERFA_USE_SYSTEM_LIBERFA=1
   '';
 
+  # See https://github.com/liberfa/pyerfa/issues/112#issuecomment-1721197483
+  NIX_CFLAGS_COMPILE = "-O2";
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-doctestplus
+  ];
+  # Getting circular import errors without this, not clear yet why. This was mentioned to
+  # upstream at: https://github.com/liberfa/pyerfa/issues/112 and downstream at
+  # https://github.com/NixOS/nixpkgs/issues/255262
+  preCheck = ''
+    cd $out
+  '';
+  pythonImportsCheck = [
+    "erfa"
+  ];
+
   meta = with lib; {
     description = "Python bindings for ERFA routines";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyface/default.nix b/nixpkgs/pkgs/development/python-modules/pyface/default.nix
index b976989f6b5b..fd0f1409ca75 100644
--- a/nixpkgs/pkgs/development/python-modules/pyface/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyface/default.nix
@@ -3,22 +3,27 @@
 , buildPythonPackage
 , importlib-metadata
 , importlib-resources
+, setuptools
 , traits
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyface";
-  version = "7.4.4";
-  format = "setuptools";
+  version = "8.0.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0F+qxFOUvVWYWQahIM8AEv58rCxmNJYsBTC2pjUO2yI=";
+    hash = "sha256-fhNhg0e3pkjtIM29T9GlFkj1AQKR815OD/G/cKcgy/g=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     importlib-metadata
     importlib-resources
diff --git a/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix b/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix
index 3965a31e58c2..c1d081baaadb 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfaidx/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "pyfaidx";
-  version = "0.7.2.1";
+  version = "0.7.2.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MPDSCp49UzU/sg62m34i5vAaU+1PIbPhfdQI8L5QUaA=";
+    hash = "sha256-O3aTwFLIJpEAD+SpJHXbgv/DtachoSsQ37yHEZxLTTA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix b/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix
index 416ec7c39bca..912754373f3e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfakefs/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "5.1.0";
+  version = "5.2.4";
   pname = "pyfakefs";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MWxgJmQNFKa0+95x/ZZ0V20bVxDe2o+r3oqtUdeF28M=";
+    hash = "sha256-PgQPN5IIYIag3CGRsF/nCUOOFoqv4ulPzb7444WSCNg=";
   };
 
   postPatch = ''
@@ -32,6 +32,12 @@ buildPythonPackage rec {
   nativeCheckInputs = [ pytestCheckHook ];
   # https://github.com/jmcgeheeiv/pyfakefs/issues/581 (OSError: [Errno 9] Bad file descriptor)
   disabledTests = [ "test_open_existing_pipe" ];
+
+  disabledTestPaths = [
+    # try to import opentimelineio but nixpkgs doesn't have it as of 2023-09-16
+    "pyfakefs/pytest_tests/segfault_test.py"
+  ];
+
   pythonImportsCheck = [ "pyfakefs" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix b/nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix
index 595a997e62b2..b1a38f11f6ac 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfibaro/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyfibaro";
-  version = "0.7.3";
+  version = "0.7.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "rappenze";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-pCj69lLcoNTyZRe6SVkFpPK2Ex8927WzAJ5OCot9xP4=";
+    hash = "sha256-hllYxPPbLu3dpjHwXfIvTMW0LWtcglTVfN7youZaXTw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyfiglet/default.nix b/nixpkgs/pkgs/development/python-modules/pyfiglet/default.nix
index 61420455dac3..0b3bdb7f6d34 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfiglet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfiglet/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi }:
 
 buildPythonPackage rec {
-  version = "1.0.1";
+  version = "1.0.2";
   pname = "pyfiglet";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-x9kIim+CG99pxY2XVzeAhadogWJrIwjmu9pwcSFgfxg=";
+    sha256 = "sha256-dYeIAYq4+q3cCYTh6gX/Mw08ZL5mPFE8wfEF9qMGbas=";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/pyflakes/default.nix b/nixpkgs/pkgs/development/python-modules/pyflakes/default.nix
index d83c02783729..2dea4630c575 100644
--- a/nixpkgs/pkgs/development/python-modules/pyflakes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyflakes/default.nix
@@ -2,13 +2,12 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, fetchpatch, isPy311
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pyflakes";
-  version = "3.0.1";
+  version = "3.1.0";
 
   disabled = pythonOlder "3.6";
 
@@ -16,17 +15,9 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7IsnamtgvYDe/tJa3X5DmIHBnmSFCv2bNGKD1BZf0P0=";
+    hash = "sha256-oKrgNMRE2wBxqgd5crpHaNQMgw2VOf1Fv0zT+PaZLvw=";
   };
 
-  patches = lib.optional isPy311 # could be made unconditional on rebuild
-    (fetchpatch {
-      name = "tests-py311.patch";
-      url = "https://github.com/PyCQA/pyflakes/commit/836631f2f73d45baa4021453d89fc9fd6f52be58.diff";
-      hash = "sha256-xlgql+bN0HsGnTMkwax3ZG/5wrbkUl/kQkjlr3lsgRw=";
-    })
-  ;
-
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyfronius/default.nix b/nixpkgs/pkgs/development/python-modules/pyfronius/default.nix
index 0133d409d0c6..74791d25c0cd 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfronius/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfronius/default.nix
@@ -2,32 +2,24 @@
 , aiohttp
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonOlder
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pyfronius";
-  version = "0.7.1";
+  version = "0.7.2";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nielstron";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "1xwx0c1dp2374bwigzwhvcj4577vrxyhn6i5zv73k9ydc7w1xgyz";
+    hash = "sha256-eWe4nXKW9oP9lqehy6BK7ABaIqP3dgRX6ymW1Okfd9g=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Python3.10 compatibility; https://github.com/nielstron/pyfronius/pull/7
-      url = "https://github.com/nielstron/pyfronius/commit/9deb209d4246ff575cd3c4c5373037bf11df6719.patch";
-      hash = "sha256-srXYCvp86kGYUYZIXMcu68hEbkTspD945J+hc/AhqSw=";
-    })
-  ];
-
   propagatedBuildInputs = [
     aiohttp
   ];
@@ -36,11 +28,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pyfronius" ];
+  pythonImportsCheck = [
+    "pyfronius"
+  ];
 
   meta = with lib; {
     description = "Python module to communicate with Fronius Symo";
     homepage = "https://github.com/nielstron/pyfronius";
+    changelog = "https://github.com/nielstron/pyfronius/releases/tag/release-${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyftpdlib/default.nix b/nixpkgs/pkgs/development/python-modules/pyftpdlib/default.nix
index e48513b55ce4..f40dc187124c 100644
--- a/nixpkgs/pkgs/development/python-modules/pyftpdlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyftpdlib/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pyftpdlib";
-  version = "1.5.7";
+  version = "1.5.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fqPOQTfbggmvH2ueoCBZD0YsY+18ehJAvVluTTp7ZW4=";
+    hash = "sha256-v22rtn3/MrP/BA4oJf/7xrjecDc7ydm1U0gMxNdQTWw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pygame-gui/default.nix b/nixpkgs/pkgs/development/python-modules/pygame-gui/default.nix
index e7539a814505..3c530d199f81 100644
--- a/nixpkgs/pkgs/development/python-modules/pygame-gui/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygame-gui/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pygame-gui";
-  version = "068";
+  version = "069";
   # nixpkgs-update: no auto update
 
   src = fetchFromGitHub {
     owner = "MyreMylar";
     repo = "pygame_gui";
     rev = "refs/tags/v_${version}";
-    hash = "sha256-BCgSCOnuIqjpROpEtkzkvIXK7dIO0dNYsPmQSwXfmTQ=";
+    hash = "sha256-IXU00Us1odbfS7jLPMYuCPv2l/5TUZdYKES7xHs+EWg=";
   };
 
   propagatedBuildInputs = [ pygame python-i18n ];
diff --git a/nixpkgs/pkgs/development/python-modules/pygame/default.nix b/nixpkgs/pkgs/development/python-modules/pygame/default.nix
index 140b233e3428..f4ceeb9b978c 100644
--- a/nixpkgs/pkgs/development/python-modules/pygame/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygame/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "pygame";
-  version = "2.2.0";
+  version = "2.5.1";
 
   disabled = pythonOlder "3.6";
 
@@ -15,11 +15,11 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
+    rev = "refs/tags/${version}";
     # Unicode file names lead to different checksums on HFS+ vs. other
     # filesystems because of unicode normalisation. The documentation
     # has such files and will be removed.
-    hash = "sha256-SMkY3uN3kAlb/pbm047W0G8MJ7G8mCsfGVSPhzd5aEo=";
+    hash = "sha256-0mVbjfNYTfuo8uyd7NFKlneUZMt78mcitQ5nCgPxmFs=";
     postFetch = "rm -rf $out/docs/reST";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pygccxml/default.nix b/nixpkgs/pkgs/development/python-modules/pygccxml/default.nix
index f4f842852b0c..10336a27549f 100644
--- a/nixpkgs/pkgs/development/python-modules/pygccxml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygccxml/default.nix
@@ -4,12 +4,13 @@
 , buildPythonPackage
 , llvmPackages
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pygccxml";
-  version = "2.3.0";
-  format = "setuptools";
+  version = "2.4.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -17,9 +18,13 @@ buildPythonPackage rec {
     owner = "gccxml";
     repo = "pygccxml";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+cmp41iWbkUSLNFLvEPHocpTQAX2CpD8HMXLIYcy+8k=";
+    hash = "sha256-rw99afv68c92LWmKUErB1y0Cts69UEpI0GCxSMvD+B8=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   buildInputs = [
     castxml
     llvmPackages.libcxxStdenv
diff --git a/nixpkgs/pkgs/development/python-modules/pygit2/default.nix b/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
index c7e4979d1372..5505b1c3a83f 100644
--- a/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
@@ -6,7 +6,7 @@
 , cffi
 , fetchPypi
 , isPyPy
-, libgit2_1_6
+, libgit2
 , pycparser
 , pytestCheckHook
 , pythonOlder
@@ -14,22 +14,22 @@
 
 buildPythonPackage rec {
   pname = "pygit2";
-  version = "1.12.2";
+  version = "1.13.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VuhdDmbelX1ZnR77JAnTmv7v2PAQCb/aB5a0Kktng1g=";
+    hash = "sha256-bd43Q2+rFCZK09bLxarj/VVeualoCnv91uVkzXe14rg=";
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
-    export DYLD_LIBRARY_PATH="${libgit2_1_6}/lib"
+    export DYLD_LIBRARY_PATH="${libgit2}/lib"
   '';
 
   buildInputs = [
-    libgit2_1_6
+    libgit2
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pygitguardian/default.nix b/nixpkgs/pkgs/development/python-modules/pygitguardian/default.nix
index 9eff24633034..78dc32f7625b 100644
--- a/nixpkgs/pkgs/development/python-modules/pygitguardian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygitguardian/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pygitguardian";
-  version = "1.9.0";
+  version = "1.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "GitGuardian";
     repo = "py-gitguardian";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lDs2H5GUf3fhTSX+20dD0FNW2oirkgQQk5t7GKSnKe4=";
+    hash = "sha256-Vr0+y3Zi7DsXzm2COOlMqUVjlZMRJkaVxT8QpSePhuA=";
   };
 
   nativeBuildInputs = [
@@ -49,17 +49,21 @@ buildPythonPackage rec {
 
   disabledTests = [
     # Tests require an API key
-    "test_health_check"
-    "test_multi_content_scan"
+    "test_compute_sca_files"
     "test_content_scan_exceptions"
-    "test_multi_content_exceptions"
     "test_content_scan"
+    "test_create_honeytoken"
+    "test_create_jwt"
     "test_extra_headers"
+    "test_health_check"
+    "test_multi_content_exceptions"
+    "test_multi_content_scan"
     "test_multiscan_parameters"
     "test_quota_overview"
+    "test_sca_client_scan_diff"
+    "test_sca_scan_directory_invalid_tar"
+    "test_sca_scan_directory"
     "test_versions_from_headers"
-    "test_create_honeytoken"
-    "test_create_jwt"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pygithub/default.nix b/nixpkgs/pkgs/development/python-modules/pygithub/default.nix
index a42c41a392dd..cbfacc2c4f36 100644
--- a/nixpkgs/pkgs/development/python-modules/pygithub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygithub/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pygithub";
-  version = "1.59.1";
+  version = "2.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "PyGithub";
     repo = "PyGithub";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tzM2+nLBHTbKlQ7HLmNRq4Kn62vmz1MaGyZsnaJSrgQ=";
+    hash = "sha256-ysa1RAWuFFQCF6bYwAUVFou7nxCKHLZbUtrUtXiSpPk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pygls/default.nix b/nixpkgs/pkgs/development/python-modules/pygls/default.nix
index 7ca6b344c9a2..caf3e014eed6 100644
--- a/nixpkgs/pkgs/development/python-modules/pygls/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygls/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pygls";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "openlawlibrary";
     repo = "pygls";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ovm897Vu6HRziGee3NioM1BA65mLe3F5Z2k0E+A35Gs=";
+    hash = "sha256-z673NRlnudFyDjKoM+xCbMRTFwh+tjUf4BaNtjwvKx8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pygments/default.nix b/nixpkgs/pkgs/development/python-modules/pygments/default.nix
index 8f32d26ebc24..f2b89cbcefd5 100644
--- a/nixpkgs/pkgs/development/python-modules/pygments/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygments/default.nix
@@ -13,13 +13,13 @@
 let pygments = buildPythonPackage
   rec {
     pname = "pygments";
-    version = "2.15.1";
+    version = "2.16.1";
     format = "pyproject";
 
     src = fetchPypi {
       pname = "Pygments";
       inherit version;
-      hash = "sha256-is5NPB3UgYlLIAX1YOrQ+fGe5k/pgzZr4aIeFx0Sd1w=";
+      hash = "sha256-Ha/wSUggxpvIlB5AeqIPV3N07og2TuEKmP2+Cuzpbik=";
     };
 
     nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pygmo/default.nix b/nixpkgs/pkgs/development/python-modules/pygmo/default.nix
index 147198087fa5..0ce6a2fd3f99 100644
--- a/nixpkgs/pkgs/development/python-modules/pygmo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygmo/default.nix
@@ -18,13 +18,13 @@
 
 toPythonModule (stdenv.mkDerivation rec {
   pname = "pygmo";
-  version = "2.19.0";
+  version = "2.19.5";
 
   src = fetchFromGitHub {
     owner = "esa";
     repo = "pygmo2";
     rev = "refs/tags/v${version}";
-    hash = "sha256-gjmZf66AcNaAMqyLerBgRu5RUzV6qrT7DigTNE39AwI=";
+    hash = "sha256-szQyw5kYfrQEeXRQzjQ0hzULuzTfmGod6ZxG9PDRj5M=";
   };
 
   cmakeFlags = [
diff --git a/nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix
index 77ec68ea2884..f2c2668f4043 100644
--- a/nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygobject-stubs/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pygobject-stubs";
-  version = "2.8.0";
+  version = "2.9.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pygobject";
     repo = "pygobject-stubs";
-    rev = "v${version}";
-    hash = "sha256-8TB8eqXPhvoKtyQ8+hnCQnH4NwO2WC1NYAxmVj+FCvg=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-A28vH5S5xxY7VIJORbgQ7jAi/wG4WiffNGryiumHWf0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pygtkspellcheck/default.nix b/nixpkgs/pkgs/development/python-modules/pygtkspellcheck/default.nix
index 767eb706bb7f..a467ff074643 100644
--- a/nixpkgs/pkgs/development/python-modules/pygtkspellcheck/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygtkspellcheck/default.nix
@@ -1,19 +1,39 @@
-{ lib, buildPythonPackage, fetchPypi, gobject-introspection, gtk3, pyenchant, pygobject3 }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, gobject-introspection
+, gtk3
+, poetry-core
+, pyenchant
+, pygobject3
+}:
 
 buildPythonPackage rec {
   pname = "pygtkspellcheck";
-  version = "5.0.1";
+  version = "5.0.2";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hIHf1LBmFhPWN138jaAAOpmx+frbe6XM22+jG+OWcvw=";
+    hash = "sha256-rWV/ghoMWHOAmT8ablwOjJSEhtvPqT/UdoZBXL5Nj0s=";
   };
 
-  nativeBuildInputs = [ gobject-introspection ];
-  propagatedBuildInputs = [ pyenchant pygobject3 gtk3 ];
+  nativeBuildInputs = [
+    gobject-introspection
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pyenchant
+    pygobject3
+    gtk3
+  ];
 
   doCheck = false; # there are no tests
-  pythonImportsCheck = [ "gtkspellcheck" ];
+
+  pythonImportsCheck = [
+    "gtkspellcheck"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/koehlma/pygtkspellcheck";
diff --git a/nixpkgs/pkgs/development/python-modules/pyhepmc/default.nix b/nixpkgs/pkgs/development/python-modules/pyhepmc/default.nix
index 7e59dbf9b112..76197c47c2fd 100644
--- a/nixpkgs/pkgs/development/python-modules/pyhepmc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyhepmc/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pyhepmc";
-  version = "2.12.0";
+  version = "2.13.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "scikit-hep";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-po1ad02dpY69RRhaRApskH6tdOaSIsCl5PgpjsAzyKo=";
+    hash = "sha256-M18Bq6WrAINpgPx5+uh8dufPBxIklRHpbBWUYMC8v10=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyicu/default.nix b/nixpkgs/pkgs/development/python-modules/pyicu/default.nix
index f8100ad3ddbb..901bec161445 100644
--- a/nixpkgs/pkgs/development/python-modules/pyicu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyicu/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "pyicu";
-  version = "2.10.2";
+  version = "2.11";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "PyICU";
     inherit version;
-    hash = "sha256-DDMJ7qf6toV1B6zmJANRW2D+CWy/tPkNFPVf91xUQcE=";
+    hash = "sha256-OrUxJkz+kTKz0qxdcI2ppGSdJfbmgTcwrIjPBAoIqEQ=";
   };
 
   nativeBuildInputs = [ icu ]; # for icu-config, but should be replaced with pkg-config
diff --git a/nixpkgs/pkgs/development/python-modules/pyinfra/default.nix b/nixpkgs/pkgs/development/python-modules/pyinfra/default.nix
index 4f2794e3e086..578861814140 100644
--- a/nixpkgs/pkgs/development/python-modules/pyinfra/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyinfra/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pyinfra";
-  version = "2.7";
+  version = "2.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "Fizzadar";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-drfxNpdhqSxCeB0SbwyKOd3DDA7bFkmDmFQJS3JwOlA=";
+    hash = "sha256-BYd2UYQJD/HsmpnlQjZvjfg17ShPuA3j4rtv6fTQK/A=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix b/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
index dbf6ab12b44e..8980da8e24bd 100644
--- a/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
@@ -4,7 +4,6 @@
 , async-generator
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pypubsub
 , pyserial
 , pyserial-asyncio
@@ -17,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.5.0";
+  version = "1.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -26,18 +25,9 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-REm0E7+otqDypVslB5heHEaWA+q3Nh1O96gxFeCC3As=";
+    hash = "sha256-H2rgPA0GW6neFIHZVZxmAP50HJUPCWDZcJ90QxLGXJ8=";
   };
 
-  patches = [
-    # https://github.com/pyinsteon/pyinsteon/pull/361
-    (fetchpatch {
-      name = "relax-setuptools-dependency.patch";
-      url = "https://github.com/pyinsteon/pyinsteon/commit/676bc5fff11b73a4c3fd189a6ac6d3de9ca21ae0.patch";
-      hash = "sha256-kTu1+IwDrcdqelyK/vfhxw8MQBis5I1jag7YTytKQhs=";
-    })
-  ];
-
   nativeBuildInputs = [
     setuptools
     wheel
diff --git a/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix b/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix
index 392595fbc082..de604737ace6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyiqvia/default.nix
@@ -3,6 +3,7 @@
 , aiohttp
 , aresponses
 , backoff
+, certifi
 , fetchFromGitHub
 , fetchpatch
 , poetry-core
@@ -10,36 +11,23 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, yarl
 }:
 
 buildPythonPackage rec {
   pname = "pyiqvia";
-  version = "2023.08.1";
+  version = "2023.10.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "pyiqvia";
     rev = "refs/tags/${version}";
-    hash = "sha256-vPcb0mwREQri9FuYhWXihWSYnZ2ywBVujPMaNThTbVI=";
+    hash = "sha256-8eTa2h+1QOL0T13+lg2OzvaQv6CYYKkviQb4J5KPsvM=";
   };
 
-  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/pyiqvia/pull/245
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/pyiqvia/commit/760d5bd1f4d60f3a97f6ea9a9a57860f4be3abdd.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
@@ -47,6 +35,8 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     backoff
+    certifi
+    yarl
   ];
 
   __darwinAllowLocalNetworking = true;
@@ -75,6 +65,7 @@ buildPythonPackage rec {
       https://flustar.com and more).
     '';
     homepage = "https://github.com/bachya/pyiqvia";
+    changelog = "https://github.com/bachya/pyiqvia/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyixapi/default.nix b/nixpkgs/pkgs/development/python-modules/pyixapi/default.nix
new file mode 100644
index 000000000000..80111d561b65
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyixapi/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, requests
+, pyjwt
+}:
+
+buildPythonPackage rec {
+  pname = "pyixapi";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-c5a8Ldbzgh8gXuCDYbKk9zR6AoiBF3Y/VQvGlSwXpR4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+  propagatedBuildInputs = [
+    requests
+    pyjwt
+  ];
+
+  pythonImportsCheck = [ "pyixapi" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/peering-manager/pyixapi/";
+    changelog = "https://github.com/peering-manager/pyixapi/releases/tag/${version}";
+    description = "Python API client library for IX-API";
+    license = licenses.asl20;
+    maintainers = teams.wdz.members;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pykalman/default.nix b/nixpkgs/pkgs/development/python-modules/pykalman/default.nix
new file mode 100644
index 000000000000..7073e9382d3d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pykalman/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, scipy
+, pytestCheckHook
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "pykalman";
+  version = "0.9.5";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-gWr0dyDZJKTGAW+nS54sjCEWWgjZFpPDIqF0Ho4H+zg=";
+  };
+
+  patches = [
+    # https://github.com/pykalman/pykalman/issues/83
+    ./fix-masked-arrays-not-supported.patch
+    # python 3.11 issues fix: https://github.com/pykalman/pykalman/pull/101
+    ./fix-p311-issues.patch
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    nose
+  ];
+  pythonImportsCheck = [ "pykalman" ];
+
+  meta = with lib; {
+    description = "An implementation of the Kalman Filter, Kalman Smoother, and EM algorithm in Python";
+    homepage = "https://github.com/pykalman/pykalman";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pykalman/fix-masked-arrays-not-supported.patch b/nixpkgs/pkgs/development/python-modules/pykalman/fix-masked-arrays-not-supported.patch
new file mode 100644
index 000000000000..f6dc6679cc54
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pykalman/fix-masked-arrays-not-supported.patch
@@ -0,0 +1,14 @@
+--- a/pykalman/utils.py
++++ b/pykalman/utils.py
+@@ -70,7 +70,10 @@
+             cv_chol = linalg.cholesky(cv + min_covar * np.eye(n_dim),
+                                       lower=True)
+         cv_log_det = 2 * np.sum(np.log(np.diagonal(cv_chol)))
+-        cv_sol = solve_triangular(cv_chol, (X - mu).T, lower=True).T
++        try:
++            cv_sol = solve_triangular(cv_chol, (X - mu).T, lower=True).T
++        except ValueError:
++            cv_sol = np.linalg.solve(cv_chol, (X - mu).T).T
+         log_prob[:, c] = - .5 * (np.sum(cv_sol ** 2, axis=1) + \
+                                      n_dim * np.log(2 * np.pi) + cv_log_det)
+ 
diff --git a/nixpkgs/pkgs/development/python-modules/pykalman/fix-p311-issues.patch b/nixpkgs/pkgs/development/python-modules/pykalman/fix-p311-issues.patch
new file mode 100644
index 000000000000..002c8b893aad
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pykalman/fix-p311-issues.patch
@@ -0,0 +1,13 @@
+--- a/pykalman/utils.py
++++ b/pykalman/utils_copy.py
+@@ -40,6 +40,10 @@
+ from scipy import linalg
+ 
+ 
++# monkey patch
++if not hasattr(inspect, 'getargspec'):
++    inspect.getargspec = inspect.getfullargspec
++
+ def array1d(X, dtype=None, order=None):
+     """Returns at least 1-d array with data from X"""
+     return np.asarray(np.atleast_1d(X), dtype=dtype, order=order)
diff --git a/nixpkgs/pkgs/development/python-modules/pykka/default.nix b/nixpkgs/pkgs/development/python-modules/pykka/default.nix
index b13aaa716f6d..5bc06fe17091 100644
--- a/nixpkgs/pkgs/development/python-modules/pykka/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykka/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pykka";
-  version = "4.0.0";
+  version = "4.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jodal";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-xFEEv4UAKv/H//7OIBSb9juwmuH4xWd6BKBXaX2GwFU=";
+    hash = "sha256-SYgT69/AZX/JDm89PwFqrUL9Ll1iHRKEy78BN4QKz9Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix b/nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix
index 51e3dfdab28f..1e18c9f93aea 100644
--- a/nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylgnetcast/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pylgnetcast";
-  version = "0.3.7";
+  version = "0.3.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -15,8 +15,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "Drafteed";
     repo = "python-lgnetcast";
-    rev = "v${version}";
-    sha256 = "0pmz52k2sfxj5x2wcwdjks2lqh1gb5zfrjgc6xij8jal4l9xd2dz";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-UxZ4XM7n0Ryd4D967fXPTA4sqTrZwS8Tj/Q8kNGdk8Q=";
   };
 
   propagatedBuildInputs = [
@@ -33,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python API client for the LG Smart TV running NetCast 3 or 4";
     homepage = "https://github.com/Drafteed/python-lgnetcast";
+    changelog = "https://github.com/Drafteed/python-lgnetcast/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pylint-django/default.nix b/nixpkgs/pkgs/development/python-modules/pylint-django/default.nix
index dcfc83c029a7..978394e60e27 100644
--- a/nixpkgs/pkgs/development/python-modules/pylint-django/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylint-django/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , django
-, factory_boy
+, factory-boy
 , fetchFromGitHub
 , pylint-plugin-utils
 , pytestCheckHook
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix b/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
index 00d69542c897..65a519f0bdff 100644
--- a/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pylitterbot";
-  version = "2023.4.8";
+  version = "2023.4.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "natekspencer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-74EKgHocrEi37bh4WBoYyLKF1XYrwxT7e2oo3igTWms=";
+    hash = "sha256-QsxzwmAdhx0diPJ/bT+DgJSs70YQ77M76rq2opMq/Ew=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix b/nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix
index fd9ca66daebe..e069e902687f 100644
--- a/nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylutron-caseta/default.nix
@@ -1,9 +1,9 @@
 { lib
+, async-timeout
 , buildPythonPackage
 , cryptography
 , fetchFromGitHub
 , pytest-asyncio
-, pytest-sugar
 , pytest-timeout
 , pytestCheckHook
 , pythonOlder
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pylutron-caseta";
-  version = "0.18.2";
+  version = "0.18.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "gurumitts";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-GyYJZIjvy4JYNCUUJpQxt32U8lMS/iQoz4llbCmJQhU=";
+    hash = "sha256-tjmMu7LUne+hLLTXGqHhci9/PZiuQ10mQaARvL2sdIM=";
   };
 
   nativeBuildInputs = [
@@ -34,9 +34,10 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytest-asyncio
-    pytest-sugar
     pytest-timeout
     pytestCheckHook
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    async-timeout
   ];
 
   pytestFlagsArray = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymanopt/default.nix b/nixpkgs/pkgs/development/python-modules/pymanopt/default.nix
index 0ade36294d96..d6fbdacf4650 100644
--- a/nixpkgs/pkgs/development/python-modules/pymanopt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymanopt/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pymanopt";
-  version = "2.1.1";
+  version = "2.2.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-nbSxqMmYWi71s74bbB9LAlPKEslTqG/j266cLfNHrwg=";
+    hash = "sha256-pDFRYhswcuAHG9pcqvzXIy3Ivhxe5R5Ric7AFRh7MK4=";
   };
 
   propagatedBuildInputs = [ numpy scipy torch ];
diff --git a/nixpkgs/pkgs/development/python-modules/pymazda/default.nix b/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
deleted file mode 100644
index b0b83ca84038..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ lib
-, aiohttp
-, buildPythonPackage
-, cryptography
-, fetchPypi
-, poetry-core
-, pythonOlder
-}:
-
-buildPythonPackage rec {
-  pname = "pymazda";
-  version = "0.3.11";
-  format = "pyproject";
-
-  disabled = pythonOlder "3.8";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-DiXLY4mfgRbE0Y1tOJnkMSQQj1vcySLVDBthOWe7/dM=";
-  };
-
-  nativeBuildInputs = [
-    poetry-core
-  ];
-
-  propagatedBuildInputs = [
-    aiohttp
-    cryptography
-  ];
-
-  # Project has no tests
-  doCheck = false;
-
-  pythonImportsCheck = [
-    "pymazda"
-  ];
-
-  meta = with lib; {
-    description = "Python client for interacting with the MyMazda API";
-    homepage = "https://github.com/bdr99/pymazda";
-    changelog = "https://github.com/bdr99/pymazda/releases/tag/${version}";
-    license = licenses.mit;
-    maintainers = with maintainers; [ fab ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pymc/default.nix b/nixpkgs/pkgs/development/python-modules/pymc/default.nix
index 14df8ba37147..3120a5a844e9 100644
--- a/nixpkgs/pkgs/development/python-modules/pymc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymc/default.nix
@@ -14,16 +14,16 @@
 
 buildPythonPackage rec {
   pname = "pymc";
-  version = "5.3.1";
-  format = "setuptools";
+  version = "5.9.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "pymc-devs";
-    repo = pname;
+    repo = "pymc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TtRIYgsPlire4li4/9Ls7Rh1SIkDGi5uCSN7huSrelA=";
+    hash = "sha256-iaX1+SHGAJ9V2Jv76as5BcL5DcxURwX3aGa+R9YVtXY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymdown-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/pymdown-extensions/default.nix
index 1f4bcb1cce29..f6fea35270e5 100644
--- a/nixpkgs/pkgs/development/python-modules/pymdown-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymdown-extensions/default.nix
@@ -44,14 +44,14 @@ let
 in
 buildPythonPackage rec {
   pname = "pymdown-extensions";
-  version = "10.1.0";
+  version = "10.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "facelessuser";
     repo = "pymdown-extensions";
     rev = "refs/tags/${version}";
-    hash = "sha256-KqDEmWAWXdDpQPsP9Vrced+Ozz9IZiD8rCG57hPR7Xs=";
+    hash = "sha256-R35R2dHfjcVQbEa2319FEMjPGl1Y5/u2KEHeR0wTYEo=";
   };
 
   nativeBuildInputs = [ hatchling ];
diff --git a/nixpkgs/pkgs/development/python-modules/pymodbus/default.nix b/nixpkgs/pkgs/development/python-modules/pymodbus/default.nix
index 7b172949567e..539502db35b3 100644
--- a/nixpkgs/pkgs/development/python-modules/pymodbus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymodbus/default.nix
@@ -3,14 +3,15 @@
 , buildPythonPackage
 , click
 , fetchFromGitHub
-, mock
 , prompt-toolkit
 , pygments
 , pyserial
 , pytest-asyncio
 , pytest-xdist
 , pytestCheckHook
+, pythonOlder
 , redis
+, setuptools
 , sqlalchemy
 , twisted
 , typer
@@ -18,16 +19,22 @@
 
 buildPythonPackage rec {
   pname = "pymodbus";
-  version = "3.5.2";
-  format = "setuptools";
+  version = "3.5.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "pymodbus-dev";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-FOmR9yqLagqcsAVxqHxziEcnZ5M9QpL2qIp8x2gS2PU=";
+    hash = "sha256-IgGDYNIRS39t8vHkJSGnDGCTKxpeIYZyedLzyS5pOI0=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   passthru.optional-dependencies = {
     repl = [
       aiohttp
@@ -42,7 +49,6 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
-    mock
     pytest-asyncio
     pytest-xdist
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/pymongo/default.nix b/nixpkgs/pkgs/development/python-modules/pymongo/default.nix
index 292e7fceead6..bb6196f775a2 100644
--- a/nixpkgs/pkgs/development/python-modules/pymongo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymongo/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pymongo";
-  version = "4.3.3";
+  version = "4.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NOlf+wpov/vDtDfy0fJfyRb+899c3u0JktpfQvrpuAc=";
+    hash = "sha256-aB8lLkOz7wVMqRYWNfgbcw9NjK3Siz8rIAT1py+FOYI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymorphy3/default.nix b/nixpkgs/pkgs/development/python-modules/pymorphy3/default.nix
index c4642b906544..2ef0e9629bd5 100644
--- a/nixpkgs/pkgs/development/python-modules/pymorphy3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymorphy3/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pymorphy3";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "no-plagiarism";
     repo = pname;
-    rev = version;
-    hash = "sha256-5MXAYcjZPUrGf5G5e7Yml1SLukrZURA0TCv0GiP56rM=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-JTRG+UtNXnS9GFUrgHNVCktb3HdH98wDFgzDPp6oVcQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix b/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
index 0bea5f8c51b5..d7e69706e51f 100644
--- a/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pymupdf";
-  version = "1.22.5";
+  version = "1.23.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyMuPDF";
     inherit version;
-    hash = "sha256-XsjVEGdSKXUp0NaNRs/EzpmRSqvZm+hD8VmaGELWP+k=";
+    hash = "sha256-AhR4rmx26IWSQdu5cGEskIColX2L1pe7oLRTHcHPT4c=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pymyq/default.nix b/nixpkgs/pkgs/development/python-modules/pymyq/default.nix
index afe7f7af628d..91c691f843a3 100644
--- a/nixpkgs/pkgs/development/python-modules/pymyq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymyq/default.nix
@@ -4,21 +4,28 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pkce
+, poetry-core
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pymyq";
-  version = "3.1.6";
+  version = "3.1.13";
+  pyproject = true;
+
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
-    owner = "arraylabs";
-    repo = pname;
+    owner = "Python-MyQ";
+    repo = "Python-MyQ";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zhGCoZ7mkHlfDjEbQihtM23u+N6nfYsQhKmrloevzp8=";
+    hash = "sha256-kW03swRXZdkh45I/up/FIxv0WGBRqTlDt1X71Ow/hrg=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     beautifulsoup4
@@ -34,8 +41,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python wrapper for MyQ API";
-    homepage = "https://github.com/arraylabs/pymyq";
-    changelog = "https://github.com/arraylabs/pymyq/releases/tag/v${version}";
+    homepage = "https://github.com/Python-MyQ/Python-MyQ";
+    changelog = "https://github.com/Python-MyQ/Python-MyQ/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix b/nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix
index f6cf6e4b999d..4a78f020f3b7 100644
--- a/nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynetdicom/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pydicom
 , pyfakefs
 , pytestCheckHook
@@ -23,6 +24,14 @@ buildPythonPackage rec {
     hash = "sha256-/JWQUtFBW4uqCbs/nUxj1pRBfTCXV4wcqTkqvzpdFrM=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "fix-python-3.11-test-attribute-errors";
+      url = "https://github.com/pydicom/pynetdicom/pull/754/commits/2126bd932d6dfb3f07045eb9400acb7eaa1b3069.patch";
+      hash = "sha256-t6Lg0sTZSWIE5q5pkBvEoHDQ+cklDn8SgNBcFk1myp4=";
+     })
+  ];
+
   propagatedBuildInputs = [
     pydicom
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pynina/default.nix b/nixpkgs/pkgs/development/python-modules/pynina/default.nix
index acdb8f0b14c0..73e611d0f501 100644
--- a/nixpkgs/pkgs/development/python-modules/pynina/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynina/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pynina";
-  version = "0.3.2";
+  version = "0.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyNINA";
     inherit version;
-    hash = "sha256-uiNUkNL/3FGGhqctE9AZNdSD4o7jTk829GAT5Gy2Xeo=";
+    hash = "sha256-6HJ78tKl6If/ezwOrGl3VEYO4eMh/6cZq2j2AMBr0I8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix b/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix
index b7075b9619d7..0d0171b1b066 100644
--- a/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "pynndescent";
-  version = "0.5.8";
+  version = "0.5.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-p8VSVpv2BKEB/VS7odJ8EjieBllF3uOmd3pRjGOkbys=";
+    hash = "sha256-XV3Gg8A+9V/j3faThZcgyhj4XG5uW7C08UhwJ41SiK0=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/pynobo/default.nix b/nixpkgs/pkgs/development/python-modules/pynobo/default.nix
index 1be7a78c44f3..783415a2c2fb 100644
--- a/nixpkgs/pkgs/development/python-modules/pynobo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynobo/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "pynobo";
-  version = "1.6.1";
+  version = "1.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "echoromeo";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-T86d3HGu6hsc54+ocCbINsInH/qHL9+HhOXDQ0I8QGA=";
+    hash = "sha256-LJS4NJM+f+j53YzH8LradBDzHAsOprd4F7nH1cfC3B0=";
   };
 
   # Project has no tests
diff --git a/nixpkgs/pkgs/development/python-modules/pynput/default.nix b/nixpkgs/pkgs/development/python-modules/pynput/default.nix
index 394c6f87b65c..88c46532d997 100644
--- a/nixpkgs/pkgs/development/python-modules/pynput/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynput/default.nix
@@ -1,22 +1,61 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, sphinx, setuptools-lint, xlib, evdev }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+
+# build-system
+, setuptools
+, setuptools-lint
+, sphinx
+
+# dependencies
+, xlib
+, evdev
+, darwin
+, six
+
+ # tests
+, unittestCheckHook
+ }:
 
 buildPythonPackage rec {
   pname = "pynput";
   version = "1.7.6";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3a5726546da54116b687785d38b1db56997ce1d28e53e8d22fc656d8b92e533c";
+  src = fetchFromGitHub {
+    owner = "moses-palmer";
+    repo = "pynput";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-gRq4LS9NvPL98N0Jk09Z0GfoHS09o3zM284BEWS+NW4=";
   };
 
-  nativeBuildInputs = [ sphinx ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'sphinx >=1.3.1'" ""
+  '';
 
-  propagatedBuildInputs = [ setuptools-lint xlib ]
-  ++ lib.optionals stdenv.isLinux [
-    evdev
+  nativeBuildInputs = [
+    setuptools
+    setuptools-lint
+    sphinx
   ];
 
-  doCheck = false;
+  propagatedBuildInputs = [
+    six
+  ] ++ lib.optionals stdenv.isLinux [
+    evdev
+    xlib
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    ApplicationServices
+    Quartz
+  ]);
+
+  doCheck = false; # requires running X server
+
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
 
   meta = with lib; {
     broken = stdenv.isDarwin;
diff --git a/nixpkgs/pkgs/development/python-modules/pynws/default.nix b/nixpkgs/pkgs/development/python-modules/pynws/default.nix
index edc9eb26440e..d2dd95f42451 100644
--- a/nixpkgs/pkgs/development/python-modules/pynws/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynws/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "MatthewFlamm";
     repo = pname;
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     hash = "sha256-x56kfnmdVV0Fc7XSI60rrtEl4k3uzpIdZxTofUbkUHU=";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyocd/default.nix b/nixpkgs/pkgs/development/python-modules/pyocd/default.nix
index 699b6c3cf553..ecc92bc3bd38 100644
--- a/nixpkgs/pkgs/development/python-modules/pyocd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyocd/default.nix
@@ -21,11 +21,11 @@
 
 buildPythonPackage rec {
   pname = "pyocd";
-  version = "0.34.3";
+  version = "0.35.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2zDr6fnA2MCTT/hNVvk7u3gugMo+nUF2E2VsOPhJXH4=";
+    sha256 = "sha256-AugIT007JtTXx0cLtHD9TtxsK/K6eB492U2k+EVxyXU=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix b/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
index d3e7faf03cd3..d8cf1f260da2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyodbc";
-  version = "4.0.35";
+  version = "4.0.39";
   format = "setuptools";
 
   disabled = pythonOlder "3.7" || isPyPy; # use pypypdbc instead
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-krmvSOi5KEVbyLlL89oFdR+uwJMqEe7iN8GJxtQ55cg=";
+    hash = "sha256-5Si7cN1tYpnuQphokl3whm4+kZx3K57/ecjheSDY8RY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
index db815f0d3598..9f33457730f6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
@@ -26,12 +26,12 @@ let
     if stdenv.isDarwin then [ mesa_drivers.dev ] else [ ocl-icd ];
 in buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2023.1.2";
+  version = "2023.1.4";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6wDNV0BJ1ZK2edz4v+erSjbJSjn9Gssaa0XWwNe+mmg=";
+    hash = "sha256-IgF078qQDp1d5a7yqht3pvJVBQHekrA1qRATrq5NTF4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix b/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
index 3c7010965785..0b36f9b73544 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopenuv/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pyopenuv";
-  version = "2023.02.0";
+  version = "2023.08.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,16 +23,10 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-EiTTck6hmOGSQ7LyZsbhnH1zgkH8GccejLdJaH2m0F8=";
+    hash = "sha256-6JYYkEH873beEQf2agAF85YLSb7+n0UVzIuRz3amXpU=";
   };
 
   patches = [
-    # Remove asynctest, https://github.com/bachya/pyopenuv/pull/108
-    (fetchpatch {
-      name = "remove-asynctest.patch";
-      url = "https://github.com/bachya/pyopenuv/commit/af15736b0d82ef811c3f380f5da32007752644fe.patch";
-      hash = "sha256-5uQS3DoM91mhfyxLTNii3JBxwXIDK4/GwtadkVagjuw=";
-    })
     # 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.
diff --git a/nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix b/nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix
index 678c66d29b22..458cd0afb277 100644
--- a/nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyorthanc";
-  version = "1.11.5";
+  version = "1.12.3";
   disabled = pythonOlder "3.8";
 
   format = "pyproject";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gacou54";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-RZJ7BuQRJ+yaHFv9iq4uFvMtH8NvGvmpjmgmyvw9rGk=";
+    hash = "sha256-9+HP95OsJIXsLy+6m6fWECU3jXxY++C3wQJBcqnC+H0=";
   };
 
   nativeBuildInputs = [ pythonRelaxDepsHook poetry-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyosmium/default.nix b/nixpkgs/pkgs/development/python-modules/pyosmium/default.nix
index 289f4d1c048e..40090532fea1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyosmium/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyosmium/default.nix
@@ -1,8 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , cmake
-, python
 , libosmium
 , protozero
 , boost
@@ -32,6 +32,14 @@ buildPythonPackage rec {
     hash = "sha256-+YJQGPQm2FGOPhNzlXX2GM+ad4QdipJhwViOKGHtqBk=";
   };
 
+  patches = [
+    # Compatibility with recent pybind versions
+    (fetchpatch {
+      url = "https://github.com/osmcode/pyosmium/commit/31b1363389b423f49e14140ce868ecac83e92f69.patch";
+      hash = "sha256-maBuwzyZ4/wVLLGVr4gZFZDKvJckUXiBluxZRPGETag=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix b/nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix
index b9335d108b2e..0c07a12fc1f3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyoutbreaksnearme/default.nix
@@ -2,51 +2,40 @@
 , aiohttp
 , aresponses
 , buildPythonPackage
+, certifi
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytest-asyncio
 , pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
 , ujson
+, yarl
 }:
 
 buildPythonPackage rec {
   pname = "pyoutbreaksnearme";
-  version = "2023.08.0";
-  format = "pyproject";
+  version = "2023.10.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "pyoutbreaksnearme";
     rev = "refs/tags/${version}";
-    hash = "sha256-Qrq8/dPJsJMJNXobc+Ps6Nbg819+GFuYplovGuWK0nQ=";
+    hash = "sha256-G+/ooNhiYOaV0kjfr8Z1d31XxRYFArQnt1oIuMQfXdY=";
   };
 
-  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/pyoutbreaksnearme/pull/174
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/pyoutbreaksnearme/commit/45fba9f689253a0f79ebde93086ee731a4151553.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
     aiohttp
+    certifi
     ujson
+    yarl
   ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
index 291bcee9c500..c9d4922501e3 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.11.0";
+  version = "1.12.1";
   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-ZwDqctkbF3PUu4F9s7amdBoOYQ15jJk64HK4I7rJX/A=";
+    hash = "sha256-PmdCFeKk2Lz9sKDKcRqNkItpASIaFs9hvGvA1gE1c0E=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyparted/default.nix b/nixpkgs/pkgs/development/python-modules/pyparted/default.nix
index b8c0812cfbaa..4d473ae094d8 100644
--- a/nixpkgs/pkgs/development/python-modules/pyparted/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyparted/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pyparted";
-  version = "3.12.0";
+  version = "3.13.0";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "dcantrell";
-    rev = "v${version}";
-    hash = "sha256-LfBLR0A/wnfBtXISAAY6Nl4vnk1rtY03F+PT8UIMrEs=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-AiUCCrEbDD0OxrvXs1YN3/1IE7SuVasC2YCirIG58iU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pypdf/default.nix b/nixpkgs/pkgs/development/python-modules/pypdf/default.nix
index 585d12e8fb04..df58a17aee20 100644
--- a/nixpkgs/pkgs/development/python-modules/pypdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypdf/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "pypdf";
-  version = "3.15.1";
+  version = "3.16.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     rev = "refs/tags/${version}";
     # fetch sample files used in tests
     fetchSubmodules = true;
-    hash = "sha256-0KMZnMIeTkra2Il4HGDBtm8HLP8zpMXgUD4V5U5fYy0=";
+    hash = "sha256-vE5ujknMpufBuwWqtjkLegTRe4eDAvBVPCVM6It2pHQ=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyperf/default.nix b/nixpkgs/pkgs/development/python-modules/pyperf/default.nix
index e6ae36f0cf8a..fc87620c6b9c 100644
--- a/nixpkgs/pkgs/development/python-modules/pyperf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyperf/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyperf";
-  version = "2.5.0";
+  version = "2.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-n9m+W1ciTmi1pbiPcSbxW2yGZ1c/YqCjn68U1v3ROQk=";
+    hash = "sha256-Fxrqabjv3mEhDlEhZth2Tndlqcdni3aAUhdLAfNJ8kc=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix b/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix
index 6e948d7bb293..f598eb4df90a 100644
--- a/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pypiserver";
-  version = "1.5.2";
+  version = "2.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jub+iVL/YeGaG9Vzqyyfc4qFi0cR+7xrzuXNHL5W4p4=";
+    hash = "sha256-Eh/3URt7pcJhoDDLRP8iHyjlPsE5E9M/0Hixqi5YNdg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pypoint/default.nix b/nixpkgs/pkgs/development/python-modules/pypoint/default.nix
index b19554ea48ff..20b4ba6d0a7a 100644
--- a/nixpkgs/pkgs/development/python-modules/pypoint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypoint/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pypoint";
-  version = "2.3.1";
+  version = "2.3.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "fredrike";
     repo = "pypoint";
     rev = "v${version}";
-    hash = "sha256-fO0un6YIK3jutzUxbu9mSqPZHfLa3pMtfxOy1iV3Qio=";
+    hash = "sha256-tQ5rQs6ECn9O9dVXKWhmy9BBpOzgqSmwpmbIRbJn2CQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyproj/default.nix b/nixpkgs/pkgs/development/python-modules/pyproj/default.nix
index e65313c753ef..0d77ed937cf1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyproj/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyproj/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "pyproj";
-  version = "3.6.0";
+  version = "3.6.1";
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "pyproj4";
     repo = "pyproj";
     rev = "refs/tags/${version}";
-    hash = "sha256-XMJg1azsvMtVnKuIulrrZ1Of3CFk2/EgQjkN1g0FpmQ=";
+    hash = "sha256-ynAhu89VpvtQJRkIeVyffQHhd+OvWSiZzaI/7nd6fXA=";
   };
 
   # force pyproj to use ${proj}
diff --git a/nixpkgs/pkgs/development/python-modules/pyproject-api/default.nix b/nixpkgs/pkgs/development/python-modules/pyproject-api/default.nix
index 6cbef5b8a77f..4ba62fc1e310 100644
--- a/nixpkgs/pkgs/development/python-modules/pyproject-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyproject-api/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "pyproject-api";
-  version = "1.5.4";
+  version = "1.6.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "tox-dev";
     repo = "pyproject-api";
     rev = "refs/tags/${version}";
-    hash = "sha256-HX+5BypfEOfQ3vg3vha0QCVrEarjMu/Q8id+xgmWGfA=";
+    hash = "sha256-XQD+36NP2zKUp/QRlgKhwzfMYBh6GVlCYXURXs2qeO8=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pypugjs/default.nix b/nixpkgs/pkgs/development/python-modules/pypugjs/default.nix
index 9590b7d07b90..cf2a413a04d2 100644
--- a/nixpkgs/pkgs/development/python-modules/pypugjs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypugjs/default.nix
@@ -7,7 +7,7 @@
 , mako
 , nose
 , pyramid
-, pyramid_mako
+, pyramid-mako
 , pytestCheckHook
 , six
 , tornado
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     nose
     tornado
     pyramid
-    pyramid_mako
+    pyramid-mako
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pypykatz/default.nix b/nixpkgs/pkgs/development/python-modules/pypykatz/default.nix
index 429373b47a36..4a93fb19c1f6 100644
--- a/nixpkgs/pkgs/development/python-modules/pypykatz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypykatz/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pypykatz";
-  version = "0.6.8";
+  version = "0.6.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uOOPDVlx8EKgkCJmZOQxIlI0UBMNzuh/ESoIoa2TmNM=";
+    hash = "sha256-Xni2cYI+ByTFSDvuWHDU97KljwMe3aT7P+VIir6ktks=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix b/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
index 6bb268d21995..12d2ea182af0 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
@@ -117,6 +117,10 @@ buildPythonPackage rec {
     multimediaEnabled = withMultimedia;
     webKitEnabled = withWebKit;
     WebSocketsEnabled = withWebSockets;
+    connectivityEnabled = withConnectivity;
+    locationEnabled = withLocation;
+    serialPortEnabled = withSerialPort;
+    toolsEnabled = withTools;
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix b/nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix
index 22f2048ba1d3..51f0341703e1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqt/6.x.nix
@@ -132,6 +132,9 @@ buildPythonPackage rec {
   ++ lib.optional withLocation "PyQt6.QtPositioning"
   ;
 
+  # fix build with qt 6.6
+  env.NIX_CFLAGS_COMPILE = "-fpermissive";
+
   meta = with lib; {
     description = "Python bindings for Qt6";
     homepage = "https://riverbankcomputing.com/";
diff --git a/nixpkgs/pkgs/development/python-modules/pyqt5-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/pyqt5-stubs/default.nix
new file mode 100644
index 000000000000..505c64253971
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyqt5-stubs/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, pyqt5
+, pyqt3d
+, pyqtchart
+, pyqtdatavisualization
+, pyqtwebengine
+}:
+
+buildPythonPackage rec {
+  pname = "PyQt5-stubs";
+  version = "5.15.6.0";
+  format = "setuptools";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "python-qt-tools";
+    repo = "PyQt5-stubs";
+    rev = version;
+    hash = "sha256-qWnvlHnFRy8wbZJ28C0pYqAxod623Epe5z5FZufheDc=";
+  };
+  postPatch = ''
+    # pulls in a dependency to mypy, but we don't want to run linters
+    rm tests/test_stubs.py
+  '' + lib.optionalString (!pyqt5.connectivityEnabled) ''
+    rm tests/qflags/test_QtBluetooth_*
+    rm tests/qflags/test_QtNfc_*
+  '' + lib.optionalString (!pyqt5.locationEnabled) ''
+    rm tests/qflags/test_QtLocation_*
+    rm tests/qflags/test_QtPositioning_*
+  '' + lib.optionalString (!pyqt5.multimediaEnabled) ''
+    rm tests/qflags/test_QtMultimedia_*
+  '' + lib.optionalString (!pyqt5.serialPortEnabled) ''
+    rm tests/qflags/test_QtSerialPort_*
+  '' + lib.optionalString (!pyqt5.toolsEnabled) ''
+    rm tests/qflags/test_QtDesigner_*
+  '';
+
+  pythonImportsCheck = [
+    "PyQt5-stubs"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pyqt5
+    pyqt3d
+    pyqtchart
+    pyqtdatavisualization
+    pyqtwebengine
+  ];
+
+  meta = with lib; {
+    description = "Stubs for PyQt5 ";
+    homepage = "https://github.com/python-qt-tools/PyQt5-stubs";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ _999eagle ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix b/nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix
index 2b7b4a1377a7..9e8a876213e8 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqtgraph/default.nix
@@ -10,7 +10,7 @@
 , pytestCheckHook
 , freefont_ttf
 , makeFontsConf
-, fetchpatch
+, setuptools
 }:
 
 let
@@ -20,21 +20,18 @@ let
 in
 buildPythonPackage rec {
   pname = "pyqtgraph";
-  version = "0.12.2";
+  version = "0.13.3";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pyqtgraph";
     repo = "pyqtgraph";
-    rev = "pyqtgraph-${version}";
-    sha256 = "093kkxwj75nb508vz7px4x7lxrwpaff10pl15m4h74hjwyvbsg3d";
+    rev = "refs/tags/pyqtgraph-${version}";
+    hash = "sha256-kFTNhv8pgIRSJX0ePmp1I0+MGfCaW8b86baIYZ2bZQM=";
   };
 
-  # TODO: remove when updating to 0.12.3
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/pyqtgraph/pyqtgraph/commit/2de5cd78da92b48e48255be2f41ae332cf8bb675.patch";
-      sha256 = "1hy86psqyl6ipvbg23zvackkd6f7ajs6qll0mbs0x2zmrj92hk00";
-    })
+  nativeBuildInputs = [
+    setuptools
   ];
 
   propagatedBuildInputs = [
@@ -53,6 +50,11 @@ buildPythonPackage rec {
     export FONTCONFIG_FILE=${fontsConf}
   '';
 
+  pytestFlagsArray = [
+    # we only want to run unittests
+    "tests"
+  ];
+
   disabledTests = lib.optionals (!stdenv.hostPlatform.isx86) [
     # small precision-related differences on other architectures,
     # upstream doesn't consider it serious.
diff --git a/nixpkgs/pkgs/development/python-modules/pyradios/default.nix b/nixpkgs/pkgs/development/python-modules/pyradios/default.nix
index 8ed0fef4a6ac..8f9b96e5d12a 100644
--- a/nixpkgs/pkgs/development/python-modules/pyradios/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyradios/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyradios";
-  version = "1.0.2";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-O30ExmvWu4spwDytFVPWGjR8w3XSTaWd2Z0LGQibq9g=";
+    hash = "sha256-Uqg/owmf2popAhyanAUIdSWpXAGCWkQja4P944BpNhc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid_beaker/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid-beaker/default.nix
index 494a8e0c0bfb..4a9fd61f2616 100644
--- a/nixpkgs/pkgs/development/python-modules/pyramid_beaker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyramid-beaker/default.nix
@@ -1,11 +1,12 @@
 { lib, buildPythonPackage, fetchPypi, pytest, beaker, pyramid }:
 
 buildPythonPackage rec {
-  pname = "pyramid_beaker";
+  pname = "pyramid-beaker";
   version = "0.8";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "pyramid_beaker";
+    inherit version;
     sha256 = "0hflx3qkcdml1mwpq53sz46s7jickpfn0zy0ns2c7j445j66bp3p";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid_chameleon/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid-chameleon/default.nix
index 69862bdfe554..69862bdfe554 100644
--- a/nixpkgs/pkgs/development/python-modules/pyramid_chameleon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyramid-chameleon/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch b/nixpkgs/pkgs/development/python-modules/pyramid-chameleon/test-renderers-pyramid-import.patch
index 635ed3510fc7..635ed3510fc7 100644
--- a/nixpkgs/pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch
+++ b/nixpkgs/pkgs/development/python-modules/pyramid-chameleon/test-renderers-pyramid-import.patch
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid_exclog/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid-exclog/default.nix
index 61a95bae84e2..c54ff94ff167 100644
--- a/nixpkgs/pkgs/development/python-modules/pyramid_exclog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyramid-exclog/default.nix
@@ -5,11 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  pname = "pyramid_exclog";
+  pname = "pyramid-exclog";
   version = "1.1";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "pyramid_exclog";
+    inherit version;
     hash = "sha256-Tl2rYH/GifNfB9w4nG9UIqAQz0O6kujCED/4iZnPKDw=";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid-jinja2/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid-jinja2/default.nix
index d83b28e0a4f7..801ad816641b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyramid-jinja2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyramid-jinja2/default.nix
@@ -5,7 +5,7 @@
 , markupsafe
 , jinja2
 , pytestCheckHook
-, zope_deprecation
+, zope-deprecation
 , pyramid
 , pythonOlder
 }:
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     markupsafe
     jinja2
     pyramid
-    zope_deprecation
+    zope-deprecation
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid_mako/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid-mako/default.nix
index be9c76eeb882..d55eee1a37f3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyramid_mako/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyramid-mako/default.nix
@@ -8,7 +8,7 @@
 }:
 
 buildPythonPackage rec {
-  pname = "pyramid_mako";
+  pname = "pyramid-mako";
   version = "1.1.0";
 
   src = fetchPypi {
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid-multiauth/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid-multiauth/default.nix
new file mode 100644
index 000000000000..c70e7f0b0b64
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyramid-multiauth/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyramid
+, unittestCheckHook
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pyramid-multiauth";
+  version = "1.0.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "mozilla-services";
+    repo = "pyramid_multiauth";
+    rev = "refs/tags/${version}";
+    hash = "sha256-+Aa+Vc4qCqDe/W5m/RBpYAyOMJkBv+ZGSqElJlkHqs4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    pyramid
+  ];
+
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/mozilla-services/pyramid_multiauth/releases/tag/${version}";
+    description = "Authentication policy for Pyramid that proxies to a stack of other authentication policies";
+    homepage = "https://github.com/mozilla-services/pyramid_multiauth";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid/default.nix
index a2b24faf10db..0589fd0401a3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyramid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyramid/default.nix
@@ -11,7 +11,7 @@
 , translationstring
 , venusian
 , webob
-, zope_deprecation
+, zope-deprecation
 , zope_interface
 , pythonOlder
 }:
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     translationstring
     venusian
     webob
-    zope_deprecation
+    zope-deprecation
     zope_interface
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyramid_multiauth/default.nix b/nixpkgs/pkgs/development/python-modules/pyramid_multiauth/default.nix
deleted file mode 100644
index 22e32aa4d1ee..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pyramid_multiauth/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pyramid
-}:
-
-buildPythonPackage rec {
-  pname = "pyramid_multiauth";
-  version = "1.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6d8785558e1d0bbe0d0da43e296efc0fbe0de5071d1f9b1091e891f0e4ec9682";
-  };
-
-  propagatedBuildInputs = [ pyramid ];
-
-  meta = with lib; {
-    description = "Authentication policy for Pyramid that proxies to a stack of other authentication policies";
-    homepage = "https://github.com/mozilla-services/pyramid_multiauth";
-    license = licenses.mpl20;
-    maintainers = with maintainers; [];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pyrate-limiter/default.nix b/nixpkgs/pkgs/development/python-modules/pyrate-limiter/default.nix
index 3aa0d42e2d50..0b3218e190a4 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrate-limiter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrate-limiter/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "pyrate-limiter";
-  version = "2.10.0";
+  version = "3.1.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "vutran1710";
     repo = "PyrateLimiter";
-    rev = "v${version}";
-    hash = "sha256-CPusPeyTS+QyWiMHsU0ii9ZxPuizsqv0wQy3uicrDw0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-WL+nNk68NaK36Lwalj23ugiSuB5acSLumLJGQaXE06A=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyre-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/pyre-extensions/default.nix
index dd9868d2078d..24bc9312de86 100644
--- a/nixpkgs/pkgs/development/python-modules/pyre-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyre-extensions/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage {
   inherit pname version;
   format = "setuptools";
 
-  disable = pythonOlder "3.7";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix b/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix
index 808b0e5428e9..1f616e00acbe 100644
--- a/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
-, cython
+, cython_3
 , fetchFromGitHub
 , libiconv
 , pandas
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyreadstat";
-  version = "1.2.2";
+  version = "1.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,11 +22,11 @@ buildPythonPackage rec {
     owner = "Roche";
     repo = "pyreadstat";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CvovylOTTyXm0ucTwNSFZzkcA0H8H76BSg4vjB2Pe4M=";
+    hash = "sha256-Rd2nHsEYfr1I5gu2+iXIdHKvF/QgMD+vK6SIK/ytrmo=";
   };
 
   nativeBuildInputs = [
-    cython
+    cython_3
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyrevolve/default.nix b/nixpkgs/pkgs/development/python-modules/pyrevolve/default.nix
index 754baf91ad38..d60b2164051c 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrevolve/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrevolve/default.nix
@@ -2,17 +2,18 @@
 , buildPythonPackage
 , fetchFromGitHub
 , contexttimer
+, setuptools
 , versioneer
 , cython
 , numpy
-, pytest
+, pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyrevolve";
-  version = "2.2.2";
-  format = "setuptools";
+  version = "2.2.3";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -20,12 +21,18 @@ buildPythonPackage rec {
     owner = "devitocodes";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-JLDn3WEBcdO8YYzt/MWOHB/1kcmbmZUsiH00/4Uwlxo=";
+    hash = "sha256-z1G8DXG06Capd87x02zqrtYyBrX4xmJP94t4bgaR2PE=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace ', "flake8"' ""
+  '';
+
   nativeBuildInputs = [
-    versioneer
     cython
+    setuptools
+    versioneer
   ];
 
   propagatedBuildInputs = [
@@ -33,12 +40,12 @@ buildPythonPackage rec {
     numpy
   ];
 
-  nativeCheckInputs = [ pytest ];
-  # Using approach bellow bcs the tests fail with the pytestCheckHook, throwing the following error
-  # ImportError: cannot import name 'crevolve' from partially initialized module 'pyrevolve'
-  # (most likely due to a circular import)
-  checkPhase = ''
-    pytest
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    rm -rf pyrevolve
   '';
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyrisco/default.nix b/nixpkgs/pkgs/development/python-modules/pyrisco/default.nix
index 72fc5ab0a200..0233d2d0d1c4 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrisco/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrisco/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyrisco";
-  version = "0.5.7";
+  version = "0.5.8";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "OnFreund";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ySFHB+PZmjsqKJQrfFoupylowsOiV5B2feHX7nF8dUA=";
+    hash = "sha256-PQ1h9UVQ2DQMInxdAaLES7uDWAxwDra+YfAmz5jjV6g=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyro5/default.nix b/nixpkgs/pkgs/development/python-modules/pyro5/default.nix
index 93ea78d692c8..eacf7436cda6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyro5/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyro5/default.nix
@@ -9,15 +9,15 @@
 
 buildPythonPackage rec {
   pname = "pyro5";
-  version = "5.14";
+  version = "5.15";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "Pyro5";
     inherit version;
-    hash = "sha256-ZP3OE3sP5TLohhTSRrfJi74KT0JnhsUkU5rNxeaUCGo=";
+    hash = "sha256-gsPfyYYLSfiXso/yT+ZxbIQWcsYAr4/kDQ46f6yaP14=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyrogram/default.nix b/nixpkgs/pkgs/development/python-modules/pyrogram/default.nix
index 58598e1460bd..c947cbaaa4eb 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrogram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrogram/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyrogram";
-  version = "2.0.101";
+  version = "2.0.106";
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pyrogram";
     repo = "pyrogram";
     rev = "v${version}";
-    hash = "sha256-HFOT8PqK7n42j2H8EJ5c7h9PL28icQwYErPNcxPgoM8=";
+    hash = "sha256-W/t3v5q0s+ba0Uly+JUaJl75uDQGeFaj2zDKGRMIMow=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyscard/default.nix b/nixpkgs/pkgs/development/python-modules/pyscard/default.nix
index 106fa03a082b..cfa2f64c38b3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyscard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyscard/default.nix
@@ -1,4 +1,11 @@
-{ lib, stdenv, fetchpatch, fetchPypi, buildPythonPackage, swig, pcsclite, PCSC }:
+{ lib
+, stdenv
+, fetchPypi
+, buildPythonPackage
+, swig
+, pcsclite
+, PCSC
+}:
 
 let
   # Package does not support configuring the pcsc library.
@@ -6,23 +13,14 @@ let
 in
 
 buildPythonPackage rec {
-  version = "2.0.2";
+  version = "2.0.7";
   pname = "pyscard";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05de0579c42b4eb433903aa2fb327d4821ebac262434b6584da18ed72053fd9e";
+    hash = "sha256-J4BUUl+nX76LEEYNh+3NA6cK2U1oixE0Xkc5mH+Fwb8=";
   };
 
-  patches = [
-    # present in master - remove after 2.0.2
-    (fetchpatch {
-      name = "darwin-typo-test-fix.patch";
-      url = "https://github.com/LudovicRousseau/pyscard/commit/ce842fcc76fd61b8b6948d0b07306d82ad1ec12a.patch";
-      sha256 = "0wsaj87wp9d2vnfzwncfxp2w95m0zhr7zpkmg5jccn06z52ihis3";
-    })
-  ];
-
   postPatch = if withApplePCSC then ''
     substituteInPlace smartcard/scard/winscarddll.c \
       --replace "/System/Library/Frameworks/PCSC.framework/PCSC" \
diff --git a/nixpkgs/pkgs/development/python-modules/pysensibo/default.nix b/nixpkgs/pkgs/development/python-modules/pysensibo/default.nix
index 0d79ed311625..603800f9a169 100644
--- a/nixpkgs/pkgs/development/python-modules/pysensibo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysensibo/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pysensibo";
-  version = "1.0.33";
+  version = "1.0.35";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-A7IzAIV8dQVSmYTEp9yeySQ8eXnLFVkiuWFS3pe2YTA=";
+    hash = "sha256-E3XUQ7Ltu9zhjWVvl1LN+UUz8B2dAjLa0CZI9ca35nc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix b/nixpkgs/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix
new file mode 100644
index 000000000000..d935b2c17155
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# build-system
+, setuptools
+, wheel
+
+# dependencies
+, pyserial
+
+# tests
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "pyserial-asyncio-fast";
+  version = "0.11";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = "pyserial-asyncio-fast";
+    rev = version;
+    hash = "sha256-B1CLk7ggI7l+DaMDlnMjl2tfh+evvaf1nxzBpmqMBZk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    pyserial
+  ];
+
+  pythonImportsCheck = [
+    "serial_asyncio_fast"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  meta = with lib; {
+    description = "Fast asyncio extension package for pyserial that implements eager writes";
+    homepage = "https://github.com/bdraco/pyserial-asyncio-fast";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyside6/default.nix b/nixpkgs/pkgs/development/python-modules/pyside6/default.nix
index be99c0a086fb..e03516742527 100644
--- a/nixpkgs/pkgs/development/python-modules/pyside6/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyside6/default.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, fetchpatch2
 , cmake
 , ninja
 , python
@@ -15,6 +16,15 @@ stdenv.mkDerivation rec {
 
   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;
+    })
+  ];
+
   # 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.
   postPatch = lib.optionalString stdenv.isLinux ''
diff --git a/nixpkgs/pkgs/development/python-modules/pysmartdl/default.nix b/nixpkgs/pkgs/development/python-modules/pysmartdl/default.nix
new file mode 100644
index 000000000000..b5c052bdfaa7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pysmartdl/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pysmartdl";
+  version = "1.3.4";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "iTaybb";
+    repo = "pySmartDL";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Etyv3xCB1cGozWDsskygwcTHJfC+V5hvqBNQAF8SIMM=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # touch the network
+    "test_basic_auth"
+    "test_custom_headers"
+    "test_download"
+    "test_hash"
+    "test_mirrors"
+    "test_pause_unpause"
+    "test_speed_limiting"
+    "test_stop"
+    "test_timeout"
+    "test_unicode"
+  ];
+
+  pythonImportsCheck = [
+    "pySmartDL"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/iTaybb/pySmartDL";
+    description = "A Smart Download Manager for Python";
+    changelog = "https://github.com/iTaybb/pySmartDL/blob/${src.rev}/ChangeLog.txt";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pysml/default.nix b/nixpkgs/pkgs/development/python-modules/pysml/default.nix
index b3a6f195a008..c6ff75aa9014 100644
--- a/nixpkgs/pkgs/development/python-modules/pysml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysml/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysml";
-  version = "0.0.12";
+  version = "0.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "mtdcr";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-DgfTSlgDC92l/hOgrMZrkZi1wzRUDY8tNl4xU3OQgJ8=";
+    hash = "sha256-m1dh607hFqcd4CXWiMfGDmI5s8A0UkdyPzq/V+5OUto=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysnooz/default.nix b/nixpkgs/pkgs/development/python-modules/pysnooz/default.nix
index dd8d6ea4fcde..4ff2513685f6 100644
--- a/nixpkgs/pkgs/development/python-modules/pysnooz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysnooz/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pysnooz";
-  version = "0.8.6";
+  version = "0.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "AustinBrunkhorst";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-hJwIObiuFEAVhgZXYB9VCeAlewBBnk0oMkP83MUCpyU=";
+    hash = "sha256-jOXmaJprU35sdNRrBBx/YUyiDyyaE1qodWksXkTSEe0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyspark/default.nix b/nixpkgs/pkgs/development/python-modules/pyspark/default.nix
index 4aa6718c82eb..b735601681db 100644
--- a/nixpkgs/pkgs/development/python-modules/pyspark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyspark/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pyspark";
-  version = "3.4.1";
+  version = "3.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cs1mq4z2GnWFTlp1P3W+o17gdcOpb53k4qZtAux/xlI=";
+    hash = "sha256-1Bqbdr0qyjcKYQDQdcAp4iukTFlAknh36UNaOpxWZVg=";
   };
 
   # pypandoc is broken with pandoc2, so we just lose docs.
diff --git a/nixpkgs/pkgs/development/python-modules/pyspnego/default.nix b/nixpkgs/pkgs/development/python-modules/pyspnego/default.nix
index c553b6242b2a..910796165340 100644
--- a/nixpkgs/pkgs/development/python-modules/pyspnego/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyspnego/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyspnego";
-  version = "0.8.0";
+  version = "0.9.2";
 
   disabled = pythonOlder "3.7";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "jborean93";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3nFxUu2P8dGt80HRGYOliGHXLrtc83C96kJW27CgXV0=";
+    hash = "sha256-A0vVpEI8TKelZ96dIqSc01SX1gU3pDUVSOV6jap2WtU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysptk/default.nix b/nixpkgs/pkgs/development/python-modules/pysptk/default.nix
index 4051dc789d3c..e1d3a631549d 100644
--- a/nixpkgs/pkgs/development/python-modules/pysptk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysptk/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pysptk";
-  version = "0.2.0";
+  version = "0.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-nZchBqagUn26vGmUc3+5S57mnQQ2/4vqOz00DUUF1+U=";
+    hash = "sha256-dFqNWJRDDTlvveZVv3WWUi+KJ8sey4N0qRuBcqmkWIM=";
   };
 
   PYSPTK_BUILD_VERSION = 0;
diff --git a/nixpkgs/pkgs/development/python-modules/pystemd/default.nix b/nixpkgs/pkgs/development/python-modules/pystemd/default.nix
index ed282f06b2a1..dcaeb3355bfa 100644
--- a/nixpkgs/pkgs/development/python-modules/pystemd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pystemd/default.nix
@@ -10,10 +10,10 @@
 
 buildPythonPackage rec {
   pname = "pystemd";
-  version = "0.10.0";
+  version = "0.13.2";
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-10qBS/2gEIXbGorZC+PLJ9ryOlGrawPn4p7IEfoq6Fk=";
+    hash = "sha256-Tc+ksTpVaFxJ09F8EGMeyhjDN3D2Yxb47yM3uJUcwUQ=";
   };
 
   disabled = python.pythonOlder "3.4";
diff --git a/nixpkgs/pkgs/development/python-modules/pystray/default.nix b/nixpkgs/pkgs/development/python-modules/pystray/default.nix
index cf6a79853cbc..a6d073dbd669 100644
--- a/nixpkgs/pkgs/development/python-modules/pystray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pystray/default.nix
@@ -5,15 +5,17 @@
 , xlib
 , six
 , xvfb-run
-, sphinx
+, setuptools
 , gobject-introspection
 , pygobject3
 , gtk3
-, libayatana-appindicator }:
+, libayatana-appindicator
+}:
 
 buildPythonPackage rec {
   pname = "pystray";
   version = "0.19.2";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "moses-palmer";
@@ -22,9 +24,28 @@ buildPythonPackage rec {
     hash = "sha256-8B178MSe4ujlnGBmQhIu+BoAh1doP9V5cL0ermLQTvs=";
   };
 
-  nativeBuildInputs = [ gobject-introspection sphinx ];
-  propagatedBuildInputs = [ pillow xlib six pygobject3 gtk3 libayatana-appindicator ];
-  nativeCheckInputs = [ xvfb-run ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'sphinx >=1.3.1'" ""
+  '';
+
+  nativeBuildInputs = [
+    gobject-introspection
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    pillow
+    xlib
+    six
+    pygobject3
+    gtk3
+    libayatana-appindicator
+  ];
+
+  nativeCheckInputs = [
+    xvfb-run
+  ];
 
   checkPhase = ''
     rm tests/icon_tests.py # test needs user input
diff --git a/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix b/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
index 73a7a012c793..de8736efedf8 100644
--- a/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pyswitchbot";
-  version = "0.40.0";
+  version = "0.40.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     rev = "refs/tags/${version}";
-    hash = "sha256-ST1UwgmlKhnLqr/cIvZRpNEYjxv9URInmkVbi6GA7/c=";
+    hash = "sha256-qKNsXN9nc3YS1gRNPPQUBgXDs01/rhdtRz707cfaYx8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytablewriter/default.nix b/nixpkgs/pkgs/development/python-modules/pytablewriter/default.nix
index 86af2ae0846f..8b37c75e9c24 100644
--- a/nixpkgs/pkgs/development/python-modules/pytablewriter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytablewriter/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "pytablewriter";
-  version = "1.0.0";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "thombashi";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VDx7/kKRBho4oWvUXYe5K9CC4vUCDs91G05Wlpa47OE=";
+    hash = "sha256-b3YzDqNATaT/FFG4/x9EGlYlhXKPvgNB2xnm0bzvLJQ=";
   };
 
   nativeBuildInputs = [
@@ -117,6 +117,7 @@ buildPythonPackage rec {
   disabledTestPaths = [
     "test/writer/binary/test_excel_writer.py"
     "test/writer/binary/test_sqlite_writer.py"
+    "test/writer/test_elasticsearch_writer.py"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pytensor/default.nix b/nixpkgs/pkgs/development/python-modules/pytensor/default.nix
index a3257131ac1a..06d0dffb2468 100644
--- a/nixpkgs/pkgs/development/python-modules/pytensor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytensor/default.nix
@@ -1,40 +1,51 @@
-{ stdenv
-, lib
+{ lib
 , buildPythonPackage
-, cons
+, fetchFromGitHub
 , cython
+, versioneer
+, cons
 , etuples
-, fetchFromGitHub
 , filelock
-, jax
-, jaxlib
 , logical-unification
 , minikanren
+, numpy
+, scipy
+, typing-extensions
+, jax
+, jaxlib
 , numba
 , numba-scipy
-, numpy
+, pytest-mock
 , pytestCheckHook
 , pythonOlder
-, scipy
-, typing-extensions
+# Tensorflow is currently (2023/10/04) broken.
+# Thus, we don't provide this optional test dependency.
+# , tensorflow-probability
+, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "pytensor";
-  version = "2.11.3";
-  format = "setuptools";
+  version = "2.17.3";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "pymc-devs";
-    repo = pname;
+    repo = "pytensor";
     rev = "refs/tags/rel-${version}";
-    hash = "sha256-4GDur8S19i8pZkywKHZUelmd2e0jZmC5HzF7o2esDl4=";
+    hash = "sha256-FufPCFzSjG8BrHes7t3XsdovX9gqUBG0gMDGKvkRkSA=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "versioneer[toml]==0.28" "versioneer[toml]"
+  '';
+
   nativeBuildInputs = [
     cython
+    versioneer
   ];
 
   propagatedBuildInputs = [
@@ -48,19 +59,18 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  checkInputs = [
+  nativeCheckInputs = [
     jax
     jaxlib
     numba
     numba-scipy
+    pytest-mock
     pytestCheckHook
+    # Tensorflow is currently (2023/10/04) broken.
+    # Thus, we don't provide this optional test dependency.
+    # tensorflow-probability
   ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "--durations=50" ""
-  '';
-
   preBuild = ''
     export HOME=$(mktemp -d)
   '';
@@ -76,13 +86,14 @@ buildPythonPackage rec {
     "test_logsumexp_benchmark"
     "test_scan_multiple_output"
     "test_vector_taps_benchmark"
+    # Temporarily disabled because of broken tensorflow-probability
+    "test_tfp_ops"
   ];
 
   disabledTestPaths = [
     # Don't run the most compute-intense tests
     "tests/scan/"
     "tests/tensor/"
-    "tests/sandbox/"
     "tests/sparse/sandbox/"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-aiohttp/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-aiohttp/default.nix
index 4a70b0d98057..9cd6ec0491a9 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-aiohttp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-aiohttp/default.nix
@@ -1,7 +1,9 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, setuptools
 , setuptools-scm
+, wheel
 , aiohttp
 , pytest
 , pytest-asyncio
@@ -10,22 +12,26 @@
 
 buildPythonPackage rec {
   pname = "pytest-aiohttp";
-  version = "1.0.4";
+  version = "1.0.5";
 
-  format = "setuptools";
+  format = "pyproject";
 
   __darwinAllowLocalNetworking = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "39ff3a0d15484c01d1436cbedad575c6eafbf0f57cdf76fb94994c97b5b8c5a4";
+  src = fetchFromGitHub {
+    owner = "aio-libs";
+    repo = "pytest-aiohttp";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-UACf0frMTOAgSsXQ0oqROHKR1zn4OfLPhd9MwBK002Y=";
   };
 
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
+    wheel
   ];
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   buildInputs = [
     pytest
@@ -40,15 +46,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTestPaths = [
-    # pytest 7.2.0 incompatibilities
-    # https://github.com/aio-libs/pytest-aiohttp/issues/50
-    "tests/test_fixtures.py"
-  ];
-
   meta = with lib; {
     homepage = "https://github.com/aio-libs/pytest-aiohttp/";
-    changelog = "https://github.com/aio-libs/pytest-aiohttp/blob/v${version}/CHANGES.rst";
+    changelog = "https://github.com/aio-libs/pytest-aiohttp/blob/${src.rev}/CHANGES.rst";
     description = "Pytest plugin for aiohttp support";
     license = licenses.asl20;
     maintainers = with maintainers; [ dotlambda ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
index 0b941d9be607..4fbfb942edda 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-ansible";
-  version = "3.2.1";
+  version = "4.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "ansible";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-fSerRbd7QeEdTfyy2lVLq7FKHWWT0MlutonunHhM5M4=";
+    hash = "sha256-TV/dR4eTiwjrgamwRCig10acaf3MpAzLu0fHF0V2pzw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-base-url/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-base-url/default.nix
index 4110a0191f3c..a6aa15890b85 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-base-url/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-base-url/default.nix
@@ -46,6 +46,11 @@ buildPythonPackage rec {
     "tests"
   ];
 
+  disabledTests = [
+    # should be xfail? or mocking doesn't work
+    "test_url_fails"
+  ];
+
   pythonImportsCheck = [
     "pytest_base_url"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix
index 135b0c2295e3..f9011b6d721b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-benchmark/default.nix
@@ -2,6 +2,7 @@
 , aspectlib
 , buildPythonPackage
 , elasticsearch
+, elastic-transport
 , fetchFromGitHub
 , fetchpatch
 , freezegun
@@ -11,6 +12,7 @@
 , pygal
 , pytest
 , pytestCheckHook
+, pytest-xdist
 , pythonOlder
 , isPy311
 }:
@@ -45,19 +47,24 @@ buildPythonPackage rec {
     py-cpuinfo
   ];
 
+  passthru.optional-dependencies = {
+    aspect = [ aspectlib ];
+    histogram = [ pygal ];
+    elasticsearch = [ elasticsearch ];
+  };
+
   pythonImportsCheck = [
     "pytest_benchmark"
   ];
 
   nativeCheckInputs = [
-    aspectlib
-    elasticsearch
+    elastic-transport
     freezegun
     git
     mercurial
-    pygal
     pytestCheckHook
-  ];
+    pytest-xdist
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   preCheck = ''
     export PATH="$out/bin:$PATH"
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-celery/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-celery/default.nix
index 2a6ad34d706a..0af07db4ec1f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-celery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-celery/default.nix
@@ -1,10 +1,10 @@
-{ lib, buildPythonPackage, fetchFromGitHub }:
+{ lib, buildPythonPackage, fetchFromGitHub, flit-core }:
 
 buildPythonPackage rec {
   pname = "pytest-celery";
   version = "0.1.0";
 
-  format = "flit";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "celery";
@@ -19,6 +19,10 @@ buildPythonPackage rec {
       --replace '"celery >= 4.4.0"' ""
   '';
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   # This package has nothing to test or import.
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-check/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-check/default.nix
index dbbf42c9b6a0..d8a188af25de 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-check/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-check/default.nix
@@ -1,21 +1,27 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, flit-core
 , pytest
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytest-check";
-  version = "2.1.4";
-  format = "flit";
+  version = "2.2.1";
+  format = "pyproject";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-AbN/1wPaD6ZntwF68fBGDHRKhfHuh2de4+D5Ssw98XI=";
+    pname = "pytest_check";
+    inherit version;
+    hash = "sha256-3rN/iB36DV4kbymWI4rvdFp5ANezUjp0FgV3K4osSVI=";
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
     pytest
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-cid/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-cid/default.nix
index 29cf253fad2f..eea7a6ead0ee 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-cid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-cid/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , buildPythonPackage
 , pythonOlder
+, flit-core
 , py-cid
 , pytestCheckHook
 , pytest-cov
@@ -10,7 +11,7 @@
 buildPythonPackage rec {
   pname = "pytest-cid";
   version = "1.1.2";
-  format = "flit";
+  format = "pyproject";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
@@ -25,6 +26,10 @@ buildPythonPackage rec {
       --replace "pytest >= 5.0, < 7.0" "pytest >= 5.0"
   '';
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     py-cid
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix
index 1cf1db5fe1a8..5170a7a902ac 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-console-scripts/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-console-scripts";
-  version = "1.3.1";
+  version = "1.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XGw9qunPn77Q5lUHISiThgAZPcACpc8bGHJIZEugKFc=";
+    hash = "sha256-WoJu2EzAr6IC655EOB19di973ajgwj+feafx9Ez0qJU=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix
index b3f445cad431..d4f5a3c5c5ab 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-doctestplus/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, numpy
 , packaging
 , pytest
 , pytestCheckHook
@@ -11,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-doctestplus";
-  version = "0.12.1";
+  version = "1.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-epeeS+mdkRbgesBmxfANRfOHZ319d5877zDG/6jHkYE=";
+    hash = "sha256-9lBEDcrt4T7W19pzv7SsWF1AqAREujVC0+buzbJ11J8=";
   };
 
   nativeBuildInputs = [
@@ -35,6 +36,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    numpy
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-env/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-env/default.nix
index 1d03413290a7..92ed531c6fbf 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-env/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-env/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "pytest-env";
-  version = "0.8.2";
+  version = "1.0.1";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "pytest_env";
     inherit version;
-    hash = "sha256-uu2bO2uud711uSOODtHuaQOkKAaunWrv+4dUzVWE1P8=";
+    hash = "sha256-YD/iFujgOl0TSYnLQTF8Waq+8BPSJQxxuGSrB5j75vY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix
index efde539cb23f..349ccf311dde 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix
@@ -10,7 +10,7 @@
 
 # propagated
 , inflection
-, factory_boy
+, factory-boy
 , typing-extensions
 
 # tests
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    factory_boy
+    factory-boy
     inflection
     typing-extensions
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-html/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-html/default.nix
index f5b20cb1b508..3375a7a0a0bd 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-html/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-html/default.nix
@@ -1,19 +1,65 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
-, pytest, pytest-metadata, setuptools-scm }:
-
-buildPythonPackage rec {
+{ lib
+, buildNpmPackage
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, hatch-vcs
+, hatchling
+, jinja2
+, pytest
+, pytest-metadata
+}:
+let
   pname = "pytest-html";
-  version = "3.2.0";
-  disabled = pythonOlder "3.6";
+  version = "4.0.2";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-xOL0uwv/xDf1GtIXSoo+cd+Bu8L2iUYE5gSvGPvmh8M=";
+    pname = "pytest_html";
+    inherit version;
+    hash = "sha256-iGgrno5ROSRyVGpwohObJ9a8GDSkr9PkHaM8nZ+R5KQ=";
+  };
+
+  web-assets = buildNpmPackage {
+    pname = "${pname}-web-assets";
+    inherit version src;
+
+    npmDepsHash = "sha256-aRod+SzVSb4bqEJzthfl/mH+DpbIe+j2+dNtrrhO2xU=";
+
+    installPhase = ''
+      runHook preInstall
+
+      install -Dm644 src/pytest_html/resources/{app.js,style.css} -t $out/lib
+
+      runHook postInstall
+    '';
   };
+in
+
+buildPythonPackage {
+  inherit pname version src;
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+  buildInputs = [ pytest web-assets ];
+  propagatedBuildInputs = [ jinja2 pytest-metadata ];
+
+  env.HATCH_BUILD_NO_HOOKS = true;
+
+  preBuild = ''
+    install -Dm644 ${web-assets}/lib/{app.js,style.css} -t src/pytest_html/resources
+  '';
+
+  # tests require network access
+  doCheck = false;
 
-  nativeBuildInputs = [ setuptools-scm ];
-  buildInputs = [ pytest ];
-  propagatedBuildInputs = [ pytest-metadata ];
+  pythonImportsCheck = [
+    "pytest_html"
+  ];
 
   meta = with lib; {
     description = "Plugin for generating HTML reports";
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-httpbin/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-httpbin/default.nix
index edfc988cc6c3..db94f2b6e163 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-httpbin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-httpbin/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpbin";
-  version = "1.0.2";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "kevin1024";
     repo = "pytest-httpbin";
-    rev = "v${version}";
-    hash = "sha256-S4ThQx4H3UlKhunJo35esPClZiEn7gX/Qwo4kE1QMTI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-tq9nz2na94HkLACt7xB1MUanh9/JOoe2vyEm5sAq0/4=";
   };
 
   buildInputs = [
@@ -32,17 +32,16 @@ buildPythonPackage rec {
     six
   ];
 
-  preCheck = ''
-    # Remove assertion that doesn't hold for Flask 2.1.0
-    substituteInPlace tests/test_server.py \
-      --replace "assert response.headers['Location'].startswith('https://')" ""
-  '';
-
   nativeCheckInputs = [
     pytestCheckHook
     requests
   ];
 
+  disabledTests = [
+    # incompatible with flask 2.3
+    "test_redirect_location_is_https_for_secure_server"
+  ];
+
   __darwinAllowLocalNetworking = true;
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix
index da22eea8d7f1..dbcfafc0a5fe 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-httpx/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpx";
-  version = "0.22.0";
+  version = "0.25.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Colin-b";
     repo = "pytest_httpx";
     rev = "refs/tags/v${version}";
-    hash = "sha256-J5Y5G3/8d9hAtDFqweqA73amnXUpPbmb0uTrCslpl9k=";
+    hash = "sha256-8cuXsHyS9OaYXzKXgwan+mBFocyr39B9G8wr8I1pmg4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-jupyter/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-jupyter/default.nix
index f9e49cf09144..6f5f6484a570 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-jupyter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-jupyter/default.nix
@@ -22,14 +22,14 @@
 
 let self = buildPythonPackage rec {
   pname = "pytest-jupyter";
-  version = "0.6.2";
+  version = "0.7.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "jupyter-server";
     repo = "pytest-jupyter";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kY4QHrlj0opEBywe4SpwE4Ck6l6JIzEosx6uuXh+yCQ=";
+    hash = "sha256-ZocpIBHnXTvQdjWU8yVhGK49I+FFct+teDhghiMnvW0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix
index 23ac11d84ad0..4ab9c74be35e 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-localserver/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-localserver";
-  version = "0.7.1";
+  version = "0.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-53tGVVy0OJMdIZxUvPn1lTwEB9ZFQ2pgK1cwur/T/js=";
+    hash = "sha256-XZDOfQhddB51n6hU29LnxbVXMh1pUXmJTrQOIQ6i/zA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-md-report/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-md-report/default.nix
index 89b035e74d83..0b0f892c7f6c 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-md-report/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-md-report/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-md-report";
-  version = "0.4.0";
+  version = "0.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iabj6WuS6+65O4ztagT1/H+U8/SKySQ9bQiOfvln1AQ=";
+    hash = "sha256-8qLcbMhD+mTLH5veweAg56G067H4AnDQIjywINwJaCE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mypy-plugins/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mypy-plugins/default.nix
index 4c041ce40c89..f4c809218fb0 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mypy-plugins/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-mypy-plugins/default.nix
@@ -1,19 +1,22 @@
 { lib
 , buildPythonPackage
-, chevron
 , decorator
 , fetchFromGitHub
+, jinja2
+, jsonschema
 , mypy
+, packaging
 , pytest
 , pytestCheckHook
 , pythonOlder
 , pyyaml
 , regex
+, tomlkit
 }:
 
 buildPythonPackage rec {
   pname = "pytest-mypy-plugins";
-  version = "1.11.1";
+  version = "3.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +25,7 @@ buildPythonPackage rec {
     owner = "typeddjango";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-UlNjqloAl0Qmy3EQ73e+KmsHeJN3eBkkBJxCehpOs48=";
+    hash = "sha256-kIA2tVOsKsav4tRqZiWCMcRgbRnxAEo7SpmxC2pt9B0=";
   };
 
   buildInputs = [
@@ -30,11 +33,18 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    chevron
-    pyyaml
-    mypy
     decorator
+    jinja2
+    jsonschema
+    mypy
+    packaging
+    pyyaml
     regex
+    tomlkit
+  ];
+
+  pythonImportsCheck = [
+    "pytest_mypy_plugins"
   ];
 
   nativeCheckInputs = [
@@ -46,16 +56,8 @@ buildPythonPackage rec {
     export PATH="$PATH:$out/bin";
   '';
 
-  pythonImportsCheck = [
-    "pytest_mypy_plugins"
-  ];
-
-  disabledTests = [
-    # ...TypecheckAssertionError: Invalid output:
-    "with_out"
-    "add_mypypath_env_var_to_package_searc"
-    "error_case"
-    "skip_if_false"
+  disabledTestPaths = [
+    "pytest_mypy_plugins/tests/test_explicit_configs.py"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-param-files/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-param-files/default.nix
index bf629cc356ab..55923b5ed266 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-param-files/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-param-files/default.nix
@@ -2,30 +2,38 @@
 , buildPythonPackage
 , fetchFromGitHub
 , flit-core
+, ruamel-yaml
 , pytest
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytest-param-files";
-  version = "0.3.4";
+  version = "0.6.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "chrisjsewell";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-Q7wWoggJN2w2a2umQHx5TsVcugqpovBEtOKruNMZQ8A=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-hgEEfKf9Kmah5WDNHoFWQJKLOs9Z5BDHiebXCdDc1zE=";
   };
 
-  format = "flit";
-
-  nativeBuildInputs = [ flit-core ];
+  nativeBuildInputs = [
+    flit-core
+  ];
 
   buildInputs = [
     pytest
   ];
 
-  pythonImportsCheck = [ "pytest_param_files" ];
+  propagatedBuildInputs = [
+    ruamel-yaml
+  ];
+
+  pythonImportsCheck = [
+    "pytest_param_files"
+  ];
 
   nativeCheckInputs = [
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-playwright/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-playwright/default.nix
index 53766a3134a5..3e27b075efa7 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-playwright/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-playwright/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-playwright";
-  version = "0.4.2";
+  version = "0.4.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "microsoft";
     repo = "playwright-pytest";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yYFzaIPYOsuvS8bGcuwQQNS/CtvGUe1XQdORmfEJQmU=";
+    hash = "sha256-5qjfZGDM1OqXXNyj81O49ClKKGiAPdgyZZu6TgpskGs=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-postgresql/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-postgresql/default.nix
new file mode 100644
index 000000000000..6eed5ef6ad2c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-postgresql/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, setuptools
+, mirakuru
+, port-for
+, psycopg
+, pytest
+, postgresql
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-postgresql";
+  version = "5.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "ClearcodeHQ";
+    repo = "pytest-postgresql";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-uWKp9yxTdlswoDPMlhx+2mF1cdhFzhGYKGHdXPGlz+w=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml  \
+      --replace "--cov" ""  \
+      --replace "--max-worker-restart=0" ""
+    sed -i 's#/usr/lib/postgresql/.*/bin/pg_ctl#${postgresql}/bin/pg_ctl#' pytest_postgresql/plugin.py
+  '';
+
+  buildInputs = [ pytest ];
+
+  propagatedBuildInputs = [
+    mirakuru
+    port-for
+    psycopg
+    setuptools  # requires 'pkg_resources' at runtime
+  ];
+
+  nativeCheckInputs = [
+    postgresql
+    pytestCheckHook
+  ];
+  pytestFlagsArray = [
+    "-p"
+    "no:postgresql"
+  ];
+  disabledTestPaths = [ "tests/docker/test_noproc_docker.py" ];  # requires Docker
+  disabledTests = [
+    # permissions issue running pg as Nixbld user
+    "test_executor_init_with_password"
+    # "ValueError: Pytest terminal summary report not found"
+    "test_postgres_options_config_in_cli"
+    "test_postgres_options_config_in_ini"
+  ];
+  pythonImportsCheck = [
+    "pytest_postgresql"
+    "pytest_postgresql.executor"
+  ];
+
+
+  meta = with lib; {
+    homepage = "https://pypi.python.org/pypi/pytest-postgresql";
+    description = "Pytest plugin that enables you to test code on a temporary PostgreSQL database";
+    changelog = "https://github.com/ClearcodeHQ/pytest-postgresql/blob/v${version}/CHANGES.rst";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-raisin/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-raisin/default.nix
index 2b3860c93f94..2da96d21c9ea 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-raisin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-raisin/default.nix
@@ -1,14 +1,14 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, flit-core
+, flit
 , pytest
 }:
 
 buildPythonPackage rec {
   pname = "pytest-raisin";
   version = "0.4";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "wimglenn";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [
-    flit-core
+    flit
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix
index 7c723e4cdc25..5549f89334a6 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, factory_boy
+, factory-boy
 , faker
 , fetchFromGitHub
 , importlib-metadata
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     faker
     numpy
     pytest-xdist
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-regressions/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-regressions/default.nix
index a9e56d3c43e2..e804a0482dc1 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-regressions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-regressions/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-regressions";
-  version = "2.4.2";
+  version = "2.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6riee6SqM5vf4HsxBH6OanCx54RudKi7/DGliNAecwM=";
+    hash = "sha256-gYx4hMHP87q/ie67AsvCezB4VrGYVCfCTVLLgSoQb9k=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix
index 9bd2ee22ad81..7db1992d5f85 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix
@@ -1,34 +1,44 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, setuptools-scm
 , pytest
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "pytest-repeat";
-  version = "0.9.1";
+  version = "0.9.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5cd3289745ab3156d43eb9c8e7f7d00a926f3ae5c9cf425bec649b2fe15bad5b";
+    hash = "sha256-eWc0Ra6ZruMzuBHH0AN660CPkzuImDdf8vT/8eO6aGs=";
   };
 
   nativeBuildInputs = [
     setuptools-scm
   ];
 
-  nativeCheckInputs = [
+  buildInputs = [
     pytest
   ];
 
-  checkPhase = ''
-    pytest
-  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pytest_repeat"
+  ];
 
   meta = with lib; {
     description = "Pytest plugin for repeating tests";
     homepage = "https://github.com/pytest-dev/pytest-repeat";
+    changelog = "https://github.com/pytest-dev/pytest-repeat/blob/v${version}/CHANGES.rst";
     license = licenses.mpl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-reverse/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-reverse/default.nix
index bd413c4d7050..567b5b13683b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-reverse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-reverse/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   version = "1.7.0";
   format = "pyproject";
 
-  disable = pythonOlder "3.7";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "adamchainz";
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-spec/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-spec/default.nix
new file mode 100644
index 000000000000..4a73084bd452
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-spec/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest
+, pytestCheckHook
+, pytest-describe
+, pytest-cov
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-spec";
+  version = "unstable-2023-06-04";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "pchomik";
+    repo = "pytest-spec";
+    rev = "e16e0550dd6bc557411e4312b7b42d53b26e69ef";
+    hash = "sha256-dyDUdZJU4E4y1yCzunAX2c48Qv6ogu0b60U/5YbJvIU=";
+  };
+
+  postPatch = ''
+    sed -i '/addopts/d' setup.cfg
+    # TODO: upstream
+    substituteInPlace pyproject.toml \
+        --replace "poetry>=0.12" "poetry-core" \
+        --replace "poetry.masonry.api" "poetry.core.masonry.api"
+  '';
+
+  nativeBuildInputs = [ poetry-core ];
+
+  buildInputs = [ pytest ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-describe
+  ];
+
+  pytestFlagsArray = [ "--spec" ];
+
+  pythonImportsCheck = [ "pytest_spec" ];
+
+  meta = {
+    description = "A pytest plugin to display test execution output like a SPECIFICATION";
+    homepage = "https://github.com/pchomik/pytest-spec";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ tomasajt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
index 4f9b9bd5d637..28f45c02dd80 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-testmon";
-  version = "2.0.12";
+  version = "2.0.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tarpas";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-hv5sgWSbMk13h+nFTcy4aEMJvTyaLbXFhg6ZOKYEvVQ=";
+    hash = "sha256-WJ0Br8O7p5Zru4Fr9+adXp5qjR7sZxBZVtBJghecm9E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix
index 36f31a0288c8..872e9dc8fc0d 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-trio";
-  version = "0.7.0";
+  version = "0.8.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-trio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bhh2nknhp14jzsx4zzpqm4qnfaihyi65cjf6kf6qgdhc0ax6nf4";
+    sha256 = "sha256-gUH35Yk/pBD2EdCEt8D0XQKWU8BwmX5xtAW10qRhoYk=";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest/default.nix b/nixpkgs/pkgs/development/python-modules/pytest/default.nix
index 5fde855e58e3..d557bcf15e93 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest/default.nix
@@ -21,12 +21,12 @@
 
 buildPythonPackage rec {
   pname = "pytest";
-  version = "7.4.0";
+  version = "7.4.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tL+MRb1Zk07YQAGtUeEbTuQNQKEinSx5+cWSsKP2vYo=";
+    hash = "sha256-p2YlnPq1ZKKtUssarhuIGnXD6340yjd5aXwj7UfEcGk=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-arango/default.nix b/nixpkgs/pkgs/development/python-modules/python-arango/default.nix
index e9224b543b57..20a4819948ad 100644
--- a/nixpkgs/pkgs/development/python-modules/python-arango/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-arango/default.nix
@@ -1,15 +1,24 @@
 { lib
-, arangodb
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
 , pytestCheckHook
-, pyjwt
-, pytest
-, mock
+
+# build-system
+, setuptools
+, setuptools-scm
+
+# dependencies
+, urllib3
 , requests
 , requests-toolbelt
-, setuptools
+, pyjwt
+, importlib-metadata
+, packaging
+
+# tests
+, arangodb
+, mock
 }:
 
 let
@@ -23,8 +32,8 @@ in
 
 buildPythonPackage rec {
   pname = "python-arango";
-  version = "7.5.7";
-  format = "setuptools";
+  version = "7.6.2";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -32,14 +41,24 @@ buildPythonPackage rec {
     owner = "ArangoDB-Community";
     repo = "python-arango";
     rev = "refs/tags/${version}";
-    hash = "sha256-cd2xE5rYLl3NOv/DZjmHRPCe224k4XyPjo9aXV1ZhvU=";
+    hash = "sha256-1n+3Rl945NQ3Ugd6UKhN429vTz1ky2Qr43fI0TrgrBU=";
   };
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
+    importlib-metadata
     requests
     requests-toolbelt
+    packaging
     pyjwt
     setuptools
+    urllib3
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix b/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix
index f350f6df619b..acb47fceb8b1 100644
--- a/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-dbusmock/default.nix
@@ -20,13 +20,13 @@ let
   '';
 in buildPythonPackage rec {
   pname = "python-dbusmock";
-  version = "0.28.7";
+  version = "0.29.1";
 
   src = fetchFromGitHub {
     owner = "martinpitt";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-AxRgoXPiFFFHQSj5/jU55hwWzHtutfjmD2IKGxYwd0A=";
+    hash = "sha256-sfvVLPTSTXjwyB0a2NyDIONv01FXZ40nHZwwo3oqI90=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/python-efl/default.nix b/nixpkgs/pkgs/development/python-modules/python-efl/default.nix
index 8df6ee96e7d9..972bbca9c414 100644
--- a/nixpkgs/pkgs/development/python-modules/python-efl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-efl/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "python-efl";
-  version = "1.26.0";
+  version = "1.26.1";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/bindings/python/${pname}-${version}.tar.xz";
-    sha256 = "0dj6f24n33hkpy0bkdclnzpxhvs8vpaxqaf7hkw0di19pjwrq25h";
+    hash = "sha256-3Ns5fhIHihnpDYDnxvPP00WIZL/o1UWLzgNott4GKNc=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -48,8 +48,5 @@ buildPythonPackage rec {
     platforms = platforms.linux;
     license = with licenses; [ gpl3 lgpl3 ];
     maintainers = with maintainers; [ matejc ftrvxmtrx ] ++ teams.enlightenment.members;
-    # The generated files in the tarball aren't compatible with python 3.11
-    # See https://sourceforge.net/p/enlightenment/mailman/message/37794291/
-    broken = python.pythonAtLeast "3.11";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
index 9a0269c983f0..990cbd1be317 100644
--- a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
@@ -10,13 +10,14 @@
 , pytestCheckHook
 , pythonOlder
 , requests
+, simple-websocket
 , tornado
 , websocket-client
 }:
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "4.6.1";
+  version = "4.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,7 +26,21 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "refs/tags/v${version}";
-    hash = "sha256-za2JY5Gu9MEqi3W1zxcuwYiJ5XLc43ig6Hdx/4JwDbY=";
+    hash = "sha256-jHXpPnrQlIpmQ2sY4y6AUx/6W8Pf+683s4NmmlwZO58=";
+  };
+
+  propagatedBuildInputs = [
+    simple-websocket
+  ];
+
+  passthru.optional-dependencies = {
+    client = [
+      requests
+      websocket-client
+    ];
+    asyncio_client = [
+      aiohttp
+    ];
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-fx/default.nix b/nixpkgs/pkgs/development/python-modules/python-fx/default.nix
index 729c5ed9a180..d505e0a19654 100644
--- a/nixpkgs/pkgs/development/python-modules/python-fx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-fx/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "python-fx";
-  version = "0.2.0";
+  version = "0.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     owner = "cielong";
     repo = "pyfx";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nRMeYL0JGvCtUQBUMXUsZ4+F2KX+x/CbZ61sAidT9so=";
+    hash = "sha256-BXKH3AlYMNbMREW5Qx72PrbuZdXlmVS+knWWu/y9PsA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-gvm/default.nix b/nixpkgs/pkgs/development/python-modules/python-gvm/default.nix
index d6f7e29b9dee..c73160c55e6e 100644
--- a/nixpkgs/pkgs/development/python-modules/python-gvm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-gvm/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-gvm";
-  version = "23.5.1";
+  version = "23.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jdfrmFpWOuQgYwV2NrRyRDwAZThWdBFgfLByVIZ5HhQ=";
+    hash = "sha256-me7HO6BiW+0S1GDbKkbJiRrUQotEP1MPo/d0Xc84mIg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-hl7/default.nix b/nixpkgs/pkgs/development/python-modules/python-hl7/default.nix
new file mode 100644
index 000000000000..98a73c8252ba
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-hl7/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "python-hl7";
+  version = "0.4.5";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "johnpaulett";
+    repo = "python-hl7";
+    rev = "refs/tags/${version}";
+    hash = "sha256-9uFdyL4+9KSWXflyOMOeUudZTv4NwYPa0ADNTmuVbqo=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "hl7" ];
+
+  meta = with lib; {
+    description = "A simple library for parsing messages of Health Level 7 (HL7) version 2.x into Python objects";
+    homepage = "https://python-hl7.readthedocs.org";
+    changelog = "https://python-hl7.readthedocs.io/en/latest/changelog.html";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-homewizard-energy/default.nix b/nixpkgs/pkgs/development/python-modules/python-homewizard-energy/default.nix
index bffdc7dd2756..e7c0a2a26305 100644
--- a/nixpkgs/pkgs/development/python-modules/python-homewizard-energy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-homewizard-energy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-homewizard-energy";
-  version = "2.1.0";
+  version = "2.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "DCSBL";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+RuUNH95Txs6JeObYqg2CQl7qxF4YLVQvBDfzj5L9Bk=";
+    hash = "sha256-iyDRhTV5GSBTVK7ccJhUOrCpE9YuiI1vJM4XroCyIwE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix b/nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix
index 92b9f6364e7a..bfcb750197bc 100644
--- a/nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-keystoneclient/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "python-keystoneclient";
-  version = "5.1.0";
+  version = "5.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ugm9/q+iohlkUKMnzT9G8qip3Z0huDj4y5sXqZdAxqE=";
+    hash = "sha256-cqQsOGniEouwxiashWw9vz447xbX6F3TVWe4LNJFOak=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix
index 51385c464342..27057d92ea12 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-jsonrpc/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-jsonrpc";
-  version = "1.1.1";
+  version = "1.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "python-lsp";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-XTvnDTaP5oweGSq1VItq+SEv7S/LrQq4YP1XQc3bxbk=";
+    hash = "sha256-5WN/31e6WCgXVzevMuQbNjyo/2jjWDF+m48nrLKS+64=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
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 88610f19307e..07a389268e77 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-ruff";
-  version = "1.5.1";
+  version = "1.5.2";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit version;
     pname = "python-lsp-ruff";
-    sha256 = "sha256-yvG4Qn9aym0rTDALURxHrWtDhO7g2VYsI+zLgb8z+gE=";
+    sha256 = "sha256-7vilIo1PHgHZ6yaRxTVt/bPwGt9g7rGvrq84eyIDIBw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
index a74ebb5b5bb9..4886ba27bad6 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -35,7 +35,7 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-server";
-  version = "1.8.0";
+  version = "1.8.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     owner = "python-lsp";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-hLgMGZumuNY70/qyD9t5pMpYI/g70sqFIt1LEfIEALY=";
+    hash = "sha256-jD/8Xy/o9U/qtjz5FABg5krMIvbnrT+MlK0OvXFTJkI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-lzo/default.nix b/nixpkgs/pkgs/development/python-modules/python-lzo/default.nix
index 38a31fbb6cb6..e3f1b0922a6a 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lzo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lzo/default.nix
@@ -1,22 +1,32 @@
-{ lib, fetchPypi, buildPythonPackage, lzo, nose }:
+{ lib, fetchPypi, buildPythonPackage, lzo, pytestCheckHook, setuptools, wheel }:
 
 buildPythonPackage rec {
   pname = "python-lzo";
-  version = "1.14";
+  version = "1.15";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83cbd8ecaae284735250e31d6c0ecc18ac08763fab2a8c910dc5a6910db6250c";
+    hash = "sha256-pXqqAMXDoFFd2fdCa6LPYBdn3BncAj2LmdShOwoye0k=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   buildInputs = [ lzo ];
-  propagatedBuildInputs = [ ];
-  nativeCheckInputs = [ nose ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [
+    "lzo"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/jd-boyd/python-lzo";
     description = "Python bindings for the LZO data compression library";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = [ maintainers.jbedo ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix b/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix
index 9078f41aeaca..3c04398e56d4 100644
--- a/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-multipart/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, hatchling
 , pytestCheckHook
 , mock
 , pyyaml
@@ -9,14 +10,19 @@
 
 buildPythonPackage rec {
   pname = "python-multipart";
-  version = "0.0.5";
-  format = "setuptools";
+  version = "0.0.6";
+  format = "pyproject";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43";
+    pname = "python_multipart";
+    inherit version;
+    hash = "sha256-6ZJagLtmhSnxtnx/2wpdrN18v8b7C/8+pEP+Ir3WITI=";
   };
 
+  nativeBuildInputs = [
+    hatchling
+  ];
+
   propagatedBuildInputs = [
     six
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-ndn/default.nix b/nixpkgs/pkgs/development/python-modules/python-ndn/default.nix
index 4f7307f155e0..6c47e8189a92 100644
--- a/nixpkgs/pkgs/development/python-modules/python-ndn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-ndn/default.nix
@@ -4,33 +4,39 @@
 , buildPythonPackage
 , fetchFromGitHub
 , lark
+, poetry-core
+, poetry-dynamic-versioning
 , pycryptodomex
 , pygtrie
 , pytestCheckHook
+, pythonRelaxDepsHook
 , pythonOlder
 , setuptools
 }:
 
 buildPythonPackage rec {
   pname = "python-ndn";
-  version = "0.3-3";
+  version = "0.4.1";
 
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "named-data";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-XS71oIydyLYtx6OQGO5NrhjVSyZxnhufrZ1y/6TffPo=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ArTP4LQu7VNjI/N13gMTc1SDiNmW5l4GdLYOk8JEfKg=";
   };
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.11";
 
   nativeBuildInputs = [
     setuptools
+    poetry-core
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
+    poetry-dynamic-versioning
     pycryptodomex
     lark
     pygtrie
@@ -42,7 +48,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "ndn" ];
+  pythonRelaxDeps = [
+    "lark"
+  ];
+
+  pythonImportChecks = [ "ndn" ];
 
   meta = with lib; {
     description = "An NDN client library with AsyncIO support";
diff --git a/nixpkgs/pkgs/development/python-modules/python-osc/default.nix b/nixpkgs/pkgs/development/python-modules/python-osc/default.nix
index 27a5a084fa45..500e6beb0b0e 100644
--- a/nixpkgs/pkgs/development/python-modules/python-osc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-osc/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "python-osc";
-  version = "1.8.1";
+  version = "1.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-69a3z4rjhzgPSOnW1zabrRwXahr2YI79eIi1C08OdK0=";
+    hash = "sha256-pc4bpWyNgt9Ryz8pRrXdM6cFInkazEuFZOYtKyCtnKo=";
   };
 
   pythonImportsCheck = [ "pythonosc" ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-roborock/default.nix b/nixpkgs/pkgs/development/python-modules/python-roborock/default.nix
index a8e019ce88b7..167331e05f1a 100644
--- a/nixpkgs/pkgs/development/python-modules/python-roborock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-roborock/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "python-roborock";
-  version = "0.33.2";
+  version = "0.35.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -29,9 +29,14 @@ buildPythonPackage rec {
     owner = "humbertogontijo";
     repo = "python-roborock";
     rev = "refs/tags/v${version}";
-    hash = "sha256-UAQlKfh6oljeWtEGYx7JiT1z9yFCAXRSlI4Ot6JUnoQ=";
+    hash = "sha256-tZUsDBEvcLGTw/CqcxVWlrXwxlGsGdDeQzSym9BurxM=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "poetry-core==1.6.1" "poetry-core"
+  '';
+
   pythonRelaxDeps = [
     "pycryptodome"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-socks/default.nix b/nixpkgs/pkgs/development/python-modules/python-socks/default.nix
index 4cb8273b78bc..c6b59b0ac985 100644
--- a/nixpkgs/pkgs/development/python-modules/python-socks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-socks/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "python-socks";
-  version = "2.1.1";
+  version = "2.4.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6.2";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "romis2012";
     repo = "python-socks";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QvUuCS8B/6+dgzWrflizLfNlAUeOPpUPtmFaE6LGYGc=";
+    hash = "sha256-HnZrnsxPmRJzrvJbKS5r+di+msykDwWS7TB5CitIve8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-tado/default.nix b/nixpkgs/pkgs/development/python-modules/python-tado/default.nix
index 97e6215f1d9d..017be9041dc1 100644
--- a/nixpkgs/pkgs/development/python-modules/python-tado/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-tado/default.nix
@@ -6,9 +6,9 @@
 , requests
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "python-tado";
-  version = "0.16.0";
+  version = "0.17.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -17,8 +17,8 @@ buildPythonPackage {
     owner = "wmalgadey";
     repo = "PyTado";
     # https://github.com/wmalgadey/PyTado/issues/62
-    rev = "674dbc450170a380e76460c22d6ba943dfedb8e9";
-    hash = "sha256-gduqQVw/a64aDzTHFmgZu7OVB53jZb7L5vofzL3Ho6s=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-w1qtSEpnZCs7+M/0Gywz9AeMxUzz2csHKm9SxBKzmz4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-tds/default.nix b/nixpkgs/pkgs/development/python-modules/python-tds/default.nix
new file mode 100644
index 000000000000..502ff1433666
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-tds/default.nix
@@ -0,0 +1,74 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, six
+, pytestCheckHook
+, pyopenssl
+, pyspnego
+, namedlist
+, pydes
+, cryptography
+}:
+
+buildPythonPackage rec {
+  pname = "python-tds";
+  version = "1.13.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "denisenkom";
+    repo = "pytds";
+    rev = version;
+    hash = "sha256-ubAXCifSfNtxbFIJZD8IuK/8oPT9vo77YBCexoO9zsw=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "version.get_git_version()" '"${version}"'
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pyopenssl
+    pyspnego
+    namedlist
+    pydes
+    cryptography
+  ];
+
+  disabledTests = [
+    # ImportError: To use NTLM authentication you need to install ntlm-auth module
+    # ntlm-auth has been removed from nixpkgs
+    "test_ntlm"
+
+    # TypeError: CertificateBuilder.add_extension() got an unexpected keyword argument 'extension'
+    # Tests are broken for pyOpenSSL>=23.0.0
+    # https://github.com/denisenkom/pytds/blob/1.13.0/test_requirements.txt
+    "test_with_simple_server_req_encryption"
+    "test_both_server_and_client_encryption_on"
+    "test_server_has_enc_on_but_client_is_off"
+    "test_only_login_encrypted"
+    "test_server_encryption_not_supported"
+    "test_server_with_bad_name_in_cert"
+    "test_cert_with_san"
+    "test_encrypted_socket"
+  ];
+
+  pythonImportsCheck = [ "pytds" ];
+
+  meta = with lib; {
+    description = "Python DBAPI driver for MSSQL using pure Python TDS (Tabular Data Stream) protocol implementation";
+    homepage = "https://python-tds.readthedocs.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix b/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
index 93969551842b..262f1d22e8ca 100644
--- a/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "python-telegram-bot";
-  version = "20.5";
+  version = "20.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/AdGpOl87EeVDCAZLjtan7ttE2vUL0gi1qeM18ilYEQ=";
+    hash = "sha256-t6yHl2uNdGaTLdbQTXp3+zds2pab4T6Pe69mu31HahA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-telegram/default.nix b/nixpkgs/pkgs/development/python-modules/python-telegram/default.nix
index a79362a93422..405f74bebda8 100644
--- a/nixpkgs/pkgs/development/python-modules/python-telegram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-telegram/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "python-telegram";
-  version = "0.15.0";
+  version = "0.18.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Na2NIiVgYexKbEqjN58hfkgxwFdCTL7Z7D3WEhL4wXA=";
+    hash = "sha256-UbJW/op01qe/HchfJUlBPBY9/W8NbZkEmFM8gZ5+EmI=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix b/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix
index efb1288943af..8a187257ca76 100644
--- a/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-uinput/default.nix
@@ -1,5 +1,8 @@
-{ lib, buildPythonPackage, fetchPypi
-, udev }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, udev
+}:
 
 buildPythonPackage rec {
   pname = "python-uinput";
@@ -14,6 +17,8 @@ buildPythonPackage rec {
 
   NIX_CFLAGS_LINK = "-ludev";
 
+  doCheck = false; # no tests
+
   meta = with lib; {
     description = "Pythonic API to Linux uinput kernel module";
     homepage = "https://tjjr.fi/sw/python-uinput/";
diff --git a/nixpkgs/pkgs/development/python-modules/python-ulid/default.nix b/nixpkgs/pkgs/development/python-modules/python-ulid/default.nix
new file mode 100644
index 000000000000..db1456dc3186
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-ulid/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, hatch-fancy-pypi-readme
+, hatch-vcs
+, hatchling
+, freezegun
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-ulid";
+  version = "2.2.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "mdomke";
+    repo = "python-ulid";
+    rev = "refs/tags/${version}";
+    hash = "sha256-d5jCPxWUOfw/OCtbA9Db9+s1D5DAdL+vbPR8zavgbbo=";
+  };
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    hatch-fancy-pypi-readme
+    hatch-vcs
+    hatchling
+  ];
+
+  nativeCheckInputs = [
+    freezegun
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "ulid" ];
+
+  meta = with lib; {
+    description = "ULID implementation for Python";
+    homepage = "https://github.com/mdomke/python-ulid";
+    changelog = "https://github.com/mdomke/python-ulid/blob/${src.rev}/CHANGELOG.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-utils/default.nix b/nixpkgs/pkgs/development/python-modules/python-utils/default.nix
index 499a7660664d..30803442d081 100644
--- a/nixpkgs/pkgs/development/python-modules/python-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-utils/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "python-utils";
-  version = "3.7.0";
+  version = "3.8.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "WoLpH";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-WSP5LQQZnm9k0v/xbsUHgQiwmhcb2Uw9BQurC1ieMjI=";
+    hash = "sha256-HoKdMDs67lsuVRb5d51wx6qyEjEM973yD6O6qMO+7MI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-xz/default.nix b/nixpkgs/pkgs/development/python-modules/python-xz/default.nix
new file mode 100644
index 000000000000..b5a2ed4e21f9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-xz/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "python-xz";
+  version = "0.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-OYdGWTtwb6n6xZuMmI6rhgPh/iupGVERwLRSJ6OnfbM=";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  # has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "xz" ];
+
+  meta = with lib; {
+    description = "Pure Python library for seeking within compressed xz files";
+    homepage = "https://github.com/Rogdham/python-xz";
+    license = licenses.mit;
+    maintainers = with lib.maintainers; [ mxmlnkn ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix b/nixpkgs/pkgs/development/python-modules/python-youtube/default.nix
index f9a0841fdcba..d0fb764422fe 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.1";
+  version = "0.9.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "sns-sdks";
     repo = "python-youtube";
-    rev = "v${version}";
-    hash = "sha256-PbPdvUv7I9NKW6w4OJbiUoRNVJ1SoXychSXBH/y5nzY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-jUs6n8j1coA37V0RTYqr7pqt+LRABieX7gbyWsXQpUM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python3-saml/default.nix b/nixpkgs/pkgs/development/python-modules/python3-saml/default.nix
index 981f963db389..7a5d8bccaa31 100644
--- a/nixpkgs/pkgs/development/python-modules/python3-saml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python3-saml/default.nix
@@ -24,14 +24,23 @@ buildPythonPackage rec {
   };
 
   patches = [
+    # skip tests with expired test data
+    # upstream issue: https://github.com/SAML-Toolkits/python3-saml/issues/373
     (fetchpatch {
       name = "test-expired.patch";
       url = "https://github.com/SAML-Toolkits/python3-saml/commit/bd65578e5a21494c89320094c61c1c77250bea33.diff";
       hash = "sha256-9Trew6R5JDjtc0NRGoklqMVDEI4IEqFOdK3ezyBU6gI=";
     })
-    # skip tests with expired test data
-    # upstream issue: https://github.com/SAML-Toolkits/python3-saml/issues/373
-    ./skip-broken-tests.patch
+    (fetchpatch {
+      name = "test-expired.patch";
+      url = "https://github.com/SAML-Toolkits/python3-saml/commit/ea3a6d4ee6ea0c5cfb0f698d8c0ed25638150f47.patch";
+      hash = "sha256-Q9+GM+mCEZK0QVp7ulH2hORVig2411OvkC4+o36DeXg=";
+    })
+    (fetchpatch {
+      name = "test-expired.patch";
+      url = "https://github.com/SAML-Toolkits/python3-saml/commit/feb0d1d954ee4d0ad1ad1d7d536bf9e83fa9431b.patch";
+      hash = "sha256-NURGI4FUnFlWRZfkioU9IYmZ+Zk9FKfZchjdn7N9abU=";
+    })
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python3-saml/skip-broken-tests.patch b/nixpkgs/pkgs/development/python-modules/python3-saml/skip-broken-tests.patch
deleted file mode 100644
index ea845e7da3de..000000000000
--- a/nixpkgs/pkgs/development/python-modules/python3-saml/skip-broken-tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/tests/src/OneLogin/saml2_tests/response_test.py b/tests/src/OneLogin/saml2_tests/response_test.py
-index fbe714f..bbed3c2 100644
---- a/tests/src/OneLogin/saml2_tests/response_test.py
-+++ b/tests/src/OneLogin/saml2_tests/response_test.py
-@@ -562,6 +562,7 @@ class OneLogin_Saml2_Response_Test(unittest.TestCase):
-         response_2 = OneLogin_Saml2_Response(settings, xml_2)
-         self.assertTrue(response_2.check_one_condition())
- 
-+    @unittest.skip("test data expired")
-     def testCheckOneAuthnStatement(self):
-         """
-         Tests the check_one_authnstatement method of SamlResponse
-@@ -970,6 +971,7 @@ class OneLogin_Saml2_Response_Test(unittest.TestCase):
-         with self.assertRaisesRegex(Exception, 'Could not validate timestamp: expired. Check system clock.'):
-             response_2.is_valid(self.get_request_data(), raise_exceptions=True)
- 
-+    @unittest.skip("test data expired")
-     def testIsInValidNoStatement(self):
-         """
-         Tests the is_valid method of the OneLogin_Saml2_Response
-@@ -1080,6 +1082,7 @@ class OneLogin_Saml2_Response_Test(unittest.TestCase):
-         with self.assertRaisesRegex(Exception, 'Found an Attribute element with duplicated Name'):
-             response.get_attributes()
- 
-+    @unittest.skip("test data expired")
-     def testIsInValidDestination(self):
-         """
-         Tests the is_valid method of the OneLogin_Saml2_Response class
diff --git a/nixpkgs/pkgs/development/python-modules/python_docs_theme/default.nix b/nixpkgs/pkgs/development/python-modules/python_docs_theme/default.nix
index 1e3776b906a5..1a1a05733ad3 100644
--- a/nixpkgs/pkgs/development/python-modules/python_docs_theme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python_docs_theme/default.nix
@@ -1,17 +1,19 @@
-{ lib, buildPythonPackage, fetchFromGitHub, sphinx }:
+{ lib, buildPythonPackage, fetchFromGitHub, flit-core, sphinx }:
 
 buildPythonPackage rec {
   pname = "python_docs_theme";
-  version = "2023.7";
-  format = "flit";
+  version = "2023.9";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "python";
     repo = "python-docs-theme";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-43/TlgYm7Q4ZtY25MiLU9fd1atDmiDUeUK6AYfDfmag=";
+    sha256 = "sha256-XVwMEfprTNdNnaW38HMCAu4CswdVjBXYtNWBgqXfbno=";
   };
 
+  nativeBuildInputs = [ flit-core ];
+
   propagatedBuildInputs = [ sphinx ];
 
   pythonImportsCheck = [ "python_docs_theme" ];
diff --git a/nixpkgs/pkgs/development/python-modules/pythonnet/default.nix b/nixpkgs/pkgs/development/python-modules/pythonnet/default.nix
index 3ec700149bed..5a2272c668c3 100644
--- a/nixpkgs/pkgs/development/python-modules/pythonnet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pythonnet/default.nix
@@ -12,11 +12,11 @@
 
 let
   pname = "pythonnet";
-  version = "3.0.2";
+  version = "3.0.3";
   src = fetchPypi {
     pname = "pythonnet";
     inherit version;
-    sha256 = "sha256-LN0cztxkp8m9cRvj0P0MSniTJHQTncVKppe+3edBx0Y=";
+    hash = "sha256-jUsulxWKAjh1+GR0WKWPOIF/T+Oa9gq91rDYrfHXfnU=";
   };
 
   # This buildDotnetModule is used only to get nuget sources, the actual
@@ -70,6 +70,7 @@ buildPythonPackage {
   meta = with lib; {
     description = ".NET integration for Python";
     homepage = "https://pythonnet.github.io";
+    changelog = "https://github.com/pythonnet/pythonnet/releases/tag/v${version}";
     license = licenses.mit;
     # <https://github.com/pythonnet/pythonnet/issues/898>
     badPlatforms = [ "aarch64-linux" ];
diff --git a/nixpkgs/pkgs/development/python-modules/pythonocc-core/default.nix b/nixpkgs/pkgs/development/python-modules/pythonocc-core/default.nix
index 7873574b0a1b..cedf05029c9c 100644
--- a/nixpkgs/pkgs/development/python-modules/pythonocc-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pythonocc-core/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, python, fetchFromGitHub
+{ lib
+, stdenv
+, python
+, fetchFromGitHub
 , cmake
 , Cocoa
 , fontconfig
@@ -11,7 +14,6 @@
 , libXmu
 , opencascade-occt
 , rapidjson
-, smesh
 , swig4
 }:
 
@@ -34,7 +36,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake swig4 ];
   buildInputs = [
-    python opencascade-occt smesh
+    python opencascade-occt
     freetype libGL libGLU libX11 libXext libXmu libXi
     fontconfig rapidjson
   ] ++ lib.optionals stdenv.isDarwin [ Cocoa ];
@@ -42,10 +44,6 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-Wno-dev"
     "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC"
-
-    "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh"
-    "-DSMESH_LIB_PATH=${smesh}/lib"
-    "-DPYTHONOCC_WRAP_SMESH=TRUE"
   ];
 
   passthru = {
@@ -57,6 +55,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Python wrapper for the OpenCASCADE 3D modeling kernel";
     homepage = "https://github.com/tpaviot/pythonocc-core";
+    changelog = "https://github.com/tpaviot/pythonocc-core/releases/tag/${version}";
     license = licenses.lgpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ gebner ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytile/default.nix b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
index 12d61c0da5eb..7b1d22110632 100644
--- a/nixpkgs/pkgs/development/python-modules/pytile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytile/default.nix
@@ -2,49 +2,38 @@
 , aiohttp
 , aresponses
 , buildPythonPackage
+, certifi
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, yarl
 }:
 
 buildPythonPackage rec {
   pname = "pytile";
-  version = "2023.08.0";
+  version = "2023.10.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "pytile";
     rev = "refs/tags/${version}";
-    hash = "sha256-wPtGofli3ZKBcAwjwjCbeYnLaSZ5lLshlBSz1/WlAcg=";
+    hash = "sha256-L1Ovpxn7Y+reK8YcVBPwoRjKxcyByrPGz5i/csGzKfE=";
   };
 
-  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/pytile/pull/286
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/pytile/commit/bdb5d96ba9d640bf85a1ae9c3787704dbc2ced23.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
     aiohttp
+    certifi
+    yarl
   ];
 
   nativeCheckInputs = [
@@ -72,6 +61,7 @@ buildPythonPackage rec {
       Bluetooth trackers (including last location and more).
     '';
     homepage = "https://github.com/bachya/pytile";
+    changelog = "https://github.com/bachya/pytile/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pytoolconfig/default.nix b/nixpkgs/pkgs/development/python-modules/pytoolconfig/default.nix
index 8c49cc766d00..fb0b5399f52b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytoolconfig/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytoolconfig/default.nix
@@ -1,34 +1,24 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-
-# build
-, pdm-pep517
-
-# docs
 , docutils
-, sphinxHook
-, sphinx-rtd-theme
-, sphinx-autodoc-typehints
-
-# runtime
-, tomli
+, fetchFromGitHub
 , packaging
-
-# optionals
-, pydantic
+, pdm-backend
 , platformdirs
+, pydantic
+, pytestCheckHook
+, pythonOlder
 , sphinx
+, sphinx-autodoc-typehints
+, sphinx-rtd-theme
+, sphinxHook
 , tabulate
-
-# tests
-, pytestCheckHook
+, tomli
 }:
 
 buildPythonPackage rec {
   pname = "pytoolconfig";
-  version = "1.2.5";
+  version = "1.2.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -37,7 +27,7 @@ buildPythonPackage rec {
     owner = "bagel897";
     repo = "pytoolconfig";
     rev = "refs/tags/v${version}";
-    hash = "sha256-b7er/IgXr2j9dSnI87669BXWA5CXNTzwa1DTpl8PBZ4=";
+    hash = "sha256-KmmaxFJbvdOGG9T9iiHKnJpFzZiLVkPJki+qHPxPTdY=";
   };
 
   outputs = [
@@ -48,7 +38,7 @@ buildPythonPackage rec {
   PDM_PEP517_SCM_VERSION = version;
 
   nativeBuildInputs = [
-    pdm-pep517
+    pdm-backend
 
     # docs
     docutils
@@ -90,9 +80,9 @@ buildPythonPackage rec {
   ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   meta = with lib; {
-    changelog = "https://github.com/bagel897/pytoolconfig/releases/tag/v${version}";
     description = "Python tool configuration";
     homepage = "https://github.com/bagel897/pytoolconfig";
+    changelog = "https://github.com/bagel897/pytoolconfig/releases/tag/v${version}";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ fab hexa ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch-lightning/default.nix
index 5d46e647dc8a..9e0a7a2018db 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.0.8";
+  version = "2.0.9";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Lightning-AI";
     repo = "pytorch-lightning";
     rev = "refs/tags/${version}";
-    hash = "sha256-Z/5d7aUO9UO7c9PoekxP8PMajKlh//hk/YIp+BJMcho=";
+    hash = "sha256-2HjdqC7JU28nVAJdaEkwmJOTfWBCqHcM1a1sHIfF3ME=";
   };
 
   preConfigure = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
index 3bd169bc1af8..138dc5f502fa 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "pytorch-pfn-extras";
-  version = "0.6.4";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "pfnet";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-x1aE/55+2QwYG3Hhy35j26jLAj9O5orrU/c4KlTTOcc=";
+    hash = "sha256-juoLw/qfq4YF7opyR7cTYCVzUa9pXVvQnvGntcQhBr4=";
   };
 
   propagatedBuildInputs = [ numpy packaging torch typing-extensions ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytrafikverket/default.nix b/nixpkgs/pkgs/development/python-modules/pytrafikverket/default.nix
index 3cb161c281c4..d8365a034ebc 100644
--- a/nixpkgs/pkgs/development/python-modules/pytrafikverket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytrafikverket/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pytrafikverket";
-  version = "0.3.6";
+  version = "0.3.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HHvjwkJ+7QMu1lMe6ouV2j3Y67Vv9aoVaJaKDLXbJpU=";
+    hash = "sha256-9s4KbYFhQVf+16GT4hbGkmwxQhtMu60SwrLWHbdJXAY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytz/default.nix b/nixpkgs/pkgs/development/python-modules/pytz/default.nix
index ad4f76baf667..8d4bcfbb3c6f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytz/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pytz";
-  version = "2023.3";
+  version = "2023.3.post1";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HYzinbGJGR+1UzjubQOH2Cq1nz0A6sEDQS1k4OvQxYg=";
+    hash = "sha256-e0/dvrlKHrpLVX2iTxn9+dtXUZJUQnCpEB2FCfn0PXs=";
   };
 
   nativeCheckInputs = [ unittestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyuv/default.nix b/nixpkgs/pkgs/development/python-modules/pyuv/default.nix
index ddfbca300b48..f3209e3bdf21 100644
--- a/nixpkgs/pkgs/development/python-modules/pyuv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyuv/default.nix
@@ -9,7 +9,7 @@
 buildPythonPackage rec {
   pname = "pyuv";
   version = "1.4.0";
-  disabled = pythonAtLeast "3.11";
+  disabled = pythonAtLeast "3.12";
 
   src = fetchFromGitHub {
     owner = "saghul";
@@ -24,6 +24,11 @@ buildPythonPackage rec {
       url = "https://github.com/saghul/pyuv/commit/8bddcc27052017b5b9cb89c24dbfdf06737b0dd3.patch";
       hash = "sha256-J/3ky64Ff+gYpN3ksFLNuZ5xgPbBkyOl4LTY6fiHAgk=";
     })
+    (fetchpatch {
+      name = "fix-build-with-python3.11.patch";
+      url = "https://github.com/saghul/pyuv/commit/2a3d42d44c6315ebd73899a35118380d2d5979b5.patch";
+      hash = "sha256-CQZexd6EjadCB7KyxeZKM24zrD9rXuNv4oA+Tb2nsdw=";
+    })
   ];
 
   setupPyBuildFlags = [ "--use-system-libuv" ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
index 6663c1d4a471..d238b86ed4ca 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.69";
-  format = "pyproject";
+  version = "9.2.73";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qyqWJ3B4R7aKHDsTJ29luwTfVysMx56hY82rBgRS2Sw=";
+    hash = "sha256-44ykNXMwKHfb5ZcYBstFThGR+YkFDbmItkPEyOKKDqc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvis/default.nix b/nixpkgs/pkgs/development/python-modules/pyvis/default.nix
index c4698744531b..a9fea2dc6830 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvis/default.nix
@@ -6,31 +6,38 @@
 , jinja2
 , ipython
 , jsonpickle
+, pytestCheckHook
 , numpy
 }:
 
 buildPythonPackage rec {
   pname = "pyvis";
-  version = "0.2.1";
+  version = "0.3.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "WestHealth";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-cER5XYxnURzRLtrisWBu2kxtOiRqgaRTJYyaCMh2qqE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-eo9Mk2c0hrBarCrzwmkXha3Qt4Bl1qR7Lhl9EkUx96E=";
   };
 
-  patches = [
-    # Fix test: https://github.com/WestHealth/pyvis/issues/138
-    (fetchpatch {
-      url = "https://github.com/WestHealth/pyvis/commit/eaa24b882401e2e74353efa78bf4e71a880cfc47.patch";
-      hash = "sha256-hyDypavoCM36SiuQda1U4FLUPdAjTIMtaeZ0KqfHKzI=";
-    })
+  propagatedBuildInputs = [
+    jinja2
+    networkx
+    ipython
+    jsonpickle
   ];
 
-  propagatedBuildInputs = [ networkx jinja2 ipython jsonpickle ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    numpy
+  ];
 
-  nativeCheckInputs = [ numpy ];
+  disabledTestPaths = [
+    # jupyter integration test with selenium and webdriver_manager
+    "pyvis/tests/test_html.py"
+  ];
 
   pythonImportsCheck = [ "pyvis" ];
 
@@ -38,6 +45,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/WestHealth/pyvis";
     description = "Python package for creating and visualizing interactive network graphs";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ pbsds ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyvista/default.nix b/nixpkgs/pkgs/development/python-modules/pyvista/default.nix
index d6c4ac175127..eb457166876c 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvista/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvista/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyvista";
-  version = "0.42.2";
+  version = "0.42.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-i+09vjp6m9CSEbWcvj2TCnOb408xw5Gli1en6FTYZH4=";
+    hash = "sha256-RIeasdsLCBBs9eXUts53zlCkqkME48GBWVAcBoEHuOM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix b/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix
index e8dfc2745fb8..7a740efe5a4e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyvmomi";
-  version = "8.0.1.0.2";
+  version = "8.0.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "vmware";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-NI2xkHo9A9zEvdbTt9vF91gavSnCuFjdjr6PxEvkSZM=";
+    hash = "sha256-IoYxk/lS7dhw0q3kfpq7y/oDNmc1dOra0YA3CiHe8YM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvo/default.nix b/nixpkgs/pkgs/development/python-modules/pyvo/default.nix
index 72801ee30690..4498b4f15090 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvo/default.nix
@@ -14,23 +14,15 @@
 
 buildPythonPackage rec {
   pname = "pyvo";
-  version = "1.4";
+  version = "1.4.2";
 
   disabled = pythonOlder "3.8"; # according to setup.cfg
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-R2ttLoFd6Ic0KZl49dzN5NtWAqPpXRaeki6X8CRGsCw=";
+    hash = "sha256-Zv4piGWs/XJbxfGHUHctfxuImbjluxd1chUgvtV9lcs=";
   };
 
-  patches = [
-    # Backport Python 3.11 support.
-    (fetchpatch {
-      url = "https://patch-diff.githubusercontent.com/raw/astropy/pyvo/pull/385.patch";
-      sha256 = "IHf3W9fIT8XFvyM41PUiJkt1j+B3RkX3TS4FOnRUMDk=";
-    })
-  ];
-
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pywayland/default.nix b/nixpkgs/pkgs/development/python-modules/pywayland/default.nix
index f35c6a028d13..4015715c4515 100644
--- a/nixpkgs/pkgs/development/python-modules/pywayland/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywayland/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pywayland";
-  version = "0.4.16";
+  version = "0.4.17";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qqcMhwsKs2UhX45xUF9zaDxO0VsfNjhDOx3HNE/ltd0=";
+    hash = "sha256-9/0ZAmOML3oVrAfzGj72iV08FgyiYBSByoKyxhojxlc=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/python-modules/pywaze/default.nix b/nixpkgs/pkgs/development/python-modules/pywaze/default.nix
index 5a5ef4abf3c3..e3b8ab0bded4 100644
--- a/nixpkgs/pkgs/development/python-modules/pywaze/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywaze/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pywaze";
-  version = "0.5.0";
+  version = "0.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "eifinger";
     repo = "pywaze";
     rev = "refs/tags/v${version}";
-    hash = "sha256-iuI/tfU2nEX+Y9pWEsm0Nvu6pModHh/5g2eyud8TnB0=";
+    hash = "sha256-r7ROEdgHdjXkveVUbuALHtwCX4IO0lwx9Zo3u6R9I58=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyweatherflowudp/default.nix b/nixpkgs/pkgs/development/python-modules/pyweatherflowudp/default.nix
new file mode 100644
index 000000000000..34674635a418
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyweatherflowudp/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pint
+, poetry-core
+, psychrolib
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyweatherflowudp";
+  version = "1.4.5";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "briis";
+    repo = "pyweatherflowudp";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-aTwGFYTtd07BsWFaFc7ns+8oh2AxTUfRFSu81Zv5OoA=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pint
+    psychrolib
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pyweatherflowudp"
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_flow_control"
+    "test_listen_and_stop"
+    "test_repetitive_listen_and_stop"
+    "test_process_message"
+    "test_listener_connection_errors"
+    "test_invalid_messages"
+  ];
+
+  meta = with lib; {
+    description = "Library to receive UDP Packets from Weatherflow Weatherstations";
+    homepage = "https://github.com/briis/pyweatherflowudp";
+    changelog = "https://github.com/briis/pyweatherflowudp/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/pywebview/default.nix b/nixpkgs/pkgs/development/python-modules/pywebview/default.nix
index 84e2a3f64442..04df94d137ef 100644
--- a/nixpkgs/pkgs/development/python-modules/pywebview/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywebview/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pywebview";
-  version = "4.1";
+  version = "4.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "r0x0r";
     repo = "pywebview";
     rev = "refs/tags/${version}";
-    hash = "sha256-oqyWT0GaZ201OMVRcRpm1dma6NonTMmTx5SKnjzQl3M=";
+    hash = "sha256-8BkbO7C8cYDIQWWCKaXFjfD45L5KVG1tDZJl+uW5g9g=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pywerview/default.nix b/nixpkgs/pkgs/development/python-modules/pywerview/default.nix
index aeffc4f03954..ac637d4501a8 100644
--- a/nixpkgs/pkgs/development/python-modules/pywerview/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywerview/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pywerview";
-  version = "0.5.1";
+  version = "0.5.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "the-useless-one";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-0vL1kMg4XRFq1CWR/2x5YYyfjm8YzjJaXkezehsT4hg=";
+    hash = "sha256-BWH9zYrlbzQC0/cc5k5BlXWyh38gI+hwwTCWhe1xgog=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pywfa/default.nix b/nixpkgs/pkgs/development/python-modules/pywfa/default.nix
new file mode 100644
index 000000000000..529417db9896
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pywfa/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, cython
+, setuptools
+, wheel
+, pysam
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pywfa";
+  version = "0.5.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "kcleal";
+    repo = "pywfa";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-oeVXK9uyH4E98tApKrA7dXifQYb41KuDTAZ40XgAaF8=";
+  };
+
+  nativeBuildInputs = [
+    cython
+    setuptools
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pysam
+    unittestCheckHook
+  ];
+
+  preCheck = ''
+    cd pywfa/tests
+  '';
+
+  pythonImportsCheck = [
+    "pywfa"
+    "pywfa.align"
+  ];
+
+  meta = with lib; {
+    description = "Python wrapper for wavefront alignment using WFA2-lib";
+    homepage = "https://github.com/kcleal/pywfa";
+    changelog = "https://github.com/kcleal/pywfa/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix b/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix
index 68a4753ba06d..2350b14da054 100644
--- a/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix
@@ -20,19 +20,19 @@
 
 buildPythonPackage rec {
   pname = "pywlroots";
-  version = "0.15.24";
+  version = "0.16.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TvYhxiAbK+mpcEE9y79WH96dzeDnvI0xPaUxSYQqyHE=";
+    hash = "sha256-ITf1uALQ0ZJMeZ4wbC7VqEL9LdoK67vqRpXD6LTWjUE=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   propagatedNativeBuildInputs = [ cffi ];
-  buildInputs = [ libinput libxkbcommon pixman xorg.libxcb udev wayland wlroots ];
+  buildInputs = [ libinput libxkbcommon pixman xorg.libxcb xorg.xcbutilwm udev wayland wlroots ];
   propagatedBuildInputs = [ cffi pywayland xkbcommon ];
   nativeCheckInputs = [ pytestCheckHook ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyyaml-include/default.nix b/nixpkgs/pkgs/development/python-modules/pyyaml-include/default.nix
index 92ec25186f50..176d402e99c1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyyaml-include/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyyaml-include/default.nix
@@ -1,25 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , pytestCheckHook
 , pyyaml
+, setuptools
 , setuptools-scm
-, setuptools-scm-git-archive
-, toml
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "pyyaml-include";
-  version = "1.3";
+  version = "1.3.1";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-9/vrjnG1C+Dm4HRy98edv7GhW63pyToHg2n/SeV+Z3E=";
+  src = fetchFromGitHub {
+    owner = "tanbro";
+    repo = "pyyaml-include";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-xsNMIEBYqMVQp+H8R7XpFCwROXA8I6bFvAuHrRvC+DI=";
   };
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   nativeBuildInputs = [
-    pyyaml
+    setuptools
     setuptools-scm
-    setuptools-scm-git-archive
-    toml
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    pyyaml
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyyardian/default.nix b/nixpkgs/pkgs/development/python-modules/pyyardian/default.nix
new file mode 100644
index 000000000000..0216d562faea
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyyardian/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pythonOlder
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "pyyardian";
+  version = "1.2.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "h3l1o5";
+    repo = "pyyardian";
+    rev = "refs/tags/${version}";
+    hash = "sha256-JBb62pFDuVcXIGRc6UOp5/ciUtbGm4XnKZjt1icF/jQ=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Tests require network access
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pyyardian"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with the Yardian irrigation controller";
+    homepage = "https://github.com/h3l1o5/pyyardian";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyzmq/default.nix b/nixpkgs/pkgs/development/python-modules/pyzmq/default.nix
index 74f5b3afc1d6..88fbf7d63c05 100644
--- a/nixpkgs/pkgs/development/python-modules/pyzmq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyzmq/default.nix
@@ -7,18 +7,19 @@
 , pythonOlder
 , tornado
 , zeromq
+, pytest-asyncio
 }:
 
 buildPythonPackage rec {
   pname = "pyzmq";
-  version = "24.0.1";
+  version = "25.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IW9dfbtnFmdZ5ZsEebyoK4rPm+1gFbUmuOsQFD+wjnc=";
+    hash = "sha256-JZwiSFtxq6zfqL95cgzXvPS50SizDqVU8BrnH9v9qiM=";
   };
 
   buildInputs = [
@@ -32,6 +33,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     tornado
+    pytest-asyncio
   ];
 
   pythonImportsCheck = [
@@ -40,6 +42,9 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [
     "$out/${python.sitePackages}/zmq/tests/" # Folder with tests
+    # pytest.ini is missing in pypi's sdist
+    # https://github.com/zeromq/pyzmq/issues/1853#issuecomment-1592731986
+    "--asyncio-mode auto"
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix b/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
index 7b12781ba160..78fdcc99d267 100644
--- a/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , lib
 , fetchPypi
+, poetry-core
 , networkx
 , numpy
 , pint
@@ -12,16 +13,21 @@
 
 buildPythonPackage rec {
   pname = "qcelemental";
-  version = "0.25.1";
-  format = "setuptools";
+  version = "0.26.0";
+
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4+DlP+BH0UdWcYRBBApdc3E18L2zPvsdY6GTW5WCGnQ=";
+    hash = "sha256-oU6FEM2/2mRe8UYcGv0C77WZMRcz27pfg/zR1haKbd0=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     networkx
     numpy
diff --git a/nixpkgs/pkgs/development/python-modules/qcengine/default.nix b/nixpkgs/pkgs/development/python-modules/qcengine/default.nix
index abb84e1e7375..5b240104ca89 100644
--- a/nixpkgs/pkgs/development/python-modules/qcengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcengine/default.nix
@@ -8,18 +8,19 @@
 , pythonOlder
 , pyyaml
 , qcelemental
+, msgpack
 }:
 
 buildPythonPackage rec {
   pname = "qcengine";
-  version = "0.26.0";
+  version = "0.28.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jBA3exH/qzEaKZeumvgKD0tKnDptZdlv1KykyUHs8Bg=";
+    hash = "sha256-ebZayF5VGHXjBFO3k2KegCNqAFygB3BXKvdvr8mF/Ss=";
   };
 
   propagatedBuildInputs = [
@@ -28,6 +29,7 @@ buildPythonPackage rec {
     pydantic
     pyyaml
     qcelemental
+    msgpack
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix b/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix
index 2590a557b8ce..80355c1b5341 100644
--- a/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , fetchpatch
 , fetchPypi
 , pythonOlder
@@ -26,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "qcodes-loop";
-  version = "0.1.1";
+  version = "0.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -34,7 +35,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "qcodes_loop";
-    hash = "sha256-pDR0Ws8cYQifftdE9dKcSzMxmouFo4tJmQvNanm6zyM=";
+    hash = "sha256-TizNSC49n4Xc2BmJNziARlVXYQxp/LtwmKpgqQkQ3a8=";
   };
 
   patches = [
@@ -97,5 +98,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/QCoDeS/Qcodes_loop";
     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 fb70d6d1f788..2083000992bc 100644
--- a/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
@@ -18,6 +18,7 @@
 , numpy
 , opencensus
 , opencensus-ext-azure
+, opentelemetry-api
 , packaging
 , pandas
 , pyvisa
@@ -53,14 +54,14 @@
 
 buildPythonPackage rec {
   pname = "qcodes";
-  version = "0.39.1";
+  version = "0.40.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2gJ/WeynabiGB1Z66+qaUbf6/1wogf/XjIE2mCAXUZY=";
+    sha256 = "sha256-C8/ltX3tSxCbbheuel3BjIkRBl/E92lK709QYx+2FL0=";
   };
 
   postPatch = ''
@@ -86,6 +87,7 @@ buildPythonPackage rec {
     numpy
     opencensus
     opencensus-ext-azure
+    opentelemetry-api
     packaging
     pandas
     pillow
@@ -159,9 +161,10 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
+    changelog = "https://github.com/QCoDeS/Qcodes/releases/tag/v${version}";
     description = "Python-based data acquisition framework";
+    downloadPage = "https://github.com/QCoDeS/Qcodes";
     homepage = "https://qcodes.github.io/Qcodes/";
-    changelog = "https://github.com/QCoDeS/Qcodes/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ evilmav ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix b/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix
index e140c949b631..0b38510d6603 100644
--- a/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcs-api-client/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "qcs-api-client";
-  version = "0.21.6";
+  version = "0.23.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "rigetti";
     repo = "qcs-api-client-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1vXqwir3lAM+m/HGHWuXl20muAOasEWo1H0RjUCShTM=";
+    hash = "sha256-Z+RCjpSpfYU3oU5HQ8CzZfwqUjMHvCKVn+p2tq+VDxQ=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/qdldl/default.nix b/nixpkgs/pkgs/development/python-modules/qdldl/default.nix
index 25d28dc4d069..8369bbf2a33d 100644
--- a/nixpkgs/pkgs/development/python-modules/qdldl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qdldl/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "qdldl";
-  version = "0.1.5.post3";
+  version = "0.1.7.post0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-acCS9uH8I/t3moCmLm/N/i66BcklhgJIxNZ1T0c2k48=";
+    hash = "sha256-80ahFMg0LubU29ZHHu8xQZn7Jo0797lYhco1H94rAj8=";
   };
 
   dontUseCmakeConfigure = true;
diff --git a/nixpkgs/pkgs/development/python-modules/qdrant-client/default.nix b/nixpkgs/pkgs/development/python-modules/qdrant-client/default.nix
index b1d46d5fcb95..37ca849a7676 100644
--- a/nixpkgs/pkgs/development/python-modules/qdrant-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qdrant-client/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "qdrant-client";
-  version = "1.5.4";
+  version = "1.6.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "qdrant";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-9aZBUrGCNRQjYRF1QmIwVqeT5Tdgv7CCkyOUsbZbmVM=";
+    hash = "sha256-UGD8hl0KN6PzLvmE4ZK+GsQbM3Bp8t9Mz4K62N6Zv/s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/qiskit-aer/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-aer/default.nix
index 60d5efc9e329..e774990fb999 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-aer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qiskit-aer/default.nix
@@ -31,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-aer";
-  version = "0.11.2";
+  version = "0.12.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = "qiskit-aer";
     rev = "refs/tags/${version}";
-    hash = "sha256-ew9ucqOWDztjB+hJTh9WkJiutVBJyVQobtEcWeUwEcw=";
+    hash = "sha256-K8Avh1j9j5CGdEYIeJJRF+PjUFXvVILkZLqX1QClInE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
index 8e2de37788d3..4bf996a26507 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
@@ -40,7 +40,7 @@ let
 in
 buildPythonPackage rec {
   pname = "qiskit-ibmq-provider";
-  version = "0.20.1";
+  version = "0.20.2";
 
   disabled = pythonOlder "3.6";
 
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-BFiGMPiO9Xcl8EiTZYiwHCpo7z+tRaBkIb8GTo01rBA=";
+    hash = "sha256-7dIspeJpukLDfICoBPPZZWdzkVumtvh+NRxvtmnvWH0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/qiskit-machine-learning/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-machine-learning/default.nix
index 28d572afc378..1c23fb3b0398 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-machine-learning/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qiskit-machine-learning/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-machine-learning";
-  version = "0.5.0";
+  version = "0.6.1";
 
   disabled = pythonOlder "3.6";
 
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-wK0ZRNnU7WJlTWRJ2ce6LN6WGKlkh5jBrbXMDYcPQJI=";
+    hash = "sha256-oSLQvZGEq/nBj7ktDEq3BMk7xyYiLGpBDmKxuXtMTfs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/qiskit-nature/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-nature/default.nix
index 629dc04bd3f4..8fc30687f69e 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-nature/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qiskit-nature/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-nature";
-  version = "0.5.2";
+  version = "0.6.2";
 
   disabled = pythonOlder "3.6";
 
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-rUY5fnsWg2UisF0tGORvHot8laCs8eVAvuVKUOG5ibw=";
+    hash = "sha256-X/4jA/e2nmmaVEiCgd/4KJc/sAdcYDkyKzvyVztovXM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/qiskit-terra/default.nix b/nixpkgs/pkgs/development/python-modules/qiskit-terra/default.nix
index f6c5010fbfb7..2c290493b063 100644
--- a/nixpkgs/pkgs/development/python-modules/qiskit-terra/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qiskit-terra/default.nix
@@ -58,15 +58,15 @@ in
 
 buildPythonPackage rec {
   pname = "qiskit-terra";
-  version = "0.21.0";
+  version = "0.25.1";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "qiskit";
     repo = pname;
-    rev = version;
-    hash = "sha256-imktzBpgP+lq6FsVWIUK82+t76gKTgt53kPfKOnsseQ=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-4/LVKDNxKsRztCtU/mMfKMVHHJqfadZXmxeOlnlz9Tc=";
   };
 
   nativeBuildInputs = [ setuptools-rust rustc cargo rustPlatform.cargoSetupHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix b/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix
index 18141543c98c..1ab12f28412c 100644
--- a/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , buildPythonPackage
 , unittestCheckHook
+, flit-core
 , daqp
 , ecos
 , numpy
@@ -13,14 +14,14 @@
 }:
 buildPythonPackage rec {
   pname = "qpsolvers";
-  version = "3.4.0";
-  format = "flit";
+  version = "4.0.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "qpsolvers";
     repo = "qpsolvers";
-    rev = "v${version}";
-    hash = "sha256-GrYAhTWABBvU6rGoHi00jBa7ryjCNgzO/hQBTdSW9cg=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-KkV61pBkIh+4Qav9TVobEBUCyMa6Xqg+eygnOoQRpcQ=";
   };
 
   pythonImportsCheck = [ "qpsolvers" ];
@@ -35,6 +36,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    flit-core
     quadprog
     unittestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/qt-material/default.nix b/nixpkgs/pkgs/development/python-modules/qt-material/default.nix
new file mode 100644
index 000000000000..c7c195cdfc48
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/qt-material/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, jinja2
+}:
+
+buildPythonPackage rec {
+  pname = "qt-material";
+  version = "2.14";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-tdu1relyF8964za7fAR8kL6zncfyBIpJjJFq1fL3riM=";
+  };
+
+  propagatedBuildInputs = [
+    jinja2
+  ];
+
+  pythonImportsCheck = [
+    "qt_material"
+  ];
+
+  meta = with lib; {
+    description = "Material inspired stylesheet for PySide2, PySide6, PyQt5 and PyQt6";
+    homepage = "https://github.com/UN-GCPDS/qt-material";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ _999eagle ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
index b963798f6560..a49b63eaeb15 100644
--- a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
@@ -4,7 +4,7 @@
 , ipykernel
 , jupyter-core
 , jupyter-client
-, ipython_genutils
+, ipython-genutils
 , pygments
 , pyqt5
 , pytestCheckHook
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     ipykernel
-    ipython_genutils
+    ipython-genutils
     jupyter-core
     jupyter-client
     pygments
diff --git a/nixpkgs/pkgs/development/python-modules/qtile-extras/default.nix b/nixpkgs/pkgs/development/python-modules/qtile-extras/default.nix
index 44e6a2dcc906..9555ef07c36a 100644
--- a/nixpkgs/pkgs/development/python-modules/qtile-extras/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtile-extras/default.nix
@@ -4,8 +4,10 @@
 , setuptools-scm
 , pytestCheckHook
 , xorgserver
+, imagemagick
 , pulseaudio
 , pytest-asyncio
+, pytest-lazy-fixture
 , qtile
 , keyring
 , requests
@@ -14,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "qtile-extras";
-  version = "0.22.1";
-  format = "setuptools";
+  version = "0.23.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "elParaguayo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-2dMpGLtwIp7+aoOgYav2SAjaKMiXHmmvsWTBEIMKEW4=";
+    hash = "sha256-WI1z8vrbZiJw6fDHK27mKA+1FyZEQTMttIDNzSIX+PU=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -31,9 +33,11 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     xorgserver
+    imagemagick
   ];
   checkInputs = [
     pytest-asyncio
+    pytest-lazy-fixture
     qtile
     pulseaudio
     keyring
@@ -52,9 +56,21 @@ buildPythonPackage rec {
     "test_tvh_widget_recording"
     "test_tvh_widget_popup"
     "test_snapcast_options"
+    "test_snapcast_icon"
+    "test_snapcast_icon_colour"
+    "test_snapcast_http_error"
+    "test_syncthing_not_syncing"
+    "test_syncthing_is_syncing"
+    "test_syncthing_http_error"
+    "test_githubnotifications_colours"
+    "test_githubnotifications_logging"
+    "test_githubnotifications_icon"
+    "test_githubnotifications_reload_token"
+    "test_image_size_horizontal"
+    "test_image_size_vertical"
+    "test_image_size_mask"
     # ValueError: Namespace Gdk not available
     # AssertionError: Window never appeared...
-    "test_gloabl_menu"
     "test_statusnotifier_menu"
     # AttributeError: 'str' object has no attribute 'canonical'
     "test_strava_widget_display"
@@ -67,6 +83,13 @@ buildPythonPackage rec {
     "test_upower_critical_battery"
     "test_upower_charging"
     "test_upower_show_text"
+    "test_global_menu"
+    "test_mpris2_popup"
+    # No network connection
+    "test_wifiicon_internet_check"
+    # AssertionErrors
+    "test_widget_init_config"
+    "test_decoration_output"
   ];
   preCheck = ''
     export HOME=$(mktemp -d)
diff --git a/nixpkgs/pkgs/development/python-modules/qtile/default.nix b/nixpkgs/pkgs/development/python-modules/qtile/default.nix
index 1d8aaa55ba6e..7e6d4a826eeb 100644
--- a/nixpkgs/pkgs/development/python-modules/qtile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtile/default.nix
@@ -5,13 +5,16 @@
 , dbus-next
 , dbus-python
 , glib
+, iwlib
+, libdrm
 , libinput
 , libxkbcommon
 , mpd2
 , pango
+, pixman
 , pkg-config
 , psutil
-, pulseaudio
+, pulsectl-asyncio
 , pygobject3
 , python-dateutil
 , pywayland
@@ -22,19 +25,20 @@
 , wayland
 , wlroots
 , xcbutilcursor
+, xcbutilwm
 , xcffib
 , xkbcommon
 }:
 
 buildPythonPackage rec {
   pname = "qtile";
-  version = "0.22.1";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "qtile";
     repo = "qtile";
     rev = "v${version}";
-    hash = "sha256-HOyExVKOqZ4OeNM1/AiXQeiUV+EbSJLEjWEibm07ff8=";
+    hash = "sha256-WxnpkKqYGGEsFTt/1iCSiCzdESJP6HFJ6BztaMsMbYo=";
   };
 
   patches = [
@@ -48,37 +52,42 @@ buildPythonPackage rec {
       --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0
     substituteInPlace libqtile/backend/x11/xcursors.py \
       --replace libxcb-cursor.so.0 ${xcbutilcursor.out}/lib/libxcb-cursor.so.0
+    substituteInPlace libqtile/backend/wayland/cffi/build.py \
+        --replace /usr/include/pixman-1 ${lib.getDev pixman}/include \
+        --replace /usr/include/libdrm ${lib.getDev libdrm}/include/libdrm
   '';
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
     pkg-config
-    setuptools-scm
     setuptools
+    setuptools-scm
   ];
 
   propagatedBuildInputs = [
-    xcffib
     (cairocffi.override { withXcffib = true; })
-    python-dateutil
-    dbus-python
     dbus-next
+    dbus-python
+    iwlib
     mpd2
     psutil
-    pyxdg
+    pulsectl-asyncio
     pygobject3
+    python-dateutil
     pywayland
     pywlroots
+    pyxdg
+    xcffib
     xkbcommon
-    pulseaudio
   ];
 
   buildInputs = [
     libinput
+    libxkbcommon
     wayland
     wlroots
-    libxkbcommon
+    xcbutilwm
   ];
 
   doCheck = false; # Requires X server #TODO this can be worked out with the existing NixOS testing infrastructure.
diff --git a/nixpkgs/pkgs/development/python-modules/quandl/default.nix b/nixpkgs/pkgs/development/python-modules/quandl/default.nix
index 5be099d98697..85a8fdd12bcc 100644
--- a/nixpkgs/pkgs/development/python-modules/quandl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quandl/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, factory_boy
+, factory-boy
 , faker
 , fetchPypi
 , httpretty
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    factory_boy
+    factory-boy
     faker
     httpretty
     jsondate
diff --git a/nixpkgs/pkgs/development/python-modules/quantile-python/default.nix b/nixpkgs/pkgs/development/python-modules/quantile-python/default.nix
new file mode 100644
index 000000000000..98206ff8aaba
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/quantile-python/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "quantile-python";
+  version = "1.1";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-VYYp6IxJfvO5sQgTScGuamG1NZDjF3JCmP9UxnTbeWk=";
+  };
+
+  # package has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "quantile" ];
+
+  meta = with lib; {
+    description = "Python Implementation of Graham Cormode and S. Muthukrishnan's Effective Computation of Biased Quantiles over Data Streams in ICDE'05";
+    homepage = "https://github.com/matttproud/python_quantile_estimation";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/quantiphy-eval/default.nix b/nixpkgs/pkgs/development/python-modules/quantiphy-eval/default.nix
index 68eba2e94627..92e1f94c1adc 100644
--- a/nixpkgs/pkgs/development/python-modules/quantiphy-eval/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quantiphy-eval/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, flit-core
 , inform
 , pythonOlder
 , sly
@@ -9,7 +10,7 @@
 buildPythonPackage rec {
   pname = "quantiphy-eval";
   version = "0.5";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -20,6 +21,10 @@ buildPythonPackage rec {
     hash = "sha256-7VHcuINhe17lRNkHUnZkVOEtD6mVWk5gu0NbrLZwprg=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     inform
     sly
diff --git a/nixpkgs/pkgs/development/python-modules/quantiphy/default.nix b/nixpkgs/pkgs/development/python-modules/quantiphy/default.nix
index b05a0428f976..57ac30017ce4 100644
--- a/nixpkgs/pkgs/development/python-modules/quantiphy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quantiphy/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, flitBuildHook
+, flit-core
 , pytestCheckHook
 , pythonOlder
 , inform
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [
-    flitBuildHook
+    flit-core
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/quart-cors/default.nix b/nixpkgs/pkgs/development/python-modules/quart-cors/default.nix
index 8ffe47b4eda4..78f3f0311f88 100644
--- a/nixpkgs/pkgs/development/python-modules/quart-cors/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quart-cors/default.nix
@@ -12,18 +12,19 @@
 
 # tests
 , pytestCheckHook
+, pytest-asyncio
 }:
 
 buildPythonPackage rec {
   pname = "quart-cors";
-  version = "0.6.0";
+  version = "0.7.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pgjones";
     repo = "quart-cors";
     rev = "refs/tags/${version}";
-    hash = "sha256-SbnYrpeyEn47JgP9p3Us0zfkjC1sJ7jPPUIHYHAiSgc=";
+    hash = "sha256-qUzs0CTZHf3fGADBXPkd3CjZ6dnz1t3cTxflMErvz/k=";
   };
 
   nativeBuildInputs = [
@@ -47,6 +48,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-asyncio
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/quart/default.nix b/nixpkgs/pkgs/development/python-modules/quart/default.nix
index 932d972eef76..6cf51d6920ff 100644
--- a/nixpkgs/pkgs/development/python-modules/quart/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quart/default.nix
@@ -75,6 +75,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTestPaths = [
+    # remove after 0.18.4
+    "tests/test_signals.py"
+  ];
+
   meta = with lib; {
     description = "An async Python micro framework for building web applications";
     homepage = "https://github.com/pallets/quart/";
diff --git a/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix b/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix
index 331cc7c5e05b..e5db1cbad3ce 100644
--- a/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "radish-bdd";
-  version = "0.16.1";
+  version = "0.17.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "radish";
     rev = "refs/tags/v${version}";
-    hash = "sha256-fzxjDMmz5NMFRTQchlCOx2igqmhS6Zg0IU5HFO5a/0k=";
+    hash = "sha256-4cGUF4Qh5+mxHtKNnAjh37Q6hEFCQ9zmntya98UHx+0=";
   };
 
   propagatedBuildInputs = [
@@ -60,7 +60,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Behaviour-Driven-Development tool for python";
-    homepage = "http://radish-bdd.io";
+    homepage = "https://radish-bdd.github.io/";
+    changelog = "https://github.com/radish-bdd/radish/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ kalbasit ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/radon/default.nix b/nixpkgs/pkgs/development/python-modules/radon/default.nix
new file mode 100644
index 000000000000..23f1a9427b56
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/radon/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, fetchpatch
+# Python deps
+, mando
+, colorama
+, pytest-mock
+, tomli
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "radon";
+  version = "6.0.1";
+
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "rubik";
+    repo = "radon";
+    rev = "v${version}";
+    hash = "sha256-yY+j9kuX0ou/uDoVI/Qfqsmq0vNHv735k+vRl22LwwY=";
+  };
+
+  patches = [
+    # NOTE: Remove after next release
+    (fetchpatch {
+      url = "https://github.com/rubik/radon/commit/ce5d2daa0a9e0e843059d6f57a8124c64a87a6dc.patch";
+      hash = "sha256-WwcfR2ZEWeRiMKdMZAwtZRBcWOqoqpaVTmVo0k+Tn74=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-mock
+  ];
+
+  propagatedBuildInputs = [
+    mando
+    colorama
+  ];
+
+  passthru.optional-dependencies = {
+    toml = [
+      tomli
+    ];
+  };
+
+  pythonImportsCheck = [
+    "radon"
+  ];
+
+  meta = with lib; {
+    description = "Various code metrics for Python code";
+    homepage = "https://radon.readthedocs.org";
+    changelog = "https://github.com/rubik/radon/blob/v${version}/CHANGELOG";
+    license = licenses.mit;
+    maintainers = with maintainers; [ t4ccer ];
+    mainProgram = "radon";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix b/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix
index 07f2bdfb469b..f640012d9a5e 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.3.0";
+  version = "3.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "RapidFuzz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5JlEd7X0I/OmL260v2OMVI3h99TIpglv6Nt3EciEBEM=";
+    hash = "sha256-C+jQN0QXZzH0IKdC3O5uPNAEd+XSffi3nkwFSv2HqPY=";
   };
 
   nativeBuildInputs = [
@@ -55,9 +55,9 @@ buildPythonPackage rec {
     "-fno-lto"  # work around https://github.com/NixOS/nixpkgs/issues/19098
   ]);
 
-  propagatedBuildInputs = [
-    numpy
-  ];
+  passthru.optional-dependencies = {
+    full = [ numpy ];
+  };
 
   preCheck = ''
     export RAPIDFUZZ_IMPLEMENTATION=cpp
diff --git a/nixpkgs/pkgs/development/python-modules/rapidgzip/default.nix b/nixpkgs/pkgs/development/python-modules/rapidgzip/default.nix
new file mode 100644
index 000000000000..ace2bad62016
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/rapidgzip/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, nasm
+}:
+
+buildPythonPackage rec {
+  pname = "rapidgzip";
+  version = "0.10.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-gtxF9V7OQb34Z0cCuTh/Lbe1ttCbdaY0zpM3KHHGGuw=";
+  };
+
+  nativeBuildInputs = [ nasm ];
+
+  # has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "rapidgzip" ];
+
+  meta = with lib; {
+    description = "Python library for parallel decompression and seeking within compressed gzip files";
+    homepage = "https://github.com/mxmlnkn/rapidgzip";
+    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/ratarmount/default.nix b/nixpkgs/pkgs/development/python-modules/ratarmount/default.nix
new file mode 100644
index 000000000000..1555dfca2197
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ratarmount/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, fusepy
+, ratarmountcore
+}:
+
+buildPythonPackage rec {
+  pname = "ratarmount";
+  version = "0.14.0";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-P+p0h+KuOsunPsXbRwxzAhr1XcEqMjQxHeHmA29+pDQ=";
+  };
+
+  propagatedBuildInputs = [ ratarmountcore fusepy ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    python tests/tests.py
+
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Mounts archives as read-only file systems by way of indexing";
+    homepage = "https://github.com/mxmlnkn/ratarmount";
+    license = licenses.mit;
+    maintainers = with lib.maintainers; [ mxmlnkn ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ratarmountcore/default.nix b/nixpkgs/pkgs/development/python-modules/ratarmountcore/default.nix
new file mode 100644
index 000000000000..49ffdb17cfa5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ratarmountcore/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchgit
+, pythonOlder
+, pytestCheckHook
+, indexed-bzip2
+, indexed-gzip
+, indexed-zstd
+, python-xz
+, rapidgzip
+, rarfile
+, zstandard     # Python bindings
+, zstd          # System tool
+}:
+
+buildPythonPackage rec {
+  pname = "ratarmountcore";
+  version = "0.6.0";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchgit {
+    url = "https://github.com/mxmlnkn/ratarmount";
+    # The revision is hardcoded for now to fix problems with the tests, which are not worthy of a new release
+    # tag because releases do not officially contain tests. On the next release, use the commented revision,
+    # which points to a release tag, instead.
+    #rev = "core-v${version}";
+    rev = "ea43572dfbac4770a27ef2169f72ff73ee4a4ae9";
+    hash = "sha256-sPApM5OW+UbujFXHSL4ptMaegajz7FNtXz/KftTlw+U=";
+    fetchSubmodules = true;
+  };
+
+  sourceRoot = "${src.name}/core";
+
+  propagatedBuildInputs = [ indexed-gzip indexed-bzip2 indexed-zstd python-xz rapidgzip rarfile ];
+
+  pythonImportsCheck = [ "ratarmountcore" ];
+
+  nativeCheckInputs = [ pytestCheckHook zstandard zstd ];
+
+  meta = with lib; {
+    description = "Library for accessing archives by way of indexing";
+    homepage = "https://github.com/mxmlnkn/ratarmount/tree/master/core";
+    license = licenses.mit;
+    maintainers = with lib.maintainers; [ mxmlnkn ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ray/default.nix b/nixpkgs/pkgs/development/python-modules/ray/default.nix
index 702be7d2f1b0..3893ad842fdb 100644
--- a/nixpkgs/pkgs/development/python-modules/ray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ray/default.nix
@@ -4,7 +4,6 @@
 , aiosignal
 , attrs
 , autoPatchelfHook
-, buildBazelPackage
 , buildPythonPackage
 , fetchPypi
 , click
@@ -18,7 +17,6 @@
 , frozenlist
 , fsspec
 , gpustat
-, grpc
 , grpcio
 , gym
 , jsonschema
@@ -32,7 +30,6 @@
 , pandas
 , py-spy
 , prometheus-client
-, protobuf3_20
 , psutil
 , pyarrow
 , pydantic
@@ -41,14 +38,12 @@
 , pythonOlder
 , pythonRelaxDepsHook
 , pyyaml
-, redis
 , requests
 , scikit-image
 , scipy
 , setproctitle
 , smart-open
 , starlette
-, stdenv
 , tabulate
 , tensorboardx
 , uvicorn
@@ -144,7 +139,6 @@ buildPythonPackage rec {
     packaging
     py-spy
     prometheus-client
-    protobuf3_20
     psutil
     pydantic
     pyyaml
diff --git a/nixpkgs/pkgs/development/python-modules/rcssmin/default.nix b/nixpkgs/pkgs/development/python-modules/rcssmin/default.nix
index 34070cc2d3bd..15fc1c3bfee1 100644
--- a/nixpkgs/pkgs/development/python-modules/rcssmin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rcssmin/default.nix
@@ -1,20 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
 buildPythonPackage rec {
   pname = "rcssmin";
-  version = "1.1.1";
+  version = "1.1.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-T5QAtDZtKfX1RG9Y54VJr6gzjmpZdAxzEV6fasQT3GQ=";
+    hash = "sha256-vHXrdb1tNFwMUf2A/Eh93W+f1AndeGGz/pje6FAY4ek=";
   };
 
   # The package does not ship tests, and the setup machinary confuses
   # tests auto-discovery
   doCheck = false;
 
+  pythonImportsCheck = [
+    "rcssmin"
+  ];
+
   meta = with lib; {
+    description = "CSS minifier written in pure python";
     homepage = "http://opensource.perlig.de/rcssmin/";
     license = licenses.asl20;
-    description = "CSS minifier written in pure python";
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/rdflib/default.nix b/nixpkgs/pkgs/development/python-modules/rdflib/default.nix
index dc5ddf9cdfdb..471439b28e5c 100644
--- a/nixpkgs/pkgs/development/python-modules/rdflib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rdflib/default.nix
@@ -4,6 +4,9 @@
 , fetchFromGitHub
 , pythonOlder
 
+# builds
+, poetry-core
+
 # propagates
 , isodate
 , pyparsing
@@ -25,18 +28,22 @@
 
 buildPythonPackage rec {
   pname = "rdflib";
-  version = "6.2.0";
-  format = "setuptools";
+  version = "7.0.0";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "RDFLib";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-GkqfSyApOFKPIiIYXhgaRZuMawk7PRYmxGDhnRI+Rz0=";
+    hash = "sha256-VCjvgXMun1Hs+gPeqjzLXbIX1NBQ5aMLz0aWlwsm0iY=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     isodate
     html5lib
@@ -76,6 +83,7 @@ buildPythonPackage rec {
     "testGuessFormatForParse"
     "test_infix_owl_example1"
     "test_context"
+    "test_example"
     "test_guess_format_for_parse"
     "rdflib.extras.infixowl"
   ] ++ lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/python-modules/rdkit/default.nix b/nixpkgs/pkgs/development/python-modules/rdkit/default.nix
index 783051540cc9..56cca6c1af85 100644
--- a/nixpkgs/pkgs/development/python-modules/rdkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rdkit/default.nix
@@ -21,16 +21,16 @@
 let
   external = {
     avalon = fetchFromGitHub {
-      owner = "rohdebe1";
+      owner = "rdkit";
       repo = "ava-formake";
-      rev = "AvalonToolkit_2.0.4a";
-      hash = "sha256-ZyhrDBBv9XuXe1NY/Djiad86tGIJwCSTrxEMICHgSqk=";
+      rev = "AvalonToolkit_2.0.5-pre.3";
+      hash = "sha256-2MuFZgRIHXnkV7Nc1da4fa7wDx57VHUtwLthrmjk+5o=";
     };
     yaehmop = fetchFromGitHub {
       owner = "greglandrum";
       repo = "yaehmop";
-      rev = "v2022.09.1";
-      hash = "sha256-QMnc5RyHlY3giw9QmrkGntiA+Srs7OhCIKs9GGo5DfQ=";
+      rev = "v2023.03.1";
+      hash = "sha256-K9//cDN69U4sLETfIZq9NUaBE3RXOReH53qfiCzutqM=";
     };
     freesasa = fetchFromGitHub {
       owner = "mittinatten";
@@ -42,7 +42,7 @@ let
 in
 buildPythonPackage rec {
   pname = "rdkit";
-  version = "2023.03.3";
+  version = "2023.09.1";
   format = "other";
 
   src =
@@ -53,7 +53,7 @@ buildPythonPackage rec {
       owner = pname;
       repo = pname;
       rev = "Release_${versionTag}";
-      hash = "sha256-5M7nDUWORbepDGaf2G6Cd79Hu0au3DNRc9KuONoCWK0=";
+      hash = "sha256-qaYD/46oCTnso1FbD08zr2JuatKmSSqNBhOYlfeIiAA=";
     };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix b/nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
index 0451d63cc3d1..fc2fd653083d 100644
--- a/nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "readthedocs-sphinx-ext";
-  version = "2.2.0";
+  version = "2.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5e/82CWBYRGjd6t6iXuBkhUTj45eisyG+ZIYMo+VckA=";
+    hash = "sha256-kiF77xTZE3e88nvffaNj5XSzseQYC2Xu9ufPpV8P0Lg=";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/recaptcha_client/default.nix b/nixpkgs/pkgs/development/python-modules/recaptcha_client/default.nix
deleted file mode 100644
index dce24cfa7a8f..000000000000
--- a/nixpkgs/pkgs/development/python-modules/recaptcha_client/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pythonAtLeast
-}:
-
-buildPythonPackage rec {
-  pname = "recaptcha-client";
-  version = "1.0.6";
-  disabled = pythonAtLeast "3.5";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "28c6853c1d13d365b7dc71a6b05e5ffb56471f70a850de318af50d3d7c0dea2f";
-  };
-
-  meta = with lib; {
-    description = "A CAPTCHA for Python using the reCAPTCHA service";
-    homepage = "http://recaptcha.net/";
-    license = licenses.mit;
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/recipe-scrapers/default.nix b/nixpkgs/pkgs/development/python-modules/recipe-scrapers/default.nix
index f2a9f17ab670..c5b7fcb88b76 100644
--- a/nixpkgs/pkgs/development/python-modules/recipe-scrapers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/recipe-scrapers/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "recipe-scrapers";
-  version = "14.43.0";
+  version = "14.46.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "hhursev";
     repo = "recipe-scrapers";
     rev = "refs/tags/${version}";
-    hash = "sha256-ik/ADmu6yGY7xWXCAn0kcWJphANIIwM8QKWjm9xoVYQ=";
+    hash = "sha256-XCcunwqmcvPC5AVxR9mit06BRDTYfu/CeTXg3IH7Dy0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/recordlinkage/default.nix b/nixpkgs/pkgs/development/python-modules/recordlinkage/default.nix
index 4d8ab8e8a8c9..7b92cfacebf9 100644
--- a/nixpkgs/pkgs/development/python-modules/recordlinkage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/recordlinkage/default.nix
@@ -15,6 +15,7 @@
 , scipy
 , setuptools
 , setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -32,6 +33,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     setuptools
     setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/redis-om/default.nix b/nixpkgs/pkgs/development/python-modules/redis-om/default.nix
new file mode 100644
index 000000000000..af0170cbf322
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/redis-om/default.nix
@@ -0,0 +1,85 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, unasync
+, poetry-core
+, python
+, click
+, hiredis
+, more-itertools
+, pydantic
+, python-ulid
+, redis
+, types-redis
+, typing-extensions
+, pkgs
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "redis-om";
+  version = "0.2.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "redis";
+    repo = "redis-om-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-jQS0VTYZeAj3+OVFy+JP4mUFBPo+a5D/kdJKagFraaA=";
+  };
+
+  nativeBuildInputs = [
+    unasync
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    click
+    hiredis
+    more-itertools
+    pydantic
+    python-ulid
+    redis
+    types-redis
+    typing-extensions
+  ];
+
+  preBuild = ''
+    ${python.pythonForBuild.interpreter} make_sync.py
+  '';
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  preCheck = ''
+    ${pkgs.redis}/bin/redis-server &
+    REDIS_PID=$!
+  '';
+
+  postCheck = ''
+    kill $REDIS_PID
+  '';
+
+  # probably require redisearch
+  # https://github.com/redis/redis-om-python/issues/532
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "aredis_om"
+    "redis_om"
+  ];
+
+  meta = with lib; {
+    description = "Object mapping, and more, for Redis and Python";
+    homepage = "https://github.com/redis/redis-om-python";
+    changelog = "https://github.com/redis/redis-om-python/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/redis/default.nix b/nixpkgs/pkgs/development/python-modules/redis/default.nix
index d99b25374a13..2616e1da9f4d 100644
--- a/nixpkgs/pkgs/development/python-modules/redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/redis/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "redis";
-  version = "4.5.4";
+  version = "5.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-c+w12k2iZ9aEfkf2hzD91fYuLKaePvWIXGp4qTdMOJM=";
+    hash = "sha256-XOpsDTNcmnMypGDthynOq7TQxInHKFsKhtu/igF70SA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix b/nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix
index 1c739ebb0780..7bf21823e7bb 100644
--- a/nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/redshift-connector/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "redshift-connector";
-  version = "2.0.911";
+  version = "2.0.914";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "amazon-redshift-python-driver";
     rev = "refs/tags/v${version}";
-    hash = "sha256-D1LpFGYEpGmkYCAJbYJaQStDnol90mH8X4S6iXg6Nfs=";
+    hash = "sha256-fGOo9FgVMI6ayyB3EMN6RGThwWciShcBZzWTZWtOt8E=";
   };
 
   # disable test coverage
diff --git a/nixpkgs/pkgs/development/python-modules/reedsolo/default.nix b/nixpkgs/pkgs/development/python-modules/reedsolo/default.nix
index 65006ea823ab..a2fb336f70b4 100644
--- a/nixpkgs/pkgs/development/python-modules/reedsolo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reedsolo/default.nix
@@ -1,35 +1,40 @@
 { lib
 , buildPythonPackage
-, fetchpatch
 , fetchFromGitHub
+
+# build-system
 , cython
-, nose
+, setuptools
+
+# tests
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "reedsolo";
-  version = "1.5.4";
+  version = "1.7.0";
+  format = "pyproject";
 
   # Pypi does not have the tests
   src = fetchFromGitHub {
     owner = "tomerfiliba";
     repo = "reedsolomon";
-    rev = "v${version}";
-    hash = "sha256-GUMdL5HclXxqMYasq9kUE7fCqOkjr1D20wjd/E+xPBk=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-nzdD1oGXHSeGDD/3PpQQEZYGAwn9ahD2KNYGqpgADh0=";
   };
 
-  patches = [
-    (fetchpatch {
-      # python3.10 compat; https://github.com/tomerfiliba/reedsolomon/pull/38
-      url = "https://github.com/tomerfiliba/reedsolomon/commit/63e5bd9fc3ca503990c212eb2c77c10589e6d6c3.patch";
-      hash = "sha256-47g+jUsJEAyqGnlzRA1oSyc2XFPUOfH0EW+vcOJzsxI=";
-    })
+  nativeBuildInputs = [
+    cython
+    setuptools
   ];
 
-  nativeBuildInputs = [ cython ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  nativeCheckInputs = [ nose ];
-  checkPhase = "nosetests";
+  disabledTestPaths = [
+    "tests/test_creedsolo.py" # TODO: package creedsolo
+  ];
 
   meta = with lib; {
     description = "Pure-python universal errors-and-erasures Reed-Solomon Codec";
diff --git a/nixpkgs/pkgs/development/python-modules/referencing/default.nix b/nixpkgs/pkgs/development/python-modules/referencing/default.nix
index 37e418f3ea44..dc09aa3594a4 100644
--- a/nixpkgs/pkgs/development/python-modules/referencing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/referencing/default.nix
@@ -15,7 +15,7 @@
 let
   self = buildPythonPackage rec {
     pname = "referencing";
-    version = "0.30.0";
+    version = "0.30.2";
     format = "pyproject";
 
     disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ let
       repo = "referencing";
       rev = "refs/tags/v${version}";
       fetchSubmodules = true;
-      hash = "sha256-nJSnZM3gg2+yfFAnOJzzXsmIEQdNf5ypt5R0O60NphA=";
+      hash = "sha256-C2gKjoaMcUWz/QOsqpv4TkozQyI+zEIQf3GMf5w40aw=";
     };
 
     SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/releases/default.nix b/nixpkgs/pkgs/development/python-modules/releases/default.nix
index 9c1fc34cae46..05c6d5ae75d0 100644
--- a/nixpkgs/pkgs/development/python-modules/releases/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/releases/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "releases";
-  version = "1.6.3";
+  version = "2.1.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "bitprophet";
     repo = pname;
     rev = version;
-    hash = "sha256-XX2e6bjBNMun31h0sNJ9ieZE01U+PhA5JYYNOuMgD20=";
+    hash = "sha256-IgEKAUk97R3ZvqvexD/ptT8i0uf48K+DKkk4q3pn3G8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/remarshal/default.nix b/nixpkgs/pkgs/development/python-modules/remarshal/default.nix
index 5d2e002538c2..32916774ee36 100644
--- a/nixpkgs/pkgs/development/python-modules/remarshal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/remarshal/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "remarshal";
-  version = "0.17.0";
+  version = "0.17.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "dbohdan";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-FytVq9p7Yo0lS5rHj0crPIpHFjxolW8esSPkj2wLfaI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-2WxMh5P/8NvElymnMU3JzQU0P4DMXFF6j15OxLaS+VA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix b/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
index dcf663f0f74d..93492852d02d 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.10";
+  version = "0.7.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "reolink_aio";
     rev = "refs/tags/${version}";
-    hash = "sha256-Yq5lhcBT+r2S89vQmbqAr/3LO0HUDpZ+JaEtSqIgpG4=";
+    hash = "sha256-SPmLzTJQNDaQ6AofIET7eZkxJxxfJ00/wNpInXo0u2I=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/reolink/default.nix b/nixpkgs/pkgs/development/python-modules/reolink/default.nix
index 45105965cb6c..06143c2922f4 100644
--- a/nixpkgs/pkgs/development/python-modules/reolink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reolink/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "reolink";
-  version = "0.64";
+  version = "0053";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fwestenberg";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3r5BwVlNolji2HIGjqv8gkizx4wWxrKYkiNmSJedKmI=";
+    hash = "sha256-DZcTfmzO9rBhhRN2RkgoPwUPE+LPPeZgc8kmhYU9V2I=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/reportlab/default.nix b/nixpkgs/pkgs/development/python-modules/reportlab/default.nix
index 608debea5693..664d87040c45 100644
--- a/nixpkgs/pkgs/development/python-modules/reportlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reportlab/default.nix
@@ -3,6 +3,7 @@
 , fetchPypi
 , freetype
 , pillow
+, setuptools
 , glibcLocales
 , python
 , isPyPy
@@ -12,26 +13,18 @@ let
   ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
 in buildPythonPackage rec {
   pname = "reportlab";
-  version = "3.6.13";
+  version = "4.0.4";
+  format = "pyproject";
+
+  # See https://bitbucket.org/pypy/compatibility/wiki/reportlab%20toolkit
+  disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-b3XTP3o3IM9HNxq2PO0PDr0a622xk4aukviXegm+lhE=";
+    hash = "sha256-f3CztWr/XxHLQTbFGg9aVv5uTI+7rHuQMHbbmajvMcE=";
   };
 
-  patches = [
-    ./darwin-m1-compat.patch
-  ];
-
-  nativeCheckInputs = [ glibcLocales ];
-
-  buildInputs = [ ft ];
-  propagatedBuildInputs = [ pillow ];
-
   postPatch = ''
-    substituteInPlace setup.py \
-      --replace "mif = findFile(d,'ft2build.h')" "mif = findFile('${lib.getDev ft}','ft2build.h')"
-
     # Remove all the test files that require access to the internet to pass.
     rm tests/test_lib_utils.py
     rm tests/test_platypus_general.py
@@ -42,16 +35,34 @@ in buildPythonPackage rec {
     rm tests/test_graphics_charts.py
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  buildInputs = [
+    ft
+  ];
+
+  propagatedBuildInputs = [
+    pillow
+  ];
+
+  nativeCheckInputs = [
+    glibcLocales
+  ];
+
   checkPhase = ''
-    cd tests
+    runHook preCheck
+    pushd tests
     LC_ALL="en_US.UTF-8" ${python.interpreter} runAll.py
+    popd
+    runHook postCheck
   '';
 
-  # See https://bitbucket.org/pypy/compatibility/wiki/reportlab%20toolkit
-  disabled = isPyPy;
-
-  meta = {
+  meta = with lib; {
     description = "An Open Source Python library for generating PDFs and graphics";
     homepage = "http://www.reportlab.com/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/reproject/default.nix b/nixpkgs/pkgs/development/python-modules/reproject/default.nix
index 00060c08bc2e..81ab320c77f9 100644
--- a/nixpkgs/pkgs/development/python-modules/reproject/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reproject/default.nix
@@ -3,8 +3,11 @@
 , astropy-extension-helpers
 , astropy-healpix
 , buildPythonPackage
+, cloudpickle
 , cython
+, dask
 , fetchPypi
+, fsspec
 , numpy
 , oldest-supported-numpy
 , pytest-astropy
@@ -12,18 +15,19 @@
 , pythonOlder
 , scipy
 , setuptools-scm
+, zarr
 }:
 
 buildPythonPackage rec {
   pname = "reproject";
-  version = "0.10.0";
+  version = "0.12.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OKxPPKcVVrEVUGR8Zaphn7ur9HOuqQKa9gnMo2RQQME=";
+    hash = "sha256-jb4efKT5jMY0ECV+ab5rpUHEk+tT4T2MioCRxs92TbI=";
   };
 
   postPatch = ''
@@ -42,9 +46,13 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     astropy
     astropy-healpix
+    cloudpickle
+    dask
+    fsspec
     numpy
     scipy
-  ];
+    zarr
+  ] ++ dask.optional-dependencies.array;
 
   nativeCheckInputs = [
     pytest-astropy
@@ -65,6 +73,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Reproject astronomical images";
+    downloadPage = "https://github.com/astropy/reproject";
     homepage = "https://reproject.readthedocs.io";
     license = licenses.bsd3;
     maintainers = with maintainers; [ smaret ];
diff --git a/nixpkgs/pkgs/development/python-modules/reptor/default.nix b/nixpkgs/pkgs/development/python-modules/reptor/default.nix
index 6375f811af0b..8ff2d984a4b7 100644
--- a/nixpkgs/pkgs/development/python-modules/reptor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reptor/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , certifi
 , charset-normalizer
+, cvss
 , deepl
 , django
 , fetchFromGitHub
@@ -22,13 +23,14 @@
 , sqlparse
 , termcolor
 , toml
+, tomli-w
 , urllib3
 , xmltodict
 }:
 
 buildPythonPackage rec {
   pname = "reptor";
-  version = "0.4";
+  version = "0.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -37,7 +39,7 @@ buildPythonPackage rec {
     owner = "Syslifters";
     repo = "reptor";
     rev = "refs/tags/${version}";
-    hash = "sha256-3FRMdiSKWlEUmggtSDea9w386uwAn/VUzXiD1xRNuxQ=";
+    hash = "sha256-TN4ti860bMegxsCMhSxVQwiTLCB9nl+CJ+xDzJQcRuE=";
   };
 
   nativeBuildInputs = [
@@ -48,6 +50,7 @@ buildPythonPackage rec {
     asgiref
     certifi
     charset-normalizer
+    cvss
     django
     idna
     markdown-it-py
@@ -59,6 +62,7 @@ buildPythonPackage rec {
     sqlparse
     termcolor
     toml
+    tomli-w
     urllib3
     xmltodict
   ];
@@ -66,7 +70,7 @@ buildPythonPackage rec {
   passthru.optional-dependencies = {
     ghostwriter = [
       gql
-    ];
+    ] ++ gql.optional-dependencies.aiohttp;
     translate = [
       deepl
     ];
@@ -78,6 +82,7 @@ buildPythonPackage rec {
 
   preCheck = ''
     export HOME=$(mktemp -d)
+    export PATH="$PATH:$out/bin";
   '';
 
   pythonImportsCheck = [
@@ -89,6 +94,13 @@ buildPythonPackage rec {
     "reptor/plugins/importers/GhostWriter/tests/test_ghostwriter.py"
   ];
 
+  disabledTests = [
+    # Tests need network access
+    "TestDummy"
+    "TestIntegration"
+
+  ];
+
   meta = with lib; {
     description = "Module to do automated pentest reporting with SysReptor";
     homepage = "https://github.com/Syslifters/reptor";
diff --git a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
index f85d2b2debe8..d04f25ae0e01 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
@@ -1,23 +1,28 @@
 { lib
-, appdirs
 , attrs
 , buildPythonPackage
 , bson
 , boto3
 , botocore
 , cattrs
-, exceptiongroup
 , fetchFromGitHub
 , itsdangerous
+, platformdirs
 , poetry-core
+, psutil
 , pymongo
 , pytestCheckHook
+, pytest-rerunfailures
+, pytest-xdist
 , pythonOlder
 , pyyaml
 , redis
 , requests
 , requests-mock
+, responses
 , rich
+, tenacity
+, time-machine
 , timeout-decorator
 , ujson
 , urllib3
@@ -26,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "requests-cache";
-  version = "0.9.8";
+  version = "1.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -35,7 +40,7 @@ buildPythonPackage rec {
     owner = "requests-cache";
     repo = "requests-cache";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Xbzbwz80xY8IDPDhZEUhmmiCFJZvSQMQ6EmE4EL7QGo=";
+    hash = "sha256-kJqy7aK67JFtmsrwMtze/wTM9qch9YYj2eUzGJRJreQ=";
   };
 
   nativeBuildInputs = [
@@ -43,10 +48,9 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    appdirs
     attrs
     cattrs
-    exceptiongroup
+    platformdirs
     requests
     urllib3
     url-normalize
@@ -78,9 +82,15 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
+    psutil
     pytestCheckHook
+    pytest-rerunfailures
+    pytest-xdist
     requests-mock
+    responses
     rich
+    tenacity
+    time-machine
     timeout-decorator
   ]
   ++ passthru.optional-dependencies.json
@@ -98,6 +108,9 @@ buildPythonPackage rec {
   disabledTests = [
     # Tests are flaky in the sandbox
     "test_remove_expired_responses"
+    # Tests that broke with urllib 2.0.5
+    "test_request_only_if_cached__stale_if_error__expired"
+    "test_stale_if_error__error_code"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix b/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix
index a4f59da74fc9..4c939064d759 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-pkcs12/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "requests-pkcs12";
-  version = "1.21";
+  version = "1.22";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "m-click";
     repo = "requests_pkcs12";
     rev = version;
-    hash = "sha256-0avykVnMzClFqjDdC4BW9jnZzupinG5JUwq8TuCWkgo=";
+    hash = "sha256-YMFeWbPTwxP/+lYojXEbJf87FNHL6QrzOdOKF5JERSE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/requests-ratelimiter/default.nix b/nixpkgs/pkgs/development/python-modules/requests-ratelimiter/default.nix
new file mode 100644
index 000000000000..5cc57d86a57f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/requests-ratelimiter/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pyrate-limiter
+, requests
+, pytestCheckHook
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "requests-ratelimiter";
+  version = "0.4.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "JWCook";
+    repo = "requests-ratelimiter";
+    rev = "v${version}";
+    hash = "sha256-w4cBQRpk9UTuGA0lPDsqpQ3UEIQdYe38NYXz+V4+Lvc=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    pyrate-limiter
+    requests
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    requests-mock
+  ];
+
+  pythonImportsCheck = [ "requests_ratelimiter" ];
+
+  meta = with lib; {
+    description = "Easy rate-limiting for python requests";
+    homepage = "https://github.com/JWCook/requests-ratelimiter";
+    changelog = "https://github.com/JWCook/requests-ratelimiter/blob/${src.rev}/HISTORY.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix b/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix
index d7b6f01d16c2..0d4bf487d7bf 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix
@@ -29,6 +29,16 @@ buildPythonPackage rec {
     trustme
   ];
 
+  disabledTests = [
+    # incompatible with urllib3 2.0
+    "test_dump_response"
+    "test_dump_all"
+    "test_prepared_request_override_base"
+    "test_prepared_request_with_base"
+    "test_request_override_base"
+    "test_request_with_base"
+  ];
+
   pythonImportsCheck = [
     "requests_toolbelt"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/rich-click/default.nix b/nixpkgs/pkgs/development/python-modules/rich-click/default.nix
index 4c4de7f75d8b..bd6dfe20f082 100644
--- a/nixpkgs/pkgs/development/python-modules/rich-click/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rich-click/default.nix
@@ -5,11 +5,12 @@
 , pythonOlder
 , rich
 , typer
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "rich-click";
-  version = "1.6.1";
+  version = "1.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,12 +19,13 @@ buildPythonPackage rec {
     owner = "ewels";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Be6okg3zmbdbdlB4/uwioUxn6CZUay/istiIoiFrsJk=";
+    hash = "sha256-Fmdxs7yeaHe8++LSQGuYK3Qwc0CdPvV9UCSXa09Djt4=";
   };
 
   propagatedBuildInputs = [
     click
     rich
+    typing-extensions
   ];
 
   # Module has no test
diff --git a/nixpkgs/pkgs/development/python-modules/rich/default.nix b/nixpkgs/pkgs/development/python-modules/rich/default.nix
index 24a25e2756a5..86c3ac1ffeeb 100644
--- a/nixpkgs/pkgs/development/python-modules/rich/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rich/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "rich";
-  version = "13.3.5";
+  version = "13.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "Textualize";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-PnyO5u0gxfYKT6xr0k3H0lbLl9wKPl6oxR1mM9A0Hys=";
+    hash = "sha256-ycDmFJa68OOrNqIy/hGKxbjoaIbiniiO4UAPNSyZvDk=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,20 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # pygments 2.16 compat
+    # https://github.com/Textualize/rich/issues/3088
+    "test_card_render"
+    "test_markdown_render"
+    "test_markdown_render"
+    "test_python_render"
+    "test_python_render_simple"
+    "test_python_render_simple_passing_lexer_instance"
+    "test_python_render_indent_guides"
+    "test_option_no_wrap"
+    "test_syntax_highlight_ranges"
+  ];
+
   pythonImportsCheck = [
     "rich"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
index 321615b4b85e..bd37f1c530b7 100644
--- a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , oauthlib
+, poetry-core
 , pytestCheckHook
 , pythonOlder
 , pytz
@@ -12,17 +13,21 @@
 
 buildPythonPackage rec {
   pname = "ring-doorbell";
-  version = "0.7.3";
-  format = "setuptools";
+  version = "0.7.4";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "ring_doorbell";
     inherit version;
-    hash = "sha256-HYRuQZpdtBkVfFBdqQupAjzQpLIBvKGm42cCumc03GM=";
+    hash = "sha256-hto3MwlC6ADjKkcB/4l/uFyw+0CgvLZM0sp3FF62XUA=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     oauthlib
     pytz
diff --git a/nixpkgs/pkgs/development/python-modules/riscv-config/default.nix b/nixpkgs/pkgs/development/python-modules/riscv-config/default.nix
index 7ded790ec53e..397259d30fe3 100644
--- a/nixpkgs/pkgs/development/python-modules/riscv-config/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/riscv-config/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "riscv-config";
-  version = "3.13.1";
+  version = "3.13.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "riscv-software-src";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-SnUt6bsTEC7abdQr0nWyNOAJbW64B1K3yy1McfkdxAc=";
+    hash = "sha256-tMV5mRqOLURkr8HQN1yvq5Cf3yz2NRBY6uaaxNKCy2c=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rjsmin/default.nix b/nixpkgs/pkgs/development/python-modules/rjsmin/default.nix
index d3f09388affa..f2a7a7874e6f 100644
--- a/nixpkgs/pkgs/development/python-modules/rjsmin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rjsmin/default.nix
@@ -1,20 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
 buildPythonPackage rec {
   pname = "rjsmin";
-  version = "1.2.1";
+  version = "1.2.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-H5gr6OARQ4d3qUMHJ5tAE0o5NfwPB5MS7imXJbivVBE=";
+    hash = "sha256-jBvNghFD/s8jJCAStV4TYQhAqDnNRns1jxY1kBDWLa4=";
   };
 
   # The package does not ship tests, and the setup machinary confuses
   # tests auto-discovery
   doCheck = false;
 
+  pythonImportsCheck = [
+    "rjsmin"
+  ];
+
   meta = with lib; {
+    description = "Module to minify Javascript";
     homepage = "http://opensource.perlig.de/rjsmin/";
     license = licenses.asl20;
-    description = "Javascript minifier written in python";
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/rkm-codes/default.nix b/nixpkgs/pkgs/development/python-modules/rkm-codes/default.nix
index 558dcdc076a6..0a8869052d60 100644
--- a/nixpkgs/pkgs/development/python-modules/rkm-codes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rkm-codes/default.nix
@@ -1,33 +1,33 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, flitBuildHook
+, flit-core
 , setuptools
 }:
 
 buildPythonPackage rec {
   pname = "rkm-codes";
-  version = "0.5";
+  version = "0.6";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "KenKundert";
     repo = "rkm_codes";
-    rev = "v${version}";
-    hash = "sha256-r4F72iHxH7BoPtgYm1RD6BeSZszKRrpeBQccmT4wzuw=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-CkLLZuWcNL8sqAupc7lHXu0DXUXrX3qwd1g/ekyHdw4=";
   };
 
-  format = "pyproject";
   nativeBuildInputs = [
-    flitBuildHook
+    flit-core
   ];
+
   propagatedBuildInputs = [
     setuptools
   ];
 
   # this has a circular dependency on quantiphy
   preBuild = ''
-    sed -i '/quantiphy/d' ./setup.py
-    sed -i '/pytest-runner/d' ./setup.py
+    sed -i '/quantiphy/d' pyproject.toml
   '';
 
   # this import check will fail as quantiphy is imported by this package
diff --git a/nixpkgs/pkgs/development/python-modules/rlax/default.nix b/nixpkgs/pkgs/development/python-modules/rlax/default.nix
index bb7044a89d44..6793cf747b5f 100644
--- a/nixpkgs/pkgs/development/python-modules/rlax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rlax/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "rlax";
-  version = "0.1.5";
+  version = "0.1.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GRqiGacyHZpVKUqfAteMjRV4EtdHkSgfFRj/H76bBVo=";
+    hash = "sha256-C3nFOv/zxvAoz6WZ0RAZffzEbxIx/XrGabO4QPxrik8=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rnginline/default.nix b/nixpkgs/pkgs/development/python-modules/rnginline/default.nix
index 10beaf00bd40..d006fc950d80 100644
--- a/nixpkgs/pkgs/development/python-modules/rnginline/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rnginline/default.nix
@@ -1,37 +1,42 @@
 { lib
 , fetchPypi
 , buildPythonPackage
+, poetry-core
 , lxml
-, docopt
-, six
+, docopt-ng
+, typing-extensions
+, importlib-metadata
+, importlib-resources
 , pytestCheckHook
 , mock
-, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "rnginline";
-  version = "0.0.2";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-j4W4zwHA4yA6iAFVa/LDKp00eeCX3PbmWkjd2LSUGfk=";
+    hash = "sha256-JWqzs+OqOynIAWYVgGrZiuiCqObAgGe6rBt0DcP3U6E=";
   };
 
-  patches = [
-    # Fix failing tests. Should be included in releases after 0.0.2
-    # https://github.com/h4l/rnginline/issues/3
-    (fetchpatch {
-      url = "https://github.com/h4l/rnginline/commit/b1d1c8cda2a17d46627309950f2442021749c07e.patch";
-      hash = "sha256-XbisEwun2wPOp7eqW2YDVdayJ4sjAMG/ezFwgoCKe9o=";
-      name = "fix_tests_failing_collect.patch";
-    })
+  format = "pyproject";
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'importlib-metadata = "^6.6.0"' 'importlib-metadata = "^6.0.0"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
   ];
 
   propagatedBuildInputs = [
-    docopt
+    docopt-ng
     lxml
-    six
+    typing-extensions
+    importlib-metadata
+    importlib-resources
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rns/default.nix b/nixpkgs/pkgs/development/python-modules/rns/default.nix
index c180e5349b04..031c44ebb2e3 100644
--- a/nixpkgs/pkgs/development/python-modules/rns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rns/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "rns";
-  version = "0.5.9";
+  version = "0.6.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "Reticulum";
     rev = "refs/tags/${version}";
-    hash = "sha256-vzFN8b+F4CO/f/7CbUpX/Xj8wZMEpz2veUXsPHYzPxE=";
+    hash = "sha256-Z3vFQB6/z3dWtYikN02QviG+0aDRzt8kk6IOpl/VmF0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/robotframework-databaselibrary/default.nix b/nixpkgs/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
index 8dfbb32fe08d..eea465ee8fb9 100644
--- a/nixpkgs/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/robotframework-databaselibrary/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.2.4";
+  version = "1.3.1";
   pname = "robotframework-databaselibrary";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "627d872b3dda6a308a650ac9e676dadedf9c294e4ef70ad207cbb86b78eb8847";
+    sha256 = "sha256-C+shwpGbiA+YS8t9ApJEv6mYQVd3fVvY3qWzDF6vYqU=";
   };
 
   # unit tests are impure
diff --git a/nixpkgs/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix b/nixpkgs/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
index fe33d2e3f6f4..114c24aa1c98 100644
--- a/nixpkgs/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
@@ -13,7 +13,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "6.1.0";
+  version = "6.1.2";
   pname = "robotframework-seleniumlibrary";
 
   # no tests included in PyPI tarball
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "robotframework";
     repo = "SeleniumLibrary";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-iCZU+9xFUPoyucdQ/26dgxAm8jRf92P3JyA2KqV8bYI=";
+    sha256 = "sha256-QbAwPm1Y76KPIcHkopiyISULQSwUet021erFa/zi8Zw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/robotframework/default.nix b/nixpkgs/pkgs/development/python-modules/robotframework/default.nix
index d5d72ac95790..122e2ff326ff 100644
--- a/nixpkgs/pkgs/development/python-modules/robotframework/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/robotframework/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "robotframework";
-  version = "6.0.2";
+  version = "6.1.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-c7pPcDgqyqWQtiMbLQbQd0nAgx4TIFUFHrlBVDNdr8M=";
+    hash = "sha256-vtP0TVkCMrm0CRXlpZvVTBf7yd8+3p+nRArMWyQUn4k=";
   };
 
   nativeCheckInputs = [ jsonschema ];
diff --git a/nixpkgs/pkgs/development/python-modules/robotsuite/default.nix b/nixpkgs/pkgs/development/python-modules/robotsuite/default.nix
index 4fd25ec8067e..544beaf12072 100644
--- a/nixpkgs/pkgs/development/python-modules/robotsuite/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/robotsuite/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "robotsuite";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iugVKUPl6HTTO8K1EbSqAk1fl/fsEPoOcsOnnAgcEas=";
+    hash = "sha256-sPmOoR5K+gMfyPk2QMbiDNmWPRcqKrsz6ZPBAKR/3XY=";
   };
 
   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
new file mode 100644
index 000000000000..1c93184a36e6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/rotary-embedding-torch/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# build-system
+, setuptools
+, wheel
+
+# dependencies
+, einops
+, torch
+}:
+
+buildPythonPackage rec {
+  pname = "rotary-embedding-torch";
+  version = "0.3.2";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "lucidrains";
+    repo = "rotary-embedding-torch";
+    rev = version;
+    hash = "sha256-EozW8J1i/2ym1hwUMciaWVtp7kSWfG+mC5RkWLJdK3g=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    einops
+    torch
+  ];
+
+  pythonImportsCheck = [
+    "rotary_embedding_torch"
+  ];
+
+  doCheck = false; # no tests
+
+  meta = with lib; {
+    description = "Implementation of Rotary Embeddings, from the Roformer paper, in Pytorch";
+    homepage = "https://github.com/lucidrains/rotary-embedding-torch";
+    license = licenses.mit;
+    maintainers = teams.tts.members;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/rpds-py/default.nix b/nixpkgs/pkgs/development/python-modules/rpds-py/default.nix
index 8b6eb61e72f6..6cd3f5dea28e 100644
--- a/nixpkgs/pkgs/development/python-modules/rpds-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rpds-py/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "rpds-py";
-  version = "0.9.2";
+  version = "0.10.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,13 +20,13 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "rpds_py";
     inherit version;
-    hash = "sha256-jXDo8UkA8mV8JJ6k3vljvthqKbgfgfW3a1qSFWgN6UU=";
+    hash = "sha256-/MHrt1YaPiSmWI98be0V2ArsIsZqBwx1dVm1exf/0cs=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-2LiQ+beFj9+kykObPNtqcg+F+8wBDzvWcauwDLHa7Yo=";
+    hash = "sha256-iWy6BHVsKsZB0SVrh3CVhryaavk4gAQVvRdu9xBiDRg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rpy2/default.nix b/nixpkgs/pkgs/development/python-modules/rpy2/default.nix
index 58e38eb56294..837d77b4dce2 100644
--- a/nixpkgs/pkgs/development/python-modules/rpy2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rpy2/default.nix
@@ -24,13 +24,13 @@
 }:
 
 buildPythonPackage rec {
-    version = "3.5.12";
+    version = "3.5.14";
     pname = "rpy2";
 
     disabled = isPyPy;
     src = fetchPypi {
       inherit version pname;
-      hash = "sha256-7q33lP0qpUj4hWjGodJufDgQzUp2Soeyw7MdMZQtbUU=";
+      hash = "sha256-X0auMdNuEXvjZq1K4CSTwBWsa6WevjtM1yAAdTMvxIE=";
     };
 
     patches = [
@@ -81,6 +81,10 @@ buildPythonPackage rec {
 
     doCheck = !stdenv.isDarwin;
 
+    # newlines in environment variables are a problem due to
+    # https://github.com/rpy2/rpy2/issues/1066
+    preCheck = "unset postPatch";
+
     nativeCheckInputs = [
       pytestCheckHook
     ];
diff --git a/nixpkgs/pkgs/development/python-modules/rsskey/default.nix b/nixpkgs/pkgs/development/python-modules/rsskey/default.nix
index 095ce2b5c8cc..61cba286d1b1 100644
--- a/nixpkgs/pkgs/development/python-modules/rsskey/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rsskey/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, flit-core
 , feedparser
 , httpx
 , loca
@@ -11,13 +12,17 @@
 buildPythonPackage rec {
   pname = "rsskey";
   version = "0.2.0";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-QedLuwd0ES2LWhZ72Cjh3+ZZ7HbRyNsyLN9lNFbY5dQ=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     feedparser
     httpx
diff --git a/nixpkgs/pkgs/development/python-modules/rtmixer/default.nix b/nixpkgs/pkgs/development/python-modules/rtmixer/default.nix
index 1d9b8114df7b..361ba5e7fb56 100644
--- a/nixpkgs/pkgs/development/python-modules/rtmixer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rtmixer/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "rtmixer";
-  version = "0.1.1";
+  version = "0.1.4";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "spatialaudio";
     repo = "python-rtmixer";
-    rev = version;
-    sha256 = "1bvgzzxiypvvb3qacbcry6761x9sk3dnx7jga7pli63f69vakg4y";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-S8aVfxoG0o5GarDX5ZIDQ3GKOT32NtttQJ449FI9Fy0=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/rtree/default.nix b/nixpkgs/pkgs/development/python-modules/rtree/default.nix
index 7d4e14196314..0de516ec85f0 100644
--- a/nixpkgs/pkgs/development/python-modules/rtree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rtree/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "rtree";
-  version = "1.0.1";
+  version = "1.1.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "Rtree";
     inherit version;
-    hash = "sha256-IiEhaZwwOmQGXYSb9wOLHsq8N7Zcf6NAvts47w6AVCk=";
+    hash = "sha256-b47lBN3l0AWyWwiq9b4LNASvOtX+zm4d3N41kIp5ipU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/default.nix b/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
index 7975629b4e12..a7a362bcf4ab 100644
--- a/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchhg
+, cython
 }:
 
 buildPythonPackage rec {
@@ -19,6 +20,11 @@ buildPythonPackage rec {
 
   # circular dependency with ruamel-yaml
   # pythonImportsCheck = [ "_ruamel_yaml" ];
+  nativeBuildInputs = [ cython ];
+
+  # Fix incompatible function pointer conversion errors with clang 16.
+  patches = [ ./fix-incompatible-function-pointers.patch ];
+  preBuild = "cython _ruamel_yaml.pyx -3 --module-name _ruamel_yaml -I.";
 
   meta = with lib; {
     description = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order";
diff --git a/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/fix-incompatible-function-pointers.patch b/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/fix-incompatible-function-pointers.patch
new file mode 100644
index 000000000000..99debf22e5ae
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ruamel-yaml-clib/fix-incompatible-function-pointers.patch
@@ -0,0 +1,79 @@
+Based on https://sourceforge.net/p/ruamel-yaml-clib/code/merge-requests/4/ with additions
+for `input_handler` and `output_handler`.
+
+--- a/_ruamel_yaml.pxd
++++ b/_ruamel_yaml.pxd
+@@ -2,15 +2,15 @@
+ cdef extern from "_ruamel_yaml.h":
+ 
+     void malloc(int l)
+-    void memcpy(char *d, char *s, int l)
++    void memcpy(unsigned char *d, char *s, int l)
+     int strlen(char *s)
+     int PyString_CheckExact(object o)
+     int PyUnicode_CheckExact(object o)
+     char *PyString_AS_STRING(object o)
+     int PyString_GET_SIZE(object o)
+-    object PyString_FromStringAndSize(char *v, int l)
++    object PyString_FromStringAndSize(unsigned char *v, size_t l)
+     object PyUnicode_FromString(char *u)
+-    object PyUnicode_DecodeUTF8(char *u, int s, char *e)
++    object PyUnicode_DecodeUTF8(unsigned char *u, size_t s, char *e)
+     object PyUnicode_AsUTF8String(object o)
+     int PY_MAJOR_VERSION
+ 
+@@ -85,11 +85,11 @@
+         YAML_MAPPING_START_EVENT
+         YAML_MAPPING_END_EVENT
+ 
+-    ctypedef int yaml_read_handler_t(void *data, char *buffer,
+-            int size, int *size_read) except 0
+-
+-    ctypedef int yaml_write_handler_t(void *data, char *buffer,
+-            int size) except 0
++    ctypedef int yaml_read_handler_t(void *data, unsigned char *buffer,
++            size_t size, size_t *size_read) except 0
++
++    ctypedef int yaml_write_handler_t(void *data, unsigned char *buffer,
++            size_t size) except 0
+ 
+     ctypedef struct yaml_mark_t:
+         int index
+@@ -112,7 +112,7 @@
+         char *handle
+         char *suffix
+     ctypedef struct _yaml_token_scalar_data_t:
+-        char *value
++        unsigned char *value
+         int length
+         yaml_scalar_style_t style
+     ctypedef struct _yaml_token_version_directive_data_t:
+@@ -151,7 +151,7 @@
+     ctypedef struct _yaml_event_scalar_data_t:
+         char *anchor
+         char *tag
+-        char *value
++        unsigned char *value
+         int length
+         int plain_implicit
+         int quoted_implicit
+--- a/_ruamel_yaml.pyx
++++ b/_ruamel_yaml.pyx
+@@ -904,7 +904,7 @@
+                 raise error
+         return 1
+
+-cdef int input_handler(void *data, char *buffer, int size, int *read) except 0:
++cdef int input_handler(void *data, unsigned char *buffer, size_t size, size_t *read) except 0:
+     cdef CParser parser
+     parser = <CParser>data
+     if parser.stream_cache is None:
+@@ -1514,7 +1514,7 @@
+             self.ascend_resolver()
+         return 1
+
+-cdef int output_handler(void *data, char *buffer, int size) except 0:
++cdef int output_handler(void *data, unsigned char *buffer, size_t size) except 0:
+     cdef CEmitter emitter
+     emitter = <CEmitter>data
+     if emitter.dump_unicode == 0:
diff --git a/nixpkgs/pkgs/development/python-modules/s3fs/default.nix b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
index bc37fc055006..1594d9296f3d 100644
--- a/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/s3fs/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2023.9.1";
+  version = "2023.9.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QuGCHtlMFgfISIU9HXFevNJcEzgLb1EMLLSYx+Wz5nQ=";
+    hash = "sha256-ZMzOrTKoFkIt2a4daTxdY1TZn2SuJsVjiPHY4ceFgyE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix b/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
index a609bbe99b69..361764818605 100644
--- a/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "s3transfer";
-  version = "0.6.1";
+  version = "0.6.2";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "boto";
     repo = pname;
     rev = version;
-    hash = "sha256-cL4IOfWLRUJC5zCzmN/qRf0N/IV/MDHF/j2JDX5hlUE=";
+    hash = "sha256-hoHNblnCSZteHmI5sJN72WrX7tveNFZqmL1jFKQmdag=";
   };
 
   propagatedBuildInputs = [ botocore ];
diff --git a/nixpkgs/pkgs/development/python-modules/sabctools/default.nix b/nixpkgs/pkgs/development/python-modules/sabctools/default.nix
index ce536c90c3d6..d20ea7318620 100644
--- a/nixpkgs/pkgs/development/python-modules/sabctools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sabctools/default.nix
@@ -6,12 +6,12 @@
 }:
 buildPythonPackage rec {
   pname = "sabctools";
-  version = "7.0.2"; # needs to match version sabnzbd expects, e.g. https://github.com/sabnzbd/sabnzbd/blob/4.0.x/requirements.txt#L3
+  version = "7.1.2"; # needs to match version sabnzbd expects, e.g. https://github.com/sabnzbd/sabnzbd/blob/4.0.x/requirements.txt#L3
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AB5/McuOIDkhu7rtb3nFaqOTx3zwm92+3NEnH5HjzBo=";
+    hash = "sha256-wDgFXuxclmqMlRXyr9qpruJJcOXfOiOWTZXX53uYEB8=";
   };
 
   pythonImportsCheck = ["sabctools"];
diff --git a/nixpkgs/pkgs/development/python-modules/safetensors/default.nix b/nixpkgs/pkgs/development/python-modules/safetensors/default.nix
index 06a2c3966a2d..976d6b9b3fa8 100644
--- a/nixpkgs/pkgs/development/python-modules/safetensors/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/safetensors/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "safetensors";
-  version = "0.3.1";
+  version = "0.3.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,13 +25,13 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-RoIBD+zBKVzXE8OpI8GR371YPxceR4P8B9T1/AHc9vA=";
+    hash = "sha256-U+indMoLFN6vMZkJTWFG08lsdXuK5gOfgaHmUVl6DPk=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     sourceRoot = "${src.name}/bindings/python";
-    hash = "sha256-tC0XawmKWNGCaByHQfJEfmHM3m/qgTuIpcRaEFJC6dM";
+    hash = "sha256-MhRs9tFCmVZI5O0EVRUbo4ZnUVRQ0EfQTU+E1K+qKZI=";
   };
 
   sourceRoot = "${src.name}/bindings/python";
diff --git a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
index b14c9f29fbb8..8a49792d25ee 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.184.0.post0";
+  version = "2.193.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-gQQsHJ9b5ZbbPW0nJRdudSwaL+Hc8kwBpK9um8QWQio=";
+    hash = "sha256-5wMLzZjHgHGuIBxG0GNOVj1t32kEJ9scrS6bA6IW4WY=";
   };
 
   nativeBuildInputs = [
@@ -82,6 +82,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for training and deploying machine learning models on Amazon SageMaker";
     homepage = "https://github.com/aws/sagemaker-python-sdk/";
+    changelog = "https://github.com/aws/sagemaker-python-sdk/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ nequissimus ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/sanic/default.nix b/nixpkgs/pkgs/development/python-modules/sanic/default.nix
index b27b75e91b22..752802df209c 100644
--- a/nixpkgs/pkgs/development/python-modules/sanic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sanic/default.nix
@@ -141,6 +141,10 @@ buildPythonPackage rec {
     "test_default_reload_shutdown_order"
     # App not found.
     "test_input_is_dir"
+    # HTTP 500 with Websocket subprotocols
+    "test_websocket_route_with_subprotocols"
+    # Socket closes early
+    "test_no_exceptions_when_cancel_pending_request"
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/scancode-toolkit/default.nix b/nixpkgs/pkgs/development/python-modules/scancode-toolkit/default.nix
index 9c82820f8416..2affddbb6a4c 100644
--- a/nixpkgs/pkgs/development/python-modules/scancode-toolkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scancode-toolkit/default.nix
@@ -61,13 +61,13 @@
 
 buildPythonPackage rec {
   pname = "scancode-toolkit";
-  version = "31.2.6";
+  version = "32.0.6";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VvhgXZpV58DHeY5+7nPbrbTTVuHkawFw5akbm4hPnBY=";
+    hash = "sha256-suqk7LOnZgSJGlaHq81LDOSCHZWdsJOUbma6MEpHxSM=";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/development/python-modules/schedule/default.nix b/nixpkgs/pkgs/development/python-modules/schedule/default.nix
index bdcb2010742a..443b0f73d2df 100644
--- a/nixpkgs/pkgs/development/python-modules/schedule/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/schedule/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "schedule";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tK1peq+6cYTJ62oeLrxB94FUckKs3ozq6aCiWwTAki0=";
+    hash = "sha256-hDvAU4uZyT8CuLUOPjmIbAby0AOyT0jhqkyt+j80Enk=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/schemainspect/default.nix b/nixpkgs/pkgs/development/python-modules/schemainspect/default.nix
new file mode 100644
index 000000000000..e2c375b11b92
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/schemainspect/default.nix
@@ -0,0 +1,118 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, pythonOlder
+, sqlalchemy
+, sqlbag
+, setuptools
+, poetry-core
+, pytestCheckHook
+, pytest-xdist
+, pytest-sugar
+, postgresql
+, postgresqlTestHook
+,
+}:
+buildPythonPackage rec {
+  pname = "schemainspect";
+  version = "3.1.1663587362";
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "djrobstep";
+    repo = pname;
+    # no tags on github, version patch number is unix time.
+    rev = "066262d6fb4668f874925305a0b7dbb3ac866882";
+    hash = "sha256-SYpQQhlvexNc/xEgSIk8L8J+Ta+3OZycGLeZGQ6DWzk=";
+  };
+
+  patches = [
+    # https://github.com/djrobstep/schemainspect/pull/87
+    (fetchpatch
+      {
+        name = "specify_poetry.patch";
+        url = "https://github.com/djrobstep/schemainspect/commit/bdcd001ef7798236fe0ff35cef52f34f388bfe68.patch";
+        hash = "sha256-/SEmcV9GjjvzfbszeGPkfd2DvYenl7bZyWdC0aI3M4M=";
+      })
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+  propagatedBuildInputs = [
+    setuptools # needed for 'pkg_resources'
+    sqlalchemy
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-xdist
+    pytest-sugar
+
+    postgresql
+    postgresqlTestHook
+
+    sqlbag
+  ];
+
+  preCheck = ''
+    export PGUSER="nixbld";
+    export postgresqlEnableTCP=1;
+  '';
+  disabledTests = [
+    # These all fail with "List argument must consist only of tuples or dictionaries":
+    # Related issue: https://github.com/djrobstep/schemainspect/issues/88
+    "test_can_replace"
+    "test_collations"
+    "test_constraints"
+    "test_dep_order"
+    "test_enum_deps"
+    "test_exclusion_constraint"
+    "test_fk_col_order"
+    "test_fk_info"
+    "test_generated_columns"
+    "test_identity_columns"
+    "test_indexes"
+    "test_inherit"
+    "test_kinds"
+    "test_lineendings"
+    "test_long_identifiers"
+    "test_partitions"
+    "test_postgres_inspect"
+    "test_postgres_inspect_excludeschema"
+    "test_postgres_inspect_sigleschema"
+    "test_raw_connection"
+    "test_relationship"
+    "test_replica_trigger"
+    "test_rls"
+    "test_separate_validate"
+    "test_sequences"
+    "test_table_dependency_order"
+    "test_types_and_domains"
+    "test_view_trigger"
+    "test_weird_names"
+  ];
+
+  pytestFlagsArray = [
+    "-x"
+    "-svv"
+    "tests"
+  ];
+  pythonImportsCheck = [
+    "schemainspect"
+  ];
+
+  postUnpack = ''
+    # this dir is used to bump the version number, having it here fails the build
+    rm -r ./source/deploy
+  '';
+
+  meta = with lib; {
+    description = "Schema inspection for PostgreSQL, and potentially others";
+    homepage = "https://github.com/djrobstep/schemainspect";
+    license = with licenses; [ unlicense ];
+    maintainers = with maintainers; [ soispha ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-bio/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-bio/default.nix
index 2c4920cf4c15..a1b355f1b832 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-bio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-bio/default.nix
@@ -20,13 +20,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.5.8";
+  version = "0.5.9";
   pname = "scikit-bio";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1VqDw+XyyhEydE4UCSM/th2a8MWpXet7KR5uNAcSuGs=";
+    hash = "sha256-euBE3IvuIxkAJIrcOoZZB352FA1WrJ9CvQH7eYEBSRA=";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-build-core/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-build-core/default.nix
index 7cf4f9943992..bea510faa93a 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-build-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-build-core/default.nix
@@ -21,13 +21,13 @@
 
 buildPythonPackage rec {
   pname = "scikit-build-core";
-  version = "0.5.0";
+  version = "0.5.1";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "scikit_build_core";
     inherit version;
-    hash = "sha256-pCqVAps0tc+JKFU0LZuURcd0y3l/yyTI/EwvtCsY38o=";
+    hash = "sha256-xtrVpRJ7Kr+qI8uR0jrCEFn9d83fcSKzP9B3kQJNz78=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix
index 0cddf6eee2fe..520c83575005 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-hep-testdata/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "scikit-hep-testdata";
-  version = "0.4.31";
+  version = "0.4.34";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "scikit-hep";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/CUBRRezm84yAqnEVAC89vKIpALnvSkoSKBCmX84S0w=";
+    hash = "sha256-kHpJXqFQI3vtDJIcH2ebzbaReHecwItDh73/NcoPk9A=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix
index 2cb24d76b2b9..2a988049f447 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-misc/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "scikit-misc";
-  version = "0.2.0";
+  version = "0.3.0";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "scikit_misc";
     inherit version;
-    hash = "sha256-rBTdTpNeRC/DSrHFg7ZhHUYD0G9IgoqFx+A+LCxYK7w=";
+    hash = "sha256-mom0Ch+b3bViErh9ueVYiGfVz5SQUSqCCcGsBJ7+Nrg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix
index 6940859b9f6a..130e56896e31 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix
@@ -31,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "scikit-rf";
-  version = "0.28.0";
+  version = "0.29.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     owner = "scikit-rf";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-cTvWNfIs2bAOYpXDg6ghZA4tRXlaNbUZwcaZMjCi/YY=";
+    hash = "sha256-rBOw1rIEF8Ia6xXlXxVzRRiUxrOjOAlipFuKiL+gRl0=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
index 7e2b8bf8bfd9..b2c4218e5f33 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
@@ -17,12 +17,12 @@
 
 buildPythonPackage rec {
   pname = "scikit-survival";
-  version = "0.20.0";
+  version = "0.21.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-24+8Sociq6u3KnoGSdV5Od5t/OT1uPkv19i3p5ezLjw=";
+    hash = "sha256-rcdEtlmD3O2BQuwxRlOJ/HOEBdWJBRJR5UR6rZoeArw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scipy/default.nix b/nixpkgs/pkgs/development/python-modules/scipy/default.nix
index 7312e53ed413..2c5ecd42585c 100644
--- a/nixpkgs/pkgs/development/python-modules/scipy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scipy/default.nix
@@ -32,8 +32,8 @@ let
   #     nix-shell maintainers/scripts/update.nix --argstr package python3.pkgs.scipy
   #
   # The update script uses sed regexes to replace them with the updated hashes.
-  version = "1.11.2";
-  srcHash = "sha256-7FE740/yKUXtujVX60fQB/xvCZFfV69FRihvSi6+UWo=";
+  version = "1.11.3";
+  srcHash = "sha256-swxRfFjTcKjKQv6GFdWNR6IKhdJQYhZSR7UWLtcnrXw=";
   datasetsHashes = {
     ascent = "1qjp35ncrniq9rhzb14icwwykqg2208hcssznn3hz27w39615kh3";
     ecg = "1bwbjp43b7znnwha5hv6wiz3g0bhwrpqpi75s12zidxrbwvd62pj";
@@ -79,8 +79,9 @@ in buildPythonPackage {
   # Relax deps a bit
   postPatch = ''
     substituteInPlace pyproject.toml \
+      --replace 'meson-python>=0.12.1,<0.14.0' 'meson-python' \
       --replace 'numpy==' 'numpy>=' \
-      --replace "pybind11>=2.10.4,<2.11.0" "pybind11>=2.10.4,<2.12.0" \
+      --replace "pybind11>=2.10.4,<2.11.1" "pybind11>=2.10.4,<2.12.0" \
       --replace 'wheel<0.41.0' 'wheel'
   '';
 
@@ -214,6 +215,7 @@ in buildPythonPackage {
 
   meta = with lib; {
     description = "SciPy (pronounced 'Sigh Pie') is open-source software for mathematics, science, and engineering";
+    downloadPage = "https://github.com/scipy/scipy";
     homepage = "https://www.scipy.org/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fridh doronbehar ];
diff --git a/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix b/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
index 88ffa39d7b42..4b608dfed3b5 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.3.1";
+  version = "1.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-/ZELaJrGgNKzAXi1SXAMgxi84R0UvZBD9AUVO7PTEbA=";
+    hash = "sha256-3fU4BT0AwyFTg15Oca95JgDrHxIqKJOpJolDRvo7hxc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/scooby/default.nix b/nixpkgs/pkgs/development/python-modules/scooby/default.nix
index e4e6719a6741..5a858e22326b 100644
--- a/nixpkgs/pkgs/development/python-modules/scooby/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scooby/default.nix
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "scooby";
-  version = "0.7.2";
+  version = "0.7.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "banesullivan";
-    repo = pname;
+    repo = "scooby";
     rev = "refs/tags/v${version}";
-    hash = "sha256-eY8Ysc20Q1OHKb/LU+4gqnSgNfHCytjOnnvB24EfQto=";
+    hash = "sha256-BgQwsgAYtRgxxjo7NHbgNME1maoZQpocGGBW7Vddr+o=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
index 7bfa428efaef..c0ec21bf6afd 100644
--- a/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scrapy/default.nix
@@ -101,6 +101,8 @@ buildPythonPackage rec {
     "test_persist"
     "test_timeout_download_from_spider_nodata_rcvd"
     "test_timeout_download_from_spider_server_hangs"
+    "test_unbounded_response"
+    "CookiesMiddlewareTest"
     # Depends on uvloop
     "test_asyncio_enabled_reactor_different_loop"
     "test_asyncio_enabled_reactor_same_loop"
diff --git a/nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix b/nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix
index 7ed829df1679..e7eca13d7300 100644
--- a/nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/screenlogicpy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "screenlogicpy";
-  version = "0.8.2";
+  version = "0.9.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "dieselrabbit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7w2cg+LfL3w2Xxf8s7lFxE/HkqZ6RBYp8LkZTOwgK+I=";
+    hash = "sha256-0qB+FWqlh5qdy/jKLPYCXl3DewurLSOlYgcdiDtzeYE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/seaborn/default.nix b/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
index 267b6065ed73..de5bbed11998 100644
--- a/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
@@ -1,8 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchpatch
-, fetchPypi
+, fetchFromGitHub
 , flit-core
 , matplotlib
 , pytest-xdist
@@ -11,38 +10,23 @@
 , pandas
 , pythonOlder
 , scipy
+, statsmodels
 }:
 
 buildPythonPackage rec {
   pname = "seaborn";
-  version = "0.12.2";
+  version = "0.13.0rc0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-N0ZF82UJ0NyriVy6W0fa8Fhvd7/js2yXxgfbfaW+ATk=";
+  src = fetchFromGitHub {
+    owner = "mwaskom";
+    repo = "seaborn";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-bNuTDXUjdOwqJN1U20eaeSa4/Q3Fe2XMqulqVmDLFEU=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-test-using-matplotlib-3.7.patch";
-      url = "https://github.com/mwaskom/seaborn/commit/db7ae11750fc2dfb695457239708448d54e9b8cd.patch";
-      hash = "sha256-LbieI0GeC/0NpFVxV/NRQweFjP/lj/TR2D/SLMPYqJg=";
-    })
-    (fetchpatch {
-      name = "fix-pandas-deprecation.patch";
-      url = "https://github.com/mwaskom/seaborn/commit/a48601d6bbf8381f9435be48624f1a77d6fbfced.patch";
-      hash = "sha256-LuN8jn6Jo9Fvdl5iGZ2LgINYujSDvvs+hSclnadV1F4=";
-    })
-    (fetchpatch {
-      name = "fix-tests-using-numpy-1.25.patch";
-      url = "https://github.com/mwaskom/seaborn/commit/b6737d5aec9a91bb8840cdda896a7970e1830d56.patch";
-      hash = "sha256-Xj82yyB5Vy2xKRl0ideDmJ5Zr4Xc+8cEHU/liVwMSvE=";
-    })
-  ];
-
   nativeBuildInputs = [
     flit-core
   ];
@@ -51,9 +35,15 @@ buildPythonPackage rec {
     matplotlib
     numpy
     pandas
-    scipy
   ];
 
+  passthru.optional-dependencies = {
+    stats = [
+      scipy
+      statsmodels
+    ];
+  };
+
   nativeCheckInputs = [
     pytest-xdist
     pytestCheckHook
@@ -62,10 +52,6 @@ buildPythonPackage rec {
   disabledTests = [
     # requires internet connection
     "test_load_dataset_string_error"
-
-    # per https://github.com/mwaskom/seaborn/issues/3431, we can enable this
-    # once matplotlib releases version > 3.7.2
-    "test_share_xy"
   ] ++ lib.optionals (!stdenv.hostPlatform.isx86) [
     # overly strict float tolerances
     "TestDendrogram"
@@ -82,6 +68,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Statistical data visualization";
     homepage = "https://seaborn.pydata.org/";
+    changelog = "https://github.com/mwaskom/seaborn/blob/master/doc/whatsnew/${src.rev}.rst";
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ fridh ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/seasonal/default.nix b/nixpkgs/pkgs/development/python-modules/seasonal/default.nix
new file mode 100644
index 000000000000..d38559ff2eed
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/seasonal/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, numpy
+, scipy
+, pandas
+, matplotlib
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "seasonal";
+  version = "0.3.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "welch";
+    repo = "seasonal";
+    # There are no tags or releases, but this commit corresponds to the 0.3.1 version
+    # PyPI project contains only a wheel
+    rev = "2a2396014d46283d0c7aff34cde5dafb6c462c58";
+    hash = "sha256-8YedGylH70pI0OyefiS1PG1yc+sg+tchlgcuNvxcNqE=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'setup_requires=["pytest-runner"],' ""
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+  ];
+
+  passthru.optional-dependencies = {
+    csv = [
+      pandas
+    ];
+    plot = [
+      matplotlib
+    ];
+  };
+
+  pythonImportsCheck = [ "seasonal" "seasonal.trend" "seasonal.periodogram" ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  meta = with lib; {
+    description = "Robustly estimate trend and periodicity in a timeseries";
+    homepage = "https://github.com/welch/seasonal";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/selenium/default.nix b/nixpkgs/pkgs/development/python-modules/selenium/default.nix
index 053b42d90e9a..fdb052a47499 100644
--- a/nixpkgs/pkgs/development/python-modules/selenium/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/selenium/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "selenium";
-  version = "4.8.0";
+  version = "4.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     repo = "selenium";
     # check if there is a newer tag with or without -python suffix
     rev = "refs/tags/selenium-${version}";
-    hash = "sha256-YTi6SNtTWuEPlQ3PTeis9osvtnWmZ7SRQbne9fefdco=";
+    hash = "sha256-A2lI40bPSIri/0yp6C3aJZBX5p6ON1fWGfJTcul9/2o=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/sentence-splitter/default.nix b/nixpkgs/pkgs/development/python-modules/sentence-splitter/default.nix
new file mode 100644
index 000000000000..a544a006ce80
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sentence-splitter/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+
+, pytestCheckHook
+, regex
+}:
+
+buildPythonPackage rec {
+  pname = "sentence-splitter";
+  version = "1.4";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "mediacloud";
+    repo = "sentence-splitter";
+    rev = version;
+    hash = "sha256-FxRi8fhKB9++lCTFpCAug0fxjkSVTKChLY84vkshR34=";
+  };
+
+  propagatedBuildInputs = [
+    regex
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "sentence_splitter"
+  ];
+
+  meta = with lib; {
+    description = "Text to sentence splitter using heuristic algorithm by Philipp Koehn and Josh Schroeder";
+    homepage = "https://github.com/mediacloud/sentence-splitter";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ paveloom ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sentence-transformers/default.nix b/nixpkgs/pkgs/development/python-modules/sentence-transformers/default.nix
index 4554b36d1207..9c439149964d 100644
--- a/nixpkgs/pkgs/development/python-modules/sentence-transformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sentence-transformers/default.nix
@@ -47,6 +47,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Multilingual Sentence & Image Embeddings with BERT";
     homepage = "https://github.com/UKPLab/sentence-transformers";
+    changelog = "https://github.com/UKPLab/sentence-transformers/releases/tag/${src.rev}";
     license = licenses.asl20;
     maintainers = with maintainers; [ dit7ya ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
index cfa88e68230c..cc4acb340d57 100644
--- a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -40,7 +40,7 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.31.0";
+  version = "1.32.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     owner = "getsentry";
     repo = "sentry-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-/TQwkk/NkQulYVuLIs30rV4hsv4LVB/VfPhqMjpq0vE=";
+    hash = "sha256-chDgy3U29X/xk+aQok9uODcN0iAds1H39yXk98/3Yzc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/setupmeta/default.nix b/nixpkgs/pkgs/development/python-modules/setupmeta/default.nix
index 258f958ce03f..09a3f565d543 100644
--- a/nixpkgs/pkgs/development/python-modules/setupmeta/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/setupmeta/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "setupmeta";
-  version = "3.4.0";
+  version = "3.5.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "codrsquad";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-HNGoLCTidgnaU5QA+0d/PQuCswigjdvQC3/w19i+Xuc=";
+    hash = "sha256-r3pGlcdem+c5I2dKrRueksesqq9HTk0oEr/xJuM7vuc=";
   };
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools-changelog-shortener/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools-changelog-shortener/default.nix
new file mode 100644
index 000000000000..fef62dfbfbb9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/setuptools-changelog-shortener/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, tomli
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "setuptools-changelog-shortener";
+  version = "0.2.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "fschulze";
+    repo = "setuptools-changelog-shortener";
+    rev = "refs/tags/${version}";
+    hash = "sha256-K8oVcX40K5j2CwQnulK55HykkEXAmOiUg4mZPg5T+YI=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    tomli
+    wheel
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "setuptools_changelog_shortener" ];
+
+  meta = with lib; {
+    description = "Setuptools-changelog-shortener: add only newest changelog entries to long_description";
+    homepage = "https://github.com/fschulze/setuptools-changelog-shortener";
+    changelog = "https://github.com/fschulze/setuptools-changelog-shortener/blob/${src.rev}/README.rst#changelog";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools-generate/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools-generate/default.nix
new file mode 100644
index 000000000000..e4293bd118cd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/setuptools-generate/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools-scm
+, click
+, help2man
+, markdown-it-py
+, shtab
+, tomli
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "setuptools-generate";
+  version = "0.0.6";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "Freed-Wu";
+    repo = "setuptools-generate";
+    rev = "refs/tags/${version}";
+    hash = "sha256-xDjxkWy/n0jStI9eLcM6WduyU9vGjtBOmJ86dpXjceQ=";
+  };
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    click
+    help2man
+    markdown-it-py
+    shtab
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "setuptools_generate" ];
+
+  meta = with lib; {
+    description = "Generate shell completions and man page when building a python package";
+    homepage = "https://github.com/Freed-Wu/setuptools-generate";
+    changelog = "https://github.com/Freed-Wu/setuptools-generate/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools-odoo/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools-odoo/default.nix
index a9129334208f..5e262daa580e 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools-odoo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/setuptools-odoo/default.nix
@@ -1,20 +1,25 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, lib
-, nix-update-script
-, pytestCheckHook
 , git
+, pytestCheckHook
+, pythonOlder
 , setuptools-scm
 , writeScript
 }:
+
 buildPythonPackage rec {
   pname = "setuptools-odoo";
-  version = "3.1.12";
+  version = "3.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "acsone";
     repo = pname;
-    rev = version;
-    hash = "sha256-GIX21gOENE0r3yFIyzwjaoEcb0XvuCqiPU8F3GLxNt4=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-aS2a1G9lssgGk3uqWgPPWpOpEnqUkCUzWsqPLQfU55k=";
   };
 
   propagatedBuildInputs = [
@@ -23,6 +28,7 @@ buildPythonPackage rec {
 
   # HACK https://github.com/NixOS/nixpkgs/pull/229460
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   patchPhase = ''
     runHook prePatch
 
@@ -55,7 +61,11 @@ buildPythonPackage rec {
     preBuildHooks+=(setuptoolsOdooHook)
   '';
 
-  nativeCheckInputs = [ pytestCheckHook git ];
+  nativeCheckInputs = [
+    pytestCheckHook
+    git
+  ];
+
   disabledTests = [
     "test_addon1_uncommitted_change"
     "test_addon1"
@@ -65,12 +75,11 @@ buildPythonPackage rec {
     "test_odoo_addon5_wheel"
   ];
 
-  passthru.updateScript = nix-update-script { };
-
-  meta = {
+  meta = with lib; {
     description = "Setuptools plugin for Odoo addons";
     homepage = "https://github.com/acsone/setuptools-odoo";
-    license = lib.licenses.lgpl3Only;
-    maintainers = with lib.maintainers; [ yajo ];
+    changelog = "https://github.com/acsone/setuptools-odoo/blob/${version}/CHANGES.rst";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ yajo ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix
index e71d8bc78dc0..e1c04780b8e8 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix
@@ -6,25 +6,40 @@
 , semantic-version
 , setuptools
 , setuptools-scm
+, tomli
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "setuptools-rust";
-  version = "1.6.0";
+  version = "1.7.0";
+  format = "pyproject";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yG5zTerDMFl5mL+8CNpFGH5rJ4N+I72R6tsyBzI5ImI=";
+    hash = "sha256-xxAJmZSCNaOK5+VV/hmapmwlPcOEsSX12FRzv4Hq46M=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    semantic-version
+    setuptools
+    typing-extensions
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
+  ];
 
-  propagatedBuildInputs = [ semantic-version setuptools typing-extensions ];
+  pythonImportsCheck = [
+    "setuptools_rust"
+  ];
 
   doCheck = false;
-  pythonImportsCheck = [ "setuptools_rust" ];
 
   passthru.tests.pyo3 = callPackage ./pyo3-test { };
 
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
index ad7638f3cb38..93912d4b4ad3 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/setuptools/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "setuptools";
-  version = "68.0.0";
+  version = "68.2.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pypa";
     repo = "setuptools";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ew/DpI5XsYMB4kBfkFeeB5wv5cjx4oYTddZCWLgBHBs=";
+    hash = "sha256-PpZbITlYp/cA+8jmObw8g69TK+oE9YEXD3NNJixExB4=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/sh/default.nix b/nixpkgs/pkgs/development/python-modules/sh/default.nix
index 20e4d95928ea..46332d0d528a 100644
--- a/nixpkgs/pkgs/development/python-modules/sh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sh/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "sh";
-  version = "2.0.2";
+  version = "2.0.6";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "amoffat";
     repo = "sh";
     rev = "refs/tags/${version}";
-    hash = "sha256-qMYaGNEvv2z47IHFGqb64TRpN3JHycpEmhYhDjrUi6s=";
+    hash = "sha256-c4Ms4ydcW7LgmAI1WuYD74nzILuY/Xg+JePJe0q5AQQ=";
   };
 
   nativeBuildInputs = [
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "tests/test.py"
+    "tests"
   ];
 
   # A test needs the HOME directory to be different from $TMPDIR.
diff --git a/nixpkgs/pkgs/development/python-modules/shap/default.nix b/nixpkgs/pkgs/development/python-modules/shap/default.nix
index c9fb24e917af..cc042fcd4f52 100644
--- a/nixpkgs/pkgs/development/python-modules/shap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shap/default.nix
@@ -31,16 +31,16 @@
 
 buildPythonPackage rec {
   pname = "shap";
-  version = "0.42.1";
-  format = "pyproject";
+  version = "0.43.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "slundberg";
     repo = "shap";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ezq6WS6QnoM5uEfo2DgDAEo1HkQ1KjmfgIyVWh3RM94=";
+    hash = "sha256-ylkpXhaLXsQiu6YMC3pUtlicptQmtjITzW+ydinB4ls=";
   };
 
   nativeBuildInputs = [
@@ -124,9 +124,11 @@ buildPythonPackage rec {
 
   disabledTests = [
     # The same reason as above test_summary.py
-    "test_simple_bar_with_cohorts_dict"
-    "test_random_summary_violin_with_data2"
+    "test_random_force_plot_negative_sign"
+    "test_random_force_plot_positive_sign"
     "test_random_summary_layered_violin_with_data2"
+    "test_random_summary_violin_with_data2"
+    "test_simple_bar_with_cohorts_dict"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/shodan/default.nix b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
index 5dea2f5e23a1..0c4b1afb930c 100644
--- a/nixpkgs/pkgs/development/python-modules/shodan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.30.0";
+  version = "1.30.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yWF8ZsR7h9SAHnCAtsdp7Jox2jmN7+CwR6Z5SSdDZFM=";
+    hash = "sha256-vttujCtEWVksG8F7TUtX2rDLWKRVrVie4mpjBCQs1QU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/simple-rest-client/default.nix b/nixpkgs/pkgs/development/python-modules/simple-rest-client/default.nix
index 673028a76387..325454c30ea7 100644
--- a/nixpkgs/pkgs/development/python-modules/simple-rest-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simple-rest-client/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "simple-rest-client";
-  version = "1.1.3";
+  version = "1.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "allisson";
     repo = "python-simple-rest-client";
     rev = version;
-    hash = "sha256-HdGYLDrqQvd7hvjwhC5dY2amdHUZHTYJvD1QP89lcXU=";
+    hash = "sha256-IaLo7nBMIabi4ZjZ4ZLJliCL/dzidaCBCmn0cq7Fzdw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix b/nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix
index 8598f04918c3..5da242e7b4c3 100644
--- a/nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "simple-salesforce";
-  version = "1.12.4";
+  version = "1.12.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-nYL2kSDS6DSrBzAKbg7Wj6boSZ52+T/yX+NYnYQ9rQo=";
+    hash = "sha256-mj7lbBGEybsEzWo4TYmPrN3mBXItdo/JomVIYmzIDAY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/simple-websocket/default.nix b/nixpkgs/pkgs/development/python-modules/simple-websocket/default.nix
index ecb480359912..5af426fb5ba2 100644
--- a/nixpkgs/pkgs/development/python-modules/simple-websocket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simple-websocket/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "simple-websocket";
-  version = "0.10.1";
+  version = "1.0.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
     repo = "simple-websocket";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OdgMYi2UobIlE4cDl5aNtVaFiHPTpf5TcuohG+TCSpg=";
+    hash = "sha256-5dUZnbjHzH1sQ93CbFdEoW9j2zY4Z+8wNsYfmOrgC8E=";
   };
 
   nativeBuildInputs = [
@@ -24,9 +24,12 @@ buildPythonPackage rec {
     wheel
   ];
 
+  propagatedBuildInputs = [
+    wsproto
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
-    wsproto
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/simplemma/default.nix b/nixpkgs/pkgs/development/python-modules/simplemma/default.nix
new file mode 100644
index 000000000000..6c7f5f7c1afb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/simplemma/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "simplemma";
+  version = "0.9.1";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "adbar";
+    repo = "simplemma";
+    rev = "v${version}";
+    hash = "sha256-2IvAJ+tRnlYISymYXznCGAoUTKkM/PoYwpZpuMSXRYQ=";
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "simplemma"
+  ];
+
+  meta = with lib; {
+    description = "Simple multilingual lemmatizer for Python, especially useful for speed and efficiency";
+    homepage = "https://github.com/adbar/simplemma";
+    license = licenses.mit;
+    maintainers = with maintainers; [ paveloom ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix b/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
index c3264d7366f1..6863d1f1a889 100644
--- a/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simplisafe-python/default.nix
@@ -6,7 +6,6 @@
 , buildPythonPackage
 , docutils
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytest-aiohttp
 , pytest-asyncio
@@ -20,31 +19,18 @@
 
 buildPythonPackage rec {
   pname = "simplisafe-python";
-  version = "2023.08.0";
+  version = "2023.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "bachya";
-    repo = pname;
+    repo = "simplisafe-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-DExMa9z/VYAMoqUmr/gfZzYFWfTxnC+Cz4rRTaNSLBM=";
+    hash = "sha256-U3SbaR8PTTvoAMu65+LAHSwTmR7iwqiidbefW8bNSCo=";
   };
 
-  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/simplisafe-python/pull/596
-    #
-    (fetchpatch {
-      name = "clean-up-build-dependencies.patch";
-      url = "https://github.com/bachya/simplisafe-python/commit/60f41c690fac7acb614490b542cbbf2fa0052266.patch";
-      hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM=";
-    })
-  ];
 
   nativeBuildInputs = [
     poetry-core
diff --git a/nixpkgs/pkgs/development/python-modules/simpy/default.nix b/nixpkgs/pkgs/development/python-modules/simpy/default.nix
index 2be43f157a16..e1544a0b89a6 100644
--- a/nixpkgs/pkgs/development/python-modules/simpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simpy/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "simpy";
-  version = "4.0.1";
+  version = "4.0.2";
   format = "setuptools";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b36542e2faab612f861c5ef4da17220ac1553f5892b3583c67281dbe4faad404";
+    sha256 = "sha256-bYrcAinfawL7fibc0TOHA7T09j8WelrCpyE8uAq6RIQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/single-version/default.nix b/nixpkgs/pkgs/development/python-modules/single-version/default.nix
index 53989afe94f8..558126bbbd71 100644
--- a/nixpkgs/pkgs/development/python-modules/single-version/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/single-version/default.nix
@@ -8,25 +8,16 @@
 
 buildPythonPackage rec {
   pname = "single-version";
-  version = "1.5.1";
+  version = "1.6.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "hongquan";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-I8ATQzPRH9FVjqPoqrNjYMBU5azpmkLjRmHcz943C10=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-dUmJhNCPuq/7WGzFQXLjb8JrQgQn7qyBqzPWaKzD9hc=";
   };
 
-  patches = [
-    # https://github.com/hongquan/single-version/pull/4
-    (fetchpatch {
-      name = "use-poetry-core.patch";
-      url = "https://github.com/hongquan/single-version/commit/0cdf9795cb0522e90a8dc00306f1ff7bb85621ad.patch";
-      hash = "sha256-eT9G1XvkNF0+NKgx+yN7ei53xIEMvnc7V/KtPLqlWik=";
-    })
-  ];
-
   nativeBuildInputs = [ poetry-core ];
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/sip/4.x.nix b/nixpkgs/pkgs/development/python-modules/sip/4.x.nix
index d90d4ff20416..0e1db82e8af0 100644
--- a/nixpkgs/pkgs/development/python-modules/sip/4.x.nix
+++ b/nixpkgs/pkgs/development/python-modules/sip/4.x.nix
@@ -1,17 +1,25 @@
-{ lib, fetchurl, buildPythonPackage, python, isPyPy, pythonAtLeast, sip-module ? "sip" }:
+{ lib, fetchurl, fetchpatch, buildPythonPackage, python, isPyPy, pythonAtLeast, sip-module ? "sip" }:
 
 buildPythonPackage rec {
   pname = sip-module;
   version = "4.19.25";
   format = "other";
 
-  disabled = isPyPy || pythonAtLeast "3.11";
+  disabled = isPyPy;
 
   src = fetchurl {
     url = "https://www.riverbankcomputing.com/static/Downloads/sip/${version}/sip-${version}.tar.gz";
     sha256 = "04a23cgsnx150xq86w1z44b6vr2zyazysy9mqax0fy346zlr77dk";
   };
 
+  patches = lib.optionals (pythonAtLeast "3.11") [
+    (fetchpatch {
+      name = "sip-4-python3-11.patch";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/python3-11.patch?h=sip4&id=67b5907227e68845cdfafcf050fedb89ed653585";
+      sha256 = "sha256-cmuz2y5+T8EM/h03G2oboSnnOwrUjVKt2TUQaC9YAdE=";
+    })
+  ];
+
   configurePhase = ''
     ${python.executable} ./configure.py \
       --sip-module ${sip-module} \
diff --git a/nixpkgs/pkgs/development/python-modules/sip/default.nix b/nixpkgs/pkgs/development/python-modules/sip/default.nix
index 5d6fde555d6f..f4870f2fa6f1 100644
--- a/nixpkgs/pkgs/development/python-modules/sip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sip/default.nix
@@ -2,22 +2,24 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , setuptools
 , wheel
 , packaging
 , ply
 , toml
+, tomli
 }:
 
 buildPythonPackage rec {
   pname = "sip";
-  version = "6.7.7";
+  version = "6.7.11";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3unAb6iubUQaQB+SKGf8YZbt2idO69n7/sVPB2nCqeI=";
+    hash = "sha256-8Nwyh6CxcuVmSTHIeEd1DUfk/c2k/jYrUUr47dZVtGk=";
   };
 
   nativeBuildInputs = [
@@ -25,7 +27,9 @@ buildPythonPackage rec {
     wheel
   ];
 
-  propagatedBuildInputs = [ packaging ply toml ];
+  propagatedBuildInputs = [ packaging ply toml ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
+  ];
 
   # There aren't tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/siuba/default.nix b/nixpkgs/pkgs/development/python-modules/siuba/default.nix
index a77e737075b7..dbaab8c6df6b 100644
--- a/nixpkgs/pkgs/development/python-modules/siuba/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/siuba/default.nix
@@ -17,16 +17,16 @@
 
 buildPythonPackage rec {
   pname = "siuba";
-  version = "0.4.2";
-  disabled = pythonOlder "3.7";
-
+  version = "0.4.4";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "machow";
     repo = "siuba";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Q2nkK51bmIO2OcBuWu+u7yB8UmaqiZJXpuxXcytTlUY=";
+    hash = "sha256-rd/yQH3sbZqQAQ1AN44vChe30GMJuIlZj3Ccfv1m3lU=";
   };
 
   propagatedBuildInputs = [
@@ -45,8 +45,9 @@ buildPythonPackage rec {
     hypothesis
     pytestCheckHook
   ];
-  doCheck = false;
+
   # requires running mysql and postgres instances; see docker-compose.yml
+  doCheck = false;
 
   pythonImportsCheck = [
     "siuba"
@@ -56,6 +57,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Use dplyr-like syntax with pandas and SQL";
     homepage = "https://siuba.org";
+    changelog = "https://github.com/machow/siuba/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ bcdarwin ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/skia-pathops/default.nix b/nixpkgs/pkgs/development/python-modules/skia-pathops/default.nix
index 0fefc6d41f7c..d12726ec391c 100644
--- a/nixpkgs/pkgs/development/python-modules/skia-pathops/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skia-pathops/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "skia-pathops";
-  version = "0.7.4";
+  version = "0.8.0.post1";
 
   src = fetchPypi {
     pname = "skia-pathops";
     inherit version;
     extension = "zip";
-    hash = "sha256-Ci/e6Ht62wGMv6bpXvnkKZ7WOwCAvidnejD/77ypE1A=";
+    hash = "sha256-oFYkneL2H6VRFrnuVVE8aja4eK7gDJFFDkBNFgZIXLs=";
   };
 
   postPatch = ''
@@ -36,6 +36,14 @@ buildPythonPackage rec {
       --replace "-mthumb" ""
     substituteInPlace src/cpp/skia-builder/skia/src/core/SkOpts.cpp \
       --replace "defined(SK_CPU_ARM64)" "0"
+  '' + lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) /* old compiler? */ ''
+    patch -p1 <<EOF
+    --- a/src/cpp/skia-builder/skia/include/private/base/SkTArray.h
+    +++ b/src/cpp/skia-builder/skia/include/private/base/SkTArray.h
+    @@ -492 +492 @@:
+    -    static constexpr int kMaxCapacity = SkToInt(std::min(SIZE_MAX / sizeof(T), (size_t)INT_MAX));
+    +    static constexpr int kMaxCapacity = SkToInt(std::min<size_t>(SIZE_MAX / sizeof(T), (size_t)INT_MAX));
+    EOF
   '';
 
   nativeBuildInputs = [ cython ninja setuptools-scm ]
diff --git a/nixpkgs/pkgs/development/python-modules/skrl/default.nix b/nixpkgs/pkgs/development/python-modules/skrl/default.nix
index 266fb65bf213..20f43924b9d0 100644
--- a/nixpkgs/pkgs/development/python-modules/skrl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skrl/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "skrl";
-  version = "0.10.2";
+  version = "1.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "Toni-SM";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-OY5+bUPg+G1eKFMvHlXSHwc2WWHTpyoyCKjY3MvlLyM=";
+    hash = "sha256-89OoJanmaB74SLF1qMI8WFBdN1czS7Yr7BmojaRdo4M=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
index 14211eadd65d..58372e493acb 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.22.0";
+  version = "3.23.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-PRJgOAC1IJjQb1c4FAbpV8bxOPL9PTbAxNXo2MABRzc=";
+    hash = "sha256-OsPwLOnmN3kvPmbM6lOaiTWwWvy7b9pgn1X536dCkWk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/slackclient/default.nix b/nixpkgs/pkgs/development/python-modules/slackclient/default.nix
index 10b31c02ad24..a31f44b3ad68 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.22.0";
+  version = "3.23.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-PRJgOAC1IJjQb1c4FAbpV8bxOPL9PTbAxNXo2MABRzc=";
+    hash = "sha256-OsPwLOnmN3kvPmbM6lOaiTWwWvy7b9pgn1X536dCkWk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix b/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix
index be0e061bdc68..f613645b390a 100644
--- a/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slither-analyzer/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "slither-analyzer";
-  version = "0.9.6";
+  version = "0.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "crytic";
     repo = "slither";
     rev = "refs/tags/${version}";
-    hash = "sha256-c6H7t+aPPWn1i/30G9DLOmwHhdHHHbcP3FRVVjk1XR4=";
+    hash = "sha256-lyjHubnYIwGiA6uAt9erKlTr2sCRGHQy/ZkNByFrFgM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/smart-open/default.nix b/nixpkgs/pkgs/development/python-modules/smart-open/default.nix
index e0d7757d0bfe..df0cbdc8a01c 100644
--- a/nixpkgs/pkgs/development/python-modules/smart-open/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/smart-open/default.nix
@@ -11,11 +11,12 @@
 , moto
 , paramiko
 , pytestCheckHook
+, responses
 }:
 
 buildPythonPackage rec {
   pname = "smart-open";
-  version = "6.3.0";
+  version = "6.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,30 +25,52 @@ buildPythonPackage rec {
     owner = "RaRe-Technologies";
     repo = "smart_open";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sVKrCph5M7xsE7gtzsP/eVEbZyFfoucW3p30YYpwVFI=";
+    hash = "sha256-fciNaVw603FAcgrSrND+LEycJffmnFQij2ZpatYZ/e4=";
   };
 
-  propagatedBuildInputs = [
-    azure-common
-    azure-core
-    azure-storage-blob
-    boto3
-    google-cloud-storage
-    requests
+  passthru.optional-dependencies = {
+    s3 = [
+      boto3
+    ];
+    gcs = [
+      google-cloud-storage
+    ];
+    azure = [
+      azure-storage-blob
+      azure-common
+      azure-core
+    ];
+    http = [
+      requests
+    ];
+    webhdfs = [
+      requests
+    ];
+    ssh = [
+      paramiko
+    ];
+  };
+
+  pythonImportsCheck = [
+    "smart_open"
   ];
 
   nativeCheckInputs = [
     moto
-    paramiko
     pytestCheckHook
-  ];
+    responses
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   pytestFlagsArray = [
     "smart_open"
   ];
 
-  pythonImportsCheck = [
-    "smart_open"
+  disabledTests = [
+    # https://github.com/RaRe-Technologies/smart_open/issues/784
+    "test_https_seek_forward"
+    "test_seek_from_current"
+    "test_seek_from_end"
+    "test_seek_from_start"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/snaptime/default.nix b/nixpkgs/pkgs/development/python-modules/snaptime/default.nix
new file mode 100644
index 000000000000..8555e3640d55
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/snaptime/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python-dateutil
+, pytz
+}:
+
+buildPythonPackage rec {
+  pname = "snaptime";
+  version = "0.2.4";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-4/HriQQ9WNMHIauYy2UCPxpMJ0DjsZdwQpixY8ktUIs=";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+    pytz
+  ];
+
+  pythonImportsCheck = [ "snaptime" ];
+
+  # no tests on Pypi, no tags on github
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Transform timestamps with a simple DSL";
+    homepage = "https://github.com/zartstrom/snaptime";
+    license = licenses.mit;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/snitun/default.nix b/nixpkgs/pkgs/development/python-modules/snitun/default.nix
index 35d7a877fed1..9701824a4df2 100644
--- a/nixpkgs/pkgs/development/python-modules/snitun/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snitun/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "snitun";
-  version = "0.36.1";
+  version = "0.36.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "NabuCasa";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ViFAPAA6uU5MQNHCTIw0OTR8eZPgF34GqRP+py6L6RU=";
+    hash = "sha256-ViNsmTq1iLxNujA71b9JZB5AZ79ZbiqdTyDeBGd4gUA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix b/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
index 741ef59f26da..fc3974db138b 100644
--- a/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "snowflake-connector-python";
-  version = "3.2.0";
+  version = "3.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Z2oNyhbefBIJAKoaX85kQIM7CmD3ZoK3zPFmeWcoLKM=";
+    hash = "sha256-u2ZyK9ZKvNdqarBqZCPWdLy3Kfm6ORBWl375Lzg6rbg=";
   };
 
   # snowflake-connector-python requires arrow 10.0.1, which we don't have in
diff --git a/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
index 8f1f2cb95423..41f7c2e10c3d 100644
--- a/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snowflake-sqlalchemy/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "snowflake-sqlalchemy";
-  version = "1.4.6";
+  version = "1.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xkx8QlabOCodqj4tRYxpln0z+HHVwYdqlXkaitzmKx8=";
+    hash = "sha256-PtD3fQnIqd79NcYFdDMlpNwhCY6PHGL/wDR/QnKdsFo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/social-auth-app-django/default.nix b/nixpkgs/pkgs/development/python-modules/social-auth-app-django/default.nix
index ea35dfed1b16..a8fd2503dbe0 100644
--- a/nixpkgs/pkgs/development/python-modules/social-auth-app-django/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/social-auth-app-django/default.nix
@@ -1,21 +1,33 @@
-{ lib, buildPythonPackage, fetchFromGitHub, social-auth-core, django, python }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, social-auth-core
+, django
+, python
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "social-auth-app-django";
-  version = "5.3.0";
+  version = "5.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "python-social-auth";
     repo = "social-app-django";
     rev = "refs/tags/${version}";
-    hash = "sha256-YJsE8YfLaUsBjwehheic6YG+6robWeBzKL3T7V0c8E8=";
+    hash = "sha256-CZF1DA4UUnmGfdmWlBJ0zJIYx1E03a7Z7Y6WJNFU68M=";
   };
 
   propagatedBuildInputs = [
     social-auth-core
   ];
 
-  pythonImportsCheck = [ "social_django" ];
+  pythonImportsCheck = [
+    "social_django"
+  ];
 
   nativeCheckInputs = [
     django
@@ -26,8 +38,9 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
+    description = "Module for social authentication/registration mechanism";
     homepage = "https://github.com/python-social-auth/social-app-django";
-    description = "Python Social Auth - Application - Django";
+    changelog = "https://github.com/python-social-auth/social-app-django/blob/${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ n0emis ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/socid-extractor/default.nix b/nixpkgs/pkgs/development/python-modules/socid-extractor/default.nix
index 509505b27028..2c163aa7b34b 100644
--- a/nixpkgs/pkgs/development/python-modules/socid-extractor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/socid-extractor/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "socid-extractor";
-  version = "0.0.25";
+  version = "0.0.26";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "soxoj";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3aqtuaecqtUcKLp+LRUct5aZb9mP0cE9xH91xWqtb1Q=";
+    hash = "sha256-3ht/wlxB40k4n0DTBGAvAl7yPiUIZqAe+ECbtkyMTzk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/softlayer/default.nix b/nixpkgs/pkgs/development/python-modules/softlayer/default.nix
index d51ecb3d3e59..28c24f533d75 100644
--- a/nixpkgs/pkgs/development/python-modules/softlayer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/softlayer/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "softlayer";
-  version = "6.1.8";
+  version = "6.1.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "softlayer-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6LZ2vy6nkyWA7xbUl4aNi2ygRWDJTj7J9Af0GTvNLd4=";
+    hash = "sha256-0NLa+kEArKqfqytnxbzXnX/OVhYFBKZO9odXGR0AoSA=";
   };
 
   postPatch = ''
@@ -78,7 +78,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python libraries that assist in calling the SoftLayer API";
     homepage = "https://github.com/softlayer/softlayer-python";
-    changelog = "https://github.com/softlayer/softlayer-python/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/softlayer/softlayer-python/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ onny ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/solo-python/default.nix b/nixpkgs/pkgs/development/python-modules/solo-python/default.nix
index b0166c303d7d..fef12eb963a3 100644
--- a/nixpkgs/pkgs/development/python-modules/solo-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/solo-python/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, flit
 , click
 , cryptography
 , ecdsa
@@ -15,7 +16,7 @@
 buildPythonPackage rec {
   pname = "solo-python";
   version = "0.1.1";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -26,6 +27,10 @@ buildPythonPackage rec {
     hash = "sha256-XVPYr7JwxeZfZ68+vQ7a7MNiAfJ2bvMbM3R1ryVJ+OU=";
   };
 
+  nativeBuildInputs = [
+    flit
+  ];
+
   propagatedBuildInputs = [
     click
     cryptography
diff --git a/nixpkgs/pkgs/development/python-modules/somajo/default.nix b/nixpkgs/pkgs/development/python-modules/somajo/default.nix
index 98f98741a986..14530ec68aba 100644
--- a/nixpkgs/pkgs/development/python-modules/somajo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/somajo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "somajo";
-  version = "2.2.4";
+  version = "2.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "tsproisl";
     repo = "SoMaJo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-vO3wEM3WkPQqq+ureJY+cpRHQ4cOLPV6DukA5LOscEM=";
+    hash = "sha256-CNGSol77Q3uAZPLeV43NhIffO31tnZoMYOsevkZh3pc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/soupsieve/default.nix b/nixpkgs/pkgs/development/python-modules/soupsieve/default.nix
index e26a04192f48..1ae1cb7b8d2b 100644
--- a/nixpkgs/pkgs/development/python-modules/soupsieve/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/soupsieve/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "soupsieve";
-  version = "2.4";
+  version = "2.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4o26nKbHwAFz405LpXRI8GiLtoG3xei/SXHar8CT1po=";
+    hash = "sha256-VmPVp7O/ru4LxDcuf8SPnP9JQLPuxUpkUcxSmfEJdpA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/soxr/default.nix b/nixpkgs/pkgs/development/python-modules/soxr/default.nix
index 20532f4c00fa..941b6e596a2f 100644
--- a/nixpkgs/pkgs/development/python-modules/soxr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/soxr/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "soxr";
-  version = "0.3.5";
+  version = "0.3.6";
   format = "pyproject";
 
   src = fetchFromGitHub {
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     repo = "python-soxr";
     rev = "refs/tags/v${version}";
     fetchSubmodules = true;
-    hash = "sha256-q/K7XlqvDHAna+fqN6iiJ9wD8efsuwHiEfKjXS46jz8=";
+    hash = "sha256-H2sueQq32o/9EHENANKVoiWlFoSF88P0LZ7DfEh/Esg=";
   };
 
   env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/spacy-alignments/default.nix b/nixpkgs/pkgs/development/python-modules/spacy-alignments/default.nix
index ff6e0eff1f04..9bcb74a242ff 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy-alignments/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spacy-alignments/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , cargo
 , fetchPypi
-, fetchpatch
 , buildPythonPackage
 , isPy3k
 , rustPlatform
@@ -13,19 +12,19 @@
 
 buildPythonPackage rec {
   pname = "spacy-alignments";
-  version = "0.8.4";
+  version = "0.9.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1HApl/RZ0w5Tf2OPu1QBUa36uIqilp+dDbPjujn0e9s=";
+    hash = "sha256-jcNYghWR9Xbu97/hAYe8ewa5oMQ4ofNGFwY4cY7/EmM=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-oFSruBnoodv6/0/OrmJ/2SVoWm3u3FGtzVJ9xgp0+Cg=";
+    hash = "sha256-I5uI+qFyb4/ArpUZi4yS/E/bmwoW7+CalMq02Gnm9S8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/spacy-pkuseg/default.nix b/nixpkgs/pkgs/development/python-modules/spacy-pkuseg/default.nix
index 809e0145f2df..b904569010f7 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy-pkuseg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spacy-pkuseg/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "spacy-pkuseg";
-  version = "0.0.32";
+  version = "0.0.33";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit version;
     pname = "spacy_pkuseg";
-    hash = "sha256-9y2TZROOkIOl54u6jocZD4WtP5Ct3bVfacWKqGLISEw=";
+    hash = "sha256-8TFWrE4ERg8aw17f0DbplwTbutGa0KObBsNA+AKinmI=";
   };
 
   # Does not seem to have actual tests, but unittest discover
diff --git a/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix b/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix
index db50edc66aff..6a34745848d1 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "spacy-transformers";
-  version = "1.2.5";
+  version = "1.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+VIQXcffodzR6QEr2ZfvEIBGIxqKwsNZotI+Eh0EOIw=";
+    hash = "sha256-vxzDGLa+LoKnLpaqG7kGLfSLxqQdW+9AXw2YzBAz0UY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/spacy/default.nix b/nixpkgs/pkgs/development/python-modules/spacy/default.nix
index a3cf5a63cf50..944fef7909c1 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spacy/default.nix
@@ -37,14 +37,14 @@
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "3.5.4";
+  version = "3.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mpwWfp3Ov++sx12sNKjnK+y+NI60W78GpsBSOuBaxCU=";
+    hash = "sha256-YyOphwauLVVhaUsDqLC1dRiHoAKQOkiU5orrKcxnIWY=";
   };
 
   pythonRelaxDeps = [
@@ -81,7 +81,7 @@ buildPythonPackage rec {
     typing-extensions
   ];  postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "typer>=0.3.0,<0.5.0" "typer>=0.3.0"
+      --replace "thinc>=8.1.8,<8.2.0" "thinc>=8.1.8"
   '';
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix b/nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix
index 913a458ae0f3..06faf6ca261f 100644
--- a/nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "spdx-tools";
-  version = "0.8.1";
+  version = "0.8.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "spdx";
     repo = "tools-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/iBy6i4J/IiJzfNdW6pN3VTE9PVED4ckoe4OBlw8wnI=";
+    hash = "sha256-KB+tfuz0ZnoQcMX3H+IZXjcmPZ4x2ecl8ofz1/3r0/8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix b/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
index 252f25ddad2f..abeb5d0f9277 100644
--- a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
@@ -63,5 +63,7 @@ buildPythonPackage rec {
     changelog = "https://github.com/radio-astro-tools/spectral-cube/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ smaret ];
+    # Tests fail to start, according to Hydra
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/spglib/default.nix b/nixpkgs/pkgs/development/python-modules/spglib/default.nix
index 6bbff9e28f3a..95d73246aab9 100644
--- a/nixpkgs/pkgs/development/python-modules/spglib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spglib/default.nix
@@ -1,25 +1,54 @@
-{ lib, buildPythonPackage, fetchPypi, numpy, pytest, pyyaml }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+# build-system
+, scikit-build-core
+, cmake
+, pathspec
+, ninja
+, pyproject-metadata
+
+# dependencies
+, numpy
+
+# tests
+, pytestCheckHook
+, pyyaml
+}:
 
 buildPythonPackage rec {
   pname = "spglib";
-  version = "2.0.2";
+  version = "2.1.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HQgewi2kq0/DGY6URd2tbewiYcQ5J4MRUdk+OUImEKo=";
+    hash = "sha256-gUNUX9/8EfvNpNcFpra81Iid6bw1JLeN+GajbdDeCks=";
   };
 
-  propagatedBuildInputs = [ numpy ];
+  nativeBuildInputs = [
+    scikit-build-core
+    cmake
+    pathspec
+    ninja
+    pyproject-metadata
+  ];
+
+  dontUseCmakeConfigure = true;
 
-  nativeCheckInputs = [ pytest pyyaml ];
+  propagatedBuildInputs = [
+    numpy
+  ];
 
-  # pytestCheckHook doesn't work
-  # ImportError: cannot import name '_spglib' from partially initialized module 'spglib'
-  checkPhase = ''
-    pytest
-  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+    pyyaml
+  ];
 
-  pythonImportsCheck = [ "spglib" ];
+  pythonImportsCheck = [
+    "spglib"
+  ];
 
   meta = with lib; {
     description = "Python bindings for C library for finding and handling crystal symmetries";
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-autoapi/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-autoapi/default.nix
index d8d98a803b8c..3d47f22c8726 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-autoapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-autoapi/default.nix
@@ -1,41 +1,50 @@
 { lib
-, astroid
 , buildPythonPackage
 , fetchPypi
-, jinja2
-, mock
-, pytestCheckHook
 , pythonOlder
+
+# build-system
+, setuptools
+
+# dependencies
+, astroid
+, anyascii
+, jinja2
 , pyyaml
 , sphinx
-, stdenv
-, typing-extensions
-, unidecode
+
+# tests
+, beautifulsoup4
+, mock
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "sphinx-autoapi";
-  version = "2.0.1";
-  format = "setuptools";
+  version = "2.1.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zfR5aMIIUvT+sMzv0J5BS7ggr4r4+C+rFaJLCaPRuro=";
+    hash = "sha256-+625bnkCDWsOxF2IhRe/gW1rWHotNA++HsMRNeMApsg=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
+    anyascii
     astroid
     jinja2
     pyyaml
     sphinx
-    unidecode
-  ] ++ lib.optionals (pythonOlder "3.11") [
-    typing-extensions
   ];
 
   nativeCheckInputs = [
+    beautifulsoup4
     mock
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix
index aca87f3c893c..d99577fd234e 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix
@@ -10,7 +10,7 @@
 
 let
   pname = "sphinx-autodoc-typehints";
-  version = "1.23.0";
+  version = "1.24.0";
 in
 
 buildPythonPackage {
@@ -22,7 +22,7 @@ buildPythonPackage {
   src = fetchPypi {
     pname = "sphinx_autodoc_typehints";
     inherit version;
-    hash = "sha256-XUTimWYzza2kmbbSeklt3528ld0fDwn3s3lAJJ5h9uk=";
+    hash = "sha256-lORABmlBuyN3BLuIB4Xi0F6K5UBsiGdP7vu5OK0Nxq8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-automodapi/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-automodapi/default.nix
index 7560b37036d3..3071d86dc46b 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-automodapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-automodapi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "sphinx-automodapi";
-  version = "0.14.1";
+  version = "0.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "astropy";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-olD9LIyFCNEu287wQIRqoabfrdcdyZpNc69jq/e1304=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-7/b3PlgoqXyzmj4KDoHJf5gd3SUSiyhkpcDWl3u+0Bs=";
   };
 
   propagatedBuildInputs = [ sphinx ];
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-basic-ng/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-basic-ng/default.nix
index 69a34dd2c619..a3da400d1070 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-basic-ng/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-basic-ng/default.nix
@@ -8,7 +8,7 @@
 buildPythonPackage rec {
   pname = "sphinx-basic-ng";
   version = "1.0.0.beta2";
-  disable = pythonOlder "3.7";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "pradyunsg";
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-comments/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-comments/default.nix
index fc2e9517ce23..2ffed0c091fb 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-comments/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-comments/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "sphinx-comments";
   version = "0.0.3";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-design/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-design/default.nix
index 4e585353687b..ad109b1d30fb 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-design/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-design/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
   pname = "sphinx-design";
   version = "0.5.0";
 
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix
index cc0163ba3d6e..0aff8f37caa4 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   pname = "sphinx-external-toc";
   version = "0.3.1";
 
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-hoverxref/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-hoverxref/default.nix
index f11db7fc9739..d6237387bf88 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-hoverxref/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-hoverxref/default.nix
@@ -21,7 +21,7 @@
 buildPythonPackage rec {
   pname = "sphinx-hoverxref";
   version = "1.3.0";
-  format = "flit";
+  format = "pyproject";
   outputs = [ "out" "doc" ];
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
index 4803e8d4c1a0..0f44efae9796 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-inline-tabs/default.nix
@@ -1,13 +1,14 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, flit-core
 , sphinx
 }:
 
 buildPythonPackage rec {
   pname = "sphinx-inline-tabs";
   version = "2023.04.21";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pradyunsg";
@@ -16,6 +17,10 @@ buildPythonPackage rec {
     hash = "sha256-1oZheHDNOQU0vWL3YClQrJe94WyUJ72bCAF1UKtjJ0w=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     sphinx
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-mdinclude/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-mdinclude/default.nix
index ca7e574c82fb..d20446e91bb0 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-mdinclude/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-mdinclude/default.nix
@@ -11,7 +11,7 @@
 buildPythonPackage rec {
   pname = "sphinx-mdinclude";
   version = "0.5.3";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchPypi {
     pname = "sphinx_mdinclude";
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix
index 612717120f83..33e346638e9c 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-multitoc-numbering/default.nix
@@ -7,6 +7,7 @@
 buildPythonPackage rec {
   pname = "sphinx-multitoc-numbering";
   version = "0.1.3";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-notfound-page/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-notfound-page/default.nix
index c6255bbc5383..edc8e2ce6b05 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-notfound-page/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-notfound-page/default.nix
@@ -17,7 +17,7 @@
 buildPythonPackage rec {
   pname = "sphinx-notfound-page";
   version = "0.8.3";
-  format = "flit";
+  format = "pyproject";
   outputs = [ "out" "doc" ];
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-prompt/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-prompt/default.nix
index cc5d5f0b2eca..776752d74c45 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-prompt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-prompt/default.nix
@@ -1,21 +1,33 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, sphinxHook
+, poetry-core
+, poetry-dynamic-versioning
 , sphinx
 }:
 
 buildPythonPackage rec {
   pname = "sphinx-prompt";
-  version = "1.5.0";
+  version = "1.7.0"; # read before updating past 1.7.0 https://github.com/sbrunner/sphinx-prompt/issues/398
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "sbrunner";
     repo = "sphinx-prompt";
-    rev = version;
-    hash = "sha256-ClUPAIyPrROJw4GXeakA8U443Vlhy3P/2vFnAtyrPHU=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-/XxUSsW8Bowks7P+d6iTlklyMIfTb2otXva/VtRVAkM=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"poetry-plugin-tweak-dependencies-version", ' ""
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+    poetry-dynamic-versioning
+  ];
+
   propagatedBuildInputs = [ sphinx ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-pytest/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-pytest/default.nix
index 6d05a38d63a7..a034b2b3f01d 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-pytest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-pytest/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "sphinx-pytest";
-  version = "0.0.3";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "chrisjsewell";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-vRHPq6BAuhn5QvHG2BGen9v6ezA3RgFVtustsNxU+n8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-26cV6mfNos/1YLhz5aVQVb54qsiyHWdcHtvmmSzMurk=";
   };
 
-  format = "flit";
+  format = "pyproject";
 
   nativeBuildInputs = [ flit-core ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-rtd-theme/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-rtd-theme/default.nix
index 613f19981216..fe056b3e70bc 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-rtd-theme/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-rtd-theme/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "sphinx-rtd-theme";
-  version = "1.2.0";
+  version = "1.3.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "sphinx_rtd_theme";
     inherit version;
-    hash = "sha256-oNi9Gi7VLgszjL4ZxLLu88XnoEh2l1PaxqnwWce2Qbg=";
+    hash = "sha256-WQsDDHq7nPA47AU7leU4C1xw1hWR6wtVIGP758QfCTE=";
   };
 
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-sitemap/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-sitemap/default.nix
new file mode 100644
index 000000000000..ecb477980c1d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-sitemap/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, sphinx
+}:
+let
+  pname = "sphinx-sitemap";
+  version = "2.5.1";
+in
+buildPythonPackage {
+  inherit pname version;
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-mEvvBou9vCbPriCai2E5LpaBq8kZG0d80w2kBuOmDuU=";
+  };
+
+  propagatedBuildInputs = [
+    sphinx
+  ];
+
+  # Latest tests do not pass on Sphinx5, although it is supported
+  # Ref: https://github.com/jdillard/sphinx-sitemap/blob/ce244e9e1e05f09c566432f6a89bcd6f6ebe83bf/tox.ini#L18C25-L18C25
+  doCheck = false;
+
+  meta = with lib; {
+    changelog = "https://github.com/jdillard/sphinx-sitemap/releases/tag/v${version}";
+    description = "Sitemap generator for Sphinx";
+    homepage = "https://github.com/jdillard/sphinx-sitemap";
+    maintainers = with maintainers; [ alejandrosame ];
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-tabs/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-tabs/default.nix
index a2714c2d1260..1c43bcd6a661 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-tabs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-tabs/default.nix
@@ -1,7 +1,10 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pythonImportsCheckHook
+
+# build-system
+, setuptools
+
 # documentation build dependencies
 , sphinxHook
 # runtime dependencies
@@ -16,6 +19,8 @@
 buildPythonPackage rec {
   pname = "sphinx-tabs";
   version = "3.4.1";
+  format = "pyproject";
+
   outputs = [ "out" "doc" ];
 
   src = fetchFromGitHub {
@@ -30,7 +35,7 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
-    pythonImportsCheckHook
+    setuptools
     sphinxHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-thebe/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-thebe/default.nix
index 1bf8685282ee..d2e05c755a25 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-thebe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-thebe/default.nix
@@ -8,7 +8,7 @@
 buildPythonPackage rec {
   pname = "sphinx-thebe";
   version = "0.2.1";
-  format = "setuptools";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-togglebutton/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-togglebutton/default.nix
index 391fb9205c95..3b3e146b98e8 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-togglebutton/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-togglebutton/default.nix
@@ -1,23 +1,35 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 , wheel
-, sphinx
 , docutils
+, sphinx
 }:
 
 buildPythonPackage rec {
   pname = "sphinx-togglebutton";
   version = "0.3.2";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-qwyLNmQnsB5MiYAtXQeEcsQn+m6dEtUhw0+gRCVZ3Ho=";
   };
 
-  propagatedBuildInputs = [ wheel sphinx docutils ];
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    docutils
+    sphinx
+  ];
 
-  pythonImportsCheck = [ "sphinx_togglebutton" ];
+  pythonImportsCheck = [
+    "sphinx_togglebutton"
+  ];
 
   meta = with lib; {
     description = "Toggle page content and collapse admonitions in Sphinx";
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-version-warning/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-version-warning/default.nix
index 52a6a26124cd..1fb89f3a2849 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-version-warning/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-version-warning/default.nix
@@ -15,9 +15,11 @@
 # Latest tagged release release "1.1.2" (Nov 2018) does not contain
 # documenation, it was added in commits Aug 10, 2019. Repository does not have
 # any activity since then.
-buildPythonPackage rec {
+buildPythonPackage {
   pname = "sphinx-version-warning";
   version = "unstable-2019-08-10";
+  format = "pyproject";
+
   outputs = [ "out" "doc" ];
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx_pypi_upload/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx_pypi_upload/default.nix
deleted file mode 100644
index d2c20e980e7a..000000000000
--- a/nixpkgs/pkgs/development/python-modules/sphinx_pypi_upload/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-}:
-
-buildPythonPackage rec {
-  pname = "Sphinx-PyPI-upload";
-  version = "0.2.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5f919a47ce7a7e6028dba809de81ae1297ac192347cf6fc54efca919d4865159";
-  };
-
-  meta = with lib; {
-    description = "Setuptools command for uploading Sphinx documentation to PyPI";
-    homepage = "https://bitbucket.org/jezdez/sphinx-pypi-upload/";
-    license = licenses.bsd0;
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix
index 530803478614..ad89521a5b59 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-apidoc";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cpv1ks97fdV8TAV5T3MtwCYScnXXhcKlSUUh/d53P7k=";
+    hash = "sha256-/lnRWIJHKqk8Jzevvepr7bNM41y9NKpJR5CfXfFQCq0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
index 4a0dcda23887..8c7cd9b966a9 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-bibtex/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-bibtex";
-  version = "2.5.0";
+  version = "2.6.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cbQuXbDi4oTyQ4dTJr+ZNqqadjKCJ311BIgm/vWwDqo=";
+    hash = "sha256-BGtJ8HCuUnavNMG43bm8lWLvbeL3pS03qRy45T9UuGM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix
index 5830ff0caf57..111db7922b49 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-confluencebuilder/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, flit-core
 , docutils
 , sphinx
 , requests
@@ -9,13 +10,19 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-confluencebuilder";
-  version = "2.0.0";
+  version = "2.3.0";
+  format = "pyproject";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-RyShQt/t8tnE5ZHM0WDQ+jrvXem3y24tCpj3s6Thq+g=";
+    pname = "sphinxcontrib_confluencebuilder";
+    inherit version;
+    hash = "sha256-Zpe2n131afnq4IhQEEZtquvSEkkjv/uznXt2tQhGfZA=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     docutils
     sphinx
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-websupport/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-websupport/default.nix
index 45027ba15c43..ad800984ee46 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-websupport/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-websupport/default.nix
@@ -1,20 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, flit-core
+, jinja2
 , sphinxcontrib-serializinghtml
-, six
 }:
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-websupport";
-  version = "1.2.4";
+  version = "1.2.6";
+  format = "pyproject";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "4edf0223a0685a7c485ae5a156b6f529ba1ee481a1417817935b20bde1956232";
+    pname = "sphinxcontrib_websupport";
+    inherit version;
+    hash = "sha256-1ZK+jhEmG7vGRmjyWO/E/ULJOrYXQRFDtSRf4wxjPYw=";
   };
 
-  propagatedBuildInputs = [ six sphinxcontrib-serializinghtml ];
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+    jinja2
+    sphinxcontrib-serializinghtml
+  ];
 
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-youtube/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-youtube/default.nix
index 795556797b93..67249bd88283 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-youtube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-youtube/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-youtube";
-  version = "1.2.0";
+  version = "1.3.0";
   format = "pyproject";
 
   nativeBuildInputs = [ flit-core ];
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "sphinx-contrib";
     repo = "youtube";
-    rev = "v${version}";
-    hash = "sha256-SUnnrzYJ6cOktE0IdnRWTvPGcL/eVS9obtHBMpS2s4A=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-/mu/OGMc+iP7DV36fmE8pb5y6MMOQ0fmzT8R7RP/tjM=";
   };
 
   propagatedBuildInputs = [ sphinx requests ];
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix
index 726ba8132b01..02abae52c4d1 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxemoji/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , sphinx
 , sphinxHook
 }:
@@ -8,6 +9,7 @@
 buildPythonPackage rec {
   pname = "sphinxemoji";
   version = "0.2.0";
+  format = "pyproject";
 
   outputs = [ "out" "doc" ];
 
@@ -18,14 +20,15 @@ buildPythonPackage rec {
     hash = "sha256-TLhjpJpUIoDAe3RZ/7sjTgdW+5s7OpMEd1/w0NyCQ3A=";
   };
 
-  propagatedBuildInputs = [
-    sphinx
-   ];
-
   nativeBuildInputs = [
+    setuptools
     sphinxHook
   ];
 
+  propagatedBuildInputs = [
+    sphinx
+   ];
+
   pythonImportsCheck = [
     "sphinxemoji"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/sqids/default.nix b/nixpkgs/pkgs/development/python-modules/sqids/default.nix
new file mode 100644
index 000000000000..a53be04df711
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sqids/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sqids";
+  version = "0.3.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-qAY41kOp0m+mua/4bvVwuDW5p0EpwY675Ux3W1JsqbE=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  doCheck = true;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "sqids" ];
+
+  meta = with lib; {
+    homepage = "https://sqids.org/python";
+    description = "A library that lets you generate short YouTube-looking IDs from numbers";
+    license = with licenses; mit;
+    maintainers = with maintainers; [ panicgh ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
index d3ad0bf97038..84b42ad27f2f 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
@@ -37,13 +37,13 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy-utils";
-  version = "0.40.0";
+  version = "0.41.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "SQLAlchemy-Utils";
-    hash = "sha256-r4AwiaeSmAP662FzuQ8p0aZ60C8dHnMvQLBUqOs8c3A=";
+    hash = "sha256-ohgb/wHuuER544Vx0sBxjrUgQvmv2MGU0NAod+hLfXQ=";
   };
 
   patches = [
@@ -92,6 +92,7 @@ buildPythonPackage rec {
     "--deselect tests/functions/test_database.py::TestDatabasePostgresCreateDatabaseCloseConnection::test_create_database_twice"
     "--deselect tests/functions/test_database.py::TestDatabasePostgresPg8000::test_create_and_drop"
     "--deselect tests/functions/test_database.py::TestDatabasePostgresPsycoPG2CFFI::test_create_and_drop"
+    "--deselect tests/functions/test_database.py::TestDatabasePostgresPsycoPG3::test_create_and_drop"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
index 2f5f5d1a8e2c..95e357cabda9 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -40,7 +40,7 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "2.0.19";
+  version = "2.0.21";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     owner = "sqlalchemy";
     repo = "sqlalchemy";
     rev = "refs/tags/rel_${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-97q04wQVtlV2b6VJHxvnQ9ep76T5umn1KI3hXh6a8kU=";
+    hash = "sha256-ldBn+pdZfqnBKdYkOcG47ScH/hBgeJBeIvn1hCIBw/A=";
   };
 
   nativeBuildInputs =[
diff --git a/nixpkgs/pkgs/development/python-modules/sqlbag/default.nix b/nixpkgs/pkgs/development/python-modules/sqlbag/default.nix
new file mode 100644
index 000000000000..8b21d89ad5da
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sqlbag/default.nix
@@ -0,0 +1,95 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, psycopg2
+, pymysql
+, sqlalchemy
+, pathlib
+, six
+, flask
+, pendulum
+, packaging
+, setuptools
+, poetry-core
+, pytestCheckHook
+, pytest-xdist
+, pytest-sugar
+, postgresql
+, postgresqlTestHook
+,
+}:
+buildPythonPackage rec {
+  pname = "sqlbag";
+  version = "0.1.1617247075";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "djrobstep";
+    repo = pname;
+    # no tags on github, version patch number is unix time.
+    rev = "eaaeec4158ffa139fba1ec30d7887f4d836f4120";
+    hash = "sha256-lipgnkqrzjzqwbhtVcWDQypBNzq6Dct/qoM8y/FNiNs=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs =
+    [
+      sqlalchemy
+      six
+      packaging
+
+      psycopg2
+      pymysql
+
+      setuptools # needed for 'pkg_resources'
+    ]
+    ++ lib.optional isPy27 pathlib;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-xdist
+    pytest-sugar
+
+    postgresql
+    postgresqlTestHook
+
+    flask
+    pendulum
+  ];
+
+  preCheck = ''
+    export PGUSER="nixbld";
+  '';
+  disabledTests = [
+    # These all fail with "List argument must consist only of tuples or dictionaries":
+    # Related issue: https://github.com/djrobstep/sqlbag/issues/14
+    "test_basic"
+    "test_createdrop"
+    "test_errors_and_messages"
+    "test_flask_integration"
+    "test_orm_stuff"
+    "test_pendulum_for_time_types"
+    "test_transaction_separation"
+  ];
+
+  pytestFlagsArray = [
+    "-x"
+    "-svv"
+    "tests"
+  ];
+
+  pythonImportsCheck = [
+    "sqlbag"
+  ];
+
+  meta = with lib; {
+    description = "Handy python code for doing database things";
+    homepage = "https://github.com/djrobstep/sqlbag";
+    license = with licenses; [ unlicense ];
+    maintainers = with maintainers; [ soispha ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
index 4dda36262dde..8a09309d53a3 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.7.9";
+  version = "1.7.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-k07Dpkpa1MO9ICMl4a2YI2ONgcUG0vLOzC+wsoHxI3s=";
+    hash = "sha256-7b9NZQeKb6dDllAgGOEdIYNUYKgF74VlMt2NKCIV+KQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/sqlparse/default.nix b/nixpkgs/pkgs/development/python-modules/sqlparse/default.nix
index 193fa3439b56..795647098caf 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlparse/default.nix
@@ -5,6 +5,12 @@
 , installShellFiles
 , pytestCheckHook
 , isPy3k
+
+# for passthru.tests
+, django
+, django_4
+, django-silk
+, pgadmin4
 }:
 
 buildPythonPackage rec {
@@ -28,6 +34,10 @@ buildPythonPackage rec {
     installManPage docs/sqlformat.1
   '';
 
+  passthru.tests = {
+    inherit django django_4 django-silk pgadmin4;
+  };
+
   meta = with lib; {
     description = "Non-validating SQL parser for Python";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/python-modules/sqltrie/default.nix b/nixpkgs/pkgs/development/python-modules/sqltrie/default.nix
index 77ad7ab0425f..b18731c172f9 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.7.0";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-+o0JY572q3qSX4FeXsk9ke0hn94Om/N6HN3HNoUgSkc=";
+    hash = "sha256-9EjvMEpvGjYPUt5qCxv8xXiIxHxXfPEmluA3ZdQU2xI=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/srsly/default.nix b/nixpkgs/pkgs/development/python-modules/srsly/default.nix
index b9abe30062bf..c3549ca3df02 100644
--- a/nixpkgs/pkgs/development/python-modules/srsly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/srsly/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "srsly";
-  version = "2.4.7";
+  version = "2.4.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-k8LMRYh3gmHMsj3QVDsk3tgQFd2KtOwTfNfQSWUDXQg=";
+    hash = "sha256-sk2VplAJwkR+C0nNoEOsU/7PTwnjWNh6V0RkWPkbipE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ssdpy/default.nix b/nixpkgs/pkgs/development/python-modules/ssdpy/default.nix
new file mode 100644
index 000000000000..ba9d32d710b1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ssdpy/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytestCheckHook
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "ssdpy";
+  version = "0.4.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "MoshiBin";
+    repo = "ssdpy";
+    rev = version;
+    hash = "sha256-luOanw4aOepGxoGtmnWZosq9JyHLJb3E+25tPkkL1w0=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-mock
+  ];
+
+  pythonImportsCheck = [ "ssdpy" ];
+
+  disabledTests = [
+    # They all require network access
+    "test_client_json_output"
+    "test_discover"
+    "test_server_ipv4"
+    "test_server_ipv6"
+    "test_server_binds_iface"
+    "test_server_bind_address_ipv6"
+    "test_server_extra_fields"
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/MoshiBin/ssdpy/releases/tag/${version}";
+    description = "A lightweight, compatible SSDP library for Python";
+    homepage = "https://github.com/MoshiBin/ssdpy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mjm ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/stack-data/default.nix b/nixpkgs/pkgs/development/python-modules/stack-data/default.nix
index e1649db165bc..cba83f5df09b 100644
--- a/nixpkgs/pkgs/development/python-modules/stack-data/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stack-data/default.nix
@@ -47,6 +47,10 @@ buildPythonPackage rec {
     typeguard
   ];
 
+  # https://github.com/alexmojaki/stack_data/issues/50
+  # incompatible with typeguard>=3
+  doCheck = false;
+
   disabledTests = [
     # AssertionError
     "test_example"
diff --git a/nixpkgs/pkgs/development/python-modules/stanio/default.nix b/nixpkgs/pkgs/development/python-modules/stanio/default.nix
new file mode 100644
index 000000000000..83fcc7903107
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/stanio/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, setuptools
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "stanio";
+  version = "0.3.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-DFBK5nG41Sah2nEYWsAqJ3VQj/5tPbkfJC6shbz2BG8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  pythonImportsCheck = [ "stanio" ];
+
+  meta = with lib; {
+    description = "Preparing inputs to and reading outputs from Stan";
+    homepage = "https://github.com/WardBrian/stanio";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wegank ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/stanza/default.nix b/nixpkgs/pkgs/development/python-modules/stanza/default.nix
index 0300f9c559d8..51f2152c8689 100644
--- a/nixpkgs/pkgs/development/python-modules/stanza/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stanza/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "stanza";
-  version = "1.5.1";
+  version = "1.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "stanfordnlp";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-c7FaqI/8h6loLJJ9xOaJCyepWp+bc6IcqQlpGlW7u6g=";
+    hash = "sha256-8WH83K/1SbzjlAmjKVh3gT9KVvQ6BMRmg3Z0SSeL1j8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/starlette/default.nix b/nixpkgs/pkgs/development/python-modules/starlette/default.nix
index 1c08e61f6660..acac9c99f13a 100644
--- a/nixpkgs/pkgs/development/python-modules/starlette/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/starlette/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "starlette";
-  version = "0.27.0";
+  version = "0.31.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -31,18 +31,13 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qT3ZJQY5l1K88llJdKoSkwHvfcWwjH6JysMnHYGknqw=";
+    hash = "sha256-Tq414cEpXX8MQDR0KYyB+J7lFqorbiwP/sGnUFvs7wA=";
   };
 
   nativeBuildInputs = [
     hatchling
   ];
 
-  postPatch = ''
-    # remove coverage arguments to pytest
-    sed -i '/--cov/d' setup.cfg
-  '';
-
   propagatedBuildInputs = [
     anyio
     itsdangerous
@@ -79,6 +74,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     changelog = "https://github.com/encode/starlette/releases/tag/${version}";
+    downloadPage = "https://github.com/encode/starlette";
     homepage = "https://www.starlette.io/";
     description = "The little ASGI framework that shines";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/staticmap/default.nix b/nixpkgs/pkgs/development/python-modules/staticmap/default.nix
new file mode 100644
index 000000000000..bb3eac8655bd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/staticmap/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pillow
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "staticmap";
+  version = "0.5.7";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-x6lrkCumEpLoGMILCBBhnWuBps21C8wauS1QrE2yCn8=";
+  };
+
+  propagatedBuildInputs = [ requests pillow ];
+
+  pythonImportsCheck = [ "staticmap" ];
+
+  # Tests seem to be broken
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A small, python-based library for creating map images with lines and markers";
+    homepage = "https://pypi.org/project/staticmap/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ traxys ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/steamodd/default.nix b/nixpkgs/pkgs/development/python-modules/steamodd/default.nix
index 7db250e5ac33..edc489b297e8 100644
--- a/nixpkgs/pkgs/development/python-modules/steamodd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/steamodd/default.nix
@@ -1,17 +1,19 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 }:
 
 buildPythonPackage rec {
   pname = "steamodd";
-  version = "4.23";
+  version = "5.0";
 
   format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "b95b288a8249937b9183539eef76563a6b1df286a1db04f25141e46d8814eae9";
+  src = fetchFromGitHub {
+    owner = "Lagg";
+    repo = "steamodd";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ySAyCOI1ISuBQ/5+UHSQVji76ZDRGjdVwlBAY9tnSmE=";
   };
 
   # tests require API key
diff --git a/nixpkgs/pkgs/development/python-modules/steamship/default.nix b/nixpkgs/pkgs/development/python-modules/steamship/default.nix
index e79b9993b883..5309312bba35 100644
--- a/nixpkgs/pkgs/development/python-modules/steamship/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/steamship/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "steamship";
-  version = "2.17.27";
+  version = "2.17.28";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Wgz0jkMaMUTM7ubb/TsGaQm8UbdPtEvzapl0h4xrqq0=";
+    hash = "sha256-NdWQiHu5YDIEtL4zJj5Vydjmwq1b5aqVcmqIe7zYv3g=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/stix2-patterns/default.nix b/nixpkgs/pkgs/development/python-modules/stix2-patterns/default.nix
new file mode 100644
index 000000000000..3817a96fe99c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/stix2-patterns/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, antlr4-python3-runtime
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, pytestCheckHook
+, wheel
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "stix2-patterns";
+  version = "2.0.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "oasis-open";
+    repo = "cti-pattern-validator";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-lFgnvI5a7U7/Qj4Pqjr3mx4TNDnC2/Ru7tVG7VggR7Y=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "antlr4-python3-runtime~=" "antlr4-python3-runtime>="
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    antlr4-python3-runtime
+    six
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "stix2patterns"
+  ];
+
+  disabledTestPaths = [
+    # Exception: Could not deserialize ATN with version  (expected 4)
+    "stix2patterns/test/v20/test_inspector.py"
+    "stix2patterns/test/v21/test_inspector.py"
+    "stix2patterns/test/v20/test_validator.py"
+    "stix2patterns/test/v21/test_validator.py"
+  ];
+
+  meta = with lib; {
+    description = "Validate patterns used to express cyber observable content in STIX Indicators";
+    homepage = "https://github.com/oasis-open/cti-pattern-validator";
+    changelog = "https://github.com/oasis-open/cti-pattern-validator/blob/${version}/CHANGELOG.rst";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/stravalib/default.nix b/nixpkgs/pkgs/development/python-modules/stravalib/default.nix
index b05e147dcaa9..df64dbebab50 100644
--- a/nixpkgs/pkgs/development/python-modules/stravalib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stravalib/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "stravalib";
-  version = "1.2.0";
+  version = "1.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-P00oxUz0oVQB969c/N2wpKLe09wtvQWPH4DH4EZUaxc=";
+    hash = "sha256-OEdMRg3KjUrXt/CgJgsUqa/sVFAE0JONNZg5MBKtxmY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/strawberry-graphql/default.nix b/nixpkgs/pkgs/development/python-modules/strawberry-graphql/default.nix
index 761a14fbfd03..93704c953ee8 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.205.0";
+  version = "0.208.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -51,7 +51,7 @@ buildPythonPackage rec {
     owner = "strawberry-graphql";
     repo = "strawberry";
     rev = "refs/tags/${version}";
-    hash = "sha256-58pBsTQM3t5rj4AywhMqmCUzUQB4BH9FAF7J3p6Qkok=";
+    hash = "sha256-Gp58q1oZblbEQftEiq3il12eVIVF68jbGiqLdlolHvU=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/streamlit/default.nix b/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
index 95a11c70592b..b764d9573451 100755
--- a/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
@@ -12,7 +12,7 @@
 , packaging
 , pandas
 , pillow
-, protobuf3
+, protobuf
 , pyarrow
 , pydeck
 , pympler
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "streamlit";
-  version = "1.26.0";
+  version = "1.27.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version format;
-    hash = "sha256-JUdfsVo8yfsYSUXz/JNvARmYvYOG4MiS/r4UyWJb9Ho=";
+    hash = "sha256-M/muDeW31ZzX2rqHdUxU7IN6dsJKz8QdH45RSPIJA+4=";
   };
 
   nativeBuildInputs = [ pythonRelaxDepsHook ];
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     packaging
     pandas
     pillow
-    protobuf3
+    protobuf
     pyarrow
     pydeck
     pympler
diff --git a/nixpkgs/pkgs/development/python-modules/stripe/default.nix b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
index 9f1f11e1c18c..c70241afeb37 100644
--- a/nixpkgs/pkgs/development/python-modules/stripe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
@@ -3,22 +3,24 @@
 , fetchPypi
 , requests
 , pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "5.5.0";
+  version = "6.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BKlzKzekYijs8OSWFjo+3ZNZaw5iAAKfvEiRFjhifhk=";
+    hash = "sha256-9fTHare5AfJjHvd3QdBpMg8zKMHjGRjax+20qgSssP0=";
   };
 
   propagatedBuildInputs = [
     requests
+    typing-extensions
   ];
 
   # Tests require network connectivity and there's no easy way to disable them
diff --git a/nixpkgs/pkgs/development/python-modules/structlog/default.nix b/nixpkgs/pkgs/development/python-modules/structlog/default.nix
index c21785f430b6..20d1ba2c0a56 100644
--- a/nixpkgs/pkgs/development/python-modules/structlog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/structlog/default.nix
@@ -16,16 +16,16 @@
 
 buildPythonPackage rec {
   pname = "structlog";
-  version = "23.1.0";
+  version = "23.2.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "hynek";
     repo = "structlog";
     rev = "refs/tags/${version}";
-    hash = "sha256-0zHvBMiZB4cGntdYXA7C9V9+FfnDB6sHGuFRYAo/LJw=";
+    hash = "sha256-KSHKgkv+kObKCdWZDg5o6QYe0AMND9VLdEuseY/GyDY=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/succulent/default.nix b/nixpkgs/pkgs/development/python-modules/succulent/default.nix
new file mode 100644
index 000000000000..3b191bae9b85
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/succulent/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, pandas
+, pyyaml
+, poetry-core
+, pytestCheckHook
+, pythonRelaxDepsHook
+, pythonOlder
+, toml-adapt
+}:
+
+buildPythonPackage rec {
+  pname = "succulent";
+  version = "0.2.5";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "firefly-cpp";
+    repo = "succulent";
+    rev = version;
+    hash = "sha256-fSsb2UQM69AAjJd/Rvzuok7jBeAa6udbB8FbuNP8Ztw=";
+  };
+
+  pythonRelaxDeps = [
+    "flask"
+    "pandas"
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  propagatedBuildInputs = [
+    flask
+    pandas
+    pyyaml
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "succulent"
+  ];
+
+  meta = with lib; {
+    description = "Collect POST requests";
+    homepage = "https://github.com/firefly-cpp/succulent";
+    changelog = "https://github.com/firefly-cpp/succulent/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ firefly-cpp ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sumo/default.nix b/nixpkgs/pkgs/development/python-modules/sumo/default.nix
index 909abc3949bf..da7641c9d056 100644
--- a/nixpkgs/pkgs/development/python-modules/sumo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sumo/default.nix
@@ -18,16 +18,16 @@
 
 buildPythonPackage rec {
   pname = "sumo";
-  version = "2.3.6";
+  version = "2.3.7";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "SMTG-UCL";
     repo = "sumo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HQIs2G2hdKQkQOBs2lijmx/0cI4o/FFJU866PjtrBAE=";
+    hash = "sha256-9NHz8SPymD9zANWMeajjavpjw68X4abqhrLl0dn92l0=";
   };
 
   nativeBuildInputs = [
@@ -58,6 +58,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Toolkit for plotting and analysis of ab initio solid-state calculation data";
     homepage = "https://github.com/SMTG-UCL/sumo";
+    changelog = "https://github.com/SMTG-Bham/sumo/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ psyanticy ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix b/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
index e81365767432..a676f28d2758 100644
--- a/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sunpy/default.nix
@@ -31,14 +31,14 @@
 
 buildPythonPackage rec {
   pname = "sunpy";
-  version = "4.1.3";
+  version = "5.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-YNShjuLC7gBRn11oAd5Kp5CfCn92vAo/K4QNIXm/Mtc=";
+    hash = "sha256-7tmyywyfQw1T9qr5UbPH/KR+AmmhSaHunkeUGRKDl+Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/supervise-api/default.nix b/nixpkgs/pkgs/development/python-modules/supervise-api/default.nix
new file mode 100644
index 000000000000..3bd223127a7d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/supervise-api/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, substituteAll
+, supervise
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "supervise-api";
+  version = "0.6.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "supervise_api";
+    inherit version;
+    hash = "sha256-EjD0IpSRDoNCG307CKlo0n1RCkpwnpZlB+1w212hud4=";
+  };
+
+  postPatch = ''
+    substituteInPlace supervise_api/supervise.py \
+      --replace 'which("supervise")' '"${supervise}/bin/supervise"'
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "supervise_api"
+  ];
+
+  meta = {
+    description = "An API for running processes safely and securely";
+    homepage = "https://github.com/catern/supervise";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ catern ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/supervise_api/default.nix b/nixpkgs/pkgs/development/python-modules/supervise_api/default.nix
deleted file mode 100644
index 7d4c7f4e3f8b..000000000000
--- a/nixpkgs/pkgs/development/python-modules/supervise_api/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, substituteAll
-, supervise
-, isPy3k
-, whichcraft
-, util-linux
-}:
-
-buildPythonPackage rec {
-  pname = "supervise_api";
-  version = "0.6.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1230f42294910e83421b7d3b08a968d27d510a4a709e966507ed70db5da1b9de";
-  };
-
-  patches = [
-    (substituteAll {
-      src = ./supervise-path.patch;
-      inherit supervise;
-    })
-  ];
-
-  # In the git repo, supervise_api lives inside a python subdir
-  patchFlags = [ "-p2" ];
-
-  propagatedBuildInputs = lib.optional (!isPy3k) whichcraft;
-
-  nativeCheckInputs = [ util-linux ];
-
-  meta = {
-    description = "An API for running processes safely and securely";
-    homepage = "https://github.com/catern/supervise";
-    license = lib.licenses.lgpl3;
-    maintainers = with lib.maintainers; [ catern ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/supervise_api/supervise-path.patch b/nixpkgs/pkgs/development/python-modules/supervise_api/supervise-path.patch
deleted file mode 100644
index c5538ddc26e2..000000000000
--- a/nixpkgs/pkgs/development/python-modules/supervise_api/supervise-path.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/python/supervise_api/supervise.py b/python/supervise_api/supervise.py
-index 497d3ea..be57e35 100644
---- a/python/supervise_api/supervise.py
-+++ b/python/supervise_api/supervise.py
-@@ -41,9 +41,7 @@ try:
- except:
-     from whichcraft import which
- 
--supervise_utility_location = which("supervise")
--if not supervise_utility_location:
--    raise FileNotFoundError(errno.ENOENT, "Executable not found in PATH", "supervise")
-+supervise_utility_location = '@supervise@/bin/supervise'
- 
- 
- def ignore_sigchld():
diff --git a/nixpkgs/pkgs/development/python-modules/surt/default.nix b/nixpkgs/pkgs/development/python-modules/surt/default.nix
index a13bfb154ff4..d11e8e2fe53f 100644
--- a/nixpkgs/pkgs/development/python-modules/surt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/surt/default.nix
@@ -1,19 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
 , six
 , tldextract
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "surt";
   version = "0.3.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "internetarchive";
     repo = "surt";
-    rev = "6934c321b3e2f66af9c001d882475949f00570c5"; # Has no git tag
+    # Has no git tag, https://github.com/internetarchive/surt/issues/26
+    rev = "6934c321b3e2f66af9c001d882475949f00570c5";
     hash = "sha256-pSMNpFfq2V0ANWNFPcb1DwPHccbfddo9P4xZ+ghwbz4=";
   };
 
@@ -26,7 +31,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "surt" ];
+  pythonImportsCheck = [
+    "surt"
+  ];
+
+  disabledTests = [
+    # Tests want to download Public Suffix List
+    "test_getPublicPrefix"
+    "test_getPublicSuffix"
+  ];
 
   meta = with lib; {
     description = "Sort-friendly URI Reordering Transform (SURT) python module";
diff --git a/nixpkgs/pkgs/development/python-modules/sv-ttk/default.nix b/nixpkgs/pkgs/development/python-modules/sv-ttk/default.nix
index 3032761032e2..660d32a6735c 100644
--- a/nixpkgs/pkgs/development/python-modules/sv-ttk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sv-ttk/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "sv-ttk";
-  version = "2.4.5";
+  version = "2.5.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "sv_ttk";
-    hash = "sha256-ysRhRxrml+wmluH8F5AE7vZYXrTNUg5ZzI+26jwpOpc=";
+    hash = "sha256-m7/iq6bMb5/fcNeTMQRlQ8lmb8zMeLrV/2SKmYfjzts=";
   };
 
   # No tests available
diff --git a/nixpkgs/pkgs/development/python-modules/symengine/default.nix b/nixpkgs/pkgs/development/python-modules/symengine/default.nix
index 60ae59584805..38ceda098209 100644
--- a/nixpkgs/pkgs/development/python-modules/symengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/symengine/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "symengine";
-  version = "0.9.2";
+  version = "0.10.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "symengine";
     repo = "symengine.py";
-    rev = "v${version}";
-    hash = "sha256-ZHplYEG97foy/unOdSokFFkDl4LK5TI4kypHSLpcCM4=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-03lHip0iExfptrUe5ObA6xXrsfS4QJPrh1Z0v7q2lDI=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/syncedlyrics/default.nix b/nixpkgs/pkgs/development/python-modules/syncedlyrics/default.nix
index 267db53c14f7..a8482b18d56a 100644
--- a/nixpkgs/pkgs/development/python-modules/syncedlyrics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/syncedlyrics/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "syncedlyrics";
-  version = "0.6.0";
+  version = "0.6.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "rtcq";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-SVB6hlVBk+0nNfJjp5zdv4A6FmVt1/NV4ov6qS1DlLI=";
+    hash = "sha256-oMG3TqCJfEyfF5zK8hNhyhQ1z7G+S+De8hI1GLCfctM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/syrupy/default.nix b/nixpkgs/pkgs/development/python-modules/syrupy/default.nix
index cd9d2addc604..8759f3562596 100644
--- a/nixpkgs/pkgs/development/python-modules/syrupy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/syrupy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "syrupy";
-  version = "4.2.1";
+  version = "4.5.0";
   format = "pyproject";
 
   disabled = lib.versionOlder python.version "3.8.1";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tophat";
     repo = "syrupy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MXUuLw4+J/9JtXY1DYwBjj2sgAbO2cXQi1HnVRx3BhM=";
+    hash = "sha256-HRCURqnFzo1l+PjX1LtXTSVZGA36OaRgmy4xKizeuOg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix b/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix
index 601fdee70310..c473a3755fe0 100644
--- a/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "tableauserverclient";
-  version = "0.25";
+  version = "0.26";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-01TRYkXEWagFrSB7zvP6Bj4YvIFoaVkgrIm/gSWkILY=";
+    sha256 = "sha256-vn7A7n0Z4kTtrm8MEoUJiv94K3qA/4Kx8lElhDM/LlI=";
   };
 
   propagatedBuildInputs = [ defusedxml requests packaging ];
diff --git a/nixpkgs/pkgs/development/python-modules/tabledata/default.nix b/nixpkgs/pkgs/development/python-modules/tabledata/default.nix
index 5e7b00c99efa..b178665628a6 100644
--- a/nixpkgs/pkgs/development/python-modules/tabledata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tabledata/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "tabledata";
-  version = "1.3.1";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "thombashi";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-oDo+wj5MO5Zopya2lp+sU/LAnFGZy6OIdW4YgcAmw1Q=";
+    hash = "sha256-84KrXnks76mvIjcEeQPpwd8rPO5SMbH/jfqERaFTrWo=";
   };
 
   propagatedBuildInputs = [ dataproperty typepy ];
diff --git a/nixpkgs/pkgs/development/python-modules/tables/default.nix b/nixpkgs/pkgs/development/python-modules/tables/default.nix
index 8705f64817e8..c1726ee97a85 100644
--- a/nixpkgs/pkgs/development/python-modules/tables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tables/default.nix
@@ -36,6 +36,12 @@ buildPythonPackage rec {
       url = "https://github.com/PyTables/PyTables/commit/337792561e5924124efd20d6fea6bbbd2428b2aa.patch";
       hash = "sha256-pz3A/jTPWXXlzr+Yl5PRUvdSAinebFsoExfek4RUHkc=";
     })
+    (fetchpatch {
+      name = "numexpr-2.8.5-compatibility.patch";
+      url = "https://github.com/PyTables/PyTables/commit/1a235490ebe1a138da1139cfa19829b5f0a2af37.patch";
+      includes = [ "tables/tests/test_queries.py" ];
+      hash = "sha256-uMS+Z2Zcz68ILMQaBdIDMnCyasozCaCGOiGIyw0+Evc=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix b/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix
index 585cf7205e1f..b985ebf8d893 100644
--- a/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "tabula-py";
-  version = "2.7.0";
+  version = "2.8.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "chezou";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-SV4QLvk7dXtU0/husS5A5mBYvbTejLyO9PpiO2oBtjs=";
+    hash = "sha256-QqTfbSwGaNRXBiAzB1fsEawxCvlIunB1j2jSFD9imPI=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/tag-expressions/default.nix b/nixpkgs/pkgs/development/python-modules/tag-expressions/default.nix
index d992b4250891..e87c489dae4a 100644
--- a/nixpkgs/pkgs/development/python-modules/tag-expressions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tag-expressions/default.nix
@@ -2,18 +2,28 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "tag-expressions";
-  version = "1.1.0";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c0a49c3c0357976822b03c43db8d4a1c5548e16fb07ac939c10bbd5183f529d";
+    hash = "sha256-/6Ym72jlgVdpel4V2W2aCKNtISDT9y5qz7+gTllUuPg=";
   };
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "tagexpressions"
+  ];
 
   meta = with lib; {
     description = "Package to parse logical tag expressions";
diff --git a/nixpkgs/pkgs/development/python-modules/tagoio-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/tagoio-sdk/default.nix
index e6b9ab2d7216..b5bcc619eed8 100644
--- a/nixpkgs/pkgs/development/python-modules/tagoio-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tagoio-sdk/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "tagoio-sdk";
-  version = "4.1.1";
+  version = "4.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "tago-io";
     repo = "sdk-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GHjkw7B/T+XZ3F3XCI0INpx9NWjORr0lbuGse/W25wY=";
+    hash = "sha256-R7qJIgL8/zejIuT6YMnC3bdm8lKLBTK5eVjVDEjvRKs=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/tank-utility/default.nix b/nixpkgs/pkgs/development/python-modules/tank-utility/default.nix
index ab4573594d95..03d9c6c77d73 100644
--- a/nixpkgs/pkgs/development/python-modules/tank-utility/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tank-utility/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "tank-utility";
-  version = "1.4.1";
+  version = "1.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,16 +20,10 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "krismolendyke";
     repo = pname;
-    rev = version;
-    hash = "sha256-2cxAaSyreIzQzCUtiolEV7JbGFKL8Mob3337J0jlMsU=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-h9y3X+FSzSFt+bd/chz+x0nocHaKZ8DvreMxAYMs8/E=";
   };
 
-  postPatch = ''
-    # urllib3[secure] is not picked-up
-    substituteInPlace setup.py \
-      --replace "urllib3[secure]" "urllib3"
-  '';
-
   propagatedBuildInputs = [
     requests
     urllib3
@@ -49,6 +43,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for the Tank Utility API";
     homepage = "https://github.com/krismolendyke/tank-utility";
+    changelog = "https://github.com/krismolendyke/tank-utility/blob/${version}/HISTORY.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/tbats/default.nix b/nixpkgs/pkgs/development/python-modules/tbats/default.nix
new file mode 100644
index 000000000000..8976fef859d3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tbats/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, numpy
+, pmdarima
+, scikit-learn
+, scipy
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "tbats";
+  version = "1.1.3";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "intive-DataScience";
+    repo = "tbats";
+    rev = version;
+    hash = "sha256-f6QqDq/ffbnFBZRAT6KQRlqvZZSE+Pff2/o+htVabZI=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    pmdarima
+    scikit-learn
+    scipy
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+  pytestFlagsArray = [
+    # test_R folder is just for comparison of results with R lib
+    # we need only test folder
+    "test/"
+
+    # several tests has same name, so we use --deselect instead of disableTests
+
+    # Test execution is too long > 15 min
+    "--deselect=test/tbats/TBATS_test.py::TestTBATS::test_fit_predict_trigonometric_seasonal"
+  ];
+
+  pythonImportsCheck = [ "tbats" ];
+
+  meta = with lib; {
+    description = "BATS and TBATS forecasting methods";
+    homepage = "https://github.com/intive-DataScience/tbats";
+    changelog = "https://github.com/intive-DataScience/tbats/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tblib/default.nix b/nixpkgs/pkgs/development/python-modules/tblib/default.nix
index 2f06b665d33f..0441fb2894fd 100644
--- a/nixpkgs/pkgs/development/python-modules/tblib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tblib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "tblib";
-  version = "1.7.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c";
+    sha256 = "sha256-pt8w8nLAi/i+ZuB3X62GIAXZUKa4RJuU98eIcx1w7Nc=";
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/tcolorpy/default.nix b/nixpkgs/pkgs/development/python-modules/tcolorpy/default.nix
index cb650560fcda..9114043e149b 100644
--- a/nixpkgs/pkgs/development/python-modules/tcolorpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tcolorpy/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "tcolorpy";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "thombashi";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-NUlDEMvd6l2GJ9tIXC3zo/8Ji7t0oV0GNVP9UF106yo=";
+    hash = "sha256-cCdKeixRfXkvEGBqozMWw2RjliLdzhlMv8GE2Q40LZQ=";
   };
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/tempest/default.nix b/nixpkgs/pkgs/development/python-modules/tempest/default.nix
index 8f6b8c7552f8..3c8217239f23 100644
--- a/nixpkgs/pkgs/development/python-modules/tempest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tempest/default.nix
@@ -30,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "tempest";
-  version = "35.0.0";
+  version = "36.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TKGgOAOqa+1f3yXIkWxt2bVx4UT/IfQpc9rNB4fLkw0=";
+    hash = "sha256-97Z5C7IluOXSkkUamFuljzzvD3QxdHZ/p8mXE9jW/2I=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tenacity/default.nix b/nixpkgs/pkgs/development/python-modules/tenacity/default.nix
index 91017b840359..5fe70090feea 100644
--- a/nixpkgs/pkgs/development/python-modules/tenacity/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tenacity/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "tenacity";
-  version = "8.2.2";
+  version = "8.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Q68DeCK9ACkCWHfzstl8xNe7DCmRAAo9WdcVF8XJaeA=";
+    hash = "sha256-U5jvDXjmP0AAfB+0wL/5bhkROU0vqNGU93YZwF/2zIo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tensorboard-data-server/default.nix b/nixpkgs/pkgs/development/python-modules/tensorboard-data-server/default.nix
index d6df4fc0b241..5ff48c7cc3d1 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorboard-data-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorboard-data-server/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "tensorboard-data-server";
-  version = "0.6.1";
+  version = "0.7.1";
   format = "wheel";
   disabled = pythonOlder "3.6";
 
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     inherit version format;
     dist = "py3";
     python = "py3";
-    hash = "sha256-gJ/piHaC01wffR9U8PQPmLsfdxsUJltFPKBR4s5Y/Kc=";
+    hash = "sha256-mTi9OfUEF5ezOSEGb7oOqwOg3RDRiHoF5irliEGtTD8=";
   };
 
   pythonImportsCheck = [ "tensorboard_data_server" ];
diff --git a/nixpkgs/pkgs/development/python-modules/tensorboard/default.nix b/nixpkgs/pkgs/development/python-modules/tensorboard/default.nix
index c49fcad07531..73c76d74771c 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorboard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorboard/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "tensorboard";
-  version = "2.11.0";
+  version = "2.14.0";
   format = "wheel";
   disabled = pythonOlder "3.6";
 
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     inherit pname version format;
     dist = "py3";
     python = "py3";
-    hash = "sha256-oOWS7oeWLhevPw3Of6rj+70jkDAVnp5iXM6BC341xT0=";
+    hash = "sha256-Nmf5dF2ZKAg2rWcwIjYshA9g7Y/v1aPjC/Bx9aj9ABc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/termcolor/default.nix b/nixpkgs/pkgs/development/python-modules/termcolor/default.nix
index ba5244f66af3..0d40a1b44f96 100644
--- a/nixpkgs/pkgs/development/python-modules/termcolor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/termcolor/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "termcolor";
-  version = "2.2.0";
+  version = "2.3.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-38isPzUHiPI7KUez5s+lpTtjC2EubNiWWgFad2AguZo=";
+    hash = "sha256-tbCPaJN/E4/pL2wIm5nx4toK5WxSt4v3B1/ZVCD9mlo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix b/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix
index 9e33acfc991e..daf4db447c4c 100644
--- a/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "3.9.3";
+  version = "3.9.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-kA2MFYryz61Mm/sPfH1NuLKnz4whtdNb6hGPYQZgQKQ=";
+    hash = "sha256-CMgqZePM67IejwYy+x6vfFSPpAA5NRUp5KRD1lEq7io=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tesserocr/default.nix b/nixpkgs/pkgs/development/python-modules/tesserocr/default.nix
index 268ee9978536..4b7a89ea7b73 100644
--- a/nixpkgs/pkgs/development/python-modules/tesserocr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tesserocr/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "tesserocr";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-pz82cutgQ9ifMS6+40mcBiOsXIqeEquYdBWT+npZNPY=";
+    sha256 = "sha256-RVJfocGjVvnRVanekbN1nKRECEr9hTVE9aKaqFizA5A=";
   };
 
   # https://github.com/sirfz/tesserocr/issues/314
diff --git a/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix b/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
index 4ccc1251a8fb..64b49efbd1de 100644
--- a/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testfixtures/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "testfixtures";
-  version = "7.1.0";
+  version = "7.2.0";
   format = "setuptools";
   # DO NOT CONTACT upstream.
   # https://github.com/simplistix/ is only concerned with internal CI process.
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RWzk85MWDyfNaEClNw7PSnDxchc39eZ6KveebIF4BKQ=";
+    hash = "sha256-jIwg3TDqETVIUHWEodqud5JI26pXEmcseruXCfD7+LI=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/testtools/default.nix b/nixpkgs/pkgs/development/python-modules/testtools/default.nix
index e0780dd768cb..c4f74d377d5f 100644
--- a/nixpkgs/pkgs/development/python-modules/testtools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/testtools/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "testtools";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "57c13433d94f9ffde3be6534177d10fb0c1507cc499319128958ca91a65cb23f";
+    sha256 = "sha256-KLZeFMDy0+y7+19VydzeXk+qgKwWo3qCOQmh/jy8swo=";
   };
 
   propagatedBuildInputs = [ pbr python-mimeparse extras ];
diff --git a/nixpkgs/pkgs/development/python-modules/textacy/default.nix b/nixpkgs/pkgs/development/python-modules/textacy/default.nix
index 2986f3428eb1..80c40f7d5514 100644
--- a/nixpkgs/pkgs/development/python-modules/textacy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textacy/default.nix
@@ -21,13 +21,13 @@
 
 buildPythonPackage rec {
   pname = "textacy";
-  version = "0.12.0";
+  version = "0.13.0";
   disabled = pythonOlder "3.7";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c92bdd6b47305447b64e4cb6cc43c11675f021f910a8074bc8149dbf5325e5b";
+    sha256 = "sha256-a+AkSMCPx9fE7fhSiQBuOaSlPvdHIB/yS2dcZS9AxoY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/textdistance/default.nix b/nixpkgs/pkgs/development/python-modules/textdistance/default.nix
index 5b50bd0a3ad0..2c2d5ee23adf 100644
--- a/nixpkgs/pkgs/development/python-modules/textdistance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textdistance/default.nix
@@ -1,22 +1,32 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "textdistance";
-  version = "4.5.0";
+  version = "4.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Nk1D9PZjV0JmLj5s9TcqhoWUFshKPJsu+dZtRPWkOFw=";
+    hash = "sha256-cyxQMVzU7pRjg4ZDzxnWkiEwLDYDHqpgcMMMwKpdqMo=";
   };
 
   # There aren't tests
   doCheck = false;
 
-  pythonImportsCheck = [ "textdistance" ];
+  pythonImportsCheck = [
+    "textdistance"
+  ];
 
   meta = with lib; {
     description = "Python library for comparing distance between two or more sequences";
     homepage = "https://github.com/life4/textdistance";
+    changelog = "https://github.com/life4/textdistance/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/texttable/default.nix b/nixpkgs/pkgs/development/python-modules/texttable/default.nix
index 5afe66941c09..d1134a28601a 100644
--- a/nixpkgs/pkgs/development/python-modules/texttable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/texttable/default.nix
@@ -1,20 +1,39 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "texttable";
-  version = "1.6.7";
+  version = "1.7.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KQNI+2f3dGkxvN/VWsdYTs1OWwhGqxZDM/B5SxIXYPI=";
+    hash = "sha256-LSBo+1URWAfTrHekymj6SIA+hOuw7iNA+FgQejZSJjg=";
   };
 
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "texttable"
+  ];
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
+
   meta = with lib; {
-    description = "A module to generate a formatted text table, using ASCII characters";
+    description = "Module to generate a formatted text table, using ASCII characters";
     homepage = "https://github.com/foutaise/texttable";
-    license = licenses.lgpl2;
+    changelog = "https://github.com/foutaise/texttable/blob/v${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix b/nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix
index 9224f06511b9..5f14accbaca7 100644
--- a/nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textual-universal-directorytree/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "textual-universal-directorytree";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "juftin";
     repo = "textual-universal-directorytree";
-    rev = "v${version}";
-    hash = "sha256-a7alxVmHTKJnJiU7X6UlUD2y7MY4O5TMR+02KcyPwEs=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-FL2bwPGqBmDn33Rhj7+VEpuqB4znEAw+GGAODTs25oo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/textual/default.nix b/nixpkgs/pkgs/development/python-modules/textual/default.nix
index e4be329b0a9b..6b7598a386be 100644
--- a/nixpkgs/pkgs/development/python-modules/textual/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textual/default.nix
@@ -1,15 +1,9 @@
 { lib
-, aiohttp
 , buildPythonPackage
-, click
 , fetchFromGitHub
 , importlib-metadata
 , jinja2
-, linkify-it-py
 , markdown-it-py
-, mdit-py-plugins
-, mkdocs-exclude
-, msgpack
 , poetry-core
 , pytest-aiohttp
 , pytestCheckHook
@@ -17,13 +11,14 @@
 , rich
 , syrupy
 , time-machine
+, tree-sitter
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "textual";
-  version = "0.37.1";
-  format = "pyproject";
+  version = "0.40.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -31,7 +26,7 @@ buildPythonPackage rec {
     owner = "Textualize";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4ehq36j2n2wRMgos5x4LQ0QeELpWAOgpgTxEWjqFLJs=";
+    hash = "sha256-+3bxc0ryHtbEJkB+EqjJhW+yWJWxMkxlSav4v6D3/gw=";
   };
 
   nativeBuildInputs = [
@@ -39,18 +34,19 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    aiohttp
-    click
     importlib-metadata
-    linkify-it-py
     markdown-it-py
-    mdit-py-plugins
-    mkdocs-exclude
-    msgpack
     rich
-  ] ++ lib.optionals (pythonOlder "3.11") [
     typing-extensions
-  ];
+  ] ++ markdown-it-py.optional-dependencies.plugins
+    ++ markdown-it-py.optional-dependencies.linkify;
+
+  passthru.optional-dependencies = {
+    syntax = [
+      tree-sitter
+      # tree-sitter-languages
+    ];
+  };
 
   nativeCheckInputs = [
     jinja2
@@ -58,7 +54,7 @@ buildPythonPackage rec {
     pytestCheckHook
     syrupy
     time-machine
-  ];
+  ] ++ passthru.optional-dependencies.syntax;
 
   disabledTestPaths = [
     # snapshot tests require syrupy<4
@@ -69,6 +65,9 @@ buildPythonPackage rec {
     # Assertion issues
     "test_textual_env_var"
     "test_softbreak_split_links_rendered_correctly"
+
+    # requires tree-sitter-languages which is not packaged in nixpkgs
+    "test_register_language"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/textx/default.nix b/nixpkgs/pkgs/development/python-modules/textx/default.nix
index f9541cf23ce2..e169cbdb9b81 100644
--- a/nixpkgs/pkgs/development/python-modules/textx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textx/default.nix
@@ -12,7 +12,6 @@
 , gprof2dot
 , html5lib
 , jinja2
-, memory_profiler
 , psutil
 , pytestCheckHook
 }:
diff --git a/nixpkgs/pkgs/development/python-modules/textx/tests.nix b/nixpkgs/pkgs/development/python-modules/textx/tests.nix
index af910a16119f..488c276e910f 100644
--- a/nixpkgs/pkgs/development/python-modules/textx/tests.nix
+++ b/nixpkgs/pkgs/development/python-modules/textx/tests.nix
@@ -4,7 +4,7 @@
 , gprof2dot
 , html5lib
 , jinja2
-, memory_profiler
+, memory-profiler
 , psutil
 , pytestCheckHook
 , setuptools
@@ -30,7 +30,7 @@ buildPythonPackage {
     gprof2dot
     html5lib
     jinja2
-    memory_profiler
+    memory-profiler
     psutil
     pytestCheckHook
     setuptools
diff --git a/nixpkgs/pkgs/development/python-modules/tf2onnx/default.nix b/nixpkgs/pkgs/development/python-modules/tf2onnx/default.nix
index b1fe7abfae25..f1359e6fdaac 100644
--- a/nixpkgs/pkgs/development/python-modules/tf2onnx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tf2onnx/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonPackage rec {
   pname = "tf2onnx";
-  version = "1.14.0";
+  version = "1.15.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "onnx";
     repo = "tensorflow-onnx";
-    rev = "v${version}";
-    hash = "sha256-JpXwf+GLjn0krsb5KnEhVuemWa0V2+wF10neDsdtOfI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-HqzcoPPX9+NOj0uFfOSVI2MNCkxq1NmLqXflwdi5RF0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/thefuzz/default.nix b/nixpkgs/pkgs/development/python-modules/thefuzz/default.nix
index 2748381f7dc2..8d240fe19e3e 100644
--- a/nixpkgs/pkgs/development/python-modules/thefuzz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/thefuzz/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "thefuzz";
-  version = "0.19.0";
+  version = "0.20.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-b3Em2y8silQhKwXjp0DkX0KRxJfXXSB1Fyj2Nbt0qj0=";
+    hash = "sha256-ol5JeGscRgPH/G4taea8ZgmCopGWmLU2/4NU4GMcxA0=";
   };
 
   propagatedBuildInputs = [ levenshtein ];
diff --git a/nixpkgs/pkgs/development/python-modules/thelogrus/default.nix b/nixpkgs/pkgs/development/python-modules/thelogrus/default.nix
new file mode 100644
index 000000000000..1dc3f301dfea
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/thelogrus/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, dateutils
+, fetchFromGitHub
+, poetry-core
+, pyaml
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "thelogrus";
+  version = "0.7.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "unixorn";
+    repo = "thelogrus";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-96/EjDh5XcTsfUcTnsltsT6LMYbyKuM/eNyeq2Pukfo=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    dateutils
+    pyaml
+  ];
+
+  # Module has no unit tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "thelogrus"
+  ];
+
+  meta = with lib; {
+    description = "Python 3 version of logrus";
+    homepage = "https://github.com/unixorn/thelogrus";
+    changelog = "https://github.com/unixorn/thelogrus/blob/${version}/ChangeLog.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/thinc/default.nix b/nixpkgs/pkgs/development/python-modules/thinc/default.nix
index a712f0078b9a..18f8623f4539 100644
--- a/nixpkgs/pkgs/development/python-modules/thinc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/thinc/default.nix
@@ -21,6 +21,7 @@
 , pytestCheckHook
 , python
 , pythonOlder
+, setuptools
 , srsly
 , tqdm
 , typing-extensions
@@ -29,16 +30,25 @@
 
 buildPythonPackage rec {
   pname = "thinc";
-  version = "8.1.10";
+  version = "8.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bEpI19oH4EToSmjLubIvMvhJCZWiurC/xg5BLRSvuZE=";
+    hash = "sha256-gsoeeDHjVNdMZ3bth9vXP0qtWe0ljIdGy+hoaIGG/Ek=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "preshed>=3.0.2,<3.1.0" "preshed"
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   buildInputs = [
     cython
   ] ++ lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix b/nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix
index bfe40429127f..54d7fa128293 100644
--- a/nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/threadpoolctl/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, flit
+, flit-core
 , pytestCheckHook
 , numpy
 , scipy
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   version = "3.1.0";
 
   disabled = pythonOlder "3.6";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "joblib";
@@ -22,6 +22,10 @@ buildPythonPackage rec {
     hash = "sha256-/qt7cgFbvpc1BLZC7a4S0RToqSggKXAqF1Xr6xOqzw8=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
     numpy
diff --git a/nixpkgs/pkgs/development/python-modules/tidyexc/default.nix b/nixpkgs/pkgs/development/python-modules/tidyexc/default.nix
index b4f7ed0ef582..5e14812fe7bc 100644
--- a/nixpkgs/pkgs/development/python-modules/tidyexc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tidyexc/default.nix
@@ -2,12 +2,13 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, flit
 }:
 
 buildPythonPackage rec {
   pname = "tidyexc";
   version = "0.10.0";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -16,6 +17,10 @@ buildPythonPackage rec {
     sha256 = "1gl1jmihafawg7hvnn4xb20vd2x5qpvca0m1wr2gk0m2jj42yiq6";
   };
 
+  nativeBuildInputs = [
+    flit
+  ];
+
   pythonImportsCheck = [
     "tidyexc"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/tifffile/default.nix b/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
index 655f6b8eb107..1b9582a71c8b 100644
--- a/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "tifffile";
-  version = "2023.7.18";
+  version = "2023.8.30";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WlpiSy96t/N+nsQXSuLfGAW5ZY+JAT+bS1VQZy9l8qE=";
+    hash = "sha256-aoxTsBKihrddCaFJirMvIC8kzGJwoQW11ZEdxEJvFio=";
   };
 
   propagatedBuildInputs = [
@@ -55,6 +55,9 @@ buildPythonPackage rec {
     "tifffile"
   ];
 
+  # flaky, often killed due to OOM or timeout
+  env.SKIP_LARGE = "1";
+
   meta = with lib; {
     description = "Read and write image data from and to TIFF files";
     homepage = "https://github.com/cgohlke/tifffile/";
diff --git a/nixpkgs/pkgs/development/python-modules/tiktoken/Cargo.lock b/nixpkgs/pkgs/development/python-modules/tiktoken/Cargo.lock
index 1d992854518e..e65fd819d3d4 100644
--- a/nixpkgs/pkgs/development/python-modules/tiktoken/Cargo.lock
+++ b/nixpkgs/pkgs/development/python-modules/tiktoken/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.20"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
 dependencies = [
  "memchr",
 ]
@@ -40,12 +40,11 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bstr"
-version = "1.4.0"
+version = "1.6.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d4260bcc2e8fc9df1eac4919a720effeb63a3f0952f5bf4944adfa18897f09"
+checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a"
 dependencies = [
  "memchr",
- "once_cell",
  "regex-automata",
  "serde",
 ]
@@ -58,9 +57,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "fancy-regex"
-version = "0.10.0"
+version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0678ab2d46fa5195aaf59ad034c083d351377d4af57f3e073c074d0da3e3c766"
+checksum = "b95f7c0680e4142284cf8b22c14a476e87d61b004a3a0861872b32ef7ead40a2"
 dependencies = [
  "bit-set",
  "regex",
@@ -74,15 +73,15 @@ checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
 
 [[package]]
 name = "libc"
-version = "0.2.140"
+version = "0.2.148"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
+checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
 
 [[package]]
 name = "lock_api"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -90,24 +89,24 @@ dependencies = [
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 
 [[package]]
 name = "memoffset"
-version = "0.6.5"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "once_cell"
-version = "1.17.1"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "parking_lot"
@@ -121,31 +120,31 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
 dependencies = [
  "cfg-if",
  "libc",
  "redox_syscall",
  "smallvec",
- "windows-sys",
+ "windows-targets",
 ]
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.54"
+version = "1.0.67"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e472a104799c74b514a57226160104aa483546de37e839ec50e3c2e41dd87534"
+checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "pyo3"
-version = "0.17.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "268be0c73583c183f2b14052337465768c07726936a260f480f0857cb95ba543"
+checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38"
 dependencies = [
  "cfg-if",
  "indoc",
@@ -160,9 +159,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-build-config"
-version = "0.17.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28fcd1e73f06ec85bf3280c48c67e731d8290ad3d730f8be9dc07946923005c8"
+checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5"
 dependencies = [
  "once_cell",
  "target-lexicon",
@@ -170,9 +169,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-ffi"
-version = "0.17.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f6cb136e222e49115b3c51c32792886defbfb0adead26a688142b346a0b9ffc"
+checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9"
 dependencies = [
  "libc",
  "pyo3-build-config",
@@ -180,67 +179,73 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros"
-version = "0.17.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94144a1266e236b1c932682136dc35a9dee8d3589728f68130c7c3861ef96b28"
+checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1"
 dependencies = [
  "proc-macro2",
  "pyo3-macros-backend",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "pyo3-macros-backend"
-version = "0.17.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8df9be978a2d2f0cdebabb03206ed73b11314701a5bfe71b0d753b81997777f"
+checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.109",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.26"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
  "bitflags",
 ]
 
 [[package]]
 name = "regex"
-version = "1.7.3"
+version = "1.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
 dependencies = [
  "aho-corasick",
  "memchr",
+ "regex-automata",
  "regex-syntax",
 ]
 
 [[package]]
 name = "regex-automata"
-version = "0.1.10"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.29"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 
 [[package]]
 name = "rustc-hash"
@@ -250,21 +255,35 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "serde"
-version = "1.0.159"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c04e8343c3daeec41f58990b9d77068df31209f2af111e059e9fe9646693065"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.188"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.36",
+]
 
 [[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 
 [[package]]
 name = "syn"
@@ -278,14 +297,25 @@ dependencies = [
 ]
 
 [[package]]
+name = "syn"
+version = "2.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91e02e55d62894af2a08aca894c6577281f76769ba47c94d5756bec8ac6e7373"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
 name = "target-lexicon"
-version = "0.12.6"
+version = "0.12.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
 
 [[package]]
 name = "tiktoken"
-version = "0.3.3"
+version = "0.5.1"
 dependencies = [
  "bstr",
  "fancy-regex",
@@ -296,9 +326,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.8"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
 
 [[package]]
 name = "unindent"
@@ -307,19 +337,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
 
 [[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets",
-]
-
-[[package]]
 name = "windows-targets"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
  "windows_aarch64_gnullvm",
  "windows_aarch64_msvc",
@@ -332,42 +353,42 @@ dependencies = [
 
 [[package]]
 name = "windows_aarch64_gnullvm"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
diff --git a/nixpkgs/pkgs/development/python-modules/tiktoken/default.nix b/nixpkgs/pkgs/development/python-modules/tiktoken/default.nix
index 13eaecc0fb4d..3cf68063f119 100644
--- a/nixpkgs/pkgs/development/python-modules/tiktoken/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tiktoken/default.nix
@@ -6,7 +6,9 @@
 , rustPlatform
 , cargo
 , rustc
+, setuptools
 , setuptools-rust
+, wheel
 , libiconv
 , requests
 , regex
@@ -14,10 +16,10 @@
 }:
 let
   pname = "tiktoken";
-  version = "0.3.3";
+  version = "0.5.1";
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-l7WLe/2pRXkeyFXlPRZujsIMY3iUK5OFGmyRnd+dBJY=";
+    hash = "sha256-J+dzVkIyAE9PgQ/R+FI2Zz7DpW7X8SBvye2GcOvtuXo=";
   };
   postPatch = ''
     cp ${./Cargo.lock} Cargo.lock
@@ -25,18 +27,20 @@ let
 in
 buildPythonPackage {
   inherit pname version src postPatch;
-  format = "setuptools";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   nativeBuildInput = [
+    setuptools
     setuptools-rust
+    wheel
   ];
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src postPatch;
     name = "${pname}-${version}";
-    hash = "sha256-27xR7xVH/u40Xl4VbJW/yEbURf0UcGPG5QK/04igseA=";
+    hash = "sha256-Q7XO+auj4tKDAGbqNn9pmJg8EJvooN2ie0lWwZVrld4=";
   };
 
   nativeBuildInputs = [
@@ -54,6 +58,13 @@ buildPythonPackage {
     blobfile
   ];
 
+  # almost all tests require network access
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "tiktoken"
+  ];
+
   meta = with lib; {
     description = "tiktoken is a fast BPE tokeniser for use with OpenAI's models.";
     homepage = "https://github.com/openai/tiktoken";
diff --git a/nixpkgs/pkgs/development/python-modules/tiledb/default.nix b/nixpkgs/pkgs/development/python-modules/tiledb/default.nix
index 34597923f3be..516a22f44cce 100644
--- a/nixpkgs/pkgs/development/python-modules/tiledb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tiledb/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "tiledb";
-  version = "0.20.0";
+  version = "0.23.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "TileDB-Inc";
     repo = "TileDB-Py";
     rev = "refs/tags/${version}";
-    hash = "sha256-Be83b9JVxGxPYoOfqTfVm7qAjZD7cfH5BG6tbSHXhIQ=";
+    hash = "sha256-QxqUYu8y+k5SLRFtxpcs57gnAHgXIre0smURlqUzC1s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/time-machine/default.nix b/nixpkgs/pkgs/development/python-modules/time-machine/default.nix
index a8749adfb616..799570ada1b8 100644
--- a/nixpkgs/pkgs/development/python-modules/time-machine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/time-machine/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "time-machine";
-  version = "2.11.0";
+  version = "2.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "adamchainz";
     repo = pname;
     rev = version;
-    hash = "sha256-4HwHNowif0/YflznQrn8YRITjuiaBCB2mFIO0iCf6tA=";
+    hash = "sha256-vBww78/3vC3IA4Nh9Ne+rBo/CO9FggjP+TUUV2/ih9c=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/timm/default.nix b/nixpkgs/pkgs/development/python-modules/timm/default.nix
index e67ed91c135f..63f32e9563cd 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.2";
+  version = "0.9.7";
   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-gYrc8ds6urZvwDsTnzPjxjSTiAGzUD3RlCf0wogCrDI=";
+    hash = "sha256-poLyhwdpZpSH0w95Uj5n/fRoMe7fK0auMDWUna1d6/U=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tinycss2/default.nix b/nixpkgs/pkgs/development/python-modules/tinycss2/default.nix
index 4c21305ac094..5e6f441d3d3b 100644
--- a/nixpkgs/pkgs/development/python-modules/tinycss2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tinycss2/default.nix
@@ -9,18 +9,18 @@
 
 buildPythonPackage rec {
   pname = "tinycss2";
-  version = "1.1.1";
-  format = "flit";
+  version = "1.2.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kozea";
     repo = "tinycss2";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     # for tests
     fetchSubmodules = true;
-    hash = "sha256-RUF/3cjNgDFofoxl9iKY3u5ZAVVQmXu2Qbb5U4brdcQ=";
+    hash = "sha256-rJtxMmW30NK+E+Dhh/fu6FPrEojWWdoEWNt0raYEubs=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/tld/default.nix b/nixpkgs/pkgs/development/python-modules/tld/default.nix
index 2a44225eca63..a8a25bba00cf 100644
--- a/nixpkgs/pkgs/development/python-modules/tld/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tld/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, factory_boy
+, factory-boy
 , faker
 , fetchPypi
 , pytestCheckHook
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    factory_boy
+    factory-boy
     faker
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
index 04a6762c8c90..37136608e89b 100644
--- a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , filelock
 , idna
 , pytest-mock
@@ -14,17 +14,21 @@
 }:
 
 buildPythonPackage rec {
-  pname   = "tldextract";
-  version = "3.6.0";
-  format = "pyproject";
+  pname = "tldextract";
+  version = "5.0.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-pdi2WDeR2sominWS6892QVL6SWF5g8SZFu6d6Zs2YiI=";
+  src = fetchFromGitHub {
+    owner = "john-kurkowski";
+    repo = "tldextract";
+    rev = "refs/tags/${version}";
+    hash = "sha256-+JZnSIjG1avQ14NxbYF5on2ukJtTWTq+hVIqYCvPjsQ=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   nativeBuildInputs = [
     setuptools
     setuptools-scm
@@ -43,11 +47,6 @@ buildPythonPackage rec {
     responses
   ];
 
-  postPatch = ''
-    substituteInPlace pytest.ini \
-      --replace " --pylint" ""
-  '';
-
   pythonImportsCheck = [
     "tldextract"
   ];
@@ -59,6 +58,7 @@ buildPythonPackage rec {
       from the registered domain and subdomains of a URL.
     '';
     homepage = "https://github.com/john-kurkowski/tldextract";
+    changelog = "https://github.com/john-kurkowski/tldextract/blob/${version}/CHANGELOG.md";
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix b/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix
index 403019c07b8f..c3b08bad24e0 100644
--- a/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/toggl-cli/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , click
 , click-completion
-, factory_boy
+, factory-boy
 , faker
 , fetchPypi
 , inquirer
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-mock
     faker
-    factory_boy
+    factory-boy
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/tokenizers/Cargo.lock b/nixpkgs/pkgs/development/python-modules/tokenizers/Cargo.lock
index d069413137e8..841e6b5e0957 100644
--- a/nixpkgs/pkgs/development/python-modules/tokenizers/Cargo.lock
+++ b/nixpkgs/pkgs/development/python-modules/tokenizers/Cargo.lock
@@ -3,24 +3,6 @@
 version = 3
 
 [[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "aes"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8"
-dependencies = [
- "cfg-if",
- "cipher",
- "cpufeatures",
- "opaque-debug",
-]
-
-[[package]]
 name = "aho-corasick"
 version = "0.7.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -30,63 +12,12 @@ dependencies = [
 ]
 
 [[package]]
-name = "anstream"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e579a7752471abc2a8268df8b20005e3eadd975f585398f17efcfd8d4927371"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "is-terminal",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
-
-[[package]]
-name = "anstyle-parse"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
-dependencies = [
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcd8291a340dd8ac70e18878bc4501dd7b4ff970cfa21c207d36ece51ea88fd"
-dependencies = [
- "anstyle",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "atty"
-version = "0.2.14"
+name = "aho-corasick"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783"
 dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
+ "memchr",
 ]
 
 [[package]]
@@ -102,100 +33,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
 
 [[package]]
-name = "base64"
-version = "0.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a"
-
-[[package]]
-name = "base64ct"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
-
-[[package]]
 name = "bitflags"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
-name = "block-buffer"
-version = "0.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "bumpalo"
-version = "3.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "bytes"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
-
-[[package]]
-name = "bzip2"
-version = "0.4.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8"
-dependencies = [
- "bzip2-sys",
- "libc",
-]
-
-[[package]]
-name = "bzip2-sys"
-version = "0.1.11+1.0.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
-]
-
-[[package]]
-name = "cached-path"
-version = "0.6.1"
+name = "bitflags"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "097968e38f1319207f057d0f4d76452e4f4f847a5de61c5215379f297fa034f3"
-dependencies = [
- "flate2",
- "fs2",
- "glob",
- "indicatif 0.16.2",
- "log",
- "rand",
- "reqwest",
- "serde",
- "serde_json",
- "sha2",
- "tar",
- "tempfile",
- "thiserror",
- "zip",
-]
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
 
 [[package]]
 name = "cc"
-version = "1.0.79"
+version = "1.0.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
 dependencies = [
- "jobserver",
+ "libc",
 ]
 
 [[package]]
@@ -205,116 +60,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
-name = "cipher"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "clap"
-version = "4.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b802d85aaf3a1cdb02b224ba472ebdea62014fccfcb269b95a4d76443b5ee5a"
-dependencies = [
- "clap_builder",
- "clap_derive",
- "once_cell",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14a1a858f532119338887a4b8e1af9c60de8249cd7bafd68036a489e261e37b6"
-dependencies = [
- "anstream",
- "anstyle",
- "bitflags",
- "clap_lex",
- "strsim",
-]
-
-[[package]]
-name = "clap_derive"
-version = "4.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1"
-
-[[package]]
-name = "colorchoice"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
-
-[[package]]
-name = "console"
-version = "0.15.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3d79fbe8970a77e3e34151cc13d3b3e248aa0faaecb9f6091fa07ebefe5ad60"
-dependencies = [
- "encode_unicode",
- "lazy_static",
- "libc",
- "unicode-width",
- "windows-sys 0.42.0",
-]
-
-[[package]]
-name = "constant_time_eq"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
-
-[[package]]
-name = "core-foundation"
-version = "0.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "280a9f2d8b3a38871a3c8a46fb80db65e5e5ed97da80c4d08bf27fb63e35e181"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crc32fast"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
 name = "crossbeam-channel"
 version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -337,9 +82,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.14"
+version = "0.9.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "46bd5f3f85273295a9d14aedfb86f6aadbff6d8f5295c4a9edb08e819dcf5695"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
 dependencies = [
  "autocfg",
  "cfg-if",
@@ -350,24 +95,14 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.15"
+version = "0.8.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
 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 = "darling"
 version = "0.14.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -434,65 +169,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "digest"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
-dependencies = [
- "block-buffer",
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
-[[package]]
 name = "either"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
-
-[[package]]
-name = "encode_unicode"
-version = "0.3.6"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
-
-[[package]]
-name = "encoding_rs"
-version = "0.8.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
-dependencies = [
- "cfg-if",
-]
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "env_logger"
-version = "0.7.1"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
 dependencies = [
- "atty",
  "humantime",
+ "is-terminal",
  "log",
  "regex",
  "termcolor",
@@ -500,13 +189,13 @@ dependencies = [
 
 [[package]]
 name = "errno"
-version = "0.3.1"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
 dependencies = [
  "errno-dragonfly",
  "libc",
- "windows-sys 0.48.0",
+ "windows-sys",
 ]
 
 [[package]]
@@ -524,40 +213,12 @@ name = "esaxx-rs"
 version = "0.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1f748b253ceca9fed5f42f8b5ceb3851e93102199bc25b64b65369f76e5c0a35"
-dependencies = [
- "cc",
-]
 
 [[package]]
 name = "fastrand"
-version = "1.9.0"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
-dependencies = [
- "instant",
-]
-
-[[package]]
-name = "filetime"
-version = "0.2.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall 0.2.16",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "flate2"
-version = "1.0.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841"
-dependencies = [
- "crc32fast",
- "miniz_oxide",
-]
+checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
 
 [[package]]
 name = "fnv"
@@ -566,102 +227,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
 
 [[package]]
-name = "foreign-types"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-dependencies = [
- "foreign-types-shared",
-]
-
-[[package]]
-name = "foreign-types-shared"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "fs2"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
-dependencies = [
- "futures-core",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
-
-[[package]]
-name = "futures-io"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
-
-[[package]]
-name = "futures-sink"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
-
-[[package]]
-name = "futures-task"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
-
-[[package]]
-name = "futures-util"
-version = "0.3.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
-dependencies = [
- "futures-core",
- "futures-io",
- "futures-task",
- "memchr",
- "pin-project-lite",
- "pin-utils",
- "slab",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
 name = "getrandom"
-version = "0.2.9"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
 dependencies = [
  "cfg-if",
  "libc",
@@ -669,154 +238,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "glob"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
-
-[[package]]
-name = "h2"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66b91535aa35fea1523ad1b86cb6b53c28e0ae566ba4a460f4457e936cad7c6f"
-dependencies = [
- "bytes",
- "fnv",
- "futures-core",
- "futures-sink",
- "futures-util",
- "http",
- "indexmap",
- "slab",
- "tokio",
- "tokio-util",
- "tracing",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[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 = "hermit-abi"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
-
-[[package]]
-name = "hmac"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
-dependencies = [
- "digest",
-]
-
-[[package]]
-name = "http"
-version = "0.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
-]
-
-[[package]]
-name = "http-body"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
-dependencies = [
- "bytes",
- "http",
- "pin-project-lite",
-]
-
-[[package]]
-name = "httparse"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
-
-[[package]]
-name = "httpdate"
-version = "1.0.2"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
 
 [[package]]
 name = "humantime"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
-dependencies = [
- "quick-error",
-]
-
-[[package]]
-name = "hyper"
-version = "0.14.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "httparse",
- "httpdate",
- "itoa",
- "pin-project-lite",
- "socket2",
- "tokio",
- "tower-service",
- "tracing",
- "want",
-]
-
-[[package]]
-name = "hyper-tls"
-version = "0.5.0"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
-dependencies = [
- "bytes",
- "hyper",
- "native-tls",
- "tokio",
- "tokio-native-tls",
-]
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
 [[package]]
 name = "ident_case"
@@ -825,91 +256,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
 
 [[package]]
-name = "idna"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown",
-]
-
-[[package]]
-name = "indicatif"
-version = "0.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7baab56125e25686df467fe470785512329883aab42696d661247aca2a2896e4"
-dependencies = [
- "console",
- "lazy_static",
- "number_prefix 0.3.0",
- "regex",
-]
-
-[[package]]
-name = "indicatif"
-version = "0.16.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b"
-dependencies = [
- "console",
- "lazy_static",
- "number_prefix 0.4.0",
- "regex",
-]
-
-[[package]]
 name = "indoc"
 version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
 
 [[package]]
-name = "instant"
-version = "0.1.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
-dependencies = [
- "hermit-abi 0.3.1",
- "libc",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "ipnet"
-version = "2.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f"
-
-[[package]]
 name = "is-terminal"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
- "hermit-abi 0.3.1",
- "io-lifetimes",
+ "hermit-abi",
  "rustix",
- "windows-sys 0.48.0",
+ "windows-sys",
 ]
 
 [[package]]
@@ -932,27 +292,9 @@ dependencies = [
 
 [[package]]
 name = "itoa"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
-
-[[package]]
-name = "jobserver"
-version = "0.1.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.61"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730"
-dependencies = [
- "wasm-bindgen",
-]
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "lazy_static"
@@ -962,21 +304,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.141"
+version = "0.2.147"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.3.1"
+version = "0.4.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f"
+checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
 
 [[package]]
 name = "lock_api"
-version = "0.4.9"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -984,12 +326,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
 
 [[package]]
 name = "macro_rules_attribute"
@@ -1018,66 +357,40 @@ dependencies = [
 
 [[package]]
 name = "matrixmultiply"
-version = "0.3.2"
+version = "0.3.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84"
+checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77"
 dependencies = [
+ "autocfg",
  "rawpointer",
 ]
 
 [[package]]
 name = "memchr"
-version = "2.5.0"
+version = "2.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
 
 [[package]]
 name = "memoffset"
-version = "0.8.0"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
-name = "mime"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-
-[[package]]
 name = "minimal-lexical"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
 
 [[package]]
-name = "miniz_oxide"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "mio"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
-dependencies = [
- "libc",
- "log",
- "wasi",
- "windows-sys 0.45.0",
-]
-
-[[package]]
 name = "monostate"
-version = "0.1.6"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0230b703f1ac35df1e24f6d0d2255472bcccaf657ecdfa4f1fcbcad1ad5bb98a"
+checksum = "15f370ae88093ec6b11a710dec51321a61d420fafd1bad6e30d01bd9c920e8ee"
 dependencies = [
  "monostate-impl",
  "serde",
@@ -1085,31 +398,13 @@ dependencies = [
 
 [[package]]
 name = "monostate-impl"
-version = "0.1.6"
+version = "0.1.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8795add3e14028f11f8e848bd3294898a8294767b3776b6f733560d33bd2530b"
+checksum = "371717c0a5543d6a800cac822eac735aa7d2d2fbb41002e9856a4089532dbdce"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "native-tls"
-version = "0.2.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
-dependencies = [
- "lazy_static",
- "libc",
- "log",
- "openssl",
- "openssl-probe",
- "openssl-sys",
- "schannel",
- "security-framework",
- "security-framework-sys",
- "tempfile",
+ "syn 2.0.31",
 ]
 
 [[package]]
@@ -1131,8 +426,8 @@ version = "0.15.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32"
 dependencies = [
- "matrixmultiply 0.3.2",
- "num-complex 0.4.3",
+ "matrixmultiply 0.3.7",
+ "num-complex 0.4.4",
  "num-integer",
  "num-traits",
  "rawpointer",
@@ -1160,9 +455,9 @@ dependencies = [
 
 [[package]]
 name = "num-complex"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
+checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214"
 dependencies = [
  "num-traits",
 ]
@@ -1179,44 +474,32 @@ dependencies = [
 
 [[package]]
 name = "num-traits"
-version = "0.2.15"
+version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
 dependencies = [
  "autocfg",
 ]
 
 [[package]]
 name = "num_cpus"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
 dependencies = [
- "hermit-abi 0.2.6",
+ "hermit-abi",
  "libc",
 ]
 
 [[package]]
-name = "number_prefix"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17b02fc0ff9a9e4b35b3342880f48e896ebf69f2967921fe8646bf5b7125956a"
-
-[[package]]
-name = "number_prefix"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
-
-[[package]]
 name = "numpy"
-version = "0.18.0"
+version = "0.19.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b0fee4571867d318651c24f4a570c3f18408cf95f16ccb576b3ce85496a46e"
+checksum = "437213adf41bbccf4aeae535fbfcdad0f6fed241e1ae182ebe97fa1f3ce19389"
 dependencies = [
  "libc",
  "ndarray 0.15.6",
- "num-complex 0.4.3",
+ "num-complex 0.4.4",
  "num-integer",
  "num-traits",
  "pyo3",
@@ -1225,9 +508,9 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.17.1"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "onig"
@@ -1235,7 +518,7 @@ version = "6.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
  "libc",
  "once_cell",
  "onig_sys",
@@ -1252,56 +535,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-[[package]]
-name = "openssl"
-version = "0.10.50"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7e30d8bc91859781f0a943411186324d580f2bbeb71b452fe91ae344806af3f1"
-dependencies = [
- "bitflags",
- "cfg-if",
- "foreign-types",
- "libc",
- "once_cell",
- "openssl-macros",
- "openssl-sys",
-]
-
-[[package]]
-name = "openssl-macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "openssl-probe"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
-
-[[package]]
-name = "openssl-sys"
-version = "0.9.85"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d3d193fb1488ad46ffe3aaabc912cc931d02ee8518fe2959aea8ef52718b0c0"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
- "vcpkg",
-]
-
-[[package]]
 name = "parking_lot"
 version = "0.12.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1313,69 +546,28 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.7"
+version = "0.9.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
 dependencies = [
  "cfg-if",
  "libc",
- "redox_syscall 0.2.16",
+ "redox_syscall",
  "smallvec",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "password-hash"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
-dependencies = [
- "base64ct",
- "rand_core",
- "subtle",
+ "windows-targets",
 ]
 
 [[package]]
 name = "paste"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
-
-[[package]]
-name = "pbkdf2"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917"
-dependencies = [
- "digest",
- "hmac",
- "password-hash",
- "sha2",
-]
-
-[[package]]
-name = "percent-encoding"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.9"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.26"
+version = "0.3.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
 
 [[package]]
 name = "ppv-lite86"
@@ -1385,18 +577,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "pyo3"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109"
+checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38"
 dependencies = [
  "cfg-if",
  "indoc",
@@ -1411,9 +603,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-build-config"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3"
+checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5"
 dependencies = [
  "once_cell",
  "target-lexicon",
@@ -1421,9 +613,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-ffi"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c"
+checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9"
 dependencies = [
  "libc",
  "pyo3-build-config",
@@ -1431,9 +623,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d"
+checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1"
 dependencies = [
  "proc-macro2",
  "pyo3-macros-backend",
@@ -1443,9 +635,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros-backend"
-version = "0.18.3"
+version = "0.19.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918"
+checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1453,16 +645,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "quick-error"
-version = "1.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-
-[[package]]
 name = "quote"
-version = "1.0.26"
+version = "1.0.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
 dependencies = [
  "proc-macro2",
 ]
@@ -1538,86 +724,41 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
-dependencies = [
- "bitflags",
-]
-
-[[package]]
-name = "redox_syscall"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
 dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
 ]
 
 [[package]]
-name = "redox_users"
-version = "0.4.3"
+name = "regex"
+version = "1.9.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
 dependencies = [
- "getrandom",
- "redox_syscall 0.2.16",
- "thiserror",
+ "aho-corasick 1.0.5",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
 ]
 
 [[package]]
-name = "regex"
-version = "1.7.3"
+name = "regex-automata"
+version = "0.3.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b1f693b24f6ac912f4893ef08244d70b6067480d2f1a46e950c9691e6749d1d"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
 dependencies = [
- "aho-corasick",
+ "aho-corasick 1.0.5",
  "memchr",
  "regex-syntax",
 ]
 
 [[package]]
 name = "regex-syntax"
-version = "0.6.29"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
-
-[[package]]
-name = "reqwest"
-version = "0.11.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "27b71749df584b7f4cac2c426c127a7c785a5106cc98f7a8feb044115f0fa254"
-dependencies = [
- "base64 0.21.0",
- "bytes",
- "encoding_rs",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "hyper",
- "hyper-tls",
- "ipnet",
- "js-sys",
- "log",
- "mime",
- "native-tls",
- "once_cell",
- "percent-encoding",
- "pin-project-lite",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "tokio",
- "tokio-native-tls",
- "tower-service",
- "url",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "winreg",
-]
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
 
 [[package]]
 name = "rustc-hash"
@@ -1627,151 +768,65 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.37.11"
+version = "0.38.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "85597d61f83914ddeba6a47b3b8ffe7365107221c2e557ed94426489fefb5f77"
+checksum = "c0c3dde1fc030af041adc40e79c0e7fbcf431dd24870053d187d7c66e4b87453"
 dependencies = [
- "bitflags",
+ "bitflags 2.4.0",
  "errno",
- "io-lifetimes",
  "libc",
  "linux-raw-sys",
- "windows-sys 0.48.0",
+ "windows-sys",
 ]
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
-
-[[package]]
-name = "schannel"
-version = "0.1.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
-dependencies = [
- "windows-sys 0.42.0",
-]
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[package]]
 name = "scopeguard"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
-[[package]]
-name = "security-framework"
-version = "2.8.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254"
-dependencies = [
- "bitflags",
- "core-foundation",
- "core-foundation-sys",
- "libc",
- "security-framework-sys",
-]
-
-[[package]]
-name = "security-framework-sys"
-version = "2.8.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4"
-dependencies = [
- "core-foundation-sys",
- "libc",
-]
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
 
 [[package]]
 name = "serde"
-version = "1.0.160"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.160"
+version = "1.0.188"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
+ "syn 2.0.31",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.96"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
-dependencies = [
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_urlencoded"
-version = "0.7.1"
+version = "1.0.105"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
 dependencies = [
- "form_urlencoded",
  "itoa",
  "ryu",
  "serde",
 ]
 
 [[package]]
-name = "sha1"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "sha2"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
-dependencies = [
- "cfg-if",
- "cpufeatures",
- "digest",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
 name = "smallvec"
-version = "1.10.0"
+version = "1.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
-
-[[package]]
-name = "socket2"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
-dependencies = [
- "libc",
- "winapi",
-]
+checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
 
 [[package]]
 name = "spm_precompiled"
@@ -1779,7 +834,7 @@ version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326"
 dependencies = [
- "base64 0.13.1",
+ "base64",
  "nom",
  "serde",
  "unicode-segmentation",
@@ -1792,12 +847,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[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.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1810,9 +859,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.15"
+version = "2.0.31"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822"
+checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1820,33 +869,22 @@ dependencies = [
 ]
 
 [[package]]
-name = "tar"
-version = "0.4.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6"
-dependencies = [
- "filetime",
- "libc",
- "xattr",
-]
-
-[[package]]
 name = "target-lexicon"
-version = "0.12.6"
+version = "0.12.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
 
 [[package]]
 name = "tempfile"
-version = "3.5.0"
+version = "3.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
 dependencies = [
  "cfg-if",
  "fastrand",
- "redox_syscall 0.3.5",
+ "redox_syscall",
  "rustix",
- "windows-sys 0.45.0",
+ "windows-sys",
 ]
 
 [[package]]
@@ -1860,67 +898,32 @@ dependencies = [
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.15",
-]
-
-[[package]]
-name = "time"
-version = "0.3.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
-dependencies = [
- "serde",
- "time-core",
+ "syn 2.0.31",
 ]
 
 [[package]]
-name = "time-core"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
-
-[[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.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
 name = "tokenizers"
-version = "0.13.3"
+version = "0.14.0"
 dependencies = [
- "aho-corasick",
- "cached-path",
- "clap",
+ "aho-corasick 0.7.20",
  "derive_builder",
- "dirs",
  "esaxx-rs",
  "getrandom",
- "indicatif 0.15.0",
  "itertools 0.9.0",
  "lazy_static",
  "log",
@@ -1933,7 +936,6 @@ dependencies = [
  "rayon-cond",
  "regex",
  "regex-syntax",
- "reqwest",
  "serde",
  "serde_json",
  "spm_precompiled",
@@ -1945,7 +947,7 @@ dependencies = [
 
 [[package]]
 name = "tokenizers-python"
-version = "0.13.3"
+version = "0.14.0"
 dependencies = [
  "env_logger",
  "itertools 0.9.0",
@@ -1962,103 +964,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "tokio"
-version = "1.27.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0de47a4eecbe11f498978a9b29d792f0d2692d1dd003650c24c76510e3bc001"
-dependencies = [
- "autocfg",
- "bytes",
- "libc",
- "mio",
- "num_cpus",
- "pin-project-lite",
- "socket2",
- "windows-sys 0.45.0",
-]
-
-[[package]]
-name = "tokio-native-tls"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
-dependencies = [
- "native-tls",
- "tokio",
-]
-
-[[package]]
-name = "tokio-util"
-version = "0.7.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2"
-dependencies = [
- "bytes",
- "futures-core",
- "futures-sink",
- "pin-project-lite",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "tower-service"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
-
-[[package]]
-name = "tracing"
-version = "0.1.37"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
-dependencies = [
- "cfg-if",
- "pin-project-lite",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
-dependencies = [
- "once_cell",
-]
-
-[[package]]
-name = "try-lock"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
-
-[[package]]
-name = "typenum"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
-
-[[package]]
 name = "unicode-ident"
-version = "1.0.8"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
-dependencies = [
- "tinyvec",
-]
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
 
 [[package]]
 name = "unicode-normalization-alignments"
@@ -2076,12 +985,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
 
 [[package]]
-name = "unicode-width"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
-
-[[package]]
 name = "unicode_categories"
 version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2094,127 +997,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
 
 [[package]]
-name = "url"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
-dependencies = [
- "form_urlencoded",
- "idna",
- "percent-encoding",
-]
-
-[[package]]
-name = "utf8parse"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-
-[[package]]
-name = "vcpkg"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "want"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
-dependencies = [
- "log",
- "try-lock",
-]
-
-[[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.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9"
-dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.34"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.109",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.84"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d"
-
-[[package]]
-name = "web-sys"
-version = "0.3.61"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
 name = "winapi"
 version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2247,215 +1035,66 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 
 [[package]]
 name = "windows-sys"
-version = "0.42.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.45.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
-dependencies = [
- "windows-targets 0.42.2",
-]
-
-[[package]]
-name = "windows-sys"
 version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
-dependencies = [
- "windows_aarch64_gnullvm 0.42.2",
- "windows_aarch64_msvc 0.42.2",
- "windows_i686_gnu 0.42.2",
- "windows_i686_msvc 0.42.2",
- "windows_x86_64_gnu 0.42.2",
- "windows_x86_64_gnullvm 0.42.2",
- "windows_x86_64_msvc 0.42.2",
+ "windows-targets",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
 dependencies = [
- "windows_aarch64_gnullvm 0.48.0",
- "windows_aarch64_msvc 0.48.0",
- "windows_i686_gnu 0.48.0",
- "windows_i686_msvc 0.48.0",
- "windows_x86_64_gnu 0.48.0",
- "windows_x86_64_gnullvm 0.48.0",
- "windows_x86_64_msvc 0.48.0",
+ "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.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.42.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.48.0"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.2"
+version = "0.48.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
-
-[[package]]
-name = "winreg"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "xattr"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "zip"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0445d0fbc924bb93539b4316c11afb121ea39296f99a3c4c9edad09e3658cdef"
-dependencies = [
- "aes",
- "byteorder",
- "bzip2",
- "constant_time_eq",
- "crc32fast",
- "crossbeam-utils",
- "flate2",
- "hmac",
- "pbkdf2",
- "sha1",
- "time",
- "zstd",
-]
-
-[[package]]
-name = "zstd"
-version = "0.11.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4"
-dependencies = [
- "zstd-safe",
-]
-
-[[package]]
-name = "zstd-safe"
-version = "5.0.2+zstd.1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db"
-dependencies = [
- "libc",
- "zstd-sys",
-]
-
-[[package]]
-name = "zstd-sys"
-version = "2.0.8+zstd.1.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
-dependencies = [
- "cc",
- "libc",
- "pkg-config",
-]
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
diff --git a/nixpkgs/pkgs/development/python-modules/tokenizers/default.nix b/nixpkgs/pkgs/development/python-modules/tokenizers/default.nix
index fd6153b940af..149f86a284fa 100644
--- a/nixpkgs/pkgs/development/python-modules/tokenizers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tokenizers/default.nix
@@ -60,21 +60,18 @@ let
 in
 buildPythonPackage rec {
   pname = "tokenizers";
-  version = "0.13.3";
+  version = "0.14.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
-    rev = "python-v${version}";
-    hash = "sha256-QZG5jmr3vbyQs4mVBjwVDR31O66dUM+p39R0htJ1umk=";
+    rev = "v${version}";
+    hash = "sha256-zCpKNMzIdQ0lLWdn4cENtBEMTA7+fg+N6wQGvio9llE=";
   };
 
-  postPatch = ''
-    ln -s ${./Cargo.lock} Cargo.lock
-  '';
-
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
   };
@@ -85,6 +82,7 @@ buildPythonPackage rec {
     pkg-config
     setuptools-rust
     rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
     cargo
     rustc
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/torch/default.nix b/nixpkgs/pkgs/development/python-modules/torch/default.nix
index f9f6e377b139..9efb0facaff3 100644
--- a/nixpkgs/pkgs/development/python-modules/torch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torch/default.nix
@@ -43,11 +43,7 @@
 
   # ROCm dependencies
   rocmSupport ? false,
-  gpuTargets ? [ ],
-  openmp, rocm-core, hip, rccl, miopen, miopengemm, rocrand, rocblas,
-  rocfft, rocsparse, hipsparse, rocthrust, rocprim, hipcub, roctracer,
-  rocsolver, hipfft, hipsolver, hipblas, rocminfo, rocm-thunk, rocm-comgr,
-  rocm-device-libs, rocm-runtime, rocm-opencl-runtime, hipify
+  gpuTargets ? [ ], rocmPackages
 }:
 
 let
@@ -89,7 +85,7 @@ let
     else if cudaSupport then
       gpuArchWarner supportedCudaCapabilities unsupportedCudaCapabilities
     else if rocmSupport then
-      hip.gpuTargets
+      rocmPackages.clr.gpuTargets
     else
       throw "No GPU targets specified"
   );
@@ -97,19 +93,25 @@ let
   rocmtoolkit_joined = symlinkJoin {
     name = "rocm-merged";
 
-    paths = [
-      rocm-core hip rccl miopen miopengemm rocrand rocblas
-      rocfft rocsparse hipsparse rocthrust rocprim hipcub
-      roctracer rocfft rocsolver hipfft hipsolver hipblas
+    paths = with rocmPackages; [
+      rocm-core clr rccl miopen miopengemm rocrand rocblas
+      rocsparse hipsparse rocthrust rocprim hipcub
+      roctracer # Unfree at the moment due to hsa-amd-aqlprofile hard dependency in rocprofiler
+      rocfft rocsolver hipfft hipsolver hipblas
       rocminfo rocm-thunk rocm-comgr rocm-device-libs
-      rocm-runtime rocm-opencl-runtime hipify
+      rocm-runtime clr.icd hipify
     ];
+
+    # Fix `setuptools` not being found
+    postBuild = ''
+      rm -rf $out/nix-support
+    '';
   };
 
   brokenConditions = attrsets.filterAttrs (_: cond: cond) {
     "CUDA and ROCm are not mutually exclusive" = cudaSupport && rocmSupport;
     "CUDA is not targeting Linux" = cudaSupport && !stdenv.isLinux;
-    "Unsupported CUDA version" = cudaSupport && (cudaPackages.cudaMajorVersion != "11");
+    "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);
   };
@@ -170,7 +172,7 @@ in buildPythonPackage rec {
     # Strangely, this is never set in cmake
     substituteInPlace cmake/public/LoadHIP.cmake \
       --replace "set(ROCM_PATH \$ENV{ROCM_PATH})" \
-        "set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitString "." hip.version))})"
+        "set(ROCM_PATH \$ENV{ROCM_PATH})''\nset(ROCM_VERSION ${lib.concatStrings (lib.intersperse "0" (lib.splitString "." rocmPackages.clr.version))})"
   ''
   # Detection of NCCL version doesn't work particularly well when using the static binary.
   + lib.optionalString cudaSupport ''
@@ -323,7 +325,7 @@ in buildPythonPackage rec {
     ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [
       cuda_profiler_api.dev # <cuda_profiler_api.h>
     ])
-    ++ lib.optionals rocmSupport [ openmp ]
+    ++ lib.optionals rocmSupport [ rocmPackages.llvm.openmp ]
     ++ lib.optionals (cudaSupport || rocmSupport) [ magma ]
     ++ lib.optionals stdenv.isLinux [ numactl ]
     ++ lib.optionals stdenv.isDarwin [ Accelerate CoreServices libobjc ];
@@ -436,11 +438,7 @@ in buildPythonPackage rec {
     blasProvider = blas.provider;
     # To help debug when a package is broken due to CUDA support
     inherit brokenConditions;
-  } // lib.optionalAttrs cudaSupport {
-    # NOTE: supportedCudaCapabilities isn't computed unless cudaSupport is true, so we can't use
-    #   it in the passthru set above because a downstream package might try to access it even
-    #   when cudaSupport is false. Better to have it missing than null or an empty list by default.
-    cudaCapabilities = supportedCudaCapabilities;
+    cudaCapabilities = if cudaSupport then supportedCudaCapabilities else [ ];
   };
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/torchaudio/default.nix b/nixpkgs/pkgs/development/python-modules/torchaudio/default.nix
index 3bd8003890d7..0b38925e0a2b 100644
--- a/nixpkgs/pkgs/development/python-modules/torchaudio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchaudio/default.nix
@@ -6,7 +6,7 @@
 , ninja
 , pybind11
 , torch
-, cudaSupport ? false
+, cudaSupport ? torch.cudaSupport
 , cudaPackages
 }:
 
@@ -27,17 +27,30 @@ buildPythonPackage rec {
       --replace "_fetch_archives(_parse_sources())" "pass"
   '';
 
+  env = {
+    TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" torch.cudaCapabilities}";
+  };
+
   nativeBuildInputs = [
     cmake
     pkg-config
     ninja
   ] ++ lib.optionals cudaSupport [
-    cudaPackages.cudatoolkit
+    cudaPackages.cuda_nvcc
   ];
   buildInputs = [
     pybind11
   ] ++ lib.optionals cudaSupport [
-    cudaPackages.cudnn
+    cudaPackages.libcurand.dev
+    cudaPackages.libcurand.lib
+    cudaPackages.cuda_cudart # cuda_runtime.h and libraries
+    cudaPackages.cuda_cccl.dev # <thrust/*>
+    cudaPackages.cuda_nvtx.dev
+    cudaPackages.cuda_nvtx.lib # -llibNVToolsExt
+    cudaPackages.libcublas.dev
+    cudaPackages.libcublas.lib
+    cudaPackages.libcufft.dev
+    cudaPackages.libcufft.lib
   ];
   propagatedBuildInputs = [
     torch
diff --git a/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix b/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix
index 420a5fd8dfc5..e22993e8d23f 100644
--- a/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "torchinfo";
-  version = "1.7.2";
+  version = "1.64";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "TylerYep";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-O+I7BNQ5moV/ZcbbuP/IFoi0LO0WsGHBbSfgPmFu1Ec=";
+    hash = "sha256-gcl8RxCD017FP4LtB60WVtOh7jg2Otv/vNd9hKneEAU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/torchlibrosa/default.nix b/nixpkgs/pkgs/development/python-modules/torchlibrosa/default.nix
index bab73b0dae93..ca8f890c0e62 100644
--- a/nixpkgs/pkgs/development/python-modules/torchlibrosa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchlibrosa/default.nix
@@ -2,7 +2,6 @@
 , lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , librosa
 , numpy
 , torch
@@ -10,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "torchlibrosa";
-  version = "0.0.9";
+  version = "0.1.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+LzejKvLlJIIwWm9rYPCWQDSueIwnG5gbkwNE+wbv0A=";
+    hash = "sha256-Yqi+7fnJtBQaBiNN8/ECKfe6huZ2eMzuAkiexO8EQCg=";
   };
 
   propagatedBuildInputs = [
@@ -24,14 +23,6 @@ buildPythonPackage rec {
     torch
   ];
 
-  patches = [
-    # Fix run against librosa 0.9.0, https://github.com/qiuqiangkong/torchlibrosa/pull/8
-    (fetchpatch {
-      url = "https://github.com/qiuqiangkong/torchlibrosa/commit/eec7e7559a47d0ef0017322aee29a31dad0572d5.patch";
-      hash = "sha256-c1x3MA14Plm7+lVuqiuLWgSY6FW615qnKbcWAfbrcas=";
-    })
-  ];
-
   # Project has no tests.
   # In order to make pythonImportsCheck work, NUMBA_CACHE_DIR env var need to
   # be set to a writable dir (https://github.com/numba/numba/issues/4032#issuecomment-488102702).
diff --git a/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix b/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix
index e3d51f7b551f..f458db0ced03 100644
--- a/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix
@@ -15,7 +15,7 @@
 
 let
   pname = "torchmetrics";
-  version = "0.11.4";
+  version = "1.1.2";
 in
 buildPythonPackage {
   inherit pname version;
@@ -24,7 +24,7 @@ buildPythonPackage {
     owner = "PyTorchLightning";
     repo = "metrics";
     rev = "refs/tags/v${version}";
-    hash = "sha256-K8QLdDpnS4N8s3zXsifFloRXW/QXEm36mJXXKEBEJBs=";
+    hash = "sha256-qbO2POXJp2O0VL16zY5mb6TDpogs1L34anFVeSf502g=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/torchsde/default.nix b/nixpkgs/pkgs/development/python-modules/torchsde/default.nix
index 30e5a1235ddd..ba7b2e923612 100644
--- a/nixpkgs/pkgs/development/python-modules/torchsde/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchsde/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "torchsde";
-  version = "0.2.4";
+  version = "0.2.6";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "google-research";
     repo = "torchsde";
-    rev = "v${version}";
-    hash = "sha256-qQ7oswm0qTdq1xpQElt5cd3K0zskH+H/lgyEnxbCqsI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-D0p2tL/VvkouXrXfRhMuCq8wMtzeoBTppWEG5vM1qCo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/towncrier/default.nix b/nixpkgs/pkgs/development/python-modules/towncrier/default.nix
index 06ec0f00a5b2..03b916883438 100644
--- a/nixpkgs/pkgs/development/python-modules/towncrier/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/towncrier/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "towncrier";
-  version = "22.12.0";
+  version = "23.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-nEnX519kaprqAq6QTAvBY5yP0UoBKS0rEjuNMHVkA00=";
+    hash = "sha256-/Cm9WrRyfI2s++Y29/tdxTuZgFti2hyWshSDYVn/cME=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tox/default.nix b/nixpkgs/pkgs/development/python-modules/tox/default.nix
index de9707116600..1b0bf1755ab7 100644
--- a/nixpkgs/pkgs/development/python-modules/tox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tox/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonPackage rec {
   pname = "tox";
-  version = "4.4.6";
+  version = "4.11.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "tox-dev";
     repo = "tox";
     rev = "refs/tags/${version}";
-    hash = "sha256-kWvYN2PA4al2X813Mu4R/n2ZLsZ+MaYCCWNfmYD3nBo=";
+    hash = "sha256-VLoWRAiQ1TP9S0f8TKwQ0H2Lgemd+dTzSM+TjhioDMk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix b/nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix
index bde5f96cf7cb..b2be7b6f3e7a 100644
--- a/nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tplink-omada-client";
-  version = "1.3.4";
+  version = "1.3.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "tplink_omada_client";
     inherit version;
-    hash = "sha256-ckb5pKAT4HfozKtgu7MpNGUdJuOLzkUjTfA/6h6imO4=";
+    hash = "sha256-tCyYaYJIkuJBGgE3xxc/jMir1mc7UDRXZ3i1Ai1/mxs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tqdm/default.nix b/nixpkgs/pkgs/development/python-modules/tqdm/default.nix
index 891771ebc698..640e62212081 100644
--- a/nixpkgs/pkgs/development/python-modules/tqdm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tqdm/default.nix
@@ -2,7 +2,9 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, setuptools
 , setuptools-scm
+, wheel
 , pytestCheckHook
 , pytest-asyncio
 , pytest-timeout
@@ -14,15 +16,18 @@
 
 buildPythonPackage rec {
   pname = "tqdm";
-  version = "4.64.1";
+  version = "4.66.1";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-X09oKgBJUcG0ULx1PHEOkoDFdGzm/+3uJT3by/VM8eQ=";
+    hash = "sha256-2I5lH5242FUaYlVtPP+eMDQnTKXWbpMZfPJJDi3Lacc=";
   };
 
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
+    wheel
   ];
 
   nativeCheckInputs = [
@@ -38,8 +43,7 @@ buildPythonPackage rec {
     lib.optional (!stdenv.isi686 && !stdenv.hostPlatform.isRiscV) pandas;
 
   pytestFlagsArray = [
-    # pytest-asyncio 0.17.0 compat; https://github.com/tqdm/tqdm/issues/1289
-    "--asyncio-mode=strict"
+    "-W" "ignore::FutureWarning"
   ];
 
   # Remove performance testing.
diff --git a/nixpkgs/pkgs/development/python-modules/trainer/default.nix b/nixpkgs/pkgs/development/python-modules/trainer/default.nix
index 43f147a6a9ca..466d6db8da5a 100644
--- a/nixpkgs/pkgs/development/python-modules/trainer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trainer/default.nix
@@ -16,7 +16,7 @@
 
 let
   pname = "trainer";
-  version = "0.0.29";
+  version = "0.0.31";
 in
 buildPythonPackage {
   inherit pname version;
@@ -26,7 +26,7 @@ buildPythonPackage {
     owner = "coqui-ai";
     repo = "Trainer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ISEIIJReYKT3tEAF9/pckPg2+aYkBJyRWo6fvWZ/asI=";
+    hash = "sha256-avZuujeWG/UGkj7fcGB99Fw7KYktJPIDf8oB4wjoiD4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/traitlets/default.nix b/nixpkgs/pkgs/development/python-modules/traitlets/default.nix
index aa37946026f9..6df71a041b25 100644
--- a/nixpkgs/pkgs/development/python-modules/traitlets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/traitlets/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "traitlets";
-  version = "5.9.0";
+  version = "5.10.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9s3iGpxoz3Vq8CA19y1acjv2B+hi574z7OUFq/Sjutk=";
+    hash = "sha256-9YTqIJJARm5m6R88gap9AEukz3lJkLDHdZOKFUQhfNE=";
   };
 
   nativeBuildInputs = [ hatchling ];
diff --git a/nixpkgs/pkgs/development/python-modules/traitsui/default.nix b/nixpkgs/pkgs/development/python-modules/traitsui/default.nix
index de0928508844..0c7245225d10 100644
--- a/nixpkgs/pkgs/development/python-modules/traitsui/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/traitsui/default.nix
@@ -1,6 +1,7 @@
 { lib
 , fetchPypi
 , buildPythonPackage
+, setuptools
 , traits
 , pyface
 , pythonOlder
@@ -8,16 +9,20 @@
 
 buildPythonPackage rec {
   pname = "traitsui";
-  version = "7.4.3";
-  format = "setuptools";
+  version = "8.0.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2zJRfpYioFgMIyCeE/gDLOoA5hxndJNnCf9F52M11bk=";
+    hash = "sha256-kBudHLxFUT4Apzl2d7CYRBsod0tojzChWbrUgBv0A2Q=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     traits
     pyface
diff --git a/nixpkgs/pkgs/development/python-modules/transformers/default.nix b/nixpkgs/pkgs/development/python-modules/transformers/default.nix
index 5d677d2f5db2..e342615d6d66 100644
--- a/nixpkgs/pkgs/development/python-modules/transformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transformers/default.nix
@@ -51,7 +51,7 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.33.2";
+  version = "4.34.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-i2ruOOkuEHHwzGT2Iqy+Pt1sBBUx43eiNkwf2Iqdcfc=";
+    hash = "sha256-hDZU/3bQ1k4uL3kDEW3+pB4g8jhC8ospRqE55jIqrP0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix b/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
index ab411add0bfb..24345b5f63d5 100644
--- a/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "transmission-rpc";
-  version = "7.0.0";
+  version = "7.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Trim21";
     repo = "transmission-rpc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-66TKUi4rNZDMWPncyxgHY6oW62DVOQLSWO1RevHG7EY=";
+    hash = "sha256-wBTx4gy6c6TMtc2m+xibEzCgYJJiMMZ16+pq3H06hgs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/treelib/default.nix b/nixpkgs/pkgs/development/python-modules/treelib/default.nix
new file mode 100644
index 000000000000..cf32b37a2319
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/treelib/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, six
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "treelib";
+  version = "1.7.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "caesar0301";
+    repo = "treelib";
+    rev = "v${version}";
+    hash = "sha256-FIdJWpkOmUVZb+IkYocu1nn+oSPROrkcHeiw9wZupgM=";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "treelib" ];
+
+  meta = with lib; {
+    description = "An efficient implementation of tree data structure in python 2/3";
+    homepage = "https://github.com/caesar0301/treelib";
+    changelog = "https://github.com/caesar0301/treelib/releases/tag/${src.rev}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/treeo/default.nix b/nixpkgs/pkgs/development/python-modules/treeo/default.nix
index 1560e1810ba6..789eb346e8c6 100644
--- a/nixpkgs/pkgs/development/python-modules/treeo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/treeo/default.nix
@@ -12,14 +12,14 @@ buildPythonPackage rec {
   # Note that there is a version 0.4.0, but it was released in error. At the
   # time of writing (2022-03-29), v0.0.11 is the latest as reported on GitHub
   # and PyPI.
-  version = "0.0.11";
+  version = "0.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "cgarciae";
     repo = pname;
-    rev = version;
-    hash = "sha256-zs3F8i+G5OX/A9wOO60xVuvnm2QqrL+dHIrC0qwH37o=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-0py7sKjq6WqdsZwTq61jqaIbULTfwtpz29TTpt8M2Zw=";
   };
 
   # See https://github.com/cgarciae/treex/issues/68.
diff --git a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
index a561bcbdfb74..ece870d23b03 100644
--- a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools
+, pytestCheckHook
 , pythonOlder
 , numpy
 , lxml
@@ -9,27 +10,28 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.23.5";
+  version = "4.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vf1mnszEs/r/IyggCklAjNXsrZ8ZtgIsSttVS7s6JiE=";
+    hash = "sha256-zPGD9VdMMSdThd/IV2wLF4NA1lZQy9a0SOyOkUGHK7c=";
   };
 
   nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [ numpy ];
 
-  nativeCheckInputs = [ lxml ];
+  nativeCheckInputs = [ lxml pytestCheckHook ];
 
-  checkPhase = ''
-    # Disable test_load because requires loading models which aren't part of the tarball
-    substituteInPlace tests/test_minimal.py --replace "test_load" "disable_test_load"
-    python tests/test_minimal.py
-  '';
+  disabledTests = [
+    # requires loading models which aren't part of the Pypi tarball
+    "test_load"
+  ];
+
+  pytestFlagsArray = [ "tests/test_minimal.py" ];
 
   pythonImportsCheck = [ "trimesh" ];
 
@@ -38,6 +40,6 @@ buildPythonPackage rec {
     homepage = "https://trimsh.org/";
     changelog = "https://github.com/mikedh/trimesh/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ gebner ];
+    maintainers = with maintainers; [ gebner pbsds ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/trio/default.nix b/nixpkgs/pkgs/development/python-modules/trio/default.nix
index fb985e890a77..c01db3259a7d 100644
--- a/nixpkgs/pkgs/development/python-modules/trio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trio/default.nix
@@ -6,6 +6,7 @@
 , idna
 , outcome
 , pytestCheckHook
+, pytest-trio
 , pyopenssl
 , trustme
 , sniffio
@@ -16,15 +17,24 @@
 , coreutils
 }:
 
+let
+  # escape infinite recursion with pytest-trio
+  pytest-trio' = (pytest-trio.override {
+    trio = null;
+  }).overrideAttrs {
+    doCheck = false;
+    pythonImportsCheck = [];
+  };
+in
 buildPythonPackage rec {
   pname = "trio";
-  version = "0.22.0";
+  version = "0.22.2";
   format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zmjxxUAKR7E3xaTecsfJAb1OeiT73r/ptB3oxsBOqs8=";
+    hash = "sha256-OIfPGMi8yJRDNCAwVGg4jax2ky6WaK+hxJqjgGtqzLM=";
   };
 
   propagatedBuildInputs = [
@@ -46,13 +56,16 @@ buildPythonPackage rec {
     jedi
     pyopenssl
     pytestCheckHook
+    pytest-trio'
     trustme
     yapf
   ];
 
   preCheck = ''
-    substituteInPlace trio/tests/test_subprocess.py \
+    substituteInPlace trio/_tests/test_subprocess.py \
       --replace "/bin/sleep" "${coreutils}/bin/sleep"
+
+    export HOME=$TMPDIR
   '';
 
   # It appears that the build sandbox doesn't include /etc/services, and these tests try to use it.
@@ -64,6 +77,8 @@ buildPythonPackage rec {
     "static_tool_sees_all_symbols"
     # tests pytest more than python
     "fallback_when_no_hook_claims_it"
+    # requires mypy
+    "test_static_tool_sees_class_members"
   ];
 
   pytestFlagsArray = [
diff --git a/nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix b/nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix
index 7cd0dd7ca8a5..e9691044a926 100644
--- a/nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix
@@ -9,14 +9,14 @@
 let
   self = buildPythonPackage rec {
     pname = "trove-classifiers";
-    version = "2023.7.6";
+    version = "2023.8.7";
     format = "setuptools";
 
     disabled = pythonOlder "3.7";
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-io4Wi1HSD+1gcEODHTdjK7UJGdHICmTg8Tk3RGkaiyI=";
+      hash = "sha256-yfKgqF1UXlNi6Wfk8Gn1b939kSFeIv+kjGb7KDUhMZo=";
     };
 
     postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/trytond/default.nix b/nixpkgs/pkgs/development/python-modules/trytond/default.nix
index f2cb97b1fd73..e0b14f2fc453 100644
--- a/nixpkgs/pkgs/development/python-modules/trytond/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trytond/default.nix
@@ -25,14 +25,14 @@
 
 buildPythonPackage rec {
   pname = "trytond";
-  version = "6.8.3";
+  version = "6.8.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-n0Fdu2IjdyAt9qJ40l9kVRbV8NMXU1R5aR+9rmXEgC8=";
+    hash = "sha256-jZTc9Cc5XC1KScpniVtbBPdfwo3LodVNOo/zQSDBWY4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tsfresh/default.nix b/nixpkgs/pkgs/development/python-modules/tsfresh/default.nix
new file mode 100644
index 000000000000..36a93a540051
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tsfresh/default.nix
@@ -0,0 +1,93 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, requests
+, numpy
+, pandas
+, scipy
+, statsmodels
+, patsy
+, scikit-learn
+, tqdm
+, dask
+, distributed
+, stumpy
+, cloudpickle
+, pytestCheckHook
+, pytest-xdist
+, mock
+, matplotlib
+, seaborn
+, ipython
+, notebook
+, pandas-datareader
+}:
+
+buildPythonPackage rec {
+  pname = "tsfresh";
+  version = "0.20.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "blue-yonder";
+    repo = "tsfresh";
+    rev = "v${version}";
+    hash = "sha256-JmdP/6aTnuYsBRiRq9zZng3xNYhOdr9V8bp1trAv508=";
+  };
+
+  patches = [
+    # The pyscaffold is not a build dependency but just a python project bootstrapping tool, so we do not need it
+    ./remove-pyscaffold.patch
+    ./remove-pytest-coverage-flags.patch
+  ];
+
+  propagatedBuildInputs = [
+    requests
+    numpy
+    pandas
+    scipy
+    statsmodels
+    patsy
+    scikit-learn
+    tqdm
+    dask
+    distributed
+    stumpy
+    cloudpickle
+  ] ++ dask.optional-dependencies.dataframe;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-xdist
+    mock
+    matplotlib
+    seaborn
+    ipython
+    notebook
+    pandas-datareader
+  ];
+
+  disabledTests = [
+    # touches network
+    "test_relevant_extraction"
+    "test_characteristics_downloaded_robot_execution_failures"
+    "test_index"
+    "test_binary_target_is_default"
+    "test_characteristics_downloaded_robot_execution_failures"
+    "test_extraction_runs_through"
+    "test_multilabel_target_on_request"
+  ];
+
+  pythonImportsCheck = [ "tsfresh" ];
+
+  meta = with lib; {
+    description = "Automatic extraction of relevant features from time series";
+    homepage = "https://github.com/blue-yonder/tsfresh";
+    changelog = "https://github.com/blue-yonder/tsfresh/blob/${src.rev}/CHANGES.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tsfresh/remove-pyscaffold.patch b/nixpkgs/pkgs/development/python-modules/tsfresh/remove-pyscaffold.patch
new file mode 100644
index 000000000000..b77f35cca704
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tsfresh/remove-pyscaffold.patch
@@ -0,0 +1,14 @@
+diff --git a/setup.cfg b/setup.cfg
+index e29e54e..75c3210 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -29,9 +29,6 @@ classifier =
+ 
+ [options]
+ packages = find:
+-# DON'T CHANGE THE FOLLOWING LINE! IT WILL BE UPDATED BY PYSCAFFOLD!
+-setup_requires =
+-   pyscaffold>=3.3a0,<4
+ # Add here dependencies of your project (semicolon/line-separated), e.g.
+ install_requires =
+     requests>=2.9.1
diff --git a/nixpkgs/pkgs/development/python-modules/tsfresh/remove-pytest-coverage-flags.patch b/nixpkgs/pkgs/development/python-modules/tsfresh/remove-pytest-coverage-flags.patch
new file mode 100644
index 000000000000..86b29606a6e3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tsfresh/remove-pytest-coverage-flags.patch
@@ -0,0 +1,15 @@
+diff --git a/setup.cfg b/setup.cfg
+index e29e54e..fe8892f 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -99,10 +99,6 @@ extras = True
+ # e.g. --cov-report html (or xml) for html/xml output or --junitxml junit.xml
+ # in order to write a coverage file that can be read by Jenkins.
+ junit_family = xunit2
+-addopts =
+-    --cov tsfresh --cov-report term-missing
+-    --verbose
+-    #-n auto
+ testpaths = tests
+ filterwarnings =
+ 
diff --git a/nixpkgs/pkgs/development/python-modules/tskit/default.nix b/nixpkgs/pkgs/development/python-modules/tskit/default.nix
index bb5139b425b0..522d4a57adbc 100644
--- a/nixpkgs/pkgs/development/python-modules/tskit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tskit/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "tskit";
-  version = "0.5.5";
+  version = "0.5.6";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-phhBTAHAPlBnmzSiLmPYDMg1Mui85NZacni3WuYAc6c=";
+    hash = "sha256-3f4hPxywY822mCF3IwooBezX38fM1zAm4Th4q//SzkY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ttls/default.nix b/nixpkgs/pkgs/development/python-modules/ttls/default.nix
index 29d36e43ef2f..b4e5dcc1ec2e 100644
--- a/nixpkgs/pkgs/development/python-modules/ttls/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ttls/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "ttls";
-  version = "1.8.0";
+  version = "1.8.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jschlyter";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-WhngJfDu1Dcc4M5083o8ZBC1aSp4nOKOGPni2I/Llwg=";
+    hash = "sha256-7w+VFxqv1htN5rKvMbcBV6uYqT3PT0ocv3S9Om2Ol3k=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tubeup/default.nix b/nixpkgs/pkgs/development/python-modules/tubeup/default.nix
index a264c4b2f93a..df06e4bd0263 100644
--- a/nixpkgs/pkgs/development/python-modules/tubeup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tubeup/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "tubeup";
-  version = "2023.8.19";
+  version = "2023.9.19";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-0atpOUJIfXgw/5fi5w2ciAFDMgWmVH4U8d84zwLCRXk=";
+    sha256 = "sha256-Pp4h0MBoYhczmxPq21cLiYpLUeFP+2JoACcFpBl3b0E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/turnt/default.nix b/nixpkgs/pkgs/development/python-modules/turnt/default.nix
index 1fe1d303856d..b003f134004a 100644
--- a/nixpkgs/pkgs/development/python-modules/turnt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/turnt/default.nix
@@ -1,15 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi, click, tomli }:
+{ lib, buildPythonPackage, fetchPypi, flit, click, tomli }:
 
 buildPythonPackage rec {
   pname = "turnt";
   version = "1.11.0";
-  format = "flit";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-XN+qzRgZMSdeBmW0OM36mQ79sRCuP8E++SqH8FOoEq0=";
   };
 
+  nativeBuildInputs = [
+    flit
+  ];
+
   propagatedBuildInputs = [
     click
     tomli
diff --git a/nixpkgs/pkgs/development/python-modules/twilio/default.nix b/nixpkgs/pkgs/development/python-modules/twilio/default.nix
index 078d1775e0a1..e12271c48645 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.9.0";
+  version = "8.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-apdLWv4UV4MTAx+kyi/MaOibmBYjwMamaI9b6IGKIl0=";
+    hash = "sha256-1y9kETu2E7dN7fmE0qP6yAVwMcVGCYnyPQYzIIApKjU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/twisted/default.nix b/nixpkgs/pkgs/development/python-modules/twisted/default.nix
index 6c9014d5bd33..801adb77da37 100644
--- a/nixpkgs/pkgs/development/python-modules/twisted/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twisted/default.nix
@@ -1,34 +1,42 @@
 { lib
 , stdenv
 , buildPythonPackage
-, pythonAtLeast
 , pythonOlder
 , fetchPypi
 , fetchpatch
 , python
-, appdirs
+
+# build-system
+, hatchling
+, hatch-fancy-pypi-readme
+
+# dependencies
 , attrs
 , automat
-, bcrypt
 , constantly
+, hyperlink
+, incremental
+, typing-extensions
+, zope_interface
+
+# optional-dependencies
+, appdirs
+, bcrypt
 , cryptography
-, git
-, glibcLocales
 , h2
-, hyperlink
-, hypothesis
 , idna
-, incremental
 , priority
 , pyasn1
-, pyhamcrest
-, pynacl
 , pyopenssl
 , pyserial
 , service-identity
-, setuptools
-, typing-extensions
-, zope_interface
+
+# tests
+, cython-test-exception-raiser
+, git
+, glibcLocales
+, pyhamcrest
+, hypothesis
 
   # for passthru.tests
 , cassandra-driver
@@ -46,16 +54,15 @@
 
 buildPythonPackage rec {
   pname = "twisted";
-  version = "22.10.0";
-  format = "setuptools";
+  version = "23.8.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    pname = "Twisted";
-    inherit version;
+    inherit pname version;
     extension = "tar.gz";
-    hash = "sha256-Mqy9QKlPX0bntCwQm/riswIlCUVWF4Oot6BZBI8tTTE=";
+    hash = "sha256-PHM2Ct0XM2piLA2BHCos4phmtuWbESX9ZQmxclIJiiQ=";
   };
 
   patches = [
@@ -70,42 +77,27 @@ buildPythonPackage rec {
       url = "https://github.com/mweinelt/twisted/commit/e69e652de671aac0abf5c7e6c662fc5172758c5a.patch";
       hash = "sha256-LmvKUTViZoY/TPBmSlx4S9FbJNZfB5cxzn/YcciDmoI=";
     })
-    # remove half broken pyasn1 integration that blow up with pyasn 0.5.0
-    # https://github.com/twisted/twisted/pull/11843
-    (fetchpatch {
-      url = "https://github.com/twisted/twisted/commit/bdee0eb835a76b2982beaf10c85269ff25ea09fa.patch";
-      excludes = [ "pyproject.toml" "tox.ini" ];
-      hash = "sha256-oGAHmZMpMWfK+2zEDjHD115sW7exCYqfORVOLw+Wa6M=";
-    })
-  ] ++ lib.optionals (pythonAtLeast "3.11") [
-    (fetchpatch {
-      url = "https://github.com/twisted/twisted/pull/11734.diff";
-      excludes = [ ".github/workflows/*" ];
-      hash = "sha256-Td08pDxHwl7fPLCA6rUySuXpy8YmZfvXPHGsBpdcmSo=";
-    })
-    (fetchpatch {
-      url = "https://github.com/twisted/twisted/commit/00bf5be704bee022ba4d9b24eb6c2c768b4a1921.patch";
-      hash = "sha256-fnBzczm3OlhbjRcePIQ7dSX6uldlCZ9DJTS+UFO2nAQ=";
-    })
   ];
 
   __darwinAllowLocalNetworking = true;
 
+  nativeBuildInputs = [
+    hatchling
+    hatch-fancy-pypi-readme
+    incremental
+  ];
+
   propagatedBuildInputs = [
     attrs
     automat
     constantly
     hyperlink
     incremental
-    setuptools
     typing-extensions
     zope_interface
   ];
 
   postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace '"pyasn1 >= 0.4",' ""
-
     echo 'ListingTests.test_localeIndependent.skip = "Timezone issue"'>> src/twisted/conch/test/test_cftp.py
     echo 'ListingTests.test_newFile.skip = "Timezone issue"'>> src/twisted/conch/test/test_cftp.py
     echo 'ListingTests.test_newSingleDigitDayOfMonth.skip = "Timezone issue"'>> src/twisted/conch/test/test_cftp.py
@@ -128,6 +120,13 @@ buildPythonPackage rec {
     # fails since migrating to libxcrypt
     echo 'HelperTests.test_refuteCryptedPassword.skip = "OSError: Invalid argument"' >> src/twisted/conch/test/test_checkers.py
 
+    # expectation mismatch with `python -m twisted --help` and `python -m twisted.trial --help` usage output
+    echo 'MainTests.test_twisted.skip = "Expectation Mismatch"' >> src/twisted/test/test_main.py
+    echo 'MainTests.test_trial.skip = "Expectation Mismatch"' >> src/twisted/test/test_main.py
+
+    # tests for missing https support in usage
+    echo 'ServiceTests.test_HTTPSFailureOnMissingSSL.skip = "Expectation Mismatch"' >> src/twisted/web/test/test_tap.py
+
     # not packaged
     substituteInPlace src/twisted/test/test_failure.py \
       --replace "from cython_test_exception_raiser import raiser  # type: ignore[import]" "raiser = None"
@@ -154,12 +153,15 @@ buildPythonPackage rec {
   '';
 
   nativeCheckInputs = [
+    cython-test-exception-raiser
     git
     glibcLocales
     hypothesis
     pyhamcrest
   ]
   ++ passthru.optional-dependencies.conch
+  ++ passthru.optional-dependencies.http2
+  ++ passthru.optional-dependencies.serial
   # not supported on aarch64-darwin: https://github.com/pyca/pyopenssl/issues/873
   ++ lib.optionals (!(stdenv.isDarwin && stdenv.isAarch64)) passthru.optional-dependencies.tls;
 
@@ -171,9 +173,8 @@ buildPythonPackage rec {
   '';
 
   passthru = {
-    optional-dependencies = rec {
+    optional-dependencies = {
       conch = [ appdirs bcrypt cryptography pyasn1 ];
-      conch_nacl = conch ++ [ pynacl ];
       http2 = [ h2 priority ];
       serial = [ pyserial ];
       tls = [ idna pyopenssl service-identity ];
diff --git a/nixpkgs/pkgs/development/python-modules/twitchapi/default.nix b/nixpkgs/pkgs/development/python-modules/twitchapi/default.nix
index 7df76ab5dfc9..f9db5fa4ecc8 100644
--- a/nixpkgs/pkgs/development/python-modules/twitchapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twitchapi/default.nix
@@ -1,7 +1,9 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchPypi
+, fetchFromGitHub
+, setuptools
+, wheel
 , aiohttp
 , python-dateutil
 , typing-extensions
@@ -9,18 +11,24 @@
 
 buildPythonPackage rec {
   pname = "twitchapi";
-  version = "3.11.0";
+  version = "4.0.1";
 
   disabled = pythonOlder "3.7";
 
-  format = "setuptools";
+  format = "pyproject";
 
-  src = fetchPypi {
-    pname = "twitchAPI";
-    inherit version;
-    hash = "sha256-TkQzF32nt89uBvC6aj/b5f2DQkOVDz7UyeUXRyVYumM=";
+  src = fetchFromGitHub {
+    owner = "Teekeks";
+    repo = "pyTwitchAPI";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-WrZb734K51NYqlcMCRr8HO8E7XByioltd4vanTN8HUg=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     python-dateutil
@@ -35,11 +43,11 @@ buildPythonPackage rec {
     "twitchAPI.oauth"
     "twitchAPI.pubsub"
     "twitchAPI.twitch"
-    "twitchAPI.types"
+    "twitchAPI.type"
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/v${version}/docs/changelog.rst";
+    changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/${src.rev}/docs/changelog.rst";
     description = "Python implementation of the Twitch Helix API, its Webhook, PubSub and EventSub";
     homepage = "https://github.com/Teekeks/pyTwitchAPI";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/txredisapi/default.nix b/nixpkgs/pkgs/development/python-modules/txredisapi/default.nix
index 9d8b268b30b2..315e7f8e2713 100644
--- a/nixpkgs/pkgs/development/python-modules/txredisapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/txredisapi/default.nix
@@ -1,20 +1,39 @@
-{ lib, buildPythonPackage, fetchFromGitHub, nixosTests, six, twisted }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, six
+, twisted
+, nixosTests
+}:
 
 buildPythonPackage rec {
   pname = "txredisapi";
-  version = "1.4.7";
+  version = "1.4.9";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "IlyaSkriblovsky";
     repo = "txredisapi";
-    rev = "1.4.7";
-    sha256 = "1f7j3c5l7jcfphvsk7nqmgyb4jaydbzq081m555kw0f9xxak0pgq";
+    rev = "refs/tags/${version}";
+    hash = "sha256-6Z2vurTAw9YHxvEiixtdxBH0YHj+Y9aTdsSkafPMZus=";
   };
 
-  propagatedBuildInputs = [ six twisted ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    six
+    twisted
+  ]
+  ++ twisted.optional-dependencies.tls;
+
+  pythonImportsCheck = [
+    "txredisapi"
+  ];
 
   doCheck = false;
-  pythonImportsCheck = [ "txredisapi" ];
 
   passthru.tests.unit-tests = nixosTests.txredisapi;
 
diff --git a/nixpkgs/pkgs/development/python-modules/txtai/default.nix b/nixpkgs/pkgs/development/python-modules/txtai/default.nix
index 1d4413a6dce9..75b83aaaa090 100644
--- a/nixpkgs/pkgs/development/python-modules/txtai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/txtai/default.nix
@@ -52,7 +52,7 @@
 , unittestCheckHook
 }:
 let
-  version = "6.0.0";
+  version = "6.1.0";
   api = [ aiohttp fastapi uvicorn ];
   # cloud = [ apache-libcloud ];
   console = [ rich ];
@@ -99,13 +99,13 @@ buildPythonPackage {
   inherit version;
   format = "setuptools";
 
-  disable = pythonOlder "3.8";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "neuml";
     repo = "txtai";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lGRdSUSQGdxe+I4WrUkE4hIyyJ1HcFn3cXO3zd27fsM=";
+    hash = "sha256-ZUMfDyebroa9r01bOUFYDyVjuNUqlPU88HBocp3YQJ4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/type-infer/default.nix b/nixpkgs/pkgs/development/python-modules/type-infer/default.nix
index 7adbd97059c5..55fe29e972a8 100644
--- a/nixpkgs/pkgs/development/python-modules/type-infer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/type-infer/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   version = "0.0.15";
   format = "pyproject";
 
-  disable = pythonOlder "3.8";
+  disabled = pythonOlder "3.8";
 
   # using PyPI because the repo does not have tags or release branches
   src = fetchPypi {
diff --git a/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix b/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix
index af8b9c5ef364..3511a87127ba 100644
--- a/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "typed-settings";
-  version = "2.0.2";
+  version = "23.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "typed_settings";
     inherit version;
-    hash = "sha256-AYHA1xFS0g99cloGIjvi8loKS/Q/AteyLiLH8rf+2No=";
+    hash = "sha256-gnwiSCVWU0mpUDiHt9GE2DtfFd2xpOsDL5r/fFctkg4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/typeguard/default.nix b/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
index c2a6171e1b81..7fd258e9123f 100644
--- a/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typeguard/default.nix
@@ -2,6 +2,7 @@
 , fetchPypi
 , pythonOlder
 , lib
+, setuptools
 , setuptools-scm
 , pytestCheckHook
 , typing-extensions
@@ -13,30 +14,39 @@
 
 buildPythonPackage rec {
   pname = "typeguard";
-  version = "2.13.3";
+  version = "4.1.5";
+  format = "pyproject";
+
   disabled = pythonOlder "3.5";
-  outputs = [ "out" "doc" ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00edaa8da3a133674796cf5ea87d9f4b4c367d77476e185e80251cc13dfbb8c4";
+    hash = "sha256-6goRO7wRG8/8kHieuyFWJcljQR9wlqfpBi1ORjDBVf0=";
   };
 
+  outputs = [
+    "out"
+    "doc"
+  ];
+
   nativeBuildInputs = [
     glibcLocales
+    setuptools
     setuptools-scm
     sphinxHook
     sphinx-autodoc-typehints
     sphinx-rtd-theme
   ];
 
-  LC_ALL = "en_US.utf-8";
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg --replace " --cov" ""
-  '';
+  env.LC_ALL = "en_US.utf-8";
 
-  nativeCheckInputs = [ pytestCheckHook typing-extensions ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   disabledTestPaths = [
     # mypy tests aren't passing with latest mypy
diff --git a/nixpkgs/pkgs/development/python-modules/typepy/default.nix b/nixpkgs/pkgs/development/python-modules/typepy/default.nix
index c5c393b29c01..ae97d857da8d 100644
--- a/nixpkgs/pkgs/development/python-modules/typepy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typepy/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "typepy";
-  version = "1.3.1";
+  version = "1.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "thombashi";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-cgy1+6RZ1DUyH45bAKpGPOOZCwhCUghummw2fnfJGww=";
+    hash = "sha256-oIDVjJwapHun0Rk04zOZ4IjAh7qZ2k0BXK6zqFmtVds=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-aiobotocore-packages/default.nix b/nixpkgs/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
new file mode 100644
index 000000000000..7bc93024121e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-aiobotocore-packages/default.nix
@@ -0,0 +1,752 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, aiobotocore
+, botocore
+, typing-extensions
+, fetchPypi
+}:
+let
+  toUnderscore = str: builtins.replaceStrings [ "-" ] [ "_" ] str;
+
+  buildTypesAiobotocorePackage = serviceName: version: hash:
+    buildPythonPackage rec {
+      pname = "types-aiobotocore-${serviceName}";
+      inherit version;
+      format = "setuptools";
+
+      disabled = pythonOlder "3.7";
+
+      src = fetchPypi {
+        inherit pname version hash;
+      };
+
+      propagatedBuildInputs = [
+        aiobotocore
+        botocore
+      ] ++ lib.optionals (pythonOlder "3.12") [
+        typing-extensions
+      ];
+
+      # Project has no tests
+      doCheck = false;
+
+      pythonImportsCheck = [
+        "types_aiobotocore_${toUnderscore serviceName}"
+      ];
+
+      meta = with lib; {
+        description = "Type annotations for aiobotocore ${serviceName}";
+        homepage = "https://github.com/youtype/mypy_boto3_builder";
+        license = with licenses; [ mit ];
+        maintainers = with maintainers; [ mbalatsko ];
+      };
+    };
+in
+rec {
+  types-aiobotocore-accessanalyzer = buildTypesAiobotocorePackage "accessanalyzer" "2.6.0" "sha256-Bit55lGYI8+VOEm+6NKlfxWldFWdiAFwRZjJsgwuv7Q=";
+
+  types-aiobotocore-account = buildTypesAiobotocorePackage "account" "2.5.2.post3" "sha256-zuBKsuPD3Sjl8KWKIlMgKtzfmtVc8ZZyIMKyPC2QjmY=";
+
+  types-aiobotocore-acm = buildTypesAiobotocorePackage "acm" "2.5.4" "sha256-B7SsW+FtSOMfFFdfmH9iv/i9R/qj6ImAr95gpPAf3G4=";
+
+  types-aiobotocore-acm-pca = buildTypesAiobotocorePackage "acm-pca" "2.6.0" "sha256-AO3CEqWkLBTkx4k8YamcUUCg2TwHODCMjz6ujubzLjA=";
+
+  types-aiobotocore-alexaforbusiness = buildTypesAiobotocorePackage "alexaforbusiness" "2.6.0" "sha256-Pjfm+q8Wq7BT3QfFcLuODteOZdvNXSegde1sc6z2UOk=";
+
+  types-aiobotocore-amp = buildTypesAiobotocorePackage "amp" "2.6.0" "sha256-EZ/wSfcWnT7DoSRegMZnzukVLlTFYP2UsR+rEiLwtnE=";
+
+  types-aiobotocore-amplify = buildTypesAiobotocorePackage "amplify" "2.6.0" "sha256-IkvRE9xD0y8l48rWuV1cvnOQ7eHr0hYsrD3NusofgyI=";
+
+  types-aiobotocore-amplifybackend = buildTypesAiobotocorePackage "amplifybackend" "2.6.0" "sha256-4sSNDhmNuOnYPq0X/G8m0XDP08W+MUQ3xiWK9Yc8U6Q=";
+
+  types-aiobotocore-amplifyuibuilder = buildTypesAiobotocorePackage "amplifyuibuilder" "2.6.0" "sha256-K1esoNUDYWzqK12X6o5c12XJQGGDNlCyUiVsNsUaQhI=";
+
+  types-aiobotocore-apigateway = buildTypesAiobotocorePackage "apigateway" "2.6.0" "sha256-r4eDPDqkcQhApN/+4xjDuillQnDOqu2xqyACYHqXRpw=";
+
+  types-aiobotocore-apigatewaymanagementapi = buildTypesAiobotocorePackage "apigatewaymanagementapi" "2.6.0" "sha256-sAJW4q/mUaRsiN7Yt/uBMbxDfKhTSdiZaDd7nvvM3og=";
+
+  types-aiobotocore-apigatewayv2 = buildTypesAiobotocorePackage "apigatewayv2" "2.6.0" "sha256-cNNVvAX1o+ZieUaW59yp5ELFf2S96XdCOLeVe91oFI8=";
+
+  types-aiobotocore-appconfig = buildTypesAiobotocorePackage "appconfig" "2.6.0" "sha256-qliKZTlmnPwRdhQs26M0PlCM91Mn7cHCmccCAhDtryU=";
+
+  types-aiobotocore-appconfigdata = buildTypesAiobotocorePackage "appconfigdata" "2.6.0" "sha256-DcLOpKbUl/YOinXXtlo2su0uMh0Ja5cGrpbmKuQVGvw=";
+
+  types-aiobotocore-appfabric = buildTypesAiobotocorePackage "appfabric" "2.6.0" "sha256-yQvNa3iBsoAD4oBVmt0ZNjziBEhzTUE6E6FFLluxTZw=";
+
+  types-aiobotocore-appflow = buildTypesAiobotocorePackage "appflow" "2.6.0" "sha256-ILdWiqipfSnSjdToIq++JIu1WUmv+lMX72Ymo9KGZ9s=";
+
+  types-aiobotocore-appintegrations = buildTypesAiobotocorePackage "appintegrations" "2.6.0" "sha256-ZPNB2PUpeTttagX1rRmgINgahj3cNuBdKQMvdFNK15Y=";
+
+  types-aiobotocore-application-autoscaling = buildTypesAiobotocorePackage "application-autoscaling" "2.6.0" "sha256-p5EgvysfhIHz4ZALV8tJz/7ZkRIu2BIZwENiiVho67w=";
+
+  types-aiobotocore-application-insights = buildTypesAiobotocorePackage "application-insights" "2.6.0" "sha256-PUDqMFJu2BG3WVCS6SYyltrSr64VblVAgrCYQ6FR2sk=";
+
+  types-aiobotocore-applicationcostprofiler = buildTypesAiobotocorePackage "applicationcostprofiler" "2.6.0" "sha256-bGlbP0d38vFHkITC84N43Vt1Nrsf3+ByWSvvteDejBw=";
+
+  types-aiobotocore-appmesh = buildTypesAiobotocorePackage "appmesh" "2.6.0" "sha256-Lcoc/IJ9o1glV8gNNA/t9B3J6K5Qz/50fqPMsF78WVI=";
+
+  types-aiobotocore-apprunner = buildTypesAiobotocorePackage "apprunner" "2.6.0" "sha256-zyesnbNmSrQEsBVQJouP05zxhBTikGZVCR/VFdEkHNE=";
+
+  types-aiobotocore-appstream = buildTypesAiobotocorePackage "appstream" "2.6.0" "sha256-+4LWBHHwL1R4jBGHChSUOq9vFc+k7NmRXvo8ZjDIyXk=";
+
+  types-aiobotocore-appsync = buildTypesAiobotocorePackage "appsync" "2.6.0" "sha256-JFrBy9Ck/Ni4lwHV47fkzt/YI5cX9FvTeaT0tNgzdqs=";
+
+  types-aiobotocore-arc-zonal-shift = buildTypesAiobotocorePackage "arc-zonal-shift" "2.6.0" "sha256-qTW58yyFwbBYyisuL4NkaEXqblJ3vevXI1lHZVX4mZY=";
+
+  types-aiobotocore-athena = buildTypesAiobotocorePackage "athena" "2.6.0" "sha256-xmTKI8q82UohBE+Wh+j1xivsY8wmrcvOlDAlwTpJmxE=";
+
+  types-aiobotocore-auditmanager = buildTypesAiobotocorePackage "auditmanager" "2.6.0" "sha256-a+47CFM19RM3Y+9wLLe8D4II7rKeDQ93dy68jqJqBD4=";
+
+  types-aiobotocore-autoscaling = buildTypesAiobotocorePackage "autoscaling" "2.6.0" "sha256-s0ClcRgYJcd5GZXYWMn2FieNXebdlS9206mLtKCSy44=";
+
+  types-aiobotocore-autoscaling-plans = buildTypesAiobotocorePackage "autoscaling-plans" "2.6.0" "sha256-ZhOokFIm5KHBc5X+Lp19z5N7BudTQHU5KjHGYCrW/aE=";
+
+  types-aiobotocore-backup = buildTypesAiobotocorePackage "backup" "2.6.0" "sha256-rmm10kZXRkmj0TxqARf+57Nz8LapZF7TaH9GGwhIHys=";
+
+  types-aiobotocore-backup-gateway = buildTypesAiobotocorePackage "backup-gateway" "2.6.0" "sha256-/YH0nuyWaEVPlZFxJarGkWOnLcpiIvvf/GCmxMOaybI=";
+
+  types-aiobotocore-backupstorage = buildTypesAiobotocorePackage "backupstorage" "2.6.0" "sha256-OC1xWUT0BjBoelAxHkprhD54kF+YbK30H/42Q3XxdwY=";
+
+  types-aiobotocore-batch = buildTypesAiobotocorePackage "batch" "2.6.0" "sha256-/5yrgR7NbQ6GbkC9SsHaAhDa3juBjyRt705wHTu6Mr8=";
+
+  types-aiobotocore-billingconductor = buildTypesAiobotocorePackage "billingconductor" "2.6.0" "sha256-bDEICyyIUCRxbTWZFXHsj5yncQI+F+geC92vvsrKCxw=";
+
+  types-aiobotocore-braket = buildTypesAiobotocorePackage "braket" "2.6.0" "sha256-aobQZov192xNkN7cwIKLgJnhxltyLpWw1oKk2m1HkV8=";
+
+  types-aiobotocore-budgets = buildTypesAiobotocorePackage "budgets" "2.6.0" "sha256-0tFKq0VomVAD9NRtlQzilQEZHFOZp40vtTKfoBqjpyU=";
+
+  types-aiobotocore-ce = buildTypesAiobotocorePackage "ce" "2.6.0" "sha256-eKYNFMlDt9uUaqsK8PPTpt1wghN3nGgM+idQBVei8eY=";
+
+  types-aiobotocore-chime = buildTypesAiobotocorePackage "chime" "2.6.0" "sha256-5d9LUaSDvYI/Nrsmg4MnM0ucXmyzUQKV4DpX9pZst2s=";
+
+  types-aiobotocore-chime-sdk-identity = buildTypesAiobotocorePackage "chime-sdk-identity" "2.6.0" "sha256-UXVS4iTbkv9/xmL5AFv3xlWtWk5qN/dam/ic4mg3+cI=";
+
+  types-aiobotocore-chime-sdk-media-pipelines = buildTypesAiobotocorePackage "chime-sdk-media-pipelines" "2.6.0" "sha256-+2AioI5B/K5QhDsaBSAFyNW0Fd49EA8ZBVrULd3u7qQ=";
+
+  types-aiobotocore-chime-sdk-meetings = buildTypesAiobotocorePackage "chime-sdk-meetings" "2.6.0" "sha256-oxlFkYpDoi7pidqzDOYdeTazVl/HjnuZmnjMGZa/WIE=";
+
+  types-aiobotocore-chime-sdk-messaging = buildTypesAiobotocorePackage "chime-sdk-messaging" "2.6.0" "sha256-THOQl3ZUILwLRwYlBb7fQDgpYz7wkMyd+tSLEmHHBVY=";
+
+  types-aiobotocore-chime-sdk-voice = buildTypesAiobotocorePackage "chime-sdk-voice" "2.6.0" "sha256-RwMXK2NrM4BDzeg5lcpxfVzxFzrqjZw+xhZnJL81Uqw=";
+
+  types-aiobotocore-cleanrooms = buildTypesAiobotocorePackage "cleanrooms" "2.6.0" "sha256-i2XmS1m6YO7dOaMZKb0WRQB2WpRue+OCLbdR59oWA1Q=";
+
+  types-aiobotocore-cloud9 = buildTypesAiobotocorePackage "cloud9" "2.6.0" "sha256-W3ni8q7n4l8+SP/RyxibCTptextx4Vd8bmiQ3lhgszQ=";
+
+  types-aiobotocore-cloudcontrol = buildTypesAiobotocorePackage "cloudcontrol" "2.6.0" "sha256-qWbYfegOQ6QcEWA/gce9ZiIOBIVeWIj1qjfsksncDxY=";
+
+  types-aiobotocore-clouddirectory = buildTypesAiobotocorePackage "clouddirectory" "2.6.0" "sha256-5TzDHj/t0tqxbRYfnGRP9LNq9pSFj7aidadVB03ZY1k=";
+
+  types-aiobotocore-cloudformation = buildTypesAiobotocorePackage "cloudformation" "2.6.0" "sha256-EyiQY0NCVa3XuRpBH7aXEA7cBx8BzyRP917f/Ogx0mw=";
+
+  types-aiobotocore-cloudfront = buildTypesAiobotocorePackage "cloudfront" "2.6.0" "sha256-f9nqoXlg7sgY2QCkE1/+Q72N/8Besrl6gncmU+vNt/I=";
+
+  types-aiobotocore-cloudhsm = buildTypesAiobotocorePackage "cloudhsm" "2.6.0" "sha256-a3QRjQhW+cRJykNjhhJREGwuZxR0b+WxgRuS2yuGcTQ=";
+
+  types-aiobotocore-cloudhsmv2 = buildTypesAiobotocorePackage "cloudhsmv2" "2.6.0" "sha256-FyktFlTQAbS6YnoXljvtn6CabJHGLkRv1jCgb9dbz+s=";
+
+  types-aiobotocore-cloudsearch = buildTypesAiobotocorePackage "cloudsearch" "2.6.0" "sha256-eKLM+GYjbm3cweMtF/XI6k+P8t9gaJeRCeMHQbc832g=";
+
+  types-aiobotocore-cloudsearchdomain = buildTypesAiobotocorePackage "cloudsearchdomain" "2.6.0" "sha256-wn03HlgBaZIAkw8gxPehSKpcfQGOhYp0U1CF/84M/lg=";
+
+  types-aiobotocore-cloudtrail = buildTypesAiobotocorePackage "cloudtrail" "2.6.0" "sha256-/vpOE8tU7SsjHmn/YyVfku05ZGBZIiVuFsG6aK47K28=";
+
+  types-aiobotocore-cloudtrail-data = buildTypesAiobotocorePackage "cloudtrail-data" "2.6.0" "sha256-8W7TrB1EXp5JeBQ9xqkqFhf+Frflpd5bfVxpqju2ZPM=";
+
+  types-aiobotocore-cloudwatch = buildTypesAiobotocorePackage "cloudwatch" "2.6.0" "sha256-ntQkDjM3I3wuMH5jsifODEwRna2ctRW1M9bzyEjIF7w=";
+
+  types-aiobotocore-codeartifact = buildTypesAiobotocorePackage "codeartifact" "2.6.0" "sha256-NuMqaomry4ezNNRKBLOJ0xNwGUO2Prl4nf/5O38oyqI=";
+
+  types-aiobotocore-codebuild = buildTypesAiobotocorePackage "codebuild" "2.6.0" "sha256-dYe3uLk0ssQPQPEo+3glh+ic6recgV5WPIN09lLuuA4=";
+
+  types-aiobotocore-codecatalyst = buildTypesAiobotocorePackage "codecatalyst" "2.6.0" "sha256-7MKRVJ4fgberRmkHWHfvrfzU2+BYhMZxgb2ge7NAQp4=";
+
+  types-aiobotocore-codecommit = buildTypesAiobotocorePackage "codecommit" "2.6.0" "sha256-7StmPVxVNfFpqQmjyM4cn9NBrAsuUjxRkP0WgGCnuso=";
+
+  types-aiobotocore-codedeploy = buildTypesAiobotocorePackage "codedeploy" "2.6.0" "sha256-4TUcqf3kuRqsMjhfrUTX3/aOSl43NtwmbSgM6KtjAlk=";
+
+  types-aiobotocore-codeguru-reviewer = buildTypesAiobotocorePackage "codeguru-reviewer" "2.6.0" "sha256-qD42WySh9NpQBOveTRGP3hIp8zD1Y1DzSiM7kbbfR88=";
+
+  types-aiobotocore-codeguru-security = buildTypesAiobotocorePackage "codeguru-security" "2.6.0" "sha256-1qgsFoogu8MnWoCeKnqy4KIY7UdMeUPnaS1zVSVl2Mg=";
+
+  types-aiobotocore-codeguruprofiler = buildTypesAiobotocorePackage "codeguruprofiler" "2.6.0" "sha256-7Nbb+l7y5ccrVGymZ46nKwnGoa5nThrIOZ1AG0ykPEw=";
+
+  types-aiobotocore-codepipeline = buildTypesAiobotocorePackage "codepipeline" "2.6.0" "sha256-cIvM4g/CldgLuN10a3lNhISz08gT6VxZHMS5xo+B2IA=";
+
+  types-aiobotocore-codestar = buildTypesAiobotocorePackage "codestar" "2.6.0" "sha256-6b3QfRecmprhRU+loWafrcL1mWNLFmZXZOAhUMkpGqU=";
+
+  types-aiobotocore-codestar-connections = buildTypesAiobotocorePackage "codestar-connections" "2.6.0" "sha256-D/icEGVsuYSU7hCw2VEojLTkdaBcK6SoEZqpvD/NKV0=";
+
+  types-aiobotocore-codestar-notifications = buildTypesAiobotocorePackage "codestar-notifications" "2.6.0" "sha256-7vWHwrG7Z80Zb3ncGBqN4ItKAVWLR0XHITJxMmE8y8Y=";
+
+  types-aiobotocore-cognito-identity = buildTypesAiobotocorePackage "cognito-identity" "2.6.0" "sha256-C1JRefgyuiKDOJMhShyDPDjfKp5S5OMCaHcnORLxnvY=";
+
+  types-aiobotocore-cognito-idp = buildTypesAiobotocorePackage "cognito-idp" "2.6.0" "sha256-ks8MmuhrmdTS509vgxZ0raZqISMPaAItEjf93ppWhrU=";
+
+  types-aiobotocore-cognito-sync = buildTypesAiobotocorePackage "cognito-sync" "2.6.0" "sha256-pOLa8tDqPexDigPbRqTjnr7/ricz92/Ml79AyUXvXBg=";
+
+  types-aiobotocore-comprehend = buildTypesAiobotocorePackage "comprehend" "2.6.0" "sha256-qXIwjiNksQbQiTtwaKWNHaUCras/moRuFXN3sOEPYMc=";
+
+  types-aiobotocore-comprehendmedical = buildTypesAiobotocorePackage "comprehendmedical" "2.6.0" "sha256-C98s7dkFRgj8m4M+MmjvCWwrdohkLJafgo9j2ACQ2l4=";
+
+  types-aiobotocore-compute-optimizer = buildTypesAiobotocorePackage "compute-optimizer" "2.6.0" "sha256-4MRGtyFWceAuspTW6Xqwjf2ta0VC1SIoK/U80QZw7UA=";
+
+  types-aiobotocore-config = buildTypesAiobotocorePackage "config" "2.6.0" "sha256-qW+R5X/fu784kjARjISaNxwzIJn74SXfUaPEuGqsM1M=";
+
+  types-aiobotocore-connect = buildTypesAiobotocorePackage "connect" "2.6.0" "sha256-d+7VqW5H0hyINQVXoy6djyFmkGzlhLnEpzURuPQLyBc=";
+
+  types-aiobotocore-connect-contact-lens = buildTypesAiobotocorePackage "connect-contact-lens" "2.6.0" "sha256-3d2WJQpohaiwdsKOS2u5kNhHVsgELMxgjunHAk6v7Y8=";
+
+  types-aiobotocore-connectcampaigns = buildTypesAiobotocorePackage "connectcampaigns" "2.6.0" "sha256-lsDs0yxFf4ForZ2bU719LFCDHzR9lOE211XuYGYKZCw=";
+
+  types-aiobotocore-connectcases = buildTypesAiobotocorePackage "connectcases" "2.6.0" "sha256-/MRl46K5h5mtboGhWDop0psxPyxhm3tKhzvMpr91d/w=";
+
+  types-aiobotocore-connectparticipant = buildTypesAiobotocorePackage "connectparticipant" "2.6.0" "sha256-3E+8scTPCcNm8RDoxGWSm/u6drT12aiFqf3LbxWTy8w=";
+
+  types-aiobotocore-controltower = buildTypesAiobotocorePackage "controltower" "2.6.0" "sha256-Df25Lah8FBdCrbWMC+Y9ayQCO3ijG8cMdypA2+sE3oY=";
+
+  types-aiobotocore-cur = buildTypesAiobotocorePackage "cur" "2.6.0" "sha256-i+n53Eejdz26WGsHBmLR3V0ZxOBHPtTTzoxH0mmKPig=";
+
+  types-aiobotocore-customer-profiles = buildTypesAiobotocorePackage "customer-profiles" "2.6.0" "sha256-i1mv2M3bboOF3+iIKYhp4raYb7mHiQTirlWsttB/dXY=";
+
+  types-aiobotocore-databrew = buildTypesAiobotocorePackage "databrew" "2.6.0" "sha256-WMVPGbQkdbKc2T+gR9P3oWUxl5VSVf4IdcLeuW9SNUo=";
+
+  types-aiobotocore-dataexchange = buildTypesAiobotocorePackage "dataexchange" "2.6.0" "sha256-okcgm0Lx5s2AM2mprVwNjeI1TTmlR73FgjWbYa9uRdE=";
+
+  types-aiobotocore-datapipeline = buildTypesAiobotocorePackage "datapipeline" "2.6.0" "sha256-k0tYIWqPEnETISThasPHa9AaWdAs0p+hfrUuCI7VTJk=";
+
+  types-aiobotocore-datasync = buildTypesAiobotocorePackage "datasync" "2.6.0" "sha256-C138viPl57+Z79k1C0c4IjgdpMd4PhO352fUs6/YnE0=";
+
+  types-aiobotocore-dax = buildTypesAiobotocorePackage "dax" "2.6.0" "sha256-1BtV4vajDTlmNhX4oh1h81+1MsIe63gxnkd1oWn0yeI=";
+
+  types-aiobotocore-detective = buildTypesAiobotocorePackage "detective" "2.6.0" "sha256-UP8rTuCwNq6Eu5gYrMj5c+JaNy9grOOL9RRi/QsDvzE=";
+
+  types-aiobotocore-devicefarm = buildTypesAiobotocorePackage "devicefarm" "2.6.0" "sha256-Mc4Kl4dZyn9y+9V44QilacOHN9+E1M79uNLATsoH2Ks=";
+
+  types-aiobotocore-devops-guru = buildTypesAiobotocorePackage "devops-guru" "2.6.0" "sha256-pPn7O3oK75zRmOFMQmyzmRcjpRTswrVhdbkcqaI5Sj8=";
+
+  types-aiobotocore-directconnect = buildTypesAiobotocorePackage "directconnect" "2.6.0" "sha256-LwbqLf3BEwW/+f6vsddXt+FiyGkRKIPXfaqW5rtDrig=";
+
+  types-aiobotocore-discovery = buildTypesAiobotocorePackage "discovery" "2.6.0" "sha256-mBruXgMAELLGyEg7ON8PFesERMf5og8As58U9pvIKRc=";
+
+  types-aiobotocore-dlm = buildTypesAiobotocorePackage "dlm" "2.6.0" "sha256-JLOVu9OlJgrfTBlmzVNN5saYO8AFk8N54hRzDAjq7WI=";
+
+  types-aiobotocore-dms = buildTypesAiobotocorePackage "dms" "2.6.0" "sha256-cWGwdGBTgEag5SeRDLvAJtCS1dAxtt5R0uanPI6RjkY=";
+
+  types-aiobotocore-docdb = buildTypesAiobotocorePackage "docdb" "2.6.0" "sha256-yYm/H31gRIDV+r2H+8cTHkc5h40aFFUQ7zlX1wyLPAI=";
+
+  types-aiobotocore-docdb-elastic = buildTypesAiobotocorePackage "docdb-elastic" "2.6.0" "sha256-ro0xv2HHzTXA6tRNnr3eQjCj5iaqc1wOcsKny8j/hoQ=";
+
+  types-aiobotocore-drs = buildTypesAiobotocorePackage "drs" "2.6.0" "sha256-4CeNeftLpPSZYqw09LcPRC+8yVp+84azRHQ8O0JFOOo=";
+
+  types-aiobotocore-ds = buildTypesAiobotocorePackage "ds" "2.6.0" "sha256-HZEA8fivN05Puxycyl+2z4kIJMbGtF0J7ohLOwx+IzM=";
+
+  types-aiobotocore-dynamodb = buildTypesAiobotocorePackage "dynamodb" "2.6.0" "sha256-dFo/YsEQg7TXB5NENmFOv37R3B2GoN0TlIiULWEQr9I=";
+
+  types-aiobotocore-dynamodbstreams = buildTypesAiobotocorePackage "dynamodbstreams" "2.6.0" "sha256-8wsE774l7M8Qb3UiaxkAdN6sdnXs5oS4cFhncW0joBI=";
+
+  types-aiobotocore-ebs = buildTypesAiobotocorePackage "ebs" "2.6.0" "sha256-95lUlfOjLVgHufSv3UvaKB1K0F2N0cvtCcKh96VBtqg=";
+
+  types-aiobotocore-ec2 = buildTypesAiobotocorePackage "ec2" "2.6.0" "sha256-hSuwPcQEk9Qgkc/JtcZp2vqLXnMQN9gtzjkuC1Bv1C4=";
+
+  types-aiobotocore-ec2-instance-connect = buildTypesAiobotocorePackage "ec2-instance-connect" "2.6.0" "sha256-0Lwxob43TzJHNcriUEa3BAZE64iqS9Js4TtfL20YRj0=";
+
+  types-aiobotocore-ecr = buildTypesAiobotocorePackage "ecr" "2.6.0" "sha256-bMPp7QPa2f8GCRmX3y78XvZTUyYNfYxXDKj5lckBBvE=";
+
+  types-aiobotocore-ecr-public = buildTypesAiobotocorePackage "ecr-public" "2.6.0" "sha256-O2RieTv4vyZ6/mR8BRltfbGcPUjAyIIqriskSlmNcb4=";
+
+  types-aiobotocore-ecs = buildTypesAiobotocorePackage "ecs" "2.6.0" "sha256-C660Ync/6dV8c9i+N7bgV0TYaPScrJ40KPdG3LItGGs=";
+
+  types-aiobotocore-efs = buildTypesAiobotocorePackage "efs" "2.6.0" "sha256-jhIpP0cJEv2SqvmBJtxNVoWF4AOWci2sPj04dN3N+bo=";
+
+  types-aiobotocore-eks = buildTypesAiobotocorePackage "eks" "2.6.0" "sha256-MXMbA1QAyRMhTqihwKztK3EoRp1iesCvPEz30Xc/in8=";
+
+  types-aiobotocore-elastic-inference = buildTypesAiobotocorePackage "elastic-inference" "2.6.0" "sha256-xjMVOk0fzyvDoSNb+kxVQT9emfvIG/6Ws3h3MfCCTOY=";
+
+  types-aiobotocore-elasticache = buildTypesAiobotocorePackage "elasticache" "2.6.0" "sha256-7iUYuPOerdp1+fxI/KdC4sEWDOTJQAgYYheEmSvjBFo=";
+
+  types-aiobotocore-elasticbeanstalk = buildTypesAiobotocorePackage "elasticbeanstalk" "2.6.0" "sha256-yCF9EHyTsf1hmoeSGrNiM2Dd8gtGlcX79zqF25btN04=";
+
+  types-aiobotocore-elastictranscoder = buildTypesAiobotocorePackage "elastictranscoder" "2.6.0" "sha256-vRVH67/SbkncE4q3gssGce4NtTYgFM56RLzDKyvBCpc=";
+
+  types-aiobotocore-elb = buildTypesAiobotocorePackage "elb" "2.6.0" "sha256-+mFIAOecS21QFsnB+V1EFyGLv6uW+oMzkRi051HvPGA=";
+
+  types-aiobotocore-elbv2 = buildTypesAiobotocorePackage "elbv2" "2.6.0" "sha256-OIWzkp7AC2bK55bl3WvL2Zk7M0WRPc8jVHekPAGDtyw=";
+
+  types-aiobotocore-emr = buildTypesAiobotocorePackage "emr" "2.6.0" "sha256-TWCgT2xBi3UajaF6L+m61Q27YV8RCm+e/jRVnZKjwrI=";
+
+  types-aiobotocore-emr-containers = buildTypesAiobotocorePackage "emr-containers" "2.6.0" "sha256-pBr9zVqEbP0na385scKW28d0qIB+7HQdYC5QTdhxHNA=";
+
+  types-aiobotocore-emr-serverless = buildTypesAiobotocorePackage "emr-serverless" "2.6.0" "sha256-mdpuehCY0ki+sZSlNS0kIwijZphoyQixNWY4WKEcrMs=";
+
+  types-aiobotocore-entityresolution = buildTypesAiobotocorePackage "entityresolution" "2.6.0" "sha256-lFbcxmw7Le/rVVL70cOY/vEUShSRnsOdul+eI1jzX7Y=";
+
+  types-aiobotocore-es = buildTypesAiobotocorePackage "es" "2.6.0" "sha256-A/1kM0X4bKrPIXBpir9FuEkuYmUb/K06gfut6faGN0A=";
+
+  types-aiobotocore-events = buildTypesAiobotocorePackage "events" "2.6.0" "sha256-X0r0VZ/ZWYrn2NdE5dJrcS74OyWIvWMDJGSNheIOm0A=";
+
+  types-aiobotocore-evidently = buildTypesAiobotocorePackage "evidently" "2.6.0" "sha256-ec9XPmiGjhH+MsW81JtH13KACasiWqtmxOC/O8ewbgE=";
+
+  types-aiobotocore-finspace = buildTypesAiobotocorePackage "finspace" "2.6.0" "sha256-fPG/13VJzvdfoADYZXTZ2ssdJrKQ/MEic6rhsNUE4tU=";
+
+  types-aiobotocore-finspace-data = buildTypesAiobotocorePackage "finspace-data" "2.6.0" "sha256-2mAHrKw7Hur/nrVQpuRwGae5CumbjbQb4V9Z6NlsSmo=";
+
+  types-aiobotocore-firehose = buildTypesAiobotocorePackage "firehose" "2.6.0" "sha256-viWUrt2F0O1jVhkxK5G776A4r7d4jJJVI/5UsUS+cao=";
+
+  types-aiobotocore-fis = buildTypesAiobotocorePackage "fis" "2.6.0" "sha256-4T/EcdB+5TV8PnX1Z9c8Ato19kznO3yQPZohuWD1+J8=";
+
+  types-aiobotocore-fms = buildTypesAiobotocorePackage "fms" "2.6.0" "sha256-VIGEXyDyUEWshdYFUJ3VmCS1z/ZBOKq2PYCosalPZAw=";
+
+  types-aiobotocore-forecast = buildTypesAiobotocorePackage "forecast" "2.6.0" "sha256-rMjrKtR8BWtAYoyBY52o/5wbZCHqX1aFMRsVCunZTeo=";
+
+  types-aiobotocore-forecastquery = buildTypesAiobotocorePackage "forecastquery" "2.6.0" "sha256-rh53/1tmYyADrkUtQjrwrcEe78ji6II0yYnMQO38AOU=";
+
+  types-aiobotocore-frauddetector = buildTypesAiobotocorePackage "frauddetector" "2.6.0" "sha256-ICRkb+GIWginbc2LvsJTzBaEXDlwg+JOqWQwNRzu+CI=";
+
+  types-aiobotocore-fsx = buildTypesAiobotocorePackage "fsx" "2.6.0" "sha256-vZiK+Kat3RKN/OcKny5qLF+pYljoVlJGG9Kdlb75GWk=";
+
+  types-aiobotocore-gamelift = buildTypesAiobotocorePackage "gamelift" "2.6.0" "sha256-9qk0jvEAU6vh++k18ccjrZNLnYlOqiAGuVvBGS5QetQ=";
+
+  types-aiobotocore-gamesparks = buildTypesAiobotocorePackage "gamesparks" "2.6.0" "sha256-9iV7bpGMnzz9TH+g1YpPjbKBSKY3rcL/OJvMOzwLC1M=";
+
+  types-aiobotocore-glacier = buildTypesAiobotocorePackage "glacier" "2.6.0" "sha256-shUgv/KntAP0kuD8pJFLEAp/aIukEsLhte6C5odtNJs=";
+
+  types-aiobotocore-globalaccelerator = buildTypesAiobotocorePackage "globalaccelerator" "2.6.0" "sha256-U/74XOX/pXh4JJ4n6Fu6quL6gQwz+zt9bOWj/QYOS+8=";
+
+  types-aiobotocore-glue = buildTypesAiobotocorePackage "glue" "2.6.0" "sha256-K2asnioD1r9BJCX2PaNaN+fKDyA+oQhvdM0h0LgxbEY=";
+
+  types-aiobotocore-grafana = buildTypesAiobotocorePackage "grafana" "2.6.0" "sha256-acNr8U/E2Eq4wp68Td0k8xdORhT6ZOJBOi0enBnaacE=";
+
+  types-aiobotocore-greengrass = buildTypesAiobotocorePackage "greengrass" "2.6.0" "sha256-9mqnIWlLUoz28qp8AH8LiNdDgcJ04P0Z+jxNb/91jUg=";
+
+  types-aiobotocore-greengrassv2 = buildTypesAiobotocorePackage "greengrassv2" "2.6.0" "sha256-+G6nPOY2Suxa8LPTG8SHOZfwaIJQIyVGTRcsAQYXZzY=";
+
+  types-aiobotocore-groundstation = buildTypesAiobotocorePackage "groundstation" "2.6.0" "sha256-VGGDcARvtSeukjgVB9jwSamIrlrNCF+0pNszN6VkMC0=";
+
+  types-aiobotocore-guardduty = buildTypesAiobotocorePackage "guardduty" "2.6.0" "sha256-3bScTMTc7PMrHvZpfPYENj55w2JjnK/pVuNLcxCjw5Q=";
+
+  types-aiobotocore-health = buildTypesAiobotocorePackage "health" "2.6.0" "sha256-WBxZlnWrZ6b0MIEomvgUDqiKNe9KIIgOrNrRhRw07EA=";
+
+  types-aiobotocore-healthlake = buildTypesAiobotocorePackage "healthlake" "2.6.0" "sha256-8ofimJ4eTxq8yQjCc23FQ2OktMCNwlIBCn+eC+HLqlc=";
+
+  types-aiobotocore-honeycode = buildTypesAiobotocorePackage "honeycode" "2.6.0" "sha256-dCjt22yHlShPdG6Jipy3m4Rx3G4OLPiuUi1gyubcQ/g=";
+
+  types-aiobotocore-iam = buildTypesAiobotocorePackage "iam" "2.6.0" "sha256-NPvYTwvZY5MjfdIlTMRZEQ1S9IvxvQjoi5K2LOlSrMM=";
+
+  types-aiobotocore-identitystore = buildTypesAiobotocorePackage "identitystore" "2.6.0" "sha256-u4d+/kVZ+qtLyueNSGy6a2VoB0jIYdKZqvCQQfarbx4=";
+
+  types-aiobotocore-imagebuilder = buildTypesAiobotocorePackage "imagebuilder" "2.6.0" "sha256-uhkFIVr68n0ShrpZY9qyghd0XgMb0ZT6fF9WdjtF7g0=";
+
+  types-aiobotocore-importexport = buildTypesAiobotocorePackage "importexport" "2.6.0" "sha256-m0fUuupB8Eb9pJQnuir4THb4TdDstKcxHQRgz8Ce2Zg=";
+
+  types-aiobotocore-inspector = buildTypesAiobotocorePackage "inspector" "2.6.0" "sha256-dJQnb6AwtmScEIun0QB9CiiPkbdKti9+mc5LN3vf7e0=";
+
+  types-aiobotocore-inspector2 = buildTypesAiobotocorePackage "inspector2" "2.6.0" "sha256-kAhdyymMdbrPoCFzKiVCFzBlfpmz4aGlZ1Ilkrc8EiQ=";
+
+  types-aiobotocore-internetmonitor = buildTypesAiobotocorePackage "internetmonitor" "2.6.0" "sha256-3oJbkuU013LR7DUXvr8y0nbYh3caAF1c4GtgM1CizdU=";
+
+  types-aiobotocore-iot = buildTypesAiobotocorePackage "iot" "2.6.0" "sha256-Rt6dsE/9aR5AZC47G3RayV56VVobDWEah64cNHsaYII=";
+
+  types-aiobotocore-iot-data = buildTypesAiobotocorePackage "iot-data" "2.6.0" "sha256-KpgEjoEsCSiC6aKyHy64it0k87XYICbxMhUFYUjCBuo=";
+
+  types-aiobotocore-iot-jobs-data = buildTypesAiobotocorePackage "iot-jobs-data" "2.6.0" "sha256-IQRarMn1ZAh+kUG1I4Cyt/6WrIoby07g3qcSzpWUWWM=";
+
+  types-aiobotocore-iot-roborunner = buildTypesAiobotocorePackage "iot-roborunner" "2.6.0" "sha256-BFSV0lfXriD43UFXjdomHIQO60TjrYWmL6+htf9Z3mE=";
+
+  types-aiobotocore-iot1click-devices = buildTypesAiobotocorePackage "iot1click-devices" "2.6.0" "sha256-MRRil8KuR88NvjAOQHQSftplzk7+sdAJBb1Koxj1j8o=";
+
+  types-aiobotocore-iot1click-projects = buildTypesAiobotocorePackage "iot1click-projects" "2.6.0" "sha256-6YRdsbNw685KvSLCPP6cpCVA5zqht9gF/SthHHtjxfI=";
+
+  types-aiobotocore-iotanalytics = buildTypesAiobotocorePackage "iotanalytics" "2.6.0" "sha256-uhxX742flhdDM7zoYm6yggc41NW7glGPijiql4XKJa4=";
+
+  types-aiobotocore-iotdeviceadvisor = buildTypesAiobotocorePackage "iotdeviceadvisor" "2.6.0" "sha256-jrOVxsJHgpEvyLhreMrzttu3yQ4FXm4+MVDlNNIKWVU=";
+
+  types-aiobotocore-iotevents = buildTypesAiobotocorePackage "iotevents" "2.6.0" "sha256-M3wUbFFGsYQesy7ASen+b6yokGkjXY0P5wpGexO2CGg=";
+
+  types-aiobotocore-iotevents-data = buildTypesAiobotocorePackage "iotevents-data" "2.6.0" "sha256-ESm7ZCtEvHo/r9LXnBaIAVAb4bQkGjIlmUNlo/JuzjE=";
+
+  types-aiobotocore-iotfleethub = buildTypesAiobotocorePackage "iotfleethub" "2.6.0" "sha256-0NMp62HDGZ0FHVtyHOvgfMUaedqZG9bY46d2OrpGK7E=";
+
+  types-aiobotocore-iotfleetwise = buildTypesAiobotocorePackage "iotfleetwise" "2.6.0" "sha256-jbLoJOgFRNSPaFv/diM8L0mTGIB2IjAzHqx/QH7lriQ=";
+
+  types-aiobotocore-iotsecuretunneling = buildTypesAiobotocorePackage "iotsecuretunneling" "2.6.0" "sha256-8zvG95bDvJWNRmw9sCdBfPxQPdb4TNAzqMcth+hliLI=";
+
+  types-aiobotocore-iotsitewise = buildTypesAiobotocorePackage "iotsitewise" "2.6.0" "sha256-1i4Z4CE9PG7JByR9RpPazu7RmPIjNeDecnz5LH2ls2A=";
+
+  types-aiobotocore-iotthingsgraph = buildTypesAiobotocorePackage "iotthingsgraph" "2.6.0" "sha256-6161RDBwnvqvBtJWs5bPieI6AdwKFCmiT6ixKRE9GuM=";
+
+  types-aiobotocore-iottwinmaker = buildTypesAiobotocorePackage "iottwinmaker" "2.6.0" "sha256-/h85AoG+poq4t0EvpXdofWfbaEBD6CiCxhdaGKLi4C0=";
+
+  types-aiobotocore-iotwireless = buildTypesAiobotocorePackage "iotwireless" "2.6.0" "sha256-kuOboqDTHpdSW6vD/JGOdLL2U639wM+2V2KaSm1j0xo=";
+
+  types-aiobotocore-ivs = buildTypesAiobotocorePackage "ivs" "2.6.0" "sha256-CiMKW2suhsU2dZsLQkL3hK2qKRJ56FS4Ix7Dt347bMA=";
+
+  types-aiobotocore-ivs-realtime = buildTypesAiobotocorePackage "ivs-realtime" "2.6.0" "sha256-y4RRQdjaJS9GLW7HUNC9f3kWCOAGijlisrlB0MYQ1As=";
+
+  types-aiobotocore-ivschat = buildTypesAiobotocorePackage "ivschat" "2.6.0" "sha256-5ANdk601wY6vtjYbe8CxtY9lK4Fe6wbl5uB6Mq6uqII=";
+
+  types-aiobotocore-kafka = buildTypesAiobotocorePackage "kafka" "2.6.0" "sha256-cvmNob4pGa18W/2uh16zFJ58f0MHRDL2LwOKrsO16uI=";
+
+  types-aiobotocore-kafkaconnect = buildTypesAiobotocorePackage "kafkaconnect" "2.6.0" "sha256-pOk51+FrlKDNPPDaa1mf3HjpCqlUskeRYITkFp91l6M=";
+
+  types-aiobotocore-kendra = buildTypesAiobotocorePackage "kendra" "2.6.0" "sha256-1WeJI++z4QiF0bZ4FyNgoNWY6X62ZCyq7PGNM9urFn4=";
+
+  types-aiobotocore-kendra-ranking = buildTypesAiobotocorePackage "kendra-ranking" "2.6.0" "sha256-uaeHdW8lew6jq2KQApkY76eWRkYVLffN0h71icP9viE=";
+
+  types-aiobotocore-keyspaces = buildTypesAiobotocorePackage "keyspaces" "2.6.0" "sha256-vbWWkLbVnzfWHp3Yy3S6mh0+tHrkA/5Krw4GVSdILls=";
+
+  types-aiobotocore-kinesis = buildTypesAiobotocorePackage "kinesis" "2.6.0" "sha256-n5u7dzAnZ7YRGIC2qyynlsALR7tONulc0ZmimW+xotk=";
+
+  types-aiobotocore-kinesis-video-archived-media = buildTypesAiobotocorePackage "kinesis-video-archived-media" "2.6.0" "sha256-mjY7GbQ20pzL38tQMoluJISpaxk/IreluvmX7XsLfTg=";
+
+  types-aiobotocore-kinesis-video-media = buildTypesAiobotocorePackage "kinesis-video-media" "2.6.0" "sha256-8kK4JurIaid4k0BkpoZkaosn7cOIyMTt0RXnoJZUtSc=";
+
+  types-aiobotocore-kinesis-video-signaling = buildTypesAiobotocorePackage "kinesis-video-signaling" "2.6.0" "sha256-nUOb5NwCsz/7Z0bUMUsxysn2bgNi+yTvyGGCkwzCU1o=";
+
+  types-aiobotocore-kinesis-video-webrtc-storage = buildTypesAiobotocorePackage "kinesis-video-webrtc-storage" "2.6.0" "sha256-Tw+ozecMKAw56x47Wqq3wwwcmDT+5LvoUDAZSX0z2I4=";
+
+  types-aiobotocore-kinesisanalytics = buildTypesAiobotocorePackage "kinesisanalytics" "2.6.0" "sha256-QY5tN7QVP2WC7P/se6wNrnLp3sJVIr/rTEs9ePpADPE=";
+
+  types-aiobotocore-kinesisanalyticsv2 = buildTypesAiobotocorePackage "kinesisanalyticsv2" "2.6.0" "sha256-aedmxGOuU70uX/+bQL8coUWBpk9IQHAL7VqusH8zPbs=";
+
+  types-aiobotocore-kinesisvideo = buildTypesAiobotocorePackage "kinesisvideo" "2.6.0" "sha256-wyT6YahL3sRGHQcBTAyLd7l75wVWRp2waS+Q46Me/ok=";
+
+  types-aiobotocore-kms = buildTypesAiobotocorePackage "kms" "2.6.0" "sha256-mY26ICYSENAruEn4986zxi5R9ong4nyuRAHgMZDliqo=";
+
+  types-aiobotocore-lakeformation = buildTypesAiobotocorePackage "lakeformation" "2.6.0" "sha256-CR3Uopf6izBTlR16yIA3CUikWrS3OzkFZFpbJNDhBVs=";
+
+  types-aiobotocore-lambda = buildTypesAiobotocorePackage "lambda" "2.6.0" "sha256-pkZMQu5himEPO7z/AF7INb7H7jjmkyQV1ql2epF4yYA=";
+
+  types-aiobotocore-lex-models = buildTypesAiobotocorePackage "lex-models" "2.6.0" "sha256-sIQ85LzkQgMvVfAKEc5HxIXx85Tckx4HVXcex2hxZ6I=";
+
+  types-aiobotocore-lex-runtime = buildTypesAiobotocorePackage "lex-runtime" "2.6.0" "sha256-IZvLF0Wg7od/LqC2bcCxtvNun0n9JViuXE/CQMoBdMc=";
+
+  types-aiobotocore-lexv2-models = buildTypesAiobotocorePackage "lexv2-models" "2.6.0" "sha256-9eebhFQqnsParfZ1poJJX/ehx1lNHIynFwXEzAo10JM=";
+
+  types-aiobotocore-lexv2-runtime = buildTypesAiobotocorePackage "lexv2-runtime" "2.6.0" "sha256-ot+oM2a+CA/92d+tY54tqdOlsZWReknv+Pt3Aw8V1GU=";
+
+  types-aiobotocore-license-manager = buildTypesAiobotocorePackage "license-manager" "2.6.0" "sha256-iNlzgcjg3VrIZJEi2f+7msFqrfWsUS24k7OERB28uRo=";
+
+  types-aiobotocore-license-manager-linux-subscriptions = buildTypesAiobotocorePackage "license-manager-linux-subscriptions" "2.6.0" "sha256-1exWgnbG5ikd1pHWClPGq3Luku5qyTtG6pwvqL/zWdk=";
+
+  types-aiobotocore-license-manager-user-subscriptions = buildTypesAiobotocorePackage "license-manager-user-subscriptions" "2.6.0" "sha256-0fLwCr5eDRxcGZdw3sqExh8awX1qu5XmEYMD63xhD3w=";
+
+  types-aiobotocore-lightsail = buildTypesAiobotocorePackage "lightsail" "2.6.0" "sha256-eiibXP8S+xvn+PTX8cd3WiN6yL2JmjK9EG9BryexFjY=";
+
+  types-aiobotocore-location = buildTypesAiobotocorePackage "location" "2.6.0" "sha256-3zQZyDgaMuj5SAQ7Nc+XzF5dUi1E9bAjv9mIscJxfqM=";
+
+  types-aiobotocore-logs = buildTypesAiobotocorePackage "logs" "2.6.0" "sha256-qyA1uCrAFGZHMlfL8Dou1YkM6rb9xwcrDQmteSqOadM=";
+
+  types-aiobotocore-lookoutequipment = buildTypesAiobotocorePackage "lookoutequipment" "2.6.0" "sha256-ilPodAPj7J6xVCPEjsBQcQ4I5dNMEM2/hM1j8PJMUto=";
+
+  types-aiobotocore-lookoutmetrics = buildTypesAiobotocorePackage "lookoutmetrics" "2.6.0" "sha256-m/13nELWqdPNkZXmA3FhArlOKhB1CcbTaAsI9Iqzrik=";
+
+  types-aiobotocore-lookoutvision = buildTypesAiobotocorePackage "lookoutvision" "2.6.0" "sha256-gW+GFoQhI1Mj412Gh3MXfoSMKpNscUB4AqC9WMF4ACI=";
+
+  types-aiobotocore-m2 = buildTypesAiobotocorePackage "m2" "2.6.0" "sha256-DoFG4FxvJFnN54G5F2LZY5M0aYlCU9H5wwnAsiHaRmc=";
+
+  types-aiobotocore-machinelearning = buildTypesAiobotocorePackage "machinelearning" "2.6.0" "sha256-VZajCqSzofQLUBrXbMzdaPmbIDNp5YuUUk1wberVcFs=";
+
+  types-aiobotocore-macie = buildTypesAiobotocorePackage "macie" "2.6.0" "sha256-gbl7jEgjk4twoxGM+WRg4MZ/nkGg7btiPOsPptR7yfw=";
+
+  types-aiobotocore-macie2 = buildTypesAiobotocorePackage "macie2" "2.6.0" "sha256-IX2KY/guFLJ6jL4gRdTS6cQbNuFJuz8xa4QzqZ8j5h8=";
+
+  types-aiobotocore-managedblockchain = buildTypesAiobotocorePackage "managedblockchain" "2.6.0" "sha256-k/J7hBJDfGXMFR9jn7Tiec8bClrXIz6XyLMqLJad6oU=";
+
+  types-aiobotocore-managedblockchain-query = buildTypesAiobotocorePackage "managedblockchain-query" "2.6.0" "sha256-swmAlpVrP1eSvJatWaJL6QDfgZ0xzBttrpHt1aNULUk=";
+
+  types-aiobotocore-marketplace-catalog = buildTypesAiobotocorePackage "marketplace-catalog" "2.6.0" "sha256-9yD3FIFrRDMAckbztjrKeUEyXCUOggF5UfsPe5hcQ1Q=";
+
+  types-aiobotocore-marketplace-entitlement = buildTypesAiobotocorePackage "marketplace-entitlement" "2.6.0" "sha256-Q6S9pTfquW+Hv4uB9tbS/TEsC/i7iDfA+LyZCHq3cRI=";
+
+  types-aiobotocore-marketplacecommerceanalytics = buildTypesAiobotocorePackage "marketplacecommerceanalytics" "2.6.0" "sha256-iyHFWN8tWgQoShTO6bJQB89K+4JVWjMihzjMr2Lssvw=";
+
+  types-aiobotocore-mediaconnect = buildTypesAiobotocorePackage "mediaconnect" "2.6.0" "sha256-hEwlISpSm6r+a1MXxSH3UrBOiNu+Cx9d1T2RsFfrcyA=";
+
+  types-aiobotocore-mediaconvert = buildTypesAiobotocorePackage "mediaconvert" "2.6.0" "sha256-VdxG2yvN6g9UAn54OP6uafHGN+iHjNrfO4H5f5h6w18=";
+
+  types-aiobotocore-medialive = buildTypesAiobotocorePackage "medialive" "2.6.0" "sha256-hrfqkhKWIcP+fjDaeFjvk6c6GBTgsY3yxPodx9fFpxk=";
+
+  types-aiobotocore-mediapackage = buildTypesAiobotocorePackage "mediapackage" "2.6.0" "sha256-c7XLKvwiQL6e0tWH0DmOyauTz3q5b0hOVpjVzR1rmH8=";
+
+  types-aiobotocore-mediapackage-vod = buildTypesAiobotocorePackage "mediapackage-vod" "2.6.0" "sha256-zw2mJFQgX9xqjsvldssfMeulgCEY0kqaNg+nUe9PpCc=";
+
+  types-aiobotocore-mediapackagev2 = buildTypesAiobotocorePackage "mediapackagev2" "2.6.0" "sha256-fdZn+f03iIzzkpSCdTh2uUY4WcU1DcyRxozP7SSkGyo=";
+
+  types-aiobotocore-mediastore = buildTypesAiobotocorePackage "mediastore" "2.6.0" "sha256-KoZKeJPlIWhgifauIOSSLZaSJWn3E0lSNUOhKPfI0Go=";
+
+  types-aiobotocore-mediastore-data = buildTypesAiobotocorePackage "mediastore-data" "2.6.0" "sha256-HT/Kvi15YJLEno70ayEXQLPi9Y6NlRD8134IRJ7gdRY=";
+
+  types-aiobotocore-mediatailor = buildTypesAiobotocorePackage "mediatailor" "2.6.0" "sha256-3F1Gpd2kOU1rS7iSyDr0pkRECqYsyeeEQKDH2OO9H/A=";
+
+  types-aiobotocore-medical-imaging = buildTypesAiobotocorePackage "medical-imaging" "2.6.0" "sha256-zUXGqquEveHHDqA8XeJX++Yc42rnyW9Vzt5A7LOImfk=";
+
+  types-aiobotocore-memorydb = buildTypesAiobotocorePackage "memorydb" "2.6.0" "sha256-FJ9aeZRCY+bhot3cU3qX4EuFAowPCc7kT2D0FGVTpys=";
+
+  types-aiobotocore-meteringmarketplace = buildTypesAiobotocorePackage "meteringmarketplace" "2.6.0" "sha256-WsWw1y5XueMQnRTWYQP73GawsSzEsliPzu9Xlij3UAo=";
+
+  types-aiobotocore-mgh = buildTypesAiobotocorePackage "mgh" "2.6.0" "sha256-7wvX7X/NdB+GlWDogT2benTSC7ZCdVv97Zi6r+s5B2E=";
+
+  types-aiobotocore-mgn = buildTypesAiobotocorePackage "mgn" "2.6.0" "sha256-e6TTldFkZXf8A8bV7RKkIl6AD/lCC9elB6mT3WeWEiM=";
+
+  types-aiobotocore-migration-hub-refactor-spaces = buildTypesAiobotocorePackage "migration-hub-refactor-spaces" "2.6.0" "sha256-HVoia2UZMrjgH6aUQGit+MueUk0qW3KjWKYJy2pHlp0=";
+
+  types-aiobotocore-migrationhub-config = buildTypesAiobotocorePackage "migrationhub-config" "2.6.0" "sha256-hXju28oSNGlQ0qCwFD+qoyWFpKMbFkGWEXteOVOKiII=";
+
+  types-aiobotocore-migrationhuborchestrator = buildTypesAiobotocorePackage "migrationhuborchestrator" "2.6.0" "sha256-mo4vH/xsbRf1UViSRu4P2YzI+7LFkkzXsHeZZLdXg+U=";
+
+  types-aiobotocore-migrationhubstrategy = buildTypesAiobotocorePackage "migrationhubstrategy" "2.6.0" "sha256-eU4j+9z++Kgp2TaUX214XGuIXPxCriKu9w+XW8mZp+c=";
+
+  types-aiobotocore-mobile = buildTypesAiobotocorePackage "mobile" "2.6.0" "sha256-HKolI0fcGWye3Xow73qXOJRQ/Wb23ZXWLYyfA94zZT0=";
+
+  types-aiobotocore-mq = buildTypesAiobotocorePackage "mq" "2.6.0" "sha256-61iFbkOYLF6y1QUGePVAVEFqGgTmPbLYS7VDbvzmInA=";
+
+  types-aiobotocore-mturk = buildTypesAiobotocorePackage "mturk" "2.6.0" "sha256-pdRp9XjLVLCHeMSMV+NycKNt9kbH93/ZJKbiwNlb+A4=";
+
+  types-aiobotocore-mwaa = buildTypesAiobotocorePackage "mwaa" "2.6.0" "sha256-3/LXxvsVmKHpZPr1BISTndLFPmF3LF75kihknSt2cMk=";
+
+  types-aiobotocore-neptune = buildTypesAiobotocorePackage "neptune" "2.6.0" "sha256-2EIBP4NhRy+/OeFuPP/SIf1q6BhlKU9CFH7AM+y3558=";
+
+  types-aiobotocore-network-firewall = buildTypesAiobotocorePackage "network-firewall" "2.6.0" "sha256-3bVNQSzaMhkpiN1mhS9Lz2EfeEJpkSIcPCKPC6s02Uo=";
+
+  types-aiobotocore-networkmanager = buildTypesAiobotocorePackage "networkmanager" "2.6.0" "sha256-Pwmgi4ybpOtLWlY62+QcBHT0iF/6B4Hxbv4CQPA+7/o=";
+
+  types-aiobotocore-nimble = buildTypesAiobotocorePackage "nimble" "2.6.0" "sha256-x+wmTG6jeK8KpSDdhOZkbkRZ7ai7N4xaU4cEmHhO5xA=";
+
+  types-aiobotocore-oam = buildTypesAiobotocorePackage "oam" "2.6.0" "sha256-Q/msYeaXs9MxXj6X0p8Gw08/Y4FvvV2xAbEXU6iqi2g=";
+
+  types-aiobotocore-omics = buildTypesAiobotocorePackage "omics" "2.6.0" "sha256-UB0y0l2fb58yNJr36WpCeTDETAcdQkYd2ueETFEQSTo=";
+
+  types-aiobotocore-opensearch = buildTypesAiobotocorePackage "opensearch" "2.6.0" "sha256-ynRq7qRVNgpsP4lp6pbZqTv3zrF5Zu1v+STvv/yPgKw=";
+
+  types-aiobotocore-opensearchserverless = buildTypesAiobotocorePackage "opensearchserverless" "2.6.0" "sha256-M2tvTKjIg8aEP3KZvrMTCgiJqb6oWL9T5ylkj+Fr184=";
+
+  types-aiobotocore-opsworks = buildTypesAiobotocorePackage "opsworks" "2.6.0" "sha256-XY9DqNQUjFaumcOd2dvX/kV2sWt67Ni26H5SzCarr2E=";
+
+  types-aiobotocore-opsworkscm = buildTypesAiobotocorePackage "opsworkscm" "2.6.0" "sha256-k1QO54TXJJG5jAvPcoEyZEdEXSmLzHdSPDyF60Zmf78=";
+
+  types-aiobotocore-organizations = buildTypesAiobotocorePackage "organizations" "2.6.0" "sha256-kDxDdLaWlaNLfSCOc5Kho73cbk33FnK9c12PYKhdbFQ=";
+
+  types-aiobotocore-osis = buildTypesAiobotocorePackage "osis" "2.6.0" "sha256-Q8EIdCvT0Zjj9udUNpWZzgNClVjNBWTW3V7emhdf+yg=";
+
+  types-aiobotocore-outposts = buildTypesAiobotocorePackage "outposts" "2.6.0" "sha256-tXAQ+tNeZUF1snrB+76Ku+j1Wdslah38s0YMBOINrlo=";
+
+  types-aiobotocore-panorama = buildTypesAiobotocorePackage "panorama" "2.6.0" "sha256-/XJsZV5Yhp5BMSheF9zVf+MSJsH2zUrpnrkSwo+4PfI=";
+
+  types-aiobotocore-payment-cryptography = buildTypesAiobotocorePackage "payment-cryptography" "2.6.0" "sha256-x6uUO578BIDl1kFdyKXSPnegKLAX3FG4U5rDjsQpVQQ=";
+
+  types-aiobotocore-payment-cryptography-data = buildTypesAiobotocorePackage "payment-cryptography-data" "2.6.0" "sha256-+eHgcPA+egPBR06Mddw0RXuivpiprPMnBhPfCmh0sS4=";
+
+  types-aiobotocore-personalize = buildTypesAiobotocorePackage "personalize" "2.6.0" "sha256-5s0KmOdQyPtcFtb+XkR/zHEiEdZcDwZwldwUy+dvC4s=";
+
+  types-aiobotocore-personalize-events = buildTypesAiobotocorePackage "personalize-events" "2.6.0" "sha256-+9wtXNgXQhACa8NYfcjbZcJj0j9PlOavxs+c4NXy0kE=";
+
+  types-aiobotocore-personalize-runtime = buildTypesAiobotocorePackage "personalize-runtime" "2.6.0" "sha256-tvLfXhaFpdivIBtFYp0G4/QihOMSGXK1nVDFKuMJCto=";
+
+  types-aiobotocore-pi = buildTypesAiobotocorePackage "pi" "2.6.0" "sha256-j0ngXkDGIhSh/b1RPn+NY6V2BAUZJdvuT18iALwRkAY=";
+
+  types-aiobotocore-pinpoint = buildTypesAiobotocorePackage "pinpoint" "2.6.0" "sha256-Txme0jlgoF9IYywdKqv71kcEqBfF1juTJcagi/2wQ20=";
+
+  types-aiobotocore-pinpoint-email = buildTypesAiobotocorePackage "pinpoint-email" "2.6.0" "sha256-c6tqmW7i5AXrH2PFyVPCpBkDaiMdTu2fmbHeuc3SzPg=";
+
+  types-aiobotocore-pinpoint-sms-voice = buildTypesAiobotocorePackage "pinpoint-sms-voice" "2.6.0" "sha256-qvVYusxMw+ZrMJAKXqk1HzEDYHsvaUthnYMDF6b0xbQ=";
+
+  types-aiobotocore-pinpoint-sms-voice-v2 = buildTypesAiobotocorePackage "pinpoint-sms-voice-v2" "2.6.0" "sha256-ErqAFQYtKfsNABPm+KpOKm88Mh5MmXou6bqJfsqXdt0=";
+
+  types-aiobotocore-pipes = buildTypesAiobotocorePackage "pipes" "2.6.0" "sha256-vOszu7z/DiZwXrdqoiLUlpLQLNNuRbskI59BBippizI=";
+
+  types-aiobotocore-polly = buildTypesAiobotocorePackage "polly" "2.6.0" "sha256-AKP23N3xMzdOti6J7vONDM/cwdqTHYkiM6c/njspSXI=";
+
+  types-aiobotocore-pricing = buildTypesAiobotocorePackage "pricing" "2.6.0" "sha256-PccslOI6F2k50g03j22AYN3xtTsTW3ie4W4pEaT2XwY=";
+
+  types-aiobotocore-privatenetworks = buildTypesAiobotocorePackage "privatenetworks" "2.6.0" "sha256-3e6/IA6QYgGhipt5XP/b4h3soko1tLntMieXOmeWjlI=";
+
+  types-aiobotocore-proton = buildTypesAiobotocorePackage "proton" "2.6.0" "sha256-rtJ+idGSdRVZafFNppQgIQUobKzClCKHf4RqlBtppBw=";
+
+  types-aiobotocore-qldb = buildTypesAiobotocorePackage "qldb" "2.6.0" "sha256-AqV8yAUYTT8nc3jQkq0qDzZRKxewsrxIR/kVJiX3fwI=";
+
+  types-aiobotocore-qldb-session = buildTypesAiobotocorePackage "qldb-session" "2.6.0" "sha256-N4YntFIEyhhryAaIFY8Gu4Uehw6D/VcTeIlBxx7ej4c=";
+
+  types-aiobotocore-quicksight = buildTypesAiobotocorePackage "quicksight" "2.6.0" "sha256-DOum/vx6URynxImQN9SRhAr5rFgZdSJMdtAMom5YHe8=";
+
+  types-aiobotocore-ram = buildTypesAiobotocorePackage "ram" "2.6.0" "sha256-pZ/h8/1njNNp9+nhpbU/VhGevrZkSrWnhWm3weHAxWQ=";
+
+  types-aiobotocore-rbin = buildTypesAiobotocorePackage "rbin" "2.6.0" "sha256-TOI2FQdO71XT1NESXGrZN+UI6c7CGRmsBbp4ipuQwhg=";
+
+  types-aiobotocore-rds = buildTypesAiobotocorePackage "rds" "2.6.0" "sha256-M0IDOMbqGdLl0WSipPirjDn3Fr4AQ06+j3m0Ci3jyBE=";
+
+  types-aiobotocore-rds-data = buildTypesAiobotocorePackage "rds-data" "2.6.0" "sha256-GYddRqZeBP5f6chzZON9y59KcBiss9eWa8rVGo53C0g=";
+
+  types-aiobotocore-redshift = buildTypesAiobotocorePackage "redshift" "2.6.0" "sha256-6znZQUxNKE7SB6G+9l4iQSP9hZt+plKFA8VkE1scxrU=";
+
+  types-aiobotocore-redshift-data = buildTypesAiobotocorePackage "redshift-data" "2.6.0" "sha256-FRJeBjA5dfnnZ586VShmPt0CBgi5+ZYbldOUZIGR2L0=";
+
+  types-aiobotocore-redshift-serverless = buildTypesAiobotocorePackage "redshift-serverless" "2.6.0" "sha256-lMNUId8z4h/m0FmusvEjYoQj+PUSLaiOREd27vF3qxI=";
+
+  types-aiobotocore-rekognition = buildTypesAiobotocorePackage "rekognition" "2.6.0" "sha256-8luG3yWj82hmMq5KYjNG58pbiDBMk+D6ykgzqE752T8=";
+
+  types-aiobotocore-resiliencehub = buildTypesAiobotocorePackage "resiliencehub" "2.6.0" "sha256-nXZ7ZrpEOSdXdcuGVMNI7hjx6oisnnej18vALIEEzGQ=";
+
+  types-aiobotocore-resource-explorer-2 = buildTypesAiobotocorePackage "resource-explorer-2" "2.6.0" "sha256-cjBd3Ns1ckr7DT9gpaeb8CbXOrmwU3gENN5Is5BwrZI=";
+
+  types-aiobotocore-resource-groups = buildTypesAiobotocorePackage "resource-groups" "2.6.0" "sha256-GcbI21WVdMmwMcpbBkma4VrLsLVRP24/Uk43+4vE864=";
+
+  types-aiobotocore-resourcegroupstaggingapi = buildTypesAiobotocorePackage "resourcegroupstaggingapi" "2.6.0" "sha256-pW8/wn2Qk1jf1d2kYZ84yEaNUcl6xgHw+yuT0bHnsBE=";
+
+  types-aiobotocore-robomaker = buildTypesAiobotocorePackage "robomaker" "2.6.0" "sha256-aKO/fGT4UANiYkZOUuOQ4ungKpW8p+yAT5+42WHgp3M=";
+
+  types-aiobotocore-rolesanywhere = buildTypesAiobotocorePackage "rolesanywhere" "2.6.0" "sha256-jTAe8nMwbXwb+1uf9ITVIKtKyOLIwFH6yi+2IYYVIyU=";
+
+  types-aiobotocore-route53 = buildTypesAiobotocorePackage "route53" "2.6.0" "sha256-RMIrcFD+1RbA3AcRw3TSjENBzmHQL1zHX7FoOFA+UP0=";
+
+  types-aiobotocore-route53-recovery-cluster = buildTypesAiobotocorePackage "route53-recovery-cluster" "2.6.0" "sha256-mBwT11n8moLt/j46AayYES6rjVo3Tpa5UWJ4Klb1N0g=";
+
+  types-aiobotocore-route53-recovery-control-config = buildTypesAiobotocorePackage "route53-recovery-control-config" "2.6.0" "sha256-qYYT1FRpqxtR9LPGMOH+p0+kbeGvfrlIE6rp5Nupioc=";
+
+  types-aiobotocore-route53-recovery-readiness = buildTypesAiobotocorePackage "route53-recovery-readiness" "2.6.0" "sha256-66kGFeDv4PkKYd4UEL4Feqw5LnygBMGvHqctC4EWnNU=";
+
+  types-aiobotocore-route53domains = buildTypesAiobotocorePackage "route53domains" "2.6.0" "sha256-TQ7aNPrky6O+xQefuSkHyFN0XJC5u3xMaT0yrjwYv3E=";
+
+  types-aiobotocore-route53resolver = buildTypesAiobotocorePackage "route53resolver" "2.6.0" "sha256-55qUjFm6ryLjGAmxGLFkl9dPHXjDWyIINZQRQXe4bnk=";
+
+  types-aiobotocore-rum = buildTypesAiobotocorePackage "rum" "2.6.0" "sha256-e8LzXHMfEgkcJKx5a/I//L4/oCz1l7N487wNoTtBP1Y=";
+
+  types-aiobotocore-s3 = buildTypesAiobotocorePackage "s3" "2.6.0" "sha256-MIp/lGwJah2Jj/2KFfoeW2uQlV1DZbP8TYcdsNvEMU8=";
+
+  types-aiobotocore-s3control = buildTypesAiobotocorePackage "s3control" "2.6.0" "sha256-eyiAFFT5KOtTDT2EZNah1KRdcWw1v1titjHwG3DnRj4=";
+
+  types-aiobotocore-s3outposts = buildTypesAiobotocorePackage "s3outposts" "2.6.0" "sha256-g4wAsVc3gqiovsXZtEey4XKmLp/UkIeKD1pEjiey5DE=";
+
+  types-aiobotocore-sagemaker = buildTypesAiobotocorePackage "sagemaker" "2.6.0" "sha256-GUcRyWviI+JCG7XTGBQcUljxAdjBzso76d5A3ql5lbA=";
+
+  types-aiobotocore-sagemaker-a2i-runtime = buildTypesAiobotocorePackage "sagemaker-a2i-runtime" "2.6.0" "sha256-7znJt8gJGnBbTndTPeFOpN6iytOPTJPgvA/tHeYQVoo=";
+
+  types-aiobotocore-sagemaker-edge = buildTypesAiobotocorePackage "sagemaker-edge" "2.6.0" "sha256-O3oCXuvREHW7lcwDzbJRogb9Qa2Wfb8C5/rbpjhVm8A=";
+
+  types-aiobotocore-sagemaker-featurestore-runtime = buildTypesAiobotocorePackage "sagemaker-featurestore-runtime" "2.6.0" "sha256-mcU7ZGAGzbV7i8H1qMWFI9vm/8APRfmaAncxKBJL+NU=";
+
+  types-aiobotocore-sagemaker-geospatial = buildTypesAiobotocorePackage "sagemaker-geospatial" "2.6.0" "sha256-uKvgKNZHFZIYsE0hMWjuHN+QzI/eQcCn4HD2C8H+d2I=";
+
+  types-aiobotocore-sagemaker-metrics = buildTypesAiobotocorePackage "sagemaker-metrics" "2.6.0" "sha256-Hnq9JAdPiqfhb/uLQhMk7JWZ8xHko06KqHXh9f6al/8=";
+
+  types-aiobotocore-sagemaker-runtime = buildTypesAiobotocorePackage "sagemaker-runtime" "2.6.0" "sha256-/7Zzo383eWFjEHxZST1QKzTNHunhR8mjSE2uEHUw9IE=";
+
+  types-aiobotocore-savingsplans = buildTypesAiobotocorePackage "savingsplans" "2.6.0" "sha256-6sIHmILzIg1aOskXnjbDDzbkygXDwFcnd9mfuuhRFZQ=";
+
+  types-aiobotocore-scheduler = buildTypesAiobotocorePackage "scheduler" "2.6.0" "sha256-2BnFCPgaAWxBsc+79oQT+DDj6IM7cV7F+LjqsFG6BBc=";
+
+  types-aiobotocore-schemas = buildTypesAiobotocorePackage "schemas" "2.6.0" "sha256-TW57DJw0QgnPrIWlOlAvESYSEPUD/UKbXVs+NYW+7r0=";
+
+  types-aiobotocore-sdb = buildTypesAiobotocorePackage "sdb" "2.6.0" "sha256-cLciwg4d5EZKYquNitl3yD+8eJnemEiF27LcXfxy0Zs=";
+
+  types-aiobotocore-secretsmanager = buildTypesAiobotocorePackage "secretsmanager" "2.6.0" "sha256-dvte4Yjl+a/UqL5v7xJ9626igVjx/ZPdM2SsLGsVdDk=";
+
+  types-aiobotocore-securityhub = buildTypesAiobotocorePackage "securityhub" "2.6.0" "sha256-36BIOCHnkFyEp3MPa5NfjNJNBeqVMCmx9C907Bw3YWQ=";
+
+  types-aiobotocore-securitylake = buildTypesAiobotocorePackage "securitylake" "2.6.0" "sha256-DKmk2ddd7b0g6mnt0d37Y1ofb6dgN/6XFBCElqdQ9+A=";
+
+  types-aiobotocore-serverlessrepo = buildTypesAiobotocorePackage "serverlessrepo" "2.6.0" "sha256-PRzh/JFCHUqXTSAR4IoftxvkRBsVq4XEX7ihC9FzqSI=";
+
+  types-aiobotocore-service-quotas = buildTypesAiobotocorePackage "service-quotas" "2.6.0" "sha256-GcDl3LIy+urPEzXINmU4g7xgk8IIIJ6fBFFXhv18eSA=";
+
+  types-aiobotocore-servicecatalog = buildTypesAiobotocorePackage "servicecatalog" "2.6.0" "sha256-5IoQuLh6bh3mlzInR+Aci6yIRCSYJXfbvv49FEs2tPA=";
+
+  types-aiobotocore-servicecatalog-appregistry = buildTypesAiobotocorePackage "servicecatalog-appregistry" "2.6.0" "sha256-l0xrQXkDYmB3+RFtwJ70l6GgKeA0z1V107HG8Ddvb8U=";
+
+  types-aiobotocore-servicediscovery = buildTypesAiobotocorePackage "servicediscovery" "2.6.0" "sha256-KLdOmaO6x7AmQInP1RRAf8s5rlpD0PpDHeBnor5gl2A=";
+
+  types-aiobotocore-ses = buildTypesAiobotocorePackage "ses" "2.6.0" "sha256-QNjpM0m1PKSQx2f1eNkOeNP7pHN0PfHZlMFVQbGOgGU=";
+
+  types-aiobotocore-sesv2 = buildTypesAiobotocorePackage "sesv2" "2.6.0" "sha256-5g1LUvS324evqH+Rv+pUKlePnE3QqMqpiLCrknxjQX8=";
+
+  types-aiobotocore-shield = buildTypesAiobotocorePackage "shield" "2.6.0" "sha256-5NbnrGPo9jTCIxq7ubNX/OuKZOXU0PoSwgTjfuMvnKY=";
+
+  types-aiobotocore-signer = buildTypesAiobotocorePackage "signer" "2.6.0" "sha256-AZRsUZpKhzPiHoUcboBeX5zYlVD9kY6F4n6/ifRTpr8=";
+
+  types-aiobotocore-simspaceweaver = buildTypesAiobotocorePackage "simspaceweaver" "2.6.0" "sha256-WrkKQxXI7eIaX4GimyDyBqDWVjw0eF3jJTA40JScvG0=";
+
+  types-aiobotocore-sms = buildTypesAiobotocorePackage "sms" "2.6.0" "sha256-I//ZK5HolYkCfpTCPYhEDALfcn9AYcLk7x7vfRjTDlo=";
+
+  types-aiobotocore-sms-voice = buildTypesAiobotocorePackage "sms-voice" "2.6.0" "sha256-Qz+ZXVBSe3kHgGlqQjgxWoQhnguqauxmPKaISQbAG/8=";
+
+  types-aiobotocore-snow-device-management = buildTypesAiobotocorePackage "snow-device-management" "2.6.0" "sha256-Fh35RpHExkL/PeqEnWNR2pJYWERDJzOF9oE3SvIxxQ4=";
+
+  types-aiobotocore-snowball = buildTypesAiobotocorePackage "snowball" "2.6.0" "sha256-Wia4Xc/Kt8j6X5rZ9vvxupr6tCv1XQQQFOwRnugL0lE=";
+
+  types-aiobotocore-sns = buildTypesAiobotocorePackage "sns" "2.6.0" "sha256-hDPU7e14iYcpt8dXzjx7PgT4TQloAn2ZYrq6cMtMncc=";
+
+  types-aiobotocore-sqs = buildTypesAiobotocorePackage "sqs" "2.6.0" "sha256-J5QSpJQjhO6T2uGpDstHdEVJTLuTIxilmYmKdtB7u6g=";
+
+  types-aiobotocore-ssm = buildTypesAiobotocorePackage "ssm" "2.6.0" "sha256-NxTwgcrDNOHZ8PReIgfTOGLTl7bL1948NKAyjJ0QYKc=";
+
+  types-aiobotocore-ssm-contacts = buildTypesAiobotocorePackage "ssm-contacts" "2.6.0" "sha256-fWnCKnG6ikXzDx40HFxlh9DyLVlX9pBB4CMcJxUt+Ps=";
+
+  types-aiobotocore-ssm-incidents = buildTypesAiobotocorePackage "ssm-incidents" "2.6.0" "sha256-6wkvuRGT91a0Ggxt13amMzjWd6Pj62w4nrvWQNQ0GxI=";
+
+  types-aiobotocore-ssm-sap = buildTypesAiobotocorePackage "ssm-sap" "2.6.0" "sha256-7NkEDcuph8xxjlDjuEiSuhvM5srAeY4QfAKLwFLhCsU=";
+
+  types-aiobotocore-sso = buildTypesAiobotocorePackage "sso" "2.6.0" "sha256-pM6yxg0MxTXjSWZ/CLsatlIMx4tO0p9ZKRzOhyJYXWc=";
+
+  types-aiobotocore-sso-admin = buildTypesAiobotocorePackage "sso-admin" "2.6.0" "sha256-idc5d/Kvjhd7RkTHuErSoP/f64/Q1+jg0TE3UMiL4pQ=";
+
+  types-aiobotocore-sso-oidc = buildTypesAiobotocorePackage "sso-oidc" "2.6.0" "sha256-3eJaNx/Tzy9XQtHSPGKlkMG7klB2KDgL60knGghWAn8=";
+
+  types-aiobotocore-stepfunctions = buildTypesAiobotocorePackage "stepfunctions" "2.6.0" "sha256-7y8SiLa09lDqnMZtlG0Qw5tvAvQMvTNqMuCpRecOpXc=";
+
+  types-aiobotocore-storagegateway = buildTypesAiobotocorePackage "storagegateway" "2.6.0" "sha256-Umq4Slts9RHPJRJCWRAIAizLxB9Clcz8GomLsUr5gNE=";
+
+  types-aiobotocore-sts = buildTypesAiobotocorePackage "sts" "2.6.0" "sha256-iRwalkojzQCUiAQcxl8hEYFFbnIxhuaJfrATnK18ltI=";
+
+  types-aiobotocore-support = buildTypesAiobotocorePackage "support" "2.6.0" "sha256-+4rnAV2Qr29bvWRO6TnSaRZkUVCoefB3SDXc2Ye9kpE=";
+
+  types-aiobotocore-support-app = buildTypesAiobotocorePackage "support-app" "2.6.0" "sha256-CXYfdtO1TdmEz39v2AEeCTJmgiA/EF1gmaBBYGRgYV0=";
+
+  types-aiobotocore-swf = buildTypesAiobotocorePackage "swf" "2.6.0" "sha256-x9cBjUe4LC9uSsFpPciZP1QlUEqfNo3xZFKUqPuVV6E=";
+
+  types-aiobotocore-synthetics = buildTypesAiobotocorePackage "synthetics" "2.6.0" "sha256-Wew0A2xIYOGXzfZf3sBpHnRW/dZD1s6wHveNMwYj1s4=";
+
+  types-aiobotocore-textract = buildTypesAiobotocorePackage "textract" "2.6.0" "sha256-vWUMopzR+1095nN6POsHShvCKZIcUwfW11oMOJ9R94c=";
+
+  types-aiobotocore-timestream-query = buildTypesAiobotocorePackage "timestream-query" "2.6.0" "sha256-4QpCK14NogeYR9DB877zh760GEXYieiyOgepB9DZd+8=";
+
+  types-aiobotocore-timestream-write = buildTypesAiobotocorePackage "timestream-write" "2.6.0" "sha256-bBcMTJOVFq1mJQZtc9M/EMT45Xxxk2DqDgVHfM3qt3A=";
+
+  types-aiobotocore-tnb = buildTypesAiobotocorePackage "tnb" "2.6.0" "sha256-c4Y5kilT50Ips16/YhwduNbm89gB4iLHFv8eN8T4NDM=";
+
+  types-aiobotocore-transcribe = buildTypesAiobotocorePackage "transcribe" "2.6.0" "sha256-HB1CKe9mkD0+0TdFXmdiphDUqc+4xbwBIXSu0PulBE4=";
+
+  types-aiobotocore-transfer = buildTypesAiobotocorePackage "transfer" "2.6.0" "sha256-59SvnKQ+WpAKUZNYunFywLLah1aBnF0maZrFbALXcIM=";
+
+  types-aiobotocore-translate = buildTypesAiobotocorePackage "translate" "2.6.0" "sha256-cgxE6GYG9c4234RAiyFfF22NPHJ29oytOvLpETnjdS4=";
+
+  types-aiobotocore-verifiedpermissions = buildTypesAiobotocorePackage "verifiedpermissions" "2.6.0" "sha256-yg4zDBjgSB7JuuS2DXIUe3PFQq9stIfEJSMF1IP2BWI=";
+
+  types-aiobotocore-voice-id = buildTypesAiobotocorePackage "voice-id" "2.6.0" "sha256-Pnn3CGL5rr3MtzaakjDXmReVKXnyB76IxSnAPnKU45I=";
+
+  types-aiobotocore-vpc-lattice = buildTypesAiobotocorePackage "vpc-lattice" "2.6.0" "sha256-kxniFLA2e7aDKulF5z1Ap3z6wbE3eY3QVqhK+CVhrcE=";
+
+  types-aiobotocore-waf = buildTypesAiobotocorePackage "waf" "2.6.0" "sha256-adKf+AbPmeN57r93T36IewoiLZ+05CbpuS7NxCkQgMw=";
+
+  types-aiobotocore-waf-regional = buildTypesAiobotocorePackage "waf-regional" "2.6.0" "sha256-56SIq8Q6B405aqKU8UMddGHyrJeFaVKZSG4ImBWBZLU=";
+
+  types-aiobotocore-wafv2 = buildTypesAiobotocorePackage "wafv2" "2.6.0" "sha256-nAGK0tN42UhDUmpztGeAPRS5FuuTt+LugQmcgkR0oLA=";
+
+  types-aiobotocore-wellarchitected = buildTypesAiobotocorePackage "wellarchitected" "2.6.0" "sha256-p/2uqdRwKgsS2EUCr8ZLds6WHUjVQz8mEv35qcyMTYA=";
+
+  types-aiobotocore-wisdom = buildTypesAiobotocorePackage "wisdom" "2.6.0" "sha256-EInqI5EqriiI2L/tdQiy3/jY8tnZ6+QOk9PdEyDuSj4=";
+
+  types-aiobotocore-workdocs = buildTypesAiobotocorePackage "workdocs" "2.6.0" "sha256-cNegCM7a4QlI+NLzIRIoGHYzQqbFkNRKqDKLOqE3OUY=";
+
+  types-aiobotocore-worklink = buildTypesAiobotocorePackage "worklink" "2.6.0" "sha256-hMPU0wmTi0BQ+AWo4T6DIOl6FrAQbzdal8rcPoY3wP0=";
+
+  types-aiobotocore-workmail = buildTypesAiobotocorePackage "workmail" "2.6.0" "sha256-W/kHZMLFQ7kv8i/3urxbjdXc7RorMyy5joJNtFPAhVU=";
+
+  types-aiobotocore-workmailmessageflow = buildTypesAiobotocorePackage "workmailmessageflow" "2.6.0" "sha256-Mc3h0CSmJRoV+ncwhtd4Tu5LSoasWqK8V9hXK5+XYfs=";
+
+  types-aiobotocore-workspaces = buildTypesAiobotocorePackage "workspaces" "2.6.0" "sha256-xtsxrIzhjJSoGqd1fEgXP55bRtDsJTtdoWn8eooHCmY=";
+
+  types-aiobotocore-workspaces-web = buildTypesAiobotocorePackage "workspaces-web" "2.6.0" "sha256-J3lsLnwcttamV4NroDuXz9EupXrsoN/SumKrykQkwVU=";
+
+  types-aiobotocore-xray = buildTypesAiobotocorePackage "xray" "2.6.0" "sha256-DPirH1s636ZW6VKyD4wMiJEfM+u9NknH0ODLQagaLrs=";
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-aiobotocore/default.nix b/nixpkgs/pkgs/development/python-modules/types-aiobotocore/default.nix
new file mode 100644
index 000000000000..638a00c60903
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-aiobotocore/default.nix
@@ -0,0 +1,1824 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, wheel
+, botocore-stubs
+, typing-extensions
+, types-aiobotocore-accessanalyzer
+, types-aiobotocore-account
+, types-aiobotocore-acm
+, types-aiobotocore-acm-pca
+, aiobotocore
+, botocore
+, types-aiobotocore-alexaforbusiness
+, types-aiobotocore-amp
+, types-aiobotocore-amplify
+, types-aiobotocore-amplifybackend
+, types-aiobotocore-amplifyuibuilder
+, types-aiobotocore-apigateway
+, types-aiobotocore-apigatewaymanagementapi
+, types-aiobotocore-apigatewayv2
+, types-aiobotocore-appconfig
+, types-aiobotocore-appconfigdata
+, types-aiobotocore-appfabric
+, types-aiobotocore-appflow
+, types-aiobotocore-appintegrations
+, types-aiobotocore-application-autoscaling
+, types-aiobotocore-application-insights
+, types-aiobotocore-applicationcostprofiler
+, types-aiobotocore-appmesh
+, types-aiobotocore-apprunner
+, types-aiobotocore-appstream
+, types-aiobotocore-appsync
+, types-aiobotocore-arc-zonal-shift
+, types-aiobotocore-athena
+, types-aiobotocore-auditmanager
+, types-aiobotocore-autoscaling
+, types-aiobotocore-autoscaling-plans
+, types-aiobotocore-backup
+, types-aiobotocore-backup-gateway
+, types-aiobotocore-backupstorage
+, types-aiobotocore-batch
+, types-aiobotocore-billingconductor
+, types-aiobotocore-braket
+, types-aiobotocore-budgets
+, types-aiobotocore-ce
+, types-aiobotocore-chime
+, types-aiobotocore-chime-sdk-identity
+, types-aiobotocore-chime-sdk-media-pipelines
+, types-aiobotocore-chime-sdk-meetings
+, types-aiobotocore-chime-sdk-messaging
+, types-aiobotocore-chime-sdk-voice
+, types-aiobotocore-cleanrooms
+, types-aiobotocore-cloud9
+, types-aiobotocore-cloudcontrol
+, types-aiobotocore-clouddirectory
+, types-aiobotocore-cloudformation
+, types-aiobotocore-cloudfront
+, types-aiobotocore-cloudhsm
+, types-aiobotocore-cloudhsmv2
+, types-aiobotocore-cloudsearch
+, types-aiobotocore-cloudsearchdomain
+, types-aiobotocore-cloudtrail
+, types-aiobotocore-cloudtrail-data
+, types-aiobotocore-cloudwatch
+, types-aiobotocore-codeartifact
+, types-aiobotocore-codebuild
+, types-aiobotocore-codecatalyst
+, types-aiobotocore-codecommit
+, types-aiobotocore-codedeploy
+, types-aiobotocore-codeguru-reviewer
+, types-aiobotocore-codeguru-security
+, types-aiobotocore-codeguruprofiler
+, types-aiobotocore-codepipeline
+, types-aiobotocore-codestar
+, types-aiobotocore-codestar-connections
+, types-aiobotocore-codestar-notifications
+, types-aiobotocore-cognito-identity
+, types-aiobotocore-cognito-idp
+, types-aiobotocore-cognito-sync
+, types-aiobotocore-comprehend
+, types-aiobotocore-comprehendmedical
+, types-aiobotocore-compute-optimizer
+, types-aiobotocore-config
+, types-aiobotocore-connect
+, types-aiobotocore-connect-contact-lens
+, types-aiobotocore-connectcampaigns
+, types-aiobotocore-connectcases
+, types-aiobotocore-connectparticipant
+, types-aiobotocore-controltower
+, types-aiobotocore-cur
+, types-aiobotocore-customer-profiles
+, types-aiobotocore-databrew
+, types-aiobotocore-dataexchange
+, types-aiobotocore-datapipeline
+, types-aiobotocore-datasync
+, types-aiobotocore-dax
+, types-aiobotocore-detective
+, types-aiobotocore-devicefarm
+, types-aiobotocore-devops-guru
+, types-aiobotocore-directconnect
+, types-aiobotocore-discovery
+, types-aiobotocore-dlm
+, types-aiobotocore-dms
+, types-aiobotocore-docdb
+, types-aiobotocore-docdb-elastic
+, types-aiobotocore-drs
+, types-aiobotocore-ds
+, types-aiobotocore-dynamodb
+, types-aiobotocore-dynamodbstreams
+, types-aiobotocore-ebs
+, types-aiobotocore-ec2
+, types-aiobotocore-ec2-instance-connect
+, types-aiobotocore-ecr
+, types-aiobotocore-ecr-public
+, types-aiobotocore-ecs
+, types-aiobotocore-efs
+, types-aiobotocore-eks
+, types-aiobotocore-elastic-inference
+, types-aiobotocore-elasticache
+, types-aiobotocore-elasticbeanstalk
+, types-aiobotocore-elastictranscoder
+, types-aiobotocore-elb
+, types-aiobotocore-elbv2
+, types-aiobotocore-emr
+, types-aiobotocore-emr-containers
+, types-aiobotocore-emr-serverless
+, types-aiobotocore-entityresolution
+, types-aiobotocore-es
+, types-aiobotocore-events
+, types-aiobotocore-evidently
+, types-aiobotocore-finspace
+, types-aiobotocore-finspace-data
+, types-aiobotocore-firehose
+, types-aiobotocore-fis
+, types-aiobotocore-fms
+, types-aiobotocore-forecast
+, types-aiobotocore-forecastquery
+, types-aiobotocore-frauddetector
+, types-aiobotocore-fsx
+, types-aiobotocore-gamelift
+, types-aiobotocore-gamesparks
+, types-aiobotocore-glacier
+, types-aiobotocore-globalaccelerator
+, types-aiobotocore-glue
+, types-aiobotocore-grafana
+, types-aiobotocore-greengrass
+, types-aiobotocore-greengrassv2
+, types-aiobotocore-groundstation
+, types-aiobotocore-guardduty
+, types-aiobotocore-health
+, types-aiobotocore-healthlake
+, types-aiobotocore-honeycode
+, types-aiobotocore-iam
+, types-aiobotocore-identitystore
+, types-aiobotocore-imagebuilder
+, types-aiobotocore-importexport
+, types-aiobotocore-inspector
+, types-aiobotocore-inspector2
+, types-aiobotocore-internetmonitor
+, types-aiobotocore-iot
+, types-aiobotocore-iot-data
+, types-aiobotocore-iot-jobs-data
+, types-aiobotocore-iot-roborunner
+, types-aiobotocore-iot1click-devices
+, types-aiobotocore-iot1click-projects
+, types-aiobotocore-iotanalytics
+, types-aiobotocore-iotdeviceadvisor
+, types-aiobotocore-iotevents
+, types-aiobotocore-iotevents-data
+, types-aiobotocore-iotfleethub
+, types-aiobotocore-iotfleetwise
+, types-aiobotocore-iotsecuretunneling
+, types-aiobotocore-iotsitewise
+, types-aiobotocore-iotthingsgraph
+, types-aiobotocore-iottwinmaker
+, types-aiobotocore-iotwireless
+, types-aiobotocore-ivs
+, types-aiobotocore-ivs-realtime
+, types-aiobotocore-ivschat
+, types-aiobotocore-kafka
+, types-aiobotocore-kafkaconnect
+, types-aiobotocore-kendra
+, types-aiobotocore-kendra-ranking
+, types-aiobotocore-keyspaces
+, types-aiobotocore-kinesis
+, types-aiobotocore-kinesis-video-archived-media
+, types-aiobotocore-kinesis-video-media
+, types-aiobotocore-kinesis-video-signaling
+, types-aiobotocore-kinesis-video-webrtc-storage
+, types-aiobotocore-kinesisanalytics
+, types-aiobotocore-kinesisanalyticsv2
+, types-aiobotocore-kinesisvideo
+, types-aiobotocore-kms
+, types-aiobotocore-lakeformation
+, types-aiobotocore-lambda
+, types-aiobotocore-lex-models
+, types-aiobotocore-lex-runtime
+, types-aiobotocore-lexv2-models
+, types-aiobotocore-lexv2-runtime
+, types-aiobotocore-license-manager
+, types-aiobotocore-license-manager-linux-subscriptions
+, types-aiobotocore-license-manager-user-subscriptions
+, types-aiobotocore-lightsail
+, types-aiobotocore-location
+, types-aiobotocore-logs
+, types-aiobotocore-lookoutequipment
+, types-aiobotocore-lookoutmetrics
+, types-aiobotocore-lookoutvision
+, types-aiobotocore-m2
+, types-aiobotocore-machinelearning
+, types-aiobotocore-macie
+, types-aiobotocore-macie2
+, types-aiobotocore-managedblockchain
+, types-aiobotocore-managedblockchain-query
+, types-aiobotocore-marketplace-catalog
+, types-aiobotocore-marketplace-entitlement
+, types-aiobotocore-marketplacecommerceanalytics
+, types-aiobotocore-mediaconnect
+, types-aiobotocore-mediaconvert
+, types-aiobotocore-medialive
+, types-aiobotocore-mediapackage
+, types-aiobotocore-mediapackage-vod
+, types-aiobotocore-mediapackagev2
+, types-aiobotocore-mediastore
+, types-aiobotocore-mediastore-data
+, types-aiobotocore-mediatailor
+, types-aiobotocore-medical-imaging
+, types-aiobotocore-memorydb
+, types-aiobotocore-meteringmarketplace
+, types-aiobotocore-mgh
+, types-aiobotocore-mgn
+, types-aiobotocore-migration-hub-refactor-spaces
+, types-aiobotocore-migrationhub-config
+, types-aiobotocore-migrationhuborchestrator
+, types-aiobotocore-migrationhubstrategy
+, types-aiobotocore-mobile
+, types-aiobotocore-mq
+, types-aiobotocore-mturk
+, types-aiobotocore-mwaa
+, types-aiobotocore-neptune
+, types-aiobotocore-network-firewall
+, types-aiobotocore-networkmanager
+, types-aiobotocore-nimble
+, types-aiobotocore-oam
+, types-aiobotocore-omics
+, types-aiobotocore-opensearch
+, types-aiobotocore-opensearchserverless
+, types-aiobotocore-opsworks
+, types-aiobotocore-opsworkscm
+, types-aiobotocore-organizations
+, types-aiobotocore-osis
+, types-aiobotocore-outposts
+, types-aiobotocore-panorama
+, types-aiobotocore-payment-cryptography
+, types-aiobotocore-payment-cryptography-data
+, types-aiobotocore-personalize
+, types-aiobotocore-personalize-events
+, types-aiobotocore-personalize-runtime
+, types-aiobotocore-pi
+, types-aiobotocore-pinpoint
+, types-aiobotocore-pinpoint-email
+, types-aiobotocore-pinpoint-sms-voice
+, types-aiobotocore-pinpoint-sms-voice-v2
+, types-aiobotocore-pipes
+, types-aiobotocore-polly
+, types-aiobotocore-pricing
+, types-aiobotocore-privatenetworks
+, types-aiobotocore-proton
+, types-aiobotocore-qldb
+, types-aiobotocore-qldb-session
+, types-aiobotocore-quicksight
+, types-aiobotocore-ram
+, types-aiobotocore-rbin
+, types-aiobotocore-rds
+, types-aiobotocore-rds-data
+, types-aiobotocore-redshift
+, types-aiobotocore-redshift-data
+, types-aiobotocore-redshift-serverless
+, types-aiobotocore-rekognition
+, types-aiobotocore-resiliencehub
+, types-aiobotocore-resource-explorer-2
+, types-aiobotocore-resource-groups
+, types-aiobotocore-resourcegroupstaggingapi
+, types-aiobotocore-robomaker
+, types-aiobotocore-rolesanywhere
+, types-aiobotocore-route53
+, types-aiobotocore-route53-recovery-cluster
+, types-aiobotocore-route53-recovery-control-config
+, types-aiobotocore-route53-recovery-readiness
+, types-aiobotocore-route53domains
+, types-aiobotocore-route53resolver
+, types-aiobotocore-rum
+, types-aiobotocore-s3
+, types-aiobotocore-s3control
+, types-aiobotocore-s3outposts
+, types-aiobotocore-sagemaker
+, types-aiobotocore-sagemaker-a2i-runtime
+, types-aiobotocore-sagemaker-edge
+, types-aiobotocore-sagemaker-featurestore-runtime
+, types-aiobotocore-sagemaker-geospatial
+, types-aiobotocore-sagemaker-metrics
+, types-aiobotocore-sagemaker-runtime
+, types-aiobotocore-savingsplans
+, types-aiobotocore-scheduler
+, types-aiobotocore-schemas
+, types-aiobotocore-sdb
+, types-aiobotocore-secretsmanager
+, types-aiobotocore-securityhub
+, types-aiobotocore-securitylake
+, types-aiobotocore-serverlessrepo
+, types-aiobotocore-service-quotas
+, types-aiobotocore-servicecatalog
+, types-aiobotocore-servicecatalog-appregistry
+, types-aiobotocore-servicediscovery
+, types-aiobotocore-ses
+, types-aiobotocore-sesv2
+, types-aiobotocore-shield
+, types-aiobotocore-signer
+, types-aiobotocore-simspaceweaver
+, types-aiobotocore-sms
+, types-aiobotocore-sms-voice
+, types-aiobotocore-snow-device-management
+, types-aiobotocore-snowball
+, types-aiobotocore-sns
+, types-aiobotocore-sqs
+, types-aiobotocore-ssm
+, types-aiobotocore-ssm-contacts
+, types-aiobotocore-ssm-incidents
+, types-aiobotocore-ssm-sap
+, types-aiobotocore-sso
+, types-aiobotocore-sso-admin
+, types-aiobotocore-sso-oidc
+, types-aiobotocore-stepfunctions
+, types-aiobotocore-storagegateway
+, types-aiobotocore-sts
+, types-aiobotocore-support
+, types-aiobotocore-support-app
+, types-aiobotocore-swf
+, types-aiobotocore-synthetics
+, types-aiobotocore-textract
+, types-aiobotocore-timestream-query
+, types-aiobotocore-timestream-write
+, types-aiobotocore-tnb
+, types-aiobotocore-transcribe
+, types-aiobotocore-transfer
+, types-aiobotocore-translate
+, types-aiobotocore-verifiedpermissions
+, types-aiobotocore-voice-id
+, types-aiobotocore-vpc-lattice
+, types-aiobotocore-waf
+, types-aiobotocore-waf-regional
+, types-aiobotocore-wafv2
+, types-aiobotocore-wellarchitected
+, types-aiobotocore-wisdom
+, types-aiobotocore-workdocs
+, types-aiobotocore-worklink
+, types-aiobotocore-workmail
+, types-aiobotocore-workmailmessageflow
+, types-aiobotocore-workspaces
+, types-aiobotocore-workspaces-web
+, types-aiobotocore-xray
+}:
+
+buildPythonPackage rec {
+  pname = "types-aiobotocore";
+  version = "2.6.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-GF3YDuyhnEx0JpOxU/tRAnFu+98p0TF5NCU1CXnR2bE=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    botocore-stubs
+    typing-extensions
+  ];
+
+  passthru.optional-dependencies = {
+    accessanalyzer = [
+      types-aiobotocore-accessanalyzer
+    ];
+    account = [
+      types-aiobotocore-account
+    ];
+    acm = [
+      types-aiobotocore-acm
+    ];
+    acm-pca = [
+      types-aiobotocore-acm-pca
+    ];
+    aiobotocore = [
+      aiobotocore
+      botocore
+    ];
+    alexaforbusiness = [
+      types-aiobotocore-alexaforbusiness
+    ];
+    all = [
+      types-aiobotocore-accessanalyzer
+      types-aiobotocore-account
+      types-aiobotocore-acm
+      types-aiobotocore-acm-pca
+      types-aiobotocore-alexaforbusiness
+      types-aiobotocore-amp
+      types-aiobotocore-amplify
+      types-aiobotocore-amplifybackend
+      types-aiobotocore-amplifyuibuilder
+      types-aiobotocore-apigateway
+      types-aiobotocore-apigatewaymanagementapi
+      types-aiobotocore-apigatewayv2
+      types-aiobotocore-appconfig
+      types-aiobotocore-appconfigdata
+      types-aiobotocore-appfabric
+      types-aiobotocore-appflow
+      types-aiobotocore-appintegrations
+      types-aiobotocore-application-autoscaling
+      types-aiobotocore-application-insights
+      types-aiobotocore-applicationcostprofiler
+      types-aiobotocore-appmesh
+      types-aiobotocore-apprunner
+      types-aiobotocore-appstream
+      types-aiobotocore-appsync
+      types-aiobotocore-arc-zonal-shift
+      types-aiobotocore-athena
+      types-aiobotocore-auditmanager
+      types-aiobotocore-autoscaling
+      types-aiobotocore-autoscaling-plans
+      types-aiobotocore-backup
+      types-aiobotocore-backup-gateway
+      types-aiobotocore-backupstorage
+      types-aiobotocore-batch
+      types-aiobotocore-billingconductor
+      types-aiobotocore-braket
+      types-aiobotocore-budgets
+      types-aiobotocore-ce
+      types-aiobotocore-chime
+      types-aiobotocore-chime-sdk-identity
+      types-aiobotocore-chime-sdk-media-pipelines
+      types-aiobotocore-chime-sdk-meetings
+      types-aiobotocore-chime-sdk-messaging
+      types-aiobotocore-chime-sdk-voice
+      types-aiobotocore-cleanrooms
+      types-aiobotocore-cloud9
+      types-aiobotocore-cloudcontrol
+      types-aiobotocore-clouddirectory
+      types-aiobotocore-cloudformation
+      types-aiobotocore-cloudfront
+      types-aiobotocore-cloudhsm
+      types-aiobotocore-cloudhsmv2
+      types-aiobotocore-cloudsearch
+      types-aiobotocore-cloudsearchdomain
+      types-aiobotocore-cloudtrail
+      types-aiobotocore-cloudtrail-data
+      types-aiobotocore-cloudwatch
+      types-aiobotocore-codeartifact
+      types-aiobotocore-codebuild
+      types-aiobotocore-codecatalyst
+      types-aiobotocore-codecommit
+      types-aiobotocore-codedeploy
+      types-aiobotocore-codeguru-reviewer
+      types-aiobotocore-codeguru-security
+      types-aiobotocore-codeguruprofiler
+      types-aiobotocore-codepipeline
+      types-aiobotocore-codestar
+      types-aiobotocore-codestar-connections
+      types-aiobotocore-codestar-notifications
+      types-aiobotocore-cognito-identity
+      types-aiobotocore-cognito-idp
+      types-aiobotocore-cognito-sync
+      types-aiobotocore-comprehend
+      types-aiobotocore-comprehendmedical
+      types-aiobotocore-compute-optimizer
+      types-aiobotocore-config
+      types-aiobotocore-connect
+      types-aiobotocore-connect-contact-lens
+      types-aiobotocore-connectcampaigns
+      types-aiobotocore-connectcases
+      types-aiobotocore-connectparticipant
+      types-aiobotocore-controltower
+      types-aiobotocore-cur
+      types-aiobotocore-customer-profiles
+      types-aiobotocore-databrew
+      types-aiobotocore-dataexchange
+      types-aiobotocore-datapipeline
+      types-aiobotocore-datasync
+      types-aiobotocore-dax
+      types-aiobotocore-detective
+      types-aiobotocore-devicefarm
+      types-aiobotocore-devops-guru
+      types-aiobotocore-directconnect
+      types-aiobotocore-discovery
+      types-aiobotocore-dlm
+      types-aiobotocore-dms
+      types-aiobotocore-docdb
+      types-aiobotocore-docdb-elastic
+      types-aiobotocore-drs
+      types-aiobotocore-ds
+      types-aiobotocore-dynamodb
+      types-aiobotocore-dynamodbstreams
+      types-aiobotocore-ebs
+      types-aiobotocore-ec2
+      types-aiobotocore-ec2-instance-connect
+      types-aiobotocore-ecr
+      types-aiobotocore-ecr-public
+      types-aiobotocore-ecs
+      types-aiobotocore-efs
+      types-aiobotocore-eks
+      types-aiobotocore-elastic-inference
+      types-aiobotocore-elasticache
+      types-aiobotocore-elasticbeanstalk
+      types-aiobotocore-elastictranscoder
+      types-aiobotocore-elb
+      types-aiobotocore-elbv2
+      types-aiobotocore-emr
+      types-aiobotocore-emr-containers
+      types-aiobotocore-emr-serverless
+      types-aiobotocore-entityresolution
+      types-aiobotocore-es
+      types-aiobotocore-events
+      types-aiobotocore-evidently
+      types-aiobotocore-finspace
+      types-aiobotocore-finspace-data
+      types-aiobotocore-firehose
+      types-aiobotocore-fis
+      types-aiobotocore-fms
+      types-aiobotocore-forecast
+      types-aiobotocore-forecastquery
+      types-aiobotocore-frauddetector
+      types-aiobotocore-fsx
+      types-aiobotocore-gamelift
+      types-aiobotocore-gamesparks
+      types-aiobotocore-glacier
+      types-aiobotocore-globalaccelerator
+      types-aiobotocore-glue
+      types-aiobotocore-grafana
+      types-aiobotocore-greengrass
+      types-aiobotocore-greengrassv2
+      types-aiobotocore-groundstation
+      types-aiobotocore-guardduty
+      types-aiobotocore-health
+      types-aiobotocore-healthlake
+      types-aiobotocore-honeycode
+      types-aiobotocore-iam
+      types-aiobotocore-identitystore
+      types-aiobotocore-imagebuilder
+      types-aiobotocore-importexport
+      types-aiobotocore-inspector
+      types-aiobotocore-inspector2
+      types-aiobotocore-internetmonitor
+      types-aiobotocore-iot
+      types-aiobotocore-iot-data
+      types-aiobotocore-iot-jobs-data
+      types-aiobotocore-iot-roborunner
+      types-aiobotocore-iot1click-devices
+      types-aiobotocore-iot1click-projects
+      types-aiobotocore-iotanalytics
+      types-aiobotocore-iotdeviceadvisor
+      types-aiobotocore-iotevents
+      types-aiobotocore-iotevents-data
+      types-aiobotocore-iotfleethub
+      types-aiobotocore-iotfleetwise
+      types-aiobotocore-iotsecuretunneling
+      types-aiobotocore-iotsitewise
+      types-aiobotocore-iotthingsgraph
+      types-aiobotocore-iottwinmaker
+      types-aiobotocore-iotwireless
+      types-aiobotocore-ivs
+      types-aiobotocore-ivs-realtime
+      types-aiobotocore-ivschat
+      types-aiobotocore-kafka
+      types-aiobotocore-kafkaconnect
+      types-aiobotocore-kendra
+      types-aiobotocore-kendra-ranking
+      types-aiobotocore-keyspaces
+      types-aiobotocore-kinesis
+      types-aiobotocore-kinesis-video-archived-media
+      types-aiobotocore-kinesis-video-media
+      types-aiobotocore-kinesis-video-signaling
+      types-aiobotocore-kinesis-video-webrtc-storage
+      types-aiobotocore-kinesisanalytics
+      types-aiobotocore-kinesisanalyticsv2
+      types-aiobotocore-kinesisvideo
+      types-aiobotocore-kms
+      types-aiobotocore-lakeformation
+      types-aiobotocore-lambda
+      types-aiobotocore-lex-models
+      types-aiobotocore-lex-runtime
+      types-aiobotocore-lexv2-models
+      types-aiobotocore-lexv2-runtime
+      types-aiobotocore-license-manager
+      types-aiobotocore-license-manager-linux-subscriptions
+      types-aiobotocore-license-manager-user-subscriptions
+      types-aiobotocore-lightsail
+      types-aiobotocore-location
+      types-aiobotocore-logs
+      types-aiobotocore-lookoutequipment
+      types-aiobotocore-lookoutmetrics
+      types-aiobotocore-lookoutvision
+      types-aiobotocore-m2
+      types-aiobotocore-machinelearning
+      types-aiobotocore-macie
+      types-aiobotocore-macie2
+      types-aiobotocore-managedblockchain
+      types-aiobotocore-managedblockchain-query
+      types-aiobotocore-marketplace-catalog
+      types-aiobotocore-marketplace-entitlement
+      types-aiobotocore-marketplacecommerceanalytics
+      types-aiobotocore-mediaconnect
+      types-aiobotocore-mediaconvert
+      types-aiobotocore-medialive
+      types-aiobotocore-mediapackage
+      types-aiobotocore-mediapackage-vod
+      types-aiobotocore-mediapackagev2
+      types-aiobotocore-mediastore
+      types-aiobotocore-mediastore-data
+      types-aiobotocore-mediatailor
+      types-aiobotocore-medical-imaging
+      types-aiobotocore-memorydb
+      types-aiobotocore-meteringmarketplace
+      types-aiobotocore-mgh
+      types-aiobotocore-mgn
+      types-aiobotocore-migration-hub-refactor-spaces
+      types-aiobotocore-migrationhub-config
+      types-aiobotocore-migrationhuborchestrator
+      types-aiobotocore-migrationhubstrategy
+      types-aiobotocore-mobile
+      types-aiobotocore-mq
+      types-aiobotocore-mturk
+      types-aiobotocore-mwaa
+      types-aiobotocore-neptune
+      types-aiobotocore-network-firewall
+      types-aiobotocore-networkmanager
+      types-aiobotocore-nimble
+      types-aiobotocore-oam
+      types-aiobotocore-omics
+      types-aiobotocore-opensearch
+      types-aiobotocore-opensearchserverless
+      types-aiobotocore-opsworks
+      types-aiobotocore-opsworkscm
+      types-aiobotocore-organizations
+      types-aiobotocore-osis
+      types-aiobotocore-outposts
+      types-aiobotocore-panorama
+      types-aiobotocore-payment-cryptography
+      types-aiobotocore-payment-cryptography-data
+      types-aiobotocore-personalize
+      types-aiobotocore-personalize-events
+      types-aiobotocore-personalize-runtime
+      types-aiobotocore-pi
+      types-aiobotocore-pinpoint
+      types-aiobotocore-pinpoint-email
+      types-aiobotocore-pinpoint-sms-voice
+      types-aiobotocore-pinpoint-sms-voice-v2
+      types-aiobotocore-pipes
+      types-aiobotocore-polly
+      types-aiobotocore-pricing
+      types-aiobotocore-privatenetworks
+      types-aiobotocore-proton
+      types-aiobotocore-qldb
+      types-aiobotocore-qldb-session
+      types-aiobotocore-quicksight
+      types-aiobotocore-ram
+      types-aiobotocore-rbin
+      types-aiobotocore-rds
+      types-aiobotocore-rds-data
+      types-aiobotocore-redshift
+      types-aiobotocore-redshift-data
+      types-aiobotocore-redshift-serverless
+      types-aiobotocore-rekognition
+      types-aiobotocore-resiliencehub
+      types-aiobotocore-resource-explorer-2
+      types-aiobotocore-resource-groups
+      types-aiobotocore-resourcegroupstaggingapi
+      types-aiobotocore-robomaker
+      types-aiobotocore-rolesanywhere
+      types-aiobotocore-route53
+      types-aiobotocore-route53-recovery-cluster
+      types-aiobotocore-route53-recovery-control-config
+      types-aiobotocore-route53-recovery-readiness
+      types-aiobotocore-route53domains
+      types-aiobotocore-route53resolver
+      types-aiobotocore-rum
+      types-aiobotocore-s3
+      types-aiobotocore-s3control
+      types-aiobotocore-s3outposts
+      types-aiobotocore-sagemaker
+      types-aiobotocore-sagemaker-a2i-runtime
+      types-aiobotocore-sagemaker-edge
+      types-aiobotocore-sagemaker-featurestore-runtime
+      types-aiobotocore-sagemaker-geospatial
+      types-aiobotocore-sagemaker-metrics
+      types-aiobotocore-sagemaker-runtime
+      types-aiobotocore-savingsplans
+      types-aiobotocore-scheduler
+      types-aiobotocore-schemas
+      types-aiobotocore-sdb
+      types-aiobotocore-secretsmanager
+      types-aiobotocore-securityhub
+      types-aiobotocore-securitylake
+      types-aiobotocore-serverlessrepo
+      types-aiobotocore-service-quotas
+      types-aiobotocore-servicecatalog
+      types-aiobotocore-servicecatalog-appregistry
+      types-aiobotocore-servicediscovery
+      types-aiobotocore-ses
+      types-aiobotocore-sesv2
+      types-aiobotocore-shield
+      types-aiobotocore-signer
+      types-aiobotocore-simspaceweaver
+      types-aiobotocore-sms
+      types-aiobotocore-sms-voice
+      types-aiobotocore-snow-device-management
+      types-aiobotocore-snowball
+      types-aiobotocore-sns
+      types-aiobotocore-sqs
+      types-aiobotocore-ssm
+      types-aiobotocore-ssm-contacts
+      types-aiobotocore-ssm-incidents
+      types-aiobotocore-ssm-sap
+      types-aiobotocore-sso
+      types-aiobotocore-sso-admin
+      types-aiobotocore-sso-oidc
+      types-aiobotocore-stepfunctions
+      types-aiobotocore-storagegateway
+      types-aiobotocore-sts
+      types-aiobotocore-support
+      types-aiobotocore-support-app
+      types-aiobotocore-swf
+      types-aiobotocore-synthetics
+      types-aiobotocore-textract
+      types-aiobotocore-timestream-query
+      types-aiobotocore-timestream-write
+      types-aiobotocore-tnb
+      types-aiobotocore-transcribe
+      types-aiobotocore-transfer
+      types-aiobotocore-translate
+      types-aiobotocore-verifiedpermissions
+      types-aiobotocore-voice-id
+      types-aiobotocore-vpc-lattice
+      types-aiobotocore-waf
+      types-aiobotocore-waf-regional
+      types-aiobotocore-wafv2
+      types-aiobotocore-wellarchitected
+      types-aiobotocore-wisdom
+      types-aiobotocore-workdocs
+      types-aiobotocore-worklink
+      types-aiobotocore-workmail
+      types-aiobotocore-workmailmessageflow
+      types-aiobotocore-workspaces
+      types-aiobotocore-workspaces-web
+      types-aiobotocore-xray
+    ];
+    amp = [
+      types-aiobotocore-amp
+    ];
+    amplify = [
+      types-aiobotocore-amplify
+    ];
+    amplifybackend = [
+      types-aiobotocore-amplifybackend
+    ];
+    amplifyuibuilder = [
+      types-aiobotocore-amplifyuibuilder
+    ];
+    apigateway = [
+      types-aiobotocore-apigateway
+    ];
+    apigatewaymanagementapi = [
+      types-aiobotocore-apigatewaymanagementapi
+    ];
+    apigatewayv2 = [
+      types-aiobotocore-apigatewayv2
+    ];
+    appconfig = [
+      types-aiobotocore-appconfig
+    ];
+    appconfigdata = [
+      types-aiobotocore-appconfigdata
+    ];
+    appfabric = [
+      types-aiobotocore-appfabric
+    ];
+    appflow = [
+      types-aiobotocore-appflow
+    ];
+    appintegrations = [
+      types-aiobotocore-appintegrations
+    ];
+    application-autoscaling = [
+      types-aiobotocore-application-autoscaling
+    ];
+    application-insights = [
+      types-aiobotocore-application-insights
+    ];
+    applicationcostprofiler = [
+      types-aiobotocore-applicationcostprofiler
+    ];
+    appmesh = [
+      types-aiobotocore-appmesh
+    ];
+    apprunner = [
+      types-aiobotocore-apprunner
+    ];
+    appstream = [
+      types-aiobotocore-appstream
+    ];
+    appsync = [
+      types-aiobotocore-appsync
+    ];
+    arc-zonal-shift = [
+      types-aiobotocore-arc-zonal-shift
+    ];
+    athena = [
+      types-aiobotocore-athena
+    ];
+    auditmanager = [
+      types-aiobotocore-auditmanager
+    ];
+    autoscaling = [
+      types-aiobotocore-autoscaling
+    ];
+    autoscaling-plans = [
+      types-aiobotocore-autoscaling-plans
+    ];
+    backup = [
+      types-aiobotocore-backup
+    ];
+    backup-gateway = [
+      types-aiobotocore-backup-gateway
+    ];
+    backupstorage = [
+      types-aiobotocore-backupstorage
+    ];
+    batch = [
+      types-aiobotocore-batch
+    ];
+    billingconductor = [
+      types-aiobotocore-billingconductor
+    ];
+    braket = [
+      types-aiobotocore-braket
+    ];
+    budgets = [
+      types-aiobotocore-budgets
+    ];
+    ce = [
+      types-aiobotocore-ce
+    ];
+    chime = [
+      types-aiobotocore-chime
+    ];
+    chime-sdk-identity = [
+      types-aiobotocore-chime-sdk-identity
+    ];
+    chime-sdk-media-pipelines = [
+      types-aiobotocore-chime-sdk-media-pipelines
+    ];
+    chime-sdk-meetings = [
+      types-aiobotocore-chime-sdk-meetings
+    ];
+    chime-sdk-messaging = [
+      types-aiobotocore-chime-sdk-messaging
+    ];
+    chime-sdk-voice = [
+      types-aiobotocore-chime-sdk-voice
+    ];
+    cleanrooms = [
+      types-aiobotocore-cleanrooms
+    ];
+    cloud9 = [
+      types-aiobotocore-cloud9
+    ];
+    cloudcontrol = [
+      types-aiobotocore-cloudcontrol
+    ];
+    clouddirectory = [
+      types-aiobotocore-clouddirectory
+    ];
+    cloudformation = [
+      types-aiobotocore-cloudformation
+    ];
+    cloudfront = [
+      types-aiobotocore-cloudfront
+    ];
+    cloudhsm = [
+      types-aiobotocore-cloudhsm
+    ];
+    cloudhsmv2 = [
+      types-aiobotocore-cloudhsmv2
+    ];
+    cloudsearch = [
+      types-aiobotocore-cloudsearch
+    ];
+    cloudsearchdomain = [
+      types-aiobotocore-cloudsearchdomain
+    ];
+    cloudtrail = [
+      types-aiobotocore-cloudtrail
+    ];
+    cloudtrail-data = [
+      types-aiobotocore-cloudtrail-data
+    ];
+    cloudwatch = [
+      types-aiobotocore-cloudwatch
+    ];
+    codeartifact = [
+      types-aiobotocore-codeartifact
+    ];
+    codebuild = [
+      types-aiobotocore-codebuild
+    ];
+    codecatalyst = [
+      types-aiobotocore-codecatalyst
+    ];
+    codecommit = [
+      types-aiobotocore-codecommit
+    ];
+    codedeploy = [
+      types-aiobotocore-codedeploy
+    ];
+    codeguru-reviewer = [
+      types-aiobotocore-codeguru-reviewer
+    ];
+    codeguru-security = [
+      types-aiobotocore-codeguru-security
+    ];
+    codeguruprofiler = [
+      types-aiobotocore-codeguruprofiler
+    ];
+    codepipeline = [
+      types-aiobotocore-codepipeline
+    ];
+    codestar = [
+      types-aiobotocore-codestar
+    ];
+    codestar-connections = [
+      types-aiobotocore-codestar-connections
+    ];
+    codestar-notifications = [
+      types-aiobotocore-codestar-notifications
+    ];
+    cognito-identity = [
+      types-aiobotocore-cognito-identity
+    ];
+    cognito-idp = [
+      types-aiobotocore-cognito-idp
+    ];
+    cognito-sync = [
+      types-aiobotocore-cognito-sync
+    ];
+    comprehend = [
+      types-aiobotocore-comprehend
+    ];
+    comprehendmedical = [
+      types-aiobotocore-comprehendmedical
+    ];
+    compute-optimizer = [
+      types-aiobotocore-compute-optimizer
+    ];
+    config = [
+      types-aiobotocore-config
+    ];
+    connect = [
+      types-aiobotocore-connect
+    ];
+    connect-contact-lens = [
+      types-aiobotocore-connect-contact-lens
+    ];
+    connectcampaigns = [
+      types-aiobotocore-connectcampaigns
+    ];
+    connectcases = [
+      types-aiobotocore-connectcases
+    ];
+    connectparticipant = [
+      types-aiobotocore-connectparticipant
+    ];
+    controltower = [
+      types-aiobotocore-controltower
+    ];
+    cur = [
+      types-aiobotocore-cur
+    ];
+    customer-profiles = [
+      types-aiobotocore-customer-profiles
+    ];
+    databrew = [
+      types-aiobotocore-databrew
+    ];
+    dataexchange = [
+      types-aiobotocore-dataexchange
+    ];
+    datapipeline = [
+      types-aiobotocore-datapipeline
+    ];
+    datasync = [
+      types-aiobotocore-datasync
+    ];
+    dax = [
+      types-aiobotocore-dax
+    ];
+    detective = [
+      types-aiobotocore-detective
+    ];
+    devicefarm = [
+      types-aiobotocore-devicefarm
+    ];
+    devops-guru = [
+      types-aiobotocore-devops-guru
+    ];
+    directconnect = [
+      types-aiobotocore-directconnect
+    ];
+    discovery = [
+      types-aiobotocore-discovery
+    ];
+    dlm = [
+      types-aiobotocore-dlm
+    ];
+    dms = [
+      types-aiobotocore-dms
+    ];
+    docdb = [
+      types-aiobotocore-docdb
+    ];
+    docdb-elastic = [
+      types-aiobotocore-docdb-elastic
+    ];
+    drs = [
+      types-aiobotocore-drs
+    ];
+    ds = [
+      types-aiobotocore-ds
+    ];
+    dynamodb = [
+      types-aiobotocore-dynamodb
+    ];
+    dynamodbstreams = [
+      types-aiobotocore-dynamodbstreams
+    ];
+    ebs = [
+      types-aiobotocore-ebs
+    ];
+    ec2 = [
+      types-aiobotocore-ec2
+    ];
+    ec2-instance-connect = [
+      types-aiobotocore-ec2-instance-connect
+    ];
+    ecr = [
+      types-aiobotocore-ecr
+    ];
+    ecr-public = [
+      types-aiobotocore-ecr-public
+    ];
+    ecs = [
+      types-aiobotocore-ecs
+    ];
+    efs = [
+      types-aiobotocore-efs
+    ];
+    eks = [
+      types-aiobotocore-eks
+    ];
+    elastic-inference = [
+      types-aiobotocore-elastic-inference
+    ];
+    elasticache = [
+      types-aiobotocore-elasticache
+    ];
+    elasticbeanstalk = [
+      types-aiobotocore-elasticbeanstalk
+    ];
+    elastictranscoder = [
+      types-aiobotocore-elastictranscoder
+    ];
+    elb = [
+      types-aiobotocore-elb
+    ];
+    elbv2 = [
+      types-aiobotocore-elbv2
+    ];
+    emr = [
+      types-aiobotocore-emr
+    ];
+    emr-containers = [
+      types-aiobotocore-emr-containers
+    ];
+    emr-serverless = [
+      types-aiobotocore-emr-serverless
+    ];
+    entityresolution = [
+      types-aiobotocore-entityresolution
+    ];
+    es = [
+      types-aiobotocore-es
+    ];
+    essential = [
+      types-aiobotocore-cloudformation
+      types-aiobotocore-dynamodb
+      types-aiobotocore-ec2
+      types-aiobotocore-lambda
+      types-aiobotocore-rds
+      types-aiobotocore-s3
+      types-aiobotocore-sqs
+    ];
+    events = [
+      types-aiobotocore-events
+    ];
+    evidently = [
+      types-aiobotocore-evidently
+    ];
+    finspace = [
+      types-aiobotocore-finspace
+    ];
+    finspace-data = [
+      types-aiobotocore-finspace-data
+    ];
+    firehose = [
+      types-aiobotocore-firehose
+    ];
+    fis = [
+      types-aiobotocore-fis
+    ];
+    fms = [
+      types-aiobotocore-fms
+    ];
+    forecast = [
+      types-aiobotocore-forecast
+    ];
+    forecastquery = [
+      types-aiobotocore-forecastquery
+    ];
+    frauddetector = [
+      types-aiobotocore-frauddetector
+    ];
+    fsx = [
+      types-aiobotocore-fsx
+    ];
+    gamelift = [
+      types-aiobotocore-gamelift
+    ];
+    gamesparks = [
+      types-aiobotocore-gamesparks
+    ];
+    glacier = [
+      types-aiobotocore-glacier
+    ];
+    globalaccelerator = [
+      types-aiobotocore-globalaccelerator
+    ];
+    glue = [
+      types-aiobotocore-glue
+    ];
+    grafana = [
+      types-aiobotocore-grafana
+    ];
+    greengrass = [
+      types-aiobotocore-greengrass
+    ];
+    greengrassv2 = [
+      types-aiobotocore-greengrassv2
+    ];
+    groundstation = [
+      types-aiobotocore-groundstation
+    ];
+    guardduty = [
+      types-aiobotocore-guardduty
+    ];
+    health = [
+      types-aiobotocore-health
+    ];
+    healthlake = [
+      types-aiobotocore-healthlake
+    ];
+    honeycode = [
+      types-aiobotocore-honeycode
+    ];
+    iam = [
+      types-aiobotocore-iam
+    ];
+    identitystore = [
+      types-aiobotocore-identitystore
+    ];
+    imagebuilder = [
+      types-aiobotocore-imagebuilder
+    ];
+    importexport = [
+      types-aiobotocore-importexport
+    ];
+    inspector = [
+      types-aiobotocore-inspector
+    ];
+    inspector2 = [
+      types-aiobotocore-inspector2
+    ];
+    internetmonitor = [
+      types-aiobotocore-internetmonitor
+    ];
+    iot = [
+      types-aiobotocore-iot
+    ];
+    iot-data = [
+      types-aiobotocore-iot-data
+    ];
+    iot-jobs-data = [
+      types-aiobotocore-iot-jobs-data
+    ];
+    iot-roborunner = [
+      types-aiobotocore-iot-roborunner
+    ];
+    iot1click-devices = [
+      types-aiobotocore-iot1click-devices
+    ];
+    iot1click-projects = [
+      types-aiobotocore-iot1click-projects
+    ];
+    iotanalytics = [
+      types-aiobotocore-iotanalytics
+    ];
+    iotdeviceadvisor = [
+      types-aiobotocore-iotdeviceadvisor
+    ];
+    iotevents = [
+      types-aiobotocore-iotevents
+    ];
+    iotevents-data = [
+      types-aiobotocore-iotevents-data
+    ];
+    iotfleethub = [
+      types-aiobotocore-iotfleethub
+    ];
+    iotfleetwise = [
+      types-aiobotocore-iotfleetwise
+    ];
+    iotsecuretunneling = [
+      types-aiobotocore-iotsecuretunneling
+    ];
+    iotsitewise = [
+      types-aiobotocore-iotsitewise
+    ];
+    iotthingsgraph = [
+      types-aiobotocore-iotthingsgraph
+    ];
+    iottwinmaker = [
+      types-aiobotocore-iottwinmaker
+    ];
+    iotwireless = [
+      types-aiobotocore-iotwireless
+    ];
+    ivs = [
+      types-aiobotocore-ivs
+    ];
+    ivs-realtime = [
+      types-aiobotocore-ivs-realtime
+    ];
+    ivschat = [
+      types-aiobotocore-ivschat
+    ];
+    kafka = [
+      types-aiobotocore-kafka
+    ];
+    kafkaconnect = [
+      types-aiobotocore-kafkaconnect
+    ];
+    kendra = [
+      types-aiobotocore-kendra
+    ];
+    kendra-ranking = [
+      types-aiobotocore-kendra-ranking
+    ];
+    keyspaces = [
+      types-aiobotocore-keyspaces
+    ];
+    kinesis = [
+      types-aiobotocore-kinesis
+    ];
+    kinesis-video-archived-media = [
+      types-aiobotocore-kinesis-video-archived-media
+    ];
+    kinesis-video-media = [
+      types-aiobotocore-kinesis-video-media
+    ];
+    kinesis-video-signaling = [
+      types-aiobotocore-kinesis-video-signaling
+    ];
+    kinesis-video-webrtc-storage = [
+      types-aiobotocore-kinesis-video-webrtc-storage
+    ];
+    kinesisanalytics = [
+      types-aiobotocore-kinesisanalytics
+    ];
+    kinesisanalyticsv2 = [
+      types-aiobotocore-kinesisanalyticsv2
+    ];
+    kinesisvideo = [
+      types-aiobotocore-kinesisvideo
+    ];
+    kms = [
+      types-aiobotocore-kms
+    ];
+    lakeformation = [
+      types-aiobotocore-lakeformation
+    ];
+    lambda = [
+      types-aiobotocore-lambda
+    ];
+    lex-models = [
+      types-aiobotocore-lex-models
+    ];
+    lex-runtime = [
+      types-aiobotocore-lex-runtime
+    ];
+    lexv2-models = [
+      types-aiobotocore-lexv2-models
+    ];
+    lexv2-runtime = [
+      types-aiobotocore-lexv2-runtime
+    ];
+    license-manager = [
+      types-aiobotocore-license-manager
+    ];
+    license-manager-linux-subscriptions = [
+      types-aiobotocore-license-manager-linux-subscriptions
+    ];
+    license-manager-user-subscriptions = [
+      types-aiobotocore-license-manager-user-subscriptions
+    ];
+    lightsail = [
+      types-aiobotocore-lightsail
+    ];
+    location = [
+      types-aiobotocore-location
+    ];
+    logs = [
+      types-aiobotocore-logs
+    ];
+    lookoutequipment = [
+      types-aiobotocore-lookoutequipment
+    ];
+    lookoutmetrics = [
+      types-aiobotocore-lookoutmetrics
+    ];
+    lookoutvision = [
+      types-aiobotocore-lookoutvision
+    ];
+    m2 = [
+      types-aiobotocore-m2
+    ];
+    machinelearning = [
+      types-aiobotocore-machinelearning
+    ];
+    macie = [
+      types-aiobotocore-macie
+    ];
+    macie2 = [
+      types-aiobotocore-macie2
+    ];
+    managedblockchain = [
+      types-aiobotocore-managedblockchain
+    ];
+    managedblockchain-query = [
+      types-aiobotocore-managedblockchain-query
+    ];
+    marketplace-catalog = [
+      types-aiobotocore-marketplace-catalog
+    ];
+    marketplace-entitlement = [
+      types-aiobotocore-marketplace-entitlement
+    ];
+    marketplacecommerceanalytics = [
+      types-aiobotocore-marketplacecommerceanalytics
+    ];
+    mediaconnect = [
+      types-aiobotocore-mediaconnect
+    ];
+    mediaconvert = [
+      types-aiobotocore-mediaconvert
+    ];
+    medialive = [
+      types-aiobotocore-medialive
+    ];
+    mediapackage = [
+      types-aiobotocore-mediapackage
+    ];
+    mediapackage-vod = [
+      types-aiobotocore-mediapackage-vod
+    ];
+    mediapackagev2 = [
+      types-aiobotocore-mediapackagev2
+    ];
+    mediastore = [
+      types-aiobotocore-mediastore
+    ];
+    mediastore-data = [
+      types-aiobotocore-mediastore-data
+    ];
+    mediatailor = [
+      types-aiobotocore-mediatailor
+    ];
+    medical-imaging = [
+      types-aiobotocore-medical-imaging
+    ];
+    memorydb = [
+      types-aiobotocore-memorydb
+    ];
+    meteringmarketplace = [
+      types-aiobotocore-meteringmarketplace
+    ];
+    mgh = [
+      types-aiobotocore-mgh
+    ];
+    mgn = [
+      types-aiobotocore-mgn
+    ];
+    migration-hub-refactor-spaces = [
+      types-aiobotocore-migration-hub-refactor-spaces
+    ];
+    migrationhub-config = [
+      types-aiobotocore-migrationhub-config
+    ];
+    migrationhuborchestrator = [
+      types-aiobotocore-migrationhuborchestrator
+    ];
+    migrationhubstrategy = [
+      types-aiobotocore-migrationhubstrategy
+    ];
+    mobile = [
+      types-aiobotocore-mobile
+    ];
+    mq = [
+      types-aiobotocore-mq
+    ];
+    mturk = [
+      types-aiobotocore-mturk
+    ];
+    mwaa = [
+      types-aiobotocore-mwaa
+    ];
+    neptune = [
+      types-aiobotocore-neptune
+    ];
+    network-firewall = [
+      types-aiobotocore-network-firewall
+    ];
+    networkmanager = [
+      types-aiobotocore-networkmanager
+    ];
+    nimble = [
+      types-aiobotocore-nimble
+    ];
+    oam = [
+      types-aiobotocore-oam
+    ];
+    omics = [
+      types-aiobotocore-omics
+    ];
+    opensearch = [
+      types-aiobotocore-opensearch
+    ];
+    opensearchserverless = [
+      types-aiobotocore-opensearchserverless
+    ];
+    opsworks = [
+      types-aiobotocore-opsworks
+    ];
+    opsworkscm = [
+      types-aiobotocore-opsworkscm
+    ];
+    organizations = [
+      types-aiobotocore-organizations
+    ];
+    osis = [
+      types-aiobotocore-osis
+    ];
+    outposts = [
+      types-aiobotocore-outposts
+    ];
+    panorama = [
+      types-aiobotocore-panorama
+    ];
+    payment-cryptography = [
+      types-aiobotocore-payment-cryptography
+    ];
+    payment-cryptography-data = [
+      types-aiobotocore-payment-cryptography-data
+    ];
+    personalize = [
+      types-aiobotocore-personalize
+    ];
+    personalize-events = [
+      types-aiobotocore-personalize-events
+    ];
+    personalize-runtime = [
+      types-aiobotocore-personalize-runtime
+    ];
+    pi = [
+      types-aiobotocore-pi
+    ];
+    pinpoint = [
+      types-aiobotocore-pinpoint
+    ];
+    pinpoint-email = [
+      types-aiobotocore-pinpoint-email
+    ];
+    pinpoint-sms-voice = [
+      types-aiobotocore-pinpoint-sms-voice
+    ];
+    pinpoint-sms-voice-v2 = [
+      types-aiobotocore-pinpoint-sms-voice-v2
+    ];
+    pipes = [
+      types-aiobotocore-pipes
+    ];
+    polly = [
+      types-aiobotocore-polly
+    ];
+    pricing = [
+      types-aiobotocore-pricing
+    ];
+    privatenetworks = [
+      types-aiobotocore-privatenetworks
+    ];
+    proton = [
+      types-aiobotocore-proton
+    ];
+    qldb = [
+      types-aiobotocore-qldb
+    ];
+    qldb-session = [
+      types-aiobotocore-qldb-session
+    ];
+    quicksight = [
+      types-aiobotocore-quicksight
+    ];
+    ram = [
+      types-aiobotocore-ram
+    ];
+    rbin = [
+      types-aiobotocore-rbin
+    ];
+    rds = [
+      types-aiobotocore-rds
+    ];
+    rds-data = [
+      types-aiobotocore-rds-data
+    ];
+    redshift = [
+      types-aiobotocore-redshift
+    ];
+    redshift-data = [
+      types-aiobotocore-redshift-data
+    ];
+    redshift-serverless = [
+      types-aiobotocore-redshift-serverless
+    ];
+    rekognition = [
+      types-aiobotocore-rekognition
+    ];
+    resiliencehub = [
+      types-aiobotocore-resiliencehub
+    ];
+    resource-explorer-2 = [
+      types-aiobotocore-resource-explorer-2
+    ];
+    resource-groups = [
+      types-aiobotocore-resource-groups
+    ];
+    resourcegroupstaggingapi = [
+      types-aiobotocore-resourcegroupstaggingapi
+    ];
+    robomaker = [
+      types-aiobotocore-robomaker
+    ];
+    rolesanywhere = [
+      types-aiobotocore-rolesanywhere
+    ];
+    route53 = [
+      types-aiobotocore-route53
+    ];
+    route53-recovery-cluster = [
+      types-aiobotocore-route53-recovery-cluster
+    ];
+    route53-recovery-control-config = [
+      types-aiobotocore-route53-recovery-control-config
+    ];
+    route53-recovery-readiness = [
+      types-aiobotocore-route53-recovery-readiness
+    ];
+    route53domains = [
+      types-aiobotocore-route53domains
+    ];
+    route53resolver = [
+      types-aiobotocore-route53resolver
+    ];
+    rum = [
+      types-aiobotocore-rum
+    ];
+    s3 = [
+      types-aiobotocore-s3
+    ];
+    s3control = [
+      types-aiobotocore-s3control
+    ];
+    s3outposts = [
+      types-aiobotocore-s3outposts
+    ];
+    sagemaker = [
+      types-aiobotocore-sagemaker
+    ];
+    sagemaker-a2i-runtime = [
+      types-aiobotocore-sagemaker-a2i-runtime
+    ];
+    sagemaker-edge = [
+      types-aiobotocore-sagemaker-edge
+    ];
+    sagemaker-featurestore-runtime = [
+      types-aiobotocore-sagemaker-featurestore-runtime
+    ];
+    sagemaker-geospatial = [
+      types-aiobotocore-sagemaker-geospatial
+    ];
+    sagemaker-metrics = [
+      types-aiobotocore-sagemaker-metrics
+    ];
+    sagemaker-runtime = [
+      types-aiobotocore-sagemaker-runtime
+    ];
+    savingsplans = [
+      types-aiobotocore-savingsplans
+    ];
+    scheduler = [
+      types-aiobotocore-scheduler
+    ];
+    schemas = [
+      types-aiobotocore-schemas
+    ];
+    sdb = [
+      types-aiobotocore-sdb
+    ];
+    secretsmanager = [
+      types-aiobotocore-secretsmanager
+    ];
+    securityhub = [
+      types-aiobotocore-securityhub
+    ];
+    securitylake = [
+      types-aiobotocore-securitylake
+    ];
+    serverlessrepo = [
+      types-aiobotocore-serverlessrepo
+    ];
+    service-quotas = [
+      types-aiobotocore-service-quotas
+    ];
+    servicecatalog = [
+      types-aiobotocore-servicecatalog
+    ];
+    servicecatalog-appregistry = [
+      types-aiobotocore-servicecatalog-appregistry
+    ];
+    servicediscovery = [
+      types-aiobotocore-servicediscovery
+    ];
+    ses = [
+      types-aiobotocore-ses
+    ];
+    sesv2 = [
+      types-aiobotocore-sesv2
+    ];
+    shield = [
+      types-aiobotocore-shield
+    ];
+    signer = [
+      types-aiobotocore-signer
+    ];
+    simspaceweaver = [
+      types-aiobotocore-simspaceweaver
+    ];
+    sms = [
+      types-aiobotocore-sms
+    ];
+    sms-voice = [
+      types-aiobotocore-sms-voice
+    ];
+    snow-device-management = [
+      types-aiobotocore-snow-device-management
+    ];
+    snowball = [
+      types-aiobotocore-snowball
+    ];
+    sns = [
+      types-aiobotocore-sns
+    ];
+    sqs = [
+      types-aiobotocore-sqs
+    ];
+    ssm = [
+      types-aiobotocore-ssm
+    ];
+    ssm-contacts = [
+      types-aiobotocore-ssm-contacts
+    ];
+    ssm-incidents = [
+      types-aiobotocore-ssm-incidents
+    ];
+    ssm-sap = [
+      types-aiobotocore-ssm-sap
+    ];
+    sso = [
+      types-aiobotocore-sso
+    ];
+    sso-admin = [
+      types-aiobotocore-sso-admin
+    ];
+    sso-oidc = [
+      types-aiobotocore-sso-oidc
+    ];
+    stepfunctions = [
+      types-aiobotocore-stepfunctions
+    ];
+    storagegateway = [
+      types-aiobotocore-storagegateway
+    ];
+    sts = [
+      types-aiobotocore-sts
+    ];
+    support = [
+      types-aiobotocore-support
+    ];
+    support-app = [
+      types-aiobotocore-support-app
+    ];
+    swf = [
+      types-aiobotocore-swf
+    ];
+    synthetics = [
+      types-aiobotocore-synthetics
+    ];
+    textract = [
+      types-aiobotocore-textract
+    ];
+    timestream-query = [
+      types-aiobotocore-timestream-query
+    ];
+    timestream-write = [
+      types-aiobotocore-timestream-write
+    ];
+    tnb = [
+      types-aiobotocore-tnb
+    ];
+    transcribe = [
+      types-aiobotocore-transcribe
+    ];
+    transfer = [
+      types-aiobotocore-transfer
+    ];
+    translate = [
+      types-aiobotocore-translate
+    ];
+    verifiedpermissions = [
+      types-aiobotocore-verifiedpermissions
+    ];
+    voice-id = [
+      types-aiobotocore-voice-id
+    ];
+    vpc-lattice = [
+      types-aiobotocore-vpc-lattice
+    ];
+    waf = [
+      types-aiobotocore-waf
+    ];
+    waf-regional = [
+      types-aiobotocore-waf-regional
+    ];
+    wafv2 = [
+      types-aiobotocore-wafv2
+    ];
+    wellarchitected = [
+      types-aiobotocore-wellarchitected
+    ];
+    wisdom = [
+      types-aiobotocore-wisdom
+    ];
+    workdocs = [
+      types-aiobotocore-workdocs
+    ];
+    worklink = [
+      types-aiobotocore-worklink
+    ];
+    workmail = [
+      types-aiobotocore-workmail
+    ];
+    workmailmessageflow = [
+      types-aiobotocore-workmailmessageflow
+    ];
+    workspaces = [
+      types-aiobotocore-workspaces
+    ];
+    workspaces-web = [
+      types-aiobotocore-workspaces-web
+    ];
+    xray = [
+      types-aiobotocore-xray
+    ];
+  };
+
+  # Package has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Type annotations for aiobotocore generated with mypy-boto3-builder";
+    homepage = "https://pypi.org/project/types-aiobotocore/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix b/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix
index ea56034cf9c2..f3d881debdb3 100644
--- a/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "types-awscrt";
-  version = "0.19.1";
+  version = "0.19.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "types_awscrt";
     inherit version;
-    hash = "sha256-YYM6oUDnJKkJgCVhD0uM3j3PZbhCYx10RzePn1204f0=";
+    hash = "sha256-miHKrEKHwRPdUmZXB3hcRbsdMkK3oriutXxJ6edJozA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-click/default.nix b/nixpkgs/pkgs/development/python-modules/types-click/default.nix
new file mode 100644
index 000000000000..78c99fe42808
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-click/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+}:
+
+let
+  pname = "types-click";
+  version = "7.1.8";
+in
+buildPythonPackage {
+  inherit pname version;
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-tmBJaL5kAdxRYxHKUHCKCii6p6DLhA79dBLw27/04JI=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  meta = with lib; {
+    description = "Collection of library stubs for Python, with static types";
+    homepage = "https://github.com/python/typeshed";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jfvillablanca ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-docutils/default.nix b/nixpkgs/pkgs/development/python-modules/types-docutils/default.nix
index d42e2c0a2c84..c67234d5f25d 100644
--- a/nixpkgs/pkgs/development/python-modules/types-docutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-docutils/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-docutils";
-  version = "0.19.1.6";
+  version = "0.20.0.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ozSnA6hoiRDQhpRk8fb4vTMNdYQ72rT4k1R7+ylBegE=";
+    hash = "sha256-SSjnkPQrmdWDOZD5nI3Z+p8Wgl9u0wOAypgYRtNocM0=";
   };
 
   # Module doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-pillow/default.nix b/nixpkgs/pkgs/development/python-modules/types-pillow/default.nix
index c3c63592624f..74b85c6e4a4d 100644
--- a/nixpkgs/pkgs/development/python-modules/types-pillow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-pillow/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "types-pillow";
-  version = "10.0.0.2";
+  version = "10.0.0.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "types-Pillow";
-    hash = "sha256-/gk4CrItQSztmJoGfp7kr3Gfo6R7obU7IytGUUqHEEI=";
+    hash = "sha256-rgyHfTY9o0m7uCxUY8nngDcpDMB9NxTLDOr10vf1yCU=";
   };
 
   # Modules doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
index 4da64fcf8e59..e644b715544f 100644
--- a/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-protobuf";
-  version = "4.24.0.1";
+  version = "4.24.0.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kK3qO2k9akDY7wdcWP5rXMbgH+FJYwGn5vxwOY3P+S4=";
+    hash = "sha256-WYuyKQubDqZfT2NWmgneqkR17de7DYWJBXo43rCxn08=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix b/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix
index 54848a027df9..9433d55512ec 100644
--- a/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-pytz";
-  version = "2023.3.1.0";
+  version = "2023.3.1.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jn0hmMukSnLfdiiIfJD2ilaOFEXxTbZGMa9Qw8q4wJA=";
+    hash = "sha256-zCPQGSzUnI9rukTuDIHkWGqPMCBJcPwIlNIJprCNq5o=";
   };
 
   # Modules doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-redis/default.nix b/nixpkgs/pkgs/development/python-modules/types-redis/default.nix
index 92ffba08b684..1b59386174eb 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.6";
+  version = "4.6.0.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eGWoQ4ApN6st3KM1ecTiVb/nP4evhYJOrXpnKbqS/FI=";
+    hash = "sha256-KMQVPdtcnU8Q3vRKJFRnPDYdLV/DzYZ887sVIPP1mjg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-requests/default.nix b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
index 14481ff78da0..557dce437d2a 100644
--- a/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-requests/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.31.0.2";
+  version = "2.31.0.10";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-aqP3+vDqUtcouxjAoNFSLZv9jHLSb/b2G/w9BqQRz0A=";
+    hash = "sha256-3FhSp28er2Dq+oGi5Qrvo9HwFcNM8MuhMJMIZrGyKpI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-s3transfer/default.nix b/nixpkgs/pkgs/development/python-modules/types-s3transfer/default.nix
new file mode 100644
index 000000000000..56c27732187f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/types-s3transfer/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "types-s3transfer";
+  version = "0.7.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "types_s3transfer";
+    inherit version;
+    hash = "sha256-rKDySG0KOlA3zVuPPiCkUiopV5qN0YMoH/CqHE4siqc=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "s3transfer-stubs"
+  ];
+
+  meta = with lib; {
+    description = "Type annotations and code completion for s3transfer";
+    homepage = "https://github.com/youtype/types-s3transfer";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix b/nixpkgs/pkgs/development/python-modules/types-setuptools/default.nix
index efa9b6cf24b7..bac128984bfb 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 = "67.4.0.3";
+  version = "68.2.0.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GelY39vxxaYo5UwqfuhJNQUa+3J40MHNsIrBlHV+47E=";
+    hash = "sha256-pCFvHi7ynQiYd7OvOrKs9InrhpzK+QUSXGnS3Dky/YU=";
   };
 
   # Module doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-toml/default.nix b/nixpkgs/pkgs/development/python-modules/types-toml/default.nix
index 3e475b17cfd1..140664989f3b 100644
--- a/nixpkgs/pkgs/development/python-modules/types-toml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-toml/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-toml";
-  version = "0.10.8.5";
+  version = "0.10.8.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-v4D859LXS+kRSPR7iNmuWt6xAkq+8iqi/bq8A21rizw=";
+    hash = "sha256-WLB4HGgeZx/wtcAxkwmRBon0q0DookMeIF1wyUu277E=";
   };
 
   # Module doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-typed-ast/default.nix b/nixpkgs/pkgs/development/python-modules/types-typed-ast/default.nix
index ad4207769a1d..32671d584641 100644
--- a/nixpkgs/pkgs/development/python-modules/types-typed-ast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-typed-ast/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-typed-ast";
-  version = "1.5.8.6";
+  version = "1.5.8.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lUO1hj25e0EqKx1fQHyQgzY2WgutME1k6DKKdp9IwjA=";
+    hash = "sha256-93lfb51ZezUhIxQEC5k/ZhO1HYFzjtzjweOj6e9lUSQ=";
   };
 
   # Module doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/tzdata/default.nix b/nixpkgs/pkgs/development/python-modules/tzdata/default.nix
index 879024957937..91bbc854a26d 100644
--- a/nixpkgs/pkgs/development/python-modules/tzdata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tzdata/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "tzdata";
-  version = "2022.7";
+  version = "2023.3";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/l+Gbt3YuW6fy6l4+OUDyQmxnqfv2hHlLjlJS606e/o=";
+    hash = "sha256-Ee8eCOVKyw1Plb2xvgXaZZZz3krL0hv5xp6UzF6Qejo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix b/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix
index 5b32b4343a05..e9ab0bc6abe3 100644
--- a/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "tzlocal";
-  version = "4.3"; # version needs to be compatible with APScheduler
+  version = "5.0.1"; # version needs to be compatible with APScheduler
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PyHQnhsqqfLazKEtokDKN947pSN6k63f1tWTr+kHM1U=";
+    hash = "sha256-RuuZrUvbcfP3K30k9CZ3U+JAlE7PwW8l0nGbqJgnqAM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ua-parser/default.nix b/nixpkgs/pkgs/development/python-modules/ua-parser/default.nix
index e9c9a561739c..ba0f75ce6f35 100644
--- a/nixpkgs/pkgs/development/python-modules/ua-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ua-parser/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "ua-parser";
-  version = "0.16.1";
+  version = "0.18.0";
 
   format = "setuptools";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     repo = "uap-python";
     rev = version;
     fetchSubmodules = true;
-    hash = "sha256-vyzeRi/wYEyezSU+EigJATgrNvABGCWVWlSFhKGipLE=";
+    hash = "sha256-GiuGPnyYL0HQ/J2OpDTD1/panZCuzKtD3mKW5op5lXA=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/uamqp/default.nix b/nixpkgs/pkgs/development/python-modules/uamqp/default.nix
index 2ae0d32a5679..207ad3d43727 100644
--- a/nixpkgs/pkgs/development/python-modules/uamqp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uamqp/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "uamqp";
-  version = "1.6.4";
+  version = "1.6.5";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-uamqp-python";
-    rev = "refs/tags/v.${version}";
-    hash = "sha256-OjZTroaBuUB/dakl5gAYigJkim9EFiCwUEBo7z35vhQ=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-q8FxM4PBXLD5q68nrUJ+TGkui1yQJ3HHNF7jn+e+HkA=";
   };
 
   patches = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
diff --git a/nixpkgs/pkgs/development/python-modules/uc-micro-py/default.nix b/nixpkgs/pkgs/development/python-modules/uc-micro-py/default.nix
index d83a4cbd54d2..f6aa059d709c 100644
--- a/nixpkgs/pkgs/development/python-modules/uc-micro-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uc-micro-py/default.nix
@@ -3,24 +3,34 @@
 , fetchFromGitHub
 , pythonOlder
 , pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "uc-micro-py";
-  version = "1.0.1";
-  format = "setuptools";
+  version = "1.0.2";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "tsutsu3";
     repo = "uc.micro-py";
-    rev = "v${version}";
-    hash = "sha256-23mKwoRGjtxpCOC26V8bAN5QEHLDOoSqPeTlUuIrxZ0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-PUeWYG/VyxCfhB7onAcDFow1yYqArjmfMT99+058P7U=";
   };
 
-  nativeCheckInputs = [ pytestCheckHook ];
-  pythonImportsCheck = [ "uc_micro" ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  pythonImportsCheck = [
+    "uc_micro"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Micro subset of unicode data files for linkify-it-py";
diff --git a/nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix b/nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix
index f9d1cf6c1d79..90f5b783cc8d 100644
--- a/nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ucsmsdk";
-  version = "0.9.14";
+  version = "0.9.15";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "CiscoUcs";
     repo = "ucsmsdk";
-    rev = "v${version}";
-    hash = "sha256-lSkURvKRgW+qV1A8OT4WYsMGlxxIqaFnxQ3Rnlixdw0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-xNRfsIfhoVI5ORWn6NmLCuMMJregIZWQ20QBiBsA1Pc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix b/nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix
index 9ed1ec78e1bd..98087eaae75d 100644
--- a/nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ufo2ft/default.nix
@@ -21,12 +21,12 @@
 
 buildPythonPackage rec {
   pname = "ufo2ft";
-  version = "2.30.0";
+  version = "2.33.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZpO55rNXkVbqMdGxsZn77gJnGBbM8c8GIAaQnTzVnf8=";
+    hash = "sha256-e6p/H1Vub0Ln0VhQvwsVLuD/p8uNG5oCPhfQPCTl1nY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ufoLib2/default.nix b/nixpkgs/pkgs/development/python-modules/ufoLib2/default.nix
index eba49e474aaf..c2fef2e4656a 100644
--- a/nixpkgs/pkgs/development/python-modules/ufoLib2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ufoLib2/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "ufoLib2";
-  version = "0.14.0";
+  version = "0.16.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OdUJfNe3nOQyCf3nT9/5y/C8vZXnSAWiLHvZ8GXMViw=";
+    hash = "sha256-SfDcf3LMrP5/rv4NU9N5cdRWZNiwVj7zaVb6e/pVor0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix b/nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix
index b93552c4e07f..34bb5fef6df4 100644
--- a/nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "uharfbuzz";
-  version = "0.37.0";
+  version = "0.37.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -19,9 +19,9 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "harfbuzz";
     repo = "uharfbuzz";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     fetchSubmodules = true;
-    hash = "sha256-CZp+/5fG5IBawnIZLeO9lXke8rodqRcSf+ofyF584mc=";
+    hash = "sha256-876gFYyMqeGYoXMdBguV6bi7DJKHJs9HNLw9xRu+Mxk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/uhi/default.nix b/nixpkgs/pkgs/development/python-modules/uhi/default.nix
index 948f2108d261..774ff6f27312 100644
--- a/nixpkgs/pkgs/development/python-modules/uhi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uhi/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "uhi";
-  version = "0.3.3";
+  version = "0.4.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "800caf3a5f1273b08bcc3bb4b49228fe003942e23423812b0110546aad9a24be";
+    sha256 = "sha256-DctrGXdQh9OKMe44jLLHDy7P4ExP/iymMiNBDK5b7vo=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ujson/default.nix b/nixpkgs/pkgs/development/python-modules/ujson/default.nix
index 02376023260d..9816c88f3e6b 100644
--- a/nixpkgs/pkgs/development/python-modules/ujson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ujson/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "ujson";
-  version = "5.7.0";
+  version = "5.8.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-54jl1dyuj2EYrJtF0LiRoNVfesSA7dy38HJj8rzzeyM=";
+    hash = "sha256-eOMY3vSt6JikYbPZKnn5RB5+Dk0q1UGavtQzbXAsdCU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/unearth/default.nix b/nixpkgs/pkgs/development/python-modules/unearth/default.nix
index bcf6f5afa788..2352416014d8 100644
--- a/nixpkgs/pkgs/development/python-modules/unearth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unearth/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "unearth";
-  version = "0.10.0";
+  version = "0.11.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1bFSpasqo+UUmhHPezulxdSTF23KOPZsqJadrdWo9kU=";
+    hash = "sha256-DrWogA/aBhDglf73aLSNR8hYybhBenha9kcEbC317Ss=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/univers/default.nix b/nixpkgs/pkgs/development/python-modules/univers/default.nix
index ea450651da7e..3308be6a9b29 100644
--- a/nixpkgs/pkgs/development/python-modules/univers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/univers/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "univers";
-  version = "30.10.0";
+  version = "30.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IJeM9Nzfqs1B0xP43i6u65XSEVPdiGhXWuORglbNARI=";
+    hash = "sha256-xyrg8B+C5xUN8zHLrMbAe/MWjZb8fCL0MIAz2w4B7/U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix b/nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix
index 966e9c459d86..23667d02c283 100644
--- a/nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "universal-pathlib";
-  version = "0.1.3";
+  version = "0.1.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "universal_pathlib";
     inherit version;
-    hash = "sha256-GgUqteBRcwHfZr5lF+n+Y82fwAgT5c5xpzcBRBrCtcg=";
+    hash = "sha256-guXYbRaifg6hrcfYisvLqdAtWkVIgWMXT5bZrCidsuQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/universal-silabs-flasher/default.nix b/nixpkgs/pkgs/development/python-modules/universal-silabs-flasher/default.nix
index 348fa01ffbe1..420b9f078c15 100644
--- a/nixpkgs/pkgs/development/python-modules/universal-silabs-flasher/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/universal-silabs-flasher/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "universal-silabs-flasher";
-  version = "0.0.13";
+  version = "0.0.14";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "NabuCasa";
     repo = "universal-silabs-flasher";
     rev = "v${version}";
-    hash = "sha256-qiaDPCnVb6JQ2fZRFK+QF4o8K2UbIWGNKl5oo6MQUW0=";
+    hash = "sha256-0c9b571gJXFOAe5ct8O/qy7D6rDosmBHDYEv6odLQ2s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix b/nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix
index eb34584736d3..ee2557aeffa4 100644
--- a/nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "unstructured-inference";
-  version = "0.5.22";
+  version = "0.7.5";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Unstructured-IO";
     repo = "unstructured-inference";
     rev = "refs/tags/${version}";
-    hash = "sha256-YMPChP8/KB/UioavIa0pdj0wH9bTkN8frFmkQZ3bUPc=";
+    hash = "sha256-PorNIga1NgKgxkTfa5uBbVJbYoETuDrskDr2jSGwyYE=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/unstructured/default.nix b/nixpkgs/pkgs/development/python-modules/unstructured/default.nix
index 2754f192d506..acadf65a7529 100644
--- a/nixpkgs/pkgs/development/python-modules/unstructured/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unstructured/default.nix
@@ -56,7 +56,7 @@
 , grpcio
 }:
 let
-  version = "0.10.12";
+  version = "0.10.24";
   optional-dependencies = {
     huggingflace = [
       langdetect
@@ -90,7 +90,7 @@ buildPythonPackage {
     owner = "Unstructured-IO";
     repo = "unstructured";
     rev = "refs/tags/${version}";
-    hash = "sha256-v5hNl93dUEo90Hgm5u2N7tB1W5fnu+Pmnv+iw7QyQKM=";
+    hash = "sha256-C1rjZRNXFr3syPnq7uhKRYz9Xydmunc/0uQcLxfN6tU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/uproot/default.nix b/nixpkgs/pkgs/development/python-modules/uproot/default.nix
index 1e5de05abe49..a906ce2d76f9 100644
--- a/nixpkgs/pkgs/development/python-modules/uproot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uproot/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "uproot";
-  version = "5.0.11";
+  version = "5.0.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "scikit-hep";
     repo = "uproot5";
     rev = "refs/tags/v${version}";
-    hash = "sha256-qp1iffElJSAwqaycelnILBzeW8kG7Yy0R1bjMumW8UU=";
+    hash = "sha256-5RJPRrnPRRj1KXeyCqrGwaurXPx0aT6gso1o7gQ1aNs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/uptime-kuma-api/default.nix b/nixpkgs/pkgs/development/python-modules/uptime-kuma-api/default.nix
index 2912c44fcf06..1d7db943ad81 100644
--- a/nixpkgs/pkgs/development/python-modules/uptime-kuma-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uptime-kuma-api/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "uptime-kuma-api";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "uptime_kuma_api";
     inherit version;
-    hash = "sha256-owRLc6823jJbEEzdJ3ORCkQfaEvxxs0uwYLzzCa17zI=";
+    hash = "sha256-tZ5ln3sy6W5RLcwjzLbhobCNLbHXIhXIzrcOVCG+Z+E=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
index 13ef39be76db..a5a3e6b8b644 100644
--- a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
@@ -5,6 +5,7 @@
 , certifi
 , cryptography
 , fetchPypi
+, hatchling
 , idna
 , isPyPy
 , mock
@@ -20,14 +21,18 @@
 
 buildPythonPackage rec {
   pname = "urllib3";
-  version = "1.26.16";
-  format = "setuptools";
+  version = "2.0.5";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-jxNfZQJ1a95rKpsomJ31++h8mXDOyqaQQe3M5/BYmxQ=";
+    hash = "sha256-E6vzc4LqLOb7dE1NrWeDjuyFfJ9PVwCYkYBeC14SNZQ=";
   };
 
+  nativeBuildInputs = [
+    hatchling
+  ];
+
   # FIXME: remove backwards compatbility hack
   propagatedBuildInputs = passthru.optional-dependencies.brotli
     ++ passthru.optional-dependencies.socks;
diff --git a/nixpkgs/pkgs/development/python-modules/urwid/default.nix b/nixpkgs/pkgs/development/python-modules/urwid/default.nix
index 014382b21501..7f9512be2cb1 100644
--- a/nixpkgs/pkgs/development/python-modules/urwid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urwid/default.nix
@@ -1,43 +1,57 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
-, isPy3k
+
+# build-system
+, setuptools
+, setuptools-scm
+, wheel
+
+# tests
 , glibcLocales
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "urwid";
-  version = "2.1.2";
-  format = "setuptools";
+  version = "2.2.1";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "588bee9c1cb208d0906a9f73c613d2bd32c3ed3702012f51efe318a3f2127eae";
+    hash = "sha256-4zkRqxjyxz/dvpvyFtAh504gstWqm+MEA8WPVRMbuKE=";
   };
 
-  patches = [
-    # https://github.com/urwid/urwid/pull/517
-    (fetchpatch {
-      name = "python311-compat.patch";
-      url = "https://github.com/urwid/urwid/commit/42c1ed1eeb663179b265bae9b384d7ec11c8a9b5.patch";
-      hash = "sha256-Oz8O/M6AdqbB6C/BB5rtxp8FgdGhZUxkSxKIyq5Dmho=";
-    })
+  postPatch = ''
+    sed -i '/addopts =/d' pyproject.toml
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
   ];
 
-  # tests need to be able to set locale
-  LC_ALL = "en_US.UTF-8";
-  nativeCheckInputs = [ glibcLocales ];
+  nativeCheckInputs = [
+    glibcLocales
+    pytestCheckHook
+  ];
+
+  env.LC_ALL = "en_US.UTF8";
 
-  # tests which assert on strings don't decode results correctly
-  doCheck = isPy3k;
+  disabledTestPaths = [
+    # expect call hangs
+    "urwid/tests/test_vterm.py"
+  ];
 
   pythonImportsCheck = [
     "urwid"
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/urwid/urwid/releases/tag/${version}";
     description = "A full-featured console (xterm et al.) user interface library";
+    downloadPage = "https://github.com/urwid/urwid";
     homepage = "https://urwid.org/";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/development/python-modules/userpath/default.nix b/nixpkgs/pkgs/development/python-modules/userpath/default.nix
index edf92f571166..5f4a31d39b19 100644
--- a/nixpkgs/pkgs/development/python-modules/userpath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/userpath/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "userpath";
-  version = "1.9.0";
+  version = "1.9.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-heMnRUMXRHfGLVcB7UOj7xBRgkqd13aWitxBHlhkDdE=";
+    hash = "sha256-zoF2co2YyRS2QBeBvzsj/M2WjRZHU5yHiMcBA3XgJ5Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix b/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
index 9baa150afb71..bbec8df096fa 100644
--- a/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "uvicorn";
-  version = "0.23.1";
+  version = "0.23.2";
   disabled = pythonOlder "3.8";
 
   format = "pyproject";
@@ -25,8 +25,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
-    rev = version;
-    hash = "sha256-X/G6K0X4G1EsMIBpvqy62zZ++8paTHNqgYLi+B7YK+0=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-98Ahb6syD/J9StwaOqVj/MCdzbHOgey0sixp7SJnROE=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/validators/default.nix b/nixpkgs/pkgs/development/python-modules/validators/default.nix
index 1c0131c0549d..8e29effda9a2 100644
--- a/nixpkgs/pkgs/development/python-modules/validators/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/validators/default.nix
@@ -1,14 +1,14 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, poetry-core
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "validators";
-  version = "0.21.1";
+  version = "0.22.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,11 +17,11 @@ buildPythonPackage rec {
     owner = "python-validators";
     repo = "validators";
     rev = "refs/tags/${version}";
-    hash = "sha256-b5K1WP+cEAjPBXu9sAZQf1J5H7PLnn94400Zd/0Y9ew=";
+    hash = "sha256-Qu6Tu9uIluT1KBJYkFjDFt9AWN2Kez3uCYDQknXqYrU=";
   };
 
   nativeBuildInputs = [
-    poetry-core
+    setuptools
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vcrpy/default.nix b/nixpkgs/pkgs/development/python-modules/vcrpy/default.nix
index 043d08a022bb..fc4283766b52 100644
--- a/nixpkgs/pkgs/development/python-modules/vcrpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vcrpy/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, mock
 , pytest-httpbin
 , pytestCheckHook
 , pythonOlder
@@ -13,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "vcrpy";
-  version = "4.2.1";
+  version = "5.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fNPoGixJLgHCgfGAvMKoa1ILFz0rZWy12J2ZR1Qj4BM=";
+    hash = "sha256-u/FTLyYYoE8RvOKpmvOpZHoyyICVcpP/keCl8Ye2s9I=";
   };
 
   propagatedBuildInputs = [
@@ -41,6 +40,9 @@ buildPythonPackage rec {
 
   disabledTests = [
     "TestVCRConnection"
+    # https://github.com/kevin1024/vcrpy/issues/645
+    "test_get_vcr_with_matcher"
+    "test_testcase_playback"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/vector/default.nix b/nixpkgs/pkgs/development/python-modules/vector/default.nix
index 03f38e12a6f1..cbfe657219e8 100644
--- a/nixpkgs/pkgs/development/python-modules/vector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vector/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "vector";
-  version = "1.0.0";
+  version = "1.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-T62k/dqlwb1ppbopb/2UjMy1da16vlPRSWD1b+Mt1ME=";
+    hash = "sha256-aVdFHlnOUI9hgzVRnFPzDOuItwU9ZfPRZkWf1wjtOLU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix b/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix
index acce834fa7a1..1616de34bfea 100644
--- a/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/velbus-aio/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "velbus-aio";
-  version = "2023.5.0";
+  version = "2023.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "Cereal2nd";
     repo = pname;
-    rev = version;
-    hash = "sha256-8wRgH7t1s2X7mg3oN38KMvJQfWcn/ePw6rNIl2K9nNA=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-xVELkmucrw1QazSR2XN6ldmzdTya/rWsQd1mRsLTcbU=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix b/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
index 10602bfd4f3a..18db218039d3 100644
--- a/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "virtualenv";
-  version = "20.24.0";
+  version = "20.24.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4qfO+dqIDWk7kz23ZUNndU8U4gZQ3GDo7nOFVx+Fk6M=";
+    hash = "sha256-6DYZZ/bab73xQmSDv+n8qCh8JCrAvDBCmQVyHO+/91I=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vispy/default.nix b/nixpkgs/pkgs/development/python-modules/vispy/default.nix
index 67c34776ff1a..ae52494d78cd 100644
--- a/nixpkgs/pkgs/development/python-modules/vispy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vispy/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "vispy";
-  version = "0.14.0";
+  version = "0.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3vcn528rZd7YhmSoPaUN2peWOWHBbxOk2FCr3UWTD5Q=";
+    hash = "sha256-JJpQl5/ACotlEJKDNU3PEs9BXBpdz5gh4RP25ZC5uTw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/vncdo/default.nix b/nixpkgs/pkgs/development/python-modules/vncdo/default.nix
index b6d12a67185c..5f27bba823c4 100644
--- a/nixpkgs/pkgs/development/python-modules/vncdo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vncdo/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "vncdo";
-  version = "0.12.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "sibson";
     repo = "vncdotool";
-    rev = "v${version}";
-    sha256 = "0h3ccr8zi7xpgn6hz43x1045x5l4bhha7py8x00g8bv6gaqlbwxn";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-m8msWa8uUuDEjEUlXHCgYi0HFPKXLVXpXLyuQ3quNbA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/volvooncall/default.nix b/nixpkgs/pkgs/development/python-modules/volvooncall/default.nix
index 27356372fce0..33efbf4082ac 100644
--- a/nixpkgs/pkgs/development/python-modules/volvooncall/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/volvooncall/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "volvooncall";
-  version = "0.10.3";
+  version = "0.10.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "molobrakos";
     repo = "volvooncall";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FLrsU3u/0+T09cu2zU2fLjuAy9PWAikgbaW8xBALjwU=";
+    hash = "sha256-xr3g93rt3jvxVZrZY7cFh5eBP3k0arsejsgvx8p5EV4=";
   };
 
   patches = [
@@ -69,6 +69,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/molobrakos/volvooncall";
     changelog = "https://github.com/molobrakos/volvooncall/releases/tag/v${version}";
     license = licenses.unlicense;
+    mainProgram = "voc";
     maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/vulture/default.nix b/nixpkgs/pkgs/development/python-modules/vulture/default.nix
index b56835032490..e3fcad870a95 100644
--- a/nixpkgs/pkgs/development/python-modules/vulture/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vulture/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "vulture";
-  version = "2.7";
+  version = "2.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Z/uAoBTtn9tZndRLuWy1QxEDKhBBBvwucG73ptrYgDI=";
+    hash = "sha256-tqKqYytv1RSIqO6sZQq0pQm7GgMugZQ4F6ii5qY6MLM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/w1thermsensor/default.nix b/nixpkgs/pkgs/development/python-modules/w1thermsensor/default.nix
index 550ae76a03eb..e1592ab86287 100644
--- a/nixpkgs/pkgs/development/python-modules/w1thermsensor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/w1thermsensor/default.nix
@@ -13,14 +13,17 @@
 , pytestCheckHook
 , pythonOlder
 }:
+
 buildPythonPackage rec {
   pname = "w1thermsensor";
-  version = "2.0.0";
-  format = "pyproject";
+  version = "2.3.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-EcaEr4B8icbwZu2Ty3z8AAgglf74iZ5BLpLnSOZC2cE=";
+    hash = "sha256-n7wK4N1mzZtUxtYu17qyuI4UjJh/59UGD0dvkOgcInA=";
   };
 
   postPatch = ''
@@ -32,10 +35,15 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    aiofiles
     click
   ];
 
+  passthru.optional-dependencies = {
+    async = [
+      aiofiles
+    ];
+  };
+
   # Don't try to load the kernel module in tests.
   env.W1THERMSENSOR_NO_KERNEL_MODULE = 1;
 
@@ -45,11 +53,7 @@ buildPythonPackage rec {
     pytestCheckHook
   ] ++ lib.optionals (pythonOlder "3.11") [
     tomli
-  ];
-
-  # Tests for 2.0.0 currently fail on python3.11
-  # https://github.com/timofurrer/w1thermsensor/issues/116
-  doCheck = pythonOlder "3.11";
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   pythonImportsCheck = [
     "w1thermsensor"
@@ -63,6 +67,7 @@ buildPythonPackage rec {
       devices.
     '';
     homepage = "https://github.com/timofurrer/w1thermsensor";
+    changelog = "https://github.com/timofurrer/w1thermsensor/blob/v${version}/CHANGELOG.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ quentin ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/python-modules/w3lib/default.nix b/nixpkgs/pkgs/development/python-modules/w3lib/default.nix
index 08ce68fdd616..66e48a2b7f29 100644
--- a/nixpkgs/pkgs/development/python-modules/w3lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/w3lib/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "w3lib";
-  version = "2.1.1";
+  version = "2.1.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DhGY8bdFGVtrPdGkzWYBH7+C8wpNnauu4fnlyG8CAnQ=";
+    hash = "sha256-7Vt06ZfuoqvjwTIfkW40QUTujpBypvM0Y+6OV/hYpLE=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wagtail-factories/default.nix b/nixpkgs/pkgs/development/python-modules/wagtail-factories/default.nix
index 42efebb8eafe..c31993b1e5f3 100644
--- a/nixpkgs/pkgs/development/python-modules/wagtail-factories/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wagtail-factories/default.nix
@@ -1,6 +1,6 @@
 { buildPythonPackage
 , callPackage
-, factory_boy
+, factory-boy
 , fetchFromGitHub
 , lib
 , wagtail
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    factory_boy
+    factory-boy
     wagtail
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix b/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
index 085eca293d11..29439bb2a2d1 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.5.1";
+  version = "1.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     repo = pname;
     owner = "wagtail";
     rev = "refs/tags/v${version}";
-    hash = "sha256-RjJyx3sr69voJxa3lH8Nq/liZ3eMoTfZ4phykj7neZA=";
+    hash = "sha256-7r2FFfWGqjE3Z7wsdf6KwwbUZ+wXqOscsL/2CepSMLY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wagtail/default.nix b/nixpkgs/pkgs/development/python-modules/wagtail/default.nix
index 54c30dabc781..cc5fa6c5a9a0 100644
--- a/nixpkgs/pkgs/development/python-modules/wagtail/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wagtail/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonPackage rec {
   pname = "wagtail";
-  version = "5.0.2";
+  version = "5.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3r0h34el2zRF1l/94S7xTjBqJPWtSQFQvtVW8Mjq0rs=";
+    hash = "sha256-IR/wzXBZ+Win/EOFUDsg2AHB5otW9YMeCmpPxgCllD8=";
   };
 
   postPatch = ''
@@ -58,7 +58,7 @@ buildPythonPackage rec {
     requests
     telepath
     willow
-  ];
+  ] ++ willow.optional-dependencies.heif;
 
   # Tests are in separate derivation because they require a package that depends
   # on wagtail (wagtail-factories)
diff --git a/nixpkgs/pkgs/development/python-modules/walrus/default.nix b/nixpkgs/pkgs/development/python-modules/walrus/default.nix
new file mode 100644
index 000000000000..73376590bda3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/walrus/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, pkgs
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, redis
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "walrus";
+  version = "0.9.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "coleifer";
+    repo = "walrus";
+    rev = "refs/tags/${version}";
+    hash = "sha256-jinYMGSBAY8HTg92qU/iU5vGIrrDr5SeQG0XjsBVfcc=";
+  };
+
+  propagatedBuildInputs = [
+    redis
+  ];
+
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
+
+  preCheck = ''
+    ${pkgs.redis}/bin/redis-server &
+    REDIS_PID=$!
+  '';
+
+  postCheck = ''
+    kill $REDIS_PID
+  '';
+
+  pythonImportsCheck = [
+    "walrus"
+  ];
+
+  meta = with lib; {
+    description = "Lightweight Python utilities for working with Redis";
+    homepage = "https://github.com/coleifer/walrus";
+    changelog = "https://github.com/coleifer/walrus/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/wandb/default.nix b/nixpkgs/pkgs/development/python-modules/wandb/default.nix
index 0c06b4989479..2622b1800684 100644
--- a/nixpkgs/pkgs/development/python-modules/wandb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wandb/default.nix
@@ -52,7 +52,7 @@
 
 buildPythonPackage rec {
   pname = "wandb";
-  version = "0.15.10";
+  version = "0.15.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -61,7 +61,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-MuYaeg7+lMOOSalnLyKsCw+f44daDDayvyKvY8z697c=";
+    hash = "sha256-WaVgyF+pQgFCqIsi5Tcu+btyUKU2e3/qJi4Ma8dnx8M=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/watchdog-gevent/default.nix b/nixpkgs/pkgs/development/python-modules/watchdog-gevent/default.nix
new file mode 100644
index 000000000000..e1b812b9612f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/watchdog-gevent/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, gevent
+, pytestCheckHook
+, watchdog
+}:
+
+buildPythonPackage rec {
+  pname = "watchdog-gevent";
+  version = "0.1.1";
+  format = "setuptools";
+
+  # Need to fetch from github because tests are not present in pypi
+  src = fetchFromGitHub {
+    owner = "Bogdanp";
+    repo = "watchdog_gevent";
+    rev = "v${version}";
+    hash = "sha256-FESm3fNuLmOg2ilI/x8U9LuAimHLnahcTHYzW/nzOVY=";
+  };
+
+  propagatedBuildInputs = [ watchdog gevent ];
+
+  postPatch = ''
+    sed -i setup.cfg \
+      -e 's:--cov watchdog_gevent::' \
+      -e 's:--cov-report html::'
+  '';
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "watchdog_gevent" ];
+
+  meta = with lib; {
+    description = "A gevent-based observer for watchdog";
+    homepage = "https://github.com/Bogdanp/watchdog_gevent";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ traxys ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/watchfiles/default.nix b/nixpkgs/pkgs/development/python-modules/watchfiles/default.nix
index 2d2b9aa649ca..cb113420006b 100644
--- a/nixpkgs/pkgs/development/python-modules/watchfiles/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/watchfiles/default.nix
@@ -6,20 +6,18 @@
 , fetchFromGitHub
 , rustPlatform
 , rustc
-, setuptools-rust
 , pythonOlder
 , dirty-equals
 , pytest-mock
 , pytest-timeout
 , pytestCheckHook
-, python
 , CoreServices
 , libiconv
 }:
 
 buildPythonPackage rec {
   pname = "watchfiles";
-  version = "0.20.0";
+  version = "0.21.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -28,13 +26,13 @@ buildPythonPackage rec {
     owner = "samuelcolvin";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-eoKF6uBHgML63DrDlC1zPfDu/mAMoaevttwqHLCKh+M=";
+    hash = "sha256-/qNgkPF5N8jzSV3M0YFWvQngZ4Hf4WM/GBS1LtgFbWM=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-4XqR6pZqPAftZoJqZf+iZWp0c8xv00MDJDDETiGGEDo=";
+    hash = "sha256-sqHTW1+E7Fp33KW6IYlNa77AYc2iCfaSoBRXzrhEKr8=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
@@ -73,6 +71,11 @@ buildPythonPackage rec {
     rm -rf watchfiles
   '';
 
+  disabledTests = [
+    #  BaseExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+    "test_awatch_interrupt_raise"
+  ];
+
   pythonImportsCheck = [
     "watchfiles"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/watermark/default.nix b/nixpkgs/pkgs/development/python-modules/watermark/default.nix
index 6cb717679d1a..29b600624e87 100644
--- a/nixpkgs/pkgs/development/python-modules/watermark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/watermark/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "watermark";
-  version = "2.3.1";
+  version = "2.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,8 +17,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "rasbt";
     repo = pname;
-    rev = "refs/tags/${version}";
-    hash = "sha256-E3UxdGlxTcvkiKa3RoG9as6LybyW+QrCUZvA9VHwxlk=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-4/1Y7cdh1tF33jgPrqdxCGPcRnnxx+Wf8lyztF54Ck0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix b/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix
index 1209df8042b7..d5fc26be9c68 100644
--- a/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weasyprint/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "weasyprint";
-  version = "59.0";
+  version = "60.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "weasyprint";
-    hash = "sha256-Ijp2Y2s3ROqkq4oohfUM9Gz467GsuZtSdtAv7M9QdJI=";
+    hash = "sha256-VrmBIoARg1ew9jse/hgZngg0PUpWozk8HUdauHjOomo=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix b/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix
index 3e56109bcbe3..3ba0e22f83a1 100644
--- a/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "weaviate-client";
-  version = "3.22.1";
+  version = "3.24.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-r/Yb0/XXTfIKYjKEQ+OqnIYNUzD9+xnE2N3ETLYEAy8=";
+    hash = "sha256-4HM1DCG9TcpcDqxd1dlftHQnjHFaryBB44LYa7dRisg=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/webauthn/default.nix b/nixpkgs/pkgs/development/python-modules/webauthn/default.nix
index 2ef7d52e2a35..57c7857ca71b 100644
--- a/nixpkgs/pkgs/development/python-modules/webauthn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/webauthn/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "webauthn";
-  version = "1.10.1";
+  version = "1.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "duo-labs";
     repo = "py_webauthn";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZfHFyjdZeKuKX/aokhB6L93HbBFnlrvuJZ2V4uRmNck=";
+    hash = "sha256-mZBnTmjlmR9jOOmu6uY114UZpm05ny2ZMEF0NXhVrME=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/webcolors/default.nix b/nixpkgs/pkgs/development/python-modules/webcolors/default.nix
index 5ec245676a6a..7ee91e7ea2b4 100644
--- a/nixpkgs/pkgs/development/python-modules/webcolors/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/webcolors/default.nix
@@ -3,20 +3,25 @@
 , fetchPypi
 , pythonOlder
 , unittestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "webcolors";
-  version = "1.12";
-  format = "setuptools";
+  version = "1.13";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FtBD06CP1qGxt+Pp5iZA0JeQ3OgNK91HkqF1s1/nlKk=";
+    hash = "sha256-wiW2dMg/qSO+k9I1MwzgMANz0CiFzvIyOIE7DVZoMEo=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [ unittestCheckHook ];
 
   unittestFlagsArray = [ "-s" "tests" ];
diff --git a/nixpkgs/pkgs/development/python-modules/webrtc-noise-gain/default.nix b/nixpkgs/pkgs/development/python-modules/webrtc-noise-gain/default.nix
new file mode 100644
index 000000000000..63b02a1bfd0d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/webrtc-noise-gain/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, stdenv
+
+# build-system
+, pybind11
+, setuptools
+
+# native dependencies
+, abseil-cpp
+, darwin
+
+# tests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "webrtc-noise-gain";
+  version = "1.2.3";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "rhasspy";
+    repo = "webrtc-noise-gain";
+    rev = "v${version}";
+    hash = "sha256-DFEtuO49zXNixLwBjQ/WOiARDhMAXVH+5hfc3eSdPIo=";
+  };
+
+  nativeBuildInputs = [
+    pybind11
+    setuptools
+  ];
+
+  buildInputs = [
+    abseil-cpp
+  ] ++ lib.optionals (stdenv.isDarwin) [
+    darwin.apple_sdk.frameworks.CoreServices
+  ];
+
+  pythonImportsCheck = [
+    "webrtc_noise_gain"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Tiny wrapper around webrtc-audio-processing for noise suppression/auto gain only";
+    homepage = "https://github.com/rhasspy/webrtc-noise-gain";
+    changelog = "https://github.com/rhasspy/webrtc-noise-gain/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix b/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
index a2873a26f07d..26c27825f7bd 100644
--- a/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "websocket-client";
-  version = "1.5.1";
+  version = "1.6.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Pwnm2CMIklRxMhd/V1pOPnPP3wZSbiDMAqocO0cYTUA=";
+    hash = "sha256-Oq0l0xKEJmvPz9H9inQ/YygjBaNkuNCUikO9YGrMZS8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/websockets/default.nix b/nixpkgs/pkgs/development/python-modules/websockets/default.nix
index 98bc6cc863ca..ec6e429f5945 100644
--- a/nixpkgs/pkgs/development/python-modules/websockets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/websockets/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "websockets";
-  version = "10.4";
+  version = "11.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "aaugustin";
     repo = pname;
-    rev = version;
-    hash = "sha256-IylvnaS8cHatA+WMc5uY9E+l+52INqOMITU1VJPO2xY=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-RdkbIiZI/UYsWdnnl5gJPsnJ/6adfFtkiXC7MO/HwcI=";
   };
 
   patchPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix b/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix
index baffe37de0c9..62392ada77ae 100644
--- a/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect-mqtt";
-  version = "0.46.0";
+  version = "0.47.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-mqtt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7TR6+woAV8f80t4epCnZj4jYYpTPKDkzwzNNsgofiwg=";
+    hash = "sha256-pJtqKA04zooFDfxWGbTFZewS8N0Z2eB9iLFLYueu8oo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/weconnect/default.nix b/nixpkgs/pkgs/development/python-modules/weconnect/default.nix
index a1d1522bb9a0..14a1a78b2bff 100644
--- a/nixpkgs/pkgs/development/python-modules/weconnect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect";
-  version = "0.58.0";
+  version = "0.59.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2+RvDAKIUsQwmVrqcgt0RXOF+Z+lZ6oSyZyI+HTcZBs=";
+    hash = "sha256-h2rMfpLsc2IPZN0Qp7vomoFMJxLXctkuiov3sntd5c0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/werkzeug/default.nix b/nixpkgs/pkgs/development/python-modules/werkzeug/default.nix
index e5b6a93eae6d..db045e77c52f 100644
--- a/nixpkgs/pkgs/development/python-modules/werkzeug/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/werkzeug/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
+, flit-core
 , watchdog
 , ephemeral-port-reserve
 , pytest-timeout
@@ -15,30 +16,37 @@
 
 buildPythonPackage rec {
   pname = "werkzeug";
-  version = "2.2.3";
-  format = "setuptools";
+  version = "2.3.7";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
-    pname = "Werkzeug";
-    inherit version;
-    hash = "sha256-LhzMlBfU2jWLnebxdOOsCUOR6h1PvvLWZ4ZdgZ39Cv4=";
+    inherit pname version;
+    hash = "sha256-K4wORHtLnbzIXdl7butNy69si2w74L1lTiVVPgohV9g=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     markupsafe
-  ] ++ lib.optionals (!stdenv.isDarwin) [
-    # watchdog requires macos-sdk 10.13+
-    watchdog
   ];
 
+  passthru.optional-dependencies = {
+    watchdog = lib.optionals (!stdenv.isDarwin) [
+      # watchdog requires macos-sdk 10.13[
+      watchdog
+    ];
+  };
+
   nativeCheckInputs = [
     ephemeral-port-reserve
     pytest-timeout
     pytest-xprocess
     pytestCheckHook
-  ];
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   disabledTests = lib.optionals stdenv.isDarwin [
     "test_get_machine_id"
diff --git a/nixpkgs/pkgs/development/python-modules/west/default.nix b/nixpkgs/pkgs/development/python-modules/west/default.nix
index 39aa19c8ad60..b3cfcaa30b60 100644
--- a/nixpkgs/pkgs/development/python-modules/west/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/west/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "west";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-40h/VLa9kEWASJtgPvGm4JnG8uZWAUwrg8SzwhdfpN8=";
+    hash = "sha256-tB5RrJA5OUT5wB974nAA1LMpYVt+0HT7DvaTtGRoEpc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/whodap/default.nix b/nixpkgs/pkgs/development/python-modules/whodap/default.nix
index a666d0a156b5..a322c327b230 100644
--- a/nixpkgs/pkgs/development/python-modules/whodap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/whodap/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "whodap";
-  version = "0.1.9";
+  version = "0.1.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pogzyb";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-0Wxx33AO9g4ACAUwkFkLo2AemK7PxXvZXWgHpu+E96c=";
+    hash = "sha256-5XDTl8NPrYWs7gPTJRDVCiZN3cWQ53/ojhJivBPHUL0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/whois-api/default.nix b/nixpkgs/pkgs/development/python-modules/whois-api/default.nix
new file mode 100644
index 000000000000..775fb6335697
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/whois-api/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "whois-api";
+  version = "1.2.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "whois-api-llc";
+    repo = "whois-api-py";
+    rev = "v${version}";
+    hash = "sha256-SeBeJ6k2R53LxHov+8t70geqUosk/yBJQCi6GaVteMM=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # all tests touch internet
+  doCheck = false;
+
+  pythonImportsCheck = [ "whoisapi" ];
+
+  meta = with lib; {
+    description = "Whois API client library for Python";
+    homepage = "https://github.com/whois-api-llc/whois-api-py";
+    changelog = "https://github.com/whois-api-llc/whois-api-py/blob/${src.rev}/CHANGELOG.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix b/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix
index a27ebf2ec589..679e19722f45 100644
--- a/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "widgetsnbextension";
-  version = "4.0.7";
+  version = "4.0.9";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6mfBenzUrjWPj0bDswTEBpi8BCNzLj8nMyHuFBIyyL4=";
+    hash = "sha256-PB9eRtwRZt/UCkLWhealE5b9NP+Hh0Kj5HxvDMSio4U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wikipedia-api/default.nix b/nixpkgs/pkgs/development/python-modules/wikipedia-api/default.nix
new file mode 100644
index 000000000000..bb1fbd67dabb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/wikipedia-api/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "Wikipedia-API";
+  version = "0.6.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "martin-majlis";
+    repo = "Wikipedia-API";
+    rev = "v${version}";
+    hash = "sha256-cmwyQhKbkIpZXkKqqT0X2Lp8OFma2joeb4uxDRPiQe8=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "wikipediaapi" ];
+
+  meta = with lib; {
+    description = "Python wrapper for Wikipedia";
+    homepage = "https://github.com/martin-majlis/Wikipedia-API";
+    changelog = "https://github.com/martin-majlis/Wikipedia-API/blob/${src.rev}/CHANGES.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mbalatsko ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/willow/default.nix b/nixpkgs/pkgs/development/python-modules/willow/default.nix
index f7030f7c874e..1787faa38905 100644
--- a/nixpkgs/pkgs/development/python-modules/willow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/willow/default.nix
@@ -1,34 +1,62 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
 
+# build-system
+, flit-core
+
 # dependencies
 , filetype
-, defusedxml,
+, defusedxml
+
+# optional-dependencies
+, pillow-heif
+
+# tests
+, numpy
+, opencv4
+, pillow
+, pytestCheckHook
+, wand
 }:
 
 buildPythonPackage rec {
   pname = "willow";
-  version = "1.5.1";
-  format = "setuptools";
+  version = "1.6.2";
+  format = "pyproject";
 
   disabled = pythonOlder "2.7";
 
-  src = fetchPypi {
-    pname = "Willow";
-    inherit version;
-    hash = "sha256-t6SQkRATP9seIodZLgZzzCVeAobhzVNCfuaN8ckiDEw=";
+  src = fetchFromGitHub {
+    owner = "wagtail";
+    repo = "Willow";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-dW2FVN3/mBAhVQ094uBsnXzdyTRKgHUDx0SWLm3g374=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [
     filetype
     defusedxml
   ];
 
-  # Test data is not included
-  # https://github.com/torchbox/Willow/issues/34
-  doCheck = false;
+  passthru.optional-dependencies = {
+    heif = [
+      pillow-heif
+    ];
+  };
+
+  nativeCheckInputs = [
+    numpy
+    opencv4
+    pytestCheckHook
+    pillow
+    wand
+  ] ++ passthru.optional-dependencies.heif;
 
   meta = with lib; {
     description = "A Python image library that sits on top of Pillow, Wand and OpenCV";
diff --git a/nixpkgs/pkgs/development/python-modules/wsgidav/default.nix b/nixpkgs/pkgs/development/python-modules/wsgidav/default.nix
index 9dc51364bc65..bff7c88f1463 100644
--- a/nixpkgs/pkgs/development/python-modules/wsgidav/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wsgidav/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "wsgidav";
-  version = "4.2.0";
+  version = "4.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "mar10";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-1S3Zi92YRcu/PKNWJIn2ayr5Wbc+/+E7irFBQpMrKW8=";
+    hash = "sha256-DEUoKoFELIOg5KX6hL1VgR18dtsery4ZzKksrxl0D7Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix b/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix
index 326a56461a45..d4e37b597681 100644
--- a/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wtf-peewee/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
+, setuptools
 , peewee
 , wtforms
 , python
@@ -9,19 +9,16 @@
 
 buildPythonPackage rec {
   pname = "wtf-peewee";
-  version = "3.0.3";
+  version = "3.0.4";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "faa953fe3f705d4f2b48f3c1a81c5c5a6a38f9ed1378c9a830e6efc1b0fccb15";
+    hash = "sha256-cTbYRdvAUTY86MPR33BH+nA6H/epR8sgHDgOBQ/TUkQ=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-wtforms3.patch";
-      url = "https://github.com/coleifer/wtf-peewee/commit/b1764f4474c73a9a2b34ae6b7db61274f5252a7f.patch";
-      sha256 = "0maz3fm9bi8p80nk9sdb34xq55xq8ihm51y7k0m8ck9aaypvwbig";
-    })
+  nativeBuildInputs = [
+    setuptools
   ];
 
   propagatedBuildInputs = [
@@ -30,7 +27,9 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
+    runHook preCheck
     ${python.interpreter} runtests.py
+    runHook postCheck
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/wyoming/default.nix b/nixpkgs/pkgs/development/python-modules/wyoming/default.nix
index feb7106c513c..b7ae51379cdc 100644
--- a/nixpkgs/pkgs/development/python-modules/wyoming/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wyoming/default.nix
@@ -1,16 +1,21 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+
+# tests
+, wyoming-faster-whisper
+, wyoming-openwakeword
+, wyoming-piper
 }:
 
 buildPythonPackage rec {
   pname = "wyoming";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-I5GgDu9HRj6fIX66q3RuDeB13h6dpwxrSBxKhzE+Fus=";
+    hash = "sha256-mgNhc8PMRrwfvGZEcgIvQ/P2dysdDo2juvZccvb2C/g=";
   };
 
   pythonImportsCheck = [
@@ -20,6 +25,14 @@ buildPythonPackage rec {
   # no tests
   doCheck = false;
 
+  passthru.tests = {
+    inherit
+      wyoming-faster-whisper
+      wyoming-openwakeword
+      wyoming-piper
+    ;
+  };
+
   meta = with lib; {
     description = "Protocol for Rhasspy Voice Assistant";
     homepage = "https://pypi.org/project/wyoming/";
diff --git a/nixpkgs/pkgs/development/python-modules/xapp/default.nix b/nixpkgs/pkgs/development/python-modules/xapp/default.nix
index 58de4e7124ad..8b8b795edda9 100644
--- a/nixpkgs/pkgs/development/python-modules/xapp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xapp/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "xapp";
-  version = "2.4.1";
+  version = "21";
 
   format = "other";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "python-xapp";
-    rev = version;
+    rev = "refs/tags/master.mint${version}";
     hash = "sha256-Kvhp+biZ+KK9FYma/8cUEaQCHPKMLjOO909kbyMLQ3o=";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/xarray/default.nix b/nixpkgs/pkgs/development/python-modules/xarray/default.nix
index 45e79fdd89d0..12cefa0332aa 100644
--- a/nixpkgs/pkgs/development/python-modules/xarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xarray/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "2023.7.0";
+  version = "2023.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2s4v2/G3/xhdnBImokv4PCrlLzJT2/6A4X0RYmANBVw=";
+    hash = "sha256-glxtZCAqcxpOSTIe3R6d+r9L4GgC8bjIo8AKPr/Izt8=";
   };
 
   env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/xdg-base-dirs/default.nix b/nixpkgs/pkgs/development/python-modules/xdg-base-dirs/default.nix
index f2ca5bf0a509..b2eb4094c927 100644
--- a/nixpkgs/pkgs/development/python-modules/xdg-base-dirs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xdg-base-dirs/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "xdg-base-dirs";
-  version = "6.0.0";
+  version = "6.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "srstevenson";
     repo = "xdg-base-dirs";
     rev = version;
-    hash = "sha256-yVuruSKv99IZGNCpY9cKwAe6gJNAWjL+Lol2D1/0hiI=";
+    hash = "sha256-nbdF1tjVqlxwiGW0pySS6HyJbmNuQ7mVdQYfhofO4Dk=";
   };
 
   nativeBuildInputs = [
@@ -28,6 +28,11 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "xdg_base_dirs" ];
 
+  # remove coverage flags from pytest config
+  postPatch = ''
+    sed -i /addopts/d pyproject.toml
+  '';
+
   meta = with lib; {
     description = "An implementation of the XDG Base Directory Specification in Python";
     homepage = "https://github.com/srstevenson/xdg-base-dirs";
diff --git a/nixpkgs/pkgs/development/python-modules/xdg/default.nix b/nixpkgs/pkgs/development/python-modules/xdg/default.nix
index d5583200becb..f44d2e443566 100644
--- a/nixpkgs/pkgs/development/python-modules/xdg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xdg/default.nix
@@ -5,7 +5,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "5.1.1";
+  version = "6.0.0";
   pname = "xdg";
   disabled = isPy27;
   format = "pyproject";
@@ -13,8 +13,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "srstevenson";
     repo = pname;
-    rev = version;
-    hash = "sha256-z/Zvo2WGw9qA+M3Pt9r35DuxtuhL7/I75LlFEdDOJcc=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-yVuruSKv99IZGNCpY9cKwAe6gJNAWjL+Lol2D1/0hiI=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/xdot/default.nix b/nixpkgs/pkgs/development/python-modules/xdot/default.nix
index cd7fdd9a218b..3e1ce8b1477a 100644
--- a/nixpkgs/pkgs/development/python-modules/xdot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xdot/default.nix
@@ -1,31 +1,57 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, python, xvfb-run
-, wrapGAppsHook, gobject-introspection, pygobject3, graphviz, gtk3, numpy }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+, xvfb-run
+, wrapGAppsHook
+, gobject-introspection
+, pygobject3
+, graphviz
+, gtk3
+, numpy
+}:
 
 buildPythonPackage rec {
   pname = "xdot";
-  version = "1.2";
+  version = "1.3";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3df91e6c671869bd2a6b2a8883fa3476dbe2ba763bd2a7646cf848a9eba71b70";
+  src = fetchFromGitHub {
+    owner = "jrfonseca";
+    repo = "xdot.py";
+    rev = version;
+    hash = "sha256-0UfvN7z7ThlFu825h03Z5Wur9zbiUpvD5cb5gcIhQQI=";
   };
 
-  disabled = !isPy3k;
-  nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
-  propagatedBuildInputs = [ pygobject3 graphviz gtk3 numpy ];
-  nativeCheckInputs = [ xvfb-run ];
+  nativeBuildInputs = [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+  propagatedBuildInputs = [
+    pygobject3
+    graphviz
+    gtk3
+    numpy
+  ];
+  nativeCheckInputs = [
+    xvfb-run
+  ];
 
-  postInstall = ''
-    wrapProgram "$out/bin/xdot" --prefix PATH : "${lib.makeBinPath [ graphviz ]}"
+  dontWrapGApps = true;
+  # Arguments to be passed to `makeWrapper`, only used by buildPython*
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+    makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ graphviz ]})
   '';
 
   checkPhase = ''
-    xvfb-run -s '-screen 0 800x600x24' ${python.interpreter} nix_run_setup test
+    runHook preCheck
+
+    xvfb-run -s '-screen 0 800x600x24' ${python.interpreter} test.py
+
+    runHook postCheck
   '';
 
-  # https://github.com/NixOS/nixpkgs/pull/107872#issuecomment-752175866
-  # cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import)
-  doCheck = false;
+  doCheck = true;
 
   meta = with lib; {
     description = "An interactive viewer for graphs written in Graphviz's dot";
diff --git a/nixpkgs/pkgs/development/python-modules/xformers/default.nix b/nixpkgs/pkgs/development/python-modules/xformers/default.nix
index 1dc11e5f01a4..0fa17ac6858a 100644
--- a/nixpkgs/pkgs/development/python-modules/xformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xformers/default.nix
@@ -27,20 +27,20 @@
 #, flash-attn
 }:
 let
-  version = "0.0.21";
+  version = "0.03";
 in
 buildPythonPackage {
   pname = "xformers";
   inherit version;
   format = "setuptools";
 
-  disable = pythonOlder "3.7";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "facebookresearch";
     repo = "xformers";
-    rev = "v${version}";
-    hash = "sha256-zYziynjLtqjPPHjDbruuuG9209y0Sh+wYUFHUj+QG2Y=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-G8f7tny5B8SAQ6+2uOjhY7nD0uOT4sskIwtTdwivQXo=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/xgboost/default.nix b/nixpkgs/pkgs/development/python-modules/xgboost/default.nix
index 5d0b3b561221..2a65992e048d 100644
--- a/nixpkgs/pkgs/development/python-modules/xgboost/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xgboost/default.nix
@@ -4,17 +4,19 @@
 , cmake
 , numpy
 , scipy
+, hatchling
 , stdenv
 , xgboost
 }:
 
 buildPythonPackage {
   pname = "xgboost";
+  format = "pyproject";
   inherit (xgboost) version src meta;
 
   disabled = pythonOlder "3.8";
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake hatchling ];
   buildInputs = [ xgboost ];
   propagatedBuildInputs = [ numpy scipy ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix b/nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix
index 4cf7842464ab..f19fe38366cd 100644
--- a/nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xlsxwriter/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "xlsxwriter";
-  version = "3.0.3";
+  version = "3.1.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "jmcnamara";
     repo = "XlsxWriter";
     rev = "RELEASE_${version}";
-    hash = "sha256-9fIxNkOdM+Bz1F9AWq02H3LLQnefxGSAtp9kM2OtJ9M=";
+    hash = "sha256-ZOKS9sTZvlopfIYOEhOk/rq4qtcMrNQ4Bwb8lDtKfxs=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix b/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
index 33911fbd16db..0123cf4c554f 100644
--- a/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xml2rfc/default.nix
@@ -27,16 +27,16 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.18.0";
+  version = "3.18.2";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ietf-tools";
     repo = "xml2rfc";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yhzOfX2umux1ulDiInbbKXvATA+k1TLQrSa9vcR/i58=";
+    hash = "sha256-IpCC5r9sOf4SFn0Bd6QgWqx3Sx0eRGcii7xyMpN5V/s=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix b/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix
index 42af3b86d4bc..a8e595e49792 100644
--- a/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xmlschema/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "xmlschema";
-  version = "2.3.1";
+  version = "2.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "sissaschool";
     repo = "xmlschema";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0xXA3IguVAyFp5dFvuzAQhzJlGMmNthmPXcja9FYV44=";
+    hash = "sha256-ETWD+i0VJbmfSHFvOsRkuzScKZdEyr6It3+U5Q7cQbQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/xtensor-python/default.nix b/nixpkgs/pkgs/development/python-modules/xtensor-python/default.nix
index 217d856e77f9..2d652fbd245c 100644
--- a/nixpkgs/pkgs/development/python-modules/xtensor-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xtensor-python/default.nix
@@ -1,5 +1,6 @@
 { lib
-, buildPythonPackage
+, toPythonModule
+, stdenv
 , fetchFromGitHub
 , cmake
 , gtest
@@ -8,28 +9,37 @@
 , numpy
 }:
 
-buildPythonPackage rec {
+toPythonModule (stdenv.mkDerivation(finalAttrs: {
   pname = "xtensor-python";
-  version = "0.25.1";
+  version = "0.26.1";
 
   src = fetchFromGitHub {
     owner = "xtensor-stack";
-    repo = pname;
-    rev = version;
-    sha256 = "17la76hn4r1jv67dzz8x2pzl608r0mnvz854407mchlzj6rhsxza";
+    repo = "xtensor-python";
+    rev = finalAttrs.version;
+    sha256 = "sha256-kLFt5Ah5/ZO6wfTZQviVXeIAVok+/F/XCwpgPSagOMo=";
   };
 
-  nativeBuildInputs = [ cmake pybind11 ];
-
-  propagatedBuildInputs = [ xtensor numpy ];
-
-  dontUseSetuptoolsBuild = true;
-  dontUsePipInstall = true;
-  dontUseSetuptoolsCheck = true;
-
+  nativeBuildInputs = [
+    cmake
+  ];
+  buildInputs = [
+    pybind11
+  ];
   nativeCheckInputs = [
     gtest
   ];
+  doCheck = true;
+  cmakeFlags = [
+    "-DBUILD_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}"
+  ];
+
+  propagatedBuildInputs = [
+    xtensor
+    numpy
+  ];
+
+  checkTarget = "xtest";
 
   meta = with lib; {
     homepage = "https://github.com/xtensor-stack/xtensor-python";
@@ -37,4 +47,4 @@ buildPythonPackage rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ lsix ];
   };
-}
+}))
diff --git a/nixpkgs/pkgs/development/python-modules/xxhash/default.nix b/nixpkgs/pkgs/development/python-modules/xxhash/default.nix
index 9062026f742b..10afcbe83789 100644
--- a/nixpkgs/pkgs/development/python-modules/xxhash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xxhash/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.2.0";
+  version = "3.3.0";
   pname = "xxhash";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Gv1Hr4lVxdtzD2MK1TrnmM9/rgrLZM67PPlNNcR90Ig=";
+    hash = "sha256-w/njIrHr7r1E49nS2bEk4MVQwe9BvVUq/c3XGVFu5Bo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/xyzservices/default.nix b/nixpkgs/pkgs/development/python-modules/xyzservices/default.nix
index 5a03ed14fcbf..797242993f92 100644
--- a/nixpkgs/pkgs/development/python-modules/xyzservices/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xyzservices/default.nix
@@ -1,22 +1,28 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
 , fetchPypi
 , mercantile
 , pytestCheckHook
 , requests
+, setuptools
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "xyzservices";
-  version = "2023.2.0";
-  format = "setuptools";
+  version = "2023.7.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-M0K7pBDXlBKQ7tDlii5arbD3uXhj7EKDsoPEBu5yOig=";
+    hash = "sha256-DskodCIn1vXUNn6ntFf8/tlDQp9N4pSbWwKoLN9VadY=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
   disabledTests = [
     # requires network connections
     "test_free_providers"
diff --git a/nixpkgs/pkgs/development/python-modules/y-py/default.nix b/nixpkgs/pkgs/development/python-modules/y-py/default.nix
index accb1844b4c6..97747ccfdf5b 100644
--- a/nixpkgs/pkgs/development/python-modules/y-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/y-py/default.nix
@@ -11,19 +11,19 @@
 
 buildPythonPackage rec {
   pname = "y-py";
-  version = "0.6.0";
+  version = "0.6.2";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "y_py";
     inherit version;
-    hash = "sha256-RoNhaffcKVffhRPP5LwgCRdbOkc+Ywr0IajnXuHEj5g=";
+    hash = "sha256-R1eoKlBAags6MzqgEiAZozG9bxbkn+1n3KQj+Siz/U0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-tpUDGBIHqXsKPsK+1h2sNuiV2I0pGVBokKh+hdFazRQ=";
+    hash = "sha256-RXwrDSPU0wiprsUJwoDzti14H/+bSwy4hK4tYhNVfYw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yamlordereddictloader/default.nix b/nixpkgs/pkgs/development/python-modules/yamlordereddictloader/default.nix
index 9de933fda157..631d61e3f594 100644
--- a/nixpkgs/pkgs/development/python-modules/yamlordereddictloader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yamlordereddictloader/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "yamlordereddictloader";
-  version = "0.4.0";
+  version = "0.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03h8wa6pzqjiw25s3jv9gydn77gs444mf31lrgvpgy53kswz0c3z";
+    sha256 = "sha256-Nq8vYhD8/12k/EwS4dgV+XPc60EETnleHwYRXWNLyhM=";
   };
 
   propagatedBuildInputs = [ pyyaml ];
diff --git a/nixpkgs/pkgs/development/python-modules/yangson/default.nix b/nixpkgs/pkgs/development/python-modules/yangson/default.nix
index 05d26bcd4859..00cdf026c46f 100644
--- a/nixpkgs/pkgs/development/python-modules/yangson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yangson/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "yangson";
-  version = "1.4.18";
+  version = "1.4.19";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VMgx2MTiOoAw8tW8SckheN950JVbdWWSS3PWDNs0dT0=";
+    hash = "sha256-rYUxv3TEdyr2D3UEmmHcJJtlG6gXJnp1c2pez4H13SU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yark/default.nix b/nixpkgs/pkgs/development/python-modules/yark/default.nix
index 8c171d9d74ae..9012efc8a81d 100644
--- a/nixpkgs/pkgs/development/python-modules/yark/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yark/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "yark";
-  version = "1.2.7";
+  version = "1.2.8";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8O4EpHb1fP/O/t6hS1K1ylSXNKBuiipo7wvEnUJODSw=";
+    hash = "sha256-FXgJ/y8qN7FkR7nhpNgPvUH/EQgw8cgRFqUA9KiJKKM=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/yfinance/default.nix b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
index 7e9812fbf29a..d61a1097ee83 100644
--- a/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
@@ -9,6 +9,7 @@
 , multitasking
 , numpy
 , pandas
+, peewee
 , pythonOlder
 , requests
 , lxml
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.2.28";
+  version = "0.2.31";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = "ranaroussi";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-kTbQnpha4OHu5Xguo6v90uFpcXY1e8JJsJUo4ZbaCfk=";
+    hash = "sha256-GXnMzIjRx5c3O7J0bPjcdDvEIqTGMe002wYx28FLI6U=";
   };
 
   propagatedBuildInputs = [
@@ -34,11 +35,12 @@ buildPythonPackage rec {
     cryptography
     frozendict
     html5lib
+    lxml
     multitasking
     numpy
     pandas
+    peewee
     requests
-    lxml
   ];
 
   # Tests require internet access
diff --git a/nixpkgs/pkgs/development/python-modules/ypy-websocket/default.nix b/nixpkgs/pkgs/development/python-modules/ypy-websocket/default.nix
index 70b9d9bfb0bf..b1840800622f 100644
--- a/nixpkgs/pkgs/development/python-modules/ypy-websocket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ypy-websocket/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "ypy-websocket";
-  version = "0.12.3";
+  version = "0.12.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "y-crdt";
     repo = "ypy-websocket";
     rev = "refs/tags/v${version}";
-    hash = "sha256-gBLRjqsI2xx2z8qfaix4Gsm1rlNcjZ5g1PNVW7N4Q5k=";
+    hash = "sha256-48x+MUhev9dErC003XOP3oGKd5uOghlBFgcR8Nm/0xs=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix b/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
index 8334fba45ffb..7f3591468c0b 100644
--- a/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "1.2.1";
+  version = "1.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "sigma67";
     repo = "ytmusicapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-YgV3kCvCOLNXb3cWBVXRuzH4guuvPpXVojOnSnrXj20=";
+    hash = "sha256-dJckAQ0sWdP7I10khcyKGKsIcDTXQxZtP7B8JHlIZEo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zarr/default.nix b/nixpkgs/pkgs/development/python-modules/zarr/default.nix
index 0f27248c688c..78610073af01 100644
--- a/nixpkgs/pkgs/development/python-modules/zarr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zarr/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "zarr";
-  version = "2.16.0";
+  version = "2.16.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hONraVvaDs6lKvmGEnGYTLIqXIZGeZB7e5uj95toT34=";
+    hash = "sha256-QnbPS0plNDEELNU/8igrxNKSpoQkEeiFKZZFBPsHMoY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
index ad624789d13e..a26d45415eae 100644
--- a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.112.0";
+  version = "0.115.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = "refs/tags/${version}";
-    hash = "sha256-A/5c3SV9rn71RZgjHq4NJDphg8u0ZlHtCbFHe5+UybI=";
+    hash = "sha256-qLJWOZyWyLx5orDbvVSluA+zFvHN2393hyVC3ty87ug=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zeversolarlocal/default.nix b/nixpkgs/pkgs/development/python-modules/zeversolarlocal/default.nix
index 04063837b420..b1e515d76320 100644
--- a/nixpkgs/pkgs/development/python-modules/zeversolarlocal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zeversolarlocal/default.nix
@@ -1,7 +1,9 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , flit-core
+, dos2unix
 , httpx
 , pytest-asyncio
 , pytest-mock
@@ -12,7 +14,7 @@
 buildPythonPackage rec {
   pname = "zeversolarlocal";
   version = "1.1.0";
-  format = "flit";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -23,6 +25,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     flit-core
+    dos2unix
   ];
 
   propagatedBuildInputs = [
@@ -35,6 +38,20 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  # the patch below won't apply unless we fix the line endings
+  prePatch = ''
+    dos2unix pyproject.toml
+  '';
+
+  patches = [
+    # Raise the flit-core limit
+    # https://github.com/sander76/zeversolarlocal/pull/4
+    (fetchpatch {
+      url = "https://github.com/sander76/zeversolarlocal/commit/bff072ea046de07eced77bc79eb8e90dfef1f53f.patch";
+      hash = "sha256-tzFCwPzhAfwVfN5mLY/DMwRv7zGzx3ScBe+kKzkYcvo=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace "--cov zeversolarlocal --cov-report xml:cov.xml --cov-report term-missing -vv" ""
diff --git a/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix b/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
index 698e93d76076..bbe3f2b54f31 100644
--- a/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zha-quirks/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.103";
+  version = "0.0.105";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = "refs/tags/${version}";
-    hash = "sha256-H6LkCjpyj1uk05aIvO2TNJoAEXsPZlsIHo+t5rO5ikY=";
+    hash = "sha256-k4azIBjlS/J448ncu6cgB6oJtpS0Qb2Bnm11vq7RFEI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zict/default.nix b/nixpkgs/pkgs/development/python-modules/zict/default.nix
index d1e7891eee52..4bd3e7692283 100644
--- a/nixpkgs/pkgs/development/python-modules/zict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zict/default.nix
@@ -1,19 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi
-, pytest, heapdict, pythonOlder }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pytest-asyncio
+, pytest-repeat
+, pytest-timeout
+, pythonOlder
+, setuptools
+}:
 
 buildPythonPackage rec {
   pname = "zict";
-  version = "2.2.0";
+  version = "3.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1zZsLiKTMUES3PJDIQhCime5J7AABWGf7vwxDRLYM/M=";
+    hash = "sha256-4yHiY7apeq/AeQw8+zwEZWtwZuZzjDf//MqV2APJ+6U=";
   };
 
-  disabled = pythonOlder "3.6";
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  buildInputs = [ pytest ];
-  propagatedBuildInputs = [ heapdict ];
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    pytest-repeat
+    pytest-timeout
+  ];
 
   meta = with lib; {
     description = "Mutable mapping tools.";
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy-xbee/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy-xbee/default.nix
index a94eb4e4c545..92e995c1ec05 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy-xbee/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy-xbee/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-xbee";
-  version = "0.18.2";
+  version = "0.19.0";
   # https://github.com/Martiusweb/asynctest/issues/152
   # broken by upstream python bug with asynctest and
   # is used exclusively by home-assistant with python 3.8
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy-xbee";
     rev = "refs/tags/${version}";
-    hash = "sha256-aglKQWIMh0IyrcGt+PZVtzcgs88YbtZB7Tfg7hlB+18=";
+    hash = "sha256-KUXXOySuPFNKcW3O08FBYIfm4WwVjOuIF+GefmKnwl0=";
   };
 
   buildInputs = [
@@ -36,8 +36,8 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # https://github.com/zigpy/zigpy-xbee/issues/126
-    "test_form_network"
+    # fixed in https://github.com/zigpy/zigpy-xbee/commit/f85233fc28ae01c08267965e99a29e43b00e1561
+    "test_shutdown"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix
index 6b5c0fd41a85..cf487cae0894 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy-znp/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-znp";
-  version = "0.11.4";
+  version = "0.11.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-wt7ZsMXOh+CbhJCUMS7RhzozYlyINRs0xOF7ecwkNCU=";
+    hash = "sha256-K85AmksP/dXKL4DQKadyvjK7y5x6yEgc6vDJAPfblTw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
index 4828ff4264c5..dde789fd289c 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.57.1";
+  version = "0.57.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy";
     rev = "refs/tags/${version}";
-    hash = "sha256-aVrLiWPjc4xn2GvKmZCrRJGGbxP545PKqAH9rPq8IPo=";
+    hash = "sha256-v4H8syWbXqmfvOznRECgSjYi246+socPJTffb79MXK4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zipstream-ng/default.nix b/nixpkgs/pkgs/development/python-modules/zipstream-ng/default.nix
index 18cfe8b658cb..fe6e8771c057 100644
--- a/nixpkgs/pkgs/development/python-modules/zipstream-ng/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zipstream-ng/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "zipstream-ng";
-  version = "1.6.0";
+  version = "1.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "pR0Ps";
     repo = "zipstream-ng";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mY0dbHho/K1nTmhlv8i8KPa4HW7epBhfEksX3E2df2M=";
+    hash = "sha256-BYQse+DlyLUH9CofRfGrPUZjP7E8AP/wpirvJmSRfow=";
   };
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix b/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix
index 9b529e9f5c3e..38abffac75ac 100644
--- a/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zodbpickle/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "zodbpickle";
-  version = "3.0.1";
+  version = "3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Dwl1vdSnYVMg50rysLi+R2PHPPi/fEISq3IEQonndJg=";
+    hash = "sha256-uewy5wbHuAi3mlOnrZZgkRfpQoN3K0AO52VSEHqrzBE=";
   };
 
   # fails..
diff --git a/nixpkgs/pkgs/development/python-modules/zope-component/default.nix b/nixpkgs/pkgs/development/python-modules/zope-component/default.nix
index 2b65136aaf83..522b2817a845 100644
--- a/nixpkgs/pkgs/development/python-modules/zope-component/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope-component/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , zope_configuration
 , zope-deferredimport
-, zope_deprecation
+, zope-deprecation
 , zope_event
 , zope-hookable
 , zope-i18nmessageid
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     zope_configuration
     zope-deferredimport
-    zope_deprecation
+    zope-deprecation
     zope_event
     zope-hookable
     zope-i18nmessageid
diff --git a/nixpkgs/pkgs/development/python-modules/zope-contenttype/default.nix b/nixpkgs/pkgs/development/python-modules/zope-contenttype/default.nix
new file mode 100644
index 000000000000..c9d88d056eea
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zope-contenttype/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, zope_testrunner
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "zope-contenttype";
+  version = "5.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "zope.contenttype";
+    inherit version;
+    hash = "sha256-AAHvG2XKZQUZBW3OUwxY0LOWlXzPBQIyPIoVSdtk0xc=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    zope_testrunner
+  ];
+
+  pythonImportsCheck = [
+    "zope.contenttype"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/zopefoundation/zope.contenttype";
+    description = "A utility module for content-type (MIME type) handling";
+    changelog = "https://github.com/zopefoundation/zope.contenttype/blob/${version}/CHANGES.rst";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix b/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix
index b60a393e4286..0c0209740332 100644
--- a/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope-deferredimport/default.nix
@@ -1,21 +1,21 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, zope_proxy
+, zope-proxy
 , zope_testrunner
 }:
 
 buildPythonPackage rec {
   pname = "zope-deferredimport";
-  version = "4.4";
+  version = "5.0";
 
   src = fetchPypi {
     pname = "zope.deferredimport";
     inherit version;
-    sha256 = "2ae3257256802787e52ad840032f39c1496d3ce0b7e11117f663420e4a4c9add";
+    sha256 = "sha256-Orvw4YwfF2WRTs0dQbVJ5NBFshso5AZfsMHeCtc2ssM=";
   };
 
-  propagatedBuildInputs = [ zope_proxy ];
+  propagatedBuildInputs = [ zope-proxy ];
 
   nativeCheckInputs = [ zope_testrunner ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/zope-deprecation/default.nix b/nixpkgs/pkgs/development/python-modules/zope-deprecation/default.nix
new file mode 100644
index 000000000000..4a0437e2b2f4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zope-deprecation/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "zope-deprecation";
+  version = "5.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "zope.deprecation";
+    inherit version;
+    hash = "sha256-t8MtM5IDayFFxAsxA+cyLbaGYqsJtyZ6/hUyqdk/ZA8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "src/zope/deprecation/tests.py"
+  ];
+
+  pythonImportsCheck = [
+    "zope.deprecation"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/zopefoundation/zope.deprecation";
+    description = "Zope Deprecation Infrastructure";
+    changelog = "https://github.com/zopefoundation/zope.deprecation/blob/${version}/CHANGES.rst";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zope-lifecycleevent/default.nix b/nixpkgs/pkgs/development/python-modules/zope-lifecycleevent/default.nix
new file mode 100644
index 000000000000..fc6b0005ffac
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zope-lifecycleevent/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, zope_event
+, zope_interface
+}:
+
+buildPythonPackage rec {
+  pname = "zope-lifecycleevent";
+  version = "5.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "zope.lifecycleevent";
+    inherit version;
+    hash = "sha256-6tP7SW52FPm1adFtrUt4BSsKwhh1utjWbKNQNS2bb50=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [ zope_event zope_interface ];
+
+  # namespace colides with local directory
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "zope.lifecycleevent"
+    "zope.interface"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/zopefoundation/zope.lifecycleevent";
+    description = "Object life-cycle events";
+    changelog = "https://github.com/zopefoundation/zope.lifecycleevent/blob/${version}/CHANGES.rst";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zope-proxy/default.nix b/nixpkgs/pkgs/development/python-modules/zope-proxy/default.nix
new file mode 100644
index 000000000000..d6a93b9d3eb5
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zope-proxy/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, zope_interface
+}:
+
+buildPythonPackage rec {
+  pname = "zope-proxy";
+  version = "5.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "zope.proxy";
+    inherit version;
+    hash = "sha256-d3e9P4986nRSFyYgLhptUVPb9knyBOJQBYrQOvRqQxg=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [ zope_interface ];
+
+  # circular deps
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "zope.proxy"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/zopefoundation/zope.proxy";
+    description = "Generic Transparent Proxies";
+    changelog = "https://github.com/zopefoundation/zope.proxy/blob/${version}/CHANGES.rst";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zope-testbrowser/default.nix b/nixpkgs/pkgs/development/python-modules/zope-testbrowser/default.nix
index 59c6e676938e..15b3f74a4394 100644
--- a/nixpkgs/pkgs/development/python-modules/zope-testbrowser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope-testbrowser/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "zope-testbrowser";
-  version = "5.6.1";
+  version = "6.0";
 
   format = "setuptools";
 
   src = fetchPypi {
     pname = "zope.testbrowser";
     inherit version;
-    sha256 = "035bf63d9f7244e885786c3327448a7d9fff521dba596429698b8474961b05e7";
+    sha256 = "sha256-RLd6XpA3q+3DZHai6j3H6XTWE85Sk913zAL4iO4x+ho=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zope_contenttype/default.nix b/nixpkgs/pkgs/development/python-modules/zope_contenttype/default.nix
deleted file mode 100644
index 6d90dcce7283..000000000000
--- a/nixpkgs/pkgs/development/python-modules/zope_contenttype/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, zope_testrunner
-}:
-
-buildPythonPackage rec {
-  pname = "zope.contenttype";
-  version = "4.6";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-NnVoeLxSWzY2TQ1b2ZovCw/TuaUND+m73Eqxs4rCOAA=";
-  };
-
-  nativeCheckInputs = [ zope_testrunner ];
-
-  meta = with lib; {
-    homepage = "https://github.com/zopefoundation/zope.contenttype";
-    description = "A utility module for content-type (MIME type) handling";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ goibhniu ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/zope_deprecation/default.nix b/nixpkgs/pkgs/development/python-modules/zope_deprecation/default.nix
deleted file mode 100644
index 7eb66f7a9c57..000000000000
--- a/nixpkgs/pkgs/development/python-modules/zope_deprecation/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, zope_testing
-}:
-
-buildPythonPackage rec {
-  pname = "zope.deprecation";
-  version = "4.4.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0d453338f04bacf91bbfba545d8bcdf529aa829e67b705eac8c1a7fdce66e2df";
-  };
-
-  buildInputs = [ zope_testing ];
-
-  meta = with lib; {
-    homepage = "https://github.com/zopefoundation/zope.deprecation";
-    description = "Zope Deprecation Infrastructure";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ domenkozar ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/zope_lifecycleevent/default.nix b/nixpkgs/pkgs/development/python-modules/zope_lifecycleevent/default.nix
deleted file mode 100644
index 807deb097feb..000000000000
--- a/nixpkgs/pkgs/development/python-modules/zope_lifecycleevent/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, isPy3k
-, zope_event
-, zope-component
-}:
-
-buildPythonPackage rec {
-  pname = "zope.lifecycleevent";
-  version = "4.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-9ahU6J/5fe6ke/vqN4u77yeJ0uDMkKHB2lfZChzmfLU=";
-  };
-
-  propagatedBuildInputs = [ zope_event zope-component ];
-
-  # namespace colides with local directory
-  doCheck = false;
-
-  # zope uses pep 420 namespaces for python3, doesn't work with nix + python2
-  pythonImportsCheck = lib.optionals isPy3k [
-    "zope.lifecycleevent"
-    "zope.interface"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/zopefoundation/zope.lifecycleevent";
-    description = "Object life-cycle events";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ goibhniu ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/zope_location/default.nix b/nixpkgs/pkgs/development/python-modules/zope_location/default.nix
index aaf85eaadbbd..d0f79775d12b 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_location/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_location/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, zope_proxy
+, zope-proxy
 }:
 
 buildPythonPackage rec {
@@ -13,7 +13,7 @@ buildPythonPackage rec {
     hash = "sha256-Fx7tyKIOw6isJxOaqQzyd/93dy6gMrVLaicBp5J7OsU=";
   };
 
-  propagatedBuildInputs = [ zope_proxy ];
+  propagatedBuildInputs = [ zope-proxy ];
 
   # ignore circular dependency on zope_schema
   preBuild = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zope_proxy/default.nix b/nixpkgs/pkgs/development/python-modules/zope_proxy/default.nix
deleted file mode 100644
index 199a4b97d5eb..000000000000
--- a/nixpkgs/pkgs/development/python-modules/zope_proxy/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, zope_interface
-}:
-
-buildPythonPackage rec {
-  pname = "zope.proxy";
-  version = "5.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-b6RMl6QStNxR4vX9Tcc8W9SZ01KA+IzSvNJviuHkV3s=";
-  };
-
-  propagatedBuildInputs = [ zope_interface ];
-
-  # circular deps
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://github.com/zopefoundation/zope.proxy";
-    description = "Generic Transparent Proxies";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ goibhniu ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/zopfli/default.nix b/nixpkgs/pkgs/development/python-modules/zopfli/default.nix
index 97625a3e3c1c..c8ecd77730d8 100644
--- a/nixpkgs/pkgs/development/python-modules/zopfli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zopfli/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "zopfli";
-  version = "0.2.2";
+  version = "0.2.3";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1z1akqx3fjnwa75insch9p08hafikqdvqkj6mxv1k6fr81sxnj9d";
+    sha256 = "sha256-28mEG+3XNgQeteaYLNktqTvuFFdF9UIvN5X28ljNxu8=";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/zstandard/default.nix b/nixpkgs/pkgs/development/python-modules/zstandard/default.nix
index 2da5ae524bb3..2bc20be4d4ed 100755
--- a/nixpkgs/pkgs/development/python-modules/zstandard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zstandard/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "zstandard";
-  version = "0.20.0";
+  version = "0.21.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-YT2q3XLHGxSIdCyvssOzgcOdDJu4xswVeqLV6kXMLvw=";
+    hash = "sha256-8I46ENAaJHh35MthqCoxnqdGw1ajeGVYvtJIHmxAVUY=";
   };
 
   propagatedNativeBuildInputs = [
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 7e98b142b44f..105dbbbe0424 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
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.51.2";
+  version = "0.52.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-SRBH7HdsgS60Z8y6ef5/VCunzMGBEWw0u1jR7wSByNc=";
+    hash = "sha256-+zGLWti99mYTyPkSxiYgE5RqVvEr2PGt8vFwesjcquo=";
   };
 
   propagatedBuildInputs = [