diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 05:02:52 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 05:02:52 +0000 |
commit | fd3726905cac0358953fae65af249f740743d3e2 (patch) | |
tree | 65cd607610946794f87b8ca4869c191ce3ef2a06 | |
parent | 9eb7476444052ec21f1106ed170e537a181c42de (diff) |
automatic import of python-aws-request-signeropeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-aws-request-signer.spec | 410 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 412 insertions, 0 deletions
@@ -0,0 +1 @@ +/aws_request_signer-1.2.0.tar.gz diff --git a/python-aws-request-signer.spec b/python-aws-request-signer.spec new file mode 100644 index 0000000..51c4205 --- /dev/null +++ b/python-aws-request-signer.spec @@ -0,0 +1,410 @@ +%global _empty_manifest_terminate_build 0 +Name: python-aws-request-signer +Version: 1.2.0 +Release: 1 +Summary: A python library to sign AWS requests using AWS Signature V4. +License: MIT +URL: https://www.github.com/iksteen/aws-request-signer +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/63/ab/2ca5870971f1e3601e27d22c0290a75dd90bcce066a67884d9034b7cf765/aws_request_signer-1.2.0.tar.gz +BuildArch: noarch + +Requires: python3-requests +Requires: python3-requests_toolbelt + +%description +# aws-request-signer +> A python library to sign AWS requests using AWS Signature V4. + +This small python library serves only purpose: Helping you sign HTTP +requests for use with AWS (and compatible) services. The library is +unopinionated and should work with just about anything that makes HTTP +requests (requests, aiohttp). + +It supports generating authorization headers for HTTP requests, +pre-signing URLs so you can easily use them elsewhere and signing S3 +POST policies for use in HTML forms. + +This library has no requirements, but comes with an authentication +helper for the requests package. + +## Installation + +`aws-request-signer` is available from pypi: + +```sh +pip install aws-request-signer +``` + +## Usage example + +Here's an example of how to use the library to sign a request to upload a file to a +[minio](https://minio.io/) S3 bucket running on your local machine: + +```python +import hashlib + +import requests +from aws_request_signer import AwsRequestSigner + +AWS_REGION = "" +AWS_ACCESS_KEY_ID = "minio" +AWS_SECRET_ACCESS_KEY = "minio123" + +URL = "http://127.0.0.1:9000/demo/hello_world.txt" + +# Demo content for our target file. +content = b"Hello, World!\n" +content_hash = hashlib.sha256(content).hexdigest() + +# Create a request signer instance. +request_signer = AwsRequestSigner( + AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, "s3" +) + +# The headers we'll provide and want to sign. +headers = {"Content-Type": "text/plain", "Content-Length": str(len(content))} + +# Add the authentication headers. +headers.update( + request_signer.sign_with_headers("PUT", URL, headers, content_hash) +) + +# Make the request. +r = requests.put(URL, headers=headers, data=content) +r.raise_for_status() +``` + +_For more examples and usage, please refer to +[demo.py](https://github.com/iksteen/aws-request-signer/blob/master/demo.py)._ + +## Development setup + +For development purposes, you can clone the repository and use +[poetry](https://poetry.eustace.io/) to install and maintain the +dependencies. There is no test suite. It comes with a set of pre-commit +hooks that can format (isort, black) and check your code (mypy, flake8) +automatically. + +```sh +git clone git@github.com:iksteen/aws-request-signer.git +cd aws-request-signer +poetry install -E demo +poetry run pre-commit install +``` + +## Release History + +* 1.2.0 + * Add support for passing a security token to `AwsRequestSigner` + and `AwsAuth` helper for request. Thanks @ajpl. +* 1.1.1 + * Use `quote` instead of the default `quote_plus` so query + arguments that contain spaces work (thanks @eraser-77). +* 1.1.0 + * Minimum supported python version is now 3.6.1. + * Assume empty content when signing a HEAD or DELETE request + just as we do when signing a GET request. Thanks @alvassin! + * Fix bug where `sign_with_headers` did not include valueless + query arguments in the signing process (f.e. `?acl`). +* 1.0.0 + * Initial Release. + +## Meta + +Ingmar Steen – [@iksteen](https://twitter.com/iksteen) + +Distributed under the MIT license. See ``LICENSE`` for more information. + +[https://github.com/iksteen/](https://github.com/iksteen/) + +## Contributing + +1. Fork it (<https://github.com/iksteen/aws-request-signer/fork>) +2. Create your feature branch (`git checkout -b feature/fooBar`) +3. Commit your changes (`git commit -am 'Add some fooBar'`) +4. Push to the branch (`git push origin feature/fooBar`) +5. Create a new Pull Request + + +%package -n python3-aws-request-signer +Summary: A python library to sign AWS requests using AWS Signature V4. +Provides: python-aws-request-signer +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-aws-request-signer +# aws-request-signer +> A python library to sign AWS requests using AWS Signature V4. + +This small python library serves only purpose: Helping you sign HTTP +requests for use with AWS (and compatible) services. The library is +unopinionated and should work with just about anything that makes HTTP +requests (requests, aiohttp). + +It supports generating authorization headers for HTTP requests, +pre-signing URLs so you can easily use them elsewhere and signing S3 +POST policies for use in HTML forms. + +This library has no requirements, but comes with an authentication +helper for the requests package. + +## Installation + +`aws-request-signer` is available from pypi: + +```sh +pip install aws-request-signer +``` + +## Usage example + +Here's an example of how to use the library to sign a request to upload a file to a +[minio](https://minio.io/) S3 bucket running on your local machine: + +```python +import hashlib + +import requests +from aws_request_signer import AwsRequestSigner + +AWS_REGION = "" +AWS_ACCESS_KEY_ID = "minio" +AWS_SECRET_ACCESS_KEY = "minio123" + +URL = "http://127.0.0.1:9000/demo/hello_world.txt" + +# Demo content for our target file. +content = b"Hello, World!\n" +content_hash = hashlib.sha256(content).hexdigest() + +# Create a request signer instance. +request_signer = AwsRequestSigner( + AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, "s3" +) + +# The headers we'll provide and want to sign. +headers = {"Content-Type": "text/plain", "Content-Length": str(len(content))} + +# Add the authentication headers. +headers.update( + request_signer.sign_with_headers("PUT", URL, headers, content_hash) +) + +# Make the request. +r = requests.put(URL, headers=headers, data=content) +r.raise_for_status() +``` + +_For more examples and usage, please refer to +[demo.py](https://github.com/iksteen/aws-request-signer/blob/master/demo.py)._ + +## Development setup + +For development purposes, you can clone the repository and use +[poetry](https://poetry.eustace.io/) to install and maintain the +dependencies. There is no test suite. It comes with a set of pre-commit +hooks that can format (isort, black) and check your code (mypy, flake8) +automatically. + +```sh +git clone git@github.com:iksteen/aws-request-signer.git +cd aws-request-signer +poetry install -E demo +poetry run pre-commit install +``` + +## Release History + +* 1.2.0 + * Add support for passing a security token to `AwsRequestSigner` + and `AwsAuth` helper for request. Thanks @ajpl. +* 1.1.1 + * Use `quote` instead of the default `quote_plus` so query + arguments that contain spaces work (thanks @eraser-77). +* 1.1.0 + * Minimum supported python version is now 3.6.1. + * Assume empty content when signing a HEAD or DELETE request + just as we do when signing a GET request. Thanks @alvassin! + * Fix bug where `sign_with_headers` did not include valueless + query arguments in the signing process (f.e. `?acl`). +* 1.0.0 + * Initial Release. + +## Meta + +Ingmar Steen – [@iksteen](https://twitter.com/iksteen) + +Distributed under the MIT license. See ``LICENSE`` for more information. + +[https://github.com/iksteen/](https://github.com/iksteen/) + +## Contributing + +1. Fork it (<https://github.com/iksteen/aws-request-signer/fork>) +2. Create your feature branch (`git checkout -b feature/fooBar`) +3. Commit your changes (`git commit -am 'Add some fooBar'`) +4. Push to the branch (`git push origin feature/fooBar`) +5. Create a new Pull Request + + +%package help +Summary: Development documents and examples for aws-request-signer +Provides: python3-aws-request-signer-doc +%description help +# aws-request-signer +> A python library to sign AWS requests using AWS Signature V4. + +This small python library serves only purpose: Helping you sign HTTP +requests for use with AWS (and compatible) services. The library is +unopinionated and should work with just about anything that makes HTTP +requests (requests, aiohttp). + +It supports generating authorization headers for HTTP requests, +pre-signing URLs so you can easily use them elsewhere and signing S3 +POST policies for use in HTML forms. + +This library has no requirements, but comes with an authentication +helper for the requests package. + +## Installation + +`aws-request-signer` is available from pypi: + +```sh +pip install aws-request-signer +``` + +## Usage example + +Here's an example of how to use the library to sign a request to upload a file to a +[minio](https://minio.io/) S3 bucket running on your local machine: + +```python +import hashlib + +import requests +from aws_request_signer import AwsRequestSigner + +AWS_REGION = "" +AWS_ACCESS_KEY_ID = "minio" +AWS_SECRET_ACCESS_KEY = "minio123" + +URL = "http://127.0.0.1:9000/demo/hello_world.txt" + +# Demo content for our target file. +content = b"Hello, World!\n" +content_hash = hashlib.sha256(content).hexdigest() + +# Create a request signer instance. +request_signer = AwsRequestSigner( + AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, "s3" +) + +# The headers we'll provide and want to sign. +headers = {"Content-Type": "text/plain", "Content-Length": str(len(content))} + +# Add the authentication headers. +headers.update( + request_signer.sign_with_headers("PUT", URL, headers, content_hash) +) + +# Make the request. +r = requests.put(URL, headers=headers, data=content) +r.raise_for_status() +``` + +_For more examples and usage, please refer to +[demo.py](https://github.com/iksteen/aws-request-signer/blob/master/demo.py)._ + +## Development setup + +For development purposes, you can clone the repository and use +[poetry](https://poetry.eustace.io/) to install and maintain the +dependencies. There is no test suite. It comes with a set of pre-commit +hooks that can format (isort, black) and check your code (mypy, flake8) +automatically. + +```sh +git clone git@github.com:iksteen/aws-request-signer.git +cd aws-request-signer +poetry install -E demo +poetry run pre-commit install +``` + +## Release History + +* 1.2.0 + * Add support for passing a security token to `AwsRequestSigner` + and `AwsAuth` helper for request. Thanks @ajpl. +* 1.1.1 + * Use `quote` instead of the default `quote_plus` so query + arguments that contain spaces work (thanks @eraser-77). +* 1.1.0 + * Minimum supported python version is now 3.6.1. + * Assume empty content when signing a HEAD or DELETE request + just as we do when signing a GET request. Thanks @alvassin! + * Fix bug where `sign_with_headers` did not include valueless + query arguments in the signing process (f.e. `?acl`). +* 1.0.0 + * Initial Release. + +## Meta + +Ingmar Steen – [@iksteen](https://twitter.com/iksteen) + +Distributed under the MIT license. See ``LICENSE`` for more information. + +[https://github.com/iksteen/](https://github.com/iksteen/) + +## Contributing + +1. Fork it (<https://github.com/iksteen/aws-request-signer/fork>) +2. Create your feature branch (`git checkout -b feature/fooBar`) +3. Commit your changes (`git commit -am 'Add some fooBar'`) +4. Push to the branch (`git push origin feature/fooBar`) +5. Create a new Pull Request + + +%prep +%autosetup -n aws-request-signer-1.2.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-aws-request-signer -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.0-1 +- Package Spec generated @@ -0,0 +1 @@ +773864936bfaae5a8f764e2ea3e295c6 aws_request_signer-1.2.0.tar.gz |