diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-aleph-message.spec | 201 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 203 insertions, 0 deletions
@@ -0,0 +1 @@ +/aleph-message-0.3.2.tar.gz diff --git a/python-aleph-message.spec b/python-aleph-message.spec new file mode 100644 index 0000000..a930e14 --- /dev/null +++ b/python-aleph-message.spec @@ -0,0 +1,201 @@ +%global _empty_manifest_terminate_build 0 +Name: python-aleph-message +Version: 0.3.2 +Release: 1 +Summary: Aleph.im message specification +License: MIT +URL: https://github.com/aleph-im/aleph-message +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/cd/20/9a980f1849a5602099e5cedf69c0158d2bef4c72ac0e4a2a0125cbfaaccd/aleph-message-0.3.2.tar.gz +BuildArch: noarch + + +%description +# Aleph.im Message Specification + +This library aims to provide an easy way to create, update and manipulate +messages from Aleph.im. + +It mainly consists in [pydantic](https://pydantic-docs.helpmanual.io/) +models that provide field type validation and IDE autocompletion for messages. + +This library provides: +* schema validation when parsing messages. +* cryptographic hash validation that the `item_hash` matches the content of the message. +* type validation using type checkers such as [mypy](https://www.mypy-lang.org/) in development environments. +* autocompletion support in development editors. + +The `item_hash` is commonly used as unique message identifier on Aleph.im. + +Cryptographic signatures are out of scope of this library and part of the `aleph-sdk-python` +project, due to their extended scope and dependency on cryptographic libraries. + +This library is used in both client and node software of Aleph.im. + +## Usage + +```shell +pip install aleph-message +``` + +```python +import requests +from aleph_message import Message +from pydantic import ValidationError + +ALEPH_API_SERVER = "https://official.aleph.cloud" +MESSAGE_ITEM_HASH = "9b21eb870d01bf64d23e1d4475e342c8f958fcd544adc37db07d8281da070b00" + +message_dict = requests.get(ALEPH_API_SERVER + "/api/v0/messages.json?hashes=" + MESSAGE_ITEM_HASH).json() + +try: + message = Message(**message_dict["messages"][0]) + print(message.sender) +except ValidationError as e: + print(e.json(indent=4)) +``` + + +%package -n python3-aleph-message +Summary: Aleph.im message specification +Provides: python-aleph-message +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-aleph-message +# Aleph.im Message Specification + +This library aims to provide an easy way to create, update and manipulate +messages from Aleph.im. + +It mainly consists in [pydantic](https://pydantic-docs.helpmanual.io/) +models that provide field type validation and IDE autocompletion for messages. + +This library provides: +* schema validation when parsing messages. +* cryptographic hash validation that the `item_hash` matches the content of the message. +* type validation using type checkers such as [mypy](https://www.mypy-lang.org/) in development environments. +* autocompletion support in development editors. + +The `item_hash` is commonly used as unique message identifier on Aleph.im. + +Cryptographic signatures are out of scope of this library and part of the `aleph-sdk-python` +project, due to their extended scope and dependency on cryptographic libraries. + +This library is used in both client and node software of Aleph.im. + +## Usage + +```shell +pip install aleph-message +``` + +```python +import requests +from aleph_message import Message +from pydantic import ValidationError + +ALEPH_API_SERVER = "https://official.aleph.cloud" +MESSAGE_ITEM_HASH = "9b21eb870d01bf64d23e1d4475e342c8f958fcd544adc37db07d8281da070b00" + +message_dict = requests.get(ALEPH_API_SERVER + "/api/v0/messages.json?hashes=" + MESSAGE_ITEM_HASH).json() + +try: + message = Message(**message_dict["messages"][0]) + print(message.sender) +except ValidationError as e: + print(e.json(indent=4)) +``` + + +%package help +Summary: Development documents and examples for aleph-message +Provides: python3-aleph-message-doc +%description help +# Aleph.im Message Specification + +This library aims to provide an easy way to create, update and manipulate +messages from Aleph.im. + +It mainly consists in [pydantic](https://pydantic-docs.helpmanual.io/) +models that provide field type validation and IDE autocompletion for messages. + +This library provides: +* schema validation when parsing messages. +* cryptographic hash validation that the `item_hash` matches the content of the message. +* type validation using type checkers such as [mypy](https://www.mypy-lang.org/) in development environments. +* autocompletion support in development editors. + +The `item_hash` is commonly used as unique message identifier on Aleph.im. + +Cryptographic signatures are out of scope of this library and part of the `aleph-sdk-python` +project, due to their extended scope and dependency on cryptographic libraries. + +This library is used in both client and node software of Aleph.im. + +## Usage + +```shell +pip install aleph-message +``` + +```python +import requests +from aleph_message import Message +from pydantic import ValidationError + +ALEPH_API_SERVER = "https://official.aleph.cloud" +MESSAGE_ITEM_HASH = "9b21eb870d01bf64d23e1d4475e342c8f958fcd544adc37db07d8281da070b00" + +message_dict = requests.get(ALEPH_API_SERVER + "/api/v0/messages.json?hashes=" + MESSAGE_ITEM_HASH).json() + +try: + message = Message(**message_dict["messages"][0]) + print(message.sender) +except ValidationError as e: + print(e.json(indent=4)) +``` + + +%prep +%autosetup -n aleph-message-0.3.2 + +%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-aleph-message -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.2-1 +- Package Spec generated @@ -0,0 +1 @@ +f6de2ef1cdfb85ee5de549cfc70c2576 aleph-message-0.3.2.tar.gz |