diff --git a/Makefile b/Makefile index fb89ace..176f71a 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -PYTHON_VERSIONS:=3.6,3.7,3.7-dev +PYTHON_VERSIONS:=3.6,3.7,3.7-dev,3.9 export PYTHON_VERSIONS diff --git a/README.rst b/README.rst index 4a714b4..ffc5d65 100644 --- a/README.rst +++ b/README.rst @@ -88,10 +88,19 @@ the ``pip install berglas`` defined above: $ git clone https://github.com/maroux/berglas-python.git $ cd python - $ pyenv virtualenv 3.7.2 berglas-3.7 + $ pyenv virtualenv 3.9.14 berglas-3.9 ... - $ pyenv shell berglas-3.7 - $ pip install -r requirements/dev-3.7.txt + $ pyenv shell berglas-3.9 + $ pip install setuptools==58 + $ pip install -r requirements/dev-3.9.txt + +Updating Requirements Files +~~~~~~~~~~~~~ +Update the `install_requires` variable in `setup.py` and then from the pyenv virtualenv shell run: +.. code:: sh + + $ python -m pip install pip==18.0 pip-tools==3.2.0 --upgrade + $ make pip_compile Running Tests ~~~~~~~~~~~~~ diff --git a/berglas/resolver.py b/berglas/resolver.py index e1267fa..c6d8725 100644 --- a/berglas/resolver.py +++ b/berglas/resolver.py @@ -73,7 +73,12 @@ def _access(self, bucket_name: str, path: str, generation: Optional[int] = None) raise AutoException("invalid ciphertext: failed to parse ciphertext") try: - response = self.kms_client.decrypt(key, enc_dek, path.encode("UTF8")) + request = kms.DecryptRequest( + name=key, + ciphertext=enc_dek, + additional_authenticated_data=path.encode("UTF8") + ) + response = self.kms_client.decrypt(request=request) dek = response.plaintext except (GoogleAPICallError, RetryError, ValueError): raise AutoException("failed to decrypt dek") diff --git a/requirements/dev-3.6.txt b/requirements/dev-3.6.txt index a3afc26..a6e2a50 100644 --- a/requirements/dev-3.6.txt +++ b/requirements/dev-3.6.txt @@ -1,71 +1,69 @@ -appdirs==1.4.3 # via black -appnope==0.1.0 # via ipython -atomicwrites==1.3.0 # via pytest -attrs==19.1.0 # via black, pytest -backcall==0.1.0 # via ipython -black==19.3b0 -cachetools==3.1.1 # via google-auth -certifi==2019.6.16 # via requests -chardet==3.0.4 # via requests -click==7.0 # via black -coverage==4.5.3 # via coveralls, pytest-cov -coveralls==1.8.1 -decorator==4.4.0 # via ipython, traitlets +appnope==0.1.3 # via ipython +asttokens==2.2.1 # via stack-data +backcall==0.2.0 # via ipython +black==23.3.0 +cachetools==5.3.0 # via google-auth +certifi==2022.12.7 # via requests +charset-normalizer==3.1.0 # via requests +click==8.1.3 # via black +coverage[toml]==6.5.0 # via coveralls, pytest-cov +coveralls==3.3.1 +decorator==5.1.1 # via ipdb, ipython docopt==0.6.2 # via coveralls -entrypoints==0.3 # via flake8 -flake8==3.7.8 -google-api-core[grpc]==1.14.0 # via google-cloud-core, google-cloud-kms -google-api-python-client==1.7.10 -google-auth-httplib2==0.0.3 # via google-api-python-client -google-auth==1.6.3 # via google-api-core, google-api-python-client, google-auth-httplib2, google-cloud-storage -google-cloud-core==1.0.2 # via google-cloud-storage -google-cloud-kms==1.1.0 -google-cloud-storage==1.17.0 -google-resumable-media==0.3.2 # via google-cloud-storage -googleapis-common-protos[grpc]==1.6.0 # via google-api-core, grpc-google-iam-v1 -grpc-google-iam-v1==0.11.4 # via google-cloud-kms -grpcio==1.22.0 # via google-api-core, googleapis-common-protos, grpc-google-iam-v1 -httplib2==0.13.0 # via google-api-python-client, google-auth-httplib2 -idna==2.8 # via requests -importlib-metadata==0.18 # via pluggy, pytest -ipdb==0.12.1 -ipython-genutils==0.2.0 # via traitlets -ipython==7.6.1 # via ipdb -jedi==0.14.1 # via ipython -mccabe==0.6.1 # via flake8 -more-itertools==7.2.0 # via pytest -mypy-extensions==0.4.1 # via mypy -mypy==0.720 -packaging==19.0 # via pytest -parso==0.5.1 # via jedi -pexpect==4.7.0 # via ipython +exceptiongroup==1.1.1 # via pytest +executing==1.2.0 # via stack-data +flake8==6.0.0 +google-api-core[grpc]==2.11.0 # via google-api-python-client, google-cloud-core, google-cloud-kms, google-cloud-storage +google-api-python-client==2.85.0 +google-auth-httplib2==0.1.0 # via google-api-python-client +google-auth==2.17.2 # via google-api-core, google-api-python-client, google-auth-httplib2, google-cloud-core, google-cloud-storage +google-cloud-core==2.3.2 # via google-cloud-storage +google-cloud-kms==2.16.1 +google-cloud-storage==2.8.0 +google-crc32c==1.5.0 # via google-resumable-media +google-resumable-media==2.4.1 # via google-cloud-storage +googleapis-common-protos[grpc]==1.59.0 # via google-api-core, grpc-google-iam-v1, grpcio-status +grpc-google-iam-v1==0.12.6 # via google-cloud-kms +grpcio-status==1.53.0 # via google-api-core +grpcio==1.53.0 # via google-api-core, googleapis-common-protos, grpc-google-iam-v1, grpcio-status +httplib2==0.22.0 # via google-api-python-client, google-auth-httplib2 +idna==3.4 # via requests +iniconfig==2.0.0 # via pytest +ipdb==0.13.13 +ipython==8.12.0 # via ipdb +jedi==0.18.2 # via ipython +matplotlib-inline==0.1.6 # via ipython +mccabe==0.7.0 # via flake8 +mypy-extensions==1.0.0 # via black, mypy +mypy==1.2.0 +packaging==23.0 # via black, pytest +parso==0.8.3 # via jedi +pathspec==0.11.1 # via black +pexpect==4.8.0 # via ipython pickleshare==0.7.5 # via ipython -pluggy==0.12.0 # via pytest -prompt-toolkit==2.0.9 # via ipython -protobuf==3.9.0 # via google-api-core, googleapis-common-protos -ptyprocess==0.6.0 # via pexpect -py==1.8.0 # via pytest -pyasn1-modules==0.2.5 # via google-auth -pyasn1==0.4.5 # via pyasn1-modules, rsa -pycodestyle==2.5.0 # via flake8 -pycryptodome==3.8.2 -pyflakes==2.1.1 # via flake8 -pygments==2.4.2 # via ipython -pyparsing==2.4.1.1 # via packaging -pytest-cov==2.7.1 -pytest==5.0.1 # via pytest-cov -pytz==2019.1 # via google-api-core -requests==2.22.0 # via coveralls, google-api-core -rsa==4.0 # via google-auth -six==1.12.0 # via google-api-core, google-api-python-client, google-auth, google-resumable-media, grpcio, packaging, prompt-toolkit, protobuf, traitlets -toml==0.10.0 # via black -traitlets==4.3.2 # via ipython -typed-ast==1.4.0 # via mypy -typing-extensions==3.7.4 # via mypy -uritemplate==3.0.0 # via google-api-python-client -urllib3==1.25.3 # via requests -wcwidth==0.1.7 # via prompt-toolkit, pytest -zipp==0.5.2 # via importlib-metadata - -# The following packages are considered to be unsafe in a requirements file: -# setuptools==41.0.1 # via google-api-core, ipdb, ipython, protobuf +platformdirs==3.2.0 # via black +pluggy==1.0.0 # via pytest +prompt-toolkit==3.0.38 # via ipython +proto-plus==1.22.2 # via google-cloud-kms +protobuf==4.22.1 # via google-api-core, google-cloud-kms, googleapis-common-protos, grpc-google-iam-v1, grpcio-status, proto-plus +ptyprocess==0.7.0 # via pexpect +pure-eval==0.2.2 # via stack-data +pyasn1-modules==0.2.8 # via google-auth +pyasn1==0.4.8 # via pyasn1-modules, rsa +pycodestyle==2.10.0 # via flake8 +pycryptodome==3.17 +pyflakes==3.0.1 # via flake8 +pygments==2.15.0 # via ipython +pyparsing==3.0.9 # via httplib2 +pytest-cov==4.0.0 +pytest==7.3.0 # via pytest-cov +requests==2.28.2 # via coveralls, google-api-core, google-cloud-storage +rsa==4.9 # via google-auth +six==1.16.0 # via asttokens, google-auth, google-auth-httplib2 +stack-data==0.6.2 # via ipython +tomli==2.0.1 # via black, coverage, ipdb, mypy, pytest +traitlets==5.9.0 # via ipython, matplotlib-inline +typing-extensions==4.5.0 # via black, ipython, mypy +uritemplate==4.1.1 # via google-api-python-client +urllib3==1.26.15 # via requests +wcwidth==0.2.6 # via prompt-toolkit diff --git a/requirements/dev-3.7-dev.txt b/requirements/dev-3.7-dev.txt index a3afc26..a6e2a50 100644 --- a/requirements/dev-3.7-dev.txt +++ b/requirements/dev-3.7-dev.txt @@ -1,71 +1,69 @@ -appdirs==1.4.3 # via black -appnope==0.1.0 # via ipython -atomicwrites==1.3.0 # via pytest -attrs==19.1.0 # via black, pytest -backcall==0.1.0 # via ipython -black==19.3b0 -cachetools==3.1.1 # via google-auth -certifi==2019.6.16 # via requests -chardet==3.0.4 # via requests -click==7.0 # via black -coverage==4.5.3 # via coveralls, pytest-cov -coveralls==1.8.1 -decorator==4.4.0 # via ipython, traitlets +appnope==0.1.3 # via ipython +asttokens==2.2.1 # via stack-data +backcall==0.2.0 # via ipython +black==23.3.0 +cachetools==5.3.0 # via google-auth +certifi==2022.12.7 # via requests +charset-normalizer==3.1.0 # via requests +click==8.1.3 # via black +coverage[toml]==6.5.0 # via coveralls, pytest-cov +coveralls==3.3.1 +decorator==5.1.1 # via ipdb, ipython docopt==0.6.2 # via coveralls -entrypoints==0.3 # via flake8 -flake8==3.7.8 -google-api-core[grpc]==1.14.0 # via google-cloud-core, google-cloud-kms -google-api-python-client==1.7.10 -google-auth-httplib2==0.0.3 # via google-api-python-client -google-auth==1.6.3 # via google-api-core, google-api-python-client, google-auth-httplib2, google-cloud-storage -google-cloud-core==1.0.2 # via google-cloud-storage -google-cloud-kms==1.1.0 -google-cloud-storage==1.17.0 -google-resumable-media==0.3.2 # via google-cloud-storage -googleapis-common-protos[grpc]==1.6.0 # via google-api-core, grpc-google-iam-v1 -grpc-google-iam-v1==0.11.4 # via google-cloud-kms -grpcio==1.22.0 # via google-api-core, googleapis-common-protos, grpc-google-iam-v1 -httplib2==0.13.0 # via google-api-python-client, google-auth-httplib2 -idna==2.8 # via requests -importlib-metadata==0.18 # via pluggy, pytest -ipdb==0.12.1 -ipython-genutils==0.2.0 # via traitlets -ipython==7.6.1 # via ipdb -jedi==0.14.1 # via ipython -mccabe==0.6.1 # via flake8 -more-itertools==7.2.0 # via pytest -mypy-extensions==0.4.1 # via mypy -mypy==0.720 -packaging==19.0 # via pytest -parso==0.5.1 # via jedi -pexpect==4.7.0 # via ipython +exceptiongroup==1.1.1 # via pytest +executing==1.2.0 # via stack-data +flake8==6.0.0 +google-api-core[grpc]==2.11.0 # via google-api-python-client, google-cloud-core, google-cloud-kms, google-cloud-storage +google-api-python-client==2.85.0 +google-auth-httplib2==0.1.0 # via google-api-python-client +google-auth==2.17.2 # via google-api-core, google-api-python-client, google-auth-httplib2, google-cloud-core, google-cloud-storage +google-cloud-core==2.3.2 # via google-cloud-storage +google-cloud-kms==2.16.1 +google-cloud-storage==2.8.0 +google-crc32c==1.5.0 # via google-resumable-media +google-resumable-media==2.4.1 # via google-cloud-storage +googleapis-common-protos[grpc]==1.59.0 # via google-api-core, grpc-google-iam-v1, grpcio-status +grpc-google-iam-v1==0.12.6 # via google-cloud-kms +grpcio-status==1.53.0 # via google-api-core +grpcio==1.53.0 # via google-api-core, googleapis-common-protos, grpc-google-iam-v1, grpcio-status +httplib2==0.22.0 # via google-api-python-client, google-auth-httplib2 +idna==3.4 # via requests +iniconfig==2.0.0 # via pytest +ipdb==0.13.13 +ipython==8.12.0 # via ipdb +jedi==0.18.2 # via ipython +matplotlib-inline==0.1.6 # via ipython +mccabe==0.7.0 # via flake8 +mypy-extensions==1.0.0 # via black, mypy +mypy==1.2.0 +packaging==23.0 # via black, pytest +parso==0.8.3 # via jedi +pathspec==0.11.1 # via black +pexpect==4.8.0 # via ipython pickleshare==0.7.5 # via ipython -pluggy==0.12.0 # via pytest -prompt-toolkit==2.0.9 # via ipython -protobuf==3.9.0 # via google-api-core, googleapis-common-protos -ptyprocess==0.6.0 # via pexpect -py==1.8.0 # via pytest -pyasn1-modules==0.2.5 # via google-auth -pyasn1==0.4.5 # via pyasn1-modules, rsa -pycodestyle==2.5.0 # via flake8 -pycryptodome==3.8.2 -pyflakes==2.1.1 # via flake8 -pygments==2.4.2 # via ipython -pyparsing==2.4.1.1 # via packaging -pytest-cov==2.7.1 -pytest==5.0.1 # via pytest-cov -pytz==2019.1 # via google-api-core -requests==2.22.0 # via coveralls, google-api-core -rsa==4.0 # via google-auth -six==1.12.0 # via google-api-core, google-api-python-client, google-auth, google-resumable-media, grpcio, packaging, prompt-toolkit, protobuf, traitlets -toml==0.10.0 # via black -traitlets==4.3.2 # via ipython -typed-ast==1.4.0 # via mypy -typing-extensions==3.7.4 # via mypy -uritemplate==3.0.0 # via google-api-python-client -urllib3==1.25.3 # via requests -wcwidth==0.1.7 # via prompt-toolkit, pytest -zipp==0.5.2 # via importlib-metadata - -# The following packages are considered to be unsafe in a requirements file: -# setuptools==41.0.1 # via google-api-core, ipdb, ipython, protobuf +platformdirs==3.2.0 # via black +pluggy==1.0.0 # via pytest +prompt-toolkit==3.0.38 # via ipython +proto-plus==1.22.2 # via google-cloud-kms +protobuf==4.22.1 # via google-api-core, google-cloud-kms, googleapis-common-protos, grpc-google-iam-v1, grpcio-status, proto-plus +ptyprocess==0.7.0 # via pexpect +pure-eval==0.2.2 # via stack-data +pyasn1-modules==0.2.8 # via google-auth +pyasn1==0.4.8 # via pyasn1-modules, rsa +pycodestyle==2.10.0 # via flake8 +pycryptodome==3.17 +pyflakes==3.0.1 # via flake8 +pygments==2.15.0 # via ipython +pyparsing==3.0.9 # via httplib2 +pytest-cov==4.0.0 +pytest==7.3.0 # via pytest-cov +requests==2.28.2 # via coveralls, google-api-core, google-cloud-storage +rsa==4.9 # via google-auth +six==1.16.0 # via asttokens, google-auth, google-auth-httplib2 +stack-data==0.6.2 # via ipython +tomli==2.0.1 # via black, coverage, ipdb, mypy, pytest +traitlets==5.9.0 # via ipython, matplotlib-inline +typing-extensions==4.5.0 # via black, ipython, mypy +uritemplate==4.1.1 # via google-api-python-client +urllib3==1.26.15 # via requests +wcwidth==0.2.6 # via prompt-toolkit diff --git a/requirements/dev-3.7.txt b/requirements/dev-3.7.txt index a3afc26..a6e2a50 100644 --- a/requirements/dev-3.7.txt +++ b/requirements/dev-3.7.txt @@ -1,71 +1,69 @@ -appdirs==1.4.3 # via black -appnope==0.1.0 # via ipython -atomicwrites==1.3.0 # via pytest -attrs==19.1.0 # via black, pytest -backcall==0.1.0 # via ipython -black==19.3b0 -cachetools==3.1.1 # via google-auth -certifi==2019.6.16 # via requests -chardet==3.0.4 # via requests -click==7.0 # via black -coverage==4.5.3 # via coveralls, pytest-cov -coveralls==1.8.1 -decorator==4.4.0 # via ipython, traitlets +appnope==0.1.3 # via ipython +asttokens==2.2.1 # via stack-data +backcall==0.2.0 # via ipython +black==23.3.0 +cachetools==5.3.0 # via google-auth +certifi==2022.12.7 # via requests +charset-normalizer==3.1.0 # via requests +click==8.1.3 # via black +coverage[toml]==6.5.0 # via coveralls, pytest-cov +coveralls==3.3.1 +decorator==5.1.1 # via ipdb, ipython docopt==0.6.2 # via coveralls -entrypoints==0.3 # via flake8 -flake8==3.7.8 -google-api-core[grpc]==1.14.0 # via google-cloud-core, google-cloud-kms -google-api-python-client==1.7.10 -google-auth-httplib2==0.0.3 # via google-api-python-client -google-auth==1.6.3 # via google-api-core, google-api-python-client, google-auth-httplib2, google-cloud-storage -google-cloud-core==1.0.2 # via google-cloud-storage -google-cloud-kms==1.1.0 -google-cloud-storage==1.17.0 -google-resumable-media==0.3.2 # via google-cloud-storage -googleapis-common-protos[grpc]==1.6.0 # via google-api-core, grpc-google-iam-v1 -grpc-google-iam-v1==0.11.4 # via google-cloud-kms -grpcio==1.22.0 # via google-api-core, googleapis-common-protos, grpc-google-iam-v1 -httplib2==0.13.0 # via google-api-python-client, google-auth-httplib2 -idna==2.8 # via requests -importlib-metadata==0.18 # via pluggy, pytest -ipdb==0.12.1 -ipython-genutils==0.2.0 # via traitlets -ipython==7.6.1 # via ipdb -jedi==0.14.1 # via ipython -mccabe==0.6.1 # via flake8 -more-itertools==7.2.0 # via pytest -mypy-extensions==0.4.1 # via mypy -mypy==0.720 -packaging==19.0 # via pytest -parso==0.5.1 # via jedi -pexpect==4.7.0 # via ipython +exceptiongroup==1.1.1 # via pytest +executing==1.2.0 # via stack-data +flake8==6.0.0 +google-api-core[grpc]==2.11.0 # via google-api-python-client, google-cloud-core, google-cloud-kms, google-cloud-storage +google-api-python-client==2.85.0 +google-auth-httplib2==0.1.0 # via google-api-python-client +google-auth==2.17.2 # via google-api-core, google-api-python-client, google-auth-httplib2, google-cloud-core, google-cloud-storage +google-cloud-core==2.3.2 # via google-cloud-storage +google-cloud-kms==2.16.1 +google-cloud-storage==2.8.0 +google-crc32c==1.5.0 # via google-resumable-media +google-resumable-media==2.4.1 # via google-cloud-storage +googleapis-common-protos[grpc]==1.59.0 # via google-api-core, grpc-google-iam-v1, grpcio-status +grpc-google-iam-v1==0.12.6 # via google-cloud-kms +grpcio-status==1.53.0 # via google-api-core +grpcio==1.53.0 # via google-api-core, googleapis-common-protos, grpc-google-iam-v1, grpcio-status +httplib2==0.22.0 # via google-api-python-client, google-auth-httplib2 +idna==3.4 # via requests +iniconfig==2.0.0 # via pytest +ipdb==0.13.13 +ipython==8.12.0 # via ipdb +jedi==0.18.2 # via ipython +matplotlib-inline==0.1.6 # via ipython +mccabe==0.7.0 # via flake8 +mypy-extensions==1.0.0 # via black, mypy +mypy==1.2.0 +packaging==23.0 # via black, pytest +parso==0.8.3 # via jedi +pathspec==0.11.1 # via black +pexpect==4.8.0 # via ipython pickleshare==0.7.5 # via ipython -pluggy==0.12.0 # via pytest -prompt-toolkit==2.0.9 # via ipython -protobuf==3.9.0 # via google-api-core, googleapis-common-protos -ptyprocess==0.6.0 # via pexpect -py==1.8.0 # via pytest -pyasn1-modules==0.2.5 # via google-auth -pyasn1==0.4.5 # via pyasn1-modules, rsa -pycodestyle==2.5.0 # via flake8 -pycryptodome==3.8.2 -pyflakes==2.1.1 # via flake8 -pygments==2.4.2 # via ipython -pyparsing==2.4.1.1 # via packaging -pytest-cov==2.7.1 -pytest==5.0.1 # via pytest-cov -pytz==2019.1 # via google-api-core -requests==2.22.0 # via coveralls, google-api-core -rsa==4.0 # via google-auth -six==1.12.0 # via google-api-core, google-api-python-client, google-auth, google-resumable-media, grpcio, packaging, prompt-toolkit, protobuf, traitlets -toml==0.10.0 # via black -traitlets==4.3.2 # via ipython -typed-ast==1.4.0 # via mypy -typing-extensions==3.7.4 # via mypy -uritemplate==3.0.0 # via google-api-python-client -urllib3==1.25.3 # via requests -wcwidth==0.1.7 # via prompt-toolkit, pytest -zipp==0.5.2 # via importlib-metadata - -# The following packages are considered to be unsafe in a requirements file: -# setuptools==41.0.1 # via google-api-core, ipdb, ipython, protobuf +platformdirs==3.2.0 # via black +pluggy==1.0.0 # via pytest +prompt-toolkit==3.0.38 # via ipython +proto-plus==1.22.2 # via google-cloud-kms +protobuf==4.22.1 # via google-api-core, google-cloud-kms, googleapis-common-protos, grpc-google-iam-v1, grpcio-status, proto-plus +ptyprocess==0.7.0 # via pexpect +pure-eval==0.2.2 # via stack-data +pyasn1-modules==0.2.8 # via google-auth +pyasn1==0.4.8 # via pyasn1-modules, rsa +pycodestyle==2.10.0 # via flake8 +pycryptodome==3.17 +pyflakes==3.0.1 # via flake8 +pygments==2.15.0 # via ipython +pyparsing==3.0.9 # via httplib2 +pytest-cov==4.0.0 +pytest==7.3.0 # via pytest-cov +requests==2.28.2 # via coveralls, google-api-core, google-cloud-storage +rsa==4.9 # via google-auth +six==1.16.0 # via asttokens, google-auth, google-auth-httplib2 +stack-data==0.6.2 # via ipython +tomli==2.0.1 # via black, coverage, ipdb, mypy, pytest +traitlets==5.9.0 # via ipython, matplotlib-inline +typing-extensions==4.5.0 # via black, ipython, mypy +uritemplate==4.1.1 # via google-api-python-client +urllib3==1.26.15 # via requests +wcwidth==0.2.6 # via prompt-toolkit diff --git a/requirements/dev-3.9.txt b/requirements/dev-3.9.txt new file mode 100644 index 0000000..a6e2a50 --- /dev/null +++ b/requirements/dev-3.9.txt @@ -0,0 +1,69 @@ +appnope==0.1.3 # via ipython +asttokens==2.2.1 # via stack-data +backcall==0.2.0 # via ipython +black==23.3.0 +cachetools==5.3.0 # via google-auth +certifi==2022.12.7 # via requests +charset-normalizer==3.1.0 # via requests +click==8.1.3 # via black +coverage[toml]==6.5.0 # via coveralls, pytest-cov +coveralls==3.3.1 +decorator==5.1.1 # via ipdb, ipython +docopt==0.6.2 # via coveralls +exceptiongroup==1.1.1 # via pytest +executing==1.2.0 # via stack-data +flake8==6.0.0 +google-api-core[grpc]==2.11.0 # via google-api-python-client, google-cloud-core, google-cloud-kms, google-cloud-storage +google-api-python-client==2.85.0 +google-auth-httplib2==0.1.0 # via google-api-python-client +google-auth==2.17.2 # via google-api-core, google-api-python-client, google-auth-httplib2, google-cloud-core, google-cloud-storage +google-cloud-core==2.3.2 # via google-cloud-storage +google-cloud-kms==2.16.1 +google-cloud-storage==2.8.0 +google-crc32c==1.5.0 # via google-resumable-media +google-resumable-media==2.4.1 # via google-cloud-storage +googleapis-common-protos[grpc]==1.59.0 # via google-api-core, grpc-google-iam-v1, grpcio-status +grpc-google-iam-v1==0.12.6 # via google-cloud-kms +grpcio-status==1.53.0 # via google-api-core +grpcio==1.53.0 # via google-api-core, googleapis-common-protos, grpc-google-iam-v1, grpcio-status +httplib2==0.22.0 # via google-api-python-client, google-auth-httplib2 +idna==3.4 # via requests +iniconfig==2.0.0 # via pytest +ipdb==0.13.13 +ipython==8.12.0 # via ipdb +jedi==0.18.2 # via ipython +matplotlib-inline==0.1.6 # via ipython +mccabe==0.7.0 # via flake8 +mypy-extensions==1.0.0 # via black, mypy +mypy==1.2.0 +packaging==23.0 # via black, pytest +parso==0.8.3 # via jedi +pathspec==0.11.1 # via black +pexpect==4.8.0 # via ipython +pickleshare==0.7.5 # via ipython +platformdirs==3.2.0 # via black +pluggy==1.0.0 # via pytest +prompt-toolkit==3.0.38 # via ipython +proto-plus==1.22.2 # via google-cloud-kms +protobuf==4.22.1 # via google-api-core, google-cloud-kms, googleapis-common-protos, grpc-google-iam-v1, grpcio-status, proto-plus +ptyprocess==0.7.0 # via pexpect +pure-eval==0.2.2 # via stack-data +pyasn1-modules==0.2.8 # via google-auth +pyasn1==0.4.8 # via pyasn1-modules, rsa +pycodestyle==2.10.0 # via flake8 +pycryptodome==3.17 +pyflakes==3.0.1 # via flake8 +pygments==2.15.0 # via ipython +pyparsing==3.0.9 # via httplib2 +pytest-cov==4.0.0 +pytest==7.3.0 # via pytest-cov +requests==2.28.2 # via coveralls, google-api-core, google-cloud-storage +rsa==4.9 # via google-auth +six==1.16.0 # via asttokens, google-auth, google-auth-httplib2 +stack-data==0.6.2 # via ipython +tomli==2.0.1 # via black, coverage, ipdb, mypy, pytest +traitlets==5.9.0 # via ipython, matplotlib-inline +typing-extensions==4.5.0 # via black, ipython, mypy +uritemplate==4.1.1 # via google-api-python-client +urllib3==1.26.15 # via requests +wcwidth==0.2.6 # via prompt-toolkit diff --git a/requirements/publish.txt b/requirements/publish.txt index 6faa96c..b8e9706 100644 --- a/requirements/publish.txt +++ b/requirements/publish.txt @@ -1,40 +1,48 @@ --e file:///Users/amaru/work/SC/berglas-python -bleach==3.1.0 # via readme-renderer -cachetools==3.1.1 # via google-auth -certifi==2019.6.16 # via requests -chardet==3.0.4 # via requests -docutils==0.15.1.post1 # via readme-renderer -google-api-core[grpc]==1.14.0 # via google-cloud-core, google-cloud-kms -google-api-python-client==1.7.10 -google-auth-httplib2==0.0.3 # via google-api-python-client -google-auth==1.6.3 # via google-api-core, google-api-python-client, google-auth-httplib2, google-cloud-storage -google-cloud-core==1.0.2 # via google-cloud-storage -google-cloud-kms==1.1.0 -google-cloud-storage==1.17.0 -google-resumable-media==0.3.2 # via google-cloud-storage -googleapis-common-protos[grpc]==1.6.0 # via google-api-core, grpc-google-iam-v1 -grpc-google-iam-v1==0.11.4 # via google-cloud-kms -grpcio==1.22.0 # via google-api-core, googleapis-common-protos, grpc-google-iam-v1 -httplib2==0.13.0 # via google-api-python-client, google-auth-httplib2 -idna==2.8 # via requests -pkginfo==1.5.0.1 # via twine -protobuf==3.9.0 # via google-api-core, googleapis-common-protos -pyasn1-modules==0.2.5 # via google-auth -pyasn1==0.4.5 # via pyasn1-modules, rsa -pycryptodome==3.8.2 -pygments==2.4.2 # via readme-renderer -pytz==2019.1 # via google-api-core -readme-renderer==24.0 # via twine -requests-toolbelt==0.9.1 # via twine -requests==2.22.0 # via google-api-core, requests-toolbelt, twine -rsa==4.0 # via google-auth -six==1.12.0 # via bleach, google-api-core, google-api-python-client, google-auth, google-resumable-media, grpcio, protobuf, readme-renderer -tqdm==4.32.2 # via twine -twine==1.13.0 -uritemplate==3.0.0 # via google-api-python-client -urllib3==1.25.3 # via requests +-e file:///Users/mattneth/Documents/dev/repos/berglas_python +bleach==6.0.0 # via readme-renderer +cachetools==5.3.0 # via google-auth +certifi==2022.12.7 # via requests +charset-normalizer==3.1.0 # via requests +docutils==0.19 # via readme-renderer +google-api-core[grpc]==2.11.0 # via google-api-python-client, google-cloud-core, google-cloud-kms, google-cloud-storage +google-api-python-client==2.85.0 +google-auth-httplib2==0.1.0 # via google-api-python-client +google-auth==2.17.2 # via google-api-core, google-api-python-client, google-auth-httplib2, google-cloud-core, google-cloud-storage +google-cloud-core==2.3.2 # via google-cloud-storage +google-cloud-kms==2.16.1 +google-cloud-storage==2.8.0 +google-crc32c==1.5.0 # via google-resumable-media +google-resumable-media==2.4.1 # via google-cloud-storage +googleapis-common-protos[grpc]==1.59.0 # via google-api-core, grpc-google-iam-v1, grpcio-status +grpc-google-iam-v1==0.12.6 # via google-cloud-kms +grpcio-status==1.53.0 # via google-api-core +grpcio==1.53.0 # via google-api-core, googleapis-common-protos, grpc-google-iam-v1, grpcio-status +httplib2==0.22.0 # via google-api-python-client, google-auth-httplib2 +idna==3.4 # via requests +importlib-metadata==6.3.0 # via keyring, twine +jaraco.classes==3.2.3 # via keyring +keyring==23.13.1 # via twine +markdown-it-py==2.2.0 # via rich +mdurl==0.1.2 # via markdown-it-py +more-itertools==9.1.0 # via jaraco.classes +pkginfo==1.9.6 # via twine +proto-plus==1.22.2 # via google-cloud-kms +protobuf==4.22.1 # via google-api-core, google-cloud-kms, googleapis-common-protos, grpc-google-iam-v1, grpcio-status, proto-plus +pyasn1-modules==0.2.8 # via google-auth +pyasn1==0.4.8 # via pyasn1-modules, rsa +pycryptodome==3.17 +pygments==2.15.0 # via readme-renderer, rich +pyparsing==3.0.9 # via httplib2 +readme-renderer==37.3 # via twine +requests-toolbelt==0.10.1 # via twine +requests==2.28.2 # via google-api-core, google-cloud-storage, requests-toolbelt, twine +rfc3986==2.0.0 # via twine +rich==13.3.3 # via twine +rsa==4.9 # via google-auth +six==1.16.0 # via bleach, google-auth, google-auth-httplib2 +twine==4.0.2 +uritemplate==4.1.1 # via google-api-python-client +urllib3==1.26.15 # via requests, twine webencodings==0.5.1 # via bleach -wheel==0.33.4 - -# The following packages are considered to be unsafe in a requirements file: -# setuptools==41.0.1 # via google-api-core, protobuf, twine +wheel==0.40.0 +zipp==3.15.0 # via importlib-metadata diff --git a/scripts/pip-compile.sh b/scripts/pip-compile.sh index 1a40af6..512725d 100755 --- a/scripts/pip-compile.sh +++ b/scripts/pip-compile.sh @@ -5,7 +5,7 @@ if [[ -z "${PYTHON_VERSIONS}" ]]; then exit 1 fi -pip install pip-tools +pip install pip-tools==3.2.0 out_file=requirements/publish.txt # always rebuild from scratch diff --git a/setup.py b/setup.py index 0058923..600100a 100644 --- a/setup.py +++ b/setup.py @@ -44,6 +44,7 @@ "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.9", "License :: OSI Approved :: Apache Software License", ], python_requires=">=3.6", @@ -55,7 +56,7 @@ # your project is installed. For an analysis of "install_requires" vs pip's # requirements files see: # https://packaging.python.org/en/latest/requirements.html - install_requires=["pycryptodome", "google-api-python-client", "google-cloud-storage", "google-cloud-kms"], + install_requires=["pycryptodome", "google-api-python-client>=2", "google-cloud-storage>=2", "google-cloud-kms>=2"], tests_require=tests_require, # List additional groups of dependencies here (e.g. development # dependencies). You can install these using the following syntax,