about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules')
-rw-r--r--nixpkgs/pkgs/development/python-modules/accelerate/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/acquire/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/adjusttext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiocsv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioelectricitymaps/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiomysensors/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosql/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiounifi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/alexapy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/altair/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/amqp/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/angr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/annexremote/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/apipkg/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/approvaltests/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/argostranslate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/arviz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/asyncssh/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/auth0-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awkward/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awscrt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/awswrangler/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ax/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-appconfiguration/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-monitor-ingestion/default.nix50
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/backports-strenum/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/bandcamp-api/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bash-kernel/bash-path.patch22
-rw-r--r--nixpkgs/pkgs/development/python-modules/bash-kernel/default.nix58
-rw-r--r--nixpkgs/pkgs/development/python-modules/bash_kernel/default.nix59
-rw-r--r--nixpkgs/pkgs/development/python-modules/bashlex/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/bentoml/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/bincopy/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/bip-utils/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/blinkpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boilerpy3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bork/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/botorch/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/bpycv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/bsdiff4/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/camelot/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/canals/default.nix20
-rw-r--r--nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/catboost/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/censys/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cf-xarray/default.nix79
-rw-r--r--nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cle/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/cleanlab/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/cleo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-aliases/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cobs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/correctionlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/crate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/css-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cvxopt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cvxpy/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/cypari2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/dash/default.nix110
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask-histogram/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dask/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dbus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/debianbts/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/derpconf/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/diagrams/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/diffsync/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dinghy/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-hypervisor/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.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-util/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dissect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-admin-sortable2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-configurations/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-crispy-forms/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-crontab/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-ipware/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-q/default.nix52
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-redis/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/djangorestframework-dataclasses/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/doc8/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dot2tex/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dramatiq/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ducc0/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/duckduckgo-search/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/duo-client/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-data/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dvclive/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dynd/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/easydict/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/easyocr/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/eigenpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/einops/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/equinox/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/evohome-async/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ezyrb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fairseq/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/farm-haystack/default.nix290
-rw-r--r--nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fasttext-predict/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-admin/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-login/default.nix51
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-mongoengine/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/flax/default.nix59
-rw-r--r--nixpkgs/pkgs/development/python-modules/flow-record/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/folium/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/formencode/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/formulaic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/fschat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/genanki/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/gios/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/glcontext/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-container/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/gphoto2/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/gptcache/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gradio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gspread/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gst-python/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/holidays/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/holoviews/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/home-assistant-bluetooth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/htmllistparse/default.nix37
-rw-r--r--nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/hwdata/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/ical/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ignite/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/imagecorruptions/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/imantics/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/imapclient/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch2
-rw-r--r--nixpkgs/pkgs/development/python-modules/img2pdf/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/imutils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/inkex/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/insightface/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/intellifire4py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ionoscloud/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxlib/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/jaxopt/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/jc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jug/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab-server/default.nix (renamed from nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix)77
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyterlab_launcher/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/jwt/default.nix (renamed from nixpkgs/pkgs/development/python-modules/python-jwt/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/python-modules/kombu/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/labgrid/0001-serialdriver-remove-pyserial-version-check.patch33
-rw-r--r--nixpkgs/pkgs/development/python-modules/labgrid/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/langchain/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/langsmith/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/latexify-py/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/lazr/config.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/lazr/delegates.nix47
-rw-r--r--nixpkgs/pkgs/development/python-modules/libvirt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/line-profiler/default.nix (renamed from nixpkgs/pkgs/development/python-modules/line_profiler/default.nix)24
-rw-r--r--nixpkgs/pkgs/development/python-modules/litellm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/llfuse/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/losant-rest/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lru-dict/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/lsassy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ludios_wpull/default.nix41
-rw-r--r--nixpkgs/pkgs/development/python-modules/lupupy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/maison/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/mandown/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/manimpango/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mautrix/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mayavi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mechanize/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mhcflurry/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock2763
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-git-revision-date-localized-plugin/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/moviepy/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/msal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/multi-key-dict/default.nix34
-rw-r--r--nixpkgs/pkgs/development/python-modules/multi_key_dict/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/mutagen/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mygpoclient/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/mypy-boto3-builder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/myst-nb/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nextdns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/niaarm/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/nibe/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/nilearn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nose/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nose2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/nose3/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nunavut/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nvidia-ml-py/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/objax/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/omegaconf/0000-add-support-for-dataclasses_missing_type.patch21
-rw-r--r--nixpkgs/pkgs/development/python-modules/omegaconf/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/omemo-dr/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/omrdatasettools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-triton/0000-dont-download-ptxas.patch39
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-triton/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/openai-triton/llvm.nix125
-rw-r--r--nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/optimum/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/orange3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/paramz/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/paste/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/peft/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pep517/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pex/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pgcli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pillow-heif/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plexapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/podman/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/polling/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/proxy-tools/default.nix (renamed from nixpkgs/pkgs/development/python-modules/proxy_tools/default.nix)11
-rw-r--r--nixpkgs/pkgs/development/python-modules/psygnal/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-pdf-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/py-stringmatching/default.nix (renamed from nixpkgs/pkgs/development/python-modules/py_stringmatching/default.nix)17
-rw-r--r--nixpkgs/pkgs/development/python-modules/py3status/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyathena/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatmo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyatspi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pybind11/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycairo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycaption/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycardano/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycep-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycuda/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycyphal/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydantic-settings/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydexcom/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydrawise/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyenphase/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyezviz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygame/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygeos/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyglet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyglm/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygls/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygnmi/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/pygobject/3.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyinstrument/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyjnius/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymaging/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymaging_png/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymetno/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pymunk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynndescent/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pypandoc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyparted/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyparted/fix-test-pythonpath.patch26
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyperf/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix55
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyscard/default.nix54
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyside2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyside6/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysmart/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysptk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysuez/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysvn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytapo/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytenable/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-json-report/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-arango/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-docs-theme/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-efl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-fontconfig/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-frontmatter/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-pptx/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-songpal/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-telegram/default.nix32
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-twitch-client/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-velbus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/python_docs_theme/default.nix27
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytrydan/default.nix66
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvips/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyvisa-py/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywayland/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywebview/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pywlroots/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcelemental/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcengine/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/qcodes/default.nix75
-rw-r--r--nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/radian/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/radio-beam/default.nix (renamed from nixpkgs/pkgs/development/python-modules/radio_beam/default.nix)23
-rw-r--r--nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rank-bm25/default.nix (renamed from nixpkgs/pkgs/development/python-modules/rank_bm25/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/python-modules/rasterio/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/rchitect/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/recursive-pth-loader/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/redis-om/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/reorder-python-imports/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/restructuredtext-lint/default.nix45
-rw-r--r--nixpkgs/pkgs/development/python-modules/restructuredtext_lint/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/rich-argparse/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/rns/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rokuecp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/roonapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rpmfile/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scapy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/seaborn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/segno/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/setuptools-trial/default.nix (renamed from nixpkgs/pkgs/development/python-modules/setuptoolstrial/default.nix)7
-rw-r--r--nixpkgs/pkgs/development/python-modules/sgp4/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/shiboken2/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/shiboken6/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/simpful/default.nix11
-rw-r--r--nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix33
-rw-r--r--nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/skrl/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sorl-thumbnail/default.nix (renamed from nixpkgs/pkgs/development/python-modules/sorl_thumbnail/default.nix)30
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/spacy/models.json48
-rw-r--r--nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sphinxext-opengraph/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/spyder/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlobject/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/stdlibs/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/steamship/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/streamlit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/stytra/0000-workaround-pyqtgraph.patch26
-rw-r--r--nixpkgs/pkgs/development/python-modules/stytra/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/subarulink/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix38
-rw-r--r--nixpkgs/pkgs/development/python-modules/tabula-py/default.nix26
-rw-r--r--nixpkgs/pkgs/development/python-modules/tabula-py/java-interpreter-path.patch54
-rw-r--r--nixpkgs/pkgs/development/python-modules/tailscale/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/telegram-text/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/textual/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/thinc/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/tika-client/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/timetagger/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/timm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tiny-proxy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tldextract/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tlds/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/torch/default.nix40
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchinfo/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix31
-rw-r--r--nixpkgs/pkgs/development/python-modules/torrent-parser/default.nix39
-rw-r--r--nixpkgs/pkgs/development/python-modules/torrent_parser/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/tplink-omada-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/transformers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/troposphere/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tweepy/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/txtai/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-aiobotocore/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-pillow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-pyopenssl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/types-redis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ubelt/default.nix70
-rw-r--r--nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/ulid-transform/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/umap-learn/default.nix35
-rw-r--r--nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/unstructured/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix1
-rw-r--r--nixpkgs/pkgs/development/python-modules/vector/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vega-datasets/default.nix44
-rw-r--r--nixpkgs/pkgs/development/python-modules/vega_datasets/default.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/versioneer/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/vertica-python/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/vine/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wagtail/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/wand/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/webauthn/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/webdav4/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/weconnect/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/wfuzz/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/whodap/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wikitextparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/wxPython/4.2.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/x-wr-timezone/default.nix9
-rw-r--r--nixpkgs/pkgs/development/python-modules/x11-hash/default.nix36
-rw-r--r--nixpkgs/pkgs/development/python-modules/x11_hash/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/xattr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/xdoctest/default.nix48
-rw-r--r--nixpkgs/pkgs/development/python-modules/xkbcommon/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/yq/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/zamg/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zcbor/default.nix42
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope-dottedname/default.nix49
-rw-r--r--nixpkgs/pkgs/development/python-modules/zope_dottedname/default.nix22
-rw-r--r--nixpkgs/pkgs/development/python-modules/zxing-cpp/default.nix53
-rw-r--r--nixpkgs/pkgs/development/python-modules/zxing_cpp/default.nix30
498 files changed, 6791 insertions, 2192 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/accelerate/default.nix b/nixpkgs/pkgs/development/python-modules/accelerate/default.nix
index de51ac126950..24ed871c4037 100644
--- a/nixpkgs/pkgs/development/python-modules/accelerate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/accelerate/default.nix
@@ -2,6 +2,7 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pythonAtLeast
 , pythonOlder
 , pytestCheckHook
@@ -18,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "accelerate";
-  version = "0.23.0";
+  version = "0.24.1";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -26,9 +27,18 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-pFkEgE1NGLPBW1CeGU0RJr+1Nj/y58ZcljyOnJuR47A=";
+    hash = "sha256-DKyFb+4DUMhVUwr+sgF2IaJS9pEj2o2shGYwExfffWg=";
   };
 
+  patches = [
+    # https://github.com/huggingface/accelerate/pull/2121
+    (fetchpatch {
+      name = "fix-import-error-without-torch_distributed.patch";
+      url = "https://github.com/huggingface/accelerate/commit/42048092eabd67a407ea513a62f2acde97079fbc.patch";
+      hash = "sha256-9lvnU6z5ZEFc5RVw2bP0cGVyrwAp/pxX4ZgnmCN7qH8=";
+    })
+  ];
+
   nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/acquire/default.nix b/nixpkgs/pkgs/development/python-modules/acquire/default.nix
index 13297b0cd6d3..4426f930b0d8 100644
--- a/nixpkgs/pkgs/development/python-modules/acquire/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/acquire/default.nix
@@ -18,7 +18,7 @@
 buildPythonPackage rec {
   pname = "acquire";
   version = "3.9";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
diff --git a/nixpkgs/pkgs/development/python-modules/adjusttext/default.nix b/nixpkgs/pkgs/development/python-modules/adjusttext/default.nix
index ca9fab212cae..d8d82edb8a31 100644
--- a/nixpkgs/pkgs/development/python-modules/adjusttext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/adjusttext/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "adjusttext";
-  version = "0.8.0";
+  version = "0.8.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Phlya";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-N+eCDwK5E9zGKG7uruuhnpTlJeiXG2a15PKW0gJFAqw=";
+    hash = "sha256-Lhl6ykx5ynf+pBub5tBUaALm1w/88jbuSXPigE216NY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ailment/default.nix b/nixpkgs/pkgs/development/python-modules/ailment/default.nix
index 4b301548b43c..d669fa983847 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.75";
+  version = "9.2.77";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-k3CX0ntqbKBL9xLTPifwjTqwYEDLlNdEHlIPiokkkPA=";
+    hash = "sha256-Bff44LSWdoXrijTAjnlsaN5iqDbHjfmYqe0FR4dmZxU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix b/nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix
index 3b722f0fa5f2..c494b81b6335 100644
--- a/nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioairzone-cloud/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone-cloud";
-  version = "0.3.4";
+  version = "0.3.6";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = "aioairzone-cloud";
     rev = "refs/tags/${version}";
-    hash = "sha256-X3OhfMW+0oOzubDdSumja//GyI4qgfuyz9/I9xybR9M=";
+    hash = "sha256-K2/q4JQV6GkNXJ6pKDPfhwKvftdezMp5VdOa5iabmvk=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix b/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix
index e413aca84766..86cc79d62699 100644
--- a/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiocomelit/default.nix
@@ -1,6 +1,7 @@
 { lib
 , aiohttp
 , buildPythonPackage
+, colorlog
 , fetchFromGitHub
 , pint
 , poetry-core
@@ -10,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "aiocomelit";
-  version = "0.3.0";
+  version = "0.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -19,7 +20,7 @@ buildPythonPackage rec {
     owner = "chemelli74";
     repo = "aiocomelit";
     rev = "refs/tags/v${version}";
-    hash = "sha256-o8i1H4MsK21kJVbLD22PAUqj5Q9k31JfdZQYARPQICc=";
+    hash = "sha256-2wdgG22/Cln5uWQoT3Fs9tOLgB1X8J6AEqxV5R+lqno=";
   };
 
   postPatch = ''
@@ -37,6 +38,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    colorlog
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/aiocsv/default.nix b/nixpkgs/pkgs/development/python-modules/aiocsv/default.nix
index 05df5094e658..8feda8b86aa8 100644
--- a/nixpkgs/pkgs/development/python-modules/aiocsv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiocsv/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aiocsv";
-  version = "1.2.4";
+  version = "1.2.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "MKuranowski";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-R9gZqiHYKexXXjbAkKu9YqhZnzC/VAMSDzBYT/mF5v0=";
+    hash = "sha256-4QvVYcTpwhFH57r+iMgmYciWIC2prRnL+ih7qx/CA/U=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioelectricitymaps/default.nix b/nixpkgs/pkgs/development/python-modules/aioelectricitymaps/default.nix
index 8aca66a80b4c..79a07c06e9e9 100644
--- a/nixpkgs/pkgs/development/python-modules/aioelectricitymaps/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioelectricitymaps/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "aioelectricitymaps";
-  version = "0.1.4";
+  version = "0.1.5";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "jpbede";
     repo = "aioelectricitymaps";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Whg3F4Oyfqn2Lod44e15Pxc3m0dEB2F+MK0bvEM7c7w=";
+    hash = "sha256-XJw3oy5IHyXmdoVxSU15dWHcc4Wd435Lyr/wpz53aZI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
index ca577acc2834..9af84e2ff91a 100644
--- a/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "18.2.1";
+  version = "18.4.0";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-PW3/V4PTm+UxTsfSSvOEX+FGcuF4m+mDOz6Z/AzB2qk=";
+    hash = "sha256-jSPoVMtGRtqpDFagjvLTxps5plcN92Mp9vjtQlmqyGg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/aiomysensors/default.nix b/nixpkgs/pkgs/development/python-modules/aiomysensors/default.nix
index 80bc2b2a0525..e26c6eb53bd9 100644
--- a/nixpkgs/pkgs/development/python-modules/aiomysensors/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiomysensors/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aiomysensors";
-  version = "0.3.9";
+  version = "0.3.10";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "MartinHjelmare";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-hLUITEPUoUKGqN3AnacahnKwoKdfGN3mp34df74gsbE=";
+    hash = "sha256-b462OZzRS9aldfJ+4ztczxbCMK76UM0pSOI1cIi1NM8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/aiosql/default.nix b/nixpkgs/pkgs/development/python-modules/aiosql/default.nix
index d7d87003e1a7..7160eccace60 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosql/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiosql/default.nix
@@ -1,17 +1,27 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, poetry-core
+, pg8000
+, pytest-asyncio
 , pytestCheckHook
-, sphinxHook
+, pythonOlder
+, setuptools
+, setuptools-scm
 , sphinx-rtd-theme
+, sphinxHook
 }:
 
 buildPythonPackage rec {
   pname = "aiosql";
   version = "9.0";
-  outputs = [ "out" "doc" ];
-  format = "pyproject";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  outputs = [
+    "doc"
+    "out"
+  ];
 
   src = fetchFromGitHub {
     owner = "nackjicholson";
@@ -23,17 +33,25 @@ buildPythonPackage rec {
   sphinxRoot = "docs/source";
 
   nativeBuildInputs = [
-    pytestCheckHook
-    sphinxHook
-    poetry-core
+    setuptools
+    setuptools-scm
     sphinx-rtd-theme
+    sphinxHook
+  ];
+
+  propagatedBuildInputs = [
+    pg8000
   ];
 
-  pythonImportsCheck = [ "aiosql" ];
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Simple SQL in Python";
     homepage = "https://nackjicholson.github.io/aiosql/";
+    changelog = "https://github.com/nackjicholson/aiosql/releases/tag/${version}";
     license = with licenses; [ bsd2 ];
     maintainers = with maintainers; [ kaction ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
index d07fbf7329ee..0d1423d9ac63 100644
--- a/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiounifi/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "64";
+  version = "65";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-A6IfUUaXv/Dm8yncgC0SFBrabCFx0Y24pOul0bqxBLc=";
+    hash = "sha256-VpDtr5r7BxZDd8G8tPrHRVo+LRhsFoMlVUuOcG/3g0s=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/alexapy/default.nix b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
index 060751ace13a..34b36816b134 100644
--- a/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/alexapy/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "alexapy";
-  version = "1.27.6";
+  version = "1.27.8";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "keatontaylor";
     repo = "alexapy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-CKaxdKuvie88nn1LSTxCLCdbr9bzD6MtvgSU9lplT/8=";
+    hash = "sha256-M6cv1l6UpUJ0Wn7Swa7Cv+XsDNbzHLNrTJjU5ePL83Q=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/altair/default.nix b/nixpkgs/pkgs/development/python-modules/altair/default.nix
index 8d7ec25da838..b7fbcb552746 100644
--- a/nixpkgs/pkgs/development/python-modules/altair/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/altair/default.nix
@@ -17,7 +17,7 @@
 , anywidget
 , ipython
 , pytestCheckHook
-, vega_datasets
+, vega-datasets
 , sphinx
 }:
 
@@ -51,7 +51,7 @@ buildPythonPackage rec {
     anywidget
     ipython
     sphinx
-    vega_datasets
+    vega-datasets
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/amqp/default.nix b/nixpkgs/pkgs/development/python-modules/amqp/default.nix
index bad99ab8f02a..36fc48c35f35 100644
--- a/nixpkgs/pkgs/development/python-modules/amqp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/amqp/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "amqp";
-  version = "5.1.1";
+  version = "5.2.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-LBsT/swIk+lGxly9XzZCeGHP+k6iIB2Pb8oi4qNzteI=";
+    hash = "sha256-oez/QlrQY61CpIbJAoB9FIIxFIHIrZWnJpSyl1519/0=";
   };
 
   propagatedBuildInputs = [
@@ -44,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python client for the Advanced Message Queuing Procotol (AMQP). This is a fork of amqplib which is maintained by the Celery project";
     homepage = "https://github.com/celery/py-amqp";
+    changelog = "https://github.com/celery/py-amqp/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/angr/default.nix b/nixpkgs/pkgs/development/python-modules/angr/default.nix
index 5b142f2be1ea..1c26f847f622 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.75";
+  version = "9.2.77";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "angr";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tDOO0wn5gYxK1CuMWhu/i4Xk3CfcuhPvxsG0LI7BlA4=";
+    hash = "sha256-EslJnwgZUUN+EtyjGi/7a4Upr2/vbfNXpkc7I+/ZrU8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/annexremote/default.nix b/nixpkgs/pkgs/development/python-modules/annexremote/default.nix
index 46e937eb8dae..02067d4ebaa9 100644
--- a/nixpkgs/pkgs/development/python-modules/annexremote/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/annexremote/default.nix
@@ -1,33 +1,34 @@
 { lib
-, isPy3k
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
-, nose
 , pythonOlder
+, setuptools
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "annexremote";
-  version = "1.6.0";
-  format = "setuptools";
+  version = "1.6.4";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Lykos153";
     repo = "AnnexRemote";
-    rev = "v${version}";
-    sha256 = "sha256-h03gkRAMmOq35zzAq/OuctJwPAbP0Idu4Lmeu0RycDc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-eBq1nZnNuzTLvc11G/XaenZlVEUke3kpWlZ7P5g4kc8=";
   };
 
-  nativeCheckInputs = [
-    nose
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
   ];
 
-  checkPhase = ''
-    nosetests -v -e "^TestExport_MissingName" -e "^TestRemoveexportdirectory"
-  '';
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
     "annexremote"
@@ -36,6 +37,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Helper module to easily develop git-annex remotes";
     homepage = "https://github.com/Lykos153/AnnexRemote";
+    changelog = "https://github.com/Lykos153/AnnexRemote/releases/tag/v${version}";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ montag451 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/default.nix b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
index 71bd13c7ab49..5c08a0f5bf07 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
@@ -21,7 +21,7 @@
 
 let
   pname = "ansible";
-  version = "8.4.0";
+  version = "8.6.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -31,7 +31,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8zxJJpBZL60SaE6Yl/beLaFcn24ey3kTdwOgZHCvLOY=";
+    hash = "sha256-lfTlkydNWdU/NvYiB1NbfScq3CcBrHoO169qbYFjemA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/apipkg/default.nix b/nixpkgs/pkgs/development/python-modules/apipkg/default.nix
index efea1e3302f4..0edddd68be32 100644
--- a/nixpkgs/pkgs/development/python-modules/apipkg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/apipkg/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "apipkg";
-  version = "3.0.1";
+  version = "3.0.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pytest-dev";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-gf84SzfuKLGYfI88IzPRJCqMZWwowUR10FgIbwXjwuY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ANLD7fUMKN3RmAVjVkcpwUH6U9ASalXdwKtPpoC8Urs=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix b/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
index 03e0d9527522..b8ec645c42d1 100644
--- a/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/approvaltests/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "approvaltests";
-  version = "9.0.0";
+  version = "10.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "approvals";
     repo = "ApprovalTests.Python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tyUPXeMdFuzlBY/HrGHLDEwYngzBELayaVVfEh92lbE=";
+    hash = "sha256-3KorHpJUeWSJKVN/4IN0AqKOIL0sT5MaxkvQqpeilhw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix b/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
index 8b72b5e8e996..af7635184a0d 100644
--- a/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/appthreat-vulnerability-db/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "appthreat-vulnerability-db";
-  version = "5.5.1";
+  version = "5.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "AppThreat";
     repo = "vulnerability-db";
     rev = "refs/tags/v${version}";
-    hash = "sha256-URDVNuUrxWoQjeNRPrSJz8aiEozn5BzRTvhqc4bihA0=";
+    hash = "sha256-ioFTayuPkxXIaaKKVHBLyU47jID6dGWCX1G9kVkD5Yo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
index 14fea5e4835a..c8383ecc9af2 100644
--- a/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.75";
+  version = "9.2.77";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-t8kxGwLEVVp1WMFA+yFLMAPJBT46m0ZFG2lhWMxoolw=";
+    hash = "sha256-uTkPDhk4Ugyb9HV/0PMwWpuNajpzfTn1dg7gsQnc/zg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/argostranslate/default.nix b/nixpkgs/pkgs/development/python-modules/argostranslate/default.nix
index 2347730ad4cb..9d958c2e1e9e 100644
--- a/nixpkgs/pkgs/development/python-modules/argostranslate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/argostranslate/default.nix
@@ -18,13 +18,13 @@ let
 in
 buildPythonPackage rec {
   pname = "argostranslate";
-  version = "1.8.1";
+  version = "1.9.1";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8eVmEHwsQ9/5NPmKJzZ4aX4nkh4+mna5K1BC+lXLXcE=";
+    sha256 = "sha256-OlVrRfBhbJpIFjWdLQsn7zEteRP6UfkIpGT4Y933QKk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/arviz/default.nix b/nixpkgs/pkgs/development/python-modules/arviz/default.nix
index b37e7d9a8a18..0a186781b4a2 100644
--- a/nixpkgs/pkgs/development/python-modules/arviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/arviz/default.nix
@@ -28,6 +28,7 @@
 , pyro-ppl
   #, pystan (not packaged)
 , numpyro
+, bokeh
 }:
 
 buildPythonPackage rec {
@@ -72,6 +73,7 @@ buildPythonPackage rec {
     pytestCheckHook
     torchvision
     zarr
+    bokeh
   ];
 
   preCheck = ''
@@ -97,6 +99,8 @@ buildPythonPackage rec {
     # An issue has been opened upstream: https://github.com/arviz-devs/arviz/issues/2282
     "test_plot_ppc_discrete"
     "test_plot_ppc_discrete_save_animation"
+    # Assertion error
+    "test_data_zarr"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix b/nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix
index 9049a2285185..feb778c729aa 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncinotify/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    ${python.pythonForBuild.interpreter} ${src}/test.py
+    ${python.pythonOnBuildForHost.interpreter} ${src}/test.py
   '';
   pythonImportsCheck = ["asyncinotify"];
 
diff --git a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
index 663c71b926ea..f499adc7bb1e 100644
--- a/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/asyncssh/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "asyncssh";
-  version = "2.14.0";
+  version = "2.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4D7y0TH7tDcbQBhxhFLOjHNaSO3+ATnSq9zkwYekWcM=";
+    hash = "sha256-GsMcMzoNg8iIMVIyRVAMqoFFA0I3QbDkZTOe9tpbXik=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix b/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix
index 165665b5a1b3..3b0cc0eb8030 100644
--- a/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/auth0-python/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "auth0-python";
-  version = "4.5.0";
+  version = "4.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "auth0";
     repo = "auth0-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-kWlfckSjBxgzLd1ND4M0btt/+zfSHj5h4V/uDLmnHaA=";
+    hash = "sha256-KNhuonqFt+KrRYctQ426FcnzxISp5sBRs28hFL/Du0Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/awkward/default.nix b/nixpkgs/pkgs/development/python-modules/awkward/default.nix
index 48218451a5ab..b4e4774af8ce 100644
--- a/nixpkgs/pkgs/development/python-modules/awkward/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awkward/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchPypi
+, fetchFromGitHub
 , hatch-fancy-pypi-readme
 , hatchling
 , awkward-cpp
@@ -23,14 +23,16 @@
 
 buildPythonPackage rec {
   pname = "awkward";
-  version = "2.4.6";
+  version = "2.4.10";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-MRnrPChX3a26JELh4oH5nefwoQurpvpprZXeNnz1Cwo=";
+  src = fetchFromGitHub {
+    owner = "scikit-hep";
+    repo = "awkward";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-D+bgKI6olK3smgnRdACvd0gYMWvS6ao6f7nQh3YExXw=";
   };
 
   nativeBuildInputs = [
@@ -69,7 +71,6 @@ buildPythonPackage rec {
   # The following tests have been disabled because they need to be run on a GPU platform.
   disabledTestPaths = [
     "tests-cuda"
-    "tests-cuda-kernels"
   ];
 
   meta = with lib; {
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 44dbdd50fda5..6f19a6a7ac1c 100644
--- a/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "1.40.0";
+  version = "1.41.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4LapTxeJtzuXdWRgDmsQ8/yDeYZfMz+kJwpZKF7stmc=";
+    hash = "sha256-Uxf52UzzCqXFFnQD1DwcSy3ylY+rYq6qbI5XK5JiVto=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/awscrt/default.nix b/nixpkgs/pkgs/development/python-modules/awscrt/default.nix
index 36f282fe1e45..0927fba08e50 100644
--- a/nixpkgs/pkgs/development/python-modules/awscrt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awscrt/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "awscrt";
-  version = "0.19.8";
+  version = "0.19.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-d6I1nRL41sWFvv9Nxw5dSJDEv15i9Lni0wySyWruEGU=";
+    hash = "sha256-skkkwtmSbGJV6MRBJMfNhu+pWEBuMkB7ozTh9wiyYVM=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix b/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
index 65f5bcf36e94..54ad818bb8a1 100644
--- a/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/awswrangler/default.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "aws-sdk-pandas";
     rev = "refs/tags/${version}";
-    hash = "sha256-ZHEWG/A3lNwSw3MxguqjvgAOx5IHei43ku7GVJh8tLY=";
+    hash = "sha256-RjZWK7XfyRYu7vNaxPd0/F5nBN/JH01ZwZXloMS0g68=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ax/default.nix b/nixpkgs/pkgs/development/python-modules/ax/default.nix
index e9ca9dba6ca7..1a4da01df6d4 100644
--- a/nixpkgs/pkgs/development/python-modules/ax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ax/default.nix
@@ -69,6 +69,10 @@ buildPythonPackage rec {
   disabledTests = [
     # exact comparison of floating points
     "test_optimize_l0_homotopy"
+    # AssertionError: 5 != 2
+    "test_get_standard_plots_moo"
+    # AssertionError: Expected 'warning' to be called once. Called 3 times
+    "test_validate_kwarg_typing"
   ];
   pythonImportsCheck = [ "ax" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/azure-appconfiguration/default.nix b/nixpkgs/pkgs/development/python-modules/azure-appconfiguration/default.nix
index db43d7770d2b..40726506f72b 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-appconfiguration/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-appconfiguration/default.nix
@@ -1,27 +1,39 @@
-{ lib, buildPythonPackage, fetchPypi, azure-core
-, msrest
+{ lib
+, pythonOlder
+, isodate
+, fetchPypi
+, buildPythonPackage
+, azure-core
 }:
 
 buildPythonPackage rec {
   pname = "azure-appconfiguration";
-  version = "1.4.0";
+  version = "1.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    hash = "sha256-fzZyT6j3K90FClJawf3o0F2TSMSu5pVqZvP8yJwTdBc=";
+    hash = "sha256-cJIRe68GzY6T7ukhN+coF2m0AD/EFtSh7aZGuyVkAnw=";
   };
 
   propagatedBuildInputs = [
     azure-core
-    msrest
+    isodate
   ];
 
-  pythonImportsCheck = [ "azure.appconfiguration" ];
+  # Tests are not shipped
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "azure.appconfiguration"
+  ];
 
   meta = with lib; {
     description = "Microsoft App Configuration Data Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/appconfiguration/azure-appconfiguration";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-appconfiguration_${version}/sdk/appconfiguration/azure-appconfiguration/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jonringer ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix b/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
index 07914459837e..4d9c50bb0594 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-eventgrid/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "azure-eventgrid";
-  version = "4.15.0";
+  version = "4.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-hVPCQgVu5NkEMJBJcfaER8JGtjnIEWquIcBX6vFSiAc=";
+    hash = "sha256-o895Xjp/su2mc1WHbsQvWDe28sX/HhLtOb7BC5TFkyg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/azure-monitor-ingestion/default.nix b/nixpkgs/pkgs/development/python-modules/azure-monitor-ingestion/default.nix
new file mode 100644
index 000000000000..dccdda1d27a9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/azure-monitor-ingestion/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, setuptools
+, azure-core
+, isodate
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "azure-monitor-ingestion";
+  version = "1.0.2";
+
+  disabled = pythonOlder "3.7";
+
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    hash = "sha256-xNpYsD1bMIM0Bxy8KtR4rYy4tzfddtoPnEzHfO44At8=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    azure-core
+    isodate
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [
+    "azure.monitor.ingestion"
+    "azure.monitor.ingestion.aio"
+  ];
+
+  # requires checkout from mono-repo and a mock account
+  doCheck = false;
+
+  meta = {
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-monitor-ingestion_${version}/sdk/monitor/azure-monitor-ingestion/CHANGELOG.md";
+    description = "Send custom logs to Azure Monitor using the Logs Ingestion API";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-ingestion";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix b/nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix
index 1a4ef7c80cb6..b89653fb6781 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/azure-storage-file-share/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-file-share";
-  version = "12.14.2";
+  version = "12.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-mcMtgN2jX4hO4NSNk/1X9vT/vgCulYR5w7fV9OsCHrw=";
+    hash = "sha256-AJjxz6k0TE94HODNUE/zo1JVdRVTwB5yDczQyqjYqio=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/backports-strenum/default.nix b/nixpkgs/pkgs/development/python-modules/backports-strenum/default.nix
index a23a79024a48..229f9282c355 100644
--- a/nixpkgs/pkgs/development/python-modules/backports-strenum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/backports-strenum/default.nix
@@ -1,17 +1,15 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , pytestCheckHook
 , pythonOlder
-, setuptools
-, setuptools-scm
-, wheel
 }:
 
 buildPythonPackage rec {
   pname = "backports-strenum";
-  version = "1.2.4";
-  format = "pyproject";
+  version = "1.2.8";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -19,15 +17,11 @@ buildPythonPackage rec {
     owner = "clbarnes";
     repo = "backports.strenum";
     rev = "refs/tags/v${version}";
-    hash = "sha256-AhAMVawnBMJ45a3mpthUZvqTeqeCB1Uco4MSusLyA4E=";
+    hash = "sha256-jbMR9VAGsMAJTP2VQyRr+RPYwWwk8hGAYs4KoZEWa7U=";
   };
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
-
   nativeBuildInputs = [
-    setuptools
-    setuptools-scm
-    wheel
+    poetry-core
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bandcamp-api/default.nix b/nixpkgs/pkgs/development/python-modules/bandcamp-api/default.nix
index 4546843dbc88..31efe43cbef5 100644
--- a/nixpkgs/pkgs/development/python-modules/bandcamp-api/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bandcamp-api/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "bandcamp-api";
-  version = "0.2.2";
+  version = "0.2.3";
 
   format = "setuptools";
 
   src = fetchPypi {
     pname = "bandcamp_api";
     inherit version;
-    hash = "sha256-v/iACVcBFC/3x4v7Q/1p+aHGhfw3AQ43eU3sKz5BskI=";
+    hash = "sha256-7/WXMo7fCDMHATp4hEB8b7fNJWisUv06hbP+O878Phs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bash-kernel/bash-path.patch b/nixpkgs/pkgs/development/python-modules/bash-kernel/bash-path.patch
new file mode 100644
index 000000000000..98c3cc511ab7
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bash-kernel/bash-path.patch
@@ -0,0 +1,22 @@
+diff --git a/bash_kernel/kernel.py b/bash_kernel/kernel.py
+index 0496f1e..bd13c4f 100644
+--- a/bash_kernel/kernel.py
++++ b/bash_kernel/kernel.py
+@@ -88,7 +88,7 @@ class BashKernel(Kernel):
+     @property
+     def banner(self):
+         if self._banner is None:
+-            self._banner = check_output(['bash', '--version']).decode('utf-8')
++            self._banner = check_output(['@bash@', '--version']).decode('utf-8')
+         return self._banner
+ 
+     language_info = {'name': 'bash',
+@@ -116,7 +116,7 @@ class BashKernel(Kernel):
+             # source code there for comments and context for
+             # understanding the code here.
+             bashrc = os.path.join(os.path.dirname(pexpect.__file__), 'bashrc.sh')
+-            child = pexpect.spawn("bash", ['--rcfile', bashrc], echo=False,
++            child = pexpect.spawn("@bash@", ['--rcfile', bashrc], echo=False,
+                                   encoding='utf-8', codec_errors='replace')
+             # Following comment stolen from upstream's REPLWrap:
+             # If the user runs 'env', the value of PS1 will be in the output. To avoid
diff --git a/nixpkgs/pkgs/development/python-modules/bash-kernel/default.nix b/nixpkgs/pkgs/development/python-modules/bash-kernel/default.nix
new file mode 100644
index 000000000000..1c50b151f01e
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bash-kernel/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+, flit-core
+, ipykernel
+, python
+, pexpect
+, bash
+, substituteAll
+}:
+
+buildPythonPackage rec {
+  pname = "bash-kernel";
+  version = "0.9.1";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "bash_kernel";
+    inherit version;
+    hash = "sha256-AYPVPjYP+baEcQUqmiiagWIXMlFrA04njpcgtdFaFis=";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./bash-path.patch;
+      bash = lib.getExe bash;
+    })
+  ];
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+    ipykernel
+    pexpect
+  ];
+
+  preBuild = ''
+    export HOME=$TMPDIR
+  '';
+
+  postInstall = ''
+    ${python.pythonOnBuildForHost.interpreter} -m bash_kernel.install --prefix $out
+  '';
+
+  # no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Bash Kernel for Jupyter";
+    homepage = "https://github.com/takluyver/bash_kernel";
+    changelog = "https://github.com/takluyver/bash_kernel/releases/tag/${version}";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/bash_kernel/default.nix b/nixpkgs/pkgs/development/python-modules/bash_kernel/default.nix
deleted file mode 100644
index 331b9c91707a..000000000000
--- a/nixpkgs/pkgs/development/python-modules/bash_kernel/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, fetchpatch
-, flit-core
-, ipykernel
-, isPy27
-, python
-, pexpect
-, bash
-}:
-
-buildPythonPackage rec {
-  pname = "bash_kernel";
-  version = "0.9.1";
-  format = "flit";
-  disabled = isPy27;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-AYPVPjYP+baEcQUqmiiagWIXMlFrA04njpcgtdFaFis=";
-  };
-
-  patches = [
-    (fetchpatch {
-      url = "https://patch-diff.githubusercontent.com/raw/takluyver/bash_kernel/pull/69.diff";
-      sha256 = "1qd7qjjmcph4dk6j0bl31h2fdmfiyyazvrc9xqqj8y21ki2sl33j";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace bash_kernel/kernel.py \
-      --replace "'bash'" "'${bash}/bin/bash'" \
-      --replace "\"bash\"" "'${bash}/bin/bash'"
-  '';
-
-  nativeBuildInputs = [ flit-core ];
-
-  propagatedBuildInputs = [ ipykernel pexpect ];
-
-  # no tests
-  doCheck = false;
-
-  preBuild = ''
-    export HOME=$TMPDIR
-  '';
-
-  postInstall = ''
-    ${python.pythonForBuild.interpreter} -m bash_kernel.install --prefix $out
-  '';
-
-  meta = with lib; {
-    description = "Bash Kernel for Jupyter";
-    homepage = "https://github.com/takluyver/bash_kernel";
-    changelog = "https://github.com/takluyver/bash_kernel/releases/tag/${version}";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ zimbatm ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/bashlex/default.nix b/nixpkgs/pkgs/development/python-modules/bashlex/default.nix
index 7f97f5d933cb..ed5cb1a6091a 100644
--- a/nixpkgs/pkgs/development/python-modules/bashlex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bashlex/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   # workaround https://github.com/idank/bashlex/issues/51
   preBuild = ''
-    ${python.pythonForBuild.interpreter} -c 'import bashlex'
+    ${python.pythonOnBuildForHost.interpreter} -c 'import bashlex'
   '';
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bentoml/default.nix b/nixpkgs/pkgs/development/python-modules/bentoml/default.nix
index a5bf6608fe06..5d435d94882c 100644
--- a/nixpkgs/pkgs/development/python-modules/bentoml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bentoml/default.nix
@@ -29,7 +29,7 @@
 , pip-tools
 , prometheus-client
 , psutil
-, pynvml
+, nvidia-ml-py
 , python-dateutil
 , python-json-logger
 , python-multipart
@@ -69,7 +69,7 @@
 }:
 
 let
-  version = "1.1.7";
+  version = "1.1.9";
   aws = [ fs-s3fs ];
   grpc = [
     grpcio
@@ -105,7 +105,7 @@ buildPythonPackage {
     owner = "bentoml";
     repo = "BentoML";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xuUfdVa0d4TzJqPBNJvUikIPsjSgn+VdhdZidHMnAxA=";
+    hash = "sha256-+5enRlk05IGdsNY6KIzYgh7vGRua0duI57o/AIevcdM=";
   };
 
   # https://github.com/bentoml/BentoML/pull/4227 should fix this test
@@ -150,7 +150,7 @@ buildPythonPackage {
     pip-tools
     prometheus-client
     psutil
-    pynvml
+    nvidia-ml-py
     python-dateutil
     python-json-logger
     python-multipart
diff --git a/nixpkgs/pkgs/development/python-modules/bincopy/default.nix b/nixpkgs/pkgs/development/python-modules/bincopy/default.nix
index 1bb3a5b46eb4..67b64e2a71af 100644
--- a/nixpkgs/pkgs/development/python-modules/bincopy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bincopy/default.nix
@@ -1,12 +1,22 @@
-{ lib, buildPythonPackage, fetchPypi, argparse-addons, humanfriendly, pyelftools }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, argparse-addons
+, humanfriendly
+, pyelftools
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "bincopy";
-  version = "19.1.0";
+  version = "20.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-aDVkrTBEhrTP1Oc/kiE9ZsJ+8fDGXcb2+FSMQP0X0lY=";
+    hash = "sha256-FM+0z5cie/Kx9bhWI99MdnrSGa/cn+BzLdLP3/RGr98=";
   };
 
   propagatedBuildInputs = [
@@ -15,7 +25,9 @@ buildPythonPackage rec {
     pyelftools
   ];
 
-  pythonImportsCheck = [ "bincopy" ];
+  pythonImportsCheck = [
+    "bincopy"
+  ];
 
   meta = with lib; {
     description = "Mangling of various file formats that conveys binary information (Motorola S-Record, Intel HEX, TI-TXT, ELF and binary files)";
diff --git a/nixpkgs/pkgs/development/python-modules/bip-utils/default.nix b/nixpkgs/pkgs/development/python-modules/bip-utils/default.nix
index b7337c064277..1608ecdf89f1 100644
--- a/nixpkgs/pkgs/development/python-modules/bip-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bip-utils/default.nix
@@ -1,37 +1,32 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, pythonOlder
-, ecdsa
+, cbor2
 , coincurve
-, pynacl
 , crcmod
+, ecdsa
 , ed25519-blake2b
+, fetchFromGitHub
 , py-sr25519-bindings
-, cbor2
 , pycryptodome
+, pynacl
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "bip-utils";
-  version = "2.7.1";
+  version = "2.8.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ebellocchia";
     repo = "bip_utils";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QrCkLiGBdZTQCnbWSTN0PeoAsQfg2CoSGdZcbhqTvOk=";
+    hash = "sha256-FW3ni7kPB0VeVK/uWjDEeWgilP9dNiuvSaboUpG5DLo=";
   };
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "coincurve>=15.0.1,<18.0.0" "coincurve"
-  '';
-
   propagatedBuildInputs = [
     ecdsa
     cbor2
diff --git a/nixpkgs/pkgs/development/python-modules/blinkpy/default.nix b/nixpkgs/pkgs/development/python-modules/blinkpy/default.nix
index 951acb313d15..9c9a1f99acff 100644
--- a/nixpkgs/pkgs/development/python-modules/blinkpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/blinkpy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "blinkpy";
-  version = "0.22.2";
+  version = "0.22.3";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "fronzbot";
     repo = "blinkpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-T6ryiWVpraaXzwHYBXjuIO8PUqUcQBcLi1+O+iNBaoc=";
+    hash = "sha256-J9eBZv/uizkZz53IX1ZfF7IeMOnBonyMD2c5DphW8BQ=";
   };
 
   postPatch = ''
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 8df2ee06a991..faec6cb3650e 100644
--- a/nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bluetooth-data-tools/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-data-tools";
-  version = "1.13.0";
+  version = "1.14.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-qvr4CYOMgyTEFONpe6KA176H56+w6RHThAyUthIzszE=";
+    hash = "sha256-eO17EuZ9K6tLAyEGmTaxw1Cxfz3XPPwNCcIwZ2/uHug=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/nixpkgs/pkgs/development/python-modules/boilerpy3/default.nix b/nixpkgs/pkgs/development/python-modules/boilerpy3/default.nix
index 49573b94ae81..ef2980959d0b 100644
--- a/nixpkgs/pkgs/development/python-modules/boilerpy3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/boilerpy3/default.nix
@@ -6,7 +6,7 @@
 
 let
   pname = "boilerpy3";
-  version = "1.0.6";
+  version = "1.0.7";
 in
 buildPythonPackage {
   inherit pname version;
@@ -18,7 +18,7 @@ buildPythonPackage {
     owner = "jmriebold";
     repo = "BoilerPy3";
     rev = "refs/tags/v${version}";
-    hash = "sha256-hl2+XpSvVaHpq9RGMnSzWHCA8TtBQnYwDtEOia1Rl/A=";
+    hash = "sha256-dhAB0VbBGsSrgYGUlZEYaKA6sQB/f9Bb3alsRuQ8opo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/bork/default.nix b/nixpkgs/pkgs/development/python-modules/bork/default.nix
new file mode 100644
index 000000000000..5cd247cf2872
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/bork/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+
+, build
+, coloredlogs
+, packaging
+, toml
+, twine
+, wheel
+}:
+
+buildPythonPackage rec {
+  pname = "bork";
+  version = "7.0.0";
+  pyproject = true;
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "duckinator";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-frwkU2YesYK0RJNz9yqiXj1XeTZ8jg5oClri4hEYokg=";
+  };
+
+  propagatedBuildInputs = [
+    build
+    coloredlogs
+    packaging
+    toml
+    twine
+    wheel
+  ];
+
+  pythonImportsCheck = [
+    "bork"
+    "bork.api"
+    "bork.cli"
+  ];
+
+  meta = with lib; {
+    description = "Python build and release management tool";
+    homepage = "https://github.com/duckinator/bork";
+    maintainers = with maintainers; [ nicoo ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix b/nixpkgs/pkgs/development/python-modules/boschshcpy/default.nix
index b8aeb5c15762..d3f2548f7a9e 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.72";
+  version = "0.2.75";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tschamm";
     repo = pname;
     rev = version;
-    hash = "sha256-Re+OKgarLe4n54nZyBm0EtzMHcGKqDY6r+7rtvRSqsg=";
+    hash = "sha256-T3QTNnnkquv0IurwNtblX9CF/gLeMONEFfbJV/n/Wj4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix b/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix
index bccc6a2055c1..0d65528f6dfa 100644
--- a/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botocore-stubs/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "botocore-stubs";
-  version = "1.31.78";
+  version = "1.31.79";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "botocore_stubs";
     inherit version;
-    hash = "sha256-zVUOuUqlDXGds8oAt5/7zEgOPe/tBx4SOiQ9+B3UVDA=";
+    hash = "sha256-ZEiLnziQX4pgBBmY+dyUV1QiLZAKM0W0SQWWZ4kMLBc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/botorch/default.nix b/nixpkgs/pkgs/development/python-modules/botorch/default.nix
index 5729a7a40a41..39ed52eb9429 100644
--- a/nixpkgs/pkgs/development/python-modules/botorch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/botorch/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "botorch";
-  version = "0.9.2";
+  version = "0.9.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pytorch";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-8obS+qMQwepKUxPkMbufR/SaacYekl6FA6t6XW6llA4=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-d8EMmA499Zxyagkqx0JCKMZPwSH4LvBya+raD3v3iZU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/bpycv/default.nix b/nixpkgs/pkgs/development/python-modules/bpycv/default.nix
index 4a3eb5b88f78..84085488ae4c 100644
--- a/nixpkgs/pkgs/development/python-modules/bpycv/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bpycv/default.nix
@@ -9,7 +9,7 @@
 , fetchPypi
 , fetchurl
 , minexr
-, opencv3
+, opencv4
 , python3Packages
 , requests
 , runCommand
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     minexr
     zcs
     requests
-    opencv3
+    opencv4
     boxx
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/bsdiff4/default.nix b/nixpkgs/pkgs/development/python-modules/bsdiff4/default.nix
index 3c8df0a17855..f65fe77af252 100644
--- a/nixpkgs/pkgs/development/python-modules/bsdiff4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/bsdiff4/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "bsdiff4";
-  version = "1.2.3";
+  version = "1.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-G5XOk7nzBoRvbJHJ0OPrZZCkyFrCu+crX2DZ24KtKhw=";
+    hash = "sha256-HXEpqBIYYHMejM4pAdMYPhSuxwJE9k6PdFYyddw4gGc=";
   };
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/camelot/default.nix b/nixpkgs/pkgs/development/python-modules/camelot/default.nix
index 2e2f9ef87578..392bdf9a7ec8 100644
--- a/nixpkgs/pkgs/development/python-modules/camelot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/camelot/default.nix
@@ -10,15 +10,16 @@
 , pandas
 , tabulate
 , click
-, pdfminer
+, pdfminer-six
 , pypdf
-, opencv3
+, opencv4
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "camelot-py";
   version = "0.11.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -27,16 +28,18 @@ buildPythonPackage rec {
     hash = "sha256-l6fZBtaF5AWaSlSaY646UfCrcqPIJlV/hEPGWhGB3+Y=";
   };
 
+  nativeBuildInputs = [ setuptools ];
+
   propagatedBuildInputs = [
     charset-normalizer
     chardet
     pandas
     tabulate
     click
-    pdfminer
+    pdfminer-six
     openpyxl
     pypdf
-    opencv3
+    opencv4
   ];
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/canals/default.nix b/nixpkgs/pkgs/development/python-modules/canals/default.nix
index b74594f25ed9..2b3af3e5702d 100644
--- a/nixpkgs/pkgs/development/python-modules/canals/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/canals/default.nix
@@ -6,24 +6,24 @@
 , mkdocs-mermaid2-plugin
 , mkdocstrings
 , networkx
-, pygraphviz
 , pytestCheckHook
 , pythonOlder
 , requests
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "canals";
-  version = "0.8.1";
-  format = "pyproject";
+  version = "0.9.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "deepset-ai";
-    repo = pname;
+    repo = "canals";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XC4CxvDghz8/LReeYjHEVtd8j2ZN4jd+x7vP6N8BKpc=";
+    hash = "sha256-5pRrpi1qxkFgGqcw7Nfc5rnOTra27H31DLKCglkPf6s=";
   };
 
   nativeBuildInputs = [
@@ -32,15 +32,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     networkx
+    requests
+    typing-extensions
   ];
 
   passthru.optional-dependencies = {
-    graphviz = [
-      pygraphviz
-    ];
-    mermaid = [
-      requests
-    ];
     docs = [
       mkdocs-material
       mkdocs-mermaid2-plugin
@@ -54,7 +50,7 @@ buildPythonPackage rec {
 
   disabledTestPaths = [
     # Test requires internet connection to mermaid.ink
-    "test/pipelines/integration"
+    "test/pipeline/integration"
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
index 5d6c520ad3c1..e985ed544d3c 100644
--- a/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
+, cryptography
 , cython
 , eventlet
 , fetchFromGitHub
@@ -24,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "cassandra-driver";
-  version = "3.26.0";
+  version = "3.28.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -33,7 +34,7 @@ buildPythonPackage rec {
     owner = "datastax";
     repo = "python-driver";
     rev = "refs/tags/${version}";
-    hash = "sha256-mLQEG41WyFtXY2PJzoM4uaI4Cm+0xSIAPGhijHHbTBk=";
+    hash = "sha256-5JRbzYl7ftgK6GuvXWdvo52ZlS1th9JyLAYu/UCcPVc=";
   };
 
   postPatch = ''
@@ -56,17 +57,12 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    eventlet
     mock
     nose
     pytz
     pyyaml
     sure
-    scales
-    gremlinpython
-    gevent
-    twisted
-  ];
+  ] ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
 
   # Make /etc/protocols accessible to allow socket.getprotobyname('tcp') in sandbox,
   # also /etc/resolv.conf is referenced by some tests
@@ -77,6 +73,13 @@ buildPythonPackage rec {
   '') + ''
     # increase tolerance for time-based test
     substituteInPlace tests/unit/io/utils.py --replace 'delta=.15' 'delta=.3'
+
+    export HOME=$(mktemp -d)
+    # cythonize this before we hide the source dir as it references
+    # one of its files
+    cythonize -i tests/unit/cython/types_testhelper.pyx
+
+    mv cassandra .cassandra.hidden
   '';
 
   pythonImportsCheck = [
@@ -105,6 +108,15 @@ buildPythonPackage rec {
     "test_nts_token_performance"
   ];
 
+  passthru.optional-dependencies = {
+    cle = [ cryptography ];
+    eventlet = [ eventlet ];
+    gevent = [ gevent ];
+    graph = [ gremlinpython ];
+    metrics = [ scales ];
+    twisted = [ twisted ];
+  };
+
   meta = with lib; {
     description = "A Python client driver for Apache Cassandra";
     homepage = "http://datastax.github.io/python-driver";
diff --git a/nixpkgs/pkgs/development/python-modules/catboost/default.nix b/nixpkgs/pkgs/development/python-modules/catboost/default.nix
index 30e140a83142..840c01d876a1 100644
--- a/nixpkgs/pkgs/development/python-modules/catboost/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/catboost/default.nix
@@ -38,7 +38,7 @@ buildPythonPackage {
     runHook preBuild
 
     # these arguments must set after bdist_wheel
-    ${python.pythonForBuild.interpreter} setup.py bdist_wheel --no-widget --prebuilt-extensions-build-root-dir=${lib.getDev catboost}
+    ${python.pythonOnBuildForHost.interpreter} setup.py bdist_wheel --no-widget --prebuilt-extensions-build-root-dir=${lib.getDev catboost}
 
     runHook postBuild
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/censys/default.nix b/nixpkgs/pkgs/development/python-modules/censys/default.nix
index 15fba8b6a654..9c24281e8d62 100644
--- a/nixpkgs/pkgs/development/python-modules/censys/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/censys/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "censys";
-  version = "2.2.8";
+  version = "2.2.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "censys";
     repo = "censys-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9g0UmG2MJN1GB4ny/BvMV0ipID4w9e5P+NJnpd6DqeI=";
+    hash = "sha256-Q6Ii2fsJYNABhuaRK4nZ6bjjvNsoIcgNVFBXdBgTXIo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cf-xarray/default.nix b/nixpkgs/pkgs/development/python-modules/cf-xarray/default.nix
new file mode 100644
index 000000000000..fdbfe0ff71a2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/cf-xarray/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, buildPythonPackage
+, dask
+, fetchFromGitHub
+, matplotlib
+, pint
+, pooch
+, pytestCheckHook
+, pythonOlder
+, regex
+, rich
+, scipy
+, setuptools
+, setuptools-scm
+, shapely
+, wheel
+, xarray
+}:
+
+buildPythonPackage rec {
+  pname = "cf-xarray";
+  version = "0.8.6";
+  pyproject = true;
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "xarray-contrib";
+    repo = "cf-xarray";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-qcoHz/yZoPVu0uBKKx4AV7MOokiuXSCaWPD/92VlRFk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
+    xarray
+  ];
+
+  propagatedBuildInputs = [
+    xarray
+  ];
+
+  passthru.optional-dependencies = {
+    all = [
+      matplotlib
+      pint
+      pooch
+      regex
+      rich
+      shapely
+    ];
+  };
+
+  nativeCheckInputs = [
+    dask
+    pytestCheckHook
+    scipy
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  pythonImportsCheck = [
+    "cf_xarray"
+  ];
+
+  disabledTestPaths = [
+    # Tests require network access
+    "cf_xarray/tests/test_accessor.py"
+    "cf_xarray/tests/test_helpers.py"
+  ];
+
+  meta = with lib; {
+    description = "An accessor for xarray objects that interprets CF attributes";
+    homepage = "https://github.com/xarray-contrib/cf-xarray";
+    changelog = "https://github.com/xarray-contrib/cf-xarray/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix b/nixpkgs/pkgs/development/python-modules/chacha20poly1305-reuseable/default.nix
index 5237fe31f370..1d1b21ceee57 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.10.2";
+  version = "0.11.0";
 in
 
 buildPythonPackage {
@@ -30,7 +30,7 @@ buildPythonPackage {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-jLaYdVNgjpy/fjjt9om72jirgMaM61T/OZu/iHZ/W4k=";
+    hash = "sha256-uRndA0NnSQtJTftALzBF3FWZtavRyMwBlnCBqoIXE5Q=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix b/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
index b4d0c4b40765..e6bff88f4321 100644
--- a/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clarifai-grpc/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "clarifai-grpc";
-  version = "9.9.3";
+  version = "9.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9h/d1w5toxWMHMvVkQiuHySf3+IjeumD4EipgI1kaEs=";
+    hash = "sha256-8jx2OP1VcQtGmen58r1k/w7srjSJC/53sNxFrRm7IXs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/claripy/default.nix b/nixpkgs/pkgs/development/python-modules/claripy/default.nix
index 8907b8b8ac26..52a3bf6482d0 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.75";
+  version = "9.2.77";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "claripy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ErPk93hDKV1QyGOjxYNaLzNuq6Od374G8qOxWiJwpuo=";
+    hash = "sha256-YLa70xxLDyOOKQg/PzFO90JzS5SyvgcJ2+Nltz0q6T8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cle/default.nix b/nixpkgs/pkgs/development/python-modules/cle/default.nix
index 3f4e7addb778..6b56defb4cb4 100644
--- a/nixpkgs/pkgs/development/python-modules/cle/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cle/default.nix
@@ -16,14 +16,14 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.75";
+  version = "9.2.77";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
     owner = "angr";
     repo = "binaries";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xiYkXC3/JPgXJ23ISl0LVrdm368hDPCG5NqQM6lDXf4=";
+    hash = "sha256-YPxdKwR+pq0S1B9GltE8r3bFWDPpCU8OQ05w+kp4lAs=";
   };
 
 in
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = "cle";
     rev = "refs/tags/v${version}";
-    hash = "sha256-F2kgEffFWK7i1BgU5ulsNJitGcGcEziYRU+y86wKgXU=";
+    hash = "sha256-tdfV+DoDcRO+8TjiBc0u1huA+etF4MY5uYj670lqudY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cleanlab/default.nix b/nixpkgs/pkgs/development/python-modules/cleanlab/default.nix
index f1de682c40b5..fdaf384262b8 100644
--- a/nixpkgs/pkgs/development/python-modules/cleanlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cleanlab/default.nix
@@ -6,23 +6,27 @@
 , termcolor
 , tqdm
 , pandas
+, setuptools
 # test dependencies
+, pytestCheckHook
+, pytest-lazy-fixture
 , tensorflow
 , torch
 , datasets
 , torchvision
 , keras
 , fasttext
+, hypothesis
+, wget
+, matplotlib
+, skorch
 }:
-let
+
+buildPythonPackage rec {
   pname = "cleanlab";
   version = "2.5.0";
-in
-buildPythonPackage {
-  inherit pname version;
-  format = "setuptools";
-
-  disabled = pythonOlder "3.8";
+  pyproject = true;
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "cleanlab";
@@ -31,11 +35,7 @@ buildPythonPackage {
     hash = "sha256-5XQQVrhjpvjwtFM79DqttObmw/GQLkMQVXb5jhiC8e0=";
   };
 
-  # postPatch = ''
-  #   substituteInPlace pyproject.toml \
-  #     --replace '"rich <= 13.0.1"' '"rich"' \
-  #     --replace '"numpy < 1.24.0"' '"numpy"'
-  # '';
+  nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
     scikit-learn
@@ -44,13 +44,38 @@ buildPythonPackage {
     pandas
   ];
 
+  # This is ONLY turned off when we have testing enabled.
+  # The reason we do this is because of duplicate packages in the enclosure
+  # when using the packages in nativeCheckInputs.
+  # Affected packages: grpcio protobuf tensorboard tensorboard-plugin-profile
+  catchConflicts = (!doCheck);
+  doCheck = true;
+
   nativeCheckInputs = [
+    pytestCheckHook
+    pytest-lazy-fixture
     tensorflow
     torch
     datasets
     torchvision
     keras
     fasttext
+    hypothesis
+    wget
+    matplotlib
+    skorch
+  ];
+
+  disabledTests = [
+    # Requires the datasets we prevent from downloading
+    "test_create_imagelab"
+  ];
+
+  disabledTestPaths = [
+    # Requires internet
+    "tests/test_dataset.py"
+    # Requires the datasets we just prevented from downloading
+    "tests/datalab/test_cleanvision_integration.py"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/cleo/default.nix b/nixpkgs/pkgs/development/python-modules/cleo/default.nix
index ab3eb9514d15..caa812c63a84 100644
--- a/nixpkgs/pkgs/development/python-modules/cleo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cleo/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "cleo";
-  version = "2.0.1";
+  version = "2.1.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "python-poetry";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-y9PYlGSPLpZl9Ad2AFuDKIopH0LRETLp35aiZtLcXzM=";
+    hash = "sha256-reo/7aPFU5uvZ1YPRTJDRmcMSMFru8e5ss5YmjSe3QU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click-aliases/default.nix b/nixpkgs/pkgs/development/python-modules/click-aliases/default.nix
index 7e2ed9b1bf5a..18a97769b3d8 100644
--- a/nixpkgs/pkgs/development/python-modules/click-aliases/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-aliases/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "click-aliases";
-  version = "1.0.2";
+  version = "1.0.3";
 
   pyproject = true;
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "click-contrib";
     repo = "click-aliases";
     rev = "v${version}";
-    hash = "sha256-ZrNdxUMLRre0U9xCyyU8HjByNGMSXiuMDVjW9e88eyk=";
+    hash = "sha256-HTjo6ID27W7D4MZjeAJMSy5yVd6oKg0Ed9/kDtQZ7Vw=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix b/nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix
index ced0f6678407..27c0c37d2106 100644
--- a/nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/click-odoo-contrib/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "click-odoo-contrib";
-  version = "1.17.0";
+  version = "1.18.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-my6dWmAqvelihtB9SzFje01dZenkkNneKqcgwKtbOuA=";
+    hash = "sha256-dLvrj3yTgfdlW3kEmZtXri3zGlBGQZhsPHzO0rf7foQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix b/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix
index 1d693b3629f3..0a2ffd9a59cd 100644
--- a/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/clickhouse-connect/default.nix
@@ -23,7 +23,7 @@
 }:
 buildPythonPackage rec {
   pname = "clickhouse-connect";
-  version = "0.6.11";
+  version = "0.6.18";
 
   format = "setuptools";
 
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     repo = "clickhouse-connect";
     owner = "ClickHouse";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1ItHRbfV8tSH5h0f+/bXIBIWfAxh4Umxqm4N4MT7oek=";
+    hash = "sha256-8deiWqVRqGF8MFYe4Y/alJqudBc/vOpQAB2DGweXL5Q=";
   };
 
   nativeBuildInputs = [ cython_3 ];
diff --git a/nixpkgs/pkgs/development/python-modules/cobs/default.nix b/nixpkgs/pkgs/development/python-modules/cobs/default.nix
index 4ea171d94291..e5ba04c960fe 100644
--- a/nixpkgs/pkgs/development/python-modules/cobs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cobs/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "cobs";
-  version = "1.2.0";
+  version = "1.2.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2TsQtTcNyIaJYK77cK2x9zpOYQexaRgwekru79PtuPY=";
+    hash = "sha256-Kvf4eRzeGufGuTb10MNf4p/rEN4l95wVsK8NZyl4PMA=";
   };
 
   checkPhase = ''
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 967bcab909d4..91484fe6a7f7 100644
--- a/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/coinmetrics-api-client/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "coinmetrics-api-client";
-  version = "2023.9.29.14";
+  version = "2023.10.30.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "coinmetrics_api_client";
-    hash = "sha256-88tNPg/0U5ZC2OvH8Bh9EzKzRFF2YClS2tyrswBaUZw=";
+    hash = "sha256-Kb6iVLV///X0UKby/7/wfbSGUFLw6HQX3SUwPX79QD0=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix b/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix
index 1f63ed419734..7a79c3855478 100644
--- a/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/correctionlib/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "correctionlib";
-  version = "2.3.3";
+  version = "2.4.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4WXY7XfZVYaJD63y7fPB6tCsc+wGAsgnFlgtFbX5IK0=";
+    hash = "sha256-bQKcS8vktvD62zvSeaBtoJw36TSpo0gEpKm0HI3AuXg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/crate/default.nix b/nixpkgs/pkgs/development/python-modules/crate/default.nix
index 2a6b5a1fc1ee..fe60eceb93c8 100644
--- a/nixpkgs/pkgs/development/python-modules/crate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/crate/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "crate";
-  version = "0.33.0";
+  version = "0.34.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-bzsJnWw4rLjl1VrjmfNq4PudrnWPB1FzIuWAc9WmT6M=";
+    hash = "sha256-nEWrfCd2MQCcIM6dLkVYc/cWT5wcT/pvYaY2V3wfuto=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix b/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix
index da45bb33ffc0..c8cdc1c6d3d3 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptolyzer/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "cryptolyzer";
-  version = "0.10.0";
+  version = "0.10.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "CryptoLyzer";
     inherit version;
-    hash = "sha256-jb2yin3W+VfqFWJbQOXNml0xJEbSr1SfSSFupfxBHRs=";
+    hash = "sha256-8jpWDd/+eEaAp8L4ySpNK91fma005cPMLgzAsSAIpKg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix b/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix
index d0a9c3d7eb9f..54be9191a259 100644
--- a/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cryptoparser/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "cryptoparser";
-  version = "0.10.3";
+  version = "0.11.0";
   format = "pyproject";
 
   src = fetchPypi {
     pname = "CryptoParser";
     inherit version;
-    hash = "sha256-FvSs0LeyuobkJhJd5vlR+Bm4LqGxPvPTogsYKtHOpVw=";
+    hash = "sha256-fgPmgZxv/UpaoeBO08xcUbPxmjVV4AUEgivNOvWxd04=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/css-parser/default.nix b/nixpkgs/pkgs/development/python-modules/css-parser/default.nix
index 2da8e6d8cca3..bd2a3258d0b0 100644
--- a/nixpkgs/pkgs/development/python-modules/css-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/css-parser/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "css-parser";
-  version = "1.0.9";
+  version = "1.0.10";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GW24Is7yJ0WvaljRgM+CBpSc7Vi0j18+6Y8d4WJ0lbs=";
+    hash = "sha256-vx6XKtMzROkyBpZPtM2QjZ3e+fzQwB+pPg1zRnU5Q2M=";
   };
 
   # Test suite not included in tarball yet
diff --git a/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix b/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix
index 0a2b13ad4c81..f6135ecba744 100644
--- a/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cvxopt/default.nix
@@ -68,7 +68,7 @@ buildPythonPackage rec {
   unittestFlagsArray = [ "-s" "tests" ];
 
   meta = with lib; {
-    homepage = "http://cvxopt.org/";
+    homepage = "https://cvxopt.org/";
     description = "Python Software for Convex Optimization";
     longDescription = ''
       CVXOPT is a free software package for convex optimization based on the
diff --git a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
index 0fb8be981e10..3d34b6edda8a 100644
--- a/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cvxpy/default.nix
@@ -12,19 +12,20 @@
 , scs
 , setuptools
 , wheel
+, pybind11
 , useOpenmp ? (!stdenv.isDarwin)
 }:
 
 buildPythonPackage rec {
   pname = "cvxpy";
-  version = "1.3.2";
+  version = "1.4.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-C2heUEDxmfPXA/MPXSLR+GVZdiNFUVPR3ddwJFrvCXU=";
+    hash = "sha256-ep7zTjxX/4yETYbwo4NPtVda8ZIzlHY53guld8YSLj4=";
   };
 
   # we need to patch out numpy version caps from upstream
@@ -35,6 +36,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     setuptools
     wheel
+    pybind11
   ];
 
   propagatedBuildInputs = [
@@ -44,7 +46,6 @@ buildPythonPackage rec {
     osqp
     scipy
     scs
-    setuptools
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix b/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix
index db03a359a6bd..e8b27794ae46 100644
--- a/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cx-freeze/default.nix
@@ -11,15 +11,15 @@
 
 buildPythonPackage rec {
   pname = "cx-freeze";
-  version = "6.15.7";
+  version = "6.15.10";
   format = "pyproject";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     pname = "cx_Freeze";
     inherit version;
-    hash = "sha256-+X9FWkpG7gwHbZIqKftT7/RioWXdBCP6J+J8KkRTtAs=";
+    hash = "sha256-Bc0md1lpL1EYYdIoYNNeKgW/v3OPliwVdhi7jHcdIyA=";
   };
 
   nativeBuildInputs = [
@@ -55,6 +55,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A set of scripts and modules for freezing Python scripts into executables";
     homepage = "https://marcelotduarte.github.io/cx_Freeze/";
+    changelog = "https://github.com/marcelotduarte/cx_Freeze/releases/tag/${version}";
     license = licenses.psfl;
     maintainers = with maintainers; [ ];
     mainProgram = "cxfreeze";
diff --git a/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
index b07ceca9a6dc..9abc6abced01 100644
--- a/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "cyclonedx-python-lib";
-  version = "4.2.3";
+  version = "5.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "CycloneDX";
     repo = "cyclonedx-python-lib";
     rev = "refs/tags/v${version}";
-    hash = "sha256-I94YsfDJ+FGQBRWCRKum917tXJ5vFm/cWbbM+NpwA4M=";
+    hash = "sha256-M3aR3lCNtPIve1o16QLSnxrULhtXkuOXNYtOv2FmPMQ=";
   };
 
   nativeBuildInputs = [
@@ -78,9 +78,11 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # These tests require network access.
+    # These tests require network access
     "test_bom_v1_3_with_metadata_component"
     "test_bom_v1_4_with_metadata_component"
+    # AssertionError: <ValidationError: "{'algorithm': 'ES256', ...
+    "TestJson"
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/cypari2/default.nix b/nixpkgs/pkgs/development/python-modules/cypari2/default.nix
index 4cdd8f31a5fd..c2bdca1bfe69 100644
--- a/nixpkgs/pkgs/development/python-modules/cypari2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/cypari2/default.nix
@@ -42,7 +42,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     pari
-    python.pythonForBuild.pkgs.pip
+    python.pythonOnBuildForHost.pkgs.pip
   ];
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix b/nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix
index f20b693d3870..0c768ba5dbe1 100644
--- a/nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dalle-mini/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , einops
 , emoji
 , flax
@@ -16,16 +17,20 @@
 buildPythonPackage rec {
   pname = "dalle-mini";
   version = "0.1.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-k4XILjNNz0FPcAzwPEeqe5Lj24S2Y139uc9o/1IUS1c=";
   };
 
-  format = "setuptools";
-
-  buildInputs = [
-    jaxlib
+  # Fix incompatibility with the latest JAX versions
+  # See https://github.com/borisdayma/dalle-mini/pull/338
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/borisdayma/dalle-mini/pull/338/commits/22ffccf03f3e207731a481e3e42bdb564ceebb69.patch";
+      hash = "sha256-LIOyfeq/oVYukG+1rfy5PjjsJcjADCjn18x/hVmLkPY=";
+    })
   ];
 
   propagatedBuildInputs = [
@@ -34,6 +39,7 @@ buildPythonPackage rec {
     flax
     ftfy
     jax
+    jaxlib
     pillow
     transformers
     unidecode
diff --git a/nixpkgs/pkgs/development/python-modules/dash/default.nix b/nixpkgs/pkgs/development/python-modules/dash/default.nix
index 5d99a40c004b..59e28a31daf4 100644
--- a/nixpkgs/pkgs/development/python-modules/dash/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dash/default.nix
@@ -1,27 +1,43 @@
 { lib
 , buildPythonPackage
-, celery
-, dash-core-components
+, pythonOlder
+, fetchFromGitHub
+
+, nodejs
+, yarn
+, fixup_yarn_lock
+, fetchYarnDeps
+
+, setuptools
+, flask
+, werkzeug
+, plotly
 , dash-html-components
+, dash-core-components
 , dash-table
+, importlib-metadata
+, typing-extensions
+, requests
+, retrying
+, ansi2html
+, nest-asyncio
+
+, celery
+, redis
 , diskcache
-, fetchFromGitHub
-, flask
-, flask-compress
-, mock
 , multiprocess
-, plotly
 , psutil
-, pytest-mock
+, flask-compress
+
 , pytestCheckHook
-, pythonOlder
+, pytest-mock
+, mock
 , pyyaml
-, redis
 }:
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "2.13.0";
+  version = "2.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -30,16 +46,52 @@ buildPythonPackage rec {
     owner = "plotly";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+pTxEPuXtcu+ZekphqXD/k2tQ5werH/1ueGJOxA8pZw=";
+    hash = "sha256-vQOfX9RCIbr5lfUyT2knwrO374/vm7jH+/1+BeqmRjI=";
   };
 
+  nativeBuildInputs = [
+    nodejs
+    yarn
+    fixup_yarn_lock
+  ];
+
+  yarnDeps = fetchYarnDeps {
+    yarnLock = src + "/@plotly/dash-jupyterlab/yarn.lock";
+    hash = "sha256-mkiyrA0jGiP0zbabSjgHFLEUX3f+LZdJ8eARI5QA8CU=";
+  };
+
+  preBuild = ''
+    pushd @plotly/dash-jupyterlab
+
+    export HOME=$(mktemp -d)
+
+    yarn config --offline set yarn-offline-mirror ${yarnDeps}
+    fixup_yarn_lock yarn.lock
+
+    substituteInPlace package.json --replace jlpm yarn
+    yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts
+    patchShebangs .
+
+    # Generates the jupyterlab extension files
+    yarn run build:pack
+
+    popd
+  '';
+
   propagatedBuildInputs = [
-    dash-core-components
-    dash-html-components
-    dash-table
+    setuptools # for importing pkg_resources
     flask
-    flask-compress
+    werkzeug
     plotly
+    dash-html-components
+    dash-core-components
+    dash-table
+    importlib-metadata
+    typing-extensions
+    requests
+    retrying
+    ansi2html
+    nest-asyncio
   ];
 
   passthru.optional-dependencies = {
@@ -52,35 +104,31 @@ buildPythonPackage rec {
       multiprocess
       psutil
     ];
+    compress = [
+      flask-compress
+    ];
   };
 
   nativeCheckInputs = [
-    mock
-    pytest-mock
     pytestCheckHook
+    pytest-mock
+    mock
     pyyaml
   ];
 
   disabledTestPaths = [
     "tests/unit/test_browser.py"
-    "tests/unit/test_app_runners.py" # Use selenium
+    "tests/unit/test_app_runners.py" # Uses selenium
     "tests/integration"
   ];
 
-  disabledTests = [
-    # Failed: DID NOT RAISE <class 'ImportError'>
-    "test_missing_flask_compress_raises"
-  ];
-
-  pythonImportsCheck = [
-    "dash"
-  ];
+  pythonImportsCheck = [ "dash" ];
 
-  meta = with lib; {
+  meta = {
     description = "Python framework for building analytical web applications";
     homepage = "https://dash.plot.ly/";
-    changelog = "https://github.com/plotly/dash/blob/v${version}/CHANGELOG.md";
-    license = licenses.mit;
-    maintainers = with maintainers; [ antoinerg ];
+    changelog = "https://github.com/plotly/dash/blob/${src.rev}/CHANGELOG.md";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ antoinerg tomasajt ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix b/nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix
index bcc274b7771c..39ae8e5ddcad 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-awkward/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dask-awkward";
-  version = "2023.10.1";
+  version = "2023.11.2";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "dask-contrib";
     repo = "dask-awkward";
     rev = "refs/tags/${version}";
-    hash = "sha256-ov5vE9O+dq0ByfSMluQl7NN0vZAcvvBX27iwoYSruSs=";
+    hash = "sha256-yx0B31x+BMS4alHro+hAPeVB6YK9B7Tg+3sSCMCYjKs=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dask-histogram/default.nix b/nixpkgs/pkgs/development/python-modules/dask-histogram/default.nix
index 6b2fbb01d270..5bdcb2458e45 100644
--- a/nixpkgs/pkgs/development/python-modules/dask-histogram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask-histogram/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "dask-histogram";
-  version = "2023.6.0";
+  version = "2023.10.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "dask-contrib";
     repo = "dask-histogram";
     rev = "refs/tags/${version}";
-    hash = "sha256-9b2+vrUH8lZYsEbJg+GmY5zHZ+7PyA9NV2h5VAN0J1s=";
+    hash = "sha256-ugAqNdvCROCCXURwsGLpnl/lBEAremvTI7MVa/TWt6c=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dask/default.nix b/nixpkgs/pkgs/development/python-modules/dask/default.nix
index 706dd76a1da3..fcf2e03ad596 100644
--- a/nixpkgs/pkgs/development/python-modules/dask/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dask/default.nix
@@ -38,7 +38,7 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2023.10.0";
+  version = "2023.10.1";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -47,7 +47,7 @@ buildPythonPackage rec {
     owner = "dask";
     repo = "dask";
     rev = "refs/tags/${version}";
-    hash = "sha256-u7KuZT0uH833zqLNBfqRLU7EcMrUmXgszevYA3Z7G1Y=";
+    hash = "sha256-asD5oLd7XcZ8ZFSrsSCAKgZ3Gsqs6T77nb1qesamgUI=";
   };
 
   nativeBuildInputs = [
@@ -114,7 +114,7 @@ buildPythonPackage rec {
       --replace "cmdclass=versioneer.get_cmdclass()," ""
 
     substituteInPlace pyproject.toml \
-      --replace ', "versioneer[toml]==0.28"' "" \
+      --replace ', "versioneer[toml]==0.29"' "" \
       --replace " --durations=10" "" \
       --replace " --cov-config=pyproject.toml" "" \
       --replace "\"-v" "\" "
diff --git a/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix b/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
index 4394271f7ebd..99264bbae494 100644
--- a/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbus-fast/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "2.12.0";
+  version = "2.14.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZeDQn+/b6WBCodZ7Ow5IlC9XlWieAifCMJtM1yse5P8=";
+    hash = "sha256-IT18r7LKOVuiCuE/QzW6X/jkr5EK8sSR038i4LR1bcs=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/nixpkgs/pkgs/development/python-modules/dbus/default.nix b/nixpkgs/pkgs/development/python-modules/dbus/default.nix
index 5e1053fc1af9..f929f58de1c3 100644
--- a/nixpkgs/pkgs/development/python-modules/dbus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dbus/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   '';
 
   configureFlags = [
-    "PYTHON=${python.pythonForBuild.interpreter}"
+    "PYTHON=${python.pythonOnBuildForHost.interpreter}"
   ];
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/python-modules/debianbts/default.nix b/nixpkgs/pkgs/development/python-modules/debianbts/default.nix
index 5390e40a2063..67b43fdff3fb 100644
--- a/nixpkgs/pkgs/development/python-modules/debianbts/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/debianbts/default.nix
@@ -1,31 +1,42 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nix-update-script
 , pysimplesoap
-, pytest , pytest-xdist
+, pytestCheckHook
+, pytest-xdist
 , pythonOlder
 , setuptools
 }:
 
 buildPythonPackage rec {
   pname = "python-debianbts";
-  version = "4.0.1";
-  format = "pyproject";
+  version = "4.0.2";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
-  passthru.updateScript = nix-update-script { };
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b0817d593ccdfb58a5f37b8cb3873bd0b2268b434f2798dc75b206d7550fdf04";
+    hash = "sha256-JbPb0lZND96XLZNU97wMuT9iGNXVN2KTsZC2St6FfuU=";
   };
 
-  buildInputs = [ setuptools ];
-  propagatedBuildInputs = [ pysimplesoap ];
-  checkInputs = [
-    pytest
-    pytest-xdist
+  postPatch = ''
+    sed -i "/--cov/d" pyproject.toml
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    pysimplesoap
+  ];
+
+  # Most tests require network access
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "debianbts"
   ];
 
   meta = with lib; {
@@ -34,6 +45,6 @@ buildPythonPackage rec {
     downloadPage = "https://pypi.org/project/python-debianbts/";
     changelog = "https://github.com/venthur/python-debianbts/blob/${version}/CHANGELOG.md";
     license = licenses.mit;
-    maintainers = [ maintainers.nicoo ];
+    maintainers = with maintainers; [ nicoo ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/derpconf/default.nix b/nixpkgs/pkgs/development/python-modules/derpconf/default.nix
index cc7b6870ad82..b3a4dd9d35d8 100644
--- a/nixpkgs/pkgs/development/python-modules/derpconf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/derpconf/default.nix
@@ -1,19 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi, six }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "derpconf";
-  version = "0.8.3";
+  version = "0.8.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bb152d8a1cf5c2a6d629bf29acd4af0c00811339642fc0a56172b0a83b31a15";
+    hash = "sha256-66MOqcWIiqJrORJDgAH5iUblHyqJvuf9DIBN56XjKwU=";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [
+    six
+  ];
+
+  pythonImportsCheck = [
+    "derpconf"
+  ];
 
   meta = with lib; {
-    description = "derpconf abstracts loading configuration files for your app";
+    description = "Module to abstract loading configuration files for your app";
     homepage = "https://github.com/globocom/derpconf";
+    changelog = "https://github.com/globocom/derpconf/releases/tag/${version}";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/diagrams/default.nix b/nixpkgs/pkgs/development/python-modules/diagrams/default.nix
index f7dda6214ac8..963161e7c77e 100644
--- a/nixpkgs/pkgs/development/python-modules/diagrams/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diagrams/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "diagrams";
-  version = "0.23.3";
+  version = "0.23.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "mingrammer";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4b+jmR56y2VV0XxD6FCmNpDB0UKH9+FqcTQuU2jRCXo=";
+    hash = "sha256-2jRWN2glGEr51fzny8nkqa5c2EdJG5aZPG2eTD7AISY=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/diffsync/default.nix b/nixpkgs/pkgs/development/python-modules/diffsync/default.nix
index 81c3b5c7eda4..26e0b58e7e21 100644
--- a/nixpkgs/pkgs/development/python-modules/diffsync/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/diffsync/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "diffsync";
-  version = "1.8.0";
+  version = "1.9.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "networktocode";
     repo = "diffsync";
     rev = "refs/tags/v${version}";
-    hash = "sha256-2OhckgJK1qimF0AcYSa8L+AkzfiN5VojWj0x6kwbgyk=";
+    hash = "sha256-OopWzb02/xvASTuvg3dDTEoRwOwKOL0c3arqlsXBUuo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dinghy/default.nix b/nixpkgs/pkgs/development/python-modules/dinghy/default.nix
index cae8c8abcc66..20d855bf0d26 100644
--- a/nixpkgs/pkgs/development/python-modules/dinghy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dinghy/default.nix
@@ -5,17 +5,21 @@
 , pythonOlder
 , aiofiles
 , aiohttp
+, backports-datetime-fromisoformat
+, click
 , click-log
 , emoji
 , glom
 , jinja2
 , pyyaml
+, freezegun
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "dinghy";
-  version = "1.3.0";
-  format = "setuptools";
+  version = "1.3.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -23,12 +27,18 @@ buildPythonPackage rec {
     owner = "nedbat";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-a1CHbPSoiR3JbuAXYPJc1EsSq13DbrOttk9zLFF9+cM=";
+    hash = "sha256-0U08QHQuNm7qaxhU8sNxeN0fZ4S8N0RYRsWjFUqhZSU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiofiles
     aiohttp
+    backports-datetime-fromisoformat
+    click
     click-log
     emoji
     glom
@@ -37,6 +47,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    freezegun
     pytestCheckHook
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix
index 5ae671c06a7e..8c9767f6c066 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-esedb/default.nix
@@ -12,7 +12,7 @@
 buildPythonPackage rec {
   pname = "dissect-esedb";
   version = "3.9";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix
index 7e022eb1797b..b1d8bb2b1b84 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-evidence/default.nix
@@ -12,9 +12,9 @@
 buildPythonPackage rec {
   pname = "dissect-evidence";
   version = "3.7";
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix
index 0fd868f4835f..9fa9457b2848 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-fat/default.nix
@@ -11,9 +11,9 @@
 buildPythonPackage rec {
   pname = "dissect-fat";
   version = "3.6";
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix
index ff1395b932cb..55ce876fe216 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-hypervisor/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, defusedxml
 , dissect-cstruct
 , dissect-util
 , fetchFromGitHub
@@ -14,7 +15,7 @@
 buildPythonPackage rec {
   pname = "dissect-hypervisor";
   version = "3.9";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
@@ -33,6 +34,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    defusedxml
     dissect-cstruct
     dissect-util
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix
index bc0d8798255f..9671bb33c8ab 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-regf/default.nix
@@ -12,9 +12,9 @@
 buildPythonPackage rec {
   pname = "dissect-regf";
   version = "3.7";
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-target/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-target/default.nix
index 7704766d4342..dfb7f7867534 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.12";
+  version = "3.13";
   format = "pyproject";
 
-  disabled = pythonOlder "3.12";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.target";
     rev = "refs/tags/${version}";
-    hash = "sha256-ByjeQcoDi0edum2XebF2DQ7d0xeH2nyulj6vt7bztKg=";
+    hash = "sha256-4dtKAFhxaS8PRoeLY6ZYrE/4P1pbcii1gWQ9RRVOBzs=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -108,6 +108,11 @@ buildPythonPackage rec {
     "test_exec_target_command"
     # Issue with tar file
     "test_tar_sensitive_drive_letter"
+    "test_dpapi_decrypt_blob"
+    "test_notifications_appdb"
+    "test_md"
+    "test_notifications_wpndatabase"
+    "test_nested_md_lvm"
     # Tests compare dates and times
     "yum"
     # Filesystem access, windows defender tests
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix
index a9224d0d4361..e63e7bb4ac91 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-thumbcache/default.nix
@@ -12,9 +12,9 @@
 buildPythonPackage rec {
   pname = "dissect-thumbcache";
   version = "1.6";
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-util/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-util/default.nix
index 735ad9820f26..bfbc76b73c92 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.11";
+  version = "3.12";
   format = "pyproject";
 
-  disabled = pythonOlder "3.11";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
     repo = "dissect.util";
     rev = "refs/tags/${version}";
-    hash = "sha256-PtmvXnmZ6f8YxEejqaVwtaoV7d1Oa7063ZFagH110yk=";
+    hash = "sha256-rso6TIw8cQnkb58KtGKOfzIzpqJLW05L9sRWIGX3teA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix b/nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix
index 3cf3282c0b5b..1ef6ffb44998 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect-volume/default.nix
@@ -12,9 +12,9 @@
 buildPythonPackage rec {
   pname = "dissect-volume";
   version = "3.7";
-  format = "pyproject";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "fox-it";
diff --git a/nixpkgs/pkgs/development/python-modules/dissect/default.nix b/nixpkgs/pkgs/development/python-modules/dissect/default.nix
index e9b1c6b46a6e..6ff492588420 100644
--- a/nixpkgs/pkgs/development/python-modules/dissect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dissect/default.nix
@@ -32,7 +32,7 @@
 
 buildPythonPackage rec {
   pname = "dissect";
-  version = "3.9";
+  version = "3.10";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "fox-it";
     repo = "dissect";
     rev = "refs/tags/${version}";
-    hash = "sha256-lNa6GiX0hCZFVyiokBzEKGsvimSkUkgR1bkQMhxUbDw=";
+    hash = "sha256-AgmBU2sC3/okC7LKQC6yMEJ3u69WwAMAANILMASBIjw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/django-admin-sortable2/default.nix b/nixpkgs/pkgs/development/python-modules/django-admin-sortable2/default.nix
index 2f1c6e3c32a1..d9987f5b5dec 100644
--- a/nixpkgs/pkgs/development/python-modules/django-admin-sortable2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-admin-sortable2/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-admin-sortable2";
-  version = "2.1.9";
+  version = "2.1.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit version pname;
-    hash = "sha256-vwNnhcWYaFoAGesINAuI/mynS9F4Az4ikObEG2L6S/E=";
+    hash = "sha256-N1awLH0JxbN+/mV3GNWq4rdfRv0Bu/4cOdTmBlEBnXk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix b/nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix
index 4c6c4e786ade..5416cf359f35 100644
--- a/nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-cacheops/default.nix
@@ -20,14 +20,14 @@
 
 buildPythonPackage rec {
   pname = "django-cacheops";
-  version = "7.0.1";
+  version = "7.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ed3qh90DlWiXikCD2JyJ37hm6lWnpI+2haaPwZiotlA=";
+    hash = "sha256-d6N8c9f6z8cpk2XtZqEr56SH3XRd2GwdM8ouv9OzKHg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-configurations/default.nix b/nixpkgs/pkgs/development/python-modules/django-configurations/default.nix
index c7fbde5bdf37..ba32b7576403 100644
--- a/nixpkgs/pkgs/development/python-modules/django-configurations/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-configurations/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "django-configurations";
-  version = "2.4.1";
+  version = "2.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-psJcFDg05nsg00dRUS0IsykGhPJQmO4hKx7jaASlkIU=";
+    hash = "sha256-Y/olLEDciOoXuLkPX0oxonJuWGrLH/Dtx0wijGHxnl0=";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix b/nixpkgs/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix
new file mode 100644
index 000000000000..d8bb73ccdef8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-crispy-bootstrap4/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, django
+, setuptools
+, pytestCheckHook
+, pytest-django
+, django-crispy-forms
+}:
+
+buildPythonPackage rec {
+  pname = "django-crispy-bootstrap4";
+  version = "2023.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "django-crispy-forms";
+    repo = "crispy-bootstrap4";
+    rev = "refs/tags/${version}";
+    hash = "sha256-4p6dlyQYZGyfBntTuzCjikL8ZG/4xDnTiQ1rCVt0Hbk=";
+  };
+
+  propagatedBuildInputs = [
+    django
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytest-django
+    pytestCheckHook
+    django-crispy-forms
+  ];
+
+  pythonImportsCheck = [ "crispy_bootstrap4" ];
+
+  meta = with lib; {
+    description = "Bootstrap 4 template pack for django-crispy-forms";
+    homepage = "https://github.com/django-crispy-forms/crispy-bootstrap4";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-crispy-forms/default.nix b/nixpkgs/pkgs/development/python-modules/django-crispy-forms/default.nix
index c1cc31e8acfb..81aecd208ae8 100644
--- a/nixpkgs/pkgs/development/python-modules/django-crispy-forms/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-crispy-forms/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "django-crispy-forms";
-  version = "2.0";
+  version = "2.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "django-crispy-forms";
     repo = "django-crispy-forms";
     rev = "refs/tags/${version}";
-    hash = "sha256-oxOW7gFpjUehWGeqZZjhPwptX0Gpgj5lP0lw0zkYGuE=";
+    hash = "sha256-UQ5m0JWir20TdLgS+DVVLcMBlIEIfmzv8pkMJtaC0LA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/django-crontab/default.nix b/nixpkgs/pkgs/development/python-modules/django-crontab/default.nix
new file mode 100644
index 000000000000..27ecce4a1ddb
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-crontab/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, django
+, setuptools
+, pytestCheckHook
+, pytest-django
+, mock
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "django-crontab";
+  version = "0.7.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "kraiz";
+    repo = "django-crontab";
+    rev = "refs/tags/${version}";
+    hash = "sha256-qX+N3SMUyhMWoWluRCeOPGYKCMBnjg61P281HXHkfJk=";
+  };
+
+  propagatedBuildInputs = [
+    django
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    django
+    mock
+    nose
+    pytestCheckHook
+    pytest-django
+  ];
+
+  # Tests currently fail with: RuntimeError: setup_test_environment() was
+  # already called and can't be called again without first calling
+  # teardown_test_environment()
+  doCheck = false;
+
+  DJANGO_SETTINGS_MODULE = "tests.settings";
+
+  pythonImportsCheck = [ "django_crontab" ];
+
+  meta = with lib; {
+    description = "Simple crontab powered job scheduling for Django";
+    homepage = "https://github.com/kraiz/django-crontab";
+    license = licenses.mit;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix b/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix
index 9513a757673f..526a18136a76 100644
--- a/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-ipware/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "django-ipware";
-  version = "5.0.0";
+  version = "5.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-T6VgfuheEu5eFYvHVp/x4TT7FXloGqH/Pw7QS+Ib4VM=";
+    hash = "sha256-qzq3ZF5nTfaCwRRqW936UVGxt7576SEIcsMVa9g2qtQ=";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/nixpkgs/pkgs/development/python-modules/django-q/default.nix b/nixpkgs/pkgs/development/python-modules/django-q/default.nix
index 7cb06453a7a2..c6f9ec3bb53c 100644
--- a/nixpkgs/pkgs/development/python-modules/django-q/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-q/default.nix
@@ -1,34 +1,46 @@
-{ arrow
+{ lib
+, stdenv
+, arrow
 , blessed
 , buildPythonPackage
 , croniter
 , django
-, django-redis
 , django-picklefield
+, django-redis
 , fetchFromGitHub
 , future
-, lib
+, pkgs
 , poetry-core
 , pytest-django
 , pytest-mock
 , pytestCheckHook
-, pkgs
-, stdenv
+, pythonOlder
+, redis
 }:
 
 buildPythonPackage rec {
   pname = "django-q";
   version = "1.3.9";
-  format = "pyproject";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Koed00";
     repo = "django-q";
+    rev = "refs/tags/v${version}";
     hash = "sha256-gFSrAl3QGoJEJfvTTvLQgViPPjeJ6BfvgEwgLLo+uAA=";
-    rev = "v${version}";
   };
 
-  nativeBuildInputs = [ poetry-core ];
+  # fixes empty version string
+  # analog to https://github.com/NixOS/nixpkgs/pull/171200
+  patches = [
+    ./pep-621.patch
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
     django-picklefield
@@ -38,11 +50,13 @@ buildPythonPackage rec {
     future
   ];
 
-  # fixes empty version string
-  # analog to https://github.com/NixOS/nixpkgs/pull/171200
-  patches = [
-    ./pep-621.patch
-  ];
+  nativeCheckInputs = [
+    croniter
+    django-redis
+    pytest-django
+    pytest-mock
+    pytestCheckHook
+  ] ++ django-redis.optional-dependencies.hiredis;
 
   pythonImportsCheck = [
     "django_q"
@@ -57,14 +71,6 @@ buildPythonPackage rec {
     kill $REDIS_PID
   '';
 
-  nativeCheckInputs = [
-    croniter
-    django-redis
-    pytest-django
-    pytest-mock
-    pytestCheckHook
-  ];
-
   # don't bother with two more servers to test
   disabledTests = [
     "test_disque"
@@ -76,7 +82,11 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A multiprocessing distributed task queue for Django";
     homepage = "https://django-q.readthedocs.org";
+    changelog = "https://github.com/Koed00/django-q/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ gador ];
+    # django-q is unmaintained at the moment
+    # https://github.com/Koed00/django-q/issues/733
+    broken = lib.versionAtLeast redis.version "5";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/django-redis/default.nix b/nixpkgs/pkgs/development/python-modules/django-redis/default.nix
index 26a9c784f88d..eeb845d09563 100644
--- a/nixpkgs/pkgs/development/python-modules/django-redis/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django-redis/default.nix
@@ -1,8 +1,8 @@
 { lib
 , fetchFromGitHub
-, pythonAtLeast
 , pythonOlder
 , buildPythonPackage
+, setuptools
 
 # propagated
 , django
@@ -18,13 +18,11 @@
 , pytestCheckHook
 }:
 
-let
+buildPythonPackage rec {
   pname = "django-redis";
   version = "5.4.0";
-in
-buildPythonPackage {
-  inherit pname version;
-  format = "setuptools";
+  pyproject = true;
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -38,14 +36,23 @@ buildPythonPackage {
     sed -i '/-cov/d' setup.cfg
   '';
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     django
-    hiredis
     lz4
     msgpack
     redis
   ];
 
+  passthru.optional-dependencies = {
+    hiredis = [
+      redis
+    ] ++ redis.optional-dependencies.hiredis;
+  };
+
   pythonImportsCheck = [
     "django_redis"
   ];
@@ -65,6 +72,11 @@ buildPythonPackage {
     pytest-django
     pytest-mock
     pytestCheckHook
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+
+  pytestFlagsArray = [
+    "-W"
+    "ignore::DeprecationWarning"
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/djangorestframework-dataclasses/default.nix b/nixpkgs/pkgs/development/python-modules/djangorestframework-dataclasses/default.nix
index b1b088c44c07..69dc84e0c199 100644
--- a/nixpkgs/pkgs/development/python-modules/djangorestframework-dataclasses/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/djangorestframework-dataclasses/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "djangorestframework-dataclasses";
-  version = "1.3.0";
+  version = "1.3.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "oxan";
     repo = "djangorestframework-dataclasses";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aUz+f8Q7RwQsoRpjq1AAmNtDzTA6KKxyc+MtBJEfyL8=";
+    hash = "sha256-12EdSaGpsX0qDXgJ2QWYj6qAUbsrITQjWowk+gJFwwY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/doc8/default.nix b/nixpkgs/pkgs/development/python-modules/doc8/default.nix
index 8c687f583ad6..915918bc54b6 100644
--- a/nixpkgs/pkgs/development/python-modules/doc8/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/doc8/default.nix
@@ -8,7 +8,7 @@
 , pygments
 , pytestCheckHook
 , pythonOlder
-, restructuredtext_lint
+, restructuredtext-lint
 , setuptools-scm
 , stevedore
 , wheel
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     docutils
     chardet
     stevedore
-    restructuredtext_lint
+    restructuredtext-lint
     pygments
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/dot2tex/default.nix b/nixpkgs/pkgs/development/python-modules/dot2tex/default.nix
index 15e0c655f80f..f722c80bdad7 100644
--- a/nixpkgs/pkgs/development/python-modules/dot2tex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dot2tex/default.nix
@@ -6,7 +6,7 @@
 , pyparsing
 , graphviz
 , pytestCheckHook
-, texlive
+, texliveSmall
 }:
 
 buildPythonPackage rec {
@@ -36,9 +36,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    (texlive.combine {
-      inherit (texlive) scheme-small preview pstricks;
-    })
+    (texliveSmall.withPackages (ps: with ps; [ preview pstricks ]))
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/dramatiq/default.nix b/nixpkgs/pkgs/development/python-modules/dramatiq/default.nix
index 8b7300d786f5..84da4beadd79 100644
--- a/nixpkgs/pkgs/development/python-modules/dramatiq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dramatiq/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "dramatiq";
-  version = "1.14.2";
+  version = "1.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,8 +23,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "Bogdanp";
     repo = "dramatiq";
-    rev = "v${version}";
-    hash = "sha256-yv6HUJI7wsAQdBJ5QNv7qXhtzPvCsrF1389kyemAV7Y=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-uhradhLIyfHf1meAr7ChuGnvm62mX/lkQQ2Pe7hBWtY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix b/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix
index 4f63c677e676..c4c94d330d81 100644
--- a/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dsmr-parser/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "dsmr-parser";
-  version = "1.3.0";
+  version = "1.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "ndokter";
     repo = "dsmr_parser";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nPhXJgky9/CgqBnyqbF2+BASHRSpwKd0ePIRFMq29Vc=";
+    hash = "sha256-PULrKRHrCuDFZcR+5ha0PjkN438QFgf2CrpYhKIqYTs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ducc0/default.nix b/nixpkgs/pkgs/development/python-modules/ducc0/default.nix
index 14289caae466..f75d32688738 100644
--- a/nixpkgs/pkgs/development/python-modules/ducc0/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ducc0/default.nix
@@ -2,16 +2,16 @@
 
 buildPythonPackage rec {
   pname = "ducc0";
-  version = "0.31.0";
+  version = "0.32.0";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitLab {
     domain = "gitlab.mpcdf.mpg.de";
     owner = "mtr";
     repo = "ducc";
     rev = "ducc0_${lib.replaceStrings ["."] ["_"] version}";
-    hash = "sha256-4aNIq5RNo1Qqiqr2wjYB/FXKyvbARsRF1yW1ZzZlAOo=";
+    hash = "sha256-D+Gt5RrzljZQHBijaPuCuNsK08VxxJoWhqxSDu4bjH0=";
   };
 
   buildInputs = [ pybind11 ];
diff --git a/nixpkgs/pkgs/development/python-modules/duckduckgo-search/default.nix b/nixpkgs/pkgs/development/python-modules/duckduckgo-search/default.nix
index 6a4afe7a577a..2e084fe774fd 100644
--- a/nixpkgs/pkgs/development/python-modules/duckduckgo-search/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/duckduckgo-search/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "duckduckgo-search";
-  version = "3.8.5";
+  version = "3.9.4";
 
   src = fetchFromGitHub {
     owner = "deedy5";
     repo = "duckduckgo_search";
-    rev = "v${version}";
-    hash = "sha256-FOGMqvr5+O3+UTdM0m1nJBAcemP6hpAOXv0elvnCUHU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-R96ezs0INIZAXTcD1eWXuj4MSJvCbtbgzgC3ls7wYyI=";
   };
 
   format = "pyproject";
diff --git a/nixpkgs/pkgs/development/python-modules/duo-client/default.nix b/nixpkgs/pkgs/development/python-modules/duo-client/default.nix
index 05f9f0c9a406..129ec14cd0a7 100644
--- a/nixpkgs/pkgs/development/python-modules/duo-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/duo-client/default.nix
@@ -3,7 +3,8 @@
 , fetchFromGitHub
 , freezegun
 , mock
-, nose2
+, pytestCheckHook
+, pythonOlder
 , pytz
 , setuptools
 , six
@@ -12,6 +13,9 @@
 buildPythonPackage rec {
   pname = "duo-client";
   version = "5.0.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "duosecurity";
@@ -26,15 +30,18 @@ buildPythonPackage rec {
       --replace "flake8" ""
   '';
 
-  propagatedBuildInputs = [
+  nativeBuildInputs = [
     setuptools
+  ];
+
+  propagatedBuildInputs = [
     six
   ];
 
   nativeCheckInputs = [
     freezegun
     mock
-    nose2
+    pytestCheckHook
     pytz
   ];
 
@@ -42,6 +49,12 @@ buildPythonPackage rec {
     "duo_client"
   ];
 
+  disabledTests = [
+    # Tests require network access
+    "test_server_hostname"
+    "test_server_hostname_with_port"
+  ];
+
   meta = with lib; {
     description = "Python library for interacting with the Duo Auth, Admin, and Accounts APIs";
     homepage = "https://github.com/duosecurity/duo_client_python";
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
index 4290d581d104..3d09f182bf7d 100644
--- a/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dvc-data/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "dvc-data";
-  version = "2.20.0";
+  version = "2.21.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-CtTagSfAYrEOkEZaeeQ71Dn0RvFpHwH552RpAy+kjlg=";
+    hash = "sha256-q9wVPT8mUZyX0I4GdC6qtsCTFH80HsUrrtR2oAby8VE=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix b/nixpkgs/pkgs/development/python-modules/dvc-objects/default.nix
index fa1718ea57ed..217782a34e6c 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 = "1.1.0";
+  version = "1.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-D0GNigdphMArcpU6eI4roiiarIop3qW1tW2KIvJhlWU=";
+    hash = "sha256-kTp0CowXtnLXetcnoCeqlXoadgaQhL5mTYTfq9QLIl8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dvclive/default.nix b/nixpkgs/pkgs/development/python-modules/dvclive/default.nix
index d0c3e46dcc66..406ccadea894 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 = "3.1.0";
+  version = "3.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qPGtYMpUFGQfSYEPabn4eC74lmr8xvet07RR5brV5No=";
+    hash = "sha256-Z1Nxdz4/45uSypufuwDGiCeUwl+izRGIDA2s9F+jT1Q=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/dynd/default.nix b/nixpkgs/pkgs/development/python-modules/dynd/default.nix
index 9323255cc27c..61c29fbff49b 100644
--- a/nixpkgs/pkgs/development/python-modules/dynd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dynd/default.nix
@@ -1,24 +1,34 @@
 { lib
 , buildPythonPackage
-, isPyPy
-, isPy3k
 , cython
 , numpy
-, pkgs
+, libdynd
+, fetchpatch
+, cmake
+, fetchFromGitHub
 }:
 
 buildPythonPackage rec {
   version = "0.7.2";
   pname = "dynd";
-  disabled = isPyPy || !isPy3k; # tests fail on python2, 2018-04-11
 
-  src = pkgs.fetchFromGitHub {
+  src = fetchFromGitHub {
     owner = "libdynd";
     repo = "dynd-python";
     rev = "v${version}";
     sha256 = "19igd6ibf9araqhq9bxmzbzdz05vp089zxvddkiik3b5gb7l17nh";
   };
 
+  patches = [
+    # Fix numpy compatibility
+    # https://github.com/libdynd/dynd-python/issues/746
+    (fetchpatch {
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/numpy-compatibility.patch?h=python-dynd&id=e626acabd041069861311f314ac3dbe9e6fd24b7";
+      sha256 = "sha256-oA/3G8CGeDhiYXbNX+G6o3QSb7rkKItuCDCbnK3Rt10=";
+      name = "numpy-compatibility.patch";
+    })
+  ];
+
   # setup.py invokes git on build but we're fetching a tarball, so
   # can't retrieve git version. We hardcode:
   preConfigure = ''
@@ -28,12 +38,22 @@ buildPythonPackage rec {
 
   dontUseCmakeConfigure = true;
 
-  # Python 3 works but has a broken import test that I couldn't
-  # figure out.
-  doCheck = !isPy3k;
-  nativeBuildInputs = [ pkgs.cmake ];
-  buildInputs = [ pkgs.libdynd.dev cython ];
-  propagatedBuildInputs = [ numpy pkgs.libdynd ];
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    cython
+    libdynd.dev
+  ];
+
+  propagatedBuildInputs = [
+    libdynd
+    numpy
+  ];
+
+  #  ModuleNotFoundError: No module named 'dynd.config'
+  doCheck = false;
+
+  pythonImportsCheck = [ "dynd" ];
 
   meta = with lib; {
     homepage = "http://libdynd.org";
diff --git a/nixpkgs/pkgs/development/python-modules/easydict/default.nix b/nixpkgs/pkgs/development/python-modules/easydict/default.nix
index 889116b79176..2a06fe02d133 100644
--- a/nixpkgs/pkgs/development/python-modules/easydict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/easydict/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "easydict";
-  version = "1.10";
+  version = "1.11";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Edyywgqqu/7kwYi0vBQ+9r4ESzTb8M5aWTJCwmlaCA8=";
+    hash = "sha256-3LHS7SjrMAyORs03E0A3Orxi98FNbep0/fxvEGkGHHg=";
   };
 
   doCheck = false; # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/easyocr/default.nix b/nixpkgs/pkgs/development/python-modules/easyocr/default.nix
index ff7f7650fce9..1199f75c450d 100644
--- a/nixpkgs/pkgs/development/python-modules/easyocr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/easyocr/default.nix
@@ -4,7 +4,7 @@
 , hdf5
 , numpy
 , onnx
-, opencv3
+, opencv4
 , pillow
 , pyaml
 , pyclipper
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     hdf5
     numpy
-    opencv3
+    opencv4
     pillow
     pyaml
     pyclipper
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 61d802ba5c15..73d377e78b15 100644
--- a/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/edk2-pytool-library/default.nix
@@ -65,5 +65,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/tianocore/edk2-pytool-library/releases/tag/v${version}";
     license = licenses.bsd2Patent;
     maintainers = with maintainers; [ nickcao ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix b/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix
index 24abaebf7bb5..354f7b01af4e 100644
--- a/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/eigenpy/default.nix
@@ -9,14 +9,14 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "eigenpy";
-  version = "3.1.1";
+  version = "3.1.3";
 
   src = fetchFromGitHub {
     owner = "stack-of-tasks";
     repo = finalAttrs.pname;
     rev = "v${finalAttrs.version}";
     fetchSubmodules = true;
-    hash = "sha256-mUwckBelFVRCXp3hspB8WRFFaLVyRsfp6XbqU8HeHvw=";
+    hash = "sha256-8UuJA96pkXXRKDzQTjoz7w8TQrS5+nfLdsT0j9/oqz0=";
   };
 
   strictDeps = true;
diff --git a/nixpkgs/pkgs/development/python-modules/einops/default.nix b/nixpkgs/pkgs/development/python-modules/einops/default.nix
index a1e0b65aec20..9cc5de24e0a5 100644
--- a/nixpkgs/pkgs/development/python-modules/einops/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/einops/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "einops";
-  version = "0.6.1";
+  version = "0.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "arogozhnikov";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+TaxaxOc5jAm79tIK0NHZ58HgcgdCANrSo/602YaF8E=";
+    hash = "sha256-wCs3rMnYCk07kJ3iPItxwCQATflKBYHk6tfBCjiF+bc=";
   };
 
   nativeBuildInputs = [ hatchling ];
diff --git a/nixpkgs/pkgs/development/python-modules/equinox/default.nix b/nixpkgs/pkgs/development/python-modules/equinox/default.nix
index d8342f054bc2..974bb21392be 100644
--- a/nixpkgs/pkgs/development/python-modules/equinox/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/equinox/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "equinox";
-  version = "0.11.1";
+  version = "0.11.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "patrick-kidger";
     repo = "equinox";
     rev = "refs/tags/v${version}";
-    hash = "sha256-iYVAbUIZG90kgWger+M+DZmS/kQ3nEPXQFU+90lHgK0=";
+    hash = "sha256-qFTKiY/t2LCCWJBOSfaX0hYQInrpXgfhTc+J4iuyVbM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/evohome-async/default.nix b/nixpkgs/pkgs/development/python-modules/evohome-async/default.nix
index e270343c2d08..1f9bedd37158 100644
--- a/nixpkgs/pkgs/development/python-modules/evohome-async/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/evohome-async/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "evohome-async";
-  version = "0.4.3";
+  version = "0.4.9";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "zxdavb";
     repo = "evohome-async";
     rev = "refs/tags/${version}";
-    hash = "sha256-GDrDOwB/cgry3eRNx8IMiBoLu5xLTnG5ByuuwnWA7DY=";
+    hash = "sha256-4AhxvUkLiej7OSj9Y19tJnVCzNlC5PF6KB5zTHN8gLA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix b/nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix
index a5201ed5e009..a236a2405918 100644
--- a/nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/experiment-utilities/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "experiment-utilities";
-  version = "0.3.5";
+  version = "0.3.6";
 
   src = fetchFromGitLab {
     owner = "creinke";
     repo = "exputils";
     domain = "gitlab.inria.fr";
     rev = "refs/tags/version_${version}";
-    hash = "sha256-y+I/TpEC1alP3145ByM6H//lZl2FrpLT/70lzn04P6w=";
+    hash = "sha256-jo0CBSpUc/F1lJ2vagocngDM1Lopw5/AJnt1QwCunA8=";
   };
 
   # This dependency constraint (<=7.6.5) was due to a bug in qgrid that has been patched in its
diff --git a/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix b/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix
index aaeda3f40e73..642f9c6f8645 100644
--- a/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ezyrb/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "ezyrb";
-  version = "1.3.0.post2309";
+  version = "1.3.0.post2311";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "mathLab";
     repo = "EZyRB";
     rev = "refs/tags/v${version}";
-    hash = "sha256-9g7FCyGZc9TDR9MummM1KJJZs31Oo50N/U6HjKM90Nw=";
+    hash = "sha256-qIH/cn+QdcjfNwvokbkC+euo6RD75DrqJ5Oj6Ji/9cY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/fairseq/default.nix b/nixpkgs/pkgs/development/python-modules/fairseq/default.nix
index 92d8a5e78560..35275c32780a 100644
--- a/nixpkgs/pkgs/development/python-modules/fairseq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fairseq/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, fetchpatch
 
 # Native build inputs
 , cython
@@ -27,12 +28,12 @@
 , hypothesis
 , pytestCheckHook
 }:
-let
+
+buildPythonPackage rec {
   pname = "fairseq";
   version = "0.12.3";
-in
-buildPythonPackage rec {
-  inherit version pname;
+  pyproject = true;
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "pytorch";
@@ -41,17 +42,25 @@ buildPythonPackage rec {
     hash = "sha256-XX/grU5ljQCwx33miGoFc/7Uj9fZDtmhm4Fz7L4U+Bc=";
   };
 
-  disabled = pythonOlder "3.7";
+  patches = [
+    # https://github.com/facebookresearch/fairseq/pull/5359
+    (fetchpatch {
+      url = "https://github.com/facebookresearch/fairseq/commit/2fa0768c2115b0a4c207cfa3e1b3e4ff3ad9a00c.patch";
+      hash = "sha256-aYYP/knQX6q6vhyA6q9uOOYfRhDAuJCo9QJWfFEDuuA=";
+    })
+  ];
 
   nativeBuildInputs = [
     cython
     pythonRelaxDepsHook
     which
   ];
+
   pythonRelaxDeps = [
     "hydra-core"
     "omegaconf"
   ];
+
   propagatedBuildInputs = [
     cffi
     hydra-core
@@ -74,6 +83,7 @@ buildPythonPackage rec {
   ];
 
   pythonImportsCheck = [ "fairseq" ];
+
   preCheck = ''
     export HOME=$TMPDIR
     cd tests
@@ -82,6 +92,7 @@ buildPythonPackage rec {
   pytestFlagsArray = [
     "--import-mode append"
   ];
+
   disabledTests = [
     # this test requires xformers
     "test_xformers_single_forward_parity"
@@ -96,6 +107,11 @@ buildPythonPackage rec {
     "test_librispeech_s2t_conformer_s_checkpoint"
   ];
 
+  disabledTestPaths = [
+    # ValueError: mutable default ... for field bar is not allowed: use default_factory
+    "test_dataclass_utils.py"
+  ];
+
   meta = with lib; {
     description = "Facebook AI Research Sequence-to-Sequence Toolkit";
     homepage = "https://github.com/pytorch/fairseq";
diff --git a/nixpkgs/pkgs/development/python-modules/farm-haystack/default.nix b/nixpkgs/pkgs/development/python-modules/farm-haystack/default.nix
new file mode 100644
index 000000000000..afee9c60f894
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/farm-haystack/default.nix
@@ -0,0 +1,290 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonRelaxDepsHook
+, hatchling
+, boilerpy3
+, events
+, httpx
+, jsonschema
+, lazy-imports
+, more-itertools
+, networkx
+, pandas
+, pillow
+, platformdirs
+, posthog
+, prompthub-py
+, pydantic
+, quantulum3
+, rank-bm25
+, requests
+, requests-cache
+, scikit-learn
+, sseclient-py
+, tenacity
+, tiktoken
+, tqdm
+, transformers
+, openai-whisper
+, boto3
+, botocore
+# , beir
+, selenium
+, coverage
+, dulwich
+# , jupytercontrib
+, mkdocs
+, mypy
+, pre-commit
+, psutil
+# , pydoc-markdown
+, pylint
+, pytest
+, pytest-asyncio
+, pytest-cov
+# , pytest-custom-exit-code
+, python-multipart
+, reno
+, responses
+, toml
+, tox
+, watchdog
+, elastic-transport
+, elasticsearch
+# , azure-ai-formrecognizer
+, beautifulsoup4
+, markdown
+, python-docx
+, python-frontmatter
+, python-magic
+, tika
+, black
+, huggingface-hub
+, sentence-transformers
+, mlflow
+, rapidfuzz
+, scipy
+, seqeval
+, pdf2image
+, pytesseract
+, faiss
+# , faiss-gpu
+, pinecone-client
+, onnxruntime
+, onnxruntime-tools
+# , onnxruntime-gpu
+, opensearch-py
+, pymupdf
+, langdetect
+, nltk
+, canals
+, jinja2
+, openai
+, aiorwlock
+, ray
+, psycopg2
+, sqlalchemy
+, sqlalchemy-utils
+, weaviate-client
+}:
+
+buildPythonPackage rec {
+  pname = "farm-haystack";
+  version = "1.22.0";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "deepset-ai";
+    repo = "haystack";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-0tRgZqySM9vPhs5lar89Gz/G7/YgRuFZosgTdKuGBH0=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+    pythonRelaxDepsHook
+  ];
+
+  pythonRemoveDeps = [
+    # We call it faiss, not faiss-cpu.
+    "faiss-cpu"
+  ];
+
+  propagatedBuildInputs = [
+    boilerpy3
+    events
+    httpx
+    jsonschema
+    lazy-imports
+    more-itertools
+    networkx
+    pandas
+    pillow
+    platformdirs
+    posthog
+    prompthub-py
+    pydantic
+    quantulum3
+    rank-bm25
+    requests
+    requests-cache
+    scikit-learn
+    sseclient-py
+    tenacity
+    tiktoken
+    tqdm
+    transformers
+  ];
+
+  env.HOME = "$(mktemp -d)";
+
+  passthru.optional-dependencies = {
+    # all = [
+    #   farm-haystack
+    # ];
+    # all-gpu = [
+    #   farm-haystack
+    # ];
+    audio = [
+      openai-whisper
+    ];
+    aws = [
+      boto3
+      botocore
+    ];
+    # beir = [
+    #   beir
+    # ];
+    colab = [
+      pillow
+    ];
+    crawler = [
+      selenium
+    ];
+    dev = [
+      coverage
+      dulwich
+      # jupytercontrib
+      mkdocs
+      mypy
+      pre-commit
+      psutil
+      # pydoc-markdown
+      pylint
+      pytest
+      pytest-asyncio
+      pytest-cov
+      # pytest-custom-exit-code
+      python-multipart
+      reno
+      responses
+      toml
+      tox
+      watchdog
+    ];
+    elasticsearch7 = [
+      elastic-transport
+      elasticsearch
+    ];
+    elasticsearch8 = [
+      elastic-transport
+      elasticsearch
+    ];
+    file-conversion = [
+      # azure-ai-formrecognizer
+      beautifulsoup4
+      markdown
+      python-docx
+      python-frontmatter
+      python-magic
+      # python-magic-bin
+      tika
+    ];
+    formatting = [
+      black
+    ];
+    inference = [
+      huggingface-hub
+      sentence-transformers
+      transformers
+    ];
+    metrics = [
+      mlflow
+      rapidfuzz
+      scipy
+      seqeval
+    ];
+    ocr = [
+      pdf2image
+      pytesseract
+    ];
+    only-faiss = [
+      faiss
+    ];
+    # only-faiss-gpu = [
+    #   faiss-gpu
+    # ];
+    only-pinecone = [
+      pinecone-client
+    ];
+    onnx = [
+      onnxruntime
+      onnxruntime-tools
+    ];
+    # onnx-gpu = [
+    #   onnxruntime-gpu
+    #   onnxruntime-tools
+    # ];
+    opensearch = [
+      opensearch-py
+    ];
+    pdf = [
+      pymupdf
+    ];
+    preprocessing = [
+      langdetect
+      nltk
+    ];
+    preview = [
+      canals
+      jinja2
+      lazy-imports
+      openai
+      pandas
+      rank-bm25
+      requests
+      tenacity
+      tqdm
+    ];
+    ray = [
+      aiorwlock
+      ray
+    ];
+    sql = [
+      psycopg2
+      sqlalchemy
+      sqlalchemy-utils
+    ];
+    weaviate = [
+      weaviate-client
+    ];
+  };
+
+  # the setup for test is intensive, hopefully can be done at some point
+  doCheck = false;
+
+
+  pythonImportsCheck = [ "haystack" ];
+
+  meta = with lib; {
+    description = "LLM orchestration framework to build customizable, production-ready LLM applications";
+    longDescription = ''
+    LLM orchestration framework to build customizable, production-ready LLM applications. Connect components (models, vector DBs, file converters) to pipelines or agents that can interact with your data. With advanced retrieval methods, it's best suited for building RAG, question answering, semantic search or conversational agent chatbots
+    '';
+    changelog = "https://github.com/deepset-ai/haystack/releases/tag/${src.rev}";
+    homepage = "https://github.com/deepset-ai/haystack";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix b/nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix
index b632f9f28772..30f2174ff7da 100644
--- a/nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/faster-whisper/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "faster-whisper";
-  version = "0.8.0";
+  version = "0.9.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "guillaumekln";
     repo = "faster-whisper";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MVcopBIwmgoklVROfIp35uvFgNQDVDNDfJwITV9sLSQ=";
+    hash = "sha256-kHXX5Z4r7+lFRBtTCsPy9DILwsk3T1mcBzmJnCrKTdk=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/fasttext-predict/default.nix b/nixpkgs/pkgs/development/python-modules/fasttext-predict/default.nix
index 313f57e3855f..f1d56ef7185f 100644
--- a/nixpkgs/pkgs/development/python-modules/fasttext-predict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fasttext-predict/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "fasttext-predict";
-  version = "0.9.2.1";
+  version = "0.9.2.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-iSCt54tqBmNfrcntDFRXb550607Zr1mMCO2PC1ZbVQw=";
+    hash = "sha256-rMbf09pCHvVYI9g/aq74+PcsuU2LezpmDz4b/w9vRyc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix b/nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix
index 1491b254e835..a953795b8663 100644
--- a/nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/finvizfinance/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "finvizfinance";
-  version = "0.14.6";
+  version = "0.14.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "lit26";
     repo = "finvizfinance";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YRdOj0n2AUGRicQCENoXWad5MnRyTqQFxqisTFnClac=";
+    hash = "sha256-ht1bez04MAgugsQqa47q2ED7z8xpiXmzkOYBR7/PZHU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix b/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
index 685c4e809459..c4d686c01478 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-admin/default.nix
@@ -107,6 +107,8 @@ buildPythonPackage rec {
     "flask_admin/tests/sqla/test_translation.py"
     # RuntimeError: Working outside of application context.
     "flask_admin/tests/sqla/test_multi_pk.py"
+    # Broken test
+    "flask_admin/tests/fileadmin/test_fileadmin.py"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/flask-login/default.nix b/nixpkgs/pkgs/development/python-modules/flask-login/default.nix
index 1caf53c7a2d8..134dc8f2e44b 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-login/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-login/default.nix
@@ -1,34 +1,48 @@
 { lib
-, asgiref
-, blinker
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
+
+# build-system
+, setuptools
+
+# dependencies
 , flask
+, werkzeug
+
+# tests
+, asgiref
+, blinker
 , pytestCheckHook
-, pythonAtLeast
-, pythonOlder
 , semantic-version
-, werkzeug
 }:
 
 buildPythonPackage rec {
   pname = "flask-login";
-  version = "0.6.2";
-  format = "setuptools";
+  version = "0.6.3";
+  pyproject = true;
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "Flask-Login";
     inherit version;
-    hash = "sha256-wKe6qf3ESM3T3W8JOd9y7sUXey96vmy4L8k00pyqycM=";
+    hash = "sha256-XiPRSmB+8SgGxplZC4nQ8ODWe67sWZ11lHv5wUczAzM=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     flask
     werkzeug
   ];
 
+  pythonImportsCheck = [
+    "flask_login"
+  ];
+
   nativeCheckInputs = [
     asgiref
     blinker
@@ -36,25 +50,8 @@ buildPythonPackage rec {
     semantic-version
   ];
 
-  disabledTests = [
-    # https://github.com/maxcountryman/flask-login/issues/747
-    "test_remember_me_accepts_duration_as_int"
-    "test_remember_me_custom_duration_uses_custom_cookie"
-    "test_remember_me_refresh_every_request"
-    "test_remember_me_uses_custom_cookie_parameters"
-  ] ++ lib.optionals (pythonAtLeast "3.10") [
-    "test_hashable"
-  ];
-
-  pytestFlagsArray = [
-    "-W" "ignore::DeprecationWarning"
-  ];
-
-  pythonImportsCheck = [
-    "flask_login"
-  ];
-
   meta = with lib; {
+    changelog = "https://github.com/maxcountryman/flask-login/blob/${version}/CHANGES.md";
     description = "User session management for Flask";
     homepage = "https://github.com/maxcountryman/flask-login";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/flask-mongoengine/default.nix b/nixpkgs/pkgs/development/python-modules/flask-mongoengine/default.nix
index 32a275177c2c..dad4b6ddb871 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-mongoengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-mongoengine/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "flask-mongoengine";
-  version = "1.0.0";
+  version = "1.0.0-unstable-2022-08-16";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,10 +23,12 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "MongoEngine";
     repo = pname;
-    rev = "refs/tags/v${version}";
-    hash = "sha256-YqEtW02VvEeUsLIHLz6+V6juMtWPEIk2tLoKTUdY6YE=";
+    rev = "d4526139cb1e2e94111ab7de96bb629d574c1690";
+    hash = "sha256-oMQU9Z8boc0q+0KzIQAZ8qSyxiITDY0M9FCg75S9MEY=";
   };
 
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = "1.0.0";
+
   nativeBuildInputs = [
     setuptools
     setuptools-scm
diff --git a/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix b/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
index 1c4e021e1b2d..f28579e04a46 100644
--- a/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flask-paginate/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "flask-paginate";
-  version = "2023.10.8";
+  version = "2023.10.24";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "lixxu";
     repo = "flask-paginate";
     rev = "refs/tags/v${version}";
-    hash = "sha256-QXXuXwMY3CwSv1P5zDK6q/LZfh96/BL3fbdbg53BJ6o=";
+    hash = "sha256-9633YLHMF9S1DLK7ZS4qmCOzslXdHLSgpKoJFNvkXlA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/flax/default.nix b/nixpkgs/pkgs/development/python-modules/flax/default.nix
index 0a6b086fe516..fa0f053f86de 100644
--- a/nixpkgs/pkgs/development/python-modules/flax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flax/default.nix
@@ -1,53 +1,66 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
 , jaxlib
+, pythonRelaxDepsHook
+, setuptools-scm
 , jax
-, keras
-, lib
-, matplotlib
 , msgpack
 , numpy
 , optax
+, pyyaml
+, rich
+, tensorstore
+, typing-extensions
+, matplotlib
+, cloudpickle
+, einops
+, keras
 , pytest-xdist
 , pytestCheckHook
-, pythonRelaxDepsHook
 , tensorflow
-, tensorstore
-, fetchpatch
-, rich
 }:
 
 buildPythonPackage rec {
   pname = "flax";
-  version = "0.7.4";
+  version = "0.7.5";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "google";
-    repo = pname;
+    repo = "flax";
     rev = "refs/tags/v${version}";
-    hash = "sha256-i48omag/1Si3mCCGfsUD9qeejyeCLWzvvwKJqH8vm8k=";
+    hash = "sha256-NDah0ayQbiO1/sTU1DDf/crPq5oLTnSuosV7cFHlTM8=";
   };
 
-  nativeBuildInputs = [ jaxlib pythonRelaxDepsHook ];
+  nativeBuildInputs = [
+    jaxlib
+    pythonRelaxDepsHook
+    setuptools-scm
+  ];
 
   propagatedBuildInputs = [
     jax
-    matplotlib
     msgpack
     numpy
     optax
+    pyyaml
     rich
     tensorstore
+    typing-extensions
   ];
 
-  # See https://github.com/google/flax/pull/2882.
-  pythonRemoveDeps = [ "orbax" ];
+  passthru.optional-dependencies = {
+    all = [ matplotlib ];
+  };
 
   pythonImportsCheck = [
     "flax"
   ];
 
   nativeCheckInputs = [
+    cloudpickle
+    einops
     keras
     pytest-xdist
     pytestCheckHook
@@ -78,22 +91,6 @@ buildPythonPackage rec {
     "tests/checkpoints_test.py"
   ];
 
-  disabledTests = [
-    # See https://github.com/google/flax/issues/2554.
-    "test_async_save_checkpoints"
-    "test_jax_array0"
-    "test_jax_array1"
-    "test_keep0"
-    "test_keep1"
-    "test_optimized_lstm_cell_matches_regular"
-    "test_overwrite_checkpoints"
-    "test_save_restore_checkpoints_target_empty"
-    "test_save_restore_checkpoints_target_none"
-    "test_save_restore_checkpoints_target_singular"
-    "test_save_restore_checkpoints_w_float_steps"
-    "test_save_restore_checkpoints"
-  ];
-
   meta = with lib; {
     description = "Neural network library for JAX";
     homepage = "https://github.com/google/flax";
diff --git a/nixpkgs/pkgs/development/python-modules/flow-record/default.nix b/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
index 3479f3b3d57b..1562600a231f 100644
--- a/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/flow-record/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   version = "3.12";
   format = "pyproject";
 
-  disabled = pythonOlder "3.12";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fox-it";
diff --git a/nixpkgs/pkgs/development/python-modules/folium/default.nix b/nixpkgs/pkgs/development/python-modules/folium/default.nix
index 09c2137872d2..8b29b61fe698 100644
--- a/nixpkgs/pkgs/development/python-modules/folium/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/folium/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "folium";
-  version = "0.14.0";
+  version = "0.15.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "python-visualization";
     repo = "folium";
     rev = "refs/tags/v${version}";
-    hash = "sha256-zxLFj5AeTVAxE0En7ZlbBdJEm3WrcPv23MgOhyfNi14=";
+    hash = "sha256-xaz9oelkyS8lWECCmKs8P3mHB3Usv0KMUoh/K7rBnAs=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/formencode/default.nix b/nixpkgs/pkgs/development/python-modules/formencode/default.nix
index 1323f2902cfc..1b7dd1fc2ef0 100644
--- a/nixpkgs/pkgs/development/python-modules/formencode/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/formencode/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "formencode";
-  version = "2.0.1";
+  version = "2.1.0";
 
   disabled = isPy27;
 
   src = fetchPypi {
     pname = "FormEncode";
     inherit version;
-    sha256 = "8f2974112c2557839d5bae8b76490104c03830785d923abbdef148bf3f710035";
+    sha256 = "sha256-63TSIweKKM8BX6iJZsbjTy0Y11EnMY1lwUS+2a/EJj8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/formulaic/default.nix b/nixpkgs/pkgs/development/python-modules/formulaic/default.nix
index fcb8ddc1b00b..e119eb9f3b4f 100644
--- a/nixpkgs/pkgs/development/python-modules/formulaic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/formulaic/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "formulaic";
-  version = "0.6.4";
+  version = "0.6.6";
 
   format = "pyproject";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "matthewwardrop";
     repo = "formulaic";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lpza5FDO/QOsiLYdxNT1o62lHfFeD6YahFz/zgH3K0I=";
+    hash = "sha256-82+j3JAkjltXuzRhdvO4hoesSTWlNCY6w2mn6TsZqGM=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/fschat/default.nix b/nixpkgs/pkgs/development/python-modules/fschat/default.nix
index ee42f4ce8ac9..573009b2a5ea 100644
--- a/nixpkgs/pkgs/development/python-modules/fschat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/fschat/default.nix
@@ -29,7 +29,7 @@
 , protobuf
 }:
 let
-  version = "0.2.30";
+  version = "0.2.32";
 in
 buildPythonPackage {
   pname = "fschat";
@@ -40,7 +40,7 @@ buildPythonPackage {
     owner = "lm-sys";
     repo = "FastChat";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SkrdRpmbxnt/Xn8TTmozxhr3fPeAFPP7X0cM9vJC9Sc=";
+    hash = "sha256-3IJcqVULOK0Nf72sgv80q9U8QZ3pNHLYaNwCQohdBB8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/genanki/default.nix b/nixpkgs/pkgs/development/python-modules/genanki/default.nix
index 3989cf6f72c6..64159dd7b755 100644
--- a/nixpkgs/pkgs/development/python-modules/genanki/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/genanki/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "genanki";
-  version = "0.13.0";
+  version = "0.13.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bfacdcadd7903ed6afce6168e1977e473b431677b358f8fd42e80b48cedd19ab";
+    hash = "sha256-hNCQQjqIeVIEZb/peECD7ay4014rpRH6Whve8B2Pce0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
index c29d6d4bec09..53e1544ed018 100644
--- a/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/geoalchemy2/default.nix
@@ -1,71 +1,78 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , packaging
+, setuptools
 , setuptools-scm
 , shapely
 , sqlalchemy
 , alembic
-, psycopg2
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "geoalchemy2";
-  version = "0.14.1";
-  format = "setuptools";
+  version = "0.14.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    pname = "GeoAlchemy2";
-    inherit version;
-    hash = "sha256-Ygsxy/l6NoskhtvPzTbaIIGCfpM9QWO8uUIEO3m1Reg=";
+  src = fetchFromGitHub {
+    owner = "geoalchemy";
+    repo = "geoalchemy2";
+    rev = "refs/tags/${version}";
+    hash = "sha256-C/F1hpL2DnzC4UPAGGFntlQlULCx5Ufzkw7EIrzRV7I=";
   };
 
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
   ];
 
   propagatedBuildInputs = [
-    packaging
-    shapely
     sqlalchemy
+    packaging
   ];
 
   nativeCheckInputs = [
     alembic
-    psycopg2
     pytestCheckHook
-  ];
+  ] ++ passthru.optional-dependencies.shapely;
 
-  pytestFlagsArray = [
-    # tests require live postgis database
-    "--deselect=tests/test_pickle.py::TestPickle::test_pickle_unpickle"
-    "--deselect=tests/gallery/test_specific_compilation.py::test_specific_compilation"
-  ];
+  env = {
+    SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  };
 
   disabledTestPaths = [
-    # tests require live postgis database
+    # tests require live databases
     "tests/gallery/test_decipher_raster.py"
     "tests/gallery/test_length_at_insert.py"
+    "tests/gallery/test_insert_raster.py"
+    "tests/gallery/test_orm_mapped_v2.py"
+    "tests/gallery/test_specific_compilation.py"
     "tests/gallery/test_summarystatsagg.py"
     "tests/gallery/test_type_decorator.py"
     "tests/test_functional.py"
     "tests/test_functional_postgresql.py"
+    "tests/test_functional_mysql.py"
     "tests/test_alembic_migrations.py"
+    "tests/test_pickle.py"
   ];
 
   pythonImportsCheck = [
     "geoalchemy2"
   ];
 
+  passthru.optional-dependencies = {
+    shapely = [ shapely ];
+  };
+
   meta = with lib; {
     description = "Toolkit for working with spatial databases";
-    homepage =  "https://geoalchemy-2.readthedocs.io/";
+    homepage = "https://geoalchemy-2.readthedocs.io/";
     changelog = "https://github.com/geoalchemy/geoalchemy2/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ nickcao ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/gios/default.nix b/nixpkgs/pkgs/development/python-modules/gios/default.nix
index 0112418b00b8..a872301643f4 100644
--- a/nixpkgs/pkgs/development/python-modules/gios/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gios/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "gios";
-  version = "3.2.0";
+  version = "3.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-mgfeaYC9Uq23fDzVwHMryYrmDO2b/rSwrvAp/T4HaIE=";
+    hash = "sha256-ACWaYXAxLpqfjPG7KngFrErbMKo9iSsW2Yi8V0q9Ie0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/glcontext/default.nix b/nixpkgs/pkgs/development/python-modules/glcontext/default.nix
index 62f9fb14512f..b74775a32197 100644
--- a/nixpkgs/pkgs/development/python-modules/glcontext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glcontext/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "glcontext";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "moderngl";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-TGkVDZbxxvOOal+rLHeCNUoyOzvg9wQsAMan8LDn938=";
+    hash = "sha256-ld+INKIGDZA2Y+sTxDPY7MI1nru6x+FeixngaJQzKkg=";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/globus-sdk/default.nix
index 4e4f964c7430..47289fff5966 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.29.0";
+  version = "3.31.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "globus";
     repo = "globus-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-s5o7vp7D/b73QQyIebrFT2zlhpJKYQDDXpgmDgN0+Nk=";
+    hash = "sha256-MJW0B3AXDYSVgNkv8iBA2+pOKrlI7pZeJfunMMxABx8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix b/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix
index 06e22f0a9cf1..4e5e919323ad 100644
--- a/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gocardless-pro/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "gocardless-pro";
-  version = "1.47.0";
+  version = "1.48.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "gocardless";
     repo = "gocardless-pro-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-YCHI4MvdTlpDavXTTU4AESBUOBKt23IPxvGI+BGo2EI=";
+    hash = "sha256-9229lwCtVu4Pfru6e9JdbP3KUUYojBLuNQ+volP6OX0=";
   };
 
   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 2ee87fac60c2..c955aafda501 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.32.0";
+  version = "2.33.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-aU+42neWNlPhxw+mCSi0oR+vjh8VgKOQJQU6PhvM5t4=";
+    hash = "sha256-dpJmSe7NjmmDqd0GrLxm1e/VFvo64+ECNRVwuRpjrmI=";
   };
 
   propagatedBuildInputs = [
@@ -49,8 +49,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Google Container Engine API client library";
-    homepage = "https://github.com/googleapis/python-container";
-    changelog = "https://github.com/googleapis/python-container/blob/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-container";
+    changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-container-v${version}/packages/google-cloud-container/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
index ddf8472ea795..4fe3dddd3001 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dlp";
-  version = "3.12.3";
+  version = "3.13.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-c4gPKov6YASVdvuU2FaYqiNn0yrJAbdieP5Qt1ZjRAs=";
+    hash = "sha256-mFqptqEvHQAKNevzawDOfQsH0SCn9EanJ2js4vIpCGo=";
   };
 
   propagatedBuildInputs = [
@@ -39,6 +39,7 @@ buildPythonPackage rec {
   disabledTests = [
     # Test requires credentials
     "test_inspect_content"
+    "test_list_dlp_jobs"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix
index ec554d61d32c..0f9b9eca022f 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-dns/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dns";
-  version = "0.34.1";
+  version = "0.34.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RPpi7pPFHGxXIWBY2S0qkRa3E6SocanRajqDuZ4wwfk=";
+    hash = "sha256-/GG9jPBw6Hqstidi6ypa8VUHBsmIgdeurrru0RKAr9M=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix
index fee868f6f0ce..45c257088183 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-firestore/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-firestore";
-  version = "2.13.0";
+  version = "2.13.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QKI6rrgJeC93AGL8JTWZMqbj4P/2WPs+LP0VunrQnlk=";
+    hash = "sha256-vRTS65rjWNIQWM4JHBPeoRkX4m8cQ3OKUenOqLSbTzg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix b/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
index 8298b6a07ba7..e7c930e77f07 100644
--- a/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-securitycenter";
-  version = "1.23.3";
+  version = "1.24.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8yBC/+jxKsyQ5pz+VBSgnwqB/XxXCChpjGLAjMDoQow=";
+    hash = "sha256-KsXsWGEUwD0UFRD7V4rfqEuRjyWeU/PmPdh8X6djhG0=";
   };
 
   propagatedBuildInputs = [
@@ -43,8 +43,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Cloud Security Command Center API API client library";
-    homepage = "https://github.com/googleapis/python-securitycenter";
-    changelog = "https://github.com/googleapis/python-securitycenter/blob/v${version}/CHANGELOG.md";
+    homepage = "https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-securitycenter";
+    changelog = "https://github.com/googleapis/google-cloud-python/blob/google-cloud-securitycenter-v${version}/packages/google-cloud-securitycenter/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix b/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
index a9c49b57063d..9d5f406429f4 100644
--- a/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gphoto2/default.nix
@@ -1,22 +1,35 @@
-{ lib, fetchPypi, buildPythonPackage
+{ lib, fetchPypi, fetchpatch, buildPythonPackage
 , pkg-config
-, libgphoto2 }:
+, libgphoto2
+, setuptools
+, toml
+}:
 
 buildPythonPackage rec {
   pname = "gphoto2";
   version = "2.5.0";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
     hash = "sha256-l9B6PEIGf8rkUlYApOytW2s9OhgcxMHVlDgfQR5ZnoA=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  # only convert first 2 values from setuptools_version to ints to avoid
+  # parse errors if last value is a string.
+  patches = fetchpatch {
+    url = "https://github.com/jim-easterbrook/python-gphoto2/commit/d388971b63fea831eb986d2212d4828c6c553235.patch";
+    hash = "sha256-EXtXlhBx2jCKtMl7HmN87liqiHVAFSeXr11y830AlpY=";
+  };
+
+  nativeBuildInputs = [ pkg-config setuptools toml ];
 
   buildInputs = [ libgphoto2 ];
 
   doCheck = false; # No tests available
 
+  pythonImportsCheck = [ "gphoto2" ];
+
   meta = with lib; {
     description = "Python interface to libgphoto2";
     homepage = "https://github.com/jim-easterbrook/python-gphoto2";
diff --git a/nixpkgs/pkgs/development/python-modules/gptcache/default.nix b/nixpkgs/pkgs/development/python-modules/gptcache/default.nix
index 3172e8d7bc89..ea2c09eed4a3 100644
--- a/nixpkgs/pkgs/development/python-modules/gptcache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gptcache/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "gptcache";
-  version = "0.1.41";
+  version = "0.1.42";
   format = "setuptools";
 
   disabled = pythonOlder "3.8.1";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "zilliztech";
     repo = "GPTCache";
     rev = "refs/tags/${version}";
-    hash = "sha256-0jQziywoDQQuNaB1G7YovX7473PfI7u5fTRQMidf3NA=";
+    hash = "sha256-rrPs5ZwBooltVcvrs4AHObx69xmZ8F+IP/lJGPVTNXY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gradio/default.nix b/nixpkgs/pkgs/development/python-modules/gradio/default.nix
index 5d051ef80ec2..19474d8d9fbf 100644
--- a/nixpkgs/pkgs/development/python-modules/gradio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gradio/default.nix
@@ -48,7 +48,7 @@
 , torch
 , tqdm
 , transformers
-, vega_datasets
+, vega-datasets
 }:
 
 buildPythonPackage rec {
@@ -118,7 +118,7 @@ buildPythonPackage rec {
     torch
     tqdm
     transformers
-    vega_datasets
+    vega-datasets
   ];
 
   # Add a pytest hook skipping tests that access network, marking them as "Expected fail" (xfail).
diff --git a/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix b/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix
index 38f9dea75455..3b6e9f6f0f23 100644
--- a/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/greeneye-monitor/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "greeneye-monitor";
-  version = "5.0";
+  version = "5.0.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jkeljo";
     repo = "greeneye-monitor";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HU+GWO08caKfQZ0tIDmJYAML4CKUM0CPukm7wD6uSEA=";
+    hash = "sha256-zNGizNOuZuPRdz82y8IaVvwrTos4lZSqTP5FwOlnRao=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix
index 5769fe0dafaf..f827c8508122 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-channelz/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-channelz";
-  version = "1.59.0";
+  version = "1.59.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-H25CEs6JW+gnpuGJe88vSh0h5ETKMT8lxEgfViExhMk=";
+    hash = "sha256-apOnMd8EDU+ocj6fL/dkl3tqh6en/Q8H9K/lgvkqFN8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix
index 901cad45c6e3..cd0506870a27 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/grpcio-reflection/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "grpcio-reflection";
-  version = "1.59.0";
+  version = "1.59.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-H+jw3WwYD9z04SztKo94TZx0HMvAsZhYWx3wJLf48/I=";
+    hash = "sha256-l5bcvFnc+59tVGXVnn+mKld3o+TVqolPRIVciWpG+os=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gspread/default.nix b/nixpkgs/pkgs/development/python-modules/gspread/default.nix
index 285a552ac933..f71690c877e2 100644
--- a/nixpkgs/pkgs/development/python-modules/gspread/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gspread/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "gspread";
-  version = "5.11.3";
+  version = "5.12.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "burnash";
     repo = "gspread";
     rev = "refs/tags/v${version}";
-    hash = "sha256-O6uhT8zfCGiGr0v8pEMZ4uLuDAdFpiTie7EC3rphZQI=";
+    hash = "sha256-v6kpje5rw3/OfcoMWdSCZdkmETyIJ08cly8lLUt9j64=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/gst-python/default.nix b/nixpkgs/pkgs/development/python-modules/gst-python/default.nix
index 2f9ced5aec75..abc5d52ece6d 100644
--- a/nixpkgs/pkgs/development/python-modules/gst-python/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gst-python/default.nix
@@ -48,7 +48,7 @@ buildPythonPackage rec {
   mesonFlags = [
     "-Dpygi-overrides-dir=${placeholder "out"}/${python.sitePackages}/gi/overrides"
     # Exec format error during configure
-    "-Dpython=${python.pythonForBuild.interpreter}"
+    "-Dpython=${python.pythonOnBuildForHost.interpreter}"
   ];
 
   doCheck = true;
diff --git a/nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix b/nixpkgs/pkgs/development/python-modules/hdf5plugin/default.nix
index 38782e3240c0..c5a1ad4141dd 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.2.0";
+  version = "4.3.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "silx-kit";
     repo = "hdf5plugin";
     rev = "refs/tags/v${version}";
-    hash = "sha256-y0iDPAfm66FdclPREPnvurupWd9ZUgz8PqFd/JoapDc=";
+    hash = "sha256-xOSGykG6D2Am/gnAPoqLOvIQz6FfxRQe9lPyRHxUoew=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix b/nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix
index 1e914096f7d5..cfb79f88b72a 100644
--- a/nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/hg-evolve/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "hg-evolve";
-  version = "11.0.2";
+  version = "11.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-qDURFcDm7zvDEv1Z+aoXtFfbilul6q6KlkjBvhkeYkM=";
+    hash = "sha256-sMvHvHwLuMT0LaH2XFDePuePbwCXjvl66QGdERR0k6g=";
   };
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/holidays/default.nix b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
index 9fd25d7e138c..164a9b869e82 100644
--- a/nixpkgs/pkgs/development/python-modules/holidays/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/holidays/default.nix
@@ -1,20 +1,27 @@
 { lib
 , buildPythonPackage
-, convertdate
 , fetchFromGitHub
-, hijri-converter
-, importlib-metadata
-, korean-lunar-calendar
-, polib
-, pytestCheckHook
-, python-dateutil
 , pythonOlder
+
+# build-system
 , setuptools
+
+# l10n
+, polib
+, lingua
+, chameleon
+
+# dependencies
+, python-dateutil
+
+# tests
+, importlib-metadata
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "holidays";
-  version = "0.35";
+  version = "0.36";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -23,20 +30,34 @@ buildPythonPackage rec {
     owner = "dr-prodigy";
     repo = "python-holidays";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FrAqVLyEtjhpiu1XdFY5yOstKKjXhRTv9PeaFlJaf8k=";
+    hash = "sha256-pYlirojeHi10kUcjcvpfBYpIzbYmIlFgOLfy7WRhACU=";
   };
 
   nativeBuildInputs = [
     setuptools
+
+    # l10n
+    lingua
+    chameleon
+    polib
   ];
 
+  postPatch = ''
+    patchShebangs scripts/l10n/*.py
+  '';
+
+  preBuild = ''
+    # make l10n
+    ./scripts/l10n/generate_po_files.py
+    ./scripts/l10n/generate_mo_files.py
+  '';
+
   propagatedBuildInputs = [
-    convertdate
     python-dateutil
-    hijri-converter
-    korean-lunar-calendar
   ];
 
+  doCheck = false;
+
   nativeCheckInputs = [
     importlib-metadata
     polib
diff --git a/nixpkgs/pkgs/development/python-modules/holoviews/default.nix b/nixpkgs/pkgs/development/python-modules/holoviews/default.nix
index f2008520e1f3..47f30ce2fc20 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.17.1";
+  version = "1.18.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yjDGYVCLIunowRnbw+Sl2FGYe0PDBWXbGAspHY/XcKQ=";
+    hash = "sha256-urcpYat6GHlNsmk1HZBVI/Kq3K1ZOzIVEpJ86T3J35E=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/home-assistant-bluetooth/default.nix b/nixpkgs/pkgs/development/python-modules/home-assistant-bluetooth/default.nix
index a0833b20798e..c5cd3d2e4f3c 100644
--- a/nixpkgs/pkgs/development/python-modules/home-assistant-bluetooth/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/home-assistant-bluetooth/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-bluetooth";
-  version = "1.10.3";
+  version = "1.10.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-77RrqmoCftPc48fFtuuFo0KqGX3n+6aDx2RFkwGCNzQ=";
+    hash = "sha256-7gkesxQI6QBxyQpHlSSh1w6MDeid0dSdXn+jnxvafD0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/htmllistparse/default.nix b/nixpkgs/pkgs/development/python-modules/htmllistparse/default.nix
new file mode 100644
index 000000000000..ae13f6585a1d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/htmllistparse/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, beautifulsoup4
+, html5lib
+, requests
+, fusepy
+}:
+
+buildPythonPackage rec {
+  pname = "htmllistparse";
+  version = "0.6.1";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-bcimvwPIQ7nTJYQ6JqI1GnlbVzzZKiybgnFiEBnGQII=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+  propagatedBuildInputs = [ beautifulsoup4 html5lib requests fusepy ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "htmllistparse"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/gumblex/htmllisting-parser";
+    description = "Python parser for Apache/nginx-style HTML directory listing";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexchen ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
index 58e6fded6e1a..75be71df04f7 100644
--- a/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/httpx-socks/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "httpx-socks";
-  version = "0.7.8";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "romis2012";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-I00+yB+aRnIMUQIJ7Lvr6LsHpf+gibkHh+2XgpeQn5U=";
+    hash = "sha256-3Dj+rrH5Pil5xQE6sAAD5RTycwlKq+TVsAeB2NVqGjY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/hwdata/default.nix b/nixpkgs/pkgs/development/python-modules/hwdata/default.nix
new file mode 100644
index 000000000000..9e73fb610170
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/hwdata/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pkgs
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "hwdata";
+  version = "2.4.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "xsuchy";
+    repo = "python-hwdata";
+    rev = "python-hwdata-${version}-1";
+    hash = "sha256-hmvxVF9LOkezXnJdbtbEJWhU4uvUJgxQHYeWUoiniF0=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  patchPhase = ''
+    substituteInPlace hwdata.py --replace "/usr/share/hwdata" "${pkgs.hwdata}/share/hwdata"
+  '';
+
+  pythonImportsCheck = [
+    "hwdata"
+  ];
+
+  doCheck = false; # no tests
+
+  meta = with lib; {
+    description = "Python bindings to hwdata";
+    homepage = "https://github.com/xsuchy/python-hwdata";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lurkki ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ical/default.nix b/nixpkgs/pkgs/development/python-modules/ical/default.nix
index c69df0352c2a..8da513c5b787 100644
--- a/nixpkgs/pkgs/development/python-modules/ical/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ical/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "ical";
-  version = "5.1.0";
+  version = "5.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ffNgYtwErt9tzfDWQnt0h7QHQL+gMvFpP8zH6FSoHEM=";
+    hash = "sha256-ewKQzjtVgx9c6h67epgFNhY4MjR7kFNCr4EKZ+UF2xA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ignite/default.nix b/nixpkgs/pkgs/development/python-modules/ignite/default.nix
index 054309a5258f..853405d0476f 100644
--- a/nixpkgs/pkgs/development/python-modules/ignite/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ignite/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "ignite";
-  version = "0.4.12";
+  version = "0.4.13";
 
   src = fetchFromGitHub {
     owner = "pytorch";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-cLlPUPzYyOpqk4qHsn22s3Xr/VkGjnHL4JVw2qy2iTc=";
+    hash = "sha256-+olp+zphcHMvcGKHt0JhxXza1wd7UiydwVFnSQ310Vg=";
   };
 
   nativeCheckInputs = [ pytestCheckHook matplotlib mock pytest-xdist torchvision ];
diff --git a/nixpkgs/pkgs/development/python-modules/imagecorruptions/default.nix b/nixpkgs/pkgs/development/python-modules/imagecorruptions/default.nix
index f3450d7df17d..64da1392047d 100644
--- a/nixpkgs/pkgs/development/python-modules/imagecorruptions/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imagecorruptions/default.nix
@@ -3,7 +3,7 @@
 , numpy
 , scikit-image
 , lib
-, opencv3
+, opencv4
 }:
 
 buildPythonPackage rec {
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     numpy
     scikit-image
-    opencv3
+    opencv4
   ];
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/imantics/default.nix b/nixpkgs/pkgs/development/python-modules/imantics/default.nix
index 3b02ac440349..2e10ca6cb330 100644
--- a/nixpkgs/pkgs/development/python-modules/imantics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imantics/default.nix
@@ -2,10 +2,10 @@
 , fetchFromGitHub
 , lib
 , numpy
-, opencv3
-, sphinx-rtd-theme
+, opencv4
 , lxml
 , xmljson
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -21,8 +21,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     numpy
-    opencv3
-    sphinx-rtd-theme
+    opencv4
     lxml
     xmljson
   ];
@@ -32,8 +31,7 @@ buildPythonPackage rec {
       --replace "'opencv-python>=3'," ""
   '';
 
-  # failing on NixOS
-  doCheck = false;
+  nativeCheckInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "imantics" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/imapclient/default.nix b/nixpkgs/pkgs/development/python-modules/imapclient/default.nix
index d943fbba0c27..58c45f992236 100644
--- a/nixpkgs/pkgs/development/python-modules/imapclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imapclient/default.nix
@@ -7,15 +7,15 @@
 
 buildPythonPackage rec {
   pname = "imapclient";
-  version = "2.3.1";
+  version = "3.0.0";
 
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "mjs";
     repo = "imapclient";
-    rev = version;
-    hash = "sha256-aHWRhQOEjYiLlWTiuYo/a4pOhfLF7jz+ltG+yOqgfKI=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-ylYGh+78I+6pdvHuQPw8Gks9TLkXQL5HQiaZDnJK3DA=";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch b/nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch
index bf5e1e408614..139eafd63ced 100644
--- a/nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch
+++ b/nixpkgs/pkgs/development/python-modules/img2pdf/default-icc-profile.patch
@@ -14,7 +14,7 @@ index 036232b..d2e7829 100755
 -        if os.path.exists(profile):
 -            return profile
 -    return "/usr/share/color/icc/sRGB.icc"
-+    return "@colord@/share/color/icc/colord/sRGB.icc"
++    return "@srgbProfile@"
  
  
  def get_main_parser():
diff --git a/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix b/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix
index 06183b3d5348..a94681ada0f1 100644
--- a/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/img2pdf/default.nix
@@ -38,7 +38,10 @@ buildPythonPackage rec {
   patches = [
     (substituteAll {
       src = ./default-icc-profile.patch;
-      inherit colord;
+      srgbProfile = if stdenv.isDarwin then
+        "/System/Library/ColorSync/Profiles/sRGB Profile.icc"
+      else
+        "${colord}/share/color/icc/colord/sRGB.icc";
     })
     (fetchpatch {
       # https://gitlab.mister-muffin.de/josch/img2pdf/issues/178
@@ -57,6 +60,12 @@ buildPythonPackage rec {
     pillow
   ];
 
+  # FIXME: Only add "sRGB Profile.icc" to __impureHostDeps once
+  # https://github.com/NixOS/nix/issues/9301 is fixed.
+  __impureHostDeps = lib.optionals stdenv.isDarwin [
+    "/System/Library/ColorSync/Profiles"
+  ];
+
   nativeCheckInputs = [
     exiftool
     ghostscript
diff --git a/nixpkgs/pkgs/development/python-modules/imutils/default.nix b/nixpkgs/pkgs/development/python-modules/imutils/default.nix
index 74336bf5d808..b655ddc47014 100644
--- a/nixpkgs/pkgs/development/python-modules/imutils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/imutils/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, opencv3
+, opencv4
 }:
 
 buildPythonPackage rec {
@@ -13,7 +13,7 @@ buildPythonPackage rec {
     sha256 = "03827a9fca8b5c540305c0844a62591cf35a0caec199cb0f2f0a4a0fb15d8f24";
   };
 
-  propagatedBuildInputs = [ opencv3 ];
+  propagatedBuildInputs = [ opencv4 ];
 
   # no tests
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/inkex/default.nix b/nixpkgs/pkgs/development/python-modules/inkex/default.nix
index 4cc96646bc0b..4d04618ec3e6 100644
--- a/nixpkgs/pkgs/development/python-modules/inkex/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/inkex/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, inkscape
 , fetchFromGitLab
 , poetry-core
 , cssselect
@@ -8,6 +9,7 @@
 , packaging
 , pillow
 , pygobject3
+, pyparsing
 , pyserial
 , scour
 , gobject-introspection
@@ -15,24 +17,13 @@
 , gtk3
 }:
 
-buildPythonPackage rec {
+buildPythonPackage {
   pname = "inkex";
-  version = "1.2.2";
+  inherit (inkscape) version;
 
   format = "pyproject";
 
-  src = fetchFromGitLab {
-    owner = "inkscape";
-    repo = "extensions";
-    rev = "EXTENSIONS_AT_INKSCAPE_${version}";
-    hash = "sha256-jw7daZQTBxLHWOpjZkMYtP1vIQvd/eLgiktWqVSjEgU=";
-  };
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace '"1.2.0"' '"${version}"' \
-      --replace 'scour = "^0.37"' 'scour = ">=0.37"'
-  '';
+  inherit (inkscape) src;
 
   nativeBuildInputs = [
     poetry-core
@@ -42,11 +33,8 @@ buildPythonPackage rec {
     cssselect
     lxml
     numpy
-    packaging
-    pillow
     pygobject3
     pyserial
-    scour
   ];
 
   pythonImportsCheck = [ "inkex" ];
@@ -58,6 +46,10 @@ buildPythonPackage rec {
 
   checkInputs = [
     gtk3
+    packaging
+    pillow
+    pyparsing
+    scour
   ];
 
   disabledTests = [
@@ -74,6 +66,13 @@ buildPythonPackage rec {
     "tests/test_inkex_gui_pixmaps.py"
   ];
 
+  postPatch = ''
+    cd share/extensions
+
+    substituteInPlace pyproject.toml \
+      --replace 'scour = "^0.37"' 'scour = ">=0.37"'
+  '';
+
   meta = {
     description = "Library for manipulating SVG documents which is the basis for Inkscape extensions";
     homepage = "https://gitlab.com/inkscape/extensions";
diff --git a/nixpkgs/pkgs/development/python-modules/insightface/default.nix b/nixpkgs/pkgs/development/python-modules/insightface/default.nix
index e06b86f91802..6d5c4a66239c 100644
--- a/nixpkgs/pkgs/development/python-modules/insightface/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/insightface/default.nix
@@ -69,9 +69,6 @@ buildPythonPackage rec {
   doCheck = false; # Upstream has no tests
 
   meta = with lib; {
-    # Both protobuf3 and protobuf4 in the build closure.
-    # related: https://github.com/onnx/onnx/issues/5563
-    broken = true;
     description = "State-of-the-art 2D and 3D Face Analysis Project";
     homepage = "https://github.com/deepinsight/insightface";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/intellifire4py/default.nix b/nixpkgs/pkgs/development/python-modules/intellifire4py/default.nix
index a38fbf9f5a07..ff7dad6f0be0 100644
--- a/nixpkgs/pkgs/development/python-modules/intellifire4py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/intellifire4py/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "intellifire4py";
-  version = "3.1.29";
+  version = "3.1.30";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "jeeftor";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-isAVq45UnKB8uMg7bhehpxIk5OOLcWx+VNZhJ8dE52Y=";
+    hash = "sha256-CIcudKyRPVJX6QvWk6dBbYnO5EULREDhaflJTAfJEvc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ionoscloud/default.nix b/nixpkgs/pkgs/development/python-modules/ionoscloud/default.nix
new file mode 100644
index 000000000000..2d98144e90a8
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ionoscloud/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, urllib3
+, six
+, certifi
+, python-dateutil
+, asn1crypto
+}:
+
+buildPythonPackage rec {
+  pname = "ionoscloud";
+  version = "6.1.8";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash= "sha256-QQNDqKZ+X+w5vHFXr793QqRjShNBZ182DyD3fUUxqkc=";
+  };
+
+  nativeBuildInputs = [ setuptools ];
+
+  propagatedBuildInputs = [ urllib3 six certifi python-dateutil asn1crypto ];
+
+  # upstream only has codecoverage tests, but no actual tests to go with them
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "ionoscloud"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/ionos-cloud/sdk-python";
+    description = "Python API client for ionoscloud";
+    changelog = "https://github.com/ionos-cloud/sdk-python/blob/v${version}/docs/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ hexchen ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
index 82ef5a953d8f..f1cda9c58eae 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxlib/default.nix
@@ -267,7 +267,7 @@ let
         x86_64-linux = "sha256-Hw4uFvltH7nlNN3qAEcQ+IR2FAOjRkvwyWA3rCPi7Vo=";
       } else {
         x86_64-linux = "sha256-LEugnFwTV3EyeTZWgMvXzHbgeDPdmuT3daXCXJRMYVY=";
-        aarch64-linux = "sha256-0AYF5AeuPHTlwtpDMs2+tAhRAJH0yeSVnB7Ni7wmzS8=";
+        aarch64-linux = "sha256-59rv/3RjD8pnveBDZ33xZoNQxLmnhMocsKMgVfYoO70=";
       }).${stdenv.system} or (throw "jaxlib: unsupported system: ${stdenv.system}");
     };
 
diff --git a/nixpkgs/pkgs/development/python-modules/jaxopt/default.nix b/nixpkgs/pkgs/development/python-modules/jaxopt/default.nix
index 6320619c1383..36a43027231d 100644
--- a/nixpkgs/pkgs/development/python-modules/jaxopt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jaxopt/default.nix
@@ -16,16 +16,16 @@
 
 buildPythonPackage rec {
   pname = "jaxopt";
-  version = "0.8.1";
+  version = "0.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "google";
-    repo = pname;
+    repo = "jaxopt";
     rev = "refs/tags/jaxopt-v${version}";
-    hash = "sha256-5+GfRFzXyc1Ukp86NeK0qstTq9fkx+eDb4iXvxzRoKs=";
+    hash = "sha256-uVOd3knoku5fKBNXOhCikGtjDuW3TtRqev94OM/8Pgk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jc/default.nix b/nixpkgs/pkgs/development/python-modules/jc/default.nix
index 50c8c520fb08..39bc43bc4194 100644
--- a/nixpkgs/pkgs/development/python-modules/jc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jc/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.23.5";
+  version = "1.23.6";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kellyjonbrazil";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-lIIUJL9NOtDpPQeuFi9xvFG0fPzYYEBv40s7Q+JSmN8=";
+    hash = "sha256-vAPWMv5vYFl45ZTl+p4HHAXeZ/10VSvubKINoyGPRq4=";
   };
 
   propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ];
diff --git a/nixpkgs/pkgs/development/python-modules/jug/default.nix b/nixpkgs/pkgs/development/python-modules/jug/default.nix
index 6388dfc15401..315b15629041 100644
--- a/nixpkgs/pkgs/development/python-modules/jug/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jug/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "jug";
-  version = "2.3.0";
+  version = "2.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Jug";
     inherit version;
-    hash = "sha256-JWE0eSCAaAJ2vyiKGksYUzS3enCIJYCaT3tVV7fP1BA=";
+    hash = "sha256-Y2TWqJi7GjmWUFpe1b150NgwRw9VKhCk5EoN5NDcPXU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix
index 29a8bb024584..7a2501f317b7 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-cache/default.nix
@@ -15,14 +15,15 @@
 
 buildPythonPackage rec {
   pname = "jupyter-cache";
-  version = "0.6.1";
-  format = "pyproject";
+  version = "1.0.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-Jvg5ARQ+30ry8/9akeLSrSmORuLO4DyAcdN6I6Y8y/w=";
+    inherit version;
+    pname = "jupyter_cache";
+    hash = "sha256-0Pp9dTPNV5gZjYiJMYJpqME4LtOyL2IsCak1ZSH0hoc=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +46,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A defined interface for working with a cache of jupyter notebooks";
     homepage = "https://github.com/executablebooks/jupyter-cache";
+    changelog = "https://github.com/executablebooks/jupyter-cache/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ marsam ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix
index 2d7234051d23..014b67cb4b46 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyter-client/default.nix
@@ -11,6 +11,8 @@
 , traitlets
 , isPyPy
 , py
+, pythonOlder
+, importlib-metadata
 }:
 
 buildPythonPackage rec {
@@ -35,6 +37,8 @@ buildPythonPackage rec {
     pyzmq
     tornado
     traitlets
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
   ] ++ lib.optional isPyPy py;
 
   # Circular dependency with ipykernel
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab-server/default.nix
index 6deb3912730b..a408137650ac 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab-server/default.nix
@@ -1,91 +1,92 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, hatchling
-, jsonschema
 , pythonOlder
-, requests
-, pytestCheckHook
-, json5
+, hatchling
 , babel
+, importlib-metadata
+, jinja2
+, json5
+, jsonschema
 , jupyter-server
-, tomli
+, packaging
+, requests
 , openapi-core
 , pytest-jupyter
+, pytestCheckHook
 , requests-mock
 , ruamel-yaml
 , strict-rfc3339
-, importlib-metadata
 }:
 
 buildPythonPackage rec {
-  pname = "jupyterlab_server";
-  version = "2.25.0";
-  format = "pyproject";
+  pname = "jupyterlab-server";
+  version = "2.25.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-d8Lx8oLWEPleSW4g1b8dKncGgm37exjzN4rihw0nL7c=";
+    pname = "jupyterlab_server";
+    inherit version;
+    hash = "sha256-ZJEoOwAAaY6uGjjEhQeTBWDfz3RhrqABU2hpiqs03Zw=";
   };
 
+  postPatch = ''
+    sed -i "/timeout/d" pyproject.toml
+  '';
+
   nativeBuildInputs = [
     hatchling
   ];
 
   propagatedBuildInputs = [
-    requests
-    jsonschema
-    json5
     babel
+    jinja2
+    json5
+    jsonschema
     jupyter-server
-    tomli
+    packaging
+    requests
   ] ++ lib.optionals (pythonOlder "3.10") [
     importlib-metadata
   ];
 
+  passthru.optional-dependencies = {
+    openapi = [
+      openapi-core
+      ruamel-yaml
+    ];
+  };
+
   nativeCheckInputs = [
-    openapi-core
-    pytestCheckHook
     pytest-jupyter
+    pytestCheckHook
     requests-mock
-    ruamel-yaml
     strict-rfc3339
-  ];
-
-  postPatch = ''
-    sed -i "/timeout/d" pyproject.toml
-  '';
+  ] ++ passthru.optional-dependencies.openapi;
 
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
 
-  pytestFlagsArray = [
-    # DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12.
-    # Use setuptools or check PEP 632 for potential alternatives.
-    "-W ignore::DeprecationWarning"
-  ];
-
   disabledTestPaths = [
-    "tests/test_settings_api.py"
-    "tests/test_themes_api.py"
+    # require optional language pack packages for tests
     "tests/test_translation_api.py"
-    "tests/test_workspaces_api.py"
   ];
 
-  disabledTests = [
-    "test_get_listing"
+  pythonImportsCheck = [
+    "jupyterlab_server"
+    "jupyterlab_server.pytest_plugin"
   ];
 
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
     description = "A set of server components for JupyterLab and JupyterLab like applications";
-    homepage = "https://jupyterlab-server.readthedocs.io/";
+    homepage = "https://github.com/jupyterlab/jupyterlab_server";
     changelog = "https://github.com/jupyterlab/jupyterlab_server/blob/v${version}/CHANGELOG.md";
-    license = licenses.bsdOriginal;
+    license = licenses.bsd3;
     maintainers = lib.teams.jupyter.members;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
index 763e44fb142f..6a6acff7aaf3 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jupyterlab/default.nix
@@ -9,7 +9,7 @@
 , ipykernel
 , jupyter-core
 , jupyter-lsp
-, jupyterlab_server
+, jupyterlab-server
 , jupyter-server
 , notebook-shim
 , jinja2
@@ -42,7 +42,7 @@ buildPythonPackage rec {
     ipykernel
     jupyter-core
     jupyter-lsp
-    jupyterlab_server
+    jupyterlab-server
     jupyter-server
     notebook-shim
     jinja2
diff --git a/nixpkgs/pkgs/development/python-modules/jupyterlab_launcher/default.nix b/nixpkgs/pkgs/development/python-modules/jupyterlab_launcher/default.nix
deleted file mode 100644
index 15b53f523b57..000000000000
--- a/nixpkgs/pkgs/development/python-modules/jupyterlab_launcher/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, jsonschema, notebook, pythonOlder }:
-buildPythonPackage rec {
-  pname = "jupyterlab_launcher";
-  version = "0.13.1";
-  disabled = pythonOlder "3.5";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "f880eada0b8b1f524d5951dc6fcae0d13b169897fc8a247d75fb5beadd69c5f0";
-  };
-
-  propagatedBuildInputs = [
-    jsonschema
-    notebook
-  ];
-
-  # depends on requests and a bunch of other libraries
-  doCheck = false;
-
-  meta = with lib; {
-    description = "This package is used to launch an application built using JupyterLab";
-    license = with licenses; [ bsd3 ];
-    homepage = "https://jupyter.org/";
-    maintainers = with maintainers; [ zimbatm ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/python-jwt/default.nix b/nixpkgs/pkgs/development/python-modules/jwt/default.nix
index 7e21b4f45a21..7e21b4f45a21 100644
--- a/nixpkgs/pkgs/development/python-modules/python-jwt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/jwt/default.nix
diff --git a/nixpkgs/pkgs/development/python-modules/kombu/default.nix b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
index af8e8ed29be9..f2fb806f4750 100644
--- a/nixpkgs/pkgs/development/python-modules/kombu/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/kombu/default.nix
@@ -27,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "kombu";
-  version = "5.3.2";
+  version = "5.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-C6IT9jCiyydycorvVqxog9w6LxNDXhAEj26X1IUG270=";
+    hash = "sha256-FJHfgmz8UXjIDz6J3W37po5ITvM024EHDrXLgJSzEWc=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/labgrid/0001-serialdriver-remove-pyserial-version-check.patch b/nixpkgs/pkgs/development/python-modules/labgrid/0001-serialdriver-remove-pyserial-version-check.patch
deleted file mode 100644
index d3e3082b352d..000000000000
--- a/nixpkgs/pkgs/development/python-modules/labgrid/0001-serialdriver-remove-pyserial-version-check.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 75baa1751973378cb96fb204b0a18a74e5caa2d1 Mon Sep 17 00:00:00 2001
-From: Rouven Czerwinski <r.czerwinski@pengutronix.de>
-Date: Wed, 17 Feb 2021 14:03:20 +0100
-Subject: [PATCH] serialdriver: remove pyserial version check
-
-This check isn't required on NixOS, since pyserial within NixOS already
-contains the patches.
-
-Signed-off-by: Rouven Czerwinski <r.czerwinski@pengutronix.de>
----
- labgrid/driver/serialdriver.py | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/labgrid/driver/serialdriver.py b/labgrid/driver/serialdriver.py
-index 126f674e..59a92269 100644
---- a/labgrid/driver/serialdriver.py
-+++ b/labgrid/driver/serialdriver.py
-@@ -27,12 +27,6 @@ class SerialDriver(ConsoleExpectMixin, Driver, ConsoleProtocol):
-         bindings = {"port": "SerialPort", }
-     else:
-         bindings = {"port": {"SerialPort", "NetworkSerialPort"}, }
--    if version.parse(serial.__version__) != version.Version('3.4.0.1'):
--        message = ("The installed pyserial version does not contain important RFC2217 fixes.\n"
--                   "You can install the labgrid fork via:\n"
--                   "pip uninstall pyserial\n"
--                   "pip install https://github.com/labgrid-project/pyserial/archive/v3.4.0.1.zip#egg=pyserial\n")  # pylint: disable=line-too-long
--        warnings.warn(message)
- 
-     txdelay = attr.ib(default=0.0, validator=attr.validators.instance_of(float))
-     timeout = attr.ib(default=3.0, validator=attr.validators.instance_of(float))
--- 
-2.30.0
-
diff --git a/nixpkgs/pkgs/development/python-modules/labgrid/default.nix b/nixpkgs/pkgs/development/python-modules/labgrid/default.nix
index 0e96bf2fe9ae..aa4b10d49d5f 100644
--- a/nixpkgs/pkgs/development/python-modules/labgrid/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/labgrid/default.nix
@@ -17,7 +17,9 @@
 , pyusb
 , pyyaml
 , requests
+, setuptools
 , setuptools-scm
+, wheel
 , xmodem
 }:
 
@@ -32,13 +34,13 @@ buildPythonPackage rec {
     sha256 = "sha256-yhlBqqCLOt6liw4iv8itG6E4QfIa7cW76QJqefUM5dw=";
   };
 
-  patches = [
-    # Pyserial within Nixpkgs already includes the necessary fix, remove the
-    # pyserial version check from labgrid.
-    ./0001-serialdriver-remove-pyserial-version-check.patch
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+    wheel
   ];
 
-  nativeBuildInputs = [ setuptools-scm ];
+  pyproject = true;
 
   propagatedBuildInputs = [
     ansicolors
diff --git a/nixpkgs/pkgs/development/python-modules/langchain/default.nix b/nixpkgs/pkgs/development/python-modules/langchain/default.nix
index e14f008d0cb7..c2fabc40c03a 100644
--- a/nixpkgs/pkgs/development/python-modules/langchain/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langchain/default.nix
@@ -42,7 +42,6 @@
 , librosa
 , lxml
 , manifest-ml
-, markdownify
 , neo4j
 , networkx
 , nlpcloud
@@ -76,8 +75,8 @@
 , pytest-asyncio
 , pytest-mock
 , pytest-socket
-, pytest-vcr
 , pytestCheckHook
+, requests-mock
 , responses
 , syrupy
 , toml
@@ -85,7 +84,7 @@
 
 buildPythonPackage rec {
   pname = "langchain";
-  version = "0.0.325";
+  version = "0.0.334";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -94,7 +93,7 @@ buildPythonPackage rec {
     owner = "hwchase17";
     repo = "langchain";
     rev = "refs/tags/v${version}";
-    hash = "sha256-/bk4RafDDL4nozyFOiikyU4auBSftej21m5/FnEtDog=";
+    hash = "sha256-mXPqc8wF9DhEtITm8h5R9kHBcMJ7AEK4kL5Z7V2p8NE=";
   };
 
   sourceRoot = "${src.name}/libs/langchain";
@@ -253,21 +252,22 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     freezegun
-    markdownify
+    lark
     pandas
     pytest-asyncio
     pytest-mock
     pytest-socket
-    pytest-vcr
     pytestCheckHook
+    requests-mock
     responses
     syrupy
     toml
-  ] ++ passthru.optional-dependencies.all;
+  ];
 
   pytestFlagsArray = [
     # integration_tests have many network, db access and require `OPENAI_API_KEY`, etc.
     "tests/unit_tests"
+    "--only-core"
   ];
 
   disabledTests = [
@@ -279,6 +279,10 @@ buildPythonPackage rec {
     "test_socket_disabled"
   ];
 
+  pythonImportsCheck = [
+    "langchain"
+  ];
+
   meta = with lib; {
     description = "Building applications with LLMs through composability";
     homepage = "https://github.com/hwchase17/langchain";
diff --git a/nixpkgs/pkgs/development/python-modules/langsmith/default.nix b/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
index bf3230c910bd..3b81c6128887 100644
--- a/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/langsmith/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "langsmith";
-  version = "0.0.53";
+  version = "0.0.63";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "langchain-ai";
     repo = "langsmith-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5w6bCNYoZAIrFkruw7E3Tw0G0no05x/g2hHESC3T2lw=";
+    hash = "sha256-KE+WMnuWAq1stZuuwZkOPOKQ2lZNKtxzNbZMRoOdmz0=";
   };
 
   sourceRoot = "${src.name}/python";
@@ -60,6 +60,8 @@ buildPythonPackage rec {
     "langsmith"
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with lib; {
     description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform";
     homepage = "https://github.com/langchain-ai/langsmith-sdk";
diff --git a/nixpkgs/pkgs/development/python-modules/latexify-py/default.nix b/nixpkgs/pkgs/development/python-modules/latexify-py/default.nix
index f0da746107b0..cecba90e33ea 100644
--- a/nixpkgs/pkgs/development/python-modules/latexify-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/latexify-py/default.nix
@@ -1,38 +1,50 @@
 { lib
 , buildPythonPackage
+, dill
 , fetchFromGitHub
 , hatchling
-, dill
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "latexify-py";
-  version = "0.2.0";
+  version = "0.3.1";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "google";
     repo = "latexify_py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-b0/cKMfIONVd6A5AYRyLx/qsFVpUjeAsadQyu/mPYxo=";
+    hash = "sha256-uWSLs7Dem+cj93RWIincCXzPkjZUwQskpDac/L+fgjQ=";
   };
 
-  nativeBuildInputs = [ hatchling ];
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    dill
+  ];
 
-  propagatedBuildInputs = [ dill ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "latexify"
+  ];
 
   preCheck = ''
     cd src
   '';
 
-  nativeCheckInputs = [ pytestCheckHook ];
-
-  pythonImportsCheck = [ "latexify" ];
-
   meta = with lib; {
     description = "Generates LaTeX math description from Python functions";
     homepage = "https://github.com/google/latexify_py";
+    changelog = "https://github.com/google/latexify_py/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ prusnak ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/lazr/config.nix b/nixpkgs/pkgs/development/python-modules/lazr/config.nix
index b10ad25972b5..bc369705e265 100644
--- a/nixpkgs/pkgs/development/python-modules/lazr/config.nix
+++ b/nixpkgs/pkgs/development/python-modules/lazr/config.nix
@@ -1,13 +1,54 @@
-{ buildPythonPackage, fetchPypi, lazr_delegates }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, lazr-delegates
+, zope_interface
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
-  pname = "lazr.config";
-  version = "2.2.3";
-
-  propagatedBuildInputs = [ lazr_delegates ];
+  pname = "lazr-config";
+  version = "3.0";
+  pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "b74a73f8b63e6dc6732fc1f3d88e2f236596ddf089ef6e1794ece060e8cfabe1";
+    pname = "lazr.config";
+    inherit version;
+    hash = "sha256-oU5PbMCa68HUCxdhWK6g7uIlLBQAO40O8LMcfFFMNkQ=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    lazr-delegates
+    zope_interface
+  ];
+
+  pythonImportsCheck = [
+    "lazr.config"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  # change the directory to avoid a namespace-related problem
+  # ModuleNotFoundError: No module named 'lazr.delegates'
+  preCheck = ''
+    cd $out
+  '';
+
+  pythonNamespaces = [
+    "lazr"
+  ];
+
+  meta = with lib; {
+    description = "Create configuration schemas, and process and validate configurations";
+    homepage = "https://launchpad.net/lazr.config";
+    changelog = "https://git.launchpad.net/lazr.config/tree/NEWS.rst?h=${version}";
+    license = licenses.lgpl3Only;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/lazr/delegates.nix b/nixpkgs/pkgs/development/python-modules/lazr/delegates.nix
index 40e2e47d517d..e0b03e693194 100644
--- a/nixpkgs/pkgs/development/python-modules/lazr/delegates.nix
+++ b/nixpkgs/pkgs/development/python-modules/lazr/delegates.nix
@@ -1,15 +1,46 @@
-{ buildPythonPackage, fetchPypi, nose, zope_interface }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, zope_interface
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
-  pname = "lazr.delegates";
-  version = "2.0.4";
+  pname = "lazr-delegates";
+  version = "2.1.0";
+  pyproject = true;
 
-  propagatedBuildInputs = [ nose zope_interface ];
+  src = fetchPypi {
+    pname = "lazr.delegates";
+    inherit version;
+    hash = "sha256-UNT7iHK5UuV6SOEmEOVQ+jBm7rV8bGx1tqUUJBi6wZw=";
+  };
 
-  doCheck = false;  # cannot import name 'ClassType' from 'types'
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1rdnl85j9ayp8n85l0ciip621j9dcziz5qnmv2m7krgwgcn31vfx";
+  propagatedBuildInputs = [
+    zope_interface
+  ];
+
+  pythonImportsCheck = [
+    "lazr.delegates"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonNamespaces = [
+    "lazr"
+  ];
+
+  meta = with lib; {
+    description = "Easily write objects that delegate behavior";
+    homepage = "https://launchpad.net/lazr.delegates";
+    changelog = "https://git.launchpad.net/lazr.delegates/tree/NEWS.rst?h=${version}";
+    license = licenses.lgpl3Only;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/libvirt/default.nix b/nixpkgs/pkgs/development/python-modules/libvirt/default.nix
index abc87f9d787c..3e5d6af48afa 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.7.0";
+  version = "9.9.0";
 
   src = fetchFromGitLab {
     owner = "libvirt";
     repo = "libvirt-python";
     rev = "v${version}";
-    hash = "sha256-DFZPZx+jkxdNha+h50IXxl6wOwA1VjudRICgxD2V4+k=";
+    hash = "sha256-cajKzRRhKCUKWm+1p3xvCyEbVB2R/70WY584o7V+XaY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/nixpkgs/pkgs/development/python-modules/line_profiler/default.nix b/nixpkgs/pkgs/development/python-modules/line-profiler/default.nix
index d929b5e214bf..10decb4f3f52 100644
--- a/nixpkgs/pkgs/development/python-modules/line_profiler/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/line-profiler/default.nix
@@ -1,19 +1,19 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, cython
+, cython_3
 , isPyPy
 , ipython
-, python
 , scikit-build
 , cmake
 , pythonOlder
 , pytestCheckHook
+, ubelt
 }:
 
 buildPythonPackage rec {
   pname = "line-profiler";
-  version = "4.0.2";
+  version = "4.1.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6" || isPyPy;
@@ -21,22 +21,23 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "line_profiler";
     inherit version;
-    hash = "sha256-JejJ1CSNxIkFgBhR/4p1ucdIJ6CHHRGNEQTY5D1/sPw=";
+    hash = "sha256-qlZXiw/1p1b+GAs/2nvWfCe71Hiz0BJGEtjPAOSiHfI=";
   };
 
   nativeBuildInputs = [
-    cython
+    cython_3
     cmake
     scikit-build
   ];
 
-  propagatedBuildInputs = [
-    ipython
-  ];
+  passthru.optional-dependencies = {
+    ipython = [ ipython ];
+  };
 
   nativeCheckInputs = [
     pytestCheckHook
-  ];
+    ubelt
+  ] ++ passthru.optional-dependencies.ipython;
 
   dontUseCmakeConfigure = true;
 
@@ -44,8 +45,9 @@ buildPythonPackage rec {
     rm -f _line_profiler.c
   '';
 
-  checkPhase = ''
-    PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH cd tests && ${python.interpreter} -m unittest discover -s .
+  preCheck = ''
+    rm -r line_profiler
+    export PATH=$out/bin:$PATH
   '';
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/litellm/default.nix b/nixpkgs/pkgs/development/python-modules/litellm/default.nix
index ee707875bff7..ef70a50f70d1 100644
--- a/nixpkgs/pkgs/development/python-modules/litellm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/litellm/default.nix
@@ -8,7 +8,7 @@
 , tiktoken
 }:
 let
-  version = "0.1.738";
+  version = "0.11.1";
 in
 buildPythonPackage rec {
   pname = "litellm";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "BerriAI";
     repo = "litellm";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1Ft2E5I3OkVZUfmQHN1Qe/Z3cvLid8ie3BCeZoAii8U=";
+    hash = "sha256-5Zk1lc7G0dU/AoLE5V+p30wE/gRfYRPsVS3sNgwWzCU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/llfuse/default.nix b/nixpkgs/pkgs/development/python-modules/llfuse/default.nix
index fd4504507680..85c6d0fb50fd 100644
--- a/nixpkgs/pkgs/development/python-modules/llfuse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/llfuse/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   '';
 
   preBuild = ''
-    ${python.pythonForBuild.interpreter} setup.py build_cython
+    ${python.pythonOnBuildForHost.interpreter} setup.py build_cython
   '';
 
   # On Darwin, the test requires macFUSE to be installed outside of Nix.
diff --git a/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix b/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix
index 1f702894258b..ee84d47edf55 100644
--- a/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/losant-rest/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "losant-rest";
-  version = "1.19.1";
+  version = "1.19.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Losant";
     repo = "losant-rest-python";
     rev = "v${version}";
-    hash = "sha256-xCC0AEiHrulxNdBf59ap9oKh/mF1u9IzZsPYFJeHNR0=";
+    hash = "sha256-JaXADzNxRqumjx6FZxJj6ioMVdUMR6S1FQQ6QcP8S5Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/lru-dict/default.nix b/nixpkgs/pkgs/development/python-modules/lru-dict/default.nix
index 7ce32f9cdef5..801d68dccb66 100644
--- a/nixpkgs/pkgs/development/python-modules/lru-dict/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lru-dict/default.nix
@@ -3,23 +3,28 @@
 , fetchPypi
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 let
   pname = "lru-dict";
-  version = "1.2.0";
+  version = "1.3.0";
 in
 buildPythonPackage {
   inherit pname version;
-  format = "setuptools";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-E8VngvGdaN302NsBcAQRkoWWFlFMcGsSbQ3y7HKhG9c=";
+    hash = "sha256-VP0ZZta9H83ngVlsuGBoIU7e6/8dsTos6hEHnj/Qe2s=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/lsassy/default.nix b/nixpkgs/pkgs/development/python-modules/lsassy/default.nix
index 702f6257b79f..a7860e91542e 100644
--- a/nixpkgs/pkgs/development/python-modules/lsassy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lsassy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "lsassy";
-  version = "3.1.8";
+  version = "3.1.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Hackndo";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-refOq/QWRv1naCskVm6h1QmCH9/YkDJ90HU3Hzc2w4A=";
+    hash = "sha256-VGLSVv/+UpgeSTHoOTjEfQSAYfXA3bAI+yKjcKBI1Z4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ludios_wpull/default.nix b/nixpkgs/pkgs/development/python-modules/ludios_wpull/default.nix
deleted file mode 100644
index eae9f78b26ae..000000000000
--- a/nixpkgs/pkgs/development/python-modules/ludios_wpull/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, chardet
-, dnspython
-, html5-parser
-, lxml
-, namedlist
-, sqlalchemy
-, tornado
-, yapsy
-, pythonAtLeast
-}:
-
-buildPythonPackage rec {
-  pname = "ludios_wpull";
-  version = "3.0.9";
-
-  # https://github.com/ArchiveTeam/ludios_wpull/issues/20
-  disabled = pythonAtLeast "3.9";
-
-  src = fetchFromGitHub {
-    rev = version;
-    owner = "ArchiveTeam";
-    repo = "ludios_wpull";
-    sha256 = "0j4dir0dgg8pkf4d1znicz6wyyi1wzij50r21z838cycsdr54j4c";
-  };
-
-  propagatedBuildInputs = [ chardet dnspython html5-parser lxml namedlist sqlalchemy tornado yapsy ];
-
-  # Test suite has tests that fail on all platforms
-  doCheck = false;
-
-  meta = {
-    description = "Web crawler; fork of wpull used by grab-site";
-    homepage = "https://github.com/ArchiveTeam/ludios_wpull";
-    license = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ ivan ];
-    broken = lib.versions.major tornado.version != "4";
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/lupupy/default.nix b/nixpkgs/pkgs/development/python-modules/lupupy/default.nix
index b3c82f707f0d..d2481a5bada9 100644
--- a/nixpkgs/pkgs/development/python-modules/lupupy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/lupupy/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "lupupy";
-  version = "0.3.0";
+  version = "0.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-g2EEyPhsQZ+VKP/kSjZdQ9ns0NlptH8l2h0vTTLpF54=";
+    hash = "sha256-mij5WGIl60D7ya1SdIvZ8TEgIZhJ9Xd2kcUnnbO1dD4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix b/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix
index d25daaf21bc0..353e2c0e053b 100644
--- a/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -24,6 +24,7 @@
 
 # tests
 , nettools
+, unixtools
 , mock
 , magic-wormhole-transit-relay
 , magic-wormhole-mailbox-server
@@ -72,7 +73,8 @@ buildPythonPackage rec {
     magic-wormhole-mailbox-server
     pytestCheckHook
   ]
-  ++ passthru.optional-dependencies.dilation;
+  ++ passthru.optional-dependencies.dilation
+  ++ lib.optionals stdenv.isDarwin [ unixtools.locale ];
 
   disabledTests = lib.optionals stdenv.isDarwin [
     # These tests doesn't work within Darwin's sandbox
diff --git a/nixpkgs/pkgs/development/python-modules/maison/default.nix b/nixpkgs/pkgs/development/python-modules/maison/default.nix
index 8fa3393d1e93..03d4c5c05d87 100644
--- a/nixpkgs/pkgs/development/python-modules/maison/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/maison/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "maison";
-  version = "1.4.0";
-  format = "pyproject";
+  version = "1.4.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "dbatten5";
-    repo = pname;
+    repo = "maison";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ny/n1vDWS6eA9zLIB0os5zrbwvutb+7sQ6iPXeid1M0=";
+    hash = "sha256-uJW+7+cIt+jnbiC+HvT7KzyNk1enEtELTxtfc4eXAPU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mandown/default.nix b/nixpkgs/pkgs/development/python-modules/mandown/default.nix
index fd699821f6da..ccc0e99b5111 100644
--- a/nixpkgs/pkgs/development/python-modules/mandown/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mandown/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "mandown";
-  version = "1.5.0";
+  version = "1.6.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "potatoeggy";
     repo = "mandown";
-    rev = "v${version}";
-    hash = "sha256-ph+1bb1jhqqDE2d4F8lTf7LAzN7DWpDTGn8qhCiccKA=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-2kFzB1xLVEvO7Vo39lwQsVirRY6Z8GMczWK2b1oVYTg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix b/nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix
index 4d23928da1ac..cec9773449c5 100644
--- a/nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/manifestoo-core/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "manifestoo-core";
-  version = "1.0";
+  version = "1.3";
   format = "pyproject";
 
   src = fetchPypi {
     inherit version;
     pname = "manifestoo_core";
-    hash = "sha256-cnEbws2NDxVkLEgLsYw2VQQWP69nC1SVixl9a6vHPmo=";
+    hash = "sha256-psgUg55NiyONo3ob4UIMrO793UrxGMZV73hj4HRCR8E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/manimpango/default.nix b/nixpkgs/pkgs/development/python-modules/manimpango/default.nix
index 4219e9a59431..9fec1f0aa243 100644
--- a/nixpkgs/pkgs/development/python-modules/manimpango/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/manimpango/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "manimpango";
-  version = "0.4.4";
+  version = "0.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "ManimCommunity";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-M7Wd4s9q+oNioi4JlcQcKSyLRliGgoMzkiXcIznpR5o=";
+    hash = "sha256-EBSbvjQyQIXOzvQMbuTwOoV8xSAOYDlCBZ56NLneuQI=";
   };
 
   nativeBuildInputs = [
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   '';
 
   preBuild = ''
-    ${python.pythonForBuild.interpreter} setup.py build_ext --inplace
+    ${python.pythonOnBuildForHost.interpreter} setup.py build_ext --inplace
   '';
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/mautrix/default.nix b/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
index 68bd4b5c29ce..199b4ab8a696 100644
--- a/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mautrix/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "mautrix";
-  version = "0.20.2";
+  version = "0.20.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "mautrix";
     repo = "python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-c6NSDFQGKtT8Otw+ivNUZ2+Qm/LEDGpZNs3FrYq+N1A=";
+    hash = "sha256-7ZSPxKRLAgwC1ECxa1eOTH60cMJXs1iv2PE2Vq9f0co=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mayavi/default.nix b/nixpkgs/pkgs/development/python-modules/mayavi/default.nix
index bdc0a74007d8..dc786ac6d7d6 100644
--- a/nixpkgs/pkgs/development/python-modules/mayavi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mayavi/default.nix
@@ -9,6 +9,7 @@
 , pygments
 , pyqt5
 , pythonOlder
+, pythonAtLeast
 , traitsui
 , vtk
 , wrapQtAppsHook
@@ -18,8 +19,7 @@ buildPythonPackage rec {
   pname = "mayavi";
   version = "4.8.1";
   format = "setuptools";
-
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.8" || pythonAtLeast "3.11";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/mechanize/default.nix b/nixpkgs/pkgs/development/python-modules/mechanize/default.nix
index 3060c2f4607c..0f89f3f42525 100644
--- a/nixpkgs/pkgs/development/python-modules/mechanize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mechanize/default.nix
@@ -2,25 +2,56 @@
 , buildPythonPackage
 , fetchPypi
 , html5lib
+, pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "mechanize";
-  version = "0.4.8";
+  version = "0.4.9";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XoasB3c1fgBusEzSj37Z+BHUjf+mA9OJGsbSuSKA3JE=";
+    hash = "sha256-aaXtsJYvkh6LEINzaMIkLYrQSfC5H/aZzn9gG/xDFSE=";
   };
 
-  propagatedBuildInputs = [ html5lib ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    html5lib
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  doCheck = false;
+  pythonImportsCheck = [
+    "mechanize"
+  ];
+
+  disabledTestPaths = [
+    # Tests require network access
+    "test/test_urllib2_localnet.py"
+    "test/test_functional.py"
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_pickling"
+    "test_password_manager"
+  ];
 
   meta = with lib; {
     description = "Stateful programmatic web browsing in Python";
     homepage = "https://github.com/python-mechanize/mechanize";
-    license = "BSD-style";
+    changelog = "https://github.com/python-mechanize/mechanize/blob/v${version}/ChangeLog";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
index 16706e4dae83..8bfb65056f16 100644
--- a/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/meshtastic/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "2.2.10";
+  version = "2.2.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-AaEAI61MQCi1bUEc0xVNmDaVjXCPMvDIstIR/FuQ8aU=";
+    hash = "sha256-W//mDKtTWjcKT43n82OU3h4yKrNZMAVzLzQCjsmkJP0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mhcflurry/default.nix b/nixpkgs/pkgs/development/python-modules/mhcflurry/default.nix
index 6ade4b8ecb2e..2b2a7c9fcabb 100644
--- a/nixpkgs/pkgs/development/python-modules/mhcflurry/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mhcflurry/default.nix
@@ -7,7 +7,6 @@
 , nose
 , pandas
 , pytestCheckHook
-, pythonRelaxDepsHook
 , pyyaml
 , scikit-learn
 , tensorflow
@@ -16,23 +15,16 @@
 
 buildPythonPackage rec {
   pname = "mhcflurry";
-  version = "2.0.6";
+  version = "2.1.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "openvax";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Cr7L6uo6Kc1PSeG5nK6zQSD7eeCFcUJUzhsX+waz7og=";
+    hash = "sha256-VyPHcNlZYgNJZb2UBFX55x+nE0GnHixkcsiTNjDCju0=";
   };
 
-  nativeBuildInputs = [ pythonRelaxDepsHook ];
-
-  pythonRemoveDeps = [
-    # See https://github.com/openvax/mhcflurry/issues/216.
-    "np-utils"
-  ];
-
   # keras and tensorflow are not in the official setup.py requirements but are required for the CLI utilities to run.
   propagatedBuildInputs = [
     appdirs
@@ -75,10 +67,6 @@ buildPythonPackage rec {
     "test_run_serial"
     "test_speed_allele_specific"
     "test_speed_pan_allele"
-
-    # See https://github.com/openvax/mhcflurry/issues/217
-    "test_more"
-    "test_small"
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock
new file mode 100644
index 000000000000..a09043a1cb2b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/Cargo.lock
@@ -0,0 +1,2763 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "aead"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0"
+dependencies = [
+ "crypto-common",
+ "generic-array",
+]
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "anes"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
+
+[[package]]
+name = "anstyle"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46"
+
+[[package]]
+name = "anyhow"
+version = "1.0.75"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
+dependencies = [
+ "backtrace",
+]
+
+[[package]]
+name = "apple-security-framework"
+version = "2.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07831f002eaa83d94f7e2c1300f3268a8f949c35a41dd99faceb6575c191d871"
+dependencies = [
+ "apple-security-framework-sys",
+ "bitflags 2.4.0",
+ "core-foundation",
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "apple-security-framework-sys"
+version = "2.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09acfa027e87e9f590474e9ef19d0f12158bf1c72af80ac76806f17e84959a42"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "arc-swap"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6"
+
+[[package]]
+name = "arrayvec"
+version = "0.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
+
+[[package]]
+name = "async-trait"
+version = "0.1.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
+name = "atomic-polyfill"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3ff7eb3f316534d83a8a2c3d1674ace8a5a71198eba31e2e2b597833f699b28"
+dependencies = [
+ "critical-section",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "axum"
+version = "0.6.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf"
+dependencies = [
+ "async-trait",
+ "axum-core",
+ "bitflags 1.3.2",
+ "bytes",
+ "futures-util",
+ "http",
+ "http-body",
+ "hyper",
+ "itoa",
+ "matchit",
+ "memchr",
+ "mime",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustversion",
+ "serde",
+ "sync_wrapper",
+ "tower",
+ "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 = "backtrace"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[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.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
+
+[[package]]
+name = "bit_field"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitflags"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+[[package]]
+name = "blake2"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
+dependencies = [
+ "digest",
+]
+
+[[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 = "boringtun"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "751787b019c674b9ac353f4eaa285e6711c21badb421cd8c199bf2c83b727f29"
+dependencies = [
+ "aead",
+ "base64 0.13.1",
+ "blake2",
+ "chacha20poly1305",
+ "hex",
+ "hmac",
+ "ip_network",
+ "ip_network_table",
+ "libc",
+ "nix 0.25.1",
+ "parking_lot",
+ "rand_core",
+ "ring",
+ "tracing",
+ "untrusted 0.9.0",
+ "x25519-dalek",
+]
+
+[[package]]
+name = "bumpalo"
+version = "3.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
+
+[[package]]
+name = "bytemuck"
+version = "1.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "bytes"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
+[[package]]
+name = "cast"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
+
+[[package]]
+name = "cc"
+version = "1.0.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chacha20"
+version = "0.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818"
+dependencies = [
+ "cfg-if",
+ "cipher",
+ "cpufeatures",
+]
+
+[[package]]
+name = "chacha20poly1305"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35"
+dependencies = [
+ "aead",
+ "chacha20",
+ "cipher",
+ "poly1305",
+ "zeroize",
+]
+
+[[package]]
+name = "ciborium"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
+dependencies = [
+ "ciborium-io",
+ "ciborium-ll",
+ "serde",
+]
+
+[[package]]
+name = "ciborium-io"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
+
+[[package]]
+name = "ciborium-ll"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
+dependencies = [
+ "ciborium-io",
+ "half 1.8.2",
+]
+
+[[package]]
+name = "cipher"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
+dependencies = [
+ "crypto-common",
+ "inout",
+ "zeroize",
+]
+
+[[package]]
+name = "clap"
+version = "4.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1d7b8d5ec32af0fadc644bf1fd509a688c2103b185644bb1e29d164e0703136"
+dependencies = [
+ "clap_builder",
+]
+
+[[package]]
+name = "clap_builder"
+version = "4.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5179bb514e4d7c2051749d8fcefa2ed6d06a9f4e6d69faf3805f5d80b8cf8d56"
+dependencies = [
+ "anstyle",
+ "clap_lex",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+
+[[package]]
+name = "color_quant"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+[[package]]
+name = "console-api"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2895653b4d9f1538a83970077cb01dfc77a4810524e51a110944688e916b18e"
+dependencies = [
+ "prost 0.11.9",
+ "prost-types",
+ "tonic",
+ "tracing-core",
+]
+
+[[package]]
+name = "console-subscriber"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4cf42660ac07fcebed809cfe561dd8730bcd35b075215e6479c516bcd0d11cb"
+dependencies = [
+ "console-api",
+ "crossbeam-channel",
+ "crossbeam-utils",
+ "futures",
+ "hdrhistogram",
+ "humantime",
+ "prost-types",
+ "serde",
+ "serde_json",
+ "thread_local",
+ "tokio",
+ "tokio-stream",
+ "tonic",
+ "tracing",
+ "tracing-core",
+ "tracing-subscriber",
+]
+
+[[package]]
+name = "core-foundation"
+version = "0.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+dependencies = [
+ "core-foundation-sys",
+ "libc",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+[[package]]
+name = "cpufeatures"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "crc32fast"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "criterion"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
+dependencies = [
+ "anes",
+ "cast",
+ "ciborium",
+ "clap",
+ "criterion-plot",
+ "is-terminal",
+ "itertools 0.10.5",
+ "num-traits",
+ "once_cell",
+ "oorandom",
+ "plotters",
+ "rayon",
+ "regex",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "tinytemplate",
+ "walkdir",
+]
+
+[[package]]
+name = "criterion-plot"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
+dependencies = [
+ "cast",
+ "itertools 0.10.5",
+]
+
+[[package]]
+name = "critical-section"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216"
+
+[[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-deque"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
+dependencies = [
+ "cfg-if",
+ "crossbeam-epoch",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
+dependencies = [
+ "autocfg",
+ "cfg-if",
+ "crossbeam-utils",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "crunchy"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+
+[[package]]
+name = "crypto-common"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+dependencies = [
+ "generic-array",
+ "rand_core",
+ "typenum",
+]
+
+[[package]]
+name = "curve25519-dalek"
+version = "4.0.0-rc.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "436ace70fc06e06f7f689d2624dc4e2f0ea666efb5aa704215f7249ae6e047a7"
+dependencies = [
+ "cfg-if",
+ "cpufeatures",
+ "curve25519-dalek-derive",
+ "fiat-crypto",
+ "platforms",
+ "rustc_version",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "curve25519-dalek-derive"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
+name = "data-encoding"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+
+[[package]]
+name = "defmt"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8a2d011b2fee29fb7d659b83c43fce9a2cb4df453e16d441a51448e448f3f98"
+dependencies = [
+ "bitflags 1.3.2",
+ "defmt-macros",
+]
+
+[[package]]
+name = "defmt-macros"
+version = "0.3.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54f0216f6c5acb5ae1a47050a6645024e6edafc2ee32d421955eccfef12ef92e"
+dependencies = [
+ "defmt-parser",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
+name = "defmt-parser"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "269924c02afd7f94bc4cecbfa5c379f6ffcf9766b3408fe63d22c728654eccd0"
+dependencies = [
+ "thiserror",
+]
+
+[[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 = "either"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+
+[[package]]
+name = "env_logger"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+dependencies = [
+ "humantime",
+ "is-terminal",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "errno"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd"
+dependencies = [
+ "errno-dragonfly",
+ "libc",
+ "windows-sys",
+]
+
+[[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 = "etherparse"
+version = "0.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "827292ea592108849932ad8e30218f8b1f21c0dfd0696698a18b5d0aed62d990"
+dependencies = [
+ "arrayvec",
+]
+
+[[package]]
+name = "exr"
+version = "1.71.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8"
+dependencies = [
+ "bit_field",
+ "flume",
+ "half 2.2.1",
+ "lebe",
+ "miniz_oxide",
+ "rayon-core",
+ "smallvec",
+ "zune-inflate",
+]
+
+[[package]]
+name = "fdeflate"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10"
+dependencies = [
+ "simd-adler32",
+]
+
+[[package]]
+name = "fiat-crypto"
+version = "0.1.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
+
+[[package]]
+name = "filetime"
+version = "0.2.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "windows-sys",
+]
+
+[[package]]
+name = "flate2"
+version = "1.0.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
+dependencies = [
+ "crc32fast",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "flume"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181"
+dependencies = [
+ "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 = "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-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.37",
+]
+
+[[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 = "getrandom"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gif"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045"
+dependencies = [
+ "color_quant",
+ "weezl",
+]
+
+[[package]]
+name = "gimli"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
+
+[[package]]
+name = "h2"
+version = "0.3.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
+dependencies = [
+ "bytes",
+ "fnv",
+ "futures-core",
+ "futures-sink",
+ "futures-util",
+ "http",
+ "indexmap",
+ "slab",
+ "tokio",
+ "tokio-util",
+ "tracing",
+]
+
+[[package]]
+name = "half"
+version = "1.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
+
+[[package]]
+name = "half"
+version = "2.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0"
+dependencies = [
+ "crunchy",
+]
+
+[[package]]
+name = "hash32"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "hdrhistogram"
+version = "7.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8"
+dependencies = [
+ "base64 0.13.1",
+ "byteorder",
+ "flate2",
+ "nom",
+ "num-traits",
+]
+
+[[package]]
+name = "heapless"
+version = "0.7.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db04bc24a18b9ea980628ecf00e6c0264f3c1426dac36c00cb49b6fbad8b0743"
+dependencies = [
+ "atomic-polyfill",
+ "hash32",
+ "rustc_version",
+ "spin 0.9.8",
+ "stable_deref_trait",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "hmac"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+dependencies = [
+ "digest",
+]
+
+[[package]]
+name = "http"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
+[[package]]
+name = "http-body"
+version = "0.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
+dependencies = [
+ "bytes",
+ "http",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "httparse"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
+
+[[package]]
+name = "httpdate"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "hyper"
+version = "0.14.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468"
+dependencies = [
+ "bytes",
+ "futures-channel",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "httparse",
+ "httpdate",
+ "itoa",
+ "pin-project-lite",
+ "socket2 0.4.9",
+ "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 = "image"
+version = "0.24.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711"
+dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+ "exr",
+ "gif",
+ "jpeg-decoder",
+ "num-rational",
+ "num-traits",
+ "png",
+ "qoi",
+ "tiff",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "indoc"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"
+
+[[package]]
+name = "inout"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
+dependencies = [
+ "generic-array",
+]
+
+[[package]]
+name = "internet-checksum"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc6d6206008e25125b1f97fbe5d309eb7b85141cf9199d52dbd3729a1584dd16"
+
+[[package]]
+name = "internet-packet"
+version = "0.1.0"
+source = "git+https://github.com/mhils/internet-packet.git#9d706e0f6a28da91f63e3417c7bb4c2e977a2385"
+dependencies = [
+ "internet-checksum",
+]
+
+[[package]]
+name = "ip_network"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1"
+
+[[package]]
+name = "ip_network_table"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4099b7cfc5c5e2fe8c5edf3f6f7adf7a714c9cc697534f63a5a5da30397cb2c0"
+dependencies = [
+ "ip_network",
+ "ip_network_table-deps-treebitmap",
+]
+
+[[package]]
+name = "ip_network_table-deps-treebitmap"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e537132deb99c0eb4b752f0346b6a836200eaaa3516dd7e5514b63930a09e5d"
+
+[[package]]
+name = "is-terminal"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+dependencies = [
+ "hermit-abi",
+ "rustix",
+ "windows-sys",
+]
+
+[[package]]
+name = "itertools"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itertools"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+
+[[package]]
+name = "jpeg-decoder"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e"
+dependencies = [
+ "rayon",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "lebe"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
+
+[[package]]
+name = "libc"
+version = "0.2.148"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b"
+
+[[package]]
+name = "linux-raw-sys"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128"
+
+[[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 = "log"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+[[package]]
+name = "lru_time_cache"
+version = "0.11.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd"
+
+[[package]]
+name = "macos-certificate-truster"
+version = "0.3.11"
+dependencies = [
+ "apple-security-framework",
+]
+
+[[package]]
+name = "managed"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ca88d725a0a943b096803bd34e73a4437208b6077654cc4ecb2947a5f91618d"
+
+[[package]]
+name = "matchers"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
+dependencies = [
+ "regex-automata 0.1.10",
+]
+
+[[package]]
+name = "matchit"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94"
+
+[[package]]
+name = "memchr"
+version = "2.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c"
+
+[[package]]
+name = "memoffset"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "mime"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+ "simd-adler32",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2"
+dependencies = [
+ "libc",
+ "wasi",
+ "windows-sys",
+]
+
+[[package]]
+name = "mitm-wg-test-client"
+version = "0.3.11"
+dependencies = [
+ "anyhow",
+ "boringtun",
+ "data-encoding",
+ "hex",
+ "smoltcp",
+]
+
+[[package]]
+name = "mitmproxy"
+version = "0.3.11"
+dependencies = [
+ "anyhow",
+ "apple-security-framework",
+ "async-trait",
+ "boringtun",
+ "console-subscriber",
+ "criterion",
+ "env_logger",
+ "futures-util",
+ "image",
+ "log",
+ "nix 0.27.1",
+ "once_cell",
+ "pretty-hex",
+ "prost 0.12.1",
+ "rand",
+ "rand_core",
+ "smoltcp",
+ "tokio",
+ "tokio-util",
+ "windows 0.51.1",
+ "x25519-dalek",
+]
+
+[[package]]
+name = "mitmproxy_rs"
+version = "0.3.11"
+dependencies = [
+ "anyhow",
+ "boringtun",
+ "console-subscriber",
+ "data-encoding",
+ "env_logger",
+ "log",
+ "mitmproxy",
+ "once_cell",
+ "pyo3",
+ "pyo3-asyncio",
+ "pyo3-log",
+ "rand_core",
+ "tar",
+ "tokio",
+]
+
+[[package]]
+name = "nix"
+version = "0.25.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
+dependencies = [
+ "autocfg",
+ "bitflags 1.3.2",
+ "cfg-if",
+ "libc",
+]
+
+[[package]]
+name = "nix"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+dependencies = [
+ "bitflags 2.4.0",
+ "cfg-if",
+ "libc",
+]
+
+[[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 = "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-rational"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0"
+dependencies = [
+ "autocfg",
+ "num-integer",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "object"
+version = "0.32.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.18.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+[[package]]
+name = "oorandom"
+version = "11.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+
+[[package]]
+name = "opaque-debug"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+
+[[package]]
+name = "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 = "pin-project"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
+dependencies = [
+ "pin-project-internal",
+]
+
+[[package]]
+name = "pin-project-internal"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "platforms"
+version = "3.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8"
+
+[[package]]
+name = "plotters"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45"
+dependencies = [
+ "num-traits",
+ "plotters-backend",
+ "plotters-svg",
+ "wasm-bindgen",
+ "web-sys",
+]
+
+[[package]]
+name = "plotters-backend"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609"
+
+[[package]]
+name = "plotters-svg"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
+dependencies = [
+ "plotters-backend",
+]
+
+[[package]]
+name = "png"
+version = "0.17.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64"
+dependencies = [
+ "bitflags 1.3.2",
+ "crc32fast",
+ "fdeflate",
+ "flate2",
+ "miniz_oxide",
+]
+
+[[package]]
+name = "poly1305"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf"
+dependencies = [
+ "cpufeatures",
+ "opaque-debug",
+ "universal-hash",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+[[package]]
+name = "pretty-hex"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5"
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.67"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328"
+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 0.11.9",
+]
+
+[[package]]
+name = "prost"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d"
+dependencies = [
+ "bytes",
+ "prost-derive 0.12.1",
+]
+
+[[package]]
+name = "prost-derive"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4"
+dependencies = [
+ "anyhow",
+ "itertools 0.10.5",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "prost-derive"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32"
+dependencies = [
+ "anyhow",
+ "itertools 0.11.0",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
+name = "prost-types"
+version = "0.11.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13"
+dependencies = [
+ "prost 0.11.9",
+]
+
+[[package]]
+name = "pyo3"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38"
+dependencies = [
+ "anyhow",
+ "cfg-if",
+ "indoc",
+ "libc",
+ "memoffset",
+ "parking_lot",
+ "pyo3-build-config",
+ "pyo3-ffi",
+ "pyo3-macros",
+ "unindent",
+]
+
+[[package]]
+name = "pyo3-asyncio"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2cc34c1f907ca090d7add03dc523acdd91f3a4dab12286604951e2f5152edad"
+dependencies = [
+ "futures",
+ "once_cell",
+ "pin-project-lite",
+ "pyo3",
+ "tokio",
+]
+
+[[package]]
+name = "pyo3-build-config"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5"
+dependencies = [
+ "once_cell",
+ "target-lexicon",
+]
+
+[[package]]
+name = "pyo3-ffi"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9"
+dependencies = [
+ "libc",
+ "pyo3-build-config",
+]
+
+[[package]]
+name = "pyo3-log"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f47b0777feb17f61eea78667d61103758b243a871edc09a7786500a50467b605"
+dependencies = [
+ "arc-swap",
+ "log",
+ "pyo3",
+]
+
+[[package]]
+name = "pyo3-macros"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1"
+dependencies = [
+ "proc-macro2",
+ "pyo3-macros-backend",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "pyo3-macros-backend"
+version = "0.19.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.109",
+]
+
+[[package]]
+name = "qoi"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001"
+dependencies = [
+ "bytemuck",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+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 = "rayon"
+version = "1.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1"
+dependencies = [
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed"
+dependencies = [
+ "crossbeam-deque",
+ "crossbeam-utils",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.3.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
+[[package]]
+name = "regex"
+version = "1.9.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata 0.3.8",
+ "regex-syntax 0.7.5",
+]
+
+[[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-automata"
+version = "0.3.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax 0.7.5",
+]
+
+[[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.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
+
+[[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 0.7.1",
+ "web-sys",
+ "winapi",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "rustix"
+version = "0.38.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f"
+dependencies = [
+ "bitflags 2.4.0",
+ "errno",
+ "libc",
+ "linux-raw-sys",
+ "windows-sys",
+]
+
+[[package]]
+name = "rustversion"
+version = "1.0.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
+[[package]]
+name = "ryu"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+
+[[package]]
+name = "same-file"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+[[package]]
+name = "semver"
+version = "1.0.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0"
+
+[[package]]
+name = "serde"
+version = "1.0.188"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.188"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.107"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "sharded-slab"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
+dependencies = [
+ "lazy_static",
+]
+
+[[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 = "simd-adler32"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
+
+[[package]]
+name = "slab"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+
+[[package]]
+name = "smoltcp"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d2e3a36ac8fea7b94e666dfa3871063d6e0a5c9d5d4fec9a1a6b7b6760f0229"
+dependencies = [
+ "bitflags 1.3.2",
+ "byteorder",
+ "cfg-if",
+ "defmt",
+ "heapless",
+ "libc",
+ "log",
+ "managed",
+]
+
+[[package]]
+name = "socket2"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "socket2"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e"
+dependencies = [
+ "libc",
+ "windows-sys",
+]
+
+[[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 = "stable_deref_trait"
+version = "1.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
+
+[[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.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8"
+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 = "tar"
+version = "0.4.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
+dependencies = [
+ "filetime",
+ "libc",
+ "xattr",
+]
+
+[[package]]
+name = "target-lexicon"
+version = "0.12.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
+
+[[package]]
+name = "termcolor"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.48"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[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 = "tiff"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211"
+dependencies = [
+ "flate2",
+ "jpeg-decoder",
+ "weezl",
+]
+
+[[package]]
+name = "tinytemplate"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "tokio"
+version = "1.32.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
+dependencies = [
+ "backtrace",
+ "bytes",
+ "libc",
+ "mio",
+ "num_cpus",
+ "pin-project-lite",
+ "signal-hook-registry",
+ "socket2 0.5.4",
+ "tokio-macros",
+ "tracing",
+ "windows-sys",
+]
+
+[[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.37",
+]
+
+[[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.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d"
+dependencies = [
+ "bytes",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "tonic"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a"
+dependencies = [
+ "async-trait",
+ "axum",
+ "base64 0.21.4",
+ "bytes",
+ "futures-core",
+ "futures-util",
+ "h2",
+ "http",
+ "http-body",
+ "hyper",
+ "hyper-timeout",
+ "percent-encoding",
+ "pin-project",
+ "prost 0.11.9",
+ "tokio",
+ "tokio-stream",
+ "tower",
+ "tower-layer",
+ "tower-service",
+ "tracing",
+]
+
+[[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-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",
+ "pin-project-lite",
+ "tracing-attributes",
+ "tracing-core",
+]
+
+[[package]]
+name = "tracing-attributes"
+version = "0.1.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[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-subscriber"
+version = "0.3.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
+dependencies = [
+ "matchers",
+ "once_cell",
+ "regex",
+ "sharded-slab",
+ "thread_local",
+ "tracing",
+ "tracing-core",
+]
+
+[[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.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
+
+[[package]]
+name = "unindent"
+version = "0.1.11"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+
+[[package]]
+name = "universal-hash"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea"
+dependencies = [
+ "crypto-common",
+ "subtle",
+]
+
+[[package]]
+name = "untrusted"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
+[[package]]
+name = "valuable"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "walkdir"
+version = "2.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
+dependencies = [
+ "same-file",
+ "winapi-util",
+]
+
+[[package]]
+name = "want"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
+dependencies = [
+ "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.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+dependencies = [
+ "cfg-if",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.87"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+
+[[package]]
+name = "web-sys"
+version = "0.3.64"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b"
+dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "weezl"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windivert"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc6b6833a760d1c36b489314a5541a12a39d162dc8341d8f6f400212b96d3df1"
+dependencies = [
+ "etherparse",
+ "thiserror",
+ "windivert-sys",
+ "windows 0.48.0",
+]
+
+[[package]]
+name = "windivert-sys"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "832bc4af9272458a8a64395b3aabe10dc4089546486fcbd0e19b9b6d28ba6e54"
+dependencies = [
+ "cc",
+ "thiserror",
+ "windows 0.48.0",
+]
+
+[[package]]
+name = "windows"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9"
+dependencies = [
+ "windows-core",
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-core"
+version = "0.51.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-redirector"
+version = "0.3.11"
+dependencies = [
+ "anyhow",
+ "env_logger",
+ "hex",
+ "internet-packet",
+ "log",
+ "lru_time_cache",
+ "mitmproxy",
+ "prost 0.12.1",
+ "tokio",
+ "windivert",
+ "winres",
+]
+
+[[package]]
+name = "windows-sys"
+version = "0.48.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+dependencies = [
+ "windows-targets",
+]
+
+[[package]]
+name = "windows-targets"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.48.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+
+[[package]]
+name = "winres"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c"
+dependencies = [
+ "toml",
+]
+
+[[package]]
+name = "x25519-dalek"
+version = "2.0.0-rc.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec7fae07da688e17059d5886712c933bb0520f15eff2e09cfa18e30968f4e63a"
+dependencies = [
+ "curve25519-dalek",
+ "rand_core",
+ "serde",
+ "zeroize",
+]
+
+[[package]]
+name = "xattr"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "zeroize"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+dependencies = [
+ "zeroize_derive",
+]
+
+[[package]]
+name = "zeroize_derive"
+version = "1.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 2.0.37",
+]
+
+[[package]]
+name = "zune-inflate"
+version = "0.2.54"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02"
+dependencies = [
+ "simd-adler32",
+]
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix
new file mode 100644
index 000000000000..15850ab7cd78
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy-rs/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, rustPlatform
+, darwin
+}:
+
+buildPythonPackage rec {
+  pname = "mitmproxy-rs";
+  version = "0.3.11";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "mitmproxy";
+    repo = "mitmproxy_rs";
+    rev = version;
+    hash = "sha256-V6LUr1jJiTo0+53jipkTyzG5JSw6uHaS6ziyBaFbETw=";
+  };
+
+  cargoDeps = rustPlatform.importCargoLock {
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "internet-packet-0.1.0" = "sha256-VtEuCE1sulBIFVymh7YW7VHCuIBjtb6tHoPz2tjxX+Q=";
+    };
+  };
+
+  buildAndTestSubdir = "mitmproxy-rs";
+
+  nativeBuildInputs = [
+    rustPlatform.cargoSetupHook
+    rustPlatform.maturinBuildHook
+  ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  pythonImportsCheck = [ "mitmproxy_rs" ];
+
+  meta = with lib; {
+    description = "The Rust bits in mitmproxy";
+    homepage = " https://github.com/mitmproxy/mitmproxy_rs";
+    changelog = "https://github.com/mitmproxy/mitmproxy_rs/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix b/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
index ece5106a75e2..1c57361a6406 100644
--- a/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mitmproxy/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , pythonOlder
   # Mitmproxy requirements
+, aioquic
 , asgiref
 , blinker
 , brotli
@@ -14,7 +15,7 @@
 , hyperframe
 , kaitaistruct
 , ldap3
-, mitmproxy-wireguard
+, mitmproxy-rs
 , msgpack
 , passlib
 , protobuf
@@ -41,19 +42,20 @@
 
 buildPythonPackage rec {
   pname = "mitmproxy";
-  version = "9.0.1";
+  version = "10.1.1";
   disabled = pythonOlder "3.9";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "mitmproxy";
     repo = "mitmproxy";
     rev = "refs/tags/${version}";
-    hash = "sha256-CINKvRnBspciS+wefJB8gzBE13L8CjbYCkmLmTTeYlA=";
+    hash = "sha256-/ouMj7UVowvzwjOuusgVfXjvjNPKpuJUuoJf6Sl9P44=";
   };
 
   propagatedBuildInputs = [
     setuptools
-    # setup.py
+    aioquic
     asgiref
     blinker
     brotli
@@ -65,7 +67,7 @@ buildPythonPackage rec {
     hyperframe
     kaitaistruct
     ldap3
-    mitmproxy-wireguard
+    mitmproxy-rs
     msgpack
     passlib
     protobuf
@@ -91,11 +93,6 @@ buildPythonPackage rec {
     requests
   ];
 
-  postPatch = ''
-    # remove dependency constraints
-    sed 's/>=\([0-9]\.\?\)\+\( \?, \?<\([0-9]\.\?\)\+\)\?\( \?, \?!=\([0-9]\.\?\)\+\)\?//' -i setup.py
-  '';
-
   __darwinAllowLocalNetworking = true;
 
   preCheck = ''
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
index 1bc335fdbace..986f0d1d2ce6 100644
--- 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
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-git-revision-date-localized-plugin";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "timvink";
     repo = "mkdocs-git-revision-date-localized-plugin";
-    rev = "v${version}" ;
-    hash = "sha256-l7NUmsdd1FHkbdqtRcMQBfplZJgLCXrN+QuYaQLpz0k=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-UIbW64ac9kXptJjn86V6vPArnICANiT3QGi5JH45KLY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix
index 926b6db02e5b..a83899c6c74c 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-jupyter/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-jupyter";
-  version = "0.24.5";
+  version = "0.24.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "mkdocs_jupyter";
     inherit version;
-    hash = "sha256-+ngEh5pidwJJfir66kCj2xy90qOroORBd4LdJMqJm7M=";
+    hash = "sha256-ify+ipUjhk1UFt4aYHEWQLa8KXInnSrfRu0ndsLZ/3w=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix b/nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
index f28fbf5ff7b6..0bd3f97175ce 100644
--- a/nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mkdocs-swagger-ui-tag/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "mkdocs-swagger-ui-tag";
-  version = "0.6.5";
+  version = "0.6.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Blueswen";
     repo = "mkdocs-swagger-ui-tag";
     rev = "refs/tags/v${version}";
-    hash = "sha256-08/nwJC7p5pwSXJicoJbZ8Xsc3yOvxWxzaCIS6aQ9uI=";
+    hash = "sha256-NEFogrLJjOh98rChlJuxAeTj31yyL4OoE/jBUcHbBZM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/moviepy/default.nix b/nixpkgs/pkgs/development/python-modules/moviepy/default.nix
index ab4b97c24552..96b3206f7fde 100644
--- a/nixpkgs/pkgs/development/python-modules/moviepy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moviepy/default.nix
@@ -11,7 +11,6 @@
 , tqdm
   # Advanced image processing (triples size of output)
 , advancedProcessing ? false
-, opencv3
 , scikit-image
 , scikit-learn
 , scipy
@@ -47,7 +46,6 @@ buildPythonPackage rec {
     requests
     proglog
   ] ++ lib.optionals advancedProcessing [
-    opencv3
     scikit-image
     scikit-learn
     scipy
diff --git a/nixpkgs/pkgs/development/python-modules/msal/default.nix b/nixpkgs/pkgs/development/python-modules/msal/default.nix
index 31febd203db8..ab54e9e5adea 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.24.0";
+  version = "1.24.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fS7NrUGl9zuyuBPzBhpM9HySRiEQWo7RN1hvy52Pgn4=";
+    hash = "sha256-qglyiEs8b97FPZoL0VwS5b17cawbZtdG9U0Shwnz+Pg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/multi-key-dict/default.nix b/nixpkgs/pkgs/development/python-modules/multi-key-dict/default.nix
new file mode 100644
index 000000000000..c959f2e8f2ec
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/multi-key-dict/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "multi-key-dict";
+  version = "2.0.3";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "multi_key_dict";
+    inherit version;
+    hash = "sha256-3uvewXqjChxDLLP0N+gfhiHhwFQqDAYXp09x4jLpk54=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "multi_key_dict"
+  ];
+
+  meta = with lib; {
+    description = "multi_key_dict";
+    homepage = "https://github.com/formiaczek/multi_key_dict";
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/multi_key_dict/default.nix b/nixpkgs/pkgs/development/python-modules/multi_key_dict/default.nix
deleted file mode 100644
index cb539e4dd90f..000000000000
--- a/nixpkgs/pkgs/development/python-modules/multi_key_dict/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-}:
-
-buildPythonPackage rec {
-  pname = "multi_key_dict";
-  version = "2.0.3";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "17lkx4rf4waglwbhc31aak0f28c63zl3gx5k5i1iq2m3gb0xxsyy";
-  };
-
-  meta = with lib; {
-    description = "multi_key_dict";
-    homepage = "https://github.com/formiaczek/multi_key_dict";
-    license = licenses.mit;
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/mutagen/default.nix b/nixpkgs/pkgs/development/python-modules/mutagen/default.nix
index 5843cd9432b5..236af1eb5d1f 100644
--- a/nixpkgs/pkgs/development/python-modules/mutagen/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mutagen/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
   ];
 
   postInstall = ''
-    ${python.pythonForBuild.interpreter} setup.py build_sphinx --build-dir=$doc
+    ${python.pythonOnBuildForHost.interpreter} setup.py build_sphinx --build-dir=$doc
   '';
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/mygpoclient/default.nix b/nixpkgs/pkgs/development/python-modules/mygpoclient/default.nix
index d23116c5b341..c252f8cc294e 100644
--- a/nixpkgs/pkgs/development/python-modules/mygpoclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mygpoclient/default.nix
@@ -27,6 +27,6 @@ buildPythonPackage rec {
     '';
     homepage = "https://github.com/gpodder/mygpoclient";
     license = with licenses; [ gpl3 ];
-    maintainers = with maintainers; [ skeidel ];
+    maintainers = with maintainers; [ ];
   };
 }
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 37564eeb2137..f3c06701eb65 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.19.0";
+  version = "7.19.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "youtype";
     repo = "mypy_boto3_builder";
     rev = "refs/tags/${version}";
-    hash = "sha256-Wczk1DNoOpvd7efnZFUf4FSjYqHdkMKMNwNVeQOPeEg=";
+    hash = "sha256-Gz6OJ2ER60R14aTmhPfodX22FlbicUClBtlqNglTjC4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/myst-nb/default.nix b/nixpkgs/pkgs/development/python-modules/myst-nb/default.nix
index 33c06fc24619..cf3d309420eb 100644
--- a/nixpkgs/pkgs/development/python-modules/myst-nb/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/myst-nb/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, fetchpatch
 , flit-core
 , importlib-metadata
 , ipython
@@ -15,46 +14,23 @@
 , sphinx-togglebutton
 , typing-extensions
 , ipykernel
-, pythonRelaxDepsHook
 }:
 
 buildPythonPackage rec {
   pname = "myst-nb";
-  version = "0.17.2";
+  version = "1.0.0";
+  pyproject = true;
 
-  format = "pyproject";
-
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-D2E4ZRX6sHxzZGrcqX//L2n0HpDTE6JgIXxbvkGdhYs=";
+    inherit version;
+    pname = "myst_nb";
+    hash = "sha256-kHfkKhxrRB6lUHhQb4NVXdpdbIFu9JMIQdcdI54+DF4=";
   };
 
-  patches = [
-    # Fix compatiblity with myst-parser 1.0. Remove with the next release.
-    (fetchpatch {
-      url = "https://github.com/executablebooks/MyST-NB/commit/48c45c6a8c4501005766c2d821b5e9ddfbedd5fa.patch";
-      hash = "sha256-jGL2MjZArvPtbiaR/rRGCIi0QwYO0iTIK26GLuTrBM8=";
-      excludes = [
-        "myst_nb/__init__.py"
-        "docs/authoring/custom-formats.Rmd"
-        "docs/authoring/jupyter-notebooks.md"
-        "docs/index.md"
-        "pyproject.toml"
-        "tests/nb_fixtures/reporter_warnings.txt"
-      ];
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "myst-parser~=0.18.0" "myst-parser"
-  '';
-
   nativeBuildInputs = [
     flit-core
-    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
@@ -71,10 +47,6 @@ buildPythonPackage rec {
     ipykernel
   ];
 
-  pythonRelaxDeps = [
-    "myst-parser"
-  ];
-
   pythonImportsCheck = [
     "myst_nb"
     "myst_nb.sphinx_ext"
diff --git a/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix b/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
index 5bd9269503ef..47ed44420f03 100644
--- a/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nbxmpp/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "4.4.0";
+  version = "4.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "gajim";
     repo = "python-nbxmpp";
     rev = "refs/tags/${version}";
-    hash = "sha256-AuGLP/7Mggk7rF9KRvqbVtAkQFq0NXaHDUGV6HMLU7Y=";
+    hash = "sha256-7TGP3J4qepnUV/3aC7FssSGu4PahB70DGWezjOy+/+w=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix b/nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix
index d3d3a7add2c7..1612bfac0d96 100644
--- a/nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nettigo-air-monitor/default.nix
@@ -5,7 +5,6 @@
 , buildPythonPackage
 , dacite
 , fetchFromGitHub
-, orjson
 , pytest-asyncio
 , pytest-error-for-skips
 , pytestCheckHook
@@ -14,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "nettigo-air-monitor";
-  version = "2.2.0";
+  version = "2.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,14 +22,13 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-K8EiDb6B18No9RNbw2a7U+FJQaXrrcFf0hgt40r6Igo=";
+    hash = "sha256-24O9Yl0+boxDtyPW4tBTsk2iDGGXf8ofkDHu8B+GxhE=";
   };
 
   propagatedBuildInputs = [
     aiohttp
     aqipy-atmotech
     dacite
-    orjson
   ];
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nextdns/default.nix b/nixpkgs/pkgs/development/python-modules/nextdns/default.nix
index e00491290a3e..9a41c79fb160 100644
--- a/nixpkgs/pkgs/development/python-modules/nextdns/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nextdns/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "nextdns";
-  version = "2.0.0";
+  version = "2.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = "nextdns";
     rev = "refs/tags/${version}";
-    hash = "sha256-AgxBJXPBYkJR8W8tGKcHJaAP52guNVvm190ZlZ9BhA4=";
+    hash = "sha256-NJjnk/FadD4QUqPYxbbS7gsIKVxwR5tpnBth1HFLkr0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/niaarm/default.nix b/nixpkgs/pkgs/development/python-modules/niaarm/default.nix
index 90d063a5114b..3b0399365613 100644
--- a/nixpkgs/pkgs/development/python-modules/niaarm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/niaarm/default.nix
@@ -3,24 +3,26 @@
 , fetchFromGitHub
 , niapy
 , nltk
+, numpy
 , pandas
 , poetry-core
 , pytestCheckHook
 , pythonOlder
+, tomli
 }:
 
 buildPythonPackage rec {
   pname = "niaarm";
-  version = "0.3.3";
+  version = "0.3.5";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "firefly-cpp";
     repo = "NiaARM";
     rev = "refs/tags/${version}";
-    hash = "sha256-kWOJfADqtC8YdZUlifKeiaS2a2cgcsMgCf0IHJt4NKY=";
+    hash = "sha256-E5G1uVDSErqwxTBNQ7qselemW9A3W8sr3ExPEh+1les=";
   };
 
   nativeBuildInputs = [
@@ -30,7 +32,10 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     niapy
     nltk
+    numpy
     pandas
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    tomli
   ];
 
   disabledTests = [
diff --git a/nixpkgs/pkgs/development/python-modules/nibe/default.nix b/nixpkgs/pkgs/development/python-modules/nibe/default.nix
index bec644ecaae1..b122c7bbbf5e 100644
--- a/nixpkgs/pkgs/development/python-modules/nibe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nibe/default.nix
@@ -16,16 +16,16 @@
 
 buildPythonPackage rec {
   pname = "nibe";
-  version = "2.4.1";
-  format = "pyproject";
+  version = "2.5.0";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "yozik04";
-    repo = pname;
+    repo = "nibe";
     rev = "refs/tags/${version}";
-    hash = "sha256-6WXn8W7C6QCy9afGMTL2NaSYuxQy+u2OYYa0Vc8sbV8=";
+    hash = "sha256-PCfodp8gyjOUgb4FthMlbanbEtJuc6axM8DkQJ/ykLg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nilearn/default.nix b/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
index f8273e30ae7b..3c21b0b62e51 100644
--- a/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nilearn/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "nilearn";
-  version = "0.10.1";
+  version = "0.10.2";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-koo2Tn7XfRXQK38icZfqfHj0Ty/ngP61VdbXz5Iy+EY=";
+    hash = "sha256-A+9Npy0a6HsuPyi3cdx+BUZKoXliblfDAFlWJahlQnM=";
   };
 
   nativeBuildInputs = [ hatch-vcs ];
diff --git a/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix b/nixpkgs/pkgs/development/python-modules/nlpcloud/default.nix
index 49fdb5e528fa..55e9233bb527 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.1.44";
+  version = "1.1.45";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dOW/M9FJJiCii4+lZJ6Pg2bAdSpul4JRtzYdI7VgJbM=";
+    hash = "sha256-W/O7GhZuACUFCSCCJUUB6UfMB9WSF8uU7Yd/tgPsE0Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nose/default.nix b/nixpkgs/pkgs/development/python-modules/nose/default.nix
index bb6f6decc1a5..981d5dc03729 100644
--- a/nixpkgs/pkgs/development/python-modules/nose/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nose/default.nix
@@ -27,17 +27,17 @@ buildPythonPackage rec {
   '';
 
   preBuild = lib.optionalString (isPy3k) ''
-    ${python.pythonForBuild}/bin/2to3 -wn nose functional_tests unit_tests
+    ${python.pythonOnBuildForHost}/bin/2to3 -wn nose functional_tests unit_tests
   '';
 
   propagatedBuildInputs = [ coverage ];
 
   doCheck = false; # lot's of transient errors, too much hassle
   checkPhase = if isPy3k then ''
-    ${python.pythonForBuild.interpreter} setup.py build_tests
+    ${python.pythonOnBuildForHost.interpreter} setup.py build_tests
   '' else "" + ''
     rm functional_tests/test_multiprocessing/test_concurrent_shared.py* # see https://github.com/nose-devs/nose/commit/226bc671c73643887b36b8467b34ad485c2df062
-    ${python.pythonForBuild.interpreter} selftest.py
+    ${python.pythonOnBuildForHost.interpreter} selftest.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/nose2/default.nix b/nixpkgs/pkgs/development/python-modules/nose2/default.nix
index 81fcdce60d1e..b49900e1576f 100644
--- a/nixpkgs/pkgs/development/python-modules/nose2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nose2/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "nose2";
-  version = "0.13.0";
+  version = "0.14.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-V8aK1nbvS4i1BpSTfrUvSUOqHKJhB0tJCbbhYwRrRvA=";
+    hash = "sha256-XCjXcKC5pwKGK9bDdVuizS95lN1RjJguXOKY1/N0ZqQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/nose3/default.nix b/nixpkgs/pkgs/development/python-modules/nose3/default.nix
index c452a3431cf5..280f36cc2e69 100644
--- a/nixpkgs/pkgs/development/python-modules/nose3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nose3/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   doCheck = !isPyPy && !stdenv.isDarwin && !isPy311;
 
   checkPhase = ''
-    ${python.pythonForBuild.interpreter} selftest.py
+    ${python.pythonOnBuildForHost.interpreter} selftest.py
   '';
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/notebook/default.nix b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
index 0532d2472a7f..88f4c975a858 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
@@ -7,7 +7,7 @@
 , hatchling
 , jupyter-server
 , jupyterlab
-, jupyterlab_server
+, jupyterlab-server
 , notebook-shim
 , tornado
 , pytest-jupyter
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     jupyter-server
     jupyterlab
-    jupyterlab_server
+    jupyterlab-server
     notebook-shim
     tornado
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/nunavut/default.nix b/nixpkgs/pkgs/development/python-modules/nunavut/default.nix
index e6e6f42aaafa..52a6d1c18259 100644
--- a/nixpkgs/pkgs/development/python-modules/nunavut/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nunavut/default.nix
@@ -9,14 +9,14 @@
 
  buildPythonPackage rec {
   pname = "nunavut";
-  version = "2.3.0";
+  version = "2.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+wqQ7JKC4aSgdM8YcYlO289CRpwX4VPxVqNlSABJJ0U=";
+    hash = "sha256-23C3biUUs10Po5qzn3EFaq4+HeWCXIC6WzxOKy59VgM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/nvidia-ml-py/default.nix b/nixpkgs/pkgs/development/python-modules/nvidia-ml-py/default.nix
index caf4028df577..a8c327a08076 100644
--- a/nixpkgs/pkgs/development/python-modules/nvidia-ml-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/nvidia-ml-py/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "nvidia-ml-py";
-  version = "12.535.108";
+  version = "12.535.133";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     extension = "tar.gz";
-    hash = "sha256-FB/oGHcaFl+5P3Xb5/Afdnw7r6fBP2h29TWDURsHjuE=";
+    hash = "sha256-sVWa8NV90glVv1jQWv/3sWbd1ElH6zBRyZBWOHmesdw=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/objax/default.nix b/nixpkgs/pkgs/development/python-modules/objax/default.nix
index 548039d63b32..be8a3d8327d2 100644
--- a/nixpkgs/pkgs/development/python-modules/objax/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/objax/default.nix
@@ -1,24 +1,28 @@
 { lib
-, fetchFromGitHub
 , buildPythonPackage
-, jax
+, fetchFromGitHub
+, fetchpatch
 , jaxlib
+, jax
 , numpy
 , parameterized
 , pillow
 , scipy
 , tensorboard
+, keras
+, pytestCheckHook
+, tensorflow
 }:
 
 buildPythonPackage rec {
   pname = "objax";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "objax";
-    rev = "v${version}";
-    hash = "sha256-1/XmxFZfU+XMD0Mlcv4xTUYZDwltAx1bZOlPuKWQQC0=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-WD+pmR8cEay4iziRXqF3sHUzCMBjmLJ3wZ3iYOD+hzk=";
   };
 
   # Avoid propagating the dependency on `jaxlib`, see
@@ -40,6 +44,25 @@ buildPythonPackage rec {
     "objax"
   ];
 
+  # This is necessay to ignore the presence of two protobufs version (tensorflow is bringing an
+  # older version).
+  catchConflicts = false;
+
+  nativeCheckInputs = [
+    keras
+    pytestCheckHook
+    tensorflow
+  ];
+
+  pytestFlagsArray = [
+    "tests/*.py"
+  ];
+
+  disabledTests = [
+    # Test requires internet access for prefetching some weights
+    "test_pretrained_keras_weight_0_ResNet50V2"
+  ];
+
   meta = with lib; {
     description = "Objax is a machine learning framework that provides an Object Oriented layer for JAX.";
     homepage = "https://github.com/google/objax";
diff --git a/nixpkgs/pkgs/development/python-modules/omegaconf/0000-add-support-for-dataclasses_missing_type.patch b/nixpkgs/pkgs/development/python-modules/omegaconf/0000-add-support-for-dataclasses_missing_type.patch
new file mode 100644
index 000000000000..6435d86a68a2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/omegaconf/0000-add-support-for-dataclasses_missing_type.patch
@@ -0,0 +1,21 @@
+diff --git a/omegaconf/omegaconf.py b/omegaconf/omegaconf.py
+index efde14a..a2a050e 100644
+--- a/omegaconf/omegaconf.py
++++ b/omegaconf/omegaconf.py
+@@ -7,6 +7,7 @@ import pathlib
+ import sys
+ import warnings
+ from collections import defaultdict
++from dataclasses import _MISSING_TYPE
+ from contextlib import contextmanager
+ from enum import Enum
+ from textwrap import dedent
+@@ -828,6 +829,8 @@ class OmegaConf:
+ 
+             if obj is _DEFAULT_MARKER_:
+                 obj = {}
++            if isinstance(obj, _MISSING_TYPE):
++                return OmegaConf.create({}, parent=parent, flags=flags)
+             if isinstance(obj, str):
+                 obj = yaml.load(obj, Loader=get_yaml_loader())
+                 if obj is None:
diff --git a/nixpkgs/pkgs/development/python-modules/omegaconf/default.nix b/nixpkgs/pkgs/development/python-modules/omegaconf/default.nix
index d506e06d6f67..c6dfada82bd2 100644
--- a/nixpkgs/pkgs/development/python-modules/omegaconf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/omegaconf/default.nix
@@ -3,6 +3,7 @@
 , antlr4-python3-runtime
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
 , jre_minimal
 , pydevd
 , pytest-mock
@@ -15,8 +16,7 @@
 buildPythonPackage rec {
   pname = "omegaconf";
   version = "2.3.0";
-  format = "setuptools";
-
+  pyproject = true;
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -31,6 +31,9 @@ buildPythonPackage rec {
       src = ./antlr4.patch;
       antlr_jar = "${antlr4.out}/share/java/antlr-${antlr4.version}-complete.jar";
     })
+
+    # https://github.com/omry/omegaconf/pull/1137
+    ./0000-add-support-for-dataclasses_missing_type.patch
   ];
 
   postPatch = ''
@@ -42,6 +45,7 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [
+    setuptools
     jre_minimal
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/omemo-dr/default.nix b/nixpkgs/pkgs/development/python-modules/omemo-dr/default.nix
index 39adbdc7cc3e..03850fc8cca7 100644
--- a/nixpkgs/pkgs/development/python-modules/omemo-dr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/omemo-dr/default.nix
@@ -1,22 +1,47 @@
-{ lib, buildPythonPackage, fetchPypi, cryptography, protobuf }:
+{ lib
+, buildPythonPackage
+, cryptography
+, fetchPypi
+, protobuf
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
 
 buildPythonPackage rec {
   pname = "omemo-dr";
-  version = "1.0.0";
+  version = "1.0.1";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sP5QI+lHoXt0D7ftSqJGEg1vIdgZtYEulN/JVwUgvmE=";
+    hash = "sha256-KoqMdyMdc5Sb3TdSeNTVomElK9ruUstiQayyUcIC02E=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     cryptography
     protobuf
   ];
 
-  meta = {
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "omemo_dr"
+  ];
+
+  meta = with lib; {
     description = "OMEMO Double Ratchet";
-    license = lib.licenses.lgpl3;
     homepage = "https://dev.gajim.org/gajim/omemo-dr/";
+    changelog = "https://dev.gajim.org/gajim/omemo-dr/-/blob/v${version}/CHANGELOG.md";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/omrdatasettools/default.nix b/nixpkgs/pkgs/development/python-modules/omrdatasettools/default.nix
index 4448a686e1a9..45c6ee0a90e5 100644
--- a/nixpkgs/pkgs/development/python-modules/omrdatasettools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/omrdatasettools/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonPackage rec {
   pname = "omrdatasettools";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0cdq02jp8vh78yjq9bncjjl0pb554idrcxkd62rzwk4l6ss2fkw5";
+    sha256 = "sha256-kUUcbti29uDnSEvCubMAUnptlaZGpEsW2IBGSAGnGyQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/openai-triton/0000-dont-download-ptxas.patch b/nixpkgs/pkgs/development/python-modules/openai-triton/0000-dont-download-ptxas.patch
new file mode 100644
index 000000000000..5038a5ba52e0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/openai-triton/0000-dont-download-ptxas.patch
@@ -0,0 +1,39 @@
+diff --git a/python/setup.py b/python/setup.py
+index 2ac3accd2..f26161c72 100644
+--- a/python/setup.py
++++ b/python/setup.py
+@@ -101,25 +101,6 @@ def get_thirdparty_packages(triton_cache_path):
+ # ---- package data ---
+ 
+ 
+-def download_and_copy_ptxas():
+-    base_dir = os.path.dirname(__file__)
+-    src_path = "bin/ptxas"
+-    url = "https://conda.anaconda.org/nvidia/label/cuda-12.0.0/linux-64/cuda-nvcc-12.0.76-0.tar.bz2"
+-    dst_prefix = os.path.join(base_dir, "triton")
+-    dst_suffix = os.path.join("third_party", "cuda", src_path)
+-    dst_path = os.path.join(dst_prefix, dst_suffix)
+-    if not os.path.exists(dst_path):
+-        print(f'downloading and extracting {url} ...')
+-        ftpstream = urllib.request.urlopen(url)
+-        file = tarfile.open(fileobj=ftpstream, mode="r|*")
+-        with tempfile.TemporaryDirectory() as temp_dir:
+-            file.extractall(path=temp_dir)
+-            src_path = os.path.join(temp_dir, src_path)
+-            os.makedirs(os.path.split(dst_path)[0], exist_ok=True)
+-            shutil.copy(src_path, dst_path)
+-    return dst_suffix
+-
+-
+ # ---- cmake extension ----
+ 
+ 
+@@ -200,8 +181,6 @@ class CMakeBuild(build_ext):
+         subprocess.check_call(["cmake", "--build", "."] + build_args, cwd=self.build_temp)
+ 
+ 
+-download_and_copy_ptxas()
+-
+ setup(
+     name="triton",
+     version="2.0.0",
diff --git a/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix b/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix
index 68dfc24aafda..e1ac9cb4cef6 100644
--- a/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/openai-triton/default.nix
@@ -1,5 +1,5 @@
 { lib
-, callPackage
+, config
 , buildPythonPackage
 , fetchFromGitHub
 , addOpenGLRunpath
@@ -14,10 +14,12 @@
 , ncurses
 , libxml2
 , lit
+, llvm
 , filelock
 , torchWithRocm
 , python
 , cudaPackages
+, cudaSupport ? config.cudaSupport
 }:
 
 let
@@ -33,7 +35,6 @@ let
   # be executed on the GPU.
   # Cf. https://nixos.org/manual/nixpkgs/unstable/#sec-cross-infra
   ptxas = "${pkgsTargetTarget.cudaPackages.cuda_nvcc}/bin/ptxas"; # Make sure cudaPackages is the right version each update (See python/setup.py)
-  llvm = callPackage ./llvm.nix { }; # Use a custom llvm, see llvm.nix for details
 in
 buildPythonPackage rec {
   pname = "triton";
@@ -57,6 +58,8 @@ buildPythonPackage rec {
     #   url = "https://github.com/openai/triton/commit/fc7c0b0e437a191e421faa61494b2ff4870850f1.patch";
     #   hash = "sha256-f0shIqHJkVvuil2Yku7vuqWFn7VCRKFSFjYRlwx25ig=";
     # })
+  ] ++ lib.optionals (!cudaSupport) [
+    ./0000-dont-download-ptxas.patch
   ];
 
   nativeBuildInputs = [
@@ -102,21 +105,18 @@ buildPythonPackage rec {
     substituteInPlace bin/CMakeLists.txt \
       --replace "add_subdirectory(FileCheck)" ""
 
-    # Use our linker flags
-    substituteInPlace python/triton/compiler.py \
-      --replace '${oldStr}' '${newStr}'
-
     # Don't fetch googletest
     substituteInPlace unittest/CMakeLists.txt \
       --replace "include (\''${CMAKE_CURRENT_SOURCE_DIR}/googletest.cmake)" ""\
       --replace "include(GoogleTest)" "find_package(GTest REQUIRED)"
+  '' + lib.optionalString cudaSupport ''
+    # Use our linker flags
+    substituteInPlace python/triton/compiler.py \
+      --replace '${oldStr}' '${newStr}'
   '';
 
   # Avoid GLIBCXX mismatch with other cuda-enabled python packages
   preConfigure = ''
-    export CC=${cudaPackages.backendStdenv.cc}/bin/cc;
-    export CXX=${cudaPackages.backendStdenv.cc}/bin/c++;
-
     # Upstream's setup.py tries to write cache somewhere in ~/
     export HOME=$(mktemp -d)
 
@@ -127,6 +127,9 @@ buildPythonPackage rec {
 
     # The rest (including buildPhase) is relative to ./python/
     cd python
+  '' + lib.optionalString cudaSupport ''
+    export CC=${cudaPackages.backendStdenv.cc}/bin/cc;
+    export CXX=${cudaPackages.backendStdenv.cc}/bin/c++;
 
     # Work around download_and_copy_ptxas()
     mkdir -p $PWD/triton/third_party/cuda/bin
@@ -137,7 +140,7 @@ buildPythonPackage rec {
   dontUseCmakeConfigure = true;
 
   # Setuptools (?) strips runpath and +x flags. Let's just restore the symlink
-  postFixup = ''
+  postFixup = lib.optionalString cudaSupport ''
     rm -f $out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas
     ln -s ${ptxas} $out/${python.sitePackages}/triton/third_party/cuda/bin/ptxas
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/openai-triton/llvm.nix b/nixpkgs/pkgs/development/python-modules/openai-triton/llvm.nix
deleted file mode 100644
index 70ea69a9b15f..000000000000
--- a/nixpkgs/pkgs/development/python-modules/openai-triton/llvm.nix
+++ /dev/null
@@ -1,125 +0,0 @@
-{ config
-, lib
-, stdenv
-, fetchFromGitHub
-, pkg-config
-, cmake
-, ninja
-, git
-, doxygen
-, sphinx
-, libxml2
-, libxcrypt
-, libedit
-, libffi
-, mpfr
-, zlib
-, ncurses
-, python3Packages
-, buildDocs ? true
-, buildMan ? true
-, buildTests ? true
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "triton-llvm";
-  version = "14.0.6-f28c006a5895";
-
-  outputs = [
-    "out"
-  ] ++ lib.optionals buildDocs [
-    "doc"
-  ] ++ lib.optionals buildMan [
-    "man"
-  ];
-
-  # See https://github.com/openai/triton/blob/main/python/setup.py and https://github.com/ptillet/triton-llvm-releases/releases
-  src = fetchFromGitHub {
-    owner = "llvm";
-    repo = "llvm-project";
-    rev = "f28c006a5895fc0e329fe15fead81e37457cb1d1";
-    hash = "sha256-vffu4HilvYwtzwgq+NlS26m65DGbp6OSSne2aje1yJE=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-    cmake
-    ninja
-    git
-    python3Packages.python
-  ] ++ lib.optionals (buildDocs || buildMan) [
-    doxygen
-    sphinx
-    python3Packages.recommonmark
-  ];
-
-  buildInputs = [
-    libxml2
-    libxcrypt
-    libedit
-    libffi
-    mpfr
-  ];
-
-  propagatedBuildInputs = [
-    zlib
-    ncurses
-  ];
-
-  sourceRoot = "${finalAttrs.src.name}/llvm";
-
-  cmakeFlags = [
-    "-DLLVM_TARGETS_TO_BUILD=${
-      let
-        # Targets can be found in
-        # https://github.com/llvm/llvm-project/tree/f28c006a5895fc0e329fe15fead81e37457cb1d1/clang/lib/Basic/Targets
-        # NOTE: Unsure of how "host" would function, especially given that we might be cross-compiling.
-        llvmTargets = [ "AMDGPU" "NVPTX" ]
-        ++ lib.optionals stdenv.isAarch64 [ "AArch64" ]
-        ++ lib.optionals stdenv.isx86_64 [ "X86" ];
-      in
-      lib.concatStringsSep ";" llvmTargets
-    }"
-    "-DLLVM_ENABLE_PROJECTS=llvm;mlir"
-    "-DLLVM_INSTALL_UTILS=ON"
-  ] ++ lib.optionals (buildDocs || buildMan) [
-    "-DLLVM_INCLUDE_DOCS=ON"
-    "-DMLIR_INCLUDE_DOCS=ON"
-    "-DLLVM_BUILD_DOCS=ON"
-    # "-DLLVM_ENABLE_DOXYGEN=ON" Way too slow, only uses one core
-    "-DLLVM_ENABLE_SPHINX=ON"
-    "-DSPHINX_OUTPUT_HTML=ON"
-    "-DSPHINX_OUTPUT_MAN=ON"
-    "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
-  ] ++ lib.optionals buildTests [
-    "-DLLVM_INCLUDE_TESTS=ON"
-    "-DMLIR_INCLUDE_TESTS=ON"
-    "-DLLVM_BUILD_TESTS=ON"
-  ];
-
-  postPatch = ''
-    # `CMake Error: cannot write to file "/build/source/llvm/build/lib/cmake/mlir/MLIRTargets.cmake": Permission denied`
-    chmod +w -R ../mlir
-
-    # FileSystem permissions tests fail with various special bits
-    rm test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
-    rm unittests/Support/Path.cpp
-
-    substituteInPlace unittests/Support/CMakeLists.txt \
-      --replace "Path.cpp" ""
-  '';
-
-  doCheck = buildTests;
-  requiredSystemFeatures = [ "big-parallel" ];
-
-  meta = with lib; {
-    description = "Collection of modular and reusable compiler and toolchain technologies";
-    homepage = "https://github.com/llvm/llvm-project";
-    license = with licenses; [ ncsa ];
-    maintainers = with maintainers; [ SomeoneSerge Madouura ];
-    platforms = platforms.linux;
-    # Consider the derivation broken if we're not building for CUDA or ROCm, or if we're building for aarch64
-    # and ROCm is enabled. See https://github.com/RadeonOpenCompute/ROCm/issues/1831#issuecomment-1278205344.
-    broken = stdenv.isAarch64 && !config.cudaSupport;
-  };
-})
diff --git a/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
index 622917e8a3e7..ea90e089ec34 100644
--- a/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
+++ b/nixpkgs/pkgs/development/python-modules/openrazer/daemon.nix
@@ -11,6 +11,7 @@
 , pyudev
 , setproctitle
 , wrapGAppsHook
+, notify2
 }:
 
 let
@@ -39,6 +40,7 @@ buildPythonPackage (common // {
     pygobject3
     pyudev
     setproctitle
+    notify2
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/development/python-modules/optimum/default.nix b/nixpkgs/pkgs/development/python-modules/optimum/default.nix
index 2742f9aab8bf..3b38fcc2c864 100644
--- a/nixpkgs/pkgs/development/python-modules/optimum/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/optimum/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "optimum";
-  version = "1.13.1";
+  version = "1.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "optimum";
     rev = "refs/tags/v${version}";
-    hash = "sha256-heTyGgHC9tfS0hFv83sdxVApcXa63GQLG9Nwgi30GFo=";
+    hash = "sha256-fCLMDbWfEAG7pTFKWv67fpr6lNTxRTCBkppgDZR51eY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix b/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix
index 814c90a698dc..e40a9a03e764 100644
--- a/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/orange-canvas-core/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "orange-canvas-core";
-  version = "0.1.33";
+  version = "0.1.35";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-w3krij7+CtJl1XoJz3RRAAp2aKqMCQg/PBh5erf/Phs=";
+    hash = "sha256-xLCwjeNDx9RqxlNkIWMo0Pcrg7akGuu4Rv9oRDgOK18=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/orange3/default.nix b/nixpkgs/pkgs/development/python-modules/orange3/default.nix
index c8939f01e939..1100ae7f6dc6 100644
--- a/nixpkgs/pkgs/development/python-modules/orange3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/orange3/default.nix
@@ -44,7 +44,7 @@
 let
   self = buildPythonPackage rec {
     pname = "orange3";
-    version = "3.36.1";
+    version = "3.36.2";
 
     disabled = pythonOlder "3.7";
 
@@ -52,7 +52,7 @@ let
       owner = "biolab";
       repo = "orange3";
       rev = "refs/tags/${version}";
-      hash = "sha256-O5ZN5O1vMkqiv83Q5UoaDefGnqVnDLPmYLLG20cdajk=";
+      hash = "sha256-v9lk5vGhBaR2PHZ+Jq0hy1WaCsbeLe+vZlTaHBkfacU=";
     };
 
     postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix b/nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix
index a3853022f0a6..e358c2ec4986 100644
--- a/nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paddle2onnx/default.nix
@@ -9,7 +9,7 @@
 }:
 let
   pname = "paddle2onnx";
-  version = "1.0.9";
+  version = "1.1.0";
   format = "wheel";
   pyShortVersion = "cp${builtins.replaceStrings ["."] [""] python.pythonVersion}";
   src = fetchPypi {
@@ -18,7 +18,7 @@ let
     python = pyShortVersion;
     abi = pyShortVersion;
     platform = "manylinux_2_12_x86_64.manylinux2010_x86_64";
-    hash = "sha256-QnXfcbfzRt1sSagnDLP3ZRLH3KNqK76L+KvifTU6MJQ=";
+    hash = "sha256-HI/lIj9ezdCry5fYDi5Pia6hvOjN6/Slm9BMfLeq8AU=";
   };
 in
 buildPythonPackage {
diff --git a/nixpkgs/pkgs/development/python-modules/paramz/default.nix b/nixpkgs/pkgs/development/python-modules/paramz/default.nix
index 10e3cef7a69a..1f2ddb3d8cfd 100644
--- a/nixpkgs/pkgs/development/python-modules/paramz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paramz/default.nix
@@ -15,6 +15,11 @@ buildPythonPackage rec {
       url = "https://github.com/sods/paramz/pull/38/commits/a5a0be15b12c5864b438d870b519ad17cc72cd12.patch";
       hash = "sha256-vj/amEXL9QJ7VdqJmyhv/lj8n+yuiZEARQBYWw6lgBA=";
     })
+    (fetchpatch {
+      name = "_raveled_index_for.patch";
+      url = "https://github.com/sods/paramz/pull/40/commits/dd68a81cfd28edb48354c6a9b493ef711f00fb5b.patch";
+      hash = "sha256-nbnW3lYJDT1WXko3Y28YyELhO0QIAA1Tx0CJ57T1Nq0=";
+    })
   ];
 
   propagatedBuildInputs = [ numpy scipy six decorator ];
diff --git a/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix b/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix
index 5f1686902798..576b54860557 100644
--- a/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix
@@ -1,5 +1,6 @@
 { lib
 , azure-identity
+, azure-monitor-ingestion
 , boto3
 , buildPythonPackage
 , dateparser
@@ -38,14 +39,14 @@ let
 in
 buildPythonPackage rec {
   pname = "parsedmarc";
-  version = "8.6.1";
+  version = "8.6.4";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lnIhXkBodvLWVeqiwFcnU4M53zwWDmtFz+9TThQY63I=";
+    hash = "sha256-ibxSp1M85WngQKdjlRC4JvLxn0rEn9oVkid/V4iD6zY=";
   };
 
   postPatch = ''
@@ -59,6 +60,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     azure-identity
+    azure-monitor-ingestion
     boto3
     dateparser
     dnspython
@@ -98,6 +100,7 @@ buildPythonPackage rec {
     changelog = "https://github.com/domainaware/parsedmarc/blob/master/CHANGELOG.md#${lib.replaceStrings [ "." ] [ "" ] version}";
     description = "Python module and CLI utility for parsing DMARC reports";
     homepage = "https://domainaware.github.io/parsedmarc/";
+    mainProgram = "parsedmarc";
     maintainers = with maintainers; [ talyz ];
     license = licenses.asl20;
   };
diff --git a/nixpkgs/pkgs/development/python-modules/paste/default.nix b/nixpkgs/pkgs/development/python-modules/paste/default.nix
index 7b436c697d86..3a8ec63f3e9a 100644
--- a/nixpkgs/pkgs/development/python-modules/paste/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/paste/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "paste";
-  version = "3.6.1";
+  version = "3.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "cdent";
     repo = "paste";
     rev = "refs/tags/${version}";
-    hash = "sha256-vVCJn8PhLNw0fj+/tTigTEodn9SEKv0VASJf4LKJy20=";
+    hash = "sha256-xp8FU4MR79/leBSJvSk8J2GdWW32AW2I5i3Y6DsRPLw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix b/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix
index 0408b74ead49..2138d7181978 100644
--- a/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pdfplumber/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pdfplumber";
-  version = "0.10.2";
+  version = "0.10.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "jsvine";
     repo = "pdfplumber";
     rev = "refs/tags/v${version}";
-    hash = "sha256-nuHHEVOYm2/PkXIs9Ze5y5xyJMLkxqp3q3u4gV8Ks80=";
+    hash = "sha256-fd/4I6jjc0Wz2+XHGXAGg0Am3Dmw9R2ZX7nymIj/UnA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/peft/default.nix b/nixpkgs/pkgs/development/python-modules/peft/default.nix
index d6a4531312fa..de19d37c54e7 100644
--- a/nixpkgs/pkgs/development/python-modules/peft/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/peft/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "peft";
-  version = "0.5.0";
+  version = "0.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-FaD873ksim7ewOI6Wqcv+GuPmH45+yAvbJC1H/DSfI8=";
+    hash = "sha256-XF7hjPuPoTioVIoiFhaMeyFYjHXmMwPVuJYDrCMUZwo=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/pep517/default.nix b/nixpkgs/pkgs/development/python-modules/pep517/default.nix
index bb60adfc4bb2..470c67d6ae07 100644
--- a/nixpkgs/pkgs/development/python-modules/pep517/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pep517/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "pep517";
-  version = "0.13.0";
+  version = "0.13.1";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rmmSfFwXK+Gt2SA3JtS4TPPrrR7c1fcfzcdG5m6Cn1k=";
+    hash = "sha256-Gy+i/9OTi7S+/+XWFGy8sr2plqWk2p8xq//Ysk4Hsxc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pex/default.nix b/nixpkgs/pkgs/development/python-modules/pex/default.nix
index 3eba4ff82878..1d288d2f4389 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.148";
-  format = "pyproject";
+  version = "2.1.151";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-XRER28ObI9TsZ5h5LkAXhExGq+c4hpoEun2hagkpUXk=";
+    hash = "sha256-op7V7Xn0qzcCTyISyi/Z4bhdk/W7Ol5YbmvD2Sl5zkM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pgcli/default.nix b/nixpkgs/pkgs/development/python-modules/pgcli/default.nix
index f5de2371e01e..8f7f1e96effe 100644
--- a/nixpkgs/pkgs/development/python-modules/pgcli/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pgcli/default.nix
@@ -22,11 +22,11 @@
 # integrating with ipython-sql
 buildPythonPackage rec {
   pname = "pgcli";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-C/X427yQR+BkbQFqQhMoomDEbP8hCJCLEbtVyWR17o0=";
+    hash = "sha256-8v7qIJnOGtXoqdXZOw7a9g3GHpeyG3XpHZcjk5zlO9I=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pillow-heif/default.nix b/nixpkgs/pkgs/development/python-modules/pillow-heif/default.nix
index 6edc041ed481..198e7ff2ff38 100644
--- a/nixpkgs/pkgs/development/python-modules/pillow-heif/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pillow-heif/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 
@@ -63,6 +64,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # https://github.com/bigcat88/pillow_heif/issues/89
+    # not reproducible in nixpkgs
+    "test_opencv_crash"
+  ];
+
   meta = {
     changelog = "https://github.com/bigcat88/pillow_heif/releases/tag/v${version}";
     description = "Python library for working with HEIF images and plugin for Pillow";
diff --git a/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix b/nixpkgs/pkgs/development/python-modules/pipdeptree/default.nix
index 250ad2f2399d..7e15814fa684 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.13.0";
+  version = "2.13.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "tox-dev";
     repo = "pipdeptree";
     rev = "refs/tags/${version}";
-    hash = "sha256-mblj6SQK/az2al81wMiWXHuyn1+30jfAxrWGv9Nw/gw=";
+    hash = "sha256-rlnJmGe9LYwIJxV02IjiKtT1iS1O9ik8dAfjsPHsa8U=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
index 57b4cb430b77..47ce92cc68f6 100644
--- a/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plexapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.15.4";
+  version = "4.15.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-NBV4jrLfU5vqQljQh28tJxgaNSo/ilph8xsjdVKCOJg=";
+    hash = "sha256-VU1HVAxAOraTd4VQIqG/MLkw77xciCICIh1zbzGn/dQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
index 5ca8bf74a56e..0802156dcd3a 100644
--- a/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.34.4";
+  version = "0.34.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    hash = "sha256-lyQE3+ZRZgKTZiv6p+cLZRe26M9BnM59fvLjWwFiE8E=";
+    hash = "sha256-Lg8oNFb0nc6T8E0fksv2w/bkHB/7PPXipMDGC0i8Kc0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/podman/default.nix b/nixpkgs/pkgs/development/python-modules/podman/default.nix
index 677d6c2a7245..4541cac8b14e 100644
--- a/nixpkgs/pkgs/development/python-modules/podman/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/podman/default.nix
@@ -72,5 +72,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/containers/podman-py/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
+    mainProgram = "podman";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/polling/default.nix b/nixpkgs/pkgs/development/python-modules/polling/default.nix
index 22e7e0c3916d..ee8165858933 100644
--- a/nixpkgs/pkgs/development/python-modules/polling/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/polling/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Powerful polling utility in Python";
-    homepage = "http://github.com/justiniso/polling";
+    homepage = "https://github.com/justiniso/polling";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix b/nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix
index 672c4c393da3..e60bc33383d3 100644
--- a/nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/prayer-times-calculator/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "prayer-times-calculator";
-  version = "0.0.9";
+  version = "0.0.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "uchagani";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-QIUMxs6NOqnljTi1UNp7bCQ9TgBy/u+BWEqgr2C854g=";
+    hash = "sha256-T+rXJy+9haepF6TKSoOjb6o75YQwQnzAaWRtLMwfGOw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix b/nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix
index 8d5969d18f08..87a91743b674 100644
--- a/nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/precis-i18n/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "precis-i18n";
-  version = "1.0.5";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "byllyfish";
     repo = "precis_i18n";
     rev = "refs/tags/v${version}";
-    hash = "sha256-DSm+KomveGs9ZzNFiT0B1gAjx2fh0BaUdKW0J+kW24U=";
+    hash = "sha256-0Z8JbakShuB8FFGl3NS8VFpHAQgr2P900HVxUafAmyU=";
   };
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/proxy_tools/default.nix b/nixpkgs/pkgs/development/python-modules/proxy-tools/default.nix
index 03f3f92f9da9..beb91a433388 100644
--- a/nixpkgs/pkgs/development/python-modules/proxy_tools/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/proxy-tools/default.nix
@@ -1,17 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, setuptools
 }:
 
 buildPythonPackage rec {
-  pname = "proxy_tools";
+  pname = "proxy-tools";
   version = "0.1.0";
+  pyproject = true;
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "proxy_tools";
+    inherit version;
     hash = "sha256-zLN1H1KcBH4tilhEDYayBTA88P6BRveE0cvNlPCigBA=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # no tests in pypi
   doCheck = false;
   pythonImportsCheck = [ "proxy_tools" ];
diff --git a/nixpkgs/pkgs/development/python-modules/psygnal/default.nix b/nixpkgs/pkgs/development/python-modules/psygnal/default.nix
index c9a1f710b671..36ae22a67b68 100644
--- a/nixpkgs/pkgs/development/python-modules/psygnal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/psygnal/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "psygnal";
-  version = "0.9.2";
+  version = "0.9.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "pyapp-kit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-Ki2s057aqaZa+kOpAlhBYFpZeuDX42+txQXFuBtXd04=";
+    hash = "sha256-eDfGWmTKJrkkzRy1I3wl3WYPCxtPHSRzqAoOiO7QQ9Y=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix b/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
index 00edd1433813..f16fa4cedfd9 100644
--- a/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/publicsuffixlist/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "publicsuffixlist";
-  version = "0.10.0.20231030";
+  version = "0.10.0.20231109";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-1yRv6zg9mKJTinR57QHvCx/0mi0b2O3CkcoH1v4QuNo=";
+    hash = "sha256-cr2rEoGVJ8BeXLfyPq4Auxu7OEOlVnKxlSMUREmji2E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix b/nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix
index 2ef7b55d0d39..090883bad3d9 100644
--- a/nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-nextbusnext/default.nix
@@ -3,12 +3,13 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "py-nextbusnext";
-  version = "1.0.1";
-  format = "setuptools";
+  version = "1.0.2";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -16,9 +17,13 @@ buildPythonPackage rec {
     owner = "ViViDboarder";
     repo = "py_nextbus";
     rev = "refs/tags/v${version}";
-    hash = "sha256-iJPbRhXgA1AIkyf3zGZ9tuFAw8h6oyBbh7Ln/y72fyQ=";
+    hash = "sha256-5zD8AKb4/4x4cVA922OlzSOXlg3F6QCcr16agEQkUWM=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
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 91d044a366a1..93ffeacb08a7 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.11.0";
+  version = "0.12.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GsiGBigvtAgrM0sRffZBG2tVoEaDai+eUxXhMXWNBr0=";
+    hash = "sha256-nMEmzQVz1LR4omHyxhvrjBXDQQE23S62T0wxZeMnXhg=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/py_stringmatching/default.nix b/nixpkgs/pkgs/development/python-modules/py-stringmatching/default.nix
index 8c49de1e5287..9a1af7c13cf7 100644
--- a/nixpkgs/pkgs/development/python-modules/py_stringmatching/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py-stringmatching/default.nix
@@ -1,7 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nose
+, setuptools
+, pytestCheckHook
 , numpy
 , pythonOlder
 , six
@@ -10,25 +11,33 @@
 buildPythonPackage rec {
   pname = "py-stringmatching";
   version = "0.4.3";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "py_stringmatching";
     inherit version;
-    sha256 = "sha256-khubsWOzEN80HDOCORMgT3sMqfajGfW0UUCDAL03je4=";
+    hash = "sha256-khubsWOzEN80HDOCORMgT3sMqfajGfW0UUCDAL03je4=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     numpy
     six
   ];
 
   nativeCheckInputs = [
-    nose
+    pytestCheckHook
   ];
 
+  preCheck = ''
+    cd $out
+  '';
+
   pythonImportsCheck = [
     "py_stringmatching"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/py3status/default.nix b/nixpkgs/pkgs/development/python-modules/py3status/default.nix
index d635a6a4a88c..45ac825c6a56 100644
--- a/nixpkgs/pkgs/development/python-modules/py3status/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/py3status/default.nix
@@ -24,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "py3status";
-  version = "3.53";
+  version = "3.54";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vZrzHERjAg9J004A2dAbq8hKmAUslCTaRdwEAe9JRqU=";
+    hash = "sha256-xRiXFCILZeiNYJMIJ8Qxga71/7WXeTUsdnRvfvDzpCY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyathena/default.nix b/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
index 9e6802ff1749..6bb98d07f345 100644
--- a/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyathena/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pyathena";
-  version = "3.0.9";
+  version = "3.0.10";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RGU4UF+Nhfc2LGQlYf8ImrmDf2009JTSx6cO4o3VuDI=";
+    hash = "sha256-HvmD1Hi8GCwuox11v0/VdVQlmF5dpPjhgSNfLScz5TY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
index 92ccf8e071b8..5c37066ae9d1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatmo/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyatmo";
-  version = "7.5.0";
+  version = "7.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "jabesq";
     repo = "pyatmo";
     rev = "refs/tags/v${version}";
-    hash = "sha256-GucatimZTg0Fggrz4bG1x6YSa3wE/uLGB4ufil/km3w=";
+    hash = "sha256-rAmSxayXljOJchiMtSOgnotzQmapK2n86HwNi9HJX68=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pyatspi/default.nix b/nixpkgs/pkgs/development/python-modules/pyatspi/default.nix
index 7169a4022f63..fb7fedeaefc5 100644
--- a/nixpkgs/pkgs/development/python-modules/pyatspi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyatspi/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   ];
 
   configureFlags = [
-    "PYTHON=${python.pythonForBuild.interpreter}"
+    "PYTHON=${python.pythonOnBuildForHost.interpreter}"
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
index fe29cde9e522..e2b216d1724b 100644
--- a/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pybind11/default.nix
@@ -17,7 +17,7 @@
     name = "pybind11-setup-hook";
     substitutions = {
       out = placeholder "out";
-      pythonInterpreter = python.pythonForBuild.interpreter;
+      pythonInterpreter = python.pythonOnBuildForHost.interpreter;
       pythonIncludeDir = "${python}/include/python${python.pythonVersion}";
       pythonSitePackages = "${python}/${python.sitePackages}";
     };
diff --git a/nixpkgs/pkgs/development/python-modules/pycairo/default.nix b/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
index ff2f2e581906..6aa58056cad9 100644
--- a/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycairo/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     # This is only used for figuring out what version of Python is in
     # use, and related stuff like figuring out what the install prefix
     # should be, but it does need to be able to execute Python code.
-    "-Dpython=${python.pythonForBuild.interpreter}"
+    "-Dpython=${python.pythonOnBuildForHost.interpreter}"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pycaption/default.nix b/nixpkgs/pkgs/development/python-modules/pycaption/default.nix
index e1e1e37f0c65..db90dcce9492 100644
--- a/nixpkgs/pkgs/development/python-modules/pycaption/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycaption/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pycaption";
-  version = "2.1.1";
+  version = "2.2.0";
 
   disabled = pythonOlder "3.6";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-B+uIh8WTPPeNVU3yP8FEGc8OinY0MpJb9dHLC+nhi4I=";
+    hash = "sha256-W/sD/Nh2k1z7YvFVnQB9dGa1bXoCTb4QrPk/1mi4Hdk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pycardano/default.nix b/nixpkgs/pkgs/development/python-modules/pycardano/default.nix
index 8345a3da2065..118e4ed66b5e 100644
--- a/nixpkgs/pkgs/development/python-modules/pycardano/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycardano/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 # Python deps
 , blockfrost-python
+, cachetools
 , cbor2
 , cose
 , ecpy
@@ -29,7 +30,7 @@ let
 
 in buildPythonPackage rec {
   pname = "pycardano";
-  version = "0.9.0";
+  version = "0.10.0";
 
   format = "pyproject";
 
@@ -37,11 +38,12 @@ in buildPythonPackage rec {
     owner = "Python-Cardano";
     repo = "pycardano";
     rev = "v${version}";
-    hash = "sha256-KRlpGhEzABBh1YWCDcrpW4hyMOhEA1Rla9nh95qdVik=";
+    hash = "sha256-LP/W8IC2del476fGFq10VMWwMrbAoCCcZOngA8unBM0=";
   };
 
   propagatedBuildInputs = [
     blockfrost-python
+    cachetools
     cbor2
     cose_0_9_dev8
     ecpy
diff --git a/nixpkgs/pkgs/development/python-modules/pycep-parser/default.nix b/nixpkgs/pkgs/development/python-modules/pycep-parser/default.nix
index 20e7fba1b045..9231fbdf47f2 100644
--- a/nixpkgs/pkgs/development/python-modules/pycep-parser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycep-parser/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pycep-parser";
-  version = "0.4.1";
+  version = "0.4.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "gruebel";
     repo = "pycep";
     rev = "refs/tags/${version}";
-    hash = "sha256-OSdxdhGAZhl625VdIDHQ1aepQR5B0pCTLavfxer1tqc=";
+    hash = "sha256-qogUjj/GwMGwFEin+xJCSOCf5Ut8bgsFakyoMhkyKgU=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pycuda/default.nix b/nixpkgs/pkgs/development/python-modules/pycuda/default.nix
index 06f3afb64dea..8c2005c0cc2c 100644
--- a/nixpkgs/pkgs/development/python-modules/pycuda/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pycuda/default.nix
@@ -24,15 +24,15 @@ let
 in
 buildPythonPackage rec {
   pname = "pycuda";
-  version = "2022.2.2";
+  version = "2023.1";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zZLnJGu0WsNFKVWhEHFBEmdM3ztKni9P8lpBWcaE5rs=";
+    hash = "sha256-F1/2dfDPEOOOmtwD7V3z7Y2Kv32lE0yNzOx1LooKPpE=";
   };
 
   preConfigure = with lib.versions; ''
-    ${python.pythonForBuild.interpreter} configure.py --boost-inc-dir=${boost.dev}/include \
+    ${python.pythonOnBuildForHost.interpreter} configure.py --boost-inc-dir=${boost.dev}/include \
                           --boost-lib-dir=${boost}/lib \
                           --no-use-shipped-boost \
                           --boost-python-libname=boost_python${major python.version}${minor python.version} \
diff --git a/nixpkgs/pkgs/development/python-modules/pycyphal/default.nix b/nixpkgs/pkgs/development/python-modules/pycyphal/default.nix
new file mode 100644
index 000000000000..b5516bc144e0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pycyphal/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, can
+, cobs
+, libpcap
+, nunavut
+, numpy
+, pyserial
+}:
+
+buildPythonPackage rec {
+  pname = "pycyphal";
+  version = "1.15.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-KVX+DwcJp1sjpcG1Utl9me1LwWDZPof+O6hoUt1xlXA=";
+  };
+
+  propagatedBuildInputs = [
+    can
+    cobs
+    libpcap
+    numpy
+    nunavut
+    pyserial
+  ];
+
+  # Can't seem to run the tests on nix
+  doCheck = false;
+  pythonImportsCheck = [
+    "pycyphal"
+  ];
+
+  meta = with lib; {
+    description = "A full-featured implementation of the Cyphal protocol stack in Python";
+    longDescription = ''
+      Cyphal is an open technology for real-time intravehicular distributed computing and communication based on modern networking standards (Ethernet, CAN FD, etc.).
+    '';
+    homepage = "https://opencyphal.org/";
+    license = licenses.mit;
+    maintainers = [ teams.ororatech ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pydantic-settings/default.nix b/nixpkgs/pkgs/development/python-modules/pydantic-settings/default.nix
index a375ded35f04..c27bb5f27576 100644
--- a/nixpkgs/pkgs/development/python-modules/pydantic-settings/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydantic-settings/default.nix
@@ -46,6 +46,7 @@ buildPythonPackage rec {
     description = "Settings management using pydantic";
     homepage = "https://github.com/pydantic/pydantic-settings";
     license = licenses.mit;
+    broken = lib.versionOlder pydantic.version "2.0.0";
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pydexcom/default.nix b/nixpkgs/pkgs/development/python-modules/pydexcom/default.nix
index 57031c90f97c..3a2243541291 100644
--- a/nixpkgs/pkgs/development/python-modules/pydexcom/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydexcom/default.nix
@@ -1,21 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
+, requests
 , setuptools
 , setuptools-scm
-, requests
 }:
 
 buildPythonPackage rec {
   pname = "pydexcom";
-  version = "0.3.1";
-  format = "pyproject";
+  version = "0.3.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "gagebenne";
-    repo = pname;
+    repo = "pydexcom";
     rev = "refs/tags/${version}";
-    hash = "sha256-VZ8Y8W3oEQ3W8eubMbHLfQAXK8cL6+OTyBFwtEe0cBE=";
+    hash = "sha256-46+Ml73F6EUbMwRJB93FD+No/g65RJwnCnFzH4Pb5ek=";
   };
 
   env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -25,15 +28,21 @@ buildPythonPackage rec {
     setuptools-scm
   ];
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [
+    requests
+  ];
 
-  # tests are interacting with the Dexcom API
+  # Tests are interacting with the Dexcom API
   doCheck = false;
-  pythonImportsCheck = [ "pydexcom" ];
+
+  pythonImportsCheck = [
+    "pydexcom"
+  ];
 
   meta = with lib; {
     description = "Python API to interact with Dexcom Share service";
     homepage = "https://github.com/gagebenne/pydexcom";
+    changelog = "https://github.com/gagebenne/pydexcom/releases/tag/${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pydrawise/default.nix b/nixpkgs/pkgs/development/python-modules/pydrawise/default.nix
index 22c281dce3e6..dc36f149a9b1 100644
--- a/nixpkgs/pkgs/development/python-modules/pydrawise/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pydrawise/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pydrawise";
-  version = "2023.10.0";
+  version = "2023.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "dknowles2";
     repo = "pydrawise";
     rev = "refs/tags/${version}";
-    hash = "sha256-CSjYLiOvnm1kFp4DL3w/YmAsDcbaCfLfGT0xUZy+GZ0=";
+    hash = "sha256-gKOyTvdETGzKlpU67UKaHYTIvnAX9znHIynP3BiVbt4=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix b/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix
index 365490a224c5..237570b0e9ca 100644
--- a/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyduotecno/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyduotecno";
-  version = "2023.11.0";
+  version = "2023.11.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = "pyDuotecno";
     rev = "refs/tags/${version}";
-    hash = "sha256-XtNaghYVoE28Dp6YY92SNy0Zw2BxZLYX83EzUSvx/HM=";
+    hash = "sha256-gLP5N07msjuQeeyjbCvZK4TrVyZKUCSSKsjNY5Pa9gQ=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyenphase/default.nix b/nixpkgs/pkgs/development/python-modules/pyenphase/default.nix
index 6e1ab078dd45..ce1e74e3ffcc 100644
--- a/nixpkgs/pkgs/development/python-modules/pyenphase/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyenphase/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "pyenphase";
-  version = "1.14.1";
+  version = "1.14.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "pyenphase";
     repo = "pyenphase";
     rev = "refs/tags/v${version}";
-    hash = "sha256-IK+PaLE2hDLPfxsXqypFXpVYpQH+6VynIq7aGVUZkm4=";
+    hash = "sha256-cjkmRGieSKynL8cZORp11/ViK8oCBAZXrgbFKumWKaM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix b/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix
index 6c7c30fe384d..5ef572c48175 100644
--- a/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyezviz/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyezviz";
-  version = "0.2.2.2";
+  version = "0.2.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "baqs";
     repo = "pyEzviz";
     rev = "refs/tags/${version}";
-    hash = "sha256-YQlPv8YfPbYfpg+4VrLWHOWYJoecuAr3K7JBiogiI/g=";
+    hash = "sha256-HZLWpoo0luAqqwLA3t7cDh0yVP6znrzMoUg7cuexd28=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix b/nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix
index 7df84ea78abd..d33938905753 100644
--- a/nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyfuse3/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ trio ];
 
   preBuild = ''
-    ${python.pythonForBuild.interpreter} setup.py build_cython
+    ${python.pythonOnBuildForHost.interpreter} setup.py build_cython
   '';
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pygame/default.nix b/nixpkgs/pkgs/development/python-modules/pygame/default.nix
index f4ceeb9b978c..5352ef65d7f3 100644
--- a/nixpkgs/pkgs/development/python-modules/pygame/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygame/default.nix
@@ -57,7 +57,7 @@ buildPythonPackage rec {
   ];
 
   preConfigure = ''
-    ${python.pythonForBuild.interpreter} buildconfig/config.py
+    ${python.pythonOnBuildForHost.interpreter} buildconfig/config.py
   '';
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pygeos/default.nix b/nixpkgs/pkgs/development/python-modules/pygeos/default.nix
index f5e0bf87b1d2..a31725a1002b 100644
--- a/nixpkgs/pkgs/development/python-modules/pygeos/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygeos/default.nix
@@ -30,8 +30,8 @@ buildPythonPackage rec {
   # for the package to function. Therefore override of buildPhase was
   # necessary.
   buildPhase = ''
-    ${python.pythonForBuild.interpreter} setup.py build_ext --inplace
-    ${python.pythonForBuild.interpreter} setup.py bdist_wheel
+    ${python.pythonOnBuildForHost.interpreter} setup.py build_ext --inplace
+    ${python.pythonOnBuildForHost.interpreter} setup.py bdist_wheel
   '';
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyglet/default.nix b/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
index e27a5d99f4e5..393ec9f2e4cc 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.9";
+  version = "2.0.10";
   pname = "pyglet";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-oJIuQvLSWFBWeOL0o1XFR2waY1LD86N3VAQt23589y8=";
+    hash = "sha256-JCvrGzvWfFvr3+W6EexWtpathrUMbn8qMX+NeDJWuck=";
     extension = "zip";
   };
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyglm/default.nix b/nixpkgs/pkgs/development/python-modules/pyglm/default.nix
index b98fee9d38db..f5d0d0aa2162 100644
--- a/nixpkgs/pkgs/development/python-modules/pyglm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyglm/default.nix
@@ -1,22 +1,39 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, setuptools
+, pytestCheckHook
 }:
+
 buildPythonPackage rec {
-  pname = "PyGLM";
-  version = "2.7.0";
+  pname = "pyglm";
+  version = "2.7.1";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Zuzu-Typ";
     repo = "PyGLM";
-    rev = "${version}";
-    hash = "sha256-+On4gqfB9hxuINQdcGcrZyOsphfylUNq7tB2uvjsCkE=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-nCkwYZLibQcmlF1Nvv2I6qi+97ue7Q1HVxpw32G5qpo=";
     fetchSubmodules = true;
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "glm"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/Zuzu-Typ/PyGLM";
     description = "An OpenGL Mathematics (GLM) library for Python written in C++";
+    changelog = "https://github.com/Zuzu-Typ/PyGLM/releases/tag/${src.rev}";
     license = licenses.zlib;
     maintainers = with maintainers; [ sund3RRR ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pygls/default.nix b/nixpkgs/pkgs/development/python-modules/pygls/default.nix
index ae10f84995a1..91d7fa7eb519 100644
--- a/nixpkgs/pkgs/development/python-modules/pygls/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygls/default.nix
@@ -3,16 +3,16 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, poetry-core
 , lsprotocol
 , typeguard
-, poetry-core
 , pytest-asyncio
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pygls";
-  version = "1.1.1";
+  version = "1.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "openlawlibrary";
     repo = "pygls";
     rev = "refs/tags/v${version}";
-    hash = "sha256-FOuBS/UJpkYbuIu193vkSpN/77gf+UWiS5f/t8BpAk4=";
+    hash = "sha256-OfLlYTgVCg+oiYww0RjRTjiBwTZBSNqJRryo8gZEmk4=";
   };
 
   nativeBuildInputs = [
@@ -49,9 +49,9 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "pygls" ];
 
   meta = with lib; {
-    changelog = "https://github.com/openlawlibrary/pygls/blob/${src.rev}/CHANGELOG.md";
     description = "Pythonic generic implementation of the Language Server Protocol";
     homepage = "https://github.com/openlawlibrary/pygls";
+    changelog = "https://github.com/openlawlibrary/pygls/blob/${src.rev}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ kira-bruneau ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pygnmi/default.nix b/nixpkgs/pkgs/development/python-modules/pygnmi/default.nix
index 312faf202bb0..a5218555b36b 100644
--- a/nixpkgs/pkgs/development/python-modules/pygnmi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygnmi/default.nix
@@ -6,18 +6,21 @@
 , grpcio
 , protobuf
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pygnmi";
-  version = "0.8.12";
+  version = "0.8.13";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "akarneliuk";
     repo = "pygnmi";
-    rev = "v${version}";
-    sha256 = "sha256-5dAjN/HDFKQmJIjhergBjSmHQKhBxqy/Jneh1pLCHrw=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-NkByimHk1DoBjMMD7ywplo38VxBpp1pnClYUzhtKwY4=";
   };
 
   propagatedBuildInputs = [
@@ -35,11 +38,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pygnmi" ];
+  pythonImportsCheck = [
+    "pygnmi"
+  ];
 
   meta = with lib; {
     description = "Pure Python gNMI client to manage network functions and collect telemetry";
     homepage = "https://github.com/akarneliuk/pygnmi";
+    changelog = "https://github.com/akarneliuk/pygnmi/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pygobject/3.nix b/nixpkgs/pkgs/development/python-modules/pygobject/3.nix
index b8337aea5621..6d5615a780e5 100644
--- a/nixpkgs/pkgs/development/python-modules/pygobject/3.nix
+++ b/nixpkgs/pkgs/development/python-modules/pygobject/3.nix
@@ -57,7 +57,7 @@ buildPythonPackage rec {
     # This is only used for figuring out what version of Python is in
     # use, and related stuff like figuring out what the install prefix
     # should be, but it does need to be able to execute Python code.
-    "-Dpython=${python.pythonForBuild.interpreter}"
+    "-Dpython=${python.pythonOnBuildForHost.interpreter}"
   ];
 
   passthru = {
diff --git a/nixpkgs/pkgs/development/python-modules/pyinstrument/default.nix b/nixpkgs/pkgs/development/python-modules/pyinstrument/default.nix
index 9848af44925d..58fcc8c515ce 100644
--- a/nixpkgs/pkgs/development/python-modules/pyinstrument/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyinstrument/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyinstrument";
-  version = "4.5.3";
+  version = "4.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "joerick";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-rGjHVbIl0kXgscKNZ/U1AU3Ij9Y+iOpIXnmO4jeb3jI=";
+    hash = "sha256-NSE2mZPbKmvlQbBPx0MoqYfAOjmsf9CllX7dxygZfc4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyjnius/default.nix b/nixpkgs/pkgs/development/python-modules/pyjnius/default.nix
index e4cebb02c66d..98496bf4a54b 100644
--- a/nixpkgs/pkgs/development/python-modules/pyjnius/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyjnius/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyjnius";
-  version = "1.6.0";
+  version = "1.6.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-C32+PY9Yu7e+wwyFjz+nibzBwexJMZWOn3uH9F6hQDM=";
+    hash = "sha256-0qfs5u15vx1/l6T21hMC2fHXZSGCo+TIpp267zE5bmA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pymaging/default.nix b/nixpkgs/pkgs/development/python-modules/pymaging/default.nix
deleted file mode 100644
index 8869924bddba..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pymaging/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-}:
-
-buildPythonPackage {
-  pname = "pymaging";
-  version = "unstable-2016-11-16";
-
-  src = fetchFromGitHub {
-    owner = "ojii";
-    repo = "pymaging";
-    rev = "596a08fce5664e58d6e8c96847393fbe987783f2";
-    sha256 = "18g3n7kfrark30l4vzykh0gdbnfv5wb1zvvjbs17sj6yampypn38";
-  };
-
-  meta = with lib; {
-    description = "Pure Python imaging library with Python 2.6, 2.7, 3.1+ support";
-    homepage    = "http://pymaging.rtfd.org";
-    license     = licenses.mit;
-    maintainers = with maintainers; [ mic92 ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pymaging_png/default.nix b/nixpkgs/pkgs/development/python-modules/pymaging_png/default.nix
deleted file mode 100644
index 6d12ddd40062..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pymaging_png/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pymaging
-}:
-
-buildPythonPackage {
-  pname = "pymaging-png";
-  version = "unstable-2016-11-16";
-
-  src = fetchFromGitHub {
-    owner = "ojii";
-    repo = "pymaging-png";
-    rev = "83d85c44e4b2342818e6c068065e031a9f81bb9f";
-    sha256 = "1mknxvsq0lr1ffm8amzm3w2prn043c6ghqgpxlkw83r988p5fn57";
-  };
-
-  propagatedBuildInputs = [ pymaging ];
-
-  meta = with lib; {
-    description = "Pure Python imaging library with Python 2.6, 2.7, 3.1+ support";
-    homepage    = "https://github.com/ojii/pymaging-png/";
-    license     = licenses.mit;
-    maintainers = with maintainers; [ mic92 ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix b/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix
index e511c24fccde..4c8d6aee1e49 100644
--- a/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymediainfo/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pymediainfo";
-  version = "6.0.1";
+  version = "6.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-luBLrA38tya+1wwxSxIZEhxLk0TGapj0Js4n1/mr/7A=";
+    hash = "sha256-GGoLQalFJPCYTQhcprlFx5olRGW3CX8lYNwMBOjR2KU=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pymetno/default.nix b/nixpkgs/pkgs/development/python-modules/pymetno/default.nix
index cab8e0040148..4e16030d9575 100644
--- a/nixpkgs/pkgs/development/python-modules/pymetno/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymetno/default.nix
@@ -3,26 +3,27 @@
 , fetchFromGitHub
 , aiohttp
 , async-timeout
-, pytz
 , xmltodict
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pymetno";
-  version = "0.11.0";
+  version = "0.12.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "PyMetno";
     rev = "refs/tags/${version}";
-    hash = "sha256-NikfHQwVviCKWGfY1atirFVaqWQHfXg8WAgZIDnGn4Q=";
+    hash = "sha256-wRSUIaonjjucLM+A4GsF9Lrq2vZYCquEvblbmjKYpQE=";
   };
 
   propagatedBuildInputs = [
     aiohttp
     async-timeout
-    pytz
     xmltodict
   ];
 
@@ -36,6 +37,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A library to communicate with the met.no API";
     homepage = "https://github.com/Danielhiversen/pyMetno/";
+    changelog = "https://github.com/Danielhiversen/pyMetno/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ flyfloh ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pymunk/default.nix b/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
index 8df9d0c7e918..f649f9bba0ad 100644
--- a/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   ];
 
   preBuild = ''
-    ${python.pythonForBuild.interpreter} setup.py build_ext --inplace
+    ${python.pythonOnBuildForHost.interpreter} setup.py build_ext --inplace
   '';
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix b/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix
index 0d0171b1b066..fb796ab6c331 100644
--- a/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pynndescent/default.nix
@@ -25,14 +25,10 @@ buildPythonPackage rec {
   };
 
   patches = [
-    # Fix sklearn 1.2.0 compat; https://github.com/lmcinnes/pynndescent/issues/207
+    # https://github.com/lmcinnes/pynndescent/pull/224
     (fetchpatch {
-      url = "https://github.com/lmcinnes/pynndescent/commit/00444be2107b71169b853847e7b334623c58a4e3.patch";
-      hash = "sha256-mbe01BwroS5q6hENsj3NejmGGhmk2IeX4LD6Iq6PR0c=";
-    })
-    (fetchpatch {
-      url = "https://github.com/lmcinnes/pynndescent/commit/e56b92776a4a05f2dabb80d25479bd37e7ebd88e.patch";
-      hash = "sha256-zVTaW4syGEHh2HAGPyBN3YXqUGe55v/LxKLX/zjXT5Y=";
+      url = "https://github.com/lmcinnes/pynndescent/commit/86e0d716a3a4d5f4e6a0a3c2952f6fe339524e96.patch";
+      hash = "sha256-dfnT5P9Qsn/nSAr4Ysqo/olbLLfoZXvBRz33yzhN3J4=";
     })
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix b/nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix
index 458cd0afb277..f164e91b7b9d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyorthanc/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyorthanc";
-  version = "1.12.3";
+  version = "1.13.1";
   disabled = pythonOlder "3.8";
 
   format = "pyproject";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gacou54";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-9+HP95OsJIXsLy+6m6fWECU3jXxY++C3wQJBcqnC+H0=";
+    hash = "sha256-LahLR+LbppcPKs0gPT2lEP48XG6pbGMvCBW/EwAIFDQ=";
   };
 
   nativeBuildInputs = [ pythonRelaxDepsHook poetry-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
index c9d4922501e3..29c131a12f9f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyoverkiz/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyoverkiz";
-  version = "1.12.1";
+  version = "1.13.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "iMicknl";
     repo = "python-overkiz-api";
     rev = "refs/tags/v${version}";
-    hash = "sha256-PmdCFeKk2Lz9sKDKcRqNkItpASIaFs9hvGvA1gE1c0E=";
+    hash = "sha256-55oqrVjvbdwNn5S3YQVU3saWtFHhoUCcyW9VzXs87YM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/pypandoc/default.nix b/nixpkgs/pkgs/development/python-modules/pypandoc/default.nix
index ac7f88d48575..ad81b8e7f068 100644
--- a/nixpkgs/pkgs/development/python-modules/pypandoc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pypandoc/default.nix
@@ -6,7 +6,7 @@
 , poetry-core
 , pythonOlder
 , substituteAll
-, texlive
+, texliveSmall
 }:
 
 buildPythonPackage rec {
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    texlive.combined.scheme-small
+    texliveSmall
     pandocfilters
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyparted/default.nix b/nixpkgs/pkgs/development/python-modules/pyparted/default.nix
index 4d473ae094d8..84d8439a5360 100644
--- a/nixpkgs/pkgs/development/python-modules/pyparted/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyparted/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , buildPythonPackage
 , isPyPy
 , pkgs
 , python
 , six
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -31,31 +31,14 @@ buildPythonPackage rec {
       tests/test__ped_ped.py
   '';
 
-  patches = [
-    ./fix-test-pythonpath.patch
-    (fetchpatch {
-      url = "https://github.com/dcantrell/pyparted/commit/07ba882d04fa2099b53d41370416b97957d2abcb.patch";
-      hash = "sha256-yYfLdy+TOKfN3gtTMgOWPebPTRYyaOYh/yFTowCbdjg=";
-    })
-    (fetchpatch {
-      url = "https://github.com/dcantrell/pyparted/commit/a01b4eeecf63b0580c192c7c2db7a5c406a7ad6d.patch";
-      hash = "sha256-M/8hYiKUBzaTOxPYDFK5BAvCm6WJGx+693qwj3HzdRA=";
-    })
-  ];
-
   preConfigure = ''
     PATH="${pkgs.parted}/sbin:$PATH"
   '';
 
   nativeBuildInputs = [ pkgs.pkg-config ];
-  nativeCheckInputs = [ six ];
+  nativeCheckInputs = [ six pytestCheckHook ];
   propagatedBuildInputs = [ pkgs.parted ];
 
-  checkPhase = ''
-    patchShebangs Makefile
-    make test PYTHON=${python.executable}
-  '';
-
   meta = with lib; {
     homepage = "https://github.com/dcantrell/pyparted/";
     description = "Python interface for libparted";
diff --git a/nixpkgs/pkgs/development/python-modules/pyparted/fix-test-pythonpath.patch b/nixpkgs/pkgs/development/python-modules/pyparted/fix-test-pythonpath.patch
deleted file mode 100644
index 740bffbef6d8..000000000000
--- a/nixpkgs/pkgs/development/python-modules/pyparted/fix-test-pythonpath.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -ur a/Makefile b/Makefile
---- a/Makefile	1980-01-02 00:00:00.000000000 +0100
-+++ b/Makefile	2020-02-18 20:04:14.068243263 +0100
-@@ -39,19 +39,19 @@
- 	@$(PYTHON) setup.py build
- 
- test: all
--	@env PYTHONPATH=$$(find $$(pwd) -name "*.so" | head -n 1 | xargs dirname):src/parted:src \
-+	@env PYTHONPATH=$$(find $$(pwd) -name "*.so" | head -n 1 | xargs dirname):src/parted:src:$$PYTHONPATH \
- 	$(PYTHON) -m unittest discover -v
- 
- coverage: all
- 	@echo "*** Running unittests with $(COVERAGE) for $(PYTHON) ***"
--	@env PYTHONPATH=$$(find $$(pwd) -name "*.so" | head -n 1 | xargs dirname):src/parted:src \
-+	@env PYTHONPATH=$$(find $$(pwd) -name "*.so" | head -n 1 | xargs dirname):src/parted:src:$$PYTHONPATH \
- 	$(COVERAGE) run --branch -m unittest discover -v
- 	$(COVERAGE) report --include="build/lib.*/parted/*" --show-missing
- 	$(COVERAGE) report --include="build/lib.*/parted/*" > coverage-report.log
- 
- check: clean
- 	env PYTHON=python3 $(MAKE) ; \
--	env PYTHON=python3 PYTHONPATH=$$(find $$(pwd) -name "*.so" | head -n 1 | xargs dirname):src/parted:src \
-+	env PYTHON=python3 PYTHONPATH=$$(find $$(pwd) -name "*.so" | head -n 1 | xargs dirname):src/parted:src:$$PYTHONPATH \
- 	tests/pylint/runpylint.py
- 
- dist:
diff --git a/nixpkgs/pkgs/development/python-modules/pyperf/default.nix b/nixpkgs/pkgs/development/python-modules/pyperf/default.nix
index fc87620c6b9c..16ff853422bf 100644
--- a/nixpkgs/pkgs/development/python-modules/pyperf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyperf/default.nix
@@ -1,30 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , pythonOlder
 , psutil
 , unittestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pyperf";
-  version = "2.6.1";
-  format = "setuptools";
+  version = "2.6.2";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Fxrqabjv3mEhDlEhZth2Tndlqcdni3aAUhdLAfNJ8kc=";
+    hash = "sha256-ZNj63OanT0ePKYMsHqoqBIVmVev/FyktUjf8gxfDo8U=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-pythonpath-in-tests.patch";
-      url = "https://github.com/psf/pyperf/commit/d373c5e56c0257d2d7abd705b676bea25cf66566.patch";
-      hash = "sha256-2q1fTf+uU3qj3BG8P5otX4f7mSTnQxm4sfmmgIUuszA=";
-    })
+  nativeBuildInputs = [
+    setuptools
   ];
 
   propagatedBuildInputs = [
@@ -35,12 +31,21 @@ buildPythonPackage rec {
     unittestCheckHook
   ];
 
-  unittestFlagsArray = [ "-s" "pyperf/tests/" "-v" ];
+  unittestFlagsArray = [
+    "-s"
+    "pyperf/tests/"
+    "-v"
+  ];
+
+  pythonImportsCheck = [
+    "pyperf"
+  ];
 
   meta = with lib; {
     description = "Python module to generate and modify perf";
     homepage = "https://pyperf.readthedocs.io/";
+    changelog = "https://github.com/psf/pyperf/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = [ ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix b/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
index 12d2ea182af0..c514b9f83584 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqt/5.x.nix
@@ -12,6 +12,7 @@
 , pyqt5_sip
 , pyqt-builder
 , libsForQt5
+, enableVerbose ? true
 , withConnectivity ? false
 , withMultimedia ? false
 , withWebKit ? false
@@ -19,6 +20,9 @@
 , withLocation ? false
 , withSerialPort ? false
 , withTools ? false
+, pkgsBuildTarget
+, buildPackages
+, dbusSupport ? !stdenv.isDarwin
 }:
 
 buildPythonPackage rec {
@@ -45,6 +49,7 @@ buildPythonPackage rec {
   # be more verbose
   ''
     cat >> pyproject.toml <<EOF
+  '' + lib.optionalString enableVerbose ''
     [tool.sip.project]
     verbose = true
   ''
@@ -55,6 +60,37 @@ buildPythonPackage rec {
     minimum-macos-version = "11.0"
   '' + ''
     EOF
+  ''
+
+  # pyqt-builder tries to compile *and run* these programs.  This
+  # is really sad because the only thing they do is print out a
+  # flag based on whether or not some compile-time symbol was
+  # defined.  This could all be done without having to *execute*
+  # cross-compiled programs!
+  #
+  # Here is the complete list of things checked:
+  #
+  # QT_NO_PRINTDIALOG                                                           => PyQt_PrintDialog
+  # QT_NO_PRINTER                                                               => PyQt_Printer
+  # QT_NO_PRINTPREVIEWDIALOG                                                    => PyQt_PrintPreviewDialog
+  # QT_NO_PRINTPREVIEWWIDGET                                                    => PyQt_PrintPreviewWidget
+  # QT_NO_SSL                                                                   => PyQt_SSL
+  # QT_SHARED || QT_DLL                                                         => shared (otherwise static)
+  # QT_NO_PROCESS                                                               => PyQt_Process
+  # QT_NO_FPU || Q_PROCESSOR_ARM || Q_OS_WINCE                                  => PyQt_qreal_double
+  # sizeof (qreal) != sizeof (double)                                           => PyQt_qreal_double
+  # !Q_COMPILER_CONSTEXPR !Q_COMPILER_UNIFORM_INIT                              => PyQt_CONSTEXPR
+  # QT_NO_ACCESSIBILITY                                                         => PyQt_Accessibility
+  # QT_NO_OPENGL                                                                => PyQt_OpenGL PyQt_Desktop_OpenGL
+  # defined(QT_OPENGL_ES) || defined(QT_OPENGL_ES_2) || defined(QT_OPENGL_ES_3) => PyQt_Desktop_OpenGL
+  # QT_NO_RAWFONT                                                               => PyQt_RawFont
+  # QT_NO_SESSIONMANAGER                                                        => PyQt_SessionManager
+  #
+  + lib.optionalString (!(stdenv.buildPlatform.canExecute stdenv.hostPlatform)) ''
+    rm config-tests/cfgtest_QtCore.cpp
+    rm config-tests/cfgtest_QtGui.cpp
+    rm config-tests/cfgtest_QtNetwork.cpp
+    rm config-tests/cfgtest_QtPrintSupport.cpp
   '';
 
   enableParallelBuilding = true;
@@ -68,16 +104,27 @@ buildPythonPackage rec {
     export MAKEFLAGS+="''${enableParallelBuilding:+-j$NIX_BUILD_CORES}"
   '';
 
+  # tons of warnings from subpackages, no point in playing whack-a-mole
+  env = lib.optionalAttrs (!enableVerbose) {
+    NIX_CFLAGS_COMPILE = "-w";
+  };
+
   outputs = [ "out" "dev" ];
 
   dontWrapQtApps = true;
 
-  nativeBuildInputs = with libsForQt5; [
+  nativeBuildInputs = [
     pkg-config
-    qmake
+  ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [
+    libsForQt5.qmake
+  ] ++ [
     setuptools
     lndir
     sip
+  ] ++ (with pkgsBuildTarget.targetPackages.libsForQt5; [
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    qmake
+  ] ++ [
     qtbase
     qtsvg
     qtdeclarative
@@ -90,11 +137,13 @@ buildPythonPackage rec {
     ++ lib.optional withLocation qtlocation
     ++ lib.optional withSerialPort qtserialport
     ++ lib.optional withTools qttools
-  ;
+  );
 
   buildInputs = with libsForQt5; [
     dbus
+  ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [
     qtbase
+  ] ++ [
     qtsvg
     qtdeclarative
     pyqt-builder
diff --git a/nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix b/nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix
index 7ad39633b7e5..9dc076a5e8d1 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix
@@ -1,13 +1,14 @@
 { lib, stdenv, pythonPackages, fetchPypi, pkg-config
-, qmake, qtbase, qtsvg, qtwebengine
+, qmake, qtbase, qtsvg, qtwebengine, qtwebchannel, qtdeclarative
 , wrapQtAppsHook
 , darwin
+, buildPackages
 }:
 
 let
   inherit (pythonPackages) buildPythonPackage python isPy27 pyqt5 sip pyqt-builder;
   inherit (darwin) autoSignDarwinBinariesHook;
-in buildPythonPackage rec {
+in buildPythonPackage (rec {
   pname = "PyQtWebEngine";
   version = "5.15.4";
   format = "pyproject";
@@ -29,12 +30,18 @@ in buildPythonPackage rec {
   nativeBuildInputs = [
     pkg-config
     qmake
+  ] ++ lib.optionals (stdenv.buildPlatform == stdenv.hostPlatform) [
     sip
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    python.pythonOnBuildForHost.pkgs.sip
+  ] ++ [
     qtbase
     qtsvg
     qtwebengine
     pyqt-builder
     pythonPackages.setuptools
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    qtdeclarative
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     autoSignDarwinBinariesHook
   ];
@@ -44,6 +51,9 @@ in buildPythonPackage rec {
     qtbase
     qtsvg
     qtwebengine
+  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    qtwebchannel
+    qtdeclarative
   ];
 
   propagatedBuildInputs = [ pyqt5 ];
@@ -71,6 +81,13 @@ in buildPythonPackage rec {
     description = "Python bindings for Qt5";
     homepage    = "http://www.riverbankcomputing.co.uk";
     license     = licenses.gpl3;
-    platforms   = lib.lists.intersectLists qtwebengine.meta.platforms platforms.mesaPlatforms;
+    hydraPlatforms = lib.lists.intersectLists qtwebengine.meta.platforms platforms.mesaPlatforms;
   };
-}
+} // lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
+  # TODO: figure out why the env hooks aren't adding these inclusions automatically
+  env.NIX_CFLAGS_COMPILE =
+    lib.concatStringsSep " " [
+      "-I${lib.getDev qtbase}/include/QtPrintSupport/"
+      "-I${lib.getDev qtwebchannel}/include/QtWebChannel/"
+    ];
+})
diff --git a/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix b/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix
index 1f616e00acbe..1ed1b31b5d57 100644
--- a/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyreadstat/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyreadstat";
-  version = "1.2.3";
+  version = "1.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Roche";
     repo = "pyreadstat";
     rev = "refs/tags/v${version}";
-    hash = "sha256-Rd2nHsEYfr1I5gu2+iXIdHKvF/QgMD+vK6SIK/ytrmo=";
+    hash = "sha256-+wa8HxQyEwdGF2LWJXTZ/gOFpC8P9+k5p4Lj3ePP2n8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyscard/default.nix b/nixpkgs/pkgs/development/python-modules/pyscard/default.nix
index cfa2f64c38b3..6e7a1ec29cbe 100644
--- a/nixpkgs/pkgs/development/python-modules/pyscard/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyscard/default.nix
@@ -1,10 +1,13 @@
 { lib
 , stdenv
-, fetchPypi
+, fetchFromGitHub
 , buildPythonPackage
+, setuptools
+, pkg-config
 , swig
 , pcsclite
 , PCSC
+, pytestCheckHook
 }:
 
 let
@@ -15,27 +18,44 @@ in
 buildPythonPackage rec {
   version = "2.0.7";
   pname = "pyscard";
+  pyproject = true;
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-J4BUUl+nX76LEEYNh+3NA6cK2U1oixE0Xkc5mH+Fwb8=";
+  src = fetchFromGitHub {
+    owner = "LudovicRousseau";
+    repo = "pyscard";
+    rev = "refs/tags/${version}";
+    hash = "sha256-nkDI1OPQ4SsNhWkg53ZTsG7j0+mvpkJI7dsyaOl1a/8=";
   };
 
-  postPatch = if withApplePCSC then ''
-    substituteInPlace smartcard/scard/winscarddll.c \
-      --replace "/System/Library/Frameworks/PCSC.framework/PCSC" \
-                "${PCSC}/Library/Frameworks/PCSC.framework/PCSC"
-  '' else ''
-    substituteInPlace smartcard/scard/winscarddll.c \
-      --replace "libpcsclite.so.1" \
-                "${lib.getLib pcsclite}/lib/libpcsclite${stdenv.hostPlatform.extensions.sharedLibrary}"
-  '';
+  nativeBuildInputs = [
+    setuptools
+    swig
+  ] ++ lib.optionals (!withApplePCSC) [
+    pkg-config
+  ];
+
+  buildInputs = if withApplePCSC then [ PCSC ] else [ pcsclite ];
 
-  env.NIX_CFLAGS_COMPILE = lib.optionalString (! withApplePCSC)
-    "-I ${lib.getDev pcsclite}/include/PCSC";
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
 
-  propagatedBuildInputs = if withApplePCSC then [ PCSC ] else [ pcsclite ];
-  nativeBuildInputs = [ swig ];
+  postPatch =
+    if withApplePCSC then ''
+      substituteInPlace smartcard/scard/winscarddll.c \
+        --replace "/System/Library/Frameworks/PCSC.framework/PCSC" \
+                  "${PCSC}/Library/Frameworks/PCSC.framework/PCSC"
+    '' else ''
+      substituteInPlace setup.py --replace "pkg-config" "$PKG_CONFIG"
+      substituteInPlace smartcard/scard/winscarddll.c \
+        --replace "libpcsclite.so.1" \
+                  "${lib.getLib pcsclite}/lib/libpcsclite${stdenv.hostPlatform.extensions.sharedLibrary}"
+    '';
+
+  preCheck = ''
+    # remove src module, so tests use the installed module instead
+    rm -r smartcard
+  '';
 
   meta = with lib; {
     homepage = "https://pyscard.sourceforge.io/";
diff --git a/nixpkgs/pkgs/development/python-modules/pyside2/default.nix b/nixpkgs/pkgs/development/python-modules/pyside2/default.nix
index 5dfa7fb823fa..1d4cf2ce6038 100644
--- a/nixpkgs/pkgs/development/python-modules/pyside2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyside2/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     cd ../../..
-    ${python.pythonForBuild.interpreter} setup.py egg_info --build-type=pyside2
+    ${python.pythonOnBuildForHost.interpreter} setup.py egg_info --build-type=pyside2
     cp -r PySide2.egg-info $out/${python.sitePackages}/
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/pyside6/default.nix b/nixpkgs/pkgs/development/python-modules/pyside6/default.nix
index e03516742527..17e98a85089d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyside6/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyside6/default.nix
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     cd ../../..
-    ${python.pythonForBuild.interpreter} setup.py egg_info --build-type=pyside6
+    ${python.pythonOnBuildForHost.interpreter} setup.py egg_info --build-type=pyside6
     cp -r PySide6.egg-info $out/${python.sitePackages}/
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/pysmart/default.nix b/nixpkgs/pkgs/development/python-modules/pysmart/default.nix
index fc21919a63ab..3edc3b57cc4d 100644
--- a/nixpkgs/pkgs/development/python-modules/pysmart/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysmart/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pysmart";
-  version = "1.2.5";
+  version = "1.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "truenas";
     repo = "py-SMART";
-    rev = "v${version}";
-    hash = "sha256-NqE7Twl1kxXrASyxw35xIOTB+LThU0a45NCxh8SUxfI=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-1k+5XnIT/AfZmzKUxkyU/uc0eW05CvugpY6OdJCoALc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/pysml/default.nix b/nixpkgs/pkgs/development/python-modules/pysml/default.nix
index c6ff75aa9014..67dae25bdd02 100644
--- a/nixpkgs/pkgs/development/python-modules/pysml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysml/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pysml";
-  version = "0.1.0";
+  version = "0.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "mtdcr";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-m1dh607hFqcd4CXWiMfGDmI5s8A0UkdyPzq/V+5OUto=";
+    hash = "sha256-BtOx/kqPuvaaIyh/2/X5pW5BRvpsnMUMr1u6iZzbkt4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pysptk/default.nix b/nixpkgs/pkgs/development/python-modules/pysptk/default.nix
index e1d3a631549d..36d86db14450 100644
--- a/nixpkgs/pkgs/development/python-modules/pysptk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysptk/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pysptk";
-  version = "0.2.1";
+  version = "0.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dFqNWJRDDTlvveZVv3WWUi+KJ8sey4N0qRuBcqmkWIM=";
+    hash = "sha256-QUgBA/bchWTaJ54u/ubcRfoVcDeV77wSnHOjkgfVauE=";
   };
 
   PYSPTK_BUILD_VERSION = 0;
diff --git a/nixpkgs/pkgs/development/python-modules/pysuez/default.nix b/nixpkgs/pkgs/development/python-modules/pysuez/default.nix
new file mode 100644
index 000000000000..34f6de519266
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pysuez/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, requests
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pysuez";
+  version = "0.2.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "ooii";
+    repo = "pySuez";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-Xgd0E/oFO2yyytBjuwr1vDJfKWC0Iw8P6GStCuCni/g=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pysuez"
+  ];
+
+  meta = with lib; {
+    description = "Module to get water consumption data from Suez";
+    homepage = "https://github.com/ooii/pySuez";
+    changelog = "https://github.com/ooii/pySuez/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pysvn/default.nix b/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
index 33daf6af75df..92d76cb06dcd 100644
--- a/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pysvn/default.nix
@@ -37,8 +37,8 @@ buildPythonPackage rec {
 
   preConfigure = ''
     cd Source
-    ${python.pythonForBuild.interpreter} setup.py backport
-    ${python.pythonForBuild.interpreter} setup.py configure \
+    ${python.pythonOnBuildForHost.interpreter} setup.py backport
+    ${python.pythonOnBuildForHost.interpreter} setup.py configure \
       --apr-inc-dir=${apr.dev}/include \
       --apu-inc-dir=${aprutil.dev}/include \
       --pycxx-dir=${pycxx.dev}/include \
diff --git a/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix b/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
index de8736efedf8..5a99cbb62ee7 100644
--- a/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pyswitchbot";
-  version = "0.40.1";
+  version = "0.41.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     rev = "refs/tags/${version}";
-    hash = "sha256-qKNsXN9nc3YS1gRNPPQUBgXDs01/rhdtRz707cfaYx8=";
+    hash = "sha256-n4hTS3LnS8AOr1VNSqcVYul/qiTiLvI2bsOJJLbKA3E=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytapo/default.nix b/nixpkgs/pkgs/development/python-modules/pytapo/default.nix
index b0893b5d204e..6cbde872a48f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytapo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytapo/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pytapo";
-  version = "3.2.18";
+  version = "3.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-z3HD7sjDg8dMNpd93PiN+nSzKTVCw+OJnfKX07e1+sg=";
+    hash = "sha256-kY1tPkzmUN5eb6YeUp/WSVmDloVSJbM5TXEFyfoXc/g=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
index 847fcd435525..8fe421cd9328 100644
--- a/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytenable/default.nix
@@ -14,13 +14,14 @@
 , responses
 , restfly
 , semver
+, setuptools
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "pytenable";
   version = "1.4.13";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -31,6 +32,10 @@ buildPythonPackage rec {
     hash = "sha256-UY3AFnPplmU0jrV4LIKH4+2tcJEFkKMqO2GWVkgaHYE=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     defusedxml
     marshmallow
@@ -50,12 +55,20 @@ buildPythonPackage rec {
     responses
   ];
 
+  disabledTestPaths = [
+    # Disable tests that requires network access
+    "tests/io/"
+  ];
+
   disabledTests = [
     # Disable tests that requires a Docker container
     "test_uploads_docker_push_name_typeerror"
     "test_uploads_docker_push_tag_typeerror"
     "test_uploads_docker_push_cs_name_typeerror"
     "test_uploads_docker_push_cs_tag_typeerror"
+    # Test requires network access
+    "test_assets_list_vcr"
+    "test_events_list_vcr"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
index 4fbfb942edda..3b1def125e0f 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
@@ -1,10 +1,9 @@
-{ stdenv
-, lib
-, buildPythonPackage
-, fetchFromGitHub
+{ lib
+, stdenv
 , ansible-core
+, buildPythonPackage
 , coreutils
-, coverage
+, fetchFromGitHub
 , pytest
 , pytestCheckHook
 , pythonOlder
@@ -15,16 +14,16 @@
 
 buildPythonPackage rec {
   pname = "pytest-ansible";
-  version = "4.1.0";
+  version = "4.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "ansible";
-    repo = pname;
+    repo = "pytest-ansible";
     rev = "refs/tags/v${version}";
-    hash = "sha256-TV/dR4eTiwjrgamwRCig10acaf3MpAzLu0fHF0V2pzw=";
+    hash = "sha256-51DQ+NwD454XaYLuRxriuWRZ8uTSX3ZpadXdxs7FspQ=";
   };
 
   postPatch = ''
@@ -49,7 +48,6 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    coverage
     pytestCheckHook
   ];
 
@@ -74,7 +72,10 @@ buildPythonPackage rec {
     "test_param_override_with_marker"
   ];
 
-  disabledTestPaths = lib.optionals stdenv.isDarwin [
+  disabledTestPaths = [
+    # Test want s to execute pytest in a subprocess
+    "tests/integration/test_molecule.py"
+  ] ++ lib.optionals stdenv.isDarwin [
     # These tests fail in the Darwin sandbox
     "tests/test_adhoc.py"
     "tests/test_adhoc_result.py"
@@ -85,7 +86,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Plugin for py.test to simplify calling ansible modules from tests or fixtures";
+    description = "Plugin for pytest to simplify calling ansible modules from tests or fixtures";
     homepage = "https://github.com/jlaska/pytest-ansible";
     changelog = "https://github.com/ansible-community/pytest-ansible/releases/tag/v${version}";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-json-report/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-json-report/default.nix
index 335f2de30a84..f3b556699e8b 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-json-report/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-json-report/default.nix
@@ -6,22 +6,27 @@
 , pytest-xdist
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "pytest-json-report";
   version = "1.5.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "numirias";
-    repo = pname;
-    rev = "v${version}";
+    repo = "pytest-json-report";
+    rev = "refs/tags/v${version}";
     hash = "sha256-hMB/atDuo7CjwhHFUOxVfgJ7Qp4AA9J428iv7hyQFcs=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   buildInputs = [
     pytest
   ];
@@ -38,6 +43,7 @@ buildPythonPackage rec {
   disabledTests = [
     # pytest-flaky is not available at the moment
     "test_bug_31"
+    "test_environment_via_metadata_plugin"
   ];
 
   pythonImportsCheck = [
@@ -47,6 +53,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Pytest plugin to report test results as JSON";
     homepage = "https://github.com/numirias/pytest-json-report";
+    changelog = "https://github.com/numirias/pytest-json-report/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
index 28f45c02dd80..3c0b0ec629b4 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-testmon/default.nix
@@ -10,16 +10,16 @@
 
 buildPythonPackage rec {
   pname = "pytest-testmon";
-  version = "2.0.13";
+  version = "2.1.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "tarpas";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-WJ0Br8O7p5Zru4Fr9+adXp5qjR7sZxBZVtBJghecm9E=";
+    hash = "sha256-M4636yqzChRI37UdGPOZTjj8POLdrOoJtzmECtZZi4k=";
   };
 
   nativeBuildInputs = [
@@ -45,7 +45,7 @@ buildPythonPackage rec {
     description = "Pytest plug-in which automatically selects and re-executes only tests affected by recent changes";
     homepage = "https://github.com/tarpas/pytest-testmon/";
     changelog = "https://github.com/tarpas/pytest-testmon/releases/tag/v${version}";
-    license = licenses.agpl3Only;
+    license = licenses.mit;
     maintainers = with maintainers; [ dmvianna ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/python-arango/default.nix b/nixpkgs/pkgs/development/python-modules/python-arango/default.nix
index 20a4819948ad..2949b8b7ea9d 100644
--- a/nixpkgs/pkgs/development/python-modules/python-arango/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-arango/default.nix
@@ -32,7 +32,7 @@ in
 
 buildPythonPackage rec {
   pname = "python-arango";
-  version = "7.6.2";
+  version = "7.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     owner = "ArangoDB-Community";
     repo = "python-arango";
     rev = "refs/tags/${version}";
-    hash = "sha256-1n+3Rl945NQ3Ugd6UKhN429vTz1ky2Qr43fI0TrgrBU=";
+    hash = "sha256-lZ+9l1kPE/Piw1QLYW+qjFQmTtZd4m/kDOTOxkTsla0=";
   };
 
   env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/python-docs-theme/default.nix b/nixpkgs/pkgs/development/python-modules/python-docs-theme/default.nix
new file mode 100644
index 000000000000..464697c35bfa
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/python-docs-theme/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flit-core
+, pythonOlder
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "python-docs-theme";
+  version = "2023.9";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "python";
+    repo = "python-docs-theme";
+    rev = "refs/tags/${version}";
+    hash = "sha256-XVwMEfprTNdNnaW38HMCAu4CswdVjBXYtNWBgqXfbno=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = [
+   sphinx
+  ];
+
+  pythonImportsCheck = [
+    "python_docs_theme"
+  ];
+
+  meta = with lib; {
+    description = "Sphinx theme for CPython project";
+    homepage = "https://github.com/python/python-docs-theme";
+    changelog = "https://github.com/python/python-docs-theme/blob/${version}/CHANGELOG.rst";
+    license = licenses.psfl;
+    maintainers = with maintainers; [ kaction ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/python-efl/default.nix b/nixpkgs/pkgs/development/python-modules/python-efl/default.nix
index 972bbca9c414..d4a2ca1dd6b5 100644
--- a/nixpkgs/pkgs/development/python-modules/python-efl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-efl/default.nix
@@ -31,11 +31,11 @@ buildPythonPackage rec {
   '';
 
   preBuild = ''
-    ${python.pythonForBuild.interpreter} setup.py build_ext
+    ${python.pythonOnBuildForHost.interpreter} setup.py build_ext
   '';
 
   installPhase = ''
-    ${python.pythonForBuild.interpreter} setup.py install --prefix=$out --single-version-externally-managed
+    ${python.pythonOnBuildForHost.interpreter} setup.py install --prefix=$out --single-version-externally-managed
   '';
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/python-fontconfig/default.nix b/nixpkgs/pkgs/development/python-modules/python-fontconfig/default.nix
index 45c94cdb83b3..9a1416e0dbd6 100644
--- a/nixpkgs/pkgs/development/python-modules/python-fontconfig/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-fontconfig/default.nix
@@ -17,7 +17,7 @@ in buildPythonPackage rec {
   nativeBuildInputs = [ cython ];
 
   preBuild = ''
-    ${python.pythonForBuild.interpreter} setup.py build_ext -i
+    ${python.pythonOnBuildForHost.interpreter} setup.py build_ext -i
   '';
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-frontmatter/default.nix b/nixpkgs/pkgs/development/python-modules/python-frontmatter/default.nix
index 1019b058e11e..4670d58420bb 100644
--- a/nixpkgs/pkgs/development/python-modules/python-frontmatter/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-frontmatter/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "python-frontmatter";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "eyeseast";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0flyh2pb0z4lq66dmmsgyakvg11yhkp4dk7qnzanl34z7ikp97bx";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-lkBCKZ1fZF580+4TnHYkfaGJjsWk7/Ksnk7VagZuef8=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix b/nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix
index af0671279ab1..e4ff8f1e7e51 100644
--- a/nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-jenkins/default.nix
@@ -7,7 +7,7 @@
 , pyyaml
 , setuptools
 , six
-, multi_key_dict
+, multi-key-dict
 , testscenarios
 , requests
 , requests-mock
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "python-jenkins";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/18dklOdkD+GmwLq8rExREfm1tePdn7c/dkpZ9UyucY=";
+    hash = "sha256-VufauwYHvbjh1vxtLUMBq+2+2RZdorIG+svTBxy27ss=";
   };
 
   # test uses timeout mechanism unsafe for use with the "spawn"
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   ];
 
   buildInputs = [ mock ];
-  propagatedBuildInputs = [ pbr pyyaml setuptools six multi_key_dict requests ];
+  propagatedBuildInputs = [ pbr pyyaml setuptools six multi-key-dict requests ];
 
   __darwinAllowLocalNetworking = true;
 
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix
index 07a389268e77..eae9047c9f9d 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-ruff/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-ruff";
-  version = "1.5.2";
+  version = "1.6.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit version;
     pname = "python-lsp-ruff";
-    sha256 = "sha256-7vilIo1PHgHZ6yaRxTVt/bPwGt9g7rGvrq84eyIDIBw=";
+    sha256 = "sha256-vf3ZNZyen1W29qk4ST1sus5VTcys9F3067NlUr406bg=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
index 4886ba27bad6..763154732943 100644
--- a/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -35,7 +35,7 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-server";
-  version = "1.8.2";
+  version = "1.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -44,7 +44,7 @@ buildPythonPackage rec {
     owner = "python-lsp";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-jD/8Xy/o9U/qtjz5FABg5krMIvbnrT+MlK0OvXFTJkI=";
+    hash = "sha256-9za0et/W+AwrjqUVoHwk8oqLXk4eqgRON8Z4F5GSKXM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix b/nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix
index c2484a8857dd..9de9819e8840 100644
--- a/nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-on-whales/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "python-on-whales";
-  version = "0.65.0";
+  version = "0.66.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gabrieldemarmiesse";
     repo = "python-on-whales";
     rev = "refs/tags/v${version}";
-    hash = "sha256-aFE4qeNMSxhHs7IAjYQYl15s4NkHH8balTV3N0obNPs=";
+    hash = "sha256-Y18NospSDcr9K93xS24vKTnrT8DT1GPRX78clZB040E=";
   };
 
   nativeBuildInputs = [ setuptools ];
diff --git a/nixpkgs/pkgs/development/python-modules/python-pptx/default.nix b/nixpkgs/pkgs/development/python-modules/python-pptx/default.nix
index d783efa71425..e49dccec8206 100644
--- a/nixpkgs/pkgs/development/python-modules/python-pptx/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-pptx/default.nix
@@ -7,11 +7,11 @@
 }:
 buildPythonPackage rec {
   pname = "python-pptx";
-  version = "0.6.22";
+  version = "0.6.23";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OPjukt3jHSS0ViVg5hsDV+XZfs91xDUq5mFtWjKXhlQ=";
+    hash = "sha256-WHSX/yjneasY27B09tQFKJPIXe3JXtdd8xk2TzMf7e4=";
   };
 
   # postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix b/nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix
index 418ce7c7928a..afe1451042b6 100644
--- a/nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-smarttub/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "python-smarttub";
-  version = "0.0.34";
+  version = "0.0.36";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mdz";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-PFlVxSxGcbqvA1cQZkKLtrmg+Dere4B1VCUzIU8RaI8=";
+    hash = "sha256-cng19NW5Eq3arysl0B3dfK2Hy6lQFBFh7g2hxvxeklU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix b/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix
index 44deb68dc6d9..3f73bf1e5a94 100644
--- a/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-songpal/default.nix
@@ -12,17 +12,17 @@
 
 buildPythonPackage rec {
   pname = "python-songpal";
-  version = "0.15.2";
+  version = "0.16";
 
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "rytilahti";
     repo = "python-songpal";
     rev = "refs/tags/release/${version}";
-    hash = "sha256-bAlMOxX4rx4URk+xvlte7l005i3H0VDaH67AWMdhTeY=";
+    hash = "sha256-wHyq63RG0lhzG33ssWyvzLjc7s1OqquXMN26N2MBHU8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-telegram/default.nix b/nixpkgs/pkgs/development/python-modules/python-telegram/default.nix
index 405f74bebda8..50a14d6ccc27 100644
--- a/nixpkgs/pkgs/development/python-modules/python-telegram/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-telegram/default.nix
@@ -1,11 +1,12 @@
 { lib
 , stdenv
-, fetchpatch
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
 , setuptools
 , tdlib
+, telegram-text
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -13,30 +14,33 @@ buildPythonPackage rec {
   version = "0.18.0";
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-UbJW/op01qe/HchfJUlBPBY9/W8NbZkEmFM8gZ5+EmI=";
+  src = fetchFromGitHub {
+    owner = "alexander-akhmetov";
+    repo = "python-telegram";
+    rev = version;
+    hash = "sha256-2Q0nUZ2TMVWznd05+fqYojkRn4xfFZJrlqb1PMuBsAY=";
   };
 
-  patches = [
-    # Search for the system library first, and fallback to the embedded one if the system was not found
-    (fetchpatch {
-      url = "https://github.com/alexander-akhmetov/python-telegram/commit/b0af0985910ebb8940cff1b92961387aad683287.patch";
-      hash = "sha256-ZqsntaiC2y9l034gXDMeD2BLO/RcsbBII8FomZ65/24=";
-    })
-  ];
-
   postPatch = ''
     # Remove bundled libtdjson
     rm -fr telegram/lib
 
     substituteInPlace telegram/tdjson.py \
-      --replace "ctypes.util.find_library(\"libtdjson\")" \
+      --replace "ctypes.util.find_library(\"tdjson\")" \
                 "\"${tdlib}/lib/libtdjson${stdenv.hostPlatform.extensions.sharedLibrary}\""
   '';
 
   propagatedBuildInputs = [
     setuptools
+    telegram-text
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    "TestGetTdjsonTdlibPath"
   ];
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/python-twitch-client/default.nix b/nixpkgs/pkgs/development/python-modules/python-twitch-client/default.nix
index b069de34c3f4..29a10ced06f2 100644
--- a/nixpkgs/pkgs/development/python-modules/python-twitch-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-twitch-client/default.nix
@@ -5,32 +5,50 @@
 , pythonOlder
 , requests
 , responses
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "python-twitch-client";
   version = "0.7.1";
+  pyproject = true;
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "tsifrer";
-    repo = pname;
-    rev = version;
-    sha256 = "10wwkam3dw0nqr3v9xzigx1zjlrnrhzr7jvihddvzi84vjb6j443";
+    repo = "python-twitch-client";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-gxBpltwExb9bg3HLkz/MNlP5Q3/x97RHxhbwNqqanIM=";
   };
 
-  propagatedBuildInputs = [ requests ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    requests
+  ];
 
   nativeCheckInputs = [
     pytestCheckHook
     responses
   ];
 
-  pythonImportsCheck = [ "twitch" ];
+  pythonImportsCheck = [
+    "twitch"
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_delete_from_community"
+    "test_update"
+  ];
 
   meta = with lib; {
     description = "Python wrapper for the Twitch API";
     homepage = "https://github.com/tsifrer/python-twitch-client";
+    changelog = "https://github.com/tsifrer/python-twitch-client/blob/${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/python-velbus/default.nix b/nixpkgs/pkgs/development/python-modules/python-velbus/default.nix
index 5dca7585de12..75d4e24f869b 100644
--- a/nixpkgs/pkgs/development/python-modules/python-velbus/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-velbus/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "python-velbus";
-  version = "2.1.12";
+  version = "2.1.14";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-X0jg1qd4rWbaRZqgMBJKOZD50sFq3Eyhw9RU6cEjORo=";
+    hash = "sha256-3eDfXPMO167QI/umLBjlHTBV67XQ8QYkg4EzfrRTw6M=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/python_docs_theme/default.nix b/nixpkgs/pkgs/development/python-modules/python_docs_theme/default.nix
deleted file mode 100644
index 1a1a05733ad3..000000000000
--- a/nixpkgs/pkgs/development/python-modules/python_docs_theme/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, buildPythonPackage, fetchFromGitHub, flit-core, sphinx }:
-
-buildPythonPackage rec {
-  pname = "python_docs_theme";
-  version = "2023.9";
-  format = "pyproject";
-
-  src = fetchFromGitHub {
-    owner = "python";
-    repo = "python-docs-theme";
-    rev = "refs/tags/${version}";
-    sha256 = "sha256-XVwMEfprTNdNnaW38HMCAu4CswdVjBXYtNWBgqXfbno=";
-  };
-
-  nativeBuildInputs = [ flit-core ];
-
-  propagatedBuildInputs = [ sphinx ];
-
-  pythonImportsCheck = [ "python_docs_theme" ];
-
-  meta = with lib; {
-    homepage = "https://github.com/python/python-docs-theme";
-    description = "Sphinx theme for CPython project";
-    license = licenses.psfl;
-    maintainers = with maintainers; [ kaction ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
index 138dc5f502fa..56473cc95ae2 100644
--- a/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
@@ -8,6 +8,7 @@
 , torch
 , torchvision
 , typing-extensions
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
@@ -41,6 +42,7 @@ buildPythonPackage rec {
     "tests/pytorch_pfn_extras_tests/onnx_tests/test_export.py"
     "tests/pytorch_pfn_extras_tests/onnx_tests/test_torchvision.py"
     "tests/pytorch_pfn_extras_tests/onnx_tests/utils.py"
+    "tests/pytorch_pfn_extras_tests/onnx_tests/test_lax.py"
 
     # RuntimeError: No Op registered for Gradient with domain_version of 9
     "tests/pytorch_pfn_extras_tests/onnx_tests/test_grad.py"
@@ -53,13 +55,15 @@ buildPythonPackage rec {
     "tests/pytorch_pfn_extras_tests/nn_tests/modules_tests/test_lazy.py"
     "tests/pytorch_pfn_extras_tests/profiler_tests/test_record.py"
     "tests/pytorch_pfn_extras_tests/runtime_tests/test_to.py"
-    "tests/pytorch_pfn_extras_tests/test_handler.py"
-    "tests/pytorch_pfn_extras_tests/test_logic.py"
+    "tests/pytorch_pfn_extras_tests/handler_tests/test_handler.py"
     "tests/pytorch_pfn_extras_tests/test_reporter.py"
     "tests/pytorch_pfn_extras_tests/training_tests/test_trainer.py"
     "tests/pytorch_pfn_extras_tests/utils_tests/test_checkpoint.py"
     "tests/pytorch_pfn_extras_tests/utils_tests/test_comparer.py"
     "tests/pytorch_pfn_extras_tests/utils_tests/test_new_comparer.py"
+  ] ++ lib.optionals (pythonAtLeast "3.11") [
+    # Remove this when https://github.com/NixOS/nixpkgs/pull/259068 is merged
+    "tests/pytorch_pfn_extras_tests/dynamo_tests/test_compile.py"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pytrydan/default.nix b/nixpkgs/pkgs/development/python-modules/pytrydan/default.nix
new file mode 100644
index 000000000000..ef54cf77b4f2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pytrydan/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, httpx
+, orjson
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, respx
+, rich
+, syrupy
+, tenacity
+, typer
+}:
+
+buildPythonPackage rec {
+  pname = "pytrydan";
+  version = "0.4.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.10";
+
+  src = fetchFromGitHub {
+    owner = "dgomes";
+    repo = "pytrydan";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-9PyRICtZ+0Ezinu28oFgFOSnOyCmD7zZbdc/chN+sCo=";
+  };
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=pytrydan --cov-report=term-missing:skip-covered" ""
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    httpx
+    orjson
+    rich
+    tenacity
+    typer
+  ];
+
+  nativeCheckInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    respx
+    syrupy
+  ];
+
+  pythonImportsCheck = [
+    "pytrydan"
+  ];
+
+  meta = with lib; {
+    description = "Library to interface with V2C EVSE Trydan";
+    homepage = "https://github.com/dgomes/pytrydan";
+    changelog = "https://github.com/dgomes/pytrydan/blob/${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/pyvex/default.nix b/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
index c19e16cae96e..59f1c4233ab3 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.75";
+  version = "9.2.77";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-8P8xOb4P1JsbPZya8s1Bl16VsYtHQdAD05sc8EAcEpM=";
+    hash = "sha256-kVMhzdTYwra8G/4gg1G853vUr7YHxxt/zXus/SXMkXc=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pyvips/default.nix b/nixpkgs/pkgs/development/python-modules/pyvips/default.nix
index 71fe7601ce9c..07af9047fe18 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvips/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvips/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , buildPythonPackage
+, pythonOlder
 , fetchFromGitHub
 , pytestCheckHook
 , glib
@@ -13,6 +14,8 @@ buildPythonPackage rec {
   pname = "pyvips";
   version = "2.2.1";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "libvips";
     repo = "pyvips";
@@ -41,6 +44,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A python wrapper for libvips";
     homepage = "https://github.com/libvips/pyvips";
+    changelog = "https://github.com/libvips/pyvips/blob/v${version}/CHANGELOG.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ ccellado anthonyroussel ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/pyvisa-py/default.nix b/nixpkgs/pkgs/development/python-modules/pyvisa-py/default.nix
index 8d3ea92339bf..626d87b796ae 100644
--- a/nixpkgs/pkgs/development/python-modules/pyvisa-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyvisa-py/default.nix
@@ -1,47 +1,57 @@
 { lib
 , fetchFromGitHub
 , buildPythonPackage
+, setuptools
 , setuptools-scm
+, gpib-ctypes
 , pyserial
 , pyusb
 , pyvisa
 , typing-extensions
+, psutil
+, zeroconf
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyvisa-py";
-  version = "0.7.0";
-  format = "setuptools";
+  version = "0.7.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "pyvisa";
     repo = "pyvisa-py";
     rev = "refs/tags/${version}";
-    hash = "sha256-wMDO0CUCSSCB8cXvTmIEWD8OGMZRZNhmmRx+fZnK288=";
+    hash = "sha256-zsa4TGDvvPAogOC0ljXC9uwWC9mteldUYprLmwrXNMQ=";
   };
 
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
   ];
 
   propagatedBuildInputs = [
-    pyserial
-    pyusb
     pyvisa
     typing-extensions
   ];
 
+  passthru.optional-dependencies = {
+    gpib-ctypes = [ gpib-ctypes ];
+    serial = [ pyserial ];
+    usb = [ pyusb ];
+    psutil = [ psutil ];
+    hislip-discovery = [ zeroconf ];
+    # vicp = [ pyvicp zeroconf ];
+  };
+
   nativeCheckInputs = [
     pytestCheckHook
   ];
 
-  postConfigure = ''
-    export SETUPTOOLS_SCM_PRETEND_VERSION="v${version}"
-  '';
+  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   meta = with lib; {
     description = "Module that implements the Virtual Instrument Software Architecture";
diff --git a/nixpkgs/pkgs/development/python-modules/pywayland/default.nix b/nixpkgs/pkgs/development/python-modules/pywayland/default.nix
index 4015715c4515..591fb0026c2b 100644
--- a/nixpkgs/pkgs/development/python-modules/pywayland/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywayland/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [ pytestCheckHook ];
 
   postBuild = ''
-    ${python.pythonForBuild.interpreter} pywayland/ffi_build.py
+    ${python.pythonOnBuildForHost.interpreter} pywayland/ffi_build.py
   '';
 
   # Tests need this to create sockets
diff --git a/nixpkgs/pkgs/development/python-modules/pywebview/default.nix b/nixpkgs/pkgs/development/python-modules/pywebview/default.nix
index 246f1ae55d2c..9db835f1d547 100644
--- a/nixpkgs/pkgs/development/python-modules/pywebview/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywebview/default.nix
@@ -4,7 +4,7 @@
 , setuptools-scm
 , bottle
 , importlib-resources
-, proxy_tools
+, proxy-tools
 , pygobject3
 , pyqtwebengine
 , pytest
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     bottle
     pyqtwebengine
-    proxy_tools
+    proxy-tools
     six
   ] ++ lib.optionals (pythonOlder "3.7") [
     importlib-resources
diff --git a/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix b/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix
index 2350b14da054..248af392f1fc 100644
--- a/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pywlroots/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [ pytestCheckHook ];
 
   postBuild = ''
-    ${python.pythonForBuild.interpreter} wlroots/ffi_build.py
+    ${python.pythonOnBuildForHost.interpreter} wlroots/ffi_build.py
   '';
 
   pythonImportsCheck = [ "wlroots" ];
diff --git a/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix b/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
index 72d1a9f43a89..59c8f47eea38 100644
--- a/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcelemental/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "qcelemental";
-  version = "0.27.0";
+  version = "0.27.1";
 
   pyproject = true;
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5VLNGD4glAIGgtt+q8YvwyAQvJU9mfyTpngwVr6gOYg=";
+    hash = "sha256-dlcfIUKAg6yc4S3RXVJ1sKM29E1ZvHY82kjx1CM8/08=";
   };
 
   nativeBuildInputs = [
@@ -46,7 +46,8 @@ buildPythonPackage rec {
   meta = with lib; {
     broken = stdenv.isDarwin;
     description = "Periodic table, physical constants and molecule parsing for quantum chemistry";
-    homepage = "http://docs.qcarchive.molssi.org/projects/qcelemental/";
+    homepage = "https://github.com/MolSSI/QCElemental";
+    changelog = "https://github.com/MolSSI/QCElemental/blob/v${version}/docs/changelog.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ sheepforce ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/qcengine/default.nix b/nixpkgs/pkgs/development/python-modules/qcengine/default.nix
index 5b240104ca89..c1464c233a93 100644
--- a/nixpkgs/pkgs/development/python-modules/qcengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcengine/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "qcengine";
-  version = "0.28.1";
+  version = "0.29.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-ebZayF5VGHXjBFO3k2KegCNqAFygB3BXKvdvr8mF/Ss=";
+    hash = "sha256-cIfX9MpRMXtBfLKHKTzCLkv31fBIyanTQHEs8hHk7aQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix b/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix
index 93f452786512..a20841319b74 100644
--- a/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcodes-loop/default.nix
@@ -80,6 +80,11 @@ buildPythonPackage rec {
     export HOME="$TMPDIR"
   '';
 
+  disabledTests = [
+    # AssertionError: False is not true
+    "TestHDF5_Format"
+  ];
+
   meta = with lib; {
     description = "Features previously in QCoDeS";
     homepage = "https://github.com/QCoDeS/Qcodes_loop";
diff --git a/nixpkgs/pkgs/development/python-modules/qcodes/default.nix b/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
index 2083000992bc..320054041104 100644
--- a/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qcodes/default.nix
@@ -1,19 +1,19 @@
 { lib
+, broadbean
 , buildPythonPackage
+, cf-xarray
+, dask
+, deepdiff
 , fetchPypi
-, pythonOlder
-, setuptools
-, versioningit
-, wheel
-
-  # mandatory
-, broadbean
 , h5netcdf
 , h5py
+, hypothesis
 , importlib-metadata
-, ipywidgets
 , ipykernel
+, ipython
+, ipywidgets
 , jsonschema
+, lxml
 , matplotlib
 , numpy
 , opencensus
@@ -21,54 +21,44 @@
 , opentelemetry-api
 , packaging
 , pandas
-, pyvisa
-, ruamel-yaml
-, tabulate
-, typing-extensions
-, tqdm
-, uncertainties
-, websockets
-, wrapt
-, xarray
-, ipython
 , pillow
-, rsa
-
-  # optional
-, qcodes-loop
-, slack-sdk
-
-  # test
 , pip
-, pytestCheckHook
-, deepdiff
-, hypothesis
-, lxml
 , pytest-asyncio
 , pytest-mock
 , pytest-rerunfailures
 , pytest-xdist
+, pytestCheckHook
+, pythonOlder
+, pyvisa
 , pyvisa-sim
+, qcodes-loop
+, rsa
+, ruamel-yaml
+, setuptools
 , sphinx
+, tabulate
+, tqdm
+, typing-extensions
+, uncertainties
+, versioningit
+, websockets
+, wheel
+, wrapt
+, xarray
 }:
 
 buildPythonPackage rec {
   pname = "qcodes";
-  version = "0.40.0";
+  version = "0.41.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-C8/ltX3tSxCbbheuel3BjIkRBl/E92lK709QYx+2FL0=";
+    hash = "sha256-3Ncg51E4KYbvzlEyesVbTmzmz+UPfFkj3tudVbNYqHQ=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'versioningit ~=' 'versioningit >='
-  '';
-
   nativeBuildInputs = [
     setuptools
     versioningit
@@ -77,6 +67,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     broadbean
+    cf-xarray
+    dask
     h5netcdf
     h5py
     ipykernel
@@ -109,13 +101,8 @@ buildPythonPackage rec {
     loop = [
       qcodes-loop
     ];
-    slack = [
-      slack-sdk
-    ];
   };
 
-  __darwinAllowLocalNetworking = true;
-
   nativeCheckInputs = [
     deepdiff
     hypothesis
@@ -130,6 +117,8 @@ buildPythonPackage rec {
     sphinx
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   pytestFlagsArray = [
     # Follow upstream with settings
     "--durations=20"
@@ -138,6 +127,8 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # Test depends on qcodes-loop, causing a cyclic dependency
     "qcodes/tests/dataset/measurement/test_load_legacy_data.py"
+    # TypeError
+    "qcodes/tests/dataset/test_dataset_basic.py"
   ];
 
   disabledTests = [
@@ -161,8 +152,8 @@ buildPythonPackage rec {
   '';
 
   meta = with lib; {
-    changelog = "https://github.com/QCoDeS/Qcodes/releases/tag/v${version}";
     description = "Python-based data acquisition framework";
+    changelog = "https://github.com/QCoDeS/Qcodes/releases/tag/v${version}";
     downloadPage = "https://github.com/QCoDeS/Qcodes";
     homepage = "https://qcodes.github.io/Qcodes/";
     license = licenses.mit;
diff --git a/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix b/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix
index 1ab12f28412c..f480217aa621 100644
--- a/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/qpsolvers/default.nix
@@ -14,14 +14,14 @@
 }:
 buildPythonPackage rec {
   pname = "qpsolvers";
-  version = "4.0.0";
+  version = "4.0.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "qpsolvers";
     repo = "qpsolvers";
     rev = "refs/tags/v${version}";
-    hash = "sha256-KkV61pBkIh+4Qav9TVobEBUCyMa6Xqg+eygnOoQRpcQ=";
+    hash = "sha256-s1d8oTrmptS3exUqn9HSSla6P4dIxS/qNalsDTbFmFs=";
   };
 
   pythonImportsCheck = [ "qpsolvers" ];
diff --git a/nixpkgs/pkgs/development/python-modules/radian/default.nix b/nixpkgs/pkgs/development/python-modules/radian/default.nix
index ab33203d7011..a1b0a4309554 100644
--- a/nixpkgs/pkgs/development/python-modules/radian/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/radian/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "radian";
-  version = "0.6.7";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "randy3k";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-MEstbQj1dOcrukgDvMwL330L9INEZcIupebrSYMOrZk=";
+    hash = "sha256-zI6oUHO4rY/BbbHhvzSNIKCpTDRm0cK46rIKN/ISgY0=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/radio_beam/default.nix b/nixpkgs/pkgs/development/python-modules/radio-beam/default.nix
index 1a349736787a..41653caaa3e0 100644
--- a/nixpkgs/pkgs/development/python-modules/radio_beam/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/radio-beam/default.nix
@@ -12,14 +12,13 @@
 }:
 
 buildPythonPackage rec {
-  pname = "radio_beam";
-  version = "0.3.4";
-  format = "pyproject";
+  pname = "radio-beam";
+  version = "0.3.6";
+  pyproject = true;
 
   src = fetchPypi {
-    inherit version;
-    pname = "radio-beam";
-    sha256 = "e032257f1501303873f251c00c74b1188180785c79677fb4443098d517852309";
+    inherit pname version;
+    hash = "sha256-U+IjOTt7x9uzUl7IcQRu2s+MBKF/OR+sLddvHmp9hqU=";
   };
 
   nativeBuildInputs = [
@@ -39,12 +38,16 @@ buildPythonPackage rec {
     pytest-astropy
   ];
 
-  meta = {
+  pythonImportsCheck = [
+    "radio_beam"
+  ];
+
+  meta = with lib; {
     description = "Tools for Beam IO and Manipulation";
     homepage = "http://radio-astro-tools.github.io";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [ smaret ];
+    changelog = "https://github.com/radio-astro-tools/radio-beam/releases/tag/v${version}";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ smaret ];
   };
 }
 
diff --git a/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix b/nixpkgs/pkgs/development/python-modules/radish-bdd/default.nix
index e5db1cbad3ce..f0f9070180ef 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.17.0";
+  version = "0.17.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "radish";
     rev = "refs/tags/v${version}";
-    hash = "sha256-4cGUF4Qh5+mxHtKNnAjh37Q6hEFCQ9zmntya98UHx+0=";
+    hash = "sha256-9Wt+W7PWUVijzAeZMvcOl/Na60OCCGJJqxh2UaAxAcM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rank_bm25/default.nix b/nixpkgs/pkgs/development/python-modules/rank-bm25/default.nix
index 4019864f27d6..9b0c5080449d 100644
--- a/nixpkgs/pkgs/development/python-modules/rank_bm25/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rank-bm25/default.nix
@@ -5,7 +5,7 @@
 , numpy
 }:
 let
-  pname = "rank_bm25";
+  pname = "rank-bm25";
   version = "0.2.2";
 in
 buildPythonPackage {
diff --git a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix b/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
index 02cdcbed68cd..e0f393ff6134 100644
--- a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
@@ -8,7 +8,7 @@
 , click-plugins
 , cligj
 , certifi
-, cython
+, cython_3
 , fetchFromGitHub
 , gdal
 , hypothesis
@@ -28,7 +28,7 @@
 
 buildPythonPackage rec {
   pname = "rasterio";
-  version = "1.3.8";
+  version = "1.3.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -37,11 +37,11 @@ buildPythonPackage rec {
     owner = "rasterio";
     repo = "rasterio";
     rev = "refs/tags/${version}";
-    hash = "sha256-8kPzUvTZ/jRDXlYMAZkG1xdLAQuzxnvHXBzwWizMOTo=";
+    hash = "sha256-Tp6BSU33FaszrIXQgU0Asb7IMue0C939o/atAKz+3Q4=";
   };
 
   nativeBuildInputs = [
-    cython
+    cython_3
     gdal
     numpy
     oldest-supported-numpy
diff --git a/nixpkgs/pkgs/development/python-modules/rchitect/default.nix b/nixpkgs/pkgs/development/python-modules/rchitect/default.nix
index 2ac13e9a47f1..060fafa8d6e0 100644
--- a/nixpkgs/pkgs/development/python-modules/rchitect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rchitect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "rchitect";
-  version = "0.4.2";
+  version = "0.4.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "randy3k";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-e0xCUp5WBP4UKPkwPfrouNNYTBEnhlHHlkBQmghQfdk=";
+    hash = "sha256-igrYMgPemYVGDR+eWiqtxFxFjroCyOfKEU0wj8D7ZS8=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix b/nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix
index 8fcb212c702b..b6c20812d9cc 100644
--- a/nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/recurring-ical-events/default.nix
@@ -6,7 +6,7 @@
 , python-dateutil
 , x-wr-timezone
 , pytestCheckHook
-, restructuredtext_lint
+, restructuredtext-lint
 , pygments
 , tzdata
 }:
@@ -33,7 +33,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    restructuredtext_lint
+    restructuredtext-lint
     pygments
     tzdata
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/recursive-pth-loader/default.nix b/nixpkgs/pkgs/development/python-modules/recursive-pth-loader/default.nix
index 23e7f0f80b62..499ad3c23d07 100644
--- a/nixpkgs/pkgs/development/python-modules/recursive-pth-loader/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/recursive-pth-loader/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   patchPhase = "cat ${./sitecustomize.py} > sitecustomize.py";
 
-  buildPhase = "${python.pythonForBuild}/bin/${python.pythonForBuild.executable} -m compileall .";
+  buildPhase = "${python.pythonOnBuildForHost}/bin/${python.pythonOnBuildForHost.executable} -m compileall .";
 
   installPhase =
     ''
diff --git a/nixpkgs/pkgs/development/python-modules/redis-om/default.nix b/nixpkgs/pkgs/development/python-modules/redis-om/default.nix
index af0170cbf322..aec5311351e4 100644
--- a/nixpkgs/pkgs/development/python-modules/redis-om/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/redis-om/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   ];
 
   preBuild = ''
-    ${python.pythonForBuild.interpreter} make_sync.py
+    ${python.pythonOnBuildForHost.interpreter} make_sync.py
   '';
 
   nativeCheckInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix b/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
index f773c33307ae..832d84384759 100644
--- a/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reolink-aio/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "reolink-aio";
-  version = "0.7.12";
+  version = "0.7.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "reolink_aio";
     rev = "refs/tags/${version}";
-    hash = "sha256-molHdZ51irWEE3OHywP5n0bCClK8z67JGiYRwvHAOxs=";
+    hash = "sha256-BSl7dECYJIjR9QTvcizUF3Lz1jmgm9xi4kPt7PdO/Nk=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/reorder-python-imports/default.nix b/nixpkgs/pkgs/development/python-modules/reorder-python-imports/default.nix
index 63cdb2fda21d..1c5417c75a19 100644
--- a/nixpkgs/pkgs/development/python-modules/reorder-python-imports/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/reorder-python-imports/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "reorder-python-imports";
-  version = "3.11.0";
+  version = "3.12.0";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "asottile";
     repo = "reorder_python_imports";
     rev = "v${version}";
-    hash = "sha256-5fv2DSMeCleDxsW+nua2dOOeWZIZfuP+Qo++w2YEf4Q=";
+    hash = "sha256-bKv9APbraR2359IzzkzXs4sEXrTvGK3J4LO3wFHOti0=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/restructuredtext-lint/default.nix b/nixpkgs/pkgs/development/python-modules/restructuredtext-lint/default.nix
new file mode 100644
index 000000000000..3b7f4dfd57f1
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/restructuredtext-lint/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, docutils
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "restructuredtext-lint";
+  version = "1.4.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "restructuredtext_lint";
+    inherit version;
+    hash = "sha256-GyNcDJIjQatsUwOQiS656S+QubdQRgY+BHys+w8FDEU=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [ docutils ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "restructuredtext_lint/test/test.py"
+  ];
+
+  pythonImportsCheck = [
+    "restructuredtext_lint"
+  ];
+
+  meta = {
+    description = "reStructuredText linter";
+    homepage = "https://github.com/twolfson/restructuredtext-lint";
+    changelog = "https://github.com/twolfson/restructuredtext-lint/blob/${version}/CHANGELOG.rst";
+    license = lib.licenses.unlicense;
+    mainProgram = "rst-lint";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/restructuredtext_lint/default.nix b/nixpkgs/pkgs/development/python-modules/restructuredtext_lint/default.nix
deleted file mode 100644
index ebb682a9c51f..000000000000
--- a/nixpkgs/pkgs/development/python-modules/restructuredtext_lint/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, docutils
-, nose
-, testtools
-}:
-
-buildPythonPackage rec {
-  pname = "restructuredtext_lint";
-  version = "1.4.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-GyNcDJIjQatsUwOQiS656S+QubdQRgY+BHys+w8FDEU=";
-  };
-
-  nativeCheckInputs = [ nose testtools ];
-  propagatedBuildInputs = [ docutils ];
-
-  checkPhase = ''
-    nosetests --nocapture
-  '';
-
-  meta = {
-    description = "reStructuredText linter";
-    homepage = "https://github.com/twolfson/restructuredtext-lint";
-    license = lib.licenses.unlicense;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/rich-argparse/default.nix b/nixpkgs/pkgs/development/python-modules/rich-argparse/default.nix
index 0fde4435543d..7dc2878d391d 100644
--- a/nixpkgs/pkgs/development/python-modules/rich-argparse/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rich-argparse/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "rich-argparse";
-  version = "1.3.0";
+  version = "1.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "hamdanal";
     repo = "rich-argparse";
-    rev = "v${version}";
-    hash = "sha256-WAqFhH9gUwDZuORJ++fKjCmaCurdYpep3WPq68tWJ4U=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-iQ8x8UM0zmb2qYUpSh6RSEaBMrDpwY0ZHaJ9GJqn4Hs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
index bd37f1c530b7..f56921a691aa 100644
--- a/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ring-doorbell/default.nix
@@ -1,8 +1,12 @@
 { lib
+, asyncclick
 , buildPythonPackage
 , fetchPypi
 , oauthlib
 , poetry-core
+, pytest-asyncio
+, pytest-mock
+, pytest-socket
 , pytestCheckHook
 , pythonOlder
 , pytz
@@ -13,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "ring-doorbell";
-  version = "0.7.4";
+  version = "0.8.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -21,7 +25,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "ring_doorbell";
     inherit version;
-    hash = "sha256-hto3MwlC6ADjKkcB/4l/uFyw+0CgvLZM0sp3FF62XUA=";
+    hash = "sha256-6kfD87GlEb+f6hUSqhyPIy4Xg63f8zDdGKMaOxQYWoM=";
   };
 
   nativeBuildInputs = [
@@ -29,6 +33,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    asyncclick
     oauthlib
     pytz
     requests
@@ -36,6 +41,9 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    pytest-asyncio
+    pytest-mock
+    pytest-socket
     pytestCheckHook
     requests-mock
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/rns/default.nix b/nixpkgs/pkgs/development/python-modules/rns/default.nix
index 141276717c62..0640ce63db35 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.6.5";
+  version = "0.6.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "Reticulum";
     rev = "refs/tags/${version}";
-    hash = "sha256-Ro8glYHzekuk85DQgRwvrmhbez37EEIiLSMrN5AziB8=";
+    hash = "sha256-MDD0Vs5XIWqxKHbrAa0vXJRd8uYZDlr//hP1NBf4b7U=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix b/nixpkgs/pkgs/development/python-modules/rokuecp/default.nix
index ac67ff88acb9..34a5c17a4772 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.1";
+  version = "0.18.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "ctalkington";
     repo = "python-rokuecp";
     rev = "refs/tags/${version}";
-    hash = "sha256-0ArnP9xITVpbIfDrsNK3ukmeJBdd6SE3tnDwCLWSHMo=";
+    hash = "sha256-fgnR3TZh+cHvC8qJnvwfrrtxCdEr89Uw8ciACzaQPYE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/roonapi/default.nix b/nixpkgs/pkgs/development/python-modules/roonapi/default.nix
index 8743f97093bb..68346eb7cb3c 100644
--- a/nixpkgs/pkgs/development/python-modules/roonapi/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/roonapi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "roonapi";
-  version = "0.1.4";
+  version = "0.1.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pavoni";
     repo = "pyroon";
     rev = version;
-    hash = "sha256-TXIKa5DB5+511fQuHAQwPWqw7vQPP+s1X3U7BgEfzzE=";
+    hash = "sha256-356eSRlO0kIaOm+O4bApraC0amEprBcCSvzl3LQ7k/E=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/rpmfile/default.nix b/nixpkgs/pkgs/development/python-modules/rpmfile/default.nix
index 1cbf6c905715..6af50237e4bb 100644
--- a/nixpkgs/pkgs/development/python-modules/rpmfile/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/rpmfile/default.nix
@@ -5,11 +5,11 @@
 }:
 buildPythonPackage rec {
   pname = "rpmfile";
-  version = "1.1.1";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ZxcHe1QxdG2GBIPMNrnJy6Vd8SRgZ4HOtwsks2be8Cs=";
+    sha256 = "sha256-tLDdVTrZlxGk+oYmeCm/4XLAPx6hzkztJP+lXtiDhb4=";
   };
 
   # Tests access the internet
diff --git a/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix b/nixpkgs/pkgs/development/python-modules/sagemaker/default.nix
index 8a49792d25ee..2c7254fdcfdf 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.193.0";
+  version = "2.197.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "aws";
     repo = "sagemaker-python-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-5wMLzZjHgHGuIBxG0GNOVj1t32kEJ9scrS6bA6IW4WY=";
+    hash = "sha256-d4HbwzgVfuo6n4FD/nl88XeQi/FPRrlq8AIV/eZz9f4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/scapy/default.nix b/nixpkgs/pkgs/development/python-modules/scapy/default.nix
index 1a5f80371139..4f2c9cad8e36 100644
--- a/nixpkgs/pkgs/development/python-modules/scapy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scapy/default.nix
@@ -5,7 +5,7 @@
 , withCryptography ? true, cryptography
 , withVoipSupport ? true, sox
 , withPlottingSupport ? true, matplotlib
-, withGraphicsSupport ? false, pyx, texlive, graphviz, imagemagick
+, withGraphicsSupport ? false, pyx, texliveBasic, graphviz, imagemagick
 , withManufDb ? false, wireshark
 , libpcap
 # 2D/3D graphics and graphs TODO: VPython
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     ++ lib.optional withCryptography cryptography
     ++ lib.optional withVoipSupport sox
     ++ lib.optional withPlottingSupport matplotlib
-    ++ lib.optionals withGraphicsSupport [ pyx texlive.combined.scheme-basic graphviz imagemagick ];
+    ++ lib.optionals withGraphicsSupport [ pyx texliveBasic graphviz imagemagick ];
 
   # Running the tests seems too complicated:
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix
index 130e56896e31..a2cf6d82a35b 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-rf/default.nix
@@ -27,12 +27,13 @@
 , setuptools
 , pytestCheckHook
 , pytest-cov
+, pytest-mock
 }:
 
 buildPythonPackage rec {
   pname = "scikit-rf";
-  version = "0.29.0";
-  format = "pyproject";
+  version = "0.29.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -40,7 +41,7 @@ buildPythonPackage rec {
     owner = "scikit-rf";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-rBOw1rIEF8Ia6xXlXxVzRRiUxrOjOAlipFuKiL+gRl0=";
+    hash = "sha256-sLE6rcBGUKmk5y7oO06rHON3GVIjcvnKlr6Tgddj64Y=";
   };
 
   buildInputs = [
@@ -88,6 +89,7 @@ buildPythonPackage rec {
     coverage
     flake8
     pytest-cov
+    pytest-mock
     nbval
     matplotlib
     pyvisa
@@ -99,6 +101,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  # test_calibration.py generates a divide by zero error on darwin
+  # https://github.com/scikit-rf/scikit-rf/issues/972
+  disabledTestPaths =
+    lib.optional (stdenv.isAarch64 && stdenv.isDarwin)
+    "skrf/calibration/tests/test_calibration.py";
+
   pythonImportsCheck = [
     "skrf"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix b/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
index b2c4218e5f33..9a766cedece3 100644
--- a/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/scikit-survival/default.nix
@@ -17,12 +17,12 @@
 
 buildPythonPackage rec {
   pname = "scikit-survival";
-  version = "0.21.0";
-  format = "setuptools";
+  version = "0.22.1";
+  pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rcdEtlmD3O2BQuwxRlOJ/HOEBdWJBRJR5UR6rZoeArw=";
+    hash = "sha256-Ft0Hg5iF9Sb9VSOsFMgfAvc4Nsam216kzt5Xv2iykv8=";
   };
 
   nativeBuildInputs = [
@@ -45,6 +45,11 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [ pytestCheckHook ];
 
+  # treat numpy versions as lower bounds, same as setuptools build
+  postPatch = ''
+    sed -i 's/numpy==/numpy>=/' pyproject.toml
+  '';
+
   # Hack needed to make pytest + cython work
   # https://github.com/NixOS/nixpkgs/pull/82410#issuecomment-827186298
   preCheck = ''
@@ -63,10 +68,13 @@ buildPythonPackage rec {
     "test_pandas_inputs"
     "test_survival_svm"
     "test_tree"
-  ];
+  ] ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64)
+    # floating point mismatch on aarch64
+    # 27079905.88052468 to far from 27079905.880496684
+    "test_coxnet"
+  ;
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
     description = "Survival analysis built on top of scikit-learn";
     homepage = "https://github.com/sebp/scikit-survival";
     license = licenses.gpl3Only;
diff --git a/nixpkgs/pkgs/development/python-modules/seaborn/default.nix b/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
index de5bbed11998..fef58d973ccf 100644
--- a/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/seaborn/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "seaborn";
-  version = "0.13.0rc0";
+  version = "0.13.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "mwaskom";
     repo = "seaborn";
     rev = "refs/tags/v${version}";
-    hash = "sha256-bNuTDXUjdOwqJN1U20eaeSa4/Q3Fe2XMqulqVmDLFEU=";
+    hash = "sha256-RbtBNKTjUHdCFe1V7IvACgbSNIPhVFMYmtE34GKVIzs=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/segno/default.nix b/nixpkgs/pkgs/development/python-modules/segno/default.nix
index 12aa23e95dd1..3e7bb0816448 100644
--- a/nixpkgs/pkgs/development/python-modules/segno/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/segno/default.nix
@@ -1,6 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+
+# build-system
+, setuptools
+
+# tests
 , pytestCheckHook
 , pypng
 , pyzbar
@@ -8,24 +13,32 @@
 
 buildPythonPackage rec {
   pname = "segno";
-  version = "1.5.2";
+  version = "1.5.3";
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "heuer";
     repo = "segno";
     rev = version;
-    hash = "sha256-+OEXG5OvrZ5Ft7IO/7zodf+SgiRF+frwjltrBENNnHo=";
+    hash = "sha256-j7DUCeMoYziu19WfJu/9YiIMa2ysOPYfqW8AMcE5LaU=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   nativeCheckInputs = [
     pytestCheckHook
     pypng
     pyzbar
   ];
 
-  pythonImportsCheck = [ "segno" ];
+  pythonImportsCheck = [
+    "segno"
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/heuer/segno/releases/tag/${version}";
     description = "QR Code and Micro QR Code encoder";
     homepage = "https://github.com/heuer/segno/";
     license = licenses.bsd3;
diff --git a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
index cc4acb340d57..d138bcb2940c 100644
--- a/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -40,7 +40,7 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.32.0";
+  version = "1.33.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     owner = "getsentry";
     repo = "sentry-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-chDgy3U29X/xk+aQok9uODcN0iAds1H39yXk98/3Yzc=";
+    hash = "sha256-a73SZssiS1i3pfble0dMw6st5Hq4AIdJA+dnT617kXg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/setuptoolstrial/default.nix b/nixpkgs/pkgs/development/python-modules/setuptools-trial/default.nix
index 9304fee0e423..14f666d311a2 100644
--- a/nixpkgs/pkgs/development/python-modules/setuptoolstrial/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/setuptools-trial/default.nix
@@ -2,13 +2,14 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 , twisted
 }:
 
 buildPythonPackage rec {
   pname = "setuptools-trial";
   version = "0.6.0";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
@@ -18,6 +19,10 @@ buildPythonPackage rec {
     hash = "sha256-FCIPj3YcSLoeJSbwhxlQd89U+tcJizgs4iBCLw/1mxI=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     twisted
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/sgp4/default.nix b/nixpkgs/pkgs/development/python-modules/sgp4/default.nix
index 242a1c882c99..9f6693603e04 100644
--- a/nixpkgs/pkgs/development/python-modules/sgp4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sgp4/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "sgp4";
-  version = "2.22";
+  version = "2.23";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-F/Ci6q0tygZbbeJcHOqpQP98+ozGcSDLQRGgDxd7hvk=";
+    hash = "sha256-2K3cU6L7n4je5r/UAdKGWwFMwLV78s7mm97o2WhdVCk=";
   };
 
   nativeCheckInputs = [ numpy ];
diff --git a/nixpkgs/pkgs/development/python-modules/shiboken2/default.nix b/nixpkgs/pkgs/development/python-modules/shiboken2/default.nix
index b736c17337a9..4afa930cac0b 100644
--- a/nixpkgs/pkgs/development/python-modules/shiboken2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shiboken2/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation {
 
   postInstall = ''
     cd ../../..
-    ${python.pythonForBuild.interpreter} setup.py egg_info --build-type=shiboken2
+    ${python.pythonOnBuildForHost.interpreter} setup.py egg_info --build-type=shiboken2
     cp -r shiboken2.egg-info $out/${python.sitePackages}/
     rm $out/bin/shiboken_tool.py
   '';
diff --git a/nixpkgs/pkgs/development/python-modules/shiboken6/default.nix b/nixpkgs/pkgs/development/python-modules/shiboken6/default.nix
index ca227a625b73..134bc4ff2d43 100644
--- a/nixpkgs/pkgs/development/python-modules/shiboken6/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/shiboken6/default.nix
@@ -61,7 +61,7 @@ stdenv'.mkDerivation rec {
 
   postInstall = ''
     cd ../../..
-    ${python.pythonForBuild.interpreter} setup.py egg_info --build-type=shiboken6
+    ${python.pythonOnBuildForHost.interpreter} setup.py egg_info --build-type=shiboken6
     cp -r shiboken6.egg-info $out/${python.sitePackages}/
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/simpful/default.nix b/nixpkgs/pkgs/development/python-modules/simpful/default.nix
index ab075702dae0..bb535e7c10f5 100644
--- a/nixpkgs/pkgs/development/python-modules/simpful/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simpful/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , matplotlib
@@ -24,6 +25,15 @@ buildPythonPackage rec {
     hash = "sha256-1CU/Iz83CKRx7dsOTGfdJm98TUfc2kxCHKIEUXP36HQ=";
   };
 
+  # patch dated use of private matplotlib interface
+  # https://github.com/aresio/simpful/issues/22
+  postPatch = ''
+    substituteInPlace simpful/simpful.py \
+      --replace \
+        "next(ax._get_lines.prop_cycler)['color']" \
+        "ax._get_lines.get_next_color()"
+  '';
+
   propagatedBuildInputs = [
     numpy
     scipy
@@ -46,6 +56,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    broken = stdenv.isDarwin;
     description = "Library for fuzzy logic";
     homepage = "https://github.com/aresio/simpful";
     changelog = "https://github.com/aresio/simpful/releases/tag/${version}";
diff --git a/nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix b/nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix
index 5da242e7b4c3..10d5f64385a0 100644
--- a/nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/simple-salesforce/default.nix
@@ -1,49 +1,52 @@
 { lib
-, fetchFromGitHub
 , buildPythonPackage
-, authlib
-, requests
-, nose
+, cryptography
+, fetchFromGitHub
+, more-itertools
+, pendulum
 , pyjwt
+, pytestCheckHook
 , pythonOlder
 , pytz
+, requests
 , responses
+, setuptools
 , zeep
 }:
 
 buildPythonPackage rec {
   pname = "simple-salesforce";
   version = "1.12.5";
-  format = "setuptools";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "simple-salesforce";
+    repo = "simple-salesforce";
     rev = "refs/tags/v${version}";
     hash = "sha256-mj7lbBGEybsEzWo4TYmPrN3mBXItdo/JomVIYmzIDAY=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    authlib
+    cryptography
+    more-itertools
+    pendulum
     pyjwt
     requests
     zeep
   ];
 
   nativeCheckInputs = [
-    nose
+    pytestCheckHook
     pytz
     responses
   ];
 
-  checkPhase = ''
-    runHook preCheck
-    nosetests -v
-    runHook postCheck
-  '';
-
   pythonImportsCheck = [
     "simple_salesforce"
   ];
diff --git a/nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix b/nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix
index 989dfbc8ee88..ab64765f3083 100644
--- a/nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skodaconnect/default.nix
@@ -4,16 +4,16 @@
 , buildPythonPackage
 , cryptography
 , fetchFromGitHub
+, flit-core
 , lxml
 , pyjwt
 , pythonOlder
-, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "skodaconnect";
-  version = "1.3.7";
-  format = "setuptools";
+  version = "1.3.8";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -21,13 +21,17 @@ buildPythonPackage rec {
     owner = "lendy007";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-FJnByPP1hUs6ECuZh9aMJksq32xhPcWWolSFBzP7Zd8=";
+    hash = "sha256-Isnji6hXkTuTmbMpSuim9uG5ECSDX6A8QZ13sTCU9t0=";
   };
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  postPatch = ''
+    # https://github.com/skodaconnect/skodaconnect/pull/103
+    substituteInPlace pyproject.toml \
+      --replace "Bug Tracker" '"Bug Tracker"'
+  '';
 
   nativeBuildInputs = [
-    setuptools-scm
+    flit-core
   ];
 
   propagatedBuildInputs = [
@@ -38,13 +42,6 @@ buildPythonPackage rec {
     pyjwt
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "'pytest>=5,<6'," ""
-    substituteInPlace requirements.txt \
-      --replace "pytest-asyncio" ""
-  '';
-
   # Project has no tests
   doCheck = false;
 
diff --git a/nixpkgs/pkgs/development/python-modules/skrl/default.nix b/nixpkgs/pkgs/development/python-modules/skrl/default.nix
index 20f43924b9d0..417c1c1fe351 100644
--- a/nixpkgs/pkgs/development/python-modules/skrl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/skrl/default.nix
@@ -1,9 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pythonOlder
-, pytestCheckHook
+, setuptools
 , gym
 , gymnasium
 , torch
@@ -11,13 +10,13 @@
 , tqdm
 , wandb
 , packaging
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "skrl";
   version = "1.0.0";
-  format = "setuptools";
-
+  pyproject = true;
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -27,14 +26,7 @@ buildPythonPackage rec {
     hash = "sha256-89OoJanmaB74SLF1qMI8WFBdN1czS7Yr7BmojaRdo4M=";
   };
 
-  patches = [
-    # remove after next release:
-    (fetchpatch {
-       name = "fix-python_requires-specification";
-       url = "https://github.com/Toni-SM/skrl/pull/62/commits/9b554adfe2da6cd97cccbbcd418a349cc8f1de80.patch";
-       hash = "sha256-GeASMU1Pgy8U1zaIAVroBDjYaY+n93XP5uFyP4U9lok=";
-    })
-  ];
+  nativeBuildInputs = [ setuptools ];
 
   propagatedBuildInputs = [
     gym
diff --git a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
index 58372e493acb..66c1a734c8b6 100644
--- a/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/slack-sdk/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.23.0";
+  version = "3.23.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OsPwLOnmN3kvPmbM6lOaiTWwWvy7b9pgn1X536dCkWk=";
+    hash = "sha256-lqB4eljM/JLyvVHeT7LnYgjG3AP3i9le2IxUI31aK6o=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sorl_thumbnail/default.nix b/nixpkgs/pkgs/development/python-modules/sorl-thumbnail/default.nix
index dedd7864f24e..2337d6b940c2 100644
--- a/nixpkgs/pkgs/development/python-modules/sorl_thumbnail/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sorl-thumbnail/default.nix
@@ -1,28 +1,46 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy27
+, pythonOlder
+, setuptools
 , setuptools-scm
+, django
 }:
 
 buildPythonPackage rec {
   pname = "sorl-thumbnail";
-  version = "12.9.0";
-  disabled = isPy27;
+  version = "12.10.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-DLwvUhUufyJm48LLSuXYOv0ulv1eHELlZnNiuqo9LbM=";
+    hash = "sha256-3pWkkhf9/s7SIvo86qAdMS7i+KrVa6NNbHDy3umoSTg=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools
+    setuptools-scm
+  ];
+
+  buildInputs = [
+    django
+  ];
+
+  env.DJANGO_SETTINGS_MODULE = "sorl.thumbnail.conf.defaults";
+
   # Disabled due to an improper configuration error when tested against django. This looks like something broken in the test cases for sorl.
   doCheck = false;
 
+  pythonImportsCheck = [
+    "sorl.thumbnail"
+  ];
+
   meta = with lib; {
     homepage = "https://sorl-thumbnail.readthedocs.org/en/latest/";
     description = "Thumbnails for Django";
+    changelog = "https://github.com/jazzband/sorl-thumbnail/blob/${version}/CHANGES.rst";
     license = licenses.bsd3;
   };
-
 }
diff --git a/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix b/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix
index 123b1a2c508d..475a9c6540a0 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spacy-transformers/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "spacy-transformers";
-  version = "1.3.2";
+  version = "1.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-xfUePKLmR1Arhs0c1ZNjca6klJdGL0o2DdGLsejE6zw=";
+    hash = "sha256-Q8oV0mw8POFscFcdsYZfTkavNVQyqWdLAdb4lDX4ahM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/spacy/models.json b/nixpkgs/pkgs/development/python-modules/spacy/models.json
index 0514c9e41971..7f25c4281c37 100644
--- a/nixpkgs/pkgs/development/python-modules/spacy/models.json
+++ b/nixpkgs/pkgs/development/python-modules/spacy/models.json
@@ -198,6 +198,30 @@
     "license": "cc-by-sa-40"
   },
   {
+    "pname": "ja_core_news_lg",
+    "version": "3.7.0",
+    "sha256": "1nb77kivzy0wixsw8ijmw78fffkpqa63kykqph04jzmh75ra4wvg",
+    "license": "cc-by-sa-40"
+  },
+  {
+    "pname": "ja_core_news_md",
+    "version": "3.7.0",
+    "sha256": "0p22bwc24q76cl7ndszvhqgllvq3ws3i3vbjsp5xvhxxls6p49x9",
+    "license": "cc-by-sa-40"
+  },
+  {
+    "pname": "ja_core_news_sm",
+    "version": "3.7.0",
+    "sha256": "0bfvkds4dqynjshk2lxfya9yfcnbvwjfhc6n7yh0852ms1ycicaw",
+    "license": "cc-by-sa-40"
+  },
+  {
+    "pname": "ja_core_news_trf",
+    "version": "3.7.0",
+    "sha256": "0n2lqql4flnilgf671n5mcdp8vi5pdjfz3vymxsapc1gyp29jykk",
+    "license": "cc-by-sa-30"
+  },
+  {
     "pname": "it_core_news_lg",
     "version": "3.7.0",
     "sha256": "0gwn6pf0rzbplahs2wnzp6379mmj066dqhijhq4ln4552fz4d1yx",
@@ -378,6 +402,30 @@
     "license": "mit"
   },
   {
+    "pname": "sl_core_news_lg",
+    "version": "3.7.0",
+    "sha256": "128ayhp21szc31ckiq3i8vib42i9xnz4lpi1709gjdc38cpmpnlp",
+    "license": "cc-by-sa-40"
+  },
+  {
+    "pname": "sl_core_news_md",
+    "version": "3.7.0",
+    "sha256": "07gx174gw5q1zgyyg1xhfplihhnr311f9562ri5pdd2hgjyz58yb",
+    "license": "cc-by-sa-40"
+  },
+  {
+    "pname": "sl_core_news_sm",
+    "version": "3.7.0",
+    "sha256": "005xwsnh5y3pf8y64lhvrzcbh8y34yr3in204as6hv7krsfg8bxa",
+    "license": "cc-by-sa-40"
+  },
+  {
+    "pname": "sl_core_news_trf",
+    "version": "3.7.0",
+    "sha256": "0x97lwm1i2dq4kdg6rvarh9mnlcx45cnwq80qpjwv3b7zmviyq8c",
+    "license": "cc-by-sa-40"
+  },
+  {
     "pname": "sv_core_news_lg",
     "version": "3.7.0",
     "sha256": "05qaff8r3vs30zaxja1lgpibd12njp9ciq49zs26i6d4dqa18hdp",
diff --git a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix b/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
index abeb5d0f9277..98132c9f17d3 100644
--- a/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spectral-cube/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , aplpy
 , astropy
-, astropy-helpers
 , buildPythonPackage
 , casa-formats-io
 , dask
@@ -11,20 +10,20 @@
 , pytest-astropy
 , pytestCheckHook
 , pythonOlder
-, radio_beam
+, radio-beam
 , setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "spectral-cube";
-  version = "0.6.2";
+  version = "0.6.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-0Fr9PvUShi04z8SUsZE7zHuXZWg4rxt6gwSBb6lr2Pc=";
+    hash = "sha256-7wfvsravSkAGkTtuPE01wPW7wEHKVWT8kYQn93Q2B4M=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -36,7 +35,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     astropy
     casa-formats-io
-    radio_beam
+    radio-beam
     joblib
     dask
   ];
@@ -47,6 +46,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  # Tests must be run in the build directory.
+  preCheck = ''
+    cd build/lib
+  '';
+
   # On x86_darwin, this test fails with "Fatal Python error: Aborted"
   # when sandbox = true.
   disabledTestPaths = lib.optionals stdenv.isDarwin [
@@ -63,7 +67,5 @@ buildPythonPackage rec {
     changelog = "https://github.com/radio-astro-tools/spectral-cube/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ smaret ];
-    # Tests fail to start, according to Hydra
-    broken = true;
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix b/nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix
index 0aff8f37caa4..921669d4ca71 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinx-external-toc/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "sphinx-external-toc";
-  version = "0.3.1";
+  version = "1.0.0";
 
   format = "pyproject";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "sphinx_external_toc";
-    sha256 = "9c8ea9980ea0e57bf3ce98f6a400f9b69eb1df808f7dd796c9c8cc1873d8b355";
+    sha256 = "sha256-990JX/OrD7dKMQ1BCwo2GPwd3G8s5DWJfWWayqSj6yQ=";
   };
 
   nativeBuildInputs = [ flit-core ];
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix
index cfdfd6de623b..aabc1c49d0c2 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-plantuml/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-plantuml";
-  version = "0.26";
+  version = "0.27";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rbM5fVywYTYyzT2teJQ4FCK6wkRkw5PLBQQE3WcSsac=";
+    hash = "sha256-iXV3ju2cFCpC7NxOzYMTLewGkMA1yueIwSN1Dq1SZwM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
index 62e7df21ab8c..4e47298c8060 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , sphinx
 , pdf2svg
-, texLive
+, texliveSmall
 }:
 
 buildPythonPackage rec {
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace sphinxcontrib/tikz.py \
-      --replace "config.latex_engine" "'${texLive}/bin/pdflatex'" \
+      --replace "config.latex_engine" "'${texliveSmall.withPackages (ps: with ps; [ standalone pgfplots ])}/bin/pdflatex'" \
       --replace "system(['pdf2svg'" "system(['${pdf2svg}/bin/pdf2svg'"
   '';
 
diff --git a/nixpkgs/pkgs/development/python-modules/sphinxext-opengraph/default.nix b/nixpkgs/pkgs/development/python-modules/sphinxext-opengraph/default.nix
index dc66c1c44f4e..85a736bd880c 100644
--- a/nixpkgs/pkgs/development/python-modules/sphinxext-opengraph/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sphinxext-opengraph/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "sphinxext-opengraph";
-  version = "0.8.2";
+  version = "0.9.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "wpilibsuite";
     repo = "sphinxext-opengraph";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SrZTtVzEp4E87fzisWKHl8iRP49PWt5kkJq62CqXrBc=";
+    hash = "sha256-ZLIxbFgayG+WVvSXu74eZJ/PbSHg6dzkkIr1OBry4DE=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -29,15 +29,20 @@ buildPythonPackage rec {
     setuptools-scm
   ];
 
+  passthru.optional-dependencies = {
+    social_cards_generation = [
+      matplotlib
+    ];
+  };
+
   propagatedBuildInputs = [
     sphinx
-    matplotlib
   ];
 
   nativeCheckInputs = [
     pytestCheckHook
     beautifulsoup4
-  ];
+  ] ++ passthru.optional-dependencies.social_cards_generation;
 
   pythonImportsCheck = [ "sphinxext.opengraph" ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix b/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix
index e68f9db10193..f62c4d7c9ede 100644
--- a/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spyder-kernels/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "spyder-kernels";
-  version = "2.4.4";
+  version = "2.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NjuwoOFZTLaRY3RkGS9PGZaQlUaSUiQrQ8CSvzBaJd0=";
+    hash = "sha256-M2hCbARFfgIRiE6SdPpH61ViUrpMBz3ydeg8Zd97oqE=";
   };
 
   propagatedBuildInputs = [
@@ -52,7 +52,7 @@ buildPythonPackage rec {
     description = "Jupyter kernels for Spyder's console";
     homepage = "https://docs.spyder-ide.org/current/ipythonconsole.html";
     downloadPage = "https://github.com/spyder-ide/spyder-kernels/releases";
-    changelog = "https://github.com/spyder-ide/spyder-kernels/blob/master/CHANGELOG.md";
+    changelog = "https://github.com/spyder-ide/spyder-kernels/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ gebner ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/spyder/default.nix b/nixpkgs/pkgs/development/python-modules/spyder/default.nix
index 9722222905a0..a70ef94409f7 100644
--- a/nixpkgs/pkgs/development/python-modules/spyder/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/spyder/default.nix
@@ -41,14 +41,14 @@
 
 buildPythonPackage rec {
   pname = "spyder";
-  version = "5.4.5";
+  version = "5.5.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/9p/8avjy1c3Dwos9Byx03kfVrRofVQus+Ae5beFnmo=";
+    hash = "sha256-zjQmUmkqwtXNnZKssNpl24p4FQscZKGiiJj5iwYl2UM=";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix b/nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix
index 281bcdb74528..92cc4ea62784 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.35.1";
+  version = "3.35.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4PA+aXawW9t6XFZFSXGg6YD8Ftv9NRK7073KxPDkNw4=";
+    hash = "sha256-WQsUrSd5FMs/x9XiVHZIR/rNqqI8e6/YXsk4dPb0IUM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
index 8a09309d53a3..936d904c6523 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlmap/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.7.10";
+  version = "1.7.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7b9NZQeKb6dDllAgGOEdIYNUYKgF74VlMt2NKCIV+KQ=";
+    hash = "sha256-gjObtmEvvyCnqd+bLdirzW18/AarmvhF6ItvqJ2Qmuo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix b/nixpkgs/pkgs/development/python-modules/sqlobject/default.nix
index 6a4ea78b82e0..e4ac317418ab 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.3";
+  version = "3.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "SQLObject";
     inherit version;
-    hash = "sha256-pbXO+gXgKD2ycuG6RirEnQnGmBJpUkorptBrS4b8FS4=";
+    hash = "sha256-QrGyrM6e1cxCtF4GxoivXU/Gj2H8VnG7EFcgimLfdng=";
   };
 
   propagatedBuildInputs = [
@@ -44,7 +44,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Object Relational Manager for providing an object interface to your database";
-    homepage = "http://www.sqlobject.org/";
+    homepage = "https://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/stdlibs/default.nix b/nixpkgs/pkgs/development/python-modules/stdlibs/default.nix
index 4d3398d326c3..1b2f80da245d 100644
--- a/nixpkgs/pkgs/development/python-modules/stdlibs/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stdlibs/default.nix
@@ -7,16 +7,16 @@
 
 buildPythonPackage rec {
   pname = "stdlibs";
-  version = "2022.10.9";
+  version = "2023.11.2";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "omnilib";
     repo = "stdlibs";
     rev = "refs/tags/v${version}";
-    hash = "sha256-HkGZw58gQGd8mHnCP4aF6JWXxlpIIfe7B//HJiHVwA4=";
+    hash = "sha256-084px8p+pOHonSiOvi/BklaccudSlw9URtCaalWlI0o=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/steamship/default.nix b/nixpkgs/pkgs/development/python-modules/steamship/default.nix
index 5309312bba35..adc6db83dd9b 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.28";
+  version = "2.17.32";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NdWQiHu5YDIEtL4zJj5Vydjmwq1b5aqVcmqIe7zYv3g=";
+    hash = "sha256-dTpz2/XXu8patDnorg/36652j9VLUjE5uF2fVzbDjfI=";
   };
 
   pythonRelaxDeps = [
diff --git a/nixpkgs/pkgs/development/python-modules/streamlit/default.nix b/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
index c770cce0fdff..9b05380d423e 100644
--- a/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/streamlit/default.nix
@@ -32,14 +32,14 @@
 
 buildPythonPackage rec {
   pname = "streamlit";
-  version = "1.28.0";
+  version = "1.28.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vm/SQOKQvip5hXsa14IrU6PJDxXPbOl9iev02ALX7bE=";
+    hash = "sha256-zKBPbZWxS3vDfwyrrydQS4ava04a+Y1zrMgOzc+8xJI=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/stripe/default.nix b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
index c70241afeb37..88c2ccf45963 100644
--- a/nixpkgs/pkgs/development/python-modules/stripe/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stripe/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "6.5.0";
+  version = "7.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-9fTHare5AfJjHvd3QdBpMg8zKMHjGRjax+20qgSssP0=";
+    hash = "sha256-Pcfdgjk20yYt1DCr5XQ4rzLokQNS27NOspa/21nvCuw=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/stytra/0000-workaround-pyqtgraph.patch b/nixpkgs/pkgs/development/python-modules/stytra/0000-workaround-pyqtgraph.patch
new file mode 100644
index 000000000000..ad0ecbb11301
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/stytra/0000-workaround-pyqtgraph.patch
@@ -0,0 +1,26 @@
+diff --git a/stytra/gui/fishplots.py b/stytra/gui/fishplots.py
+index 49ef1fe..fd1cc50 100644
+--- a/stytra/gui/fishplots.py
++++ b/stytra/gui/fishplots.py
+@@ -13,7 +13,7 @@ from lightparam.gui import ParameterGui
+ from scipy.ndimage.filters import gaussian_filter1d
+ 
+ 
+-class StreamingPositionPlot(pg.GraphicsWindow):
++class StreamingPosition(pg.GraphicsView):
+     """Plot that displays the virtual position of the fish"""
+ 
+     def __init__(self, *args, data_accumulator, n_points=500, **kwargs):
+diff --git a/stytra/utilities.py b/stytra/utilities.py
+index f79c4db..feaa7ef 100644
+--- a/stytra/utilities.py
++++ b/stytra/utilities.py
+@@ -239,7 +239,7 @@ def recursive_update(d, u):
+     :return:
+     """
+     for k, v in u.items():
+-        if isinstance(v, collections.Mapping):
++        if isinstance(v, collections.ChainMap):
+             d[k] = recursive_update(d.get(k, {}), v)
+         else:
+             d[k] = v
diff --git a/nixpkgs/pkgs/development/python-modules/stytra/default.nix b/nixpkgs/pkgs/development/python-modules/stytra/default.nix
index 5bc0a4af75e6..821aaa41437c 100644
--- a/nixpkgs/pkgs/development/python-modules/stytra/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/stytra/default.nix
@@ -15,7 +15,7 @@
 , nose
 , numba
 , numpy
-, opencv3
+, opencv4
 , pandas
 , pims
 , pyqt5
@@ -33,8 +33,7 @@
 buildPythonPackage rec {
   pname = "stytra";
   version = "0.8.34";
-  format = "setuptools";
-
+  pyproject = true;
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
@@ -42,13 +41,13 @@ buildPythonPackage rec {
     sha256 = "aab9d07575ef599a9c0ae505656e3c03ec753462df3c15742f1f768f2b578f0a";
   };
 
-  # crashes python
-  preCheck = ''
-    rm stytra/tests/test_z_experiments.py
-  '';
+  patches = [
+    # https://github.com/portugueslab/stytra/issues/87
+    ./0000-workaround-pyqtgraph.patch
+  ];
 
   propagatedBuildInputs = [
-    opencv3
+    opencv4
     pyqt5
     pyqtgraph
     numpy
@@ -79,10 +78,16 @@ buildPythonPackage rec {
     pyserial
   ];
 
+  disabledTestPaths = [
+    # Crashes python
+    "stytra/tests/test_z_experiments.py"
+  ];
+
   meta = with lib; {
     description = "A modular package to control stimulation and track behaviour";
     homepage = "https://github.com/portugueslab/stytra";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ tbenst ];
+    broken = true;  # incompatible with pyqtgraph>0.13.0: https://github.com/portugueslab/stytra/issues/87
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/subarulink/default.nix b/nixpkgs/pkgs/development/python-modules/subarulink/default.nix
index 92fe9124bf71..603acb73884b 100644
--- a/nixpkgs/pkgs/development/python-modules/subarulink/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/subarulink/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "subarulink";
-  version = "0.7.8";
+  version = "0.7.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "G-Two";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-lBAel9ueuyr6AFNCYk1nHRvf8KvtiszESzRIOqjBjHQ=";
+    hash = "sha256-dRhZWV58tHoGpJ2bDWFov1timTHYnqTPILySauutyzg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix b/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix
index c473a3755fe0..6bcdde6c7390 100644
--- a/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tableauserverclient/default.nix
@@ -1,35 +1,49 @@
 { lib
 , buildPythonPackage
-, python
 , fetchPypi
 , defusedxml
 , requests
 , packaging
 , requests-mock
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "tableauserverclient";
-  version = "0.26";
+  version = "0.28";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-vn7A7n0Z4kTtrm8MEoUJiv94K3qA/4Kx8lElhDM/LlI=";
+    hash = "sha256-jSblDVkuuBBZ7GmPKUYji8wtRoPS7g8r6Ye9EpnjvKA=";
   };
 
-  propagatedBuildInputs = [ defusedxml requests packaging ];
+  propagatedBuildInputs = [
+    defusedxml
+    requests
+    packaging
+  ];
 
-  checkInputs = [ requests-mock ];
+  nativeCheckInputs = [
+    requests-mock
+    pytestCheckHook
+  ];
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  # Tests attempt to create some file artifacts and fails
+  doCheck = false;
 
-  doCheck = false; # it attempts to create some file artifacts and fails
+  pythonImportsCheck = [
+    "tableauserverclient"
+  ];
 
-  meta = {
-    description = "A Python module for working with the Tableau Server REST API.";
-    homepage = "https://pypi.org/project/tableauserverclient/";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ ];
+  meta = with lib; {
+    description = "Module for working with the Tableau Server REST API";
+    homepage = "https://github.com/tableau/server-client-python";
+    changelog = "https://github.com/tableau/server-client-python/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix b/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix
index b985ebf8d893..2bacc67690f0 100644
--- a/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tabula-py/default.nix
@@ -7,13 +7,14 @@
 , pandas
 , pytestCheckHook
 , pythonOlder
-, setuptools-scm
 , setuptools
+, setuptools-scm
+, jpype1
 }:
 
 buildPythonPackage rec {
   pname = "tabula-py";
-  version = "2.8.1";
+  version = "2.8.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,28 +23,30 @@ buildPythonPackage rec {
     owner = "chezou";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-QqTfbSwGaNRXBiAzB1fsEawxCvlIunB1j2jSFD9imPI=";
+    hash = "sha256-Zrq1i+HYXXNulyZ/fv00AgVd7ODj3rP9orLq5rT3ERU=";
   };
 
-  patches = [
-    ./java-interpreter-path.patch
-  ];
-
   postPatch = ''
-    sed -i 's|@JAVA@|${jre}/bin/java|g' $(find -name '*.py')
+    substituteInPlace tabula/backend.py \
+      --replace '"java"' '"${lib.getExe jre}"'
   '';
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
   ];
 
+  buildInputs = [
+    jre
+  ];
+
   propagatedBuildInputs = [
     distro
     numpy
     pandas
-    setuptools
+    jpype1
   ];
 
   nativeCheckInputs = [
@@ -60,6 +63,11 @@ buildPythonPackage rec {
     "test_read_pdf_with_remote_template"
     "test_read_remote_pdf"
     "test_read_remote_pdf_with_custom_user_agent"
+    # not sure what it checks
+    # probably related to jpype, but we use subprocess instead
+    # https://github.com/chezou/tabula-py/issues/352#issuecomment-1730791540
+    # Failed: DID NOT RAISE <class 'RuntimeError'>
+    "test_read_pdf_with_silent_true"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/tabula-py/java-interpreter-path.patch b/nixpkgs/pkgs/development/python-modules/tabula-py/java-interpreter-path.patch
deleted file mode 100644
index fcd03628794a..000000000000
--- a/nixpkgs/pkgs/development/python-modules/tabula-py/java-interpreter-path.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ru origsource/tabula/io.py source/tabula/io.py
---- origsource/tabula/io.py	2022-11-23 17:19:35.419837514 +0100
-+++ source/tabula/io.py	2022-11-23 17:22:08.204194807 +0100
-@@ -79,7 +79,7 @@
-             )
-         )
- 
--    args = ["java"] + java_options + ["-jar", _jar_path()] + options.build_option_list()
-+    args = ["@JAVA@"] + java_options + ["-jar", _jar_path()] + options.build_option_list()
-     if path:
-         args.append(path)
- 
-diff -ru origsource/tabula/util.py source/tabula/util.py
---- origsource/tabula/util.py	2022-11-23 17:19:35.422837521 +0100
-+++ source/tabula/util.py	2022-11-23 17:21:41.514132392 +0100
-@@ -26,7 +26,7 @@
- 
-     try:
-         res = subprocess.check_output(
--            ["java", "-version"], stderr=subprocess.STDOUT
-+            ["@JAVA@", "-version"], stderr=subprocess.STDOUT
-         ).decode()
- 
-     except FileNotFoundError:
-diff -ru origsource/tests/test_read_pdf_table.py source/tests/test_read_pdf_table.py
---- origsource/tests/test_read_pdf_table.py	2022-11-23 17:19:35.422837521 +0100
-+++ source/tests/test_read_pdf_table.py	2022-11-23 17:21:22.008086776 +0100
-@@ -281,7 +281,7 @@
- 
-         tabula.read_pdf(self.pdf_path, encoding="utf-8")
- 
--        target_args = ["java"]
-+        target_args = ["@JAVA@"]
-         if platform.system() == "Darwin":
-             target_args += ["-Djava.awt.headless=true"]
-         target_args += [
-@@ -355,7 +355,7 @@
- 
-         tabula.read_pdf(self.pdf_path, encoding="utf-8", silent=False)
- 
--        target_args = ["java"]
-+        target_args = ["@JAVA@"]
-         if platform.system() == "Darwin":
-             target_args += ["-Djava.awt.headless=true"]
-         target_args += [
-@@ -382,7 +382,7 @@
- 
-         tabula.read_pdf(self.pdf_path, encoding="utf-8", silent=True)
- 
--        target_args = ["java"]
-+        target_args = ["@JAVA@"]
-         if platform.system() == "Darwin":
-             target_args += ["-Djava.awt.headless=true"]
-         target_args += [
diff --git a/nixpkgs/pkgs/development/python-modules/tailscale/default.nix b/nixpkgs/pkgs/development/python-modules/tailscale/default.nix
index 806da0dc3e41..c146c7fd9bd8 100644
--- a/nixpkgs/pkgs/development/python-modules/tailscale/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tailscale/default.nix
@@ -3,8 +3,9 @@
 , aresponses
 , buildPythonPackage
 , fetchFromGitHub
+, mashumaro
+, orjson
 , poetry-core
-, pydantic
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
@@ -13,22 +14,22 @@
 
 buildPythonPackage rec {
   pname = "tailscale";
-  version = "0.3.0";
+  version = "0.6.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.11";
 
   src = fetchFromGitHub {
     owner = "frenck";
     repo = "python-tailscale";
     rev = "refs/tags/v${version}";
-    hash = "sha256-gGDsVGsCBZi/pxD0cyH3+xrvHVBC+wJCcl/NGqsTqiE=";
+    hash = "sha256-wO6yMMU5fxk8GQ0e4ZCse2atlR4wrzulZOFXkVKAsmU=";
   };
 
   postPatch = ''
     # Upstream doesn't set a version for the pyproject.toml
     substituteInPlace pyproject.toml \
-      --replace "0.0.0" "${version}" \
+      --replace 'version = "0.0.0"' 'version = "${version}"' \
       --replace "--cov" ""
   '';
 
@@ -38,7 +39,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
-    pydantic
+    mashumaro
+    orjson
     yarl
   ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/telegram-text/default.nix b/nixpkgs/pkgs/development/python-modules/telegram-text/default.nix
new file mode 100644
index 000000000000..b79cd78bf4b9
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/telegram-text/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, poetry-core
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "telegram-text";
+  version = "0.1.2";
+  pyproject = true;
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "SKY-ALIN";
+    repo = "telegram-text";
+    rev = "v${version}";
+    hash = "sha256-p8SVQq7IvkVuOFE8VDugROLY5Wk0L2HmXyacTzFFSP4=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Python markup module for Telegram messenger";
+    downloadPage = "https://github.com/SKY-ALIN/telegram-text";
+    homepage = "https://telegram-text.alinsky.tech/";
+    changelog = "https://github.com/SKY-ALIN/telegram-text/blob/v${version}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix
index 8e017cc55b0f..e81e9736c26c 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow-probability/default.nix
@@ -27,17 +27,17 @@
 }:
 
 let
-  version = "0.19.0";
-  pname = "tensorflow_probability";
+  version = "0.21.0";
+  pname = "tensorflow-probability";
 
   # first build all binaries and generate setup.py using bazel
   bazel-wheel = buildBazelPackage {
-    name = "${pname}-${version}-py2.py3-none-any.whl";
+    name = "tensorflow_probability-${version}-py2.py3-none-any.whl";
     src = fetchFromGitHub {
       owner = "tensorflow";
       repo = "probability";
-      rev = "v" + version;
-      hash = "sha256-ZkQ20Qt/RF/leVP6Kc38tGgPz+C6lEuHvoL+s97oksE=";
+      rev = "refs/tags/v${version}";
+      hash = "sha256-DsJd1E5n86xNS7Ci0DXxoUxQ9jH8OwTZq2UuLlQtMUU=";
     };
     nativeBuildInputs = [
       # needed to create the output wheel in installPhase
@@ -54,8 +54,7 @@ let
     LIBTOOL = lib.optionalString stdenv.isDarwin "${cctools}/bin/libtool";
 
     fetchAttrs = {
-      # FIXME: tensorflow is currently marked as broken, update the hash once it's fixed
-      sha256 = "sha256-0ChXujA2XpnkybrraN3FIJA/QkxLCfX97id2jMFzFJk=";
+      sha256 = "sha256-1iO/eXz1wvSIRTmGuGZDF9VeDVTiWYnjw0Cby4n/6HM=";
     };
 
     buildAttrs = {
@@ -117,6 +116,6 @@ in buildPythonPackage {
     description = "Library for probabilistic reasoning and statistical analysis";
     homepage = "https://www.tensorflow.org/probability/";
     license = licenses.asl20;
-    maintainers = with maintainers; [];  # This package is maintainerless.
+    maintainers = with maintainers; [ GaetanLepage ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix b/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix
index daf4db447c4c..fe840bcd4e2c 100644
--- a/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "3.9.6";
+  version = "3.9.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-CMgqZePM67IejwYy+x6vfFSPpAA5NRUp5KRD1lEq7io=";
+    hash = "sha256-A59b7qr9Y4LuIwP51ci7k1019/T+qNcDYPDNCkmqpi4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/textual/default.nix b/nixpkgs/pkgs/development/python-modules/textual/default.nix
index 6b7598a386be..3a5486ff86e6 100644
--- a/nixpkgs/pkgs/development/python-modules/textual/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/textual/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "textual";
-  version = "0.40.0";
+  version = "0.41.0";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "Textualize";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-+3bxc0ryHtbEJkB+EqjJhW+yWJWxMkxlSav4v6D3/gw=";
+    hash = "sha256-K3JpAVkw6njUT2AGGLL3ACagPK0K6Ny4PvCsbmuNvTo=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/thinc/default.nix b/nixpkgs/pkgs/development/python-modules/thinc/default.nix
index 18f8623f4539..ccf17cdb117f 100644
--- a/nixpkgs/pkgs/development/python-modules/thinc/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/thinc/default.nix
@@ -30,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "thinc";
-  version = "8.2.0";
+  version = "8.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-gsoeeDHjVNdMZ3bth9vXP0qtWe0ljIdGy+hoaIGG/Ek=";
+    hash = "sha256-zX/bPYg6FeaQYlTn+wFi9ph46czdH4UZ22/7/ka/b0k=";
   };
 
   postPatch = ''
@@ -97,6 +97,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for NLP machine learning";
     homepage = "https://github.com/explosion/thinc";
+    changelog = "https://github.com/explosion/thinc/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ aborsu ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/tika-client/default.nix b/nixpkgs/pkgs/development/python-modules/tika-client/default.nix
index 0d1e44468e4e..e148fce24163 100644
--- a/nixpkgs/pkgs/development/python-modules/tika-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tika-client/default.nix
@@ -7,7 +7,7 @@
 }:
 buildPythonPackage rec {
   pname = "tika-client";
-  version = "0.4.0";
+  version = "0.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "stumpylog";
     repo = "tika-client";
     rev = "refs/tags/${version}";
-    hash = "sha256-yp9Wxc5RUZYhv2RxQwImZGqqoQmtZEkfEmj40ilxhQM=";
+    hash = "sha256-fFibRF3SoDOje6M9YmZI0dwYVn/cvgXqmClvqvNy5f8=";
   };
 
   propagatedBuildInputs = [
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     description = "A modern Python REST client for Apache Tika server";
     homepage = "https://github.com/stumpylog/tika-client";
     changelog = "https://github.com/stumpylog/tika-client/blob/${version}/CHANGELOG.md";
-    license = licenses.gpl3;
+    license = licenses.mpl20;
     maintainers = with maintainers; [ e1mo ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/timetagger/default.nix b/nixpkgs/pkgs/development/python-modules/timetagger/default.nix
index e41158d8c167..04c14fe5f068 100644
--- a/nixpkgs/pkgs/development/python-modules/timetagger/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/timetagger/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "timetagger";
-  version = "23.9.2";
+  version = "23.11.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "almarklein";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-pg4lKRsgi4SZrKYnVmMfU5hzJriRqVa3InYW9emFLy8=";
+    hash = "sha256-PPB/BTZLuHmbKmUIe5gZMAwV+TUDqXBYg6fKsokTotg=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/timm/default.nix b/nixpkgs/pkgs/development/python-modules/timm/default.nix
index ada6db7af867..fc944620e459 100644
--- a/nixpkgs/pkgs/development/python-modules/timm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/timm/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "timm";
-  version = "0.9.9";
+  version = "0.9.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "pytorch-image-models";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mJzKDRc7husSpunlu12gnx9WErI6oEcEyCtrpkKbPBs=";
+    hash = "sha256-PyrJhyJmuF7BZzlQ4f5fiJY5fYFC1JPRLto5ljPVbY4=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tiny-proxy/default.nix b/nixpkgs/pkgs/development/python-modules/tiny-proxy/default.nix
index cbb015909ec0..9a319d90a164 100644
--- a/nixpkgs/pkgs/development/python-modules/tiny-proxy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tiny-proxy/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "tiny-proxy";
-  version = "0.2.0";
+  version = "0.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "romis2012";
     repo = "tiny-proxy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-emQRiG2QiuZt4/lI8shJOvMpaqXNyJ/PMvtDZPaoyLo=";
+    hash = "sha256-59T09qcOstl/yfzQmNlTNxGerQethZntwDAHwz/5FFM=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
index 37136608e89b..7788bd00fb05 100644
--- a/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tldextract/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "tldextract";
-  version = "5.0.1";
+  version = "5.1.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "john-kurkowski";
     repo = "tldextract";
     rev = "refs/tags/${version}";
-    hash = "sha256-+JZnSIjG1avQ14NxbYF5on2ukJtTWTq+hVIqYCvPjsQ=";
+    hash = "sha256-x5SJcbTUrqG7mMUPXIhR1rEu3PZ+VA00dFYeoGnX5l0=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/tlds/default.nix b/nixpkgs/pkgs/development/python-modules/tlds/default.nix
index 207b605070ae..3967781bb0f8 100644
--- a/nixpkgs/pkgs/development/python-modules/tlds/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tlds/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "tlds";
-  version = "2023102600";
+  version = "2023110300";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "kichik";
     repo = "tlds";
     rev = "refs/tags/${version}";
-    hash = "sha256-ncbgR/syMChIL0/FGLOHxHJMUzH0G+rZX9aCXun7yc4=";
+    hash = "sha256-rmKqY7Z4bBR4r+w4gH04g0Xm9N7QeMVcuFR3pB/pOQY=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/torch/default.nix b/nixpkgs/pkgs/development/python-modules/torch/default.nix
index 59396d421ed9..0789431b47b4 100644
--- a/nixpkgs/pkgs/development/python-modules/torch/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torch/default.nix
@@ -42,13 +42,17 @@
   pythonOlder,
 
   # ROCm dependencies
-  rocmSupport ? false,
-  gpuTargets ? [ ], rocmPackages
+  rocmSupport ? config.rocmSupport,
+  rocmPackages,
+  gpuTargets ? [ ]
 }:
 
 let
   inherit (lib) attrsets lists strings trivial;
-  inherit (cudaPackages) cudaFlags cudnn nccl;
+  inherit (cudaPackages) cudaFlags cudnn;
+
+  # Some packages are not available on all platforms
+  nccl = cudaPackages.nccl or null;
 
   setBool = v: if v then "1" else "0";
 
@@ -178,6 +182,13 @@ in buildPythonPackage rec {
         'message(FATAL_ERROR "Found NCCL header version and library version' \
         'message(WARNING "Found NCCL header version and library version'
   ''
+  # TODO(@connorbaker): Remove this patch after 2.1.0 lands.
+  + lib.optionalString cudaSupport ''
+    substituteInPlace torch/utils/cpp_extension.py \
+      --replace \
+        "'8.6', '8.9'" \
+        "'8.6', '8.7', '8.9'"
+  ''
   # error: no member named 'aligned_alloc' in the global namespace; did you mean simply 'aligned_alloc'
   # This lib overrided aligned_alloc hence the error message. Tltr: his function is linkable but not in header.
   + lib.optionalString (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "11.0") ''
@@ -228,7 +239,7 @@ in buildPythonPackage rec {
 
   preBuild = ''
     export MAX_JOBS=$NIX_BUILD_CORES
-    ${python.pythonForBuild.interpreter} setup.py build --cmake-only
+    ${python.pythonOnBuildForHost.interpreter} setup.py build --cmake-only
     ${cmake}/bin/cmake build
   '';
 
@@ -253,6 +264,7 @@ in buildPythonPackage rec {
   PYTORCH_BUILD_VERSION = version;
   PYTORCH_BUILD_NUMBER = 0;
 
+  USE_NCCL = setBool (nccl != null);
   USE_SYSTEM_NCCL = setBool useSystemNccl;                  # don't build pytorch's third_party NCCL
   USE_STATIC_NCCL = setBool useSystemNccl;
 
@@ -291,7 +303,7 @@ in buildPythonPackage rec {
   ])
   ++ lib.optionals rocmSupport [ rocmtoolkit_joined ];
 
-  buildInputs = [ blas blas.provider pybind11 ]
+  buildInputs = [ blas blas.provider ]
     ++ lib.optionals stdenv.isLinux [ linuxHeaders_5_19 ] # TMP: avoid "flexible array member" errors for now
     ++ lib.optionals cudaSupport (with cudaPackages; [
       cuda_cccl.dev # <thrust/*>
@@ -316,6 +328,8 @@ in buildPythonPackage rec {
       libcusolver.lib
       libcusparse.dev
       libcusparse.lib
+    ] ++ lists.optionals (nccl != null) [
+      # Some platforms do not support NCCL (i.e., Jetson)
       nccl.dev # Provides nccl.h AND a static copy of NCCL!
     ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [
       cuda_nvprof.dev # <cuda_profiler_api.h>
@@ -342,17 +356,15 @@ in buildPythonPackage rec {
 
     # the following are required for tensorboard support
     pillow six future tensorboard protobuf
+
+    # ROCm build and `torch.compile` requires openai-triton
+    openai-triton
+
+    # torch/csrc requires `pybind11` at runtime
+    pybind11
   ]
   ++ lib.optionals MPISupport [ mpi ]
-  ++ lib.optionals rocmSupport [ rocmtoolkit_joined ]
-  # rocm build requires openai-triton;
-  # openai-triton currently requires cuda_nvcc,
-  # so not including it in the cpu-only build;
-  # torch.compile relies on openai-triton,
-  # so we include it for the cuda build as well
-  ++ lib.optionals (rocmSupport || cudaSupport) [
-    openai-triton
-  ];
+  ++ lib.optionals rocmSupport [ rocmtoolkit_joined ];
 
   # Tests take a long time and may be flaky, so just sanity-check imports
   doCheck = false;
diff --git a/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix b/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix
index 6cc7bcf3e27c..59b7e99c9dfc 100644
--- a/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchinfo/default.nix
@@ -53,6 +53,8 @@ buildPythonPackage rec {
     "test_flan_t5_small"
     # AssertionError in output
     "test_google"
+    # "addmm_impl_cpu_" not implemented for 'Half'
+    "test_input_size_half_precision"
   ];
 
   disabledTestPaths = [
diff --git a/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix b/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix
index 85e85c16afc7..ee66ee817d1f 100644
--- a/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/torchmetrics/default.nix
@@ -14,6 +14,8 @@
 , pytestCheckHook
 , torchmetrics
 , pytorch-lightning
+, pytest-doctestplus
+, pytest-xdist
 }:
 
 let
@@ -22,10 +24,11 @@ let
 in
 buildPythonPackage {
   inherit pname version;
+  pyproject = true;
 
   src = fetchFromGitHub {
-    owner = "PyTorchLightning";
-    repo = "metrics";
+    owner = "Lightning-AI";
+    repo = "torchmetrics";
     rev = "refs/tags/v${version}";
     hash = "sha256-g5JuTbiRd8yWx2nM3UE8ejOhuZ0XpAQdS5AC9AlrSFY=";
   };
@@ -51,22 +54,33 @@ buildPythonPackage {
     cloudpickle
     psutil
     pytestCheckHook
+    pytest-doctestplus
+    pytest-xdist
   ];
 
   # A cyclic dependency in: integrations/test_lightning.py
   doCheck = false;
   passthru.tests.check = torchmetrics.overridePythonAttrs (_: {
+    pname = "${pname}-check";
     doCheck = true;
+    # We don't have to install because the only purpose
+    # of this passthru test is to, well, test.
+    # This fixes having to set `catchConflicts` to false.
+    dontInstall = true;
   });
 
+  disabledTests = [
+    # `IndexError: list index out of range`
+    "test_metric_lightning_log"
+  ];
+
   disabledTestPaths = [
     # These require too many "leftpad-level" dependencies
-    "tests/text"
-    "tests/audio"
-    "tests/image"
+    # Also too cross-dependent
+    "tests/unittests"
 
-    # A few non-deterministic things like test_check_compute_groups_is_faster
-    "tests/bases/test_collections.py"
+    # A trillion import path mismatch errors
+    "src/torchmetrics"
   ];
 
   pythonImportsCheck = [
@@ -75,11 +89,10 @@ buildPythonPackage {
 
   meta = with lib; {
     description = "Machine learning metrics for distributed, scalable PyTorch applications (used in pytorch-lightning)";
-    homepage = "https://torchmetrics.readthedocs.io";
+    homepage = "https://lightning.ai/docs/torchmetrics/";
     license = licenses.asl20;
     maintainers = with maintainers; [
       SomeoneSerge
     ];
   };
 }
-
diff --git a/nixpkgs/pkgs/development/python-modules/torrent-parser/default.nix b/nixpkgs/pkgs/development/python-modules/torrent-parser/default.nix
new file mode 100644
index 000000000000..2e946229747f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/torrent-parser/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "torrent-parser";
+  version = "0.4.1";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner  = "7sDream";
+    repo   = "torrent_parser";
+    rev    = "v${version}";
+    hash = "sha256-zM738r3o9dGZYoWLN7fM4E06m6YPcAODEkgDS6wU/Sc=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "torrent_parser"
+  ];
+
+  meta = {
+    description = "A .torrent file parser and creator for both Python 2 and 3";
+    homepage    = "https://github.com/7sDream/torrent_parser";
+    changelog = "https://github.com/7sDream/torrent_parser/blob/${src.rev}/CHANGELOG.md";
+    license     = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/torrent_parser/default.nix b/nixpkgs/pkgs/development/python-modules/torrent_parser/default.nix
deleted file mode 100644
index f60300086f2a..000000000000
--- a/nixpkgs/pkgs/development/python-modules/torrent_parser/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ buildPythonPackage, lib, fetchFromGitHub }:
-
-buildPythonPackage rec {
-  pname = "torrent_parser";
-  version = "0.4.1";
-
-  # No tarballs on Pypi
-  src = fetchFromGitHub {
-    owner  = "7sDream";
-    repo   = "torrent_parser";
-    rev    = "v${version}";
-    sha256 = "sha256-zM738r3o9dGZYoWLN7fM4E06m6YPcAODEkgDS6wU/Sc=";
-  };
-
-  meta = {
-    description = "A .torrent file parser and creator for both Python 2 and 3";
-    homepage    = "https://github.com/7sDream/torrent_parser";
-    license     = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ ];
-  };
-}
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 b2be7b6f3e7a..8dcb2cda2cea 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.5";
+  version = "1.3.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "tplink_omada_client";
     inherit version;
-    hash = "sha256-tCyYaYJIkuJBGgE3xxc/jMir1mc7UDRXZ3i1Ai1/mxs=";
+    hash = "sha256-8NP+5qBdWiBUPf5DJWMrHJfZwpRNkCewjrjTbvgD3AA=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/transformers/default.nix b/nixpkgs/pkgs/development/python-modules/transformers/default.nix
index 2b8d597ae67f..aca851a22f89 100644
--- a/nixpkgs/pkgs/development/python-modules/transformers/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/transformers/default.nix
@@ -51,7 +51,7 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.34.1";
+  version = "4.35.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -60,7 +60,7 @@ buildPythonPackage rec {
     owner = "huggingface";
     repo = "transformers";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZyRn1AyyKvtrUUSWZ95jfIMXydcCSM5zZeseF7golhU=";
+    hash = "sha256-ayHx3U/Jpo8K189M6qjRvRbFa9QEpx2uqG85hB8zC/Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/troposphere/default.nix b/nixpkgs/pkgs/development/python-modules/troposphere/default.nix
index 39c71da17761..016ed7de737b 100644
--- a/nixpkgs/pkgs/development/python-modules/troposphere/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/troposphere/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "troposphere";
-  version = "4.4.1";
+  version = "4.5.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "cloudtools";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ecRpp8XsP/iv4G8m85qcGJXHXH4CPdgBO8c0IZU56wU=";
+    hash = "sha256-LLky4lSSMUmLEf+qHwgPvDu0DZhG4WWZ1aFSXqFm1BA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tweepy/default.nix b/nixpkgs/pkgs/development/python-modules/tweepy/default.nix
index acbc2f28b081..4b8312257592 100644
--- a/nixpkgs/pkgs/development/python-modules/tweepy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tweepy/default.nix
@@ -44,11 +44,34 @@ buildPythonPackage rec {
     "tweepy"
   ];
 
+  # The checks with streaming fail due to (seemingly) not decoding (or unexpectedly sending response in) GZIP
+  # Same issue impacted mastodon-py, see https://github.com/halcy/Mastodon.py/commit/cd86887d88bbc07de462d1e00a8fbc3d956c0151 (who just disabled these)
+  disabledTestPaths = [
+    "tests/test_client.py"
+  ];
+
+  disabledTests = [
+    "test_indicate_direct_message_typing"
+    "testcachedifferentqueryparameters"
+    "testcachedresult"
+    "testcreatedestroyblock"
+    "testcreatedestroyfriendship"
+    "testcreateupdatedestroylist"
+    "testgetfollowerids"
+    "testgetfollowers"
+    "testgetfriendids"
+    "testgetfriends"
+    "testgetuser"
+    "testcursorcursoritems"
+    "testcursorcursorpages"
+    "testcursornext"
+  ];
+
   meta = with lib; {
     description = "Twitter library for Python";
     homepage = "https://github.com/tweepy/tweepy";
     changelog = "https://github.com/tweepy/tweepy/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ marius851000 ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/twilio/default.nix b/nixpkgs/pkgs/development/python-modules/twilio/default.nix
index e12271c48645..dac090b3957a 100644
--- a/nixpkgs/pkgs/development/python-modules/twilio/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/twilio/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "8.10.0";
+  version = "8.10.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-1y9kETu2E7dN7fmE0qP6yAVwMcVGCYnyPQYzIIApKjU=";
+    hash = "sha256-bOWyvgqa9h5SaGFPtdsvMS8HxY8Pg3uLgugXH+2opEA=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/txtai/default.nix b/nixpkgs/pkgs/development/python-modules/txtai/default.nix
index 75b83aaaa090..45e8980da423 100644
--- a/nixpkgs/pkgs/development/python-modules/txtai/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/txtai/default.nix
@@ -52,7 +52,7 @@
 , unittestCheckHook
 }:
 let
-  version = "6.1.0";
+  version = "6.2.0";
   api = [ aiohttp fastapi uvicorn ];
   # cloud = [ apache-libcloud ];
   console = [ rich ];
@@ -105,7 +105,7 @@ buildPythonPackage {
     owner = "neuml";
     repo = "txtai";
     rev = "refs/tags/v${version}";
-    hash = "sha256-ZUMfDyebroa9r01bOUFYDyVjuNUqlPU88HBocp3YQJ4=";
+    hash = "sha256-aWuY2z5DIVhZ5bRADhKSadCofIQQdLQAb52HnjPMS/4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-aiobotocore/default.nix b/nixpkgs/pkgs/development/python-modules/types-aiobotocore/default.nix
index 638a00c60903..81be449f7f0c 100644
--- a/nixpkgs/pkgs/development/python-modules/types-aiobotocore/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-aiobotocore/default.nix
@@ -364,12 +364,12 @@
 
 buildPythonPackage rec {
   pname = "types-aiobotocore";
-  version = "2.6.0";
+  version = "2.7.0";
   pyproject = true;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GF3YDuyhnEx0JpOxU/tRAnFu+98p0TF5NCU1CXnR2bE=";
+    hash = "sha256-JVtG3t6rkZ5nrttMlryqdcU35DSblNe3MfvlqLqHJp0=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix b/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix
index afd09159424d..41e92d025d3b 100644
--- a/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-awscrt/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "types-awscrt";
-  version = "0.19.8";
+  version = "0.19.10";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "types_awscrt";
     inherit version;
-    hash = "sha256-otU0twF8NHbuaaRL2K6vO1iMQrqoMiRz0QCkXuZ1ENc=";
+    hash = "sha256-YowjnLt7eCBzBfklBOEEDRClp/ToA3KLi+xuftUoti4=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-pillow/default.nix b/nixpkgs/pkgs/development/python-modules/types-pillow/default.nix
index 74b85c6e4a4d..45d4c9bedf18 100644
--- a/nixpkgs/pkgs/development/python-modules/types-pillow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-pillow/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "types-pillow";
-  version = "10.0.0.3";
+  version = "10.1.0.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit version;
     pname = "types-Pillow";
-    hash = "sha256-rgyHfTY9o0m7uCxUY8nngDcpDMB9NxTLDOr10vf1yCU=";
+    hash = "sha256-UlwcXuZ7CsFyHEDSvGGCJu8hI8NH5SfhTgW5IHIaE7k=";
   };
 
   # Modules doesn't have tests
diff --git a/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix b/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
index e644b715544f..1004c671a1c7 100644
--- a/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-protobuf/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-protobuf";
-  version = "4.24.0.2";
+  version = "4.24.0.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WYuyKQubDqZfT2NWmgneqkR17de7DYWJBXo43rCxn08=";
+    hash = "sha256-V6tCyxcd/bosdLtbUMJQR4U4zDxe2VuLNokprQyfkKU=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-pyopenssl/default.nix b/nixpkgs/pkgs/development/python-modules/types-pyopenssl/default.nix
index 76691b13b12e..b7f751a0cca1 100644
--- a/nixpkgs/pkgs/development/python-modules/types-pyopenssl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/types-pyopenssl/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "types-pyopenssl";
-  version = "23.2.0.2";
+  version = "23.3.0.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "types-pyOpenSSL";
     inherit version;
-    hash = "sha256-agENrJ7NQrWC190sw+nkBIa3mztkuy//uhR0/5avkG0=";
+    hash = "sha256-X/sHf+cLaZyI1cqrmZroDhkv4ov2zaeYm355seTi3NM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/types-redis/default.nix b/nixpkgs/pkgs/development/python-modules/types-redis/default.nix
index 1b59386174eb..c2e0e0551321 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.7";
+  version = "4.6.0.10";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KMQVPdtcnU8Q3vRKJFRnPDYdLV/DzYZ887sVIPP1mjg=";
+    hash = "sha256-qn+190NTRQDydN3xGrHJEKrhAgSBhlo2t5nh1n3iqvM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ubelt/default.nix b/nixpkgs/pkgs/development/python-modules/ubelt/default.nix
new file mode 100644
index 000000000000..a85be00ddf79
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/ubelt/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, wheel
+, numpy
+, python-dateutil
+, xxhash
+, pytestCheckHook
+, requests
+, xdoctest
+}:
+
+buildPythonPackage rec {
+  pname = "ubelt";
+  version = "1.3.4";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "Erotemic";
+    repo = "ubelt";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-pvCmmdPRLupMUCiOvfa+JTX8NPFZ/UcXSPEaaDG3eTk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  passthru.optional-dependencies = {
+    optional = [
+      numpy
+      python-dateutil
+      xxhash
+    ];
+  };
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    requests
+    xdoctest
+  ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  disabledTests = lib.optionals stdenv.isDarwin [
+    # fail due to sandbox environment
+    "CacheStamp.expired"
+    "userhome"
+  ];
+
+  pythonImportsCheck = [ "ubelt" ];
+
+  __darwinAllowLocalNetworking = true;
+
+  meta = with lib; {
+    description = "A Python utility library with a stdlib like feel and extra batteries. Paths, Progress, Dicts, Downloads, Caching, Hashing: ubelt makes it easy";
+    homepage = "https://github.com/Erotemic/ubelt";
+    changelog = "https://github.com/Erotemic/ubelt/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ natsukium ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix b/nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix
index 90f5b783cc8d..7d285b062880 100644
--- a/nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ucsmsdk/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ucsmsdk";
-  version = "0.9.15";
+  version = "0.9.16";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "CiscoUcs";
     repo = "ucsmsdk";
     rev = "refs/tags/v${version}";
-    hash = "sha256-xNRfsIfhoVI5ORWn6NmLCuMMJregIZWQ20QBiBsA1Pc=";
+    hash = "sha256-9ksHA8uvBv370/6Umt5iz/4F8VsDDI9X8kVc5Lv0RVk=";
   };
 
   propagatedBuildInputs = [
@@ -30,6 +30,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python SDK for Cisco UCS";
     homepage = "https://github.com/CiscoUcs/ucsmsdk";
+    changelog = "https://github.com/CiscoUcs/ucsmsdk/blob/v${version}/HISTORY.rst";
     license = licenses.asl20;
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/ulid-transform/default.nix b/nixpkgs/pkgs/development/python-modules/ulid-transform/default.nix
index 77c4b099687d..95b765bd3e60 100644
--- a/nixpkgs/pkgs/development/python-modules/ulid-transform/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ulid-transform/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "ulid-transform";
-  version = "0.8.1";
+  version = "0.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-isngr9CZ2YYuq+5s3p4HXrTU20vPqZGZ1r8mBoVkxiI=";
+    hash = "sha256-r9uxPXpmQSsL1rX4d9TH87olFbZugdGdNG++Ygjie1I=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix b/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix
index 04d3bd6fd9f4..4083810195a9 100644
--- a/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/umap-learn/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "umap-learn";
-  version = "0.5.3";
+  version = "0.5.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -25,40 +25,9 @@ buildPythonPackage rec {
     owner = "lmcinnes";
     repo = "umap";
     rev = version;
-    hash = "sha256-S2+k7Ec4AxsN6d0GUGnU81oLnBgmlZp8OmUFCNaUJYw=";
+    hash = "sha256-cvAq9b7xDowLIfIAzV+X08SUEL0QOisr/wBXMYeQ/8A=";
   };
 
-  patches = [
-    # Fix tests with sklearn>=1.2.0
-    (fetchpatch {
-      url = "https://github.com/lmcinnes/umap/commit/a714b59bd9e2ca2e63312bc3491b2b037a42f2f2.patch";
-      hash = "sha256-WOSWNN5ewVTV7IEBEA7ZzgZYMZxctF1jAWs9ylKTyLs=";
-    })
-    (fetchpatch {
-      url = "https://github.com/lmcinnes/umap/commit/c7d05683325589ad432a55e109cacb9d631cfaa9.patch";
-      hash = "sha256-hE2Svxf7Uja+DbCmTDCnd7mZynjNbC5GUjfqg4ZRO9Y=";
-    })
-    (fetchpatch {
-      url = "https://github.com/lmcinnes/umap/commit/949abd082524fce8c45dfb147bcd8e8ef49eade3.patch";
-      hash = "sha256-8/1k8iYeF77FIaUApNtY07auPJkrt3vNRR/HTYRvq+0=";
-    })
-    # Fix tests with numpy>=1.24
-    # https://github.com/lmcinnes/umap/pull/952
-    (fetchpatch {
-      url = "https://github.com/lmcinnes/umap/commit/588e1f724c9f5de528eb1500b0c85a1a609fe947.patch";
-      hash = "sha256-B50eyMs3CRuzOAq+jxz56XMJPdiUofUxCL0Vqolaafo=";
-    })
-    # https://github.com/lmcinnes/umap/pull/1010
-    (fetchpatch {
-      url = "https://github.com/lmcinnes/umap/commit/848396c762c894e666aaf3d0bcfe1e041b529ea6.patch";
-      hash = "sha256-ir0Pxfr2c0oSuFGXQqHjkj7nzvlpTXCYbaI9qAiLun0=";
-    })
-    (fetchpatch {
-      url = "https://github.com/lmcinnes/umap/commit/30e39938f4627f327223245dfe2c908af6b7e304.patch";
-      hash = "sha256-7Divrym05wIPa7evgrNYXGm44/EOWG8sIYV8fmtuzJ4=";
-    })
-  ];
-
   propagatedBuildInputs = [
     numba
     numpy
diff --git a/nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix b/nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix
index 5e09df1f6d1f..972aa3093a8c 100644
--- a/nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unicodedata2/default.nix
@@ -1,22 +1,35 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, isPy27 }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "unicodedata2";
-  version = "15.0.0";
+  version = "15.1.0";
+  format = "setuptools";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0bcgls7m2zndpd8whgznnd5908jbsa50si2bh88wsn0agcznhv7d";
+    hash = "sha256-yzDxia1mSC+FKaRdpxsqiEHpvSuzdswpMwA6SlWgdkg=";
   };
 
-  nativeCheckInputs = [ pytestCheckHook ];
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "unicodedata2"
+  ];
 
   meta = with lib; {
     description = "Backport and updates for the unicodedata module";
     homepage = "https://github.com/mikekap/unicodedata2";
+    changelog = "https://github.com/fonttools/unicodedata2/releases/tag/${version}";
     license = licenses.asl20;
-    maintainers = [ maintainers.sternenseemann ];
+    maintainers = with maintainers; [ sternenseemann ];
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix b/nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix
index ee2557aeffa4..549c0b6dd0f2 100644
--- a/nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unstructured-inference/default.nix
@@ -22,14 +22,14 @@
 
 buildPythonPackage rec {
   pname = "unstructured-inference";
-  version = "0.7.5";
+  version = "0.7.11";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Unstructured-IO";
     repo = "unstructured-inference";
     rev = "refs/tags/${version}";
-    hash = "sha256-PorNIga1NgKgxkTfa5uBbVJbYoETuDrskDr2jSGwyYE=";
+    hash = "sha256-cUd1umD61xHPehutBh5pUWTLyOdn3vbgerRQmsOpuDM=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/unstructured/default.nix b/nixpkgs/pkgs/development/python-modules/unstructured/default.nix
index acadf65a7529..582d0040e109 100644
--- a/nixpkgs/pkgs/development/python-modules/unstructured/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/unstructured/default.nix
@@ -56,7 +56,7 @@
 , grpcio
 }:
 let
-  version = "0.10.24";
+  version = "0.10.30";
   optional-dependencies = {
     huggingflace = [
       langdetect
@@ -90,7 +90,7 @@ buildPythonPackage {
     owner = "Unstructured-IO";
     repo = "unstructured";
     rev = "refs/tags/${version}";
-    hash = "sha256-C1rjZRNXFr3syPnq7uhKRYz9Xydmunc/0uQcLxfN6tU=";
+    hash = "sha256-RaVg4XNmh1S5G1CHQiME7t/BmK0MI9M8wI2YTKjpqzM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix b/nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix
index f1dc4418b268..70446323f1d9 100644
--- a/nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vdirsyncer/default.nix
@@ -85,5 +85,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/pimutils/vdirsyncer/blob/v${version}/CHANGELOG.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ loewenheim ];
+    mainProgram = "vdirsyncer";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/vector/default.nix b/nixpkgs/pkgs/development/python-modules/vector/default.nix
index cbfe657219e8..1d8168467db5 100644
--- a/nixpkgs/pkgs/development/python-modules/vector/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vector/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "vector";
-  version = "1.1.1";
+  version = "1.1.1.post1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-aVdFHlnOUI9hgzVRnFPzDOuItwU9ZfPRZkWf1wjtOLU=";
+    hash = "sha256-elWuVJgW5fyg5S+rjMZtSw5Ls7d1OTPoW0FnZXlANys=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vega-datasets/default.nix b/nixpkgs/pkgs/development/python-modules/vega-datasets/default.nix
new file mode 100644
index 000000000000..e0c9133767fc
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/vega-datasets/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, pandas
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "vega-datasets";
+  version = "0.9.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "vega_datasets";
+    inherit version;
+    hash = "sha256-nb6YNCCOjsMqtElw3zFd6RAoYeTNoT2OFDqreoDZP8A=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [ pandas ];
+
+  nativeCheckInputs = [ pytestCheckHook ];
+
+  pytestFlagsArray = [
+    "--doctest-modules"
+  ];
+
+  pythonImportsCheck = [
+    "vega_datasets"
+  ];
+
+  meta = with lib; let
+    tag = removeSuffix ".0" "v${version}";
+  in {
+    description = "A Python package for offline access to vega datasets";
+    homepage = "https://github.com/altair-viz/vega_datasets";
+    changelog = "https://github.com/altair-viz/vega_datasets/blob/${tag}/CHANGES.md";
+    license = licenses.mit;
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/vega_datasets/default.nix b/nixpkgs/pkgs/development/python-modules/vega_datasets/default.nix
deleted file mode 100644
index 629f5407437c..000000000000
--- a/nixpkgs/pkgs/development/python-modules/vega_datasets/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, pandas, pytest }:
-
-buildPythonPackage rec {
-  pname = "vega_datasets";
-  version = "0.9.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9dbe9834208e8ec32ab44970df315de9102861e4cda13d8e143aab7a80d93fc0";
-  };
-
-  propagatedBuildInputs = [ pandas ];
-
-  nativeCheckInputs = [ pytest ];
-
-  checkPhase = ''
-    py.test vega_datasets --doctest-modules -k 'not column_names'
-  '';
-
-  meta = with lib; {
-    description = "A Python package for offline access to vega datasets";
-    homepage = "https://github.com/altair-viz/vega_datasets";
-    license = licenses.mit;
-  };
-}
diff --git a/nixpkgs/pkgs/development/python-modules/versioneer/default.nix b/nixpkgs/pkgs/development/python-modules/versioneer/default.nix
index 3962b608ca3a..bbd43887025c 100644
--- a/nixpkgs/pkgs/development/python-modules/versioneer/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/versioneer/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "python-versioneer";
     repo = "python-versioneer";
     rev = "refs/tags/${version}";
-    hash = "sha256-seYT/v691QB0LUzeI4MraegbNILU3tLO//9UbZIfe+A=";
+    hash = "sha256-3b7Wfhd24Vym5XCeN/M1832Q1VzvlWi3quTRaZrID2s=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix b/nixpkgs/pkgs/development/python-modules/vertica-python/default.nix
index 436ab5fa1ba4..26660fec990a 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.5";
+  version = "1.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KzvJcBR6Bc+z6IAmJ0KR88aSQMjRx1UilS28oBv9nTE=";
+    hash = "sha256-LLlaLP9NgzpJyxsEGPd7sdcVX/qXY8mO3ZQNm39gocM=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/vine/default.nix b/nixpkgs/pkgs/development/python-modules/vine/default.nix
index 200f4f68ebef..47e9c7b7a3c7 100644
--- a/nixpkgs/pkgs/development/python-modules/vine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/vine/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "vine";
-  version = "5.0.0";
+  version = "5.1.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fTsWJKlT2oLvY0YgE7vScdPrdXUUifmAdZjo80C9Y34=";
+    hash = "sha256-i2LpgdNcQQSSEc9ioKEkLYwe6b0Vuxls44rv1nmeYeA=";
   };
 
   nativeCheckInputs = [
@@ -30,6 +30,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python promises";
     homepage = "https://github.com/celery/vine";
+    changelog = "https://github.com/celery/vine/releases/tag/v${version}";
     license = licenses.bsd3;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix b/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
index 29439bb2a2d1..23b41404034f 100644
--- a/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wagtail-localize/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "wagtail-localize";
-  version = "1.5.2";
+  version = "1.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     repo = pname;
     owner = "wagtail";
     rev = "refs/tags/v${version}";
-    hash = "sha256-7r2FFfWGqjE3Z7wsdf6KwwbUZ+wXqOscsL/2CepSMLY=";
+    hash = "sha256-OrRR5wLTq3icSBq+9m+MxIvkTvJP7yiGR9yzPt53q+k=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wagtail/default.nix b/nixpkgs/pkgs/development/python-modules/wagtail/default.nix
index cc5fa6c5a9a0..8fe5ba39ed51 100644
--- a/nixpkgs/pkgs/development/python-modules/wagtail/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wagtail/default.nix
@@ -24,20 +24,20 @@
 
 buildPythonPackage rec {
   pname = "wagtail";
-  version = "5.1.1";
+  version = "5.1.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-IR/wzXBZ+Win/EOFUDsg2AHB5otW9YMeCmpPxgCllD8=";
+    hash = "sha256-RfrHlOTCDH51sBgGnX+XYfJfqjYZ7zDfJAE8okq/mnQ=";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
       --replace "beautifulsoup4>=4.8,<4.12" "beautifulsoup4>=4.8" \
-      --replace "Pillow>=4.0.0,<10.0.0" "Pillow>=9.1.0,<11.0.0"
+      --replace "draftjs_exporter>=2.1.5,<3.0" "draftjs_exporter>=2.1.5,<6.0"
   '';
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wand/default.nix b/nixpkgs/pkgs/development/python-modules/wand/default.nix
index 3f55ec7f47ef..8436ee9b8c05 100644
--- a/nixpkgs/pkgs/development/python-modules/wand/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wand/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "wand";
-  version = "0.6.11";
+  version = "0.6.13";
 
   src = fetchPypi {
     pname = "Wand";
     inherit version;
-    hash = "sha256-tmFwDan48ekx5Scm5PxkOlZblRT1iD1Bt3Pjw3yfqZU=";
+    hash = "sha256-9QE0hOr3og6yLRghqu/mC1DMMpciNytfhWXUbUqq/Mo=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix b/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix
index 3ba0e22f83a1..d1ba11d15ec3 100644
--- a/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weaviate-client/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "weaviate-client";
-  version = "3.24.1";
+  version = "3.25.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4HM1DCG9TcpcDqxd1dlftHQnjHFaryBB44LYa7dRisg=";
+    hash = "sha256-iU33APwfCpMvo3ACn2RK9AYvhxgCb9pa0HZH01fZUWc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/nixpkgs/pkgs/development/python-modules/webauthn/default.nix b/nixpkgs/pkgs/development/python-modules/webauthn/default.nix
index 57c7857ca71b..257649a9db0f 100644
--- a/nixpkgs/pkgs/development/python-modules/webauthn/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/webauthn/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "webauthn";
-  version = "1.11.0";
+  version = "1.11.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "duo-labs";
     repo = "py_webauthn";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mZBnTmjlmR9jOOmu6uY114UZpm05ny2ZMEF0NXhVrME=";
+    hash = "sha256-+pp21rtwavtjj6ahG091xsJpsYOH3zpqU3xH2/YFXqY=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/webdav4/default.nix b/nixpkgs/pkgs/development/python-modules/webdav4/default.nix
index 2237f80f3b93..22c1ea8a964e 100644
--- a/nixpkgs/pkgs/development/python-modules/webdav4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/webdav4/default.nix
@@ -17,19 +17,24 @@
 buildPythonPackage rec {
   pname = "webdav4";
   version = "0.9.8";
-  format = "pyproject";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "skshetry";
-    repo = pname;
+    repo = "webdav4";
     rev = "refs/tags/v${version}";
     hash = "sha256-Le/gABaUxMmSW2SjgucsBKqjxOq1h9UCAWl5YyUsCPk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov" ""
+  '';
+
   nativeBuildInputs = [
     hatch-vcs
     hatchling
@@ -61,11 +66,6 @@ buildPythonPackage rec {
     ];
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov" ""
-  '';
-
   pythonImportsCheck = [
     "webdav4"
   ];
@@ -80,12 +80,14 @@ buildPythonPackage rec {
     "test_cp_cli"
     "test_mv_cli"
     "test_sync_remote_to_local"
+
   ];
 
   disabledTestPaths = [
     # Tests requires network access
     "tests/test_client.py"
     "tests/test_fsspec.py"
+    "tests/test_cli.py"
   ];
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix b/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix
index 62392ada77ae..c99e89944c47 100644
--- a/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weconnect-mqtt/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect-mqtt";
-  version = "0.47.0";
+  version = "0.48.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-mqtt";
     rev = "refs/tags/v${version}";
-    hash = "sha256-pJtqKA04zooFDfxWGbTFZewS8N0Z2eB9iLFLYueu8oo=";
+    hash = "sha256-8JJBWF53VOmTD/uetCURFaTkfSTax/YeafKsZtA1xAA=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/weconnect/default.nix b/nixpkgs/pkgs/development/python-modules/weconnect/default.nix
index 14a1a78b2bff..e3bb7c34b5b9 100644
--- a/nixpkgs/pkgs/development/python-modules/weconnect/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/weconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect";
-  version = "0.59.1";
+  version = "0.59.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-h2rMfpLsc2IPZN0Qp7vomoFMJxLXctkuiov3sntd5c0=";
+    hash = "sha256-Z9tiK6oDyyMcXhgUUxSDL9URYDp6Uz8rFPART3qxd+s=";
   };
 
   propagatedBuildInputs = [
@@ -47,14 +47,12 @@ buildPythonPackage rec {
     substituteInPlace setup.py \
       --replace "setup_requires=SETUP_REQUIRED," "setup_requires=[]," \
       --replace "tests_require=TEST_REQUIRED," "tests_require=[],"
-    substituteInPlace requirements.txt \
-      --replace "requests~=2.29.0" "requests"
     substituteInPlace image_extra_requirements.txt \
       --replace "pillow~=" "pillow>=" \
       --replace "ascii_magic~=" "ascii_magic>="
     substituteInPlace pytest.ini \
       --replace "--cov=weconnect --cov-config=.coveragerc --cov-report html" "" \
-      --replace "pytest-cov" ""
+      --replace "required_plugins = pytest-httpserver pytest-cov" ""
   '';
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/wfuzz/default.nix b/nixpkgs/pkgs/development/python-modules/wfuzz/default.nix
index 1304b6c1dd79..1bc512398bd0 100644
--- a/nixpkgs/pkgs/development/python-modules/wfuzz/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wfuzz/default.nix
@@ -63,6 +63,11 @@ buildPythonPackage rec {
     "wfuzz"
   ];
 
+  postInstall = ''
+    mkdir -p $out/share/wordlists/wfuzz
+    cp -R -T "wordlist" "$out/share/wordlists/wfuzz"
+  '';
+
   meta = with lib; {
     description = "Web content fuzzer to facilitate web applications assessments";
     longDescription = ''
diff --git a/nixpkgs/pkgs/development/python-modules/whodap/default.nix b/nixpkgs/pkgs/development/python-modules/whodap/default.nix
index a322c327b230..c991e5a5922c 100644
--- a/nixpkgs/pkgs/development/python-modules/whodap/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/whodap/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "whodap";
-  version = "0.1.10";
+  version = "0.1.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pogzyb";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5XDTl8NPrYWs7gPTJRDVCiZN3cWQ53/ojhJivBPHUL0=";
+    hash = "sha256-IX4sxuOxH4rXZlpRiWncXvaB2TkfZl1rKioZ3eqDGHs=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wikitextparser/default.nix b/nixpkgs/pkgs/development/python-modules/wikitextparser/default.nix
index b65f18b6c6ec..b7af5aeeb652 100644
--- a/nixpkgs/pkgs/development/python-modules/wikitextparser/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/wikitextparser/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "wikitextparser";
-  version = "0.54.0";
+  version = "0.55.5";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "5j9";
     repo = "wikitextparser";
     rev = "v${version}";
-    hash = "sha256-AGQfjUNxeleuTS200QMdZS8CSD2t4ah5NMm9TIYjVHk=";
+    hash = "sha256-cmzyRbq4tCbuyrNnT0UYxoxuwXrFkIcWdrogSTfxSys=";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/wxPython/4.2.nix b/nixpkgs/pkgs/development/python-modules/wxPython/4.2.nix
index 0ed40b8a9173..5cbab3005120 100644
--- a/nixpkgs/pkgs/development/python-modules/wxPython/4.2.nix
+++ b/nixpkgs/pkgs/development/python-modules/wxPython/4.2.nix
@@ -102,7 +102,7 @@ buildPythonPackage rec {
     export PATH="${wxGTK}/bin:$PATH"
     export SDL_CONFIG="${SDL.dev}/bin/sdl-config"
 
-    ${python.pythonForBuild.interpreter} build.py -v --use_syswx dox etg sip --nodoc build_py
+    ${python.pythonOnBuildForHost.interpreter} build.py -v --use_syswx dox etg sip --nodoc build_py
 
     runHook postBuild
   '';
@@ -111,7 +111,7 @@ buildPythonPackage rec {
   installPhase = ''
     runHook preInstall
 
-    ${python.pythonForBuild.interpreter} setup.py install --skip-build --prefix=$out
+    ${python.pythonOnBuildForHost.interpreter} setup.py install --skip-build --prefix=$out
     wrapPythonPrograms
 
     runHook postInstall
diff --git a/nixpkgs/pkgs/development/python-modules/x-wr-timezone/default.nix b/nixpkgs/pkgs/development/python-modules/x-wr-timezone/default.nix
index 3fe03d993564..17afeaf5a348 100644
--- a/nixpkgs/pkgs/development/python-modules/x-wr-timezone/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/x-wr-timezone/default.nix
@@ -4,13 +4,13 @@
 , icalendar
 , pytz
 , pytestCheckHook
-, restructuredtext_lint
+, restructuredtext-lint
 , pygments
 }:
 
 buildPythonPackage rec {
   pname = "x-wr-timezone";
-  version = "0.0.5";
+  version = "0.0.6";
 
   format = "setuptools";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "niccokunzmann";
     repo = "x-wr-timezone";
     rev = "v${version}";
-    hash = "sha256-vUhAq6b5I0gYbXmbElxSSL6Mu9BSLs0uT5gb8zXdmpg=";
+    hash = "sha256-9B1gXabpZsJSHYUHLu6bBGidO3C5m/I0oOc5U/mbX0I=";
   };
 
   propagatedBuildInputs = [
@@ -28,7 +28,7 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
-    restructuredtext_lint
+    restructuredtext-lint
     pygments
   ];
 
@@ -42,6 +42,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "x_wr_timezone" ];
 
   meta = {
+    changelog = "https://github.com/niccokunzmann/x-wr-timezone/blob/${src.rev}/README.rst#changelog";
     description = "Convert calendars using X-WR-TIMEZONE to standard ones";
     homepage = "https://github.com/niccokunzmann/x-wr-timezone";
     license = lib.licenses.lgpl3Plus;
diff --git a/nixpkgs/pkgs/development/python-modules/x11-hash/default.nix b/nixpkgs/pkgs/development/python-modules/x11-hash/default.nix
new file mode 100644
index 000000000000..403f1ed3e12f
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/x11-hash/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  version = "1.4";
+  pname = "x11-hash";
+  pyproject = true;
+
+  src = fetchPypi {
+    pname = "x11_hash";
+    inherit version;
+    hash = "sha256-QtzqxEzpVGK48/lvOEr8VtPUYexLdXKD3zGv1VOdWpw=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  # pypi's source doesn't include tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "x11_hash"
+  ];
+
+  meta = with lib; {
+    description = "Binding for X11 proof of work hashing";
+    homepage = "https://github.com/mazaclub/x11_hash";
+    license = licenses.mit;
+    maintainers = with maintainers; [ np ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/x11_hash/default.nix b/nixpkgs/pkgs/development/python-modules/x11_hash/default.nix
deleted file mode 100644
index e9cfe3174327..000000000000
--- a/nixpkgs/pkgs/development/python-modules/x11_hash/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-}:
-
-buildPythonPackage rec {
-  version = "1.4";
-  pname = "x11_hash";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "172skm9xbbrivy1p4xabxihx9lsnzi53hvzryfw64m799k2fmp22";
-  };
-
-  meta = with lib; {
-    description = "Binding for X11 proof of work hashing";
-    homepage = "https://github.com/mazaclub/x11_hash";
-    license = licenses.mit;
-    maintainers = with maintainers; [ np ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/xattr/default.nix b/nixpkgs/pkgs/development/python-modules/xattr/default.nix
index 189042082f04..c57f5a4da52c 100644
--- a/nixpkgs/pkgs/development/python-modules/xattr/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xattr/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   postBuild = ''
-    ${python.pythonForBuild.interpreter} -m compileall -f xattr
+    ${python.pythonOnBuildForHost.interpreter} -m compileall -f xattr
   '';
 
   pythonImportsCheck = [
diff --git a/nixpkgs/pkgs/development/python-modules/xdoctest/default.nix b/nixpkgs/pkgs/development/python-modules/xdoctest/default.nix
new file mode 100644
index 000000000000..357e605d8534
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/xdoctest/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, setuptools
+, wheel
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "xdoctest";
+  version = "1.1.2";
+  pyproject = true;
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "Erotemic";
+    repo = "xdoctest";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-yTu5ldr9TkpYRP8hjgUPpexBVLjaK2gfPvISjMJLY74=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
+    export PATH=$out/bin:$PATH
+  '';
+
+  pythonImportsCheck = [ "xdoctest" ];
+
+  meta = with lib; {
+    description = "A rewrite of Python's builtin doctest module (with pytest plugin integration) with AST instead of REGEX";
+    homepage = "https://github.com/Erotemic/xdoctest";
+    changelog = "https://github.com/Erotemic/xdoctest/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ natsukium ];
+    mainProgram = "xdoctest";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/xkbcommon/default.nix b/nixpkgs/pkgs/development/python-modules/xkbcommon/default.nix
index 0b8f8d4ceb5a..35556fe32d9c 100644
--- a/nixpkgs/pkgs/development/python-modules/xkbcommon/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xkbcommon/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [ pytestCheckHook ];
 
   postBuild = ''
-    ${python.pythonForBuild.interpreter} xkbcommon/ffi_build.py
+    ${python.pythonOnBuildForHost.interpreter} xkbcommon/ffi_build.py
   '';
 
   pythonImportsCheck = [ "xkbcommon" ];
diff --git a/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix b/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
index 4610e71876e6..0d11e9df8c1b 100644
--- a/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/xkcdpass/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "xkcdpass";
-  version = "1.19.4";
+  version = "1.19.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-KTXVS0gtGby1Rla9oBy77J7kH/1C0jWlJwX9lcq3D9c=";
+    hash = "sha256-zEgC3tTQ6kwDovHPHRTvYndWVF79DpnAX454VDZiedE=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/yq/default.nix b/nixpkgs/pkgs/development/python-modules/yq/default.nix
index c730725581ac..cae85c51f4db 100644
--- a/nixpkgs/pkgs/development/python-modules/yq/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/yq/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-   pytestCheckHook
+    pytestCheckHook
   ];
 
   pytestFlagsArray = [ "test/test.py" ];
@@ -51,5 +51,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/kislyuk/yq";
     license = licenses.asl20;
     maintainers = with maintainers; [ womfoo SuperSandro2000 ];
+    mainProgram = "yq";
   };
 }
diff --git a/nixpkgs/pkgs/development/python-modules/zamg/default.nix b/nixpkgs/pkgs/development/python-modules/zamg/default.nix
index af5b6053389d..b878a1198f87 100644
--- a/nixpkgs/pkgs/development/python-modules/zamg/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/zamg/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "zamg";
-  version = "0.3.0";
+  version = "0.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "killer0071234";
     repo = "python-zamg";
     rev = "refs/tags/v${version}";
-    hash = "sha256-dt0y423Xw/IFi83DFvGdsN1uzJBMbm13pBYtMgMntuU=";
+    hash = "sha256-snYRYwJc9H6H+dxaQM4beGvu5AuaXv7W8w5xjR6RPyw=";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/zcbor/default.nix b/nixpkgs/pkgs/development/python-modules/zcbor/default.nix
new file mode 100644
index 000000000000..21d6e7e790ed
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zcbor/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+
+# build dependencies
+, setuptools
+
+# dependencies
+, cbor2
+, pyyaml
+, regex
+}:
+
+buildPythonPackage rec {
+  pname = "zcbor";
+  version = "0.7.0";
+  pyproject = true;
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-0mGp7Hnq8ZNEUx/9eQ6UD9/cOuLl6S5Aif1qNh1+jYA=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    cbor2
+    pyyaml
+    regex
+  ];
+
+  pythonImportsCheck = [ "zcbor" ];
+
+  meta = with lib; {
+    description = "A low footprint CBOR library in the C language (C++ compatible), tailored for use in microcontrollers";
+    homepage = "https://pypi.org/project/zcbor/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ otavio ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zope-dottedname/default.nix b/nixpkgs/pkgs/development/python-modules/zope-dottedname/default.nix
new file mode 100644
index 000000000000..895b00231aea
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zope-dottedname/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "zope-dottedname";
+  version = "6.0";
+  pyproject = true;
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "zope.dottedname";
+    inherit version;
+    hash = "sha256-28S4W/vzSx74jasWJSrG7xbZBDnyIjstCiYs9Bnq6QI=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "src/zope/dottedname/tests.py"
+  ];
+
+  pythonImportsCheck = [
+    "zope.dottedname"
+  ];
+
+  pythonNamespaces = [
+    "zope"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/zopefoundation/zope.dottedname";
+    description = "Resolver for Python dotted names";
+    changelog = "https://github.com/zopefoundation/zope.dottedname/blob/${version}/CHANGES.rst";
+    license = licenses.zpl21;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zope_dottedname/default.nix b/nixpkgs/pkgs/development/python-modules/zope_dottedname/default.nix
deleted file mode 100644
index bb9f527555e7..000000000000
--- a/nixpkgs/pkgs/development/python-modules/zope_dottedname/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-}:
-
-buildPythonPackage rec {
-  pname = "zope.dottedname";
-  version = "5.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-mfWDqAKFhqtMIXlGE+QR0BDNCZF/RdqXa9/udI87++w=";
-  };
-
-  meta = with lib; {
-    homepage = "http://pypi.python.org/pypi/zope.dottedname";
-    description = "Resolver for Python dotted names";
-    license = licenses.zpl20;
-    maintainers = with maintainers; [ goibhniu ];
-  };
-
-}
diff --git a/nixpkgs/pkgs/development/python-modules/zxing-cpp/default.nix b/nixpkgs/pkgs/development/python-modules/zxing-cpp/default.nix
new file mode 100644
index 000000000000..dbdc4c50effd
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/zxing-cpp/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, cmake
+, setuptools-scm
+, numpy
+, pillow
+, pybind11
+, libzxing-cpp
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "zxing-cpp";
+  inherit (libzxing-cpp) src version meta;
+  pyproject = true;
+
+  sourceRoot = "${src.name}/wrappers/python";
+
+  # we don't need pybind11 in the root environment
+  # https://pybind11.readthedocs.io/en/stable/installing.html#include-with-pypi
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "pybind11[global]" "pybind11"
+  '';
+
+  dontUseCmakeConfigure = true;
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  buildInputs = [
+    pybind11
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    setuptools-scm
+  ];
+
+  nativeCheckInputs = [
+    pillow
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "test.py"
+  ];
+
+  pythonImportsCheck = [
+    "zxingcpp"
+  ];
+}
diff --git a/nixpkgs/pkgs/development/python-modules/zxing_cpp/default.nix b/nixpkgs/pkgs/development/python-modules/zxing_cpp/default.nix
deleted file mode 100644
index b876ab05af3f..000000000000
--- a/nixpkgs/pkgs/development/python-modules/zxing_cpp/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib
-, buildPythonPackage
-, cmake
-, numpy
-, pillow
-, pybind11
-, zxing-cpp
-}:
-
-buildPythonPackage rec {
-  pname = "zxing_cpp";
-  inherit (zxing-cpp) src version meta;
-
-  sourceRoot = "${src.name}/wrappers/python";
-
-  dontUseCmakeConfigure = true;
-
-  propagatedBuildInputs = [
-    pybind11
-    numpy
-  ];
-
-  nativeBuildInputs = [
-    cmake
-  ];
-
-  nativeCheckInputs = [
-    pillow
-  ];
-}