diff --git a/requirements.txt b/requirements.txt
index a4cf31b4..d98127eb 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,7 +6,7 @@
 #
 cffi==1.12.2
     # via cryptography
-cryptography==40.0.1 ; platform_python_implementation != "Jython"
+cryptography==41.0.3 ; platform_python_implementation != "Jython"
     # via -r requirements.in
 lxml==4.9.2 ; platform_python_implementation != "Jython"
     # via -r requirements.in
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 03dc0253..0cd761fa 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -4,456 +4,5 @@
 #
 #    pip-compile --output-file=requirements/dev.txt requirements.in requirements/dev.in requirements/docs.in requirements/lint.in requirements/test.in
 #
-alabaster==0.7.12
-    # via
-    #   -r requirements/docs.in
-    #   sphinx
-anyio==3.6.2
-    # via jupyter-server
-argcomplete==1.11.1
-    # via -r requirements/dev.in
-argon2-cffi==21.3.0
-    # via
-    #   jupyter-server
-    #   nbclassic
-    #   notebook
-argon2-cffi-bindings==21.2.0
-    # via argon2-cffi
-asttokens==2.2.1
-    # via stack-data
-attrs==19.3.0
-    # via jsonschema
-babel==2.12.1
-    # via
-    #   -r requirements/dev.in
-    #   sphinx
-    #   sphinx-intl
-backcall==0.1.0
-    # via ipython
-beautifulsoup4==4.12.2
-    # via nbconvert
-bleach==6.0.0
-    # via
-    #   nbconvert
-    #   readme-renderer
-build==0.10.0
-    # via pip-tools
-cachetools==5.3.0
-    # via tox
-certifi==2022.12.7
-    # via requests
-cffi==1.14.0
-    # via
-    #   argon2-cffi-bindings
-    #   cryptography
-chardet==5.1.0
-    # via tox
-charset-normalizer==3.1.0
-    # via requests
-check-manifest==0.42
-    # via -r requirements/lint.in
-click==8.1.3
-    # via
-    #   pip-tools
-    #   sphinx-intl
-colorama==0.4.6
-    # via
-    #   tox
-    #   zest-releaser
-colorlog==4.1.0
-    # via -r requirements/dev.in
-coverage==7.2.3
+coverage==7.2.7
     # via -r requirements/test.in
-cryptography==40.0.1 ; platform_python_implementation != "Jython"
-    # via
-    #   -r requirements.in
-    #   secretstorage
-decorator==4.4.2
-    # via ipython
-defusedxml==0.6.0
-    # via nbconvert
-distlib==0.3.6
-    # via virtualenv
-docutils==0.16
-    # via
-    #   pyroma
-    #   readme-renderer
-    #   restview
-    #   sphinx
-entrypoints==0.3
-    # via flake8
-executing==1.2.0
-    # via stack-data
-fastjsonschema==2.16.3
-    # via nbformat
-filelock==3.11.0
-    # via
-    #   tox
-    #   virtualenv
-flake8==3.7.9
-    # via -r requirements/lint.in
-idna==2.9
-    # via
-    #   anyio
-    #   requests
-imagesize==1.2.0
-    # via sphinx
-importlib-metadata==6.2.1
-    # via
-    #   jupyter-client
-    #   nbconvert
-ipykernel==5.2.1
-    # via
-    #   ipywidgets
-    #   jupyter
-    #   jupyter-console
-    #   nbclassic
-    #   notebook
-    #   qtconsole
-ipython==8.12.0
-    # via
-    #   ipykernel
-    #   ipywidgets
-    #   jupyter-console
-ipython-genutils==0.2.0
-    # via
-    #   nbclassic
-    #   notebook
-    #   qtconsole
-ipywidgets==7.5.1
-    # via jupyter
-jedi==0.17.0
-    # via ipython
-jeepney==0.4.3
-    # via
-    #   keyring
-    #   secretstorage
-jinja2==3.1.2
-    # via
-    #   -r requirements/docs.in
-    #   jupyter-server
-    #   nbclassic
-    #   nbconvert
-    #   notebook
-    #   sphinx
-jip==0.9.16
-    # via -r requirements/dev.in
-jsonschema[format-nongpl]==3.2.0
-    # via
-    #   jupyter-events
-    #   nbformat
-jupyter==1.0.0
-    # via -r requirements/dev.in
-jupyter-client==8.1.0
-    # via
-    #   ipykernel
-    #   jupyter-console
-    #   jupyter-server
-    #   nbclassic
-    #   nbclient
-    #   notebook
-    #   qtconsole
-jupyter-console==6.1.0
-    # via jupyter
-jupyter-core==5.3.0
-    # via
-    #   jupyter-client
-    #   jupyter-server
-    #   nbclassic
-    #   nbclient
-    #   nbconvert
-    #   nbformat
-    #   notebook
-    #   qtconsole
-jupyter-events==0.6.3
-    # via jupyter-server
-jupyter-server==2.5.0
-    # via
-    #   nbclassic
-    #   notebook-shim
-jupyter-server-terminals==0.4.4
-    # via jupyter-server
-jupyterlab-pygments==0.2.2
-    # via nbconvert
-keyring==21.2.1
-    # via twine
-lxml==4.9.2 ; platform_python_implementation != "Jython"
-    # via
-    #   -r requirements.in
-    #   -r requirements/dev.in
-markupsafe==2.1.2
-    # via
-    #   jinja2
-    #   nbconvert
-matplotlib-inline==0.1.6
-    # via ipython
-mccabe==0.6.1
-    # via flake8
-mistune==2.0.5
-    # via nbconvert
-nbclassic==0.5.5
-    # via notebook
-nbclient==0.7.3
-    # via nbconvert
-nbconvert==7.3.0
-    # via
-    #   jupyter
-    #   jupyter-server
-    #   nbclassic
-    #   notebook
-nbformat==5.8.0
-    # via
-    #   ipywidgets
-    #   jupyter-server
-    #   nbclassic
-    #   nbclient
-    #   nbconvert
-    #   notebook
-nest-asyncio==1.5.6
-    # via
-    #   nbclassic
-    #   notebook
-notebook==6.5.4
-    # via
-    #   -r requirements/dev.in
-    #   jupyter
-    #   widgetsnbextension
-notebook-shim==0.2.2
-    # via nbclassic
-olefile==0.46 ; platform_python_implementation != "Jython"
-    # via -r requirements.in
-packaging==23.0
-    # via
-    #   build
-    #   jupyter-server
-    #   nbconvert
-    #   pyproject-api
-    #   sphinx
-    #   tox
-pandocfilters==1.4.2
-    # via nbconvert
-parso==0.7.0
-    # via jedi
-pep517==0.8.2
-    # via check-manifest
-pexpect==4.8.0
-    # via ipython
-pickleshare==0.7.5
-    # via ipython
-pip-tools==6.13.0
-    # via -r requirements/dev.in
-pkginfo==1.5.0.1
-    # via twine
-platformdirs==3.2.0
-    # via
-    #   jupyter-core
-    #   tox
-    #   virtualenv
-pluggy==1.0.0
-    # via tox
-prometheus-client==0.7.1
-    # via
-    #   jupyter-server
-    #   nbclassic
-    #   notebook
-prompt-toolkit==3.0.38
-    # via
-    #   ipython
-    #   jupyter-console
-ptyprocess==0.6.0
-    # via
-    #   pexpect
-    #   terminado
-pure-eval==0.2.2
-    # via stack-data
-pycodestyle==2.5.0
-    # via flake8
-pycparser==2.20
-    # via cffi
-pyflakes==2.1.1
-    # via flake8
-pygments==2.14.0
-    # via
-    #   ipython
-    #   jupyter-console
-    #   nbconvert
-    #   pyroma
-    #   qtconsole
-    #   readme-renderer
-    #   restview
-    #   sphinx
-pyproject-api==1.5.1
-    # via tox
-pyproject-hooks==1.0.0
-    # via build
-pyroma==2.6
-    # via -r requirements/lint.in
-pyrsistent==0.16.0
-    # via jsonschema
-python-dateutil==2.8.2
-    # via jupyter-client
-python-json-logger==2.0.7
-    # via jupyter-events
-pyyaml==6.0
-    # via jupyter-events
-pyzmq==25.0.2
-    # via
-    #   jupyter-client
-    #   jupyter-server
-    #   nbclassic
-    #   notebook
-    #   qtconsole
-qtconsole==4.7.3
-    # via jupyter
-qtpy==1.9.0
-    # via qtconsole
-readme-renderer==26.0
-    # via
-    #   restview
-    #   twine
-repoze-sphinx-autointerface==0.8
-    # via -r requirements/docs.in
-requests==2.28.2
-    # via
-    #   -r requirements/dev.in
-    #   jip
-    #   requests-toolbelt
-    #   sphinx
-    #   twine
-    #   zest-releaser
-requests-toolbelt==0.9.1
-    # via twine
-restview==2.9.2
-    # via -r requirements/dev.in
-rfc3339-validator==0.1.4
-    # via jupyter-events
-rfc3986-validator==0.1.1
-    # via jupyter-events
-secretstorage==3.1.2
-    # via keyring
-send2trash==1.8.0
-    # via
-    #   jupyter-server
-    #   nbclassic
-    #   notebook
-six==1.14.0
-    # via
-    #   bleach
-    #   jsonschema
-    #   pyrsistent
-    #   python-dateutil
-    #   readme-renderer
-    #   zest-releaser
-sniffio==1.3.0
-    # via anyio
-snowballstemmer==2.0.0
-    # via sphinx
-soupsieve==2.4
-    # via beautifulsoup4
-sphinx==3.0.3
-    # via
-    #   -r requirements/docs.in
-    #   repoze-sphinx-autointerface
-    #   sphinx-argparse
-    #   sphinx-intl
-sphinx-argparse==0.4.0
-    # via -r requirements/docs.in
-sphinx-intl==2.0.1
-    # via -r requirements/docs.in
-sphinxcontrib-applehelp==1.0.2
-    # via sphinx
-sphinxcontrib-devhelp==1.0.2
-    # via sphinx
-sphinxcontrib-htmlhelp==1.0.3
-    # via sphinx
-sphinxcontrib-jsmath==1.0.1
-    # via sphinx
-sphinxcontrib-qthelp==1.0.3
-    # via sphinx
-sphinxcontrib-serializinghtml==1.1.4
-    # via sphinx
-stack-data==0.6.2
-    # via ipython
-terminado==0.8.3
-    # via
-    #   jupyter-server
-    #   jupyter-server-terminals
-    #   nbclassic
-    #   notebook
-tinycss2==1.2.1
-    # via nbconvert
-toml==0.10.0
-    # via
-    #   check-manifest
-    #   pep517
-tomli==2.0.1
-    # via
-    #   build
-    #   pyproject-api
-    #   pyproject-hooks
-    #   tox
-tornado==6.2
-    # via
-    #   ipykernel
-    #   jupyter-client
-    #   jupyter-server
-    #   nbclassic
-    #   notebook
-    #   terminado
-tox==4.4.11
-    # via -r requirements/dev.in
-tqdm==4.46.0
-    # via twine
-traitlets==5.9.0
-    # via
-    #   ipykernel
-    #   ipython
-    #   ipywidgets
-    #   jupyter-client
-    #   jupyter-core
-    #   jupyter-events
-    #   jupyter-server
-    #   matplotlib-inline
-    #   nbclassic
-    #   nbclient
-    #   nbconvert
-    #   nbformat
-    #   notebook
-    #   qtconsole
-twine==3.1.1
-    # via zest-releaser
-typing-extensions==4.5.0
-    # via ipython
-urllib3==1.26.15
-    # via
-    #   -r requirements/dev.in
-    #   requests
-virtualenv==20.21.0
-    # via tox
-wcwidth==0.1.9
-    # via prompt-toolkit
-webencodings==0.5.1
-    # via
-    #   bleach
-    #   tinycss2
-websocket-client==1.5.1
-    # via jupyter-server
-wheel==0.40.0
-    # via
-    #   -r requirements/dev.in
-    #   pip-tools
-    #   zc-buildout
-widgetsnbextension==3.5.1
-    # via ipywidgets
-zc-buildout==3.0.1
-    # via -r requirements/dev.in
-zest-releaser==6.20.1
-    # via -r requirements/dev.in
-zipp==3.15.0
-    # via importlib-metadata
-zope-interface==5.1.0
-    # via repoze-sphinx-autointerface
-
-# The following packages are considered to be unsafe in a requirements file:
-# pip
-# setuptools