diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-aiokafka.spec | 208 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 210 insertions, 0 deletions
@@ -0,0 +1 @@ +/aiokafka-0.8.0.tar.gz diff --git a/python-aiokafka.spec b/python-aiokafka.spec new file mode 100644 index 0000000..fde55e3 --- /dev/null +++ b/python-aiokafka.spec @@ -0,0 +1,208 @@ +%global _empty_manifest_terminate_build 0 +Name: python-aiokafka +Version: 0.8.0 +Release: 1 +Summary: Kafka integration with asyncio. +License: Apache 2 +URL: http://aiokafka.readthedocs.org +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/96/82/62711a478c40fbb41a0a737a6c10f2cd791688a59190632b19e2fe4cb1e0/aiokafka-0.8.0.tar.gz + +Requires: python3-async-timeout +Requires: python3-kafka-python +Requires: python3-packaging +Requires: python3-snappy +Requires: python3-lz4 +Requires: python3-zstandard +Requires: python3-gssapi +Requires: python3-gssapi +Requires: python3-lz4 +Requires: python3-snappy +Requires: python3-zstandard + +%description +asyncio client for Kafka +AIOKafkaProducer +**************** +AIOKafkaProducer is a high-level, asynchronous message producer. +Example of AIOKafkaProducer usage: + from aiokafka import AIOKafkaProducer + import asyncio + async def send_one(): + producer = AIOKafkaProducer(bootstrap_servers='localhost:9092') + # Get cluster layout and initial topic/partition leadership information + await producer.start() + try: + # Produce message + await producer.send_and_wait("my_topic", b"Super message") + finally: + # Wait for all pending messages to be delivered or expire. + await producer.stop() + asyncio.run(send_one()) +AIOKafkaConsumer +**************** +AIOKafkaConsumer is a high-level, asynchronous message consumer. +It interacts with the assigned Kafka Group Coordinator node to allow multiple +consumers to load balance consumption of topics (requires kafka >= 0.9.0.0). +Example of AIOKafkaConsumer usage: + from aiokafka import AIOKafkaConsumer + import asyncio + async def consume(): + consumer = AIOKafkaConsumer( + 'my_topic', 'my_other_topic', + bootstrap_servers='localhost:9092', + group_id="my-group") + # Get cluster layout and join group `my-group` + await consumer.start() + try: + # Consume messages + async for msg in consumer: + print("consumed: ", msg.topic, msg.partition, msg.offset, + msg.key, msg.value, msg.timestamp) + finally: + # Will leave consumer group; perform autocommit if enabled. + await consumer.stop() + asyncio.run(consume()) + +%package -n python3-aiokafka +Summary: Kafka integration with asyncio. +Provides: python-aiokafka +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +BuildRequires: python3-cffi +BuildRequires: gcc +BuildRequires: gdb +%description -n python3-aiokafka +asyncio client for Kafka +AIOKafkaProducer +**************** +AIOKafkaProducer is a high-level, asynchronous message producer. +Example of AIOKafkaProducer usage: + from aiokafka import AIOKafkaProducer + import asyncio + async def send_one(): + producer = AIOKafkaProducer(bootstrap_servers='localhost:9092') + # Get cluster layout and initial topic/partition leadership information + await producer.start() + try: + # Produce message + await producer.send_and_wait("my_topic", b"Super message") + finally: + # Wait for all pending messages to be delivered or expire. + await producer.stop() + asyncio.run(send_one()) +AIOKafkaConsumer +**************** +AIOKafkaConsumer is a high-level, asynchronous message consumer. +It interacts with the assigned Kafka Group Coordinator node to allow multiple +consumers to load balance consumption of topics (requires kafka >= 0.9.0.0). +Example of AIOKafkaConsumer usage: + from aiokafka import AIOKafkaConsumer + import asyncio + async def consume(): + consumer = AIOKafkaConsumer( + 'my_topic', 'my_other_topic', + bootstrap_servers='localhost:9092', + group_id="my-group") + # Get cluster layout and join group `my-group` + await consumer.start() + try: + # Consume messages + async for msg in consumer: + print("consumed: ", msg.topic, msg.partition, msg.offset, + msg.key, msg.value, msg.timestamp) + finally: + # Will leave consumer group; perform autocommit if enabled. + await consumer.stop() + asyncio.run(consume()) + +%package help +Summary: Development documents and examples for aiokafka +Provides: python3-aiokafka-doc +%description help +asyncio client for Kafka +AIOKafkaProducer +**************** +AIOKafkaProducer is a high-level, asynchronous message producer. +Example of AIOKafkaProducer usage: + from aiokafka import AIOKafkaProducer + import asyncio + async def send_one(): + producer = AIOKafkaProducer(bootstrap_servers='localhost:9092') + # Get cluster layout and initial topic/partition leadership information + await producer.start() + try: + # Produce message + await producer.send_and_wait("my_topic", b"Super message") + finally: + # Wait for all pending messages to be delivered or expire. + await producer.stop() + asyncio.run(send_one()) +AIOKafkaConsumer +**************** +AIOKafkaConsumer is a high-level, asynchronous message consumer. +It interacts with the assigned Kafka Group Coordinator node to allow multiple +consumers to load balance consumption of topics (requires kafka >= 0.9.0.0). +Example of AIOKafkaConsumer usage: + from aiokafka import AIOKafkaConsumer + import asyncio + async def consume(): + consumer = AIOKafkaConsumer( + 'my_topic', 'my_other_topic', + bootstrap_servers='localhost:9092', + group_id="my-group") + # Get cluster layout and join group `my-group` + await consumer.start() + try: + # Consume messages + async for msg in consumer: + print("consumed: ", msg.topic, msg.partition, msg.offset, + msg.key, msg.value, msg.timestamp) + finally: + # Will leave consumer group; perform autocommit if enabled. + await consumer.stop() + asyncio.run(consume()) + +%prep +%autosetup -n aiokafka-0.8.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-aiokafka -f filelist.lst +%dir %{python3_sitearch}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.0-1 +- Package Spec generated @@ -0,0 +1 @@ +1e827e5f4370198bf84feb34eb360b0e aiokafka-0.8.0.tar.gz |