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/a2wsgi/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/acquire/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/adguardhome/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/adlfs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aeppl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aesara/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-client/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-generic-client/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-georss-client/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aio-georss-gdacs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioairzone/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioaladdinconnect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiocache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp-retry/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiohttp/setuptools-67.5.0-compatibility.diff27
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioimaplib/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiojobs/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomysql/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioqsw/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiorun/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioslimproto/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiounifi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/airthings-ble/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ale-py/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/alexapy/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-config/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/altair/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/amazon-kclpy/default.nix (renamed from nixpkgs/pkgs/development/python-modules/amazon_kclpy/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/python-modules/amqp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/angr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/angrcli/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansi2html/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/anthropic/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/anywidget/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/apache-beam/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/aplpy/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/apycula/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/array-record/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/arrayqueues/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-generator/default.nix (renamed from nixpkgs/pkgs/development/python-modules/async_generator/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-stagger/default.nix (renamed from nixpkgs/pkgs/development/python-modules/async_stagger/default.nix)7
-rw-r--r--nixpkgs/pkgs/development/python-modules/async-timeout/default.nix (renamed from nixpkgs/pkgs/development/python-modules/async_timeout/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncio-mqtt/default.nix (renamed from nixpkgs/pkgs/development/python-modules/asyncio_mqtt/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncssh/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncua/default.nix4
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/atomman/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/authlib/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/autocommand/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/av/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aw-core/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awkward/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/awswrangler/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/ax/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/backports-strenum/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/batchspawner/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/bellows/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bite-parser/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitlist/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/blockdiag/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/blosc2/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boto3/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/botocore/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/botorch/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/broadbean/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bugsnag/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/build/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/bx-python/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/bytewax/Cargo.lock3029
-rw-r--r--nixpkgs/pkgs/development/python-modules/bytewax/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/caio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cairocffi/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/caldav/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/calver/default.nix72
-rw-r--r--nixpkgs/pkgs/development/python-modules/captcha/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/cartopy/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/casa-formats-io/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/casbin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/celery-types/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/celery/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/certbot-dns-cloudflare/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/certbot-dns-google/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/certbot-dns-rfc2136/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/certbot-dns-route53/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/cffsubr/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/cfgv/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/chart-studio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cheetah3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cherrypy/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/chex/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/cirq-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ciscoconfparse/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/class-doc/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/cle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix85
-rw-r--r--nixpkgs/pkgs/development/python-modules/cloudflare/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmdstanpy/default.nix82
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmdstanpy/use-nix-cmdstan-path.patch25
-rw-r--r--nixpkgs/pkgs/development/python-modules/cocotb/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/coffea/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/colour/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/colour/remove-unmaintained-d2to1.diff65
-rw-r--r--nixpkgs/pkgs/development/python-modules/compreffor/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/configargparse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/constantly/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/coredis/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/correctionlib/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/crownstone-cloud/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptography/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cupy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/curio/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/cvxpy/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/cwl-utils/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/cwlformat/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix (renamed from nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix)9
-rw-r--r--nixpkgs/pkgs/development/python-modules/d2to1/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/dashing/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-image/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask/default.nix80
-rw-r--r--nixpkgs/pkgs/development/python-modules/dataclass-wizard/default.nix65
-rw-r--r--nixpkgs/pkgs/development/python-modules/datadog/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/datashader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/datefinder/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/datetime/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/datrie/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbt-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbt-postgres/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/debugpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deezer-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deid/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/detectron2/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/devito/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/devtools/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/dicom-numpy/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/diofant/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/discordpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-cstruct/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-etl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-ntfs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-target/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-util/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dj-rest-auth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-auth-ldap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-bootstrap3/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-bootstrap4/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-bootstrap5/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-cachalot/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-ckeditor/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-classy-tags/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-compat/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-compat/fix-tests.diff56
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-extensions/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-haystack/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-hijack/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-js-asset/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-modelcluster/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-scim2/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-sites/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/djangorestframework-guardian/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/dkimpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dnspython/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/doc8/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/dot2tex/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/dot2tex/remove-duplicate-script.patch34
-rw-r--r--nixpkgs/pkgs/development/python-modules/dremel3dpy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/drf-nested-routers/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/drf-spectacular/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dtschema/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-azure/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-data/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-ssh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc/default.nix151
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc/dvc-daemon.patch18
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvclive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eigenpy/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/empty-files/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/energyzero/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/equinox/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/es-client/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/etils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/eventlet/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/factory_boy/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/fake-useragent/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fakeredis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/falcon/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/fastparquet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/feedparser/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ffmpy/default.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/filelock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fixtures/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-admin/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-api/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-marshmallow/default.nix59
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-session/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/flax/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/flet-core/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/flet/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/flit-core/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/flit/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/flow-record/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/flower/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flux-led/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fugashi/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/funsor/default.nix78
-rw-r--r--nixpkgs/pkgs/development/python-modules/funsor/patch-makefile-for-tests.patch27
-rw-r--r--nixpkgs/pkgs/development/python-modules/furo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gaphas/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/geopy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/git-filter-repo/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/git-url-parse/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/gitignore-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/glad2/default.nix12
-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/goocalendar/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-api-core/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-httplib2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix4
-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-datastore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/govee-ble/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpib-ctypes/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/gpytorch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/gradio/conftest-skip-network-errors.py57
-rw-r--r--nixpkgs/pkgs/development/python-modules/gradio/default.nix175
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphene-django/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphql-relay/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphtage/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/gridnet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/griffe/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-status/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix6
-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/gsm0338/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/gst-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gtimelog/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gunicorn/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/h5py/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/hatchling/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/hcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/hickle/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/hologram/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/holoviews/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/html5tagger/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpcore/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpie/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/httplib2/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/httptools/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hy/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/hyrule/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix71
-rw-r--r--nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/icalendar/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/icoextract/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/icoextract/exe-thumbnailer.thumbnailer3
-rw-r--r--nixpkgs/pkgs/development/python-modules/idasen/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/imagededup/default.nix78
-rw-r--r--nixpkgs/pkgs/development/python-modules/immutables/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/influxdb/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/injector/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/installer/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipadic/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipycanvas/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipympl/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipynbname/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/ipytablewidgets/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/irc/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/ircrobots/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/isort/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/jax/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix84
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/default.nix85
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/jaxlib/prefetch.sh22
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxtyping/default.nix64
-rw-r--r--nixpkgs/pkgs/development/python-modules/jc/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/jmp/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/joblib/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/josepy/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/jq/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/json-stream-rs-tokenizer/Cargo.lock552
-rw-r--r--nixpkgs/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/json-stream/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/json-tricks/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonschema-specifications/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/jsonschema/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix (renamed from nixpkgs/pkgs/development/python-modules/jupyter-server-ydoc/default.nix)39
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-contrib-core/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-ydoc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterhub-tmpauthenticator/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix102
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupytext/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/keyring/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/knack/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/kombu/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/langchain/default.nix167
-rw-r--r--nixpkgs/pkgs/development/python-modules/langsmith/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/ldappool/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/levenshtein/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/librespot/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/librosa/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/libtmux/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/libvirt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/limnoria/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/linear_operator/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/liquidctl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/llfuse/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/llvmlite/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/lunarcalendar/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/lxmf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lxml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/m2crypto/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/markdown/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mashumaro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/material-color-utilities/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/matplotlib/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/mcstatus/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/md-toc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mdformat/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/memory_profiler/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/meraki/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/meson-python/add-build-flags.sh6
-rw-r--r--nixpkgs/pkgs/development/python-modules/meson-python/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/mezzanine/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/minio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-autorefs/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ml-dtypes/default.nix60
-rw-r--r--nixpkgs/pkgs/development/python-modules/mlflow/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/mmengine/default.nix71
-rw-r--r--nixpkgs/pkgs/development/python-modules/mmh3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mock/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/model-bakery/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix62
-rw-r--r--nixpkgs/pkgs/development/python-modules/moto/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpi4py/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpmath/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/msal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/msgspec/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-boto3-ebs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbconvert/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbformat/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/nclib/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/ndspy/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/netutils/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/ninja/default.nix71
-rw-r--r--nixpkgs/pkgs/development/python-modules/ninja/no-download.patch10
-rw-r--r--nixpkgs/pkgs/development/python-modules/ninja/stub/ninja/__init__.py11
-rw-r--r--nixpkgs/pkgs/development/python-modules/ninja/stub/pyproject.toml11
-rw-r--r--nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nomadnet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nose2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/default.nix101
-rw-r--r--nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/nplusone/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/nsz/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/numba-scipy/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/numba/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpy/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/numpyro/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/nvchecker/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/objgraph/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/ochre/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/oci/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/okonomiyaki/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/okta/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/oldest-supported-numpy/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/openapi-core/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/openapi-schema-validator/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/openapi-spec-validator/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/openrazer/common.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-common/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-proto/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-sdk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-test-utils/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opentelemetry-util-http/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/opower/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/optimum/default.nix115
-rw-r--r--nixpkgs/pkgs/development/python-modules/oracledb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/orjson/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/oscrypto/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/oscrypto/support-openssl-3.0.10.patch11
-rw-r--r--nixpkgs/pkgs/development/python-modules/oslotest/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/overrides/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/packageurl-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/packaging/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/paddlepaddle/binary-hashes.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/paddlepaddle/default.nix97
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas-stubs/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pandas/default.nix227
-rw-r--r--nixpkgs/pkgs/development/python-modules/parts/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdm-backend/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdm-pep517/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pem/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/pex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pikepdf/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pilkit/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pillow/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pint/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/platformdirs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pluggy/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/pluggy/tests.nix (renamed from nixpkgs/pkgs/development/python-modules/flit-core/tests.nix)14
-rw-r--r--nixpkgs/pkgs/development/python-modules/plux/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/poetry-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/polars/Cargo.lock747
-rw-r--r--nixpkgs/pkgs/development/python-modules/polars/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/polygon3/default.nix (renamed from nixpkgs/pkgs/development/python-modules/Polygon3/default.nix)10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pontos/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/prance/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/progressbar2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/prometheus-client/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/prophet/default.nix84
-rw-r--r--nixpkgs/pkgs/development/python-modules/protego/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/protobuf/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/protobuf/use-nixpkgs-abseil-cpp.patch13
-rw-r--r--nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-pdf-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyaml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyathena/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybase64/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybind11/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycups/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycurl/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic-core/01-remove-benchmark-flags.patch18
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic-core/Cargo.lock662
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic-core/default.nix77
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydeck/default.nix56
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydevd/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydicom/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyemd/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyflume/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyftdi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygame_sdl2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygit2/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygitguardian/default.nix72
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygithub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyglet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygments-better-html/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygments/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygrok/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyipp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyjwt/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykeepass/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylink-square/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint-venv/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylint/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymazda/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymetno/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymilvus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynina/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynws/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopnsense/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyotp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypdf/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypiserver/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyplatec/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyprecice/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyproj/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyproject-hooks/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyprusalink/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqt/pyqt6-sip.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyquery/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyregion/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyro5/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyrtlsdr/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyscf/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyschlage/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysensibo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysim/default.nix72
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysma/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pystache/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytenable/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-asyncio/tests.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-env/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-metadata/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-mockservers/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-raises/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-recording/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-subtests/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-test-utils/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-tornasync/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-voluptuous/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-ndn/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-opensky/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-otbr-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-roborock/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-swiftclient/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pythran/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytlv/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch-metric-learning/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytrafikverket/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyunpack/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvesync/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywemo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyworld/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyyaml/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyzipper/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/qbittorrent-api/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcodes/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/qgrid/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtconsole/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/qtpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/quantulum3/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/radian/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rangehttpserver/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ray/binary-hashes.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ray/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/rchitect/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/rdflib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rednose/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/referencing/default.nix85
-rw-r--r--nixpkgs/pkgs/development/python-modules/renault-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/repath/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/responses/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/respx/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/riprova/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rokuecp/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/rope/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/rustworkx/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/rzpipe/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/s3transfer/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/sabctools/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sanic-routing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sanic-testing/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sanic/default.nix66
-rw-r--r--nixpkgs/pkgs/development/python-modules/schema-salad/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/schwifty/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-build-core/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-build/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scipy/default.nix119
-rw-r--r--nixpkgs/pkgs/development/python-modules/scipy/disable-datasets-tests.patch9
-rwxr-xr-xnixpkgs/pkgs/development/python-modules/scipy/update.sh29
-rw-r--r--nixpkgs/pkgs/development/python-modules/scmrepo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scrapy-fake-useragent/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/seaborn/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/service-identity/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools-git-versioning/default.nix73
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/shap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/shapely/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/shodan/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/shtab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/single-version/0001-set-poetry-core.patch21
-rw-r--r--nixpkgs/pkgs/development/python-modules/single-version/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/skl2onnx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/smpp.pdu/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/snakeviz/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/snitun/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/sockio/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sourmash/default.nix78
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy/lookups-data.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sparse/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-autodoc-typehints/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-material/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/spsdk/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlglot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlobject/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/srsly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sshfs/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/staticjinja/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/statsmodels/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/steamship/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stransi/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/streamdeck/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/streamdeck/hardcode-libusb.patch2
-rw-r--r--nixpkgs/pkgs/development/python-modules/sure/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/sympy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/syrupy/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/tables/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix57
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorstore/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/terminado/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/textual/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/tifffile/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/tiler/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/todoist-api-python/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/todoist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tomlkit/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/torch/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tpm2-pytss/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/tracerite/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/traitlets/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/traits/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/treeo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/trio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/truststore/default.nix46
-rw-r--r--nixpkgs/pkgs/development/python-modules/trytond/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tubeup/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/twisted/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/txtai/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/typer/default.nix9
-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-ujson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/typing-inspect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tzlocal/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/umodbus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/unearth/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/unidic/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/unidic/fix-download-directory.patch23
-rw-r--r--nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/unstructured/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/upcloud-api/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/urllib3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/usort/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uvicorn/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/uvicorn/tests.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/validators/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/vcard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/vega/default.nix68
-rw-r--r--nixpkgs/pkgs/development/python-modules/versioneer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/versionfinder/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/vertica-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtualenv/0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch37
-rw-r--r--nixpkgs/pkgs/development/python-modules/virtualenv/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vulcan-api/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/wagtail/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/wandb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/watchfiles/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/wheel-filename/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/willow/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/worldengine/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/wsgidav/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/xarray/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/xknx/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/xknxproject/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/xsdata/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yamlfix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yamlloader/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/yeelight/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yfinance/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zarr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zigpy/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/zipp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-component/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-i18nmessageid/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_configuration/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_i18nmessageid/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_size/default.nix4
818 files changed, 13494 insertions, 4121 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/a2wsgi/default.nix b/nixpkgs/pkgs/development/python-modules/a2wsgi/default.nix
new file mode 100644
index 000000000000..9a81321898cc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/a2wsgi/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, asgiref
+, httpx
+, pdm-backend
+, pdm-pep517
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "a2wsgi";
+  version = "1.7.0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-qQb2LAJQ6wIBEguTQX3QsSsQW12zWvQxv+hu8NxburI=";
+  };
+
+  nativeBuildInputs = [
+    pdm-backend
+    pdm-pep517
+  ];
+
+  nativeCheckInputs = [
+    asgiref
+    httpx
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Convert WSGI app to ASGI app or ASGI app to WSGI app";
+    homepage = "https://github.com/abersheeran/a2wsgi";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/acquire/default.nix b/nixpkgs/pkgs/development/python-modules/acquire/default.nix
index 3b88d6bbb553..e944a1d21013 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.7";
+  version = "3.8";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "acquire";
     rev = "refs/tags/${version}";
-    hash = "sha256-wGoMah3Pj7hS5+k/l5pEaDaM25RzdWRIG9Hrf3oWkR8=";
+    hash = "sha256-JfZ0sc7hFj71XxGWTTZ50uGWuKoWKY4vYm0v+zS2YiQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix b/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix
index 28af1269c180..5c32d588428f 100644
--- a/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adguardhome/default.nix
@@ -42,6 +42,8 @@ buildPythonPackage rec {
     yarl
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/adlfs/default.nix b/nixpkgs/pkgs/development/python-modules/adlfs/default.nix
index 9d73c93cef55..b6a0d4c7956b 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.4.0";
+  version = "2023.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "fsspec";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-olXOMmUBfamOrwtS0SEFGW3Z7g+ExWHxON9SKKSxnbc=";
+    hash = "sha256-ZPHB01CiBYiNoii73zVecq1l0WCqB2CzhhhaBeetb4g=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aeppl/default.nix b/nixpkgs/pkgs/development/python-modules/aeppl/default.nix
index f2ef99998a5f..1633be12bb97 100644
--- a/nixpkgs/pkgs/development/python-modules/aeppl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aeppl/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aeppl";
-  version = "0.1.4";
+  version = "0.1.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "aesara-devs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-y2JQxHztLEORoqVikOD/pSF5+WJRo/f8XyZKVDx2Ybs=";
+    hash = "sha256-mqBbXwWJwQA2wSHuEdBeXQMfTIcgwYEjpq8AVmOjmHM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aesara/default.nix b/nixpkgs/pkgs/development/python-modules/aesara/default.nix
index 1d6abad17b49..4e1435133f77 100644
--- a/nixpkgs/pkgs/development/python-modules/aesara/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aesara/default.nix
@@ -23,16 +23,16 @@
 
 buildPythonPackage rec {
   pname = "aesara";
-  version = "2.8.12";
+  version = "2.9.1";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "aesara-devs";
     repo = "aesara";
     rev = "refs/tags/rel-${version}";
-    hash = "sha256-lRc0IGpxkSnVeziFOYX7f99P7WNvz1KHy73qMPrU24I=";
+    hash = "sha256-eanFkEiuPzm4InLd9dFmoLs/IOofObn9NIzaqzINdMQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ailment/default.nix b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
index ab46608dde44..097b91f058bf 100644
--- a/nixpkgs/pkgs/development/python-modules/ailment/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.62";
+  version = "9.2.64";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-a4YRbFOnBTGte52wYlAsh9o4+x+dugHGhU6kboSdU2c=";
+    hash = "sha256-KUJpcP7bf8BjmB/QojTQHSwkmzW0bN4nJaD8GcNbcyE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aio-geojson-client/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-client/default.nix
index ad0a641c35f5..22c59bd64d9d 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-geojson-client/default.nix
@@ -31,6 +31,8 @@ buildPythonPackage rec {
     haversine
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     mock
diff --git a/nixpkgs/pkgs/development/python-modules/aio-geojson-generic-client/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-generic-client/default.nix
index 56e5f8475cbc..4ff502a2cf83 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-generic-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-geojson-generic-client/default.nix
@@ -30,6 +30,8 @@ buildPythonPackage rec {
     pytz
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
index 90645327c046..f8daf10c3c1f 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
@@ -30,6 +30,8 @@ buildPythonPackage rec {
     pytz
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix
index fed8b6374a7e..d97070df5907 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix
@@ -31,6 +31,8 @@ buildPythonPackage rec {
     pytz
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     mock
diff --git a/nixpkgs/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix
index b7c205179fd7..bf18c2bf184b 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix
@@ -30,6 +30,8 @@ buildPythonPackage rec {
     pytz
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix b/nixpkgs/pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix
index 1cb112583935..89a1fd75b8f2 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-geojson-usgs-earthquakes/default.nix
@@ -30,6 +30,8 @@ buildPythonPackage rec {
     pytz
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aio-georss-client/default.nix b/nixpkgs/pkgs/development/python-modules/aio-georss-client/default.nix
index 6fb1ec42631b..9c3cda759039 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-georss-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-georss-client/default.nix
@@ -35,6 +35,8 @@ buildPythonPackage rec {
     dateparser
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     mock
diff --git a/nixpkgs/pkgs/development/python-modules/aio-georss-gdacs/default.nix b/nixpkgs/pkgs/development/python-modules/aio-georss-gdacs/default.nix
index 3816b591544d..f55a42b5dd22 100644
--- a/nixpkgs/pkgs/development/python-modules/aio-georss-gdacs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aio-georss-gdacs/default.nix
@@ -28,6 +28,8 @@ buildPythonPackage rec {
     dateparser
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     aresponses
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/aioairzone/default.nix b/nixpkgs/pkgs/development/python-modules/aioairzone/default.nix
index e1af7fa3927c..a525085af29d 100644
--- a/nixpkgs/pkgs/development/python-modules/aioairzone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioairzone/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone";
-  version = "0.6.4";
+  version = "0.6.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-kOx28JmtB5hpCwsNk00bMLrU4K2tU/JY/ZWn6KmPDP4=";
+    hash = "sha256-HcO4t+9JigS6SVkwDk+rEWzqSfe0h5ZADdk3Jvxnr3Y=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioaladdinconnect/default.nix b/nixpkgs/pkgs/development/python-modules/aioaladdinconnect/default.nix
index 42f8f3fb7bf3..0095813f32cf 100644
--- a/nixpkgs/pkgs/development/python-modules/aioaladdinconnect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioaladdinconnect/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aioaladdinconnect";
-  version = "0.1.56";
+  version = "0.1.57";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "AIOAladdinConnect";
     inherit version;
-    hash = "sha256-YLAIT33ItaNgokwensOan/OO2lK01GO/u5AZwzvuoPo=";
+    hash = "sha256-NPcrGViqrUcjuzqmsI0bXxqxcyoZ9Xp/5z4BPemdjrY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiocache/default.nix b/nixpkgs/pkgs/development/python-modules/aiocache/default.nix
index 3a98fc5aca5b..215a4029daca 100644
--- a/nixpkgs/pkgs/development/python-modules/aiocache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiocache/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aiocache";
-  version = "0.12.1";
+  version = "0.12.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "aio-libs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/ruB8/5/oWGlTldOXkgdsPU+mQlXOL1qRcikElEHYNQ=";
+    hash = "sha256-yvXDNJL8uxReaU81klVWudJwh1hmvg5GeeILcNpm/YA=";
   };
 
   passthru.optional-dependencies = {
diff --git a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
index b126a756b2e5..f6b87c401cee 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 = "15.1.15";
+  version = "16.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-qNljw3V0rfMb6GDtTd+jy/hHBaM3kc9y+RCEoNTKHFM=";
+    hash = "sha256-DxEfkM//WvGqS/iWb6RIvE2raIYb/I0bcwrLqLBjCmw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix b/nixpkgs/pkgs/development/python-modules/aiohomekit/default.nix
index 72edc78c1d44..5bc3597a6752 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 = "2.6.13";
+  version = "2.6.16";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "Jc2k";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-33B9BBqvKQugGz4+9EuMPhLRyWd/Sbxwh4d5aMmDt4M=";
+    hash = "sha256-2QnM5WJ0UyuRyL6NiXz22SLUMvyNfbdNIutJSNjS+G8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp-retry/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp-retry/default.nix
index bf3c251b4fb8..262fcef8e442 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp-retry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp-retry/default.nix
@@ -25,6 +25,8 @@ buildPythonPackage rec {
     aiohttp
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytest-aiohttp
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp/default.nix b/nixpkgs/pkgs/development/python-modules/aiohttp/default.nix
index 92f1fbd53828..b988abe60108 100644
--- a/nixpkgs/pkgs/development/python-modules/aiohttp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp/default.nix
@@ -6,6 +6,7 @@
 , pythonOlder
 # build_requires
 , setuptools
+, wheel
 # install_requires
 , attrs
 , charset-normalizer
@@ -21,7 +22,7 @@
 , typing-extensions
 , idna-ssl
 # tests_require
-, async_generator
+, async-generator
 , freezegun
 , gunicorn
 , pytest-mock
@@ -32,39 +33,34 @@
 
 buildPythonPackage rec {
   pname = "aiohttp";
-  version = "3.8.4";
+  version = "3.8.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vy4akWLB5EG/gFof0WbiSdV0ygTgOzT5fikodp6Rq1w=";
+    hash = "sha256-uVUuxSzBR9vxlErHrJivdgLlHqLc0HbtGUyjwNHH0Lw=";
   };
 
   patches = [
     (fetchpatch {
-      # https://github.com/aio-libs/aiohttp/pull/7178
-      url = "https://github.com/aio-libs/aiohttp/commit/5718879cdb6a98bf48810a994b78bc02abaf3e07.patch";
-      hash = "sha256-4UynkTZOzWzusQ2+MPZszhFA8I/PJNLeT/hHF/fASy8=";
-    })
-    (fetchpatch {
       # https://github.com/aio-libs/aiohttp/pull/7260
-      # Merged upstream, should likely be dropped post-3.8.4
+      # Merged upstream, should likely be dropped post-3.8.5
       url = "https://github.com/aio-libs/aiohttp/commit/7dcc235cafe0c4521bbbf92f76aecc82fee33e8b.patch";
       hash = "sha256-ZzhlE50bmA+e2XX2RH1FuWQHZIAa6Dk/hZjxPoX5t4g=";
     })
+    # https://github.com/aio-libs/aiohttp/pull/7454 but does not merge cleanly
+    ./setuptools-67.5.0-compatibility.diff
   ];
 
   postPatch = ''
     sed -i '/--cov/d' setup.cfg
-
-    substituteInPlace setup.cfg \
-      --replace "charset-normalizer >=2.0, < 3.0" "charset-normalizer >=2.0, < 4.0"
   '';
 
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
@@ -88,7 +84,7 @@ buildPythonPackage rec {
 
   # NOTE: pytest-xdist cannot be added because it is flaky. See https://github.com/NixOS/nixpkgs/issues/230597 for more info.
   nativeCheckInputs = [
-    async_generator
+    async-generator
     freezegun
     gunicorn
     pytest-mock
@@ -109,6 +105,10 @@ buildPythonPackage rec {
     "test_async_with_session"
     "test_session_close_awaitable"
     "test_close_run_until_complete_not_deprecated"
+    # https://github.com/aio-libs/aiohttp/issues/7130
+    "test_static_file_if_none_match"
+    "test_static_file_if_match"
+    "test_static_file_if_modified_since_past_date"
   ] ++ lib.optionals stdenv.is32bit [
     "test_cookiejar"
   ] ++ lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/python-modules/aiohttp/setuptools-67.5.0-compatibility.diff b/nixpkgs/pkgs/development/python-modules/aiohttp/setuptools-67.5.0-compatibility.diff
new file mode 100644
index 000000000000..2f75b6b4c136
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/aiohttp/setuptools-67.5.0-compatibility.diff
@@ -0,0 +1,27 @@
+diff --git a/setup.cfg b/setup.cfg
+index 6944b7e2..dfa65d69 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -128,6 +128,7 @@ filterwarnings =
+ 	ignore:Creating a LegacyVersion has been deprecated and will be removed in the next major release:DeprecationWarning::
+ 	ignore:module 'sre_constants' is deprecated:DeprecationWarning:pkg_resources._vendor.pyparsing
+ 	ignore:path is deprecated. Use files.. instead. Refer to https.//importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice.:DeprecationWarning:certifi.core
++	ignore:pkg_resources is deprecated as an API:DeprecationWarning
+ junit_suite_name = aiohttp_test_suite
+ norecursedirs = dist docs build .tox .eggs
+ minversion = 3.8.2
+diff --git a/tests/test_circular_imports.py b/tests/test_circular_imports.py
+index 22e5ea47..a655fd1d 100644
+--- a/tests/test_circular_imports.py
++++ b/tests/test_circular_imports.py
+@@ -113,6 +113,10 @@ def test_no_warnings(import_path: str) -> None:
+         "-W",
+         "ignore:Creating a LegacyVersion has been deprecated and will "
+         "be removed in the next major release:DeprecationWarning:",
++        # Deprecation warning emitted by setuptools v67.5.0+ triggered by importing
++        # `gunicorn.util`.
++        "-W", "ignore:pkg_resources is deprecated as an API:"
++        "DeprecationWarning",
+         "-c", f"import {import_path!s}",
+         # fmt: on
+     )
diff --git a/nixpkgs/pkgs/development/python-modules/aioimaplib/default.nix b/nixpkgs/pkgs/development/python-modules/aioimaplib/default.nix
index b577abf37c8d..84020ba7ac54 100644
--- a/nixpkgs/pkgs/development/python-modules/aioimaplib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioimaplib/default.nix
@@ -28,6 +28,9 @@ buildPythonPackage rec {
     hash = "sha256-7Ta0BhtQSm228vvUa5z+pzM3UC7+BskgBNjxsbEb9P0=";
   };
 
+  # https://github.com/bamthomas/aioimaplib/issues/54
+  doCheck = pythonOlder "3.11";
+
   nativeCheckInputs = [
     asynctest
     docutils
diff --git a/nixpkgs/pkgs/development/python-modules/aiojobs/default.nix b/nixpkgs/pkgs/development/python-modules/aiojobs/default.nix
index 320593f79370..a3b982e22d5a 100644
--- a/nixpkgs/pkgs/development/python-modules/aiojobs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiojobs/default.nix
@@ -37,6 +37,8 @@ buildPythonPackage rec {
     async-timeout
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
     pytest-aiohttp
diff --git a/nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix b/nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix
index 17f2cb45e6a0..68e799008497 100644
--- a/nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiomqtt/default.nix
@@ -1,41 +1,29 @@
 { lib
+, anyio
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
-
-# build-system
+, paho-mqtt
 , poetry-core
 , poetry-dynamic-versioning
-
-# dependencies
-, paho-mqtt
-, typing-extensions
-
-# tests
-, anyio
 , pytestCheckHook
+, pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "aiomqtt";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "sbtinstruments";
     repo = "aiomqtt";
-    rev = "v${version}";
-    hash = "sha256-ct4KIGxiC5m0yrid0tOa/snO9oErxbqhLLH9kD69aEQ=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-8f3opbvN/hmT6AEMD7Co5n5IqdhP0higbaDGUBWJRzU=";
   };
 
-  patches = [
-    (fetchpatch {
-      # adds test marker for network access
-      url = "https://github.com/sbtinstruments/aiomqtt/commit/225c1bfc99bc6ff908bd03c1115963e43ab8a9e6.patch";
-      hash = "sha256-UMEwCoX2mWBA7+p+JujkH5fc9sd/2hbb28EJ0fN24z4=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
     poetry-dynamic-versioning
@@ -46,13 +34,15 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
-  pythonImportsCheck = [ "aiomqtt" ];
-
   nativeCheckInputs = [
     anyio
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "aiomqtt"
+  ];
+
   pytestFlagsArray = [
     "-m" "'not network'"
   ];
@@ -60,7 +50,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "The idiomatic asyncio MQTT client, wrapped around paho-mqtt";
     homepage = "https://github.com/sbtinstruments/aiomqtt";
-    changelog = "https://github.com/sbtinstruments/aiomqtt/blob/${src.rev}/CHANGELOG.md";
+    changelog = "https://github.com/sbtinstruments/aiomqtt/blob/${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/aiomysql/default.nix b/nixpkgs/pkgs/development/python-modules/aiomysql/default.nix
index 3262ec4a1d21..acd3cc56e4a8 100644
--- a/nixpkgs/pkgs/development/python-modules/aiomysql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiomysql/default.nix
@@ -1,10 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pymysql
 , pythonOlder
 , setuptools-scm
-, setuptools-scm-git-archive
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -21,9 +22,19 @@ buildPythonPackage rec {
     hash = "sha256-m/EgoBU3e+s3soXyYtACMDSjJfMLBOk/00qPtgawwQ8=";
   };
 
+  patches = [
+    # https://github.com/aio-libs/aiomysql/pull/955
+    (fetchpatch {
+      name = "remove-setuptools-scm-git-archive-dependency.patch";
+      url = "https://github.com/aio-libs/aiomysql/commit/fee997d2e848b634a84ce0c4e9025e3b3e761640.patch";
+      hash = "sha256-qKcOfdDaA9DLS2fdHOEUW37aCCdtZjN0zsFV9dK/umQ=";
+      includes = [ "pyproject.toml" ];
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools-scm
-    setuptools-scm-git-archive
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioqsw/default.nix b/nixpkgs/pkgs/development/python-modules/aioqsw/default.nix
index d2ba97374014..26745f8d5561 100644
--- a/nixpkgs/pkgs/development/python-modules/aioqsw/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioqsw/default.nix
@@ -4,22 +4,29 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
+, setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "aioqsw";
-  version = "0.3.2";
-  format = "setuptools";
+  version = "0.3.3";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Z7Q9b+ameddvGu9KJUNsaqOHiu0qXnpzuiZwg+/0+64=";
+    hash = "sha256-2fu78mp9ztm229N+zhvY7FuWl3xZlqSYVk/Okp2RNJI=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     aiohttp
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiorun/default.nix b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
index 1103d095d347..202712367232 100644
--- a/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiorun/default.nix
@@ -9,16 +9,16 @@
 
 buildPythonPackage rec {
   pname = "aiorun";
-  version = "2022.11.1";
+  version = "2023.7.2";
   format = "flit";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "cjrh";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-1qXt3HT/0sECOqPRwc0p+5+YZh1kyHSbkZHajcrjvZc=";
+    hash = "sha256-3AGsT8IUNi5SZHBsBfd7akj8eQ+xb0mrR7ydIr3T8gs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioslimproto/default.nix b/nixpkgs/pkgs/development/python-modules/aioslimproto/default.nix
index af681eec8ad4..2294960ce59a 100644
--- a/nixpkgs/pkgs/development/python-modules/aioslimproto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioslimproto/default.nix
@@ -2,10 +2,13 @@
 , async-timeout
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pillow
+, pytest-asyncio
 , pytestCheckHook
 , pythonOlder
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -13,7 +16,7 @@ buildPythonPackage rec {
   version = "2.3.3";
   format = "pyproject";
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
@@ -22,8 +25,18 @@ buildPythonPackage rec {
     hash = "sha256-d+PEzCF1Cw/7NmumxIRRlr3hojpNsZM/JMQ0KWdosXk=";
   };
 
+  patches = [
+    # https://github.com/home-assistant-libs/aioslimproto/pull/189
+    (fetchpatch {
+      name = "unpin-setuptools-version.patch";
+      url = "https://github.com/home-assistant-libs/aioslimproto/commit/06fd56987be8903ff147bad38af84b21bc31bc18.patch";
+      hash = "sha256-kTu1+IwDrcdqelyK/vfhxw8MQBis5I1jag7YTytKQhs=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
@@ -32,14 +45,10 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    pytest-asyncio
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # AssertionError: assert ['mixer', 'volume', '50'] == ['volume', '50']
-    "test_msg_instantiation"
-  ];
-
   pythonImportsCheck = [
     "aioslimproto"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
index d99ff10cfa8d..b2b6a866992e 100644
--- a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "51";
+  version = "52";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-XR/yZLxTHVHxm/QLCKrp9XFJ7yZybPjPxKEhf1SOzD0=";
+    hash = "sha256-mghAUZrRBKHM+mIeUGnbJqWD+NhZyikdGsIhf1uohiM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/airthings-ble/default.nix b/nixpkgs/pkgs/development/python-modules/airthings-ble/default.nix
index eda8e77e43b7..c3bf5066385d 100644
--- a/nixpkgs/pkgs/development/python-modules/airthings-ble/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/airthings-ble/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "airthings-ble";
-  version = "0.5.5";
+  version = "0.5.6-2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "vincegio";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-A1YsYOquDUDGeEI4xzQSjEk1H92Jjlhsb5IPRt0lM2c=";
+    hash = "sha256-xxKZI6yb8h1eqtfTpa8SqL/hnIWhFtuBP7RXQvI/Z/4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/ale-py/default.nix b/nixpkgs/pkgs/development/python-modules/ale-py/default.nix
index 0b5d9649f476..77978654e68f 100644
--- a/nixpkgs/pkgs/development/python-modules/ale-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ale-py/default.nix
@@ -39,6 +39,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     cmake
+    ninja
     setuptools
     wheel
     pybind11
diff --git a/nixpkgs/pkgs/development/python-modules/alexapy/default.nix b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
index 559e00e3c81c..d5e6f93ebefd 100644
--- a/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
@@ -8,7 +8,6 @@
 , certifi
 , cryptography
 , fetchFromGitLab
-, fetchpatch
 , poetry-core
 , pyotp
 , pythonOlder
@@ -20,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "alexapy";
-  version = "1.26.8";
+  version = "1.26.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -29,18 +28,9 @@ buildPythonPackage rec {
     owner = "keatontaylor";
     repo = "alexapy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-AjtSEqUbJ5e/TZIYMX+pwBSH35tEVrfCA6H/55yrZsk=";
+    hash = "sha256-mDh4kYwRXpvVCh+nBmQblmlmgG98P6+UmgG4ZioQ68M=";
   };
 
-  patches = [
-    # Switch to poetry-core, https://gitlab.com/keatontaylor/alexapy/-/merge_requests/342
-    (fetchpatch {
-      name = "switch-poetry-core.patch";
-      url = "https://gitlab.com/keatontaylor/alexapy/-/commit/843daec4ba1fb219f1c4f4a6ca01c9af73014e53.patch";
-      hash = "sha256-wlCq0/NJx4Adh/o61FSMWMQU99PZkJ0U2yqxqOfvAa8=";
-    })
-  ];
-
   pythonRelaxDeps = [
     "aiofiles"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-config/default.nix b/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-config/default.nix
index ab3402f1e8a1..565bcf750ac8 100644
--- a/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-config/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aliyun-python-sdk-config/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "aliyun-python-sdk-config";
-  version = "2.2.9";
+  version = "2.2.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5uRiOJAxq1zcJX+CyDnTG5BG1eFcJ43HdfpWUoZ5FSM=";
+    hash = "sha256-nkCNzOg6JYQkIlmcFm3VIjHvoHDK7hfw4PhrUwnNp28=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/altair/default.nix b/nixpkgs/pkgs/development/python-modules/altair/default.nix
index 82a4fc9d7848..14d65a2e1af1 100644
--- a/nixpkgs/pkgs/development/python-modules/altair/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/altair/default.nix
@@ -11,9 +11,10 @@
 , typing-extensions
 , pandas
 , jinja2
-, importlib-metadata
+, packaging
 
 # Build, dev and test dependencies
+, anywidget
 , ipython
 , pytestCheckHook
 , vega_datasets
@@ -22,15 +23,17 @@
 
 buildPythonPackage rec {
   pname = "altair";
-  version = "5.0.1";
+  # 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";
   format = "pyproject";
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "altair-viz";
     repo = "altair";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-7bTrfryu4oaodVGNFNlVk9vXmDA5/9ahvCmvUGzZ5OQ=";
+    rev = "56b3b66daae7160c8d82777d2646131afcc3dab4";
+    hash = "sha256-uVE3Bth1D1mIhaULB4IxEtOzhQd51Pscqyfdys65F6A=";
   };
 
   nativeBuildInputs = [
@@ -41,12 +44,13 @@ buildPythonPackage rec {
     jinja2
     jsonschema
     numpy
+    packaging
     pandas
     toolz
-  ] ++ lib.optional (pythonOlder "3.8") importlib-metadata
-    ++ lib.optional (pythonOlder "3.11") typing-extensions;
+  ] ++ lib.optional (pythonOlder "3.11") typing-extensions;
 
   nativeCheckInputs = [
+    anywidget
     ipython
     sphinx
     vega_datasets
@@ -62,6 +66,8 @@ buildPythonPackage rec {
     "tests/vegalite/v5/test_api.py"
     # avoid updating files and dependency on black
     "tests/test_toplevel.py"
+    # require vl-convert package
+    "tests/utils/test_compiler.py"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/amazon_kclpy/default.nix b/nixpkgs/pkgs/development/python-modules/amazon-kclpy/default.nix
index 3de930cfa415..623ab60ed63a 100644
--- a/nixpkgs/pkgs/development/python-modules/amazon_kclpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amazon-kclpy/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchFromGitHub, python, mock, boto, pytest }:
 
 buildPythonPackage rec {
-  pname = "amazon_kclpy";
+  pname = "amazon-kclpy";
   version = "2.1.1";
 
   src = fetchFromGitHub {
diff --git a/nixpkgs/pkgs/development/python-modules/amqp/default.nix b/nixpkgs/pkgs/development/python-modules/amqp/default.nix
index bd834b9e1491..bad99ab8f02a 100644
--- a/nixpkgs/pkgs/development/python-modules/amqp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amqp/default.nix
@@ -3,6 +3,7 @@
 , case
 , fetchPypi
 , pytestCheckHook
+, pytest-rerunfailures
 , pythonOlder
 , vine
 }:
@@ -23,9 +24,12 @@ buildPythonPackage rec {
     vine
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     case
     pytestCheckHook
+    pytest-rerunfailures
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/angr/default.nix b/nixpkgs/pkgs/development/python-modules/angr/default.nix
index 9d06b45a3c29..c924e6c8fcaa 100644
--- a/nixpkgs/pkgs/development/python-modules/angr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angr/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.62";
+  version = "9.2.64";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-GyX0LBXABRRQj3bVW8whxp2T5CSPnfI/Vjlj5V4MqrE=";
+    hash = "sha256-NQopPg7ZAKkbq6T/1U8VYT/9oRz9ssg5yqTBpInNHNk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/angrcli/default.nix b/nixpkgs/pkgs/development/python-modules/angrcli/default.nix
index 157e1e91341d..368ea4c9a27e 100644
--- a/nixpkgs/pkgs/development/python-modules/angrcli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/angrcli/default.nix
@@ -24,6 +24,11 @@ buildPythonPackage rec {
     hash = "sha256-a5ajUBQwt3xUNkeSOeGOAFf47wd4UVk+LcuAHGqbq4s=";
   };
 
+  postPatch = ''
+    substituteInPlace tests/test_derefs.py \
+      --replace "/bin/ls" "${coreutils}/bin/ls"
+  '';
+
   propagatedBuildInputs = [
     angr
     cmd2
@@ -35,17 +40,18 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace tests/test_derefs.py \
-      --replace "/bin/ls" "${coreutils}/bin/ls"
-  '';
+  disabledTests = lib.optionals (!stdenv.hostPlatform.isx86) [
+    # expects the x86 register "rax" to exist
+    "test_cc"
+    "test_loop"
+    "test_max_depth"
+  ];
 
   pythonImportsCheck = [
     "angrcli"
   ];
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
     description = "Python modules to allow easier interactive use of angr";
     homepage = "https://github.com/fmagin/angr-cli";
     license = with licenses; [ mit ];
diff --git a/nixpkgs/pkgs/development/python-modules/ansi2html/default.nix b/nixpkgs/pkgs/development/python-modules/ansi2html/default.nix
index 97553b1b31e1..192ecaf2eab4 100644
--- a/nixpkgs/pkgs/development/python-modules/ansi2html/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansi2html/default.nix
@@ -1,22 +1,42 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, six, mock, pytestCheckHook, setuptools, setuptools-scm }:
+{ lib
+, buildPythonPackage
+, fetchpatch
+, fetchPypi
+, pytestCheckHook
+, setuptools
+, setuptools-scm
+, wheel
+}:
 
 buildPythonPackage rec {
   pname = "ansi2html";
   version = "1.8.0";
   format = "pyproject";
 
-  disabled = !isPy3k;
-
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-OLgqKYSCofomE/D5yb6z23Ko+DLurFjrLke/Ms039tU=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ six setuptools ];
+  patches = [
+    (fetchpatch {
+      name = "update-build-requirements.patch";
+      url = "https://github.com/pycontribs/ansi2html/commit/be9c47dd39e500b2e34e95efde90d0a3b44daaee.patch";
+      hash = "sha256-nvOclsgysg+4sK694ppls0BLfq5MCJJQW3V/Ru30D/k=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
 
   preCheck = "export PATH=$PATH:$out/bin";
-  nativeCheckInputs = [ mock pytestCheckHook ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "ansi2html" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/default.nix b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
index 7a61364ca7a4..f4fed78d6204 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
@@ -20,7 +20,7 @@
 
 let
   pname = "ansible";
-  version = "8.1.0";
+  version = "8.2.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -30,7 +30,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kfILW/z18phTPBdKk4geALyea0FBFGT0TAVKONcWpWo=";
+    hash = "sha256-k1ppIf+wNKoY5lB7SeQBZ2zRUkPW+qXgXiIQCL9yXJc=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/anthropic/default.nix b/nixpkgs/pkgs/development/python-modules/anthropic/default.nix
index b9248fcb8716..a7bbb6fb2bd6 100644
--- a/nixpkgs/pkgs/development/python-modules/anthropic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/anthropic/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , anyio
 , distro
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "anthropic";
-  version = "0.3.6";
+  version = "0.3.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,9 +26,17 @@ buildPythonPackage rec {
     owner = "anthropics";
     repo = "anthropic-sdk-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-dfMlM7IRP1PG7Ynr+MR4OPeKnHBbhhWKSug7UQ4/4rI=";
+    hash = "sha256-rNLKIZKX9AI0IKGicozllh+XGU4Ll91EfRaAfJYJtJE=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "support-pytest-asyncio-0.21.0.patch";
+      url = "https://github.com/anthropics/anthropic-sdk-python/commit/1e199aa9b38970c5b5b4492907494ac653a7f756.patch";
+      hash = "sha256-f9KldnvXuRKVgT7Xb/xdhInKOeXvi4g5OxVRD0PMhgQ=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/anywidget/default.nix b/nixpkgs/pkgs/development/python-modules/anywidget/default.nix
new file mode 100644
index 000000000000..d993af0654f8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/anywidget/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, hatch-jupyter-builder
+, hatchling
+, importlib-metadata
+, ipywidgets
+, jupyterlab
+, psygnal
+, typing-extensions
+, watchfiles
+}:
+
+buildPythonPackage rec {
+  pname = "anywidget";
+  version = "0.6.3";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-OUKxmYceEKURJeQTVI7oLT4SdZM90V7BoZf0UykkEV4=";
+  };
+
+  nativeBuildInputs = [
+    hatch-jupyter-builder
+    hatchling
+    jupyterlab
+  ];
+
+  propagatedBuildInputs = [
+    ipywidgets
+    psygnal
+    typing-extensions
+  ] ++ lib.optional (pythonOlder "3.8") importlib-metadata;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    watchfiles
+  ];
+
+  pythonImportsCheck = [ "anywidget" ];
+
+  meta = with lib; {
+    description = "Custom jupyter widgets made easy";
+    homepage = "https://github.com/manzt/anywidget";
+    changelog = "https://github.com/manzt/anywidget/releases/tag/anywidget%40${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix b/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix
index c8bd56469702..92a9203a93f6 100644
--- a/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apache-beam/default.nix
@@ -209,5 +209,7 @@ buildPythonPackage rec {
     homepage = "https://beam.apache.org/";
     license = licenses.asl20;
     maintainers = with maintainers; [ ndl ];
+    # https://github.com/apache/beam/issues/27221
+    broken = lib.versionAtLeast pandas.version "2";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/aplpy/default.nix b/nixpkgs/pkgs/development/python-modules/aplpy/default.nix
index ac00576cc297..0304a8eff852 100644
--- a/nixpkgs/pkgs/development/python-modules/aplpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aplpy/default.nix
@@ -1,8 +1,6 @@
 { lib
 , astropy
-, astropy-helpers
 , buildPythonPackage
-, cython
 , fetchpatch
 , fetchPypi
 , matplotlib
@@ -15,7 +13,10 @@
 , pythonOlder
 , reproject
 , scikit-image
+, setuptools
+, setuptools-scm
 , shapely
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -32,12 +33,13 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [
-    astropy-helpers
+    setuptools
+    setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
     astropy
-    cython
     matplotlib
     numpy
     pillow
diff --git a/nixpkgs/pkgs/development/python-modules/apycula/default.nix b/nixpkgs/pkgs/development/python-modules/apycula/default.nix
index b1b01c920ed7..4ec3b1f0250c 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.8.1";
+  version = "0.8.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "Apycula";
-    hash = "sha256-IznOt69gzWO/+Snw9YfmDU2CE15IZ+jlPz+ZGfPzK+Q=";
+    hash = "sha256-QGBWNWAEe6KbfYIoW3FScEL7b4TTcK1YZQoNkfxDNMo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
index 58b6cc6c6fdc..dba35bd08975 100644
--- a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.62";
+  version = "9.2.64";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7PNwJMsX3Z/j+zy9CgEvCRpbyJi9qI7ex6KJXwkywgU=";
+    hash = "sha256-/3dc0p6xDFvv8VwFi5hxiXveiWYr9w3s0PwMv3uV2yw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/array-record/default.nix b/nixpkgs/pkgs/development/python-modules/array-record/default.nix
index 98362396de58..f278c34fbe1d 100644
--- a/nixpkgs/pkgs/development/python-modules/array-record/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/array-record/default.nix
@@ -39,5 +39,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/google/array_record";
     license = licenses.asl20;
     maintainers = with maintainers; [ GaetanLepage ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/arrayqueues/default.nix b/nixpkgs/pkgs/development/python-modules/arrayqueues/default.nix
index fa4b7d0bffdf..3add43b6509a 100644
--- a/nixpkgs/pkgs/development/python-modules/arrayqueues/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/arrayqueues/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "arrayqueues";
-  version = "1.3.1";
+  version = "1.4.1";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a955df768e39d459de28c7ea10ee02f67b1c70996cfa229846ab98df77a6fb69";
+    sha256 = "sha256-7I+5BQO/gsvTREDkBfxrMblw3JPfY48S4KI4PCGPtFY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asks/default.nix b/nixpkgs/pkgs/development/python-modules/asks/default.nix
index 088e946c93d1..8be9a9b21160 100644
--- a/nixpkgs/pkgs/development/python-modules/asks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asks/default.nix
@@ -3,7 +3,7 @@
 , pythonOlder
 , fetchFromGitHub
 , anyio
-, async_generator
+, async-generator
 , h11
 , curio
 , overly
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     anyio
-    async_generator
+    async-generator
     h11
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/astroid/default.nix b/nixpkgs/pkgs/development/python-modules/astroid/default.nix
index fa78f2f5faaa..5e5f9e22fb40 100644
--- a/nixpkgs/pkgs/development/python-modules/astroid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astroid/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.14.2"; # Check whether the version is compatible with pylint
+  version = "2.15.6"; # Check whether the version is compatible with pylint
   format = "pyproject";
 
   disabled = pythonOlder "3.7.2";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "PyCQA";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-SIBzn57UNn/sLuDWt391M/kcCyjCocHmL5qi2cSX2iA=";
+    hash = "sha256-0oNNEVD8rYGkM11nGUD+XMwE7xgk7mJIaplrAXaECFg=";
   };
 
   nativeBuildInputs = [
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 08a5139e5979..0077cfdde150 100644
--- a/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/astropy-extension-helpers/default.nix
@@ -4,7 +4,9 @@
 , findutils
 , pytestCheckHook
 , pythonOlder
+, pip
 , setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -21,12 +23,14 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     setuptools-scm
+    wheel
   ];
 
   patches = [ ./permissions.patch ];
 
   nativeCheckInputs = [
     findutils
+    pip
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/async_generator/default.nix b/nixpkgs/pkgs/development/python-modules/async-generator/default.nix
index e80fd914c19c..17014a410d4c 100644
--- a/nixpkgs/pkgs/development/python-modules/async_generator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-generator/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "async_generator";
     inherit version;
-    sha256 = "6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144";
+    hash = "sha256-brs9EGwSkgqq5CzLb3h+9e79zdFm6j1ij6hHar5xIUQ=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/async_stagger/default.nix b/nixpkgs/pkgs/development/python-modules/async-stagger/default.nix
index eb403ff71aae..379056ad56f3 100644
--- a/nixpkgs/pkgs/development/python-modules/async_stagger/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-stagger/default.nix
@@ -8,15 +8,16 @@
 }:
 
 buildPythonPackage rec {
-  pname = "async_stagger";
+  pname = "async-stagger";
   version = "0.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "1mj3daaqxjdavbxcjrdwx5ky9maa2blbv53aa6d7w9zxkrz3b7xa";
+    pname = "async_stagger";
+    inherit version;
+    hash = "sha256-qp81fp79J36aUWqUvegSStXkZ+m8Zcn62qrJjpVqQ9Y=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/async_timeout/default.nix b/nixpkgs/pkgs/development/python-modules/async-timeout/default.nix
index 2a67ed1d6710..55297bea9cbd 100644
--- a/nixpkgs/pkgs/development/python-modules/async_timeout/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/async-timeout/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15";
+    hash = "sha256-IWPhZA3bUreoyA0KZ6CFh+XSRcycVTp0qEcFa8KXaxU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asyncio_mqtt/default.nix b/nixpkgs/pkgs/development/python-modules/asyncio-mqtt/default.nix
index 448ec3eca2ae..8274f5493967 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncio_mqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncio-mqtt/default.nix
@@ -8,6 +8,7 @@
 , setuptools
 , setuptools-scm
 , typing-extensions
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -29,6 +30,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     setuptools
     setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
index 3f52c3acd354..bdc436c8fdc4 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
@@ -58,6 +58,8 @@ buildPythonPackage rec {
     ];
   };
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     openssh
     openssl
diff --git a/nixpkgs/pkgs/development/python-modules/asyncua/default.nix b/nixpkgs/pkgs/development/python-modules/asyncua/default.nix
index 0ad561ebfb9b..507a6101a168 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncua/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncua/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "asyncua";
-  version = "1.0.2";
+  version = "1.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "FreeOpcUa";
     repo = "opcua-asyncio";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DnBxR4nD3dBBhiElDuRgljHaoBPiakdjY/VFn3VsKEQ=";
+    hash = "sha256-fSXhW/Ik96HVecwOFWM+VftSzWGX6O4PzPT7JuaYXy0=";
     fetchSubmodules = true;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix b/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix
index 835f593e561f..f121cc21466d 100755
--- a/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/atlassian-python-api/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "atlassian-python-api";
-  version = "3.39.0";
+  version = "3.40.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "atlassian-api";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ixESPQqXQ7HDiYm8rJ8oZ/xaRHO4spUGMyRdov4vJr8=";
+    hash = "sha256-2yY1shsdlX40FJV3K7nT6HfKKI14/3zH8dOEnJeTahw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/atomman/default.nix b/nixpkgs/pkgs/development/python-modules/atomman/default.nix
index 7b32dc9b9ec6..a245c93e3618 100644
--- a/nixpkgs/pkgs/development/python-modules/atomman/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/atomman/default.nix
@@ -11,20 +11,19 @@
 , phonopy
 , potentials
 , pymatgen
-, pytest
 , pytestCheckHook
 , pythonOlder
-, pythonAtLeast
 , requests
 , scipy
 , setuptools
 , toolz
+, wheel
 , xmltodict
 , pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
-  version = "1.4.6";
+  version = "unstable-2023-07-28";
   pname = "atomman";
   format = "pyproject";
 
@@ -33,12 +32,13 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "usnistgov";
     repo = "atomman";
-    rev = "v${version}";
-    hash = "sha256-tcsxtFbBdMC6+ixzqhnR+5UNwcQmnPQSvuyNA2IYelI=";
+    rev = "b8af21a9285959d38ee26173081db1b4488401bc";
+    hash = "sha256-WfB+OY61IPprT6OCVHl8VA60p7lLVkRGuyYX+nm7bbA=";
   };
 
   nativeBuildInputs = [
     setuptools
+    wheel
     pythonRelaxDepsHook
   ];
 
@@ -70,7 +70,6 @@ buildPythonPackage rec {
     ase
     phonopy
     pymatgen
-    pytest
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/authlib/default.nix b/nixpkgs/pkgs/development/python-modules/authlib/default.nix
index eb65881afbb6..325fe6c0894a 100644
--- a/nixpkgs/pkgs/development/python-modules/authlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/authlib/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "authlib";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "lepture";
     repo = "authlib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OYfvfPnpWE9g7L9cFXUD95B/9+OZy55ZVbmFhFgguUg=";
+    hash = "sha256-K6u590poZ9C3Uzi3a8k8aXMeSeRgn91e+p2PWYno3Y8=";
   };
 
   propagatedBuildInputs = [
@@ -49,6 +49,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [
     "authlib"
   ];
+
   disabledTestPaths = [
     # Django tests require a running instance
     "tests/django/"
@@ -60,7 +61,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for building OAuth and OpenID Connect servers";
     homepage = "https://github.com/lepture/authlib";
-    changelog = "https://github.com/lepture/authlib/releases/tag/v${version}";
+    changelog = "https://github.com/lepture/authlib/blob/v${version}/docs/changelog.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ flokli ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/autocommand/default.nix b/nixpkgs/pkgs/development/python-modules/autocommand/default.nix
index ca9eaf668495..eeee08ec4927 100644
--- a/nixpkgs/pkgs/development/python-modules/autocommand/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/autocommand/default.nix
@@ -2,30 +2,38 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "autocommand";
-  version = "2.2.1";
+  version = "2.2.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Lucretiel";
     repo = "autocommand";
-    rev = version;
-    hash = "sha256-bjoVGfP57qhvPuHHcMP8JQddAaW4/fEyatElk1UEPZo=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-9bv9Agj4RpeyNJvTLUaMwygQld2iZZkoLb81rkXOd3E=";
   };
 
   # fails with: SyntaxError: invalid syntax
   doCheck = false;
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "autocommand" ];
+  pythonImportsCheck = [
+    "autocommand"
+  ];
 
   meta = with lib; {
-    description = " Autocommand turns a python function into a CLI program ";
+    description = "Autocommand turns a python function into a CLI program";
     homepage = "https://github.com/Lucretiel/autocommand";
-    license = licenses.lgpl3;
+    license = licenses.lgpl3Only;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/av/default.nix b/nixpkgs/pkgs/development/python-modules/av/default.nix
index 91b50e798c5b..64f12ed24a1a 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
+, ffmpeg-headless
 
 # tests
 , numpy
@@ -38,7 +38,7 @@ buildPythonPackage rec {
   ];
 
   buildInputs = [
-    ffmpeg
+    ffmpeg-headless
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aw-core/default.nix b/nixpkgs/pkgs/development/python-modules/aw-core/default.nix
index 37523f7f24dd..7b928767f25e 100644
--- a/nixpkgs/pkgs/development/python-modules/aw-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aw-core/default.nix
@@ -5,7 +5,7 @@
 , poetry-core
 , jsonschema
 , peewee
-, appdirs
+, platformdirs
 , iso8601
 , rfc3339-validator
 , strict-rfc3339
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "aw-core";
-  version = "0.5.14";
+  version = "0.5.15";
 
   format = "pyproject";
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "ActivityWatch";
     repo = "aw-core";
     rev = "v${version}";
-    sha256 = "sha256-+XmFh4/wPUpuoRVi8OdzFs/3dwoI1Mjx1hnTiGj+12I=";
+    sha256 = "sha256-3cz79gSkmbGtCKnLGA4HGG5dLu7QB4ZtMnNGrSYB17U=";
   };
 
   disabled = pythonOlder "3.8";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     jsonschema
     peewee
-    appdirs
+    platformdirs
     iso8601
     rfc3339-validator
     strict-rfc3339
diff --git a/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix b/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix
index d838a0f28750..790a9c4bbb1d 100644
--- a/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awesomeversion/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "awesomeversion";
-  version = "23.5.0";
+  version = "23.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "ludeeus";
     repo = pname;
-    rev = version;
-    hash = "sha256-3bHE3U4MM/fQM9zBYfoLpAObay82vchjX9FpJukMGNg=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-7JJNO25UfzLs1jEO7XpqFFuEqpY4UecUk25hpONRjrI=";
   };
 
   nativeBuildInputs = [
@@ -41,6 +41,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python module to deal with versions";
     homepage = "https://github.com/ludeeus/awesomeversion";
+    changelog = "https://github.com/ludeeus/awesomeversion/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix b/nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix
index c64d29d03990..a32ff89555ce 100644
--- a/nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awkward-cpp/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "awkward-cpp";
-  version = "17";
+  version = "21";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gTO7rxgkjdUgSkF6Ztq5bhti5VUpsrhocOLz7L6xllE=";
+    hash = "sha256-sobmPegDBI/4EvdpxrY28TsNO8vyLhuRsV9s+5WThR4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/awkward/default.nix b/nixpkgs/pkgs/development/python-modules/awkward/default.nix
index 27bd89a039f2..81881d519392 100644
--- a/nixpkgs/pkgs/development/python-modules/awkward/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awkward/default.nix
@@ -8,20 +8,21 @@
 , numba
 , numpy
 , packaging
+, setuptools
 , typing-extensions
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "awkward";
-  version = "2.2.4";
+  version = "2.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-v06mYdoP/WfIfz6x6+MJvS4YOsTsyWqhCyAykZ1d5v4=";
+    hash = "sha256-NLROXEbh4MKvBFuj+4+Wa2u37P9vuQ0Ww8kK+CYWt5E=";
   };
 
   nativeBuildInputs = [
@@ -42,6 +43,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytestCheckHook
     numba
+    setuptools
   ];
 
   disabledTestPaths = [
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 b42e64bdfa22..536a67b48372 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , mock
 , parameterized
+, pip
 , pyelftools
 , pytestCheckHook
 , pythonOlder
@@ -30,6 +31,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     mock
     parameterized
+    pip
     pyelftools
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix b/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
index 09bfabc9f4b7..806016afbffc 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.2.1";
+  version = "3.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -33,10 +33,12 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "aws-sdk-pandas";
     rev = "refs/tags/${version}";
-    hash = "sha256-mpKvg3CM8kMK+RI9XdHHGfy6qlMye+T/B77M4XeTqw0=";
+    hash = "sha256-Sb5yqbEqGmwhPoG21+uMnl8Jdn3Gc455guceQhAflWY=";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
     boto3
@@ -53,7 +55,10 @@ buildPythonPackage rec {
     requests-aws4auth
   ];
 
-  nativeCheckInputs = [ moto pytestCheckHook ];
+  nativeCheckInputs = [
+    moto
+    pytestCheckHook
+  ];
 
   pytestFlagsArray = [
     # Subset of tests that run in upstream CI (many others require credentials)
@@ -65,15 +70,19 @@ buildPythonPackage rec {
   ];
 
   passthru.optional-dependencies = {
-    sqlserver = [ pyodbc ];
-    sparql = [ sparqlwrapper ];
+    sqlserver = [
+      pyodbc
+    ];
+    sparql = [
+      sparqlwrapper
+    ];
   };
 
-  meta = {
+  meta = with lib; {
     description = "Pandas on AWS";
     homepage = "https://github.com/aws/aws-sdk-pandas";
     changelog = "https://github.com/aws/aws-sdk-pandas/releases/tag/${version}";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ mcwitt ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mcwitt ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ax/default.nix b/nixpkgs/pkgs/development/python-modules/ax/default.nix
index be254b3db9ce..e9ca9dba6ca7 100644
--- a/nixpkgs/pkgs/development/python-modules/ax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ax/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "ax";
-  version = "0.3.2";
+  version = "0.3.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = version;
-    hash = "sha256-1KLLjeUktXvIDOlTQzMmpbL/On8PTxZQ44Qi4BT3nPk=";
+    hash = "sha256-Yc6alEKXbtQ0hitIdPhkJWhZQg150b0NJJRLZ+f1hdY=";
   };
 
   nativeBuildInputs = [
@@ -66,6 +66,10 @@ buildPythonPackage rec {
     "--ignore=ax/service/tests/test_with_db_settings_base.py"
     "--ignore=ax/storage"
   ];
+  disabledTests = [
+    # exact comparison of floating points
+    "test_optimize_l0_homotopy"
+  ];
   pythonImportsCheck = [ "ax" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix b/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix
index 8d47f60afcb9..bf6d34adce01 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-eventhub/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "azure-eventhub";
-  version = "5.11.3";
+  version = "5.11.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-mXXMvKHk+U+VtBG5zPbKJcXrRMDssnU/18wGXT5xSK8=";
+    hash = "sha256-aLiaNRUEDxF2+bSWxMdtOBwQd3mu13V8u7mj2r4wqCM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix
index 9d89eae3e07b..1d55b6c78530 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-mgmt-batch/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-batch";
-  version = "17.0.0";
+  version = "17.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-hkM4WVLuwxj4qgXsY8Ya7zu7/v37gKdP0Xbf2EqrsWo=";
+    hash = "sha256-OFv5IImNwtWAeGX75FAZ8QzfvvZRxtv6R0WoQlJduvs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix b/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
index 59451ebeb34a..2caf5996c30c 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-synapse-artifacts/default.nix
@@ -1,29 +1,39 @@
-{ lib, buildPythonPackage, fetchPypi
+{ lib
+, buildPythonPackage
+, fetchPypi
 , azure-common
 , azure-core
+, azure-mgmt-core
 , msrest
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-synapse-artifacts";
-  version = "0.16.0";
+  version = "0.17.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-J96cBqCCajK34M7v+2h6t2ptm7QwmfQt25674Q4Nr94=";
+    hash = "sha256-58k8F/aUBBNJwGBiPZojkSzEXZ3Kd6uEwr0cZbFaM9k=";
   };
 
   propagatedBuildInputs = [
     azure-common
     azure-core
+    azure-mgmt-core
     msrest
   ];
 
   # zero tests run
   doCheck = false;
 
-  pythonImportsCheck = [ "azure.synapse.artifacts" ];
+  pythonImportsCheck = [
+    "azure.synapse.artifacts"
+  ];
 
   meta = with lib; {
     description = "Microsoft Azure Synapse Artifacts Client Library for Python";
diff --git a/nixpkgs/pkgs/development/python-modules/backports-strenum/default.nix b/nixpkgs/pkgs/development/python-modules/backports-strenum/default.nix
new file mode 100644
index 000000000000..a23a79024a48
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/backports-strenum/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, setuptools
+, setuptools-scm
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "backports-strenum";
+  version = "1.2.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "clbarnes";
+    repo = "backports.strenum";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-AhAMVawnBMJ45a3mpthUZvqTeqeCB1Uco4MSusLyA4E=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "backports.strenum"
+  ];
+
+  meta = with lib; {
+    description = "Base class for creating enumerated constants that are also subclasses of str";
+    homepage = "https://github.com/clbarnes/backports.strenum";
+    license = with licenses; [ psfl ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix b/nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix
index a20598b61d01..b2fc1043f29c 100644
--- a/nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/batchgenerators/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "batchgenerators";
-  version = "0.24";
+  version = "0.25";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "MIC-DKFZ";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-47jAeHMJPBk7GpUvXtQuJchgiSy6M50anftsuXWk2ag=";
+    hash = "sha256-L2mWH2t8PN9o1M67KDdl1Tj2ZZ02MY4icsJY2VNrj3A=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/batchspawner/default.nix b/nixpkgs/pkgs/development/python-modules/batchspawner/default.nix
index 70c64827a8ca..f2e8acfe7a0e 100644
--- a/nixpkgs/pkgs/development/python-modules/batchspawner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/batchspawner/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , jupyterhub
+, packaging
 , pythonOlder
 }:
 
@@ -21,6 +22,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     jupyterhub
+    packaging
   ];
 
   # Tests require a job scheduler e.g. slurm, pbs, etc.
@@ -32,8 +34,9 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A spawner for Jupyterhub to spawn notebooks using batch resource managers";
-    homepage = "https://jupyter.org";
+    homepage = "https://github.com/jupyterhub/batchspawner";
+    changelog = "https://github.com/jupyterhub/batchspawner/blob/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
-    maintainers = [ ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bellows/default.nix b/nixpkgs/pkgs/development/python-modules/bellows/default.nix
index 1c1461848658..096fb2289888 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.35.8";
+  version = "0.35.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "bellows";
     rev = "refs/tags/${version}";
-    hash = "sha256-N0Rxa685jWAvlvCTUw3SKF+VqnkIaKyXPU58o9VOrjE=";
+    hash = "sha256-68t6l7/30euGo0dX5HTnGMl65j6UVF2f9fYZH6EhlzI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
index bccd2ddfbeee..a40b51498eb2 100644
--- a/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "bimmer-connected";
-  version = "0.13.9";
+  version = "0.13.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "bimmerconnected";
     repo = "bimmer_connected";
     rev = "refs/tags/${version}";
-    hash = "sha256-iAfP8idJXhAsCnhlGUyMHK723kEER5bCYJNLsvaCrTA=";
+    hash = "sha256-IylA73N3bZOs5HjQGbT6xqokb73iO3bdg5M2KCTX3p4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bitarray/default.nix b/nixpkgs/pkgs/development/python-modules/bitarray/default.nix
index 9ce3dbf8bd02..a301f5757d56 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.0";
+  version = "2.8.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zWmpJqM2PiXpSmRAgwMoPFkIW+ltcVJL2+a/yNouNOA=";
+    hash = "sha256-5ozu81qIYl0WFpVQdo/MjTiUkT42PCTsv2uMB+sCyPM=";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bite-parser/default.nix b/nixpkgs/pkgs/development/python-modules/bite-parser/default.nix
index 82994b9d0d1d..647818078790 100644
--- a/nixpkgs/pkgs/development/python-modules/bite-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bite-parser/default.nix
@@ -5,12 +5,11 @@
 , poetry-core
 , pytest-asyncio
 , pytestCheckHook
-, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "bite-parser";
-  version = "0.2.2";
+  version = "0.2.3";
 
   disabled = pythonOlder "3.8";
 
@@ -19,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "bite_parser";
     inherit version;
-    hash = "sha256-mBghKgrNv4ZaRNowo7csWekmqrI0xAVKJKowSeumr4g=";
+    hash = "sha256-5ZdmOhnxpBI4XGgT4n8JEriqOEkiUZ1Cc96/pyluhe4=";
   };
 
   nativeBuildInputs = [
@@ -29,7 +28,6 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     pytest-asyncio
     pytestCheckHook
-    typing-extensions
   ];
 
   pythonImportsCheck = [ "bite" ];
diff --git a/nixpkgs/pkgs/development/python-modules/bitlist/default.nix b/nixpkgs/pkgs/development/python-modules/bitlist/default.nix
index 4c97f84cc7f3..30198b7a1a17 100644
--- a/nixpkgs/pkgs/development/python-modules/bitlist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitlist/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , setuptools
 , wheel
 , parts
@@ -11,25 +10,16 @@
 
 buildPythonPackage rec {
   pname = "bitlist";
-  version = "1.1.0";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eViakuhgSe9E8ltxzeg8m6/ze7QQvoKBtYZoBZzHxlA=";
+    hash = "sha256-+/rBno+OH7yEiN4K9VC6BCEPuOv8nNp0hU+fWegjqPw=";
   };
 
-  patches = [
-    # https://github.com/lapets/bitlist/pull/1
-    (fetchpatch {
-      name = "unpin-setuptools-dependency.patch";
-      url = "https://github.com/lapets/bitlist/commit/d1f977a9e835852df358b2d93b642a6820619c10.patch";
-      hash = "sha256-BBa6gdhuYsWahtp+Qdp/RigmVHK+uWyK46M1CdD8O2g=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace '--cov=bitlist --cov-report term-missing' ""
diff --git a/nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix b/nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix
index d63b79a1e20b..1bd32dab6741 100644
--- a/nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bitsandbytes/default.nix
@@ -5,6 +5,7 @@
 , pythonOlder
 , pytestCheckHook
 , setuptools
+, wheel
 , torch
 , einops
 , lion-pytorch
@@ -14,7 +15,7 @@
 
 let
   pname = "bitsandbytes";
-  version = "0.38.0";
+  version = "0.41.0";
 
   inherit (torch) cudaCapabilities cudaPackages cudaSupport;
   inherit (cudaPackages) backendStdenv cudaVersion;
@@ -53,14 +54,14 @@ buildPythonPackage {
     owner = "TimDettmers";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-gGlbzTDvZNo4MhcYzLvWuB2ec7q+Qt5/LtTbJ0Rc+Kk=";
+    hash = "sha256-e6SK2ylITookO6bhpfdRp/V4y2S9rk6Lo1PD3xXrcmM=";
   };
 
   postPatch = ''
     substituteInPlace Makefile --replace "/usr/bin/g++" "g++" --replace "lib64" "lib"
     substituteInPlace bitsandbytes/cuda_setup/main.py  \
-      --replace "binary_path = package_dir / binary_name"  \
-                "binary_path = Path('$out/${python.sitePackages}/${pname}')/binary_name"
+      --replace "binary_path = package_dir / self.binary_name"  \
+                "binary_path = Path('$out/${python.sitePackages}/${pname}')/self.binary_name"
   '' + lib.optionalString torch.cudaSupport ''
     substituteInPlace bitsandbytes/cuda_setup/main.py  \
       --replace "/usr/local/cuda/lib64" "${cuda-native-redist}/lib"
@@ -75,15 +76,16 @@ buildPythonPackage {
   else
     ''make CUDA_VERSION=CPU cpuonly'';
 
-  nativeBuildInputs = [ setuptools ] ++ lib.optionals torch.cudaSupport [ cuda-native-redist ];
+  nativeBuildInputs = [ setuptools wheel ] ++ lib.optionals torch.cudaSupport [ cuda-native-redist ];
   buildInputs = lib.optionals torch.cudaSupport [ cuda-redist ];
 
   propagatedBuildInputs = [
+    scipy
     torch
   ];
 
   doCheck = false;  # tests require CUDA and also GPU access
-  nativeCheckInputs = [ pytestCheckHook einops lion-pytorch scipy ];
+  nativeCheckInputs = [ pytestCheckHook einops lion-pytorch ];
 
   pythonImportsCheck = [
     "bitsandbytes"
diff --git a/nixpkgs/pkgs/development/python-modules/blockdiag/default.nix b/nixpkgs/pkgs/development/python-modules/blockdiag/default.nix
index ce100622b585..b2d341b67c1e 100644
--- a/nixpkgs/pkgs/development/python-modules/blockdiag/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blockdiag/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , docutils
 , fetchFromGitHub
+, fetchpatch
 , funcparserlib
 , nose
 , pillow
@@ -28,6 +29,15 @@ buildPythonPackage rec {
     hash = "sha256-j8FoNUIJJOaahaol1MRPyY2jcPCEIlaAD4bmM2QKFFI=";
   };
 
+  patches = [
+    # https://github.com/blockdiag/blockdiag/pull/179
+    (fetchpatch {
+      name = "pillow-10-compatibility.patch";
+      url = "https://github.com/blockdiag/blockdiag/commit/20d780cad84e7b010066cb55f848477957870165.patch";
+      hash = "sha256-t1zWFzAsLL2EUa0nD4Eui4Y5AhAZLRmp/yC9QpzzeUA=";
+    })
+  ];
+
   propagatedBuildInputs = [
     setuptools
     funcparserlib
diff --git a/nixpkgs/pkgs/development/python-modules/blosc2/default.nix b/nixpkgs/pkgs/development/python-modules/blosc2/default.nix
index 87f23b04dcf0..80cec5ca1ec3 100644
--- a/nixpkgs/pkgs/development/python-modules/blosc2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blosc2/default.nix
@@ -3,11 +3,13 @@
 , fetchFromGitHub
 
 # build-system
-, setuptools
-, scikit-build
-, cython
 , cmake
+, cython
 , ninja
+, oldest-supported-numpy
+, scikit-build
+, setuptools
+, wheel
 
 # propagates
 , msgpack
@@ -44,9 +46,10 @@ buildPythonPackage rec {
     cmake
     cython
     ninja
-    numpy
+    oldest-supported-numpy
     scikit-build
     setuptools
+    wheel
   ];
 
   dontUseCmakeConfigure = true;
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 918cba4f54b1..a68f8c8da430 100644
--- a/nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, cython_3
 , poetry-core
 , pytestCheckHook
 , pythonOlder
@@ -9,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-data-tools";
-  version = "1.6.1";
+  version = "1.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,10 +19,15 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-A3zdM2kVmz8cUix9JT8cnIABZK64r6yiZisvb8A1RSQ=";
+    hash = "sha256-EmZPiZKm/80nJpPnJWhI9i4I6MhgQMifLOEUBFLqbSw=";
   };
 
+  # The project can build both an optimized cython version and an unoptimized
+  # python version. This ensures we fail if we build the wrong one.
+  env.REQUIRE_CYTHON = 1;
+
   nativeBuildInputs = [
+    cython_3
     poetry-core
     setuptools
   ];
@@ -43,7 +49,7 @@ buildPythonPackage rec {
     description = "Library for converting bluetooth data and packets";
     homepage = "https://github.com/Bluetooth-Devices/bluetooth-data-tools";
     changelog = "https://github.com/Bluetooth-Devices/bluetooth-data-tools/blob/v${version}/CHANGELOG.md";
-    license = with licenses; [ asl20 ];
+    license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix b/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix
index a83cfc02849d..2c24fe51debf 100644
--- a/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -38,9 +38,10 @@ stdenv.mkDerivation rec {
     mv pip* pip
     mv setuptools* setuptools
     mv wheel* wheel
-    # Set up PYTHONPATH. The above folders need to be on PYTHONPATH
-    # $out is where we are installing to and takes precedence
-    export PYTHONPATH="$out/${python.sitePackages}:$(pwd)/pip/src:$(pwd)/setuptools:$(pwd)/setuptools/pkg_resources:$(pwd)/wheel:$PYTHONPATH"
+    # Set up PYTHONPATH:
+    # - pip and setuptools need to be in PYTHONPATH to install setuptools, wheel, and pip.
+    # - $out is where we are installing to and takes precedence, and is where wheel will end so we can install pip.
+    export PYTHONPATH="$out/${python.sitePackages}:$(pwd)/pip/src:$(pwd)/setuptools:$(pwd)/setuptools/pkg_resources:$PYTHONPATH"
 
     echo "Building setuptools wheel..."
     pushd setuptools
diff --git a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
index 0c76607137cd..df6c9a14dc3e 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.57";
+  version = "0.2.66";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tschamm";
     repo = pname;
     rev = version;
-    hash = "sha256-/TD5zvvtOkoVG+EJzNNSMbOKXm78Di9tDrBIxpN4wbg=";
+    hash = "sha256-0mj1+sbNOE7PBFj99qfqgeYipaRxkQTUIPTPpXueczo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/boto3/default.nix b/nixpkgs/pkgs/development/python-modules/boto3/default.nix
index 09f0938782a5..e6ac07612c40 100644
--- a/nixpkgs/pkgs/development/python-modules/boto3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boto3/default.nix
@@ -10,25 +10,26 @@
 
 buildPythonPackage rec {
   pname = "boto3";
-  version = "1.26.79"; # N.B: if you change this, change botocore and awscli to a matching version
+  version = "1.28.9"; # N.B: if you change this, change botocore and awscli to a matching version
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "boto";
     repo = pname;
     rev = version;
-    hash = "sha256-9Xsng4xZ+IGNZ3ViYVrOyKZdRH6QPSjZALj9Q3HECBU=";
+    hash = "sha256-NkNHA20yn1Q7uoq/EL1Wn8F1fpi1waQujutGIKsnxlI=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     botocore
     jmespath
     s3transfer
-    setuptools
   ];
 
-  doCheck = true;
-
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/botocore/default.nix b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
index f6d62659cdda..1693f2258bcc 100644
--- a/nixpkgs/pkgs/development/python-modules/botocore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botocore/default.nix
@@ -3,7 +3,6 @@
 , fetchPypi
 , python-dateutil
 , jmespath
-, docutils
 , urllib3
 , pytestCheckHook
 , jsonschema
@@ -11,17 +10,17 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.29.79"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.31.9"; # N.B: if you change this, change boto3 and awscli to a matching version
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-x97UQGK+07kolEz7CeFXjtP+0OTJjeTyM/PCBWqNSR4=";
+    hash = "sha256-vYSdOslfF4E4Xtgx11OgSj7IcKWdZZgXWq7dcdwrr18=";
   };
 
   propagatedBuildInputs = [
     python-dateutil
     jmespath
-    docutils
     urllib3
   ];
 
@@ -30,8 +29,6 @@ buildPythonPackage rec {
     jsonschema
   ];
 
-  doCheck = true;
-
   disabledTestPaths = [
     # Integration tests require networking
     "tests/integration"
diff --git a/nixpkgs/pkgs/development/python-modules/botorch/default.nix b/nixpkgs/pkgs/development/python-modules/botorch/default.nix
index ac31c7fdd9a1..5729a7a40a41 100644
--- a/nixpkgs/pkgs/development/python-modules/botorch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botorch/default.nix
@@ -5,7 +5,9 @@
 , linear_operator
 , multipledispatch
 , pyro-ppl
+, setuptools
 , setuptools-scm
+, wheel
 , torch
 , scipy
 , pytestCheckHook
@@ -13,19 +15,22 @@
 
 buildPythonPackage rec {
   pname = "botorch";
-  version = "0.8.5";
+  version = "0.9.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pytorch";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-VcNHgfk8OfLJseQxHksycWuCPCudCtOdcRV0XnxHSfU=";
+    hash = "sha256-8obS+qMQwepKUxPkMbufR/SaacYekl6FA6t6XW6llA4=";
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
+    setuptools
     setuptools-scm
+    wheel
   ];
+
   propagatedBuildInputs = [
     gpytorch
     linear_operator
diff --git a/nixpkgs/pkgs/development/python-modules/broadbean/default.nix b/nixpkgs/pkgs/development/python-modules/broadbean/default.nix
index aa4df0961797..cb2dff1b06e9 100644
--- a/nixpkgs/pkgs/development/python-modules/broadbean/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/broadbean/default.nix
@@ -1,9 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , pythonOlder
 , setuptools
 , versioningit
+, wheel
 , numpy
 , matplotlib
 , schema
@@ -20,10 +22,29 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-e+LAcmWxT+SkaWtToPgg+x3QRu5fCSm+w4dLCcyZrw8=";
+    hash = "sha256-e+LAcmWxT+SkaWtToPgg+x3QRu5fCSm+w4dLCcyZrw8=";
   };
 
-  nativeBuildInputs = [ setuptools versioningit ];
+  patches = [
+    # https://github.com/QCoDeS/broadbean/pull/538
+    (fetchpatch {
+      name = "drop-wheel-from-pyproject.patch";
+      url = "https://github.com/QCoDeS/broadbean/commit/31a2147e4f452fef1ca2b56b1cb0b10ac85ac867.patch";
+      hash = "sha256-lBikIRhaf3ecwE7NZrYWeHkQCHQdfS9eeOcFExGIsVk=";
+    })
+    # https://github.com/QCoDeS/broadbean/pull/638
+    (fetchpatch {
+      name = "unpin-versioningit-dependency.patch";
+      url = "https://github.com/QCoDeS/broadbean/commit/e4fd6c38d076aa3a6542dcd8fa7d2eb9d7a9b789.patch";
+      hash = "sha256-mw68pWAjztWBw22MeoWVbwIwjzMOJRtv6HctN3v6A2A=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+    versioningit
+    wheel
+  ];
 
   propagatedBuildInputs = [
     numpy
diff --git a/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix b/nixpkgs/pkgs/development/python-modules/bthome-ble/default.nix
index 31774f941983..282f0dc09100 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.0.0";
+  version = "3.1.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-dLXeJojGeiwPPxXES1qzay1kC/YiI6pKyxKD2z32Av8=";
+    hash = "sha256-CcLb+2UOLKwfBw3E51LJUZmLqpBw85nLXl1J/oFfEVs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix b/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix
index a04b19e9df21..615468808172 100644
--- a/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bugsnag/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "bugsnag";
-  version = "4.4.0";
+  version = "4.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1vtoDmyulfH3YDdMoT9qBFaRd48nnTBCt0iWuQtk3iw=";
+    hash = "sha256-R/Fg1OMyR8z0tDUDwqu1Sh3sbvq33AXgBScr3WNm/QY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/build/default.nix b/nixpkgs/pkgs/development/python-modules/build/default.nix
index e7c45afdd317..0eaad47c44f0 100644
--- a/nixpkgs/pkgs/development/python-modules/build/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/build/default.nix
@@ -86,6 +86,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/pypa/build";
     changelog = "https://github.com/pypa/build/blob/${version}/CHANGELOG.rst";
     license = licenses.mit;
-    maintainers = with maintainers; [ fab ];
+    maintainers = teams.python.members ++ [ maintainers.fab ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bx-python/default.nix b/nixpkgs/pkgs/development/python-modules/bx-python/default.nix
index 085fc210f1b8..5fc21676d261 100644
--- a/nixpkgs/pkgs/development/python-modules/bx-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bx-python/default.nix
@@ -1,27 +1,49 @@
-{ lib, fetchFromGitHub, buildPythonPackage, pythonOlder, numpy, cython, zlib, six
-, python-lzo, nose }:
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pythonOlder
+, numpy
+, cython
+, zlib
+, python-lzo
+, nose
+}:
 
 buildPythonPackage rec {
   pname = "bx-python";
-  version = "0.9.0";
-  disabled = pythonOlder "3.6";
+  version = "0.10.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bxlab";
     repo = "bx-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Pi4hV3FatCXoXY3nNgqm5UfWYIrpP/v5PzzCi3gmIbE=";
+    hash = "sha256-j2GKj2IGDBk4LBnISRx6ZW/lh5VSdQBasC0gCRj0Fiw=";
   };
 
-  nativeBuildInputs = [ cython ];
-  buildInputs = [ zlib ];
-  propagatedBuildInputs = [ numpy six python-lzo ];
-  nativeCheckInputs = [ nose ];
+  nativeBuildInputs = [
+    cython
+  ];
+
+  buildInputs = [
+    zlib
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    python-lzo
+  ];
+
+  nativeCheckInputs = [
+    nose
+  ];
 
   postInstall = ''
     cp -r scripts/* $out/bin
 
-    # This is a small hack; the test suit uses the scripts which need to
+    # This is a small hack; the test suite uses the scripts which need to
     # be patched. Linking the patched scripts in $out back to the
     # working directory allows the tests to run
     rm -rf scripts
@@ -29,11 +51,11 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
+    description = "Tools for manipulating biological data, particularly multiple sequence alignments";
     homepage = "https://github.com/bxlab/bx-python";
-    description =
-      "Tools for manipulating biological data, particularly multiple sequence alignments";
+    changelog = "https://github.com/bxlab/bx-python/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [ maintainers.jbedo ];
+    maintainers = with maintainers; [ jbedo ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/bytewax/Cargo.lock b/nixpkgs/pkgs/development/python-modules/bytewax/Cargo.lock
new file mode 100644
index 000000000000..2837d3c6ca95
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bytewax/Cargo.lock
@@ -0,0 +1,3029 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "abomonation"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56e72913c99b1f927aa7bd59a41518fdd9995f63ffc8760f211609e0241c4fb2"
+
+[[package]]
+name = "abomonation_derive"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e50e2a046af56a864c62d97b7153fda72c596e646be1b0c7963736821f6e1efa"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "synstructure",
+]
+
+[[package]]
+name = "ahash"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "ahash"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+ "version_check",
+]
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.71"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+
+[[package]]
+name = "async-stream"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51"
+dependencies = [
+ "async-stream-impl",
+ "futures-core",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "async-stream-impl"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+]
+
+[[package]]
+name = "async-trait"
+version = "0.1.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+]
+
+[[package]]
+name = "atoi"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "axum"
+version = "0.5.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acee9fd5073ab6b045a275b3e709c163dd36c90685219cb21804a147b58dba43"
+dependencies = [
+ "async-trait",
+ "axum-core 0.2.9",
+ "bitflags",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "itoa",
+ "matchit 0.5.0",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "tokio",
+ "tower",
+ "tower-http",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum"
+version = "0.6.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8175979259124331c1d7bf6586ee7e0da434155e4b2d48ec2c8386281d8df39"
+dependencies = [
+ "async-trait",
+ "axum-core 0.3.4",
+ "bitflags",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "itoa",
+ "matchit 0.7.0",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustversion",
+ "serde",
+ "sync_wrapper",
+ "tower",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37e5939e02c56fecd5c017c37df4238c0a839fa76b7f97acdd7efb804fd181cc"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "mime",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "axum-core"
+version = "0.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "mime",
+ "rustversion",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "base64"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+[[package]]
+name = "base64"
+version = "0.21.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
+
+[[package]]
+name = "bincode"
+version = "1.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
+dependencies = [
+ "serde",
+]
+
+[[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.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+
+[[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 = "bytewax"
+version = "0.16.2"
+dependencies = [
+ "axum 0.5.17",
+ "bincode",
+ "chrono",
+ "futures",
+ "num",
+ "openssl-src",
+ "opentelemetry",
+ "opentelemetry-jaeger",
+ "opentelemetry-otlp",
+ "pyo3",
+ "rdkafka",
+ "sasl2-sys",
+ "serde",
+ "serde_test",
+ "sqlx",
+ "timely",
+ "tokio",
+ "tracing",
+ "tracing-opentelemetry",
+ "tracing-subscriber",
+]
+
+[[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 = "chrono"
+version = "0.4.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "num-traits",
+ "serde",
+ "winapi",
+]
+
+[[package]]
+name = "cmake"
+version = "0.1.50"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "columnation"
+version = "0.1.0"
+source = "git+https://github.com/frankmcsherry/columnation#eb8e20c10e748dcbfe6266be8e24e14422d3de0f"
+dependencies = [
+ "paste",
+]
+
+[[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.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3e4c1eaa2012c47becbbad2ab175484c2a84d1185b566fb2cc5b8707343dfe58"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe"
+dependencies = [
+ "crc-catalog",
+]
+
+[[package]]
+name = "crc-catalog"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484"
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-queue"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
+dependencies = [
+ "cfg-if",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c063cd8cc95f5c377ed0d4b49a4b21f632396ff690e8470c29b3359b346984b"
+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 = "dashmap"
+version = "5.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edc"
+dependencies = [
+ "cfg-if",
+ "hashbrown 0.12.3",
+ "lock_api",
+ "once_cell",
+ "parking_lot_core 0.9.7",
+]
+
+[[package]]
+name = "digest"
+version = "0.10.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+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 = "dotenvy"
+version = "0.15.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
+
+[[package]]
+name = "duct"
+version = "0.13.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37ae3fc31835f74c2a7ceda3aeede378b0ae2e74c8f1c36559fcc9ae2a4e7d3e"
+dependencies = [
+ "libc",
+ "once_cell",
+ "os_pipe",
+ "shared_child",
+]
+
+[[package]]
+name = "either"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+
+[[package]]
+name = "encoding_rs"
+version = "0.8.32"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "errno"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "errno-dragonfly"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+dependencies = [
+ "cc",
+ "libc",
+]
+
+[[package]]
+name = "event-listener"
+version = "2.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+
+[[package]]
+name = "fastrand"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "fixedbitset"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
+
+[[package]]
+name = "flume"
+version = "0.10.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "pin-project",
+ "spin 0.9.8",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[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 = "futures"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-intrusive"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5"
+dependencies = [
+ "futures-core",
+ "lock_api",
+ "parking_lot 0.11.2",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+]
+
+[[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-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "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 = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "h2"
+version = "0.3.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d357c7ae988e7d2182f7d7871d0b963962420b0678b0997ce7de72001aeab782"
+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 = "hashbrown"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+dependencies = [
+ "ahash 0.8.3",
+]
+
+[[package]]
+name = "hashlink"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0761a1b9491c4f2e3d66aa0f62d0fba0af9a0e2852e4d48ea506632a4b56e6aa"
+dependencies = [
+ "hashbrown 0.13.2",
+]
+
+[[package]]
+name = "heck"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[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 = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hkdf"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+dependencies = [
+ "hmac",
+]
+
+[[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 = "http-range-header"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29"
+
+[[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"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
+
+[[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-timeout"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1"
+dependencies = [
+ "hyper",
+ "pin-project-lite",
+ "tokio",
+ "tokio-io-timeout",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.56"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
+[[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 0.12.3",
+]
+
+[[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 = "integer-encoding"
+version = "3.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02"
+
+[[package]]
+name = "io-lifetimes"
+version = "1.0.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
+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 = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+
+[[package]]
+name = "js-sys"
+version = "0.3.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "krb5-src"
+version = "0.3.2+1.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "44cd3b7e7735d48bc3793837041294f2eb747bd0f63bbc081e89972abb9e48fb"
+dependencies = [
+ "duct",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.144"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
+
+[[package]]
+name = "libsqlite3-sys"
+version = "0.24.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14"
+dependencies = [
+ "cc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "libz-sys"
+version = "1.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de"
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata",
+]
+
+[[package]]
+name = "matchit"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb"
+
+[[package]]
+name = "matchit"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b87248edafb776e59e6ee64a79086f65890d3510f2c656c000bf2a7e8a0aea40"
+
+[[package]]
+name = "md-5"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memoffset"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1"
+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 = "mio"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "multimap"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a"
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "nu-ansi-term"
+version = "0.46.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
+dependencies = [
+ "overload",
+ "winapi",
+]
+
+[[package]]
+name = "num"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606"
+dependencies = [
+ "num-bigint",
+ "num-complex",
+ "num-integer",
+ "num-iter",
+ "num-rational",
+ "num-traits",
+]
+
+[[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-complex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d"
+dependencies = [
+ "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-iter"
+version = "0.1.43"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-rational"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+dependencies = [
+ "autocfg",
+ "num-bigint",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+dependencies = [
+ "hermit-abi 0.2.6",
+ "libc",
+]
+
+[[package]]
+name = "num_enum"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9"
+dependencies = [
+ "num_enum_derive",
+]
+
+[[package]]
+name = "num_enum_derive"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
+dependencies = [
+ "proc-macro-crate",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.17.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9670a07f94779e00908f3e686eab508878ebb390ba6e604d3a284c00e8d0487b"
+
+[[package]]
+name = "openssl-src"
+version = "111.26.0+1.1.1u"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "efc62c9f12b22b8f5208c23a7200a442b2e5999f8bdf80233852122b5a4f6f37"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "openssl-sys"
+version = "0.9.88"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617"
+dependencies = [
+ "cc",
+ "libc",
+ "openssl-src",
+ "pkg-config",
+ "vcpkg",
+]
+
+[[package]]
+name = "opentelemetry"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69d6c3d7288a106c0a363e4b0e8d308058d56902adefb16f4936f417ffef086e"
+dependencies = [
+ "opentelemetry_api",
+ "opentelemetry_sdk",
+]
+
+[[package]]
+name = "opentelemetry-http"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1edc79add46364183ece1a4542592ca593e6421c60807232f5b8f7a31703825d"
+dependencies = [
+ "async-trait",
+ "bytes",
+ "http",
+ "opentelemetry_api",
+ "reqwest",
+]
+
+[[package]]
+name = "opentelemetry-jaeger"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e785d273968748578931e4dc3b4f5ec86b26e09d9e0d66b55adda7fce742f7a"
+dependencies = [
+ "async-trait",
+ "futures",
+ "futures-executor",
+ "once_cell",
+ "opentelemetry",
+ "opentelemetry-semantic-conventions",
+ "thiserror",
+ "thrift",
+ "tokio",
+]
+
+[[package]]
+name = "opentelemetry-otlp"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d1c928609d087790fc936a1067bdc310ae702bdf3b090c3f281b713622c8bbde"
+dependencies = [
+ "async-trait",
+ "futures",
+ "futures-util",
+ "http",
+ "opentelemetry",
+ "opentelemetry-http",
+ "opentelemetry-proto",
+ "prost",
+ "reqwest",
+ "thiserror",
+ "tokio",
+ "tonic",
+]
+
+[[package]]
+name = "opentelemetry-proto"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d61a2f56df5574508dd86aaca016c917489e589ece4141df1b5e349af8d66c28"
+dependencies = [
+ "futures",
+ "futures-util",
+ "opentelemetry",
+ "prost",
+ "tonic",
+ "tonic-build",
+]
+
+[[package]]
+name = "opentelemetry-semantic-conventions"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b02e0230abb0ab6636d18e2ba8fa02903ea63772281340ccac18e0af3ec9eeb"
+dependencies = [
+ "opentelemetry",
+]
+
+[[package]]
+name = "opentelemetry_api"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c24f96e21e7acc813c7a8394ee94978929db2bcc46cf6b5014fc612bf7760c22"
+dependencies = [
+ "fnv",
+ "futures-channel",
+ "futures-util",
+ "indexmap",
+ "js-sys",
+ "once_cell",
+ "pin-project-lite",
+ "thiserror",
+]
+
+[[package]]
+name = "opentelemetry_sdk"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ca41c4933371b61c2a2f214bf16931499af4ec90543604ec828f7a625c09113"
+dependencies = [
+ "async-trait",
+ "crossbeam-channel",
+ "dashmap",
+ "fnv",
+ "futures-channel",
+ "futures-executor",
+ "futures-util",
+ "once_cell",
+ "opentelemetry_api",
+ "percent-encoding",
+ "rand",
+ "thiserror",
+ "tokio",
+ "tokio-stream",
+]
+
+[[package]]
+name = "ordered-float"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3305af35278dd29f46fcdd139e0b1fbfae2153f0e5928b39b035542dd31e37b7"
+dependencies = [
+ "num-traits",
+]
+
+[[package]]
+name = "os_pipe"
+version = "1.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "overload"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
+
+[[package]]
+name = "parking_lot"
+version = "0.11.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+dependencies = [
+ "instant",
+ "lock_api",
+ "parking_lot_core 0.8.6",
+]
+
+[[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 0.9.7",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.8.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
+dependencies = [
+ "cfg-if",
+ "instant",
+ "libc",
+ "redox_syscall 0.2.16",
+ "smallvec",
+ "winapi",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall 0.2.16",
+ "smallvec",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "paste"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
+
+[[package]]
+name = "percent-encoding"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+[[package]]
+name = "petgraph"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4"
+dependencies = [
+ "fixedbitset",
+ "indexmap",
+]
+
+[[package]]
+name = "pin-project"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.9"
+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"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "prettyplease"
+version = "0.1.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86"
+dependencies = [
+ "proc-macro2",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
+dependencies = [
+ "once_cell",
+ "toml_edit",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.59"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "prost"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd"
+dependencies = [
+ "bytes",
+ "prost-derive",
+]
+
+[[package]]
+name = "prost-build"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270"
+dependencies = [
+ "bytes",
+ "heck",
+ "itertools",
+ "lazy_static",
+ "log",
+ "multimap",
+ "petgraph",
+ "prettyplease",
+ "prost",
+ "prost-types",
+ "regex",
+ "syn 1.0.109",
+ "tempfile",
+ "which",
+]
+
+[[package]]
+name = "prost-derive"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
+dependencies = [
+ "anyhow",
+ "itertools",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13"
+dependencies = [
+ "prost",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109"
+dependencies = [
+ "cfg-if",
+ "chrono",
+ "indoc",
+ "libc",
+ "memoffset",
+ "parking_lot 0.12.1",
+ "pyo3-build-config",
+ "pyo3-ffi",
+ "pyo3-macros",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-build-config"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3"
+dependencies = [
+ "once_cell",
+ "target-lexicon",
+]
+
+[[package]]
+name = "pyo3-ffi"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c"
+dependencies = [
+ "libc",
+ "pyo3-build-config",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d"
+dependencies = [
+ "proc-macro2",
+ "pyo3-macros-backend",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.18.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rdkafka"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1de127f294f2dba488ed46760b129d5ecbeabbd337ccbf3739cb29d50db2161c"
+dependencies = [
+ "futures",
+ "libc",
+ "log",
+ "rdkafka-sys",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "slab",
+ "tokio",
+]
+
+[[package]]
+name = "rdkafka-sys"
+version = "4.4.0+1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87ac9d87c3aba1748e3112318459f2ac8bff80bfff7359e338e0463549590249"
+dependencies = [
+ "cmake",
+ "libc",
+ "libz-sys",
+ "num_enum",
+ "openssl-sys",
+ "pkg-config",
+ "sasl2-sys",
+]
+
+[[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",
+]
+
+[[package]]
+name = "redox_users"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+dependencies = [
+ "getrandom",
+ "redox_syscall 0.2.16",
+ "thiserror",
+]
+
+[[package]]
+name = "regex"
+version = "1.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390"
+dependencies = [
+ "regex-syntax 0.7.2",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+dependencies = [
+ "regex-syntax 0.6.29",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.29"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
+
+[[package]]
+name = "regex-syntax"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+
+[[package]]
+name = "reqwest"
+version = "0.11.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55"
+dependencies = [
+ "base64 0.21.2",
+ "bytes",
+ "encoding_rs",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+ "winreg",
+]
+
+[[package]]
+name = "ring"
+version = "0.16.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+dependencies = [
+ "cc",
+ "libc",
+ "once_cell",
+ "spin 0.5.2",
+ "untrusted",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustix"
+version = "0.37.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "acf8729d8542766f1b2cf77eb034d52f40d375bb8b615d0b147089946e16613d"
+dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rustls"
+version = "0.20.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+dependencies = [
+ "log",
+ "ring",
+ "sct",
+ "webpki",
+]
+
+[[package]]
+name = "rustls-pemfile"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b"
+dependencies = [
+ "base64 0.21.2",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+
+[[package]]
+name = "ryu"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+
+[[package]]
+name = "sasl2-sys"
+version = "0.1.20+2.1.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e645bd98535fc8fd251c43ba7c7c1f9be1e0369c99b6a5ea719052a773e655c"
+dependencies = [
+ "cc",
+ "duct",
+ "krb5-src",
+ "libc",
+ "openssl-sys",
+ "pkg-config",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "sct"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.163"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.163"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+]
+
+[[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_test"
+version = "1.0.163"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "100168a8017b89fd4bcbeb8d857d95a8cfcbde829a7147c09cc82d3ab8d8cb41"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "serde_urlencoded"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+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 = "sharded-slab"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
+dependencies = [
+ "lazy_static",
+]
+
+[[package]]
+name = "shared_child"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+dependencies = [
+ "libc",
+]
+
+[[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"
+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",
+]
+
+[[package]]
+name = "spin"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+[[package]]
+name = "spin"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+dependencies = [
+ "lock_api",
+]
+
+[[package]]
+name = "sqlformat"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e"
+dependencies = [
+ "itertools",
+ "nom",
+ "unicode_categories",
+]
+
+[[package]]
+name = "sqlx"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188"
+dependencies = [
+ "sqlx-core",
+ "sqlx-macros",
+]
+
+[[package]]
+name = "sqlx-core"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029"
+dependencies = [
+ "ahash 0.7.6",
+ "atoi",
+ "base64 0.13.1",
+ "bitflags",
+ "byteorder",
+ "bytes",
+ "chrono",
+ "crc",
+ "crossbeam-queue",
+ "dirs",
+ "dotenvy",
+ "either",
+ "event-listener",
+ "flume",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-intrusive",
+ "futures-util",
+ "hashlink",
+ "hex",
+ "hkdf",
+ "hmac",
+ "indexmap",
+ "itoa",
+ "libc",
+ "libsqlite3-sys",
+ "log",
+ "md-5",
+ "memchr",
+ "once_cell",
+ "paste",
+ "percent-encoding",
+ "rand",
+ "rustls",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "sha1",
+ "sha2",
+ "smallvec",
+ "sqlformat",
+ "sqlx-rt",
+ "stringprep",
+ "thiserror",
+ "tokio-stream",
+ "url",
+ "webpki-roots",
+ "whoami",
+]
+
+[[package]]
+name = "sqlx-macros"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9"
+dependencies = [
+ "dotenvy",
+ "either",
+ "heck",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "sha2",
+ "sqlx-core",
+ "sqlx-rt",
+ "syn 1.0.109",
+ "url",
+]
+
+[[package]]
+name = "sqlx-rt"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024"
+dependencies = [
+ "once_cell",
+ "tokio",
+ "tokio-rustls",
+]
+
+[[package]]
+name = "stringprep"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "subtle"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+
+[[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.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32d41677bcbe24c20c52e7c70b0d8db04134c5d1066bf98662e2871ad200ea3e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "sync_wrapper"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+[[package]]
+name = "synstructure"
+version = "0.12.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "unicode-xid",
+]
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5"
+
+[[package]]
+name = "tempfile"
+version = "3.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall 0.3.5",
+ "rustix",
+ "windows-sys 0.45.0",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+]
+
+[[package]]
+name = "thread_local"
+version = "1.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+dependencies = [
+ "cfg-if",
+ "once_cell",
+]
+
+[[package]]
+name = "threadpool"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+dependencies = [
+ "num_cpus",
+]
+
+[[package]]
+name = "thrift"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09678c4cdbb4eed72e18b7c2af1329c69825ed16fcbac62d083fc3e2b0590ff0"
+dependencies = [
+ "byteorder",
+ "integer-encoding",
+ "log",
+ "ordered-float",
+ "threadpool",
+]
+
+[[package]]
+name = "timely"
+version = "0.12.0"
+source = "git+https://github.com/TimelyDataflow/timely-dataflow.git?rev=432ef57#432ef57fae761f1e4773833b0474b41f1efe7e7c"
+dependencies = [
+ "abomonation",
+ "abomonation_derive",
+ "crossbeam-channel",
+ "futures-util",
+ "getopts",
+ "serde",
+ "serde_derive",
+ "timely_bytes",
+ "timely_communication",
+ "timely_container",
+ "timely_logging",
+]
+
+[[package]]
+name = "timely_bytes"
+version = "0.12.0"
+source = "git+https://github.com/TimelyDataflow/timely-dataflow.git?rev=432ef57#432ef57fae761f1e4773833b0474b41f1efe7e7c"
+
+[[package]]
+name = "timely_communication"
+version = "0.12.0"
+source = "git+https://github.com/TimelyDataflow/timely-dataflow.git?rev=432ef57#432ef57fae761f1e4773833b0474b41f1efe7e7c"
+dependencies = [
+ "abomonation",
+ "abomonation_derive",
+ "bincode",
+ "crossbeam-channel",
+ "getopts",
+ "serde",
+ "serde_derive",
+ "timely_bytes",
+ "timely_logging",
+]
+
+[[package]]
+name = "timely_container"
+version = "0.12.0"
+source = "git+https://github.com/TimelyDataflow/timely-dataflow.git?rev=432ef57#432ef57fae761f1e4773833b0474b41f1efe7e7c"
+dependencies = [
+ "columnation",
+ "serde",
+]
+
+[[package]]
+name = "timely_logging"
+version = "0.12.0"
+source = "git+https://github.com/TimelyDataflow/timely-dataflow.git?rev=432ef57#432ef57fae761f1e4773833b0474b41f1efe7e7c"
+
+[[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 = "tokio"
+version = "1.28.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2"
+dependencies = [
+ "autocfg",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "parking_lot 0.12.1",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2",
+ "tokio-macros",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "tokio-io-timeout"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf"
+dependencies = [
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+]
+
+[[package]]
+name = "tokio-rustls"
+version = "0.23.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
+dependencies = [
+ "rustls",
+ "tokio",
+ "webpki",
+]
+
+[[package]]
+name = "tokio-stream"
+version = "0.1.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
+dependencies = [
+ "futures-core",
+ "pin-project-lite",
+ "tokio",
+]
+
+[[package]]
+name = "tokio-util"
+version = "0.7.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a76a9312f5ba4c2dec6b9161fdf25d87ad8a09256ccea5a556fef03c706a10f"
+
+[[package]]
+name = "toml_edit"
+version = "0.19.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2380d56e8670370eee6566b0bfd4265f65b3f432e8c6d85623f728d4fa31f739"
+dependencies = [
+ "indexmap",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
+name = "tonic"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f219fad3b929bef19b1f86fbc0358d35daed8f2cac972037ac0dc10bbb8d5fb"
+dependencies = [
+ "async-stream",
+ "async-trait",
+ "axum 0.6.18",
+ "base64 0.13.1",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-timeout",
+ "percent-encoding",
+ "pin-project",
+ "prost",
+ "prost-derive",
+ "tokio",
+ "tokio-stream",
+ "tokio-util",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+ "tracing-futures",
+]
+
+[[package]]
+name = "tonic-build"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bf5e9b9c0f7e0a7c027dcfaba7b2c60816c7049171f679d99ee2ff65d0de8c4"
+dependencies = [
+ "prettyplease",
+ "proc-macro2",
+ "prost-build",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "tower"
+version = "0.4.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
+dependencies = [
+ "futures-core",
+ "futures-util",
+ "indexmap",
+ "pin-project",
+ "pin-project-lite",
+ "rand",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[package]]
+name = "tower-http"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858"
+dependencies = [
+ "bitflags",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "http",
+ "http-body",
+ "http-range-header",
+ "pin-project-lite",
+ "tower",
+ "tower-layer",
+ "tower-service",
+]
+
+[[package]]
+name = "tower-layer"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
+
+[[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",
+ "log",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+]
+
+[[package]]
+name = "tracing-core"
+version = "0.1.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+dependencies = [
+ "once_cell",
+ "valuable",
+]
+
+[[package]]
+name = "tracing-futures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
+dependencies = [
+ "pin-project",
+ "tracing",
+]
+
+[[package]]
+name = "tracing-log"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
+dependencies = [
+ "lazy_static",
+ "log",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-opentelemetry"
+version = "0.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21ebb87a95ea13271332df069020513ab70bdb5637ca42d6e492dc3bbbad48de"
+dependencies = [
+ "once_cell",
+ "opentelemetry",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "tracing-subscriber"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+dependencies = [
+ "matchers",
+ "nu-ansi-term",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "smallvec",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+ "tracing-log",
+]
+
+[[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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.10.1"
+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-xid"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+[[package]]
+name = "unicode_categories"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
+
+[[package]]
+name = "unindent"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[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 = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[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.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-futures"
+version = "0.4.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e"
+dependencies = [
+ "cfg-if",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.18",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
+
+[[package]]
+name = "web-sys"
+version = "0.3.63"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "webpki"
+version = "0.22.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd"
+dependencies = [
+ "ring",
+ "untrusted",
+]
+
+[[package]]
+name = "webpki-roots"
+version = "0.22.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87"
+dependencies = [
+ "webpki",
+]
+
+[[package]]
+name = "which"
+version = "4.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269"
+dependencies = [
+ "either",
+ "libc",
+ "once_cell",
+]
+
+[[package]]
+name = "whoami"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c70234412ca409cc04e864e89523cb0fc37f5e1344ebed5a3ebf4192b6b9f68"
+dependencies = [
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+dependencies = [
+ "windows-targets 0.48.0",
+]
+
+[[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",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+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",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.2"
+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"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.2"
+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"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.2"
+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"
+
+[[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.42.2"
+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"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.2"
+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"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.2"
+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 = "winnow"
+version = "0.4.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61de7bac303dc551fe038e2b3cef0f571087a47571ea6e79a87692ac99b99699"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "winreg"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
+dependencies = [
+ "winapi",
+]
diff --git a/nixpkgs/pkgs/development/python-modules/bytewax/default.nix b/nixpkgs/pkgs/development/python-modules/bytewax/default.nix
index e975dc32aee8..61e6b3142fb9 100644
--- a/nixpkgs/pkgs/development/python-modules/bytewax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bytewax/default.nix
@@ -1,41 +1,47 @@
 { lib
 , stdenv
 , buildPythonPackage
+, cmake
+, confluent-kafka
+, cyrus_sasl
 , fetchFromGitHub
-, rustPlatform
-, setuptools-rust
 , openssl
 , pkg-config
-, cyrus_sasl
 , protobuf
-, cmake
-, gcc
-, confluent-kafka
 , pytestCheckHook
-, pythonAtLeast
+, pythonOlder
+, rustPlatform
+, setuptools-rust
 }:
 
 buildPythonPackage rec {
   pname = "bytewax";
-  version = "0.16.0";
+  version = "0.16.2";
   format = "pyproject";
 
-  disabled = pythonAtLeast "3.11";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bytewax";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-XdFkFhN8Z15Zw5HZ2wmnNFoTzyRtIbB7TAtOpKwuKyY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-PHjKEZMNhtLliOSGt4XHQFDm8Rc4TejQUVSqFN6Au38=";
+  };
+
+  env = {
+    OPENSSL_NO_VENDOR = true;
   };
 
   # Remove docs tests, myst-docutils in nixpkgs is not compatible with package requirements.
   # Package uses old version.
   patches = [ ./remove-docs-test.patch ];
 
-  cargoDeps = rustPlatform.fetchCargoTarball {
-    inherit src;
-    hash = "sha256-XGE1qPHi13/+8jjNCIgfzPudw561T0vUfJv5xnKySAg=";
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "columnation-0.1.0" = "sha256-RAyZKR+sRmeWGh7QYPZnJgX9AtWqmca85HcABEFUgX8=";
+      "timely-0.12.0" = "sha256-sZuVLBDCXurIe38m4UAjEuFeh73VQ5Jawy+sr3U/HbI=";
+    };
   };
 
   nativeBuildInputs = [
@@ -53,18 +59,28 @@ buildPythonPackage rec {
     protobuf
   ];
 
+  passthru.optional-dependencies = {
+    kafka = [
+      confluent-kafka
+    ];
+  };
+
   preCheck = ''
     export PY_IGNORE_IMPORTMISMATCH=1
   '';
 
   checkInputs = [
     pytestCheckHook
-    confluent-kafka
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  pythonImportsCheck = [
+    "bytewax"
   ];
 
   meta = with lib; {
     description = "Python Stream Processing";
     homepage = "https://github.com/bytewax/bytewax";
+    changelog = "https://github.com/bytewax/bytewax/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ mslingsby kfollesdal ];
     # mismatched type expected u8, found i8
diff --git a/nixpkgs/pkgs/development/python-modules/caio/default.nix b/nixpkgs/pkgs/development/python-modules/caio/default.nix
index b34bebb57e82..ee1bdc8dc62f 100644
--- a/nixpkgs/pkgs/development/python-modules/caio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/caio/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "caio";
-  version = "0.9.12";
+  version = "0.9.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "mosquito";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-uMq/3yWP9OwaVxixGAFCLMsDPoJhmIuG0I7hO7AnIOk=";
+    hash = "sha256-Q87NuL6yZ5uKImQqqdKTMWNyfUOb4NaZDEvNdqZbHDk=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cairocffi/default.nix b/nixpkgs/pkgs/development/python-modules/cairocffi/default.nix
index 1eaed132fc6d..ff79eacf99b8 100644
--- a/nixpkgs/pkgs/development/python-modules/cairocffi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cairocffi/default.nix
@@ -8,27 +8,28 @@
 , makeFontsConf
 , freefont_ttf
 , pikepdf
-, pytest
-, glibcLocales
+, pytestCheckHook
 , cairo
 , cffi
 , numpy
 , withXcffib ? false
 , xcffib
-, python
 , glib
 , gdk-pixbuf
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "cairocffi";
-  version = "1.4.0";
+  version = "1.5.1";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.7";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UJM5syzNjXsAwiBMMnNs3njbU6MuahYtMSR40lYmzZo=";
+    hash = "sha256-Bxq3ty41MzALC/1VpSBWtP/cHtbmVneeKs7Ztwm4opU=";
   };
 
   patches = [
@@ -43,36 +44,23 @@ buildPythonPackage rec {
     ./fix_test_scaled_font.patch
   ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "pytest-runner" "" \
-      --replace "pytest-cov" "" \
-      --replace "pytest-flake8" "" \
-      --replace "pytest-isort" "" \
-      --replace "--flake8 --isort" ""
-  '';
-
-  LC_ALL = "en_US.UTF-8";
-
-  # checkPhase require at least one 'normal' font and one 'monospace',
-  # otherwise glyph tests fails
-  FONTCONFIG_FILE = makeFontsConf {
-    fontDirectories = [ freefont_ttf ];
-  };
+  nativeBuildInputs = [
+    setuptools
+  ];
 
   propagatedNativeBuildInputs = [ cffi ];
 
   propagatedBuildInputs = [ cairo cffi ]
     ++ lib.optional withXcffib xcffib;
 
-  # pytestCheckHook does not work
-  nativeCheckInputs = [ numpy pikepdf pytest glibcLocales ];
-
-  checkPhase = ''
-    py.test $out/${python.sitePackages}
-  '';
+  nativeCheckInputs = [
+    numpy
+    pikepdf
+    pytestCheckHook
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/Kozea/cairocffi/blob/v${version}/NEWS.rst";
     homepage = "https://github.com/SimonSapin/cairocffi";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
diff --git a/nixpkgs/pkgs/development/python-modules/caldav/default.nix b/nixpkgs/pkgs/development/python-modules/caldav/default.nix
index c53eb0e20bce..15daa3b0697c 100644
--- a/nixpkgs/pkgs/development/python-modules/caldav/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/caldav/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "caldav";
-  version = "1.2.1";
+  version = "1.3.6";
 
   format = "setuptools";
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "python-caldav";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-nA7if28M4rDZwlF+ga/1FqD838zeu0OblrPUer3w3qM=";
+    hash = "sha256-N3pY3UYxOZgZbXqqsvASej12dOtdpyEHOL10btOKm/w=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/calver/default.nix b/nixpkgs/pkgs/development/python-modules/calver/default.nix
index 398e07b39df8..4b400f218739 100644
--- a/nixpkgs/pkgs/development/python-modules/calver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/calver/default.nix
@@ -6,37 +6,43 @@
 , pytestCheckHook
 }:
 
-buildPythonPackage rec {
-  pname = "calver";
-  version = "2022.06.26";
-
-  disabled = pythonOlder "3.5";
-
-  format = "setuptools";
-
-  src = fetchFromGitHub {
-    owner = "di";
-    repo = "calver";
-    rev = version;
-    hash = "sha256-YaXTkeUazwzghCX96Wfx39hGvukWKtHMLLeyF9OeiZI=";
-  };
-
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "version=calver_version(True)" 'version="${version}"'
-  '';
-
-  nativeCheckInputs = [
-    pretend
-    pytestCheckHook
-  ];
-
-  pythonImportsCheck = [ "calver" ];
-
-  meta = {
-    description = "Setuptools extension for CalVer package versions";
-    homepage = "https://github.com/di/calver";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ dotlambda ];
+let
+  self = buildPythonPackage rec {
+    pname = "calver";
+    version = "2022.06.26";
+    format = "setuptools";
+
+    disabled = pythonOlder "3.5";
+
+    src = fetchFromGitHub {
+      owner = "di";
+      repo = "calver";
+      rev = version;
+      hash = "sha256-YaXTkeUazwzghCX96Wfx39hGvukWKtHMLLeyF9OeiZI=";
+    };
+
+    postPatch = ''
+      substituteInPlace setup.py \
+        --replace "version=calver_version(True)" 'version="${version}"'
+    '';
+
+    doCheck = false; # avoid infinite recursion with hatchling
+
+    nativeCheckInputs = [
+      pretend
+      pytestCheckHook
+    ];
+
+    pythonImportsCheck = [ "calver" ];
+
+    passthru.tests.calver = self.overridePythonAttrs { doCheck = true; };
+
+    meta = {
+      description = "Setuptools extension for CalVer package versions";
+      homepage = "https://github.com/di/calver";
+      license = lib.licenses.asl20;
+      maintainers = with lib.maintainers; [ dotlambda ];
+    };
   };
-}
+in
+  self
diff --git a/nixpkgs/pkgs/development/python-modules/captcha/default.nix b/nixpkgs/pkgs/development/python-modules/captcha/default.nix
index d040c2e7bf76..807272da5b1c 100644
--- a/nixpkgs/pkgs/development/python-modules/captcha/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/captcha/default.nix
@@ -1,32 +1,31 @@
 { lib
 , fetchFromGitHub
+, pythonOlder
 , buildPythonPackage
-, nose
 , pillow
-, wheezy-captcha
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "captcha";
-  version = "0.4";
+  version = "0.5.0";
+
+  disabled = pythonOlder "3.8";
+
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "lepture";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-uxUjoACN65Cx5LMKpT+bZhKpf2JRSaEyysnYUgZntp8=";
+    hash = "sha256-TPPuf0BRZPSHPSF0HuGxhjhoSyZQ7r86kSjkrztgZ5w=";
   };
 
   propagatedBuildInputs = [ pillow ];
 
   pythonImportsCheck = [ "captcha" ];
 
-  nativeCheckInputs = [ nose wheezy-captcha ];
-
-  checkPhase = ''
-    nosetests -s
-  '';
+  nativeCheckInputs = [ pytestCheckHook ];
 
   meta = with lib; {
     description = "A captcha library that generates audio and image CAPTCHAs";
diff --git a/nixpkgs/pkgs/development/python-modules/cartopy/default.nix b/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
index 4bb8eeb2c492..f1f52eb9c987 100644
--- a/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cartopy/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "cartopy";
-  version = "0.21.1";
+  version = "0.22.0";
 
   disabled = pythonOlder "3.8";
 
@@ -32,22 +32,9 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "Cartopy";
-    hash = "sha256-idVklxLIWCIxxuEYJaBMhfbwzulNu4nk2yPqvKHMJQo=";
+    hash = "sha256-swD5ASCTHUPxHvh8Bk6h2s7BtZpJQKp26/gs8JVIu0k=";
   };
 
-  patches = [
-    # https://github.com/SciTools/cartopy/pull/2163
-    (fetchpatch {
-      url = "https://github.com/SciTools/cartopy/commit/7fb57e294914dbda0ebe8caaeac4deffe5e71639.patch";
-      hash = "sha256-qc14q+v2IMC+1NQ+OqLjUfJA3Sr5txniqS7CTQ6c7LI=";
-    })
-    # https://github.com/SciTools/cartopy/pull/2130
-    (fetchpatch {
-      url = "https://github.com/SciTools/cartopy/commit/6b4572ba1a8a877f28e25dfe9559c14b7a565958.patch";
-      hash = "sha256-0u6VJMrvoD9bRLHiQV4HQCKDyWEb9dDS2A3rjm6uqYw=";
-    })
-  ];
-
   nativeBuildInputs = [
     cython
     geos # for geos-config
@@ -56,7 +43,8 @@ buildPythonPackage rec {
   ];
 
   buildInputs = [
-    geos proj
+    geos
+    proj
   ];
 
   propagatedBuildInputs = [
@@ -83,8 +71,10 @@ buildPythonPackage rec {
   '';
 
   pytestFlagsArray = [
-    "--pyargs" "cartopy"
-    "-m" "'not network and not natural_earth'"
+    "--pyargs"
+    "cartopy"
+    "-m"
+    "'not network and not natural_earth'"
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/casa-formats-io/default.nix b/nixpkgs/pkgs/development/python-modules/casa-formats-io/default.nix
index a8ed0ac49495..dd9d94715ecf 100644
--- a/nixpkgs/pkgs/development/python-modules/casa-formats-io/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/casa-formats-io/default.nix
@@ -4,7 +4,9 @@
 , astropy
 , dask
 , numpy
+, oldest-supported-numpy
 , setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -17,7 +19,11 @@ buildPythonPackage rec {
     hash = "sha256-8iZ+wcSfh5ACTb3/iQAf2qQpwZ6wExWwcdJoLmCEjB0=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    oldest-supported-numpy
+    setuptools-scm
+    wheel
+  ];
 
   propagatedBuildInputs = [ astropy dask numpy ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/casbin/default.nix b/nixpkgs/pkgs/development/python-modules/casbin/default.nix
index 60693f781897..ce337cb8de3c 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.22.0";
+  version = "1.23.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "pycasbin";
     rev = "refs/tags/v${version}";
-    hash = "sha256-+DoXjIRbXhX3lAOWnDEwG3e0bF9T3dVEU33JMLMAO6Y=";
+    hash = "sha256-jL02G4Z2Lhy/02Lb7aSUDEKg2h34UXJbwMFaDSPgc+U=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
index 9b8d0fcd5ff8..5d6c520ad3c1 100644
--- a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -110,6 +110,6 @@ buildPythonPackage rec {
     homepage = "http://datastax.github.io/python-driver";
     changelog = "https://github.com/datastax/python-driver/blob/${version}/CHANGELOG.rst";
     license = licenses.asl20;
-    maintainers = with maintainers; [ turion ris ];
+    maintainers = with maintainers; [ ris ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/celery-types/default.nix b/nixpkgs/pkgs/development/python-modules/celery-types/default.nix
new file mode 100644
index 000000000000..753d7fcc677b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/celery-types/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, poetry-core
+, pythonOlder
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "celery-types";
+  version = "0.19.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-1OLUJxsuxG/sCKDxKiU4i7o5HyaJdIW8rPo8UofMI28=";
+  };
+
+  patchPhase = ''
+    substituteInPlace pyproject.toml \
+      --replace "poetry.masonry.api" "poetry.core.masonry.api"
+  '';
+
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "PEP-484 stubs for Celery";
+    homepage = "https://github.com/sbdchd/celery-types";
+    license = licenses.mit;
+    maintainers = with maintainers; [ elohmeier ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/celery/default.nix b/nixpkgs/pkgs/development/python-modules/celery/default.nix
index 836c270a4c03..1864b58d92d3 100644
--- a/nixpkgs/pkgs/development/python-modules/celery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/celery/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "celery";
-  version = "5.3.0";
+  version = "5.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Hqul7hTYyMC+2PYGPl4Q2r288jUDqGHPDhC3Ih2Zyw0=";
+    hash = "sha256-+E0cIaFSDBFsK30mWTkmWBGRQ1oDqnS3fJQbk8ocYhA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/certbot-dns-cloudflare/default.nix b/nixpkgs/pkgs/development/python-modules/certbot-dns-cloudflare/default.nix
index d60e1e60d974..69f2f890e359 100644
--- a/nixpkgs/pkgs/development/python-modules/certbot-dns-cloudflare/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certbot-dns-cloudflare/default.nix
@@ -12,6 +12,8 @@ buildPythonPackage rec {
   inherit (certbot) src version;
   disabled = pythonOlder "3.6";
 
+  sourceRoot = "${src.name}/certbot-dns-cloudflare";
+
   propagatedBuildInputs = [
     acme
     certbot
@@ -22,9 +24,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "-o cache_dir=$(mktemp -d)" ];
+  pytestFlagsArray = [
+    "-o cache_dir=$(mktemp -d)"
 
-  sourceRoot = "${src.name}/certbot-dns-cloudflare";
+    # Monitor https://github.com/certbot/certbot/issues/9606 for a solution
+    "-W 'ignore:pkg_resources is deprecated as an API:DeprecationWarning'"
+  ];
 
   meta = certbot.meta // {
     description = "Cloudflare DNS Authenticator plugin for Certbot";
diff --git a/nixpkgs/pkgs/development/python-modules/certbot-dns-google/default.nix b/nixpkgs/pkgs/development/python-modules/certbot-dns-google/default.nix
index 6ceaac115ff7..e5910ff08571 100644
--- a/nixpkgs/pkgs/development/python-modules/certbot-dns-google/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certbot-dns-google/default.nix
@@ -13,6 +13,8 @@ buildPythonPackage rec {
   inherit (certbot) src version;
   disabled = pythonOlder "3.6";
 
+  sourceRoot = "${src.name}/certbot-dns-google";
+
   propagatedBuildInputs = [
     acme
     certbot
@@ -24,9 +26,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "-o cache_dir=$(mktemp -d)" ];
+  pytestFlagsArray = [
+    "-o cache_dir=$(mktemp -d)"
 
-  sourceRoot = "${src.name}/certbot-dns-google";
+    # Monitor https://github.com/certbot/certbot/issues/9606 for a solution
+    "-W 'ignore:pkg_resources is deprecated as an API:DeprecationWarning'"
+  ];
 
   meta = certbot.meta // {
     description = "Google Cloud DNS Authenticator plugin for Certbot";
diff --git a/nixpkgs/pkgs/development/python-modules/certbot-dns-rfc2136/default.nix b/nixpkgs/pkgs/development/python-modules/certbot-dns-rfc2136/default.nix
index 58319625b1e7..ec360f4b1e6f 100644
--- a/nixpkgs/pkgs/development/python-modules/certbot-dns-rfc2136/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certbot-dns-rfc2136/default.nix
@@ -12,6 +12,8 @@ buildPythonPackage rec {
   inherit (certbot) src version;
   disabled = pythonOlder "3.6";
 
+  sourceRoot = "${src.name}/certbot-dns-rfc2136";
+
   propagatedBuildInputs = [
     acme
     certbot
@@ -22,9 +24,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "-o cache_dir=$(mktemp -d)" ];
+  pytestFlagsArray = [
+    "-o cache_dir=$(mktemp -d)"
 
-  sourceRoot = "${src.name}/certbot-dns-rfc2136";
+    # Monitor https://github.com/certbot/certbot/issues/9606 for a solution
+    "-W 'ignore:pkg_resources is deprecated as an API:DeprecationWarning'"
+  ];
 
   meta = certbot.meta // {
     description = "RFC 2136 DNS Authenticator plugin for Certbot";
diff --git a/nixpkgs/pkgs/development/python-modules/certbot-dns-route53/default.nix b/nixpkgs/pkgs/development/python-modules/certbot-dns-route53/default.nix
index db923f1a1926..6ea6af0820f7 100644
--- a/nixpkgs/pkgs/development/python-modules/certbot-dns-route53/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/certbot-dns-route53/default.nix
@@ -22,7 +22,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "-o cache_dir=$(mktemp -d)" ];
+  pytestFlagsArray = [
+    "-o cache_dir=$(mktemp -d)"
+
+    # Monitor https://github.com/certbot/certbot/issues/9606 for a solution
+    "-W 'ignore:pkg_resources is deprecated as an API:DeprecationWarning'"
+  ];
 
   sourceRoot = "${src.name}/certbot-dns-route53";
 
diff --git a/nixpkgs/pkgs/development/python-modules/cffsubr/default.nix b/nixpkgs/pkgs/development/python-modules/cffsubr/default.nix
index 05d4c115085d..e86277cf2782 100644
--- a/nixpkgs/pkgs/development/python-modules/cffsubr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cffsubr/default.nix
@@ -1,25 +1,36 @@
 { stdenv
 , lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , fonttools
 , pytestCheckHook
 , setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "cffsubr";
   version = "0.2.9.post1";
-
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "azFBLc9JyPqEZkvahn4u3cVbb+b6aW/yU8TxOp/y/Fw=";
+    hash = "sha256-azFBLc9JyPqEZkvahn4u3cVbb+b6aW/yU8TxOp/y/Fw=";
   };
 
+  patches = [
+    # https://github.com/adobe-type-tools/cffsubr/pull/23
+    (fetchpatch {
+      name = "remove-setuptools-git-ls-files.patch";
+      url = "https://github.com/adobe-type-tools/cffsubr/commit/887a6a03b1e944b82fcb99b797fbc2f3a64298f0.patch";
+      hash = "sha256-LuyqBtDrKWwCeckr+YafZ5nfVw1XnELwFI6X8bGomhs=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cfgv/default.nix b/nixpkgs/pkgs/development/python-modules/cfgv/default.nix
index c7b074089a68..0975d649a167 100644
--- a/nixpkgs/pkgs/development/python-modules/cfgv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cfgv/default.nix
@@ -1,23 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, six }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "cfgv";
-  version = "3.3.1";
-  disabled = isPy27;
+  version = "3.4.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736";
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "asottile";
+    repo = "cfgv";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-P02j53dltwdrlUBG89AI+P2GkXYKTVrQNF15rZt58jw=";
   };
 
-  propagatedBuildInputs = [ six ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  # Tests not included in PyPI tarball
-  doCheck = false;
+  pythonImportsCheck = [
+    "cfgv"
+  ];
 
   meta = with lib; {
     description = "Validate configuration and produce human readable error messages";
     homepage = "https://github.com/asottile/cfgv";
     license = licenses.mit;
+    maintainers = with lib.maintainers; [ nickcao ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix b/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix
index 766857a66a85..63304bc82114 100644
--- a/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix
@@ -17,7 +17,7 @@
 
 let
   pname = "chacha20poly1305-reuseable";
-  version = "0.2.5";
+  version = "0.3.0";
 in
 
 buildPythonPackage {
@@ -30,7 +30,7 @@ buildPythonPackage {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-T5mmHUMNbdvexeSaIDZIm/3yQcDKnWdor9IK63FE0no=";
+    hash = "sha256-/bXpwSBFr1IM04GNEczzsnsjdFV4miUAzJkvrQjfIq4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix b/nixpkgs/pkgs/development/python-modules/chart-studio/default.nix
index 5bcc3050497a..1632d41fee67 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.15.0";
+  version = "5.16.1";
 
   # chart-studio was split from plotly
   src = fetchFromGitHub {
     owner = "plotly";
     repo = "plotly.py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-H+p2fPBXn+VqrW63KkdmPn2xqxC9uAOzQUV1ruKEUSs=";
+    hash = "sha256-R94fmkz9cydOHKQbXMBR47OCdHHsR25uGiGszcr7AQQ=";
   };
 
   sourceRoot = "${src.name}/packages/python/chart-studio";
diff --git a/nixpkgs/pkgs/development/python-modules/cheetah3/default.nix b/nixpkgs/pkgs/development/python-modules/cheetah3/default.nix
index c01b42c64b83..24e3194d80c0 100644
--- a/nixpkgs/pkgs/development/python-modules/cheetah3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cheetah3/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "cheetah3";
-  version = "3.3.1";
+  version = "3.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "CheetahTemplate3";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-op8CwYISD2Gfsh0Olr8H07yvaT1maKyizb/IN9ZHwmQ=";
+    hash = "sha256-okQz1wM3k43okKcZDRgHAnn5ScL0Pe1OtUvDBScEamY=";
   };
 
   doCheck = false; # Circular dependency
diff --git a/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix b/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix
index 48b040565f79..8a61e6606611 100644
--- a/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cherrypy/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   version = "18.8.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7" || pythonAtLeast "3.11";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "CherryPy";
@@ -86,6 +86,20 @@ buildPythonPackage rec {
     "test_basic_request"
     "test_3_Redirect"
     "test_4_File_deletion"
+  ] ++ lib.optionals (pythonAtLeast "3.11") [
+    "testErrorHandling"
+    "testHookErrors"
+    "test_HTTP10_KeepAlive"
+    "test_No_Message_Body"
+    "test_HTTP11_Timeout"
+    "testGzip"
+    "test_malformed_header"
+    "test_no_content_length"
+    "test_post_filename_with_special_characters"
+    "test_post_multipart"
+    "test_iterator"
+    "test_1_Ram_Concurrency"
+    "test_2_File_Concurrency"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_block"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/chex/default.nix b/nixpkgs/pkgs/development/python-modules/chex/default.nix
index b93d3baddcc4..7d7912ff0f45 100644
--- a/nixpkgs/pkgs/development/python-modules/chex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/chex/default.nix
@@ -1,35 +1,39 @@
-{ absl-py
+{ lib
 , buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, absl-py
 , cloudpickle
 , dm-tree
-, fetchFromGitHub
 , jax
 , jaxlib
-, lib
 , numpy
 , pytestCheckHook
 , toolz
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "chex";
-  version = "0.1.6";
+  version = "0.1.82";
   format = "setuptools";
 
+  disabled = pythonOlder "3.9";
+
   src = fetchFromGitHub {
     owner = "deepmind";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VolRlLLgKga9S17ByVrYya9VPtu9yiOnvt/WmlE1DOc=";
+    hash = "sha256-xBq22AaR2Tp1NSPefEyvCDeUYqRZlAf5LVHWo0luiXk=";
   };
 
   propagatedBuildInputs = [
     absl-py
-    cloudpickle
-    dm-tree
+    jaxlib
     jax
     numpy
     toolz
+    typing-extensions
   ];
 
   pythonImportsCheck = [
@@ -37,21 +41,11 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    jaxlib
+    cloudpickle
+    dm-tree
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # See https://github.com/deepmind/chex/issues/204.
-    "test_uninspected_checks"
-
-    # These tests started failing at some point after upgrading to 0.1.5
-    "test_useful_failure"
-    "TreeAssertionsTest"
-    "PmapFakeTest"
-    "WithDeviceTest"
-  ];
-
   meta = with lib; {
     description = "Chex is a library of utilities for helping to write reliable JAX code.";
     homepage = "https://github.com/deepmind/chex";
diff --git a/nixpkgs/pkgs/development/python-modules/cirq-core/default.nix b/nixpkgs/pkgs/development/python-modules/cirq-core/default.nix
index 39e3cf9d47be..ce188ce6811b 100644
--- a/nixpkgs/pkgs/development/python-modules/cirq-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cirq-core/default.nix
@@ -104,6 +104,8 @@ buildPythonPackage rec {
     "test_benchmark_2q_xeb_fidelities"
     # https://github.com/quantumlib/Cirq/pull/5991
     "test_json_and_repr_data"
+    # Tests for some changed error handling behavior in SymPy 1.12
+    "test_custom_value_not_implemented"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/ciscoconfparse/default.nix b/nixpkgs/pkgs/development/python-modules/ciscoconfparse/default.nix
index edf15661dfec..33bd43c7043b 100644
--- a/nixpkgs/pkgs/development/python-modules/ciscoconfparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ciscoconfparse/default.nix
@@ -31,6 +31,14 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
+    # The line below is in the [build-system] section, which is invalid and
+    # rejected by PyPA's build tool. It belongs in [project] but upstream has
+    # had problems with putting that there (see comment in pyproject.toml).
+    sed -i '/requires-python/d' pyproject.toml
+
+    substituteInPlace pyproject.toml \
+      --replace '"poetry>=1.3.2",' ""
+
     patchShebangs tests
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/claripy/default.nix b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
index e9b2ded49a2b..62c9311b942d 100644
--- a/nixpkgs/pkgs/development/python-modules/claripy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.62";
+  version = "9.2.64";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-rjHz0NfxUzEQxDD4XiUlIr/RltXN7GKRojWs/nxs1ac=";
+    hash = "sha256-vx4wFZdycXow/t2LT4t1kO81JPvsB1mQF1GWgYRZiWs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/class-doc/default.nix b/nixpkgs/pkgs/development/python-modules/class-doc/default.nix
index 937a94c953b8..432df1f674ee 100644
--- a/nixpkgs/pkgs/development/python-modules/class-doc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/class-doc/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , more-itertools
 , pytestCheckHook
@@ -13,21 +14,24 @@ buildPythonPackage rec {
 
   src = fetchFromGitHub {
     owner = "danields761";
-    repo = "${pname}";
+    repo = pname;
     rev = "9b122d85ce667d096ebee75a49350bbdbd48686d"; # no 0.2.6 version tag
     hash = "sha256-4Sn/TuBvBpl1nvJBg327+sVrjGavkYKEYP32DwLWako=";
   };
 
+  patches = [
+    # https://github.com/danields761/class-doc/pull/2
+    (fetchpatch {
+      name = "poetry-to-poetry-core.patch";
+      url = "https://github.com/danields761/class-doc/commit/03b224ad0a6190c30e4932fa2ccd4a7f0c5c4b5d.patch";
+      hash = "sha256-shWPRaZkvtJ1Ae17aCOm6eLs905jxwq84SWOrChEs7M=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml --replace \
-      "poetry.masonry.api" \
-      "poetry.core.masonry.api"
-  '';
-
   propagatedBuildInputs = [
     more-itertools
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/cle/default.nix b/nixpkgs/pkgs/development/python-modules/cle/default.nix
index 17e09f785ff5..eb41a41e8eb3 100644
--- a/nixpkgs/pkgs/development/python-modules/cle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cle/default.nix
@@ -16,7 +16,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.62";
+  version = "9.2.64";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-w1U9/Hvu64ULWQouE5gFRxtfUcNdKIIWACaYXtvlCtE=";
+    hash = "sha256-wF3T8Kr09jqe4b/qctKXzFAnaTTtOkceHEoEN8J0mTs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click/default.nix b/nixpkgs/pkgs/development/python-modules/click/default.nix
index 6844cfb649a0..6d748af8b5a2 100644
--- a/nixpkgs/pkgs/development/python-modules/click/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "click";
-  version = "8.1.3";
+  version = "8.1.6";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-doLcivswKXABZ0V16gDRgU2AjWo2r0Fagr1IHTe6e44=";
+    hash = "sha256-SO6EmVGRlSegRb/jv3uqipWcQjE04aW5jAXCC6daHL0=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
diff --git a/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix b/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix
new file mode 100644
index 000000000000..e2a2915fe38b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix
@@ -0,0 +1,85 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+  # build_requires
+, cython_3
+  # install_requires
+, certifi
+, importlib-metadata
+, urllib3
+, pytz
+, zstandard
+, lz4
+  # extras_require
+, sqlalchemy
+, numpy
+, pandas
+, pyarrow
+, orjson
+  # not in tests_require, but should be
+, pytest-dotenv
+}:
+buildPythonPackage rec {
+  pname = "clickhouse-connect";
+  version = "0.6.8";
+
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    repo = "clickhouse-connect";
+    owner = "ClickHouse";
+    rev = "v${version}";
+    hash = "sha256-T1vUXhOngPvA4wrg5jVzIiqj0B0gEnk/BS5OdopHgkA=";
+  };
+
+  nativeBuildInputs = [ cython_3 ];
+  setupPyBuildFlags = [ "--inplace" ];
+  enableParallelBuilding = true;
+
+  propagatedBuildInputs = [
+    certifi
+    importlib-metadata
+    urllib3
+    pytz
+    zstandard
+    lz4
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook pytest-dotenv ]
+    ++ passthru.optional-dependencies.sqlalchemy
+    ++ passthru.optional-dependencies.numpy;
+
+  # these tests require a running clickhouse instance
+  disabledTestPaths = [
+    "tests/integration_tests"
+    "tests/tls"
+  ];
+
+  pythonImportsCheck = [
+    "clickhouse_connect"
+    "clickhouse_connect.driverc.buffer"
+    "clickhouse_connect.driverc.dataconv"
+    "clickhouse_connect.driverc.npconv"
+  ];
+
+  passthru = {
+    optional-dependencies = {
+      sqlalchemy = [ sqlalchemy ];
+      numpy = [ numpy ];
+      pandas = [ pandas ];
+      arrow = [ pyarrow ];
+      orjson = [ orjson ];
+    };
+  };
+
+  meta = with lib; {
+    description = "ClickHouse Database Core Driver for Python, Pandas, and Superset";
+    homepage = "https://github.com/ClickHouse/clickhouse-connect";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix b/nixpkgs/pkgs/development/python-modules/cloudflare/default.nix
index a8e958307987..05a84ae35a26 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.6";
+  version = "2.11.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZTHUyvFguvME0Jl0JRzwWmJOaWPUz4RFeMEVTvupb14=";
+    hash = "sha256-e7DRZa7qB4n9B+UMZ4pT38Uj7ENEl8WZVj+rvHvFQcM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cmdstanpy/default.nix b/nixpkgs/pkgs/development/python-modules/cmdstanpy/default.nix
new file mode 100644
index 000000000000..f8960fadb3aa
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cmdstanpy/default.nix
@@ -0,0 +1,82 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, substituteAll
+
+, cmdstan
+
+, pandas
+, numpy
+, tqdm
+, xarray
+
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "cmdstanpy";
+  version = "1.1.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "stan-dev";
+    repo = "cmdstanpy";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-9kAd3rbSctWEhAzB6RiQlbg5/uVxGIghYLus8hWzBFQ=";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./use-nix-cmdstan-path.patch;
+      cmdstan = "${cmdstan}/opt/cmdstan";
+    })
+  ];
+
+  postPatch = ''
+    # conftest.py would have used git to clean up, which is unnecessary here
+    rm test/conftest.py
+  '';
+
+  propagatedBuildInputs = [
+    pandas
+    numpy
+    tqdm
+  ];
+
+  passthru.optional-dependencies = {
+    all = [ xarray ];
+  };
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ] ++ passthru.optional-dependencies.all;
+
+  disabledTestPaths = [
+    # No need to test these when using Nix
+    "test/test_install_cmdstan.py"
+    "test/test_cxx_installation.py"
+  ];
+
+  disabledTests = [
+    "test_lp_good" # Fails for some reason
+    "test_serialization" # Pickle class mismatch errors
+    # These tests use the flag -DSTAN_THREADS which doesn't work in cmdstan (missing file)
+    "test_multi_proc_threads"
+    "test_compile_force"
+  ];
+
+  pythonImportsCheck = [ "cmdstanpy" ];
+
+  meta = {
+    homepage = "https://github.com/stan-dev/cmdstanpy";
+    description = "A lightweight interface to Stan for Python users";
+    changelog = "https://github.com/stan-dev/cmdstanpy/releases/tag/v${version}";
+    license = lib.licenses.bsd3;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ tomasajt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/cmdstanpy/use-nix-cmdstan-path.patch b/nixpkgs/pkgs/development/python-modules/cmdstanpy/use-nix-cmdstan-path.patch
new file mode 100644
index 000000000000..5f8df43c799f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cmdstanpy/use-nix-cmdstan-path.patch
@@ -0,0 +1,25 @@
+diff --git a/cmdstanpy/utils/cmdstan.py b/cmdstanpy/utils/cmdstan.py
+index 227d97a..27c3ccc 100644
+--- a/cmdstanpy/utils/cmdstan.py
++++ b/cmdstanpy/utils/cmdstan.py
+@@ -163,19 +163,7 @@ def cmdstan_path() -> str:
+     if 'CMDSTAN' in os.environ and len(os.environ['CMDSTAN']) > 0:
+         cmdstan = os.environ['CMDSTAN']
+     else:
+-        cmdstan_dir = os.path.expanduser(os.path.join('~', _DOT_CMDSTAN))
+-        if not os.path.exists(cmdstan_dir):
+-            raise ValueError(
+-                'No CmdStan installation found, run command "install_cmdstan"'
+-                'or (re)activate your conda environment!'
+-            )
+-        latest_cmdstan = get_latest_cmdstan(cmdstan_dir)
+-        if latest_cmdstan is None:
+-            raise ValueError(
+-                'No CmdStan installation found, run command "install_cmdstan"'
+-                'or (re)activate your conda environment!'
+-            )
+-        cmdstan = os.path.join(cmdstan_dir, latest_cmdstan)
++        cmdstan = '@cmdstan@'
+         os.environ['CMDSTAN'] = cmdstan
+     validate_cmdstan_path(cmdstan)
+     return os.path.normpath(cmdstan)
diff --git a/nixpkgs/pkgs/development/python-modules/cocotb/default.nix b/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
index cc2493bb4e63..cd9c3b035819 100644
--- a/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cocotb/default.nix
@@ -9,23 +9,25 @@
 , pytestCheckHook
 , swig
 , verilog
+, ghdl
 }:
 
 buildPythonPackage rec {
   pname = "cocotb";
-  version = "1.7.2";
+  version = "1.8.0";
 
   # pypi source doesn't include tests
   src = fetchFromGitHub {
     owner = "cocotb";
     repo = "cocotb";
     rev = "refs/tags/v${version}";
-    hash = "sha256-gLOYwljqnYkGsdbny7+f93QgroLBaLLnDBRpoCe8uEg=";
+    hash = "sha256-k3VizQ9iyDawfDCeE3Zup/KkyD54tFBLdQvRKsbKDLY=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
 
-  buildInputs = [ setuptools find-libpython ];
+  buildInputs = [ setuptools ];
+  propagatedBuildInputs = [ find-libpython ];
 
   postPatch = ''
     patchShebangs bin/*.py
@@ -51,7 +53,7 @@ buildPythonPackage rec {
     ./0001-Patch-LDCXXSHARED-for-macOS-along-with-LDSHARED.patch
   ];
 
-  nativeCheckInputs = [ cocotb-bus pytestCheckHook swig verilog ];
+  nativeCheckInputs = [ cocotb-bus pytestCheckHook swig verilog ghdl ];
   preCheck = ''
     export PATH=$out/bin:$PATH
     mv cocotb cocotb.hidden
@@ -60,9 +62,10 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "cocotb" ];
 
   meta = with lib; {
+    changelog = "https://github.com/cocotb/cocotb/releases/tag/v${version}";
     description = "Coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python";
     homepage = "https://github.com/cocotb/cocotb";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ matthuszagh ];
+    maintainers = with maintainers; [ matthuszagh jleightcap ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/coffea/default.nix b/nixpkgs/pkgs/development/python-modules/coffea/default.nix
index ac0c293e29ab..ba60cc47a8c3 100644
--- a/nixpkgs/pkgs/development/python-modules/coffea/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coffea/default.nix
@@ -43,7 +43,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "numba>=0.57.0" "numba"
+      --replace "numba>=0.57.0" "numba" \
+      --replace "numpy>=1.22.0,<1.25" "numpy"
   '';
 
   nativeBuildInputs = [
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 976b1abbb871..ca1dd48a9df5 100644
--- a/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "coinmetrics-api-client";
-  version = "2023.6.8.20";
+  version = "2023.8.10.19";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "coinmetrics_api_client";
-    hash = "sha256-Koll0pod0vSW/F3veGTn8JYOMQI61REUW6Eh+TDJKNI=";
+    hash = "sha256-sXWcnl6E2Aw78Y4JPpTQlRmhRP6egl6eo81N2PIhi34=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/colour/default.nix b/nixpkgs/pkgs/development/python-modules/colour/default.nix
index f7419666f535..2dd31a02bbe7 100644
--- a/nixpkgs/pkgs/development/python-modules/colour/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/colour/default.nix
@@ -1,15 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi, d2to1 }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "colour";
   version = "0.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee";
+    hash = "sha256-ryASD+/Sr+3osAH77y6p2nCtfUn6/bZIkCXa6HRcOu4=";
   };
 
-  buildInputs = [ d2to1 ];
+  patches = [
+    # https://github.com/vaab/colour/pull/66 (but does not merge cleanly)
+    ./remove-unmaintained-d2to1.diff
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "--doctest-glob=\"*.rst\""
+    "--doctest-modules"
+  ];
+
+  pythonImportsCheck = [
+    "colour"
+  ];
 
   meta = with lib; {
     description = "Converts and manipulates common color representation (RGB, HSV, web, ...)";
diff --git a/nixpkgs/pkgs/development/python-modules/colour/remove-unmaintained-d2to1.diff b/nixpkgs/pkgs/development/python-modules/colour/remove-unmaintained-d2to1.diff
new file mode 100644
index 000000000000..2cac787bf501
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/colour/remove-unmaintained-d2to1.diff
@@ -0,0 +1,65 @@
+diff --git a/setup.cfg b/setup.cfg
+index 41de928..1c18182 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -1,18 +1,14 @@
+ [metadata]
+ name = colour
+ version = 0.1.5
+-summary = converts and manipulates various color representation (HSL, RVB, web, X11, ...)
+-description-file = 
+-	README.rst
+-	CHANGELOG.rst
+-	TODO.rst
+-license_file = LICENSE
+-requires-dist = 
++description = converts and manipulates various color representation (HSL, RVB, web, X11, ...)
++long_description = file: README.rst, CHANGELOG.rst, TODO.rst
++license_files = LICENSE
+ author = Valentin LAB
+ author_email = valentin.lab@kalysto.org
+-home_page = http://github.com/vaab/colour
++url = http://github.com/vaab/colour
+ license = BSD 3-Clause License
+-classifier = 
++classifiers = 
+ 	Programming Language :: Python
+ 	Topic :: Software Development :: Libraries :: Python Modules
+ 	Development Status :: 3 - Alpha
+@@ -26,16 +22,8 @@ classifier =
+ 	Programming Language :: Python :: 3.5
+ 	Programming Language :: Python :: 3.6
+ 
+-[files]
+-modules = colour
+-extra_files = 
+-	README.rst
+-	CHANGELOG.rst
+-	TODO.rst
+-	setup.py
+-
+-[backwards_compat]
+-zip-safe = False
++[options]
++zip_safe = False
+ 
+ [bdist_wheel]
+ universal = 1
+diff --git a/setup.py b/setup.py
+index 47038f9..11a8d3a 100644
+--- a/setup.py
++++ b/setup.py
+@@ -54,12 +54,4 @@ if "%%short-version%%".startswith("%%"):
+     sys.exit(errlvl)
+ 
+ 
+-##
+-## Normal d2to1 setup
+-##
+-
+-setup(
+-    setup_requires=['d2to1'],
+-    extras_require={'test': ['nose', ]},
+-    d2to1=True
+-)
++setup(extras_require={'test': ['nose', ]})
diff --git a/nixpkgs/pkgs/development/python-modules/compreffor/default.nix b/nixpkgs/pkgs/development/python-modules/compreffor/default.nix
index e08c348f384c..0b5e684fdf91 100644
--- a/nixpkgs/pkgs/development/python-modules/compreffor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/compreffor/default.nix
@@ -1,15 +1,17 @@
 { lib
 , buildPythonPackage
+, cython
+, fetchpatch
 , fetchPypi
 , setuptools-scm
 , fonttools
 , pytestCheckHook
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "compreffor";
   version = "0.5.4";
-
   format = "pyproject";
 
   src = fetchPypi {
@@ -17,8 +19,19 @@ buildPythonPackage rec {
     hash = "sha256-MGulQEUGPrQ30T3VYzwRRlvzvWkFqNzqsNzAjtjX9xU=";
   };
 
+  patches = [
+    # https://github.com/googlefonts/compreffor/pull/153
+    (fetchpatch {
+      name = "remove-setuptools-git-ls-files.patch";
+      url = "https://github.com/googlefonts/compreffor/commit/10f563564390568febb3ed1d0f293371cbd86953.patch";
+      hash = "sha256-wNQMJFJXTFILGzAgzUXzz/rnK67/RU+exYP6MhEQAkA=";
+    })
+  ];
+
   nativeBuildInputs = [
+    cython
     setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/configargparse/default.nix b/nixpkgs/pkgs/development/python-modules/configargparse/default.nix
index 1e1e2885f04f..489e6a34144c 100644
--- a/nixpkgs/pkgs/development/python-modules/configargparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/configargparse/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "configargparse";
-  version = "1.5.5";
+  version = "1.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "bw2";
     repo = "ConfigArgParse";
     rev = "refs/tags/${version}";
-    hash = "sha256-nhsbgyoIsYyrW20j4X4RosMJU/B+j7Z5YbebmZCLW4I=";
+    hash = "sha256-m77MY0IZ1AJkd4/Y7ltApvdF9y17Lgn92WZPYTCU9tA=";
   };
 
   passthru.optional-dependencies = {
diff --git a/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix b/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
index 03cdb826786c..33e3caf90cae 100644
--- a/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/confluent-kafka/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "confluent-kafka";
-  version = "2.1.1";
+  version = "2.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "confluentinc";
     repo = "confluent-kafka-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xnbovQRvbhaYYXnssV0Jy+U9L6BUddIagbup2jdTugY=";
+    hash = "sha256-6CdalNFKkgF7JUqCGtt4nB1/H3u4SVqt9xCAg5DR3T0=";
   };
 
   buildInputs = [
@@ -62,6 +62,8 @@ buildPythonPackage rec {
 
   disabledTestPaths = [
     "tests/integration/"
+    "tests/test_Admin.py"
+    "tests/test_misc.py"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/constantly/default.nix b/nixpkgs/pkgs/development/python-modules/constantly/default.nix
index b88163506476..92183fc1622c 100644
--- a/nixpkgs/pkgs/development/python-modules/constantly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/constantly/default.nix
@@ -23,7 +23,7 @@ let
 
     pythonImportsCheck = [ "constantly" ];
 
-    passthru.tests.constantly = self.overrideAttrs (_: { doInstallCheck = true; });
+    passthru.tests.constantly = self.overridePythonAttrs { doCheck = true; };
 
     meta = with lib; {
       homepage = "https://github.com/twisted/constantly";
diff --git a/nixpkgs/pkgs/development/python-modules/coredis/default.nix b/nixpkgs/pkgs/development/python-modules/coredis/default.nix
index 1e3375b28bd1..13fbe5ab123d 100644
--- a/nixpkgs/pkgs/development/python-modules/coredis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coredis/default.nix
@@ -1,29 +1,33 @@
 { lib
-, fetchFromGitHub
-, buildPythonPackage
 , async-timeout
+, buildPythonPackage
 , deprecated
+, fetchFromGitHub
 , pympler
-, wrapt
+, pytest-asyncio
 , pytestCheckHook
+, pythonOlder
 , redis
-, pytest-asyncio
+, wrapt
 }:
 
 buildPythonPackage rec {
   pname = "coredis";
-  version = "4.14.0";
+  version = "4.15.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "alisaifee";
     repo = pname;
-    rev = version;
-    hash = "sha256-pHCQ5dePk2VhYNf/Ka+sovIn2OAVYHnLQhPFVjKmgb4=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-9nojHufUt53Ovoos4gaR7qh1xN8D1+gJOEyFsOndXJU=";
   };
 
   postPatch = ''
-    substituteInPlace pytest.ini --replace "-K" ""
+    substituteInPlace pytest.ini \
+      --replace "-K" ""
   '';
 
   propagatedBuildInputs = [
@@ -33,16 +37,18 @@ buildPythonPackage rec {
     wrapt
   ];
 
-  pythonImportsCheck = [ "coredis" ];
-
   nativeCheckInputs = [
     pytestCheckHook
     redis
     pytest-asyncio
   ];
 
-  # all other tests require docker
+  pythonImportsCheck = [
+    "coredis"
+  ];
+
   pytestFlagsArray = [
+    # All other tests require Docker
     "tests/test_lru_cache.py"
     "tests/test_parsers.py"
     "tests/test_retry.py"
@@ -50,9 +56,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/alisaifee/coredis/blob/${src.rev}/HISTORY.rst";
-    homepage = "https://github.com/alisaifee/coredis";
     description = "An async redis client with support for redis server, cluster & sentinel";
+    homepage = "https://github.com/alisaifee/coredis";
+    changelog = "https://github.com/alisaifee/coredis/blob/${src.rev}/HISTORY.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ netali ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix b/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix
index 41ac4a8f8f36..2156bd978229 100644
--- a/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix
@@ -1,11 +1,13 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , cmake
 , numpy
 , scikit-build
 , setuptools
 , setuptools-scm
+, wheel
 , pybind11
 , pydantic
 , pytestCheckHook
@@ -24,12 +26,27 @@ buildPythonPackage rec {
     hash = "sha256-h3eggtPLSF/8ShQ5xzowZW1KSlcI/YBsPu3lsSyzHkw=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "ci-maintenance.patch";
+      url = "https://github.com/cms-nanoAOD/correctionlib/commit/924031637b040f6e8e4930c46a9f7560c59db23d.patch";
+      hash = "sha256-jq3ojMsO2Ex9om8tVpEY9uwwelXPzgQ+KCPN0bgda8w=";
+      includes = [ "pyproject.toml" ];
+    })
+    (fetchpatch {
+      name = "clean-up-build-dependencies.patch";
+      url = "https://github.com/cms-nanoAOD/correctionlib/commit/c4fd64ca0e5ce806890e8f0ae8e792dcc4537d38.patch";
+      hash = "sha256-8ID2jEnmfYmPxWMtRviBc3t1W4p3Y+lAzijFtYBEtyk=";
+    })
+  ];
+
   nativeBuildInputs = [
     cmake
     numpy
     scikit-build
     setuptools
     setuptools-scm
+    wheel
     pybind11
   ];
 
@@ -44,7 +61,7 @@ buildPythonPackage rec {
 
   dontUseCmakeConfigure = true;
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeCheckInputs = [
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/crownstone-cloud/default.nix b/nixpkgs/pkgs/development/python-modules/crownstone-cloud/default.nix
index 86b77b994ea7..d8ee18a090d4 100644
--- a/nixpkgs/pkgs/development/python-modules/crownstone-cloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crownstone-cloud/default.nix
@@ -1,6 +1,5 @@
 { lib
 , aiohttp
-, asynctest
 , buildPythonPackage
 , fetchFromGitHub
 , fetchpatch
@@ -34,7 +33,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
-    asynctest
     certifi
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/cryptography/default.nix b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
index 2ebcb9efffe2..076e045d7272 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptography/default.nix
@@ -3,25 +3,25 @@
 , callPackage
 , buildPythonPackage
 , fetchPypi
-, rustPlatform
 , cargo
-, rustc
-, setuptools-rust
-, openssl
-, Security
-, isPyPy
 , cffi
+, hypothesis
+, iso8601
+, isPyPy
+, libiconv
+, libxcrypt
+, openssl
 , pkg-config
+, pretend
+, py
 , pytestCheckHook
 , pytest-subtests
 , pythonOlder
-, pretend
-, libiconv
-, libxcrypt
-, iso8601
-, py
 , pytz
-, hypothesis
+, rustc
+, rustPlatform
+, Security
+, setuptoolsRustBuildHook
 }:
 
 let
@@ -29,20 +29,20 @@ let
 in
 buildPythonPackage rec {
   pname = "cryptography";
-  version = "40.0.1"; # Also update the hash in vectors.nix
-  format = "setuptools";
-  disabled = pythonOlder "3.6";
+  version = "41.0.2"; # Also update the hash in vectors.nix
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KAPy+LHpX2FEGZJsfm9V2CivxhTKXtYVQ4d65mjMNHI=";
+    hash = "sha256-fSML+FYWTeFk7LYVzMFMf8beaQbd1bSR86+Q01FMklw=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     sourceRoot = "${pname}-${version}/${cargoRoot}";
     name = "${pname}-${version}";
-    hash = "sha256-gFfDTc2QWBWHBCycVH1dYlCsWQMVcRZfOBIau+njtDU=";
+    hash = "sha256-hkuoICa/suMXlr4u95JbMlFzi27lJqJRmWnX3nZfzKU=";
   };
 
   postPatch = ''
@@ -54,7 +54,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     rustPlatform.cargoSetupHook
-    setuptools-rust
+    setuptoolsRustBuildHook
     cargo
     rustc
     pkg-config
@@ -100,8 +100,6 @@ buildPythonPackage rec {
       Cryptography includes both high level recipes and low level interfaces to
       common cryptographic algorithms such as symmetric ciphers, message
       digests, and key derivation functions.
-      Our goal is for it to be your "cryptographic standard library". It
-      supports Python 2.7, Python 3.5+, and PyPy 5.4+.
     '';
     homepage = "https://github.com/pyca/cryptography";
     changelog = "https://cryptography.io/en/latest/changelog/#v"
diff --git a/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix b/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix
index 71bd22bf738f..554873de89e1 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptography/vectors.nix
@@ -1,17 +1,19 @@
-{ buildPythonPackage, fetchPypi, lib, cryptography }:
+{ buildPythonPackage, fetchPypi, lib, cryptography, setuptools }:
 
 buildPythonPackage rec {
   pname = "cryptography-vectors";
   # The test vectors must have the same version as the cryptography package
   inherit (cryptography) version;
-  format = "setuptools";
+  format = "pyproject";
 
   src = fetchPypi {
     pname = "cryptography_vectors";
     inherit version;
-    hash = "sha256-hGBwa1tdDOSoVXHKM4nPiPcAu2oMYTPcn+D1ovW9oEE=";
+    hash = "sha256-Ao3/lKhSLKgYsRKV/xLfVfNI8zoZPAWX3f6COeU9FYI=";
   };
 
+  nativeBuildInputs = [ setuptools ];
+
   # No tests included
   doCheck = false;
 
@@ -20,7 +22,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Test vectors for the cryptography package";
     homepage = "https://cryptography.io/en/latest/development/test-vectors/";
-    # Source: https://github.com/pyca/cryptography/tree/master/vectors;
+    downloadPage = "https://github.com/pyca/cryptography/tree/master/vectors";
     license = with licenses; [ asl20 bsd3 ];
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix b/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix
index 07e5c19f8d2b..4e725dd8cde2 100644
--- a/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crytic-compile/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "crytic-compile";
-  version = "0.3.3";
+  version = "0.3.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "crytic";
     repo = "crytic-compile";
     rev = "refs/tags/${version}";
-    hash = "sha256-Nx3eKy/0BLg82o3qDHjxcHXtpX3KDdnBKYwCuTLWRUE=";
+    hash = "sha256-CeoACtgvMweDbIvYguK2Ca+iTBFONWcE2b0qUkBbQSU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cupy/default.nix b/nixpkgs/pkgs/development/python-modules/cupy/default.nix
index 656447e2ef4c..e5de149fca14 100644
--- a/nixpkgs/pkgs/development/python-modules/cupy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cupy/default.nix
@@ -17,13 +17,13 @@ let
   inherit (cudaPackages) cudatoolkit cudnn cutensor nccl;
 in buildPythonPackage rec {
   pname = "cupy";
-  version = "12.1.0";
+  version = "12.2.0";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9tMZic2y2WWB2hKCLiixAvKeJUQnGVwgF+rDJ4abcyA=";
+    hash = "sha256-+V/9Cv6sthewSP4Cjt4HuX3J6VrKFhCgIrHz0gqaAn4=";
   };
 
   # See https://docs.cupy.dev/en/v10.2.0/reference/environment.html. Seting both
diff --git a/nixpkgs/pkgs/development/python-modules/curio/default.nix b/nixpkgs/pkgs/development/python-modules/curio/default.nix
index e067e134d04c..501cdd442ab9 100644
--- a/nixpkgs/pkgs/development/python-modules/curio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/curio/default.nix
@@ -26,13 +26,16 @@ buildPythonPackage rec {
   __darwinAllowLocalNetworking = true;
 
   disabledTests = [
-     "test_aside_basic" # times out
-     "test_write_timeout" # flaky, does not always time out
-     "test_aside_cancel" # fails because modifies PYTHONPATH and cant find pytest
-     "test_ssl_outgoing" # touches network
-     "test_unix_echo" # socket bind error on hydra when built with other packages
-     "test_unix_ssl_server" # socket bind error on hydra when built with other packages
-   ];
+    "test_aside_basic" # times out
+    "test_write_timeout" # flaky, does not always time out
+    "test_aside_cancel" # fails because modifies PYTHONPATH and cant find pytest
+    "test_ssl_outgoing" # touches network
+    "test_unix_echo" # socket bind error on hydra when built with other packages
+    "test_unix_ssl_server" # socket bind error on hydra when built with other packages
+  ] ++ lib.optionals stdenv.isDarwin [
+    # connects to python.org:1, expects an OsError, hangs in the darwin sandbox
+    "test_create_bad_connection"
+  ];
 
   pythonImportsCheck = [ "curio" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
index 393418555305..3d15d8d7776c 100644
--- a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
@@ -11,21 +11,32 @@
 , scipy
 , scs
 , setuptools
+, wheel
 , useOpenmp ? (!stdenv.isDarwin)
 }:
 
 buildPythonPackage rec {
   pname = "cvxpy";
-  version = "1.3.1";
+  version = "1.3.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8Hv+k2d6dVqFVMT9piLvAeIkes6Zs6eBB6qQcODQo8s=";
+    hash = "sha256-C2heUEDxmfPXA/MPXSLR+GVZdiNFUVPR3ddwJFrvCXU=";
   };
 
+  # we need to patch out numpy version caps from upstream
+  postPatch = ''
+    sed -i 's/\(numpy>=[0-9.]*\),<[0-9.]*;/\1;/g' pyproject.toml
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     cvxopt
     ecos
diff --git a/nixpkgs/pkgs/development/python-modules/cwl-utils/default.nix b/nixpkgs/pkgs/development/python-modules/cwl-utils/default.nix
index 96c331a9b597..3c80a158b4e2 100644
--- a/nixpkgs/pkgs/development/python-modules/cwl-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cwl-utils/default.nix
@@ -1,6 +1,5 @@
 { lib
 , buildPythonPackage
-, cachecontrol
 , cwl-upgrader
 , cwlformat
 , fetchFromGitHub
@@ -11,12 +10,13 @@
 , pythonOlder
 , rdflib
 , requests
+, ruamel-yaml
 , schema-salad
 }:
 
 buildPythonPackage rec {
   pname = "cwl-utils";
-  version = "0.26";
+  version = "0.28";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,15 +25,15 @@ buildPythonPackage rec {
     owner = "common-workflow-language";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-T82zaXILbQFOIE0/HhNjpYutSdA1UeaxXO/M7Z4sSfo=";
+    hash = "sha256-hplpsig+phIX6WCbUV0ILcA62f5DE/yTyKfoaeumgyY=";
   };
 
   propagatedBuildInputs = [
-    cachecontrol
     cwl-upgrader
     packaging
     rdflib
     requests
+    ruamel-yaml
     schema-salad
   ];
 
@@ -55,6 +55,9 @@ buildPythonPackage rec {
     "test_graph_split"
     "test_caches_js_processes"
     "test_load_document_with_remote_uri"
+    # Don't run tests which require network access
+    "test_remote_packing"
+    "test_remote_packing_github_soft_links"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/cwlformat/default.nix b/nixpkgs/pkgs/development/python-modules/cwlformat/default.nix
index 28da8e50beeb..0703175d0275 100644
--- a/nixpkgs/pkgs/development/python-modules/cwlformat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cwlformat/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pytestCheckHook
 , pythonOlder
 , ruamel-yaml
@@ -20,6 +21,15 @@ buildPythonPackage rec {
     hash = "sha256-FI8hUgb/KglTkubZ+StzptoSsYal71ITyyFNg7j48yk=";
   };
 
+  patches = [
+    # https://github.com/rabix/cwl-format/pull/21
+    (fetchpatch {
+      name = "fix-for-ruamel-yaml-0.17.23.patch";
+      url = "https://github.com/rabix/cwl-format/commit/9d54330c73c454d2ccacd55e2d51a4145f282041.patch";
+      hash = "sha256-TZGK7T2gzxMvreCLtl3nkuPrqL2KzgrO3yCNmd5lY3g=";
+    })
+  ];
+
   propagatedBuildInputs = [
     ruamel-yaml
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix b/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix
index 0681b727b220..b30fa8e5659f 100644
--- a/nixpkgs/pkgs/development/python-modules/cx_freeze/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix
@@ -5,12 +5,16 @@
 , ncurses
 , importlib-metadata
 , setuptools
+, wheel
 , patchelf
 }:
 
 buildPythonPackage rec {
   pname = "cx-freeze";
   version = "6.14.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     pname = "cx_Freeze";
@@ -18,7 +22,10 @@ buildPythonPackage rec {
     hash = "sha256-ydox+o4B0t/dYD+nDiY5CmWupt1iMzyU2fA4tCqgVcg=";
   };
 
-  disabled = pythonOlder "3.5";
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
 
   propagatedBuildInputs = [
     importlib-metadata # upstream has this for 3.8 as well
diff --git a/nixpkgs/pkgs/development/python-modules/d2to1/default.nix b/nixpkgs/pkgs/development/python-modules/d2to1/default.nix
deleted file mode 100644
index eaad9fc9095b..000000000000
--- a/nixpkgs/pkgs/development/python-modules/d2to1/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ buildPythonPackage
-, lib
-, fetchFromGitHub
-, nose
-}:
-buildPythonPackage rec {
-  pname = "d2to1";
-  version = "0.2.12.post1";
-
-  nativeCheckInputs = [ nose ];
-
-  src = fetchFromGitHub {
-    owner = "embray";
-    repo = pname;
-    rev = version;
-    sha256 = "1hzq51qbzsc27yy8swp08kf42mamag7qcabbrigzj4m6ivb5chi2";
-  };
-
-  meta = with lib;{
-    description = "Support for distutils2-like setup.cfg files as package metadata";
-    homepage = "https://github.com/embray/d2to1";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ makefu ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/dashing/default.nix b/nixpkgs/pkgs/development/python-modules/dashing/default.nix
index d49fd667cdbe..9caa56a87649 100644
--- a/nixpkgs/pkgs/development/python-modules/dashing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dashing/default.nix
@@ -1,21 +1,23 @@
 { lib
-, python3
+, buildPythonPackage
 , fetchPypi
+, pythonOlder
+, blessed
 }:
 
-python3.pkgs.buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "dashing";
   version = "0.1.0";
   format = "setuptools";
 
-  disabled = python3.pythonOlder "3.7";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-JRRgjg8pp3Xb0bERFWEhnOg9U8+kuqL+QQH6uE/Vbxs=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = [
     blessed
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/dask-image/default.nix b/nixpkgs/pkgs/development/python-modules/dask-image/default.nix
index d53fc4ee5c59..92c0e9074603 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-image/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-image/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "dask-image";
-  version = "2023.3.0";
+  version = "2023.8.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-M6qckhUG2DvBw2uY5pAJFyuvatC7owVlb6XWkkrzAys=";
+    hash = "sha256-XpqJhbBSehtZQsan50Tg5X0mTiIscFjwW664HDdNBLY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dask/default.nix b/nixpkgs/pkgs/development/python-modules/dask/default.nix
index b0e10f29a6ed..5166afde24de 100644
--- a/nixpkgs/pkgs/development/python-modules/dask/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask/default.nix
@@ -1,51 +1,58 @@
 { lib
 , stdenv
-, arrow-cpp
-, bokeh
 , buildPythonPackage
+, fetchFromGitHub
+
+# build-system
+, setuptools
+, wheel
+
+# dependencies
 , click
 , cloudpickle
-, distributed
-, fastparquet
-, fetchFromGitHub
-, fetchpatch
 , fsspec
 , importlib-metadata
-, jinja2
-, numpy
 , packaging
-, pandas
 , partd
+, pyyaml
+, toolz
+
+# optional-dependencies
+, numpy
 , pyarrow
+, lz4
+, pandas
+, distributed
+, bokeh
+, jinja2
+
+# tests
+, arrow-cpp
+, hypothesis
+, pytest-asyncio
 , pytest-rerunfailures
 , pytest-xdist
 , pytestCheckHook
 , pythonOlder
-, pyyaml
-, scipy
-, setuptools
-, toolz
-, versioneer
-, zarr
 }:
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2023.4.1";
-  format = "setuptools";
+  version = "2023.8.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "dask";
-    repo = pname;
+    repo = "dask";
     rev = "refs/tags/${version}";
-    hash = "sha256-PkEFXF6OFZU+EMFBUopv84WniQghr5Q6757Qx6D5MyE=";
+    hash = "sha256-ZKjfxTJCu3EUOKz16+VP8+cPqQliFNc7AU1FPC1gOXw=";
   };
 
   nativeBuildInputs = [
     setuptools
-    versioneer
+    wheel
   ];
 
   propagatedBuildInputs = [
@@ -59,13 +66,18 @@ buildPythonPackage rec {
     toolz
   ];
 
-  passthru.optional-dependencies = {
+  passthru.optional-dependencies = lib.fix (self: {
     array = [
       numpy
     ];
     complete = [
-      distributed
-    ];
+      pyarrow
+      lz4
+    ]
+    ++ self.array
+    ++ self.dataframe
+    ++ self.distributed
+    ++ self.diagnostics;
     dataframe = [
       numpy
       pandas
@@ -77,16 +89,16 @@ buildPythonPackage rec {
       bokeh
       jinja2
     ];
-  };
+  });
 
   nativeCheckInputs = [
     pytestCheckHook
     pytest-rerunfailures
     pytest-xdist
-    scipy
-    zarr
+    # from panda[test]
+    hypothesis
+    pytest-asyncio
   ] ++ lib.optionals (!arrow-cpp.meta.broken) [ # support is sparse on aarch64
-    fastparquet
     pyarrow
   ];
 
@@ -97,13 +109,15 @@ buildPythonPackage rec {
     echo "def get_versions(): return {'dirty': False, 'error': None, 'full-revisionid': None, 'version': '${version}'}" > dask/_version.py
 
     substituteInPlace setup.py \
+      --replace "import versioneer" "" \
       --replace "version=versioneer.get_version()," "version='${version}'," \
       --replace "cmdclass=versioneer.get_cmdclass()," ""
 
     substituteInPlace pyproject.toml \
+      --replace ', "versioneer[toml]==0.28"' "" \
       --replace " --durations=10" "" \
       --replace " --cov-config=pyproject.toml" "" \
-      --replace " -v" ""
+      --replace "\"-v" "\" "
   '';
 
   pytestFlagsArray = [
@@ -120,12 +134,10 @@ buildPythonPackage rec {
     # AttributeError: 'str' object has no attribute 'decode'
     "test_read_dir_nometa"
   ] ++ [
-    "test_chunksize_files"
-    # TypeError: 'ArrowStringArray' with dtype string does not support reduction 'min'
-    "test_set_index_string"
-    # numpy 1.24
-    # RuntimeWarning: invalid value encountered in cast
-    "test_setitem_extended_API_2d_mask"
+    # AttributeError: 'ArrowStringArray' object has no attribute 'tobytes'. Did you mean: 'nbytes'?
+    "test_dot"
+    "test_dot_nan"
+    "test_merge_column_with_nulls"
   ];
 
   __darwinAllowLocalNetworking = true;
diff --git a/nixpkgs/pkgs/development/python-modules/dataclass-wizard/default.nix b/nixpkgs/pkgs/development/python-modules/dataclass-wizard/default.nix
new file mode 100644
index 000000000000..603fd25e9b2a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dataclass-wizard/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pythonOlder
+, pythonAtLeast
+, pytimeparse
+, pyyaml
+, pytestCheckHook
+, pytest-mock
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "dataclass-wizard";
+  version = "0.22.2";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "rnag";
+    repo = "dataclass-wizard";
+    rev = "v${version}";
+    hash = "sha256-Ufi4lZc+UkM6NZr4bS2OibpOmMjyiBEoVKxmrqauW50=";
+  };
+
+  propagatedBuildInputs = [
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    typing-extensions
+  ];
+
+  passthru.optional-dependencies = {
+    timedelta = [
+      pytimeparse
+    ];
+    yaml = [
+      pyyaml
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-mock
+  ] ++ passthru.optional-dependencies.timedelta
+  ++ passthru.optional-dependencies.yaml;
+
+  disabledTests = [
+  ] ++ lib.optionals (pythonAtLeast "3.11") [
+    # Any/None internal changes, tests need adjusting upstream
+    "without_type_hinting"
+    "default_dict"
+    "test_frozenset"
+    "test_set"
+    "date_times_with_custom_pattern"
+    "from_dict_handles_identical_cased_json_keys"
+  ];
+
+  pythonImportsCheck = [ "dataclass_wizard" ];
+
+  meta = with lib; {
+    description = "A set of simple, yet elegant wizarding tools for interacting with the Python dataclasses module";
+    homepage = "https://github.com/rnag/dataclass-wizard";
+    changelog = "https://github.com/rnag/dataclass-wizard/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ codifryed ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/datadog/default.nix b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
index d38279452317..fb3271af586f 100644
--- a/nixpkgs/pkgs/development/python-modules/datadog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datadog/default.nix
@@ -34,6 +34,8 @@ buildPythonPackage rec {
     requests
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     click
     freezegun
diff --git a/nixpkgs/pkgs/development/python-modules/datashader/default.nix b/nixpkgs/pkgs/development/python-modules/datashader/default.nix
index 41c0ad418d33..b110ba702daf 100644
--- a/nixpkgs/pkgs/development/python-modules/datashader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datashader/default.nix
@@ -25,14 +25,14 @@
 
 buildPythonPackage rec {
   pname = "datashader";
-  version = "0.15.1";
+  version = "0.15.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vkgfO9WGKMuaL5SxcwMQWKG6FEYxLgRbkvftUkMwg4s=";
+    hash = "sha256-lTlSk3kofWnBDpq04LKQDhoWAE1v8G3g2EqmLEgzsbs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/datefinder/default.nix b/nixpkgs/pkgs/development/python-modules/datefinder/default.nix
new file mode 100644
index 000000000000..938f25ee1d70
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/datefinder/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, python-dateutil
+, pytz
+, regex
+}:
+
+buildPythonPackage rec {
+  pname = "datefinder";
+  version = "0.7.3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "akoumjian";
+    repo = "datefinder";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-uOSwS+mHgbvEL+rTfs4Ax9NvJnhYemxFVqqDssy2i7g=";
+  };
+
+  propagatedBuildInputs = [
+    regex
+    pytz
+    python-dateutil
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "datefinder" ];
+
+  meta = {
+    description = "Extract datetime objects from strings";
+    homepage = "https://github.com/akoumjian/datefinder";
+    license = lib.licenses.mit;
+    maintainers = lib.teams.deshaw.members;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/datetime/default.nix b/nixpkgs/pkgs/development/python-modules/datetime/default.nix
index a179d031da04..173431c924da 100644
--- a/nixpkgs/pkgs/development/python-modules/datetime/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datetime/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "datetime";
-  version = "5.1";
+  version = "5.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "zopefoundation";
     repo = "datetime";
     rev = "refs/tags/${version}";
-    hash = "sha256-5H7s2y/2zsQC3Azs1yakotO8ZVLCRV8yPahbX09C5L8=";
+    hash = "sha256-J96IjyPyJaUC5mECK3g/cgxBh1OoVfj62XocBatYgOw=";
   };
 
   propagatedBuildInputs = [
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "DateTime data type, as known from Zope";
     homepage = "https://github.com/zopefoundation/DateTime";
-    changelog = "https://github.com/zopefoundation/DateTime/releases/tag/${version}";
+    changelog = "https://github.com/zopefoundation/DateTime/blob/${version}/CHANGES.rst";
     license = licenses.zpl21;
     maintainers = with maintainers; [ icyrockcom ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/datrie/default.nix b/nixpkgs/pkgs/development/python-modules/datrie/default.nix
index 414474af6ccb..73f4764d742d 100644
--- a/nixpkgs/pkgs/development/python-modules/datrie/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/datrie/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , setuptools
+, wheel
 , cython
 , pytestCheckHook
 , hypothesis
@@ -17,17 +18,20 @@ buildPythonPackage rec {
     hash = "sha256-UlsI9jjVz2EV32zNgY5aASmM0jCy2skcj/LmSZ0Ydl0=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"pytest-runner", ' ""
+  '';
+
   nativeBuildInputs = [
     setuptools
+    wheel
     cython
   ];
 
   nativeCheckInputs = [
-    pytestCheckHook
-  ];
-
-  checkInputs = [
     hypothesis
+    pytestCheckHook
   ];
 
   pythonImportsCheck = [ "datrie" ];
diff --git a/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix b/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
index bd346c3262d7..0a926744a814 100644
--- a/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbt-core/default.nix
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     hash = "sha256-ZgP11fVMtXpzo9QaTkejvKl0LzCAkIyGBMcOquBirxQ=";
   };
 
-  sourceRoot = "source/core";
+  sourceRoot = "${src.name}/core";
 
   nativeBuildInputs = [
     pythonRelaxDepsHook
diff --git a/nixpkgs/pkgs/development/python-modules/dbt-postgres/default.nix b/nixpkgs/pkgs/development/python-modules/dbt-postgres/default.nix
index f5be13ccff7a..0478e748f1c6 100644
--- a/nixpkgs/pkgs/development/python-modules/dbt-postgres/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbt-postgres/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage {
 
   inherit (dbt-core) version src;
 
-  sourceRoot = "source/plugins/postgres";
+  sourceRoot = "${dbt-core.src.name}/plugins/postgres";
 
   env.DBT_PSYCOPG2_NAME = "psycopg2";
 
diff --git a/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix b/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
index ec01d5ab3327..7b7c5f59ad95 100644
--- a/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
@@ -1,17 +1,19 @@
 { lib
 , async-timeout
 , buildPythonPackage
+, cython_3
 , fetchFromGitHub
 , poetry-core
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "1.90.1";
+  version = "1.92.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,12 +22,18 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-B+NW7ORKIBtjxeR0W0tX7V1MgBtNoyGFX35TXUl7rVE=";
+    hash = "sha256-JlR2eoNOsZ/YE313fWAtoxJhlpMnUaDJcFpwA2b6p4c=";
   };
 
+  # The project can build both an optimized cython version and an unoptimized
+  # python version. This ensures we fail if we build the wrong one.
+  env.REQUIRE_CYTHON = 1;
+
   nativeBuildInputs = [
+    cython_3
     poetry-core
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/debugpy/default.nix b/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
index 58bdec7ebc61..eff66b360715 100644
--- a/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "debugpy";
-  version = "1.6.7";
+  version = "1.6.7.post1";
   format = "setuptools";
 
   # Currently doesn't support 3.11:
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "microsoft";
     repo = "debugpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-porQTFvcLaIkvhWPM4vWR0ohlcFRkRwSLpQJNg25Tj4=";
+    hash = "sha256-zsF6XUSAAKhwmUZkroRWvOBWXjTWzWuRYOhnYuN3KrY=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix b/nixpkgs/pkgs/development/python-modules/deezer-python/default.nix
index fa119a798e20..7b185d6d5a1f 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.0.0";
+  version = "6.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "browniebroke";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-gIjb8+UEMf/wQSJOassMc9MBysTtieExFTIiSq1m/3Y=";
+    hash = "sha256-9uFKrr0C/RIklpW5KZj8pSv4oEibzSaAJWnTwYKyxD8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/deid/default.nix b/nixpkgs/pkgs/development/python-modules/deid/default.nix
index 6c5146313881..6927d656a9f2 100644
--- a/nixpkgs/pkgs/development/python-modules/deid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/deid/default.nix
@@ -36,7 +36,7 @@ let
 in
 buildPythonPackage rec {
   pname = "deid";
-  version = "0.3.21";
+  version = "0.3.22";
 
   format = "pyproject";
   disabled = pythonOlder "3.7";
@@ -46,8 +46,8 @@ buildPythonPackage rec {
     owner = "pydicom";
     repo = pname;
     # the github repo does not contain Pypi version tags:
-    rev = "38717b8cbfd69566ba489dd0c9858bb93101e26d";
-    hash = "sha256-QqofxNjshbNfu8vZ37rB6pxj5R8q0wlUhJRhrpkKySk=";
+    rev = "40dc96125daeb65856d643e12c3d6dfec756be0d";
+    hash = "sha256-OtxQPF29eqt8I1Q12ga8a1IjBVO+VBk6y0DQmRtCNoU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/detectron2/default.nix b/nixpkgs/pkgs/development/python-modules/detectron2/default.nix
index cc750427dacb..e7870fbe4759 100644
--- a/nixpkgs/pkgs/development/python-modules/detectron2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/detectron2/default.nix
@@ -59,10 +59,16 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "facebookresearch";
     repo = "detectron2";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     sha256 = "1w6cgvc8r2lwr72yxicls650jr46nriv1csivp2va9k1km8jx2sf";
   };
 
+  postPatch = ''
+    # https://github.com/facebookresearch/detectron2/issues/5010
+    substituteInPlace detectron2/data/transforms/transform.py \
+      --replace "interp=Image.LINEAR" "interp=Image.BILINEAR"
+  '';
+
   nativeBuildInputs = [
     pythonRelaxDepsHook
     ninja
@@ -123,6 +129,8 @@ buildPythonPackage {
     "tests/structures/test_instances.py"
     # hangs for some reason
     "tests/modeling/test_model_e2e.py"
+    # KeyError: 'precision'
+    "tests/data/test_coco_evaluation.py"
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/devito/default.nix b/nixpkgs/pkgs/development/python-modules/devito/default.nix
index 3b4063518cfd..b56c44579df4 100644
--- a/nixpkgs/pkgs/development/python-modules/devito/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devito/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , anytree
 , buildPythonPackage
 , cached-property
@@ -18,8 +19,8 @@
 , pytest-xdist
 , pytestCheckHook
 , pythonOlder
+, pythonRelaxDepsHook
 , scipy
-, stdenv
 , sympy
 }:
 
@@ -37,20 +38,18 @@ buildPythonPackage rec {
     hash = "sha256-LzqY//205XEOd3/f8k1g4OYndRHMTVplBogGJf5Forw=";
   };
 
-  postPatch = ''
-    # Removing unecessary dependencies
-    sed -e "s/flake8.*//g" \
-        -e "s/codecov.*//g" \
-        -e "s/pytest.*//g" \
-        -e "s/pytest-runner.*//g" \
-        -e "s/pytest-cov.*//g" \
-        -i requirements.txt
+  pythonRemoveDeps = [
+    "codecov"
+    "flake8"
+    "pytest-runner"
+    "pytest-cov"
+  ];
+
+  pythonRelaxDeps = true;
 
-    # Relaxing dependencies requirements
-    sed -e "s/>.*//g" \
-        -e "s/<.*//g" \
-        -i requirements.txt
-  '';
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
 
   propagatedBuildInputs = [
     anytree
@@ -71,31 +70,35 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    pytestCheckHook
-    pytest-xdist
-    matplotlib
     gcc
+    matplotlib
+    pytest-xdist
+    pytestCheckHook
   ];
 
+  pytestFlagsArray = [ "-x" ];
+
   # I've had to disable the following tests since they fail while using nix-build, but they do pass
   # outside the build. They mostly related to the usage of MPI in a sandboxed environment.
   disabledTests = [
     "test_assign_parallel"
-    "test_gs_parallel"
-    "test_if_parallel"
-    "test_if_halo_mpi"
     "test_cache_blocking_structure_distributed"
-    "test_mpi"
     "test_codegen_quality0"
-    "test_new_distributor"
-    "test_subdomainset_mpi"
+    "test_coefficients_w_xreplace"
+    "test_docstrings"
+    "test_docstrings[finite_differences.coefficients]"
+    "test_gs_parallel"
+    "test_if_halo_mpi"
+    "test_if_parallel"
     "test_init_omp_env_w_mpi"
+    "test_loop_bounds_forward"
     "test_mpi_nocomms"
+    "test_mpi"
+    "test_index_derivative"
+    "test_new_distributor"
+    "test_setupWOverQ"
     "test_shortcuts"
-    "est_docstrings"
-    "test_docstrings[finite_differences.coefficients]"
-    "test_coefficients_w_xreplace"
-    "test_loop_bounds_forward"
+    "test_subdomainset_mpi"
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix b/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix
index d352925308cb..c6d5b7df2660 100644
--- a/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/devolo-plc-api/default.nix
@@ -44,6 +44,8 @@ buildPythonPackage rec {
     zeroconf
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytest-asyncio
     pytest-httpx
diff --git a/nixpkgs/pkgs/development/python-modules/devtools/default.nix b/nixpkgs/pkgs/development/python-modules/devtools/default.nix
index 79f8d3d5cbb9..ec386f8e0b29 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.10.0";
+  version = "0.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "samuelcolvin";
     repo = "python-${pname}";
-    rev = "v${version}";
-    hash = "sha256-x9dL/FE94OixMAmjnmfzZUcYJBqE5P2AAIFsNJF0Fxo=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ogogXZnuSFkWktCin+cyefjqIbGFRBVIeOrZJAa3hOE=";
   };
 
   nativeBuildInputs = [
@@ -47,10 +47,15 @@ buildPythonPackage rec {
   disabledTests = [
     # Test for Windows32
     "test_print_subprocess"
-    # sensitive to timing
+    # Sensitive to timing
     "test_multiple_not_verbose"
-    # sensitive to interpreter output
-    "test_simple_vars"
+    # Sensitive to interpreter output
+    "test_simple"
+  ];
+
+  disabledTestPaths = [
+    # pytester_pretty is not available in Nixpkgs
+    "tests/test_insert_assert.py"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/dicom-numpy/default.nix b/nixpkgs/pkgs/development/python-modules/dicom-numpy/default.nix
index 87fca9a1b6a8..84ec407606b6 100644
--- a/nixpkgs/pkgs/development/python-modules/dicom-numpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dicom-numpy/default.nix
@@ -9,14 +9,16 @@
 
 buildPythonPackage rec {
   pname = "dicom-numpy";
-  version = "0.6.3";
+  version = "0.6.5";
+  format = "pyproject";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "innolitics";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-QIPuSFaWgHmcTddZ8H9kgzLYuwGUzy/FVsi/ttSUskA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-pgmREQlstr0GY2ThIWt4hbcSWmaNWgkr2gO4PSgGHqE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/diofant/default.nix b/nixpkgs/pkgs/development/python-modules/diofant/default.nix
index 89cf7d910127..303d00bbff29 100644
--- a/nixpkgs/pkgs/development/python-modules/diofant/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diofant/default.nix
@@ -1,39 +1,57 @@
 { lib
 , buildPythonPackage
+, cython
+, fetchpatch
 , fetchPypi
 , gmpy2
-, isort
 , mpmath
 , numpy
 , pythonOlder
 , scipy
 , setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "diofant";
-  version = "0.13.0";
-  disabled = pythonOlder "3.9";
+  version = "0.14.0";
   format = "pyproject";
+  disabled = pythonOlder "3.10";
 
   src = fetchPypi {
     inherit version;
     pname = "Diofant";
-    sha256 = "bac9e086a7156b20f18e3291d6db34e305338039a3c782c585302d377b74dd3c";
+    hash = "sha256-c886y37xR+4TxZw9+3tb7nkTGxWcS+Ag/ruUUdpf7S4=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "remove-pip-from-build-dependencies.patch";
+      url = "https://github.com/diofant/diofant/commit/117e441808faa7c785ccb81bf211772d60ebdec3.patch";
+      hash = "sha256-MYk1Ku4F3hAv7+jJQLWhXd8qyKRX+QYuBzPfYWT0VbU=";
+    })
+  ];
+
   nativeBuildInputs = [
-    isort
     setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
-    gmpy2
     mpmath
-    numpy
-    scipy
   ];
 
+  passthru.optional-dependencies = {
+    exports = [
+      cython
+      numpy
+      scipy
+    ];
+    gmpy = [
+      gmpy2
+    ];
+  };
+
   # tests take ~1h
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/discordpy/default.nix b/nixpkgs/pkgs/development/python-modules/discordpy/default.nix
index cd06f9df5da9..a13eba26b7e1 100644
--- a/nixpkgs/pkgs/development/python-modules/discordpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/discordpy/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "discord.py";
-  version = "2.3.1";
+  version = "2.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Rapptz";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-vbbTnmzYI6cbF7GWjPVGqy7KKDGpWQ+4q96/kGFjQ8Y=";
+    hash = "sha256-bZoYdDpk34x+Vw1pAZ3EcTFp2JJ/Ow0Jfof/XjqeRmY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-cstruct/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-cstruct/default.nix
index 46093c1268bb..556927b63a08 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.8";
+  version = "3.9";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.cstruct";
     rev = "refs/tags/${version}";
-    hash = "sha256-ART7m0OR0KjkZYHXDoNGJDX0v7h+FgctAaWXNFohGV8=";
+    hash = "sha256-v0giDdH6bYCSrotd9WGSlIMzylTz7FHeCE/JkCw7frY=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-etl/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-etl/default.nix
index 06e9d2f282dd..de6a49ba9e26 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-etl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-etl/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-etl";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.etl";
     rev = "refs/tags/${version}";
-    hash = "sha256-Z6IdSLHXwZULqV6aTZlXjRo5Xq/rRNw7b/nOhuKOth4=";
+    hash = "sha256-z6P7XpA+j9JIJJsp/Z4uewFw9OAPSZV+57eJu7rd17I=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-ntfs/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-ntfs/default.nix
index e81211286003..96b3cb3a6745 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-ntfs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-ntfs/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-ntfs";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.ntfs";
     rev = "refs/tags/${version}";
-    hash = "sha256-kGvy1+MSjJ6IQjffmsT02toBNaSbBZXeYmC9AqwbfFk=";
+    hash = "sha256-bnFimn5ektIKiX73NZ+1Iz3Uoew138a0nFJgypffC4o=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix
index 726c9aad178c..bc0d8798255f 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dissect-regf";
-  version = "3.6";
+  version = "3.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect.regf";
     rev = "refs/tags/${version}";
-    hash = "sha256-doyyBmkRPH2wRZA44/7ldkUdNLX1lulo/XcSVFxaIfM=";
+    hash = "sha256-WUrND1RnXTeN3WosR+m+yVJLe/imBTx7nmUZrSIc1E0=";
   };
 
   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 1a5bc7756f86..31fbfafe5496 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.10";
+  version = "3.11.1";
   format = "pyproject";
 
-  disabled = pythonOlder "3.10";
+  disabled = pythonOlder "3.11.1";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.target";
     rev = "refs/tags/${version}";
-    hash = "sha256-zAcNkRwCnU/53h8/WsaGjCpgPovPb+5VOu/6SHXu31g=";
+    hash = "sha256-xT0PXah+sYzSDRoBU4OWBp+zhlinKRuQUDBLvos4zKk=";
   };
 
   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 22c1fe568279..bcd15ffbd250 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.9";
+  version = "3.10";
   format = "pyproject";
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.util";
     rev = "refs/tags/${version}";
-    hash = "sha256-u8FPGSG9bZi+bxqI5zABwHcqwmM24hURvHcHTKz8dYw=";
+    hash = "sha256-H89lPX//AlTEJLuZFzzn9wUc4lZC1TGd98t4+TYlbWs=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect/default.nix b/nixpkgs/pkgs/development/python-modules/dissect/default.nix
index aedb4dcbb7e9..01b1907a95df 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.7";
+  version = "3.8.1";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8.1";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect";
     rev = "refs/tags/${version}";
-    hash = "sha256-noo7yDRTPPSIrSt8Hewb9mZsMuPgDmL3aIxI/bknsGc=";
+    hash = "sha256-WbKzmLeGsvzFA/bTTCqBEj/unbnzKQFzHFPRG411Cos=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/distributed/default.nix b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
index 18f7ca8ecb52..6fea3e2c28d2 100644
--- a/nixpkgs/pkgs/development/python-modules/distributed/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "2023.4.1";
+  version = "2023.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "dask";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-KCgftu3i8N0WSelHiqWqa1vLN5gUtleftSUx1Zu4nZg=";
+    hash = "sha256-FvNh7gfxUR1iIUY3kMolhzcbWupQL39E9JXWip8bdrQ=";
   };
 
   postPatch = ''
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 2abee722b97e..a2219ae22cc5 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 = "3.0.0";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "iMerica";
     repo = "dj-rest-auth";
     rev = "refs/tags/${version}";
-    hash = "sha256-wkbFUrvKhdp2Hd4QkXAvhMiaqSXFD/fgIw03nLPaO5I=";
+    hash = "sha256-+ladx0b/bvvUW8zLjtG8IiWWdfPTqqm/KYbEK9uiFaU=";
   };
 
   postPatch = ''
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 5ff3cb09692b..89432c28198c 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.3.0";
+  version = "4.5.0";
   format = "pyproject";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eItbHucAVGgdf659CF3qp28vpvZMyf49152u9iwvYSE=";
+    hash = "sha256-B6L+NbQCUIluErjWLROW0eQ3AEYwNwN2BJPOzXkfqI8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-bootstrap3/default.nix b/nixpkgs/pkgs/development/python-modules/django-bootstrap3/default.nix
index 950cf9ef812c..ccb1ffd3c1a7 100644
--- a/nixpkgs/pkgs/development/python-modules/django-bootstrap3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-bootstrap3/default.nix
@@ -1,24 +1,36 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, setuptools
+, fetchFromGitHub
+
+# build-system
+, hatchling
+
+# non-propagates
 , django
+
+# tests
 , pytest-django
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "django-bootstrap3";
-  version = "23.1";
+  version = "23.4";
   format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-cJW3xmqJ87rreOoCh5nr15XSlzn8hgJGBCLnwqGUrTA=";
+  src = fetchFromGitHub {
+    owner = "zostera";
+    repo = "django-bootstrap3";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-1/JQ17GjBHH0JbY4EnHOS2B3KhEJdG2yL6O2nc1HNNc=";
   };
 
+  postPatch = ''
+    sed -i '/beautifulsoup4/d' pyproject.toml
+  '';
+
   nativeBuildInputs = [
-    setuptools
+    hatchling
   ];
 
   buildInputs = [
@@ -39,7 +51,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Bootstrap 3 integration for Django";
     homepage = "https://github.com/zostera/django-bootstrap3";
-    changelog = "https://github.com/zostera/django-bootstrap3/blob/${version}/CHANGELOG.md";
+    changelog = "https://github.com/zostera/django-bootstrap3/blob/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ hexa ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/django-bootstrap4/default.nix b/nixpkgs/pkgs/development/python-modules/django-bootstrap4/default.nix
index 480c7891539f..568ce0df3048 100644
--- a/nixpkgs/pkgs/development/python-modules/django-bootstrap4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-bootstrap4/default.nix
@@ -3,30 +3,32 @@
 , fetchFromGitHub
 
 # build-system
-, setuptools
+, hatchling
+
+# non-propagates
+, django
 
 # dependencies
 , beautifulsoup4
 
 # tests
-, django
 , python
 }:
 
 buildPythonPackage rec {
   pname = "django-bootstrap4";
-  version = "23.1";
+  version = "23.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "zostera";
     repo = "django-bootstrap4";
-    rev = "v${version}";
-    hash = "sha256-55pfUPwxDzpDn4stMEPvrQAexs+goN5SKFvwSR3J4aM=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-RYGwi+hRfTqPAikrv33w27v1/WLwRvXexSusJKdr2o8=";
   };
 
   nativeBuildInputs = [
-    setuptools
+    hatchling
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-bootstrap5/default.nix b/nixpkgs/pkgs/development/python-modules/django-bootstrap5/default.nix
new file mode 100644
index 000000000000..76405e9e5cd6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-bootstrap5/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+
+# build-system
+, hatchling
+
+# dependencies
+, beautifulsoup4
+, pillow
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "django-bootstrap5";
+  version = "23.3";
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "zostera";
+    repo = "django-bootstrap5";
+    rev = "v${version}";
+    hash = "sha256-FIwDyZ5I/FSaEiQKRfanzAGij86u8y85Wal0B4TrI7c=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    django
+    beautifulsoup4
+    pillow
+  ];
+
+  pythonImportsCheck = [
+    "django_bootstrap5"
+  ];
+
+  meta = with lib; {
+    description = "Bootstrap 5 integration with Django";
+    homepage = "https://github.com/zostera/django-bootstrap5";
+    changelog = "https://github.com/zostera/django-bootstrap5/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ netali ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-cachalot/default.nix b/nixpkgs/pkgs/development/python-modules/django-cachalot/default.nix
index f52a3aa46e62..33d9e484f114 100644
--- a/nixpkgs/pkgs/development/python-modules/django-cachalot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-cachalot/default.nix
@@ -6,18 +6,19 @@
 , psycopg2
 , beautifulsoup4
 , python
+, pytz
 }:
 
 buildPythonPackage rec {
   pname = "django-cachalot";
-  version = "2.5.3";
+  version = "2.6.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "noripyt";
     repo = "django-cachalot";
     rev = "v${version}";
-    hash = "sha256-ayAN+PgK3aIpt4R8aeC6c6mRGTnfObycmkoXPTjx4WI=";
+    hash = "sha256-bCiIZkh02+7xL6aSWE9by+4dFDsanr0iXuO9QKpLOjw=";
   };
 
   patches = [
@@ -34,6 +35,7 @@ buildPythonPackage rec {
     beautifulsoup4
     django-debug-toolbar
     psycopg2
+    pytz
   ];
 
   pythonImportsCheck = [ "cachalot" ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix b/nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix
index 566eb06f5043..4c6c4e786ade 100644
--- a/nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix
@@ -42,6 +42,8 @@ buildPythonPackage rec {
     six
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
     pytest-django
diff --git a/nixpkgs/pkgs/development/python-modules/django-ckeditor/default.nix b/nixpkgs/pkgs/development/python-modules/django-ckeditor/default.nix
index 93710f606d1e..b0df11aefd0c 100644
--- a/nixpkgs/pkgs/development/python-modules/django-ckeditor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-ckeditor/default.nix
@@ -1,25 +1,28 @@
 { lib
 , buildPythonPackage
 , django
+, django-extensions
 , django-js-asset
 , fetchFromGitHub
+, pillow
 , python
-, setuptools-scm
-, django-extensions
+, pythonOlder
 , selenium
-, pillow
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "django-ckeditor";
-  version = "6.5.1";
+  version = "6.7";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "django-ckeditor";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Gk8mAG0WIMQZolaE1sRDmzSkfiNHi/BWiotEtIC4WLk=";
+    hash = "sha256-mZQ5s3YbumYmT0zRWPFIvzt2TbtDLvVcJjZVAwn31E8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -54,6 +57,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = " Django admin CKEditor integration";
     homepage = "https://github.com/django-ckeditor/django-ckeditor";
+    changelog = "https://github.com/django-ckeditor/django-ckeditor/blob/${version}/CHANGELOG.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ onny ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/django-classy-tags/default.nix b/nixpkgs/pkgs/development/python-modules/django-classy-tags/default.nix
index 06a336be0814..a4d363f8bc57 100644
--- a/nixpkgs/pkgs/development/python-modules/django-classy-tags/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-classy-tags/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-classy-tags";
-  version = "4.0.0";
+  version = "4.1.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-25/Hxe0I3CYZzEwZsZUUzawT3bYYJ4qwcJTGJtKO7w0=";
+    hash = "sha256-yNnRqi+m5xxNhm303RHSOmm40lu7dQskkKF7Fhd07lk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-compat/default.nix b/nixpkgs/pkgs/development/python-modules/django-compat/default.nix
deleted file mode 100644
index d33a4be2817f..000000000000
--- a/nixpkgs/pkgs/development/python-modules/django-compat/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, buildPythonPackage, fetchFromGitHub, python,
-  django, six
-}:
-
-buildPythonPackage rec {
-  pname = "django-compat";
-  version = "1.0.15";
-
-  # the pypi packages don't include everything required for the tests
-  src = fetchFromGitHub {
-    owner = "arteria";
-    repo = "django-compat";
-    rev = "v${version}";
-    sha256 = "1pr6v38ahrsvxlgmcx69s4b5q5082f44gzi4h3c32sccdc4pwqxp";
-  };
-
-  patches = [
-    ./fix-tests.diff
-  ];
-
-  checkPhase = ''
-    runHook preCheck
-
-    # to convince the tests to run against the installed package, not the source directory, we extract the
-    # tests directory from it then dispose of the actual source
-    mv compat/tests .
-    rm -r compat
-    substituteInPlace runtests.py --replace compat.tests tests
-    ${python.interpreter} runtests.py
-
-    runHook postCheck
-  '';
-
-  propagatedBuildInputs = [ django six ];
-
-  meta = with lib; {
-    description = "Forward and backwards compatibility layer for Django 1.4, 1.7, 1.8, 1.9, 1.10 and 1.11";
-    homepage = "https://github.com/arteria/django-compat";
-    license = licenses.mit;
-    maintainers = with maintainers; [ ris ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/django-compat/fix-tests.diff b/nixpkgs/pkgs/development/python-modules/django-compat/fix-tests.diff
deleted file mode 100644
index 58165db96a87..000000000000
--- a/nixpkgs/pkgs/development/python-modules/django-compat/fix-tests.diff
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -ur a/compat/tests/settings.py b/compat/tests/settings.py
---- a/compat/tests/settings.py	2020-03-06 15:32:07.548482597 +0100
-+++ b/compat/tests/settings.py	2020-03-06 22:19:25.422934249 +0100
-@@ -16,11 +16,12 @@
-     'django.contrib.admin',
-     'django.contrib.auth',
-     'django.contrib.contenttypes',
-+    'django.contrib.messages',
-     'compat',
-     'compat.tests.test_app',
- ]
- 
--MIDDLEWARE_CLASSES = (
-+MIDDLEWARE = (
-     'django.contrib.sessions.middleware.SessionMiddleware',
-     'django.middleware.common.CommonMiddleware',
-     'django.middleware.csrf.CsrfViewMiddleware',
-@@ -43,6 +44,7 @@
-                 'django.template.context_processors.i18n',
-                 'django.template.context_processors.tz',
-                 'django.template.context_processors.request',
-+                'django.contrib.messages.context_processors.messages',
-             ],
-             'loaders': [
-                 'django.template.loaders.filesystem.Loader',
-diff -ur a/compat/tests/test_compat.py b/compat/tests/test_compat.py
---- a/compat/tests/test_compat.py	2020-03-06 15:32:07.548482597 +0100
-+++ b/compat/tests/test_compat.py	2020-03-06 15:37:39.202835075 +0100
-@@ -9,7 +9,7 @@
- from django.core.serializers.json import DjangoJSONEncoder
- from django.test import TestCase, SimpleTestCase
- from django.test.client import RequestFactory
--from django.contrib.auth.views import logout
-+from django.contrib.auth.views import auth_logout
- try:
-     from django.urls import NoReverseMatch
- except ImportError:
-@@ -103,7 +103,7 @@
-         Tests that passing a view name to ``resolve_url`` will result in the
-         URL path mapping to that view name.
-         """
--        resolved_url = resolve_url(logout)
-+        resolved_url = resolve_url(auth_logout)
-         self.assertEqual('/accounts/logout/', resolved_url)
- 
-     '''
-diff -ur a/compat/tests/urls.py b/compat/tests/urls.py
---- a/compat/tests/urls.py	2020-03-06 15:32:07.548482597 +0100
-+++ b/compat/tests/urls.py	2020-03-06 15:34:25.962377799 +0100
-@@ -2,5 +2,5 @@
- from django.contrib.auth import views
- 
- urlpatterns = [
--    url(r'^accounts/logout/$', views.logout, name='logout'),
-+    url(r'^accounts/logout/$', views.auth_logout, name='logout'),
- ]
diff --git a/nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix b/nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix
index 9f54b9b9ede5..a301a2494063 100644
--- a/nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-debug-toolbar/default.nix
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "django-debug-toolbar";
-  version = "3.8.1";
+  version = "4.2";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "jazzband";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-GlEw25wem8iwwm3rYLk6TFEAIzC1pYjpSHdAkHwtFcE=";
+    hash = "sha256-hPO2q3V69kpyahav4cgUHz/3WLxXnZYCyWGetyNS+2Q=";
   };
 
   nativeBuildInputs = [
@@ -59,5 +59,5 @@ buildPythonPackage rec {
     changelog = "https://django-debug-toolbar.readthedocs.io/en/latest/changes.html";
     license = licenses.bsd3;
     maintainers = with maintainers; [ yuu ];
-};
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
index 4392427b8656..3c09cde4d10b 100644
--- a/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-extensions/default.nix
@@ -5,6 +5,7 @@
 , django
 , factory_boy
 , mock
+, pip
 , pygments
 , pytest-django
 , pytestCheckHook
@@ -46,6 +47,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     factory_boy
     mock
+    pip
     pygments # not explicitly declared in setup.py, but some tests require it
     pytest-django
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix b/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix
index e85d27f907bd..d9d6fb8ecd6f 100644
--- a/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-haystack/default.nix
@@ -4,12 +4,14 @@
 , fetchPypi
 
 # build dependencies
+, setuptools
 , setuptools-scm
 
 # dependencies
 , django
 
 # tests
+, elasticsearch
 , geopy
 , nose
 , pysolr
@@ -21,7 +23,8 @@
 buildPythonPackage rec {
   pname = "django-haystack";
   version = "3.2.1";
-  format = "setuptools";
+  format = "pyproject";
+
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
@@ -35,13 +38,22 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
   ];
 
-  propagatedBuildInputs = [
+  buildInputs = [
     django
   ];
 
+  passthru.optional-dependencies = {
+    elasticsearch = [
+      elasticsearch
+    ];
+  };
+
+  doCheck = lib.versionOlder django.version "4";
+
   nativeCheckInputs = [
     geopy
     nose
@@ -49,7 +61,14 @@ buildPythonPackage rec {
     python-dateutil
     requests
     whoosh
-  ];
+  ]
+  ++ passthru.optional-dependencies.elasticsearch;
+
+  checkPhase = ''
+    runHook preCheck
+    python test_haystack/run_tests.py
+    runHook postCheck
+  '';
 
   meta = with lib; {
     description = "Pluggable search for Django";
diff --git a/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix b/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix
index 18ef2e3ace79..ef77abefeeae 100644
--- a/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-hijack/default.nix
@@ -11,7 +11,6 @@
 
 # dependencies
 , django
-, django-compat
 
 # tests
 , pytest-django
@@ -54,7 +53,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     django
-    django-compat
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-js-asset/default.nix b/nixpkgs/pkgs/development/python-modules/django-js-asset/default.nix
index f921077934fd..f579a31dc3e7 100644
--- a/nixpkgs/pkgs/development/python-modules/django-js-asset/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-js-asset/default.nix
@@ -1,22 +1,27 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, hatchling
 , django
 , python
 }:
 
 buildPythonPackage rec {
   pname = "django-js-asset";
-  version = "2.0";
-  format = "setuptools";
+  version = "2.1";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "matthiask";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-YDOmbqB0xDBAlOSO1UBYJ8VfRjJ8Z6Hw1i24DNSrnjw=";
+    hash = "sha256-rxJ9TgVBiJByiFSLTg/dtAR31Fs14D4sh2axyBcKGTU=";
   };
 
+  nativeBuildInputs = [
+    hatchling
+  ];
+
   propagatedBuildInputs = [
     django
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix b/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
index 1565d56448ab..6639257740bc 100644
--- a/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
@@ -1,28 +1,50 @@
-{ lib, buildPythonPackage, fetchPypi
-, django-gravatar2, django-compressor, django-allauth, mailmanclient
-, django, mock
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+# propagates
+, django-gravatar2
+, django-allauth
+, mailmanclient
+, pytz
+
+# tests
+, django
+, pytest-django
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "django-mailman3";
   version = "1.3.9";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-GpI1W0O9aJpLF/mcS23ktJDZsP69S2zQy7drOiWBnTM=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'django>=3.2,<4.2' 'django>=3.2,<4.3'
+  '';
+
   propagatedBuildInputs = [
-    django-gravatar2 django-compressor django-allauth mailmanclient
+    django-allauth
+    django-gravatar2
+    mailmanclient
+    pytz
   ];
-  nativeCheckInputs = [ django mock ];
 
-  checkPhase = ''
-    cd $NIX_BUILD_TOP/$sourceRoot
-    PYTHONPATH=.:$PYTHONPATH django-admin.py test --settings=django_mailman3.tests.settings_test
-  '';
+  nativeCheckInputs = [
+    django
+    pytest-django
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "django_mailman3" ];
+  pythonImportsCheck = [
+    "django_mailman3"
+  ];
 
   meta = with lib; {
     description = "Django library for Mailman UIs";
diff --git a/nixpkgs/pkgs/development/python-modules/django-modelcluster/default.nix b/nixpkgs/pkgs/development/python-modules/django-modelcluster/default.nix
index b7fbc9f2b179..5ad43dfc9b1f 100644
--- a/nixpkgs/pkgs/development/python-modules/django-modelcluster/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-modelcluster/default.nix
@@ -1,11 +1,18 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
+
+# dependencies
 , django
-, django-taggit
 , pytz
-, pythonOlder
-, python
+
+# optionals
+, django-taggit
+
+# tests
+, pytest-django
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -17,8 +24,8 @@ buildPythonPackage rec {
 
   src = fetchFromGitHub {
     owner = "wagtail";
-    repo = pname;
-    rev = "v${version}";
+    repo = "modelcluster";
+    rev = "refs/tags/v${version}";
     hash = "sha256-p6hvOkPWRVJYLHvwyn9nS05wblikRFmlSYZuLiCcuqc=";
   };
 
@@ -31,13 +38,17 @@ buildPythonPackage rec {
     django-taggit
   ];
 
-  nativeCheckInputs = passthru.optional-dependencies.taggit;
+  env.DJANGO_SETTINGS_MODULE = "tests.settings";
 
-  checkPhase = ''
-    runHook preCheck
-    ${python.interpreter} ./runtests.py --noinput
-    runHook postCheck
-  '';
+  nativeCheckInputs = [
+    pytest-django
+    pytestCheckHook
+  ] ++ passthru.optional-dependencies.taggit;
+
+  # https://github.com/wagtail/django-modelcluster/issues/173
+  disabledTests = lib.optionals (lib.versionAtLeast django.version "4.2") [
+    "test_formfield_callback"
+  ];
 
   meta = with lib; {
     description = "Django extension to allow working with 'clusters' of models as a single unit, independently of the database";
diff --git a/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix b/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix
index 5a2a8e5786d6..ce03a1330f5f 100644
--- a/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-oauth-toolkit/default.nix
@@ -47,10 +47,12 @@ buildPythonPackage rec {
 
   DJANGO_SETTINGS_MODULE = "tests.settings";
 
+  # xdist is disabled right now because it can cause race conditions on high core machines
+  # https://github.com/jazzband/django-oauth-toolkit/issues/1300
   nativeCheckInputs = [
     djangorestframework
     pytest-django
-    pytest-xdist
+    # pytest-xdist
     pytest-mock
     pytestCheckHook
   ];
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 40cc4f64188a..00b6fe9c978f 100644
--- a/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-pattern-library/default.nix
@@ -51,5 +51,7 @@ 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-scim2/default.nix b/nixpkgs/pkgs/development/python-modules/django-scim2/default.nix
index 90db4fe633d3..536d851a4099 100644
--- a/nixpkgs/pkgs/development/python-modules/django-scim2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-scim2/default.nix
@@ -2,37 +2,43 @@
 , buildPythonPackage
 , fetchFromGitHub
 
+# build-system
+, poetry-core
+
 # propagates
 , django
-, python-dateutil
 , scim2-filter-parser
-, gssapi
-, python-ldap
-, sssd
 
 # tests
 , mock
+, pytest-django
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "django-scim2";
-  version = "0.17.3";
-  format = "setuptools";
+  version = "0.19.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "15five";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-5zdGPpjooiFoj+2OoglXhhKsPFB/KOHvrZWZd+1nZqU=";
+    hash = "sha256-larDh4f9/xVr11/n/WfkJ2Tx45DMQqyK3ZzkWAvzeig=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "poetry.masonry.api" "poetry.core.masonry.api"
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     django
-    python-dateutil
     scim2-filter-parser
-    gssapi
-    python-ldap
-    sssd
   ];
 
   pythonImportsCheck = [
@@ -41,9 +47,12 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     mock
+    pytest-django
+    pytestCheckHook
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/15five/django-scim2/blob/${src.rev}/CHANGES.txt";
     description = "A SCIM 2.0 Service Provider Implementation (for Django)";
     homepage = "https://github.com/15five/django-scim2";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/django-sites/default.nix b/nixpkgs/pkgs/development/python-modules/django-sites/default.nix
index 5587014c5740..3a9255daecdf 100644
--- a/nixpkgs/pkgs/development/python-modules/django-sites/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-sites/default.nix
@@ -37,5 +37,7 @@ buildPythonPackage rec {
     description = "Alternative implementation of django sites framework";
     homepage = "https://github.com/niwinz/django-sites";
     license = lib.licenses.bsd3;
+    # has not been updated for django>=4.0
+    broken = lib.versionAtLeast django.version "4";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/djangorestframework-guardian/default.nix b/nixpkgs/pkgs/development/python-modules/djangorestframework-guardian/default.nix
index fdc6b3184d98..4358a61b3452 100644
--- a/nixpkgs/pkgs/development/python-modules/djangorestframework-guardian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/djangorestframework-guardian/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, django
 , django-guardian
 , djangorestframework
 }:
@@ -37,5 +38,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/rpkilby/django-rest-framework-guardian";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
+    # unmaintained, last compatible version is 3.x, use djangorestframework-guardian2 instead
+    broken = lib.versionAtLeast django.version "4";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dkimpy/default.nix b/nixpkgs/pkgs/development/python-modules/dkimpy/default.nix
index 26a378a0c42a..aa3e06bd9257 100644
--- a/nixpkgs/pkgs/development/python-modules/dkimpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dkimpy/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "dkimpy";
-  version = "1.1.4";
+  version = "1.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7bbng4OzpUx3K8n/eG5+7X12pXupRiCdmVG0P1BzqwI=";
+    hash = "sha256-mmZ/hmS3Lrn4qhJQsHV8w5gqto9wxIrzkxe1jPYvLXU=";
 };
 
   nativeCheckInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/dnspython/default.nix b/nixpkgs/pkgs/development/python-modules/dnspython/default.nix
index 01e3dd2cb55e..402272fb54b8 100644
--- a/nixpkgs/pkgs/development/python-modules/dnspython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dnspython/default.nix
@@ -9,29 +9,29 @@
 , h2
 , httpx
 , idna
+, poetry-core
 , pytestCheckHook
 , pythonOlder
 , requests
 , requests-toolbelt
-, setuptools-scm
 , sniffio
 , trio
 }:
 
 buildPythonPackage rec {
   pname = "dnspython";
-  version = "2.3.0";
-  format = "setuptools";
+  version = "2.4.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ik4ysD60a+cOEu9tZOC+Ejpk5iGrTAgi/21FDVKlQLk=";
+    hash = "sha256-wzlxx5r1vpaLuJfpXCRI4RpkXuhNk7Jlzgt6q+Xf3Kg=";
   };
 
   nativeBuildInputs = [
-    setuptools-scm
+    poetry-core
   ];
 
   passthru.optional-dependencies = {
diff --git a/nixpkgs/pkgs/development/python-modules/doc8/default.nix b/nixpkgs/pkgs/development/python-modules/doc8/default.nix
index 5abb1f6d2ab0..8c687f583ad6 100644
--- a/nixpkgs/pkgs/development/python-modules/doc8/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/doc8/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , chardet
 , docutils
+, fetchpatch
 , fetchPypi
 , pbr
 , pygments
@@ -10,6 +11,7 @@
 , restructuredtext_lint
 , setuptools-scm
 , stevedore
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -24,8 +26,18 @@ buildPythonPackage rec {
     hash = "sha256-2XqT6PWi78RxOggEZX3trYN0XMpM0diN6Rhvd/l3YAQ=";
   };
 
+  patches = [
+    # https://github.com/PyCQA/doc8/pull/146
+    (fetchpatch {
+      name = "remove-setuptools-scm-git-archive.patch";
+      url = "https://github.com/PyCQA/doc8/commit/06416e95041db92e4295b13ab596351618f6b32e.patch";
+      hash = "sha256-IIE3cDNOx+6RLjidGrokyazaX7MOVbMKUb7yQIM5sI0=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools-scm
+    wheel
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dot2tex/default.nix b/nixpkgs/pkgs/development/python-modules/dot2tex/default.nix
index 955d57ffd5c6..15e0c655f80f 100644
--- a/nixpkgs/pkgs/development/python-modules/dot2tex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dot2tex/default.nix
@@ -1,20 +1,22 @@
 { lib
-, python
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , substituteAll
 , pyparsing
 , graphviz
+, pytestCheckHook
 , texlive
 }:
 
 buildPythonPackage rec {
   pname = "dot2tex";
   version = "2.11.3";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1kp77wiv7b5qib82i3y3sn9r49rym43aaqm5aw1bwnzfbbq2m6i9";
+    hash = "sha256-KZoq8FruW74CV6VipQapPieSk9XDjyjQirissyM/584=";
   };
 
   patches = [
@@ -23,24 +25,25 @@ buildPythonPackage rec {
       inherit graphviz;
     })
     ./test.patch # https://github.com/kjellmf/dot2tex/issues/5
+
+    # https://github.com/xyz2tex/dot2tex/pull/104 does not merge cleanly
+    ./remove-duplicate-script.patch
   ];
 
-  propagatedBuildInputs = [ pyparsing ];
+  propagatedBuildInputs = [
+    pyparsing
+  ];
 
   nativeCheckInputs = [
+    pytestCheckHook
     (texlive.combine {
       inherit (texlive) scheme-small preview pstricks;
     })
   ];
 
-  checkPhase = ''
-    ${python.interpreter} tests/test_dot2tex.py
-  '';
-
   meta = with lib; {
     description = "Convert graphs generated by Graphviz to LaTeX friendly formats";
     homepage = "https://github.com/kjellmf/dot2tex";
     license = licenses.mit;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dot2tex/remove-duplicate-script.patch b/nixpkgs/pkgs/development/python-modules/dot2tex/remove-duplicate-script.patch
new file mode 100644
index 000000000000..c67ad62224b7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dot2tex/remove-duplicate-script.patch
@@ -0,0 +1,34 @@
+From 98a0fbd0c4e13df98b8fb69c241665ab774fda2e Mon Sep 17 00:00:00 2001
+From: Theodore Ni <3806110+tjni@users.noreply.github.com>
+Date: Fri, 11 Aug 2023 21:58:14 -0700
+Subject: [PATCH] Remove script with same name as entry point
+
+---
+ dot2tex/dot2tex | 5 -----
+ setup.py        | 1 -
+ 2 files changed, 6 deletions(-)
+ delete mode 100644 dot2tex/dot2tex
+
+diff --git a/dot2tex/dot2tex b/dot2tex/dot2tex
+deleted file mode 100644
+index 278c0b3..0000000
+--- a/dot2tex/dot2tex
++++ /dev/null
+@@ -1,5 +0,0 @@
+-#!/usr/bin/env python
+-from .dot2tex import main
+-
+-if __name__ == '__main__':
+-    main()
+diff --git a/setup.py b/setup.py
+index d05db37..67a3ee8 100644
+--- a/setup.py
++++ b/setup.py
+@@ -21,7 +21,6 @@
+       author_email='kjellmf@gmail.com',
+       url="https://github.com/kjellmf/dot2tex",
+       py_modules=['dot2tex.dot2tex', 'dot2tex.dotparsing'],
+-      scripts=['dot2tex/dot2tex'],
+       classifiers=[
+           'Development Status :: 4 - Beta',
+           'Environment :: Console',
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/python-modules/dremel3dpy/default.nix b/nixpkgs/pkgs/development/python-modules/dremel3dpy/default.nix
index 170b96fcc494..628b76576860 100644
--- a/nixpkgs/pkgs/development/python-modules/dremel3dpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dremel3dpy/default.nix
@@ -1,6 +1,7 @@
 { lib
 , async-timeout
 , buildPythonPackage
+, decorator
 , fetchPypi
 , imageio
 , imutils
@@ -26,6 +27,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     async-timeout
+    decorator
     imageio
     imutils
     requests
diff --git a/nixpkgs/pkgs/development/python-modules/drf-nested-routers/default.nix b/nixpkgs/pkgs/development/python-modules/drf-nested-routers/default.nix
index 15676ed304b6..849fe8bb130c 100644
--- a/nixpkgs/pkgs/development/python-modules/drf-nested-routers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/drf-nested-routers/default.nix
@@ -1,33 +1,55 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, setuptools
+, fetchpatch
 , django
 , djangorestframework
-, pytest
-, pytest-cov
+, pytestCheckHook
 , pytest-django
 , ipdb
-, python
 }:
 
 buildPythonPackage rec {
   pname = "drf-nested-routers";
   version = "0.93.4";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "alanjds";
     repo = "drf-nested-routers";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     hash = "sha256-qlXNDydoQJ9FZB6G7yV/pNmx3BEo+lvRqsfjrvlbdNY=";
   };
 
-  propagatedBuildInputs = [ django djangorestframework setuptools ];
-  nativeCheckInputs = [ pytest pytest-cov pytest-django ipdb ];
+  patches = [
+    # django4 compatibility
+    (fetchpatch {
+      url = "https://github.com/alanjds/drf-nested-routers/commit/59764cc356f7f593422b26845a9dfac0ad196120.patch";
+      hash = "sha256-mq3vLHzQlGl2EReJ5mVVQMMcYgGIVt/T+qi1STtQ0aI=";
+    })
+    (fetchpatch {
+      url = "https://github.com/alanjds/drf-nested-routers/commit/723a5729dd2ffcb66fe315f229789ca454986fa4.patch";
+      hash = "sha256-UCbBjwlidqsJ9vEEWlGzfqqMOr0xuB2TAaUxHsLzFfU=";
+    })
+    (fetchpatch {
+      url = "https://github.com/alanjds/drf-nested-routers/commit/38e49eb73759bc7dcaaa9166169590f5315e1278.patch";
+      hash = "sha256-IW4BLhHHhXDUZqHaXg46qWoQ89pMXv0ZxKjOCTnDcI0=";
+    })
+  ];
 
-  checkPhase = ''
-    ${python.interpreter} runtests.py --nolint
-  '';
+  buildInputs = [
+    django
+  ];
+
+  propagatedBuildInputs = [
+    djangorestframework
+  ];
+
+  nativeCheckInputs = [
+    ipdb
+    pytestCheckHook
+    pytest-django
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/alanjds/drf-nested-routers";
diff --git a/nixpkgs/pkgs/development/python-modules/drf-spectacular/default.nix b/nixpkgs/pkgs/development/python-modules/drf-spectacular/default.nix
index e9c3a752b0dc..b90a35f4ea69 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.2";
+  version = "0.26.4";
 
   src = fetchFromGitHub {
     owner = "tfranzel";
     repo = "drf-spectacular";
     rev = "refs/tags/${version}";
-    hash = "sha256-wwR7ZdbWFNRgxQubdgriDke5W6u7VNsNZV9xqQypSrY=";
+    hash = "sha256-f8x4QOt2EbDv+NlYAmpzXrCdT+q4wLGIrDsuUd45j2U=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dtschema/default.nix b/nixpkgs/pkgs/development/python-modules/dtschema/default.nix
index 5944a7760841..1e890aba3309 100644
--- a/nixpkgs/pkgs/development/python-modules/dtschema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dtschema/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchFromGitHub
 , jsonschema
@@ -54,6 +55,14 @@ buildPythonPackage rec {
     changelog = "https://github.com/devicetree-org/dt-schema/releases/tag/v${version}";
     license = with licenses; [ bsd2 /* or */ gpl2Only ];
     maintainers = with maintainers; [ sorki ];
+
+    broken = (
+      # Library not loaded: @rpath/libfdt.1.dylib
+      stdenv.isDarwin ||
+
+      # see https://github.com/devicetree-org/dt-schema/issues/108
+      versionAtLeast jsonschema.version "4.18"
+    );
   };
 }
 
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-azure/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-azure/default.nix
index 97dc33c539d0..fee36f66d886 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-azure/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-azure/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "dvc-azure";
-  version = "2.22.0";
+  version = "2.22.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-aGPh77HLeUcddGtmFcLd9bc+WaYAFUprtpFkw3h5iSc=";
+    hash = "sha256-v3VRCN1OoST5RlfUOP9Dpfmf3o9C/ckusmh91Ya2Cik=";
   };
 
   # Prevent circular dependency
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
index 3cb159e65e23..66fbce0c8d29 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
@@ -5,7 +5,6 @@
 , dvc-objects
 , fetchFromGitHub
 , funcy
-, nanotime
 , pygtrie
 , pythonOlder
 , setuptools-scm
@@ -15,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-data";
-  version = "2.11.0";
+  version = "2.15.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Nqxaw5gGlKZCwTquNY/6z4b8l762mnrhHyvrteVzdHE=";
+    hash = "sha256-5Lu/YSLmqWXFQ6w6egALqdePWYwWrDIahVkQn3iQCnA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -38,7 +37,6 @@ buildPythonPackage rec {
     diskcache
     dvc-objects
     funcy
-    nanotime
     pygtrie
     shortuuid
     sqltrie
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix
index a4c3fb583873..6854f827491d 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-objects";
-  version = "0.24.1";
+  version = "1.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-DpRnbvGF6HOCAcQ7HRf9x1bzrHHnL95Fz/TzpCosRZo=";
+    hash = "sha256-9R1fhRwGYkwykiTnddjIJHmJxMcpwS+a9hgqBzFyJeM=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-ssh/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-ssh/default.nix
index 4cdd25629efa..3da0a15dc93d 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-ssh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-ssh/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "dvc-ssh";
-  version = "2.22.1";
+  version = "2.22.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WHFfq0Cw17AWgmUlkZUOO6t6XcPYjLHUz4s0wcVYklc=";
+    hash = "sha256-eJwNCZvdBqYKEbX4On3pGm2bzCvH9G7rdsgeN7XPJB0=";
   };
 
   # Prevent circular dependency
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix
index 5be66325f5a6..3b6479d5e841 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-studio-client/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-studio-client";
-  version = "0.11.0";
+  version = "0.13.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-bjwIle7O/qwwhhK+wa2/36EO/F1kjsORJjGyASypwVE=";
+    hash = "sha256-m4UJRRwY+aJdPIMHPIWe3En7FCADeT1qCZnu3BJeYXc=";
   };
 
   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
new file mode 100644
index 000000000000..b462d63e816c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dvc/default.nix
@@ -0,0 +1,151 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, pythonOlder
+, pythonRelaxDepsHook
+, setuptools-scm
+, appdirs
+, colorama
+, configobj
+, distro
+, dpath
+, dvc-azure
+, dvc-data
+, dvc-gs
+, dvc-http
+, dvc-render
+, dvc-s3
+, dvc-ssh
+, dvc-studio-client
+, dvc-task
+, flatten-dict
+, flufl_lock
+, funcy
+, grandalf
+, hydra-core
+, importlib-metadata
+, importlib-resources
+, iterative-telemetry
+, networkx
+, packaging
+, pathspec
+, platformdirs
+, psutil
+, pydot
+, pygtrie
+, pyparsing
+, requests
+, rich
+, ruamel-yaml
+, scmrepo
+, shortuuid
+, shtab
+, tabulate
+, tomlkit
+, tqdm
+, typing-extensions
+, voluptuous
+, zc_lockfile
+, enableGoogle ? false
+, enableAWS ? false
+, enableAzure ? false
+, enableSSH ? false
+}:
+
+buildPythonPackage rec {
+  pname = "dvc";
+  version = "3.15.3";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "iterative";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-ceN8wgQRiwz3R98iPH+cJXqPTTxlBgnSGkpuVgWLvwY=";
+  };
+
+  pythonRelaxDeps = [
+    "dvc-data"
+    "platformdirs"
+  ];
+
+  postPatch = ''
+    substituteInPlace dvc/analytics.py --replace 'enabled = not os.getenv(DVC_NO_ANALYTICS)' 'enabled = False'
+    substituteInPlace dvc/daemon.py \
+      --subst-var-by dvc "$out/bin/dcv"
+  '';
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    appdirs
+    colorama
+    configobj
+    distro
+    dpath
+    dvc-data
+    dvc-http
+    dvc-render
+    dvc-studio-client
+    dvc-task
+    flatten-dict
+    flufl_lock
+    funcy
+    grandalf
+    hydra-core
+    iterative-telemetry
+    networkx
+    packaging
+    pathspec
+    platformdirs
+    psutil
+    pydot
+    pygtrie
+    pyparsing
+    requests
+    rich
+    ruamel-yaml
+    scmrepo
+    shortuuid
+    shtab
+    tabulate
+    tomlkit
+    tqdm
+    typing-extensions
+    voluptuous
+    zc_lockfile
+  ]
+  ++ lib.optionals enableGoogle passthru.optional-dependencies.gs
+  ++ lib.optionals enableAWS passthru.optional-dependencies.s3
+  ++ lib.optionals enableAzure passthru.optional-dependencies.azure
+  ++ lib.optionals enableSSH passthru.optional-dependencies.ssh
+  ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
+  ];
+
+  passthru.optional-dependencies = {
+    azure = [ dvc-azure ];
+    gs = [ dvc-gs ];
+    s3 = [ dvc-s3 ];
+    ssh = [ dvc-ssh ];
+  };
+
+  # Tests require access to real cloud services
+  doCheck = false;
+
+  pythonImportsCheck = [ "dvc" "dvc.api" ];
+
+  meta = with lib; {
+    description = "Version Control System for Machine Learning Projects";
+    homepage = "https://dvc.org";
+    changelog = "https://github.com/iterative/dvc/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ cmcdragonkai fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/dvc/dvc-daemon.patch b/nixpkgs/pkgs/development/python-modules/dvc/dvc-daemon.patch
new file mode 100644
index 000000000000..65ba630f3b80
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/dvc/dvc-daemon.patch
@@ -0,0 +1,18 @@
+diff --git a/dvc/daemon.py b/dvc/daemon.py
+index 9854a0e1..fefdd613 100644
+--- a/dvc/daemon.py
++++ b/dvc/daemon.py
+@@ -103,11 +103,8 @@ def daemon(args):
+         logger.debug("skipping launching a new daemon.")
+         return
+ 
+-    cmd = ["daemon", "-q"] + args
+-
+-    env = fix_env()
+-    file_path = os.path.abspath(inspect.stack()[0][1])
+-    env["PYTHONPATH"] = os.path.dirname(os.path.dirname(file_path))
++    cmd = [ "@dvc@" , "daemon", "-q"] + args
++    env = os.environ.copy()
+     env[DVC_DAEMON] = "1"
+ 
+     _spawn(cmd, env)
diff --git a/nixpkgs/pkgs/development/python-modules/dvclive/default.nix b/nixpkgs/pkgs/development/python-modules/dvclive/default.nix
index a2d501bfa156..187d66999079 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.13.1";
+  version = "2.14.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-g2pRr8a+Rp2zIoB+Mmrb99nfbhrEQKTmJ6lfOOqiCrs=";
+    hash = "sha256-aFES2+ZpbrVoMbIOW73ec1HD/tKhKTiZ0tAIV5vx/OQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix b/nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix
index 0b5ed781c1a9..07def603cb70 100644
--- a/nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ecs-logging/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "ecs-logging";
-  version = "2.0.2";
+  version = "2.1.0";
   format = "flit";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "elastic";
     repo = "ecs-logging-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-CfPpUpzNfPuCAiuNsJrJ1nVLiUCPvclfrK7tByytoQE=";
+    hash = "sha256-Gf44bT3/gmHy+yaQ1+bhCFB33ym2G14tzNqTQyC3BJU=";
   };
 
   nativeBuildInputs = [
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 70b11a9f23f3..181692d4fe22 100644
--- a/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "edk2-pytool-library";
-  version = "0.15.4";
+  version = "0.16.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "tianocore";
     repo = "edk2-pytool-library";
     rev = "v${version}";
-    hash = "sha256-jGZa1qfI/OybwgG2L4N1hICHpWZTufgElpl31EhU+O4=";
+    hash = "sha256-JL9znvXl+RIEzycKhXkggEJ87bQ+UzspBD1YM3AoYlc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix b/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix
index e20cb4c4f636..24abaebf7bb5 100644
--- a/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix
@@ -7,16 +7,16 @@
 , numpy
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "eigenpy";
-  version = "3.0.0";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "stack-of-tasks";
-    repo = pname;
-    rev = "v${version}";
+    repo = finalAttrs.pname;
+    rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-xaeMsn3G4x5DS6gXc6mbZvi96K1Yu8CuzjcGnYJYrvs=";
+    hash = "sha256-mUwckBelFVRCXp3hspB8WRFFaLVyRsfp6XbqU8HeHvw=";
   };
 
   strictDeps = true;
@@ -34,12 +34,17 @@ stdenv.mkDerivation rec {
     numpy
   ];
 
+  doCheck = true;
+  pythonImportsCheck = [
+    "eigenpy"
+  ];
+
   meta = with lib; {
     description = "Bindings between Numpy and Eigen using Boost.Python";
     homepage = "https://github.com/stack-of-tasks/eigenpy";
     changelog = "https://github.com/stack-of-tasks/eigenpy/releases/tag/v${version}";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ wegank ];
+    maintainers = with maintainers; [ nim65s wegank ];
     platforms = platforms.unix;
   };
-}
+})
diff --git a/nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix b/nixpkgs/pkgs/development/python-modules/elasticsearch8/default.nix
index ead2f6b07ee6..6893a8353dff 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.7.0";
+  version = "8.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mRy48OYsm+0M1/D+abs83RiqN8wQr/Z6SZUY4TNg190=";
+    hash = "sha256-9j71MX3ITwfwFfIVvQIbXHu4r/3qz9SNAz8XfeAyWTc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/emoji/default.nix b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
index b17305f144c8..3820b7a8eaf7 100644
--- a/nixpkgs/pkgs/development/python-modules/emoji/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/emoji/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "2.7.0";
+  version = "2.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "carpedm20";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-HxEQqWG0a96PQ0bNQsIyTSEK0G21WojgoAyaWLMmjyE=";
+    hash = "sha256-fnVY4KwiqvSVYijlDckLq6qDrBJj/rJGMwaQ1mMygek=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/empty-files/default.nix b/nixpkgs/pkgs/development/python-modules/empty-files/default.nix
index 3c875da847a4..1028b3f567c5 100644
--- a/nixpkgs/pkgs/development/python-modules/empty-files/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/empty-files/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "empty-files";
-  version = "0.0.4";
+  version = "0.0.9";
 
   src = fetchFromGitHub {
     owner = "approvals";
     repo = "EmptyFiles.Python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sXatMH2QEGxzDGszAoFXUoPzB00rYaQIasz93vsfyz8=";
+    hash = "sha256-P/woyAN9cYdxryX1iM36C53c9dL6lo4eoTzBWT2cd3A=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/energyzero/default.nix b/nixpkgs/pkgs/development/python-modules/energyzero/default.nix
index 21a14e2fff56..e51d120e5033 100644
--- a/nixpkgs/pkgs/development/python-modules/energyzero/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/energyzero/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "energyzero";
-  version = "0.4.2";
+  version = "0.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-energyzero";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sqkpbvsMd/8y6QSrMZHJeHl9GTes8TUoZ7RKePJsREs=";
+    hash = "sha256-UFmchPFAO5azvLKgbKLbPooGhQ4SZHzrCe6jBo0X3bw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/equinox/default.nix b/nixpkgs/pkgs/development/python-modules/equinox/default.nix
new file mode 100644
index 000000000000..853e239500e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/equinox/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hatchling
+, jax
+, jaxlib
+, jaxtyping
+, typing-extensions
+, beartype
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "equinox";
+  version = "0.10.11";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "patrick-kidger";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-JffuPplIROPog29FBsWH9cQHSkrFKuXjaTjjEwIqW/0=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    jax
+    jaxlib
+    jaxtyping
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    beartype
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "equinox" ];
+
+  meta = with lib; {
+    description = "A JAX library based around a simple idea: represent parameterised functions (such as neural networks) as PyTrees";
+    homepage = "https://github.com/patrick-kidger/equinox";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/es-client/default.nix b/nixpkgs/pkgs/development/python-modules/es-client/default.nix
index 5e43edc6da6b..ffa9d07f495d 100644
--- a/nixpkgs/pkgs/development/python-modules/es-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/es-client/default.nix
@@ -10,6 +10,7 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, pythonRelaxDepsHook
 , pyyaml
 , requests
 , six
@@ -18,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "es-client";
-  version = "8.7.0";
+  version = "8.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,11 +28,14 @@ buildPythonPackage rec {
     owner = "untergeek";
     repo = "es_client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DJIo0yFJGR9gw5UJnmgnBFZx0uXUEW3rWT49jhfnXkQ=";
+    hash = "sha256-pzCjVkZ/NmHSe6X8dNH1YvjTu3njQaJe4CuguqrJNs8=";
   };
 
+  pythonRelaxDeps = true;
+
   nativeBuildInputs = [
     hatchling
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/etils/default.nix b/nixpkgs/pkgs/development/python-modules/etils/default.nix
index 31dd7cac40fa..bc870003ae1a 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.1.0";
+  version = "1.4.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eipJUHeaKB70x+WVriFZkLFcHYxviwonhQCSr1rSxkE=";
+    hash = "sha256-Uxk7V7KP8UxO4rJ/yh0JxME1bOuTJLQW6dnC7vX239s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/eventlet/default.nix b/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
index 2f358ba98325..35c702ea06d8 100644
--- a/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
@@ -5,9 +5,10 @@
 , pythonOlder
 , dnspython
 , greenlet
+, isPyPy
 , monotonic
 , six
-, nose
+, nose3
 , iana-etc
 , pytestCheckHook
 , libredirect
@@ -35,10 +36,12 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    nose
+    nose3
   ];
 
-  doCheck = !stdenv.isDarwin;
+  # libredirect is not available on darwin
+  # tests hang on pypy indefinitely
+  doCheck = !stdenv.isDarwin && !isPyPy;
 
   preCheck = lib.optionalString doCheck ''
     echo "nameserver 127.0.0.1" > resolv.conf
diff --git a/nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix b/nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix
index 46c50e1e2ec0..a5201ed5e009 100644
--- a/nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix
@@ -5,6 +5,7 @@
 , fasteners
 , fetchFromGitLab
 , qgrid
+, ipynbname
 , ipywidgets
 , odfpy
 , scipy
@@ -18,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "experiment-utilities";
-  version = "0.3.4";
+  version = "0.3.5";
 
   src = fetchFromGitLab {
     owner = "creinke";
     repo = "exputils";
     domain = "gitlab.inria.fr";
     rev = "refs/tags/version_${version}";
-    hash = "sha256-zjmmLUpGjUhpw2+stLJE6cImesnBSvrcid5bHMftX/Q=";
+    hash = "sha256-y+I/TpEC1alP3145ByM6H//lZl2FrpLT/70lzn04P6w=";
   };
 
   # This dependency constraint (<=7.6.5) was due to a bug in qgrid that has been patched in its
@@ -39,6 +40,7 @@ buildPythonPackage rec {
     cloudpickle
     dill
     fasteners
+    ipynbname
     ipywidgets
     odfpy
     plotly
diff --git a/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix b/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix
index 0e4d38c290c1..2269445282bd 100644
--- a/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/factory_boy/default.nix
@@ -7,20 +7,29 @@
 , flask-sqlalchemy
 , mongoengine
 , pytestCheckHook
+, pythonOlder
 , sqlalchemy
+, sqlalchemy-utils
 }:
 
 buildPythonPackage rec {
   pname = "factory-boy";
-  version = "3.2.1";
+  version = "3.3.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     pname = "factory_boy";
     inherit version;
-    hash = "sha256-qY0newwEfHXrbkq4UIp/gfsD0sshmG9ieRNUbveipV4=";
+    hash = "sha256-vHbZfRplu9mEKm1yKIIJjrVJ7I7hCB+fsuj/KfDDAPE=";
   };
 
+  postPatch = ''
+    substituteInPlace tests/test_version.py \
+      --replace '"3.2.1.dev0")' '"${version}")'
+  '';
+
   propagatedBuildInputs = [
     faker
   ];
@@ -32,6 +41,7 @@ buildPythonPackage rec {
     mongoengine
     pytestCheckHook
     sqlalchemy
+    sqlalchemy-utils
   ];
 
   # Checks for MongoDB requires an a running DB
@@ -51,6 +61,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python package to create factories for complex objects";
     homepage = "https://github.com/rbarrois/factory_boy";
+    changelog = "https://github.com/FactoryBoy/factory_boy/blob/${version}/docs/changelog.rst";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/fake-useragent/default.nix b/nixpkgs/pkgs/development/python-modules/fake-useragent/default.nix
index 37e989bd756a..c9b58a92c229 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.1.3";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "fake-useragent";
     repo = "fake-useragent";
     rev = "refs/tags/${version}";
-    hash = "sha256-8fVNko65nP/u9vLGBPfSseKW07b4JC6kCPFCPK2f6wU=";
+    hash = "sha256-kOvVqdfK9swtjW8D7COrZksLCu1N8sQO8rzx5RZqCT0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
index af8bc72fa51e..0ffe4d40195b 100644
--- a/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fakeredis/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "2.17.0";
+  version = "2.18.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "dsoftwareinc";
     repo = "fakeredis-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nDxuXDWnTt/ljd/M4pElo4U8jn91l+J9fPAfYpS0mOc=";
+    hash = "sha256-+bJbtqBUgix4oIq49hQEk3/cNXfvXFXE/m/qR1zy8jo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/falcon/default.nix b/nixpkgs/pkgs/development/python-modules/falcon/default.nix
index 341d3c661506..b0880c384dba 100644
--- a/nixpkgs/pkgs/development/python-modules/falcon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/falcon/default.nix
@@ -45,6 +45,8 @@ buildPythonPackage rec {
     cython
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   preCheck = ''
     export HOME=$TMPDIR
     cp -R tests examples $TMPDIR
diff --git a/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix b/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix
index 8b421b1716bc..593d677ca2f3 100644
--- a/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fastparquet/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "fastparquet";
-  version = "2023.4.0";
+  version = "2023.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "dask";
     repo = pname;
     rev = version;
-    hash = "sha256-1hWiwXjTgflQlmy0Dk2phUa1cgYBvvH99tb0TdUmDRI=";
+    hash = "sha256-pJ0zK0upEV7TyuNMIcozugkwBlYpK/Dg6BdB0kBpn9k=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/feedparser/default.nix b/nixpkgs/pkgs/development/python-modules/feedparser/default.nix
index 02396ec83431..7eaf65b371df 100644
--- a/nixpkgs/pkgs/development/python-modules/feedparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/feedparser/default.nix
@@ -22,6 +22,8 @@ buildPythonPackage rec {
     sgmllib3k
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   checkPhase = ''
     # Tests are failing
     # AssertionError: unexpected '~' char in declaration
diff --git a/nixpkgs/pkgs/development/python-modules/ffmpy/default.nix b/nixpkgs/pkgs/development/python-modules/ffmpy/default.nix
new file mode 100644
index 000000000000..c3b0c6078f42
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ffmpy/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, go
+, ffmpeg-headless
+}:
+
+buildPythonPackage rec {
+  pname = "ffmpy";
+  version = "0.3.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "Ch00k";
+    repo = "ffmpy";
+    rev = "refs/tags/${version}";
+    hash = "sha256-kuLhmCG80BmXdqpW67UanBnuYiL2Oh1jKt7IgmVNEAM=";
+  };
+
+  postPatch = ''
+    # default to store ffmpeg
+    substituteInPlace ffmpy.py \
+      --replace 'executable="ffmpeg",' 'executable="${ffmpeg-headless}/bin/ffmpeg",'
+
+    #  The tests test a mock that does not behave like ffmpeg. If we default to the nix-store ffmpeg they fail.
+    for fname in tests/*.py; do
+      echo 'FFmpeg.__init__.__defaults__ = ("ffmpeg", *FFmpeg.__init__.__defaults__[1:])' >>"$fname"
+    done
+  '';
+
+  pythonImportsCheck = [ "ffmpy" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    go
+  ];
+
+  # the vendored ffmpeg mock binary assumes FHS
+  preCheck = ''
+    rm -v tests/ffmpeg/ffmpeg
+    HOME=$(mktemp -d) go build -o ffmpeg tests/ffmpeg/ffmpeg.go
+    export PATH=".:$PATH"
+  '';
+
+  meta = with lib; {
+    description = "A simple python interface for FFmpeg/FFprobe";
+    homepage = "https://github.com/Ch00k/ffmpy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/filelock/default.nix b/nixpkgs/pkgs/development/python-modules/filelock/default.nix
index 62a65cfbdf63..3215a9010882 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.0";
+  version = "3.12.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/AOuQyiMAT0uqDyFlwAbESnbNRqtnFf+JAkyeRa45xg=";
+    hash = "sha256-ACdAUY2KpZomsMduEPuMbhXq6CXTS2/fZwMz/XuTjYE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fixtures/default.nix b/nixpkgs/pkgs/development/python-modules/fixtures/default.nix
index ff246c4a0e98..2570b1a274b6 100644
--- a/nixpkgs/pkgs/development/python-modules/fixtures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fixtures/default.nix
@@ -1,53 +1,47 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
-, pythonAtLeast
 , pbr
+, setuptools
 , testtools
 , mock
-, python
-, six
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "fixtures";
-  version = "3.0.0";
+  version = "4.1.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fcf0d60234f1544da717a9738325812de1f42c2fa085e2d9252d8fff5712b2ef";
+    hash = "sha256-grHF5p9hVSbvbAZxiKHmxgZ99/iDMlCcmfi4/buXdvM=";
   };
 
-  patches = lib.optionals (pythonAtLeast "3.9") [
-    # drop tests that try to monkeypatch a classmethod, which fails on python3.9
-    # https://github.com/testing-cabal/fixtures/issues/44
-    (fetchpatch {
-       url = "https://salsa.debian.org/openstack-team/python/python-fixtures/-/raw/debian/victoria/debian/patches/remove-broken-monkey-patch-test.patch";
-       sha256 = "1s3hg2zmqc4shmnf90kscphzj5qlqpxghzw2a59p8f88zrbsj97r";
-    })
-  ];
-
   nativeBuildInputs = [
     pbr
+    setuptools
   ];
 
   propagatedBuildInputs = [
-    testtools
-    six # not in install_requires, but used in fixture.py
+    pbr
   ];
 
+  passthru.optional-dependencies = {
+    streams = [
+      testtools
+    ];
+  };
+
   nativeCheckInputs = [
     mock
-  ];
-
-  checkPhase = ''
-    ${python.interpreter} -m testtools.run fixtures.test_suite
-  '';
+    pytestCheckHook
+  ] ++ passthru.optional-dependencies.streams;
 
   meta = {
     description = "Reusable state for writing clean tests and more";
-    homepage = "https://pypi.python.org/pypi/fixtures";
+    homepage = "https://pypi.org/project/fixtures/";
+    changelog = "https://github.com/testing-cabal/fixtures/blob/${version}/NEWS";
     license = lib.licenses.asl20;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix b/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
index c77fc912cd77..685c4e809459 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
@@ -6,6 +6,7 @@
 , colour
 , email-validator
 , enum34
+, fetchpatch
 , fetchPypi
 , flask
 , flask-babelex
@@ -39,6 +40,15 @@ buildPythonPackage rec {
     hash = "sha256-JMrir4MramEaAdfcNfQtJmwdbHWkJrhp2MskG3gjM2k=";
   };
 
+  patches = [
+    # https://github.com/flask-admin/flask-admin/pull/2374
+    (fetchpatch {
+      name = "pillow-10-compatibility.patch";
+      url = "https://github.com/flask-admin/flask-admin/commit/96b92deef8b087e86a9dc3e84381d254ea5c0342.patch";
+      hash = "sha256-iR5kxyeZaEyved5InZuPmcglTD77zW18/eSHGwOuW40=";
+    })
+  ];
+
   propagatedBuildInputs = [
     flask
     wtforms
diff --git a/nixpkgs/pkgs/development/python-modules/flask-api/default.nix b/nixpkgs/pkgs/development/python-modules/flask-api/default.nix
index 841b11a1a831..9b4a398f7f79 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-api/default.nix
@@ -1,22 +1,35 @@
-{ lib, buildPythonPackage, pythonOlder, fetchPypi, flask, markdown }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, flask
+, markdown
+}:
 
 buildPythonPackage rec {
   pname = "Flask-API";
-  version = "3.0.post1";
+  version = "3.1";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1khw0f9ywn1mbdlcl0xspacqjz2pxq00m4g73bksbc1k0i88j61k";
+  src = fetchFromGitHub {
+    owner = "flask-api";
+    repo = "flask-api";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-nHgeI5FLKkDp4uWO+0eaT4YSOMkeQ0wE3ffyJF+WzTM=";
   };
 
-  propagatedBuildInputs = [ flask markdown ];
+  propagatedBuildInputs = [
+    flask
+    markdown
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/miracle2k/flask-assets";
+    homepage = "https://github.com/flask-api/flask-api";
+    changelog = "https://github.com/flask-api/flask-api/releases/tag/v${version}";
     description = "Browsable web APIs for Flask";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ nickcao ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix b/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix
index f30598797a75..b32fc7b25afc 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-limiter/default.nix
@@ -1,38 +1,36 @@
 { lib
+, asgiref
 , buildPythonPackage
 , fetchFromGitHub
-
 , flask
+, hiro
 , limits
 , ordered-set
-, rich
-, typing-extensions
-
-, asgiref
-, hiro
 , pymemcache
+, pymongo
 , pytest-mock
 , pytestCheckHook
+, pythonOlder
 , redis
-, pymongo
+, rich
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "flask-limiter";
-  version = "3.1.0";
+  version = "3.3.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "alisaifee";
     repo = "flask-limiter";
     rev = "refs/tags/${version}";
-    hash = "sha256-eAJRqyAH1j1NHYfagRZM2fPE6hm9+tJHD8FMqvgvMBI=";
+    hash = "sha256-YDVZ/dD+TRJEnJRTRmGEB6EIkK5eQ5MdXh8FideoVDQ=";
   };
 
   postPatch = ''
-    substituteInPlace requirements/main.txt \
-      --replace "rich>=12,<13" "rich"
-
     sed -i "/--cov/d" pytest.ini
 
     # flask-restful is unmaintained and breaks regularly, don't depend on it
@@ -82,11 +80,14 @@ buildPythonPackage rec {
     "tests/test_storage.py"
   ];
 
-  pythonImportsCheck = [ "flask_limiter" ];
+  pythonImportsCheck = [
+    "flask_limiter"
+  ];
 
   meta = with lib; {
     description = "Rate limiting for flask applications";
     homepage = "https://flask-limiter.readthedocs.org/";
+    changelog = "https://github.com/alisaifee/flask-limiter/blob/${version}/HISTORY.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/flask-marshmallow/default.nix b/nixpkgs/pkgs/development/python-modules/flask-marshmallow/default.nix
index 710c35bc8b4e..8f23f51fe979 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-marshmallow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-marshmallow/default.nix
@@ -1,24 +1,55 @@
-{ lib, buildPythonPackage, fetchPypi,
-  flask, six, marshmallow
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, flask
+, marshmallow
+, packaging
+, pytestCheckHook
+, flask-sqlalchemy
+, marshmallow-sqlalchemy
 }:
 
 buildPythonPackage rec {
   pname = "flask-marshmallow";
-  version = "0.14.0";
+  version = "0.15.0";
+  format = "setuptools";
 
-  meta = {
-    homepage = "https://github.com/marshmallow-code/flask-marshmallow";
-    description = "Flask + marshmallow for beautiful APIs";
-    license = lib.licenses.mit;
-  };
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bd01a6372cbe50e36f205cfff0fc5dab0b7b662c4c8b2c4fc06a3151b2950950";
+  src = fetchFromGitHub {
+    owner = "marshmallow-code";
+    repo = "flask-marshmallow";
+    rev = "refs/tags/${version}";
+    hash = "sha256-N21M/MzcvOaDh5BgbbZtNcpRAULtWGLTMberCfOUoEM=";
   };
 
-  propagatedBuildInputs = [ flask marshmallow ];
-  buildInputs = [ six ];
+  propagatedBuildInputs = [
+    flask
+    marshmallow
+    packaging
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ] ++ passthru.optional-dependencies.sqlalchemy;
+
+  pythonImportsCheck = [
+    "flask_marshmallow"
+  ];
 
-  doCheck = false;
+  passthru.optional-dependencies = {
+    sqlalchemy = [
+      flask-sqlalchemy
+      marshmallow-sqlalchemy
+    ];
+  };
+
+  meta = {
+    description = "Flask + marshmallow for beautiful APIs";
+    homepage = "https://github.com/marshmallow-code/flask-marshmallow";
+    changelog = "https://github.com/marshmallow-code/flask-marshmallow/releases/tag/${version}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ nickcao ];
+  };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flask-session/default.nix b/nixpkgs/pkgs/development/python-modules/flask-session/default.nix
index e34e302e6e0c..a777bf0920ab 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-session/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-session/default.nix
@@ -1,26 +1,51 @@
-{ lib, fetchPypi, buildPythonPackage, pytestCheckHook, flask, cachelib }:
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, flit-core
+, flask
+, cachelib
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "Flask-Session";
-  version = "0.4.0";
+  version = "0.5.0";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-ye1UMh+oxMoBMv/TNpWCdZ7aclL7SzvuSA5pDRukH0Y=";
+  src = fetchFromGitHub {
+    owner = "pallets-eco";
+    repo = "flask-session";
+    rev = "refs/tags/${version}";
+    hash = "sha256-t8w6ZS4gBDpnnKvL3DLtn+rRLQNJbrT2Hxm4f3+a3Xc=";
   };
 
-  propagatedBuildInputs = [ flask cachelib ];
+  nativeBuildInputs = [
+    flit-core
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  propagatedBuildInputs = [
+    flask
+    cachelib
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   # The rest of the tests require database servers and optional db connector dependencies
-  pytestFlagsArray = [ "-k" "'null_session or filesystem_session'" ];
+  pytestFlagsArray = [
+    "-k"
+    "'null_session or filesystem_session'"
+  ];
 
-  pythonImportsCheck = [ "flask_session" ];
+  pythonImportsCheck = [
+    "flask_session"
+  ];
 
   meta = with lib; {
     description = "A Flask extension that adds support for server-side sessions";
-    homepage = "https://github.com/fengsp/flask-session";
+    homepage = "https://github.com/pallets-eco/flask-session";
+    changelog = "https://github.com/pallets-eco/flask-session/releases/tag/${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ zhaofengli ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix b/nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix
index 7a23988d175a..71a8ed656bcb 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-socketio/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
-, coverage
 , fetchFromGitHub
+, setuptools
 , flask
 , pytestCheckHook
 , python-socketio
@@ -11,7 +11,8 @@
 
 buildPythonPackage rec {
   pname = "Flask-SocketIO";
-  version = "5.3.3";
+  version = "5.3.5";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -19,9 +20,13 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "Flask-SocketIO";
     rev = "v${version}";
-    hash = "sha256-oqy6tSk569QaSkeNsyXuaD6uUB3yuEFg9Jwh5rneyOE=";
+    hash = "sha256-5Di02VJM9sJndp/x5Hl9ztcItY3aXk/wBJT90OSoc2c=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     flask
     python-socketio
@@ -41,6 +46,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Socket.IO integration for Flask applications";
     homepage = "https://github.com/miguelgrinberg/Flask-SocketIO/";
+    changelog = "https://github.com/miguelgrinberg/Flask-SocketIO/blob/v${version}/CHANGES.md";
     license = licenses.mit;
     maintainers = [ maintainers.mic92 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/flax/default.nix b/nixpkgs/pkgs/development/python-modules/flax/default.nix
index dda4a7ffc053..bea9667a1a18 100644
--- a/nixpkgs/pkgs/development/python-modules/flax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flax/default.nix
@@ -10,7 +10,9 @@
 , optax
 , pytest-xdist
 , pytestCheckHook
+, pythonRelaxDepsHook
 , tensorflow
+, tensorstore
 , fetchpatch
 , rich
 }:
@@ -26,7 +28,7 @@ buildPythonPackage rec {
     hash = "sha256-Vv68BK83gTIKj0r9x+twdhqmRYziD0vxQCdHkYSeTak=";
   };
 
-  buildInputs = [ jaxlib ];
+  nativeBuildInputs = [ jaxlib pythonRelaxDepsHook ];
 
   propagatedBuildInputs = [
     jax
@@ -35,8 +37,12 @@ buildPythonPackage rec {
     numpy
     optax
     rich
+    tensorstore
   ];
 
+  # See https://github.com/google/flax/pull/2882.
+  pythonRemoveDeps = [ "orbax" ];
+
   pythonImportsCheck = [
     "flax"
   ];
@@ -64,6 +70,12 @@ buildPythonPackage rec {
     # `tensorflow_datasets`, `vocabulary`) so the benefits of trying to run them
     # would be limited anyway.
     "examples/*"
+
+    # See https://github.com/google/flax/issues/3232.
+    "tests/jax_utils_test.py"
+
+    # Requires orbax which is not packaged as of 2023-07-27.
+    "tests/checkpoints_test.py"
   ];
 
   disabledTests = [
@@ -88,7 +100,5 @@ buildPythonPackage rec {
     changelog = "https://github.com/google/flax/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ ndl ];
-    # Requires orbax which is not available
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flet-core/default.nix b/nixpkgs/pkgs/development/python-modules/flet-core/default.nix
index fae29247deab..ed55629dca03 100644
--- a/nixpkgs/pkgs/development/python-modules/flet-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flet-core/default.nix
@@ -1,7 +1,13 @@
 { lib
-, python3
 , buildPythonPackage
 , fetchPypi
+
+# build-system
+, poetry-core
+
+# propagates
+, typing-extensions
+, repath
 }:
 
 buildPythonPackage rec {
@@ -15,13 +21,13 @@ buildPythonPackage rec {
     hash = "sha256-8WG7odYiGrew4GwD+MUuzQPmDn7V/GmocBproqsbCNw=";
   };
 
-  nativeBuildInputs = with python3.pkgs; [
+  nativeBuildInputs = [
     poetry-core
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
-    typing-extensions
+  propagatedBuildInputs = [
     repath
+    typing-extensions
   ];
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/flet/default.nix b/nixpkgs/pkgs/development/python-modules/flet/default.nix
index 95382a88c95c..4c41e5972600 100644
--- a/nixpkgs/pkgs/development/python-modules/flet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flet/default.nix
@@ -1,7 +1,20 @@
 { lib
-, python3
 , buildPythonPackage
 , fetchPypi
+
+# build-system
+, poetry-core
+
+# propagates
+, flet-core
+, httpx
+, oauthlib
+, packaging
+, typing-extensions
+, watchdog
+, websocket-client
+, websockets
+
 }:
 
 buildPythonPackage rec {
@@ -20,11 +33,11 @@ buildPythonPackage rec {
       --replace 'watchdog = "^2' 'watchdog = ">=2'
   '';
 
-  nativeBuildInputs = with python3.pkgs; [
+  nativeBuildInputs = [
     poetry-core
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = [
     flet-core
     typing-extensions
     websocket-client
diff --git a/nixpkgs/pkgs/development/python-modules/flit-core/default.nix b/nixpkgs/pkgs/development/python-modules/flit-core/default.nix
index c81a8567de2f..fc4d6479caee 100644
--- a/nixpkgs/pkgs/development/python-modules/flit-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flit-core/default.nix
@@ -1,6 +1,5 @@
 { lib
 , buildPythonPackage
-, callPackage
 , flit
 }:
 
@@ -9,34 +8,22 @@ buildPythonPackage rec {
   inherit (flit) version;
   format = "pyproject";
 
-  outputs = [
-    "out"
-    "testsout"
-  ];
-
   inherit (flit) src patches;
 
-  preConfigure = ''
-    cd flit_core
-  '';
-
-  postInstall = ''
-    mkdir $testsout
-    cp -R ../tests $testsout/tests
-  '';
+  sourceRoot = "source/flit_core";
 
-  # check in passthru.tests.pytest to escape infinite recursion with setuptools-scm
+  # Tests are run in the "flit" package.
   doCheck = false;
 
   passthru.tests = {
     inherit flit;
-    pytest = callPackage ./tests.nix { };
   };
 
   meta = with lib; {
     description = "Distribution-building parts of Flit. See flit package for more information";
     homepage = "https://github.com/pypa/flit";
+    changelog = "https://github.com/pypa/flit/blob/${src.rev}/doc/history.rst";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ fridh ];
+    maintainers = teams.python.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flit/default.nix b/nixpkgs/pkgs/development/python-modules/flit/default.nix
index 43d8d8e90efc..a1be6821b2f7 100644
--- a/nixpkgs/pkgs/development/python-modules/flit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flit/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "flit";
-  version = "3.8.0";
+  version = "3.9.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "takluyver";
     repo = "flit";
     rev = version;
-    hash = "sha256-iXf9K/xI4u+dDV0Zf6S08nbws4NqycrTEW0B8/qCjQc=";
+    hash = "sha256-yl2+PcKr7xRW4oIBWl+gzh/nKhSNu5GH9fWKRGgaNHU=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +51,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/pypa/flit/blob/${version}/doc/history.rst";
     description = "A simple packaging tool for simple packages";
     homepage = "https://github.com/pypa/flit";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/flow-record/default.nix b/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
index bd21e113f75b..0f4cea423e46 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.10";
+  version = "3.11";
   format = "pyproject";
 
-  disabled = pythonOlder "3.10";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "flow.record";
     rev = "refs/tags/${version}";
-    hash = "sha256-pOEK53+rIwzTxDEla1xoWo/xgy+eN0nxR0MeW7VQFds=";
+    hash = "sha256-/mrsm7WoqnTIaGOHuIZk1eMXAMi38eVpctgi6+RQ3WQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/flower/default.nix b/nixpkgs/pkgs/development/python-modules/flower/default.nix
index 54da81e19e33..a7d69d06fd78 100644
--- a/nixpkgs/pkgs/development/python-modules/flower/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flower/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "flower";
-  version = "2.0.0";
+  version = "2.0.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Vld4XXKKVJFCVsNP0FUf4tcVKqsIBi68ZFv4a5e4rsU=";
+    sha256 = "sha256-WrcXuXlTB3DBavtItQ0qmNI8Pp/jmFHc9rxNAYRaAqA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/flux-led/default.nix b/nixpkgs/pkgs/development/python-modules/flux-led/default.nix
index cdb7fd1ea9e1..7a288582e935 100644
--- a/nixpkgs/pkgs/development/python-modules/flux-led/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flux-led/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "flux-led";
-  version = "1.0.1";
+  version = "1.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "flux_led";
     rev = "refs/tags/${version}";
-    hash = "sha256-+eklvdmlWrwvdI6IwNyAIEI0kDlzIYh7bzNY94dzA+E=";
+    hash = "sha256-DfC92gqPP9Lky4gX2v8/AbZgM7uRCKjRQC2nS/sDHsY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fugashi/default.nix b/nixpkgs/pkgs/development/python-modules/fugashi/default.nix
new file mode 100644
index 000000000000..6a8c1ac9db2d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/fugashi/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, fetchFromGitHub
+, pythonOlder
+, pytestCheckHook
+, buildPythonPackage
+, cython
+, mecab
+, setuptools-scm
+, ipadic
+, unidic
+, unidic-lite
+}:
+
+buildPythonPackage rec {
+  pname = "fugashi";
+  version = "1.2.1";
+  format = "setuptools";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "polm";
+    repo = "fugashi";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-VDqRhJiNDbKFE284EAUS0d5T9cl8kgyHjh+r/HjjDY8=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [ cython mecab setuptools-scm ];
+
+  nativeCheckInputs = [ ipadic pytestCheckHook ]
+    ++ passthru.optional-dependencies.unidic-lite;
+
+  passthru.optional-dependencies = {
+    unidic-lite = [ unidic-lite ];
+    unidic = [ unidic ];
+  };
+
+  preCheck = ''
+    cd fugashi
+  '';
+
+  pythonImportsCheck = [ "fugashi" ];
+
+  meta = with lib; {
+    description = "A Cython MeCab wrapper for fast, pythonic Japanese tokenization and morphological analysis";
+    homepage = "https://github.com/polm/fugashi";
+    changelog = "https://github.com/polm/fugashi/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ laurent-f1z1 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/funsor/default.nix b/nixpkgs/pkgs/development/python-modules/funsor/default.nix
new file mode 100644
index 000000000000..a5250afff471
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/funsor/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, makefun
+, multipledispatch
+, numpy
+, opt-einsum
+, typing-extensions
+, pyro-ppl
+, torch
+, pandas
+, pillow
+, pyro-api
+, pytest
+, pytest-xdist
+, requests
+, scipy
+, torchvision
+}:
+
+buildPythonPackage rec {
+  pname = "funsor";
+  version = "0.4.5";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "pyro-ppl";
+    repo = "funsor";
+    rev = "refs/tags/${version}";
+    hash = "sha256-3JxnRlJN/kYstcIKt8cvDmqnp8oyoA4jkMBDVuAMa5Q=";
+  };
+
+  # Disable the tests that rely on downloading assets from the internet as well as the linting checks.
+  patches = [
+    ./patch-makefile-for-tests.patch
+  ];
+
+  propagatedBuildInputs = [
+    makefun
+    multipledispatch
+    numpy
+    opt-einsum
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    # Backend
+    pyro-ppl
+    torch
+
+    pandas
+    pillow
+    pyro-api
+    pytest
+    pytest-xdist
+    requests
+    scipy
+    torchvision
+  ];
+
+  # Use the included Makefile to run the tests.
+  checkPhase = ''
+    export FUNSOR_BACKEND=torch
+    make test
+  '';
+
+  pythonImportsCheck = [ "funsor" ];
+
+  meta = with lib; {
+    description = "Functional tensors for probabilistic programming";
+    homepage = "https://funsor.pyro.ai";
+    changelog = "https://github.com/pyro-ppl/funsor/releases/tag/${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ GaetanLepage ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/funsor/patch-makefile-for-tests.patch b/nixpkgs/pkgs/development/python-modules/funsor/patch-makefile-for-tests.patch
new file mode 100644
index 000000000000..ca59bf75bb7d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/funsor/patch-makefile-for-tests.patch
@@ -0,0 +1,27 @@
+diff --git a/Makefile b/Makefile
+index d4b862c..755dfe3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -23,7 +23,7 @@ format: license FORCE
+ 	black .
+ 	isort .
+ 
+-test: lint FORCE
++test: FORCE
+ ifeq (${FUNSOR_BACKEND}, torch)
+ 	pytest -v -n auto test/
+ 	FUNSOR_DEBUG=1 pytest -v test/test_gaussian.py
+@@ -45,10 +45,10 @@ ifeq (${FUNSOR_BACKEND}, torch)
+ 	python examples/slds.py -n 2 -t 50
+ 	python examples/pcfg.py --size 3
+ 	python examples/talbot.py -n 2
+-	python examples/vae.py --smoke-test
++	# python examples/vae.py --smoke-test
+ 	python examples/eeg_slds.py --num-steps 2 --fon --test
+-	python examples/mixed_hmm/experiment.py -d seal -i discrete -g discrete -zi --smoke
+-	python examples/mixed_hmm/experiment.py -d seal -i discrete -g discrete -zi --parallel --smoke
++	# python examples/mixed_hmm/experiment.py -d seal -i discrete -g discrete -zi --smoke
++	# python examples/mixed_hmm/experiment.py -d seal -i discrete -g discrete -zi --parallel --smoke
+ 	python examples/sensor.py --seed=0 --num-frames=2 -n 1
+ 	python examples/adam.py --num-steps=21
+ 	@echo PASS
diff --git a/nixpkgs/pkgs/development/python-modules/furo/default.nix b/nixpkgs/pkgs/development/python-modules/furo/default.nix
index b768dc72d121..8d73aa1c5e20 100644
--- a/nixpkgs/pkgs/development/python-modules/furo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/furo/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "furo";
-  version = "2023.5.20";
+  version = "2023.7.26";
   format = "wheel";
 
   disable = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     inherit pname version format;
     dist = "py3";
     python = "py3";
-    hash = "sha256-WUqENt3+DAcfOp6aIJwxSiGdg0Hz8a8z/ffGlUT6ueY=";
+    hash = "sha256-HHk2kp7FfF3ezHyF8H+oss5Ta1yJE3dkzKUIvpDhHv0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gaphas/default.nix b/nixpkgs/pkgs/development/python-modules/gaphas/default.nix
index ec57bfd114df..52428bc3c4eb 100644
--- a/nixpkgs/pkgs/development/python-modules/gaphas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gaphas/default.nix
@@ -24,10 +24,10 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     poetry-core
+    gobject-introspection
   ];
 
   buildInputs = [
-    gobject-introspection
     gtk3
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix b/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix
index ed42e3561141..c06a43b584a0 100644
--- a/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gcal-sync/default.nix
@@ -31,6 +31,8 @@ buildPythonPackage rec {
     pydantic
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     freezegun
     pytest-aiohttp
diff --git a/nixpkgs/pkgs/development/python-modules/geopy/default.nix b/nixpkgs/pkgs/development/python-modules/geopy/default.nix
index ca50920b188e..1ca084d999cd 100644
--- a/nixpkgs/pkgs/development/python-modules/geopy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geopy/default.nix
@@ -1,5 +1,5 @@
 { lib
-, async_generator
+, async-generator
 , buildPythonPackage
 , docutils
 , fetchFromGitHub
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    async_generator
+    async-generator
     docutils
     pytestCheckHook
     pytz
diff --git a/nixpkgs/pkgs/development/python-modules/git-filter-repo/default.nix b/nixpkgs/pkgs/development/python-modules/git-filter-repo/default.nix
index b8f8097d3906..5f4fede287d1 100644
--- a/nixpkgs/pkgs/development/python-modules/git-filter-repo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/git-filter-repo/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , pythonOlder
 , setuptools-scm
@@ -17,6 +18,16 @@ buildPythonPackage rec {
     hash = "sha256-/hdT4Y8L1tPJtXhoyAEa59BWpuurcGcGOWoV71MScl4=";
   };
 
+  patches = [
+    # https://github.com/newren/git-filter-repo/pull/498
+    (fetchpatch {
+      name = "remove-duplicate-script.patch";
+      url = "https://github.com/newren/git-filter-repo/commit/a59e67e7918e577147ca36a70916741be029c878.patch";
+      hash = "sha256-b0QHy9wMWuBWQoptdvLRT+9SRx2u2+11PnzEEB5F0Yo=";
+      stripLen = 1;
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools-scm
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/git-url-parse/default.nix b/nixpkgs/pkgs/development/python-modules/git-url-parse/default.nix
new file mode 100644
index 000000000000..b0c4c2077faf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/git-url-parse/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pbr
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "git-url-parse";
+  version = "1.2.2";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "coala";
+    repo = "git-url-parse";
+    rev = version;
+    hash = "sha256-+0V/C3wE02ppdDGn7iqdvmgsUwTR7THUakUilvkzoYg=";
+  };
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --cov giturlparse --cov-report term-missing" ""
+  '';
+
+
+  # Manually set version because prb wants to get it from the git
+  # upstream repository (and we are installing from tarball instead)
+  env.PBR_VERSION = version;
+
+  propagatedBuildInputs = [
+    pbr
+  ];
+
+  pythonImportsCheck = [ "giturlparse" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "A simple GIT URL parser";
+    homepage = "https://github.com/coala/git-url-parse";
+    changelog = "https://github.com/coala/git-url-parse/blob/${src.rev}/CHANGELOG.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ blaggacao ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/python-modules/gitignore-parser/default.nix b/nixpkgs/pkgs/development/python-modules/gitignore-parser/default.nix
index 7003443f1736..8ccc6a1cfba8 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.5";
+  version = "0.1.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "mherrmann";
     repo = "gitignore_parser";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Z2x09XwFDMf6sUoKXJ240abp7zctbVCN4dsoQmWVSn8=";
+    hash = "sha256-RAtXh57WU67fKQhhItdOm25BYfh3ucc0eyWUHGksnLg=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/glad2/default.nix b/nixpkgs/pkgs/development/python-modules/glad2/default.nix
index 47728d793b05..57ee88c4997a 100644
--- a/nixpkgs/pkgs/development/python-modules/glad2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glad2/default.nix
@@ -1,9 +1,10 @@
 { lib
-, python3
+, buildPythonPackage
 , fetchPypi
+, jinja2
 }:
 
-python3.pkgs.buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "glad2";
   version = "2.0.4";
   format = "setuptools";
@@ -13,15 +14,18 @@ python3.pkgs.buildPythonPackage rec {
     hash = "sha256-7eFjn2nyugjx9JikCnB/NKYJ0k6y6g1sk2RomnmM99A=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = [
     jinja2
   ];
 
+  # no python tests
+  doCheck = false;
+
   pythonImportsCheck = [ "glad" ];
 
   meta = with lib; {
     description = "Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specifications";
-    homepage = "https://pypi.org/project/glad2";
+    homepage = "https://github.com/Dav1dde/glad";
     license = licenses.mit;
     maintainers = with maintainers; [ kranzes ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix
index bdca6599f5c8..110dddeb47b0 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.23.0";
+  version = "3.26.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "globus";
     repo = "globus-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-5Y5lRNsxOrsByZ7zUu+3O5UCzjvOjKvlZLDeK5EMcHY=";
+    hash = "sha256-L3YwBFpeGDPIixjvU7OLf8kpeYkqcSmLqMzGcSjtMtE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/glyphslib/default.nix b/nixpkgs/pkgs/development/python-modules/glyphslib/default.nix
index 1aae1c347e32..7a44e6488643 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.2.5";
+  version = "6.3.0";
 
   format = "pyproject";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "googlefonts";
     repo = "glyphsLib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-El2hRY+ELzdW/Bv34JURsisRr74MEv19sFt9tWFHIes=";
+    hash = "sha256-wBtotr7nH7KL5ISaJFs4i8CCv4OCZnVOREUon8jhQdY=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/goocalendar/default.nix b/nixpkgs/pkgs/development/python-modules/goocalendar/default.nix
index 65cf304acc24..a9d69447c2ce 100644
--- a/nixpkgs/pkgs/development/python-modules/goocalendar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/goocalendar/default.nix
@@ -1,23 +1,25 @@
 { lib
-, fetchPypi
 , buildPythonPackage
-, pkg-config
-, gtk3
+, fetchPypi
 , gobject-introspection
-, pygobject3
 , goocanvas2
-, isPy3k
+, gtk3
+, pkg-config
+, pygobject3
+, pythonOlder
  }:
 
 buildPythonPackage rec {
-  pname = "GooCalendar";
-  version = "0.7.2";
+  pname = "goocalendar";
+  version = "0.8.0";
+  format = "setuptools";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "318b3b7790ac9d6d98881eee3b676fc9c17fc15d21dcdaff486e3c303333b41a";
+    pname = "GooCalendar";
+    inherit version;
+    hash = "sha256-LwL5TLRkD6ALucabLUeB0k4rIX+O/aW2ebS2rZPjIUs=";
   };
 
   nativeBuildInputs = [
@@ -37,10 +39,15 @@ buildPythonPackage rec {
   # No upstream tests available
   doCheck = false;
 
+  pythonImportsCheck = [
+    "goocalendar"
+  ];
+
   meta = with lib; {
-    description = "A calendar widget for GTK using PyGoocanvas.";
+    description = "A calendar widget for GTK using PyGoocanvas";
     homepage = "https://goocalendar.tryton.org/";
-    license = licenses.gpl2;
-    maintainers = [ maintainers.udono ];
+    changelog = "https://foss.heptapod.net/tryton/goocalendar/-/blob/${version}/CHANGELOG";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ udono ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix b/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix
index c4cf9b2e0767..9df9562c3d15 100644
--- a/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-api-core/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "2.11.0";
+  version = "2.11.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-S5u11aOAoL76BXOzAmUbipqJJiwXMON79CPOxRGATCI=";
+    hash = "sha256-JdKeBaAFjtXxnGHAp4sbU63qTZNktGTQFPvalB9tHJo=";
   };
 
   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 c99ecbdcb465..aea6bd04d844 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.88.0";
+  version = "2.96.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NwaEU/eeoo5TlKj+IKS6YgWU5/hUEGi+ouhE2s3MnTM=";
+    hash = "sha256-9xI3PQPTOK9XufX+mMkfS1uqqHZUabAVvGI8RoHFvVE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-auth-httplib2/default.nix b/nixpkgs/pkgs/development/python-modules/google-auth-httplib2/default.nix
index e185a88858d5..c35297f6b5cf 100644
--- a/nixpkgs/pkgs/development/python-modules/google-auth-httplib2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-auth-httplib2/default.nix
@@ -27,6 +27,8 @@ buildPythonPackage rec {
     httplib2
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     flask
     mock
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index 773eea02e4b5..9b214bebdfd3 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-bigtable/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigtable";
-  version = "2.20.0";
+  version = "2.21.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PUeEqed0crzfHLAHDDu4GgktMaNt11nuovfMIkz5iwk=";
+    hash = "sha256-2fDvv5QMo5LwfRN4f8LadtHhaN7a+uD48bQgjgwRMtw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix
index 084612219e92..634c488fde42 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-compute/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-compute";
-  version = "1.13.0";
+  version = "1.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-k7chKcZEPImNpaBg0gIbwtEcKlfvL7uTBq+7USajdrk=";
+    hash = "sha256-AtGjz+ghJ+/WI8ppavkF2J6Hqq65pQYhWb3PN0f9j2Y=";
   };
 
   propagatedBuildInputs = [
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 db7ab280b4bd..e9890447e46a 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.28.0";
+  version = "2.30.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yML87bCWsuiV+jcznu6QDaLwKxSCb4Nd2BUm5f+wtRE=";
+    hash = "sha256-iR6+A3ekRxl3zA1K7DMaw4dyMwjM/yxh/7tOH//mwXY=";
   };
 
   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 8787eed87a10..5b8df01d4353 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.14.0";
+  version = "3.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4+zlMv5GJCKuXTck2QmaEctu6mkZKXeiY4SgM+7RYSk=";
+    hash = "sha256-TY/HrTDlo6cq50bSaRVuZyt1rThB9BPiQW0RS98gIo8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-datastore/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-datastore/default.nix
index 501afabbc367..f50b07371ffb 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-datastore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-datastore/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datastore";
-  version = "2.16.1";
+  version = "2.17.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cQ7yfr37UDQPRnHFMq1MFSVmWYXpQhmE/81rlrV+NLs=";
+    hash = "sha256-/q+th07TdqnR8Imer8llDSH9siKPkN6bh0GoBsITtCI=";
   };
 
   propagatedBuildInputs = [
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 762ebe98fee8..7b6096557320 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-language/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-language";
-  version = "2.10.1";
+  version = "2.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FAwHU1haRZd7ucfRxwfn+KtWM8/1a97Z74UvkBa3Mq8=";
+    hash = "sha256-ldI19QPZBOiFQRfpKO82rJMMJIJfy4QAw/NoqQj9vhQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index 501f1b7e92ff..79beffc5125d 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "2.18.1";
+  version = "2.18.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SivzwE+CeFBPk0sr26/pJ/plDXxTl8djOgsw4QpRJ/M=";
+    hash = "sha256-tAcSM55fgbegNbC+iyrpBmhKQWLhGaK5qzO8mUuhty8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix
index 3e243e369fe5..d7dcf9c3424e 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-spanner";
-  version = "3.40.0";
+  version = "3.40.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+dBve2hfb9paeIPlqY//VdXvnBq3tze4NiShNfrXgM0=";
+    hash = "sha256-YWsHyGza5seLrSe4qznYznonNRHyuR/iYPFw2SZlPC4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix
index 0c487e19cb7f..0dcee5eea4eb 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-translate/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-translate";
-  version = "3.11.3";
+  version = "3.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LnjfcMGAMfF4ceLZdeeZjj3vyiL4JsjBsLiMlvXKVps=";
+    hash = "sha256-l0I8HDv2FBAvHUJ4F1oDxSPltKzWSLAKNAfQIwKqzNk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/govee-ble/default.nix b/nixpkgs/pkgs/development/python-modules/govee-ble/default.nix
index 2678c0120bee..354a1569b002 100644
--- a/nixpkgs/pkgs/development/python-modules/govee-ble/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/govee-ble/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "govee-ble";
-  version = "0.23.0";
+  version = "0.24.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/uv4P7wB/5QQW2IA+PT6VMPWd91Aoyxsez+8ptrIa5M=";
+    hash = "sha256-uuC7CVf/KKr36mvd0TqNJd2OtK/xshCGYJXEtllE9is=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gpib-ctypes/default.nix b/nixpkgs/pkgs/development/python-modules/gpib-ctypes/default.nix
new file mode 100644
index 000000000000..42c07a9ef421
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gpib-ctypes/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, pytestCheckHook
+, linux-gpib
+}:
+
+buildPythonPackage rec {
+  pname = "gpib-ctypes";
+  version = "0.3.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "gpib_ctypes";
+    inherit version;
+    hash = "sha256-c9l6TNmM4PtbvopnnFi5R1dQ9o3MI39BHHHPSGqfjCY=";
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace gpib_ctypes/gpib/gpib.py \
+      --replace "libgpib.so.0" "${linux-gpib}/lib/libgpib.so.0"
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'," ""
+  '';
+
+  pythonImportsCheck = [
+    "gpib_ctypes.gpib"
+  ];
+
+  meta = with lib; {
+    description = "Cross-platform Python bindings for the NI GPIB and linux-gpib C interfaces";
+    homepage = "https://github.com/tivek/gpib_ctypes/";
+    changelog = "https://github.com/tivek/gpib_ctypes/blob/${version}/HISTORY.rst";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ fsagbuya ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gpytorch/default.nix b/nixpkgs/pkgs/development/python-modules/gpytorch/default.nix
index f914bc326ba9..74d85d801f69 100644
--- a/nixpkgs/pkgs/development/python-modules/gpytorch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gpytorch/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "gpytorch";
-  version = "1.10";
+  version = "1.11";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "cornellius-gp";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-KY3ItkVjBfIYMkZAmD56EBGR9YN/MRN7b2K3zrK6Qmk=";
+    hash = "sha256-cpkfjx5G/4duL1Rr4nkHTHi03TDcYbcx3bKP2Ny7Ijo=";
   };
 
   postPatch = ''
@@ -40,6 +40,8 @@ buildPythonPackage rec {
     # flaky numerical tests
     "test_classification_error"
     "test_matmul_matrix_broadcast"
+    # https://github.com/cornellius-gp/gpytorch/issues/2396
+    "test_t_matmul_matrix"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/gradio/conftest-skip-network-errors.py b/nixpkgs/pkgs/development/python-modules/gradio/conftest-skip-network-errors.py
new file mode 100644
index 000000000000..4738de317552
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gradio/conftest-skip-network-errors.py
@@ -0,0 +1,57 @@
+# This is a pytest hook that skips tests that tries to access the network.
+# These tests will immediately fail, then get marked as "Expected fail" (xfail).
+
+from _pytest.runner import pytest_runtest_makereport as orig_pytest_runtest_makereport
+
+# We use BaseException to minimize the chance it gets caught and 'pass'ed
+class NixNetworkAccessDeniedError(BaseException):
+    pass
+
+def pytest_runtest_makereport(item, call):
+    """
+    Modifies test results after-the-fact. The function name is magic, see:
+    https://docs.pytest.org/en/7.1.x/reference/reference.html?highlight=pytest_runtest_makereport#std-hook-pytest_runtest_makereport
+    """
+
+    def iterate_exc_chain(exc: Exception):
+        """
+        Recurses through exception chain, yielding all exceptions
+        """
+        yield exc
+        if getattr(exc, "__context__", None) is not None:
+            yield from iterate_exc_chain(exc.__context__)
+        if getattr(exc, "__cause__", None) is not None:
+            yield from iterate_exc_chain(exc.__cause__)
+
+    tr = orig_pytest_runtest_makereport(item, call)
+    if call.excinfo is not None:
+        for exc in iterate_exc_chain(call.excinfo.value):
+            if isinstance(exc, NixNetworkAccessDeniedError):
+                tr.outcome, tr.wasxfail = 'skipped', "reason: Requires network access."
+            if isinstance(exc, FileNotFoundError):  # gradio specific
+                tr.outcome, tr.wasxfail = 'skipped', "reason: Pypi dist bad."
+    return tr
+
+# replace network access with exception
+
+def deny_network_access(*a, **kw):
+    raise NixNetworkAccessDeniedError
+
+import httpx
+import requests
+import socket
+import urllib
+import urllib3
+import websockets
+
+httpx.AsyncClient.get = deny_network_access
+httpx.AsyncClient.head = deny_network_access
+httpx.Request = deny_network_access
+requests.get = deny_network_access
+requests.head = deny_network_access
+requests.post = deny_network_access
+socket.socket.connect = deny_network_access
+urllib.request.Request = deny_network_access
+urllib.request.urlopen = deny_network_access
+urllib3.connection.HTTPSConnection._new_conn = deny_network_access
+websockets.connect = deny_network_access
diff --git a/nixpkgs/pkgs/development/python-modules/gradio/default.nix b/nixpkgs/pkgs/development/python-modules/gradio/default.nix
new file mode 100644
index 000000000000..ffb99d729328
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gradio/default.nix
@@ -0,0 +1,175 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pythonRelaxDepsHook
+, writeText
+
+# pyproject
+, hatchling
+, hatch-requirements-txt
+, hatch-fancy-pypi-readme
+
+# runtime
+, setuptools
+, aiofiles
+, aiohttp
+, altair
+, fastapi
+, ffmpy
+, markdown-it-py
+, mdit-py-plugins
+, markupsafe
+, matplotlib
+, numpy
+, orjson
+, pandas
+, pillow
+, pycryptodome
+, python-multipart
+, pydub
+, pyyaml
+, requests
+, uvicorn
+, jinja2
+, fsspec
+, httpx
+, pydantic
+, websockets
+, typing-extensions
+
+# check
+, pytestCheckHook
+, pytest-asyncio
+, mlflow
+, huggingface-hub
+, transformers
+, wandb
+, respx
+, scikit-image
+, ipython
+, ffmpeg
+, vega_datasets
+, boto3
+}:
+
+buildPythonPackage rec {
+  pname = "gradio";
+  version = "3.20.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  # We use the Pypi release, as it provides prebuilt webui assets,
+  # and has more frequent releases compared to github tags
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-oG97GwehyBWjWXzDqyfj+x2mAfM6OQhYKdA3j0Rv8Vs=";
+  };
+
+  pythonRelaxDeps = [
+    "mdit-py-plugins"
+  ];
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    hatchling
+    hatch-requirements-txt
+    hatch-fancy-pypi-readme
+  ];
+
+  propagatedBuildInputs = [
+    setuptools # needs pkg_resources
+    aiofiles
+    aiohttp
+    altair
+    fastapi
+    ffmpy
+    markdown-it-py
+    mdit-py-plugins
+    markupsafe
+    matplotlib
+    numpy
+    orjson
+    pandas
+    pillow
+    pycryptodome
+    python-multipart
+    pydub
+    pyyaml
+    requests
+    uvicorn
+    jinja2
+    fsspec
+    httpx
+    pydantic
+    websockets
+    typing-extensions
+  ] ++ markdown-it-py.optional-dependencies.linkify;
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-asyncio
+    mlflow
+    #comet-ml # FIXME: enable once packaged
+    huggingface-hub
+    transformers
+    wandb
+    respx
+    scikit-image
+    ipython
+    ffmpeg
+    vega_datasets
+    boto3
+    # shap is needed as well, but breaks too often
+  ];
+
+  # Add a pytest hook skipping tests that access network, marking them as "Expected fail" (xfail).
+  # We additionally xfail FileNotFoundError, since the gradio devs often fail to upload test assets to pypi.
+  preCheck = let
+  in ''
+    export HOME=$TMPDIR
+    cat ${./conftest-skip-network-errors.py} >> test/conftest.py
+  '';
+
+  disabledTests = [
+    # Actually broken
+    "test_mount_gradio_app"
+
+    # FIXME: enable once comet-ml is packaged
+    "test_inline_display"
+    "test_integration_comet"
+
+    # Flaky, tries to pin dependency behaviour. Sensitive to dep versions
+    # These error only affect downstream use of the check dependencies.
+    "test_no_color"
+    "test_in_interface_as_output"
+    "test_should_warn_url_not_having_version"
+
+    # Flaky, unknown reason
+    "test_in_interface"
+
+    # shap is too often broken in nixpkgs
+    "test_shapley_text"
+  ];
+  disabledTestPaths = [
+    # makes pytest freeze 50% of the time
+    "test/test_interfaces.py"
+  ];
+  #pytestFlagsArray = [ "-x" "-W" "ignore" ]; # uncomment for debugging help
+
+  # check the binary works outside the build env
+  doInstallCheck = true;
+  postInstallCheck = ''
+    env --ignore-environment $out/bin/gradio --help >/dev/null
+  '';
+
+  pythonImportsCheck = [ "gradio" ];
+
+  meta = with lib; {
+    homepage = "https://www.gradio.app/";
+    description = "Python library for easily interacting with trained machine learning models";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/graphene-django/default.nix b/nixpkgs/pkgs/development/python-modules/graphene-django/default.nix
index 68dc792aecfb..5ad186d75476 100644
--- a/nixpkgs/pkgs/development/python-modules/graphene-django/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graphene-django/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , pythonAtLeast
 , pythonOlder
@@ -21,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "graphene-django";
-  version = "3.1.2";
+  version = "3.1.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -30,7 +31,7 @@ buildPythonPackage rec {
     owner = "graphql-python";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-VQwDK9FRbHy/AFbdZKmvl5e52smSCyWTrs00DvJqVmo=";
+    hash = "sha256-1vl1Yj9MVBej5aFND8A63JMIog8aIW9SdwiOLIUwXxI=";
   };
 
   postPatch = ''
@@ -61,11 +62,14 @@ buildPythonPackage rec {
   ];
 
   disabledTests = lib.optionals (pythonAtLeast "3.11") [
-    # Pèython 3.11 support, https://github.com/graphql-python/graphene-django/pull/1365
+    # Python 3.11 support, https://github.com/graphql-python/graphene-django/pull/1365
     "test_django_objecttype_convert_choices_enum_naming_collisions"
     "test_django_objecttype_choices_custom_enum_name"
     "test_django_objecttype_convert_choices_enum_list"
     "test_schema_representation"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # this test touches files in the "/" directory and fails in darwin sandbox
+    "test_should_filepath_convert_string"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/graphql-relay/default.nix b/nixpkgs/pkgs/development/python-modules/graphql-relay/default.nix
index c751ba560bd3..ac91b749070d 100644
--- a/nixpkgs/pkgs/development/python-modules/graphql-relay/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graphql-relay/default.nix
@@ -27,6 +27,16 @@ buildPythonPackage rec {
     hash = "sha256-H/HFEpg1bkgaC+AJzN/ySYMs5T8wVZwTOPIqDg0XJQw=";
   };
 
+  # This project doesn't seem to actually need setuptools. To find out why it
+  # specifies it, follow up in:
+  #
+  #   https://github.com/graphql-python/graphql-relay-py/issues/49
+  #
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace ', "setuptools>=59,<70"' ""
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/graphtage/default.nix b/nixpkgs/pkgs/development/python-modules/graphtage/default.nix
index c33b1f603b1f..8b5e27a24134 100644
--- a/nixpkgs/pkgs/development/python-modules/graphtage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/graphtage/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "graphtage";
-  version = "0.2.9";
+  version = "0.3.0";
 
   disabled = pythonOlder "3.6";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "trailofbits";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-GK83qSXFSCK/tiIfNfsaDfViDVzdhQNT90kB9wiTLbk=";
+    hash = "sha256-rzX5pSSPm3CjpnCm0gxsgUaeXho9dP7WTanCzBK6Yps=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix b/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix
index d29a754aa86e..3efc25274d93 100644
--- a/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "greeneye-monitor";
-  version = "4.0";
+  version = "4.0.1";
 
   disabled = pythonOlder "3.10";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jkeljo";
     repo = "greeneye-monitor";
     rev = "refs/tags/v${version}";
-    hash = "sha256-kMyFerb6T5316cr4T5hSo4HcpO5Hl5l+bMor5jon9yY=";
+    hash = "sha256-S/1MT9ZQ9G0F1WXqzNKhVo8vtfPLzr8WRlfYc7TU9iQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix b/nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix
index de5e03d61321..49401b44532a 100644
--- a/nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gremlinpython/default.nix
@@ -79,6 +79,6 @@ buildPythonPackage rec {
     description = "Gremlin-Python implements Gremlin, the graph traversal language of Apache TinkerPop, within the Python language";
     homepage = "https://tinkerpop.apache.org/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ turion ris ];
+    maintainers = with maintainers; [ ris ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gridnet/default.nix b/nixpkgs/pkgs/development/python-modules/gridnet/default.nix
index 65bbc142e325..72eba9d84cf7 100644
--- a/nixpkgs/pkgs/development/python-modules/gridnet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gridnet/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "gridnet";
-  version = "4.2.0";
+  version = "4.3.0";
 
   disabled = pythonOlder "3.9";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-gridnet";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Enld68P9Cyq9Au4bsZQqPV26TL72pcmIm/Vg1DnheLk=";
+    hash = "sha256-8R8vPVL1Iq0NneN8G2bjUOrEq96LW9Zk5RcWG/LSJTY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/griffe/default.nix b/nixpkgs/pkgs/development/python-modules/griffe/default.nix
index bff3045e5c6d..3f4d5514f47e 100644
--- a/nixpkgs/pkgs/development/python-modules/griffe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/griffe/default.nix
@@ -1,7 +1,6 @@
 { lib
 , aiofiles
 , buildPythonPackage
-, cached-property
 , colorama
 , fetchFromGitHub
 , git
@@ -13,22 +12,19 @@
 
 buildPythonPackage rec {
   pname = "griffe";
-  version = "0.32.3";
+  version = "0.34.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mkdocstrings";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-rPh4FtcigZzscm3y/BJ/0Q0wURlumowlHY15MiQw2B8=";
+    hash = "sha256-kc+RL5ulV2VfB4ojgv/ZSupPy36kyOqbLBWHPiSpqkk=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'license = "ISC"' 'license = {file = "LICENSE"}' \
-  '';
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
     pdm-backend
@@ -36,8 +32,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     colorama
-  ] ++ lib.optionals (pythonOlder "3.8") [
-    cached-property
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-status/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-status/default.nix
index 27a2fb54da8d..991549ea9ed9 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.54.2";
+  version = "1.57.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MlXL7Ft8cGyqPU3VhGBsCA5kFeFWMbsvYhXitwBVg20=";
+    hash = "sha256-sJjamd8e6+WDN/j3jlDfmQJzzKzBIm/d60fFkOPfngI=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix
index f7a2b7f0330b..9e7b61e12b9e 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-testing/default.nix
@@ -9,19 +9,19 @@
 
 buildPythonPackage rec {
   pname = "grpcio-testing";
-  version = "1.54.2";
+  version = "1.57.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qCMOjSfe7eGIWyomTLiLrLrt/GekmLdlMO2VnPihgI0=";
+    hash = "sha256-xFMqJlY+Ehn0K3bXqdiGEvL2X3Pm7IPhHHPWTi8ecOk=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "'grpcio>={version}'.format(version=grpc_version.VERSION)" "'grpcio'"
+      --replace '"grpcio>={version}".format(version=grpc_version.VERSION)' '"grpcio"'
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix
index 6012a9eb135c..78e3cdaae7f1 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.54.2";
+  version = "1.57.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4RwsKu5T80CZLo5NalkXLLu9AZPxNR3pjE+BClBB1co=";
+    hash = "sha256-LxYTDYac4n7NYjGUVHtkndZXMz7H6GRMxXHGRXgam4U=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/gsd/default.nix b/nixpkgs/pkgs/development/python-modules/gsd/default.nix
index 69ac2d4a6442..922a892be593 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.0.1";
+  version = "3.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "glotzerlab";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jfik8Rz4gqBNQn8cb20VcSUodupS/FNgpQJtW/DMzPY=";
+    hash = "sha256-YeMdBELr5kfymVUEE8+cqGLgOPBqbbD+vh1e9XbRLB8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gsm0338/default.nix b/nixpkgs/pkgs/development/python-modules/gsm0338/default.nix
new file mode 100644
index 000000000000..029204c98730
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/gsm0338/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "gsm0338";
+  version = "1.1.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "dsch";
+    repo = "gsm0338";
+    rev = "1c036bd3b656b5075fdc221cbc578c4a47b42b1f";
+    hash = "sha256-EkUVd4d4Te8brHerygDc6KQSpiX11NrHYkcZSDRi05w=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "gsm0338" ];
+
+  meta = with lib; {
+    description = "Python codec for GSM 03.38";
+    homepage = "https://github.com/dsch/gsm0338";
+    license = licenses.mit;
+    maintainers = with maintainers; [ flokli janik ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/gst-python/default.nix b/nixpkgs/pkgs/development/python-modules/gst-python/default.nix
index 9814e11ff7e5..efa4fba8513a 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.4";
+  version = "1.22.5";
 
   format = "other";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-python/${pname}-${version}.tar.xz";
-    hash = "sha256-4TAtzA8kUbZDgNzA3TuCc1eV6JUdyBLZONi6kfOIFj4=";
+    hash = "sha256-vwUjJBXPYBgUKuUd07iXu3NDJoe1zheGv0btximM5bA=";
   };
 
   # Python 2.x is not supported.
diff --git a/nixpkgs/pkgs/development/python-modules/gtimelog/default.nix b/nixpkgs/pkgs/development/python-modules/gtimelog/default.nix
index 532481fbeeba..0d00eaa22dd2 100644
--- a/nixpkgs/pkgs/development/python-modules/gtimelog/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gtimelog/default.nix
@@ -15,9 +15,9 @@ buildPythonPackage rec {
     sha256 = "0qv2kv7vc3qqlzxsisgg31cmrkkqgnmxspbj10c5fhdmwzzwi0i9";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper gobject-introspection ];
   buildInputs = [
-    glibcLocales gobject-introspection gtk3 libsoup libsecret
+    glibcLocales gtk3 libsoup libsecret
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gunicorn/default.nix b/nixpkgs/pkgs/development/python-modules/gunicorn/default.nix
index 8c543bce8571..23bfaae0d2bd 100644
--- a/nixpkgs/pkgs/development/python-modules/gunicorn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gunicorn/default.nix
@@ -1,41 +1,33 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
+, packaging
 , pythonOlder
 , eventlet
 , gevent
 , pytestCheckHook
-, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "gunicorn";
-  version = "20.1.0";
+  version = "21.2.0";
+  format = "setuptools";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "benoitc";
     repo = "gunicorn";
     rev = version;
-    hash = "sha256-xdNHm8NQWlAlflxof4cz37EoM74xbWrNaf6jlwwzHv4=";
+    hash = "sha256-xP7NNKtz3KNrhcAc00ovLZRx2h6ZqHbwiFOpCiuwf98=";
   };
 
-  patches = [
-    (fetchpatch {
-      # fix eventlet 0.30.3+ compability
-      url = "https://github.com/benoitc/gunicorn/commit/6a8ebb4844b2f28596ffe7421eb9f7d08c8dc4d8.patch";
-      hash = "sha256-+iApgohzPZ/cHTGBNb7XkqLaHOVVPF26BnPUsvISoZw=";
-    })
-  ];
-
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "--cov=gunicorn --cov-report=xml" ""
   '';
 
   propagatedBuildInputs = [
-    setuptools
+    packaging
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/h5py/default.nix b/nixpkgs/pkgs/development/python-modules/h5py/default.nix
index 4d611cbaf2ab..427caf0211e6 100644
--- a/nixpkgs/pkgs/development/python-modules/h5py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/h5py/default.nix
@@ -2,7 +2,9 @@
 , fetchPypi
 , buildPythonPackage
 , pythonOlder
+, oldest-supported-numpy
 , setuptools
+, wheel
 , numpy
 , hdf5
 , cython
@@ -33,7 +35,6 @@ in buildPythonPackage rec {
   # avoid strict pinning of numpy
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "numpy ==" "numpy >=" \
       --replace "mpi4py ==" "mpi4py >="
   '';
 
@@ -50,8 +51,10 @@ in buildPythonPackage rec {
 
   nativeBuildInputs = [
     cython
+    oldest-supported-numpy
     pkgconfig
     setuptools
+    wheel
   ];
 
   buildInputs = [ hdf5 ]
diff --git a/nixpkgs/pkgs/development/python-modules/hatchling/default.nix b/nixpkgs/pkgs/development/python-modules/hatchling/default.nix
index 35187aff512d..8a886112fed9 100644
--- a/nixpkgs/pkgs/development/python-modules/hatchling/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hatchling/default.nix
@@ -5,11 +5,11 @@
 
 # runtime
 , editables
-, importlib-metadata # < 3.8
 , packaging
 , pathspec
 , pluggy
 , tomli
+, trove-classifiers
 
 # tests
 , build
@@ -18,27 +18,24 @@
 , virtualenv
 }:
 
-let
+buildPythonPackage rec {
   pname = "hatchling";
-  version = "1.13.0";
-in
-buildPythonPackage {
-  inherit pname version;
+  version = "1.18.0";
   format = "pyproject";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+NJ1osxyBzUoa3wuK8NdoFdh5tNpXC+kFlUDlfEMU8c=";
+    hash = "sha256-UOmcMRDOCvw/e9ut/xxxwXdY5HZzHCdgeUDPpmhkico=";
   };
 
-  # listed in backend/src/hatchling/ouroboros.py
+  # listed in backend/pyproject.toml
   propagatedBuildInputs = [
     editables
     packaging
     pathspec
     pluggy
-  ] ++ lib.optionals (pythonOlder "3.8") [
-    importlib-metadata
+    trove-classifiers
   ] ++ lib.optionals (pythonOlder "3.11") [
     tomli
   ];
@@ -54,7 +51,6 @@ buildPythonPackage {
   # listed in /backend/tests/downstream/requirements.txt
   nativeCheckInputs = [
     build
-    packaging
     requests
     virtualenv
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/hcloud/default.nix b/nixpkgs/pkgs/development/python-modules/hcloud/default.nix
index 9a1ecc429430..cfa94debf55f 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.26.0";
+  version = "1.28.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-siyPuSLqzH30bdY1y+VaBBCjOU1YLtBgPpTvZCJtcXc=";
+    hash = "sha256-BM6iy3dSjiy65uLi1Yr1qvaWcnrE/LQfyFkZLrzD8pw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix b/nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix
index 2d7b3b98c233..5d231b2b0a60 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.2";
+  version = "4.1.3";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "silx-kit";
     repo = "hdf5plugin";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ooRZTZaHutr6tdMm8mbpukjmH9yfgWCf5lrFc6AJVpw=";
+    hash = "sha256-0emCZ+r5dCRBT2xaNsgYskcGcLF/9Jf6K7FFi/PA+60=";
   };
 
   propagatedBuildInputs = [
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     '';
     homepage = "http://www.silx.org/doc/hdf5plugin/latest/";
     license = licenses.mit;
-    maintainers = with maintainers; [ bhipple ];
+    maintainers = with maintainers; [ pbsds ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/hickle/default.nix b/nixpkgs/pkgs/development/python-modules/hickle/default.nix
index 6fcb1d166ac9..66968a94f552 100644
--- a/nixpkgs/pkgs/development/python-modules/hickle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hickle/default.nix
@@ -1,4 +1,5 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchPypi
 , pythonOlder
 , h5py
@@ -8,7 +9,6 @@
 , scipy
 , pandas
 , pytestCheckHook
-, lib
 }:
 
 buildPythonPackage rec {
@@ -24,33 +24,43 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
-    substituteInPlace tox.ini --replace "--cov=./hickle" ""
+    substituteInPlace tox.ini \
+      --replace "--cov=./hickle" ""
   '';
 
-  propagatedBuildInputs = [ h5py numpy dill ];
+  propagatedBuildInputs = [
+    dill
+    h5py
+    numpy
+  ];
 
   nativeCheckInputs = [
+    astropy
+    pandas
     pytestCheckHook
     scipy
-    pandas
-    astropy
   ];
 
-  pythonImportsCheck = [ "hickle" ];
+  pythonImportsCheck = [
+    "hickle"
+  ];
 
   disabledTests = [
     # broken in 5.0.2 with recent NumPy
     # see https://github.com/telegraphic/hickle/issues/174
     "test_scalar_compression"
-    # broken in 5.0.2 with python 3.11
+    # broken in 5.0.2 with Python 3.11
     # see https://github.com/telegraphic/hickle/issues/169
     "test_H5NodeFilterProxy"
+    # broken in 5.0.2
+    "test_slash_dict_keys"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Serialize Python data to HDF5";
     homepage = "https://github.com/telegraphic/hickle";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ bcdarwin ];
+    changelog = "https://github.com/telegraphic/hickle/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bcdarwin ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/hologram/default.nix b/nixpkgs/pkgs/development/python-modules/hologram/default.nix
index 0964bbf89ca4..005834fc99b8 100644
--- a/nixpkgs/pkgs/development/python-modules/hologram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hologram/default.nix
@@ -1,10 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , jsonschema
 , pytestCheckHook
 , python-dateutil
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -19,8 +21,18 @@ buildPythonPackage rec {
     hash = "sha256-DboVCvByI8bTThamGBwSiQADGxIaEnTMmwmVI+4ARgc=";
   };
 
+  patches = [
+    # https://github.com/dbt-labs/hologram/pull/58
+    (fetchpatch {
+      name = "python3.11-test-compatibility.patch";
+      url = "https://github.com/dbt-labs/hologram/commit/84bbe862ef6a2fcc8b8ce85b5c9a006cc7dc1f66.patch";
+      hash = "sha256-t096jJDoKUPED4QHSfVjUMLtUJjWcqjblCtGR8moEJc=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
index 538a6b489c44..f2008520e1f3 100644
--- a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.16.2";
+  version = "1.17.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RcVorlekOvc4k6CT5vrelrdxPLsP5v/0ZCamthMSJ0Y=";
+    hash = "sha256-yjDGYVCLIunowRnbw+Sl2FGYe0PDBWXbGAspHY/XcKQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/html5tagger/default.nix b/nixpkgs/pkgs/development/python-modules/html5tagger/default.nix
new file mode 100644
index 000000000000..42bc3aa18ad6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/html5tagger/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "html5tagger";
+  version = "1.3.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "sanic-org";
+    repo = "html5tagger";
+    rev = "v${version}";
+    hash = "sha256-Or0EizZC9FMjTcbgecDvgGB09KNGyxHreSDojgB7ysg=";
+  };
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "html5tagger"
+  ];
+
+  meta = with lib; {
+    description = "Create HTML documents from Python";
+    homepage = "https://github.com/sanic-org/html5tagger";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/httpcore/default.nix b/nixpkgs/pkgs/development/python-modules/httpcore/default.nix
index 863a56317055..9f3905f55182 100644
--- a/nixpkgs/pkgs/development/python-modules/httpcore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpcore/default.nix
@@ -13,11 +13,14 @@
 , pythonOlder
 , sniffio
 , socksio
+# for passthru.tests
+, httpx
+, httpx-socks
 }:
 
 buildPythonPackage rec {
   pname = "httpcore";
-  version = "0.16.3";
+  version = "0.17.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +29,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-3bC97CTZi6An+owjoJF7Irtr7ONbP8RtNdTIGJRy0Ng=";
+    hash = "sha256-qAoORhzBbjXxgtzTqbAxWBxrohzfwDWm5mxxrgeXt48=";
   };
 
   propagatedBuildInputs = [
@@ -70,7 +73,12 @@ buildPythonPackage rec {
 
   __darwinAllowLocalNetworking = true;
 
+  passthru.tests = {
+    inherit httpx httpx-socks;
+  };
+
   meta = with lib; {
+    changelog = "https://github.com/encode/httpcore/releases/tag/${version}";
     description = "A minimal low-level HTTP client";
     homepage = "https://github.com/encode/httpcore";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/httpie/default.nix b/nixpkgs/pkgs/development/python-modules/httpie/default.nix
index 04add67c8c84..22b6918bccc9 100644
--- a/nixpkgs/pkgs/development/python-modules/httpie/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpie/default.nix
@@ -16,6 +16,7 @@
 , rich
 , pysocks
 # CheckInputs
+, pip
 , pytest-httpbin
 , pytest-lazy-fixture
 , pytest-mock
@@ -52,8 +53,10 @@ buildPythonPackage rec {
     rich
   ] ++ requests.optional-dependencies.socks;
 
+  __darwinAllowLocalNetworking = true;
 
   nativeCheckInputs = [
+    pip
     pytest-httpbin
     pytest-lazy-fixture
     pytest-mock
diff --git a/nixpkgs/pkgs/development/python-modules/httplib2/default.nix b/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
index 99dd53ddd0a9..c201bc3126c8 100644
--- a/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httplib2/default.nix
@@ -26,6 +26,10 @@ buildPythonPackage rec {
     hash = "sha256-1Pl+l28J7crfO2UY/9/D019IzOHWOwjR+UvVEHICTqU=";
   };
 
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+  '';
+
   propagatedBuildInputs = [
     pyparsing
   ];
@@ -40,13 +44,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   # Don't run tests for older Pythons
   doCheck = pythonAtLeast "3.9";
 
-  postPatch = ''
-    sed -i "/--cov/d" setup.cfg
-  '';
-
   disabledTests = [
     # ValueError: Unable to load PEM file.
     # https://github.com/httplib2/httplib2/issues/192#issuecomment-993165140
diff --git a/nixpkgs/pkgs/development/python-modules/httptools/default.nix b/nixpkgs/pkgs/development/python-modules/httptools/default.nix
index 308a2dd08ff6..c516267629cd 100644
--- a/nixpkgs/pkgs/development/python-modules/httptools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httptools/default.nix
@@ -1,28 +1,33 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy27
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "httptools";
-  version = "0.5.0";
-  disabled = isPy27;
+  version = "0.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KVh0hhwXP5EBlgu6MyQpu3ftTc2M31zumSLrAOT2vAk=";
+    hash = "sha256-n8bkCa04y9aLF3zVFY/EBCx5a4LKiNmex48HvtbGt5Y=";
   };
 
-  # tests are not included in pypi tarball
+  # Tests are not included in pypi tarball
   doCheck = false;
 
-  pythonImportsCheck = [ "httptools" ];
+  pythonImportsCheck = [
+    "httptools"
+  ];
 
   meta = with lib; {
     description = "A collection of framework independent HTTP protocol utils";
     homepage = "https://github.com/MagicStack/httptools";
+    changelog = "https://github.com/MagicStack/httptools/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [ ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
index 996db8ec1b30..992ddf1c6932 100644
--- a/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
@@ -54,6 +54,8 @@ buildPythonPackage rec {
     ];
   };
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     flask
     hypercorn
diff --git a/nixpkgs/pkgs/development/python-modules/httpx/default.nix b/nixpkgs/pkgs/development/python-modules/httpx/default.nix
index ffbea1b67c8e..11204ec8b9b4 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.23.3";
+  version = "0.24.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ZLRzkyoFbAY2Xs1ORWBqvc2gpKovg9wRs/RtAryOcVg=";
+    hash = "sha256-qG6fgijNgQKjpSG6sg0+0yqeAU6qV7czR8NgWe63LIg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hy/default.nix b/nixpkgs/pkgs/development/python-modules/hy/default.nix
index aed8e99e0f84..c7cf5a864ef2 100644
--- a/nixpkgs/pkgs/development/python-modules/hy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hy/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "hy";
-  version = "0.26.0";
+  version = "0.27.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "hylang";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Ow3FAiH97lSaI3oSx702+jgScfNgf+JstuDpgPSB8LM=";
+    hash = "sha256-Emzz6m5voH3dCAw7/7d0XLlLEEOjnfrVNZ8WWKa38Ow=";
   };
 
   # https://github.com/hylang/hy/blob/1.0a4/get_version.py#L9-L10
@@ -43,11 +43,6 @@ buildPythonPackage rec {
     export PATH="$out/bin:$PATH"
   '';
 
-  disabledTests = [
-    "test_circular_macro_require"
-    "test_macro_require"
-  ];
-
   pythonImportsCheck = [ "hy" ];
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/python-modules/hyrule/default.nix b/nixpkgs/pkgs/development/python-modules/hyrule/default.nix
index 8b16d2927474..9f753cfa7898 100644
--- a/nixpkgs/pkgs/development/python-modules/hyrule/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hyrule/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "hyrule";
-  version = "0.3.0";
+  version = "0.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "hylang";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-nQAUVX409RWlFPeknnNwFNgo7e2xHkEXkAuXazZNntk=";
+    hash = "sha256-D5d/WwGSbEmSeyVBTIpGOqi+I6PkRdo8dhDaCeeOW4M=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix b/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
index 8ac76ae26d06..065fe77317aa 100644
--- a/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibis-framework/default.nix
@@ -1,14 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonOlder
 , pytestCheckHook
 , atpublic
 , bidict
 , black
-, clickhouse-cityhash
-, clickhouse-driver
+, clickhouse-connect
 , dask
 , datafusion
 , db-dtypes
@@ -21,14 +19,14 @@
 , google-cloud-bigquery-storage
 , graphviz-nox
 , hypothesis
-, importlib-resources
-, lz4
 , multipledispatch
 , numpy
+, oracledb
 , packaging
 , pandas
 , parsy
 , poetry-core
+, poetry-dynamic-versioning
 , polars
 , pooch
 , psycopg2
@@ -47,7 +45,6 @@
 , pytz
 , regex
 , rich
-, rsync
 , shapely
 , snowflake-connector-python
 , snowflake-sqlalchemy
@@ -66,60 +63,55 @@ let
     name = "ibis-testing-data";
     owner = "ibis-project";
     repo = "testing-data";
-    rev = "8a59df99c01fa217259554929543e71c3bbb1761";
-    hash = "sha256-NbgEe0w/qf9hCr9rRfIpyaH9pv25I8x0ykY7EJxDOuk=";
+    rev = "2b3968deaa1a28791b2901dbbcc9bfd3d2f23e9b";
+    hash = "sha256-q1b5IcOl5oIFXP7/P5RufncjHEVrWp4NjoU2uo/BE9U=";
   };
 in
 
 buildPythonPackage rec {
   pname = "ibis-framework";
-  version = "5.1.0";
+  version = "6.0.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     name = "ibis-source";
     repo = "ibis";
     owner = "ibis-project";
     rev = "refs/tags/${version}";
-    hash = "sha256-u3BBGdhWajZ5WtoBvNxmx76+orfHY6LX3IWAq/x2/9A=";
+    hash = "sha256-qIxacrRSN/Il9cY6ZsOiYLPyxI20aI+DyDM0/9jr654=";
   };
 
-  patches = [
-    # fixes a small bug in the datafusion backend to reorder predicates
-    (fetchpatch {
-      name = "fix-datafusion-compilation.patch";
-      url = "https://github.com/ibis-project/ibis/commit/009230421b2bc1f86591e8b850d37a489e8e4f06.patch";
-      hash = "sha256-5NHkgc8d2bkOMpbY1vme1XgNfyHSr0f7BrR3JTTjjPI=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
+    poetry-dynamic-versioning
   ];
 
+  POETRY_DYNAMIC_VERSIONING_BYPASS = version;
+
   propagatedBuildInputs = [
     atpublic
     bidict
+    filelock
     multipledispatch
     numpy
     pandas
     parsy
     pooch
+    pyarrow
     python-dateutil
     pytz
     rich
     sqlglot
     toolz
     typing-extensions
-  ] ++ lib.optionals (pythonOlder "3.9") [ importlib-resources ]
+  ]
   ++ pooch.optional-dependencies.progress
   ++ pooch.optional-dependencies.xxhash;
 
   nativeCheckInputs = [
     pytestCheckHook
-    filelock
     hypothesis
     pytest-benchmark
     pytest-httpserver
@@ -127,32 +119,17 @@ buildPythonPackage rec {
     pytest-randomly
     pytest-snapshot
     pytest-xdist
-    rsync
   ] ++ lib.concatMap (name: passthru.optional-dependencies.${name}) testBackends;
 
   pytestFlagsArray = [
     "--dist=loadgroup"
     "-m"
     "'${lib.concatStringsSep " or " testBackends} or core'"
-    # sqlalchemy2 breakage
+    # breakage from sqlalchemy2 truediv changes
     "--deselect=ibis/tests/sql/test_sqlalchemy.py::test_tpc_h17"
     # 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"
-    # all the following tests are fixed in the next release (6.0.0)
-    "--deselect=ibis/backends/tests/test_export.py::test_column_to_pyarrow_table_schema"
-    "--deselect=ibis/backends/tests/test_export.py::test_table_to_pyarrow_batches"
-    "--deselect=ibis/backends/tests/test_export.py::test_column_to_pyarrow_batches"
-    "--deselect=ibis/backends/tests/test_export.py::test_to_pyarrow_batches_memtable"
-    "--deselect=ibis/backends/tests/test_export.py::test_table_to_pyarrow_table_schema"
-    "--deselect=ibis/backends/tests/test_export.py::test_to_pyarrow_batches_borked_types"
-    "--deselect=ibis/backends/tests/test_export.py::test_table_pyarrow_batch_chunk_size"
-    "--deselect=ibis/backends/tests/test_export.py::test_column_pyarrow_batch_chunk_size"
-    "--deselect=ibis/backends/tests/test_export.py::test_roundtrip_partitioned_parquet"
-    "--deselect=ibis/tests/sql/test_sqlalchemy.py::test_order_by"
-    "--deselect=ibis/tests/sql/test_sqlalchemy.py::test_no_cart_join"
-    "--deselect=ibis/backends/tests/test_temporal.py::test_temporal_binop"
-    "--deselect=ibis/backends/tests/test_temporal.py::test_interval_literal"
   ];
 
   # patch out tests that check formatting with black
@@ -164,15 +141,11 @@ buildPythonPackage rec {
   '';
 
   preCheck = ''
-    set -eo pipefail
-
     HOME="$TMPDIR"
     export IBIS_TEST_DATA_DIRECTORY="ci/ibis-testing-data"
 
-    mkdir -p "$IBIS_TEST_DATA_DIRECTORY"
-
     # copy the test data to a directory
-    rsync --chmod=Du+rwx,Fu+rw --archive "${ibisTestingData}/" "$IBIS_TEST_DATA_DIRECTORY"
+    ln -s "${ibisTestingData}" "$IBIS_TEST_DATA_DIRECTORY"
   '';
 
   postCheck = ''
@@ -186,17 +159,19 @@ buildPythonPackage rec {
   passthru = {
     optional-dependencies = {
       bigquery = [ db-dtypes google-cloud-bigquery google-cloud-bigquery-storage pydata-google-auth ];
-      clickhouse = [ clickhouse-cityhash clickhouse-driver lz4 sqlalchemy ];
-      dask = [ dask pyarrow regex ];
+      clickhouse = [ clickhouse-connect sqlalchemy ];
+      dask = [ dask regex ];
       datafusion = [ datafusion ];
       druid = [ pydruid sqlalchemy ];
-      duckdb = [ duckdb duckdb-engine packaging pyarrow sqlalchemy sqlalchemy-views ];
+      duckdb = [ duckdb duckdb-engine packaging sqlalchemy sqlalchemy-views ];
+      flink = [ ];
       geospatial = [ geoalchemy2 geopandas shapely ];
       mysql = [ sqlalchemy pymysql sqlalchemy-views ];
+      oracle = [ sqlalchemy oracledb packaging sqlalchemy-views ];
       pandas = [ regex ];
-      polars = [ polars pyarrow ];
+      polars = [ polars ];
       postgres = [ psycopg2 sqlalchemy sqlalchemy-views ];
-      pyspark = [ pyarrow pyspark sqlalchemy ];
+      pyspark = [ pyspark sqlalchemy ];
       snowflake = [ snowflake-connector-python snowflake-sqlalchemy sqlalchemy-views ];
       sqlite = [ regex sqlalchemy sqlite sqlalchemy-views ];
       trino = [ trino-python-client sqlalchemy sqlalchemy-views ];
diff --git a/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix b/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix
index 5a63e79b3ffd..522b7b13cc1c 100644
--- a/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ibm-watson/default.nix
@@ -1,20 +1,20 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, responses
+, ibm-cloud-sdk-core
+, pytest-rerunfailures
 , pytestCheckHook
+, python-dateutil
 , python-dotenv
-, pytest-rerunfailures
+, pythonOlder
 , requests
-, python-dateutil
+, responses
 , websocket-client
-, ibm-cloud-sdk-core
-, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "ibm-watson";
-  version = "7.0.0";
+  version = "7.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,28 +23,23 @@ buildPythonPackage rec {
     owner = "watson-developer-cloud";
     repo = "python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-AerEd4TkK/A0KhSy+QWxRDD4pjobsx4oDxMr+wUCGt0=";
+    hash = "sha256-f/nf9WFiUNDQBkFNMV16EznCw0TN9L4fDIPQ/j4B1Sc=";
   };
 
   propagatedBuildInputs = [
-    requests
+    ibm-cloud-sdk-core
     python-dateutil
+    requests
     websocket-client
-    ibm-cloud-sdk-core
   ];
 
   nativeCheckInputs = [
-    responses
+    pytest-rerunfailures
     pytestCheckHook
     python-dotenv
-    pytest-rerunfailures
+    responses
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace websocket-client==1.1.0 websocket-client>=1.1.0
-  '';
-
   pythonImportsCheck = [
     "ibm_watson"
   ];
@@ -52,6 +47,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Client library to use the IBM Watson Services";
     homepage = "https://github.com/watson-developer-cloud/python-sdk";
+    changelog = "https://github.com/watson-developer-cloud/python-sdk/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ globin ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/icalendar/default.nix b/nixpkgs/pkgs/development/python-modules/icalendar/default.nix
index 9e99b42eab4b..0fd19ff24900 100644
--- a/nixpkgs/pkgs/development/python-modules/icalendar/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/icalendar/default.nix
@@ -10,7 +10,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "5.0.4";
+  version = "5.0.7";
   pname = "icalendar";
   format = "setuptools";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "collective";
     repo = "icalendar";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ch0i6hxEnHV/Xu4PqpRVt30KLOHHgtCAI2W9UyXo15E=";
+    hash = "sha256-fblcbyctnvd7DOc+tMWzg+90NHzZvH5xiY6BfJakQVo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/icoextract/default.nix b/nixpkgs/pkgs/development/python-modules/icoextract/default.nix
index 0f2636997d12..e050dd9b9406 100644
--- a/nixpkgs/pkgs/development/python-modules/icoextract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/icoextract/default.nix
@@ -22,10 +22,15 @@ buildPythonPackage rec {
     "icoextract"
   ];
 
+  postInstall = ''
+    mkdir -p $out/share/thumbnailers
+    substituteAll ${./exe-thumbnailer.thumbnailer} $out/share/thumbnailers/exe-thumbnailer.thumbnailer
+  '';
+
   meta = with lib; {
     description = "Extract icons from Windows PE files";
     homepage = "https://github.com/jlu5/icoextract";
     license = licenses.mit;
-    maintainers = with maintainers; [ bryanasdev000 ];
+    maintainers = with maintainers; [ bryanasdev000 donovanglover ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/icoextract/exe-thumbnailer.thumbnailer b/nixpkgs/pkgs/development/python-modules/icoextract/exe-thumbnailer.thumbnailer
new file mode 100644
index 000000000000..c275ac919b6b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/icoextract/exe-thumbnailer.thumbnailer
@@ -0,0 +1,3 @@
+[Thumbnailer Entry]
+Exec=@out@/bin/exe-thumbnailer -v -s %s %i %o
+MimeType=application/x-ms-dos-executable;application/x-dosexec;application/x-msdownload
diff --git a/nixpkgs/pkgs/development/python-modules/idasen/default.nix b/nixpkgs/pkgs/development/python-modules/idasen/default.nix
index 56523d538d5d..e4792be41690 100644
--- a/nixpkgs/pkgs/development/python-modules/idasen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/idasen/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, fetchpatch
 , bleak
 , pyyaml
 , voluptuous
@@ -24,6 +25,14 @@ buildPythonPackage rec {
     hash = "sha256-t8w4USDzyS0k5yk0XtQF8fVffzdf+udKSkdveMlseHk=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "replace-poetry-with-poetry-core.patch";
+      url = "https://github.com/newAM/idasen/commit/b9351d5c9def0687e4ae4cb65f38d14ed9ff2df5.patch";
+      hash = "sha256-Qi3psPZExJ5tBJ4IIvDC3JnWf4Gym6Z7akGCV8GZUNY=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/imagededup/default.nix b/nixpkgs/pkgs/development/python-modules/imagededup/default.nix
new file mode 100644
index 000000000000..94d06f6becbd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/imagededup/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchurl
+, cython
+, torch
+, torchvision
+, pillow
+, tqdm
+, scikit-learn
+, pywavelets
+, matplotlib
+, pytestCheckHook
+, pytest-mock
+}:
+let
+  MobileNetV3 = fetchurl {
+    url = "https://download.pytorch.org/models/mobilenet_v3_small-047dcff4.pth";
+    hash = "sha256-BH3P9K3e+G6lvC7/E8lhTcEfR6sRYNCnGiXn25lPTh8=";
+  };
+  ViT = fetchurl {
+    url = "https://download.pytorch.org/models/vit_b_16_swag-9ac1b537.pth";
+    hash = "sha256-msG1N42ZJ71sg3TODNVX74Dhs/j7wYWd8zLE3J0P2CU=";
+  };
+  EfficientNet = fetchurl {
+    url = "https://download.pytorch.org/models/efficientnet_b4_rwightman-7eb33cd5.pth";
+    hash = "sha256-I6uLzVvb72GnpDuRrcrYH2Iv1/NvtJNaVpgo13iIxE4=";
+  };
+in
+buildPythonPackage rec {
+  pname = "imagededup";
+  version = "0.3.2";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "idealo";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-B2IuNMTZnzBi6IxrHBoMDsmIcqGQpznd/2f1XKo1Oa4=";
+  };
+
+  nativeBuildInputs = [
+    cython
+  ];
+
+  propagatedBuildInputs = [
+    torch
+    torchvision
+    pillow
+    tqdm
+    scikit-learn
+    pywavelets
+    matplotlib
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook pytest-mock ];
+
+  preCheck = ''
+    # checks fail with: error: [Errno 13] Permission denied: '/homeless-shelter'
+    export HOME=$(mktemp -d)
+
+    # checks with CNN are preloaded to avoid downloads in check-phase
+    mkdir -p $HOME/.cache/torch/hub/checkpoints/
+    ln -s ${MobileNetV3} $HOME/.cache/torch/hub/checkpoints/${MobileNetV3.name}
+    ln -s ${ViT} $HOME/.cache/torch/hub/checkpoints/${ViT.name}
+    ln -s ${EfficientNet} $HOME/.cache/torch/hub/checkpoints/${EfficientNet.name}
+  '';
+
+  pythonImportsCheck = [ "imagededup" ];
+
+  meta = with lib; {
+    homepage = "https://idealo.github.io/imagededup/";
+    changelog = "https://github.com/idealo/imagededup/releases/tag/${src.rev}";
+    description = "Finding duplicate images made easy";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ stunkymonkey ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/immutables/default.nix b/nixpkgs/pkgs/development/python-modules/immutables/default.nix
index 02f89f237b74..c01fa75e5447 100644
--- a/nixpkgs/pkgs/development/python-modules/immutables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/immutables/default.nix
@@ -3,31 +3,26 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
-, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "immutables";
-  version = "0.19";
+  version = "0.20";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "MagicStack";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-yW+pmAryBp6bvjolN91ACDkk5zxvKfu4nRLQSy71kqs=";
+    hash = "sha256-fEECtP6WQVzwSzBYX+CbhQtzkB/1WC3OYKXk2XY//xA=";
   };
 
   postPatch = ''
     rm tests/conftest.py
   '';
 
-  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
-    typing-extensions
-  ];
-
   nativeCheckInputs = [
     pytestCheckHook
   ];
@@ -49,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "An immutable mapping type";
     homepage = "https://github.com/MagicStack/immutables";
+    changelog = "https://github.com/MagicStack/immutables/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ catern ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
index e2bacd522922..ce6bccdd409f 100644
--- a/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/influxdb/default.nix
@@ -23,6 +23,13 @@ buildPythonPackage rec {
     sha256 = "0ymjv322mv6y424fmpd70f87152w55mbwwj6i7p3sjzf0ixmxy26";
   };
 
+  postPatch = ''
+    for f in influxdb/tests/dataframe_client_test.py influxdb/tests/influxdb08/dataframe_client_test.py; do
+      substituteInPlace "$f" \
+        --replace "pandas.util.testing" "pandas.testing"
+    done
+  '';
+
   propagatedBuildInputs = [
     requests
     python-dateutil
@@ -51,6 +58,9 @@ buildPythonPackage rec {
     "test_write_points_from_dataframe_with_tags_and_nan_json"
     # 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
+    "test_multiquery_into_dataframe"
+    "test_multiquery_into_dataframe_dropna"
   ];
 
   pythonImportsCheck = [ "influxdb" ];
diff --git a/nixpkgs/pkgs/development/python-modules/injector/default.nix b/nixpkgs/pkgs/development/python-modules/injector/default.nix
index 9bbf48b5a4e1..1f15e496f5cc 100644
--- a/nixpkgs/pkgs/development/python-modules/injector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/injector/default.nix
@@ -1,17 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi, typing-extensions }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, typing-extensions
+, pytestCheckHook
+, pytest-cov
+}:
 
 buildPythonPackage rec {
   pname = "injector";
-  version = "0.20.1";
+  version = "0.21.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-hmG0mi+DCc5h46aoK3rLXiJcS96OF9FhDIk6Zw3/Ijo=";
+  src = fetchFromGitHub {
+    owner = "python-injector";
+    repo = pname;
+    rev = "refs/tags/${version}";
+    hash = "sha256-5O4vJSXfYNTrUzmv5XuT9pSUndNSvTZTxfVwiAd+0ck=";
   };
 
-  propagatedBuildInputs = [ typing-extensions ];
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.9") [
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-cov
+  ];
 
-  doCheck = false; # No tests are available
   pythonImportsCheck = [ "injector" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/installer/default.nix b/nixpkgs/pkgs/development/python-modules/installer/default.nix
index 9d3c8185322a..02934550273b 100644
--- a/nixpkgs/pkgs/development/python-modules/installer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/installer/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
   format = "pyproject";
 
   src = fetchFromGitHub {
-    owner = "pradyunsg";
+    owner = "pypa";
     repo = pname;
     rev = version;
     hash = "sha256-thHghU+1Alpay5r9Dc3v7ATRFfYKV8l9qR0nbGOOX/A=";
@@ -27,10 +27,10 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/pypa/installer/blob/${src.rev}/docs/changelog.md";
-    homepage = "https://github.com/pradyunsg/installer";
     description = "A low-level library for installing a Python package from a wheel distribution";
+    homepage = "https://github.com/pypa/installer";
+    changelog = "https://github.com/pypa/installer/blob/${src.rev}/docs/changelog.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ cpcloud fridh ];
+    maintainers = teams.python.members ++ [ maintainers.cpcloud ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix b/nixpkgs/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
index e2008e29dbad..2a6e9f0556a9 100644
--- a/nixpkgs/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
@@ -1,8 +1,10 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , pythonOlder
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -17,8 +19,18 @@ buildPythonPackage rec {
     hash = "sha256-R+P4pgKbLvf0mwpSDoujCvlJe/yS+nvSJ7ewLVOOg/0=";
   };
 
+  patches = [
+    # https://github.com/pyinsteon/insteon-panel/pull/33
+    (fetchpatch {
+      name = "unpin-setuptools.patch";
+      url = "https://github.com/pyinsteon/insteon-panel/commit/2297eb05668907edd03633f244e5876990e340c7.patch";
+      hash = "sha256-kTu1+IwDrcdqelyK/vfhxw8MQBis5I1jag7YTytKQhs=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   # upstream has no tests
diff --git a/nixpkgs/pkgs/development/python-modules/ipadic/default.nix b/nixpkgs/pkgs/development/python-modules/ipadic/default.nix
new file mode 100644
index 000000000000..841eccc9e157
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ipadic/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, mecab
+, setuptools-scm
+, cython
+}:
+
+buildPythonPackage rec {
+  pname = "ipadic";
+  version = "1.0.0";
+  format = "setuptools";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "polm";
+    repo = "ipadic-py";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ybC8G1AOIZWkS3uQSErXctIJKq9Y7xBjRbBrO8/yAj4=";
+  };
+
+  # no tests
+  doCheck = false;
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [ cython mecab setuptools-scm ];
+
+  pythonImportsCheck = [ "ipadic" ];
+
+  meta = with lib; {
+    description = "Contemporary Written Japanese dictionary";
+    homepage = "https://github.com/polm/ipadic-py";
+    license = licenses.mit;
+    maintainers = with maintainers; [ laurent-f1z1 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ipycanvas/default.nix b/nixpkgs/pkgs/development/python-modules/ipycanvas/default.nix
new file mode 100644
index 000000000000..05fdb6e85882
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ipycanvas/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, jupyter-packaging
+, ipywidgets
+, numpy
+, pillow
+}:
+
+buildPythonPackage rec {
+  pname = "ipycanvas";
+  version = "0.13.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-+cOUBoG8ODgzkPjEbqXYRF1uEcbaZITDfYnfWuHawTE=";
+  };
+
+  nativeBuildInputs = [ jupyter-packaging ];
+
+  propagatedBuildInputs = [ ipywidgets numpy pillow ];
+
+  doCheck = false;  # tests are in Typescript and require `npx` and `chromium`
+  pythonImportsCheck = [ "ipycanvas" ];
+
+  meta = with lib; {
+    description = "Expose the browser's Canvas API to IPython";
+    homepage = "https://ipycanvas.readthedocs.io";
+    changelog = "https://github.com/jupyter-widgets-contrib/ipycanvas/releases/tag/${version}";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ipympl/default.nix b/nixpkgs/pkgs/development/python-modules/ipympl/default.nix
index f227d5d7c778..9863064f16ea 100644
--- a/nixpkgs/pkgs/development/python-modules/ipympl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ipympl/default.nix
@@ -1,9 +1,14 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , ipykernel
+, ipython_genutils
 , ipywidgets
 , matplotlib
+, numpy
+, pillow
+, traitlets
 }:
 
 buildPythonPackage rec {
@@ -11,13 +16,22 @@ buildPythonPackage rec {
   version = "0.9.3";
   format = "wheel";
 
+  disabled = pythonOlder "3.5";
+
   src = fetchPypi {
     inherit pname version format;
     hash = "sha256-0RPNVYkbr+myfvmbbdERqHvra7KuVQxAQpInIQO+gBM=";
   };
 
-
-  propagatedBuildInputs = [ ipykernel ipywidgets matplotlib ];
+  propagatedBuildInputs = [
+    ipykernel
+    ipython_genutils
+    ipywidgets
+    matplotlib
+    numpy
+    pillow
+    traitlets
+  ];
 
   # There are no unit tests in repository
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/ipynbname/default.nix b/nixpkgs/pkgs/development/python-modules/ipynbname/default.nix
new file mode 100644
index 000000000000..03a27ec19d8c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ipynbname/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ipykernel
+}:
+
+buildPythonPackage rec {
+  pname = "ipynbname";
+  version = "2023.2.0.0";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Riu915VmJIdtxOqB+nkoRas4cOREyh9res2uo32Mnr8=";
+  };
+
+  propagatedBuildInputs = [
+    ipykernel
+  ];
+
+  pythonImportsCheck = [ "ipynbname" ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  meta = {
+    description = "Simply returns either notebook filename or the full path to the notebook";
+    homepage = "https://github.com/msm1089/ipynbname";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ipytablewidgets/default.nix b/nixpkgs/pkgs/development/python-modules/ipytablewidgets/default.nix
new file mode 100644
index 000000000000..6e05a3a36f0a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ipytablewidgets/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, ipywidgets
+, jupyter-packaging
+, jupyterlab
+, lz4
+, numpy
+, pandas
+, setuptools
+, traitlets
+, traittypes
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "ipytablewidgets";
+  version = "0.3.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-14vIih+r/PHLxhgG29YtwuosSBLpewD2CluWpH2+pLc=";
+  };
+
+  nativeBuildInputs = [
+    jupyter-packaging
+    jupyterlab
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    ipywidgets
+    lz4
+    numpy
+    pandas
+    traitlets
+    traittypes
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "ipytablewidgets" ];
+
+  meta = with lib; {
+    description = "Traitlets and widgets to efficiently data tables (e.g. Pandas DataFrame) using the jupyter notebook";
+    homepage = "https://github.com/progressivis/ipytablewidgets";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/irc/default.nix b/nixpkgs/pkgs/development/python-modules/irc/default.nix
index e252987e3fb0..a068d26695e5 100644
--- a/nixpkgs/pkgs/development/python-modules/irc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/irc/default.nix
@@ -1,51 +1,55 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy3k
-, six
+, jaraco-collections
+, jaraco-itertools
 , jaraco-logging
-, jaraco-text
 , jaraco-stream
+, jaraco-text
+, pytestCheckHook
+, pythonOlder
 , pytz
-, jaraco-itertools
 , setuptools-scm
-, jaraco-collections
-, importlib-metadata
 }:
 
 buildPythonPackage rec {
   pname = "irc";
-  version = "20.1.0";
+  version = "20.3.0";
   format = "pyproject";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tvc3ky3UeR87GOMZ3nt9rwLSKFpr6iY9EB9NjlU4B+w=";
+    hash = "sha256-JFteqYqwAlZnYx53alXjGRfmDvcIxgEC8hmLyfURMjY=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
   propagatedBuildInputs = [
-    six
-    importlib-metadata
+    jaraco-collections
+    jaraco-itertools
     jaraco-logging
-    jaraco-text
     jaraco-stream
+    jaraco-text
     pytz
-    jaraco-itertools
-    jaraco-collections
   ];
 
-  doCheck = false;
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "irc" ];
+  pythonImportsCheck = [
+    "irc"
+  ];
 
   meta = with lib; {
     description = "IRC (Internet Relay Chat) protocol library for Python";
     homepage = "https://github.com/jaraco/irc";
+    changelog = "https://github.com/jaraco/irc/blob/v${version}/NEWS.rst";
     license = licenses.mit;
-    maintainers = with maintainers; [];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ircrobots/default.nix b/nixpkgs/pkgs/development/python-modules/ircrobots/default.nix
index e698e231c8d2..51de0c11bfe2 100644
--- a/nixpkgs/pkgs/development/python-modules/ircrobots/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ircrobots/default.nix
@@ -6,7 +6,7 @@
 , asyncio-rlock
 , asyncio-throttle
 , ircstates
-, async_stagger
+, async-stagger
 , async-timeout
 , python
 }:
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     asyncio-rlock
     asyncio-throttle
     ircstates
-    async_stagger
+    async-stagger
     async-timeout
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/isort/default.nix b/nixpkgs/pkgs/development/python-modules/isort/default.nix
index 5abfcc9737d0..6bf563af4784 100644
--- a/nixpkgs/pkgs/development/python-modules/isort/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/isort/default.nix
@@ -1,4 +1,6 @@
-{ lib, buildPythonPackage, fetchFromGitHub
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , colorama
 , hypothesis
 , poetry-core
@@ -77,5 +79,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/PyCQA/isort";
     license = licenses.mit;
     maintainers = with maintainers; [ couchemar ];
+    mainProgram = "isort";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jax/default.nix b/nixpkgs/pkgs/development/python-modules/jax/default.nix
index 4901467262f3..b22d82d7f22f 100644
--- a/nixpkgs/pkgs/development/python-modules/jax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jax/default.nix
@@ -1,13 +1,14 @@
 { lib
-, absl-py
 , blas
 , buildPythonPackage
-, etils
+, setuptools
+, importlib-metadata
 , fetchFromGitHub
 , jaxlib
 , jaxlib-bin
 , lapack
 , matplotlib
+, ml-dtypes
 , numpy
 , opt-einsum
 , pytestCheckHook
@@ -15,7 +16,6 @@
 , pythonOlder
 , scipy
 , stdenv
-, typing-extensions
 }:
 
 let
@@ -27,30 +27,32 @@ let
 in
 buildPythonPackage rec {
   pname = "jax";
-  version = "0.4.5";
-  format = "setuptools";
+  version = "0.4.14";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     # google/jax contains tags for jax and jaxlib. Only use jax tags!
     rev = "refs/tags/${pname}-v${version}";
-    hash = "sha256-UJzX8zP3qaEUIV5hPJhiGiLJO7k8p962MHWxIHDY1ZA=";
+    hash = "sha256-0KnILQkahSiA1uuyT+kgy1XaCcZ3cpx1q114e2pecvg=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # jaxlib is _not_ included in propagatedBuildInputs because there are
   # different versions of jaxlib depending on the desired target hardware. The
   # JAX project ships separate wheels for CPU, GPU, and TPU.
   propagatedBuildInputs = [
-    absl-py
-    etils
+    ml-dtypes
     numpy
     opt-einsum
     scipy
-    typing-extensions
-  ] ++ etils.optional-dependencies.epath;
+  ] ++ lib.optional (pythonOlder "3.10") importlib-metadata;
 
   nativeCheckInputs = [
     jaxlib'
@@ -96,24 +98,12 @@ buildPythonPackage rec {
     "testScanGrad_jit_scan"
   ];
 
-  # See https://github.com/google/jax/issues/11722. This is a temporary fix in
-  # order to unblock etils, and upgrading jax/jaxlib to the latest version. See
-  # https://github.com/NixOS/nixpkgs/issues/183173#issuecomment-1204074993.
-  disabledTestPaths = [
-    "tests/api_test.py"
-    "tests/core_test.py"
-    "tests/lax_numpy_indexing_test.py"
-    "tests/lax_numpy_test.py"
-    "tests/nn_test.py"
-    "tests/random_test.py"
-    "tests/sparse_test.py"
-  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+  disabledTestPaths = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     # RuntimeWarning: invalid value encountered in cast
     "tests/lax_test.py"
   ];
 
-  # As of 0.3.22, `import jax` does not work without jaxlib being installed.
-  pythonImportsCheck = [ ];
+  pythonImportsCheck = [ "jax" ];
 
   meta = with lib; {
     description = "Differentiate, compile, and transform Numpy code";
diff --git a/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
index b3d3138ab443..c0773878c1d8 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/bin.nix
@@ -18,11 +18,12 @@
 , autoPatchelfHook
 , buildPythonPackage
 , config
-, cudnn ? cudaPackages.cudnn
+, fetchPypi
 , fetchurl
 , flatbuffers
-, isPy39
+, jaxlib-build
 , lib
+, ml-dtypes
 , python
 , scipy
 , stdenv
@@ -35,46 +36,57 @@ let
   inherit (cudaPackages) cudatoolkit cudnn;
 in
 
-assert cudaSupport -> lib.versionAtLeast cudatoolkit.version "11.1";
-assert cudaSupport -> lib.versionAtLeast cudnn.version "8.2";
+assert cudaSupport -> lib.versionAtLeast cudatoolkit.version "11.1" && lib.versionAtLeast cudnn.version "8.2" && stdenv.isLinux;
 
 let
-  version = "0.4.4";
+  version = "0.4.14";
+
+  inherit (python) pythonVersion;
+
+  # As of 2023-06-06, google/jax upstream is no longer publishing CPU-only wheels to their GCS bucket. Instead the
+  # official instructions recommend installing CPU-only versions via PyPI.
+  cpuSrcs =
+    let
+      getSrcFromPypi = { platform, hash }: fetchPypi {
+        inherit version platform hash;
+        pname = "jaxlib";
+        format = "wheel";
+        # See the `disabled` attr comment below.
+        dist = "cp310";
+        python = "cp310";
+        abi = "cp310";
+      };
+    in
+    {
+      "x86_64-linux" = getSrcFromPypi {
+        platform = "manylinux2014_x86_64";
+        hash = "sha256-nyylSZfqHeftlvVgJZFCN1ldjluZVJIYu4ZSsVxvXf8=";
+      };
+      "aarch64-darwin" = getSrcFromPypi {
+        platform = "macosx_11_0_arm64";
+        hash = "sha256-La3wYbGCjWTl7krBD6BaBRqyBD8R530Lckbz0AWv0FM=";
+      };
+      "x86_64-darwin" = getSrcFromPypi {
+        platform = "macosx_10_14_x86_64";
+        hash = "sha256-hDg5+qisgtgOrdvbjxsUgI73cW6Aah8NLjhPe4kMAsM=";
+      };
+    };
 
-  pythonVersion = python.pythonVersion;
 
   # Find new releases at https://storage.googleapis.com/jax-releases/jax_releases.html.
   # 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.
-  cpuSrcs = {
-    "x86_64-linux" = fetchurl {
-      url = "https://storage.googleapis.com/jax-releases/nocuda/jaxlib-${version}-cp310-cp310-manylinux2014_x86_64.whl";
-      hash = "sha256-4VT909AB+ti5HzQvsaZWNY6MS/GItlVEFH9qeZnUuKQ=";
-    };
-    "aarch64-darwin" = fetchurl {
-      url = "https://storage.googleapis.com/jax-releases/mac/jaxlib-${version}-cp310-cp310-macosx_11_0_arm64.whl";
-      hash = "sha256-wuOmoCeTldslSa0MommQeTe+RYKhUMam1ZXrgSov+8U=";
-    };
-    "x86_64-darwin" = fetchurl {
-      url = "https://storage.googleapis.com/jax-releases/mac/jaxlib-${version}-cp310-cp310-macosx_10_14_x86_64.whl";
-      hash = "sha256-arfiTw8yafJwjRwJhKby2O7y3+4ksh3PjaKW9JgJ1ok=";
-    };
-  };
-
+  # 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.cudnn82-cp310-cp310-manylinux2014_x86_64.whl";
-    hash = "sha256-bJ62DdzuPSV311ZI2R/LJQ3fOkDibtz2+8wDKw31FLk=";
+    url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn86-cp310-cp310-manylinux2014_x86_64.whl";
+    hash = "sha256-CcQ5kjp4XfUX4/RwFY3T5G3kVKAeyoCTXu1Lo4O16Qo=";
   };
+
 in
-buildPythonPackage rec {
+buildPythonPackage {
   pname = "jaxlib";
   inherit version;
   format = "wheel";
 
-  # At the time of writing (2022-10-19), there are releases for <=3.10.
-  # Supporting all of them is a pain, so we focus on 3.10, the current nixpkgs
-  # python version.
   disabled = !(pythonVersion == "3.10");
 
   # See https://discourse.nixos.org/t/ofborg-does-not-respect-meta-platforms/27019/6.
@@ -87,9 +99,10 @@ buildPythonPackage rec {
 
   # Prebuilt wheels are dynamically linked against things that nix can't find.
   # Run `autoPatchelfHook` to automagically fix them.
-  nativeBuildInputs = lib.optionals cudaSupport [ autoPatchelfHook addOpenGLRunpath ];
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ]
+    ++ lib.optionals cudaSupport [ addOpenGLRunpath ];
   # Dynamic link dependencies
-  buildInputs = [ stdenv.cc.cc ];
+  buildInputs = [ stdenv.cc.cc.lib ];
 
   # jaxlib contains shared libraries that open other shared libraries via dlopen
   # and these implicit dependencies are not recognized by ldd or
@@ -113,7 +126,12 @@ buildPythonPackage rec {
     done
   '';
 
-  propagatedBuildInputs = [ absl-py flatbuffers scipy ];
+  propagatedBuildInputs = [
+    absl-py
+    flatbuffers
+    ml-dtypes
+    scipy
+  ];
 
   # Note that cudatoolkit is snecessary since jaxlib looks for "ptxas" in $PATH.
   # See https://github.com/NixOS/nixpkgs/pull/164176#discussion_r828801621 for
@@ -123,7 +141,7 @@ buildPythonPackage rec {
     ln -s ${cudatoolkit}/bin/ptxas $out/bin/ptxas
   '';
 
-  pythonImportsCheck = [ "jaxlib" ];
+  inherit (jaxlib-build) pythonImportsCheck;
 
   meta = with lib; {
     description = "XLA library for JAX";
diff --git a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
index bf93bf1a5a26..7a9e49a6a290 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
@@ -4,7 +4,7 @@
 
   # Build-time dependencies:
 , addOpenGLRunpath
-, bazel_5
+, bazel_6
 , binutils
 , buildBazelPackage
 , buildPythonPackage
@@ -21,11 +21,13 @@
 , setuptools
 , symlinkJoin
 , wheel
+, build
 , which
 
   # Python dependencies:
 , absl-py
 , flatbuffers
+, ml-dtypes
 , numpy
 , scipy
 , six
@@ -35,7 +37,6 @@
 , giflib
 , grpc
 , libjpeg_turbo
-, protobuf
 , python
 , snappy
 , zlib
@@ -53,7 +54,7 @@ let
   inherit (cudaPackages) backendStdenv cudatoolkit cudaFlags cudnn nccl;
 
   pname = "jaxlib";
-  version = "0.4.4";
+  version = "0.4.14";
 
   meta = with lib; {
     description = "JAX is Autograd and XLA, brought together for high-performance machine learning research.";
@@ -99,7 +100,9 @@ let
     # "com_github_googleapis_googleapis"
     # "com_github_googlecloudplatform_google_cloud_cpp"
     "com_github_grpc_grpc"
-    "com_google_protobuf"
+    # ERROR: /build/output/external/bazel_tools/tools/proto/BUILD:25:6: no such target '@com_google_protobuf//:cc_toolchain':
+    # target 'cc_toolchain' not declared in package '' defined by /build/output/external/com_google_protobuf/BUILD.bazel
+    # "com_google_protobuf"
     # Fails with the error: external/org_tensorflow/tensorflow/core/profiler/utils/tf_op_utils.cc:46:49: error: no matching function for call to 're2::RE2::FullMatch(absl::lts_2020_02_25::string_view&, re2::RE2&)'
     # "com_googlesource_code_re2"
     "curl"
@@ -120,7 +123,9 @@ let
     "org_sqlite"
     "pasta"
     "png"
-    "pybind11"
+    # ERROR: /build/output/external/pybind11/BUILD.bazel: no such target '@pybind11//:osx':
+    # target 'osx' not declared in package '' defined by /build/output/external/pybind11/BUILD.bazel
+    # "pybind11"
     "six_archive"
     "snappy"
     "tblib_archive"
@@ -138,14 +143,15 @@ let
   bazel-build = buildBazelPackage rec {
     name = "bazel-build-${pname}-${version}";
 
-    bazel = bazel_5;
+    # See https://github.com/google/jax/blob/main/.bazelversion for the latest.
+    bazel = bazel_6;
 
     src = fetchFromGitHub {
       owner = "google";
       repo = "jax";
       # google/jax contains tags for jax and jaxlib. Only use jaxlib tags!
       rev = "refs/tags/${pname}-v${version}";
-      hash = "sha256-DP68UwS9bg243iWU4MLHN0pwl8LaOcW3Sle1ZjsLOHo=";
+      hash = "sha256-0KnILQkahSiA1uuyT+kgy1XaCcZ3cpx1q114e2pecvg=";
     };
 
     nativeBuildInputs = [
@@ -154,6 +160,7 @@ let
       git
       setuptools
       wheel
+      build
       which
     ] ++ lib.optionals stdenv.isDarwin [
       cctools
@@ -169,7 +176,7 @@ let
       numpy
       openssl
       pkgs.flatbuffers
-      protobuf
+      pkgs.protobuf
       pybind11
       scipy
       six
@@ -188,7 +195,8 @@ let
       rm -f .bazelversion
     '';
 
-    bazelTargets = [ "//build:build_wheel" ];
+    bazelRunTarget = "//jaxlib/tools:build_wheel";
+    runTargetFlags = [ "--output_path=$out" "--cpu=${arch}" ];
 
     removeRulesCC = false;
 
@@ -207,7 +215,11 @@ let
       build --action_env=PYENV_ROOT
       build --python_path="${python}/bin/python"
       build --distinct_host_configuration=false
-      build --define PROTOBUF_INCLUDE_PATH="${protobuf}/include"
+      build --define PROTOBUF_INCLUDE_PATH="${pkgs.protobuf}/include"
+    '' + lib.optionalString (stdenv.targetPlatform.avxSupport && stdenv.targetPlatform.isUnix) ''
+      build --config=avx_posix
+    '' + lib.optionalString mklSupport ''
+      build --config=mkl_open_source_only
     '' + lib.optionalString cudaSupport ''
       build --action_env CUDA_TOOLKIT_PATH="${cudatoolkit_joined}"
       build --action_env CUDNN_INSTALL_PATH="${cudnn}"
@@ -234,7 +246,7 @@ let
     fetchAttrs = {
       TF_SYSTEM_LIBS = lib.concatStringsSep "," tf_system_libs;
       # we have to force @mkl_dnn_v1 since it's not needed on darwin
-      bazelTargets = bazelTargets ++ [ "@mkl_dnn_v1//:mkl_dnn" ];
+      bazelTargets = [ bazelRunTarget "@mkl_dnn_v1//:mkl_dnn" ];
       bazelFlags = bazelFlags ++ [
         "--config=avx_posix"
       ] ++ lib.optionals cudaSupport [
@@ -247,11 +259,12 @@ let
         "--config=mkl_open_source_only"
       ];
 
-      sha256 =
-        if cudaSupport then
-          "sha256-O6bM7Lc8eaFyO4Xzl5/hvBrbPioI+Yeqx9yNC97fvKk="
-        else
-          "sha256-gLMJfJSQIdGGY2Ivx4IgDWg0hc+mxzlqY11CUkSWcjI=";
+      sha256 = (if cudaSupport then {
+        x86_64-linux = "sha256-L+d4umcN8eZQJS7NtbyMhFbbGUVd0a73GOYbZx3bW9Q=";
+      } else {
+        x86_64-linux = "sha256-V1giQbu70RYjbNsqudibiCgvtFNRIJ8XG75QtIzjM4g=";
+        aarch64-linux = "sha256-DRU4aT7kQffhsOllgHtSlIsYOeLF4Sy5o5RR1CaTle0=";
+      }).${stdenv.system} or (throw "jaxlib: unsupported system: ${stdenv.system}");
     };
 
     buildAttrs = {
@@ -261,25 +274,13 @@ let
         "nsync" # fails to build on darwin
       ]);
 
-      bazelFlags = bazelFlags ++ lib.optionals (stdenv.targetPlatform.isx86_64 && stdenv.targetPlatform.isUnix) [
-        "--config=avx_posix"
-      ] ++ lib.optionals cudaSupport [
-        "--config=cuda"
-      ] ++ lib.optionals mklSupport [
-        "--config=mkl_open_source_only"
-      ];
       # Note: we cannot do most of this patching at `patch` phase as the deps are not available yet.
-      # 1) Fix pybind11 include paths.
-      # 2) Link protobuf from nixpkgs (through TF_SYSTEM_LIBS when using gcc) to prevent crashes on
+      # 1) Link protobuf from nixpkgs (through TF_SYSTEM_LIBS when using gcc) to prevent crashes on
       #    loading multiple extensions in the same python program due to duplicate protobuf DBs.
-      # 3) Patch python path in the compiler driver.
-      preBuild = ''
-        for src in ./jaxlib/*.{cc,h} ./jaxlib/cuda/*.{cc,h}; do
-          sed -i 's@include/pybind11@pybind11@g' $src
-        done
-      '' + lib.optionalString cudaSupport ''
+      # 2) Patch python path in the compiler driver.
+      preBuild = lib.optionalString cudaSupport ''
         export NIX_LDFLAGS+=" -L${backendStdenv.nixpkgsCompatibleLibstdcxx}/lib"
-        patchShebangs ../output/external/org_tensorflow/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl
+        patchShebangs ../output/external/xla/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl
       '' + lib.optionalString stdenv.isDarwin ''
         # Framework search paths aren't added by bintools hook
         # https://github.com/NixOS/nixpkgs/pull/41914
@@ -289,16 +290,12 @@ let
         substituteInPlace ../output/external/rules_cc/cc/private/toolchain/unix_cc_configure.bzl \
           --replace "/usr/bin/libtool" "${cctools}/bin/libtool"
       '' + (if stdenv.cc.isGNU then ''
-        sed -i 's@-lprotobuf@-l:libprotobuf.a@' ../output/external/org_tensorflow/third_party/systemlibs/protobuf.BUILD
-        sed -i 's@-lprotoc@-l:libprotoc.a@' ../output/external/org_tensorflow/third_party/systemlibs/protobuf.BUILD
+        sed -i 's@-lprotobuf@-l:libprotobuf.a@' ../output/external/xla/third_party/systemlibs/protobuf.BUILD
+        sed -i 's@-lprotoc@-l:libprotoc.a@' ../output/external/xla/third_party/systemlibs/protobuf.BUILD
       '' else if stdenv.cc.isClang then ''
-        sed -i 's@-lprotobuf@${protobuf}/lib/libprotobuf.a@' ../output/external/org_tensorflow/third_party/systemlibs/protobuf.BUILD
-        sed -i 's@-lprotoc@${protobuf}/lib/libprotoc.a@' ../output/external/org_tensorflow/third_party/systemlibs/protobuf.BUILD
+        sed -i 's@-lprotobuf@${pkgs.protobuf}/lib/libprotobuf.a@' ../output/external/xla/third_party/systemlibs/protobuf.BUILD
+        sed -i 's@-lprotoc@${pkgs.protobuf}/lib/libprotoc.a@' ../output/external/xla/third_party/systemlibs/protobuf.BUILD
       '' else throw "Unsupported stdenv.cc: ${stdenv.cc}");
-
-      installPhase = ''
-        ./bazel-bin/build/build_wheel --output_path=$out --cpu=${arch}
-      '';
     };
 
     inherit meta;
@@ -345,13 +342,19 @@ buildPythonPackage {
     grpc
     jsoncpp
     libjpeg_turbo
+    ml-dtypes
     numpy
     scipy
     six
     snappy
   ];
 
-  pythonImportsCheck = [ "jaxlib" ];
+  pythonImportsCheck = [
+    "jaxlib"
+    # `import jaxlib` loads surprisingly little. These imports are actually bugs that appeared in the 0.4.11 upgrade.
+    "jaxlib.cpu_feature_guard"
+    "jaxlib.xla_client"
+  ];
 
   # Without it there are complaints about libcudart.so.11.0 not being found
   # because RPATH path entries added above are stripped.
diff --git a/nixpkgs/pkgs/development/python-modules/jaxlib/prefetch.sh b/nixpkgs/pkgs/development/python-modules/jaxlib/prefetch.sh
index 31db6530639f..3362e2d0b781 100755
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/prefetch.sh
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/prefetch.sh
@@ -1,7 +1,15 @@
-version="$1"
-nix hash to-sri --type sha256 "$(nix-prefetch-url https://storage.googleapis.com/jax-releases/nocuda/jaxlib-${version}-cp39-none-manylinux2010_x86_64.whl)"
-nix hash to-sri --type sha256 "$(nix-prefetch-url https://storage.googleapis.com/jax-releases/nocuda/jaxlib-${version}-cp310-none-manylinux2010_x86_64.whl)"
-nix hash to-sri --type sha256 "$(nix-prefetch-url https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn805-cp39-none-manylinux2010_x86_64.whl)"
-nix hash to-sri --type sha256 "$(nix-prefetch-url https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn82-cp39-none-manylinux2010_x86_64.whl)"
-nix hash to-sri --type sha256 "$(nix-prefetch-url https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn805-cp310-none-manylinux2010_x86_64.whl)"
-nix hash to-sri --type sha256 "$(nix-prefetch-url https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn82-cp310-none-manylinux2010_x86_64.whl)"
+#!/usr/bin/env bash
+
+prefetch () {
+    expr="(import <nixpkgs> { system = \"$1\"; config.cudaSupport = $2; }).python3.pkgs.jaxlib-bin.src.url"
+    url=$(NIX_PATH=.. nix-instantiate --eval -E "$expr" | jq -r)
+    echo "$url"
+    sha256=$(nix-prefetch-url "$url")
+    nix hash to-sri --type sha256 "$sha256"
+    echo
+}
+
+prefetch "x86_64-linux" "false"
+prefetch "aarch64-darwin" "false"
+prefetch "x86_64-darwin" "false"
+prefetch "x86_64-linux" "true"
diff --git a/nixpkgs/pkgs/development/python-modules/jaxtyping/default.nix b/nixpkgs/pkgs/development/python-modules/jaxtyping/default.nix
new file mode 100644
index 000000000000..7f94da78ba31
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/jaxtyping/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hatchling
+, numpy
+, typeguard
+, typing-extensions
+, cloudpickle
+, equinox
+, jax
+, jaxlib
+, torch
+, pytestCheckHook
+}:
+
+let
+  self = buildPythonPackage rec {
+    pname = "jaxtyping";
+    version = "0.2.21";
+    format = "pyproject";
+
+    src = fetchFromGitHub {
+      owner = "google";
+      repo = "jaxtyping";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-BacfFcrzXeS6LemU7P6oCZJGB/Zzq09kEPuz2rTIyfI=";
+    };
+
+    nativeBuildInputs = [
+      hatchling
+    ];
+
+    propagatedBuildInputs = [
+      numpy
+      typeguard
+      typing-extensions
+    ];
+
+    nativeCheckInputs = [
+      cloudpickle
+      equinox
+      jax
+      jaxlib
+      pytestCheckHook
+      torch
+    ];
+
+    doCheck = false;
+
+    # Enable tests via passthru to avoid cyclic dependency with equinox.
+    passthru.tests = {
+      check = self.overridePythonAttrs { doCheck = true; };
+    };
+
+    pythonImportsCheck = [ "jaxtyping" ];
+
+    meta = with lib; {
+      description = "Type annotations and runtime checking for JAX arrays and PyTrees";
+      homepage = "https://github.com/google/jaxtyping";
+      license = licenses.mit;
+      maintainers = with maintainers; [ GaetanLepage ];
+    };
+  };
+ in self
diff --git a/nixpkgs/pkgs/development/python-modules/jc/default.nix b/nixpkgs/pkgs/development/python-modules/jc/default.nix
index 5fdc44912319..cd6f4060fc96 100644
--- a/nixpkgs/pkgs/development/python-modules/jc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jc/default.nix
@@ -1,6 +1,9 @@
 { lib
+, stdenv
+, buildPackages
 , buildPythonPackage
 , fetchFromGitHub
+, installShellFiles
 , ruamel-yaml
 , xmltodict
 , pygments
@@ -22,6 +25,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = let emulator = stdenv.hostPlatform.emulator buildPackages; in ''
+    installShellCompletion --cmd jc \
+      --bash <(${emulator} $out/bin/jc --bash-comp) \
+      --zsh  <(${emulator} $out/bin/jc --zsh-comp)
+  '';
+
   nativeCheckInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "jc" ];
diff --git a/nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix b/nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix
index f5a646a16f31..eafc2b49e74c 100644
--- a/nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jenkinsapi/default.nix
@@ -1,43 +1,52 @@
-{ lib, stdenv
+{ lib
 , buildPythonPackage
-, pythonAtLeast
 , fetchPypi
+, flit-core
 , mock
-, pytest
+, pbr
 , pytest-mock
+, pytestCheckHook
 , pytz
 , requests
-, requests-kerberos
-, toml
+, six
 }:
 
 buildPythonPackage rec {
   pname = "jenkinsapi";
   version = "0.3.13";
-  format = "setuptools";
-
-  disabled = pythonAtLeast "3.6";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-JGqYpj5h9UoV0WEFyxVIjFZwc030HobHrw1dnAryQLk=";
   };
 
-  propagatedBuildInputs = [ pytz requests ];
-  nativeCheckInputs = [ mock pytest pytest-mock requests-kerberos toml ];
-  # TODO requests-kerberos is broken on darwin, weeding out the broken tests without
-  # access to macOS is not an adventure I am ready to embark on - @rski
-  doCheck = !stdenv.isDarwin;
-  # don't run tests that try to spin up jenkins, and a few more that are mysteriously broken
-  checkPhase = ''
-    py.test jenkinsapi_tests \
-      -k "not systests and not test_plugins and not test_view"
-  '';
+  nativeBuildInputs = [
+    flit-core
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    pytz
+    requests
+    six
+  ];
+
+  nativeCheckInputs = [
+    mock
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  # don't run tests that try to spin up jenkins
+  disabledTests = [ "systests" ];
+
+  pythonImportsCheck = [ "jenkinsapi" ];
 
   meta = with lib; {
     description = "A Python API for accessing resources on a Jenkins continuous-integration server";
     homepage = "https://github.com/salimfadhley/jenkinsapi";
-    maintainers = with maintainers; [ drets ];
+    maintainers = with maintainers; [ drets ] ++ teams.deshaw.members;
     license = licenses.mit;
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/jmp/default.nix b/nixpkgs/pkgs/development/python-modules/jmp/default.nix
index d45c68462372..2435d90accaf 100644
--- a/nixpkgs/pkgs/development/python-modules/jmp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jmp/default.nix
@@ -8,15 +8,13 @@
 
 buildPythonPackage rec {
   pname = "jmp";
-  # As of 2022-01-01, the latest stable version (0.0.2) fails tests with recent JAX versions,
-  # IIUC it's fixed in https://github.com/deepmind/jmp/commit/4969392f618d7733b265677143d8c81e44085867
-  version = "unstable-2021-10-03";
+  version = "0.0.4";
 
   src = fetchFromGitHub {
     owner = "deepmind";
     repo = pname;
-    rev = "260e5ba01f46b10c579a61393e6c7e546aeae93e";
-    hash = "sha256-BTHy/jNf6LeV+x3GTI9MDBWLK6A5z2Z1TQyBkHMTeuE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-+PefZU1209vvf1SfF8DXiTvKYEnZ4y8iiIr8yKikx9Y=";
   };
 
   # Wheel requires only `numpy`, but the import needs `jax`.
diff --git a/nixpkgs/pkgs/development/python-modules/joblib/default.nix b/nixpkgs/pkgs/development/python-modules/joblib/default.nix
index 7317ee8fc144..84e693bb7223 100644
--- a/nixpkgs/pkgs/development/python-modules/joblib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/joblib/default.nix
@@ -1,32 +1,53 @@
 { lib
-, pythonAtLeast
-, pythonOlder
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , stdenv
-, numpydoc
-, pytestCheckHook
-, lz4
+
+# build-system
 , setuptools
-, sphinx
+
+# propagates (optional, but unspecified)
+# https://github.com/joblib/joblib#dependencies
+, lz4
 , psutil
+
+# tests
+, pytestCheckHook
+, threadpoolctl
 }:
 
 
 buildPythonPackage rec {
   pname = "joblib";
-  version = "1.2.0";
+  version = "1.3.1";
+  format = "pyproject";
+
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4c7kp55K8iiBFk8hjUMR9gB0GX+3B+CC6AO2H20TcBg=";
+    hash = "sha256-H5N5Bt9lMpupgBPclpL+IqTF5KZIES3lAFCLGKIbQeM=";
   };
 
-  nativeCheckInputs = [ sphinx numpydoc pytestCheckHook psutil ];
-  propagatedBuildInputs = [ lz4 setuptools ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    lz4
+    psutil
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    threadpoolctl
+  ];
+
+  pytestFlagsArray = [
+    "joblib/test"
+  ];
 
-  pytestFlagsArray = [ "joblib/test" ];
   disabledTests = [
     "test_disk_used" # test_disk_used is broken: https://github.com/joblib/joblib/issues/57
     "test_parallel_call_cached_function_defined_in_jupyter" # jupyter not available during tests
@@ -36,6 +57,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/joblib/joblib/releases/tag/${version}";
     description = "Lightweight pipelining: using Python functions as pipeline jobs";
     homepage = "https://joblib.readthedocs.io/";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/josepy/default.nix b/nixpkgs/pkgs/development/python-modules/josepy/default.nix
index 76004df63bc8..f8a76641f537 100644
--- a/nixpkgs/pkgs/development/python-modules/josepy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/josepy/default.nix
@@ -1,11 +1,11 @@
 { lib
 , buildPythonPackage
 , cryptography
+, fetchpatch
 , fetchPypi
 , pyopenssl
 , pytestCheckHook
 , pythonOlder
-, setuptools
 }:
 
 buildPythonPackage rec {
@@ -20,10 +20,19 @@ buildPythonPackage rec {
     hash = "sha256-iTHa84+KTIUnSg6LfLJa3f2NHyj5+4++0FPdUa7HXck=";
   };
 
+  patches = [
+    # https://github.com/certbot/josepy/pull/158
+    (fetchpatch {
+      name = "fix-setuptools-deprecation.patch";
+      url = "https://github.com/certbot/josepy/commit/8f1b4b57a29a868a87fd6eee19a67a7ebfc07ea1.patch";
+      hash = "sha256-9d+Bk/G4CJXpnjJU0YkXLsg0G3tPxR8YN2niqriQQkI=";
+      includes = [ "tests/test_util.py" ];
+    })
+  ];
+
   propagatedBuildInputs = [
     pyopenssl
     cryptography
-    setuptools
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jq/default.nix b/nixpkgs/pkgs/development/python-modules/jq/default.nix
index 3e7c7f954e5e..335b6e92781d 100644
--- a/nixpkgs/pkgs/development/python-modules/jq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jq/default.nix
@@ -1,14 +1,24 @@
-{ lib, buildPythonPackage, fetchFromGitHub, cython, jq, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, cython
+, fetchFromGitHub
+, jq
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "jq";
-  version = "1.3.0";
+  version = "1.4.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mwilliamson";
     repo = "jq.py";
-    rev = version;
-    hash = "sha256-1EQm5ShjFHbO1IO5QD42fsGHFGDBrJulLrcl+WeU7wo=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-prH3yUFh3swXGsxnoax09aYAXaiu8o2M21ZbOp9HDJY=";
   };
 
   patches = [
@@ -16,9 +26,13 @@ buildPythonPackage rec {
     ./jq-py-setup.patch
   ];
 
-  nativeBuildInputs = [ cython ];
+  nativeBuildInputs = [
+    cython
+  ];
 
-  buildInputs = [ jq ];
+  buildInputs = [
+    jq
+  ];
 
   preBuild = ''
     cython jq.pyx
@@ -28,12 +42,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "jq" ];
+  pythonImportsCheck = [
+    "jq"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Python bindings for jq, the flexible JSON processor";
     homepage = "https://github.com/mwilliamson/jq.py";
-    license = lib.licenses.bsd2;
-    maintainers = with lib.maintainers; [ benley ];
+    changelog = "https://github.com/mwilliamson/jq.py/blob/${version}/CHANGELOG.rst";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ benley ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/json-stream-rs-tokenizer/Cargo.lock b/nixpkgs/pkgs/development/python-modules/json-stream-rs-tokenizer/Cargo.lock
index 7c6a60e6894b..d9d8b858c717 100644
--- a/nixpkgs/pkgs/development/python-modules/json-stream-rs-tokenizer/Cargo.lock
+++ b/nixpkgs/pkgs/development/python-modules/json-stream-rs-tokenizer/Cargo.lock
@@ -3,6 +3,15 @@
 version = 3
 
 [[package]]
+name = "aho-corasick"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
 name = "arrayvec"
 version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -21,64 +30,143 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
-name = "bytecount"
-version = "0.6.3"
+name = "castaway"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc"
+dependencies = [
+ "rustversion",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2c676a478f63e9fa2dd5368a42f28bba0d6c560b775f38583c8bbaa7fcd67c9c"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
-name = "camino"
-version = "1.1.2"
+name = "compact_str"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c77df041dc383319cc661b428b6961a005db4d6808d5e12536931b1ca9556055"
+checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f"
 dependencies = [
- "serde",
+ "castaway",
+ "cfg-if",
+ "itoa",
+ "ryu",
+ "static_assertions",
 ]
 
 [[package]]
-name = "cargo-platform"
-version = "0.1.2"
+name = "delegate-attr"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27"
+checksum = "ee7e7ea0dba407429d816e8e38dda1a467cd74737722f2ccc8eae60429a1a3ab"
 dependencies = [
- "serde",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.105",
 ]
 
 [[package]]
-name = "cargo_metadata"
-version = "0.14.2"
+name = "duplex"
+version = "0.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa"
+checksum = "d43b5f852c3b23bc9450d2389c125a44f44ba88ba7c37c62e99a1a05c03ed06c"
+
+[[package]]
+name = "futures"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
 dependencies = [
- "camino",
- "cargo-platform",
- "semver",
- "serde",
- "serde_json",
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
 ]
 
 [[package]]
-name = "cfg-if"
-version = "1.0.0"
+name = "futures-channel"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
 
 [[package]]
-name = "error-chain"
-version = "0.12.4"
+name = "futures-core"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc"
+checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
 dependencies = [
- "version_check",
+ "futures-core",
+ "futures-task",
+ "futures-util",
 ]
 
 [[package]]
-name = "fastrand"
-version = "1.8.0"
+name = "futures-io"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.28"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.25",
+]
+
+[[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-timer"
+version = "3.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c"
+
+[[package]]
+name = "futures-util"
+version = "0.3.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
+checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
 dependencies = [
- "instant",
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite",
+ "pin-utils",
+ "slab",
 ]
 
 [[package]]
@@ -89,42 +177,54 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
 
 [[package]]
 name = "indoc"
-version = "1.0.8"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2d6f23ffea9d7e76c53eee25dfb67bcd8fde7f1198b0855350698c9f07c780"
+checksum = "adab1eaa3408fb7f0c777a73e7465fd5656136fc93b670eb6df3c88c2c1344e3"
 
 [[package]]
-name = "instant"
-version = "0.1.12"
+name = "io-extras"
+version = "0.17.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+checksum = "fde93d48f0d9277f977a333eca8313695ddd5301dc96f7e02aeddcb0dd99096f"
 dependencies = [
- "cfg-if",
+ "io-lifetimes",
+ "windows-sys 0.48.0",
 ]
 
 [[package]]
+name = "io-lifetimes"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7d6c6f8c91b4b9ed43484ad1a938e393caf35960fce7f82a040497207bd8e9e"
+
+[[package]]
 name = "itoa"
-version = "1.0.5"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
 
 [[package]]
 name = "json-stream-rs-tokenizer"
 version = "0.1.0"
 dependencies = [
+ "compact_str",
  "num-bigint",
+ "owned_chars",
  "pyo3",
- "pyo3-build-config 0.17.3",
- "pyo3-file",
+ "pyo3-build-config",
+ "rstest",
  "thiserror",
  "utf8-chars",
+ "utf8-io",
+ "utf8-read",
+ "utf8-width",
 ]
 
 [[package]]
 name = "libc"
-version = "0.2.139"
+version = "0.2.138"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
 
 [[package]]
 name = "lock_api"
@@ -174,9 +274,18 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.17.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
+checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+[[package]]
+name = "owned_chars"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09dbaf3100ac7057d6d4e885bb1cd85716f95b5690ac443b31fbf5aac206dc3b"
+dependencies = [
+ "delegate-attr",
+]
 
 [[package]]
 name = "parking_lot"
@@ -198,27 +307,28 @@ dependencies = [
  "libc",
  "redox_syscall",
  "smallvec",
- "windows-sys",
+ "windows-sys 0.42.0",
 ]
 
 [[package]]
-name = "proc-macro2"
-version = "1.0.49"
+name = "pin-project-lite"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
-dependencies = [
- "unicode-ident",
-]
+checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
 
 [[package]]
-name = "pulldown-cmark"
-version = "0.9.2"
+name = "pin-utils"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da"
 dependencies = [
- "bitflags",
- "memchr",
- "unicase",
+ "unicode-ident",
 ]
 
 [[package]]
@@ -232,7 +342,7 @@ dependencies = [
  "libc",
  "num-bigint",
  "parking_lot",
- "pyo3-build-config 0.16.6",
+ "pyo3-build-config",
  "pyo3-ffi",
  "pyo3-macros",
  "unindent",
@@ -249,32 +359,13 @@ dependencies = [
 ]
 
 [[package]]
-name = "pyo3-build-config"
-version = "0.17.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28fcd1e73f06ec85bf3280c48c67e731d8290ad3d730f8be9dc07946923005c8"
-dependencies = [
- "once_cell",
- "target-lexicon",
-]
-
-[[package]]
 name = "pyo3-ffi"
 version = "0.16.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ca882703ab55f54702d7bfe1189b41b0af10272389f04cae38fe4cd56c65f75f"
 dependencies = [
  "libc",
- "pyo3-build-config 0.16.6",
-]
-
-[[package]]
-name = "pyo3-file"
-version = "0.5.0"
-source = "git+https://github.com/smheidrich/pyo3-file.git?branch=divide-buf-length-by-4-to-fix-textio-bug-forjsonstream#c29bf591842e3487e8b00890b91e0d4841103138"
-dependencies = [
- "pyo3",
- "skeptic",
+ "pyo3-build-config",
 ]
 
 [[package]]
@@ -286,7 +377,7 @@ dependencies = [
  "proc-macro2",
  "pyo3-macros-backend",
  "quote",
- "syn",
+ "syn 1.0.105",
 ]
 
 [[package]]
@@ -297,14 +388,14 @@ checksum = "611f64e82d98f447787e82b8e7b0ebc681e1eb78fc1252668b2c605ffb4e1eb8"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
+ "syn 1.0.105",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.23"
+version = "1.0.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
+checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105"
 dependencies = [
  "proc-macro2",
 ]
@@ -319,88 +410,109 @@ dependencies = [
 ]
 
 [[package]]
-name = "remove_dir_all"
-version = "0.5.3"
+name = "regex"
+version = "1.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
 dependencies = [
- "winapi",
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
 ]
 
 [[package]]
-name = "ryu"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
-
-[[package]]
-name = "same-file"
-version = "1.0.6"
+name = "regex-automata"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
 dependencies = [
- "winapi-util",
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
 ]
 
 [[package]]
-name = "scopeguard"
-version = "1.1.0"
+name = "regex-syntax"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
 
 [[package]]
-name = "semver"
-version = "1.0.16"
+name = "relative-path"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
-dependencies = [
- "serde",
-]
+checksum = "4bf2521270932c3c7bed1a59151222bd7643c79310f2916f01925e1e16255698"
 
 [[package]]
-name = "serde"
-version = "1.0.152"
+name = "rstest"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+checksum = "2b96577ca10cb3eade7b337eb46520108a67ca2818a24d0b63f41fd62bc9651c"
 dependencies = [
- "serde_derive",
+ "futures",
+ "futures-timer",
+ "rstest_macros",
+ "rustc_version",
 ]
 
 [[package]]
-name = "serde_derive"
-version = "1.0.152"
+name = "rstest_macros"
+version = "0.18.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
+checksum = "225e674cf31712b8bb15fdbca3ec0c1b9d825c5a24407ff2b7e005fb6a29ba03"
 dependencies = [
+ "cfg-if",
+ "glob",
  "proc-macro2",
  "quote",
- "syn",
+ "regex",
+ "relative-path",
+ "rustc_version",
+ "syn 2.0.25",
+ "unicode-ident",
 ]
 
 [[package]]
-name = "serde_json"
-version = "1.0.91"
+name = "rustc_version"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "itoa",
- "ryu",
- "serde",
+ "semver",
 ]
 
 [[package]]
-name = "skeptic"
-version = "0.13.7"
+name = "rustversion"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+
+[[package]]
+name = "ryu"
+version = "1.0.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "semver"
+version = "1.0.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+
+[[package]]
+name = "slab"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16d23b015676c90a0f01c197bfdc786c20342c73a0afdda9025adb0bc42940a8"
+checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
 dependencies = [
- "bytecount",
- "cargo_metadata",
- "error-chain",
- "glob",
- "pulldown-cmark",
- "tempfile",
- "walkdir",
+ "autocfg",
 ]
 
 [[package]]
@@ -410,10 +522,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
 
 [[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
 name = "syn"
-version = "1.0.107"
+version = "1.0.105"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -421,65 +539,53 @@ dependencies = [
 ]
 
 [[package]]
-name = "target-lexicon"
-version = "0.12.5"
+name = "syn"
+version = "2.0.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d"
+checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
 
 [[package]]
-name = "tempfile"
-version = "3.3.0"
+name = "target-lexicon"
+version = "0.12.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
-dependencies = [
- "cfg-if",
- "fastrand",
- "libc",
- "redox_syscall",
- "remove_dir_all",
- "winapi",
-]
+checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d"
 
 [[package]]
 name = "thiserror"
-version = "1.0.38"
+version = "1.0.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
+checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.38"
+version = "1.0.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
+checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn",
-]
-
-[[package]]
-name = "unicase"
-version = "2.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
-dependencies = [
- "version_check",
+ "syn 1.0.105",
 ]
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.6"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
 
 [[package]]
 name = "unindent"
-version = "0.1.11"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+checksum = "58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112"
 
 [[package]]
 name = "utf8-chars"
@@ -491,66 +597,64 @@ dependencies = [
 ]
 
 [[package]]
-name = "version_check"
-version = "0.9.4"
+name = "utf8-io"
+version = "0.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "walkdir"
-version = "2.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
+checksum = "828cc5cc2a9a4ac22b1b2fd0b359ad648dac746a39a338974500de330d70f000"
 dependencies = [
- "same-file",
- "winapi",
- "winapi-util",
+ "duplex",
+ "io-extras",
+ "io-lifetimes",
 ]
 
 [[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
+name = "utf8-read"
+version = "0.4.0"
+source = "git+https://github.com/smheidrich/utf8-read-rs.git?branch=configurable-chunk-size#0690310179a4fad9304101c1a431f19cfb809bbe"
 
 [[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
+name = "utf8-width"
+version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+checksum = "5190c9442dcdaf0ddd50f37420417d219ae5261bbf5db120d0f9bab996c9cba1"
 
 [[package]]
-name = "winapi-util"
-version = "0.1.5"
+name = "windows-sys"
+version = "0.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
 dependencies = [
- "winapi",
+ "windows_aarch64_gnullvm 0.42.0",
+ "windows_aarch64_msvc 0.42.0",
+ "windows_i686_gnu 0.42.0",
+ "windows_i686_msvc 0.42.0",
+ "windows_x86_64_gnu 0.42.0",
+ "windows_x86_64_gnullvm 0.42.0",
+ "windows_x86_64_msvc 0.42.0",
 ]
 
 [[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
+name = "windows-sys"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets",
+]
 
 [[package]]
-name = "windows-sys"
-version = "0.42.0"
+name = "windows-targets"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
 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",
+ "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",
 ]
 
 [[package]]
@@ -560,37 +664,79 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
 
 [[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.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
 
 [[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.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
 
 [[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.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
 
 [[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.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
 
 [[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.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
 
 [[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.42.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
+
+[[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/json-stream-rs-tokenizer/default.nix b/nixpkgs/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
index 299a526dfdd7..6800635c0b2f 100644
--- a/nixpkgs/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/json-stream-rs-tokenizer/default.nix
@@ -1,43 +1,44 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchFromGitHub
-, rustPlatform
 , cargo
 , darwin
+, fetchFromGitHub
+, json-stream
+, json-stream-rs-tokenizer
 , rustc
+, rustPlatform
+, setuptools
 , setuptools-rust
-, json-stream-rs-tokenizer
-, json-stream
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "json-stream-rs-tokenizer";
-  version = "0.4.16";
+  version = "0.4.22";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "smheidrich";
     repo = "py-json-stream-rs-tokenizer";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MnYkCAI8x65kU0EoTRf4ZVsbjNravjokepX4yViu7go=";
+    hash = "sha256-EW726gUXTBX3gTxlFQ45RgkUa2Z4tIjUZxO4GBLXgEs=";
   };
 
-  postPatch = ''
-    cp ${./Cargo.lock} ./Cargo.lock
-  '';
-
-  cargoDeps = rustPlatform.fetchCargoTarball {
-    inherit src postPatch;
-    name = "${pname}-${version}";
-    hash = "sha256-HwWH8/UWKWOdRmyCVQtNqJxXD55f6zxLY0LhR7JU9ro=";
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "utf8-read-0.4.0" = "sha256-L/NcgbB+2Rwtc+1e39fQh1D9S4RqQY6CCFOTh8CI8Ts=";
+    };
   };
 
   nativeBuildInputs = [
-    setuptools-rust
-    rustPlatform.cargoSetupHook
     cargo
+    rustPlatform.cargoSetupHook
     rustc
+    setuptools
+    setuptools-rust
+    wheel
   ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/python-modules/json-stream/default.nix b/nixpkgs/pkgs/development/python-modules/json-stream/default.nix
index 7e12bf6238fe..ba191bdcd2e8 100644
--- a/nixpkgs/pkgs/development/python-modules/json-stream/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/json-stream/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "json-stream";
-  version = "2.3.0";
+  version = "2.3.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MwDpX3ISJxo0Am3t/uuUC8GTyZFuUFGt1g7BeTY1z/0=";
+    hash = "sha256-uLRQ6o6OPCOenn440S/tk053o1PBSyl/juNFpc6yW5E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/json-tricks/default.nix b/nixpkgs/pkgs/development/python-modules/json-tricks/default.nix
index 65ed7e7220fe..f6f0ddf77cba 100644
--- a/nixpkgs/pkgs/development/python-modules/json-tricks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/json-tricks/default.nix
@@ -10,19 +10,28 @@
 
 buildPythonPackage rec {
   pname = "json-tricks";
-  version = "3.15.5";
-  disabled = pythonOlder "3.5";
+  version = "3.17.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mverleg";
     repo = "pyjson_tricks";
-    rev = "v${version}";
-    sha256 = "wdpqCqMO0EzKyqE4ishL3CTsSw3sZPGvJ0HEktKFgZU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-7AT4h+f3FDTITfVZyLTimZlDGuAxKwe0kFYBEFGv51s=";
   };
 
-  nativeCheckInputs = [ numpy pandas pytz pytestCheckHook ];
+  nativeCheckInputs = [
+    numpy
+    pandas
+    pytz
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "json_tricks" ];
+  pythonImportsCheck = [
+    "json_tricks"
+  ];
 
   meta = with lib; {
     description = "Extra features for Python JSON handling";
diff --git a/nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix b/nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix
index 0f117cb0d5e1..bdae44eb2d42 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonpatch/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "jsonpatch";
-  version = "1.32";
+  version = "1.33";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "stefankoegl";
     repo = "python-json-patch";
-    rev = "v${version}";
-    hash = "sha256-JMGBgYjnjHQ5JpzDwJcR2nVZfzmQ8ZZtcB0GsJ9Q4Jc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-JHBB64LExzHQVoFF2xcsqGlNWX/YeEBa1M/TmfeQLWI=";
   };
 
   propagatedBuildInputs = [
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library to apply JSON Patches according to RFC 6902";
     homepage = "https://github.com/stefankoegl/python-json-patch";
-    license = licenses.bsd2; # "Modified BSD license, says pypi"
+    license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix b/nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix
index 2d7d82fd6e46..3353e5ec4380 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonschema-spec/default.nix
@@ -2,29 +2,40 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+
+# build
 , poetry-core
-, jsonschema
+
+# propagates
 , pathable
 , pyyaml
-, typing-extensions
+, referencing
+, requests
+
+# tests
 , pytestCheckHook
+, responses
 }:
 
 buildPythonPackage rec {
   pname = "jsonschema-spec";
-  version = "0.1.4";
+  version = "0.2.3";
   format = "pyproject";
-  disabled = pythonOlder "3.7";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "p1c2u";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-kLCV9WPWGrVgpbueafMVqtGmj3ifrBzTChE2kyxpyZk=";
+    hash = "sha256-Sa97DwPnGMLmT00hVdkoGO7C0vrvtwxvUvv9lq4nCY4=";
   };
 
   postPatch = ''
-    sed -i "/--cov/d" pyproject.toml
+    sed -i "/^--cov/d" pyproject.toml
+
+    substituteInPlace pyproject.toml \
+      --replace 'referencing = ">=0.28.0,<0.30.0"' 'referencing = ">=0.28.0"'
   '';
 
   nativeBuildInputs = [
@@ -32,14 +43,15 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    jsonschema
     pathable
     pyyaml
-    typing-extensions
+    referencing
+    requests
   ];
 
   nativeCheckInputs = [
     pytestCheckHook
+    responses
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/jsonschema-specifications/default.nix b/nixpkgs/pkgs/development/python-modules/jsonschema-specifications/default.nix
new file mode 100644
index 000000000000..54b8d6df6ea1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/jsonschema-specifications/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, hatch-vcs
+, hatchling
+, importlib-resources
+, pytestCheckHook
+, pythonOlder
+, referencing
+}:
+
+buildPythonPackage rec {
+  pname = "jsonschema-specifications";
+  version = "2023.7.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    pname = "jsonschema_specifications";
+    inherit version;
+    hash = "sha256-yRpQQE6Iofa6QGNneOLuCPbiTFYT/kxTrCRXilp/crs=";
+  };
+
+  nativeBuildInputs = [
+    hatch-vcs
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    referencing
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "jsonschema_specifications"
+  ];
+
+  meta = with lib; {
+    description = "Support files exposing JSON from the JSON Schema specifications";
+    homepage = "https://github.com/python-jsonschema/jsonschema-specifications";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix b/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
index 52bc89511d23..a23e3a5b931c 100644
--- a/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jsonschema/default.nix
@@ -5,13 +5,13 @@
 , hatch-fancy-pypi-readme
 , hatch-vcs
 , hatchling
-, importlib-metadata
 , importlib-resources
+, jsonschema-specifications
 , pkgutil-resolve-name
-, pyrsistent
+, pytestCheckHook
 , pythonOlder
-, twisted
-, typing-extensions
+, referencing
+, rpds-py
 
 # optionals
 , fqdn
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "jsonschema";
-  version = "4.17.3";
+  version = "4.18.4";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-D4ZEN6uLYHa6ZwdFPvj5imoNUSqA6T+KvbZ29zfstg0=";
+    hash = "sha256-+zZCc1OZ+pWMDSqtcFeQFVRZbGM0n09rKDxJPPaSol0=";
   };
 
   postPatch = ''
@@ -49,10 +49,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     attrs
-    pyrsistent
-  ] ++ lib.optionals (pythonOlder "3.8") [
-    importlib-metadata
-    typing-extensions
+    jsonschema-specifications
+    referencing
+    rpds-py
   ] ++ lib.optionals (pythonOlder "3.9") [
     importlib-resources
     pkgutil-resolve-name
@@ -82,20 +81,15 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
-    twisted
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    export JSON_SCHEMA_TEST_SUITE=json
-    trial jsonschema
-  '';
-
   pythonImportsCheck = [
     "jsonschema"
   ];
 
   meta = with lib; {
-    description = "An implementation of JSON Schema validation for Python";
+    description = "An implementation of JSON Schema validation";
     homepage = "https://github.com/python-jsonschema/jsonschema";
     license = licenses.mit;
     maintainers = with maintainers; [ domenkozar ];
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-server-ydoc/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix
index a60f74aefbdd..17ec03145137 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-server-ydoc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-collaboration/default.nix
@@ -1,29 +1,33 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchFromGitHub
+, fetchPypi
+, hatch-jupyter-builder
+, hatch-nodejs-version
 , hatchling
 , pythonRelaxDepsHook
+, jupyter-events
+, jupyter-server
 , jupyter-server-fileid
 , jupyter-ydoc
 , ypy-websocket
+, pytest-asyncio
 , pytest-jupyter
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  pname = "jupyter-server-ydoc";
-  version = "0.8.0";
+  pname = "jupyter-collaboration";
+  version = "1.0.1";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   format = "pyproject";
 
-  src = fetchFromGitHub {
-    owner = "jupyterlab";
-    repo = "jupyter_collaboration";
-    rev = "refs/tags/v${version}";
-    hash = "sha256-KLb7kU5jsj6ihGO6HU3Y7uF+0PcwKoQlqQAhtO0oaJw=";
+  src = fetchPypi {
+    pname = "jupyter_collaboration";
+    inherit version;
+    hash = "sha256-cf7BpF6WSoHQJQW0IXdpCAGTdkX9RNWZ4JovTHvcPho=";
   };
 
   postPatch = ''
@@ -31,6 +35,8 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
+    hatch-jupyter-builder
+    hatch-nodejs-version
     hatchling
     pythonRelaxDepsHook
   ];
@@ -40,27 +46,34 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    jupyter-events
+    jupyter-server
     jupyter-server-fileid
     jupyter-ydoc
     ypy-websocket
   ];
 
-  pythonImportsCheck = [ "jupyter_server_ydoc" ];
+  pythonImportsCheck = [ "jupyter_collaboration" ];
 
   nativeCheckInputs = [
+    pytest-asyncio
     pytest-jupyter
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    "-W" "ignore::DeprecationWarning"
+  ];
+
   preCheck = ''
     export HOME=$TEMP
   '';
 
   meta = {
-    changelog = "https://github.com/jupyterlab/jupyter_collaboration/blob/${src.rev}/CHANGELOG.md";
-    description = "A Jupyter Server Extension Providing Y Documents";
+    changelog = "https://github.com/jupyterlab/jupyter_collaboration/blob/v${version}/CHANGELOG.md";
+    description = "JupyterLab Extension enabling Real-Time Collaboration";
     homepage = "https://github.com/jupyterlab/jupyter_collaboration";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ dotlambda ];
+    maintainers = lib.teams.jupyter.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-contrib-core/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-contrib-core/default.nix
index 0f9c573e3007..a81c35497430 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-contrib-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-contrib-core/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , jupyter-core
 , notebook
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -21,6 +22,13 @@ buildPythonPackage rec {
     notebook
   ];
 
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  disabledTestPaths = [
+    # This test fails upstream too
+    "tests/test_application.py"
+  ];
+
   pythonImportsCheck = [ "jupyter_contrib_core" ];
 
   meta = with lib; {
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 f95493513e67..73ba031e3992 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-contrib-nbextensions/default.nix
@@ -1,10 +1,14 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, ipython_genutils
 , jupyter-contrib-core
 , jupyter-highlight-selected-word
 , jupyter-nbextensions-configurator
 , lxml
+, nose
+, pytestCheckHook
+, notebook
 }:
 
 buildPythonPackage rec {
@@ -19,12 +23,27 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
+    ipython_genutils
     jupyter-contrib-core
     jupyter-highlight-selected-word
     jupyter-nbextensions-configurator
     lxml
   ];
 
+  nativeCheckInputs = [
+    nose
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Thoses tests fail upstream because of nbconvert being too recent
+    # https://github.com/ipython-contrib/jupyter_contrib_nbextensions/issues/1606
+    "tests/test_exporters.py"
+
+    # Requires to run jupyter which is not feasible here
+    "tests/test_application.py"
+  ];
+
   pythonImportsCheck = [ "jupyter_contrib_nbextensions" ];
 
   meta = with lib; {
@@ -32,5 +51,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/ipython-contrib/jupyter_contrib_nbextensions";
     license = licenses.bsd3;
     maintainers = with maintainers; [ GaetanLepage ];
+    # https://github.com/ipython-contrib/jupyter_contrib_nbextensions/issues/1647
+    broken = versionAtLeast notebook.version "7";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix
index a069ecf948f5..64cbe33ae8ba 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-highlight-selected-word/default.nix
@@ -14,6 +14,9 @@ buildPythonPackage rec {
     hash = "sha256-KgM//SIfES46uZySwNR4ZOcolnJORltvThsmEvxXoIs=";
   };
 
+  # This package does not have tests
+  doChecks = false;
+
   pythonImportsCheck = [ "jupyter_highlight_selected_word" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix
index ef0ff175268f..61c235877f4a 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-nbextensions-configurator/default.nix
@@ -1,7 +1,16 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , jupyter-contrib-core
+, jupyter-core
+, jupyter-server
+, notebook
+, pyyaml
+, tornado
+, nose
+, pytestCheckHook
+, selenium
 }:
 
 buildPythonPackage rec {
@@ -15,7 +24,36 @@ buildPythonPackage rec {
     hash = "sha256-ovKYHATRAC5a5qTMv32ohU2gJd15/fRKXa5HI0zGp/0=";
   };
 
-  propagatedBuildInputs = [ jupyter-contrib-core ];
+  patches = [
+    # https://github.com/Jupyter-contrib/jupyter_nbextensions_configurator/pull/166
+    (fetchpatch {
+      name = "notebook-v7-compat.patch";
+      url = "https://github.com/Jupyter-contrib/jupyter_nbextensions_configurator/commit/a600cef9222ca0c61a6912eb29d8fa0323409705.patch";
+      hash = "sha256-Rt9r5ZOgnhBcs18+ET5+k0/t980I2DiVN8oHkGLp0iw=";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    jupyter-contrib-core
+    jupyter-core
+    jupyter-server
+    notebook
+    pyyaml
+    tornado
+  ];
+
+  nativeCheckInputs = [
+    nose
+    pytestCheckHook
+    selenium
+  ];
+
+  # Those tests fails upstream
+  disabledTestPaths = [
+    "tests/test_application.py"
+    "tests/test_jupyterhub.py"
+    "tests/test_nbextensions_configurator.py"
+  ];
 
   pythonImportsCheck = [ "jupyter_nbextensions_configurator" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix
index 24ad566b2a2c..38dd7927d1eb 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-packaging/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , deprecation
 , hatchling
 , pythonOlder
@@ -23,6 +24,14 @@ buildPythonPackage rec {
     hash = "sha256-nZsrY7l//WeovFORwypCG8QVsmSjLJnk2NjdMdqunPQ=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "setuptools-68-test-compatibility.patch";
+      url = "https://github.com/jupyter/jupyter-packaging/commit/e963fb27aa3b58cd70c5ca61ebe68c222d803b7e.patch";
+      hash = "sha256-NlO07wBCutAJ1DgoT+rQFkuC9Y+DyF1YFlTwWpwsJzo=";
+    })
+  ];
+
   nativeBuildInputs = [
     hatchling
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix
index 317b42d8a17c..b8a9a97e230a 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-server/default.nix
@@ -23,24 +23,27 @@
 , jupyter-server-terminals
 , nbformat
 , nbconvert
+, packaging
 , send2trash
 , terminado
 , prometheus-client
 , anyio
 , websocket-client
+, overrides
 , requests
+, flaky
 }:
 
 buildPythonPackage rec {
   pname = "jupyter-server";
-  version = "2.0.6";
+  version = "2.7.0";
   format = "pyproject";
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "jupyter_server";
     inherit version;
-    hash= "sha256-jddZkukLfKVWeUoe1cylEmPGl6vG0N9WGvV0qhwKAz8=";
+    hash = "sha256-NtoKJm0xpBrDNaNmyIkzwX36W7gXpI9cAsFtMDvJR38=";
   };
 
   nativeBuildInputs = [
@@ -60,22 +63,27 @@ buildPythonPackage rec {
     jupyter-server-terminals
     nbformat
     nbconvert
+    packaging
     send2trash
     terminado
     prometheus-client
     anyio
     websocket-client
+    overrides
   ];
 
   nativeCheckInputs = [
     ipykernel
-    pandoc
     pytestCheckHook
     pytest-console-scripts
     pytest-jupyter
     pytest-timeout
-    pytest-tornasync
     requests
+    flaky
+  ];
+
+  pytestFlagsArray = [
+    "-W" "ignore::DeprecationWarning"
   ];
 
   preCheck = ''
@@ -84,12 +92,18 @@ buildPythonPackage rec {
   '';
 
   disabledTests = [
+    "test_server_extension_list"
     "test_cull_idle"
+    "test_server_extension_list"
   ] ++ lib.optionals stdenv.isDarwin [
     # attempts to use trashcan, build env doesn't allow this
     "test_delete"
     # test is presumable broken in sandbox
     "test_authorized_requests"
+    # Insufficient access privileges for operation
+    "test_regression_is_hidden"
+  ] ++ lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
+    "test_copy_big_dir"
   ];
 
   disabledTestPaths = [
@@ -103,9 +117,10 @@ buildPythonPackage rec {
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
+    changelog = "https://github.com/jupyter-server/jupyter_server/blob/v${version}/CHANGELOG.md";
     description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications";
     homepage = "https://github.com/jupyter-server/jupyter_server";
     license = licenses.bsdOriginal;
-    maintainers = [ maintainers.elohmeier ];
+    maintainers = lib.teams.jupyter.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-ydoc/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-ydoc/default.nix
index d2643155bff8..e3294150bf62 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 = "0.3.4";
+  version = "1.0.2";
 
   format = "pyproject";
 
   src = fetchPypi {
     pname = "jupyter_ydoc";
     inherit version;
-    hash = "sha256-WiJi5wvwBLgsxs5xZ16TMKoFj+MNsuh82BJa1N0a5OE=";
+    hash = "sha256-D5W+3j8eCB4H1cV8A8ZY46Ukfg7xiIkHT776IN0+ylM=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,6 @@ buildPythonPackage rec {
     description = "Document structures for collaborative editing using Ypy";
     homepage = "https://github.com/jupyter-server/jupyter_ydoc";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ dotlambda ];
+    maintainers = lib.teams.jupyter.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix
index 9907122b1135..409539ccb4a7 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterhub-systemdspawner/default.nix
@@ -1,29 +1,26 @@
 { lib
+, bash
 , buildPythonPackage
 , fetchFromGitHub
 , jupyterhub
+, pythonOlder
 , tornado
-, bash
 }:
 
 buildPythonPackage rec {
   pname = "jupyterhub-systemdspawner";
-  version = "0.15";
+  version = "1.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "jupyterhub";
     repo = "systemdspawner";
-    rev = "v${version}";
-    hash = "sha256-EUCA+CKCeYr+cLVrqTqe3Q32JkbqeALL6tfOnlVHk8Q=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-2Pxswa472umovHBUVTIX1l+Glj6bzzgBLsu+p4IA6jA=";
   };
 
-  propagatedBuildInputs = [
-    jupyterhub
-    tornado
-  ];
-
-  buildInputs = [ bash ];
-
   postPatch = ''
     substituteInPlace systemdspawner/systemd.py \
       --replace "/bin/bash" "${bash}/bin/bash"
@@ -32,7 +29,16 @@ buildPythonPackage rec {
       --replace "/bin/bash" "${bash}/bin/bash"
   '';
 
-  # no tests
+  buildInputs = [
+    bash
+  ];
+
+  propagatedBuildInputs = [
+    jupyterhub
+    tornado
+  ];
+
+  # Module has no tests
   doCheck = false;
 
   postInstall = ''
@@ -41,9 +47,14 @@ buildPythonPackage rec {
     patchShebangs $out/bin
   '';
 
+  pythonImportsCheck = [
+    "systemdspawner"
+  ];
+
   meta = with lib; {
     description = "JupyterHub Spawner using systemd for resource isolation";
     homepage = "https://github.com/jupyterhub/systemdspawner";
+    changelog = "https://github.com/jupyterhub/systemdspawner/blob/v${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterhub-tmpauthenticator/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterhub-tmpauthenticator/default.nix
index 2aef23fe4a4a..0c18569c4b5c 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterhub-tmpauthenticator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterhub-tmpauthenticator/default.nix
@@ -7,25 +7,32 @@
 
 buildPythonPackage rec {
   pname = "jupyterhub-tmpauthenticator";
-  version = "0.6";
-  disabled = pythonOlder "3.5";
+  version = "1.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "064x1ypxwx1l270ic97p8czbzb7swl9758v40k3w2gaqf9762f0l";
+    hash = "sha256-7TuAYP6mRffsZL+O+AMgt5HBu6PhwLYj5A8X8DnMfl0=";
   };
 
-  propagatedBuildInputs = [ jupyterhub ];
+  propagatedBuildInputs = [
+    jupyterhub
+  ];
 
   # No tests available in the package
   doCheck = false;
 
-  pythonImportsCheck = [ "tmpauthenticator" ];
+  pythonImportsCheck = [
+    "tmpauthenticator"
+  ];
 
   meta = with lib; {
-    description = "Simple Jupyterhub authenticator that allows anyone to log in.";
-    license = with licenses; [ bsd3 ];
+    description = "Simple Jupyterhub authenticator that allows anyone to log in";
     homepage = "https://github.com/jupyterhub/tmpauthenticator";
+    changelog = "https://github.com/jupyterhub/tmpauthenticator/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ chiroptical ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
index 9dea973b042f..3f16022e2163 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterhub/default.nix
@@ -1,30 +1,39 @@
 { lib
 , stdenv
-, buildPythonPackage
-, pythonOlder
-, fetchPypi
-, fetchzip
 , alembic
-, async_generator
+, async-generator
+, beautifulsoup4
+, buildPythonPackage
 , certipy
-, python-dateutil
+, configurable-http-proxy
+, cryptography
 , entrypoints
+, fetchPypi
+, fetchzip
+, importlib-metadata
 , jinja2
+, jsonschema
 , jupyter-telemetry
+, jupyterlab
+, mock
+, nbclassic
+, nodePackages
+, notebook
 , oauthlib
+, packaging
 , pamela
+, playwright
 , prometheus-client
+, pytest-asyncio
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
 , requests
+, requests-mock
+, selenium
 , sqlalchemy
 , tornado
 , traitlets
-, nodePackages
-, beautifulsoup4
-, cryptography
-, notebook
-, pytest-asyncio
-, pytestCheckHook
-, requests-mock
 , virtualenv
 }:
 
@@ -61,12 +70,14 @@ in
 
 buildPythonPackage rec {
   pname = "jupyterhub";
-  version = "1.5.0";
-  disabled = pythonOlder "3.6";
+  version = "4.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3GGPZXwjukYoDjYlflCTGAZnS6Dp5kmK+wke/GIm1p0=";
+    hash = "sha256-1ORQ7tjZDfvPDsoI8A8gk6C8503FH3z8C3BX9gI0Gh0=";
   };
 
   # Most of this only applies when building from source (e.g. js/css assets are
@@ -86,11 +97,11 @@ buildPythonPackage rec {
 
     substituteInPlace jupyterhub/proxy.py --replace \
       "'configurable-http-proxy'" \
-      "'${nodePackages.configurable-http-proxy}/bin/configurable-http-proxy'"
+      "'${configurable-http-proxy}/bin/configurable-http-proxy'"
 
     substituteInPlace jupyterhub/tests/test_proxy.py --replace \
       "'configurable-http-proxy'" \
-      "'${nodePackages.configurable-http-proxy}/bin/configurable-http-proxy'"
+      "'${configurable-http-proxy}/bin/configurable-http-proxy'"
 
     substituteInPlace setup.py --replace \
       "'npm'" "'true'"
@@ -111,54 +122,87 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    # https://github.com/jupyterhub/jupyterhub/blob/master/requirements.txt
     alembic
-    async_generator
+    async-generator
     certipy
     python-dateutil
     entrypoints
     jinja2
     jupyter-telemetry
     oauthlib
+    packaging
     pamela
     prometheus-client
     requests
+    selenium
     sqlalchemy
     tornado
     traitlets
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
   ];
 
-  preCheck = ''
-    substituteInPlace jupyterhub/tests/test_spawner.py --replace \
-      "'jupyterhub-singleuser'" "'$out/bin/jupyterhub-singleuser'"
-  '';
-
   nativeCheckInputs = [
-    # https://github.com/jupyterhub/jupyterhub/blob/master/dev-requirements.txt
     beautifulsoup4
     cryptography
     notebook
+    jsonschema
+    nbclassic
+    mock
+    jupyterlab
+    playwright
     pytest-asyncio
     pytestCheckHook
     requests-mock
     virtualenv
   ];
 
+  preCheck = ''
+    substituteInPlace jupyterhub/tests/test_spawner.py --replace \
+      "'jupyterhub-singleuser'" "'$out/bin/jupyterhub-singleuser'"
+    export PATH="$PATH:$out/bin";
+  '';
+
   disabledTests = [
     # Tries to install older versions through pip
     "test_upgrade"
     # Testcase fails to find requests import
     "test_external_service"
-    # attempts to do ssl connection
+    # Attempts to do TLS connection
     "test_connection_notebook_wrong_certs"
+    # AttributeError: 'coroutine' object...
+    "test_valid_events"
+    "test_invalid_events"
+    "test_user_group_roles"
+  ];
+
+  disabledTestPaths = [
+    # Not testing with a running instance
+    # AttributeError: 'coroutine' object has no attribute 'db'
+    "docs/test_docs.py"
+    "jupyterhub/tests/browser/test_browser.py"
+    "jupyterhub/tests/test_api.py"
+    "jupyterhub/tests/test_auth_expiry.py"
+    "jupyterhub/tests/test_auth.py"
+    "jupyterhub/tests/test_metrics.py"
+    "jupyterhub/tests/test_named_servers.py"
+    "jupyterhub/tests/test_orm.py"
+    "jupyterhub/tests/test_pages.py"
+    "jupyterhub/tests/test_proxy.py"
+    "jupyterhub/tests/test_scopes.py"
+    "jupyterhub/tests/test_services_auth.py"
+    "jupyterhub/tests/test_singleuser.py"
+    "jupyterhub/tests/test_spawner.py"
+    "jupyterhub/tests/test_user.py"
   ];
 
   meta = with lib; {
-    broken = lib.versionAtLeast sqlalchemy.version "2.0";
     description = "Serves multiple Jupyter notebook instances";
     homepage = "https://jupyter.org/";
-    changelog = "https://github.com/jupyterhub/jupyterhub/blob/${version}/docs/source/changelog.md";
+    changelog = "https://github.com/jupyterhub/jupyterhub/blob/${version}/docs/source/reference/changelog.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ixxie cstrahan ];
+    # 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-lsp/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix
index 5ebdb8ae5f59..b7d5ce4cf0c9 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-lsp/default.nix
@@ -28,5 +28,8 @@ 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/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
index 433031d73065..81c7f862f6ad 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
@@ -1,54 +1,50 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, ipython
+, hatch-jupyter-builder
+, hatchling
+, async-lru
 , packaging
 , tornado
+, ipykernel
 , jupyter-core
+, jupyter-lsp
 , jupyterlab_server
 , jupyter-server
-, jupyter-server-ydoc
-, notebook
+, notebook-shim
 , jinja2
 , tomli
 , pythonOlder
 , jupyter-packaging
-, pythonRelaxDepsHook
-, nbclassic
 }:
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "3.6.3";
-  format = "setuptools";
+  version = "4.0.3";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Nz6c+4py7dKUvhTxZmJWOiIM7PD7Jt56qxr5optom4I=";
+    hash = "sha256-4U0c5GphMCgRHQ1Hah19awlAA7dGK6xmn1tHgxeryzk=";
   };
 
   nativeBuildInputs = [
-    jupyter-packaging
-    pythonRelaxDepsHook
-  ];
-
-  pythonRelaxDeps = [
-    "jupyter-ydoc"
-    "jupyter-server-ydoc"
+    hatch-jupyter-builder
+    hatchling
   ];
 
   propagatedBuildInputs = [
-    ipython
+    async-lru
     packaging
     tornado
+    ipykernel
     jupyter-core
+    jupyter-lsp
     jupyterlab_server
     jupyter-server
-    jupyter-server-ydoc
-    nbclassic
-    notebook
+    notebook-shim
     jinja2
   ] ++ lib.optionals (pythonOlder "3.11") [
     tomli
@@ -68,10 +64,10 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/jupyterlab/jupyterlab/releases/tag/v${version}";
+    changelog = "https://github.com/jupyterlab/jupyterlab/blob/v${version}/CHANGELOG.md";
     description = "Jupyter lab environment notebook server extension";
-    license = with licenses; [ bsd3 ];
+    license = licenses.bsd3;
     homepage = "https://jupyter.org/";
-    maintainers = with maintainers; [ zimbatm ];
+    maintainers = lib.teams.jupyter.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
index b766f6d42e0f..2ec4ccf47e7e 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -11,22 +11,23 @@
 , jupyter-server
 , tomli
 , openapi-core
-, pytest-timeout
-, pytest-tornasync
+, pytest-jupyter
+, requests-mock
 , ruamel-yaml
+, strict-rfc3339
 , importlib-metadata
 }:
 
 buildPythonPackage rec {
   pname = "jupyterlab_server";
-  version = "2.19.0";
+  version = "2.24.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-muwhohg7vt2fkahmKDVUSVdfGGLYiyitX5BQGdMebCE=";
+    hash = "sha256-Tm+Z4KVXm7vDLkScTbsDlWHU8aeCfVczJz7VZzjyHwc=";
   };
 
   nativeBuildInputs = [
@@ -47,19 +48,16 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     openapi-core
     pytestCheckHook
-    pytest-timeout
-    pytest-tornasync
+    pytest-jupyter
+    requests-mock
     ruamel-yaml
+    strict-rfc3339
   ];
 
   postPatch = ''
-    # translation tests try to install additional packages into read only paths
-    rm -r tests/translations/
+    sed -i "/timeout/d" pyproject.toml
   '';
 
-  # https://github.com/jupyterlab/jupyterlab_server/blob/v2.15.2/pyproject.toml#L61
-  doCheck = false;
-
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
@@ -70,6 +68,17 @@ buildPythonPackage rec {
     "-W ignore::DeprecationWarning"
   ];
 
+  disabledTestPaths = [
+    "tests/test_settings_api.py"
+    "tests/test_themes_api.py"
+    "tests/test_translation_api.py"
+    "tests/test_workspaces_api.py"
+  ];
+
+  disabledTests = [
+    "test_get_listing"
+  ];
+
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
@@ -77,6 +86,6 @@ buildPythonPackage rec {
     homepage = "https://jupyterlab-server.readthedocs.io/";
     changelog = "https://github.com/jupyterlab/jupyterlab_server/blob/v${version}/CHANGELOG.md";
     license = licenses.bsdOriginal;
-    maintainers = with maintainers; [ ];
+    maintainers = lib.teams.jupyter.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix b/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
index 872d99c821d1..d2111b1aecef 100644
--- a/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupytext/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , gitpython
 , isort
 , jupyter-client
@@ -20,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "jupytext";
-  version = "1.14.1";
+  version = "1.15.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -29,16 +28,9 @@ buildPythonPackage rec {
     owner = "mwouts";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-DDF4aTLkhEl4xViYh/E0/y6swcwZ9KbeS0qKm+HdFz8=";
+    hash = "sha256-M4BoST18sf1C1lwhFkp4a0B3fc0VKerwuVEIfwkD7i0=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/mwouts/jupytext/commit/be9b65b03600227b737b5f10ea259a7cdb762b76.patch";
-      hash = "sha256-3klx8I+T560EVfsKe/FlrSjF6JzdKSCt6uhAW2cSwtc=";
-    })
-  ];
-
   buildInputs = [
     jupyter-packaging
     jupyterlab
@@ -85,7 +77,8 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts";
     homepage = "https://github.com/mwouts/jupytext";
+    changelog = "https://github.com/mwouts/jupytext/releases/tag/${src.rev}";
     license = licenses.mit;
-    maintainers = with maintainers; [ timokau ];
+    maintainers = teams.jupyter.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix b/nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix
index 0d1410a5ced0..55a3ce36f80c 100644
--- a/nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/k-diffusion/default.nix
@@ -1,15 +1,14 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-
-# dependencies
 , accelerate
+, buildPythonPackage
 , clean-fid
 , clip-anytorch
 , einops
+, fetchFromGitHub
 , jsonmerge
 , kornia
 , pillow
+, pythonOlder
 , resize-right
 , scikit-image
 , scipy
@@ -19,23 +18,24 @@
 , torchvision
 , tqdm
 , wandb
-
 }:
 
 buildPythonPackage rec {
   pname = "k-diffusion";
-  version = "0.0.14";
+  version = "0.0.16";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "crowsonkb";
     repo = "k-diffusion";
-    rev = "v${version}";
-    hash = "sha256-KKVgk+1hidDBVaRnXjoqwuSRydI10OPHK3YModAizZU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-tOWDFt0/hGZF5HENiHPb9a2pBlXdSvDvCNTsCMZljC4=";
   };
 
   propagatedBuildInputs = [
-   accelerate
+    accelerate
     clean-fid
     clip-anytorch
     einops
diff --git a/nixpkgs/pkgs/development/python-modules/keyring/default.nix b/nixpkgs/pkgs/development/python-modules/keyring/default.nix
index c729e1da5362..1905434759a2 100644
--- a/nixpkgs/pkgs/development/python-modules/keyring/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/keyring/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "keyring";
-  version = "23.13.1";
+  version = "24.2.0";
   format = "pyproject";
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ui4VqbNeIZCNCq9OCkesxS1q4zRE3w2itJ1BpG721ng=";
+    hash = "sha256-ygdGoZ7EISGfTXE/hI+il6ZhqKjBUEhn5Vv7XgkJFQk=";
   };
 
   nativeBuildInputs = [
@@ -54,7 +54,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Store and access your passwords safely";
     homepage    = "https://github.com/jaraco/keyring";
-    changelog   = "https://github.com/jaraco/keyring/blob/v${version}/CHANGES.rst";
+    changelog   = "https://github.com/jaraco/keyring/blob/v${version}/NEWS.rst";
     license     = licenses.mit;
     maintainers = with maintainers; [ lovek323 dotlambda ];
     platforms   = platforms.unix;
diff --git a/nixpkgs/pkgs/development/python-modules/knack/default.nix b/nixpkgs/pkgs/development/python-modules/knack/default.nix
index 0c2dae23b11d..7932b4953991 100644
--- a/nixpkgs/pkgs/development/python-modules/knack/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/knack/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "knack";
-  version = "0.10.1";
+  version = "0.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xXKBKCl+bSaXkQhc+Wwv/fzvWM+DxjSly5LrA7KSmDg=";
+    hash = "sha256-62VoAB6RELGzIJQUMcUQM9EEzJjNoiVKXCsJulaf1JQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/kombu/default.nix b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
index 9ba249f52816..f7c9ce32bb8d 100644
--- a/nixpkgs/pkgs/development/python-modules/kombu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
@@ -4,43 +4,36 @@
 , azure-servicebus
 , backports-zoneinfo
 , buildPythonPackage
-, cached-property
 , case
 , fetchPypi
 , hypothesis
-, importlib-metadata
 , pyro4
 , pytestCheckHook
 , pythonOlder
 , pytz
 , vine
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "kombu";
-  version = "5.3.0";
+  version = "5.3.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0ITsH5b3p8N7qegWgjvbwI8Px92zpb5VWAXmkhAil9g=";
+    hash = "sha256-+9dXLZLAv3HBEqa0UWMVPepae2pwHsFrVown0P0jcPI=";
   };
 
-  postPatch = ''
-    substituteInPlace requirements/test.txt \
-      --replace "pytz>dev" "pytz"
-  '';
-
   propagatedBuildInputs = [
     amqp
     vine
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    typing-extensions
   ] ++ lib.optionals (pythonOlder "3.9") [
     backports-zoneinfo
-  ] ++ lib.optionals (pythonOlder "3.8") [
-    cached-property
-    importlib-metadata
   ];
 
   nativeCheckInputs = [
@@ -58,6 +51,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/celery/kombu/releases/tag/v${version}";
     description = "Messaging library for Python";
     homepage = "https://github.com/celery/kombu";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/langchain/default.nix b/nixpkgs/pkgs/development/python-modules/langchain/default.nix
index a2471639bd2f..df04d5b4659c 100644
--- a/nixpkgs/pkgs/development/python-modules/langchain/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langchain/default.nix
@@ -1,86 +1,91 @@
 { lib
+, bash
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, pythonRelaxDepsHook
 , poetry-core
-, numpy
-, pyyaml
-, sqlalchemy
-, requests
-, async-timeout
 , aiohttp
+, async-timeout
+, dataclasses-json
+, langsmith
 , numexpr
+, numpy
 , openapi-schema-pydantic
-, dataclasses-json
-, tqdm
+, pydantic
+, pyyaml
+, requests
+, sqlalchemy
 , tenacity
-, bash
   # optional dependencies
 , anthropic
+, atlassian-python-api
+, azure-core
+, azure-cosmos
+, azure-identity
+, beautifulsoup4
+, chardet
 , clarifai
 , cohere
-, openai
-, nlpcloud
-, huggingface-hub
-, manifest-ml
-, torch
-, transformers
-, qdrant-client
-, sentence-transformers
-, azure-identity
-, azure-cosmos
-, azure-core
+, duckduckgo-search
 , elasticsearch
-, opensearch-py
-, google-search-results
+, esprima
 , faiss
-, spacy
-, nltk
-, wikipedia
-, beautifulsoup4
-, tiktoken
-, jinja2
-, pinecone-client
-, weaviate-client
-, redis
 , google-api-python-client
-, pypdf
+, google-auth
+, google-search-results
+, gptcache
+, html2text
+, huggingface-hub
+, jinja2
+, jq
+, lark
+, librosa
+, lxml
+, manifest-ml
+, neo4j
 , networkx
+, nlpcloud
+, nltk
+, openai
+, opensearch-py
+, pdfminer-six
 , pgvector
+, pinecone-client
 , psycopg2
-, boto3
 , pyowm
+, pypdf
 , pytesseract
-, html2text
-, atlassian-python-api
-, duckduckgo-search
-, lark
-, jq
-, steamship
-, pdfminer-six
-, lxml
-, chardet
+, python-arango
+, qdrant-client
+, rdflib
+, redis
 , requests-toolbelt
-, neo4j
-, langsmith
+, sentence-transformers
+, spacy
+, steamship
+, tiktoken
+, torch
+, transformers
+, weaviate-client
+, wikipedia
   # test dependencies
-, pytest-vcr
+, freezegun
+, pandas
+, pexpect
 , pytest-asyncio
 , pytest-mock
 , pytest-socket
-, pandas
+, pytest-vcr
+, pytestCheckHook
+, responses
 , syrupy
 , toml
-, freezegun
-, responses
-, pexpect
-, pytestCheckHook
-, pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
   pname = "langchain";
-  version = "0.0.247";
+  version = "0.0.268";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -89,10 +94,10 @@ buildPythonPackage rec {
     owner = "hwchase17";
     repo = "langchain";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Eq9jXfVJuoiNWkJanol/tqQU+kOrftMii90743DeI3Y=";
+    hash = "sha256-x5cYtOY91JpW3vV7Q6JNNRoTFKGMu93TqBAhnhQ6pHE=";
   };
 
-  sourceRoot = "source/libs/langchain";
+  sourceRoot = "${src.name}/libs/langchain";
 
   postPatch = ''
     substituteInPlace langchain/utilities/bash.py \
@@ -111,19 +116,20 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    numpy
-    pyyaml
+    pydantic
     sqlalchemy
     requests
-    aiohttp
-    numexpr
+    pyyaml
+    numpy
     openapi-schema-pydantic
     dataclasses-json
-    tqdm
     tenacity
+    aiohttp
+    numexpr
+    langsmith
   ] ++ lib.optionals (pythonOlder "3.11") [
     async-timeout
-  ] ++ passthru.optional-dependencies.all;
+  ];
 
   passthru.optional-dependencies = {
     llms = [
@@ -131,17 +137,21 @@ buildPythonPackage rec {
       clarifai
       cohere
       openai
+      # openllm
+      # openlm
       nlpcloud
       huggingface-hub
       manifest-ml
       torch
       transformers
+      # xinference
     ];
     qdrant = [
       qdrant-client
     ];
     openai = [
       openai
+      tiktoken
     ];
     text_helpers = [
       chardet
@@ -158,11 +168,18 @@ buildPythonPackage rec {
     embeddings = [
       sentence-transformers
     ];
+    javascript = [
+      esprima
+    ];
     azure = [
       azure-identity
       azure-cosmos
       openai
       azure-core
+      # azure-ai-formrecognizer
+      # azure-ai-vision
+      # azure-cognitiveservices-speech
+      # azure-search-documents
     ];
     all = [
       anthropic
@@ -191,6 +208,7 @@ buildPythonPackage rec {
       weaviate-client
       redis
       google-api-python-client
+      google-auth
       # wolframalpha
       qdrant-client
       # tensorflow-text
@@ -199,14 +217,14 @@ buildPythonPackage rec {
       # nomic
       # aleph-alpha-client
       # deeplake
+      # libdeeplake
       pgvector
       psycopg2
-      boto3
       pyowm
       pytesseract
       html2text
       atlassian-python-api
-      # gptcache
+      gptcache
       duckduckgo-search
       # arxiv
       azure-identity
@@ -229,22 +247,33 @@ buildPythonPackage rec {
       # azure-ai-formrecognizer
       # azure-ai-vision
       # azure-cognitiveservices-speech
-      langsmith
+      # momento
+      # singlestoredb
+      # tigrisdb
+      # nebula3-python
+      # awadb
+      # esprima
+      # octoai-sdk
+      rdflib
+      # amadeus
+      # xinference
+      librosa
+      python-arango
     ];
   };
 
   nativeCheckInputs = [
-    pytestCheckHook
-    pytest-vcr
+    freezegun
+    pandas
+    pytest-asyncio
     pytest-mock
     pytest-socket
-    pytest-asyncio
-    pandas
+    pytest-vcr
+    pytestCheckHook
+    responses
     syrupy
     toml
-    freezegun
-    responses
-  ];
+  ] ++ passthru.optional-dependencies.all;
 
   pytestFlagsArray = [
     # integration_tests have many network, db access and require `OPENAI_API_KEY`, etc.
diff --git a/nixpkgs/pkgs/development/python-modules/langsmith/default.nix b/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
index af1a1c1afeac..eeae23611148 100644
--- a/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
@@ -3,26 +3,27 @@
 , fetchFromGitHub
 , poetry-core
 , pydantic
-, requests
-, pytestCheckHook
 , pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, requests
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.0.14";
+  version = "0.0.24";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "langchain-ai";
-    repo = "langchainplus-sdk";
-    # there are no correct tags
-    # https://github.com/langchain-ai/langchainplus-sdk/issues/105
-    rev = "092f67222e4beabca0f51ba03f1ee028f916da63";
-    hash = "sha256-U8fs16Uq80EB7Ey5YuQhUKKI9DOXJWlabM5JdoDnWP0=";
+    repo = "langsmith-sdk";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Uv6zzSWs+Fvb0ztwgkbkZcaNJOFpt8pWh88HZHsTris=";
   };
 
-  sourceRoot = "source/python";
+  sourceRoot = "${src.name}/python";
 
   nativeBuildInputs = [
     poetry-core
@@ -39,15 +40,18 @@ buildPythonPackage {
   ];
 
   disabledTests = [
-    # these tests require network access
+    # These tests require network access
     "integration_tests"
   ];
 
-  pythonImportsCheck = [ "langsmith" ];
+  pythonImportsCheck = [
+    "langsmith"
+  ];
 
   meta = with lib; {
     description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform";
-    homepage = "https://github.com/langchain-ai/langchainplus-sdk";
+    homepage = "https://github.com/langchain-ai/langsmith-sdk";
+    changelog = "https://github.com/langchain-ai/langsmith-sdk/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ natsukium ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/ldappool/default.nix b/nixpkgs/pkgs/development/python-modules/ldappool/default.nix
index 14d23a96d262..a95db8650980 100644
--- a/nixpkgs/pkgs/development/python-modules/ldappool/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ldappool/default.nix
@@ -1,5 +1,14 @@
-{ lib, buildPythonPackage, fetchPypi
-, pbr, python-ldap, prettytable, fixtures, testresources, testtools }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pbr
+, python-ldap
+, prettytable
+, six
+, fixtures
+, testresources
+, testtools
+}:
 
 buildPythonPackage rec {
   pname = "ldappool";
@@ -20,7 +29,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ pbr ];
 
-  propagatedBuildInputs = [ python-ldap prettytable ];
+  propagatedBuildInputs = [ python-ldap prettytable six ];
 
   nativeCheckInputs = [ fixtures testresources testtools ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix b/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
index 61da9ab75910..3cdecde9e702 100644
--- a/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/levenshtein/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , pythonOlder
 , cmake
-, cython
+, cython_3
 , pytestCheckHook
 , rapidfuzz
 , rapidfuzz-cpp
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "levenshtein";
-  version = "0.21.0";
+  version = "0.21.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -22,12 +22,12 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "Levenshtein";
     rev = "refs/tags/v${version}";
-    hash = "sha256-j28OQkJymkh6tIGYLoZLad7OUUImjZqXdqM2zU3haac=";
+    hash = "sha256-I1kVGbZI1hQRNv0e44giWiMqmeqaqFZks20IyFQ9VIU=";
   };
 
   nativeBuildInputs = [
     cmake
-    cython
+    cython_3
     scikit-build
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/librespot/default.nix b/nixpkgs/pkgs/development/python-modules/librespot/default.nix
index 21a25729fa4b..97277f68a981 100644
--- a/nixpkgs/pkgs/development/python-modules/librespot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/librespot/default.nix
@@ -1,15 +1,15 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
 , defusedxml
+, fetchFromGitHub
 , protobuf
+, pycryptodomex
+, pyogg
+, pytestCheckHook
 , pythonRelaxDepsHook
+, requests
 , websocket-client
-, pyogg
 , zeroconf
-, requests
-, pycryptodomex
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -20,10 +20,12 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "kokarare1212";
     repo = "librespot-python";
-    rev = "v${version}";
+    rev = "refs/tags/v${version}";
     hash = "sha256-k9qVsxjRlUZ7vCBx00quiAR7S+YkfyoZiAKVnOOG4xM=";
   };
 
+  pythonRelaxDeps = true;
+
   nativeBuildInputs = [
     pythonRelaxDepsHook
   ];
@@ -38,13 +40,6 @@ buildPythonPackage rec {
     zeroconf
   ];
 
-  pythonRelaxDeps = [
-    "protobuf"
-    "pyogg"
-    "requests"
-    "zeroconf"
-  ];
-
   # Doesn't include any tests
   doCheck = false;
 
@@ -55,6 +50,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Open Source Spotify Client";
     homepage = "https://github.com/kokarare1212/librespot-python";
+    changelog = "https://github.com/kokarare1212/librespot-python/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ onny ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/librosa/default.nix b/nixpkgs/pkgs/development/python-modules/librosa/default.nix
index b00c895fd785..03cdeea14e51 100644
--- a/nixpkgs/pkgs/development/python-modules/librosa/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/librosa/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 
 # build-system
 , setuptools
@@ -43,6 +44,15 @@ buildPythonPackage rec {
     hash = "sha256-MXzPIcbG8b1JwhEyAZG4DRObGaHq+ipVHMrZCzaxLdE=";
   };
 
+  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=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/libtmux/default.nix b/nixpkgs/pkgs/development/python-modules/libtmux/default.nix
index f27a5ac6e221..9382ccd36b63 100644
--- a/nixpkgs/pkgs/development/python-modules/libtmux/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libtmux/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , buildPythonPackage
 , poetry-core
 , pytest-rerunfailures
@@ -22,6 +23,15 @@ buildPythonPackage rec {
     hash = "sha256-tz7Pynm/xHx2X3QjXkvFlX6sVlsVKqrsS1CVmqlqfj0=";
   };
 
+  patches = [
+    # https://github.com/tmux-python/libtmux/pull/493
+    (fetchpatch {
+      name = "remove-setuptools.patch";
+      url = "https://github.com/tmux-python/libtmux/commit/aa3a1e2015ade73129191ad04146ce52765d478c.patch";
+      hash = "sha256-p3KMktd6eG9/lRK+DdBvDtSwhI+sV2RQfBAuElMk8tQ=";
+    })
+  ];
+
   postPatch = ''
     sed -i '/addopts/d' setup.cfg
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/libvirt/default.nix b/nixpkgs/pkgs/development/python-modules/libvirt/default.nix
index e83778c9a4eb..9c9509b559d8 100644
--- a/nixpkgs/pkgs/development/python-modules/libvirt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/libvirt/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "libvirt";
-  version = "9.4.0";
+  version = "9.6.0";
 
   src = fetchFromGitLab {
     owner = "libvirt";
     repo = "libvirt-python";
     rev = "v${version}";
-    hash = "sha256-P5IfH93qCEIJScDRkSOAnA5D82PV1T1eUlPCQYbK0d8=";
+    hash = "sha256-DIyvd13BeKP4HzgHz1FGUTau19MJgBKPiHnpK5nq0os=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/python-modules/limnoria/default.nix b/nixpkgs/pkgs/development/python-modules/limnoria/default.nix
index 35febbffc632..8276af406b14 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.5.27";
+  version = "2023.8.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-HqNBXDmPU0vh1cA0swWK708MnCcAEeiRxf/yaW2Oh/U=";
+    hash = "sha256-3AHc7Ej0IJ2WCQ8XVbWL0lwTQW6ng2ehemTcmJOQ86U=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/linear_operator/default.nix b/nixpkgs/pkgs/development/python-modules/linear_operator/default.nix
index 48fb004c14c4..f42522016c1f 100644
--- a/nixpkgs/pkgs/development/python-modules/linear_operator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/linear_operator/default.nix
@@ -1,37 +1,47 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, jaxtyping
+, pytestCheckHook
 , scipy
+, setuptools
+, setuptools-scm
 , torch
-, pytestCheckHook
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "linear_operator";
-  version = "0.4.0";
+  version = "0.5.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "cornellius-gp";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-0f3F3k3xJACbx42jtwsAmjZwPAOfLywZs8VOrwWicc4=";
+    hash = "sha256-7NkcvVDwFaLHBZZhq7aKY3cWxe90qeKmodP6cVsdrPM=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'find_version("linear_operator", "version.py")' \"$version\"
-  '';
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
 
   propagatedBuildInputs = [
+    jaxtyping
     scipy
     torch
   ];
 
-  checkInputs = [
+  pythonImportsCheck = [ "linear_operator" ];
+
+  nativeCheckInputs = [
     pytestCheckHook
   ];
-  pythonImportsCheck = [ "linear_operator" ];
+
   disabledTests = [
     # flaky numerical tests
     "test_svd"
diff --git a/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix b/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
index 6739d2ed13c1..e4c0e6f955cd 100644
--- a/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/liquidctl/default.nix
@@ -4,6 +4,8 @@
 , pythonOlder
 , installShellFiles
 , setuptools
+, setuptools-scm
+, wheel
 , docopt
 , hidapi
 , pyusb
@@ -29,9 +31,13 @@ buildPythonPackage rec {
     hash = "sha256-0QjgnTxqB50JNjSUAgBrGyhN2XC/TDYiC1tvhw1Bl1M=";
   };
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   nativeBuildInputs = [
     installShellFiles
     setuptools
+    setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/llfuse/default.nix b/nixpkgs/pkgs/development/python-modules/llfuse/default.nix
index 429720135737..fd4504507680 100644
--- a/nixpkgs/pkgs/development/python-modules/llfuse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/llfuse/default.nix
@@ -3,7 +3,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, cython
+, cython_3
 , fuse
 , pkg-config
 , pytestCheckHook
@@ -14,20 +14,20 @@
 
 buildPythonPackage rec {
   pname = "llfuse";
-  version = "1.4.4";
+  version = "1.5.0";
 
   format = "pyproject";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "python-llfuse";
     repo = "python-llfuse";
     rev = "refs/tags/release-${version}";
-    hash = "sha256-qsnmhnZsK0j9dPhXT9mymQTzVHmmGnB5vgONatxDLIo=";
+    hash = "sha256-6/iW5eHmX6ODVPLFkOo3bN9yW8ixqy2MHwQ2r9FA0iI=";
   };
 
-  nativeBuildInputs = [ cython pkg-config setuptools ];
+  nativeBuildInputs = [ cython_3 pkg-config setuptools ];
 
   buildInputs = [ fuse ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix b/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix
index dfdbbe755dd9..e3afe80624fb 100644
--- a/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/llvmlite/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchPypi
+, fetchFromGitHub
 , buildPythonPackage
 , python
 , llvm
@@ -12,13 +12,19 @@
 
 buildPythonPackage rec {
   pname = "llvmlite";
-  version = "0.39.1";
+  # The main dependency of llvmlite is numba, which we currently package an
+  # untagged version of it (for numpy>1.25 support). That numba version
+  # requires at least this version of llvmlite (also not yet officially
+  # released, but at least tagged).
+  version = "0.41.0dev0";
 
   disabled = isPyPy || !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-tDq9fILoBSYcQl1QM1vppsT4QmTjTW1uR1IHMAAF1XI=";
+  src = fetchFromGitHub {
+    owner = "numba";
+    repo = "llvmlite";
+    rev = "v${version}";
+    hash = "sha256-fsH+rqouweNENU+YlWr7m0bC0YdreQLNp1n2rwrOiFw=";
   };
 
   nativeBuildInputs = [ llvm ];
diff --git a/nixpkgs/pkgs/development/python-modules/lunarcalendar/default.nix b/nixpkgs/pkgs/development/python-modules/lunarcalendar/default.nix
new file mode 100644
index 000000000000..e5233fec6cb7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/lunarcalendar/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+, python-dateutil
+, ephem
+, pytz
+
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "lunarcalendar";
+  version = "0.0.9";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "wolfhong";
+    repo = "LunarCalendar";
+    rev = "885418ea1a2a90b7e0bbe758919af9987fb2863b";
+    hash = "sha256-AhxCWWqCjlOroqs4pOSZTWoIQT8a1l/D2Rxuw1XUoU8=";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+    ephem
+    pytz
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "lunarcalendar" ];
+
+  meta = {
+    homepage = "https://github.com/wolfhong/LunarCalendar";
+    description = "A Lunar-Solar Converter, containing a number of lunar and solar festivals in China";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ tomasajt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/lxmf/default.nix b/nixpkgs/pkgs/development/python-modules/lxmf/default.nix
index f28b261f5099..af7ae5d6e87a 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.1";
+  version = "0.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "lxmf";
     rev = "refs/tags/${version}";
-    hash = "sha256-uz3IUUL5rdYwUsBNdHB+K/ZaCCnUE5EThFConVl8YgM=";
+    hash = "sha256-6ZnYI6GlFkMjBLsZhhFg8G9j3I/DfjLAnKsRFEua7uU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/lxml/default.nix b/nixpkgs/pkgs/development/python-modules/lxml/default.nix
index cf43f6861c55..db531a65778f 100644
--- a/nixpkgs/pkgs/development/python-modules/lxml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lxml/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "lxml";
-  version = "4.9.2";
+  version = "4.9.3-3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/lxml-${version}";
-    hash = "sha256-IHuTlcDbrZHvS6Gtx48IkznVU+9WxZT9XHUZf8M1WOE=";
+    hash = "sha256-Vrizi+6jUUEx7qODU4PAH5ZmvBIyT9H18+QpYB0m1f4=";
   };
 
   # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs
diff --git a/nixpkgs/pkgs/development/python-modules/m2crypto/default.nix b/nixpkgs/pkgs/development/python-modules/m2crypto/default.nix
index 350f081db8ba..f8ec95604542 100644
--- a/nixpkgs/pkgs/development/python-modules/m2crypto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/m2crypto/default.nix
@@ -1,52 +1,48 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
-, swig2
 , openssl
-, typing
 , parameterized
+, pytestCheckHook
+, pythonOlder
+, swig2
 }:
 
-
 buildPythonPackage rec {
-  version = "0.38.0";
-  pname = "M2Crypto";
+  pname = "m2crypto";
+  version = "0.39.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-mfImCjCQHJSajcbV+CzVMS/7iryS52YzuvIxu7yy3ss=";
+    pname = "M2Crypto";
+    inherit version;
+    hash = "sha256-JMD0cTWLixmtTIqp2hLoaAMLZcH9syedAG32DJUBM4o=";
   };
 
-  patches = [
-    # Use OpenSSL_version_num() instead of unrealiable parsing of .h file.
-    (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/m2crypto/raw/42951285c800f72e0f0511cec39a7f49e970a05c/f/m2crypto-MR271-opensslversion.patch";
-      hash = "sha256-e1/NHgWza+kum76MUFSofq9Ko3pML67PUfqWjcwIl+A=";
-    })
-    # Changed required to pass tests on OpenSSL 3.0
-    (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/m2crypto/raw/42951285c800f72e0f0511cec39a7f49e970a05c/f/m2crypto-0.38-ossl3-tests.patch";
-      hash = "sha256-B6JKoPh76+CIna6zmrvFj50DIp3pzg8aKyzz+Q5hqQ0=";
-    })
-    # Allow EVP tests fail on non-FIPS algorithms
-    (fetchpatch {
-      url = "https://src.fedoraproject.org/rpms/m2crypto/raw/42951285c800f72e0f0511cec39a7f49e970a05c/f/m2crypto-0.38-ossl3-tests-evp.patch";
-      hash = "sha256-jMUAphVBQMFaOJSeYUCQMV3WSe9VDQqG6GY5fDQXZnA=";
-    })
-    # Fix the readline test https://gitlab.com/m2crypto/m2crypto/-/issues/286
-    (fetchpatch {
-      url = "https://gitlab.com/m2crypto/m2crypto/-/commit/b8addc7ad9990d1ba3786830ebd74aa8c939849d.patch";
-      hash = "sha256-M5mrmJVCT0fASvERLKa/MR+EY2hzRGIkyUfguVBPKNk=";
-    })
+  nativeBuildInputs = [
+    swig2
+    openssl
   ];
 
-  nativeBuildInputs = [ swig2 openssl ];
-  buildInputs = [ openssl parameterized ];
+  buildInputs = [
+    openssl
+    parameterized
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "M2Crypto"
+  ];
 
   meta = with lib; {
     description = "A Python crypto and SSL toolkit";
     homepage = "https://gitlab.com/m2crypto/m2crypto";
+    changelog = "https://gitlab.com/m2crypto/m2crypto/-/blob/${version}/CHANGES";
     license = licenses.mit;
     maintainers = with maintainers; [ andrew-d ];
   };
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 38d92159f3b2..3330817fb8a4 100644
--- a/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/markdown-it-py/default.nix
@@ -19,6 +19,7 @@
 , stdenv
 , pytest-regressions
 , pytestCheckHook
+, pythonRelaxDepsHook
 , pythonOlder
 }:
 
@@ -36,7 +37,13 @@ buildPythonPackage rec {
     hash = "sha256-qdRU1BxczFDGoIEtl0ZMkKNn4p5tec8YuPt5ZwX5fYM=";
   };
 
+  # fix downstrem usage of markdown-it-py[linkify]
+  pythonRelaxDeps = [
+    "linkify-it-py"
+  ];
+
   nativeBuildInputs = [
+    pythonRelaxDepsHook
     flit-core
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/markdown/default.nix b/nixpkgs/pkgs/development/python-modules/markdown/default.nix
index 9ad29d3a2c21..7de193bbbbd7 100644
--- a/nixpkgs/pkgs/development/python-modules/markdown/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/markdown/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "markdown";
-  version = "3.4.3";
+  version = "3.4.4";
 
   disabled = pythonOlder "3.7";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Python-Markdown";
     repo = "markdown";
     rev = "refs/tags/${version}";
-    hash = "sha256-o2MDsrSkR0fMA5I8AoQcJrpwNGO5lXJn8O47tQN7U6o=";
+    hash = "sha256-5PIIhbJVsotGwZ3BQ4x0I7WjgnGF3opNrn8J+xZCflg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix b/nixpkgs/pkgs/development/python-modules/mashumaro/default.nix
index f7c47b25401e..13bee5c38958 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.8.1";
+  version = "3.9";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "Fatal1ty";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-WDKohmcdVlQR/6AMSISN0y6UQx4tmOf1fANCPLRYiqI=";
+    hash = "sha256-oH44poFVnoM831dJuA9KcHCsuW6gh5B2EHrnKwza6A4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/material-color-utilities/default.nix b/nixpkgs/pkgs/development/python-modules/material-color-utilities/default.nix
index ed224b244f4b..8c92723e4a06 100644
--- a/nixpkgs/pkgs/development/python-modules/material-color-utilities/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/material-color-utilities/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, pillow, regex }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, pythonRelaxDepsHook, pillow, regex }:
 
 buildPythonPackage rec {
   pname = "material-color-utilities-python";
@@ -9,6 +9,13 @@ buildPythonPackage rec {
     sha256 = "sha256-PG8C585wWViFRHve83z3b9NijHyV+iGY2BdMJpyVH64=";
   };
 
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+  pythonRelaxDeps = [
+    "Pillow"
+  ];
+
   propagatedBuildInputs = [
     pillow
     regex
diff --git a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
index dbc8c1da31d4..2cfd5d21db19 100644
--- a/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/matplotlib/default.nix
@@ -76,7 +76,7 @@ let
 in
 
 buildPythonPackage rec {
-  version = "3.7.1";
+  version = "3.7.2";
   pname = "matplotlib";
   format = "pyproject";
 
@@ -84,7 +84,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-e3MwXyXqtFQb1+4Llth+U66cnxgjvlZZuAbNhXhv6II=";
+    hash = "sha256-qM25Hd2wRDa9LwmLj99LgTUuaM9NLGdW/MQUeRB2Vps=";
   };
 
   env.XDG_RUNTIME_DIR = "/tmp";
@@ -121,6 +121,8 @@ buildPythonPackage rec {
     setuptools
     setuptools-scm
     numpy
+  ] ++ lib.optionals enableGtk3 [
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -131,7 +133,6 @@ buildPythonPackage rec {
     ghostscript
   ] ++ lib.optionals enableGtk3 [
     cairo
-    gobject-introspection
     gtk3
   ] ++ lib.optionals enableTk [
     libX11
diff --git a/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix b/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
index 9643dc014061..cff34c84442d 100644
--- a/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mcstatus/default.nix
@@ -1,10 +1,10 @@
 { lib
 , asyncio-dgram
 , buildPythonPackage
-, click
 , dnspython
 , fetchFromGitHub
 , poetry-core
+, poetry-dynamic-versioning
 , pytest-asyncio
 , pytest-rerunfailures
 , pytestCheckHook
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "11.0.0";
+  version = "11.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,25 +22,26 @@ buildPythonPackage rec {
     owner = "py-mine";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+r6WL59T9rNAKl3r4Hef75uJoD7DRYA23uS/OlzRyRk=";
+    hash = "sha256-1jPIsFEJ17kjtCBiX4IvSf2FxYw9DkH3MrrJ85N71tc=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'version = "0.0.0"' 'version = "${version}"' \
       --replace " --cov=mcstatus --cov-append --cov-branch --cov-report=term-missing -vvv --no-cov-on-fail" ""
   '';
 
   nativeBuildInputs = [
     poetry-core
+    poetry-dynamic-versioning
   ];
 
   propagatedBuildInputs = [
     asyncio-dgram
-    click
     dnspython
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytest-asyncio
     pytest-rerunfailures
diff --git a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
index 193fca714ad5..800fc6227b01 100644
--- a/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/md-toc/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "md-toc";
-  version = "8.1.9";
+  version = "8.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "frnmst";
     repo = pname;
     rev = version;
-    hash = "sha256-t3G8nQCVUUuDb+W+Gw+f2miXQ2i/hdVfT6yGxdNWKpw=";
+    hash = "sha256-7Udmon/5E741+v2vBHHL7h31r91RR33hN1WhL3FiDQc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mdformat/default.nix b/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
index 2891cd430803..3ac61c1a1888 100644
--- a/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mdformat/default.nix
@@ -88,13 +88,15 @@ let
       "mdformat"
     ];
 
-    passthru = {inherit withPlugins;};
+    passthru = { inherit withPlugins; };
 
     meta = with lib; {
       description = "CommonMark compliant Markdown formatter";
       homepage = "https://mdformat.rtfd.io/";
       license = with licenses; [ mit ];
       maintainers = with maintainers; [ fab aldoborrero ];
+      mainProgram = "mdformat";
     };
   };
-in package
+in
+package
diff --git a/nixpkgs/pkgs/development/python-modules/memory_profiler/default.nix b/nixpkgs/pkgs/development/python-modules/memory_profiler/default.nix
index df1a5410ffbf..7473514cd628 100644
--- a/nixpkgs/pkgs/development/python-modules/memory_profiler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/memory_profiler/default.nix
@@ -5,11 +5,11 @@
 
 python.pkgs.buildPythonPackage rec {
   pname = "memory_profiler";
-  version = "0.55.0";
+  version = "0.61.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hdgh5f59bya079w4ahx4l0hf4gc5yvaz44irp5x57cj9hkpp92z";
+    sha256 = "sha256-Tltz14ZKHRKS+3agPoKj5475NNBoKKaY2dradtogZ7A=";
   };
 
   propagatedBuildInputs = with python.pkgs; [
diff --git a/nixpkgs/pkgs/development/python-modules/meraki/default.nix b/nixpkgs/pkgs/development/python-modules/meraki/default.nix
index ba70066bfff4..2a7db95a730b 100644
--- a/nixpkgs/pkgs/development/python-modules/meraki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meraki/default.nix
@@ -1,18 +1,21 @@
 { lib
+, aiohttp
 , buildPythonPackage
 , fetchPypi
-, aiohttp
+, pythonOlder
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "meraki";
-  version = "1.34.0";
+  version = "1.36.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rAFoIKHrhHRqcXmvbzlFKFIaHxVLp6CJUhNASwHhpPk=";
+    hash = "sha256-VkXA5eEIEcyPlyI566rwtmIGauxD4ra0Q4ccH4ojc0U=";
   };
 
   propagatedBuildInputs = [
@@ -20,6 +23,9 @@ buildPythonPackage rec {
     requests
   ];
 
+  # All tests require an API key
+  doCheck = false;
+
   pythonImportsCheck = [
     "meraki"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
index ff223339b433..9411838540b3 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.1.11";
+  version = "2.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-nYbnOlD3yC3aoSSY4jwSgTv/m56I+ral2GwmoyQij1M=";
+    hash = "sha256-6oxKaMFXZTrz7gZpSAtXI5Jit7z5NWQgUkd1yB3EtA8=";
   };
 
   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
new file mode 100644
index 000000000000..d2535d1fd59a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/meson-python/add-build-flags.sh
@@ -0,0 +1,6 @@
+# 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
diff --git a/nixpkgs/pkgs/development/python-modules/meson-python/default.nix b/nixpkgs/pkgs/development/python-modules/meson-python/default.nix
index 20008b2b5341..4b45ee4e77d3 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.12.1";
+  version = "0.13.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit version;
     pname = "meson_python";
-    hash = "sha256-PVs+WB1wpYqXucEWp16Xp2zEtMfnX6Blj8g5I3Hi8sI=";
+    hash = "sha256-Y7MXAAFCXEL6TP7a25BRy9KJJf+O7XxA02ugCZ48dhg=";
   };
 
   nativeBuildInputs = [
@@ -39,13 +39,9 @@ buildPythonPackage rec {
   ] ++ lib.optionals (pythonOlder "3.10") [
     typing-extensions
   ];
-
-  # Ugly work-around. Drop ninja dependency.
-  # We already have ninja, but it comes without METADATA.
-  # Building ninja-python-distributions is the way to go.
-  postPatch = ''
-    substituteInPlace pyproject.toml --replace "'ninja'," ""
-  '';
+  setupHooks = [
+    ./add-build-flags.sh
+  ];
 
   meta = {
     changelog = "https://github.com/mesonbuild/meson-python/blob/${version}/CHANGELOG.rst";
diff --git a/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix b/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix
index 9eda32b4e48a..46bf44bf8ad9 100644
--- a/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mezzanine/default.nix
@@ -14,6 +14,7 @@
 , pillow
 , pyflakes
 , pythonOlder
+, pytz
 , requests
 , requests-oauthlib
 , tzlocal
@@ -47,6 +48,7 @@ buildPythonPackage rec {
     future
     grappelli_safe
     pillow
+    pytz
     requests
     requests-oauthlib
     tzlocal
diff --git a/nixpkgs/pkgs/development/python-modules/minio/default.nix b/nixpkgs/pkgs/development/python-modules/minio/default.nix
index a036521a30e2..e76ffe0c8090 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.15";
+  version = "7.1.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "minio";
     repo = "minio-py";
     rev = "refs/tags/${version}";
-    hash = "sha256-eqQPOMEJOTdvYHaQ+ty+bDJn4/S5KnUOtF42O1wc+mw=";
+    hash = "sha256-avGCAaqP2gLlrLDFzUJZW/KaT2lrueVjgsAJSk1eyX0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs-autorefs/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs-autorefs/default.nix
index 3b98ff015cca..1a0b64efe1e1 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs-autorefs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-autorefs/default.nix
@@ -4,26 +4,31 @@
 , markdown
 , mkdocs
 , pytestCheckHook
-, pdm-pep517
+, pdm-backend
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "mkdocs-autorefs";
-  version = "0.4.1";
+  version = "0.5.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mkdocstrings";
     repo = "autorefs";
-    rev = version;
-    hash = "sha256-kiHb/XSFw6yaUbLJHBvHaQAOVUM6UfyFeomgniDZqgU=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-GZKQlOXhQIQhS/z4cbmS6fhAKYgnVhSXh5a8Od7+TWc=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'dynamic = ["version"]' 'version = "${version}"'
+  '';
+
   nativeBuildInputs = [
-    pdm-pep517
+    pdm-backend
   ];
 
   propagatedBuildInputs = [
@@ -35,11 +40,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'dynamic = ["version"]' 'version = "${version}"'
-  '';
-
   pythonImportsCheck = [
     "mkdocs_autorefs"
   ];
@@ -47,6 +47,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Automatically link across pages in MkDocs";
     homepage = "https://github.com/mkdocstrings/autorefs/";
+    changelog = "https://github.com/mkdocstrings/autorefs/blob/${version}/CHANGELOG.md";
     license = licenses.isc;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix
new file mode 100644
index 000000000000..1bc335fdbace
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, gitpython
+, mkdocs
+, pytz
+, pytestCheckHook
+, git
+}:
+
+buildPythonPackage rec {
+  pname = "mkdocs-git-revision-date-localized-plugin";
+  version = "1.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "timvink";
+    repo = "mkdocs-git-revision-date-localized-plugin";
+    rev = "v${version}" ;
+    hash = "sha256-l7NUmsdd1FHkbdqtRcMQBfplZJgLCXrN+QuYaQLpz0k=";
+  };
+
+  propagatedBuildInputs = [
+    gitpython
+    mkdocs
+    pytz
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  disabledTestPaths = [
+    "tests/test_builds.py"
+  ];
+
+  pythonImportsCheck = [ "mkdocs_git_revision_date_localized_plugin" ];
+
+  meta = with lib; {
+    description = "MkDocs plugin that enables displaying the date of the last git modification of a page";
+    homepage = "https://github.com/timvink/mkdocs-git-revision-date-localized-plugin";
+    changelog = "https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ totoroot ];
+  };
+}
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 8202b769415e..54499fdbd07d 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-mermaid2-plugin/default.nix
@@ -1,4 +1,6 @@
-{ lib, buildPythonPackage, fetchFromGitHub
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , beautifulsoup4
 , jsbeautifier
 , mkdocs
@@ -6,17 +8,21 @@
 , pymdown-extensions
 , pyyaml
 , requests
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "mkdocs-mermaid2-plugin";
-  version = "0.6.0";
+  version = "1.0.8";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "fralau";
     repo = "mkdocs-mermaid2-plugin";
-    rev = "v${version}";
-    hash = "sha256-Oe6wkVrsB0NWF+HHeifrEogjxdGPINRDJGkh9p+GoHs=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-0h/EMfp6D14ZJcQe3U2r/RQ/VNejOK9bLP6AMNiB0Rc=";
   };
 
   propagatedBuildInputs = [
@@ -32,11 +38,14 @@ buildPythonPackage rec {
   # non-traditional python tests (e.g. nodejs based tests)
   doCheck = false;
 
-  pythonImportsCheck = [ "mermaid2" ];
+  pythonImportsCheck = [
+    "mermaid2"
+  ];
 
   meta = with lib; {
     description = "A MkDocs plugin for including mermaid graphs in markdown sources";
     homepage = "https://github.com/fralau/mkdocs-mermaid2-plugin";
+    changelog = "https://github.com/fralau/mkdocs-mermaid2-plugin/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix
index dcd7a15fa7db..e297f47a0b5d 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocstrings-python/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "mkdocstrings-python";
-  version = "1.2.1";
+  version = "1.5.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mkdocstrings";
     repo = "python";
     rev = "refs/tags/${version}";
-    hash = "sha256-65c63K8u3aWJFeMIi0jOeRA7RXc1OWumys0LUOvgBEU=";
+    hash = "sha256-Z92w84JI7tzARHNdVZvOrMHFbMLUayf6uHak++C0suc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ml-dtypes/default.nix b/nixpkgs/pkgs/development/python-modules/ml-dtypes/default.nix
new file mode 100644
index 000000000000..c329196d51de
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ml-dtypes/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, setuptools
+, pybind11
+, numpy
+, pytestCheckHook
+, absl-py
+}:
+
+buildPythonPackage rec {
+  pname = "ml-dtypes";
+  version = "0.2.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "jax-ml";
+    repo = "ml_dtypes";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-eqajWUwylIYsS8gzEaCZLLr+1+34LXWhfKBjuwsEhhI=";
+    # 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;
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    pybind11
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    absl-py
+  ];
+
+  preCheck = ''
+    # remove src module, so tests use the installed module instead
+    mv ./ml_dtypes/tests ./tests
+    rm -rf ./ml_dtypes
+  '';
+
+  pythonImportsCheck = [
+    "ml_dtypes"
+  ];
+
+  meta = with lib; {
+    description = "A stand-alone implementation of several NumPy dtype extensions used in machine learning libraries";
+    homepage = "https://github.com/jax-ml/ml_dtypes";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ GaetanLepage samuela ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mlflow/default.nix b/nixpkgs/pkgs/development/python-modules/mlflow/default.nix
index 152c36848a9e..14f4b76b48cf 100644
--- a/nixpkgs/pkgs/development/python-modules/mlflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mlflow/default.nix
@@ -38,16 +38,21 @@
 
 buildPythonPackage rec {
   pname = "mlflow";
-  version = "2.4.2";
+  version = "2.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CxpxsP9Gedzo/yrpcz6ZbsC2wQbbk0EuDfhgb3kYZ8g=";
+    hash = "sha256-+ZKujqnHNQI0S69IxOxEeqnvv6iWW8CQho5hYyNPTrA=";
   };
 
+  postPatch = ''
+    substituteInPlace requirements/core-requirements.txt \
+      --replace "gunicorn<21" "gunicorn"
+  '';
+
   # Remove currently broken dependency `shap`, a model explainability package.
   # This seems quite unprincipled especially with tests not being enabled,
   # but not mlflow has a 'skinny' install option which does not require `shap`.
diff --git a/nixpkgs/pkgs/development/python-modules/mmengine/default.nix b/nixpkgs/pkgs/development/python-modules/mmengine/default.nix
index 8d9c41bd7a71..ff071c066954 100644
--- a/nixpkgs/pkgs/development/python-modules/mmengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mmengine/default.nix
@@ -1,26 +1,26 @@
 { lib
+, addict
 , buildPythonPackage
-, fetchFromGitHub
-, pytestCheckHook
-, pythonOlder
-, torch
-, opencv4
-, yapf
 , coverage
-, mlflow
+, fetchFromGitHub
 , lmdb
 , matplotlib
+, mlflow
 , numpy
+, opencv4
+, parameterized
+, pytestCheckHook
+, pythonOlder
 , pyyaml
 , rich
 , termcolor
-, addict
-, parameterized
+, torch
+, yapf
 }:
 
 buildPythonPackage rec {
   pname = "mmengine";
-  version = "0.7.4";
+  version = "0.8.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,35 +29,27 @@ buildPythonPackage rec {
     owner = "open-mmlab";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-eridbYHagwAyXX3/JggfvC0vuy6nBAIISRy1ARrQ7Kk=";
+    hash = "sha256-kJhcw6Hpzx3s5WHeLTF8pydbAKXwfVgvxo7SsSN5gls=";
   };
 
-  # tests are disabled due to sandbox env.
-  disabledTests = [
-    "test_fileclient"
-    "test_http_backend"
-    "test_misc"
-  ];
-
-  nativeBuildInputs = [ pytestCheckHook ];
-
-  nativeCheckInputs = [
-    coverage
-    lmdb
-    mlflow
-    torch
-    parameterized
-  ];
-
   propagatedBuildInputs = [
     addict
     matplotlib
     numpy
+    opencv4
     pyyaml
     rich
     termcolor
     yapf
-    opencv4
+  ];
+
+  nativeCheckInputs = [
+    coverage
+    lmdb
+    mlflow
+    torch
+    parameterized
+    pytestCheckHook
   ];
 
   preCheck = ''
@@ -68,8 +60,27 @@ buildPythonPackage rec {
     "mmengine"
   ];
 
+  disabledTestPaths = [
+    # AttributeError
+    "tests/test_fileio/test_backends/test_petrel_backend.py"
+  ];
+
+  disabledTests = [
+    # Tests are disabled due to sandbox
+    "test_fileclient"
+    "test_http_backend"
+    "test_misc"
+    # RuntimeError
+    "test_dump"
+    "test_deepcopy"
+    "test_copy"
+    "test_lazy_import"
+    # AssertionError
+    "test_lazy_module"
+  ];
+
   meta = with lib; {
-    description = "a foundational library for training deep learning models based on PyTorch";
+    description = "Library for training deep learning models based on PyTorch";
     homepage = "https://github.com/open-mmlab/mmengine";
     changelog = "https://github.com/open-mmlab/mmengine/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
diff --git a/nixpkgs/pkgs/development/python-modules/mmh3/default.nix b/nixpkgs/pkgs/development/python-modules/mmh3/default.nix
index 9a2c9a5906fb..73f38bbca258 100644
--- a/nixpkgs/pkgs/development/python-modules/mmh3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mmh3/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "mmh3";
-  version = "4.0.0";
+  version = "4.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BWuD0E5ZVUfQQHzI5apdi6iAKor6QXtkwcMCNbU4njA=";
+    hash = "sha256-rYvmldxORKeWMXSLpVYtgD8KxC02prl6U6yoSnCAk4U=";
   };
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/mock/default.nix b/nixpkgs/pkgs/development/python-modules/mock/default.nix
index e12ed6d6b04b..7e5a72a47fad 100644
--- a/nixpkgs/pkgs/development/python-modules/mock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mock/default.nix
@@ -1,40 +1,35 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
-, python
 , pythonOlder
-, pytest
-, unittestCheckHook
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "mock";
-  version = "4.0.3";
+  version = "5.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc";
+    sha256 = "sha256-Xpaq1czaRxjgointlLICTfdcwtVVdbpXYtMfV2e4dn0=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/testing-cabal/mock/commit/f3e3d82aab0ede7e25273806dc0505574d85eae2.patch";
-      hash = "sha256-wPrv1/WeICZHn31UqFlICFsny2knvn3+Xg8BZoaGbwQ=";
-    })
+  nativeCheckInputs = [
+    pytestCheckHook
   ];
 
-  nativeCheckInputs = [
-    unittestCheckHook
-    pytest
+  pythonImportsCheck = [
+    "mock"
   ];
 
   meta = with lib; {
-    description = "Mock objects for Python";
+    description = "Rolling backport of unittest.mock for all Pythons";
     homepage = "https://github.com/testing-cabal/mock";
+    changelog = "https://github.com/testing-cabal/mock/blob/${version}/CHANGELOG.rst";
     license = licenses.bsd2;
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/model-bakery/default.nix b/nixpkgs/pkgs/development/python-modules/model-bakery/default.nix
new file mode 100644
index 000000000000..005efb6c686d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/model-bakery/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hatchling
+, django
+, pytestCheckHook
+, pythonOlder
+, pytest-django
+}:
+
+buildPythonPackage rec {
+  pname = "model-bakery";
+  version = "1.14.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "model-bakers";
+    repo = "model_bakery";
+    rev = "refs/tags/${version}";
+    hash = "sha256-eiCbx15lY8H+xS2HhDCpsqwsuZGxou8aHgaktd/+65U=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    django
+  ];
+
+  nativeCheckInputs = [
+    pytest-django
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "model_bakery"
+  ];
+
+  meta = with lib; {
+    description = "Object factory for Django";
+    homepage = "https://github.com/model-bakers/model_bakery";
+    changelog = "https://github.com/model-bakers/model_bakery/blob/${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix b/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix
index e2d498bc4215..31d76131c2ba 100644
--- a/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moderngl_window/default.nix
@@ -1,19 +1,28 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, isPy3k
-, numpy
+, glfw
 , moderngl
-, pyglet
+, numpy
 , pillow
+, pygame
+, pyglet
+, pyqt5
 , pyrr
-, glcontext
+, pysdl2
+, pyside2
+, pythonOlder
+, scipy
+, trimesh
 }:
 
 buildPythonPackage rec {
   pname = "moderngl-window";
   version = "2.4.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "moderngl";
@@ -22,21 +31,50 @@ buildPythonPackage rec {
     hash = "sha256-mg3j5ZoMwdk39L5xjcoEJo9buqssM1VLJtndSFsuCB0=";
   };
 
-  propagatedBuildInputs = [ numpy moderngl pyglet pillow pyrr glcontext ];
+  propagatedBuildInputs = [
+    numpy
+    moderngl
+    pyglet
+    pillow
+    pyrr
+  ];
 
-  disabled = !isPy3k;
+  passthru.optional-dependencies = {
+    trimesh = [
+      trimesh
+      scipy
+    ];
+    glfw = [
+      glfw
+    ];
+    pygame = [
+      pygame
+    ];
+    PySDL2 = [
+      pysdl2
+    ];
+    PySide2 = [
+      pyside2
+    ];
+    pyqt5 = [
+      pyqt5
+    ];
+  };
 
   # Tests need a display to run.
   doCheck = false;
 
-  pythonImportsCheck = [ "moderngl_window" ];
+  pythonImportsCheck = [
+    "moderngl_window"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/moderngl/moderngl_window";
     description = "Cross platform helper library for ModernGL making window creation and resource loading simple";
+    homepage = "https://github.com/moderngl/moderngl-window";
+    changelog = "https://github.com/moderngl/moderngl-window/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
-    broken = stdenv.isDarwin; # darwin build breaks
-    platforms = platforms.mesaPlatforms;
     maintainers = with maintainers; [ c0deaddict ];
+    platforms = platforms.mesaPlatforms;
+    broken = versionAtLeast pillow.version "2" || stdenv.isDarwin;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/moto/default.nix b/nixpkgs/pkgs/development/python-modules/moto/default.nix
index b029f9cad44e..c30fc5311d04 100644
--- a/nixpkgs/pkgs/development/python-modules/moto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moto/default.nix
@@ -79,6 +79,8 @@ buildPythonPackage rec {
     xmltodict
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     freezegun
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix b/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
index 97a7aed915e1..8584930c31f1 100644
--- a/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mpi4py/default.nix
@@ -43,6 +43,8 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ mpi ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [ openssh ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/mpmath/default.nix b/nixpkgs/pkgs/development/python-modules/mpmath/default.nix
index 412965ab11ab..1a8e4c030979 100644
--- a/nixpkgs/pkgs/development/python-modules/mpmath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mpmath/default.nix
@@ -1,32 +1,34 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, fetchpatch
-, setuptools-scm
+, fetchFromGitHub
+, gmpy2
+, isPyPy
+, setuptools
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "mpmath";
-  version = "1.2.1";
+  version = "1.3.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a";
+  src = fetchFromGitHub {
+    owner = "mpmath";
+    repo = "mpmath";
+    rev = "refs/tags/${version}";
+    hash = "sha256-9BGcaC3TyolGeO65/H42T/WQY6z5vc1h+MA+8MGFChU=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2021-29063.patch";
-      url = "https://github.com/fredrik-johansson/mpmath/commit/46d44c3c8f3244017fe1eb102d564eb4ab8ef750.patch";
-      hash = "sha256-DaZ6nj9rEsjTAomu481Ujun364bL5E6lkXFvgBfHyeA=";
-    })
-  ];
-
   nativeBuildInputs = [
-    setuptools-scm
+    setuptools
   ];
 
+  passthru.optional-dependencies = {
+    gmpy = lib.optionals (!isPyPy) [
+      gmpy2
+    ];
+  };
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
@@ -38,5 +40,4 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/msal/default.nix b/nixpkgs/pkgs/development/python-modules/msal/default.nix
index 70d2ebdd36a9..123008106b8e 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.22.0";
+  version = "1.23.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ioL1N1ZCwWJciQWAGEMClMEJRA3OQupmfUZsLKtSCs0=";
+    hash = "sha256-JcmjOs+EMB+T0f2+nxqcYM04rw1f/9v6N4E4/HvB6Gs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/msgspec/default.nix b/nixpkgs/pkgs/development/python-modules/msgspec/default.nix
index b83a6b8a068b..89ccbb63ff60 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.17.0";
+  version = "0.18.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "jcrist";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-hxXywlDZoQ1DUL/03UngIdlHke8Ey4rDbEV4JKxiGps=";
+    hash = "sha256-cacwbl5JYqQGXhdt/F0nhX032GCw8RwFi0XBsn7dlq0=";
   };
 
   # Requires libasan to be accessible
diff --git a/nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix
index 239dccb7e2a0..d64d9d20c5ca 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-builder";
-  version = "7.17.2";
+  version = "7.17.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "youtype";
     repo = "mypy_boto3_builder";
     rev = "refs/tags/${version}";
-    hash = "sha256-YuHq3pfx3dNgi9M4dGSmIOC3iZaLe9lqrRL0q3ggCTs=";
+    hash = "sha256-ziJb/aIvK8zZ2NwCKtyGHNQ0LM0Sro6//oAESlku0kI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mypy-boto3-ebs/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-boto3-ebs/default.nix
index 62b26ff2d21b..56734b6a9d52 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy-boto3-ebs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy-boto3-ebs/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-ebs";
-  version = "1.28.13";
+  version = "1.28.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GhOEPhx4zD5jXyTMH75DOq0UL4LgOMkJn0U5nKciNMI=";
+    hash = "sha256-PJkVweQPGGR3NwCpg/O+Cs822XU6awMfUL6wWwT6e0w=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index 2dadaefe38cf..063974c955fe 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.28.16";
+  version = "1.28.27";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TlX9rXKbbm9FIR41S9Ggp0WlZf6dHkYnN/d1wohJz7U=";
+    hash = "sha256-8QlDRPaNH/4rmYQE4uT/mqQjlDhpIYf6g617c0c5mRw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mypy/default.nix b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
index 141caaad1928..0528aeaec52b 100644
--- a/nixpkgs/pkgs/development/python-modules/mypy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mypy/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pythonOlder
 
 # build-system
@@ -31,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "mypy";
-  version = "1.3.0";
+  version = "1.4.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -40,9 +41,17 @@ buildPythonPackage rec {
     owner = "python";
     repo = "mypy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-dfKuIyzgZo5hAZHighpXH78dHJ1PMbyCakyxF34CnMQ=";
+    hash = "sha256-2PeE/L9J6J0IuUpHZasemM8xxefNJrdzYnutgJjevWQ=";
   };
 
+  patches = [
+    (fetchpatch {
+      # pytest 7.4 compat
+      url = "https://github.com/python/mypy/commit/0a020fa73cf5339a80d81c5b44e17116a5c5307e.patch";
+      hash = "sha256-3HQPo+V7T8Gr92clXAt5QJUJPmhjnGjQgFq0qR0whfw=";
+    })
+  ];
+
   nativeBuildInputs = [
     mypy-extensions
     setuptools
@@ -108,12 +117,15 @@ buildPythonPackage rec {
     "mypy/test/testdaemon.py"
     # fails to find setuptools
     "mypyc/test/test_commandline.py"
+    # fails to find hatchling
+    "mypy/test/testpep561.py"
   ];
 
   meta = with lib; {
     description = "Optional static typing for Python";
     homepage = "https://www.mypy-lang.org";
     license = licenses.mit;
+    mainProgram = "mypy";
     maintainers = with maintainers; [ martingms lnl7 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/nbclient/default.nix b/nixpkgs/pkgs/development/python-modules/nbclient/default.nix
index 6f0d85ff9203..6c386ee01854 100644
--- a/nixpkgs/pkgs/development/python-modules/nbclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbclient/default.nix
@@ -1,4 +1,4 @@
-{ async_generator
+{ async-generator
 , buildPythonPackage
 , fetchFromGitHub
 , hatchling
@@ -36,7 +36,7 @@ let nbclient = buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    async_generator
+    async-generator
     traitlets
     nbformat
     nest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
index 54632a502573..e7fb3dfba472 100644
--- a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
@@ -1,28 +1,28 @@
-{ beautifulsoup4
-, bleach
+{ lib
+, fetchurl
 , buildPythonPackage
-, defusedxml
+, pythonOlder
 , fetchPypi
-, fetchpatch
-, fetchurl
 , hatchling
-, importlib-metadata
-, ipywidgets
+, beautifulsoup4
+, bleach
+, defusedxml
 , jinja2
 , jupyter-core
 , jupyterlab-pygments
-, lib
 , markupsafe
 , mistune
 , nbclient
 , packaging
 , pandocfilters
 , pygments
-, pyppeteer
-, pytestCheckHook
-, pythonOlder
 , tinycss2
 , traitlets
+, importlib-metadata
+, flaky
+, ipywidgets
+, pyppeteer
+, pytestCheckHook
 }:
 
 let
@@ -33,15 +33,15 @@ let
   };
 in buildPythonPackage rec {
   pname = "nbconvert";
-  version = "7.2.5";
+  version = "7.7.3";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-j9xE/X2UJNt/3G4eg0oC9rhiD/tlN2c4i+L56xb4QYQ=";
+    hash = "sha256-SlmWv1880WqgQxiXuhqkxkhCwgefQ0s9xrjEslLvM1U=";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
@@ -85,6 +85,7 @@ in buildPythonPackage rec {
   '';
 
   nativeCheckInputs = [
+    flaky
     ipywidgets
     pyppeteer
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/nbformat/default.nix b/nixpkgs/pkgs/development/python-modules/nbformat/default.nix
index 85489d4566ed..354a937a6105 100644
--- a/nixpkgs/pkgs/development/python-modules/nbformat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbformat/default.nix
@@ -15,15 +15,13 @@
 
 buildPythonPackage rec {
   pname = "nbformat";
-  version = "5.7.3";
-
-  disabled = pythonOlder "3.7";
-
+  version = "5.9.1";
   format = "pyproject";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-SwIfyiTTp0e/TmJmlAM9eS1ZRwWCnl41sU7jNp+fZHc=";
+    hash = "sha256-On9S0EBjnL2KOJAhjIsP+5MhFYjFdEbJAJXjK6WIG10=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix b/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
index a6001ecd2f31..7ad403678cef 100644
--- a/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
@@ -1,20 +1,22 @@
 { lib
 , buildPythonPackage
-, pythonOlder
 , fetchFromGitLab
 , gobject-introspection
 , idna
 , libsoup_3
+, packaging
 , precis-i18n
 , pygobject3
 , pyopenssl
-, setuptools
 , pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "4.3.1";
+  version = "4.3.2";
+  format = "pyproject";
 
   disabled = pythonOlder "3.10";
 
@@ -22,15 +24,14 @@ buildPythonPackage rec {
     domain = "dev.gajim.org";
     owner = "gajim";
     repo = "python-nbxmpp";
-    rev = version;
-    hash = "sha256-8Fh4sgQps6zUEN8o5ljrDIbRlbSZIMncbqh/qAnyOkw=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-vSLWaGYST1nut+0KAzURRKsr6XRtmYYTrkJiQEK3wa4=";
   };
 
-  format = "pyproject";
-
   nativeBuildInputs = [
     # required for pythonImportsCheck otherwise libsoup cannot be found
     gobject-introspection
+    setuptools
   ];
 
   buildInputs = [
@@ -41,16 +42,18 @@ buildPythonPackage rec {
     gobject-introspection
     idna
     libsoup_3
+    packaging
     pygobject3
     pyopenssl
-    setuptools
   ];
 
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "nbxmpp" ];
+  pythonImportsCheck = [
+    "nbxmpp"
+  ];
 
   meta = with lib; {
     homepage = "https://dev.gajim.org/gajim/python-nbxmpp";
diff --git a/nixpkgs/pkgs/development/python-modules/nclib/default.nix b/nixpkgs/pkgs/development/python-modules/nclib/default.nix
index e6db538859fc..c2717746bf69 100644
--- a/nixpkgs/pkgs/development/python-modules/nclib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nclib/default.nix
@@ -6,17 +6,22 @@
 
 buildPythonPackage rec {
   pname = "nclib";
-  version = "1.0.3";
-  disabled = pythonOlder "3.5";
+  version = "1.0.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-26KjYMxJMj5ANb2ej9hVl689sAcGHp89QUkH2xiLhZk=";
+    hash = "sha256-sKbISlL5hOBu1j6zWSib2HjJCvEoMrqdwzgG2keMqDE=";
   };
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "nclib" ];
+
+  pythonImportsCheck = [
+    "nclib"
+  ];
 
   meta = with lib; {
     description = "Python module that provides netcat features";
diff --git a/nixpkgs/pkgs/development/python-modules/ndspy/default.nix b/nixpkgs/pkgs/development/python-modules/ndspy/default.nix
index 1fb330213888..dbdce14ae1f4 100644
--- a/nixpkgs/pkgs/development/python-modules/ndspy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ndspy/default.nix
@@ -1,14 +1,13 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, crcmod
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "ndspy";
-  version = "4.0.0";
+  version = "4.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,13 +16,9 @@ buildPythonPackage rec {
     owner = "RoadrunnerWMC";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0x3sp10had1mq192m7kgjivvs8kpjagxjgj9d4z95dfjhzzbjh70";
+    hash = "sha256-V7phRZCA0WbUpYLgS/4nJbje/JM61RksDUZQ2pnbQyU=";
   };
 
-  propagatedBuildInputs = [
-    crcmod
-  ];
-
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/netutils/default.nix b/nixpkgs/pkgs/development/python-modules/netutils/default.nix
index 19a5be4077d2..bee05b436cdc 100644
--- a/nixpkgs/pkgs/development/python-modules/netutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/netutils/default.nix
@@ -1,8 +1,9 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , jinja2
+, napalm
 , poetry-core
 , pytestCheckHook
 , pythonOlder
@@ -12,22 +13,26 @@
 
 buildPythonPackage rec {
   pname = "netutils";
-  version = "1.4.1";
+  version = "1.5.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "networktocode";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-hSSHCWi0L/ZfFz0JQ6Al5mjhb2g0DpykLF66uMKMIN8=";
+    hash = "sha256-uUw48EBUpEUw+A8wxw3qXrnqmFWQzg/zb+8qAGRSlUw=";
   };
 
   nativeBuildInputs = [
     poetry-core
   ];
 
+  propagatedBuildInputs = [
+    napalm
+  ];
+
   nativeCheckInputs = [
     jinja2
     pytestCheckHook
@@ -49,6 +54,9 @@ buildPythonPackage rec {
     # OSError: [Errno 22] Invalid argument
     "test_compare_type5"
     "test_encrypt_type5"
+    "test_compare_cisco_type5"
+    "test_get_napalm_getters_napalm_installed_default"
+    "test_encrypt_cisco_type5"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/ninja/default.nix b/nixpkgs/pkgs/development/python-modules/ninja/default.nix
index d3ab12c29a55..0ff678569302 100644
--- a/nixpkgs/pkgs/development/python-modules/ninja/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ninja/default.nix
@@ -1,72 +1,47 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, fetchurl
-, cmake
-, setuptools-scm
-, scikit-build
-, pytestCheckHook
-, pytest-virtualenv
+, flit-core
+, ninja
 }:
-let
-  # these must match NinjaUrls.cmake
-  ninja_src_url = "https://github.com/Kitware/ninja/archive/v1.11.1.g95dee.kitware.jobserver-1.tar.gz";
-  ninja_src_sha256 = "7ba84551f5b315b4270dc7c51adef5dff83a2154a3665a6c9744245c122dd0db";
-  ninja_src = fetchurl {
-    url = ninja_src_url;
-    sha256 = ninja_src_sha256;
-  };
-in
+
 buildPythonPackage rec {
   pname = "ninja";
-  version = "1.11.1";
+  inherit (ninja) version;
   format = "pyproject";
 
-  src = fetchFromGitHub {
-    owner = "scikit-build";
-    repo = "ninja-python-distributions";
-    rev = version;
-    hash = "sha256-scCYsSEyN+u3qZhNhWYqHpJCl+JVJJbKz+T34gOXGJM=";
-  };
-  patches = [
-    # make sure cmake doesn't try to download the ninja sources
-    ./no-download.patch
-  ];
+  src = ./stub;
 
-  inherit ninja_src;
   postUnpack = ''
-    # assume that if the hash matches, the source should be fine
-    if ! grep "${ninja_src_sha256}" $sourceRoot/NinjaUrls.cmake; then
-      echo "ninja_src_sha256 doesn't match the hash in NinjaUrls.cmake!"
-      exit 1
-    fi
-    mkdir -p "$sourceRoot/Ninja-src"
-    pushd "$sourceRoot/Ninja-src"
-    tar -xavf ${ninja_src} --strip-components 1
-    popd
-  '';
+    substituteInPlace "$sourceRoot/pyproject.toml" \
+      --subst-var version
 
-  postPatch = ''
-    sed -i '/cov/d' setup.cfg
+    substituteInPlace "$sourceRoot/ninja/__init__.py" \
+      --subst-var-by BIN_DIR "${ninja}/bin"
   '';
 
-  dontUseCmakeConfigure = true;
+  inherit (ninja) setupHook;
 
   nativeBuildInputs = [
-    setuptools-scm
-    scikit-build
-    cmake
+    flit-core
   ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-    pytest-virtualenv
+  preBuild = ''
+    cp "${ninja.src}/misc/ninja_syntax.py" ninja/ninja_syntax.py
+  '';
+
+  pythonImportsCheck = [
+    "ninja"
+    "ninja.ninja_syntax"
   ];
 
   meta = with lib; {
     description = "A small build system with a focus on speed";
+    longDescription = ''
+      This is a stub of the ninja package on PyPI that uses the ninja program
+      provided by nixpkgs instead of downloading ninja from the web.
+    '';
     homepage = "https://github.com/scikit-build/ninja-python-distributions";
     license = licenses.asl20;
-    maintainers = with maintainers; [ _999eagle ];
+    maintainers = with maintainers; [ _999eagle tjni ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ninja/no-download.patch b/nixpkgs/pkgs/development/python-modules/ninja/no-download.patch
deleted file mode 100644
index 0937a5fde1ea..000000000000
--- a/nixpkgs/pkgs/development/python-modules/ninja/no-download.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -64,6 +64,7 @@
-   # Download selected source archive
-   ExternalProject_add(download_ninja_source
-     SOURCE_DIR ${Ninja_SOURCE_DIR}
-+    DOWNLOAD_COMMAND ""
-     URL ${${src_archive}_url}
-     URL_HASH SHA256=${${src_archive}_sha256}
-     DOWNLOAD_DIR ${ARCHIVE_DOWNLOAD_DIR}
diff --git a/nixpkgs/pkgs/development/python-modules/ninja/stub/ninja/__init__.py b/nixpkgs/pkgs/development/python-modules/ninja/stub/ninja/__init__.py
new file mode 100644
index 000000000000..fcf70f10ba31
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ninja/stub/ninja/__init__.py
@@ -0,0 +1,11 @@
+import os
+import subprocess
+import sys
+
+BIN_DIR = '@BIN_DIR@'
+
+def _program(name, args):
+    return subprocess.call([os.path.join(BIN_DIR, name)] + args, close_fds=False)
+
+def ninja():
+    raise SystemExit(_program('ninja', sys.argv[1:]))
diff --git a/nixpkgs/pkgs/development/python-modules/ninja/stub/pyproject.toml b/nixpkgs/pkgs/development/python-modules/ninja/stub/pyproject.toml
new file mode 100644
index 000000000000..0a8a6314288a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ninja/stub/pyproject.toml
@@ -0,0 +1,11 @@
+[build-system]
+requires = ["flit_core"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "ninja"
+version = "@version@"
+description = "Ninja is a small build system with a focus on speed"
+
+[project.scripts]
+ninja = "ninja:ninja"
diff --git a/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix b/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix
index a1874aef4066..e995f6a97fa8 100644
--- a/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "nlpcloud";
-  version = "1.0.43";
+  version = "1.1.43";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WLbmPFBiZ7utFo0cqiBKsetlhtgun/YMGTEIvMUhRnc=";
+    hash = "sha256-y3OZ5Tgd9FJmuon+9UyFmJgoASd1UyZVsWxmlPaxqEI=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix b/nixpkgs/pkgs/development/python-modules/nomadnet/default.nix
index 28410b313298..71070e2decd5 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.5";
+  version = "0.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "NomadNet";
     rev = "refs/tags/${version}";
-    hash = "sha256-SPQ/3ntdD+EBW2YZJKfg2lornlg1ktnvTd1PNAqNSIg=";
+    hash = "sha256-3b6uwojekWthH5AsAVfS/ue+yAoIMac1LQff1mrM9PM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nose2/default.nix b/nixpkgs/pkgs/development/python-modules/nose2/default.nix
index b3dfdda218f3..648d954be7d0 100644
--- a/nixpkgs/pkgs/development/python-modules/nose2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nose2/default.nix
@@ -24,6 +24,8 @@ buildPythonPackage rec {
     six
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   checkPhase = ''
     ${python.interpreter} -m unittest
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/notebook/default.nix b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
index 9cd1e9c37a1e..95f387653d97 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
@@ -3,97 +3,70 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, argon2-cffi
-, glibcLocales
-, mock
-, jinja2
+, hatch-jupyter-builder
+, hatchling
+, jupyter-server
+, jupyterlab
+, jupyterlab_server
+, notebook-shim
 , tornado
-, ipython_genutils
-, traitlets
-, jupyter-core
-, jupyter-client
-, nbformat
-, nbclassic
-, nbconvert
-, ipykernel
-, terminado
-, requests
-, send2trash
-, pexpect
-, prometheus-client
+, pytest-jupyter
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "6.5.2";
-  disabled = pythonOlder "3.7";
+  version = "7.0.2";
+  disabled = pythonOlder "3.8";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wYl+UxfiJfx4tFVJpqtLZo5MmW/QOgTpOP5eevK//9A=";
+    hash = "sha256-1w1qB0GMgpvV9UM3zpk7cQUmHZAm+dP+aOm4qhog2po=";
   };
 
-  LC_ALL = "en_US.utf8";
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "timeout = 300" ""
+  '';
 
-  nativeCheckInputs = [ pytestCheckHook glibcLocales ];
+  nativeBuildInputs = [
+    hatch-jupyter-builder
+    hatchling
+    jupyterlab
+  ];
 
   propagatedBuildInputs = [
-    jinja2
+    jupyter-server
+    jupyterlab
+    jupyterlab_server
+    notebook-shim
     tornado
-    ipython_genutils
-    traitlets
-    jupyter-core
-    send2trash
-    jupyter-client
-    nbformat
-    nbclassic
-    nbconvert
-    ipykernel
-    terminado
-    requests
-    pexpect
-    prometheus-client
-    argon2-cffi
   ];
 
-  postPatch = ''
-    # Remove selenium tests
-    rm -rf notebook/tests/selenium
-    export HOME=$TMPDIR
-  '';
-
-  disabledTests = [
-    # a "system_config" is generated, and fails many tests
-    "config"
-    "load_ordered"
-    # requires jupyter, but will cause circular imports
-    "test_run"
-    "TestInstallServerExtension"
-    "launch_socket"
-    "sock_server"
-    "test_list_formats" # tries to find python MIME type
-    "KernelCullingTest" # has a race condition failing on slower hardware
-    "test_connections" # tornado.simple_httpclient.HTTPTimeoutError: Timeout during request"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "test_delete"
-    "test_checkpoints_follow_file"
+  nativeCheckInputs = [
+    pytest-jupyter
+    pytestCheckHook
   ];
 
-  disabledTestPaths = lib.optionals stdenv.isDarwin [
-    # requires local networking
-    "notebook/auth/tests/test_login.py"
-    "notebook/bundler/tests/test_bundler_api.py"
+  pytestFlagsArray = [
+    "-W" "ignore::DeprecationWarning"
   ];
 
+  env = {
+    JUPYTER_PLATFORM_DIRS = 1;
+  };
+
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
 
   meta = {
-    description = "The Jupyter HTML notebook is a web-based notebook environment for interactive computing";
+    changelog = "https://github.com/jupyter/notebook/blob/v${version}/CHANGELOG.md";
+    description = "Web-based notebook environment for interactive computing";
     homepage = "https://github.com/jupyter/notebook";
     license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ fridh ];
+    maintainers = lib.teams.jupyter.members;
     mainProgram = "jupyter-notebook";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix b/nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix
index ff64840fee7c..ce438528bc28 100644
--- a/nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notus-scanner/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , paho-mqtt
 , poetry-core
 , psutil
@@ -26,6 +27,14 @@ buildPythonPackage rec {
     hash = "sha256-h+jZWjDvTfW9XjoGhWYX08hgJ/Qp64MEaqHHwnahnC4=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "update-packaging-dependency.patch";
+      url = "https://github.com/greenbone/notus-scanner/commit/bfa7d3d2e63e250ff25a66c60b782eb9da0e89e7.patch";
+      hash = "sha256-hzS8TYBXDEq+cgWlp6fSOtSbyeX9EX2rURmnFMF5jN0=";
+    })
+  ];
+
   pythonRelaxDeps = [
     "python-gnupg"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/nplusone/default.nix b/nixpkgs/pkgs/development/python-modules/nplusone/default.nix
index ecf2255b3593..5a31394c2d35 100644
--- a/nixpkgs/pkgs/development/python-modules/nplusone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nplusone/default.nix
@@ -1,6 +1,7 @@
 { lib
 , blinker
 , buildPythonPackage
+, django
 , fetchFromGitHub
 , flake8
 , flask-sqlalchemy
@@ -79,5 +80,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/jmcarp/nplusone";
     maintainers = with maintainers; [ cript0nauta ];
     license = licenses.mit;
+    broken = lib.versionAtLeast django.version "4";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/nsz/default.nix b/nixpkgs/pkgs/development/python-modules/nsz/default.nix
index 88402b340a12..e9d6edbfa80a 100644
--- a/nixpkgs/pkgs/development/python-modules/nsz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nsz/default.nix
@@ -1,21 +1,33 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pycryptodome, enlighten, zstandard
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pycryptodome
+, pythonOlder
+, enlighten
+, zstandard
 , withGUI ? true
 , kivy
 }:
 
 buildPythonPackage rec {
   pname = "nsz";
-  version = "4.3.0";
+  version = "4.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nicoboss";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-azmUJ3ofLdNwNeIQL/TuPYE98FZ8yXwbJx3wHCo8lw4=";
+    hash = "sha256-glK4CK7D33FfLqHLxVr4kkb887/A9tqxPwWpcXYZu/0=";
   };
 
-  propagatedBuildInputs = [pycryptodome enlighten zstandard ]
-    ++ lib.optional withGUI kivy;
+  propagatedBuildInputs = [
+    pycryptodome
+    enlighten
+    zstandard
+  ] ++ lib.optional withGUI kivy;
 
   # do not check, as nsz requires producation keys
   # dumped from a Nintendo Switch.
@@ -23,7 +35,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     homepage = "https://github.com/nicoboss/nsz";
-    description = "NSZ - Homebrew compatible NSP/XCI compressor/decompressor";
+    description = "Homebrew compatible NSP/XCI compressor/decompressor";
+    changelog = "https://github.com/nicoboss/nsz/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ eyjhb ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/numba-scipy/default.nix b/nixpkgs/pkgs/development/python-modules/numba-scipy/default.nix
index 07e82c0ca6d7..c4c37b7ad333 100644
--- a/nixpkgs/pkgs/development/python-modules/numba-scipy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numba-scipy/default.nix
@@ -6,6 +6,7 @@
 , numba
 , pytestCheckHook
 , pythonOlder
+, pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
@@ -25,14 +26,13 @@ buildPythonPackage rec {
     numba
   ];
 
-  postPatch = ''
-    # https://github.com/numba/numba-scipy/pull/76
-    substituteInPlace setup.py \
-      --replace "scipy>=0.16,<=1.7.3" "scipy>=0.16"
-  '';
-
   nativeCheckInputs = [
     pytestCheckHook
+    pythonRelaxDepsHook
+  ];
+  pythonRelaxDeps = [
+    "scipy"
+    "numba"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/numba/default.nix b/nixpkgs/pkgs/development/python-modules/numba/default.nix
index d503307ce67a..874cbe2376d1 100644
--- a/nixpkgs/pkgs/development/python-modules/numba/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numba/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , pythonAtLeast
 , pythonOlder
-, fetchPypi
+, fetchFromGitHub
 , python
 , buildPythonPackage
 , setuptools
@@ -27,23 +27,31 @@
 let
   inherit (cudaPackages) cudatoolkit;
 in buildPythonPackage rec {
-  version = "0.56.4";
+  # 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";
   pname = "numba";
   format = "setuptools";
   disabled = pythonOlder "3.6" || pythonAtLeast "3.11";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-Mtn+9BLIFIPX7+DOts9NMxD96LYkqc7MoA95BXOslu4=";
+  src = fetchFromGitHub {
+    owner = "numba";
+    repo = "numba";
+    rev = "6f0c5060a69656319ab0bae1d8bb89484cd5631f";
+    # Upstream uses .gitattributes to inject information about the revision
+    # hash and the refname into `numba/_version.py`, see:
+    #
+    # - https://git-scm.com/docs/gitattributes#_export_subst and
+    # - https://github.com/numba/numba/blame/5ef7c86f76a6e8cc90e9486487294e0c34024797/numba/_version.py#L25-L31
+    #
+    # Hence this hash may change if GitHub / Git will change it's behavior.
+    # Hopefully this will not happen until the next release. We are fairly sure
+    # that upstream relies on those strings to be valid, that's why we don't
+    # 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=";
   };
-
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'max_numpy_run_version = "1.24"' 'max_numpy_run_version = "1.25"'
-    substituteInPlace numba/__init__.py \
-      --replace "elif numpy_version > (1, 23):" "elif numpy_version > (1, 24):"
-  '';
-
   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
 
   nativeBuildInputs = [
@@ -63,23 +71,20 @@ in buildPythonPackage rec {
     cudatoolkit.lib
   ];
 
-  patches = [
-    # fix failure in test_cache_invalidate (numba.tests.test_caching.TestCache)
-    # remove when upgrading past version 0.56
-    (fetchpatch {
-      name = "fix-test-cache-invalidate-readonly.patch";
-      url = "https://github.com/numba/numba/commit/993e8c424055a7677b2755b184fc9e07549713b9.patch";
-      hash = "sha256-IhIqRLmP8gazx+KWIyCxZrNLMT4jZT8CWD3KcH4KjOo=";
-    })
-    # Backport numpy 1.24 support from https://github.com/numba/numba/pull/8691
-    ./numpy-1.24.patch
-  ] ++ lib.optionals cudaSupport [
+  patches = lib.optionals cudaSupport [
     (substituteAll {
       src = ./cuda_path.patch;
       cuda_toolkit_path = cudatoolkit;
       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
@@ -126,6 +131,7 @@ in buildPythonPackage rec {
     description = "Compiling Python code using LLVM";
     homepage = "https://numba.pydata.org/";
     license = licenses.bsd2;
+    mainProgram = "numba";
     maintainers = with maintainers; [ fridh ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/numpy/default.nix b/nixpkgs/pkgs/development/python-modules/numpy/default.nix
index 65a077392ff9..20019633d8ca 100644
--- a/nixpkgs/pkgs/development/python-modules/numpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numpy/default.nix
@@ -39,45 +39,36 @@ let
       };
     };
   };
-in buildPythonPackage (rec {
+in buildPythonPackage rec {
   pname = "numpy";
-  version = "1.24.2";
+  version = "1.25.1";
   format = "setuptools";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "tar.gz";
-    hash = "sha256-ADqfUw6IDLLNF3y6GvciC5qkLe+cSvwqL8Pua+frKyI=";
+    hash = "sha256-mjqfOmFIDMCGEXtCaovYaGnCE/xAcuYG8BxOS2brkr8=";
   };
 
-  patches = lib.optionals python.hasDistutilsCxxPatch [
-    # We patch cpython/distutils to fix https://bugs.python.org/issue1222585
-    # Patching of numpy.distutils is needed to prevent it from undoing the
-    # patch to distutils.
-    ./numpy-distutils-C++.patch
-  ]
-  ++ lib.optionals stdenv.cc.isClang [
+  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=";
     })
-  ]
-  ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
-    # Backport from 1.25. `platform.machine` returns `arm64` on aarch64-darwin, which causes
-    # differing results between `_selected_real_kind_func` and Fortran’s `selected_real_kind`.
-    (fetchpatch {
-      url = "https://github.com/numpy/numpy/commit/afcedf4b63f4a94187e6995c2adea0da3bb18e83.patch";
-      hash = "sha256-cxBoimX5a9wC2qUIGAo5o/M2E9+eV63bV2/wLmfDYKg=";
-    })
-  ]
-  ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
+
     # 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.
     ./disable-failing-long-double-test-Rosetta-2.patch
+  ]
+  # We patch cpython/distutils to fix https://bugs.python.org/issue1222585
+  # Patching of numpy.distutils is needed to prevent it from undoing the
+  # patch to distutils.
+  ++ lib.optionals python.hasDistutilsCxxPatch [
+    ./numpy-distutils-C++.patch
   ];
 
   postPatch = ''
@@ -91,6 +82,9 @@ in buildPythonPackage (rec {
   nativeBuildInputs = [ gfortran cython ];
   buildInputs = [ blas lapack ];
 
+  # Causes `error: argument unused during compilation: '-fno-strict-overflow'` due to `-Werror`.
+  hardeningDisable = lib.optionals stdenv.cc.isClang [ "strictoverflow" ];
+
   # we default openblas to build with 64 threads
   # if a machine has more than 64 threads, it will segfault
   # see https://github.com/xianyi/OpenBLAS/issues/2993
@@ -137,7 +131,4 @@ in buildPythonPackage (rec {
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ fridh ];
   };
-} // lib.optionalAttrs stdenv.cc.isClang {
-  # Causes `error: argument unused during compilation: '-fno-strict-overflow'` due to `-Werror`.
-  hardeningDisable = [ "strictoverflow" ];
-})
+}
diff --git a/nixpkgs/pkgs/development/python-modules/numpyro/default.nix b/nixpkgs/pkgs/development/python-modules/numpyro/default.nix
index beb8557d4a7c..e521e19e8621 100644
--- a/nixpkgs/pkgs/development/python-modules/numpyro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/numpyro/default.nix
@@ -1,39 +1,41 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , jax
 , jaxlib
 , multipledispatch
 , numpy
+, tqdm
+, funsor
 , pytestCheckHook
-, pythonOlder
 , tensorflow-probability
-, tqdm
 }:
 
 buildPythonPackage rec {
   pname = "numpyro";
-  version = "0.11.0";
+  version = "0.12.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit version pname;
-    hash = "sha256-01fdGgFZ+G1FwjNwitM6PT1TQx0FtLvs4dBorkFoqo4=";
+    hash = "sha256-S3ifL/KPOJQcyBEYoE1XGxPLmSfh1uT9wJG/YtABBKQ=";
   };
 
   propagatedBuildInputs = [
     jax
     jaxlib
-    numpy
     multipledispatch
+    numpy
     tqdm
   ];
 
   nativeCheckInputs = [
-    tensorflow-probability
+    funsor
     pytestCheckHook
+    tensorflow-probability
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix b/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
index 20802a73176f..ca327c3e54e0 100644
--- a/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nvchecker/default.nix
@@ -49,6 +49,8 @@ buildPythonPackage rec {
     tomli
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     flaky
     pytest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix b/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
index 33d04b78a533..855ecb8384d4 100644
--- a/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oauthenticator/default.nix
@@ -14,29 +14,43 @@
 
 buildPythonPackage rec {
   pname = "oauthenticator";
-  version = "15.1.0";
+  version = "16.0.6";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0dmHPJtm4a+XMpGWi5Vz0lN4vYxkfzDXO42PsnsaC4U=";
+    hash = "sha256-82I+ZmWRUUV+kxveHNDXTsbOeZcT0QJo/SJP3paxRcY=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=oauthenticator" ""
+  '';
+
   propagatedBuildInputs = [
     jupyterhub
   ];
 
+  passthru.optional-dependencies = {
+    azuread = [
+      pyjwt
+    ];
+    googlegroups = [
+      google-api-python-client
+      google-auth-oauthlib
+    ];
+    mediawiki = [
+      mwoauth
+    ];
+  };
+
   nativeCheckInputs = [
-    google-api-python-client
-    google-auth-oauthlib
-    mwoauth
-    pyjwt
     pytest-asyncio
     pytestCheckHook
     requests-mock
-  ];
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   disabledTests = [
     # Tests are outdated, https://github.com/jupyterhub/oauthenticator/issues/432
@@ -49,8 +63,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Authenticate JupyterHub users with common OAuth providers, including GitHub, Bitbucket, and more.";
+    description = "Authenticate JupyterHub users with common OAuth providers";
     homepage =  "https://github.com/jupyterhub/oauthenticator";
+    changelog = "https://github.com/jupyterhub/oauthenticator/blob/${version}/docs/source/reference/changelog.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ixxie ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/objgraph/default.nix b/nixpkgs/pkgs/development/python-modules/objgraph/default.nix
index 445cc705fac9..bd0aa88262df 100644
--- a/nixpkgs/pkgs/development/python-modules/objgraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/objgraph/default.nix
@@ -4,7 +4,7 @@
 , graphviz
 , graphvizPkgs
 , isPyPy
-, pytestCheckHook
+, python
 , pythonOlder
 , substituteAll
 }:
@@ -14,7 +14,7 @@ buildPythonPackage rec {
   version = "3.6.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.5" || isPyPy;
+  disabled = pythonOlder "3.7" || isPyPy;
 
   src = fetchPypi {
     inherit pname version;
@@ -28,27 +28,27 @@ buildPythonPackage rec {
     })
   ];
 
-  propagatedBuildInputs = [
-    graphviz
-  ];
-
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+  passthru.optional-dependencies = {
+    ipython = [
+      graphviz
+    ];
+  };
 
   pythonImportsCheck = [
     "objgraph"
   ];
 
-  pytestFlagsArray = [
-    "tests.py"
-  ];
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} tests.py
+    runHook postCheck
+  '';
 
   meta = with lib; {
     description = "Draws Python object reference graphs with graphviz";
     homepage = "https://mg.pov.lt/objgraph/";
     changelog = "https://github.com/mgedmin/objgraph/blob/${version}/CHANGES.rst";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ochre/default.nix b/nixpkgs/pkgs/development/python-modules/ochre/default.nix
new file mode 100644
index 000000000000..e3604446e7e2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ochre/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, hypothesis
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ochre";
+  version = "0.4.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "getcuia";
+    repo = "ochre";
+    rev = "v${version}";
+    hash = "sha256-U6qycLnldwNze3XMAn6DS3XGX4RaCZgW0pH/y/FEAkk=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  nativeCheckInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "ochre" ];
+
+  meta = with lib; {
+    description = "A down-to-earth approach to colors";
+    homepage = "https://github.com/getcuia/ochre";
+    changelog = "https://github.com/getcuia/ochre/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/oci/default.nix b/nixpkgs/pkgs/development/python-modules/oci/default.nix
index 611d89b43442..9cae940ccc38 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.107.0";
+  version = "2.110.1";
   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-GeZCA5Bg3qSL3VRWh3Dvh9+4+3RgwuRVXR8LM/eKed4=";
+    hash = "sha256-v2h/K1gat+nHGjn6a9r1BDMDAoJ/OtNctxHzV41gRkg=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
index a9eeef0c55de..58d77f7712d0 100644
--- a/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -1,6 +1,5 @@
 { lib
 , buildPythonPackage
-, coloredlogs
 , deprecation
 , fetchFromGitHub
 , ghostscript
@@ -17,6 +16,7 @@
 , pytest-xdist
 , pytestCheckHook
 , pythonOlder
+, rich
 , reportlab
 , setuptools
 , setuptools-scm
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "ocrmypdf";
-  version = "14.3.0";
+  version = "14.4.0";
 
   disabled = pythonOlder "3.8";
 
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-OUz19N2YIl7iwayjulx0v1K00jB5SdWo8m5XiJ9BDSs=";
+    hash = "sha256-i1ZUBKR8dJXZkALUFwkzYcjtZ5Li66DfD2fupCGRQC4=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -69,7 +69,6 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    coloredlogs
     deprecation
     img2pdf
     packaging
@@ -78,6 +77,7 @@ buildPythonPackage rec {
     pillow
     pluggy
     reportlab
+    rich
     tqdm
   ] ++ lib.optionals (pythonOlder "3.9") [
     importlib-resources
diff --git a/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix b/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix
index 99c3f9e46990..76cf0b0ef1e5 100644
--- a/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/odp-amsterdam/default.nix
@@ -7,11 +7,12 @@
 , pythonOlder
 , pytest-asyncio
 , pytestCheckHook
+, pytz
 }:
 
 buildPythonPackage rec {
   pname = "odp-amsterdam";
-  version = "5.1.1";
+  version = "5.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,13 +21,12 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-odp-amsterdam";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DaL2CTrhWqBwl3kktF1wndxzrreA24C3zXmp4ghf/4s=";
+    hash = "sha256-iJjwxvlxzRpKy2P0A3mS2i05bues5YasP72HuZiuFyE=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace '"0.0.0"' '"${version}"'
-
     sed -i '/addopts/d' pyproject.toml
   '';
 
@@ -36,6 +36,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
+    pytz
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/okonomiyaki/default.nix b/nixpkgs/pkgs/development/python-modules/okonomiyaki/default.nix
index f1699e209666..c82b13cc2ee7 100644
--- a/nixpkgs/pkgs/development/python-modules/okonomiyaki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/okonomiyaki/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "okonomiyaki";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "enthought";
     repo = pname;
-    rev = version;
-    hash = "sha256-eWCOuGtdjBGThAyu15aerclkSWC593VGDPHJ98l30iY=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-MEll1H7l41m8uz2/WK/Ilm7Dubg0uqYwe+ZgakO1aXQ=";
   };
 
   propagatedBuildInputs = [ distro attrs jsonschema six zipfile2 ];
diff --git a/nixpkgs/pkgs/development/python-modules/okta/default.nix b/nixpkgs/pkgs/development/python-modules/okta/default.nix
index 42b4738fe6fa..f2e19e4a6340 100644
--- a/nixpkgs/pkgs/development/python-modules/okta/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/okta/default.nix
@@ -1,58 +1,69 @@
 { lib
 , stdenv
+, aenum
+, aiohttp
 , buildPythonPackage
 , fetchPypi
-# install requirements
-, pycryptodome
-, yarl
 , flatdict
-, python-jose
-, aenum
-, aiohttp
+, pycryptodome
+, pycryptodomex
 , pydash
-, xmltodict
-, pyyaml
-# test requirements
-, pytestCheckHook
-, pytest-recording
+, pyfakefs
 , pytest-asyncio
 , pytest-mock
-, pyfakefs
+, pytest-recording
+, pytestCheckHook
+, python-jose
+, pythonOlder
+, pyyaml
+, xmltodict
+, yarl
 }:
 
 buildPythonPackage rec {
   pname = "okta";
-  version = "2.8.0";
+  version = "2.9.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-yIVJoKX9b9Y7Ydl28twHxgPbUa58LJ12Oz3tvpU7CAc=";
+    hash = "sha256-kbzqriybzN/86vov3Q+kH2lj9plK1GzWPlc/Nc/nWF0=";
   };
 
   propagatedBuildInputs = [
-    pycryptodome
-    yarl
-    flatdict
-    python-jose
     aenum
     aiohttp
+    flatdict
+    pycryptodome
+    pycryptodomex
     pydash
-    xmltodict
+    python-jose
     pyyaml
+    xmltodict
+    yarl
   ];
 
   checkInputs = [
-    pytestCheckHook
+    pyfakefs
     pytest-asyncio
     pytest-mock
     pytest-recording
-    pyfakefs
+    pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "tests/" ];
+  pytestFlagsArray = [
+    "tests/"
+  ];
 
   disabledTests = [
     "test_client_raise_exception"
+    # vcr.errors.CannotOverwriteExistingCassetteException: Can't overwrite existing cassette
+    "test_get_org_contact_user"
+    "test_update_org_contact_user"
+    "test_get_role_subscription"
+    "test_subscribe_unsubscribe"
   ];
 
   pythonImportsCheck = [
@@ -68,6 +79,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python SDK for the Okta Management API";
     homepage = "https://github.com/okta/okta-sdk-python";
+    changelog = "https://github.com/okta/okta-sdk-python/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ jbgosselin ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/oldest-supported-numpy/default.nix b/nixpkgs/pkgs/development/python-modules/oldest-supported-numpy/default.nix
new file mode 100644
index 000000000000..a7b99614aef8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/oldest-supported-numpy/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "oldest-supported-numpy";
+  version = "2023.8.3";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-yJp+wzsihagnI3crGPDBo+CqbVO4Xhxulj/o/NitxU0=";
+  };
+
+  # The purpose of oldest-supported-numpy is to build a project against the
+  # oldest version of numpy for a given Python distribution in order to build
+  # a binary that is compatible with the largest possible versons of numpy.
+  # We only build against one version of numpy in nixpkgs, so instead we only
+  # want to make sure that we have a version above the minimum.
+  #
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace 'numpy==' 'numpy>='
+  '';
+
+  nativeBuildInputs = [
+    numpy
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Meta-package providing the oldest supported Numpy for a given Python version and platform";
+    homepage = "https://github.com/scipy/oldest-supported-numpy";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ tjni ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
index b5b2df878623..e0e92178e4bd 100644
--- a/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openapi-core/default.nix
@@ -1,4 +1,6 @@
 { lib
+, aiohttp
+, asgiref
 , buildPythonPackage
 , django
 , djangorestframework
@@ -7,36 +9,35 @@
 , flask
 , httpx
 , isodate
+, jsonschema
 , jsonschema-spec
-, mock
 , more-itertools
 , openapi-schema-validator
 , openapi-spec-validator
 , parse
-, pathable
 , poetry-core
+, pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
 , responses
 , requests
 , starlette
-, typing-extensions
 , webob
 , werkzeug
 }:
 
 buildPythonPackage rec {
   pname = "openapi-core";
-  version = "0.17.1";
+  version = "0.18.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "p1c2u";
     repo = "openapi-core";
     rev = "refs/tags/${version}";
-    hash = "sha256-xlrG2FF55qDsrkdSqCBLu3/QLtZs48ZUB90B2CemY64=";
+    hash = "sha256-2OcGaZQwzgxcwrXinmJjFc91620Ri0O79c8WZWfDdlQ=";
   };
 
   postPatch = ''
@@ -50,17 +51,19 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     isodate
     more-itertools
-    pathable
-    more-itertools
+    parse
     openapi-schema-validator
-    jsonschema-spec
     openapi-spec-validator
-    typing-extensions
-    parse
     werkzeug
+    jsonschema-spec
+    asgiref
+    jsonschema
   ];
 
   passthru.optional-dependencies = {
+    aiohttp = [
+      aiohttp
+    ];
     django = [
       django
     ];
@@ -80,7 +83,7 @@ buildPythonPackage rec {
   };
 
   nativeCheckInputs = [
-    mock
+    pytest-aiohttp
     pytestCheckHook
     responses
     webob
diff --git a/nixpkgs/pkgs/development/python-modules/openapi-schema-validator/default.nix b/nixpkgs/pkgs/development/python-modules/openapi-schema-validator/default.nix
index 19b3e9cc3e74..39074543b42f 100644
--- a/nixpkgs/pkgs/development/python-modules/openapi-schema-validator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openapi-schema-validator/default.nix
@@ -1,23 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
+
+# build-system
 , poetry-core
-, pytestCheckHook
-, isodate
+
+# propagates
 , jsonschema
+, jsonschema-specifications
 , rfc3339-validator
+
+# tests
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "openapi-schema-validator";
-  version = "0.4.4";
+  version = "0.6.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "p1c2u";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-2XTCdp9dfzhNKCpq71pt7yEZm9abiEmFHD/114W+jOQ=";
+    hash = "sha256-859v6KqIRfUq4d/KbkvGnGqlxz6BXTl+tKQHPhtkTH0=";
   };
 
   postPatch = ''
@@ -30,6 +39,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     jsonschema
+    jsonschema-specifications
     rfc3339-validator
   ];
 
@@ -40,6 +50,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "openapi_schema_validator" ];
 
   meta = with lib; {
+    changelog = "https://github.com/python-openapi/openapi-schema-validator/releases/tag/${version}";
     description = "Validates OpenAPI schema against the OpenAPI Schema Specification v3.0";
     homepage = "https://github.com/p1c2u/openapi-schema-validator";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/openapi-spec-validator/default.nix b/nixpkgs/pkgs/development/python-modules/openapi-spec-validator/default.nix
index 5bcbca949fd1..847a9fdcbddf 100644
--- a/nixpkgs/pkgs/development/python-modules/openapi-spec-validator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openapi-spec-validator/default.nix
@@ -2,6 +2,8 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+
+# build-system
 , poetry-core
 
 # propagates
@@ -10,31 +12,30 @@
 , jsonschema-spec
 , lazy-object-proxy
 , openapi-schema-validator
-, pyyaml
-
-# optional
-, requests
 
 # tests
-, mock
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "openapi-spec-validator";
-  version = "0.5.6";
+  version = "0.6.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   # no tests via pypi sdist
   src = fetchFromGitHub {
     owner = "p1c2u";
-    repo = pname;
+    repo = "openapi-spec-validator";
     rev = "refs/tags/${version}";
-    hash = "sha256-BIGHaZhrEc7wcIesBIXdVRzozllCNOz67V+LmQfZ8oY=";
+    hash = "sha256-sGr4dH6Twyi4OeCAXZiboN75dYZ6wJ0pWMzV9zOfee0=";
   };
 
+  postPatch = ''
+    sed -i '/--cov/d' pyproject.toml
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -48,14 +49,6 @@ buildPythonPackage rec {
     importlib-resources
   ];
 
-  passthru.optional-dependencies.requests = [
-    requests
-  ];
-
-  preCheck = ''
-    sed -i '/--cov/d' pyproject.toml
-  '';
-
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/openrazer/common.nix b/nixpkgs/pkgs/development/python-modules/openrazer/common.nix
index ff67aa88a5bf..d62c8450cda4 100644
--- a/nixpkgs/pkgs/development/python-modules/openrazer/common.nix
+++ b/nixpkgs/pkgs/development/python-modules/openrazer/common.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 }: rec {
   version = "3.5.1";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openrazer";
diff --git a/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
index 31fbdc462682..622917e8a3e7 100644
--- a/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
+++ b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
@@ -17,15 +17,13 @@ let
   common = import ./common.nix { inherit lib fetchFromGitHub; };
 in
 buildPythonPackage (common // {
-  pname = "openrazer_daemon";
+  pname = "openrazer-daemon";
 
   disabled = !isPy3k;
 
   outputs = [ "out" "man" ];
 
-  prePatch = ''
-    cd daemon
-  '';
+  sourceRoot = "${common.src.name}/daemon";
 
   postPatch = ''
     substituteInPlace openrazer_daemon/daemon.py --replace "plugdev" "openrazer"
@@ -43,8 +41,8 @@ buildPythonPackage (common // {
     setproctitle
   ];
 
-  postBuild = ''
-    DESTDIR="$out" PREFIX="" make install manpages
+  postInstall = ''
+    DESTDIR="$out" PREFIX="" make manpages install-resources install-systemd
   '';
 
   # no tests run
diff --git a/nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix b/nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix
index 2b66b67b4406..b405a3b8fca9 100644
--- a/nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openstacksdk/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "openstacksdk";
-  version = "1.3.1";
+  version = "1.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+g/YOGv311SaOs65xOKai3BJp4GbhkD1awEFL4oQLMo=";
+    hash = "sha256-NhUSnttnyCr70aFwbpFf+mjg7r/JnJA8NDqsZRfdWFg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix
index 2a4de0a92cc9..1ccb00617ac0 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-api/default.nix
@@ -12,7 +12,7 @@
 }:
 
 let
-  self = buildPythonPackage {
+  self = buildPythonPackage rec {
     pname = "opentelemetry-api";
     version = "1.18.0";
     disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ let
       hash = "sha256-8xf4TqEkBeueejQBckFGwBNN4Gyo+/7/my6Z1Mnei5Q=";
     };
 
-    sourceRoot = "source/opentelemetry-api";
+    sourceRoot = "${src.name}/opentelemetry-api";
 
     format = "pyproject";
 
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 a786318a58ba..71c742c0ba2a 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
@@ -14,7 +14,7 @@ buildPythonPackage {
   pname = "opentelemetry-exporter-otlp-proto-common";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-common";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp-proto-common";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
index d4f2f4c4305b..b727d16b8e65 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage {
   pname = "opentelemetry-exporter-otlp-proto-grpc";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-grpc";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp-proto-grpc";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
index 6d7bf23dafa3..2478826cd67e 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-http/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage {
   pname = "opentelemetry-exporter-otlp-proto-http";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/exporter/opentelemetry-exporter-otlp-proto-http";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp-proto-http";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
index a3606148883f..7dcc282e1536 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-otlp/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage {
   pname = "opentelemetry-exporter-otlp";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/exporter/opentelemetry-exporter-otlp";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-otlp";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
index 1e74b3fd502f..7708b404a980 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-exporter-prometheus/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage {
   pname = "opentelemetry-exporter-prometheus";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/exporter/opentelemetry-exporter-prometheus";
+  sourceRoot = "${opentelemetry-api.src.name}/exporter/opentelemetry-exporter-prometheus";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix
index de0823c0aac9..cdd40d447050 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-aiohttp-client/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage {
   pname = "opentelemetry-instrumentation-aiohttp-client";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-aiohttp-client";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-aiohttp-client";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
index 5777498873b7..952824cd1b72 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-asgi/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage {
   pname = "opentelemetry-instrumentation-asgi";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-asgi";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-asgi";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
index ec19eacf0e3d..39058d16e259 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-django/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage {
   pname = "opentelemetry-instrumentation-django";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-django";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-django";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
index 8313faa8d6dd..ad408c3dfbaa 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage {
   pname = "opentelemetry-instrumentation-grpc";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-grpc";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-grpc";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
index 408cfb692329..0b1fda0276c9 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation-wsgi/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage {
   pname = "opentelemetry-instrumentation-wsgi";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/instrumentation/opentelemetry-instrumentation-wsgi";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-wsgi";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
index 8716ef4efede..331a5e864374 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     hash = "sha256-MPBOdurEQhA9BPRgVftejjtkvN/zRQEJDjQcS2QW3xc=";
   };
 
-  sourceRoot = "source/opentelemetry-instrumentation";
+  sourceRoot = "${src.name}/opentelemetry-instrumentation";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-proto/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-proto/default.nix
index c673dee3986b..21b84dd5898f 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-proto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-proto/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage {
   pname = "opentelemetry-proto";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/opentelemetry-proto";
+  sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-proto";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-sdk/default.nix
index 1b4683137d95..ba5e7de5db83 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-sdk/default.nix
@@ -17,7 +17,7 @@ let
     pname = "opentelemetry-sdk";
     disabled = pythonOlder "3.7";
 
-    sourceRoot = "source/opentelemetry-sdk";
+    sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-sdk";
 
     format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
index 0ae9fb34d06f..d57a7f13fa53 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-semantic-conventions/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage {
   pname = "opentelemetry-semantic-conventions";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/opentelemetry-semantic-conventions";
+  sourceRoot = "${opentelemetry-api.src.name}/opentelemetry-semantic-conventions";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-test-utils/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
index 71e87b0737a9..4e2405058b86 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-test-utils/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage {
   pname = "opentelemetry-test-utils";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/tests/opentelemetry-test-utils";
+  sourceRoot = "${opentelemetry-api.src.name}/tests/opentelemetry-test-utils";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opentelemetry-util-http/default.nix b/nixpkgs/pkgs/development/python-modules/opentelemetry-util-http/default.nix
index 49ec52a380b0..85e28f2a6d49 100644
--- a/nixpkgs/pkgs/development/python-modules/opentelemetry-util-http/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opentelemetry-util-http/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage {
   pname = "opentelemetry-util-http";
   disabled = pythonOlder "3.7";
 
-  sourceRoot = "source/util/opentelemetry-util-http";
+  sourceRoot = "${opentelemetry-instrumentation.src.name}/util/opentelemetry-util-http";
 
   format = "pyproject";
 
diff --git a/nixpkgs/pkgs/development/python-modules/opower/default.nix b/nixpkgs/pkgs/development/python-modules/opower/default.nix
index 299de618087f..381afbea510f 100644
--- a/nixpkgs/pkgs/development/python-modules/opower/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/opower/default.nix
@@ -3,6 +3,7 @@
 , arrow
 , buildPythonPackage
 , fetchFromGitHub
+, pyotp
 , pytestCheckHook
 , pythonOlder
 , pythonRelaxDepsHook
@@ -11,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "opower";
-  version = "0.0.20";
+  version = "0.0.31";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "tronikos";
     repo = "opower";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hb+TVnCAAnsoKPk9N1bDXj463CErp7nn2cteOumKhLs=";
+    hash = "sha256-lJVaQnGfZBjMgWLKZG/LNao8l4Fj3z3AZhnfgJwOcxo=";
   };
 
   pythonRemoveDeps = [
@@ -36,6 +37,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     arrow
+    pyotp
   ];
 
   nativeCheckInputs = [
@@ -49,6 +51,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module for getting historical and forecasted usage/cost from utilities that use opower.com";
     homepage = "https://github.com/tronikos/opower";
+    changelog = "https://github.com/tronikos/opower/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/optimum/default.nix b/nixpkgs/pkgs/development/python-modules/optimum/default.nix
new file mode 100644
index 000000000000..6f781c3f174d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/optimum/default.nix
@@ -0,0 +1,115 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, coloredlogs
+, datasets
+, evaluate
+, h5py
+, huggingface-hub
+, numpy
+, onnx
+, onnxruntime
+, packaging
+, protobuf
+, sympy
+, tensorflow
+, tf2onnx
+, timm
+, torch
+, transformers
+}:
+
+buildPythonPackage rec {
+  pname = "optimum";
+  version = "1.11.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "huggingface";
+    repo = "optimum";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-J0QcHmR2hVd/Ygi7QFtsObwx/Sm3DCwU+DojzXHokYU=";
+  };
+
+  propagatedBuildInputs = [
+    coloredlogs
+    datasets
+    huggingface-hub
+    numpy
+    packaging
+    sympy
+    torch
+    transformers
+  ] ++ transformers.optional-dependencies.sentencepiece;
+
+  passthru.optional-dependencies = {
+    onnxruntime = [
+      onnx
+      onnxruntime
+      datasets
+      evaluate
+      protobuf
+    ];
+    exporters = [
+      onnx
+      onnxruntime
+      timm
+    ];
+    exporters-tf = [
+      tensorflow
+      tf2onnx
+      onnx
+      onnxruntime
+      timm
+      h5py
+      numpy
+    ];
+    diffusers = [
+      # diffusers
+    ];
+    intel = [
+      # optimum-intel
+    ];
+    openvino = [
+      # optimum-intel
+    ]; # ++ optimum-intel.optional-dependencies.openvino;
+    nncf = [
+      # optimum-intel
+    ]; # ++ optimum-intel.optional-dependencies.nncf;
+    neural-compressor = [
+      # optimum-intel
+    ]; # ++ optimum-intel.optional-dependencies.neural-compressor;
+    graphcore = [
+      # optimum-graphcore
+    ];
+    habana = [
+      transformers
+      # optimum-habana
+    ];
+    neuron = [
+      # optimum-neuron
+    ]; # ++ optimum-neuron.optional-dependencies.neuron;
+    neuronx = [
+      # optimum-neuron
+    ]; # ++ optimum-neuron.optional-dependencies.neuronx;
+    furiosa = [
+      # optimum-furiosa
+    ];
+  };
+
+  # almost all tests try to connect to https://huggingface.co
+  doCheck = false;
+
+  pythonImportsCheck = [ "optimum" ];
+
+  meta = with lib; {
+    description = "Accelerate training and inference of 🤗 Transformers and 🤗 Diffusers with easy to use hardware optimization tools";
+    homepage = "https://github.com/huggingface/optimum";
+    changelog = "https://github.com/huggingface/optimum/releases/tag/${src.rev}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/oracledb/default.nix b/nixpkgs/pkgs/development/python-modules/oracledb/default.nix
index cd7f6ad1b8ff..b7aae7330bba 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.3.2";
+  version = "1.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uzw5HBZ7V3jdsVp1OKKzbbXJuIpQyGxheByp/zArtkM=";
+    hash = "sha256-lrpQj3g4ksfKZI8misvLikqcgDfH3UpQnwXyyJ1iMb4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/orjson/default.nix b/nixpkgs/pkgs/development/python-modules/orjson/default.nix
index bdcd70526869..934b65298f4e 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.2";
+  version = "3.9.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,13 +25,13 @@ buildPythonPackage rec {
     owner = "ijl";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-uEwlrWPQbctCMiIz4fdXe2GDr2SSHaMzmYzzrECerxg=";
+    hash = "sha256-WS4qynQmJIVdDf0sYK/HFVQ+F5nfoJwx/zzmaL6YTRc=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-U/WenkO7ecZQOGEppBlLtlXGtbpbS7e+Ic1hg/AnKSk=";
+    hash = "sha256-hGUXPTiKvKygxQzxXAO/+bD34eLnpkhQ7r/g27E+d4I=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix b/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix
index 3f368ba7f1ab..92edbdf84eb9 100644
--- a/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oscrypto/default.nix
@@ -22,6 +22,10 @@ buildPythonPackage rec {
     hash = "sha256-CmDypmlc/kb6ONCUggjT1Iqd29xNSLRaGh5Hz36dvOw=";
   };
 
+  patches = [
+    ./support-openssl-3.0.10.patch
+  ];
+
   postPatch = ''
     for file in oscrypto/_openssl/_lib{crypto,ssl}_c{ffi,types}.py; do
       substituteInPlace $file \
diff --git a/nixpkgs/pkgs/development/python-modules/oscrypto/support-openssl-3.0.10.patch b/nixpkgs/pkgs/development/python-modules/oscrypto/support-openssl-3.0.10.patch
new file mode 100644
index 000000000000..585eb64eaa47
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/oscrypto/support-openssl-3.0.10.patch
@@ -0,0 +1,11 @@
+https://github.com/wbond/oscrypto/issues/75
+--- a/oscrypto/_openssl/_libcrypto_cffi.py
++++ b/oscrypto/_openssl/_libcrypto_cffi.py
+@@ -37,1 +37,1 @@
+-version_match = re.search('\\b(\\d\\.\\d\\.\\d[a-z]*)\\b', version_string)
++version_match = re.search('\\b(\\d\\.\\d\\.\\d+[a-z]*)\\b', version_string)
+--- a/oscrypto/_openssl/_libcrypto_ctypes.py
++++ b/oscrypto/_openssl/_libcrypto_ctypes.py
+@@ -40,1 +40,1 @@
+-version_match = re.search('\\b(\\d\\.\\d\\.\\d[a-z]*)\\b', version_string)
++version_match = re.search('\\b(\\d\\.\\d\\.\\d+[a-z]*)\\b', version_string)
diff --git a/nixpkgs/pkgs/development/python-modules/oslotest/default.nix b/nixpkgs/pkgs/development/python-modules/oslotest/default.nix
index aa646a08ee90..7d89f5778c73 100644
--- a/nixpkgs/pkgs/development/python-modules/oslotest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/oslotest/default.nix
@@ -3,6 +3,7 @@
 , fetchPypi
 , fixtures
 , pbr
+, six
 , subunit
 , callPackage
 }:
@@ -10,6 +11,7 @@
 buildPythonPackage rec {
   pname = "oslotest";
   version = "4.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -20,6 +22,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     fixtures
+    six
     subunit
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/overrides/default.nix b/nixpkgs/pkgs/development/python-modules/overrides/default.nix
index 6d916ffa639d..7fc464143081 100644
--- a/nixpkgs/pkgs/development/python-modules/overrides/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/overrides/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "overrides";
-  version = "7.3.1";
+  version = "7.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "mkorpela";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-mxMh1ifOnii2SqxYjupDKvslHVGwClGtRgyoJSCGfZo=";
+    hash = "sha256-7fbuBcb47BTVxAoKokZmGdIwHSyfyfSiCAZ4XZjWz60=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/packageurl-python/default.nix b/nixpkgs/pkgs/development/python-modules/packageurl-python/default.nix
index 1b7f7957382c..dcc49b99af29 100644
--- a/nixpkgs/pkgs/development/python-modules/packageurl-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/packageurl-python/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "packageurl-python";
-  version = "0.11.1";
+  version = "0.11.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-u8xT0stZIMgVwWJsdZkvMZv8RQtziT+nvYqsWGmqSf4=";
+    hash = "sha256-Afv3SkHvhc9BPx7eUpoUEfZYvaZu0i1F0nKArZzrpHE=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/packaging/default.nix b/nixpkgs/pkgs/development/python-modules/packaging/default.nix
index e77c715e45ab..0c4678a460ac 100644
--- a/nixpkgs/pkgs/development/python-modules/packaging/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/packaging/default.nix
@@ -10,14 +10,14 @@
 let
   packaging = buildPythonPackage rec {
     pname = "packaging";
-    version = "23.0";
+    version = "23.1";
     format = "pyproject";
 
     disabled = pythonOlder "3.7";
 
     src = fetchPypi {
       inherit pname version;
-      hash = "sha256-tq0pf4kH3g+i/hzL0m/a84f19Hxydf7fjM6J+ZRGz5c=";
+      hash = "sha256-o5KYDSts/6ZEQxiYvlSwBFFRMZ0efsNPDP7Uh2fdM08=";
     };
 
     nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/paddlepaddle/binary-hashes.nix b/nixpkgs/pkgs/development/python-modules/paddlepaddle/binary-hashes.nix
new file mode 100644
index 000000000000..5c3c66dddd9a
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/paddlepaddle/binary-hashes.nix
@@ -0,0 +1,27 @@
+{
+  x86_64-linux = {
+    platform = "manylinux1_x86_64";
+    cpu = {
+      cp39 = "sha256-Yu/FWoMhYp+behAth/jH0FKlf2LJr8TyvL9MBwmuews=";
+      cp310 = "sha256-O7d/5LY2dEMf5gW5WrN3xzIIEi2vT0RWoMeVOk5lATk=";
+    };
+    gpu = {
+      cp39 = "sha256-XHREY27jc+BrVyCJgpMvPVOFiKgPwuiNXPXO3biMLnc=";
+      cp310 = "sha256-oTEBa26o5g6ruuTBgUljjDqign5fXmCn0EnL/0mv+ao=";
+    };
+  };
+  x86_64-darwin = {
+    platform = "macosx_10_9_x86_64";
+    cpu = {
+      cp39 = "sha256-5g9b2gC6uosMpoJiobpj8yToIS6ifAFRvLEqnc/o/QQ=";
+      cp310 = "sha256-2c1hjwNCOOOx9tVfBk+Pyk/pF0m/2tAmRsBH91834eM=";
+    };
+  };
+  aarch64-darwin = {
+    platform = "macosx_11_0_arm64";
+    cpu = {
+      cp39 = "sha256-JhYNTOx1UkuNf/63lHXBDry6FQjPnbIB8jU5jKcyX2k=";
+      cp310 = "sha256-4ltYEYm2OzPBc6D2bQt2dEh6Sz+5m1mMKGGYgQGLSAY=";
+    };
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/paddlepaddle/default.nix b/nixpkgs/pkgs/development/python-modules/paddlepaddle/default.nix
new file mode 100644
index 000000000000..b68c75d0c398
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/paddlepaddle/default.nix
@@ -0,0 +1,97 @@
+{ stdenv
+, config
+, lib
+, buildPythonPackage
+, fetchPypi
+, python
+, pythonOlder
+, pythonAtLeast
+, openssl_1_1
+, zlib
+, setuptools
+, cudaSupport ? config.cudaSupport or false
+, cudaPackages_11 ? {}
+, addOpenGLRunpath
+# runtime dependencies
+, httpx
+, numpy
+, protobuf
+, pillow
+, decorator
+, astor
+, paddle-bfloat
+, opt-einsum
+}:
+
+let
+  pname = "paddlepaddle" + lib.optionalString cudaSupport "-gpu";
+  version = "2.5.0";
+  format = "wheel";
+  pyShortVersion = "cp${builtins.replaceStrings ["."] [""] python.pythonVersion}";
+  allHashAndPlatform = import ./binary-hashes.nix;
+  hash = allHashAndPlatform."${stdenv.system}"."${if cudaSupport then "gpu" else "cpu"}"."${pyShortVersion}";
+  platform = allHashAndPlatform."${stdenv.system}".platform;
+  src = fetchPypi ({
+    inherit version format hash platform;
+    pname = builtins.replaceStrings [ "-" ] [ "_" ] pname;
+    dist = pyShortVersion;
+    python = pyShortVersion;
+    abi = pyShortVersion;
+  });
+in
+buildPythonPackage {
+  inherit pname version format src;
+
+  disabled = pythonOlder "3.9" || pythonAtLeast "3.11";
+
+  libraryPath = lib.makeLibraryPath (
+    # TODO: remove openssl_1_1 and zlib, maybe by building paddlepaddle from
+    # source as suggested in the following comment:
+    # https://github.com/NixOS/nixpkgs/pull/243583#issuecomment-1641450848
+    [ openssl_1_1 zlib ] ++ lib.optionals cudaSupport (with cudaPackages_11; [
+      cudatoolkit.lib
+      cudatoolkit.out
+      cudnn
+    ])
+  );
+
+  postFixup = lib.optionalString stdenv.isLinux ''
+    function fixRunPath {
+      p=$(patchelf --print-rpath $1)
+      patchelf --set-rpath "$p:$libraryPath" $1
+      ${lib.optionalString cudaSupport ''
+        addOpenGLRunpath $1
+      ''}
+    }
+    fixRunPath $out/${python.sitePackages}/paddle/fluid/libpaddle.so
+  '';
+
+  nativeBuildInputs = [
+    addOpenGLRunpath
+  ];
+
+  propagatedBuildInputs = [
+    setuptools
+    httpx
+    numpy
+    protobuf
+    pillow
+    decorator
+    astor
+    paddle-bfloat
+    opt-einsum
+  ];
+
+  pythonImportsCheck = [ "paddle" ];
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署";
+    homepage = "https://github.com/PaddlePaddle/Paddle";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada ];
+    platforms = [ "x86_64-linux" ] ++ optionals (!cudaSupport) [ "x86_64-darwin" "aarch64-darwin" ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pandas-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/pandas-stubs/default.nix
index 0325217946e8..ef387df4f4c6 100644
--- a/nixpkgs/pkgs/development/python-modules/pandas-stubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pandas-stubs/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "pandas-stubs";
-  version = "1.5.3.230321";
+  version = "2.0.3.230814";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     owner = "pandas-dev";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-RjU762VyDPy86Cvmr8hfPkqLtmntB3F6tf2OAgqmnK4=";
+    hash = "sha256-V/igL+vPJADOL7LwBJljqs2a1BB3vDVYTWXIkK/ImYY=";
   };
 
   nativeBuildInputs = [
@@ -66,6 +66,7 @@ buildPythonPackage rec {
     # AttributeErrors, missing dependencies, error and warning checks
     "test_aggregate_frame_combinations"
     "test_aggregate_series_combinations"
+    "test_all_read_without_lxml_dtype_backend"
     "test_arrow_dtype"
     "test_attribute_conflict_warning"
     "test_categorical_conversion_warning"
@@ -79,6 +80,8 @@ buildPythonPackage rec {
     "test_database_error"
     "test_dummies"
     "test_from_dummies_args"
+    "test_hdf_context_manager"
+    "test_hdfstore"
     "test_incompatibility_warning"
     "test_index_astype"
     "test_indexing_error"
@@ -95,6 +98,9 @@ buildPythonPackage rec {
     "test_possible_precision_loss"
     "test_pyperclip_exception"
     "test_quantile_150_changes"
+    "test_read_hdf_iterator"
+    "test_read_sql_via_sqlalchemy_connection"
+    "test_read_sql_via_sqlalchemy_engine"
     "test_resample_150_changes"
     "test_reset_index_150_changes"
     "test_reset_index"
@@ -107,8 +113,6 @@ buildPythonPackage rec {
     "test_types_rank"
     "test_undefined_variable_error"
     "test_value_label_type_mismatch"
-    "test_read_sql_via_sqlalchemy_connection"
-    "test_read_sql_via_sqlalchemy_engine"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_plotting" # Fatal Python error: Illegal instruction
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pandas/default.nix b/nixpkgs/pkgs/development/python-modules/pandas/default.nix
index d74c63b1030b..0c3b28d1d215 100644
--- a/nixpkgs/pkgs/development/python-modules/pandas/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pandas/default.nix
@@ -2,114 +2,218 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
-, python
 , pythonOlder
+
+# build-system
 , cython
+, setuptools
+, versioneer
+
+# propagates
 , numpy
 , python-dateutil
 , pytz
-# Test inputs
+, tzdata
+
+# optionals
+, beautifulsoup4
+, bottleneck
+, blosc2
+, brotlipy
+, fsspec
+, gcsfs
+, html5lib
+, jinja2
+, lxml
+, matplotlib
+, numba
+, numexpr
+, odfpy
+, openpyxl
+, psycopg2
+, pyarrow
+, pymysql
+, pyqt5
+, pyreadstat
+, python-snappy
+, qtpy
+, s3fs
+, scipy
+, sqlalchemy
+, tables
+, tabulate
+, xarray
+, xlrd
+, xlsxwriter
+, zstandard
+
+# tests
+, adv_cmds
+, glibc
 , glibcLocales
 , hypothesis
-, jinja2
 , pytestCheckHook
 , pytest-xdist
 , pytest-asyncio
-, xlsxwriter
-# Darwin inputs
+, python
 , runtimeShell
-, libcxx
 }:
 
 buildPythonPackage rec {
   pname = "pandas";
-  version = "1.5.3";
-  format = "setuptools";
+  version = "2.0.3";
+  format = "pyproject";
+
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dKP9flp+wFLxgyc9x7Cs06hj7fdSD106F2XAT/2zsLE=";
+    hash = "sha256-wC83Kojg0X820wk6ZExzz8F4jodqfEvLQCCndRLiBDw=";
   };
 
-  nativeBuildInputs = [ cython ];
+  nativeBuildInputs = [
+    setuptools
+    cython
+    numpy
+    versioneer
+  ] ++ versioneer.optional-dependencies.toml;
 
-  buildInputs = lib.optional stdenv.isDarwin libcxx;
+  enableParallelBuilding = true;
 
   propagatedBuildInputs = [
     numpy
     python-dateutil
     pytz
+    tzdata
   ];
 
+  passthru.optional-dependencies = let
+    extras = {
+      aws = [
+        s3fs
+      ];
+      clipboard = [
+        pyqt5
+        qtpy
+      ];
+      compression = [
+        brotlipy
+        python-snappy
+        zstandard
+      ];
+      computation = [
+        scipy
+        xarray
+      ];
+      excel = [
+        odfpy
+        openpyxl
+        # TODO: pyxlsb
+        xlrd
+        xlsxwriter
+      ];
+      feather = [
+        pyarrow
+      ];
+      fss = [
+        fsspec
+      ];
+      gcp = [
+        gcsfs
+        # TODO: pandas-gqb
+      ];
+      hdf5 = [
+        blosc2
+        tables
+      ];
+      html = [
+        beautifulsoup4
+        html5lib
+        lxml
+      ];
+      mysql = [
+        sqlalchemy
+        pymysql
+      ];
+      output_formatting = [
+        jinja2
+        tabulate
+      ];
+      parquet = [
+        pyarrow
+      ];
+      performance = [
+        bottleneck
+        numba
+        numexpr
+      ];
+      plot = [
+        matplotlib
+      ];
+      postgresql = [
+        sqlalchemy
+        psycopg2
+      ];
+      spss = [
+        pyreadstat
+      ];
+      sql-other = [
+        sqlalchemy
+      ];
+      xml = [
+        lxml
+      ];
+    };
+  in extras // {
+    all = lib.concatLists (lib.attrValues extras);
+  };
+
+  # Doesn't work with -Werror,-Wunused-command-line-argument
+  # https://github.com/NixOS/nixpkgs/issues/39687
+  hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
+
   nativeCheckInputs = [
     glibcLocales
     hypothesis
-    jinja2
     pytest-asyncio
     pytest-xdist
     pytestCheckHook
-    xlsxwriter
+  ] ++ lib.optionals (stdenv.isLinux) [
+    # for locale executable
+    glibc
+  ] ++ lib.optionals (stdenv.isDarwin) [
+    # for locale executable
+    adv_cmds
   ];
 
-  # Doesn't work with -Werror,-Wunused-command-line-argument
-  # https://github.com/NixOS/nixpkgs/issues/39687
-  hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
-
-  doCheck = !stdenv.isAarch32 && !stdenv.isAarch64; # upstream doesn't test this architecture
-
   # don't max out build cores, it breaks tests
   dontUsePytestXdist = true;
 
+  __darwinAllowLocalNetworking = true;
+
   pytestFlagsArray = [
     # https://github.com/pandas-dev/pandas/blob/main/test_fast.sh
     "--skip-db"
     "--skip-slow"
     "--skip-network"
-    "-m" "'not single_cpu'"
+    "-m" "'not single_cpu and not slow_arm'"
     "--numprocesses" "4"
   ];
 
   disabledTests = [
-    # Locale-related
-    "test_names"
-    "test_dt_accessor_datetime_name_accessors"
-    "test_datetime_name_accessors"
-    # Disable IO related tests because IO data is no longer distributed
-    "io"
-    # Tries to import from pandas.tests post install
-    "util_in_top_level"
-    # Tries to import compiled C extension locally
-    "test_missing_required_dependency"
-    # AssertionError with 1.2.3
-    "test_from_coo"
-    # AssertionError: No common DType exists for the given inputs
-    "test_comparison_invalid"
-    # AssertionError: Regex pattern '"quotechar" must be string, not int'
-    "python-kwargs2"
-    # Tests for rounding errors and fails if we have better precision
-    # than expected, e.g. on amd64 with FMA or on arm64
-    # https://github.com/pandas-dev/pandas/issues/38921
-    "test_rolling_var_numerical_issues"
-    # Requires mathplotlib
-    "test_subset_for_boolean_cols"
-    # DeprecationWarning from numpy
-    "test_sort_values_sparse_no_warning"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "test_locale"
-    "test_clipboard"
-    # ValueError: cannot reindex on an axis with duplicate labels
-    #
-    # Attempts to reproduce this problem outside of Hydra failed.
-    "test_reindex_timestamp_with_fold"
+    # AssertionError: Did not see expected warning of class 'FutureWarning'
+    "test_parsing_tzlocal_deprecated"
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+    # tests/generic/test_finalize.py::test_binops[and_-args4-right] - AssertionError: assert {} == {'a': 1}
+    "test_binops"
   ];
 
   # Tests have relative paths, and need to reference compiled C extensions
   # so change directory where `import .test` is able to be resolved
   preCheck = ''
-    cd $out/${python.sitePackages}/pandas
+    export HOME=$TMPDIR
     export LC_ALL="en_US.UTF-8"
-    PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
+    cd $out/${python.sitePackages}/pandas
   ''
   # TODO: Get locale and clipboard support working on darwin.
   #       Until then we disable the tests.
@@ -121,19 +225,24 @@ buildPythonPackage rec {
     export PATH=$(pwd):$PATH
   '';
 
-  enableParallelBuilding = true;
-
-  pythonImportsCheck = [ "pandas" ];
+  pythonImportsCheck = [
+    "pandas"
+  ];
 
   meta = with lib; {
     # https://github.com/pandas-dev/pandas/issues/14866
     # pandas devs are no longer testing i686 so safer to assume it's broken
     broken = stdenv.isi686;
-    homepage = "https://pandas.pydata.org/";
     changelog = "https://pandas.pydata.org/docs/whatsnew/index.html";
-    description = "Python Data Analysis Library";
+    description = "Powerful data structures for data analysis, time series, and statistics";
+    downloadPage = "https://github.com/pandas-dev/pandas";
+    homepage = "https://pandas.pydata.org";
     license = licenses.bsd3;
+    longDescription = ''
+      Flexible and powerful data analysis / manipulation library for
+      Python, providing labeled data structures similar to R data.frame
+      objects, statistical functions, and much more.
+    '';
     maintainers = with maintainers; [ raskin fridh knedlsepp ];
-    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/parts/default.nix b/nixpkgs/pkgs/development/python-modules/parts/default.nix
index 505c1c8bf659..126cabfc8f67 100644
--- a/nixpkgs/pkgs/development/python-modules/parts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parts/default.nix
@@ -3,22 +3,24 @@
 , fetchPypi
 , pythonOlder
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "parts";
-  version = "1.6.0";
+  version = "1.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-anjD/UfKyfgfJh16cR8ZSUjdAmswO3cdMYKRczyMN3A=";
+    hash = "sha256-TbcFgWKKgHXFyi1NqwVy1ITGHESb4ZusivOpFWazN1s=";
   };
 
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   # Project has no tests
diff --git a/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix b/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix
index a4dbe9dfb184..a43eaae34a80 100644
--- a/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix
@@ -1,32 +1,22 @@
 { lib
-, stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, pythonOlder
-# build inputs
+, jupyterlab
+, nbexec
+, pandas
+, pandas-stubs
 , pdfminer-six
 , pillow
-, wand
-# check inputs
-, pytestCheckHook
-, pytest-cov
 , pytest-parallel
-, flake8
-, black
-, isort
-, pandas
-, mypy
-, pandas-stubs
+, pytestCheckHook
+, pythonOlder
 , types-pillow
-, jupyterlab
-, nbexec
+, wand
 }:
-let
+
+buildPythonPackage rec {
   pname = "pdfplumber";
   version = "0.9.0";
-in
-buildPythonPackage {
-  inherit pname version;
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -38,6 +28,11 @@ buildPythonPackage {
     hash = "sha256-cGTn1JTSp1YvksemjlvvToZcVauZ7GKINiNmG5f4zKg=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=pdfplumber --cov-report xml:coverage.xml --cov-report term" ""
+  '';
+
   propagatedBuildInputs = [
     pdfminer-six
     pillow
@@ -49,18 +44,13 @@ buildPythonPackage {
   '';
 
   nativeCheckInputs = [
-    pytestCheckHook
-    pytest-cov
-    pytest-parallel
-    flake8
-    black
-    isort
+    jupyterlab
+    nbexec
     pandas
-    mypy
     pandas-stubs
+    pytest-parallel
+    pytestCheckHook
     types-pillow
-    jupyterlab
-    nbexec
   ];
 
   pythonImportsCheck = [
@@ -73,7 +63,7 @@ buildPythonPackage {
   ];
 
   meta = with lib; {
-    description = "Plumb a PDF for detailed information about each char, rectangle, line, et cetera — and easily extract text and tables.";
+    description = "Plumb a PDF for detailed information about each char, rectangle, line, et cetera — and easily extract text and tables";
     homepage = "https://github.com/jsvine/pdfplumber";
     changelog = "https://github.com/jsvine/pdfplumber/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/pdm-backend/default.nix b/nixpkgs/pkgs/development/python-modules/pdm-backend/default.nix
index eb1d1f3df3a1..96f626b24b61 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.1";
+  version = "2.1.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pdm-project";
     repo = "pdm-backend";
     rev = "refs/tags/${version}";
-    hash = "sha256-g8VL5nO180XplMgbbeeJIp6lmbWcMKdY/IftlkL6e5U=";
+    hash = "sha256-46HTamiy+8fiGVeviYqXsjwu+PEBE38y19cBVRc+zm0=";
   };
 
   env.PDM_BUILD_SCM_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pdm-pep517/default.nix b/nixpkgs/pkgs/development/python-modules/pdm-pep517/default.nix
index f07e3ca82faa..be5573a0055c 100644
--- a/nixpkgs/pkgs/development/python-modules/pdm-pep517/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdm-pep517/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "pdm-pep517";
-  version = "1.1.2";
+  version = "1.1.4";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1PpzWmRffpWmvrNKK19+jgDZPdBDnXPzHMguQLW4/c4=";
+    hash = "sha256-f0kSHnC0Lcopb6yWIhDdLaB6OVdfxWcxN61mFjOyzz8=";
   };
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix b/nixpkgs/pkgs/development/python-modules/peaqevcore/default.nix
index eebea069de04..200d765c81f2 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.0.2";
+  version = "19.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ju+vKKNmRCRLYSOXNmCdBR8Ce1Xw3BA7IMMCRBSFhKQ=";
+    hash = "sha256-DRTXBOrz//IdoMC+zKFkKS2KX0EsAbTqu1tOqskQRQ4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pem/default.nix b/nixpkgs/pkgs/development/python-modules/pem/default.nix
index 3ef5b7ffc75c..f4608995dd73 100644
--- a/nixpkgs/pkgs/development/python-modules/pem/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pem/default.nix
@@ -1,28 +1,40 @@
 { lib
 , buildPythonPackage
-, pythonOlder
-, fetchFromGitHub
-, pytestCheckHook
 , certifi
 , cryptography
+, fetchFromGitHub
+, hatch-fancy-pypi-readme
+, hatch-vcs
+, hatchling
 , pretend
 , pyopenssl
+, pytestCheckHook
+, pythonOlder
 , twisted
 }:
 
 buildPythonPackage rec {
   pname = "pem";
-  version = "21.2.0";
+  version = "23.1.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "hynek";
     repo = pname;
-    rev = version;
-    hash = "sha256-mftLdgtgb5J4zwsb1F/4v4K7XTy4VSZBMy3zPV2f1uA=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-rVYlnvISGugh9qvf3mdrIyELmeOUU4g6291HeoMkoQc=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    hatchling
+    hatch-fancy-pypi-readme
+    hatch-vcs
+  ];
+
   nativeCheckInputs = [
     certifi
     cryptography
@@ -30,16 +42,16 @@ buildPythonPackage rec {
     pyopenssl
     pytestCheckHook
     twisted
-    twisted.optional-dependencies.tls
-  ];
+  ] ++ twisted.optional-dependencies.tls;
 
   pythonImportsCheck = [
     "pem"
   ];
 
   meta = with lib; {
+    description = "Easy PEM file parsing in Python";
     homepage = "https://pem.readthedocs.io/";
-    description = "Easy PEM file parsing in Python.";
+    changelog = "https://github.com/hynek/pem/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ nyanotech ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pex/default.nix b/nixpkgs/pkgs/development/python-modules/pex/default.nix
index cafca7c29e09..ad8de4b2d138 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.141";
+  version = "2.1.142";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-EsIurZNgWslUciz5Pc2hj2F4tAJ8hQydRWnVIWdryDc=";
+    hash = "sha256-+2WJEOL+rtdl9dZmXqkaRRuj7TzDZn93tyZXxPWRaBM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix b/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
index 5c2fd2314659..66d7cf680bfd 100644
--- a/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pikepdf/default.nix
@@ -4,7 +4,6 @@
 , fetchFromGitHub
 , hypothesis
 , pythonOlder
-, importlib-metadata
 , jbig2dec
 , deprecation
 , lxml
@@ -19,14 +18,13 @@
 , python-xmp-toolkit
 , qpdf
 , setuptools
-, setuptools-scm
 , substituteAll
 , wheel
 }:
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "7.2.0";
+  version = "8.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -41,7 +39,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-acGIhIWC1nUQiN0iwb1kLKxz+ytIqYIW4VXF45Tx50g=";
+    hash = "sha256-8uPPEoLxoMRq/tkpThatwjPHZIMYQ8lNL6fLcG+nsnw=";
   };
 
   patches = [
@@ -57,8 +55,6 @@ buildPythonPackage rec {
       --replace "shims_enabled = not cflags_defined" "shims_enabled = False"
   '';
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
-
   buildInputs = [
     qpdf
   ];
@@ -66,7 +62,6 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     pybind11
     setuptools
-    setuptools-scm
     wheel
   ];
 
@@ -85,8 +80,6 @@ buildPythonPackage rec {
     lxml
     packaging
     pillow
-  ] ++ lib.optionals (pythonOlder "3.8") [
-    importlib-metadata
   ];
 
   pythonImportsCheck = [ "pikepdf" ];
diff --git a/nixpkgs/pkgs/development/python-modules/pilkit/default.nix b/nixpkgs/pkgs/development/python-modules/pilkit/default.nix
index 843f9dfdf241..1b17e2411536 100644
--- a/nixpkgs/pkgs/development/python-modules/pilkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pilkit/default.nix
@@ -33,6 +33,8 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace tox.ini \
       --replace " --cov --cov-report term-missing:skip-covered" ""
+    substituteInPlace pilkit/processors/resize.py \
+      --replace "Image.ANTIALIAS" "Image.Resampling.LANCZOS"
   '';
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/pillow/default.nix b/nixpkgs/pkgs/development/python-modules/pillow/default.nix
index b3ff63b1fb93..f1489e1f458d 100644
--- a/nixpkgs/pkgs/development/python-modules/pillow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pillow/default.nix
@@ -13,25 +13,17 @@
 
 import ./generic.nix (rec {
   pname = "pillow";
-  version = "9.5.0";
-  format = "setuptools";
+  version = "10.0.0";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "Pillow";
     inherit version;
-    hash = "sha256-v1SEedM2cm16Ds6252fhefveN4M65CeUYCYxoHDWMPE=";
+    hash = "sha256-nIK1s+BDx68NlXktDSDM9o9hof7Gs1MOcYtohCJyc5Y=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Fixed type handling for include and lib directories; Remove with 10.0.0
-      url = "https://github.com/python-pillow/Pillow/commit/0ec0a89ead648793812e11739e2a5d70738c6be5.patch";
-      hash = "sha256-m5R5fLflnbJXbRxFlTjT2X3nKdC05tippMoJUDsJmy0=";
-    })
-  ];
-
   passthru.tests = {
     inherit imageio matplotlib pilkit pydicom reportlab;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pint/default.nix b/nixpkgs/pkgs/development/python-modules/pint/default.nix
index 2259ecf655d7..9252a2a5fbe1 100644
--- a/nixpkgs/pkgs/development/python-modules/pint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pint/default.nix
@@ -2,10 +2,15 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+
+# build-system
+, setuptools
 , setuptools-scm
-, importlib-metadata
-, packaging
-# Check Inputs
+
+# propagates
+, typing-extensions
+
+# tests
 , pytestCheckHook
 , pytest-subtests
 , numpy
@@ -15,20 +20,25 @@
 
 buildPythonPackage rec {
   pname = "pint";
-  version = "0.20.1";
+  version = "0.22";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit version;
     pname = "Pint";
-    hash = "sha256-OHzwQHjcff5KcIAzuq1Uq2HYKrBsTuPUkiseRdViYGc=";
+    hash = "sha256-LROfarvPMBbK19POwFcH/pCKxPmc9Zrt/W7mZ7emRDM=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
 
-  propagatedBuildInputs = [ packaging ]
-    ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
 
   nativeCheckInputs = [
     pytestCheckHook
@@ -38,13 +48,17 @@ buildPythonPackage rec {
     uncertainties
   ];
 
-  dontUseSetuptoolsCheck = true;
-
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
 
+  disabledTests = [
+    # https://github.com/hgrecco/pint/issues/1825
+    "test_equal_zero_nan_NP"
+  ];
+
   meta = with lib; {
+    changelog = "https://github.com/hgrecco/pint/blob/${version}/CHANGES";
     description = "Physical quantities module";
     license = licenses.bsd3;
     homepage = "https://github.com/hgrecco/pint/";
diff --git a/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix b/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix
index 43d99563a47c..d248672b170a 100644
--- a/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pipdeptree";
-  version = "2.12.0";
+  version = "2.13.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "tox-dev";
     repo = "pipdeptree";
     rev = "refs/tags/${version}";
-    hash = "sha256-4qRMET04JLVuDRfQtv/uQquf76iU00rnsWNaUXj1Gfw=";
+    hash = "sha256-mblj6SQK/az2al81wMiWXHuyn1+30jfAxrWGv9Nw/gw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix b/nixpkgs/pkgs/development/python-modules/plaid-python/default.nix
index 648d04ddf7fc..99fbb98703bf 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 = "15.2.0";
+  version = "15.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NJCU82Q19X1fApYcbP+ZAxf76uwAnSnhch4aBer9Nm4=";
+    hash = "sha256-IO+IIMMJHrpVTS/L/cwwK2UYrYZDDQ0F/AxKITms9+0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix b/nixpkgs/pkgs/development/python-modules/platformdirs/default.nix
index 9d2deb68d442..f64a76d3e625 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.5.1";
+  version = "3.9.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-/qi22jiF+P7XcG/D+dxoOrHk89amdBoGewrTqZZOsoM=";
+    hash = "sha256-gBiXdnBWp0SlpE6TQPONTXEsQ2XFGCANGdNM/gv7V5s=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pluggy/default.nix b/nixpkgs/pkgs/development/python-modules/pluggy/default.nix
index 46aebb519500..e6473e98a282 100644
--- a/nixpkgs/pkgs/development/python-modules/pluggy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pluggy/default.nix
@@ -1,31 +1,40 @@
 { buildPythonPackage
 , lib
-, fetchPypi
+, fetchFromGitHub
 , setuptools-scm
 , pythonOlder
 , importlib-metadata
+, callPackage
 }:
 
 buildPythonPackage rec {
   pname = "pluggy";
-  version = "1.0.0";
+  version = "1.2.0";
   format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159";
+  src = fetchFromGitHub {
+    owner = "pytest-dev";
+    repo = "pluggy";
+    rev = "refs/tags/${version}";
+    hash = "sha256-SzJu7ITdmUgusn8sz6fRBpxTMQncWIViP5NCAj4q4GM=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
   # To prevent infinite recursion with pytest
   doCheck = false;
+  passthru.tests = {
+    pytest = callPackage ./tests.nix { };
+  };
 
   meta = {
+    changelog = "https://github.com/pytest-dev/pluggy/blob/${src.rev}/CHANGELOG.rst";
     description = "Plugin and hook calling mechanisms for Python";
     homepage = "https://github.com/pytest-dev/pluggy";
     license = lib.licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/flit-core/tests.nix b/nixpkgs/pkgs/development/python-modules/pluggy/tests.nix
index 49d6ac89fce6..dc6e16e7b2d7 100644
--- a/nixpkgs/pkgs/development/python-modules/flit-core/tests.nix
+++ b/nixpkgs/pkgs/development/python-modules/pluggy/tests.nix
@@ -1,22 +1,20 @@
 { buildPythonPackage
-, flit
-, flit-core
+, pluggy
 , pytestCheckHook
-, testpath
 }:
 
 buildPythonPackage {
-  pname = "flit-core";
-  inherit (flit-core) version;
+  pname = "pluggy-tests";
+  inherit (pluggy) version;
+  format = "other";
 
-  src = flit-core.testsout;
+  inherit (pluggy) src;
 
   dontBuild = true;
   dontInstall = true;
 
   nativeCheckInputs = [
-    flit
+    pluggy
     pytestCheckHook
-    testpath
   ];
 }
diff --git a/nixpkgs/pkgs/development/python-modules/plux/default.nix b/nixpkgs/pkgs/development/python-modules/plux/default.nix
index 5f6ac1e851f5..567aff8f51b0 100644
--- a/nixpkgs/pkgs/development/python-modules/plux/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plux/default.nix
@@ -1,24 +1,40 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, stevedore
+, fetchpatch
 , pytestCheckHook
+, setuptools
+, stevedore
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "plux";
-  version = "1.3.1";
+  version = "1.4.0";
   format = "pyproject";
 
   # Tests are not available from PyPi
   src = fetchFromGitHub {
     owner = "localstack";
     repo = "plux";
-    # Request for proper tags: https://github.com/localstack/plux/issues/4
-    rev = "a412ab0a0d7d17c3b5e1f560b7b31dc1876598f7";
-    hash = "sha256-zFwrRc93R4cXah7zYXjVLBIeBpDedsInxuyXOyBI8SA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-AybMHkCUNJsL51XwiskkIltEtqZ27fGHrpyct8IUjmo=";
   };
 
+  patches = [
+    # https://github.com/localstack/plux/pull/8
+    (fetchpatch {
+      name = "remove-pytest-runner.patch";
+      url = "https://github.com/localstack/plux/commit/3cda22e51f43a86304d0dedd7e554b21aa82c8b0.patch";
+      hash = "sha256-ZFHUTkUYFSTgKbx+c74JQzre0la+hFW9gNOxOehvVoE=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     stevedore
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/poetry-core/default.nix b/nixpkgs/pkgs/development/python-modules/poetry-core/default.nix
index daf45528202f..270c78a69826 100644
--- a/nixpkgs/pkgs/development/python-modules/poetry-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/poetry-core/default.nix
@@ -11,7 +11,6 @@
 , pytest-mock
 , pytestCheckHook
 , setuptools
-, tomlkit
 , virtualenv
 }:
 
@@ -54,7 +53,6 @@ buildPythonPackage rec {
     pytest-mock
     pytestCheckHook
     setuptools
-    tomlkit
     virtualenv
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/polars/Cargo.lock b/nixpkgs/pkgs/development/python-modules/polars/Cargo.lock
index cb2615304449..0ea668d6b7c8 100644
--- a/nixpkgs/pkgs/development/python-modules/polars/Cargo.lock
+++ b/nixpkgs/pkgs/development/python-modules/polars/Cargo.lock
@@ -3,6 +3,15 @@
 version = 3
 
 [[package]]
+name = "addr2line"
+version = "0.20.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
 name = "adler"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -28,9 +37,9 @@ dependencies = [
 
 [[package]]
 name = "aho-corasick"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
+checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
 dependencies = [
  "memchr",
 ]
@@ -51,6 +60,18 @@ dependencies = [
 ]
 
 [[package]]
+name = "allocator-api2"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
+[[package]]
 name = "android_system_properties"
 version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -86,9 +107,8 @@ dependencies = [
 
 [[package]]
 name = "arrow2"
-version = "0.17.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15ae0428d69ab31d7b2adad22a752d6f11fef2e901d2262d0cad4f5cb08b7093"
+version = "0.17.3"
+source = "git+https://github.com/jorgecarleitao/arrow2?rev=2ecd3e823f63884ca77b146a8cd8fcdea9f328fd#2ecd3e823f63884ca77b146a8cd8fcdea9f328fd"
 dependencies = [
  "ahash",
  "arrow-format",
@@ -138,18 +158,18 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
 name = "async-trait"
-version = "0.1.68"
+version = "0.1.72"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
+checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -182,10 +202,25 @@ dependencies = [
 ]
 
 [[package]]
+name = "backtrace"
+version = "0.3.68"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
 name = "base64"
-version = "0.21.1"
+version = "0.21.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f1e31e207a6b8fb791a38ea3105e6cb541f55e4d029902d3039a4ad07cc4105"
+checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
 
 [[package]]
 name = "bitflags"
@@ -216,9 +251,9 @@ dependencies = [
 
 [[package]]
 name = "built"
-version = "0.6.0"
+version = "0.6.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96f9cdd34d6eb553f9ea20e5bf84abb7b13c729f113fc1d8e49dc00ad9fa8738"
+checksum = "b99c4cdc7b2c2364182331055623bdf45254fcb679fea565c40c3c11c101889a"
 dependencies = [
  "cargo-lock",
  "chrono",
@@ -248,7 +283,7 @@ checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -259,9 +294,9 @@ checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
 
 [[package]]
 name = "cargo-lock"
-version = "8.0.3"
+version = "9.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "031718ddb8f78aa5def78a09e90defe30151d1f6c672f937af4dd916429ed996"
+checksum = "e11c675378efb449ed3ce8de78d75d0d80542fc98487c26aba28eb3b82feac72"
 dependencies = [
  "semver",
  "serde",
@@ -286,13 +321,13 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
 name = "chrono"
-version = "0.4.24"
+version = "0.4.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
 dependencies = [
+ "android-tzdata",
  "iana-time-zone",
  "js-sys",
- "num-integer",
  "num-traits",
  "serde",
  "time",
@@ -302,9 +337,9 @@ dependencies = [
 
 [[package]]
 name = "chrono-tz"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf9cc2b23599e6d7479755f3594285efb3f74a1bdca7a7374948bc831e23a552"
+checksum = "f1369bc6b9e9a7dfdae2055f6ec151fe9c554a9d23d357c0237cee2e25eaabb7"
 dependencies = [
  "chrono",
  "chrono-tz-build",
@@ -313,9 +348,9 @@ dependencies = [
 
 [[package]]
 name = "chrono-tz-build"
-version = "0.1.0"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9998fb9f7e9b2111641485bf8beb32f92945f97f92a3d061f744cfef335f751"
+checksum = "e2f5ebdc942f57ed96d560a6d1a459bae5851102a25d5bf89dc04ae453e31ecf"
 dependencies = [
  "parse-zoneinfo",
  "phf",
@@ -351,13 +386,13 @@ dependencies = [
 
 [[package]]
 name = "comfy-table"
-version = "6.1.4"
+version = "7.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d"
+checksum = "9ab77dbd8adecaf3f0db40581631b995f312a8a5ae3aa9993188bb8f23d83a5b"
 dependencies = [
  "crossterm",
  "strum",
- "strum_macros",
+ "strum_macros 0.24.3",
  "unicode-width",
 ]
 
@@ -414,9 +449,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",
@@ -437,24 +472,24 @@ 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 = "crossterm"
-version = "0.25.0"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
+checksum = "a84cda67535339806297f1b331d6dd6320470d2a0fe65381e79ee9e156dd3d13"
 dependencies = [
  "bitflags",
  "crossterm_winapi",
  "libc",
  "mio",
- "parking_lot 0.12.1",
+ "parking_lot",
  "signal-hook",
  "signal-hook-mio",
  "winapi",
@@ -462,38 +497,44 @@ dependencies = [
 
 [[package]]
 name = "crossterm_winapi"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c"
+checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
 dependencies = [
  "winapi",
 ]
 
 [[package]]
 name = "dyn-clone"
-version = "1.0.11"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68b0cf012f1230e43cd00ebb729c6bb58707ecfa8ad08b52ef3a4ccd2697fc30"
+checksum = "304e6508efa593091e97a9abbc10f90aa7ca635b6d2784feff3c89d41dd12272"
 
 [[package]]
 name = "either"
-version = "1.8.1"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
 
 [[package]]
 name = "enum_dispatch"
-version = "0.3.11"
+version = "0.3.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "11f36e95862220b211a6e2aa5eca09b4fa391b13cd52ceb8035a24bf65a79de2"
+checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e"
 dependencies = [
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 1.0.109",
+ "syn 2.0.27",
 ]
 
 [[package]]
+name = "equivalent"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+
+[[package]]
 name = "ethnum"
 version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -538,9 +579,9 @@ checksum = "ee1b05cbd864bcaecbd3455d6d967862d446e4ebfc3c2e5e5b9841e53cba6673"
 
 [[package]]
 name = "form_urlencoded"
-version = "1.1.0"
+version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
 dependencies = [
  "percent-encoding",
 ]
@@ -601,7 +642,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -636,9 +677,9 @@ dependencies = [
 
 [[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",
  "js-sys",
@@ -648,21 +689,16 @@ dependencies = [
 ]
 
 [[package]]
-name = "ghost"
-version = "0.1.9"
+name = "gimli"
+version = "0.27.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e77ac7b51b8e6313251737fcef4b1c01a2ea102bde68415b62c0ee9268fec357"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 2.0.16",
-]
+checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
 
 [[package]]
 name = "git2"
-version = "0.16.1"
+version = "0.17.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccf7f68c2995f392c49fffb4f95ae2c873297830eb25c6bc4c114ce8f4562acc"
+checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044"
 dependencies = [
  "bitflags",
  "libc",
@@ -685,9 +721,9 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
 
 [[package]]
 name = "halfbrown"
-version = "0.2.2"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f985624e90f861184145c13b736873a0f83cdb998a292dbb0653598ab03aecbf"
+checksum = "5681137554ddff44396e5f149892c769d45301dd9aa19c51602a89ee214cb0ec"
 dependencies = [
  "hashbrown 0.13.2",
  "serde",
@@ -701,17 +737,21 @@ checksum = "74721d007512d0cb3338cd20f0654ac913920061a4c4d0d8708edb3f2a698c0c"
 
 [[package]]
 name = "hashbrown"
-version = "0.12.3"
+version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+dependencies = [
+ "ahash",
+]
 
 [[package]]
 name = "hashbrown"
-version = "0.13.2"
+version = "0.14.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
+checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
 dependencies = [
  "ahash",
+ "allocator-api2",
  "rayon",
 ]
 
@@ -723,12 +763,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
 
 [[package]]
 name = "hermit-abi"
-version = "0.2.6"
+version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
-dependencies = [
- "libc",
-]
+checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
 
 [[package]]
 name = "hex"
@@ -742,14 +779,14 @@ version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
 dependencies = [
- "windows-sys 0.48.0",
+ "windows-sys",
 ]
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.56"
+version = "0.1.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
+checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -770,9 +807,9 @@ dependencies = [
 
 [[package]]
 name = "idna"
-version = "0.3.0"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
 dependencies = [
  "unicode-bidi",
  "unicode-normalization",
@@ -780,12 +817,12 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.9.3"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
 dependencies = [
- "autocfg",
- "hashbrown 0.12.3",
+ "equivalent",
+ "hashbrown 0.14.0",
  "serde",
 ]
 
@@ -796,28 +833,16 @@ 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 = "inventory"
-version = "0.3.6"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0539b5de9241582ce6bd6b0ba7399313560151e58c9aaf8b74b711b1bdce644"
-dependencies = [
- "ghost",
-]
+checksum = "a53088c87cf71c9d4f3372a2cb9eea1e7b8a0b1bf8b7f7d23fe5b76dbb07e63b"
 
 [[package]]
 name = "itoa"
-version = "1.0.6"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
 
 [[package]]
 name = "itoap"
@@ -856,9 +881,9 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.63"
+version = "0.3.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
 dependencies = [
  "wasm-bindgen",
 ]
@@ -948,9 +973,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.144"
+version = "0.2.147"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
+checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
 
 [[package]]
 name = "libflate"
@@ -974,9 +999,9 @@ dependencies = [
 
 [[package]]
 name = "libgit2-sys"
-version = "0.14.2+1.5.1"
+version = "0.15.2+1.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4"
+checksum = "a80df2e11fb4a61f4ba2ab42dbe7f74468da143f1a75c74e11dee7c813f694fa"
 dependencies = [
  "cc",
  "libc",
@@ -1002,9 +1027,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.9"
+version = "1.1.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db"
+checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
 dependencies = [
  "cc",
  "libc",
@@ -1014,9 +1039,9 @@ dependencies = [
 
 [[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",
@@ -1024,12 +1049,9 @@ dependencies = [
 
 [[package]]
 name = "log"
-version = "0.4.17"
+version = "0.4.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
-dependencies = [
- "cfg-if",
-]
+checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
 
 [[package]]
 name = "lz4"
@@ -1078,9 +1100,9 @@ dependencies = [
 
 [[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",
 ]
@@ -1105,14 +1127,14 @@ dependencies = [
 
 [[package]]
 name = "mio"
-version = "0.8.6"
+version = "0.8.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
 dependencies = [
  "libc",
  "log",
  "wasi 0.11.0+wasi-snapshot-preview1",
- "windows-sys 0.45.0",
+ "windows-sys",
 ]
 
 [[package]]
@@ -1189,9 +1211,9 @@ 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",
  "libm",
@@ -1199,9 +1221,9 @@ dependencies = [
 
 [[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",
  "libc",
@@ -1209,9 +1231,9 @@ dependencies = [
 
 [[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",
@@ -1223,21 +1245,19 @@ dependencies = [
 ]
 
 [[package]]
-name = "once_cell"
-version = "1.17.1"
+name = "object"
+version = "0.31.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
+dependencies = [
+ "memchr",
+]
 
 [[package]]
-name = "parking_lot"
-version = "0.11.2"
+name = "once_cell"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
-dependencies = [
- "instant",
- "lock_api",
- "parking_lot_core 0.8.6",
-]
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
 
 [[package]]
 name = "parking_lot"
@@ -1246,34 +1266,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.7",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
-dependencies = [
- "cfg-if",
- "instant",
- "libc",
- "redox_syscall",
- "smallvec",
- "winapi",
+ "parking_lot_core",
 ]
 
 [[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 0.45.0",
+ "windows-targets",
 ]
 
 [[package]]
@@ -1315,24 +1321,24 @@ dependencies = [
 
 [[package]]
 name = "percent-encoding"
-version = "2.2.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
 
 [[package]]
 name = "phf"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c"
+checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
 dependencies = [
  "phf_shared",
 ]
 
 [[package]]
 name = "phf_codegen"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a56ac890c5e3ca598bbdeaa99964edb5b0258a583a9eb6ef4e89fc85d9224770"
+checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
 dependencies = [
  "phf_generator",
  "phf_shared",
@@ -1340,9 +1346,9 @@ dependencies = [
 
 [[package]]
 name = "phf_generator"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf"
+checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0"
 dependencies = [
  "phf_shared",
  "rand",
@@ -1350,18 +1356,18 @@ dependencies = [
 
 [[package]]
 name = "phf_shared"
-version = "0.11.1"
+version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676"
+checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
 dependencies = [
  "siphasher",
 ]
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.9"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
 
 [[package]]
 name = "pin-utils"
@@ -1386,7 +1392,7 @@ dependencies = [
 
 [[package]]
 name = "polars"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "getrandom",
  "polars-core",
@@ -1400,7 +1406,7 @@ dependencies = [
 
 [[package]]
 name = "polars-algo"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "polars-core",
  "polars-lazy",
@@ -1409,23 +1415,25 @@ dependencies = [
 
 [[package]]
 name = "polars-arrow"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "arrow2",
  "atoi",
  "chrono",
  "chrono-tz",
- "hashbrown 0.13.2",
+ "ethnum",
+ "hashbrown 0.14.0",
  "multiversion",
  "num-traits",
  "polars-error",
  "serde",
  "thiserror",
+ "version_check",
 ]
 
 [[package]]
 name = "polars-core"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "ahash",
  "arrow2",
@@ -1434,7 +1442,7 @@ dependencies = [
  "chrono-tz",
  "comfy-table",
  "either",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.0",
  "indexmap",
  "itoap",
  "ndarray",
@@ -1452,13 +1460,13 @@ dependencies = [
  "serde_json",
  "smartstring",
  "thiserror",
- "wasm-timer",
+ "version_check",
  "xxhash-rust",
 ]
 
 [[package]]
 name = "polars-error"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "arrow2",
  "regex",
@@ -1467,7 +1475,7 @@ dependencies = [
 
 [[package]]
 name = "polars-io"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "ahash",
  "arrow2",
@@ -1502,12 +1510,12 @@ dependencies = [
 
 [[package]]
 name = "polars-json"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "ahash",
  "arrow2",
  "fallible-streaming-iterator",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.0",
  "indexmap",
  "num-traits",
  "polars-arrow",
@@ -1518,7 +1526,7 @@ dependencies = [
 
 [[package]]
 name = "polars-lazy"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "ahash",
  "bitflags",
@@ -1536,17 +1544,21 @@ dependencies = [
  "pyo3",
  "rayon",
  "smartstring",
+ "version_check",
 ]
 
 [[package]]
 name = "polars-ops"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "argminmax",
  "arrow2",
  "base64",
+ "chrono",
+ "chrono-tz",
  "either",
  "hex",
+ "indexmap",
  "jsonpath_lib",
  "memchr",
  "polars-arrow",
@@ -1556,16 +1568,17 @@ dependencies = [
  "serde",
  "serde_json",
  "smartstring",
+ "version_check",
 ]
 
 [[package]]
 name = "polars-pipe"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "crossbeam-channel",
  "crossbeam-queue",
  "enum_dispatch",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.0",
  "num-traits",
  "polars-arrow",
  "polars-core",
@@ -1576,16 +1589,18 @@ dependencies = [
  "polars-utils",
  "rayon",
  "smartstring",
+ "version_check",
 ]
 
 [[package]]
 name = "polars-plan"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "ahash",
  "arrow2",
  "chrono",
  "chrono-tz",
+ "ciborium",
  "once_cell",
  "polars-arrow",
  "polars-core",
@@ -1598,11 +1613,13 @@ dependencies = [
  "regex",
  "serde",
  "smartstring",
+ "strum_macros 0.25.1",
+ "version_check",
 ]
 
 [[package]]
 name = "polars-row"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "arrow2",
  "polars-error",
@@ -1611,7 +1628,7 @@ dependencies = [
 
 [[package]]
 name = "polars-sql"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "polars-arrow",
  "polars-core",
@@ -1624,7 +1641,7 @@ dependencies = [
 
 [[package]]
 name = "polars-time"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "arrow2",
  "atoi",
@@ -1643,14 +1660,17 @@ dependencies = [
 
 [[package]]
 name = "polars-utils"
-version = "0.30.0"
+version = "0.31.1"
 dependencies = [
  "ahash",
- "hashbrown 0.13.2",
+ "hashbrown 0.14.0",
+ "num-traits",
  "once_cell",
+ "polars-error",
  "rayon",
  "smartstring",
  "sysinfo",
+ "version_check",
 ]
 
 [[package]]
@@ -1661,20 +1681,21 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.58"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa1fb82fc0c281dd9671101b66b771ebbe1eaf967b96ac8740dcba4b70005ca8"
+checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "py-polars"
-version = "0.18.0"
+version = "0.18.13"
 dependencies = [
  "ahash",
  "built",
  "ciborium",
+ "either",
  "jemallocator",
  "lexical-core",
  "libc",
@@ -1685,6 +1706,7 @@ dependencies = [
  "polars",
  "polars-algo",
  "polars-core",
+ "polars-error",
  "polars-lazy",
  "pyo3",
  "pyo3-built",
@@ -1695,16 +1717,16 @@ dependencies = [
 
 [[package]]
 name = "pyo3"
-version = "0.18.3"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b1ac5b3731ba34fdaa9785f8d74d17448cd18f30cf19e0c7e7b1fdb5272109"
+checksum = "ffb88ae05f306b4bfcde40ac4a51dc0b05936a9207a4b75b798c7729c4258a59"
 dependencies = [
  "cfg-if",
  "indoc",
  "inventory",
  "libc",
  "memoffset",
- "parking_lot 0.12.1",
+ "parking_lot",
  "pyo3-build-config",
  "pyo3-ffi",
  "pyo3-macros",
@@ -1713,9 +1735,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-build-config"
-version = "0.18.3"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cb946f5ac61bb61a5014924910d936ebd2b23b705f7a4a3c40b05c720b079a3"
+checksum = "554db24f0b3c180a9c0b1268f91287ab3f17c162e15b54caaae5a6b3773396b0"
 dependencies = [
  "once_cell",
  "target-lexicon",
@@ -1729,9 +1751,9 @@ checksum = "be6d574e0f8cab2cdd1eeeb640cbf845c974519fa9e9b62fa9c08ecece0ca5de"
 
 [[package]]
 name = "pyo3-ffi"
-version = "0.18.3"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd4d7c5337821916ea2a1d21d1092e8443cf34879e53a0ac653fbb98f44ff65c"
+checksum = "922ede8759e8600ad4da3195ae41259654b9c55da4f7eec84a0ccc7d067a70a4"
 dependencies = [
  "libc",
  "pyo3-build-config",
@@ -1739,9 +1761,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros"
-version = "0.18.3"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9d39c55dab3fc5a4b25bbd1ac10a2da452c4aca13bb450f22818a002e29648d"
+checksum = "8a5caec6a1dd355964a841fcbeeb1b89fe4146c87295573f94228911af3cc5a2"
 dependencies = [
  "proc-macro2",
  "pyo3-macros-backend",
@@ -1751,9 +1773,9 @@ dependencies = [
 
 [[package]]
 name = "pyo3-macros-backend"
-version = "0.18.3"
+version = "0.19.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97daff08a4c48320587b5224cc98d609e3c27b6d437315bd40b605c98eeb5918"
+checksum = "e0b78ccbb160db1556cdb6fd96c50334c5d4ec44dc5e0a968d0a1208fa0efa8b"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1762,9 +1784,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.27"
+version = "1.0.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
+checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
 dependencies = [
  "proc-macro2",
 ]
@@ -1839,22 +1861,34 @@ dependencies = [
 
 [[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.8.2"
+version = "1.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax 0.7.4",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1a59b5d8e97dee33696bf13c5ba8ab85341c002922fba050069326b9c498974"
+checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
 dependencies = [
  "aho-corasick",
  "memchr",
- "regex-syntax 0.7.2",
+ "regex-syntax 0.7.4",
 ]
 
 [[package]]
@@ -1865,9 +1899,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
 
 [[package]]
 name = "regex-syntax"
-version = "0.7.2"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
 
 [[package]]
 name = "rle-decode-fast"
@@ -1876,6 +1910,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
 
 [[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
 name = "rustc-hash"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1892,62 +1932,62 @@ dependencies = [
 
 [[package]]
 name = "rustversion"
-version = "1.0.12"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
 
 [[package]]
 name = "ryu"
-version = "1.0.13"
+version = "1.0.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
 
 [[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 = "semver"
-version = "1.0.17"
+version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed"
+checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
 dependencies = [
  "serde",
 ]
 
 [[package]]
 name = "seq-macro"
-version = "0.3.3"
+version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6b44e8fc93a14e66336d230954dda83d18b4605ccace8fe09bc7514a71ad0bc"
+checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
 
 [[package]]
 name = "serde"
-version = "1.0.163"
+version = "1.0.176"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
+checksum = "76dc28c9523c5d70816e393136b86d48909cfb27cecaa902d338c19ed47164dc"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.163"
+version = "1.0.176"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
+checksum = "a4e7b8c5dc823e3b90651ff1d3808419cd14e5ad76de04feaf37da114e7a306f"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
 name = "serde_json"
-version = "1.0.96"
+version = "1.0.104"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
 dependencies = [
  "indexmap",
  "itoa",
@@ -1956,10 +1996,19 @@ dependencies = [
 ]
 
 [[package]]
+name = "serde_spanned"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "signal-hook"
-version = "0.3.15"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
+checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -1987,9 +2036,8 @@ dependencies = [
 
 [[package]]
 name = "simd-json"
-version = "0.10.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b001e6c10fcba79ac15990241d37c3f8c6ba4f9a14ee35fcebc0c067514b83a"
+version = "0.10.0"
+source = "git+https://github.com/ritchie46/simd-json?branch=initialize#946b316f686c6ad3050f694ea434248c38aa321d"
 dependencies = [
  "ahash",
  "halfbrown",
@@ -2024,9 +2072,9 @@ dependencies = [
 
 [[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 = "smartstring"
@@ -2112,6 +2160,19 @@ dependencies = [
 ]
 
 [[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.27",
+]
+
+[[package]]
 name = "syn"
 version = "1.0.109"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2124,9 +2185,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "2.0.16"
+version = "2.0.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01"
+checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2135,9 +2196,9 @@ dependencies = [
 
 [[package]]
 name = "sysinfo"
-version = "0.29.0"
+version = "0.29.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02f1dc6930a439cc5d154221b5387d153f8183529b07c19aca24ea31e0a167e1"
+checksum = "165d6d8539689e3d3bc8b98ac59541e1f21c7de7c85d60dc80e43ae0ed2113db"
 dependencies = [
  "cfg-if",
  "core-foundation-sys",
@@ -2155,28 +2216,28 @@ checksum = "06f6b473c37f9add4cf1df5b4d66a8ef58ab6c895f1a3b3f949cf3e21230140e"
 
 [[package]]
 name = "target-lexicon"
-version = "0.12.7"
+version = "0.12.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd1ba337640d60c3e96bc6f0638a939b9c9a7f2c316a1598c279828b3d1dc8c5"
+checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e"
 
 [[package]]
 name = "thiserror"
-version = "1.0.40"
+version = "1.0.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.40"
+version = "1.0.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
 ]
 
 [[package]]
@@ -2207,28 +2268,54 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
 
 [[package]]
 name = "tokio"
-version = "1.28.1"
+version = "1.29.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0aa32867d44e6f2ce3385e89dceb990188b8bb0fb25b0cf576647a6f98ac5105"
+checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
 dependencies = [
  "autocfg",
+ "backtrace",
  "libc",
  "mio",
  "pin-project-lite",
  "socket2",
- "windows-sys 0.48.0",
+ "windows-sys",
 ]
 
 [[package]]
 name = "toml"
-version = "0.5.11"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
 dependencies = [
  "serde",
 ]
 
 [[package]]
+name = "toml_edit"
+version = "0.19.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
+dependencies = [
+ "indexmap",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
 name = "unicode-bidi"
 version = "0.3.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2236,9 +2323,9 @@ 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"
+checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
 
 [[package]]
 name = "unicode-normalization"
@@ -2263,9 +2350,9 @@ checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
 
 [[package]]
 name = "url"
-version = "2.3.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
 dependencies = [
  "form_urlencoded",
  "idna",
@@ -2310,9 +2397,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
 dependencies = [
  "cfg-if",
  "wasm-bindgen-macro",
@@ -2320,36 +2407,24 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
 dependencies = [
  "bumpalo",
  "log",
  "once_cell",
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -2357,47 +2432,22 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.86"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
 dependencies = [
  "proc-macro2",
  "quote",
- "syn 2.0.16",
+ "syn 2.0.27",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
 ]
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.86"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
-
-[[package]]
-name = "wasm-timer"
-version = "0.2.5"
+version = "0.2.87"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
-dependencies = [
- "futures",
- "js-sys",
- "parking_lot 0.11.2",
- "pin-utils",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
-]
-
-[[package]]
-name = "web-sys"
-version = "0.3.63"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
 
 [[package]]
 name = "winapi"
@@ -2427,16 +2477,7 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
 dependencies = [
- "windows-targets 0.48.0",
-]
-
-[[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",
+ "windows-targets",
 ]
 
 [[package]]
@@ -2445,46 +2486,25 @@ version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
 dependencies = [
- "windows-targets 0.48.0",
+ "windows-targets",
 ]
 
 [[package]]
 name = "windows-targets"
-version = "0.42.2"
+version = "0.48.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
 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_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-targets"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
-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",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.42.2"
-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"
@@ -2492,75 +2512,48 @@ checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.42.2"
-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"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.42.2"
-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"
-
-[[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.42.2"
-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"
 
 [[package]]
 name = "windows_x86_64_gnullvm"
-version = "0.42.2"
-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"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.42.2"
+version = "0.48.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
 
 [[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.0"
+name = "winnow"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+checksum = "25b5872fa2e10bd067ae946f927e726d7d603eaeb6e02fa6a350e0722d2b8c11"
+dependencies = [
+ "memchr",
+]
 
 [[package]]
 name = "xxhash-rust"
@@ -2570,18 +2563,18 @@ checksum = "735a71d46c4d68d71d4b24d03fdc2b98e38cea81730595801db779c04fe80d70"
 
 [[package]]
 name = "zstd"
-version = "0.12.3+zstd.1.5.2"
+version = "0.12.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806"
+checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c"
 dependencies = [
  "zstd-safe",
 ]
 
 [[package]]
 name = "zstd-safe"
-version = "6.0.5+zstd.1.5.4"
+version = "6.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d56d9e60b4b1758206c238a10165fbcae3ca37b01744e394c463463f6529d23b"
+checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581"
 dependencies = [
  "libc",
  "zstd-sys",
diff --git a/nixpkgs/pkgs/development/python-modules/polars/default.nix b/nixpkgs/pkgs/development/python-modules/polars/default.nix
index 49d23e2d07e0..b070ae37978f 100644
--- a/nixpkgs/pkgs/development/python-modules/polars/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/polars/default.nix
@@ -10,12 +10,12 @@
 }:
 let
   pname = "polars";
-  version = "0.18.0"; # Can't update to >0.18.0 until we get rust 1.71
+  version = "0.18.13";
   rootSource = fetchFromGitHub {
     owner = "pola-rs";
     repo = "polars";
     rev = "refs/tags/py-${version}";
-    hash = "sha256-uzo8KPEegaVuzrfKUmsHheQfmm9hVMgkNJMWdfqDrw8=";
+    hash = "sha256-kV30r2wmswpCUmMRaFsCOeRrlTN5/PU0ogaU2JIHq0E=";
   };
 in
 buildPythonPackage {
@@ -35,7 +35,9 @@ buildPythonPackage {
   cargoDeps = rustPlatform.importCargoLock {
     lockFile = ./Cargo.lock;
     outputHashes = {
+      "arrow2-0.17.3" = "sha256-pM6lNjMCpUzC98IABY+M23lbLj0KMXDefgBMjUPjDlg=";
       "jsonpath_lib-0.3.0" = "sha256-NKszYpDGG8VxfZSMbsTlzcMGFHBOUeFojNw4P2wM3qk=";
+      "simd-json-0.10.0" = "sha256-0q/GhL7PG5SLgL0EETPqe8kn6dcaqtyL+kLU9LL+iQs=";
     };
   };
   cargoRoot = "py-polars";
diff --git a/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix b/nixpkgs/pkgs/development/python-modules/policy-sentry/default.nix
index af6c1295bfa9..5915459f8ec9 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.7";
+  version = "0.12.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "salesforce";
     repo = "policy_sentry";
     rev = "refs/tags/${version}";
-    hash = "sha256-r2UQrMmgWaS1v8ZSFSvpwiSRdGw5uTAoWIlSbzrG6/g=";
+    hash = "sha256-I56xWBbE1TqP+I8Op5X4TqHNB+gRlEPi7YQldIsjv4Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix b/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix
index 7dd625b83c62..082fe4ec1965 100644
--- a/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/policyuniverse/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "policyuniverse";
-  version = "1.5.1.20230725";
+  version = "1.5.1.20230817";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-N0yQSVgSYx2D5wpixBMrxPq8ddKcGr/vfnsGn+Smrac=";
+    hash = "sha256-eSCJYZWvFjIwY18aXO4JWPVgA++MQh+AXsgfE0+ApXw=";
   };
 
   # Tests are not shipped and there are no GitHub tags
diff --git a/nixpkgs/pkgs/development/python-modules/Polygon3/default.nix b/nixpkgs/pkgs/development/python-modules/polygon3/default.nix
index e85eb209343d..e8bb253202bc 100644
--- a/nixpkgs/pkgs/development/python-modules/Polygon3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/polygon3/default.nix
@@ -3,19 +3,17 @@
 , fetchFromGitHub
 , pythonOlder
 }:
-let
-  pname = "Polygon3";
-  version = "3.0.9";
-in
+
 buildPythonPackage {
-  inherit pname version;
+  pname = "polygon3";
+  version = "3.0.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "jraedler";
-    repo = pname;
+    repo = "Polygon3";
     rev = "7b2091f77741fa1d94251979bc4a4f2676b4d2d1";
     hash = "sha256-jXtjEzjWwMoVgrHWsK8brSN6TQRxIPRjUaRiLBXYLcI=";
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pontos/default.nix b/nixpkgs/pkgs/development/python-modules/pontos/default.nix
index bc61bfb7395a..33cfcb416cef 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.7.7";
+  version = "23.8.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-qaeVQQmgEfuQ46us2l74W2yWZnUzePyT8+f5JQR0RdM=";
+    hash = "sha256-gcxhSVrOeUUHIQTIR3klaiF64H4wofgLB+PV47TYfiw=";
   };
 
   nativeBuildInputs = [
@@ -67,6 +67,9 @@ buildPythonPackage rec {
     "test_successfully_sign"
     # calls git log, but our fetcher removes .git
     "test_git_error"
+    # Tests require git executable
+    "test_github_action_output"
+    "test_initial_release"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/pox/default.nix b/nixpkgs/pkgs/development/python-modules/pox/default.nix
index 7f1ac487976c..f1f7647defba 100644
--- a/nixpkgs/pkgs/development/python-modules/pox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pox/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "pox";
-  version = "0.3.2";
+  version = "0.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6CUiUpdjjW49SUFfjPtlQHpdFeVvL7f+nZueMFDGXuE=";
+    hash = "sha256-4c7WbyoMkqWM82Rrx8y4tHc9QIhLdvhe7aBnBHSHFmc=";
   };
 
   # Test sare failing the sandbox
diff --git a/nixpkgs/pkgs/development/python-modules/prance/default.nix b/nixpkgs/pkgs/development/python-modules/prance/default.nix
index 572e1efceb67..1fffa8cde714 100644
--- a/nixpkgs/pkgs/development/python-modules/prance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prance/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "prance";
-  version = "0.22.02.22.0";
+  version = "23.06.21.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-NtIbZp34IcMYJzaNQVL9GLdNS3NYOCRoWS1wGg/gLVA=";
+    hash = "sha256-p+LZbQal4DPeMp+eJ2O83rCaL+QIUDcU34pZhYdN4bE=";
   };
 
   postPatch = ''
@@ -70,6 +70,7 @@ buildPythonPackage rec {
     "test_convert_defaults"
     "test_convert_output"
     "test_fetch_url_http"
+    "test_openapi_spec_validator_validate_failure"
   ];
   pythonImportsCheck = [ "prance" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix b/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix
index 29b361344b62..349757bcffb0 100644
--- a/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/progressbar2/default.nix
@@ -40,6 +40,6 @@ buildPythonPackage rec {
     description = "Text progressbar library";
     homepage = "https://progressbar-2.readthedocs.io/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ashgillman turion ];
+    maintainers = with maintainers; [ ashgillman ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/prometheus-client/default.nix b/nixpkgs/pkgs/development/python-modules/prometheus-client/default.nix
index aed4d5c5b258..b3e1e12400c2 100644
--- a/nixpkgs/pkgs/development/python-modules/prometheus-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prometheus-client/default.nix
@@ -19,6 +19,8 @@ buildPythonPackage rec {
     hash = "sha256-ag9gun47Ar0Sw3ZGIXAHjtv4GdhX8x51UVkgwdQ8A+s=";
   };
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/prophet/default.nix b/nixpkgs/pkgs/development/python-modules/prophet/default.nix
new file mode 100644
index 000000000000..889f835861ed
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/prophet/default.nix
@@ -0,0 +1,84 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, fetchpatch
+
+, setuptools
+
+, cmdstanpy
+, numpy
+, matplotlib
+, pandas
+, lunarcalendar
+, convertdate
+, holidays
+, python-dateutil
+, tqdm
+, importlib-resources
+
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "prophet";
+  version = "1.1.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "facebook";
+    repo = "prophet";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-pbJ0xL5wDZ+rKgtQQTJPsB1Mu2QXo3S9MMpiYkURsz0=";
+  };
+
+  patches = [
+    # TODO: remove when bumping version from 1.1.4
+    (fetchpatch {
+      name = "fix-stan-file-temp-dest.patch";
+      url = "https://github.com/facebook/prophet/commit/374676500795aec9d5cbc7fe5f7a96bf00489809.patch";
+      hash = "sha256-sfiQ2V3ZEF0WM9oM1FkL/fhZesQJ1i2EUPYJMdDA2UM=";
+      relative = "python";
+    })
+  ];
+
+  sourceRoot = "${src.name}/python";
+
+  env.PROPHET_REPACKAGE_CMDSTAN = "false";
+
+  nativeBuildInputs = [ setuptools ];
+
+  # TODO: update when bumping version from 1.1.4
+  propagatedBuildInputs = [
+    cmdstanpy
+    numpy
+    matplotlib
+    pandas
+    lunarcalendar
+    convertdate
+    holidays
+    python-dateutil
+    tqdm
+    importlib-resources
+  ];
+
+  preCheck = ''
+    # the generated stan_model directory only exists in build/lib*
+      cd build/lib*
+  '';
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "prophet" ];
+
+  meta = {
+    homepage = "https://facebook.github.io/prophet/";
+    description = "A tool for producing high quality forecasts for time series data that has multiple seasonality with linear or non-linear growth";
+    changelog = "https://github.com/facebook/prophet/releases/tag/v${version}";
+    license = lib.licenses.mit;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ tomasajt ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/protego/default.nix b/nixpkgs/pkgs/development/python-modules/protego/default.nix
index 6db79056d302..7ff0690f3a58 100644
--- a/nixpkgs/pkgs/development/python-modules/protego/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/protego/default.nix
@@ -1,29 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, six
-, pytest
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "Protego";
-  version = "0.2.1";
+  pname = "protego";
+  version = "0.3.0";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-32ZtQwTat3Ti3J/rIIuxrI1x6lzuwS9MmeujD71kL/I=";
+    inherit version;
+    pname = "Protego";
+    hash = "sha256-BCKL/95Ma8ujHPZSm6LP1uG3CAj9wdLLQwG+ayjWxWg=";
   };
-  propagatedBuildInputs = [ six ];
 
-  nativeCheckInputs = [ pytest ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
-  checkPhase = ''
-    pytest tests
-  '';
+  pythonImportsCheck = [ "protego" ];
 
   meta = with lib; {
     description = "A pure-Python robots.txt parser with support for modern conventions";
     homepage = "https://github.com/scrapy/protego";
+    changelog = "https://github.com/scrapy/protego/blob/${version}/CHANGELOG.rst";
     license = licenses.bsd3;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/protobuf/default.nix
index f2615499f7ba..2676dc90d68b 100644
--- a/nixpkgs/pkgs/development/python-modules/protobuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/protobuf/default.nix
@@ -3,9 +3,11 @@
 , fetchpatch
 , isPyPy
 , lib
+, numpy
 , protobuf
 , pytestCheckHook
 , pythonAtLeast
+, substituteAll
 , tzdata
 }:
 
@@ -25,12 +27,19 @@ buildPythonPackage {
 
   sourceRoot = "${protobuf.src.name}/python";
 
-  patches = lib.optionals (pythonAtLeast "3.11") [
+  patches = lib.optionals (lib.versionAtLeast protobuf.version "3.22") [
+    # Replace the vendored abseil-cpp with nixpkgs'
+    (substituteAll {
+      src = ./use-nixpkgs-abseil-cpp.patch;
+      abseil_cpp_include_path = "${lib.getDev protobuf.abseil-cpp}/include";
+    })
+  ]
+  ++ lib.optionals (pythonAtLeast "3.11" && lib.versionOlder protobuf.version "3.22") [
     (fetchpatch {
-      url = "https://github.com/protocolbuffers/protobuf/commit/da973aff2adab60a9e516d3202c111dbdde1a50f.patch";
-      stripLen = 2;
-      extraPrefix = "";
-      hash = "sha256-a/12C6yIe1tEKjsMxcfDAQ4JHolA8CzkN7sNG8ZspPs=";
+      name = "support-python311.patch";
+      url = "https://github.com/protocolbuffers/protobuf/commit/2206b63c4649cf2e8a06b66c9191c8ef862ca519.diff";
+      stripLen = 1; # because sourceRoot above
+      hash = "sha256-3GaoEyZIhS3QONq8LEvJCH5TdO9PKnOgcQF0GlEiwFo=";
     })
   ];
 
@@ -41,6 +50,19 @@ buildPythonPackage {
     fi
   '';
 
+  # Remove the line in setup.py that forces compiling with C++14. Upstream's
+  # CMake build has been updated to support compiling with other versions of
+  # C++, but the Python build has not. Without this, we observe compile-time
+  # errors using GCC.
+  #
+  # Fedora appears to do the same, per this comment:
+  #
+  #   https://github.com/protocolbuffers/protobuf/issues/12104#issuecomment-1542543967
+  #
+  postPatch = ''
+    sed -i "/extra_compile_args.append('-std=c++14')/d" setup.py
+  '';
+
   nativeBuildInputs = lib.optional isPyPy tzdata;
 
   buildInputs = [ protobuf ];
@@ -54,6 +76,8 @@ buildPythonPackage {
 
   nativeCheckInputs = [
     pytestCheckHook
+  ] ++ lib.optionals (lib.versionAtLeast protobuf.version "3.22") [
+    numpy
   ];
 
   disabledTests = lib.optionals isPyPy [
@@ -66,6 +90,18 @@ buildPythonPackage {
     "testStrictUtf8Check"
   ];
 
+  disabledTestPaths = lib.optionals (lib.versionAtLeast protobuf.version "3.23") [
+    # The following commit (I think) added some internal test logic for Google
+    # that broke generator_test.py. There is a new proto file that setup.py is
+    # not generating into a .py file. However, adding this breaks a bunch of
+    # conflict detection in descriptor_test.py that I don't understand. So let's
+    # just disable generator_test.py for now.
+    #
+    #   https://github.com/protocolbuffers/protobuf/commit/5abab0f47e81ac085f0b2d17ec3b3a3b252a11f1
+    #
+    "google/protobuf/internal/generator_test.py"
+  ];
+
   pythonImportsCheck = [
     "google.protobuf"
     "google.protobuf.internal._api_implementation" # Verify that --cpp_implementation worked
diff --git a/nixpkgs/pkgs/development/python-modules/protobuf/use-nixpkgs-abseil-cpp.patch b/nixpkgs/pkgs/development/python-modules/protobuf/use-nixpkgs-abseil-cpp.patch
new file mode 100644
index 000000000000..cbc92bb76ab8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/protobuf/use-nixpkgs-abseil-cpp.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index e65631013..d511c2996 100755
+--- a/setup.py
++++ b/setup.py
+@@ -412,7 +412,7 @@ if __name__ == '__main__':
+         Extension(
+             'google.protobuf.pyext._message',
+             glob.glob('google/protobuf/pyext/*.cc'),
+-            include_dirs=['.', '../src', '../third_party/abseil-cpp'],
++            include_dirs=['.', '../src', '@abseil_cpp_include_path@'],
+             libraries=libraries,
+             extra_objects=extra_objects,
+             extra_link_args=message_extra_link_args,
diff --git a/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix b/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
index 3a46c99691f9..1c6e042e5778 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.20230804";
+  version = "0.10.0.20230814";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-J8yeq9CuzXGlqPjGf8hnV0IeI+Wg0Q5GS69/8z+FLp8=";
+    hash = "sha256-GG6ilUUauVT2u/BuS4agzJVQdydEuGwpxJVznWDb46Q=";
   };
 
   passthru.optional-dependencies = {
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 eb71f167b740..481d73134178 100644
--- a/nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-partiql-parser/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "py-partiql-parser";
-  version = "0.3.5";
+  version = "0.3.6";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "getmoto";
     repo = "py-partiql-parser";
     rev = "refs/tags/${version}";
-    hash = "sha256-CVpXw5yAYBeRgTlNzgourQlDqfNmKLdzV7mQSd7PoJg=";
+    hash = "sha256-wfVADL87ObJbuYQ2MYcRH0DCOGymS6+mrp7pAIKoS4Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py-pdf-parser/default.nix b/nixpkgs/pkgs/development/python-modules/py-pdf-parser/default.nix
index b5d9ef6806c3..91d044a366a1 100644
--- a/nixpkgs/pkgs/development/python-modules/py-pdf-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-pdf-parser/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "py-pdf-parser";
-  version = "0.10.2";
+  version = "0.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-F12uDAjG9P3eVyaXqVSHNFrEGnOzLlJERDwOiWSq1ZY=";
+    hash = "sha256-GsiGBigvtAgrM0sRffZBG2tVoEaDai+eUxXhMXWNBr0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix b/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix
index de8cc23c8fb8..e8c5c6cd1516 100644
--- a/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py3exiv2/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "py3exiv2";
-  version = "0.11.0";
+  version = "0.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ZgDaa4lxmdTaZhkblgRfPMxfVwENp2s6xdKSuD/MqEQ=";
+    hash = "sha256-crI+X3YMRzPPmpGNsI2U+9bZgwcR0qTowJuPNFY/Ooo=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix b/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix
index 9be744b74aa9..75525b943445 100644
--- a/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyairvisual/default.nix
@@ -2,9 +2,11 @@
 , aiohttp
 , aresponses
 , buildPythonPackage
+, certifi
 , fetchFromGitHub
 , numpy
 , poetry-core
+, pygments
 , pysmb
 , pytest-aiohttp
 , pytest-asyncio
@@ -14,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyairvisual";
-  version = "2022.12.1";
+  version = "2023.08.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,16 +25,24 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-xzTho4HsIU2YLURz9DfFfaRL3tsrtVi8n5IA2bRkyzw=";
+    hash = "sha256-+yqN3q+uA/v01uCguzUSoeCJK9lRmiiYn8d272+Dd2M=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml --replace \
+      'certifi = ">=2023.07.22"' \
+      'certifi = "*"'
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
     aiohttp
+    certifi
     numpy
+    pygments
     pysmb
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyaml/default.nix b/nixpkgs/pkgs/development/python-modules/pyaml/default.nix
index 444b66549af6..96ae8df32df0 100644
--- a/nixpkgs/pkgs/development/python-modules/pyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyaml/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyaml";
-  version = "21.10.1";
+  version = "23.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c6519fee13bf06e3bb3f20cacdea8eba9140385a7c2546df5dbae4887f768383";
+    sha256 = "sha256-DFELu4k4MJQA4LHkesFv2Q5W1lKAWpNBcSh4ZxjzNUY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyathena/default.nix b/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
index 3981f64645d2..e5b507b01143 100644
--- a/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
@@ -2,33 +2,55 @@
 , boto3
 , botocore
 , buildPythonPackage
+, fastparquet
 , fetchPypi
 , fsspec
 , pandas
+, poetry-core
+, pyarrow
 , pythonOlder
+, sqlalchemy
 , tenacity
 }:
 
 buildPythonPackage rec {
   pname = "pyathena";
-  version = "2.23.0";
-  format = "setuptools";
+  version = "3.0.6";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6T2qr0fcHzgDPZvc3StZwIH2ZRvTOJFXDLPc3iFmwCQ=";
+    hash = "sha256-7m6hdRNIlCCa8sa+GFm3vkNx93QfqnpY+fl5Bf9qc6Q=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     boto3
     botocore
     fsspec
-    pandas
     tenacity
   ];
 
+  passthru.optional-dependencies = {
+    pandas = [
+      pandas
+    ];
+    sqlalchemy = [
+      sqlalchemy
+    ];
+    arrow = [
+      pyarrow
+    ];
+    fastparquet = [
+      fastparquet
+    ];
+  };
+
   # Nearly all tests depend on a working AWS Athena instance,
   # therefore deactivating them.
   # https://github.com/laughingman7743/PyAthena/#testing
@@ -41,6 +63,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python DB API 2.0 (PEP 249) client for Amazon Athena";
     homepage = "https://github.com/laughingman7743/PyAthena/";
+    changelog = "https://github.com/laughingman7743/PyAthena/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ turion ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
index 5cddd154aa3f..7401af8e47d3 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatv/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "pyatv";
-  version = "0.13.3";
+  version = "0.13.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     owner = "postlund";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-lg7gsCB8zn+q+ZTkIoGkIls10xS7bp8Svd749a10bWA=";
+    hash = "sha256-rZnL18vO8eYn70GzeKSY528iTc0r/seGv0dYDYGHNzw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pybase64/default.nix b/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
index 8231aed03553..1cd04164ba78 100644
--- a/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybase64/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pybase64";
-  version = "1.2.3";
+  version = "1.3.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dtB035p7mJs1iZJqsZRmd7uzmez+IwcUsTFX4mM2Ee0=";
+    hash = "sha256-1MZHKrAITr1O4AW7mFFym9xk2PYsb65b2wdrICn0iO4=";
   };
 
   nativeCheckInputs = [ pytestCheckHook ];
diff --git a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
index ef112d3bb617..7ba24e4bd526 100644
--- a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
@@ -24,13 +24,13 @@
   } ./setup-hook.sh;
 in buildPythonPackage rec {
   pname = "pybind11";
-  version = "2.10.4";
+  version = "2.11.1";
 
   src = fetchFromGitHub {
     owner = "pybind";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-n7nLEG2+sSR9wnxM+C8FWc2B+Mx74Pan1+IQf+h2bGU=";
+    hash = "sha256-sO/Fa+QrAKyq2EYyYMcjPrYI+bdJIrDoj6L3JHoDo3E=";
   };
 
   postPatch = ''
@@ -87,7 +87,7 @@ in buildPythonPackage rec {
     "tests/extra_setuptools/test_setuphelper.py"
   ];
 
-  disabledTests = lib.optionals (stdenv.isDarwin) [
+  disabledTests = lib.optionals stdenv.isDarwin [
     # expects KeyError, gets RuntimeError
     # https://github.com/pybind/pybind11/issues/4243
     "test_cross_module_exception_translator"
diff --git a/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix b/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix
index f07c8062c108..47e90eb8726a 100644
--- a/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycryptodome/default.nix
@@ -10,14 +10,14 @@ let
 in
 buildPythonPackage rec {
   pname = "pycryptodome";
-  version = "3.17.0";
+  version = "3.18.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Legrandin";
     repo = "pycryptodome";
-    rev = "v${version}";
-    hash = "sha256-xsfd+dbaNOPuD0ulvpLPBPtcFgmJqX1VuunwNMcqh+Q=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-6oXXy18KlSjfyZhfMnIgnu34u/9sG0TPYvPJ8ovTqMA=";
   };
 
   postPatch = ''
@@ -36,6 +36,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Self-contained cryptographic library";
     homepage = "https://github.com/Legrandin/pycryptodome";
+    changelog = "https://github.com/Legrandin/pycryptodome/blob/v${version}/Changelog.rst";
     license = with licenses; [ bsd2 /* and */ asl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pycups/default.nix b/nixpkgs/pkgs/development/python-modules/pycups/default.nix
index 789d9d4cb8ea..9f2d182fb5c6 100644
--- a/nixpkgs/pkgs/development/python-modules/pycups/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycups/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, buildPythonPackage, fetchurl, cups, libiconv }:
+{ stdenv, lib, buildPythonPackage, fetchPypi, cups, libiconv }:
 
 buildPythonPackage rec {
   pname = "pycups";
-  version = "1.9.73";
+  version = "2.0.1";
 
-  src = fetchurl {
-    url = "http://cyberelk.net/tim/data/pycups/pycups-${version}.tar.bz2";
-    sha256 = "c381be011889ca6f728598578c89c8ac9f7ab1e95b614474df9f2fa831ae5335";
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-V0NM5fYlSOsSlJyoIX8Gb07rIaXWq4sTRx3ONQ44DJA=";
   };
 
   buildInputs = [ cups ] ++ lib.optional stdenv.isDarwin libiconv;
diff --git a/nixpkgs/pkgs/development/python-modules/pycurl/default.nix b/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
index 45e5d8f13a15..cacb67496c8c 100644
--- a/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
@@ -46,6 +46,8 @@ buildPythonPackage rec {
     curl
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     bottle
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic-core/01-remove-benchmark-flags.patch b/nixpkgs/pkgs/development/python-modules/pydantic-core/01-remove-benchmark-flags.patch
new file mode 100644
index 000000000000..a5c27e469a92
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pydantic-core/01-remove-benchmark-flags.patch
@@ -0,0 +1,18 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index 1602e32..507048d 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -72,13 +72,6 @@ filterwarnings = [
+ ]
+ timeout = 30
+ xfail_strict = true
+-# min, max, mean, stddev, median, iqr, outliers, ops, rounds, iterations
+-addopts = [
+-    '--benchmark-columns', 'min,mean,stddev,outliers,rounds,iterations',
+-    '--benchmark-group-by', 'group',
+-    '--benchmark-warmup', 'on',
+-    '--benchmark-disable',  # this is enable by `make benchmark` when you actually want to run benchmarks
+-]
+ 
+ [tool.coverage.run]
+ source = ['pydantic_core']
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic-core/Cargo.lock b/nixpkgs/pkgs/development/python-modules/pydantic-core/Cargo.lock
new file mode 100644
index 000000000000..05a29d770d83
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pydantic-core/Cargo.lock
@@ -0,0 +1,662 @@
+# 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
new file mode 100644
index 000000000000..7826712acb6e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pydantic-core/default.nix
@@ -0,0 +1,77 @@
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchFromGitHub
+, cargo
+, rustPlatform
+, rustc
+, libiconv
+, typing-extensions
+, pytestCheckHook
+, hypothesis
+, pytest-timeout
+, pytest-mock
+, dirty-equals
+}:
+
+buildPythonPackage rec {
+  pname = "pydantic-core";
+  version = "2.3.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "pydantic";
+    repo = "pydantic-core";
+    rev = "v${version}";
+    hash = "sha256-Wi+b+xiJtVi3KIy6bzT29kyHFSI7mbMNrLa/Iu3cTEY=";
+  };
+
+  patches = [
+    ./01-remove-benchmark-flags.patch
+  ];
+
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+  };
+
+  nativeBuildInputs = [
+    cargo
+    rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
+    rustc
+    typing-extensions
+  ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    libiconv
+  ];
+
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "pydantic_core" ];
+
+  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"
+  ];
+
+  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 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pydeck/default.nix b/nixpkgs/pkgs/development/python-modules/pydeck/default.nix
index 1a0e86e5f47a..ccdc8509b8cb 100644
--- a/nixpkgs/pkgs/development/python-modules/pydeck/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydeck/default.nix
@@ -1,53 +1,61 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , ipykernel
 , ipywidgets
-, pythonOlder
-, pytestCheckHook
-, pandas
 , jinja2
 , numpy
+, pandas
+, pytestCheckHook
+, pythonOlder
+, setuptools
 , traitlets
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "pydeck";
-  version = "0.7.1";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
-  patches = [
-    # fixes build with latest setuptools
-    (fetchpatch {
-      url = "https://github.com/visgl/deck.gl/commit/9e68f73b28aa3bf0f2a887a4d8ccd2dc35677039.patch";
-      hash = "sha256-YVVoVbVdY5nV+17OwYIs9AwKGyzgKZHi655f4BLcdMU=";
-      stripLen = 2;
-    })
-  ];
-
   src = fetchPypi {
     inherit pname version;
-    sha256 = "907601c99f7510e16d27d7cb62bfa145216d166a2b5c9c50cfe2b65b032ebd2e";
+    hash = "sha256-B+3egz98/O9nSRJDURlap9zSRmPUkJ/XiY29C2+8Aew=";
   };
 
-  pythonImportsCheck = [ "pydeck" ];
-
-  nativeCheckInputs = [ pytestCheckHook pandas ];
-
-  # tries to start a jupyter server
-  disabledTests = [ "test_nbconvert" ];
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
 
   propagatedBuildInputs = [
-    ipykernel
-    ipywidgets
     jinja2
     numpy
-    traitlets
   ];
 
+  passthru.optional-dependencies = {
+    carto = [
+      # pydeck-carto
+    ];
+    jupyter = [
+      ipykernel
+      ipywidgets
+      traitlets
+    ];
+  };
+
+  pythonImportsCheck = [ "pydeck" ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pandas
+  ] ++ passthru.optional-dependencies.jupyter;
+
+  # tries to start a jupyter server
+  disabledTests = [ "test_nbconvert" ];
+
   meta = with lib; {
     homepage = "https://github.com/visgl/deck.gl/tree/master/bindings/pydeck";
     description = "Large-scale interactive data visualization in Python";
diff --git a/nixpkgs/pkgs/development/python-modules/pydevd/default.nix b/nixpkgs/pkgs/development/python-modules/pydevd/default.nix
index cc79c43febd7..8ee2f8d98acf 100644
--- a/nixpkgs/pkgs/development/python-modules/pydevd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydevd/default.nix
@@ -2,6 +2,7 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , numpy
 , psutil
 , pytestCheckHook
@@ -24,6 +25,17 @@ buildPythonPackage rec {
     hash = "sha256-TDU/V7kY7zVxiP4OVjGqpsRVYplpkgCly2qAOqhZONo=";
   };
 
+  patches = [
+    # https://github.com/fabioz/PyDev.Debugger/pull/258
+    (fetchpatch {
+      name = "numpy-1.25-test-compatibility.patch";
+      url = "https://github.com/fabioz/PyDev.Debugger/commit/6f637d951cda62dc2202a2c7b6af526c4d1e8a00.patch";
+      hash = "sha256-DLzZZwQHtqGZGA8nsBLNQqamuI4xUfQ89Gd21sJa9/s=";
+    })
+  ];
+
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     numpy
     psutil
diff --git a/nixpkgs/pkgs/development/python-modules/pydicom/default.nix b/nixpkgs/pkgs/development/python-modules/pydicom/default.nix
index 34a802a25692..a2100c83c8df 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.3.1";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "pydicom";
     repo = "pydicom";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xt0aK908lLgNlpcI86OSxy96Z/PZnQh7+GXzJ0VMQGA=";
+    hash = "sha256-FNZVu2/7kBGeP4iTH53bsApfHzHFxr5bxqbqkI4T95E=";
   };
 
   # Pydicom needs pydicom-data to run some tests. If these files aren't downloaded
@@ -25,8 +25,8 @@ let
   test_data = fetchFromGitHub {
     owner = "pydicom";
     repo = "pydicom-data";
-    rev = "bbb723879690bb77e077a6d57657930998e92bd5";
-    hash = "sha256-dCI1temvpNWiWJYVfQZKy/YJ4ad5B0e9hEKHJnEeqzk=";
+    rev = "cbb9b2148bccf0f550e3758c07aca3d0e328e768";
+    hash = "sha256-nF/j7pfcEpWHjjsqqTtIkW8hCEbuQ3J4IxpRk0qc1CQ=";
   };
 
 in
diff --git a/nixpkgs/pkgs/development/python-modules/pyemd/default.nix b/nixpkgs/pkgs/development/python-modules/pyemd/default.nix
index bb178a572415..72ec80c6b4a1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyemd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyemd/default.nix
@@ -3,8 +3,11 @@
 , pythonOlder
 , fetchPypi
 , cython
+, oldest-supported-numpy
 , packaging
 , setuptools
+, setuptools-scm
+, wheel
 , numpy
 , pytestCheckHook
 }:
@@ -24,8 +27,12 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     cython
+    numpy
+    oldest-supported-numpy
     packaging
     setuptools
+    setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyflume/default.nix b/nixpkgs/pkgs/development/python-modules/pyflume/default.nix
index 1459c88a68de..fc0ef714ce99 100644
--- a/nixpkgs/pkgs/development/python-modules/pyflume/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyflume/default.nix
@@ -5,27 +5,27 @@
 , pythonOlder
 , pyjwt
 , ratelimit
-, pytz
 , requests
 , requests-mock
 }:
 
 buildPythonPackage rec {
   pname = "pyflume";
-  version = "0.7.1";
-  disabled = pythonOlder "3.7";
+  version = "0.7.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "ChrisMandich";
     repo = "PyFlume";
-    rev = "v${version}";
-    hash = "sha256-Ka90n9Esv6tm310DjYeosBUhudeVoEJzt45L40+0GwQ=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-wmaOOM8y7LthEgf3Uyv1N4ODviPGSlIQejC01IlhaJw=";
   };
 
   propagatedBuildInputs = [
     pyjwt
     ratelimit
-    pytz
     requests
   ];
 
@@ -34,11 +34,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pyflume" ];
+  pythonImportsCheck = [
+    "pyflume"
+  ];
 
   meta = with lib; {
     description = "Python module to work with Flume sensors";
     homepage = "https://github.com/ChrisMandich/PyFlume";
+    changelog = "https://github.com/ChrisMandich/PyFlume/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix b/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix
index 2cc602050c15..5a158aa3e25e 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfritzhome/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyfritzhome";
-  version = "0.6.8";
+  version = "0.6.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "hthiery";
     repo = "python-fritzhome";
     rev = "refs/tags/${version}";
-    hash = "sha256-MIWRBwqVuS1iEuWxsE1yuGS2zHYVgnH2G4JJk7Yct6s=";
+    hash = "sha256-BhJkUbTAzMkzWINVoBDG2Vnf4Fd+kX1oBkXWD7UNbTw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix b/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
index baf57da4160e..f004ac7c88c4 100644
--- a/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyftdi/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyftdi";
-  version = "0.54.0";
+  version = "0.55.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "eblot";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-vL8jSgTtDvaHuCvaCYmFixILQFasTl82yINL5yRtOwU=";
+    hash = "sha256-EEMHY5EKftci72huF5UmJyh2wJAc8uNh/QhGSSAVXIU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix b/nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix
index 45dbd1a43ae2..7df84ea78abd 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix
@@ -2,8 +2,9 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, cython
+, cython_3
 , pkg-config
+, setuptools
 , fuse3
 , trio
 , python
@@ -14,17 +15,17 @@
 
 buildPythonPackage rec {
   pname = "pyfuse3";
-  version = "3.2.3";
+  version = "3.3.0";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.8";
 
-  format = "setuptools";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "libfuse";
     repo = "pyfuse3";
     rev = "refs/tags/${version}";
-    hash = "sha256-2YrVapCojcFRaljqNeWPMWz3hEgSutKPy2u8FXp0fME=";
+    hash = "sha256-GLGuTFdTA16XnXKSBD7ET963a8xH9EG/JfPNu6/3DOg=";
   };
 
   postPatch = ''
@@ -33,8 +34,9 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
-    cython
+    cython_3
     pkg-config
+    setuptools
   ];
 
   buildInputs = [ fuse3 ];
diff --git a/nixpkgs/pkgs/development/python-modules/pygame_sdl2/default.nix b/nixpkgs/pkgs/development/python-modules/pygame_sdl2/default.nix
index 318683f04815..bf123eef02a5 100644
--- a/nixpkgs/pkgs/development/python-modules/pygame_sdl2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygame_sdl2/default.nix
@@ -9,7 +9,7 @@ buildPythonPackage rec {
 
   src = fetchurl {
     url = "https://www.renpy.org/dl/${renpy_version}/pygame_sdl2-${version}-for-renpy-${renpy_version}.tar.gz";
-    hash = "sha256-smJsOVavMvy0aO3C5PC050LlOy5bsG45uWSMbbFMQ+I=";
+    hash = "sha256-u9DIFKd+uyphH3ETMJWYqt7YFyeIgBWoXUO3rC+RWjc=";
   };
 
   # force rebuild of headers needed for install
diff --git a/nixpkgs/pkgs/development/python-modules/pygit2/default.nix b/nixpkgs/pkgs/development/python-modules/pygit2/default.nix
index 0ce6dc642448..c7e4979d1372 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
+, libgit2_1_6
 , pycparser
 , pytestCheckHook
 , pythonOlder
@@ -25,11 +25,11 @@ buildPythonPackage rec {
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
-    export DYLD_LIBRARY_PATH="${libgit2}/lib"
+    export DYLD_LIBRARY_PATH="${libgit2_1_6}/lib"
   '';
 
   buildInputs = [
-    libgit2
+    libgit2_1_6
   ];
 
   propagatedBuildInputs = [
@@ -58,14 +58,6 @@ buildPythonPackage rec {
   # https://github.com/NixOS/nixpkgs/pull/72544#issuecomment-582674047
   SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
 
-  # setup.py check is broken
-  # https://github.com/libgit2/pygit2/issues/868
-  dontUseSetuptoolsCheck = true;
-
-  # TODO: Test collection is failing
-  # https://github.com/NixOS/nixpkgs/pull/72544#issuecomment-582681068
-  doCheck = false;
-
   pythonImportsCheck = [
     "pygit2"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pygitguardian/default.nix b/nixpkgs/pkgs/development/python-modules/pygitguardian/default.nix
new file mode 100644
index 000000000000..9eff24633034
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pygitguardian/default.nix
@@ -0,0 +1,72 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, marshmallow
+, marshmallow-dataclass
+, pytestCheckHook
+, pythonOlder
+, requests
+, responses
+, setuptools
+, typing-extensions
+, vcrpy
+}:
+
+buildPythonPackage rec {
+  pname = "pygitguardian";
+  version = "1.9.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "GitGuardian";
+    repo = "py-gitguardian";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-lDs2H5GUf3fhTSX+20dD0FNW2oirkgQQk5t7GKSnKe4=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    marshmallow
+    marshmallow-dataclass
+    requests
+    typing-extensions
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    vcrpy
+    responses
+  ];
+
+  pythonImportsCheck = [
+    "pygitguardian"
+  ];
+
+  disabledTests = [
+    # Tests require an API key
+    "test_health_check"
+    "test_multi_content_scan"
+    "test_content_scan_exceptions"
+    "test_multi_content_exceptions"
+    "test_content_scan"
+    "test_extra_headers"
+    "test_multiscan_parameters"
+    "test_quota_overview"
+    "test_versions_from_headers"
+    "test_create_honeytoken"
+    "test_create_jwt"
+  ];
+
+  meta = with lib; {
+    description = "Library to access the GitGuardian API";
+    homepage = "https://github.com/GitGuardian/py-gitguardian";
+    changelog = "https://github.com/GitGuardian/py-gitguardian/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pygithub/default.nix b/nixpkgs/pkgs/development/python-modules/pygithub/default.nix
index 0ac5e65f5fd8..a42c41a392dd 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.0";
+  version = "1.59.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "PyGithub";
     repo = "PyGithub";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bfXf1lwTpoyf6Pn4J0KR99xUh28VPszlbcYSbqKfyFQ=";
+    hash = "sha256-tzM2+nLBHTbKlQ7HLmNRq4Kn62vmz1MaGyZsnaJSrgQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pyglet/default.nix b/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
index 85aead0f9b42..e27a5d99f4e5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
@@ -18,13 +18,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.0.8";
+  version = "2.0.9";
   pname = "pyglet";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xc+aEywcAaZ/VL959aTNi0Rm1Cb1aFIDMHij9nzYg8Y=";
+    hash = "sha256-oJIuQvLSWFBWeOL0o1XFR2waY1LD86N3VAQt23589y8=";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pygments-better-html/default.nix b/nixpkgs/pkgs/development/python-modules/pygments-better-html/default.nix
index 152e9463b0e2..635707160305 100644
--- a/nixpkgs/pkgs/development/python-modules/pygments-better-html/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygments-better-html/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pygments_better_html";
-  version = "0.1.4";
+  version = "0.1.5";
   disabled = ! isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "028szd3k295yhz943bj19i4kx6f0pfh1fd2q14id0g84dl4i49dm";
+    sha256 = "sha256-SLAe5ubIGEchUNoHCct6CWisBja3WNEfpE48v9CTzPQ=";
   };
 
   propagatedBuildInputs = [ pygments ];
diff --git a/nixpkgs/pkgs/development/python-modules/pygments/default.nix b/nixpkgs/pkgs/development/python-modules/pygments/default.nix
index a7b2acd55ca9..8f32d26ebc24 100644
--- a/nixpkgs/pkgs/development/python-modules/pygments/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygments/default.nix
@@ -1,8 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, docutils
-, lxml
+
+# build-system
+, setuptools
+
+# tests
 , pytestCheckHook
 , wcag-contrast-ratio
 }:
@@ -10,22 +13,23 @@
 let pygments = buildPythonPackage
   rec {
     pname = "pygments";
-    version = "2.14.0";
+    version = "2.15.1";
+    format = "pyproject";
 
     src = fetchPypi {
       pname = "Pygments";
       inherit version;
-      hash = "sha256-s+0GqeismpquWm9dvniopYZV0XtDuTwHjwlN3Edq4pc=";
+      hash = "sha256-is5NPB3UgYlLIAX1YOrQ+fGe5k/pgzZr4aIeFx0Sd1w=";
     };
 
-    propagatedBuildInputs = [
-      docutils
+    nativeBuildInputs = [
+      setuptools
     ];
 
     # circular dependencies if enabled by default
     doCheck = false;
+
     nativeCheckInputs = [
-      lxml
       pytestCheckHook
       wcag-contrast-ratio
     ];
@@ -35,13 +39,16 @@ let pygments = buildPythonPackage
       "tests/examplefiles/bash/ltmain.sh"
     ];
 
-    pythonImportsCheck = [ "pygments" ];
+    pythonImportsCheck = [
+      "pygments"
+    ];
 
     passthru.tests = {
       check = pygments.overridePythonAttrs (_: { doCheck = true; });
     };
 
     meta = with lib; {
+      changelog = "https://github.com/pygments/pygments/releases/tag/${version}";
       homepage = "https://pygments.org/";
       description = "A generic syntax highlighter";
       mainProgram = "pygmentize";
diff --git a/nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix b/nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix
index 80f16e760d8b..12876e2a3e02 100644
--- a/nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygraphviz/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "pygraphviz";
-  version = "1.10";
+  version = "1.11";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RX4JOoiBKJAyUaJmqMwWtLqT8/YzSz6/7ZLHRxp02Gc=";
+    hash = "sha256-qX61ztJm9FBT67HyxsbSkJFpBQPjpcFL5/kIs3sG8tQ=";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pygrok/default.nix b/nixpkgs/pkgs/development/python-modules/pygrok/default.nix
index f209463f9991..7414b0df0df2 100644
--- a/nixpkgs/pkgs/development/python-modules/pygrok/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygrok/default.nix
@@ -23,6 +23,6 @@ buildPythonPackage rec {
     description = "A python implementation of jordansissel's grok regular expression library";
     homepage = "https://github.com/garyelephant/pygrok";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix b/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
index 22c044e68b81..1747fc677398 100644
--- a/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyinsteon/default.nix
@@ -1,7 +1,7 @@
 { lib
 , aiofiles
 , aiohttp
-, async_generator
+, async-generator
 , buildPythonPackage
 , fetchFromGitHub
 , pypubsub
@@ -41,7 +41,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    async_generator
+    async-generator
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix b/nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix
index ceac634b3290..6d53d7bc2eb5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyintesishome/default.nix
@@ -2,17 +2,21 @@
 , aiohttp
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyintesishome";
-  version = "1.8.4";
+  version = "1.8.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jnimmo";
     repo = "pyIntesisHome";
     rev = "refs/tags/${version}";
-    hash = "sha256-+pXGB7mQszbBp4KhOYzDKoGFoUHATWLbOU6QwMIpGWU=";
+    hash = "sha256-QgIvIn8I5EtJSNj1FdOI+DPgG7/y2ToQ62dhk7flieo=";
   };
 
   propagatedBuildInputs = [
@@ -21,11 +25,15 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "pyintesishome" ];
+
+  pythonImportsCheck = [
+    "pyintesishome"
+  ];
 
   meta = with lib; {
     description = "Python interface for IntesisHome devices";
     homepage = "https://github.com/jnimmo/pyIntesisHome";
+    changelog = "https://github.com/jnimmo/pyIntesisHome/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyipp/default.nix b/nixpkgs/pkgs/development/python-modules/pyipp/default.nix
index de0bdc5f637e..c080d634b83b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyipp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyipp/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyipp";
-  version = "0.14.2";
+  version = "0.14.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
    owner = "ctalkington";
    repo = "python-ipp";
    rev = version;
-   hash = "sha256-IPmpup0VrilfLnYiigjVjL6oRwW4RPlgiafIy7yyckI=";
+   hash = "sha256-WbrAvIdFUPzSxGjIPzNny0V1W8S774vyREgylenJp24=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix b/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix
index 55e682e07414..cef52b754ad6 100644
--- a/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyjwt/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyjwt";
-  version = "2.7.0";
+  version = "2.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyJWT";
     inherit version;
-    hash = "sha256-vWyko8QoXBotQ0nloDX9+PuU4EzND8vmuiidrpzD4HQ=";
+    hash = "sha256-V+KNFW49XBAIjgxoq7kL+sPfgrQKcb0NqiDGXM1cI94=";
   };
 
   postPatch = ''
@@ -45,6 +45,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ] ++ (lib.flatten (lib.attrValues passthru.optional-dependencies));
 
+  disabledTests = [
+    # requires internet connection
+    "test_get_jwt_set_sslcontext_default"
+  ];
+
   pythonImportsCheck = [ "jwt" ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix b/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix
index da5f2826e434..69e55805993d 100644
--- a/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykeepass/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname   = "pykeepass";
-  version = "4.0.3";
+  version = "4.0.5";
 
   format = "setuptools";
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     owner = "libkeepass";
     repo = "pykeepass";
     rev = "v${version}";
-    hash = "sha256-HyveBBsd1OFWoY3PgqqaKRLBhsxgFv8PRAxEF6r+bf4=";
+    hash = "sha256-IdILcIhrxcTDddoxiK257II0V7ctVb1CTLfTPmuwjTQ=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix b/nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix
index d4dd2d6781be..32f20e278754 100644
--- a/nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylibftdi/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pylibftdi";
-  version = "0.20.0";
+  version = "0.21.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f4a87fc4af2c9c7d42badd4192ca9b529f32c9d96fdc8daea7e29c509226df5f";
+    hash = "sha256-634vUFKFJUf0xsRgIqFmX510U0OWORcereVv3ICliDI=";
   };
 
   propagatedBuildInputs = [
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    substituteInPlace pylibftdi/driver.py \
+    substituteInPlace src/pylibftdi/driver.py \
       --replace "self._load_library('libusb')" "cdll.LoadLibrary('${libusb1.out}/lib/libusb-1.0.so')" \
       --replace "self._load_library('libftdi')" "cdll.LoadLibrary('${libftdi1.out}/lib/libftdi1.so')"
   '';
@@ -34,8 +34,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    homepage = "https://pylibftdi.readthedocs.io/";
     description = "Wrapper to Intra2net's libftdi driver for FTDI's USB devices";
+    homepage = "https://pylibftdi.readthedocs.io/";
+    changelog = "https://github.com/codedstructure/pylibftdi/blob/${version}0/CHANGES.txt";
     license = licenses.mit;
     maintainers = with maintainers; [ matthuszagh ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pylink-square/default.nix b/nixpkgs/pkgs/development/python-modules/pylink-square/default.nix
index 1ea6196dcc54..a037511288f8 100644
--- a/nixpkgs/pkgs/development/python-modules/pylink-square/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylink-square/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pylink-square";
-  version = "1.1.0";
+  version = "1.2.0";
 
   format = "setuptools";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "square";
     repo = "pylink";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pICSU33n/oH+LRbWNYOdnTaa5qAGRRXWsO1NjO4ylzw=";
+    hash = "sha256-rcM7gvUUfXN5pL9uIihzmOCXA7NKjiMt2GaQaGJxD9M=";
   };
 
   propagatedBuildInputs = [ psutil six future ];
diff --git a/nixpkgs/pkgs/development/python-modules/pylint-venv/default.nix b/nixpkgs/pkgs/development/python-modules/pylint-venv/default.nix
index e980c9573cdb..1ba6e062989a 100644
--- a/nixpkgs/pkgs/development/python-modules/pylint-venv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylint-venv/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pylint-venv";
-  version = "3.0.1";
+  version = "3.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "jgosmann";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-GkUdIG+Mp2/POOPJZ/vtONYrd26GB44dxh9455aWZuU=";
+    hash = "sha256-mYG9iZHbA67oJc2sshtV3w8AQaqPsXGqMuLJFI4jAI0=";
   };
 
   nativeBuildInputs = [
@@ -33,6 +33,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Module to make pylint respect virtual environments";
     homepage = "https://github.com/jgosmann/pylint-venv/";
+    changelog = "https://github.com/jgosmann/pylint-venv/blob/v${version}/CHANGES.md";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pylint/default.nix b/nixpkgs/pkgs/development/python-modules/pylint/default.nix
index 7ce16743125a..d4a89aa000bf 100644
--- a/nixpkgs/pkgs/development/python-modules/pylint/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pylint/default.nix
@@ -2,6 +2,7 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pythonOlder
 , astroid
 , dill
@@ -18,24 +19,40 @@
 , pytest-timeout
 , pytest-xdist
 , pytestCheckHook
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.16.2";
+  version = "2.17.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7.2";
 
   src = fetchFromGitHub {
-    owner = "PyCQA";
+    owner = "pylint-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-xNCGf4CsxEKScIn6dl2Ka31P6bhMo5fTs9TIQz+vPiM=";
+    hash = "sha256-cmH6Q6/XJXx8EXDIsik1Aheu9hYGvvlNvWBUCdmC3P8=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "update-setuptools.patch";
+      url = "https://github.com/pylint-dev/pylint/commit/1d029b594aa258fa01570632d001e801f9257d60.patch";
+      hash = "sha256-brQwelZVkSX9h0POH8OJeapZuWZ8p7BY/ZzhYzGbiHY=";
+    })
+    # https://github.com/pylint-dev/pylint/pull/8961
+    (fetchpatch {
+      name = "unpin-setuptools.patch";
+      url = "https://github.com/pylint-dev/pylint/commit/a0ac282d6f8df381cc04adc0a753bec66fc4db63.patch";
+      hash = "sha256-15O72LE2WQK590htNc3jghdbVoGLHUIngERDpqT8pK8=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
@@ -68,6 +85,7 @@ buildPythonPackage rec {
     # implementation relies on the '__implements__'  attribute proposed
     # in PEP 245, which was rejected in 2006.
     "-W" "ignore::DeprecationWarning"
+    "-v"
   ];
 
   dontUseSetuptoolsCheck = true;
@@ -103,7 +121,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    homepage = "https://pylint.pycqa.org/";
+    homepage = "https://pylint.readthedocs.io/en/stable/";
     description = "A bug and style checker for Python";
     longDescription = ''
       Pylint is a Python static code analysis tool which looks for programming errors,
diff --git a/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix b/nixpkgs/pkgs/development/python-modules/pylitterbot/default.nix
index 4f70a25afabf..0a8b27e5cbbb 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.3";
+  version = "2023.4.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "natekspencer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-pUtOLQ4ftG0tYPued12CqKGt3LKyfmLPxIYKvkYg1nI=";
+    hash = "sha256-Vsnxb597HOu1zHXqZjC3rsjyEQYoSNQcXiArzqOWBUQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymazda/default.nix b/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
index f5b07c5a4f3d..b0b83ca84038 100644
--- a/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymazda/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pymazda";
-  version = "0.3.10";
+  version = "0.3.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-b7YRg5g9ltYJhjMVcq9uZaSqzizJZM4pE4WYW2u9AwY=";
+    hash = "sha256-DiXLY4mfgRbE0Y1tOJnkMSQQj1vcySLVDBthOWe7/dM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymetno/default.nix b/nixpkgs/pkgs/development/python-modules/pymetno/default.nix
index 3b7a1ddb0613..cab8e0040148 100644
--- a/nixpkgs/pkgs/development/python-modules/pymetno/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymetno/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pymetno";
-  version = "0.10.0";
+  version = "0.11.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "PyMetno";
     rev = "refs/tags/${version}";
-    hash = "sha256-Do9RQS4gE2BapQtKQsnMzJ8EJzzxkCBA5r3z1zHXIsA=";
+    hash = "sha256-NikfHQwVviCKWGfY1atirFVaqWQHfXg8WAgZIDnGn4Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymilvus/default.nix b/nixpkgs/pkgs/development/python-modules/pymilvus/default.nix
index ba22546099a3..307ee7fbfd64 100644
--- a/nixpkgs/pkgs/development/python-modules/pymilvus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymilvus/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pymilvus";
-  version = "2.2.13";
+  version = "2.2.15";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "milvus-io";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-NTzdbmI2vNvNBFhN+xyZewH4b6l1BbKkDDE7rLNJ4IE=";
+    hash = "sha256-wwhgO2iCzPXobyZI0narHPn2WCAB9sS1+AoLrP1Ih6Q=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pynina/default.nix b/nixpkgs/pkgs/development/python-modules/pynina/default.nix
index a167f8cf1d65..acdb8f0b14c0 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.1";
+  version = "0.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyNINA";
     inherit version;
-    hash = "sha256-HyOk3W95dEl+p8YGh3xP29HcvbncqxsUaWSQUiKgTWM=";
+    hash = "sha256-uiNUkNL/3FGGhqctE9AZNdSD4o7jTk829GAT5Gy2Xeo=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pynws/default.nix b/nixpkgs/pkgs/development/python-modules/pynws/default.nix
index 145f20e4c589..4b9c70a044b6 100644
--- a/nixpkgs/pkgs/development/python-modules/pynws/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynws/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pynws";
-  version = "1.5.0";
+  version = "1.5.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "MatthewFlamm";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-UGwK7HasDAPw3edQUdrzWOmrbbM9l5R1BVw3M+FNm1s=";
+    hash = "sha256-Mq8kYS4p53gdSGF83AkSPecVizoEBbeKvyk7nCsRYdM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
index db77f854dbb3..4e67fd0783d5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopenssl/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "pyopenssl";
-  version = "23.1.1";
+  version = "23.2.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "pyOpenSSL";
     inherit version;
-    hash = "sha256-hBSYub7GFiOxtsR+u8AjZ8B9YODhlfGXkIF/EMyNsLc=";
+    hash = "sha256-J2+TH1WkUufeppxxc+mE6ypEB85BPJGKo0tV+C+bi6w=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyopnsense/default.nix b/nixpkgs/pkgs/development/python-modules/pyopnsense/default.nix
index c7abf88c3da7..a1df192ac223 100644
--- a/nixpkgs/pkgs/development/python-modules/pyopnsense/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyopnsense/default.nix
@@ -4,10 +4,10 @@
 , fixtures
 , mock
 , pbr
-, pytest-cov
 , pytestCheckHook
 , pythonOlder
 , requests
+, testtools
 }:
 
 buildPythonPackage rec {
@@ -29,8 +29,8 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     fixtures
     mock
-    pytest-cov
     pytestCheckHook
+    testtools
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyotp/default.nix b/nixpkgs/pkgs/development/python-modules/pyotp/default.nix
index 47ef017c7f11..df209f092bc5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyotp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyotp/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyotp";
-  version = "2.8.0";
+  version = "2.9.0";
   disabled = pythonOlder "3.7";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wvXhfZ2pLY7B995jMasIEWuRFa26vLpuII1G/EmpjFo=";
+    hash = "sha256-NGtmQuDb3eO0/1qTC2ZMqCq/oRY1btSMxCx9ZZDTb2M=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
index 7f261a3cfd1b..4dae164a0501 100644
--- a/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
@@ -2,6 +2,7 @@
 , aiohttp
 , attrs
 , backoff
+, backports-strenum
 , boto3
 , buildPythonPackage
 , fetchFromGitHub
@@ -15,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyoverkiz";
-  version = "1.9.1";
+  version = "1.10.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = "iMicknl";
     repo = "python-overkiz-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-03tbWCkSAG/aE6hsPxCPuGRFPTiMgkp/tCzWScPW8YE=";
+    hash = "sha256-tb0xU1H1VrWTuObCg1+mFkzawAzrknO3fER7cN2St7U=";
   };
 
   postPatch = ''
@@ -37,11 +38,12 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    attrs
     aiohttp
+    attrs
     backoff
-    pyhumps
+    backports-strenum
     boto3
+    pyhumps
     warrant-lite
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pypdf/default.nix b/nixpkgs/pkgs/development/python-modules/pypdf/default.nix
index d5b152b603d1..585d12e8fb04 100644
--- a/nixpkgs/pkgs/development/python-modules/pypdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypdf/default.nix
@@ -15,16 +15,17 @@
 , typing-extensions
 
 # optionals
-, pycryptodome
+, cryptography
 , pillow
 
 # tests
 , pytestCheckHook
+, pytest-timeout
 }:
 
 buildPythonPackage rec {
   pname = "pypdf";
-  version = "3.5.2";
+  version = "3.15.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
@@ -33,7 +34,7 @@ buildPythonPackage rec {
     rev = "refs/tags/${version}";
     # fetch sample files used in tests
     fetchSubmodules = true;
-    hash = "sha256-f+M4sfUzDy8hxHUiWG9hyu0EYvnjNA46OtHzBSJdID0=";
+    hash = "sha256-0KMZnMIeTkra2Il4HGDBtm8HLP8zpMXgUD4V5U5fYy0=";
   };
 
   outputs = [
@@ -62,7 +63,7 @@ buildPythonPackage rec {
   passthru.optional-dependencies = rec {
     full = crypto ++ image;
     crypto = [
-      pycryptodome
+      cryptography
     ];
     image = [
       pillow
@@ -75,6 +76,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-timeout
   ] ++ passthru.optional-dependencies.full;
 
   pytestFlagsArray = [
@@ -82,6 +84,11 @@ buildPythonPackage rec {
     "-m" "'not enable_socket'"
   ];
 
+  disabledTests = [
+    # requires fpdf2 which we don't package yet
+    "test_compression"
+  ];
+
   meta = with lib; {
     description = "A pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files";
     homepage = "https://github.com/py-pdf/pypdf";
diff --git a/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix b/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix
index 74ddf37e236d..e892a8227c3d 100644
--- a/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypiserver/default.nix
@@ -1,57 +1,82 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, lib
 , passlib
 , pytestCheckHook
+, pythonOlder
 , setuptools
 , setuptools-git
 , twine
+, watchdog
 , webtest
 }:
 
 buildPythonPackage rec {
   pname = "pypiserver";
-  version = "1.5.1";
+  version = "1.5.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-1tV3pVEC5sIjT0tjbujU7l41Jx7PQ1dCn4B1r94C9xE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-jub+iVL/YeGaG9Vzqyyfc4qFi0cR+7xrzuXNHL5W4p4=";
   };
 
-  nativeBuildInputs = [ setuptools-git ];
+  nativeBuildInputs = [
+    setuptools-git
+  ];
 
-  propagatedBuildInputs = [ setuptools ];
+  propagatedBuildInputs = [
+    setuptools
+  ];
+
+  passthru.optional-dependencies = {
+    passlib = [
+      passlib
+    ];
+    cache = [
+      watchdog
+    ];
+  };
 
   preCheck = ''
     export HOME=$TMPDIR
   '';
 
   nativeCheckInputs = [
-    passlib
     pytestCheckHook
     twine
     webtest
-  ];
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   disabledTests = [
-    # fails to install the package
+    # Fails to install the package
     "test_hash_algos"
     "test_pip_install_authed_succeeds"
     "test_pip_install_open_succeeds"
+    "test_pip_install_authed_fails"
+    # Tests want to tests upload
+    "upload"
+    "register"
+    "test_partial_authed_open_download"
   ];
 
   disabledTestPaths = [
-    # requires docker service running
+    # Test requires docker service running
     "docker/test_docker.py"
   ];
 
-  pythonImportsCheck = [ "pypiserver" ];
+  pythonImportsCheck = [
+    "pypiserver"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/pypiserver/pypiserver";
     description = "Minimal PyPI server for use with pip/easy_install";
+    homepage = "https://github.com/pypiserver/pypiserver";
+    changelog = "https://github.com/pypiserver/pypiserver/releases/tag/v${version}";
     license = with licenses; [ mit zlib ];
     maintainers = with maintainers; [ austinbutler ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyplatec/default.nix b/nixpkgs/pkgs/development/python-modules/pyplatec/default.nix
index aff4d54abc4d..209c0d587eb5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyplatec/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyplatec/default.nix
@@ -13,11 +13,12 @@ buildPythonPackage rec {
     sha256 = "0kqx33flcrrlipccmqs78d14pj5749bp85b6k5fgaq2c7yzz02jg";
   };
 
+  env.NIX_CFLAGS_COMPILE = "-std=c++11";
+
   meta = with lib; {
     description = "Library to simulate plate tectonics with Python bindings";
     homepage    = "https://github.com/Mindwerks/plate-tectonics";
     license     = licenses.lgpl3;
-    broken      = stdenv.isLinux;
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyprecice/default.nix b/nixpkgs/pkgs/development/python-modules/pyprecice/default.nix
index b6e52d675485..ebc8c4234375 100644
--- a/nixpkgs/pkgs/development/python-modules/pyprecice/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyprecice/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyprecice";
-  version = "2.5.0.2";
+  version = "2.5.0.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "precice";
     repo = "python-bindings";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ppDilMwRxVsikTFQMNRYL0G1/HvVomz2S/2yx43u000=";
+    hash = "sha256-Nau4ytOSv5WOly/hbHO2M6Rgx1ileJrzfCfNJFnwVaw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyproj/default.nix b/nixpkgs/pkgs/development/python-modules/pyproj/default.nix
index f3ff10b3c16b..e65313c753ef 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.5.0";
-  disabled = pythonOlder "3.7";
+  version = "3.6.0";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "pyproj4";
     repo = "pyproj";
     rev = "refs/tags/${version}";
-    hash = "sha256-Vsje8gEJWNt2P1WOFm/IZSpJo04N0CXWxcmfADmP/M4=";
+    hash = "sha256-XMJg1azsvMtVnKuIulrrZ1Of3CFk2/EgQjkN1g0FpmQ=";
   };
 
   # force pyproj to use ${proj}
diff --git a/nixpkgs/pkgs/development/python-modules/pyproject-hooks/default.nix b/nixpkgs/pkgs/development/python-modules/pyproject-hooks/default.nix
index 76bf3902c3d2..d751160b54d8 100644
--- a/nixpkgs/pkgs/development/python-modules/pyproject-hooks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyproject-hooks/default.nix
@@ -26,8 +26,7 @@ buildPythonPackage rec {
     flit-core
   ];
 
-  propagatedBuildInputs = [
-  ] ++ lib.optionals (pythonOlder "3.11") [
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.11") [
     tomli
   ];
 
@@ -52,6 +51,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/pypa/pyproject-hooks";
     changelog = "https://github.com/pypa/pyproject-hooks/blob/v${version}/docs/changelog.rst";
     license = licenses.mit;
-    maintainers = with maintainers; [ hexa ];
+    maintainers = teams.python.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyprusalink/default.nix b/nixpkgs/pkgs/development/python-modules/pyprusalink/default.nix
index 7336dafe88df..97fff5b0687c 100644
--- a/nixpkgs/pkgs/development/python-modules/pyprusalink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyprusalink/default.nix
@@ -2,8 +2,10 @@
 , aiohttp
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pythonOlder
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -20,8 +22,18 @@ buildPythonPackage rec {
     hash = "sha256-XRtbb7kceiqi8pioTWStRo0drCtQfy1t62jCMihlIec=";
   };
 
+  patches = [
+    # https://github.com/home-assistant-libs/pyprusalink/pull/55
+    (fetchpatch {
+      name = "unpin-setuptools-dependency.patch";
+      url = "https://github.com/home-assistant-libs/pyprusalink/commit/8efc3229c491a1763456f0f4017251d5789c6d0a.patch";
+      hash = "sha256-kTu1+IwDrcdqelyK/vfhxw8MQBis5I1jag7YTytKQhs=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyqt/pyqt6-sip.nix b/nixpkgs/pkgs/development/python-modules/pyqt/pyqt6-sip.nix
index e03db542afe7..106a439fbb57 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqt/pyqt6-sip.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqt/pyqt6-sip.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "pyqt6-sip";
-  version = "13.5.1";
+  version = "13.5.2";
 
   src = fetchPypi {
     pname = "PyQt6_sip";
     inherit version;
-    hash = "sha256-0ekUF1KWZmlXbQSze6CxIqu8QcycNUk3UQKNfZHE3Uk=";
+    hash = "sha256-6/YmS2/toBujfTtgpLuHSTvbh75w97KlOEp6zUkC2I0=";
   };
 
   # There is no test code and the check phase fails with:
diff --git a/nixpkgs/pkgs/development/python-modules/pyquery/default.nix b/nixpkgs/pkgs/development/python-modules/pyquery/default.nix
index 4e3b1442ee31..699bcd0fbc59 100644
--- a/nixpkgs/pkgs/development/python-modules/pyquery/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyquery/default.nix
@@ -33,6 +33,8 @@ buildPythonPackage rec {
     lxml
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   pythonImportsCheck = [ "pyquery" ];
 
   checkInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix b/nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix
index 67a57b8c203b..7a4e86c8dd1f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrainbird/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "pyrainbird";
-  version = "3.0.1";
+  version = "4.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Qi0NfLayypi/wKJZB9IOzoeaZsb3oq2JahXWdkwSjeo=";
+    hash = "sha256-VwcYyD9JtLDU2Bgp2hlptDz3vPoX4revTRKTA8OkWEw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyregion/default.nix b/nixpkgs/pkgs/development/python-modules/pyregion/default.nix
index 115729b64766..30c63528514f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyregion/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyregion/default.nix
@@ -29,6 +29,7 @@ buildPythonPackage rec {
     pyparsing
     numpy
     astropy
+    cython
   ];
 
   # Upstream patches needed for the tests to pass
diff --git a/nixpkgs/pkgs/development/python-modules/pyro5/default.nix b/nixpkgs/pkgs/development/python-modules/pyro5/default.nix
index 7c469595ab74..93ea78d692c8 100644
--- a/nixpkgs/pkgs/development/python-modules/pyro5/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyro5/default.nix
@@ -24,6 +24,8 @@ buildPythonPackage rec {
     serpent
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyrtlsdr/default.nix b/nixpkgs/pkgs/development/python-modules/pyrtlsdr/default.nix
index 19ba2a0c1a64..fdd89c28460b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyrtlsdr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyrtlsdr/default.nix
@@ -4,18 +4,24 @@
 , fetchpatch
 , rtl-sdr
 , setuptools
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyrtlsdr";
-  version = "0.2.93";
+  version = "0.3.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-LeKbtOQDcIinjokBK8LMhLc9xFxgYIsot9kD9ikjuiY=";
+    hash = "sha256-+z5YO6BzuGHo4LxeYvZvBzZekUf102SR3krWLyPkU2I=";
   };
 
-  propagatedBuildInputs = [ setuptools ];
+  propagatedBuildInputs = [
+    setuptools
+  ];
 
   postPatch = ''
     sed "s|driver_files =.*|driver_files = ['${rtl-sdr}/lib/librtlsdr.so']|" -i rtlsdr/librtlsdr.py
@@ -27,7 +33,8 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python wrapper for librtlsdr (a driver for Realtek RTL2832U based SDR's)";
     homepage = "https://github.com/roger-/pyrtlsdr";
-    license = licenses.gpl3;
+    changelog = "https://github.com/pyrtlsdr/pyrtlsdr/releases/tag/v${version}";
+    license = licenses.gpl3Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ bjornfor ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyscf/default.nix b/nixpkgs/pkgs/development/python-modules/pyscf/default.nix
index cc17d141be66..29f795560d41 100644
--- a/nixpkgs/pkgs/development/python-modules/pyscf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyscf/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "pyscf";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "pyscf";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-3ylFz5j176hBQLklLmVKltE8whynzojsoBEWjEL2M14=";
+    hash = "sha256-x693NB0oc9X7SuDZlV3VKOmgnIgKA39O9yswDM0outk=";
   };
 
   # setup.py calls Cmake and passes the arguments in CMAKE_CONFIGURE_ARGS to cmake.
@@ -81,6 +81,10 @@ buildPythonPackage rec {
       -e libxc_cam_beta_bug \
       -e test_finite_diff_rks_eph \
       -e test_finite_diff_uks_eph \
+      -e test_finite_diff_roks_grad \
+      -e test_finite_diff_df_roks_grad \
+      -e test_frac_particles \
+      -e test_nosymm_sa4_newton \
       -e test_pipek \
       -e test_n3_cis_ewald \
       -e test_veff \
diff --git a/nixpkgs/pkgs/development/python-modules/pyschlage/default.nix b/nixpkgs/pkgs/development/python-modules/pyschlage/default.nix
index abc30c72ce84..ff0d39fa7e32 100644
--- a/nixpkgs/pkgs/development/python-modules/pyschlage/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyschlage/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyschlage";
-  version = "2023.7.0";
+  version = "2023.8.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "dknowles2";
     repo = "pyschlage";
     rev = "refs/tags/${version}";
-    hash = "sha256-PH8ClpuYwTu+34hSPPwI1KMFut6UaxWVrbf38LYb9EQ=";
+    hash = "sha256-PTkuVGUdqRcvgcIL7yoVWNLQcWyDpXXHLxb7CoD8J1s=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pysensibo/default.nix b/nixpkgs/pkgs/development/python-modules/pysensibo/default.nix
index 75672f3466dd..0d79ed311625 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.32";
+  version = "1.0.33";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5A98g2SyJa+aGFewPLUgL73XpkccQTYec1mCZvIOa9w=";
+    hash = "sha256-A7IzAIV8dQVSmYTEp9yeySQ8eXnLFVkiuWFS3pe2YTA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix b/nixpkgs/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix
index 69bca8d73444..1bff99c95820 100644
--- a/nixpkgs/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysigma-backend-elasticsearch/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma-backend-elasticsearch";
-  version = "1.0.4";
+  version = "1.0.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-backend-elasticsearch";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HHg5WNnWm7/4yhKRNMxskZzOgyH5qTjRxh55g8nkCb8=";
+    hash = "sha256-a+2RW+S0Tpf1odfLi0JEdbxfJehF+HI/sHc4QX7lQ+4=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix b/nixpkgs/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix
index 87612e80eb52..1fef60d8acf5 100644
--- a/nixpkgs/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysigma-backend-insightidr/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysigma-backend-insightidr";
-  version = "0.2.1";
+  version = "0.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-backend-insightidr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0VBnbThEkGhpxkGNBop0rPYn0NujyrK+ei/2+2f3Wno=";
+    hash = "sha256-B42MADteF0+GC/CPJPLaTGdGcQjC8KEsK9u3tBmtObg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysim/default.nix b/nixpkgs/pkgs/development/python-modules/pysim/default.nix
new file mode 100644
index 000000000000..37e7591c3778
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pysim/default.nix
@@ -0,0 +1,72 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytestCheckHook
+, pytest-asyncio
+, colorlog
+, smpp_pdu
+, pyscard
+, packaging
+, gsm0338
+, bidict
+, jsonpath-ng
+, termcolor
+, pyyaml
+, pycryptodomex
+, construct
+, pyserial
+, pytlv
+, cmd2
+}:
+
+buildPythonPackage {
+  pname = "pysim";
+  version = "unstable-2023-08-13";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "osmocom";
+    repo = "pysim";
+    rev = "09ff0e2b433b7143d5b40b4494744569b805e554";
+    hash = "sha256-7IwIovGR0GcS1bidSqoytmombK6NkLSVAfKB2teW2JU=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace 'smpp.pdu @ git+https://github.com/hologram-io/smpp.pdu' 'smpp.pdu'
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    bidict
+    cmd2
+    colorlog
+    construct
+    gsm0338
+    jsonpath-ng
+    packaging
+    pycryptodomex
+    pyscard
+    pyserial
+    pytlv
+    pyyaml
+    smpp_pdu
+    termcolor
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pySim" ];
+
+  meta = with lib; {
+    description = "A python tool to program SIMs / USIMs / ISIMs.";
+    homepage = "https://github.com/osmocom/pysim";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ flokli janik ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pysma/default.nix b/nixpkgs/pkgs/development/python-modules/pysma/default.nix
index 3c62126d1d3b..973969e3d136 100644
--- a/nixpkgs/pkgs/development/python-modules/pysma/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysma/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pysma";
-  version = "0.7.4";
+  version = "0.7.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4u564tLk91duYv1IClHddur6t+Rbla/e9P0yWAxw2sw=";
+    hash = "sha256-zlCGEcG5tmgEXhSMDLKj0/imT1iHBqlp1O1QhmPrJcA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pystache/default.nix b/nixpkgs/pkgs/development/python-modules/pystache/default.nix
index 4c408d3ad601..19d9b2cdf490 100644
--- a/nixpkgs/pkgs/development/python-modules/pystache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pystache/default.nix
@@ -1,27 +1,41 @@
-{ lib, buildPythonPackage, unittestCheckHook, fetchPypi, isPy3k, glibcLocales }:
+{ lib
+, buildPythonPackage
+, unittestCheckHook
+, fetchPypi
+, pythonOlder
+, glibcLocales
+}:
 
 buildPythonPackage rec {
   pname = "pystache";
-  version = "0.6.0";
+  version = "0.6.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "93bf92b2149a4c4b58d12142e2c4c6dd5c08d89e4c95afccd4b6efe2ee1d470d";
+    hash = "sha256-4CkCIzBJsW4L4alPDHOJ6AViX2c1eD9FM7AgtaOKJ8c=";
   };
 
   LC_ALL = "en_US.UTF-8";
 
-  buildInputs = [ glibcLocales ];
+  buildInputs = [
+    glibcLocales
+  ];
 
-  # SyntaxError Python 3
-  # https://github.com/defunkt/pystache/issues/181
-  doCheck = !isPy3k;
+  nativeCheckInputs = [
+    unittestCheckHook
+  ];
 
-  nativeCheckInputs = [ unittestCheckHook ];
+  pythonImportsCheck = [
+    "pystache"
+  ];
 
   meta = with lib; {
     description = "A framework-agnostic, logic-free templating system inspired by ctemplate and et";
     homepage = "https://github.com/defunkt/pystache";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix b/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
index 3005c3b18d8a..f952cb475eb9 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.38.0";
+  version = "0.39.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     rev = "refs/tags/${version}";
-    hash = "sha256-0BlrrrOvMHBH+w7r1lzvXg2Lq84XZFfSRheBaDmCpc4=";
+    hash = "sha256-CswgfEmKaQvhDXizpcu6d8JMYtJSgNQ3L4+63ee58eE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
index 3a1fb4db881e..847fcd435525 100644
--- a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
@@ -1,5 +1,4 @@
 { lib
-, appdirs
 , buildPythonPackage
 , defusedxml
 , fetchFromGitHub
@@ -33,26 +32,22 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    semver
-  ];
-
-  buildInputs = [
-    appdirs
     defusedxml
     marshmallow
     python-box
     python-dateutil
     requests
-    requests-pkcs12
     restfly
+    semver
     typing-extensions
   ];
 
   nativeCheckInputs = [
-    responses
     pytest-datafiles
     pytest-vcr
     pytestCheckHook
+    requests-pkcs12
+    responses
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
index a9934fbdcc1a..0b941d9be607 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
@@ -8,11 +8,14 @@
 , pytest
 , pytestCheckHook
 , pythonOlder
+, setuptools
+, setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "pytest-ansible";
-  version = "3.1.5";
+  version = "3.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +24,7 @@ buildPythonPackage rec {
     owner = "ansible";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-stsgVJseZ02C7nG0Hm0wfAnhoLpM3qRZ2Lkr1N5hODw=";
+    hash = "sha256-fSerRbd7QeEdTfyy2lVLq7FKHWWT0MlutonunHhM5M4=";
   };
 
   postPatch = ''
@@ -29,6 +32,14 @@ buildPythonPackage rec {
       --replace '/usr/bin/env' '${coreutils}/bin/env'
   '';
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
+
   buildInputs = [
     pytest
   ];
@@ -78,6 +89,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/jlaska/pytest-ansible";
     changelog = "https://github.com/ansible-community/pytest-ansible/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ tjni ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix
index e13f67ec83b5..96179595a9ae 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-asyncio/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-asyncio";
-  version = "0.20.3";
+  version = "0.21.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "pytest-dev";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-oq28wJ/Tq4yuQ/98tdzYKDyatpliS0Xcbc6T46ZTP7I=";
+    hash = "sha256-Wpo8MpCPGiXrckT2x5/yBYtGlzso/L2urG7yGc7SPkA=";
   };
 
   outputs = [
@@ -54,7 +54,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for testing asyncio code with pytest";
     homepage = "https://github.com/pytest-dev/pytest-asyncio";
-    changelog = "https://github.com/pytest-dev/pytest-asyncio/blob/v${version}/CHANGELOG.rst";
+    changelog = "https://github.com/pytest-dev/pytest-asyncio/blob/v${version}/docs/source/reference/changelog.rst";
     license = licenses.asl20;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-asyncio/tests.nix b/nixpkgs/pkgs/development/python-modules/pytest-asyncio/tests.nix
index 94e6e1855afb..7fd26c85488d 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-asyncio/tests.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-asyncio/tests.nix
@@ -10,6 +10,8 @@ buildPythonPackage {
   pname = "pytest-asyncio-tests";
   inherit (pytest-asyncio) version;
 
+  format = "other";
+
   src = pytest-asyncio.testout;
 
   dontBuild = true;
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix
index 7908a04fa40f..b5b558a0faf5 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-bdd/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , mako
 , parse
 , parse-type
@@ -8,7 +9,6 @@
 , pytest
 , pytestCheckHook
 , pythonOlder
-, setuptools
 , typing-extensions
 }:
 
@@ -26,6 +26,14 @@ buildPythonPackage rec {
     hash = "sha256-+76jIgfDQPdIoesTr1+QUu8wmOnrdf4KT+TJr9F2Hqk=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "remove-setuptools.patch";
+      url = "https://github.com/pytest-dev/pytest-bdd/commit/5d8eda3a30b47d3bd27849884a851adafca765cb.patch";
+      hash = "sha256-G2WHaRKlQ9HINufh8wl7+ly7HfDGobMLzzlbwDwd+o8=";
+    })
+  ];
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -43,7 +51,6 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    setuptools
   ];
 
   preCheck = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix
index dd93d6bac25b..7df529a83738 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-cov/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-cov";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mWt5795kM829AIiHLbxfs+1/4VeLaM27pjTxS7jdBHA=";
+    hash = "sha256-OQSxPfv+xH8AO453/VtYnNEZBKId3xqzimTyBNahDvY=";
   };
 
   buildInputs = [ pytest ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-env/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-env/default.nix
index 3d68c2dccc46..1d03413290a7 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.1";
+  version = "0.8.2";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "pytest_env";
     inherit version;
-    hash = "sha256-17L1Jz7G0eIhdXmYvC9Q0kdO19C5MxuSVWAR+txOmr8=";
+    hash = "sha256-uu2bO2uud711uSOODtHuaQOkKAaunWrv+4dUzVWE1P8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix
index 37e7c2fe6bfe..212938df20b6 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-examples/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-examples";
-  version = "0.0.9";
+  version = "0.0.10";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "pydantic";
     repo = "pytest-examples";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ecxSLbPnHdL60vlc7EjKmw5rATTePqJCa5QIdyxevv0=";
+    hash = "sha256-jCxOGDJlFkMH9VtaaPsE5zt+p3Z/mrVzhdNSI51/nVM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix
index 77290573dc16..efde539cb23f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-factoryboy/default.nix
@@ -1,42 +1,59 @@
 { lib
 , buildPythonPackage
-, factory_boy
 , fetchFromGitHub
-, inflection
-, mock
+
+# build-system
+, poetry-core
+
+# unpropagated
 , pytest
-, pytestcache
+
+# propagated
+, inflection
+, factory_boy
+, typing-extensions
+
+# tests
 , pytestCheckHook
-, pytest-cov
 }:
 
 buildPythonPackage rec {
   pname = "pytest-factoryboy";
-  version = "2.1.0";
+  version = "2.5.1";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pytest-dev";
     repo = "pytest-factoryboy";
     rev = version;
-    sha256 = "0v6b4ly0p8nknpnp3f4dbslfsifzzjx2vv27rfylx04kzdhg4m9p";
+    sha256 = "sha256-zxgezo2PRBKs0mps0qdKWtBygunzlaxg8s9BoBaU1Ig=";
   };
 
-  buildInputs = [ pytest ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  buildInputs = [
+    pytest
+  ];
 
   propagatedBuildInputs = [
     factory_boy
     inflection
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [
+    "pytest_factoryboy"
   ];
 
   nativeCheckInputs = [
-    mock
     pytestCheckHook
-    pytestcache
-    pytest-cov
   ];
 
-  pytestFlagsArray = [ "--ignore=docs" ];
-  pythonImportsCheck = [ "pytest_factoryboy" ];
+  pytestFlagsArray = [
+    "--ignore=docs"
+  ];
 
   meta = with lib; {
     description = "Integration of factory_boy into the pytest runner";
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix
index feae84901304..01ef1025904e 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-httpserver/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpserver";
-  version = "1.0.6";
+  version = "1.0.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "csernazs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-LY5Ur0cIcsNrgvyQlY2E479ZzRcuwqTuiT2MtRupVcs=";
+    hash = "sha256-bjysG+7niSUBl8YMWR8pr7oOz9GDbSfq3PeloYBkq3s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-metadata/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-metadata/default.nix
index 7d1ec8696c21..7b4a285e3552 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-metadata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-metadata/default.nix
@@ -1,16 +1,16 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, poetry-core
+, hatch-vcs
+, hatchling
 , pytest
 , pytestCheckHook
 , pythonOlder
-, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "pytest-metadata";
-  version = "2.0.4";
+  version = "3.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,12 +18,12 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "pytest_metadata";
     inherit version;
-    hash = "sha256-/MZT9l/jA1tHiCC1KE+/D1KANiLuP2Ci+u16fTuh9B4=";
+    hash = "sha256-dpqcZdKIS9WDvGJrCs53rRXb4C3ZGpEG1H/UbZwlaco=";
   };
 
   nativeBuildInputs = [
-    poetry-core
-    setuptools-scm
+    hatchling
+    hatch-vcs
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
index 7dc15e3cd276..260c71ac71ff 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-mock/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-mock";
-  version = "3.10.0";
+  version = "3.11.1";
 
   disabled = pythonOlder "3.7";
 
@@ -19,17 +19,9 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+72whe98JSoyb9jNysCqOxMz2IEfExvcxwEALhvn7U8=";
+    hash = "sha256-f2sSVgKsbXQ+Ujrgv6ceGml6L1U0BkUoxv+EwvfC/H8=";
   };
 
-  patches = [
-    (fetchpatch {
-      # Remove unnecessary py.code import
-      url = "https://github.com/pytest-dev/pytest-mock/pull/328/commits/e2016928db1147a2a46de6ee9fa878ca0e9d8fc8.patch";
-      hash = "sha256-5Gpzi7h7Io1CMykmBCZR/upM8E9isc3jEItYgwjEOWA=";
-    })
-  ];
-
   nativeBuildInputs = [ setuptools-scm ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-mockservers/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-mockservers/default.nix
index d65b29d7662f..d524457ebbb4 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-mockservers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-mockservers/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, fetchpatch
 , poetry-core
 , aiohttp
 , pytest
@@ -19,13 +20,17 @@ buildPythonPackage rec {
     owner = "Gr1N";
     repo = pname;
     rev = version;
-    sha256 = "0xql0fnw7m2zn103601gqbpyd761kzvgjj2iz9hjsv56nr4z1g9i";
+    hash = "sha256-Mb3wSbambC1h+lFI+fafwZzm78IvADNAsF/Uw60DFHc=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "poetry.masonry.api" "poetry.core.masonry.api"
-  '';
+  patches = [
+    # https://github.com/Gr1N/pytest-mockservers/pull/75
+    (fetchpatch {
+      name = "use-poetry-core.patch";
+      url = "https://github.com/Gr1N/pytest-mockservers/commit/c7731186a4e12851ab1c15ab56e652bb48ed59c4.patch";
+      hash = "sha256-/5X3xjJwt2gs3t6f/6n1QZ+CTBq/5+cQE+MgNWyz+Hs=";
+    })
+  ];
 
   nativeBuildInputs = [
     poetry-core
@@ -40,6 +45,8 @@ buildPythonPackage rec {
     pytest-asyncio
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-raises/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-raises/default.nix
index 68c23064afe9..1b7beb74c594 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-raises/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-raises/default.nix
@@ -1,25 +1,44 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pytest
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytest-raises";
   version = "0.11";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Lemmons";
     repo = pname;
-    rev = version;
-    sha256 = "0gbb4kml2qv7flp66i73mgb4qihdaybb6c96b5dw3mhydhymcsy2";
+    rev = "refs/tags/${version}";
+    hash = "sha256-wmtWPWwe1sFbWSYxs5ZXDUZM1qvjRGMudWdjQeskaz0=";
   };
 
+  buildInputs = [
+    pytest
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pytest_raises" ];
+  pythonImportsCheck = [
+    "pytest_raises"
+  ];
+
+  disabledTests = [
+    # Failed: nomatch: '*::test_pytest_mark_raises_unexpected_exception FAILED*'
+    # https://github.com/Lemmons/pytest-raises/issues/30
+    "test_pytest_mark_raises_unexpected_exception"
+    "test_pytest_mark_raises_unexpected_match"
+    "test_pytest_mark_raises_parametrize"
+  ];
 
   meta = with lib; {
     description = "An implementation of pytest.raises as a pytest.mark fixture";
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix
index 7e05104ff637..7c723e4cdc25 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-randomly/default.nix
@@ -8,22 +8,27 @@
 , pytest-xdist
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pytest-randomly";
-  version = "3.12.0";
-  format = "setuptools";
+  version = "3.13.0";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "pytest-dev";
     rev = version;
-    hash = "sha256-n/Xp/HghqcQUreez+QbR3Mi5hE1U4zoOJCdFqD+pVBk=";
+    hash = "sha256-bxbW22Nf/0hfJYSiz3xdrNCzrb7vZwuVvSIrWl0Bkv4=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
     importlib-metadata
   ];
@@ -47,6 +52,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/pytest-dev/pytest-randomly/blob/${version}/CHANGELOG.rst";
     description = "Pytest plugin to randomly order tests and control random.seed";
     homepage = "https://github.com/pytest-dev/pytest-randomly";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-recording/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-recording/default.nix
index fe68e9ee46b0..87c0e8d33a02 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-recording/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-recording/default.nix
@@ -33,6 +33,8 @@ buildPythonPackage rec {
     attrs
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   checkInputs = [
     pytestCheckHook
     pytest-httpbin
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix
index 544a2e340079..bc8c89caacc1 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-remotedata/default.nix
@@ -32,6 +32,8 @@ buildPythonPackage rec {
     six
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix
index a0aac8a9d08a..f030960df655 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-rerunfailures/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-rerunfailures";
-  version = "11.1.2";
+  version = "12.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VWEWYehz8cr6OEyC8I0HiDlU9LdkNfS4pbRwwZVFc94=";
+    hash = "sha256-eE9GL6h/6b33gdACfYVrR6S/5sEq8Qj2vYhwV6kXtI4=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-subtests/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-subtests/default.nix
index 0da33a770068..b391ece3556a 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-subtests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-subtests/default.nix
@@ -3,22 +3,24 @@
 , fetchPypi
 , pytestCheckHook
 , pythonOlder
+, setuptools
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "pytest-subtests";
-  version = "0.10.0";
-  format = "setuptools";
+  version = "0.11.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2ZYaZ8F5HoweMtznpw7R5U87HmQQh/IJTy03CHq3+xc=";
+    hash = "sha256-UYZciEV1RfUftyARlC8KPGkB7p4ky/ttG53BNIuvvjc=";
   };
 
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-test-utils/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-test-utils/default.nix
index 1d15abd4b1bd..cf2322d39a8c 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-test-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-test-utils/default.nix
@@ -2,6 +2,8 @@
 , buildPythonPackage
 , fetchFromGitHub
 , setuptools
+, setuptools-scm
+, wheel
 , pytestCheckHook
 , pytest
 , pythonOlder
@@ -21,8 +23,12 @@ buildPythonPackage rec {
     hash = "sha256-5gB+hnJR2+NQd/n7RGrX1bzfKt8Np7IbWw61SZgNVJY=";
   };
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   nativeBuildInputs = [
     setuptools
+    setuptools-scm
+    wheel
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-tornasync/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-tornasync/default.nix
index ac2cf07736c5..9fca8d860262 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-tornasync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-tornasync/default.nix
@@ -21,6 +21,8 @@ buildPythonPackage rec {
     tornado
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytest
     tornado
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix
index e65e494a5409..36f31a0288c8 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-trio/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchFromGitHub, pythonOlder
-, trio, async_generator, hypothesis, outcome, pytest }:
+, trio, async-generator, hypothesis, outcome, pytest }:
 
 buildPythonPackage rec {
   pname = "pytest-trio";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     trio
-    async_generator
+    async-generator
     outcome
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-voluptuous/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-voluptuous/default.nix
new file mode 100644
index 000000000000..ce1081e5febf
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytest-voluptuous/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, pytestCheckHook
+, pythonOlder
+, six
+, voluptuous
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-voluptuous";
+  version = "1.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "F-Secure";
+    repo = "pytest-voluptuous";
+    rev = "refs/tags/${version}";
+    hash = "sha256-xdj4qCSSJQI9Rb1WyUYrAg1I5wQ5o6IJyIjJAafP/LY=";
+  };
+
+  buildInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    voluptuous
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    six
+  ];
+
+  pythonImportsCheck = [
+    "pytest_voluptuous"
+  ];
+
+  pytestFlagsArray = [
+    "tests/test_plugin.py"
+  ];
+
+  meta = with lib; {
+    description = "A pytest plugin for asserting data against voluptuous schema";
+    homepage = "https://github.com/F-Secure/pytest-voluptuous";
+    changelog = "https://github.com/F-Secure/pytest-voluptuous/blob/${version}/CHANGELOG.rst";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix
index 61f12a792d98..5c260f432161 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-xdist/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-xdist";
-  version = "3.2.1";
+  version = "3.3.1";
   disabled = pythonOlder "3.7";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GEm9mNiyQrlI5HLbdHjgkL8zYZEqj+2HmS7ZQIX1Ryc=";
+    hash = "sha256-1e4FIOsbe8ylCmClGKt6dweZKBLFeBmPi0T9+seOjJM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest/default.nix b/nixpkgs/pkgs/development/python-modules/pytest/default.nix
index 80ea02356cdb..5fde855e58e3 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.2.1";
+  version = "7.4.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1F4JUvNyckGRi4/Q83b1/2swHMB3fG+aVWk1yS2KfUI=";
+    hash = "sha256-tL+MRb1Zk07YQAGtUeEbTuQNQKEinSx5+cWSsKP2vYo=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
index 02ae7cf6441f..4c757735ada5 100644
--- a/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-engineio/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "4.4.1";
+  version = "4.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "refs/tags/v${version}";
-    hash = "sha256-sE6AlT01Rou427i9w+xwUTMflKxUr0Heqt2l+Y2AMmU=";
+    hash = "sha256-XTr5potc3t9TxHEqMydRsAzslmLnrzsGqDaM8qdKfp8=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-ndn/default.nix b/nixpkgs/pkgs/development/python-modules/python-ndn/default.nix
new file mode 100644
index 000000000000..60cde865ae00
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-ndn/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, aenum
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, lark
+, pycryptodomex
+, pygtrie
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "python-ndn";
+  version = "0.3-3";
+
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "named-data";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-XS71oIydyLYtx6OQGO5NrhjVSyZxnhufrZ1y/6TffPo=";
+  };
+
+  disabled = pythonOlder "3.9";
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    pycryptodomex
+    lark
+    pygtrie
+    aenum
+    aiohttp
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportChecks = [ "ndn" ];
+
+  meta = with lib; {
+    description = "An NDN client library with AsyncIO support";
+    homepage = "https://github.com/named-data/python-ndn";
+    changelog = "https://github.com/named-data/python-ndn/blob/${src.rev}/CHANGELOG.rst";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ janik ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-opensky/default.nix b/nixpkgs/pkgs/development/python-modules/python-opensky/default.nix
index e81e4ebbe683..40974345dcfd 100644
--- a/nixpkgs/pkgs/development/python-modules/python-opensky/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-opensky/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-opensky";
-  version = "0.0.10";
+  version = "0.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "joostlek";
     repo = "python-opensky";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QhcnbFp37gj1/37OlRxnQnIhgyNi/D19PXRh5hagHvE=";
+    hash = "sha256-62ncinv6XUGB1dYle/yqSCyJNbGD9BLaOqrF/zjL2fA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-otbr-api/default.nix b/nixpkgs/pkgs/development/python-modules/python-otbr-api/default.nix
index 389e8a5df98c..f11bb76057f5 100644
--- a/nixpkgs/pkgs/development/python-modules/python-otbr-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-otbr-api/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "python-otbr-api";
-  version = "2.3.0";
+  version = "2.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-oLqgjTuC5rpAzXTJO+KFn+uQ0TV7rNPWHOAJtRI4otk=";
+    hash = "sha256-bPN2h60ypjlKpXs1xDS7bZcGRXvatA3EdlAX/HLxxTM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix b/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
index 104e446fa4cb..8ac9281c31a1 100644
--- a/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-rapidjson/default.nix
@@ -12,12 +12,12 @@
 
 let
   rapidjson' = rapidjson.overrideAttrs (old: {
-    version = "unstable-2022-05-24";
+    version = "unstable-2023-03-06";
     src = fetchFromGitHub {
       owner = "Tencent";
       repo = "rapidjson";
-      rev = "232389d4f1012dddec4ef84861face2d2ba85709";
-      hash = "sha256-RLvDcInUa8E8DRA4U/oXEE8+TZ0SDXXDU/oWvpfDWjw=";
+      rev = "083f359f5c36198accc2b9360ce1e32a333231d9";
+      hash = "sha256-8O5KwZcvoEkpE+O0Twn2CKHjV2AYh8qnSaBofoWEBs8=";
     };
     patches = [
       (fetchpatch {
@@ -30,13 +30,15 @@ let
     cmakeFlags = old.cmakeFlags ++ [ "-DCMAKE_CTEST_ARGUMENTS=-E;valgrind_unittest" ];
   });
 in buildPythonPackage rec {
-  version = "1.9";
+  version = "1.10";
   pname = "python-rapidjson";
   disabled = pythonOlder "3.7";
 
+  format = "setuptools";
+
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vn01HHES2sYIEzoj9g6VOVZo0JgaB/QDf2Pg6Ir88Bo=";
+    hash = "sha256-rP7L9e25HscqIKEl3n9WuML2Fh7/TGU4LI7mokhNNUA=";
   };
 
   setupPyBuildFlags = [
@@ -53,6 +55,7 @@ in buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/python-rapidjson/python-rapidjson/blob/v${version}/CHANGES.rst";
     homepage = "https://github.com/python-rapidjson/python-rapidjson";
     description = "Python wrapper around rapidjson";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/python-roborock/default.nix b/nixpkgs/pkgs/development/python-modules/python-roborock/default.nix
index ade8f0cfd76b..c300ce9baa5b 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.32.0";
+  version = "0.32.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "humbertogontijo";
     repo = "python-roborock";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DojIfAmYW/asvpAkcBj/pN1rdCPFD4nwkEqpGVBkMoE=";
+    hash = "sha256-rKE+dgq0ax/EZ0qYkGVsnHhNxyt3F74hI2tZAaOHCqI=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix b/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix
index 8c51d9942f6b..fbde6d3f918f 100644
--- a/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-rtmidi/default.nix
@@ -1,33 +1,44 @@
 { lib
 , stdenv
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
-, pythonAtLeast
-, pkg-config
-, alsa-lib
-, libjack2
-, tox
-, flake8
 , alabaster
+, alsa-lib
+, buildPythonPackage
 , CoreAudio
 , CoreMIDI
 , CoreServices
+, cython_3
+, fetchPypi
+, flake8
+, libjack2
+, meson-python
+, ninja
+, pkg-config
+, pythonOlder
+, tox
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "python-rtmidi";
-  version = "1.4.9";
+  version = "1.5.5";
+  format = "pyproject";
 
-  # https://github.com/SpotlightKid/python-rtmidi/issues/115
-  disabled = pythonOlder "3.6" || pythonAtLeast "3.11";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "bfeb4ed99d0cccf6fa2837566907652ded7adc1c03b69f2160c9de4082301302";
+    pname = "python_rtmidi";
+    inherit version;
+    hash = "sha256-Pz6bD6SX6BPMC91zsorgeXfJGAPk1VULx8ejShUBy94=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    cython_3
+    meson-python
+    ninja
+    pkg-config
+    wheel
+  ];
+
   buildInputs = [
     libjack2
   ] ++ lib.optionals stdenv.isLinux [
@@ -37,15 +48,21 @@ buildPythonPackage rec {
     CoreMIDI
     CoreServices
   ];
+
   nativeCheckInputs = [
     tox
     flake8
     alabaster
   ];
 
+  pythonImportsCheck = [
+    "rtmidi"
+  ];
+
   meta = with lib; {
     description = "A Python binding for the RtMidi C++ library implemented using Cython";
     homepage = "https://github.com/SpotlightKid/python-rtmidi";
+    changelog = "https://github.com/SpotlightKid/python-rtmidi/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ hexa ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/python-swiftclient/default.nix b/nixpkgs/pkgs/development/python-modules/python-swiftclient/default.nix
index 72bfd35c8ca6..bb8320846862 100644
--- a/nixpkgs/pkgs/development/python-modules/python-swiftclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-swiftclient/default.nix
@@ -22,6 +22,13 @@ buildPythonPackage rec {
     hash = "sha256-Hj3fmYzL6n3CWqbfjrPffTi/S8lrBl8vhEMeglmBezM=";
   };
 
+  # remove duplicate script that will be created by setuptools from the
+  # entry_points section of setup.cfg
+  postPatch = ''
+    sed -i '/^scripts =/d' setup.cfg
+    sed -i '/bin\/swift/d' setup.cfg
+  '';
+
   nativeBuildInputs = [
     installShellFiles
   ];
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 f496c15272df..cea69bf5b14b 100644
--- a/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-telegram-bot/default.nix
@@ -19,16 +19,16 @@
 
 buildPythonPackage rec {
   pname = "python-telegram-bot";
-  version = "20.2";
+  version = "20.4";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-OdjTlVUjlw+5K/kvL1Yx+7c/lIE52udUo6Ux18M9xmE=";
+    hash = "sha256-owbJJZjBkMjsgfBLRl+rnePrIvQ0sUZs7rP9ie912pw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pythran/default.nix b/nixpkgs/pkgs/development/python-modules/pythran/default.nix
index ef03e7694763..dcb03ad0c517 100644
--- a/nixpkgs/pkgs/development/python-modules/pythran/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pythran/default.nix
@@ -4,12 +4,10 @@
 , fetchFromGitHub
 , openmp
 , ply
-, networkx
-, decorator
 , gast
-, six
 , numpy
 , beniget
+, xsimd
 , isPy3k
 , substituteAll
 }:
@@ -19,13 +17,13 @@ let
 
 in buildPythonPackage rec {
   pname = "pythran";
-  version = "0.11.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "serge-sans-paille";
     repo = "pythran";
     rev = version;
-    hash = "sha256-F9gUZOTSuiqvfGoN4yQqwUg9mnCeBntw5eHO7ZnjpzI=";
+    hash = "sha256-baDrReJgQXbaKA8KNhHiFjr0X34yb8WK/nUJmiM9EZs=";
   };
 
   patches = [
@@ -36,12 +34,15 @@ in buildPythonPackage rec {
     })
   ];
 
+  # xsimd: unvendor this header-only C++ lib
+  postPatch = ''
+    rm -r third_party/xsimd
+    ln -s '${lib.getDev xsimd}'/include/xsimd third_party/
+  '';
+
   propagatedBuildInputs = [
     ply
-    networkx
-    decorator
     gast
-    six
     numpy
     beniget
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/pytlv/default.nix b/nixpkgs/pkgs/development/python-modules/pytlv/default.nix
new file mode 100644
index 000000000000..d4381f904423
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytlv/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, poetry-core
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pytlv";
+  version = "0.71";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-btxZ0oQzn1ZpwXihHlg6CduLh8nkerLV7SoFyXzJjVY=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  pythonImportsCheck = [ "pytlv" ];
+
+  meta = with lib; {
+    description = "TLV (tag length lavue) data parser, especially useful for EMV tags parsing";
+    homepage = "https://github.com/timgabets/pytlv";
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ flokli janik ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pytools/default.nix b/nixpkgs/pkgs/development/python-modules/pytools/default.nix
index 7cf21f3cc667..0da6f9c8eb2c 100644
--- a/nixpkgs/pkgs/development/python-modules/pytools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytools/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "pytools";
-  version = "2023.1";
+  version = "2023.1.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8Q5CUiCu+h/5JTQrZY/wLcM1l8IfuI16Y/lEG/LnpQ4=";
+    hash = "sha256-gGN4c9IG9rzt9820atk+horLTqIlbbBS38yocr3QMh8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch-metric-learning/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch-metric-learning/default.nix
index e9526ebb354a..b73af6f8658b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch-metric-learning/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytorch-metric-learning/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname   = "pytorch-metric-learning";
-  version = "2.2.0";
+  version = "2.3.0";
 
   disabled = isPy27;
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "KevinMusgrave";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-KolC1lcJWOcVjFEEYK2RNZodVrS/GjBzhlQ6z8kFOmE=";
+    hash = "sha256-eDQQPIyUUEkvpXjWAcyljlFgVlu9is4fPPUTudP7NF4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytrafikverket/default.nix b/nixpkgs/pkgs/development/python-modules/pytrafikverket/default.nix
index 459285c66ee6..d1105af452c1 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.3";
+  version = "0.3.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Lq6YAYScBYRA2ltv+ohWfMasqohCH5zrnCi+sQbQWLI=";
+    hash = "sha256-dBD8CpEiCDhuabUEPzbvhl3WnEcJU9T910VCAI2jDrA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyunpack/default.nix b/nixpkgs/pkgs/development/python-modules/pyunpack/default.nix
new file mode 100644
index 000000000000..b6dff5a97d03
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyunpack/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, easyprocess
+, entrypoint2
+, patool
+}:
+
+buildPythonPackage rec {
+  pname = "pyunpack";
+  version = "0.3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "ponty";
+    repo = "pyunpack";
+    rev = "refs/tags/${version}";
+    hash = "sha256-1MAdiX6+u35f6S8a0ZcIIebZE8bbxTy+0TnMohJ7J6s=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyunpack/__init__.py \
+      --replace \
+       '_exepath("patool")' \
+       '"${patool}/bin/.patool-wrapped"'
+  '';
+
+  propagatedBuildInputs = [
+    easyprocess
+    entrypoint2
+  ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pytestFlagsArray = [ "-x" ];
+
+  pythonImportsCheck = [ "pyunpack" ];
+
+  disabledTestPaths = [
+    # unfree
+    "tests/test_rar.py"
+
+    # We get "patool: error: unrecognized arguments: --password 123"
+    # The currently packaged version of patool does not support this flag.
+    # https://github.com/wummel/patool/issues/114
+    # FIXME: Re-enable these once patool is updated
+    "tests/test_rarpw.py"
+    "tests/test_zippw.py"
+  ];
+
+  meta = with lib; {
+    description = "Unpack archive files in python";
+    homepage = "https://github.com/ponty/pyunpack";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ pbsds ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyvesync/default.nix b/nixpkgs/pkgs/development/python-modules/pyvesync/default.nix
index b3672b20b672..2d4e7217fff2 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvesync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvesync/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyvesync";
-  version = "2.1.8";
+  version = "2.1.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RrFCza6y5IdeDokSAGOYs20OMIm4UGCRy/0YO/uYtNo=";
+    hash = "sha256-88aCnPzC4RfmEsL05pgFoOCfz42R1eqaJGTmXoWu0gA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
index b6d3593b94ce..c04444b58352 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.62";
+  version = "9.2.64";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eBmmXdtYeG6O8Wdt0Gye78/6dt+XZznXyEzlv9WFwcI=";
+    hash = "sha256-dIM/LybJNiQTB8SnZuIVOaxrL6KwZzEuQdRj30pMOeI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix b/nixpkgs/pkgs/development/python-modules/pyvmomi/default.nix
index 5d53d72ea18f..e8dfc2745fb8 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.1";
+  version = "8.0.1.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "vmware";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-MT0jT4wT8+4OEsIDWZbiqWK+3YASfVtOQT2KkadfwbM=";
+    hash = "sha256-NI2xkHo9A9zEvdbTt9vF91gavSnCuFjdjr6PxEvkSZM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pywemo/default.nix b/nixpkgs/pkgs/development/python-modules/pywemo/default.nix
index 6a643979715d..a2fc6c4bd279 100644
--- a/nixpkgs/pkgs/development/python-modules/pywemo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywemo/default.nix
@@ -37,6 +37,8 @@ buildPythonPackage rec {
     lxml
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     hypothesis
     pytest-vcr
diff --git a/nixpkgs/pkgs/development/python-modules/pyworld/default.nix b/nixpkgs/pkgs/development/python-modules/pyworld/default.nix
index 7441ab1c9132..bf31d646ff5f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyworld/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyworld/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyworld";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-o6gXVZg9+iKZqeKUd1JYLdzISlwnewT0WVzkQGNy0eU=";
+    hash = "sha256-EGxw7np9jJukiNgCLyAzcGkppA8CZCVrjofaWquYMDo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix b/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix
index 7c19e55a7f74..a7270958387d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyyaml/default.nix
@@ -3,24 +3,30 @@
 , pythonOlder
 , fetchFromGitHub
 , cython
+, setuptools
 , libyaml
 , python
 }:
 
 buildPythonPackage rec {
   pname = "pyyaml";
-  version = "6.0";
+  version = "6.0.1";
 
   disabled = pythonOlder "3.6";
 
+  format = "pyproject";
+
   src = fetchFromGitHub {
     owner = "yaml";
     repo = "pyyaml";
     rev = version;
-    hash = "sha256-wcII32mRgRRmAgojntyxBMQkjvxU2jylCgVzlHAj2Xc=";
+    hash = "sha256-YjWMyMVDByLsN5vEecaYjHpR1sbBey1L/khn4oH9SPA=";
   };
 
-  nativeBuildInputs = [ cython ];
+  nativeBuildInputs = [
+    cython
+    setuptools
+  ];
 
   buildInputs = [ libyaml ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyzipper/default.nix b/nixpkgs/pkgs/development/python-modules/pyzipper/default.nix
index d12e396e2db1..a0ad73fb8a3b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyzipper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyzipper/default.nix
@@ -24,6 +24,8 @@ buildPythonPackage rec {
     pycryptodomex
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/qbittorrent-api/default.nix b/nixpkgs/pkgs/development/python-modules/qbittorrent-api/default.nix
new file mode 100644
index 000000000000..2785ad3a32d9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/qbittorrent-api/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, six
+, urllib3
+, packaging
+, setuptools
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "qbittorrent-api";
+  version = "2023.7.52";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-RHOupNo0jteUpxcxAojOfnBGGBt293j0OCHeKEritpQ=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    six
+    urllib3
+    packaging
+  ];
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  # Tests require internet access
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "qbittorrentapi"
+  ];
+
+  meta = with lib; {
+    description = "Python client implementation for qBittorrent's Web API";
+    homepage = "https://github.com/rmartin16/qbittorrent-api";
+    changelog = "https://github.com/rmartin16/qbittorrent-api/blob/v${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ savyajha ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/qcodes/default.nix b/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
index db565e11d02d..fb70d6d1f788 100644
--- a/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
@@ -4,6 +4,7 @@
 , pythonOlder
 , setuptools
 , versioningit
+, wheel
 
   # mandatory
 , broadbean
@@ -37,6 +38,7 @@
 , slack-sdk
 
   # test
+, pip
 , pytestCheckHook
 , deepdiff
 , hypothesis
@@ -51,27 +53,34 @@
 
 buildPythonPackage rec {
   pname = "qcodes";
-  version = "0.39.0";
+  version = "0.39.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-zKn9LN7FBxKUfYSxUV1O6fB2s/B5bQpGDZTrK4DcxmU=";
+    sha256 = "sha256-2gJ/WeynabiGB1Z66+qaUbf6/1wogf/XjIE2mCAXUZY=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'versioningit ~=' 'versioningit >='
+  '';
+
   nativeBuildInputs = [
     setuptools
     versioningit
+    wheel
   ];
 
   propagatedBuildInputs = [
     broadbean
     h5netcdf
     h5py
-    ipywidgets
     ipykernel
+    ipython
+    ipywidgets
     jsonschema
     matplotlib
     numpy
@@ -79,18 +88,17 @@ buildPythonPackage rec {
     opencensus-ext-azure
     packaging
     pandas
+    pillow
     pyvisa
+    rsa
     ruamel-yaml
     tabulate
-    typing-extensions
     tqdm
+    typing-extensions
     uncertainties
     websockets
     wrapt
     xarray
-    ipython
-    pillow
-    rsa
   ] ++ lib.optionals (pythonOlder "3.10") [
     importlib-metadata
   ];
@@ -110,6 +118,7 @@ buildPythonPackage rec {
     deepdiff
     hypothesis
     lxml
+    pip
     pytest-asyncio
     pytest-mock
     pytest-rerunfailures
@@ -125,10 +134,22 @@ buildPythonPackage rec {
   ];
 
   disabledTestPaths = [
-    # depends on qcodes-loop, causing a cyclic dependency
+    # Test depends on qcodes-loop, causing a cyclic dependency
     "qcodes/tests/dataset/measurement/test_load_legacy_data.py"
   ];
 
+  disabledTests = [
+    # Tests are time-sensitive and power-consuming
+    # Those tests fails repeatably
+    "test_access_channels_by_slice"
+    "test_do1d_additional_setpoints_shape"
+    "test_dond_1d_additional_setpoints_shape"
+    "test_field_limits"
+    "test_get_array_in_scalar_param_data"
+    "test_get_parameter_data"
+    "test_ramp_safely"
+  ];
+
   pythonImportsCheck = [
     "qcodes"
   ];
@@ -138,8 +159,8 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
-    homepage = "https://qcodes.github.io/Qcodes/";
     description = "Python-based data acquisition framework";
+    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/qgrid/default.nix b/nixpkgs/pkgs/development/python-modules/qgrid/default.nix
index 79df36ed0ca7..645328f1a712 100644
--- a/nixpkgs/pkgs/development/python-modules/qgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qgrid/default.nix
@@ -39,6 +39,8 @@ buildPythonPackage rec {
   # Those tests are also failing upstream
   disabledTests = [
     "test_edit_date"
+    "test_edit_multi_index_df"
+    "test_multi_index"
     "test_period_object_column"
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
index 519eb31a5b1e..57b16e254fcf 100644
--- a/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtconsole/default.nix
@@ -4,6 +4,7 @@
 , ipykernel
 , jupyter-core
 , jupyter-client
+, ipython_genutils
 , pygments
 , pyqt5
 , pytestCheckHook
@@ -27,6 +28,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     ipykernel
+    ipython_genutils
     jupyter-core
     jupyter-client
     pygments
diff --git a/nixpkgs/pkgs/development/python-modules/qtpy/default.nix b/nixpkgs/pkgs/development/python-modules/qtpy/default.nix
index 01fc349c3a54..35f8e56a280f 100644
--- a/nixpkgs/pkgs/development/python-modules/qtpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qtpy/default.nix
@@ -8,7 +8,7 @@
 
 # tests
 , pyqt5
-, pyside
+, pyside2
 , pytestCheckHook
 }:
 
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   doCheck = false; # ModuleNotFoundError: No module named 'PyQt5.QtConnectivity'
   nativeCheckInputs = [
-    pyside
+    pyside2
     (pyqt5.override {
       withConnectivity = true;
       withMultimedia = true;
diff --git a/nixpkgs/pkgs/development/python-modules/quantulum3/default.nix b/nixpkgs/pkgs/development/python-modules/quantulum3/default.nix
index 364a5e6098a1..259871b4ef0c 100644
--- a/nixpkgs/pkgs/development/python-modules/quantulum3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/quantulum3/default.nix
@@ -12,6 +12,7 @@
 , joblib
 , wikipedia
 , stemming
+, setuptools
 }:
 let
   pname = "quantulum3";
@@ -40,6 +41,7 @@ buildPythonPackage {
     joblib
     wikipedia
     stemming
+    setuptools
   ];
 
   pythonImportsCheck = [ "quantulum3" ];
diff --git a/nixpkgs/pkgs/development/python-modules/radian/default.nix b/nixpkgs/pkgs/development/python-modules/radian/default.nix
index de60c93f9f8a..d8ffc2bff9ef 100644
--- a/nixpkgs/pkgs/development/python-modules/radian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/radian/default.nix
@@ -11,24 +11,29 @@
 , prompt-toolkit
 , pygments
 , rchitect
-, six
 , R
 , rPackages
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "radian";
-  version = "0.6.5";
+  version = "0.6.6";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "randy3k";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "iuD4EkGZ1GwNxR8Gpg9ANe3lMHJYZ/Q/RyuN6vZZWME=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-zA7R9UIB0hOWev10Y4oySIKeIxTOo0V6Q3Fxe+FeHSU=";
   };
 
   postPatch = ''
-    substituteInPlace setup.py --replace '"pytest-runner"' ""
+    substituteInPlace setup.py \
+      --replace '"pytest-runner"' "" \
+      --replace '0.3.39,<0.4.0' '0.3.39'
   '';
 
   nativeBuildInputs = [
@@ -40,7 +45,6 @@ buildPythonPackage rec {
     prompt-toolkit
     pygments
     rchitect
-    six
   ] ++ (with rPackages; [
     reticulate
     askpass
@@ -65,6 +69,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A 21 century R console";
     homepage = "https://github.com/randy3k/radian";
+    changelog = "https://github.com/randy3k/radian/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ savyajha ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix b/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix
index 4aa36b38735d..331cc7c5e05b 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.15.0";
+  version = "0.16.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "radish";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SEW10ka0aQAXtW2UNCVJHMVhhZ9JTTj4IbskL87/Dn4=";
+    hash = "sha256-fzxjDMmz5NMFRTQchlCOx2igqmhS6Zg0IU5HFO5a/0k=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rangehttpserver/default.nix b/nixpkgs/pkgs/development/python-modules/rangehttpserver/default.nix
index 010b959edad3..bab8f73b412b 100644
--- a/nixpkgs/pkgs/development/python-modules/rangehttpserver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rangehttpserver/default.nix
@@ -22,6 +22,8 @@ buildPythonPackage rec {
     setuptools
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
     requests
diff --git a/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix b/nixpkgs/pkgs/development/python-modules/rapidfuzz/default.nix
index aaf6e77c0305..422f90d71f72 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.0.0";
+  version = "3.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "RapidFuzz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-rpUrMHIBr7sb0Cib6WYdLJ3KOPEgRnB0DCV/df1uE1A=";
+    hash = "sha256-Lt5m1SdZBzId6nvXXrEDQR3ZdA3yjoj15o3/nPeXPPs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ray/binary-hashes.nix b/nixpkgs/pkgs/development/python-modules/ray/binary-hashes.nix
index 993c1516bccb..76d5b34d7240 100644
--- a/nixpkgs/pkgs/development/python-modules/ray/binary-hashes.nix
+++ b/nixpkgs/pkgs/development/python-modules/ray/binary-hashes.nix
@@ -1,11 +1,11 @@
 {
   cp39 = {
-    sha256 = "4889b457363a3cfa52088b3572b864ebb391806371bc59b2bb047e44f999bb32";
+    sha256 = "7708cedbeed8e37e468740b75aa941b2a3c80d2cb8791081e0b0ea159617a912";
   };
   cp310 = {
-    sha256 = "5ed5a29795b122e9e2b832d5224ab9b1cc235beab700d2a413b23c63b3d3c80c";
+    sha256 = "c9b5aabf5f41fe05028e4f3a271dc89ca7cd9c210f48a4ed815b852210ebb5a8";
   };
   cp311 = {
-    sha256 = "d316861298f6e996f4841e4160ed38dc289f81cf0ffe9874dc14ef7e4e5a9190";
+    sha256 = "7b0286cd05d9107a2d978c716a7447c09ffd382971e5b2b388602d56f6b1c662";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/ray/default.nix b/nixpkgs/pkgs/development/python-modules/ray/default.nix
index 711e6bd34f35..702be7d2f1b0 100644
--- a/nixpkgs/pkgs/development/python-modules/ray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ray/default.nix
@@ -57,7 +57,7 @@
 
 let
   pname = "ray";
-  version = "2.4.0";
+  version = "2.6.1";
 in
 buildPythonPackage rec {
   inherit pname version;
@@ -120,6 +120,7 @@ buildPythonPackage rec {
     "click"
     "grpcio"
     "protobuf"
+    "virtualenv"
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rchitect/default.nix b/nixpkgs/pkgs/development/python-modules/rchitect/default.nix
index 9e0b1b48d29d..ad1484dfc254 100644
--- a/nixpkgs/pkgs/development/python-modules/rchitect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rchitect/default.nix
@@ -2,25 +2,31 @@
 , buildPythonPackage
 , fetchFromGitHub
 , cffi
-, six
 , pytestCheckHook
 , pytest-mock
+, pythonOlder
 , R
-, rPackages }:
+, rPackages
+, six
+}:
 
 buildPythonPackage rec {
   pname = "rchitect";
-  version = "0.3.40";
+  version = "0.4.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "randy3k";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "yJMiPmusZ62dd6+5VkA2uSjq57a0C3arG8CgiUUHKpk=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-fXL2UX0n9kKAVwMUP0z8V3UtJAy4xbAjnPIggUHllN0=";
   };
 
   postPatch = ''
-    substituteInPlace setup.py --replace '"pytest-runner"' ""
+    substituteInPlace setup.py \
+      --replace '"pytest-runner"' ""
   '';
 
   propagatedBuildInputs = [
@@ -46,6 +52,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Interoperate R with Python";
     homepage = "https://github.com/randy3k/rchitect";
+    changelog = "https://github.com/randy3k/rchitect/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ savyajha ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/rdflib/default.nix b/nixpkgs/pkgs/development/python-modules/rdflib/default.nix
index 208f3ae1278b..dc5ddf9cdfdb 100644
--- a/nixpkgs/pkgs/development/python-modules/rdflib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rdflib/default.nix
@@ -18,6 +18,7 @@
 , html5lib
 
 # tests
+, pip
 , pytest-cov
 , pytestCheckHook
 }:
@@ -53,7 +54,10 @@ buildPythonPackage rec {
     ];
   };
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
+    pip
     pytest-cov
     pytestCheckHook
   ]
diff --git a/nixpkgs/pkgs/development/python-modules/rednose/default.nix b/nixpkgs/pkgs/development/python-modules/rednose/default.nix
deleted file mode 100644
index fdfcbff877fe..000000000000
--- a/nixpkgs/pkgs/development/python-modules/rednose/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27, pythonAtLeast
-, nose, six, colorama, termstyle }:
-
-buildPythonPackage rec {
-  pname = "rednose";
-  version = "1.3.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6da77917788be277b70259edc0bb92fc6f28fe268b765b4ea88206cc3543a3e1";
-  };
-
-  prePatch = ''
-    substituteInPlace setup.py --replace "six==1.10.0" "six>=1.10.0"
-  '';
-
-  # Do not test on Python 2 because the tests suite gets stuck
-  # https://github.com/NixOS/nixpkgs/issues/60786
-  # Also macOS tests are broken on python38
-  doCheck = !(isPy27 || (stdenv.isDarwin && pythonAtLeast "3.8"));
-
-  nativeCheckInputs = [ six ];
-  propagatedBuildInputs = [ nose colorama termstyle ];
-
-  meta = with lib; {
-    description = "A python nose plugin adding color to console results";
-    homepage = "https://github.com/JBKahn/rednose";
-    license = licenses.mit;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/referencing/default.nix b/nixpkgs/pkgs/development/python-modules/referencing/default.nix
index f6ccd201df97..37e418f3ea44 100644
--- a/nixpkgs/pkgs/development/python-modules/referencing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/referencing/default.nix
@@ -9,56 +9,59 @@
 , pytestCheckHook
 , pythonOlder
 , rpds-py
-, setuptools-scm
 }:
 
-buildPythonPackage rec {
-  pname = "referencing";
-  version = "0.30.0";
-  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+let
+  self = buildPythonPackage rec {
+    pname = "referencing";
+    version = "0.30.0";
+    format = "pyproject";
 
-  src = fetchFromGitHub {
-    owner = "python-jsonschema";
-    repo = "referencing";
-    rev = "refs/tags/v${version}";
-    fetchSubmodules = true;
-    hash = "sha256-nJSnZM3gg2+yfFAnOJzzXsmIEQdNf5ypt5R0O60NphA=";
-  };
+    disabled = pythonOlder "3.7";
+
+    src = fetchFromGitHub {
+      owner = "python-jsonschema";
+      repo = "referencing";
+      rev = "refs/tags/v${version}";
+      fetchSubmodules = true;
+      hash = "sha256-nJSnZM3gg2+yfFAnOJzzXsmIEQdNf5ypt5R0O60NphA=";
+    };
+
+    SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+    nativeBuildInputs = [
+      hatch-vcs
+      hatchling
+    ];
 
-  postPatch = ''
-    sed -i "/Topic/d" pyproject.toml
-  '';
+    propagatedBuildInputs = [
+      attrs
+      rpds-py
+    ];
 
-  nativeBuildInputs = [
-    hatch-vcs
-    hatchling
-    setuptools-scm
-  ];
+    nativeCheckInputs = [
+      jsonschema
+      pytest-subtests
+      pytestCheckHook
+    ];
 
-  propagatedBuildInputs = [
-    attrs
-    rpds-py
-  ];
+    # avoid infinite recursion with jsonschema
+    doCheck = false;
 
-  nativeCheckInputs = [
-    jsonschema
-    pytest-subtests
-    pytestCheckHook
-  ];
+    passthru.tests.referencing = self.overridePythonAttrs { doCheck = true; };
 
-  pythonImportsCheck = [
-    "referencing"
-  ];
+    pythonImportsCheck = [
+      "referencing"
+    ];
 
-  meta = with lib; {
-    description = "Cross-specification JSON referencing";
-    homepage = "https://github.com/python-jsonschema/referencing";
-    changelog = "https://github.com/python-jsonschema/referencing/blob/${version}/CHANGELOG.rst";
-    license = licenses.mit;
-    maintainers = with maintainers; [ fab ];
+    meta = with lib; {
+      description = "Cross-specification JSON referencing";
+      homepage = "https://github.com/python-jsonschema/referencing";
+      changelog = "https://github.com/python-jsonschema/referencing/blob/${version}/CHANGELOG.rst";
+      license = licenses.mit;
+      maintainers = with maintainers; [ fab ];
+    };
   };
-}
+in
+  self
diff --git a/nixpkgs/pkgs/development/python-modules/renault-api/default.nix b/nixpkgs/pkgs/development/python-modules/renault-api/default.nix
index 71abe133044a..58fc148997b9 100644
--- a/nixpkgs/pkgs/development/python-modules/renault-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/renault-api/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "renault-api";
-  version = "0.1.13";
+  version = "0.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "hacf-fr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-BpPow6fZGAk0kzcEo5tOleyVMNUOl7RE2I5y76ntNRM=";
+    hash = "sha256-x6+rFstZM7Uplwa8NeRBTb8FYSD/NGjN/3q5earvN7c=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix b/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
index ee631bf221c1..8fd5cb699021 100644
--- a/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "reolink-aio";
-  version = "0.7.6";
+  version = "0.7.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "reolink_aio";
     rev = "refs/tags/${version}";
-    hash = "sha256-muxM9+3D8WL2muw5yxbYKmbkVc5lTcj9XQOr67hb/pU=";
+    hash = "sha256-RlnUROCCYBIgxwnORaG5pxo9Npq80LvVGhmj29tPXN8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/repath/default.nix b/nixpkgs/pkgs/development/python-modules/repath/default.nix
index 619036f4b75e..f66a42155da0 100644
--- a/nixpkgs/pkgs/development/python-modules/repath/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/repath/default.nix
@@ -1,7 +1,7 @@
 { lib
-, python3
 , buildPythonPackage
 , fetchPypi
+, six
 }:
 
 buildPythonPackage rec {
@@ -13,7 +13,7 @@ buildPythonPackage rec {
     hash = "sha256-gpITm6xqDkP9nXBgXU6NrrJdRmcuSE7TGiTHzgrvD7c=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = [
     six
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix b/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix
index cfb58b4faef4..d7b6f01d16c2 100644
--- a/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/requests-toolbelt/default.nix
@@ -1,22 +1,21 @@
 { lib
 , betamax
 , buildPythonPackage
-, fetchpatch
 , fetchPypi
-, mock
 , pyopenssl
 , pytestCheckHook
 , requests
+, trustme
 }:
 
 buildPythonPackage rec {
   pname = "requests-toolbelt";
-  version = "0.10.1";
+  version = "1.0.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-YuCff/XMvakncqKfOUpJw61ssYHVaLEzdiayq7Yopj0=";
+    hash = "sha256-doGgo9BHAStb3A7jfX+PB+vnarCMrsz8OSHOI8iNW8Y=";
   };
 
   propagatedBuildInputs = [
@@ -25,17 +24,9 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     betamax
-    mock
+    pyopenssl
     pytestCheckHook
-  ];
-
-  disabledTests = [
-    # https://github.com/requests/toolbelt/issues/306
-    "test_no_content_length_header"
-    "test_read_file"
-    "test_reads_file_from_url_wrapper"
-    "test_x509_der"
-    "test_x509_pem"
+    trustme
   ];
 
   pythonImportsCheck = [
@@ -45,6 +36,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Toolbelt of useful classes and functions to be used with requests";
     homepage = "http://toolbelt.rtfd.org";
+    changelog = "https://github.com/requests/toolbelt/blob/${version}/HISTORY.rst";
     license = licenses.asl20;
     maintainers = with maintainers; [ matthiasbeyer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/responses/default.nix b/nixpkgs/pkgs/development/python-modules/responses/default.nix
index a1e21b8fbcdc..a35b03680a44 100644
--- a/nixpkgs/pkgs/development/python-modules/responses/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/responses/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "responses";
-  version = "0.23.1";
+  version = "0.23.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "getsentry";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-BU90nUZVqowFMn78KfbBEf59X7Q/1itvkGFdOzy4D2c=";
+    hash = "sha256-VJmcRMn0O+3mDwzkCwxIX7RU3/I9T9p9N8t6USWDZJQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/respx/default.nix b/nixpkgs/pkgs/development/python-modules/respx/default.nix
index d678aca57283..9d0bf307ff23 100644
--- a/nixpkgs/pkgs/development/python-modules/respx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/respx/default.nix
@@ -1,35 +1,30 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
+, flask
 , httpcore
 , httpx
-, flask
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
 , starlette
 , trio
 }:
 
 buildPythonPackage rec {
   pname = "respx";
-  version = "0.20.1";
+  version = "0.20.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "lundberg";
     repo = pname;
     rev = version;
-    hash = "sha256-Qs3+NWMKiAFlKTTosdyHOxWRPKFlYQD20+MKiKR371U=";
+    hash = "sha256-OiBKNK8V9WNQDe29Q5+E/jjBWD0qFcYUzhYUWA+7oFc=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "httpx-0.24-test-compatibility.patch";
-      url = "https://github.com/lundberg/respx/commit/b014780bde8e82a65fc6bb02d62b89747189565c.patch";
-      hash = "sha256-wz9YYUtdptZw67ddnzUCet2iTozKaW0jrTIS62I/HXo=";
-    })
-  ];
-
   propagatedBuildInputs = [
     httpx
   ];
@@ -52,12 +47,14 @@ buildPythonPackage rec {
     "test_pass_through"
   ];
 
-  pythonImportsCheck = [ "respx" ];
+  pythonImportsCheck = [
+    "respx"
+  ];
 
   meta = with lib; {
     description = "Python library for mocking HTTPX";
     homepage = "https://lundberg.github.io/respx/";
-    changelog = "https://github.com/lundberg/respx/blob/${src.rev}/CHANGELOG.md";
+    changelog = "https://github.com/lundberg/respx/blob/${version}/CHANGELOG.md";
     license = with licenses; [ bsd3 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/riprova/default.nix b/nixpkgs/pkgs/development/python-modules/riprova/default.nix
index adf327208955..c4a0ee950704 100644
--- a/nixpkgs/pkgs/development/python-modules/riprova/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/riprova/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec{
   pname = "riprova";
-  version = "0.2.7";
+  version = "0.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04drdvjjbh370csv2vb5zamg2aanxqkfm6w361qkybnra4g4g0dz";
+    sha256 = "sha256-FgFySbvBjcZU2bjo40/1O7glc6oFWW05jinEOfMWMVI=";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/rns/default.nix b/nixpkgs/pkgs/development/python-modules/rns/default.nix
index 84b8c975f15d..574af8aeecc9 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.6";
+  version = "0.5.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "Reticulum";
     rev = "refs/tags/${version}";
-    hash = "sha256-s/rOU9FEWdb0vmRsMq/yPkP/ZTNc5wjlfdB0V+ltryQ=";
+    hash = "sha256-0WNgJKhxK4WjYQ0n7ofqrRxf4m9uWn2ygcZiv3uhrhM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix b/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
index a6d9f2e8fa01..ac67ff88acb9 100644
--- a/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "rokuecp";
-  version = "0.18.0";
+  version = "0.18.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ctalkington";
     repo = "python-rokuecp";
     rev = "refs/tags/${version}";
-    hash = "sha256-YvJ1+o7/S/QNROedYGsP8m99Dr+WpAkfe5YPEN+2ZhU=";
+    hash = "sha256-0ArnP9xITVpbIfDrsNK3ukmeJBdd6SE3tnDwCLWSHMo=";
   };
 
   nativeBuildInputs = [
@@ -52,7 +52,7 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'version = "0.0.0"' 'version = "${version}"' \
-      --replace " --cov" ""
+      --replace "--cov" ""
   '';
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/rope/default.nix b/nixpkgs/pkgs/development/python-modules/rope/default.nix
index 3a9c947a118d..1168529eea68 100644
--- a/nixpkgs/pkgs/development/python-modules/rope/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rope/default.nix
@@ -30,6 +30,8 @@ buildPythonPackage rec {
     pytoolconfig
   ] ++ pytoolconfig.optional-dependencies.global;
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytest-timeout
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix b/nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix
index d938fb1f219c..0c34a24d0864 100644
--- a/nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ruamel-yaml/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "ruamel-yaml";
-  version = "0.17.21";
+  version = "0.17.32";
 
   src = fetchPypi {
     pname = "ruamel.yaml";
     inherit version;
-    hash = "sha256-i3zml6LyEnUqNcGsQURx3BbEJMlXO+SSa1b/P10jt68=";
+    hash = "sha256-7JOQY3YZFOFFQpcqXLptM8I7CFmrY0L2HPBwz8YA78I=";
   };
 
   # Tests use relative paths
@@ -27,6 +27,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order";
     homepage = "https://sourceforge.net/projects/ruamel-yaml/";
+    changelog = "https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/CHANGES";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/rustworkx/default.nix b/nixpkgs/pkgs/development/python-modules/rustworkx/default.nix
index 9054cb14d278..055d5ff85728 100644
--- a/nixpkgs/pkgs/development/python-modules/rustworkx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rustworkx/default.nix
@@ -7,6 +7,7 @@
 , numpy
 , fixtures
 , networkx
+, testtools
 , libiconv
 , stdenv
 , lib
@@ -37,12 +38,12 @@ buildPythonPackage rec {
 
   buildInputs = [ numpy ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
 
-  checkInputs = [ fixtures networkx ];
+  checkInputs = [ fixtures networkx testtools ];
 
   pythonImportsCheck = [ "rustworkx" ];
 
   meta = with lib; {
-    description = "A high performance Python graph library implemented in Rust.";
+    description = "A high performance Python graph library implemented in Rust";
     homepage = "https://github.com/Qiskit/rustworkx";
     license = licenses.asl20;
     maintainers = with maintainers; [ raitobezarius ];
diff --git a/nixpkgs/pkgs/development/python-modules/rzpipe/default.nix b/nixpkgs/pkgs/development/python-modules/rzpipe/default.nix
index b2f31e85f54a..d5a98e0c63bb 100644
--- a/nixpkgs/pkgs/development/python-modules/rzpipe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rzpipe/default.nix
@@ -6,13 +6,14 @@
 
 buildPythonPackage rec {
   pname = "rzpipe";
-  version = "0.5.1";
+  version = "0.6.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0xbkdgMDiBwSzXmlVmRwHlLBgVmfZgmM8lQ4ALgmaBk=";
+    hash = "sha256-py4oiNp+WUcOGHn2AdHyIpgV8BsI8A1gtJi2joi1Wxc=";
   };
 
   # No native rz_core library
@@ -25,6 +26,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python interface for rizin";
     homepage = "https://rizin.re";
+    changelog = "https://github.com/rizinorg/rizin/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix b/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
index acd739d854e9..a609bbe99b69 100644
--- a/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/s3transfer/default.nix
@@ -1,18 +1,15 @@
 { lib
 , botocore
 , buildPythonPackage
-, docutils
 , fetchFromGitHub
-, mock
 , pytestCheckHook
 , pythonOlder
 , stdenv
-, wheel
 }:
 
 buildPythonPackage rec {
   pname = "s3transfer";
-  version = "0.6.0";
+  version = "0.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,21 +18,16 @@ buildPythonPackage rec {
     owner = "boto";
     repo = pname;
     rev = version;
-    hash = "sha256-LM1/joc6TeyLLeAHpuCTz2vgpQ3TMkHrKitfiUp5ZrY=";
+    hash = "sha256-cL4IOfWLRUJC5zCzmN/qRf0N/IV/MDHF/j2JDX5hlUE=";
   };
 
   propagatedBuildInputs = [ botocore ];
 
-  buildInputs = [ docutils mock pytestCheckHook wheel ];
+  nativeCheckInputs = [ pytestCheckHook ];
 
   disabledTestPaths = [
     # Requires network access
-    "tests/integration/test_copy.py"
-    "tests/integration/test_delete.py"
-    "tests/integration/test_download.py"
-    "tests/integration/test_processpool.py"
-    "tests/integration/test_s3transfer.py"
-    "tests/integration/test_upload.py"
+    "tests/integration"
   ] ++
   # There was a change in python 3.8 that defaults multiprocessing to spawn instead of fork on macOS
   # See https://bugs.python.org/issue33725 and https://github.com/python/cpython/pull/13603.
@@ -48,6 +40,6 @@ buildPythonPackage rec {
     description = "Library for managing Amazon S3 transfers";
     homepage = "https://github.com/boto/s3transfer";
     license = licenses.asl20;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ nickcao ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sabctools/default.nix b/nixpkgs/pkgs/development/python-modules/sabctools/default.nix
new file mode 100644
index 000000000000..ce536c90c3d6
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sabctools/default.nix
@@ -0,0 +1,27 @@
+{
+  lib,
+  buildPythonPackage,
+  fetchPypi,
+  sabnzbd,
+}:
+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
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-AB5/McuOIDkhu7rtb3nFaqOTx3zwm92+3NEnH5HjzBo=";
+  };
+
+  pythonImportsCheck = ["sabctools"];
+
+  passthru.tests = {inherit sabnzbd;};
+
+  meta = with lib; {
+    description = "C implementations of functions for use within SABnzbd";
+    homepage = "https://github.com/sabnzbd/sabctools";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [adamcstephens];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
index c45a72916467..39e1aa5154d8 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.173.0";
+  version = "2.177.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "sagemaker-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Fzkw37bRBbCD7VBIsN4Qkk6dI0Qh4Gvt5TJbnoUuPCs=";
+    hash = "sha256-Jqbk3DiV5K+TRXXSgCdoqjvddh6V2qc7mf7LotJdqys=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sanic-routing/default.nix b/nixpkgs/pkgs/development/python-modules/sanic-routing/default.nix
index 197f50800228..c9402b30b125 100644
--- a/nixpkgs/pkgs/development/python-modules/sanic-routing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sanic-routing/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "sanic-routing";
-  version = "22.8.0";
+  version = "23.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "sanic-org";
     repo = "sanic-routing";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2T6WY0nzvr8Q9lBoStzmX7m7Ct35lcG53OSLcqxkEcY=";
+    hash = "sha256-ual/vjL3M/nqlaRttJPoBcOYE3L/OAahbBLceUEVLXc=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sanic-testing/default.nix b/nixpkgs/pkgs/development/python-modules/sanic-testing/default.nix
index acb174c86997..8ebdeef2c86f 100644
--- a/nixpkgs/pkgs/development/python-modules/sanic-testing/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sanic-testing/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "sanic-testing";
-  version = "22.12.0";
+  version = "23.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "sanic-org";
     repo = "sanic-testing";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pFTF2SQ9giRzPhG24FLqLPJRXaFdQ7Xi5EeltS7J3DI=";
+    hash = "sha256-WDiEuve9P9fLHxpK0UjxhbZUmWXtP+DV7e6OT19TASs=";
   };
 
   outputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sanic/default.nix b/nixpkgs/pkgs/development/python-modules/sanic/default.nix
index eaa14240191b..b27b75e91b22 100644
--- a/nixpkgs/pkgs/development/python-modules/sanic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sanic/default.nix
@@ -1,30 +1,43 @@
 { lib
 , stdenv
-, aiofiles
-, beautifulsoup4
 , buildPythonPackage
-, doCheck ? !stdenv.isDarwin # on Darwin, tests fail but pkg still works
 , fetchFromGitHub
-, gunicorn
+, fetchpatch
+
+# build-system
+, setuptools
+, wheel
+
+# propagates
+, aiofiles
+, html5tagger
 , httptools
 , multidict
-, pytest-asyncio
-, pytestCheckHook
-, pythonOlder
-, pythonAtLeast
 , sanic-routing
-, sanic-testing
-, setuptools
+, tracerite
+, typing-extensions
 , ujson
-, uvicorn
 , uvloop
 , websockets
+
+# optionals
 , aioquic
+
+# tests
+, doCheck ? !stdenv.isDarwin # on Darwin, tests fail but pkg still works
+
+, beautifulsoup4
+, gunicorn
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, sanic-testing
+, uvicorn
 }:
 
 buildPythonPackage rec {
   pname = "sanic";
-  version = "22.12.0";
+  version = "23.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -33,24 +46,45 @@ buildPythonPackage rec {
     owner = "sanic-org";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Vj780rP5rJ+YsMWlb3BR9LTKT/nTt0C2H3J0X9sysj8=";
+    hash = "sha256-Ffw92mlYNV+ikb6299uw24EI1XPpl3Ju2st1Yt/YHKw=";
   };
 
+  patches = [
+    # https://github.com/sanic-org/sanic/pull/2801
+    (fetchpatch {
+      name = "fix-test-one-cpu.patch";
+      url = "https://github.com/sanic-org/sanic/commit/a1df2a6de1c9c88a85d166e7e2636d26f7925852.patch";
+      hash = "sha256-vljGuoP/Q9HrP+/AOoI1iUpbDQ4/1Pn7AURP1dncI00=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
     aiofiles
-    aioquic
     httptools
+    html5tagger
     multidict
     sanic-routing
+    tracerite
+    typing-extensions
     ujson
     uvloop
     websockets
   ];
 
+  passthru.optional-dependencies = {
+    ext = [
+      # TODO: sanic-ext
+    ];
+    http3 = [
+      aioquic
+    ];
+  };
+
   nativeCheckInputs = [
     beautifulsoup4
     gunicorn
@@ -58,7 +92,7 @@ buildPythonPackage rec {
     pytestCheckHook
     sanic-testing
     uvicorn
-  ];
+  ] ++ passthru.optional-dependencies.http3;
 
   inherit doCheck;
 
@@ -112,6 +146,8 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # We are not interested in benchmarks
     "benchmark/"
+    # We are also not interested in typing
+    "typing/test_typing.py"
     # unable to create async loop
     "test_app.py"
     "test_asgi.py"
diff --git a/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix b/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix
index c1a2295ec88b..16d6c6120da1 100644
--- a/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/schema-salad/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     rdflib
     ruamel-yaml
     setuptools # needs pkg_resources at runtime
-  ];
+  ] ++ cachecontrol.optional-dependencies.filecache;
 
   nativeCheckInputs = [
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/schwifty/default.nix b/nixpkgs/pkgs/development/python-modules/schwifty/default.nix
index 071b891a9565..5344c1de3b4c 100644
--- a/nixpkgs/pkgs/development/python-modules/schwifty/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/schwifty/default.nix
@@ -8,6 +8,9 @@
 , pytestCheckHook
 , pytest-cov
 , pythonOlder
+, setuptools
+, setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -22,6 +25,12 @@ buildPythonPackage rec {
     hash = "sha256-hDNAoITt2Ak5aVWmMgqg2oA9rDFsiuum5JXc7v7sspU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
+
   propagatedBuildInputs = [
     iso3166
     pycountry
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 7688ff6d3d71..bf0d3b28c9bb 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-build-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-build-core/default.nix
@@ -8,6 +8,7 @@
 , hatchling
 , cattrs
 , cmake
+, ninja
 , packaging
 , pathspec
 , pyproject-metadata
@@ -18,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "scikit-build-core";
-  version = "0.2.0";
+  version = "0.4.8";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "scikit_build_core";
     inherit version;
-    hash = "sha256-0qdtlEekEgONxeJd0lmwPCUnhmGgx8Padmu5ccGprNI=";
+    hash = "sha256-n6wcrBo4uhFoGQt72Y9irs8GzUbbcYXsjCeyfg2krUs=";
   };
 
   postPatch = ''
@@ -58,18 +59,27 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     cattrs
     cmake
+    ninja
     pytest-subprocess
     pytestCheckHook
   ] ++ passthru.optional-dependencies.pyproject;
 
   disabledTestPaths = [
     # runs pip, requires network access
+    "tests/test_custom_modules.py"
     "tests/test_pyproject_pep517.py"
     "tests/test_pyproject_pep518.py"
+    "tests/test_pyproject_pep660.py"
     "tests/test_setuptools_pep517.py"
     "tests/test_setuptools_pep518.py"
   ];
 
+  # Tries to access ninja.__version__ which our stub doesn't have.
+  # FIXME: remove for next cycle
+  disabledTests = [
+    "test_get_ninja_programs_cmake_module"
+  ];
+
   pythonImportsCheck = [
     "scikit_build_core"
   ];
@@ -77,6 +87,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A next generation Python CMake adaptor and Python API for plugins";
     homepage = "https://github.com/scikit-build/scikit-build-core";
+    changelog = "https://github.com/scikit-build/scikit-build-core/releases/tag/v${version}";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ veprbl ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix
index f7a2c7e1b547..5b868bb42a6f 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-build/default.nix
@@ -1,34 +1,37 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
+, hatch-fancy-pypi-readme
+, hatch-vcs
+, hatchling
 , distro
 , packaging
-, python
 , setuptools
-, setuptools-scm
 , wheel
+, tomli
   # Test Inputs
 , cmake
 , cython
-, flake8
-, ninja
+, git
 , path
 , pytestCheckHook
 , pytest-mock
-, pytest-virtualenv
 , requests
-, six
 , virtualenv
 }:
 
 buildPythonPackage rec {
   pname = "scikit-build";
-  version = "0.16.7";
+  version = "0.17.6";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-qbnMdHm3HmyNQ0WW363gJSU6riOtsiqaLYWFD9Uc7P0=";
+    pname = "scikit_build";
+    inherit version;
+    hash = "sha256-tRpRo2s3xCZQmUtQR5EvWbIuMhCyPjIfKHYR+e9uXJ0=";
   };
 
   # This line in the filterwarnings section of the pytest configuration leads to this error:
@@ -37,24 +40,28 @@ buildPythonPackage rec {
     sed -i "/'error',/d" pyproject.toml
   '';
 
+  nativeBuildInputs = [
+    hatch-fancy-pypi-readme
+    hatch-vcs
+    hatchling
+  ];
+
   propagatedBuildInputs = [
     distro
     packaging
     setuptools
-    setuptools-scm
     wheel
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
   ];
 
   nativeCheckInputs = [
     cmake
     cython
-    ninja
-    path
+    git
     pytestCheckHook
     pytest-mock
-    pytest-virtualenv
     requests
-    six
     virtualenv
   ];
 
@@ -76,13 +83,10 @@ buildPythonPackage rec {
     "test_hello_sdist"
     "test_manifest_in_sdist"
     "test_sdist_with_symlinks"
-    # distutils.errors.DistutilsArgError: no commands supplied
-    "test_invalid_command"
-    "test_manifest_in_sdist"
-    "test_no_command"
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/scikit-build/scikit-build/blob/${version}/CHANGES.rst";
     description = "Improved build system generator for CPython C/C++/Fortran/Cython extensions";
     homepage = "https://github.com/scikit-build/scikit-build";
     license = with licenses; [ mit bsd2 ]; # BSD due to reuses of PyNE code
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix
index bd2a9be69b67..fa2510b0a441 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-learn/default.nix
@@ -19,12 +19,12 @@
 
 buildPythonPackage rec {
   pname = "scikit-learn";
-  version = "1.2.1";
+  version = "1.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+/ilyJPJtLmbzH7Y+z6FAJV6ET9BAYYDhtBmNVIPfPs=";
+    hash = "sha256-i+VJiG9e2kZDa25VWw5Ic7TxCqIcB99FxLwXNa+8zXo=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scipy/default.nix b/nixpkgs/pkgs/development/python-modules/scipy/default.nix
index 1090e724a7fd..d51c049589ee 100644
--- a/nixpkgs/pkgs/development/python-modules/scipy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scipy/default.nix
@@ -1,9 +1,14 @@
 { lib
 , stdenv
-, fetchPypi
+, fetchFromGitHub
+, fetchpatch
+, fetchurl
+, writeText
 , python
 , pythonOlder
 , buildPythonPackage
+, pypaBuildHook
+, pipInstallHook
 , cython
 , gfortran
 , meson-python
@@ -17,31 +22,77 @@
 , pybind11
 , pooch
 , libxcrypt
+, xsimd
+, blas
+, lapack
 }:
 
-buildPythonPackage rec {
+let
   pname = "scipy";
-  version = "1.10.1";
-  format = "pyproject";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-LPnfuAp7RYm6TEDOdYiYbW1c68VFfK0sKID2vC1C86U=";
+  # DON'T UPDATE THESE ATTRIBUTES MANUALLY - USE:
+  #
+  #     nix-shell maintainers/scripts/update.nix --argstr package python3.pkgs.scipy
+  #
+  # Even if you do update these hashes manually, don't change their base
+  # (base16 or base64), because the update script uses sed regexes to replace
+  # them with the updated hashes.
+  version = "1.11.1";
+  srcHash = "sha256-bgnYXe3EhzL7+Gfriz1cXCl2eYQJ8zF+rcIwHyZR8bQ=";
+  datasetsHashes = {
+    ascent = "1qjp35ncrniq9rhzb14icwwykqg2208hcssznn3hz27w39615kh3";
+    ecg = "1bwbjp43b7znnwha5hv6wiz3g0bhwrpqpi75s12zidxrbwvd62pj";
+    face = "11i8x29h80y7hhyqhil1fg8mxag5f827g33lhnsf44qk116hp2wx";
+  };
+  datasets = lib.mapAttrs (
+    d: hash: fetchurl {
+      url = "https://raw.githubusercontent.com/scipy/dataset-${d}/main/${d}.dat";
+      sha256 = hash;
+    }
+  ) datasetsHashes;
+  # Additional cross compilation related properties that scipy reads in scipy/meson.build
+  crossFileScipy = writeText "cross-file-scipy.conf" ''
+    [properties]
+    numpy-include-dir = '${numpy}/${python.sitePackages}/numpy/core/include'
+    pythran-include-dir = '${pythran}/${python.sitePackages}/pythran'
+    host-python-path = '${python.interpreter}'
+    host-python-version = '${python.pythonVersion}'
+  '';
+in buildPythonPackage {
+  inherit pname version;
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "scipy";
+    repo = pname;
+    rev = "v${version}";
+    hash = srcHash;
+    fetchSubmodules = true;
   };
 
   patches = [
-    # These tests require internet connection, currently impossible to disable
-    # them otherwise, see:
-    # https://github.com/scipy/scipy/pull/17965
-    ./disable-datasets-tests.patch
+    # Helps with cross compilation, see https://github.com/scipy/scipy/pull/18167
+    (fetchpatch {
+      url = "https://github.com/scipy/scipy/commit/dd50ac9d98dbb70625333a23e3a90e493228e3be.patch";
+      hash = "sha256-Vf6/hhwu6X5s8KWhq8bUZKtSkdVu/GtEpGtj8Olxe7s=";
+      excludes = [
+        "doc/source/dev/contributor/meson_advanced.rst"
+      ];
+    })
   ];
 
-  nativeBuildInputs = [ cython gfortran meson-python pythran pkg-config wheel ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "pybind11>=2.10.4,<2.11.0" "pybind11>=2.10.4,<2.12.0"
+  '';
+
+  nativeBuildInputs = [ pypaBuildHook pipInstallHook cython gfortran meson-python pythran pkg-config wheel ];
 
   buildInputs = [
-    numpy.blas
+    blas
+    lapack
     pybind11
     pooch
+    xsimd
   ] ++ lib.optionals (pythonOlder "3.9") [
     libxcrypt
   ];
@@ -53,9 +104,29 @@ buildPythonPackage rec {
   doCheck = !(stdenv.isx86_64 && stdenv.isDarwin);
 
   preConfigure = ''
-    sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
+    # Relax deps a bit
+    substituteInPlace pyproject.toml \
+      --replace 'numpy==' 'numpy>='
+    # Helps parallelization a bit
     export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
-  '';
+    # We download manually the datasets and this variable tells the pooch
+    # library where these files are cached. See also:
+    # https://github.com/scipy/scipy/pull/18518#issuecomment-1562350648 And at:
+    # https://github.com/scipy/scipy/pull/17965#issuecomment-1560759962
+    export XDG_CACHE_HOME=$PWD; export HOME=$(mktemp -d); mkdir scipy-data
+  '' + (lib.concatStringsSep "\n" (lib.mapAttrsToList (d: dpath:
+    # Actually copy the datasets
+    "cp ${dpath} scipy-data/${d}.dat"
+  ) datasets));
+
+  mesonFlags = [
+    "-Dblas=${blas.pname}"
+    "-Dlapack=${lapack.pname}"
+    # We always run what's necessary for cross compilation, which is passing to
+    # meson the proper cross compilation related arguments. See also:
+    # https://docs.scipy.org/doc/scipy/building/cross_compilation.html
+    "--cross-file=${crossFileScipy}"
+  ];
 
   # disable stackprotector on aarch64-darwin for now
   #
@@ -71,7 +142,7 @@ buildPythonPackage rec {
     runHook preCheck
     pushd "$out"
     export OMP_NUM_THREADS=$(( $NIX_BUILD_CORES / 4 ))
-    ${python.interpreter} -c "import scipy; scipy.test('fast', verbose=10, parallel=$NIX_BUILD_CORES)"
+    ${python.interpreter} -c "import scipy, sys; sys.exit(scipy.test('fast', verbose=10, parallel=$NIX_BUILD_CORES) != True)"
     popd
     runHook postCheck
   '';
@@ -79,17 +150,23 @@ buildPythonPackage rec {
   requiredSystemFeatures = [ "big-parallel" ]; # the tests need lots of CPU time
 
   passthru = {
-    blas = numpy.blas;
+    inherit blas;
+    updateScript = [
+      ./update.sh
+      # Pass it this file name as argument
+      (builtins.unsafeGetAttrPos "pname" python.pkgs.scipy).file
+    ]
+    # Pass it the names of the datasets to update their hashes
+    ++ (builtins.attrNames datasetsHashes)
+    ;
   };
 
-  setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
-
   SCIPY_USE_G77_ABI_WRAPPER = 1;
 
   meta = with lib; {
     description = "SciPy (pronounced 'Sigh Pie') is open-source software for mathematics, science, and engineering";
     homepage = "https://www.scipy.org/";
     license = licenses.bsd3;
-    maintainers = [ maintainers.fridh ];
+    maintainers = with maintainers; [ fridh doronbehar ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/scipy/disable-datasets-tests.patch b/nixpkgs/pkgs/development/python-modules/scipy/disable-datasets-tests.patch
deleted file mode 100644
index a06d0d50ddf4..000000000000
--- a/nixpkgs/pkgs/development/python-modules/scipy/disable-datasets-tests.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git i/scipy/datasets/meson.build w/scipy/datasets/meson.build
-index 101377253..eec2feea4 100644
---- i/scipy/datasets/meson.build
-+++ w/scipy/datasets/meson.build
-@@ -11,4 +11,3 @@ py3.install_sources(
-   subdir: 'scipy/datasets'
- )
- 
--subdir('tests')
diff --git a/nixpkgs/pkgs/development/python-modules/scipy/update.sh b/nixpkgs/pkgs/development/python-modules/scipy/update.sh
new file mode 100755
index 000000000000..b0d6e2da4f41
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/scipy/update.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p jq nix-prefetch-github
+
+set -euo pipefail
+echoerr() { echo "$@" 1>&2; }
+
+fname="$1"
+echoerr got fname $fname
+shift
+datasets="$@"
+echoerr datasets are: "$@"
+latest_release=$(curl --silent https://api.github.com/repos/scipy/scipy/releases/latest)
+version=$(jq -r '.tag_name' <<<"$latest_release" | cut -c2-)
+# Update version, if needed
+if grep -q 'version = "'$version $fname; then
+    echo "Current version $version is the latest available, will update only datasets' hashes (don't take long)"
+else
+    echoerr got version $version
+    sed -i -E 's/(version = ).*=/\1'$version'/g' $fname
+    # Update srcHash
+    srcHash='"sha256-'$(nix-prefetch-github scipy scipy --rev v${version} --fetch-submodules | jq --raw-output .sha256)'"'
+    sed -i 's/srcHash = .*=";/srcHash = '$srcHash';/g' $fname
+fi
+
+for d in $datasets; do
+    datasetHash=$(nix-prefetch-url "https://raw.githubusercontent.com/scipy/dataset-${d}/main/${d}.dat")
+    sed -i 's/'$d' = "[0-9a-z]\+/'$d' = "'$datasetHash'/g' $fname
+    echoerr updated hash for dataset "'$d'"
+done
diff --git a/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix b/nixpkgs/pkgs/development/python-modules/scmrepo/default.nix
index c429c6f6478c..c1773ffc48c3 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.1.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ggqSS5SWJvKxYzCz4Q9LkA0hXmj/3iGhMKeNb/UQVXg=";
+    hash = "sha256-9xSuBh3y6vYvbwn7uslM+R7yhZKP/+Sjbae1a+QMoOA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/scrapy-fake-useragent/default.nix b/nixpkgs/pkgs/development/python-modules/scrapy-fake-useragent/default.nix
index c8a909691f94..f4474235cd23 100644
--- a/nixpkgs/pkgs/development/python-modules/scrapy-fake-useragent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scrapy-fake-useragent/default.nix
@@ -1,24 +1,59 @@
-{ lib, fetchFromGitHub, buildPythonPackage, pytestCheckHook, pytest-cov, pytest-mock, fake-useragent, faker, scrapy }:
+{ lib
+, buildPythonPackage
+, fake-useragent
+, faker
+, fetchFromGitHub
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, scrapy
+}:
 
 buildPythonPackage rec {
   pname = "scrapy-fake-useragent";
   version = "1.4.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   # PyPi tarball is corrupted
   src = fetchFromGitHub {
     owner = "alecxe";
     repo = pname;
     rev = "59c20d38c58c76618164760d546aa5b989a79b8b"; # no tags
-    sha256 = "0yb7d51jws665rdfqkmi077w0pjxmb2ni7ysphj7lx7b18whq54j";
+    hash = "sha256-khQMOQrrdHokvNqfaMWqXV7AzwGxTuxaLsZoLkNpZ3k=";
   };
 
-  propagatedBuildInputs = [ fake-useragent faker ];
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --cov=scrapy_fake_useragent --cov-report=term --cov-report=html --fulltrace" ""
+  '';
+
+  propagatedBuildInputs = [
+    fake-useragent
+    faker
+  ];
+
+  nativeCheckInputs = [
+    pytest-mock
+    pytestCheckHook
+    scrapy
+  ];
+
+  pythonImportsCheck = [
+    "scrapy_fake_useragent"
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook scrapy pytest-cov pytest-mock ];
+  disabledTests = [
+    # AttributeError: 'RetryUserAgentMiddleware' object has no attribute 'EXCEPTIONS_TO_RETRY'
+    "test_random_ua_set_on_exception"
+  ];
 
   meta = with lib; {
     description = "Random User-Agent middleware based on fake-useragent";
     homepage = "https://github.com/alecxe/scrapy-fake-useragent";
+    changelog = "https://github.com/alecxe/scrapy-fake-useragent/blob/master/CHANGELOG.rst";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/seaborn/default.nix b/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
index 7b40b674b4cb..267b6065ed73 100644
--- a/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , flit-core
 , matplotlib
@@ -24,6 +25,24 @@ buildPythonPackage rec {
     hash = "sha256-N0ZF82UJ0NyriVy6W0fa8Fhvd7/js2yXxgfbfaW+ATk=";
   };
 
+  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
   ];
@@ -41,12 +60,12 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # incompatible with matplotlib 3.7
-    # https://github.com/mwaskom/seaborn/issues/3288
-    "test_subplot_kws"
-
     # 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"
@@ -54,7 +73,7 @@ buildPythonPackage rec {
 
   # All platforms should use Agg. Let's set it explicitly to avoid probing GUI
   # backends (leads to crashes on macOS).
-  MPLBACKEND="Agg";
+  env.MPLBACKEND="Agg";
 
   pythonImportsCheck = [
     "seaborn"
diff --git a/nixpkgs/pkgs/development/python-modules/service-identity/default.nix b/nixpkgs/pkgs/development/python-modules/service-identity/default.nix
index 63c077939313..53fa54a5aff0 100644
--- a/nixpkgs/pkgs/development/python-modules/service-identity/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/service-identity/default.nix
@@ -3,42 +3,56 @@
 , buildPythonPackage
 , cryptography
 , fetchFromGitHub
+, hatch-fancy-pypi-readme
+, hatch-vcs
+, hatchling
 , idna
 , pyasn1
 , pyasn1-modules
-, six
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "service-identity";
-  version = "21.1.0";
+  version = "23.1.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "pyca";
     repo = pname;
-    rev = version;
-    hash = "sha256-pWc2rU3ULqEukMhd1ySY58lTm3s8f/ayQ7CY4nG24AQ=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-PGDtsDgRwh7GuuM4OuExiy8L4i3Foo+OD0wMrndPkvo=";
   };
 
+  nativeBuildInputs = [
+    hatch-fancy-pypi-readme
+    hatch-vcs
+    hatchling
+  ];
+
   propagatedBuildInputs = [
     attrs
     cryptography
     idna
     pyasn1
     pyasn1-modules
-    six
   ];
 
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "service_identity" ];
+  pythonImportsCheck = [
+    "service_identity"
+  ];
 
   meta = with lib; {
     description = "Service identity verification for pyOpenSSL";
     homepage = "https://service-identity.readthedocs.io";
+    changelog = "https://github.com/pyca/service-identity/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools-git-versioning/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools-git-versioning/default.nix
new file mode 100644
index 000000000000..b280650436b4
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/setuptools-git-versioning/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, build
+, coverage
+, git
+, packaging
+, pytestCheckHook
+, pytest-rerunfailures
+, pythonOlder
+, setuptools
+, toml
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "setuptools-git-versioning";
+  version = "1.13.5";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "dolfinus";
+    repo = "setuptools-git-versioning";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-MAHB6hMAcMo1+HCc6g7xQUD2sG+TLjM/6Oa/BKuXpRc=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    packaging
+    setuptools
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    toml
+  ];
+
+  pythonImportsCheck = [
+    "setuptools_git_versioning"
+  ];
+
+  nativeCheckInputs = [
+    build
+    coverage
+    git
+    pytestCheckHook
+    pytest-rerunfailures
+    toml
+  ];
+
+  preCheck = ''
+    # so that its built binary is accessible by tests
+    export PATH="$out/bin:$PATH"
+  '';
+
+  # limit tests because the full suite takes several minutes to run
+  pytestFlagsArray = [ "-m" "important" ];
+
+  disabledTests = [
+    # runs an isolated build that uses internet to download dependencies
+    "test_config_not_used"
+  ];
+
+  meta = with lib; {
+    description = "Use git repo data (latest tag, current commit hash, etc) for building a version number according PEP-440";
+    homepage = "https://github.com/dolfinus/setuptools-git-versioning";
+    changelog = "https://github.com/dolfinus/setuptools-git-versioning/blob/${src.rev}/CHANGELOG.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tjni ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix
index 906d6355e9b8..e71d8bc78dc0 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/setuptools-rust/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "setuptools-rust";
-  version = "1.5.2";
+  version = "1.6.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2NrMsU3A6uG2tus+zveWdb03tAZTafecNTk91cVWUsc=";
+    hash = "sha256-yG5zTerDMFl5mL+8CNpFGH5rJ4N+I72R6tsyBzI5ImI=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/nixpkgs/pkgs/development/python-modules/shap/default.nix b/nixpkgs/pkgs/development/python-modules/shap/default.nix
index a93cca6232fd..c9fb24e917af 100644
--- a/nixpkgs/pkgs/development/python-modules/shap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shap/default.nix
@@ -13,6 +13,7 @@
 , nose
 , numba
 , numpy
+, oldest-supported-numpy
 , opencv4
 , pandas
 , pyspark
@@ -25,6 +26,7 @@
 , tqdm
 , transformers
 , xgboost
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -42,7 +44,9 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [
+    oldest-supported-numpy
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/shapely/default.nix b/nixpkgs/pkgs/development/python-modules/shapely/default.nix
index 419bed0a371c..488e936abb82 100644
--- a/nixpkgs/pkgs/development/python-modules/shapely/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shapely/default.nix
@@ -5,7 +5,9 @@
 , fetchPypi
 , cython
 , geos
+, oldest-supported-numpy
 , setuptools
+, wheel
 , numpy
 , pytestCheckHook
 }:
@@ -25,7 +27,9 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     cython
     geos # for geos-config
+    oldest-supported-numpy
     setuptools
+    wheel
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/shodan/default.nix b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
index 3987dab5d87f..5dea2f5e23a1 100644
--- a/nixpkgs/pkgs/development/python-modules/shodan/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shodan/default.nix
@@ -1,24 +1,25 @@
 { lib
-, fetchPypi
 , buildPythonPackage
 , click-plugins
 , colorama
+, fetchPypi
+, pythonOlder
 , requests
 , setuptools
-, pythonOlder
+, tldextract
 , xlsxwriter
 }:
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.29.1";
+  version = "1.30.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4q9iVOGdKo+k6Slzi+VR4l3Hqvw5RzLndufjD6RM4zk=";
+    hash = "sha256-yWF8ZsR7h9SAHnCAtsdp7Jox2jmN7+CwR6Z5SSdDZFM=";
   };
 
   propagatedBuildInputs = [
@@ -26,6 +27,7 @@ buildPythonPackage rec {
     colorama
     requests
     setuptools
+    tldextract
     xlsxwriter
   ];
 
@@ -41,6 +43,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/achillean/shodan-python";
     changelog = "https://github.com/achillean/shodan-python/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = with maintainers; [ lihop ];
+    maintainers = with maintainers; [ fab lihop ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/shtab/default.nix b/nixpkgs/pkgs/development/python-modules/shtab/default.nix
index f27d2c1f253d..e50717d5a807 100644
--- a/nixpkgs/pkgs/development/python-modules/shtab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shtab/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "shtab";
-  version = "1.6.3";
+  version = "1.6.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-9XXAVwno8rO5Uw7S5FWsyEUSqUE46QRehpAr5wIlYgc=";
+    hash = "sha256-BMwi3a7CPq58G30XlkJdSfSP6oc6u2AuSPAwEExI9zM=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/single-version/0001-set-poetry-core.patch b/nixpkgs/pkgs/development/python-modules/single-version/0001-set-poetry-core.patch
deleted file mode 100644
index 4c6f869c0c27..000000000000
--- a/nixpkgs/pkgs/development/python-modules/single-version/0001-set-poetry-core.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From d949b37151cd538d4c6a15e1ba6c1343f8bff76d Mon Sep 17 00:00:00 2001
-From: "P. R. d. O" <d.ol.rod@protonmail.com>
-Date: Mon, 6 Dec 2021 15:26:19 -0600
-Subject: [PATCH] set poetry-core
-
----
- pyproject.toml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/pyproject.toml b/pyproject.toml
-index d3fdc52..bd7ddc2 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -27,4 +27,4 @@ black = "^19.10b0"
-
- [build-system]
- requires = ["poetry>=0.12"]
--build-backend = "poetry.masonry.api"
-+build-backend = "poetry.core.masonry.api"
---
-2.33.1
diff --git a/nixpkgs/pkgs/development/python-modules/single-version/default.nix b/nixpkgs/pkgs/development/python-modules/single-version/default.nix
index b1ba4adfa120..53989afe94f8 100644
--- a/nixpkgs/pkgs/development/python-modules/single-version/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/single-version/default.nix
@@ -1,4 +1,10 @@
-{ lib, buildPythonPackage, fetchFromGitHub, poetry-core, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "single-version";
@@ -13,7 +19,12 @@ buildPythonPackage rec {
   };
 
   patches = [
-    ./0001-set-poetry-core.patch
+    # 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 ];
diff --git a/nixpkgs/pkgs/development/python-modules/skl2onnx/default.nix b/nixpkgs/pkgs/development/python-modules/skl2onnx/default.nix
index 1dbf5e00682b..1698d2de4573 100644
--- a/nixpkgs/pkgs/development/python-modules/skl2onnx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skl2onnx/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "skl2onnx";
-  version = "1.14.1";
+  version = "1.15.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-VLEKfGLOKu5PlHvTqW1+2t75HV2mjeezPkzu0/0H1dw=";
+    hash = "sha256-BbLCZDrQNX7B6mhNE4Q4ot9lffgo5X0Hy3jC52viDjc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix b/nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
index 26479aacdad9..6f05b7324c82 100644
--- a/nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     hash = "sha256-/LBz0PCQI3QOAmOZk6Jynqi/+NN0w8gbY/S3YckRZ68=";
   };
 
-  buildInputs = [ gobject-introspection gtk3 gtksourceview4 ];
+  buildInputs = [ gtk3 gtksourceview4 ];
   nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
   propagatedBuildInputs = [
     nest-asyncio
diff --git a/nixpkgs/pkgs/development/python-modules/smpp.pdu/default.nix b/nixpkgs/pkgs/development/python-modules/smpp.pdu/default.nix
new file mode 100644
index 000000000000..8860c4b2c531
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/smpp.pdu/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pydantic
+, requests
+, pytestCheckHook
+, pytest-asyncio
+, setuptools
+}:
+
+buildPythonPackage {
+  pname = "smpp.pdu";
+  version = "unstable-2022-09-02";
+  format = "pyproject";
+
+  # Upstream was once mozes/smpp.pdu, but it's dead and Python 2 only.
+  src = fetchFromGitHub {
+    owner = "hologram-io";
+    repo = "smpp.pdu";
+    rev = "20acc840ded958898eeb35ae9a18df9b29bdaaac";
+    hash = "sha256-/icVexc2S8sbJqn4ioeIhYxyDFIENuCfsFhl0uAHa9g=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "smpp.pdu" ];
+
+  meta = with lib; {
+    description = "Library for parsing Protocol Data Units (PDUs) in SMPP protocol";
+    homepage = "https://github.com/hologram-io/smpp.pdu";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ flokli janik ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/snakeviz/default.nix b/nixpkgs/pkgs/development/python-modules/snakeviz/default.nix
index 0b3767944985..1b8c1c81183b 100644
--- a/nixpkgs/pkgs/development/python-modules/snakeviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snakeviz/default.nix
@@ -31,6 +31,8 @@ buildPythonPackage rec {
     tornado
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     ipython
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/snitun/default.nix b/nixpkgs/pkgs/development/python-modules/snitun/default.nix
index f02f82adf1ab..42b225aa3819 100644
--- a/nixpkgs/pkgs/development/python-modules/snitun/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snitun/default.nix
@@ -36,7 +36,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = lib.optionals stdenv.isDarwin [
+  disabledTests = [
+    # broke after aiohttp 3.8.5 upgrade
+    "test_client_stop_no_wait"
+  ] ++ lib.optionals stdenv.isDarwin [
     "test_multiplexer_data_channel_abort_full" # https://github.com/NabuCasa/snitun/issues/61
     # port binding conflicts
     "test_snitun_single_runner_timeout"
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 fbf000d21e1e..a85fc4029fea 100644
--- a/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -1,6 +1,7 @@
 { lib
 , asn1crypto
 , buildPythonPackage
+, pythonRelaxDepsHook
 , certifi
 , cffi
 , charset-normalizer
@@ -9,6 +10,8 @@
 , idna
 , keyring
 , oscrypto
+, packaging
+, platformdirs
 , pycryptodomex
 , pyjwt
 , pyopenssl
@@ -16,27 +19,51 @@
 , pytz
 , requests
 , setuptools
+, sortedcontainers
+, tomlkit
 , typing-extensions
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "snowflake-connector-python";
-  version = "3.0.0";
+  version = "3.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-F0EbgRSS/kYKUDPhf6euM0eLqIqVjQsHC6C9ZZSRCIE=";
+    hash = "sha256-+sUfxc72+dV5iqRg9ObePlPhoPx7kT0r2Yta6Aa8yDs=";
   };
 
+  # snowflake-connector-python requires arrow 10.0.1, which we don't have in
+  # nixpkgs, so we cannot build the C extensions that use it. thus, patch out
+  # cython and pyarrow from the build dependencies
+  #
+  # keep an eye on following issue for improvements to this situation:
+  #
+  #   https://github.com/snowflakedb/snowflake-connector-python/issues/1144
+  #
   postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "charset_normalizer>=2,<3" "charset_normalizer" \
-      --replace "pyOpenSSL>=16.2.0,<23.0.0" "pyOpenSSL"
+    substituteInPlace pyproject.toml \
+      --replace '"cython",' "" \
+      --replace '"pyarrow>=10.0.1,<10.1.0",' ""
   '';
 
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools
+    wheel
+  ];
+
+  pythonRelaxDeps = [
+    "pyOpenSSL"
+    "charset-normalizer"
+    "cryptography"
+    "platformdirs"
+  ];
+
   propagatedBuildInputs = [
     asn1crypto
     certifi
@@ -45,12 +72,15 @@ buildPythonPackage rec {
     filelock
     idna
     oscrypto
+    packaging
+    platformdirs
     pycryptodomex
     pyjwt
     pyopenssl
     pytz
     requests
-    setuptools
+    sortedcontainers
+    tomlkit
     typing-extensions
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/sockio/default.nix b/nixpkgs/pkgs/development/python-modules/sockio/default.nix
index 5e1fcbe2a7f1..8ce561b781f9 100644
--- a/nixpkgs/pkgs/development/python-modules/sockio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sockio/default.nix
@@ -27,6 +27,8 @@ buildPythonPackage rec {
       --replace "--durations=2 --verbose" ""
   '';
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytest-asyncio
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/sourmash/default.nix b/nixpkgs/pkgs/development/python-modules/sourmash/default.nix
new file mode 100644
index 000000000000..62e048639273
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/sourmash/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
+, rustPlatform
+, bitstring
+, cachetools
+, cffi
+, deprecation
+, iconv
+, matplotlib
+, numpy
+, scipy
+, screed
+, hypothesis
+, pytest-xdist
+, pyyaml
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sourmash";
+  version = "4.8.3";
+  format = "pyproject";
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-LIMpL9cLafytRFyPam/FBNi757j1v6o1FG/K2JknDQY=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-mcJzFRYkdxuqqXH+ryg5v+9tQtuN1hkEeW2DF+wEJ/w=";
+  };
+
+  nativeBuildInputs = with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+  ];
+
+  buildInputs = [ iconv ];
+
+  propagatedBuildInputs = [
+    bitstring
+    cachetools
+    cffi
+    deprecation
+    matplotlib
+    numpy
+    scipy
+    screed
+  ];
+
+  pythonImportsCheck = [ "sourmash" ];
+  nativeCheckInputs = [
+    hypothesis
+    pytest-xdist
+    pytestCheckHook
+    pyyaml
+  ];
+
+  # TODO(luizirber): Working on fixing these upstream
+  disabledTests = [
+    "test_compare_no_such_file"
+    "test_do_sourmash_index_multiscaled_rescale_fail"
+    "test_metagenome_kreport_out_fail"
+  ];
+
+  meta = with lib; {
+    description = "Quickly search, compare, and analyze genomic and metagenomic data sets";
+    homepage = "https://sourmash.bio";
+    changelog = "https://github.com/sourmash-bio/sourmash/releases/tag/v${version}";
+    maintainers = with maintainers; [ luizirber ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/spacy/lookups-data.nix b/nixpkgs/pkgs/development/python-modules/spacy/lookups-data.nix
index 72403d67c955..7d440706acbe 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy/lookups-data.nix
+++ b/nixpkgs/pkgs/development/python-modules/spacy/lookups-data.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "spacy-lookups-data";
-  version = "1.0.3";
+  version = "1.0.5";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "spacy_lookups_data";
     inherit version;
-    hash = "sha256-q2hlVI+4ZtR5CQ4xEIp+Je0ZKhH8sJiW5xFjKM3FK+E=";
+    hash = "sha256-b5NcgfFFvcyE/GEV9kh2QoXH/z6P8kYpUEaBTpba1jw=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sparse/default.nix b/nixpkgs/pkgs/development/python-modules/sparse/default.nix
index 9904e594e0b6..9b02a1c222f4 100644
--- a/nixpkgs/pkgs/development/python-modules/sparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sparse/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , dask
+, fetchpatch
 , fetchPypi
 , numba
 , numpy
@@ -21,6 +22,15 @@ buildPythonPackage rec {
     hash = "sha256-X1gno39s1vZzClQfmUyVxgo64jKeAfS6Ic7VM5rqAJg=";
   };
 
+  patches = [
+    # https://github.com/pydata/sparse/issues/594
+    (fetchpatch {
+      name = "fix-test.patch";
+      url = "https://github.com/pydata/sparse/commit/a55651d630efaea6fd2758d083c6d02333b0eebe.patch";
+      hash = "sha256-Vrx7MDlKtA8fOuFZenEkvgA70Hzm+p/4SPZuCvwtLuo=";
+    })
+  ];
+
   propagatedBuildInputs = [
     numba
     numpy
diff --git a/nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix b/nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix
index 72ddbef10b76..956eaa30b847 100644
--- a/nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spdx-tools/default.nix
@@ -1,33 +1,50 @@
 { lib
+, beartype
 , buildPythonPackage
 , click
-, fetchPypi
-, pyyaml
-, rdflib
+, fetchFromGitHub
+, license-expression
 , ply
-, xmltodict
 , pytestCheckHook
 , pythonOlder
+, pyyaml
+, rdflib
+, semantic-version
+, setuptools
+, setuptools-scm
 , uritools
+, xmltodict
 }:
 
 buildPythonPackage rec {
   pname = "spdx-tools";
-  version = "0.7.1";
-  format = "setuptools";
+  version = "0.8.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-l15tu6iPEFqKyyKr9T/pDw6dVjWiubH+SHeB6WliOxc=";
+  src = fetchFromGitHub {
+    owner = "spdx";
+    repo = "tools-python";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-TMiaxapJuiLqm+x9K49MIzeWOE/CRAI+M1+9OeU0YvM=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
+    beartype
     click
+    license-expression
     ply
     pyyaml
     rdflib
+    semantic-version
     uritools
     xmltodict
   ];
@@ -37,7 +54,18 @@ buildPythonPackage rec {
   ];
 
   pythonImportsCheck = [
-    "spdx"
+    "spdx_tools.spdx"
+  ];
+
+  disabledTestPaths = [
+    # Test depends on the currently not packaged pyshacl module
+    "tests/spdx3/validation/json_ld/test_shacl_validation.py"
+  ];
+
+  disabledTests = [
+    # Missing files
+    "test_spdx2_convert_to_spdx3"
+    "test_json_writer"
   ];
 
   meta = with lib; {
@@ -45,6 +73,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/spdx/tools-python";
     changelog = "https://github.com/spdx/tools-python/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = [ ];
+    maintainers = with maintainers; [ fab ];
   };
 }
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 88d8d66cda5f..aca87f3c893c 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.22";
+  version = "1.23.0";
 in
 
 buildPythonPackage {
@@ -22,7 +22,7 @@ buildPythonPackage {
   src = fetchPypi {
     pname = "sphinx_autodoc_typehints";
     inherit version;
-    hash = "sha256-cfyi1e7psDQgTkxoarILTY9euUCTliFryubIfDjhjqY=";
+    hash = "sha256-XUTimWYzza2kmbbSeklt3528ld0fDwn3s3lAJJ5h9uk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-material/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-material/default.nix
index f36db1ae87bd..9cbcb31d3347 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-material/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-material/default.nix
@@ -1,22 +1,26 @@
 { lib
+, beautifulsoup4
 , buildPythonPackage
+, css-html-js-minify
 , fetchPypi
-, sphinx
-, beautifulsoup4
+, lxml
 , python-slugify
+, pythonOlder
+, sphinx
 , unidecode
-, css-html-js-minify
-, lxml
 }:
 
 buildPythonPackage rec {
   pname = "sphinx-material";
-  version = "0.0.35";
+  version = "0.0.36";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "sphinx_material";
     inherit version;
-    sha256 = "27f0f1084aa0201b43879aef24a0521b78dc8df4942b003a4e7d79ab11515852";
+    hash = "sha256-7v9ffT3AFq8yuv33DGbmcdFch1Tb4GE9+9Yp++2RKGk=";
   };
 
   propagatedBuildInputs = [
@@ -30,7 +34,9 @@ buildPythonPackage rec {
 
   doCheck = false; # no tests
 
-  pythonImportsCheck = [ "sphinx_material" ];
+  pythonImportsCheck = [
+    "sphinx_material"
+  ];
 
   meta = with lib; {
     description = "A material-based, responsive theme inspired by mkdocs-material";
diff --git a/nixpkgs/pkgs/development/python-modules/spsdk/default.nix b/nixpkgs/pkgs/development/python-modules/spsdk/default.nix
index 2177ebc97220..4aafc2e6c131 100644
--- a/nixpkgs/pkgs/development/python-modules/spsdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spsdk/default.nix
@@ -17,10 +17,12 @@
 , deepmerge
 , fastjsonschema
 , hexdump
+, importlib-metadata
 , jinja2
 , libusbsio
 , oscrypto
 , pycryptodome
+, pyftdi
 , pylink-square
 , pyocd
 , pypemicro
@@ -34,13 +36,13 @@
 
 buildPythonPackage rec {
   pname = "spsdk";
-  version = "1.10.1";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
-    owner = "NXPmicro";
+    owner = "nxp-mcuxpresso";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-2UTgVHqFJqizJ6mDT7+PFec3bQexcBG6v8X0E5Ai4Hc=";
+    hash = "sha256-B3qedAXSG3A8rcWu1O2GnZ1ZqHN+7fQK43qXzGnDEY0=";
   };
 
   nativeBuildInputs = [
@@ -92,6 +94,8 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    importlib-metadata
+    pyftdi
     pytestCheckHook
     voluptuous
   ];
@@ -99,8 +103,9 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "spsdk" ];
 
   meta = with lib; {
+    changelog = "https://github.com/nxp-mcuxpresso/spsdk/blob/${src.rev}/docs/release_notes.rst";
     description = "NXP Secure Provisioning SDK";
-    homepage = "https://github.com/NXPmicro/spsdk";
+    homepage = "https://github.com/nxp-mcuxpresso/spsdk";
     license = licenses.bsd3;
     maintainers = with maintainers; [ frogamic sbruder ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy/default.nix
index 5ef275606185..2f5f5d1a8e2c 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.18";
+  version = "2.0.19";
   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-juZIFlmgwGFFhv+3DsMx6k1QRcGLQyTOwR5Hii8A68c=";
+    hash = "sha256-97q04wQVtlV2b6VJHxvnQ9ep76T5umn1KI3hXh6a8kU=";
   };
 
   nativeBuildInputs =[
diff --git a/nixpkgs/pkgs/development/python-modules/sqlglot/default.nix b/nixpkgs/pkgs/development/python-modules/sqlglot/default.nix
index ec85ffdc3db2..a5d3e5ea11fb 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlglot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlglot/default.nix
@@ -9,7 +9,7 @@
 }:
 buildPythonPackage rec {
   pname = "sqlglot";
-  version = "16.3.1";
+  version = "17.14.2";
 
   disabled = pythonOlder "3.8";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     repo = "sqlglot";
     owner = "tobymao";
     rev = "v${version}";
-    hash = "sha256-EN5ocyXCZaWE1BaC2eDg41+o5BoHAog1372b9rc2IDM=";
+    hash = "sha256-aImshQ5jf0k62ucpK4X8G7uHGAFQkhGgjMYo4mvSvew=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix b/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
index 21c48ad86ef7..4054cfcacf98 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "sqlobject";
-  version = "3.10.1";
+  version = "3.10.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "SQLObject";
     inherit version;
-    hash = "sha256-/PPqJ/ha8GRQpY/uQOLIF0v90p9tZKrHTCMkusiIuEQ=";
+    hash = "sha256-dW9IsIdOSnCG3thWhYwIsz0Oa5runnXD84S5ITPH3ww=";
   };
 
   propagatedBuildInputs = [
@@ -45,6 +45,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Object Relational Manager for providing an object interface to your database";
     homepage = "http://www.sqlobject.org/";
+    changelog = "https://github.com/sqlobject/sqlobject/blob/${version}/docs/News.rst";
     license = licenses.lgpl21Only;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/srsly/default.nix b/nixpkgs/pkgs/development/python-modules/srsly/default.nix
index fa4cf74069bc..b9abe30062bf 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.6";
+  version = "2.4.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-R7QfMjq6TJwzEav2DkQ8A6nv6cafZdxALRc8Mvd0Sm8=";
+    hash = "sha256-k8LMRYh3gmHMsj3QVDsk3tgQFd2KtOwTfNfQSWUDXQg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sshfs/default.nix b/nixpkgs/pkgs/development/python-modules/sshfs/default.nix
index 653b30f14d0c..f1b47d75b8c5 100644
--- a/nixpkgs/pkgs/development/python-modules/sshfs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sshfs/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , asyncssh
 , bcrypt
 , buildPythonPackage
@@ -7,6 +8,7 @@
 , mock-ssh-server
 , pytest-asyncio
 , pytestCheckHook
+, setuptools
 , setuptools-scm
 }:
 
@@ -24,6 +26,7 @@ buildPythonPackage rec {
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
   ];
 
@@ -33,12 +36,19 @@ buildPythonPackage rec {
     fsspec
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     mock-ssh-server
     pytest-asyncio
     pytestCheckHook
   ];
 
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # test fails with sandbox enabled
+    "test_checksum"
+  ];
+
   pythonImportsCheck = [
     "sshfs"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix b/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
index db22d41f5741..54a93398e1ff 100644
--- a/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/staticjinja/default.nix
@@ -11,13 +11,14 @@
 , markdown
 , testers
 , tomlkit
+, typing-extensions
 , staticjinja
 , callPackage
 }:
 
 buildPythonPackage rec {
   pname = "staticjinja";
-  version = "4.1.3";
+  version = "5.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -27,7 +28,7 @@ buildPythonPackage rec {
     owner = "staticjinja";
     repo = pname;
     rev = version;
-    hash = "sha256-w6ge5MQXNRHCM43jKnagTlbquJJys7mprgBOS2uuwHQ=";
+    hash = "sha256-LfJTQhZtnTOm39EWF1m2MP5rxz/5reE0G1Uk9L7yx0w=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +46,7 @@ buildPythonPackage rec {
     pytest-check
     markdown
     tomlkit
+    typing-extensions
   ];
 
   # The tests need to find and call the installed staticjinja executable
diff --git a/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix b/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix
index 4d05e36ad8bc..7df922863174 100644
--- a/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/statsmodels/default.nix
@@ -1,14 +1,17 @@
 { lib
 , buildPythonPackage
 , cython
+, fetchpatch
 , fetchPypi
 , matplotlib
 , numpy
+, oldest-supported-numpy
 , pandas
 , patsy
 , pythonOlder
 , scipy
 , setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -23,9 +26,20 @@ buildPythonPackage rec {
     hash = "sha256-aHXH1onpZtlI8V64FqtWFvSShwaxgM9HD9WQerb2R6Q=";
   };
 
+  patches = [
+    # https://github.com/statsmodels/statsmodels/pull/8969
+    (fetchpatch {
+      name = "unpin-setuptools-scm.patch";
+      url = "https://github.com/statsmodels/statsmodels/commit/cfad8d81166e9b1392ba99763b95983afdb6d61b.patch";
+      hash = "sha256-l7cQHodkPm399a+3qIVmXPk/Ca+CqJDyWXWgjb062nM=";
+    })
+  ];
+
   nativeBuildInputs = [
     cython
+    oldest-supported-numpy
     setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/steamship/default.nix b/nixpkgs/pkgs/development/python-modules/steamship/default.nix
index 035329a97815..9e0284d11819 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.18";
+  version = "2.17.22";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1pWSP+s1jjtuRWWoPD5CcYZzt9JSiGHPNxxkLXP+pkc=";
+    hash = "sha256-PQI6r2DoarswjTc8jp+nrJqkmckQ6+eGuI0MU8kvnM8=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/stransi/default.nix b/nixpkgs/pkgs/development/python-modules/stransi/default.nix
new file mode 100644
index 000000000000..5b2802ea1afe
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/stransi/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, hypothesis
+, pytestCheckHook
+, ochre
+}:
+
+buildPythonPackage rec {
+  pname = "stransi";
+  version = "0.3.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "getcuia";
+    repo = "stransi";
+    rev = "v${version}";
+    hash = "sha256-PDMel6emra5bzX+FwHvUVpFu2YkRKy31UwkCL4sGJ14=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  nativeCheckInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
+
+  propagatedBuildInputs = [
+    ochre
+  ];
+
+  pythonImportsCheck = [ "stransi" ];
+
+  meta = with lib; {
+    description = "A lightweight Python parser library for ANSI escape code sequences";
+    homepage = "https://github.com/getcuia/stransi";
+    changelog = "https://github.com/getcuia/stransi/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/streamdeck/default.nix b/nixpkgs/pkgs/development/python-modules/streamdeck/default.nix
index 19c8e9498ce5..8354b840238f 100644
--- a/nixpkgs/pkgs/development/python-modules/streamdeck/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/streamdeck/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "streamdeck";
-  version = "0.9.3";
+  version = "0.9.4";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9bNWsNEW5Di2EZ3z+p8y4Q7GTfIG66b05pTiQcff7HE=";
+    hash = "sha256-aVmWbrBhZ49NfwOp23FD1dxZF+w/q26fIOVs7iQXUxo=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/streamdeck/hardcode-libusb.patch b/nixpkgs/pkgs/development/python-modules/streamdeck/hardcode-libusb.patch
index acef15b54052..a8b7e0083e5b 100644
--- a/nixpkgs/pkgs/development/python-modules/streamdeck/hardcode-libusb.patch
+++ b/nixpkgs/pkgs/development/python-modules/streamdeck/hardcode-libusb.patch
@@ -5,7 +5,7 @@ index 824c59c..f13754e 100644
 @@ -110,7 +110,7 @@ class LibUSBHIDAPI(Transport):
  

              search_library_names = {

-                 "Windows": ["hidapi.dll", "libhidapi-0.dll"],

+                 "Windows": ["hidapi.dll", "libhidapi-0.dll", "./hidapi.dll"],

 -                "Linux": ["libhidapi-libusb.so", "libhidapi-libusb.so.0"],

 +                "Linux": ["@libusb@"],

                  "Darwin": ["libhidapi.dylib"],

diff --git a/nixpkgs/pkgs/development/python-modules/sure/default.nix b/nixpkgs/pkgs/development/python-modules/sure/default.nix
index 991c88102056..55638abad003 100644
--- a/nixpkgs/pkgs/development/python-modules/sure/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sure/default.nix
@@ -1,10 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, rednose
-, six
+, nose
 , mock
+, six
 , isPyPy
+, pythonOlder
 }:
 
 buildPythonPackage rec {
@@ -19,13 +20,18 @@ buildPythonPackage rec {
     sha256 = "sha256-yPxvq8Dn9phO6ruUJUDkVkblvvC7mf5Z4C2mNOTUuco=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "rednose = 1" ""
+  '';
+
   propagatedBuildInputs = [
-    six
     mock
+    six
   ];
 
   nativeCheckInputs = [
-    rednose
+    nose
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/sympy/default.nix b/nixpkgs/pkgs/development/python-modules/sympy/default.nix
index a135f31578c1..a88e21021e41 100644
--- a/nixpkgs/pkgs/development/python-modules/sympy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sympy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sympy";
-  version = "1.11.1";
+  version = "1.12";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4yOA3OY8t8AQjtUlVwCS/UUWi9ri+qF+UoIh73Lohlg=";
+    hash = "sha256-6/WVyNrD4P3EFSxRh4tJg5bsfzDnqRTWBx5nTUlCD7g=";
   };
 
   nativeCheckInputs = [ glibcLocales ];
diff --git a/nixpkgs/pkgs/development/python-modules/syrupy/default.nix b/nixpkgs/pkgs/development/python-modules/syrupy/default.nix
index 4043cb637c2f..a8047c5b16be 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.0.2";
+  version = "4.0.8";
   format = "pyproject";
 
   disabled = pythonOlder "3.8.1";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tophat";
     repo = "syrupy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-luYYh6L7UxW8wkp1zxR0EOmyTj0mIZ6Miy6HcVHebo4=";
+    hash = "sha256-qUKOZHkpQmeS/QELRf1FoUniaHs/gYyOtsBCFOidx4g=";
   };
 
   nativeBuildInputs = [
@@ -46,6 +46,8 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
+  pythonImportsCheck = [ "syrupy" ];
+
   meta = with lib; {
     changelog = "https://github.com/tophat/syrupy/releases/tag/v${version}";
     description = "Pytest Snapshot Test Utility";
diff --git a/nixpkgs/pkgs/development/python-modules/tables/default.nix b/nixpkgs/pkgs/development/python-modules/tables/default.nix
index 8e119142bb8b..8705f64817e8 100644
--- a/nixpkgs/pkgs/development/python-modules/tables/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tables/default.nix
@@ -30,6 +30,14 @@ buildPythonPackage rec {
     hash = "sha256-NPP6I2bOILGPHfVzp3wdJzBs4fKkHZ+e/2IbUZLqh4g=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "numpy-1.25-compatibility.patch";
+      url = "https://github.com/PyTables/PyTables/commit/337792561e5924124efd20d6fea6bbbd2428b2aa.patch";
+      hash = "sha256-pz3A/jTPWXXlzr+Yl5PRUvdSAinebFsoExfek4RUHkc=";
+    })
+  ];
+
   nativeBuildInputs = [
     blosc2
     cython
diff --git a/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix b/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix
index 36992eace585..6097d2ecfd81 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorboardx/default.nix
@@ -2,88 +2,55 @@
 , buildPythonPackage
 , crc32c
 , fetchFromGitHub
-, fetchpatch
 , lib
 , matplotlib
 , moto
 , numpy
-, pillow
 , protobuf
 , pytestCheckHook
 , torch
-, six
+, setuptools-scm
 , soundfile
 , stdenv
 , tensorboard
 , torchvision
-, which
 }:
 
 buildPythonPackage rec {
   pname = "tensorboardx";
-  version = "2.5.1";
+  version = "2.6.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "lanpa";
     repo = "tensorboardX";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Np0Ibn51qL0ORwq1IY8lUle05MQDdb5XkI1uzGOKJno=";
+    hash = "sha256-m7RLDOMuRNLacnIudptBGjhcTlMk8+v/onz6Amqxb90=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-test-multiprocess-fork-on-darwin.patch";
-      url = "https://github.com/lanpa/tensorboardX/commit/246a867237ff12893351b9275a1e297ee2861319.patch";
-      hash = "sha256-ObUaIi1gFcGZAvDOEtZFd9TjZZUp3k89tYwmDQ5yOWg=";
-    })
-    # https://github.com/lanpa/tensorboardX/pull/706
-    (fetchpatch {
-      name = "fix-test-use-matplotlib-agg-backend.patch";
-      url = "https://github.com/lanpa/tensorboardX/commit/751821c7af7f7f2cb724938e36fa04e814c0e4de.patch";
-      hash = "sha256-Tu76ZRTh8fGj+/CzpqJO65hKrDFASbmzoLVIZ0kyLQA=";
-    })
-    # https://github.com/lanpa/tensorboardX/pull/707
-    (fetchpatch {
-      name = "fix-test-handle-numpy-float128-missing.patch";
-      url = "https://github.com/lanpa/tensorboardX/commit/38f57ffc3b3dd91e76b13ec97404278065fbc782.patch";
-      hash = "sha256-5Po41lHiO5hKi4ZtWR98/wwDe9HKZdADNTv40mgIEvk=";
-    })
-    # https://github.com/lanpa/tensorboardX/pull/708
-    (fetchpatch {
-      name = "fix-test-respect-tmpdir.patch";
-      url = "https://github.com/lanpa/tensorboardX/commit/b0191d1cfb8a23def76e465d20fd59302c894f32.patch";
-      hash = "sha256-6rSncJ16P1u70Cz9nObo8lMD7Go50BR3DZLgP4bODk4=";
-    })
-  ];
-
-  postPatch = ''
-    # Version detection seems broken here, the version reported by python is
-    # newer than the protobuf package itself.
-    sed -i -e "s/'protobuf[^']*'/'protobuf'/" setup.py
-  '';
-
   nativeBuildInputs = [
-    which
     protobuf
+    setuptools-scm
   ];
 
   # required to make tests deterministic
-  PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION = "python";
+  env.PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION = "python";
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   propagatedBuildInputs = [
     crc32c
     numpy
-    six
-    soundfile
   ];
 
+  pythonImportsCheck = [ "tensorboardX" ];
+
   nativeCheckInputs = [
     boto3
     matplotlib
     moto
-    pillow
     pytestCheckHook
+    soundfile
     torch
     tensorboard
     torchvision
@@ -107,7 +74,9 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Library for writing tensorboard-compatible logs";
-    homepage = "https://github.com/lanpa/tensorboardX";
+    homepage = "https://tensorboardx.readthedocs.io";
+    downloadPage = "https://github.com/lanpa/tensorboardX";
+    changelog = "https://github.com/lanpa/tensorboardX/blob/${src.rev}/HISTORY.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ lebastr akamaus ];
     platforms = platforms.all;
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix
index 7c5147c4e556..677afda4f1ff 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix
@@ -54,7 +54,7 @@ let
     LIBTOOL = lib.optionalString stdenv.isDarwin "${cctools}/bin/libtool";
 
     fetchAttrs = {
-      sha256 = "sha256-tMiZsX5OyVw6VVImn4nWwEFdBw+TKKbE7oACibQC0oA=";
+      sha256 = "sha256-XChXujA2XpnkybrraN3FIJA/QkxLCfX97id2jMFzFJk=";
     };
 
     buildAttrs = {
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
index 8d16f6921d2f..348f5197a9d6 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
@@ -448,7 +448,10 @@ let
       license = licenses.asl20;
       maintainers = with maintainers; [ abbradar ];
       platforms = with platforms; linux ++ darwin;
-      broken = !(xlaSupport -> cudaSupport) || python.pythonVersion == "3.11";
+      # More vulnerabilities in 2.11.1 really; https://github.com/tensorflow/tensorflow/releases
+      knownVulnerabilities = [ "CVE-2023-33976" ];
+      broken = true || # most likely needs dealing with protobuf/abseil updates
+        !(xlaSupport -> cudaSupport) || python.pythonVersion == "3.11";
     } // lib.optionalAttrs stdenv.isDarwin {
       timeout = 86400; # 24 hours
       maxSilent = 14400; # 4h, double the default of 7200s
diff --git a/nixpkgs/pkgs/development/python-modules/tensorstore/default.nix b/nixpkgs/pkgs/development/python-modules/tensorstore/default.nix
new file mode 100644
index 000000000000..5e8631062394
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tensorstore/default.nix
@@ -0,0 +1,53 @@
+{ autoPatchelfHook
+, buildPythonPackage
+, fetchPypi
+, lib
+, numpy
+, python
+, stdenv
+}:
+
+let
+  pythonVersionNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
+  systemToPlatform = {
+    "x86_64-linux" = "manylinux_2_17_x86_64.manylinux2014_x86_64";
+    "aarch64-darwin" = "macosx_11_0_arm64";
+  };
+  hashes = {
+    "310-x86_64-linux" = "sha256-Zuy2zBLV950CMbdtpLNpIWqnXHw2jkjrZG48eGtm42w=";
+    "311-x86_64-linux" = "sha256-Bg5j8QB5z8Ju4bEQsZDojJHTJ4UoQF1pkd4ma83Sc/s=";
+    "310-aarch64-darwin" = "sha256-6Tta4ru1TnobFa4FXWz8fm9rAxF0G09Y2Pj/KaQPVnE=";
+    "311-aarch64-darwin" = "sha256-Sb0tv9ZPQJ4n9b0ybpjJWpreQPZvSC5Sd7CXuUwHCn0=";
+  };
+in
+buildPythonPackage rec {
+  pname = "tensorstore";
+  version = "0.1.40";
+  format = "wheel";
+
+  # The source build involves some wonky Bazel stuff.
+  src = fetchPypi {
+    inherit pname version;
+    format = "wheel";
+    python = "cp${pythonVersionNoDot}";
+    abi = "cp${pythonVersionNoDot}";
+    dist = "cp${pythonVersionNoDot}";
+    platform = systemToPlatform.${stdenv.system} or (throw "unsupported system");
+    hash = hashes."${pythonVersionNoDot}-${stdenv.system}" or (throw "unsupported system/python version combination");
+  };
+
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
+
+  propagatedBuildInputs = [ numpy ];
+
+  pythonImportsCheck = [ "tensorstore" ];
+
+  meta = with lib; {
+    description = "Library for reading and writing large multi-dimensional arrays";
+    homepage = "https://google.github.io/tensorstore";
+    changelog = "https://github.com/google/tensorstore/releases/tag/v${version}";
+    license = licenses.asl20;
+    sourceProvenance = [ sourceTypes.binaryNativeCode ];
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/terminado/default.nix b/nixpkgs/pkgs/development/python-modules/terminado/default.nix
index 1031ff5b1423..3c75305e9078 100644
--- a/nixpkgs/pkgs/development/python-modules/terminado/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/terminado/default.nix
@@ -31,12 +31,13 @@ buildPythonPackage rec {
     "terminado"
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytest-timeout
     pytestCheckHook
   ];
 
-
   meta = with lib; {
     description = "Terminals served by Tornado websockets";
     homepage = "https://github.com/jupyter/terminado";
diff --git a/nixpkgs/pkgs/development/python-modules/textual/default.nix b/nixpkgs/pkgs/development/python-modules/textual/default.nix
index 99b71d277381..883c62d9049b 100644
--- a/nixpkgs/pkgs/development/python-modules/textual/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textual/default.nix
@@ -1,28 +1,28 @@
 { lib
+, aiohttp
 , buildPythonPackage
+, click
 , fetchFromGitHub
-, poetry-core
-, mkdocs-exclude
-, markdown-it-py
-, mdit-py-plugins
-, linkify-it-py
 , importlib-metadata
-, rich
-, typing-extensions
-, aiohttp
-, click
 , jinja2
+, linkify-it-py
+, markdown-it-py
+, mdit-py-plugins
+, mkdocs-exclude
 , msgpack
+, poetry-core
 , pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
+, rich
 , syrupy
 , time-machine
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "textual";
-  version = "0.28.1";
+  version = "0.33.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "Textualize";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-tSCMKM9Wv4crl6SLcIc2r6QY6U3RBTW8yfAjkYLV3eE=";
+    hash = "sha256-IhqUUsS1kCG/AwnbcLAhmQYLBSqf1ff0pD2xH4Tgdho=";
   };
 
   nativeBuildInputs = [
@@ -39,15 +39,15 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    rich
-    markdown-it-py
-    mdit-py-plugins
-    linkify-it-py
-    importlib-metadata
     aiohttp
     click
-    msgpack
+    importlib-metadata
+    linkify-it-py
+    markdown-it-py
+    mdit-py-plugins
     mkdocs-exclude
+    msgpack
+    rich
   ] ++ lib.optionals (pythonOlder "3.11") [
     typing-extensions
   ];
@@ -65,6 +65,12 @@ buildPythonPackage rec {
     "tests/snapshot_tests/test_snapshots.py"
   ];
 
+  disabledTests = [
+    # Assertion issues
+    "test_textual_env_var"
+    "test_softbreak_split_links_rendered_correctly"
+  ];
+
   pythonImportsCheck = [
     "textual"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/tifffile/default.nix b/nixpkgs/pkgs/development/python-modules/tifffile/default.nix
index c3a56f5c64ca..655f6b8eb107 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.4.12";
+  version = "2023.7.18";
   format = "setuptools";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-L6mfmJDKq5GdkyoKyqnQ9YQ9wu81lOISljky4gcTut0=";
+    hash = "sha256-WlpiSy96t/N+nsQXSuLfGAW5ZY+JAT+bS1VQZy9l8qE=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tiler/default.nix b/nixpkgs/pkgs/development/python-modules/tiler/default.nix
index 6158c77067e8..9de7bc0ec92f 100644
--- a/nixpkgs/pkgs/development/python-modules/tiler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tiler/default.nix
@@ -1,7 +1,10 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , setuptools
+, setuptools-scm
+, wheel
 , numpy
 , tqdm
 , pytestCheckHook
@@ -17,8 +20,19 @@ buildPythonPackage rec {
     hash = "sha256-2HWO/iJ9RCWNVmw2slu9F/+Mchk3evB5/F8EfbuMI/Y=";
   };
 
+  patches = [
+    # https://github.com/the-lay/tiler/pull/24
+    (fetchpatch {
+      name = "unpin-setuptools-scm-dependency.patch";
+      url = "https://github.com/the-lay/tiler/commit/7a9f7e32c5f9c263c1ae28bfd19c7539556684cb.patch";
+      hash = "sha256-TMr3LJtiKUxJv2pAzAd8CWs3AtWsF0YS79NzKBN5TKM=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/todoist-api-python/default.nix b/nixpkgs/pkgs/development/python-modules/todoist-api-python/default.nix
index ed7ae3ab0e71..823fee06a4ac 100644
--- a/nixpkgs/pkgs/development/python-modules/todoist-api-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/todoist-api-python/default.nix
@@ -1,5 +1,4 @@
 { lib
-, attrs
 , buildPythonPackage
 , fetchFromGitHub
 , fetchpatch
@@ -13,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "todoist-api-python";
-  version = "2.0.2";
+  version = "2.1.3";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "Doist";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-CKOsUb35+7WjSNf4Xo0SK5loIqWJbEnHdmhw9QXWFAI=";
+    hash = "sha256-Xi3B/Nl5bMbW0lYwrkEbBgFTEl07YkFyN18kN0WyGyw=";
   };
 
   patches = [
@@ -39,7 +38,6 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    attrs
     requests
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/todoist/default.nix b/nixpkgs/pkgs/development/python-modules/todoist/default.nix
index 611680d9734d..d3d93e79946b 100644
--- a/nixpkgs/pkgs/development/python-modules/todoist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/todoist/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "todoist-python";
-  version = "8.1.3";
+  version = "8.1.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-AFRKA5VRD6jyiguZYP7WOQOWqHq1GjUzbuez0f1070U=";
+    hash = "sha256-Rkg6eSLiQe8DZaVu2DEnlKLe8RLkRwKmpw+TaYj+lp0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix b/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix
index 861560c2aee0..605291edda0b 100644
--- a/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tomlkit/default.nix
@@ -1,28 +1,31 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy27
-, enum34
-, functools32, typing ? null
+
+# build-system
+, poetry-core
+
+# tests
 , pytestCheckHook
-, pyaml
+, pyyaml
 }:
 
 buildPythonPackage rec {
   pname = "tomlkit";
-  version = "0.11.6";
+  version = "0.12.1";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cblS5XIWiJN/sCz501TbzweFBmFJ0oVeRFMevdK2XXM=";
+    hash = "sha256-OOH/jtuZEnPsn2GBJEpqORrDDp9QmOdTVkDqa+l6fIY=";
   };
 
-  propagatedBuildInputs =
-    lib.optionals isPy27 [ enum34 functools32 ]
-    ++ lib.optional isPy27 typing;
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   nativeCheckInputs = [
-    pyaml
+    pyyaml
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/torch/default.nix b/nixpkgs/pkgs/development/python-modules/torch/default.nix
index 912628bf9497..6e56df8b183d 100644
--- a/nixpkgs/pkgs/development/python-modules/torch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torch/default.nix
@@ -68,7 +68,7 @@ let
   # https://github.com/pytorch/pytorch/blob/v2.0.1/torch/utils/cpp_extension.py#L1744
   supportedTorchCudaCapabilities =
     let
-      real = ["3.5" "3.7" "5.0" "5.2" "5.3" "6.0" "6.1" "6.2" "7.0" "7.2" "7.5" "8.0" "8.6" "8.9" "9.0"];
+      real = ["3.5" "3.7" "5.0" "5.2" "5.3" "6.0" "6.1" "6.2" "7.0" "7.2" "7.5" "8.0" "8.6" "8.7" "8.9" "9.0"];
       ptx = lists.map (x: "${x}+PTX") real;
     in
     real ++ ptx;
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 aea8fee410ad..4c8967a38802 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.0";
+  version = "1.3.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "tplink_omada_client";
     inherit version;
-    hash = "sha256-+6HEJBMYaw/8VTdl3YK5uaAYTiyhqe1Zvuxsk2ltci8=";
+    hash = "sha256-Jo0p/28Hzokeq0SAdyWfkKzoscVkQj9kP3VnRlWjR8o=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tpm2-pytss/default.nix b/nixpkgs/pkgs/development/python-modules/tpm2-pytss/default.nix
index b732988db39d..b468e499f52a 100644
--- a/nixpkgs/pkgs/development/python-modules/tpm2-pytss/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tpm2-pytss/default.nix
@@ -49,6 +49,12 @@ buildPythonPackage rec {
       sha256 = "sha256-VFq3Hv4I8U8ifP/aSjyu0BiW/4jfPlRDKqRcqUGw6UQ=";
     })
 
+    (fetchpatch {
+      name = "test-new-cryptography.patch";
+      url = "https://github.com/tpm2-software/tpm2-pytss/commit/e4006e6066c015d9ed55befa9b98247fbdcafd7d.diff";
+      sha256 = "sha256-Wxe9u7Cvv2vKMGTcK3X8W1Mq/nCt70zrzWUKA+83Sas=";
+    })
+
     # Fix hardcoded `fapi-config.json` configuration path
     ./fapi-config.patch
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/tracerite/default.nix b/nixpkgs/pkgs/development/python-modules/tracerite/default.nix
new file mode 100644
index 000000000000..e94e8a8d1d95
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/tracerite/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools-scm
+, html5tagger
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "tracerite";
+  version = "1.1.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "sanic-org";
+    repo = "tracerite";
+    rev = "v${version}";
+    hash = "sha256-At8wVR3EcHEi051BBfjb+sOhs93GyzWlEAjtehTMeNU=";
+  };
+
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    html5tagger
+  ];
+
+  postInstall = ''
+    cp tracerite/style.css $out/${python.sitePackages}/tracerite
+  '';
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "tracerite"
+  ];
+
+  meta = with lib; {
+    description = "Tracebacks for Humans (in Jupyter notebooks";
+    homepage = "https://github.com/sanic-org/tracerite";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/traitlets/default.nix b/nixpkgs/pkgs/development/python-modules/traitlets/default.nix
index e3f6f5e7bfb0..aa37946026f9 100644
--- a/nixpkgs/pkgs/development/python-modules/traitlets/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/traitlets/default.nix
@@ -1,13 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, glibcLocales
-, pytest
-, mock
-, ipython_genutils
-, decorator
+, pytestCheckHook
 , pythonOlder
-, six
 , hatchling
 }:
 
@@ -23,16 +18,12 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [ hatchling ];
-  nativeCheckInputs = [ glibcLocales pytest mock ];
-  propagatedBuildInputs = [ ipython_genutils decorator six ];
 
-  checkPhase = ''
-    LC_ALL="en_US.UTF-8" py.test
-  '';
+  nativeCheckInputs = [ pytestCheckHook ];
 
   meta = {
     description = "Traitlets Python config system";
-    homepage = "https://ipython.org/";
+    homepage = "https://github.com/ipython/traitlets";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ fridh ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/traits/default.nix b/nixpkgs/pkgs/development/python-modules/traits/default.nix
index 36aa31086929..eeb04ba23477 100644
--- a/nixpkgs/pkgs/development/python-modules/traits/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/traits/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "traits";
-  version = "6.4.1";
+  version = "6.4.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-eLssyv1gr/YGUVqsRt5kZooKgctcVMZQuYd6hBqp6BI=";
+    hash = "sha256-W+fMX7epnLp+kBR4Y3PjrS9177RF7s7QlGVLuvOw+oI=";
   };
 
   # Circular dependency
diff --git a/nixpkgs/pkgs/development/python-modules/treeo/default.nix b/nixpkgs/pkgs/development/python-modules/treeo/default.nix
index 30a90bd36eea..1560e1810ba6 100644
--- a/nixpkgs/pkgs/development/python-modules/treeo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/treeo/default.nix
@@ -53,5 +53,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/cgarciae/treeo";
     license = licenses.mit;
     maintainers = with maintainers; [ ndl ];
+    # obsolete as of 2023-02-27 and not updated for more than a year as of 2023-08
+    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
index 4167a92e7ec3..1482d0a6589f 100644
--- a/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trimesh/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.23.0";
+  version = "3.23.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TjnN5gqzhsN2S/Acqio5pH33RW/Zp3acolI+B+sSaRA=";
+    hash = "sha256-61nMytrqc7w7IbO7TX7H4O4DYoVL9MTBasN3UDx492w=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/trio/default.nix b/nixpkgs/pkgs/development/python-modules/trio/default.nix
index 194dc3f71856..fb985e890a77 100644
--- a/nixpkgs/pkgs/development/python-modules/trio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trio/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchPypi, pythonOlder
 , attrs
 , sortedcontainers
-, async_generator
+, async-generator
 , exceptiongroup
 , idna
 , outcome
@@ -30,7 +30,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     attrs
     sortedcontainers
-    async_generator
+    async-generator
     idna
     outcome
     sniffio
diff --git a/nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix b/nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix
index 911ab5a777b7..7cd0dd7ca8a5 100644
--- a/nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/trove-classifiers/default.nix
@@ -6,33 +6,45 @@
 , pythonOlder
 }:
 
-buildPythonPackage rec {
-  pname = "trove-classifiers";
-  version = "2023.7.6";
-  format = "setuptools";
+let
+  self = buildPythonPackage rec {
+    pname = "trove-classifiers";
+    version = "2023.7.6";
+    format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+    disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-io4Wi1HSD+1gcEODHTdjK7UJGdHICmTg8Tk3RGkaiyI=";
-  };
+    src = fetchPypi {
+      inherit pname version;
+      hash = "sha256-io4Wi1HSD+1gcEODHTdjK7UJGdHICmTg8Tk3RGkaiyI=";
+    };
+
+    postPatch = ''
+      substituteInPlace setup.py \
+        --replace '"calver"' ""
+    '';
+
+    nativeBuildInputs = [
+      calver
+    ];
+
+    doCheck = false; # avoid infinite recursion with hatchling
 
-  nativeBuildInputs = [
-    calver
-  ];
+    nativeCheckInputs = [
+      pytestCheckHook
+    ];
 
-  nativeCheckInputs = [
-    pytestCheckHook
-  ];
+    pythonImportsCheck = [ "trove_classifiers" ];
 
-  pythonImportsCheck = [ "trove_classifiers" ];
+    passthru.tests.trove-classifiers = self.overridePythonAttrs { doCheck = true; };
 
-  meta = {
-    description = "Canonical source for classifiers on PyPI";
-    homepage = "https://github.com/pypa/trove-classifiers";
-    changelog = "https://github.com/pypa/trove-classifiers/releases/tag/${version}";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ dotlambda ];
+    meta = {
+      description = "Canonical source for classifiers on PyPI";
+      homepage = "https://github.com/pypa/trove-classifiers";
+      changelog = "https://github.com/pypa/trove-classifiers/releases/tag/${version}";
+      license = lib.licenses.asl20;
+      maintainers = with lib.maintainers; [ dotlambda ];
+    };
   };
-}
+in
+  self
diff --git a/nixpkgs/pkgs/development/python-modules/truststore/default.nix b/nixpkgs/pkgs/development/python-modules/truststore/default.nix
new file mode 100644
index 000000000000..d5b5bbb0b70c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/truststore/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flit-core
+, aiohttp
+, httpx
+, pyopenssl
+, requests
+, trustme
+}:
+
+buildPythonPackage rec {
+  pname = "truststore";
+  version = "0.7.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "sethmlarson";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-Q3HSHcqoG2DEXujL05lj3GLNu4jJ61i7VFxMou8c0cE=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    httpx
+    pyopenssl
+    requests
+    trustme
+  ];
+
+  # tests requires networking
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/sethmlarson/truststore";
+    description = "Verify certificates using native system trust stores";
+    changelog = "https://github.com/sethmlarson/truststore/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ anthonyroussel ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/trytond/default.nix b/nixpkgs/pkgs/development/python-modules/trytond/default.nix
index 00c92181aec3..f2cb97b1fd73 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.2";
+  version = "6.8.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iz5XGEhIDnrIjnm0rBpUiGfgv4PWUCSQb+noPQqUsjc=";
+    hash = "sha256-n0Fdu2IjdyAt9qJ40l9kVRbV8NMXU1R5aR+9rmXEgC8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tubeup/default.nix b/nixpkgs/pkgs/development/python-modules/tubeup/default.nix
index af9e8f677061..58ae2d387b44 100644
--- a/nixpkgs/pkgs/development/python-modules/tubeup/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tubeup/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "tubeup";
-  version = "2023.7.23";
+  version = "2023.8.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-lI+Ws1uVC8cnRERmfY7j5vPjQGEAH6zef7nBnd/hC+I=";
+    sha256 = "sha256-nL0oXI06qH0K0LLlrT/jdJ+76ZPMUhaFfOYGi71M3PM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/twilio/default.nix b/nixpkgs/pkgs/development/python-modules/twilio/default.nix
index 81b2f1afd141..fadf2ef3818c 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.5.0";
+  version = "8.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-tU4nyjo1DC7F2UvaV6Hn/Nqxbm8OR1E1qtUGMVgZ8U8=";
+    hash = "sha256-ATspn/cY9DJahcsesnzwDOCEKYoUbqSoeOR3+kLou0s=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/twisted/default.nix b/nixpkgs/pkgs/development/python-modules/twisted/default.nix
index 7b12ef05facc..582a9e0f5636 100644
--- a/nixpkgs/pkgs/development/python-modules/twisted/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twisted/default.nix
@@ -111,6 +111,7 @@ buildPythonPackage rec {
     echo 'ListingTests.test_oldFile.skip = "Timezone issue"'>> src/twisted/conch/test/test_cftp.py
     echo 'ListingTests.test_oldSingleDigitDayOfMonth.skip = "Timezone issue"'>> src/twisted/conch/test/test_cftp.py
 
+    echo 'WrapClientTLSParserTests.test_tls.skip = "pyopenssl update"' >> src/twisted/internet/test/test_endpoints.py
     echo 'UNIXTestsBuilder_AsyncioSelectorReactorTests.test_sendFileDescriptorTriggersPauseProducing.skip = "sendFileDescriptor producer was not paused"'>> src/twisted/internet/test/test_unix.py
     echo 'UNIXTestsBuilder_SelectReactorTests.test_sendFileDescriptorTriggersPauseProducing.skip = "sendFileDescriptor producer was not paused"'>> src/twisted/internet/test/test_unix.py
 
diff --git a/nixpkgs/pkgs/development/python-modules/txtai/default.nix b/nixpkgs/pkgs/development/python-modules/txtai/default.nix
index acf1db58d2a6..1d4413a6dce9 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 = "5.5.1";
+  version = "6.0.0";
   api = [ aiohttp fastapi uvicorn ];
   # cloud = [ apache-libcloud ];
   console = [ rich ];
@@ -104,8 +104,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "neuml";
     repo = "txtai";
-    rev = "v${version}";
-    hash = "sha256-h6TwWzLYfFg5x2QMIstAZ5pkxfHobBU+b4gb0HiayzY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-lGRdSUSQGdxe+I4WrUkE4hIyyJ1HcFn3cXO3zd27fsM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/typer/default.nix b/nixpkgs/pkgs/development/python-modules/typer/default.nix
index e5676eba4679..b072f3a6d8ca 100644
--- a/nixpkgs/pkgs/development/python-modules/typer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typer/default.nix
@@ -28,6 +28,15 @@ buildPythonPackage rec {
     hash = "sha256-UJIv15rqL0dRqOBAj/ENJmK9DIu/qEdVppnzutopeLI=";
   };
 
+  patches = [
+    # https://github.com/tiangolo/typer/pull/651
+    (fetchpatch {
+      name = "unpin-flit-core-dependency.patch";
+      url = "https://github.com/tiangolo/typer/commit/78a0ee2eec9f54ad496420e177fdaad84984def1.patch";
+      hash = "sha256-VVUzFvF2KCXXkCfCU5xu9acT6OLr+PlQQPeVGONtU4A=";
+    })
+  ];
+
   nativeBuildInputs = [
     flit-core
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix b/nixpkgs/pkgs/development/python-modules/types-pytz/default.nix
index dabefd41468e..9d3fed278dca 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.0.0";
+  version = "2023.3.0.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7Nxw1UOq82FqfkhjFUOohPdCBfKEzv1mSd30TGqCCqw=";
+    hash = "sha256-GnuNSqxwmBz6JEeKQerfzZagh8mG1vFQ13486zwr36s=";
   };
 
   # 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 e191d56d69d5..8275ed31f944 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.3";
+  version = "4.6.0.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-797zfcDAS/V4YZVlH9aU+L/daT6sCexK9G2Q9yZSVY8=";
+    hash = "sha256-xHWp089z3WlsOIfTBkQyP8VvXgCvlhUQNbO1tSh1ybM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-ujson/default.nix b/nixpkgs/pkgs/development/python-modules/types-ujson/default.nix
index 45737880fe24..8819dec4220e 100644
--- a/nixpkgs/pkgs/development/python-modules/types-ujson/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-ujson/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-ujson";
-  version = "5.8.0.0";
+  version = "5.8.0.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KFao0Ig0db7IDBrHcsAG6mkSFcxV3tIWR7XIfIYknLs=";
+    hash = "sha256-KxQ4gkirTNH176jEZHYREll8zVfA2EI49zYxq+DiDP0=";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix b/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix
index de6512b3e41b..72302723c855 100644
--- a/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typing-extensions/default.nix
@@ -8,15 +8,15 @@
 
 buildPythonPackage rec {
   pname = "typing-extensions";
-  version = "4.5.0";
+  version = "4.7.1";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "typing_extensions";
     inherit version;
-    hash = "sha256-XLX0p5E51plgez72IqHe2vqE4RWrACTg2cBEqUecp8s=";
+    hash = "sha256-t13cJk8LpWFdt7ohfa65lwGtKVNTxF+elZYzN87u/7I=";
   };
 
   nativeBuildInputs = [
@@ -32,7 +32,8 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Backported and Experimental Type Hints for Python 3.5+";
+    description = "Backported and Experimental Type Hints for Python";
+    changelog = "https://github.com/python/typing_extensions/blob/${version}/CHANGELOG.md";
     homepage = "https://github.com/python/typing";
     license = licenses.psfl;
     maintainers = with maintainers; [ pmiddend ];
diff --git a/nixpkgs/pkgs/development/python-modules/typing-inspect/default.nix b/nixpkgs/pkgs/development/python-modules/typing-inspect/default.nix
index a5d27c1f71bb..59eb74554788 100644
--- a/nixpkgs/pkgs/development/python-modules/typing-inspect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/typing-inspect/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "typing-inspect";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit version;
     pname = "typing_inspect";
-    hash = "sha256-ix/wxACUO2FF34EZxBwkTKggfx8QycBXru0VYOSAbj0=";
+    hash = "sha256-sj/EL/b272lU5IUsH7USzdGNvqAxNPkfhWqVzMlGH3g=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix b/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix
index 392e8e899240..5b32b4343a05 100644
--- a/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tzlocal/default.nix
@@ -3,6 +3,8 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
+, setuptools
+, wheel
 , pytz-deprecation-shim
 , pytest-mock
 , pytestCheckHook
@@ -10,15 +12,22 @@
 
 buildPythonPackage rec {
   pname = "tzlocal";
-  version = "4.2"; # version needs to be compatible with APScheduler
+  version = "4.3"; # version needs to be compatible with APScheduler
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee5842fa3a795f023514ac2d801c4a81d1743bbe642e3940143326b3a00addd7";
+    hash = "sha256-PyHQnhsqqfLazKEtokDKN947pSN6k63f1tWTr+kHM1U=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     pytz-deprecation-shim
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix b/nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix
index 2573bdc51ece..b93552c4e07f 100644
--- a/nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uharfbuzz/default.nix
@@ -11,18 +11,17 @@
 
 buildPythonPackage rec {
   pname = "uharfbuzz";
-  version = "0.24.1";
+  version = "0.37.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
-  # Fetching from GitHub as Pypi contains different versions
   src = fetchFromGitHub {
     owner = "harfbuzz";
     repo = "uharfbuzz";
     rev = "v${version}";
-    hash = "sha256-DyFXbwB28JH2lvmWDezRh49tjCvleviUNSE5LHG3kUg=";
     fetchSubmodules = true;
+    hash = "sha256-CZp+/5fG5IBawnIZLeO9lXke8rodqRcSf+ofyF584mc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -44,6 +43,6 @@ buildPythonPackage rec {
     description = "Streamlined Cython bindings for the harfbuzz shaping engine";
     homepage = "https://github.com/harfbuzz/uharfbuzz";
     license = licenses.asl20;
-    maintainers = with maintainers; [ wolfangaukang ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/umodbus/default.nix b/nixpkgs/pkgs/development/python-modules/umodbus/default.nix
index 331a4b1306d2..7ce499734203 100644
--- a/nixpkgs/pkgs/development/python-modules/umodbus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/umodbus/default.nix
@@ -25,6 +25,8 @@ buildPythonPackage rec {
     pyserial
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/unearth/default.nix b/nixpkgs/pkgs/development/python-modules/unearth/default.nix
index cf9e95e41bb2..f1a61014e496 100644
--- a/nixpkgs/pkgs/development/python-modules/unearth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unearth/default.nix
@@ -36,6 +36,8 @@ buildPythonPackage rec {
     cached-property
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     flask
     pytest-httpserver
diff --git a/nixpkgs/pkgs/development/python-modules/unidic/default.nix b/nixpkgs/pkgs/development/python-modules/unidic/default.nix
new file mode 100644
index 000000000000..c138ea8e8d0c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/unidic/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, mecab
+, setuptools-scm
+, requests
+, tqdm
+, wasabi
+, plac
+, cython
+, platformdirs
+}:
+
+buildPythonPackage rec {
+  pname = "unidic";
+  version = "1.1.0";
+  format = "setuptools";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "polm";
+    repo = "unidic-py";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-srhQDXGgoIMhYuCbyQB3kF4LrODnoOqLbjBQMvhPieY=";
+  };
+
+  patches = [ ./fix-download-directory.patch ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "wasabi>=0.6.0,<1.0.0" "wasabi"
+  '';
+
+  # no tests
+  doCheck = false;
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  propagatedBuildInputs = [ requests tqdm wasabi plac platformdirs ];
+
+  nativeBuildInputs = [ cython mecab setuptools-scm ];
+
+  pythonImportsCheck = [ "unidic" ];
+
+  meta = with lib; {
+    description = "Contemporary Written Japanese dictionary";
+    homepage = "https://github.com/polm/unidic-py";
+    license = licenses.mit;
+    maintainers = with maintainers; [ laurent-f1z1 ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/unidic/fix-download-directory.patch b/nixpkgs/pkgs/development/python-modules/unidic/fix-download-directory.patch
new file mode 100644
index 000000000000..d7e106072979
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/unidic/fix-download-directory.patch
@@ -0,0 +1,23 @@
+diff --git a/unidic/download.py b/unidic/download.py
+index 445ce55..d488bd6 100644
+--- a/unidic/download.py
++++ b/unidic/download.py
+@@ -6,6 +6,8 @@ import sys
+ from wasabi import msg
+ from urllib.request import urlretrieve
+ from tqdm import tqdm
++from platformdirs import user_cache_dir
++from pathlib import Path
+ 
+ # This is used to show progress when downloading.
+ # see here: https://github.com/tqdm/tqdm#hooks-and-callbacks
+@@ -56,7 +58,8 @@ def download_and_clean(version, url, dirname='unidic', delfiles=[]):
+     This downloads the zip file from the source, extracts it, renames the
+     resulting directory, and removes large files not used at runtime.  
+     """
+-    cdir = os.path.dirname(os.path.abspath(__file__))
++    cdir = Path(user_cache_dir('unidic-py'))
++    cdir.mkdir(parents=True, exist_ok=True)
+     fname = os.path.join(cdir, 'unidic.zip')
+     print("Downloading UniDic v{}...".format(version), file=sys.stderr)
+     download_progress(url, fname)
diff --git a/nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix b/nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix
index 0d60a6b50c07..802844afb65d 100644
--- a/nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/universal-pathlib/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "universal-pathlib";
-  version = "0.1.0";
+  version = "0.1.1";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "universal_pathlib";
     inherit version;
-    hash = "sha256-LqzljIZUZh8zHvcyBqFHBbunpJVYFpk6mfuesVGyojg=";
+    hash = "sha256-UhTIbyEP6rm+W8wALwQtZeruw8CTP9ZlpDNstw6GxZ0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/unstructured/default.nix b/nixpkgs/pkgs/development/python-modules/unstructured/default.nix
index 542e6f0adc27..02b060c790f4 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.8.1";
+  version = "0.9.1";
   optional-dependencies = {
     huggingflace = [
       langdetect
@@ -89,8 +89,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "Unstructured-IO";
     repo = "unstructured";
-    rev = version;
-    hash = "sha256-I9pRycg3uGn7Xfd4YGxic16SXi8+gslsIVarzDT8X2w=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-9O/rZ07vZC0XN5XgevFvWuG8gwyTM+gfn+OqgaIHld8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/upcloud-api/default.nix b/nixpkgs/pkgs/development/python-modules/upcloud-api/default.nix
index 94ac09bff63f..5c0409be3728 100644
--- a/nixpkgs/pkgs/development/python-modules/upcloud-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/upcloud-api/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "upcloud-api";
-  version = "2.0.1";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "UpCloudLtd";
     repo = "upcloud-python-api";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-thmrbCpGjlDkHIZwIjRgIVMplaypiKByFS/nS8F2LXA=";
+    hash = "sha256-35vPODc/oL+JPMnStFutIRYVTUkYAXKRt/KXBW0Yc+U=";
   };
 
   propagatedBuildInputs = [
@@ -29,6 +29,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "upcloud_api" ];
 
   meta = with lib; {
+    changelog = "https://github.com/UpCloudLtd/upcloud-python-api/blob/${src.rev}/CHANGELOG.md";
     description = "UpCloud API Client";
     homepage = "https://github.com/UpCloudLtd/upcloud-python-api";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
index cd7496d636d0..13ef39be76db 100644
--- a/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/urllib3/default.nix
@@ -20,12 +20,12 @@
 
 buildPythonPackage rec {
   pname = "urllib3";
-  version = "1.26.14";
+  version = "1.26.16";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-B2kHv4/TVc3ndyhHExZiWk0vfnE8El9RlTu1s+7PT3I=";
+    hash = "sha256-jxNfZQJ1a95rKpsomJ31++h8mXDOyqaQQe3M5/BYmxQ=";
   };
 
   # FIXME: remove backwards compatbility hack
diff --git a/nixpkgs/pkgs/development/python-modules/usort/default.nix b/nixpkgs/pkgs/development/python-modules/usort/default.nix
index 2f61e8847ac6..d8369260587e 100644
--- a/nixpkgs/pkgs/development/python-modules/usort/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/usort/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "usort";
-  version = "1.1.0b2";
+  version = "1.0.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "facebook";
     repo = "usort";
     rev = "refs/tags/v${version}";
-    hash = "sha256-c3gQ+f/BRgM+Nwc+mEP7dcmig7ws7FqL5zwQhNJJlsI=";
+    hash = "sha256-emnrghdsUs+VfvYiJExG13SKQNrXAEtGNAJQLScADnw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix b/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
index e48536e66359..9baa150afb71 100644
--- a/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/uvicorn/default.nix
@@ -17,8 +17,8 @@
 
 buildPythonPackage rec {
   pname = "uvicorn";
-  version = "0.20.0";
-  disabled = pythonOlder "3.7";
+  version = "0.23.1";
+  disabled = pythonOlder "3.8";
 
   format = "pyproject";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = version;
-    hash = "sha256-yca6JI3/aqdZF7SxFeYr84GOeQnLBmbm1dIXjngX9Ng=";
+    hash = "sha256-X/G6K0X4G1EsMIBpvqy62zZ++8paTHNqgYLi+B7YK+0=";
   };
 
   outputs = [
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     click
     h11
-  ] ++ lib.optionals (pythonOlder "3.8") [
+  ] ++ lib.optionals (pythonOlder "3.11") [
     typing-extensions
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/uvicorn/tests.nix b/nixpkgs/pkgs/development/python-modules/uvicorn/tests.nix
index 4ada58e1d992..805e8df1c710 100644
--- a/nixpkgs/pkgs/development/python-modules/uvicorn/tests.nix
+++ b/nixpkgs/pkgs/development/python-modules/uvicorn/tests.nix
@@ -1,12 +1,10 @@
 { stdenv
 , buildPythonPackage
-, asgiref
+, a2wsgi
 , uvicorn
 , httpx
-, pytest-asyncio
 , pytestCheckHook
 , pytest-mock
-, requests
 , trustme
 , watchgod
 , wsproto
@@ -23,16 +21,14 @@ buildPythonPackage {
   dontInstall = true;
 
   nativeCheckInputs = [
-    asgiref
     uvicorn
     httpx
     pytestCheckHook
-    pytest-asyncio
     pytest-mock
-    requests
     trustme
 
     # strictly optional dependencies
+    a2wsgi
     watchgod
     wsproto
   ]
diff --git a/nixpkgs/pkgs/development/python-modules/validators/default.nix b/nixpkgs/pkgs/development/python-modules/validators/default.nix
index 2f562a02ffdd..1c0131c0549d 100644
--- a/nixpkgs/pkgs/development/python-modules/validators/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/validators/default.nix
@@ -1,35 +1,42 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, isPy27
-, decorator
-, six
+, fetchFromGitHub
+, poetry-core
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "validators";
-  version = "0.20.0";
-  disabled = isPy27;
+  version = "0.21.1";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-JBSM5OZBAKLV4mcjPiPnr+tVMWtH0w+q5+tucpK8Imo=";
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "python-validators";
+    repo = "validators";
+    rev = "refs/tags/${version}";
+    hash = "sha256-b5K1WP+cEAjPBXu9sAZQf1J5H7PLnn94400Zd/0Y9ew=";
   };
 
-  propagatedBuildInputs = [
-    decorator
-    six
+  nativeBuildInputs = [
+    poetry-core
   ];
 
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "validators"
+  ];
+
   meta = with lib; {
-    description = "Python Data Validation for Humans™";
-    homepage = "https://github.com/kvesteri/validators";
-    license = licenses.bsd3;
+    description = "Python Data Validation for Humans";
+    homepage = "https://github.com/python-validators/validators";
+    changelog = "https://github.com/python-validators/validators/blob/${version}/CHANGES.md";
+    license = licenses.mit;
     maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/vcard/default.nix b/nixpkgs/pkgs/development/python-modules/vcard/default.nix
index d984e7c106cc..5e83f498722b 100644
--- a/nixpkgs/pkgs/development/python-modules/vcard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vcard/default.nix
@@ -28,7 +28,11 @@ buildPythonPackage rec {
   meta = {
     homepage = "https://gitlab.com/engmark/vcard";
     description = "vCard validator, class and utility functions";
+    longDescription = ''
+      This program can be used for strict validation and parsing of vCards. It currently supports vCard 3.0 (RFC 2426).
+    '';
     license = lib.licenses.agpl3Plus;
+    mainProgram = "vcard";
     maintainers = [ lib.maintainers.l0b0 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix b/nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix
index 9bddbcf39a3c..f1dc4418b268 100644
--- a/nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix
@@ -11,7 +11,9 @@
 , hypothesis
 , pytestCheckHook
 , pytest-subtesthack
+, setuptools
 , setuptools-scm
+, wheel
 , aiostream
 , aiohttp-oauthlib
 , aiohttp
@@ -38,6 +40,12 @@ buildPythonPackage rec {
     sed -i -e '/--cov/d' -e '/--no-cov/d' pyproject.toml
   '';
 
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+  ];
+
   propagatedBuildInputs = [
     atomicwrites
     click
diff --git a/nixpkgs/pkgs/development/python-modules/vega/default.nix b/nixpkgs/pkgs/development/python-modules/vega/default.nix
index 57f9e18486f3..b071612562aa 100644
--- a/nixpkgs/pkgs/development/python-modules/vega/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vega/default.nix
@@ -1,20 +1,71 @@
-{ lib, buildPythonPackage , fetchPypi, pythonOlder
-, jupyter-core, pandas, ipywidgets, jupyter }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pythonRelaxDepsHook
+, altair
+, ipytablewidgets
+, ipywidgets
+, jupyter
+, jupyter-core
+, jupyterlab
+, pandas
+, poetry-core
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "vega";
-  version = "3.6.0";
-  disabled = pythonOlder "3.6";
+  version = "4.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cO+7Ynbv/+uoNUOPQvDNZji04llHUBlm95Cyfy+Ny80=";
+    hash = "sha256-v1/8taHdN1n9+gy7L+g/wAJ2x9FwYCaxZiEdFqLct1Y=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "poetry.masonry.api" "poetry.core.masonry.api"
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "pandas"
+  ];
+
+  propagatedBuildInputs = [
+    ipytablewidgets
+    jupyter
+    jupyter-core
+    pandas
+  ];
+
+  passthru.optional-dependencies = {
+    widget = [
+      ipywidgets
+    ];
+    jupyterlab = [
+      jupyterlab
+    ];
   };
 
-  propagatedBuildInputs = [ jupyter jupyter-core pandas ipywidgets ];
+  nativeCheckInputs = [
+    altair
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # these tests are broken with jupyter-notebook >= 7
+    "vega/tests/test_entrypoint.py"
+  ];
 
-  # currently, recommonmark is broken on python3
-  doCheck = false;
   pythonImportsCheck = [ "vega" ];
 
   meta = with lib; {
@@ -28,6 +79,5 @@ buildPythonPackage rec {
     homepage = "https://github.com/vega/ipyvega";
     license = licenses.bsd3;
     maintainers = with maintainers; [ teh ];
-    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/versioneer/default.nix b/nixpkgs/pkgs/development/python-modules/versioneer/default.nix
index 9a45044f9a07..3962b608ca3a 100644
--- a/nixpkgs/pkgs/development/python-modules/versioneer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/versioneer/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "versioneer";
-  version = "0.28";
+  version = "0.29";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "python-versioneer";
     repo = "python-versioneer";
     rev = "refs/tags/${version}";
-    hash = "sha256-Jy0c1I3kLgJAeGWzcgl5qVAWesf4EXaMIOW03B+1yWE=";
+    hash = "sha256-seYT/v691QB0LUzeI4MraegbNILU3tLO//9UbZIfe+A=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/versionfinder/default.nix b/nixpkgs/pkgs/development/python-modules/versionfinder/default.nix
index 3e2d01b5ebfb..1930b14edad6 100644
--- a/nixpkgs/pkgs/development/python-modules/versionfinder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/versionfinder/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , gitpython
+, pip
 , pytestCheckHook
 , pythonOlder
 , requests
@@ -28,6 +29,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    pip
     pytestCheckHook
     requests
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix b/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
index 047b37a53386..1787063f2aea 100644
--- a/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "vertica-python";
-  version = "1.3.2";
+  version = "1.3.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NmTwYQwWzV1ga4u+XApQNZsel52Tg8B5Z7vUnUmQoC8=";
+    hash = "sha256-2TyJs0GdYTZWJR66IV6XuBR4b3aRi9KhFy/4ji1c6NU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/virtualenv/0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch b/nixpkgs/pkgs/development/python-modules/virtualenv/0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch
deleted file mode 100644
index 2b34da289e2d..000000000000
--- a/nixpkgs/pkgs/development/python-modules/virtualenv/0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 21563405d6e2348ee457187f7fb61beb102bb367 Mon Sep 17 00:00:00 2001
-From: Frederik Rietdijk <fridh@fridh.nl>
-Date: Sun, 24 May 2020 09:33:13 +0200
-Subject: [PATCH] Check base_prefix and base_exec_prefix for Python 2
-
-This is a Nixpkgs-specific change so it can support virtualenvs from Nix envs.
----
- src/virtualenv/discovery/py_info.py | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/virtualenv/discovery/py_info.py b/src/virtualenv/discovery/py_info.py
-index 6f12128..74e9218 100644
---- a/src/virtualenv/discovery/py_info.py
-+++ b/src/virtualenv/discovery/py_info.py
-@@ -51,13 +51,17 @@ class PythonInfo(object):
-         self.version = u(sys.version)
-         self.os = u(os.name)
- 
-+        config_vars = {} if sys.version_info.major is not 2 else sysconfig._CONFIG_VARS
-+        base_prefix = config_vars.get("prefix")
-+        base_exec_prefix = config_vars.get("exec_prefix")
-+
-         # information about the prefix - determines python home
-         self.prefix = u(abs_path(getattr(sys, "prefix", None)))  # prefix we think
--        self.base_prefix = u(abs_path(getattr(sys, "base_prefix", None)))  # venv
-+        self.base_prefix = u(abs_path(getattr(sys, "base_prefix", base_prefix)))  # venv
-         self.real_prefix = u(abs_path(getattr(sys, "real_prefix", None)))  # old virtualenv
- 
-         # information about the exec prefix - dynamic stdlib modules
--        self.base_exec_prefix = u(abs_path(getattr(sys, "base_exec_prefix", None)))
-+        self.base_exec_prefix = u(abs_path(getattr(sys, "base_exec_prefix", base_exec_prefix)))
-         self.exec_prefix = u(abs_path(getattr(sys, "exec_prefix", None)))
- 
-         self.executable = u(abs_path(sys.executable))  # the executable we were invoked via
--- 
-2.25.1
-
diff --git a/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix b/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
index 28100b8c55e7..10602bfd4f3a 100644
--- a/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/virtualenv/default.nix
@@ -11,24 +11,24 @@
 , hatch-vcs
 , hatchling
 , importlib-metadata
-, importlib-resources
 , platformdirs
 , pytest-freezegun
 , pytest-mock
 , pytest-timeout
 , pytestCheckHook
+, time-machine
 }:
 
 buildPythonPackage rec {
   pname = "virtualenv";
-  version = "20.19.0";
+  version = "20.24.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-N6ZAuoLtQLImWZxSLUEeS+XtszmgwN4DDA3HtkbWFZA=";
+    hash = "sha256-4qfO+dqIDWk7kz23ZUNndU8U4gZQ3GDo7nOFVx+Fk6M=";
   };
 
   nativeBuildInputs = [
@@ -40,16 +40,10 @@ buildPythonPackage rec {
     distlib
     filelock
     platformdirs
-  ] ++ lib.optionals (pythonOlder "3.7") [
-    importlib-resources
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
   ];
 
-  patches = lib.optionals (isPy27) [
-    ./0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch
-  ];
-
   nativeCheckInputs = [
     cython
     flaky
@@ -57,6 +51,8 @@ buildPythonPackage rec {
     pytest-mock
     pytest-timeout
     pytestCheckHook
+  ] ++ lib.optionals (!isPyPy) [
+    time-machine
   ];
 
   preCheck = ''
@@ -91,7 +87,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A tool to create isolated Python environments";
     homepage = "http://www.virtualenv.org";
-    changelog = "https://github.com/pypa/virtualenv/releases/tag/${version}";
+    changelog = "https://github.com/pypa/virtualenv/blob/${version}/docs/changelog.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ goibhniu ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix b/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix
index 85179feff1aa..f53971637fb3 100644
--- a/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vowpalwabbit/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "vowpalwabbit";
-  version = "9.8.0";
+  version = "9.9.0";
 
   src = fetchPypi{
     inherit pname version;
-    hash = "sha256-s2q9K2tuILQATSjUKXe/hYdQW84bSIHwh/gfWM0/NTM=";
+    hash = "sha256-YCg2EI4rhEMwcVEzx9ES8Z3CoCddeUFVk4lZ0nuQJUc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vulcan-api/default.nix b/nixpkgs/pkgs/development/python-modules/vulcan-api/default.nix
index eeeb24688811..a7ed68b16a1c 100644
--- a/nixpkgs/pkgs/development/python-modules/vulcan-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vulcan-api/default.nix
@@ -7,6 +7,7 @@
 , fetchFromGitHub
 , pyopenssl
 , pythonOlder
+, pythonRelaxDepsHook
 , pytz
 , related
 , requests
@@ -28,6 +29,14 @@ buildPythonPackage rec {
     hash = "sha256-5Tj611p4wYn7GjoCtCTRhUZkKyAJglHcci76ciVFWik=";
   };
 
+  pythonRemoveDeps = [
+    "faust-cchardet"
+  ];
+
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+
   propagatedBuildInputs = [
     aenum
     aiodns
diff --git a/nixpkgs/pkgs/development/python-modules/wagtail/default.nix b/nixpkgs/pkgs/development/python-modules/wagtail/default.nix
index c01464f27ceb..54c30dabc781 100644
--- a/nixpkgs/pkgs/development/python-modules/wagtail/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wagtail/default.nix
@@ -24,19 +24,20 @@
 
 buildPythonPackage rec {
   pname = "wagtail";
-  version = "4.2.2";
+  version = "5.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-s89gs3H//Dc3k6BLZUC4APyDgiWY9LetWAkI+kXQTf8=";
+    hash = "sha256-3r0h34el2zRF1l/94S7xTjBqJPWtSQFQvtVW8Mjq0rs=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "beautifulsoup4>=4.8,<4.12" "beautifulsoup4>=4.8"
+      --replace "beautifulsoup4>=4.8,<4.12" "beautifulsoup4>=4.8" \
+      --replace "Pillow>=4.0.0,<10.0.0" "Pillow>=9.1.0,<11.0.0"
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wandb/default.nix b/nixpkgs/pkgs/development/python-modules/wandb/default.nix
index fa57b0072892..25f7e4b98dd9 100644
--- a/nixpkgs/pkgs/development/python-modules/wandb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wandb/default.nix
@@ -97,6 +97,8 @@ buildPythonPackage rec {
     shortuuid
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     azure-containerregistry
     azure-core
diff --git a/nixpkgs/pkgs/development/python-modules/watchfiles/default.nix b/nixpkgs/pkgs/development/python-modules/watchfiles/default.nix
index b644571b9e3f..3f75354376dd 100644
--- a/nixpkgs/pkgs/development/python-modules/watchfiles/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/watchfiles/default.nix
@@ -53,6 +53,11 @@ buildPythonPackage rec {
     anyio
   ];
 
+  # Tests need these permissions in order to use the FSEvents API on macOS.
+  sandboxProfile = ''
+    (allow mach-lookup (global-name "com.apple.FSEvents"))
+  '';
+
   nativeCheckInputs = [
     dirty-equals
     pytest-mock
diff --git a/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix b/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix
index 8fc5fe72aca7..3e56109bcbe3 100644
--- a/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix
@@ -10,21 +10,21 @@
 
 buildPythonPackage rec {
   pname = "weaviate-client";
-  version = "3.21.0";
+  version = "3.22.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7JSsVUiDx2XpTaiylHxPD6SgN47Tu+nzZT3zpbF0Wm0=";
+    hash = "sha256-r/Yb0/XXTfIKYjKEQ+OqnIYNUzD9+xnE2N3ETLYEAy8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   postPatch = ''
     substituteInPlace setup.cfg \
-      --replace "validators>=0.18.2,<0.20.0" "validators>=0.18.2" \
+      --replace "validators>=0.18.2,<=0.21.0" "validators>=0.18.2" \
       --replace "requests>=2.28.0,<2.29.0" "requests>=2.28.0"
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/wheel-filename/default.nix b/nixpkgs/pkgs/development/python-modules/wheel-filename/default.nix
index e874894b1323..1937d7710f3c 100644
--- a/nixpkgs/pkgs/development/python-modules/wheel-filename/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wheel-filename/default.nix
@@ -1,9 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pytestCheckHook
 , pythonOlder
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -20,8 +22,17 @@ buildPythonPackage rec {
     hash = "sha256-M3XGHG733X5qKuMS6mvFSFHYOwWPaBMXw+w0eYo6ByE=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "remove-wheel-dependency-constraint.patch";
+      url = "https://github.com/jwodder/wheel-filename/commit/11cfa57c8a32fa2a52fb5fe537859997bb642e75.patch";
+      hash = "sha256-ssePCVlJuHPJpPyFET3FnnWRlslLnZbnfn42g52yVN4=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/willow/default.nix b/nixpkgs/pkgs/development/python-modules/willow/default.nix
index d4d297d68d4d..f7030f7c874e 100644
--- a/nixpkgs/pkgs/development/python-modules/willow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/willow/default.nix
@@ -2,22 +2,29 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
-, six
-, pillow
+
+# dependencies
+, filetype
+, defusedxml,
 }:
 
 buildPythonPackage rec {
   pname = "willow";
-  version = "1.4.1";
+  version = "1.5.1";
+  format = "setuptools";
+
   disabled = pythonOlder "2.7";
 
   src = fetchPypi {
     pname = "Willow";
     inherit version;
-    hash = "sha256-Dfj/UoUx4AtI1Av3Ltgb6sHcgvLULlu+1K/wIYvvjA0=";
+    hash = "sha256-t6SQkRATP9seIodZLgZzzCVeAobhzVNCfuaN8ckiDEw=";
   };
 
-  propagatedBuildInputs = [ six pillow ];
+  propagatedBuildInputs = [
+    filetype
+    defusedxml
+  ];
 
   # Test data is not included
   # https://github.com/torchbox/Willow/issues/34
diff --git a/nixpkgs/pkgs/development/python-modules/worldengine/default.nix b/nixpkgs/pkgs/development/python-modules/worldengine/default.nix
index cda6fdb6ebdd..32c69b001249 100644
--- a/nixpkgs/pkgs/development/python-modules/worldengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/worldengine/default.nix
@@ -68,7 +68,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    homepage = "http://world-engine.org";
+    homepage = "https://github.com/mindwerks/worldengine";
     description = "World generator using simulation of plates, rain shadow, erosion, etc";
     license = licenses.mit;
     maintainers = with maintainers; [ rardiol ];
diff --git a/nixpkgs/pkgs/development/python-modules/wsgidav/default.nix b/nixpkgs/pkgs/development/python-modules/wsgidav/default.nix
index f1b81599c396..9dc51364bc65 100644
--- a/nixpkgs/pkgs/development/python-modules/wsgidav/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wsgidav/default.nix
@@ -40,6 +40,8 @@ buildPythonPackage rec {
     pyyaml
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   nativeCheckInputs = [
     cheroot
     pytestCheckHook
diff --git a/nixpkgs/pkgs/development/python-modules/xarray/default.nix b/nixpkgs/pkgs/development/python-modules/xarray/default.nix
index e700f630b665..45e79fdd89d0 100644
--- a/nixpkgs/pkgs/development/python-modules/xarray/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xarray/default.nix
@@ -6,27 +6,29 @@
 , pandas
 , pytestCheckHook
 , pythonOlder
-, setuptoolsBuildHook
+, setuptools
 , setuptools-scm
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "2023.2.0";
+  version = "2023.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qnYFAKLY+L6O/Y87J6lLKvOwqMLANzR9WV6vb/Cdinc=";
+    hash = "sha256-2s4v2/G3/xhdnBImokv4PCrlLzJT2/6A4X0RYmANBVw=";
   };
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
-    setuptoolsBuildHook
+    setuptools
     setuptools-scm
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/xknx/default.nix b/nixpkgs/pkgs/development/python-modules/xknx/default.nix
index 07615180608e..6151edfb5066 100644
--- a/nixpkgs/pkgs/development/python-modules/xknx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xknx/default.nix
@@ -2,12 +2,14 @@
 , async-timeout
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , cryptography
 , ifaddr
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -24,8 +26,17 @@ buildPythonPackage rec {
     hash = "sha256-rKvHb0wkWVuZO8M8uIQdOiY1N6DmGSpqUgz4YYbUfSM=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "unpin-setuptools.patch";
+      url = "https://github.com/XKNX/xknx/commit/c0826aec52ab69b8bd81f600bea154fae16f334e.patch";
+      hash = "sha256-EpfgEq4pIx7ahqJZalzo30ruj8NlZYHcKHxFXCGL98w=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/xknxproject/default.nix b/nixpkgs/pkgs/development/python-modules/xknxproject/default.nix
index 67a606690269..7de6ca3bc803 100644
--- a/nixpkgs/pkgs/development/python-modules/xknxproject/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xknxproject/default.nix
@@ -2,10 +2,12 @@
 , buildPythonPackage
 , cryptography
 , fetchFromGitHub
+, fetchpatch
 , pytestCheckHook
 , pythonOlder
 , pyzipper
 , setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -22,8 +24,17 @@ buildPythonPackage rec {
     hash = "sha256-ZLBvhuLXEOgqS7tRwP/e1Dv1/EMqxqXgpAZtLQGIt/o=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "unpin-setuptools.patch";
+      url = "https://github.com/XKNX/xknxproject/commit/53fecaf757d682fda00b04c3a2a1f3da86d9705f.patch";
+      hash = "sha256-EpfgEq4pIx7ahqJZalzo30ruj8NlZYHcKHxFXCGL98w=";
+    })
+  ];
+
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/xsdata/default.nix b/nixpkgs/pkgs/development/python-modules/xsdata/default.nix
index d3d06d407493..d44bd2d8d7da 100644
--- a/nixpkgs/pkgs/development/python-modules/xsdata/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xsdata/default.nix
@@ -2,45 +2,45 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, fetchpatch
 , click
 , click-default-group
 , docformatter
 , jinja2
 , toposort
+, typing-extensions
 , lxml
 , requests
 , pytestCheckHook
+, setuptools
+, wheel
 }:
 
 buildPythonPackage rec {
   pname = "xsdata";
-  version = "22.12";
+  version = "23.8";
+  format = "pyproject";
 
-  disabled = pythonOlder "3.7";
-
-  format = "setuptools";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-o9Xxt7b/+MkW94Jcg26ihaTn0/OpTcu+0OY7oV3JRGY=";
+    hash = "sha256-VfA9TIgjbwRyZq/+VQug3RlHat/OagHz4K76x8gHjlY=";
   };
 
-  patches = [
-    # https://github.com/tefra/xsdata/pull/741
-    (fetchpatch {
-      name = "use-docformatter-1.5.1.patch";
-      url = "https://github.com/tefra/xsdata/commit/040692db47e6e51028fd959c793e757858c392d7.patch";
-      excludes = [ "setup.cfg" ];
-      hash = "sha256-ncecMJLJUiUb4lB8ys+nyiGU/UmayK++o89h3sAwREQ=";
-    })
-  ];
-
   postPatch = ''
-    substituteInPlace setup.cfg \
+    substituteInPlace pyproject.toml \
       --replace "--benchmark-skip" ""
   '';
 
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    typing-extensions
+  ];
+
   passthru.optional-dependencies = {
     cli = [
       click
diff --git a/nixpkgs/pkgs/development/python-modules/yalexs/default.nix b/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
index 29e9dbdfd37a..fb5fd4c88451 100644
--- a/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yalexs/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.5.1";
+  version = "1.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-8aOLDjWZOqAsnldxUtUBcuT7pBbZHPnPSmQCF/oqNYw=";
+    hash = "sha256-Lh+3ZpOAhOQjSLoJTaLY5706I3tKy7pqQE6M1cRCYrw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yamlfix/default.nix b/nixpkgs/pkgs/development/python-modules/yamlfix/default.nix
index 21d3d810f1e8..122a39d82615 100644
--- a/nixpkgs/pkgs/development/python-modules/yamlfix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yamlfix/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "yamlfix";
-  version = "1.11.0";
+  version = "1.13.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "lyz-code";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-NWlZYpdiJ3SWY0L9IhGhCAUrurWe6mPt+AK64szCQco=";
+    hash = "sha256-GoCQtanQHYOFrhRvZjzk/cCPnUFwYUAclZuYGZfNg5E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yamlloader/default.nix b/nixpkgs/pkgs/development/python-modules/yamlloader/default.nix
index 33f9a0ccfd8c..d838233a7234 100644
--- a/nixpkgs/pkgs/development/python-modules/yamlloader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yamlloader/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "yamlloader";
-  version = "1.2.2";
+  version = "1.3.2";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NWaf17n4xrONuGGlFwFULEJnK0boq2MlNIaoy4N3toc=";
+    hash = "sha256-fb2YQh2AkMUhZV8bBsoDAGfynfUlOoh4EmvOOpD1aBc=";
   };
 
   propagatedBuildInputs = [
@@ -36,6 +36,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A case-insensitive list for Python";
     homepage = "https://github.com/Phynix/yamlloader";
+    changelog = "https://github.com/Phynix/yamlloader/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ freezeboy ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/yeelight/default.nix b/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
index 05ca35fa759e..c70bdb38e375 100644
--- a/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yeelight";
-  version = "0.7.12";
+  version = "0.7.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "stavros";
     repo = "python-yeelight";
     rev = "refs/tags/v${version}";
-    hash = "sha256-oTlfrx3YN6mPxu7+xzTmYG2L7KulFDlB3+oOhVOFSA8=";
+    hash = "sha256-IhEvyWgOTAlfQH1MX7GCpaJUJOGY/ZNbyk5Q6CiTDLA=";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/yfinance/default.nix b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
index dcdbb578d18a..7e9812fbf29a 100644
--- a/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.2.24";
+  version = "0.2.28";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "ranaroussi";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-V8yPB01HR+DGrKRXnmERFeC0WZal0nG3lMNVKTa519k=";
+    hash = "sha256-kTbQnpha4OHu5Xguo6v90uFpcXY1e8JJsJUo4ZbaCfk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zarr/default.nix b/nixpkgs/pkgs/development/python-modules/zarr/default.nix
index 552a1333e8fb..0f27248c688c 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.14.2";
+  version = "2.16.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-aOxZuOvfxP7l4yvWwM4nP3L31O0BdFS0UyfGc8YJB7w=";
+    hash = "sha256-hONraVvaDs6lKvmGEnGYTLIqXIZGeZB7e5uj95toT34=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix b/nixpkgs/pkgs/development/python-modules/zeroconf/default.nix
index 6cd8253cfc32..10e7cc86b84f 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.74.0";
+  version = "0.80.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = "refs/tags/${version}";
-    hash = "sha256-0QmAq1+dRfRkomZgh4Q0YF20omQBDUTgGt8cP1L6cx0=";
+    hash = "sha256-+NxLQGgTFHOPyOs8yoZvtZj0D42V6qma+PHgTGwPJsg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zigpy/default.nix b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
index fb08f30623e2..c73600df5a52 100644
--- a/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zigpy/default.nix
@@ -14,6 +14,7 @@
 , pythonOlder
 , setuptools
 , voluptuous
+, wheel
 }:
 
 buildPythonPackage rec {
@@ -32,11 +33,13 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
+      --replace '"setuptools-git-versioning<2"' "" \
       --replace 'dynamic = ["version"]' 'version = "${version}"'
   '';
 
   nativeBuildInputs = [
     setuptools
+    wheel
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zipp/default.nix b/nixpkgs/pkgs/development/python-modules/zipp/default.nix
index b16248fb9fc0..1b033810b5b4 100644
--- a/nixpkgs/pkgs/development/python-modules/zipp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zipp/default.nix
@@ -9,14 +9,14 @@
 
 let zipp = buildPythonPackage rec {
   pname = "zipp";
-  version = "3.15.0";
+  version = "3.16.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ESkprWSdqUHCPeUPNWorVXDJVLZRUGQrzN1mvxlNIks=";
+    hash = "sha256-68FZRqp4vWNFiZL8gew7b3sektUcNebeHDgE5zt5kUc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/zope-component/default.nix b/nixpkgs/pkgs/development/python-modules/zope-component/default.nix
index 93373d8a310e..2b65136aaf83 100644
--- a/nixpkgs/pkgs/development/python-modules/zope-component/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope-component/default.nix
@@ -6,7 +6,7 @@
 , zope_deprecation
 , zope_event
 , zope-hookable
-, zope_i18nmessageid
+, zope-i18nmessageid
 , zope_interface
 }:
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     zope_deprecation
     zope_event
     zope-hookable
-    zope_i18nmessageid
+    zope-i18nmessageid
     zope_interface
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/zope-i18nmessageid/default.nix b/nixpkgs/pkgs/development/python-modules/zope-i18nmessageid/default.nix
new file mode 100644
index 000000000000..fa8f4c1a30ee
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zope-i18nmessageid/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, zope_testrunner
+, unittestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "zope-i18nmessageid";
+  version = "6.0.1";
+  format = "setuptools";
+
+  src = fetchPypi {
+    pname = "zope.i18nmessageid";
+    inherit version;
+    hash = "sha256-LVvOb7MfHOoO+iZEZJvIZ9KXIwPx272f/vzlsuueAXY=";
+  };
+
+  nativeCheckInputs = [
+    unittestCheckHook
+    zope_testrunner
+  ];
+
+  unittestFlagsArray = [
+    "src/zope/i18nmessageid"
+  ];
+
+  pythonImportsCheck = [
+    "zope.i18nmessageid"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/zopefoundation/zope.i18nmessageid";
+    description = "Message Identifiers for internationalization";
+    changelog = "https://github.com/zopefoundation/zope.i18nmessageid/blob/${version}/CHANGES.rst";
+    license = licenses.zpl20;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zope_configuration/default.nix b/nixpkgs/pkgs/development/python-modules/zope_configuration/default.nix
index 6b96708e221c..b6cc1c0f9998 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_configuration/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_configuration/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, zope_i18nmessageid
+, zope-i18nmessageid
 , zope_schema
 , zope_testrunner
 , manuel
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [ zope_testrunner manuel ];
 
-  propagatedBuildInputs = [ zope_i18nmessageid zope_schema ];
+  propagatedBuildInputs = [ zope-i18nmessageid zope_schema ];
 
   # Need to investigate how to run the tests with zope-testrunner
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/zope_i18nmessageid/default.nix b/nixpkgs/pkgs/development/python-modules/zope_i18nmessageid/default.nix
deleted file mode 100644
index 42aa31415e15..000000000000
--- a/nixpkgs/pkgs/development/python-modules/zope_i18nmessageid/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, six
-, coverage
-, zope_testrunner
-}:
-
-buildPythonPackage rec {
-  pname = "zope.i18nmessageid";
-  version = "5.1.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-R7djR7gOCytmxIbuZvP4bFdJOiB1uFqfuAJpD6cwvZI=";
-  };
-
-  propagatedBuildInputs = [ six ];
-
-  nativeCheckInputs = [ coverage zope_testrunner ];
-
-  meta = with lib; {
-    homepage = "https://github.com/zopefoundation/zope.i18nmessageid";
-    description = "Message Identifiers for internationalization";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ goibhniu ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/zope_size/default.nix b/nixpkgs/pkgs/development/python-modules/zope_size/default.nix
index 6480e91b730f..836d0fa66f82 100644
--- a/nixpkgs/pkgs/development/python-modules/zope_size/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zope_size/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, zope_i18nmessageid
+, zope-i18nmessageid
 , zope_interface
 }:
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     hash = "sha256-bhv3QJdZtNpyAuL6/aZXWD1Acx8661VweWaItJPpkHk=";
   };
 
-  propagatedBuildInputs = [ zope_i18nmessageid zope_interface ];
+  propagatedBuildInputs = [ zope-i18nmessageid zope_interface ];
 
   meta = with lib; {
     homepage = "https://github.com/zopefoundation/zope.size";