diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:09:46 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 04:09:46 +0000 |
| commit | 82034367a103f903c1960ca42dc8f2048f560f26 (patch) | |
| tree | 8c01789cae20f7b355564d8cfecd5ea0c1fefebc /python-pyflocker.spec | |
| parent | 29ff21ec3ceb9b104230e9bf985aa8566cb66e94 (diff) | |
automatic import of python-pyflocker
Diffstat (limited to 'python-pyflocker.spec')
| -rw-r--r-- | python-pyflocker.spec | 533 |
1 files changed, 533 insertions, 0 deletions
diff --git a/python-pyflocker.spec b/python-pyflocker.spec new file mode 100644 index 0000000..da3a2aa --- /dev/null +++ b/python-pyflocker.spec @@ -0,0 +1,533 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pyflocker +Version: 0.4.1 +Release: 1 +Summary: Python Cryptographic (File Locking) Library +License: MIT +URL: https://github.com/arunanshub/pyflocker +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e9/3b/697a905ea685938def466ccfb029aa499179177b5d92410d3bdce570b23e/pyflocker-0.4.1.tar.gz +BuildArch: noarch + +Requires: python3-pycryptodomex +Requires: python3-cryptography[ssh] + +%description +# PyFLocker + +[](https://github.com/arunanshub/pyflocker/actions/workflows/ci.yml) +[](https://coveralls.io/github/arunanshub/pyflocker?branch=master) +[](https://github.com/psf/black) +[](https://pycqa.github.io/isort/) +[](https://pypi.org/project/PyFLocker) +[](https://pyflocker.readthedocs.io/en/latest/?badge=latest) + +Python Cryptographic (File Locking) Library + +> Lock as in Lock and Key. + +## Installation + +Use `pip` or `pip3` to install PyFLocker + + pip install pyflocker + +or + + pip3 install pyflocker + +## Introduction + +PyFLocker aims to be a highly stable and easy to use cryptographic library. +Before you read on, check if you agree to at least one of these points: + +- [`PyCryptodome(x)`][pycrypto] and [`pyca/cryptography`][pyca] have + **very different** public interfaces, which makes remembering all the imports + very difficult, and leaves you reading docs under deadline. + +- The interface of `pyca/cryptography` is very difficult to use, let alone + remember the import: + + ```python + from cryptography.hazmat.primitives.ciphers.algorithms import AES + from cryptography.hazmat.primitives.ciphers import Modes + ... + from cryptography.hazmat.backends import default_backend + # and so on... + ``` + +- You wish that only if `pyca/cryptography` had been as easy to use as + `Pycryptodome(x)`, it would have made life more easy. + +- You sometimes think that the file encryption script you wrote were somehow + faster and played with both backends very well, but you weren't sure what to do. + + - And all the other solutions (and nonsolutions!) on the internet just confuses + you more! + +PyFLocker uses well established libraries as its backends and expands upon them. +This gives you the ultimate ability to cherry-pick the primitives from a specific +backend without having to worry about backend itself, as PyFLocker handles it +for you. + +You can find more information in the [documentation][docs]. + +## Features + +### Not a "Yet Another Cryptographic Library" + +PyFLocker provides you a seamless interface to both the backends, and switching +is very easy: + +```python +import os +from pyflocker.ciphers import AES, RSA, ECC +from pyflocker.ciphers.backends import Backends + +key, nonce = os.urandom(32), os.urandom(16) + +# Multiple backends - same API +enc = AES.new(True, key, AES.MODE_EAX, nonce, backend=Backends.CRYPTOGRAPHY) +rpriv = RSA.generate(2048, backend=Backends.CRYPTODOME) +epriv = ECC.generate("x25519", backend=Backends.CRYPTOGRAPHY) +``` + +Backend loading is done internally, and if a backend is explicitly specified, +that is used as the default. + +### Ease of Use + +PyFLocker provides reasonable defaults wherever possible: + +```python +from pyflocker.ciphers import RSA +priv = RSA.generate(2048) +with open("private_key.pem", "xb") as f: + key = priv.serialize(passphrase=b"random-chimp-event") + f.write(key) +``` + +Don't believe me, try to do the [same operation with `pyca/cryptography`][pyca_vs_self], +or just any other initialization. + +In short, the API is very stable, clear and easy on developer's mind. + +### Writing into file or file-like objects + +This is often a related problem when it comes to encryption, but think no more! + +```python +import os +from pyflocker.ciphers import AES +from pyflocker.ciphers.backends import Backends + +key, nonce = os.urandom(32), os.urandom(16) +f1 = open("MySecretData.txt", "rb") +f2 = open("MySecretData.txt.enc", "xb") +enc = AES.new( + True, + key, + AES.MODE_EAX, + nonce, + backend=Backends.CRYPTOGRAPHY, + file=f1, +) +enc.update_into(f2) +tag = enc.calculate_tag() +``` + +You can also use `BytesIO` in place of file objects. + +### Directly encrypting files + +Just want to encrypt your file with AES, and even with various available modes? + +```python +from pyflocker.locker import locker +from pyflocker.ciphers import AES + +password = b"no not this" +locker( + "./MySuperSecretFile.txt", + password, + aes_mode=AES.MODE_CTR, # default is AES-GCM-256 +) +# file stored as MySuperSecretFile.txt.pyflk +``` + +Find more examples [here][examples]. + +## License + +[MIT](https://choosealicense.com/licenses/mit/) + +[docs]: https://pyflocker.readthedocs.io/en/latest/ +[examples]: https://pyflocker.readthedocs.io/en/latest/examples +[pycrypto]: https://github.com/Legrandin/pycryptodome +[pyca]: https://github.com/pyca/cryptography +[pyca_vs_self]: https://cryptography.io/en/latest/hazmat/primitives/asymmetric/rsa.html#key-serialization + + +%package -n python3-pyflocker +Summary: Python Cryptographic (File Locking) Library +Provides: python-pyflocker +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pyflocker +# PyFLocker + +[](https://github.com/arunanshub/pyflocker/actions/workflows/ci.yml) +[](https://coveralls.io/github/arunanshub/pyflocker?branch=master) +[](https://github.com/psf/black) +[](https://pycqa.github.io/isort/) +[](https://pypi.org/project/PyFLocker) +[](https://pyflocker.readthedocs.io/en/latest/?badge=latest) + +Python Cryptographic (File Locking) Library + +> Lock as in Lock and Key. + +## Installation + +Use `pip` or `pip3` to install PyFLocker + + pip install pyflocker + +or + + pip3 install pyflocker + +## Introduction + +PyFLocker aims to be a highly stable and easy to use cryptographic library. +Before you read on, check if you agree to at least one of these points: + +- [`PyCryptodome(x)`][pycrypto] and [`pyca/cryptography`][pyca] have + **very different** public interfaces, which makes remembering all the imports + very difficult, and leaves you reading docs under deadline. + +- The interface of `pyca/cryptography` is very difficult to use, let alone + remember the import: + + ```python + from cryptography.hazmat.primitives.ciphers.algorithms import AES + from cryptography.hazmat.primitives.ciphers import Modes + ... + from cryptography.hazmat.backends import default_backend + # and so on... + ``` + +- You wish that only if `pyca/cryptography` had been as easy to use as + `Pycryptodome(x)`, it would have made life more easy. + +- You sometimes think that the file encryption script you wrote were somehow + faster and played with both backends very well, but you weren't sure what to do. + + - And all the other solutions (and nonsolutions!) on the internet just confuses + you more! + +PyFLocker uses well established libraries as its backends and expands upon them. +This gives you the ultimate ability to cherry-pick the primitives from a specific +backend without having to worry about backend itself, as PyFLocker handles it +for you. + +You can find more information in the [documentation][docs]. + +## Features + +### Not a "Yet Another Cryptographic Library" + +PyFLocker provides you a seamless interface to both the backends, and switching +is very easy: + +```python +import os +from pyflocker.ciphers import AES, RSA, ECC +from pyflocker.ciphers.backends import Backends + +key, nonce = os.urandom(32), os.urandom(16) + +# Multiple backends - same API +enc = AES.new(True, key, AES.MODE_EAX, nonce, backend=Backends.CRYPTOGRAPHY) +rpriv = RSA.generate(2048, backend=Backends.CRYPTODOME) +epriv = ECC.generate("x25519", backend=Backends.CRYPTOGRAPHY) +``` + +Backend loading is done internally, and if a backend is explicitly specified, +that is used as the default. + +### Ease of Use + +PyFLocker provides reasonable defaults wherever possible: + +```python +from pyflocker.ciphers import RSA +priv = RSA.generate(2048) +with open("private_key.pem", "xb") as f: + key = priv.serialize(passphrase=b"random-chimp-event") + f.write(key) +``` + +Don't believe me, try to do the [same operation with `pyca/cryptography`][pyca_vs_self], +or just any other initialization. + +In short, the API is very stable, clear and easy on developer's mind. + +### Writing into file or file-like objects + +This is often a related problem when it comes to encryption, but think no more! + +```python +import os +from pyflocker.ciphers import AES +from pyflocker.ciphers.backends import Backends + +key, nonce = os.urandom(32), os.urandom(16) +f1 = open("MySecretData.txt", "rb") +f2 = open("MySecretData.txt.enc", "xb") +enc = AES.new( + True, + key, + AES.MODE_EAX, + nonce, + backend=Backends.CRYPTOGRAPHY, + file=f1, +) +enc.update_into(f2) +tag = enc.calculate_tag() +``` + +You can also use `BytesIO` in place of file objects. + +### Directly encrypting files + +Just want to encrypt your file with AES, and even with various available modes? + +```python +from pyflocker.locker import locker +from pyflocker.ciphers import AES + +password = b"no not this" +locker( + "./MySuperSecretFile.txt", + password, + aes_mode=AES.MODE_CTR, # default is AES-GCM-256 +) +# file stored as MySuperSecretFile.txt.pyflk +``` + +Find more examples [here][examples]. + +## License + +[MIT](https://choosealicense.com/licenses/mit/) + +[docs]: https://pyflocker.readthedocs.io/en/latest/ +[examples]: https://pyflocker.readthedocs.io/en/latest/examples +[pycrypto]: https://github.com/Legrandin/pycryptodome +[pyca]: https://github.com/pyca/cryptography +[pyca_vs_self]: https://cryptography.io/en/latest/hazmat/primitives/asymmetric/rsa.html#key-serialization + + +%package help +Summary: Development documents and examples for pyflocker +Provides: python3-pyflocker-doc +%description help +# PyFLocker + +[](https://github.com/arunanshub/pyflocker/actions/workflows/ci.yml) +[](https://coveralls.io/github/arunanshub/pyflocker?branch=master) +[](https://github.com/psf/black) +[](https://pycqa.github.io/isort/) +[](https://pypi.org/project/PyFLocker) +[](https://pyflocker.readthedocs.io/en/latest/?badge=latest) + +Python Cryptographic (File Locking) Library + +> Lock as in Lock and Key. + +## Installation + +Use `pip` or `pip3` to install PyFLocker + + pip install pyflocker + +or + + pip3 install pyflocker + +## Introduction + +PyFLocker aims to be a highly stable and easy to use cryptographic library. +Before you read on, check if you agree to at least one of these points: + +- [`PyCryptodome(x)`][pycrypto] and [`pyca/cryptography`][pyca] have + **very different** public interfaces, which makes remembering all the imports + very difficult, and leaves you reading docs under deadline. + +- The interface of `pyca/cryptography` is very difficult to use, let alone + remember the import: + + ```python + from cryptography.hazmat.primitives.ciphers.algorithms import AES + from cryptography.hazmat.primitives.ciphers import Modes + ... + from cryptography.hazmat.backends import default_backend + # and so on... + ``` + +- You wish that only if `pyca/cryptography` had been as easy to use as + `Pycryptodome(x)`, it would have made life more easy. + +- You sometimes think that the file encryption script you wrote were somehow + faster and played with both backends very well, but you weren't sure what to do. + + - And all the other solutions (and nonsolutions!) on the internet just confuses + you more! + +PyFLocker uses well established libraries as its backends and expands upon them. +This gives you the ultimate ability to cherry-pick the primitives from a specific +backend without having to worry about backend itself, as PyFLocker handles it +for you. + +You can find more information in the [documentation][docs]. + +## Features + +### Not a "Yet Another Cryptographic Library" + +PyFLocker provides you a seamless interface to both the backends, and switching +is very easy: + +```python +import os +from pyflocker.ciphers import AES, RSA, ECC +from pyflocker.ciphers.backends import Backends + +key, nonce = os.urandom(32), os.urandom(16) + +# Multiple backends - same API +enc = AES.new(True, key, AES.MODE_EAX, nonce, backend=Backends.CRYPTOGRAPHY) +rpriv = RSA.generate(2048, backend=Backends.CRYPTODOME) +epriv = ECC.generate("x25519", backend=Backends.CRYPTOGRAPHY) +``` + +Backend loading is done internally, and if a backend is explicitly specified, +that is used as the default. + +### Ease of Use + +PyFLocker provides reasonable defaults wherever possible: + +```python +from pyflocker.ciphers import RSA +priv = RSA.generate(2048) +with open("private_key.pem", "xb") as f: + key = priv.serialize(passphrase=b"random-chimp-event") + f.write(key) +``` + +Don't believe me, try to do the [same operation with `pyca/cryptography`][pyca_vs_self], +or just any other initialization. + +In short, the API is very stable, clear and easy on developer's mind. + +### Writing into file or file-like objects + +This is often a related problem when it comes to encryption, but think no more! + +```python +import os +from pyflocker.ciphers import AES +from pyflocker.ciphers.backends import Backends + +key, nonce = os.urandom(32), os.urandom(16) +f1 = open("MySecretData.txt", "rb") +f2 = open("MySecretData.txt.enc", "xb") +enc = AES.new( + True, + key, + AES.MODE_EAX, + nonce, + backend=Backends.CRYPTOGRAPHY, + file=f1, +) +enc.update_into(f2) +tag = enc.calculate_tag() +``` + +You can also use `BytesIO` in place of file objects. + +### Directly encrypting files + +Just want to encrypt your file with AES, and even with various available modes? + +```python +from pyflocker.locker import locker +from pyflocker.ciphers import AES + +password = b"no not this" +locker( + "./MySuperSecretFile.txt", + password, + aes_mode=AES.MODE_CTR, # default is AES-GCM-256 +) +# file stored as MySuperSecretFile.txt.pyflk +``` + +Find more examples [here][examples]. + +## License + +[MIT](https://choosealicense.com/licenses/mit/) + +[docs]: https://pyflocker.readthedocs.io/en/latest/ +[examples]: https://pyflocker.readthedocs.io/en/latest/examples +[pycrypto]: https://github.com/Legrandin/pycryptodome +[pyca]: https://github.com/pyca/cryptography +[pyca_vs_self]: https://cryptography.io/en/latest/hazmat/primitives/asymmetric/rsa.html#key-serialization + + +%prep +%autosetup -n pyflocker-0.4.1 + +%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-pyflocker -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 0.4.1-1 +- Package Spec generated |
