%global _empty_manifest_terminate_build 0 Name: python-tinyrecord Version: 0.2.0 Release: 1 Summary: Atomic transactions for TinyDB License: MIT URL: https://github.com/eugene-eeo/tinyrecord Source0: https://mirrors.aliyun.com/pypi/web/packages/d8/6c/a004d025d9bf1d8af014fd6f22bd6e49e4533d6fbac54f7d4ae7acb3ef5f/tinyrecord-0.2.0.tar.gz BuildArch: noarch %description :: TinyDB __ _ __ / /_(_)__ __ _________ _______ _______/ / / __/ / _ \/ // / __/ -_) __/ _ \/ __/ _ / \__/_/_//_/\_, /_/ \__/\__/\___/_/ \_,_/ /___/ **Supported Pythons:** 3.5+ Tinyrecord is a library which implements atomic transaction support for the `TinyDB`_ NoSQL database. It uses a record-first then execute architecture which allows us to minimize the time that we are within a thread lock. Usage example: .. code-block:: python from tinydb import TinyDB, where from tinyrecord import transaction table = TinyDB('db.json').table('table') with transaction(table) as tr: # insert a new record tr.insert({'username': 'john'}) # update records matching a query tr.update({'invalid': True}, where('username') == 'john') # delete records tr.remove(where('invalid') == True) # update using a function tr.update(updater, where(...)) # insert many items tr.insert_multiple(documents) Note that due to performance reasons you cannot view the data within a transaction unless you've comitted. You will have to call operations on the transaction object and not the database itself. Since tinyrecord works with dictionaries and the latest API, it will only support the latest version (**4.x**). Installation is as simple as ``pip install tinyrecord``. .. image:: https://travis-ci.org/eugene-eeo/tinyrecord.svg?branch=master :target: https://travis-ci.org/eugene-eeo/tinyrecord .. _TinyDB: https://github.com/msiemens/tinydb %package -n python3-tinyrecord Summary: Atomic transactions for TinyDB Provides: python-tinyrecord BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-tinyrecord :: TinyDB __ _ __ / /_(_)__ __ _________ _______ _______/ / / __/ / _ \/ // / __/ -_) __/ _ \/ __/ _ / \__/_/_//_/\_, /_/ \__/\__/\___/_/ \_,_/ /___/ **Supported Pythons:** 3.5+ Tinyrecord is a library which implements atomic transaction support for the `TinyDB`_ NoSQL database. It uses a record-first then execute architecture which allows us to minimize the time that we are within a thread lock. Usage example: .. code-block:: python from tinydb import TinyDB, where from tinyrecord import transaction table = TinyDB('db.json').table('table') with transaction(table) as tr: # insert a new record tr.insert({'username': 'john'}) # update records matching a query tr.update({'invalid': True}, where('username') == 'john') # delete records tr.remove(where('invalid') == True) # update using a function tr.update(updater, where(...)) # insert many items tr.insert_multiple(documents) Note that due to performance reasons you cannot view the data within a transaction unless you've comitted. You will have to call operations on the transaction object and not the database itself. Since tinyrecord works with dictionaries and the latest API, it will only support the latest version (**4.x**). Installation is as simple as ``pip install tinyrecord``. .. image:: https://travis-ci.org/eugene-eeo/tinyrecord.svg?branch=master :target: https://travis-ci.org/eugene-eeo/tinyrecord .. _TinyDB: https://github.com/msiemens/tinydb %package help Summary: Development documents and examples for tinyrecord Provides: python3-tinyrecord-doc %description help :: TinyDB __ _ __ / /_(_)__ __ _________ _______ _______/ / / __/ / _ \/ // / __/ -_) __/ _ \/ __/ _ / \__/_/_//_/\_, /_/ \__/\__/\___/_/ \_,_/ /___/ **Supported Pythons:** 3.5+ Tinyrecord is a library which implements atomic transaction support for the `TinyDB`_ NoSQL database. It uses a record-first then execute architecture which allows us to minimize the time that we are within a thread lock. Usage example: .. code-block:: python from tinydb import TinyDB, where from tinyrecord import transaction table = TinyDB('db.json').table('table') with transaction(table) as tr: # insert a new record tr.insert({'username': 'john'}) # update records matching a query tr.update({'invalid': True}, where('username') == 'john') # delete records tr.remove(where('invalid') == True) # update using a function tr.update(updater, where(...)) # insert many items tr.insert_multiple(documents) Note that due to performance reasons you cannot view the data within a transaction unless you've comitted. You will have to call operations on the transaction object and not the database itself. Since tinyrecord works with dictionaries and the latest API, it will only support the latest version (**4.x**). Installation is as simple as ``pip install tinyrecord``. .. image:: https://travis-ci.org/eugene-eeo/tinyrecord.svg?branch=master :target: https://travis-ci.org/eugene-eeo/tinyrecord .. _TinyDB: https://github.com/msiemens/tinydb %prep %autosetup -n tinyrecord-0.2.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-tinyrecord -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri Jun 09 2023 Python_Bot - 0.2.0-1 - Package Spec generated