%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 * Fri Apr 21 2023 Python_Bot - 1.0.5-1 - Package Spec generated