From 83370689b95de8db6634274c476dffff492a4d92 Mon Sep 17 00:00:00 2001
From: Hemna <waboring@hemna.com>
Date: Mon, 5 Dec 2022 16:13:39 -0500
Subject: [PATCH] Remove twine from dev-requirements

twine is only used for building a distribution and uploading
to pypi.  Unfortunately it has a dependency that pulls in
cryptography which is painful on rpi systems as it requires
the latest version of rustc and cargo.
---
 Makefile             |  1 +
 dev-requirements.in  |  7 ++++---
 dev-requirements.txt | 49 +++++++++++++++-----------------------------
 requirements.txt     |  3 +--
 4 files changed, 23 insertions(+), 37 deletions(-)

diff --git a/Makefile b/Makefile
index 7720707..8d39aae 100644
--- a/Makefile
+++ b/Makefile
@@ -54,6 +54,7 @@ test: dev  ## Run all the tox tests
 	tox -p all
 
 build: test  ## Make the build artifact prior to doing an upload
+	$(VENV)pip install twine
 	$(VENV)/python3 setup.py sdist bdist_wheel
 	$(VENV)/twine check dist/*
 
diff --git a/dev-requirements.in b/dev-requirements.in
index 7b9ddec..9134495 100644
--- a/dev-requirements.in
+++ b/dev-requirements.in
@@ -4,12 +4,13 @@ mypy
 pep8-naming
 Sphinx
 tox
-twine
+# Twine is used for uploading packages to pypi
+# but it induces an install of cryptography
+# This is sucky for rpi systems.
+# twine
 pre-commit
 pytest
 pytest-cov
 gray
-#pip==22.0.4
 pip
-#pip-tools==5.4.0
 pip-tools
diff --git a/dev-requirements.txt b/dev-requirements.txt
index be038e9..a8ab756 100644
--- a/dev-requirements.txt
+++ b/dev-requirements.txt
@@ -1,5 +1,5 @@
 #
-# This file is autogenerated by pip-compile with python 3.8
+# This file is autogenerated by pip-compile with python 3.9
 # To update, run:
 #
 #    pip-compile --annotation-style=line --resolver=backtracking dev-requirements.in
@@ -7,42 +7,36 @@
 add-trailing-comma==2.3.0  # via gray
 alabaster==0.7.12         # via sphinx
 attrs==22.1.0             # via jsonschema, pytest
-autoflake==2.0.0          # via gray
+autoflake==1.5.3          # via gray
 babel==2.11.0             # via sphinx
 black==22.10.0            # via gray
-bleach==5.0.1             # via readme-renderer
 build==0.9.0              # via pip-tools
 certifi==2022.9.24        # via requests
 cfgv==3.3.1               # via pre-commit
 charset-normalizer==2.1.1  # via requests
 click==8.1.3              # via black, pip-tools
-colorlog==6.7.0           # via prettylog
 commonmark==0.9.1         # via rich
 configargparse==1.5.3     # via gray
 coverage[toml]==6.5.0     # via pytest-cov
 distlib==0.3.6            # via virtualenv
-docutils==0.19            # via readme-renderer, sphinx
+docutils==0.19            # via sphinx
 exceptiongroup==1.0.4     # via pytest
-fast-json==0.3.2          # via prettylog
-filelock==3.8.0           # via tox, virtualenv
+filelock==3.8.2           # via tox, virtualenv
 fixit==0.1.4              # via gray
 flake8==6.0.0             # via -r dev-requirements.in, fixit, pep8-naming
-gray==0.12.0              # via -r dev-requirements.in
+gray==0.13.0              # via -r dev-requirements.in
 identify==2.5.9           # via pre-commit
 idna==3.4                 # via requests
 imagesize==1.4.1          # via sphinx
-importlib-metadata==5.1.0  # via keyring, sphinx, twine
-importlib-resources==5.10.0  # via fixit, jsonschema
+importlib-metadata==5.1.0  # via sphinx
+importlib-resources==5.10.0  # via fixit
 iniconfig==1.1.1          # via pytest
 isort==5.10.1             # via -r dev-requirements.in, gray
-jaraco-classes==3.2.3     # via keyring
 jinja2==3.1.2             # via sphinx
 jsonschema==4.17.3        # via fixit
-keyring==23.11.0          # via twine
 libcst==0.4.9             # via fixit
 markupsafe==2.1.1         # via jinja2
 mccabe==0.7.0             # via flake8
-more-itertools==9.0.0     # via jaraco-classes
 mypy==0.991               # via -r dev-requirements.in
 mypy-extensions==0.4.3    # via black, mypy, typing-inspect
 nodeenv==1.7.0            # via pre-commit
@@ -50,30 +44,24 @@ packaging==21.3           # via build, pytest, sphinx, tox
 pathspec==0.10.2          # via black
 pep517==0.13.0            # via build
 pep8-naming==0.13.2       # via -r dev-requirements.in
-pip-tools==6.10.0         # via -r dev-requirements.in
-pkginfo==1.9.2            # via twine
-pkgutil-resolve-name==1.3.10  # via jsonschema
+pip-tools==6.11.0         # via -r dev-requirements.in
 platformdirs==2.5.4       # via black, virtualenv
 pluggy==1.0.0             # via pytest, tox
 pre-commit==2.20.0        # via -r dev-requirements.in
-prettylog==0.3.0          # via gray
 py==1.11.0                # via tox
 pycodestyle==2.10.0       # via flake8
 pyflakes==3.0.1           # via autoflake, flake8
-pygments==2.13.0          # via readme-renderer, rich, sphinx
+pygments==2.13.0          # via rich, sphinx
 pyparsing==3.0.9          # via packaging
 pyrsistent==0.19.2        # via jsonschema
 pytest==7.2.0             # via -r dev-requirements.in, pytest-cov
 pytest-cov==4.0.0         # via -r dev-requirements.in
 pytz==2022.6              # via babel
-pyupgrade==3.2.3          # via gray
+pyupgrade==3.3.0          # via gray
 pyyaml==6.0               # via fixit, libcst, pre-commit
-readme-renderer==37.3     # via twine
-requests==2.28.1          # via requests-toolbelt, sphinx, twine
-requests-toolbelt==0.10.1  # via twine
-rfc3986==2.0.0            # via twine
-rich==12.6.0              # via twine
-six==1.16.0               # via bleach, tox
+requests==2.28.1          # via sphinx
+rich==12.6.0              # via gray
+six==1.16.0               # via tox
 snowballstemmer==2.2.0    # via sphinx
 sphinx==5.3.0             # via -r dev-requirements.in
 sphinxcontrib-applehelp==1.0.2  # via sphinx
@@ -83,18 +71,15 @@ sphinxcontrib-jsmath==1.0.1  # via sphinx
 sphinxcontrib-qthelp==1.0.3  # via sphinx
 sphinxcontrib-serializinghtml==1.1.5  # via sphinx
 tokenize-rt==5.0.0        # via add-trailing-comma, pyupgrade
-toml==0.10.2              # via pre-commit
-tomli==2.0.1              # via autoflake, black, build, coverage, mypy, pep517, pytest, tox
+toml==0.10.2              # via autoflake, pre-commit
+tomli==2.0.1              # via black, build, coverage, mypy, pep517, pytest, tox
 tox==3.27.1               # via -r dev-requirements.in
-twine==4.0.1              # via -r dev-requirements.in
-typing-extensions==4.4.0  # via black, libcst, mypy, rich, typing-inspect
+typing-extensions==4.4.0  # via black, libcst, mypy, typing-inspect
 typing-inspect==0.8.0     # via libcst
-ujson==5.5.0              # via fast-json
 unify==0.5                # via gray
 untokenize==0.1.1         # via unify
-urllib3==1.26.13          # via requests, twine
+urllib3==1.26.13          # via requests
 virtualenv==20.17.0       # via pre-commit, tox
-webencodings==0.5.1       # via bleach
 wheel==0.38.4             # via pip-tools
 zipp==3.11.0              # via importlib-metadata, importlib-resources
 
diff --git a/requirements.txt b/requirements.txt
index ac8ba5e..088afb3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,5 +1,5 @@
 #
-# This file is autogenerated by pip-compile with python 3.8
+# This file is autogenerated by pip-compile with python 3.9
 # To update, run:
 #
 #    pip-compile --annotation-style=line --resolver=backtracking requirements.in
@@ -47,7 +47,6 @@ six==1.16.0               # via -r requirements.in, click-completion, eventlet,
 soupsieve==2.3.2.post1    # via beautifulsoup4
 tabulate==0.9.0           # via -r requirements.in
 thesmuggler==1.0.1        # via -r requirements.in
-typing-extensions==4.4.0  # via rich
 update-checker==0.18.0    # via -r requirements.in
 urllib3==1.26.13          # via requests
 werkzeug==2.1.2           # via -r requirements.in, flask