summaryrefslogtreecommitdiff
path: root/python-pybytebuffer.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-pybytebuffer.spec')
-rw-r--r--python-pybytebuffer.spec204
1 files changed, 204 insertions, 0 deletions
diff --git a/python-pybytebuffer.spec b/python-pybytebuffer.spec
new file mode 100644
index 0000000..591247c
--- /dev/null
+++ b/python-pybytebuffer.spec
@@ -0,0 +1,204 @@
+%global _empty_manifest_terminate_build 0
+Name: python-PyByteBuffer
+Version: 1.0.5
+Release: 1
+Summary: A bytes manipulation library inspired by Java ByteBuffer
+License: GPL 3.0
+URL: https://github.com/iGio90/PyByteBuffer
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/22/07/124736940ea5c8526c0e33c241fb25fce5b154e5481b243db50be42f7c3b/PyByteBuffer-1.0.5.tar.gz
+BuildArch: noarch
+
+
+%description
+# PyByteBuffer
+
+A library to manipulate buffers inspired by [Java nio ByteBuffer](https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html)
+
+> [>> DOCUMENTATION](https://igio90.github.io/PyByteBuffer/)
+
+## Setup
+
+```
+pip3 install PyByteBuffer
+```
+
+## Usage
+
+```python
+from PyByteBuffer import ByteBuffer
+
+buf = ByteBuffer.allocate(50)
+# write byte 0x10 and increment position by 1
+buf.put(0x10)
+buf.put([0xcc, 0xdd, 0xee])
+buf.put('something')
+buf.put(bytes([00] * 4))
+
+# endianness
+buf.put(123456, 'little')
+buf.put(1234561434234234, 'big')
+
+# read 1 byte and increment position by 1
+value = buf.get(1)
+# read 10 bytes little endian and increment position by 10
+value = buf.get(10, 'little')
+
+# other allocations
+buf = ByteBuffer.from_hex('deadbeef')
+buf = ByteBuffer.wrap(bytes())
+```
+
+## About performances
+The performance analysis we can do in this library is all around the conversion between int->bytes bytes<-int.
+
+Tested with a cycle of 1/100/500/1000 conversion using python3 builtin api int.to_bytes/from_bytes, struct pack/unpack and a "primitive" solution
+posted in [stackoverflow](https://stackoverflow.com/a/35634239)
+
+
+
+%package -n python3-PyByteBuffer
+Summary: A bytes manipulation library inspired by Java ByteBuffer
+Provides: python-PyByteBuffer
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-PyByteBuffer
+# PyByteBuffer
+
+A library to manipulate buffers inspired by [Java nio ByteBuffer](https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html)
+
+> [>> DOCUMENTATION](https://igio90.github.io/PyByteBuffer/)
+
+## Setup
+
+```
+pip3 install PyByteBuffer
+```
+
+## Usage
+
+```python
+from PyByteBuffer import ByteBuffer
+
+buf = ByteBuffer.allocate(50)
+# write byte 0x10 and increment position by 1
+buf.put(0x10)
+buf.put([0xcc, 0xdd, 0xee])
+buf.put('something')
+buf.put(bytes([00] * 4))
+
+# endianness
+buf.put(123456, 'little')
+buf.put(1234561434234234, 'big')
+
+# read 1 byte and increment position by 1
+value = buf.get(1)
+# read 10 bytes little endian and increment position by 10
+value = buf.get(10, 'little')
+
+# other allocations
+buf = ByteBuffer.from_hex('deadbeef')
+buf = ByteBuffer.wrap(bytes())
+```
+
+## About performances
+The performance analysis we can do in this library is all around the conversion between int->bytes bytes<-int.
+
+Tested with a cycle of 1/100/500/1000 conversion using python3 builtin api int.to_bytes/from_bytes, struct pack/unpack and a "primitive" solution
+posted in [stackoverflow](https://stackoverflow.com/a/35634239)
+
+
+
+%package help
+Summary: Development documents and examples for PyByteBuffer
+Provides: python3-PyByteBuffer-doc
+%description help
+# PyByteBuffer
+
+A library to manipulate buffers inspired by [Java nio ByteBuffer](https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html)
+
+> [>> DOCUMENTATION](https://igio90.github.io/PyByteBuffer/)
+
+## Setup
+
+```
+pip3 install PyByteBuffer
+```
+
+## Usage
+
+```python
+from PyByteBuffer import ByteBuffer
+
+buf = ByteBuffer.allocate(50)
+# write byte 0x10 and increment position by 1
+buf.put(0x10)
+buf.put([0xcc, 0xdd, 0xee])
+buf.put('something')
+buf.put(bytes([00] * 4))
+
+# endianness
+buf.put(123456, 'little')
+buf.put(1234561434234234, 'big')
+
+# read 1 byte and increment position by 1
+value = buf.get(1)
+# read 10 bytes little endian and increment position by 10
+value = buf.get(10, 'little')
+
+# other allocations
+buf = ByteBuffer.from_hex('deadbeef')
+buf = ByteBuffer.wrap(bytes())
+```
+
+## About performances
+The performance analysis we can do in this library is all around the conversion between int->bytes bytes<-int.
+
+Tested with a cycle of 1/100/500/1000 conversion using python3 builtin api int.to_bytes/from_bytes, struct pack/unpack and a "primitive" solution
+posted in [stackoverflow](https://stackoverflow.com/a/35634239)
+
+
+
+%prep
+%autosetup -n PyByteBuffer-1.0.5
+
+%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-PyByteBuffer -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.5-1
+- Package Spec generated