summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 11:31:51 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 11:31:51 +0000
commitd7222955cb246723bd986840390bdf57a53bc954 (patch)
treeeb79c9e42dfea47e6749fa7667e0b0636be1c9b9
parent4a6cca941b4e48f284c1eeefd65765f5cc7a3977 (diff)
automatic import of python-cloudevents
-rw-r--r--.gitignore1
-rw-r--r--python-cloudevents.spec578
-rw-r--r--sources1
3 files changed, 580 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..9c0cf8f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/cloudevents-1.9.0.tar.gz
diff --git a/python-cloudevents.spec b/python-cloudevents.spec
new file mode 100644
index 0000000..daa042e
--- /dev/null
+++ b/python-cloudevents.spec
@@ -0,0 +1,578 @@
+%global _empty_manifest_terminate_build 0
+Name: python-cloudevents
+Version: 1.9.0
+Release: 1
+Summary: CloudEvents Python SDK
+License: https://www.apache.org/licenses/LICENSE-2.0
+URL: https://github.com/cloudevents/sdk-python
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/35/51/e4beea7af2e9a6f50b2a13e57444aa879d5366fb177b9d7bcf613de29696/cloudevents-1.9.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-deprecation
+Requires: python3-pydantic
+
+%description
+# Python SDK for [CloudEvents](https://github.com/cloudevents/spec)
+
+[![PyPI version](https://badge.fury.io/py/cloudevents.svg)](https://badge.fury.io/py/cloudevents)
+
+## Status
+
+This SDK is still considered a work in progress, therefore things might (and
+will) break with every update.
+
+This SDK current supports the following versions of CloudEvents:
+
+- v1.0
+- v0.3
+
+## Python SDK
+
+Package **cloudevents** provides primitives to work with CloudEvents specification:
+https://github.com/cloudevents/spec.
+
+### Installing
+
+The CloudEvents SDK can be installed with pip:
+
+```
+pip install cloudevents
+```
+
+## Sending CloudEvents
+
+Below we will provide samples on how to send cloudevents using the popular
+[`requests`](http://docs.python-requests.org) library.
+
+### Binary HTTP CloudEvent
+
+```python
+from cloudevents.http import CloudEvent
+from cloudevents.conversion import to_binary
+import requests
+
+# Create a CloudEvent
+# - The CloudEvent "id" is generated if omitted. "specversion" defaults to "1.0".
+attributes = {
+ "type": "com.example.sampletype1",
+ "source": "https://example.com/event-producer",
+}
+data = {"message": "Hello World!"}
+event = CloudEvent(attributes, data)
+
+# Creates the HTTP request representation of the CloudEvent in binary content mode
+headers, body = to_binary(event)
+
+# POST
+requests.post("<some-url>", data=body, headers=headers)
+```
+
+### Structured HTTP CloudEvent
+
+```python
+from cloudevents.conversion import to_structured
+from cloudevents.http import CloudEvent
+import requests
+
+# Create a CloudEvent
+# - The CloudEvent "id" is generated if omitted. "specversion" defaults to "1.0".
+attributes = {
+ "type": "com.example.sampletype2",
+ "source": "https://example.com/event-producer",
+}
+data = {"message": "Hello World!"}
+event = CloudEvent(attributes, data)
+
+# Creates the HTTP request representation of the CloudEvent in structured content mode
+headers, body = to_structured(event)
+
+# POST
+requests.post("<some-url>", data=body, headers=headers)
+```
+
+You can find a complete example of turning a CloudEvent into a HTTP request
+[in the samples' directory](samples/http-json-cloudevents/client.py).
+
+## Receiving CloudEvents
+
+The code below shows how to consume a cloudevent using the popular python web framework
+[flask](https://flask.palletsprojects.com/en/2.2.x/quickstart/):
+
+```python
+from flask import Flask, request
+
+from cloudevents.http import from_http
+
+app = Flask(__name__)
+
+
+# create an endpoint at http://localhost:/3000/
+@app.route("/", methods=["POST"])
+def home():
+ # create a CloudEvent
+ event = from_http(request.headers, request.get_data())
+
+ # you can access cloudevent fields as seen below
+ print(
+ f"Found {event['id']} from {event['source']} with type "
+ f"{event['type']} and specversion {event['specversion']}"
+ )
+
+ return "", 204
+
+
+if __name__ == "__main__":
+ app.run(port=3000)
+```
+
+You can find a complete example of turning a CloudEvent into a HTTP request
+[in the samples' directory](samples/http-json-cloudevents/json_sample_server.py).
+
+## SDK versioning
+
+The goal of this package is to provide support for all released versions of CloudEvents,
+ideally while maintaining the same API. It will use semantic versioning
+with following rules:
+
+- MAJOR version increments when backwards incompatible changes is introduced.
+- MINOR version increments when backwards compatible feature is introduced
+ INCLUDING support for new CloudEvents version.
+- PATCH version increments when a backwards compatible bug fix is introduced.
+
+## Community
+
+- There are bi-weekly calls immediately following the [Serverless/CloudEvents
+ call](https://github.com/cloudevents/spec#meeting-time) at
+ 9am PT (US Pacific). Which means they will typically start at 10am PT, but
+ if the other call ends early then the SDK call will start early as well.
+ See the [CloudEvents meeting minutes](https://docs.google.com/document/d/1OVF68rpuPK5shIHILK9JOqlZBbfe91RNzQ7u_P7YCDE/edit#)
+ to determine which week will have the call.
+- Slack: #cloudeventssdk channel under
+ [CNCF's Slack workspace](https://slack.cncf.io/).
+- Email: https://lists.cncf.io/g/cncf-cloudevents-sdk
+- Contact for additional information: Denis Makogon (`@denysmakogon` on slack).
+
+Each SDK may have its own unique processes, tooling and guidelines, common
+governance related material can be found in the
+[CloudEvents `docs`](https://github.com/cloudevents/spec/tree/main/docs)
+directory. In particular, in there you will find information concerning
+how SDK projects are
+[managed](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md),
+[guidelines](https://github.com/cloudevents/spec/blob/main/docs/SDK-maintainer-guidelines.md)
+for how PR reviews and approval, and our
+[Code of Conduct](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md#additional-information)
+information.
+
+## Maintenance
+
+We use [black][black] and [isort][isort] for autoformatting. We set up a [tox][tox]
+environment to reformat the codebase.
+
+e.g.
+
+```bash
+pip install tox
+tox -e reformat
+```
+
+For information on releasing version bumps see [RELEASING.md](RELEASING.md)
+
+[black]: https://black.readthedocs.io/
+[isort]: https://pycqa.github.io/isort/
+[tox]: https://tox.wiki/
+
+
+%package -n python3-cloudevents
+Summary: CloudEvents Python SDK
+Provides: python-cloudevents
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-cloudevents
+# Python SDK for [CloudEvents](https://github.com/cloudevents/spec)
+
+[![PyPI version](https://badge.fury.io/py/cloudevents.svg)](https://badge.fury.io/py/cloudevents)
+
+## Status
+
+This SDK is still considered a work in progress, therefore things might (and
+will) break with every update.
+
+This SDK current supports the following versions of CloudEvents:
+
+- v1.0
+- v0.3
+
+## Python SDK
+
+Package **cloudevents** provides primitives to work with CloudEvents specification:
+https://github.com/cloudevents/spec.
+
+### Installing
+
+The CloudEvents SDK can be installed with pip:
+
+```
+pip install cloudevents
+```
+
+## Sending CloudEvents
+
+Below we will provide samples on how to send cloudevents using the popular
+[`requests`](http://docs.python-requests.org) library.
+
+### Binary HTTP CloudEvent
+
+```python
+from cloudevents.http import CloudEvent
+from cloudevents.conversion import to_binary
+import requests
+
+# Create a CloudEvent
+# - The CloudEvent "id" is generated if omitted. "specversion" defaults to "1.0".
+attributes = {
+ "type": "com.example.sampletype1",
+ "source": "https://example.com/event-producer",
+}
+data = {"message": "Hello World!"}
+event = CloudEvent(attributes, data)
+
+# Creates the HTTP request representation of the CloudEvent in binary content mode
+headers, body = to_binary(event)
+
+# POST
+requests.post("<some-url>", data=body, headers=headers)
+```
+
+### Structured HTTP CloudEvent
+
+```python
+from cloudevents.conversion import to_structured
+from cloudevents.http import CloudEvent
+import requests
+
+# Create a CloudEvent
+# - The CloudEvent "id" is generated if omitted. "specversion" defaults to "1.0".
+attributes = {
+ "type": "com.example.sampletype2",
+ "source": "https://example.com/event-producer",
+}
+data = {"message": "Hello World!"}
+event = CloudEvent(attributes, data)
+
+# Creates the HTTP request representation of the CloudEvent in structured content mode
+headers, body = to_structured(event)
+
+# POST
+requests.post("<some-url>", data=body, headers=headers)
+```
+
+You can find a complete example of turning a CloudEvent into a HTTP request
+[in the samples' directory](samples/http-json-cloudevents/client.py).
+
+## Receiving CloudEvents
+
+The code below shows how to consume a cloudevent using the popular python web framework
+[flask](https://flask.palletsprojects.com/en/2.2.x/quickstart/):
+
+```python
+from flask import Flask, request
+
+from cloudevents.http import from_http
+
+app = Flask(__name__)
+
+
+# create an endpoint at http://localhost:/3000/
+@app.route("/", methods=["POST"])
+def home():
+ # create a CloudEvent
+ event = from_http(request.headers, request.get_data())
+
+ # you can access cloudevent fields as seen below
+ print(
+ f"Found {event['id']} from {event['source']} with type "
+ f"{event['type']} and specversion {event['specversion']}"
+ )
+
+ return "", 204
+
+
+if __name__ == "__main__":
+ app.run(port=3000)
+```
+
+You can find a complete example of turning a CloudEvent into a HTTP request
+[in the samples' directory](samples/http-json-cloudevents/json_sample_server.py).
+
+## SDK versioning
+
+The goal of this package is to provide support for all released versions of CloudEvents,
+ideally while maintaining the same API. It will use semantic versioning
+with following rules:
+
+- MAJOR version increments when backwards incompatible changes is introduced.
+- MINOR version increments when backwards compatible feature is introduced
+ INCLUDING support for new CloudEvents version.
+- PATCH version increments when a backwards compatible bug fix is introduced.
+
+## Community
+
+- There are bi-weekly calls immediately following the [Serverless/CloudEvents
+ call](https://github.com/cloudevents/spec#meeting-time) at
+ 9am PT (US Pacific). Which means they will typically start at 10am PT, but
+ if the other call ends early then the SDK call will start early as well.
+ See the [CloudEvents meeting minutes](https://docs.google.com/document/d/1OVF68rpuPK5shIHILK9JOqlZBbfe91RNzQ7u_P7YCDE/edit#)
+ to determine which week will have the call.
+- Slack: #cloudeventssdk channel under
+ [CNCF's Slack workspace](https://slack.cncf.io/).
+- Email: https://lists.cncf.io/g/cncf-cloudevents-sdk
+- Contact for additional information: Denis Makogon (`@denysmakogon` on slack).
+
+Each SDK may have its own unique processes, tooling and guidelines, common
+governance related material can be found in the
+[CloudEvents `docs`](https://github.com/cloudevents/spec/tree/main/docs)
+directory. In particular, in there you will find information concerning
+how SDK projects are
+[managed](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md),
+[guidelines](https://github.com/cloudevents/spec/blob/main/docs/SDK-maintainer-guidelines.md)
+for how PR reviews and approval, and our
+[Code of Conduct](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md#additional-information)
+information.
+
+## Maintenance
+
+We use [black][black] and [isort][isort] for autoformatting. We set up a [tox][tox]
+environment to reformat the codebase.
+
+e.g.
+
+```bash
+pip install tox
+tox -e reformat
+```
+
+For information on releasing version bumps see [RELEASING.md](RELEASING.md)
+
+[black]: https://black.readthedocs.io/
+[isort]: https://pycqa.github.io/isort/
+[tox]: https://tox.wiki/
+
+
+%package help
+Summary: Development documents and examples for cloudevents
+Provides: python3-cloudevents-doc
+%description help
+# Python SDK for [CloudEvents](https://github.com/cloudevents/spec)
+
+[![PyPI version](https://badge.fury.io/py/cloudevents.svg)](https://badge.fury.io/py/cloudevents)
+
+## Status
+
+This SDK is still considered a work in progress, therefore things might (and
+will) break with every update.
+
+This SDK current supports the following versions of CloudEvents:
+
+- v1.0
+- v0.3
+
+## Python SDK
+
+Package **cloudevents** provides primitives to work with CloudEvents specification:
+https://github.com/cloudevents/spec.
+
+### Installing
+
+The CloudEvents SDK can be installed with pip:
+
+```
+pip install cloudevents
+```
+
+## Sending CloudEvents
+
+Below we will provide samples on how to send cloudevents using the popular
+[`requests`](http://docs.python-requests.org) library.
+
+### Binary HTTP CloudEvent
+
+```python
+from cloudevents.http import CloudEvent
+from cloudevents.conversion import to_binary
+import requests
+
+# Create a CloudEvent
+# - The CloudEvent "id" is generated if omitted. "specversion" defaults to "1.0".
+attributes = {
+ "type": "com.example.sampletype1",
+ "source": "https://example.com/event-producer",
+}
+data = {"message": "Hello World!"}
+event = CloudEvent(attributes, data)
+
+# Creates the HTTP request representation of the CloudEvent in binary content mode
+headers, body = to_binary(event)
+
+# POST
+requests.post("<some-url>", data=body, headers=headers)
+```
+
+### Structured HTTP CloudEvent
+
+```python
+from cloudevents.conversion import to_structured
+from cloudevents.http import CloudEvent
+import requests
+
+# Create a CloudEvent
+# - The CloudEvent "id" is generated if omitted. "specversion" defaults to "1.0".
+attributes = {
+ "type": "com.example.sampletype2",
+ "source": "https://example.com/event-producer",
+}
+data = {"message": "Hello World!"}
+event = CloudEvent(attributes, data)
+
+# Creates the HTTP request representation of the CloudEvent in structured content mode
+headers, body = to_structured(event)
+
+# POST
+requests.post("<some-url>", data=body, headers=headers)
+```
+
+You can find a complete example of turning a CloudEvent into a HTTP request
+[in the samples' directory](samples/http-json-cloudevents/client.py).
+
+## Receiving CloudEvents
+
+The code below shows how to consume a cloudevent using the popular python web framework
+[flask](https://flask.palletsprojects.com/en/2.2.x/quickstart/):
+
+```python
+from flask import Flask, request
+
+from cloudevents.http import from_http
+
+app = Flask(__name__)
+
+
+# create an endpoint at http://localhost:/3000/
+@app.route("/", methods=["POST"])
+def home():
+ # create a CloudEvent
+ event = from_http(request.headers, request.get_data())
+
+ # you can access cloudevent fields as seen below
+ print(
+ f"Found {event['id']} from {event['source']} with type "
+ f"{event['type']} and specversion {event['specversion']}"
+ )
+
+ return "", 204
+
+
+if __name__ == "__main__":
+ app.run(port=3000)
+```
+
+You can find a complete example of turning a CloudEvent into a HTTP request
+[in the samples' directory](samples/http-json-cloudevents/json_sample_server.py).
+
+## SDK versioning
+
+The goal of this package is to provide support for all released versions of CloudEvents,
+ideally while maintaining the same API. It will use semantic versioning
+with following rules:
+
+- MAJOR version increments when backwards incompatible changes is introduced.
+- MINOR version increments when backwards compatible feature is introduced
+ INCLUDING support for new CloudEvents version.
+- PATCH version increments when a backwards compatible bug fix is introduced.
+
+## Community
+
+- There are bi-weekly calls immediately following the [Serverless/CloudEvents
+ call](https://github.com/cloudevents/spec#meeting-time) at
+ 9am PT (US Pacific). Which means they will typically start at 10am PT, but
+ if the other call ends early then the SDK call will start early as well.
+ See the [CloudEvents meeting minutes](https://docs.google.com/document/d/1OVF68rpuPK5shIHILK9JOqlZBbfe91RNzQ7u_P7YCDE/edit#)
+ to determine which week will have the call.
+- Slack: #cloudeventssdk channel under
+ [CNCF's Slack workspace](https://slack.cncf.io/).
+- Email: https://lists.cncf.io/g/cncf-cloudevents-sdk
+- Contact for additional information: Denis Makogon (`@denysmakogon` on slack).
+
+Each SDK may have its own unique processes, tooling and guidelines, common
+governance related material can be found in the
+[CloudEvents `docs`](https://github.com/cloudevents/spec/tree/main/docs)
+directory. In particular, in there you will find information concerning
+how SDK projects are
+[managed](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md),
+[guidelines](https://github.com/cloudevents/spec/blob/main/docs/SDK-maintainer-guidelines.md)
+for how PR reviews and approval, and our
+[Code of Conduct](https://github.com/cloudevents/spec/blob/main/docs/GOVERNANCE.md#additional-information)
+information.
+
+## Maintenance
+
+We use [black][black] and [isort][isort] for autoformatting. We set up a [tox][tox]
+environment to reformat the codebase.
+
+e.g.
+
+```bash
+pip install tox
+tox -e reformat
+```
+
+For information on releasing version bumps see [RELEASING.md](RELEASING.md)
+
+[black]: https://black.readthedocs.io/
+[isort]: https://pycqa.github.io/isort/
+[tox]: https://tox.wiki/
+
+
+%prep
+%autosetup -n cloudevents-1.9.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-cloudevents -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.9.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..759ae78
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+c843c996898abd7d40e7d9d5311d2e98 cloudevents-1.9.0.tar.gz