diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-15 09:22:24 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 09:22:24 +0000 |
commit | 890fddb4af09ca2374b1bedc0b49095ffa4cb1b5 (patch) | |
tree | 0f15fc9be2cdd587548587e332db9df33cdf81b0 | |
parent | 8b78fc0093f773604ab14834ad393cb86ecc05f1 (diff) |
automatic import of python-cx-oracle-async
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-cx-oracle-async.spec | 299 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 301 insertions, 0 deletions
@@ -0,0 +1 @@ +/cx_Oracle_async-0.3.3.tar.gz diff --git a/python-cx-oracle-async.spec b/python-cx-oracle-async.spec new file mode 100644 index 0000000..a98dd29 --- /dev/null +++ b/python-cx-oracle-async.spec @@ -0,0 +1,299 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cx-Oracle-async +Version: 0.3.3 +Release: 1 +Summary: A very simple asynchronous wrapper that allows you to get access to the Oracle database in asyncio programs. +License: MIT License +URL: https://github.com/GoodManWEN/cx_Oracle_async +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d1/87/fe75e196c5570749ae228b6b85b78b0d887d412e54c504642f46f4eef857/cx_Oracle_async-0.3.3.tar.gz +BuildArch: noarch + +Requires: python3-cx-Oracle +Requires: python3-ThreadPoolExecutorPlus + +%description +# cx_Oracle_async +[](https://pypi.org/project/cx-Oracle-async/) +[](https://github.com/GoodManWEN/cx_Oracle_async/blob/master/LICENSE) +[](https://pypi.org/project/cx-Oracle-async/) +[](https://github.com/GoodManWEN/cx_Oracle_async/actions?query=workflow:Publish) +[](https://github.com/GoodManWEN/cx_Oracle_async/actions?query=workflow:Build) +[](https://readthedocs.org/projects/cx-oracle-async/) +[](https://github.com/GoodManWEN/cx_Oracle_async/) + +A very simple asynchronous wrapper that allows you to get access to the Oracle database in asyncio programs. + +Easy to use , buy may not the best practice for efficiency concern. + +## Requirements +- [cx_Oracle >= 8.1.0](https://github.com/oracle/python-cx_Oracle) (Take into consideration that author of cx_Oracle said he's trying to implement asyncio support , APIs maybe change in future version. Switch to 8.1.0 if there's something wrong makes it not gonna work.) +- [ThreadPoolExecutorPlus >= 0.2.0](https://github.com/GoodManWEN/ThreadPoolExecutorPlus) + +## Install + + pip install cx_Oracle_async + +## Feature +- Nearly all the same as aiomysql in asynchronous operational approach , with limited cx_Oracle feature support. +- No automaticly date format transition built-in. +- AQ feature added , check [docs here](https://cx_oracle_async.readthedocs.io/en/latest/user_guide/advancedfeatures.html#oracle-advanced-queuing-aq) for further information. +- You can modify some of the connection properties simply like you're using cx_Oracle. +- You can do basic insert / select / delete etc. +- If you're connecting to database which is on a different machine from python process , you need to install oracle client module in order to use this library. Check [cx-Oracle's installation guide](https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html) for further information. + +## Documentation + +[https://cx_oracle_async.readthedocs.io](https://cx_oracle_async.readthedocs.io) + +## Performance +query type | asynchronous multithreading | synchronous multithreading | synchronous single thread +-|-|-|- +fast single line query | 6259.80 q/s | 28906.93 q/s | 14805.61 q/s +single line insertion | 1341.88 q/s | 1898 q/s | 1685.17 q/s + +*/\* Test platform: \*/*<br> +*AMD Ryzen 3700x*<br> +*Windows 10 LTSC*<br> +*Oracle 19c*<br> +*You can find performance test codes [here](https://github.com/GoodManWEN/cx_Oracle_async/blob/main/misc).* + +## Examples +Before running examples , make sure you've already installed a [Oracle Client](https://cx-oracle-async.readthedocs.io/en/latest/user_guide/quickstart.html#install-oracle-client) on your machine. +```Python +# basic_usages.py +import asyncio +import cx_Oracle_async + +async def main(): + oracle_pool = await cx_Oracle_async.create_pool( + host='localhost', + port='1521', + user='user', + password='password', + service_name='orcl', + min = 2, + max = 4, + ) + + async with oracle_pool.acquire() as connection: + async with connection.cursor() as cursor: + await cursor.execute("SELECT * FROM V$SESSION") + print(await cursor.fetchall()) + + await oracle_pool.close() + +if __name__ == '__main__': + asyncio.run(main()) +``` + + + + +%package -n python3-cx-Oracle-async +Summary: A very simple asynchronous wrapper that allows you to get access to the Oracle database in asyncio programs. +Provides: python-cx-Oracle-async +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cx-Oracle-async +# cx_Oracle_async +[](https://pypi.org/project/cx-Oracle-async/) +[](https://github.com/GoodManWEN/cx_Oracle_async/blob/master/LICENSE) +[](https://pypi.org/project/cx-Oracle-async/) +[](https://github.com/GoodManWEN/cx_Oracle_async/actions?query=workflow:Publish) +[](https://github.com/GoodManWEN/cx_Oracle_async/actions?query=workflow:Build) +[](https://readthedocs.org/projects/cx-oracle-async/) +[](https://github.com/GoodManWEN/cx_Oracle_async/) + +A very simple asynchronous wrapper that allows you to get access to the Oracle database in asyncio programs. + +Easy to use , buy may not the best practice for efficiency concern. + +## Requirements +- [cx_Oracle >= 8.1.0](https://github.com/oracle/python-cx_Oracle) (Take into consideration that author of cx_Oracle said he's trying to implement asyncio support , APIs maybe change in future version. Switch to 8.1.0 if there's something wrong makes it not gonna work.) +- [ThreadPoolExecutorPlus >= 0.2.0](https://github.com/GoodManWEN/ThreadPoolExecutorPlus) + +## Install + + pip install cx_Oracle_async + +## Feature +- Nearly all the same as aiomysql in asynchronous operational approach , with limited cx_Oracle feature support. +- No automaticly date format transition built-in. +- AQ feature added , check [docs here](https://cx_oracle_async.readthedocs.io/en/latest/user_guide/advancedfeatures.html#oracle-advanced-queuing-aq) for further information. +- You can modify some of the connection properties simply like you're using cx_Oracle. +- You can do basic insert / select / delete etc. +- If you're connecting to database which is on a different machine from python process , you need to install oracle client module in order to use this library. Check [cx-Oracle's installation guide](https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html) for further information. + +## Documentation + +[https://cx_oracle_async.readthedocs.io](https://cx_oracle_async.readthedocs.io) + +## Performance +query type | asynchronous multithreading | synchronous multithreading | synchronous single thread +-|-|-|- +fast single line query | 6259.80 q/s | 28906.93 q/s | 14805.61 q/s +single line insertion | 1341.88 q/s | 1898 q/s | 1685.17 q/s + +*/\* Test platform: \*/*<br> +*AMD Ryzen 3700x*<br> +*Windows 10 LTSC*<br> +*Oracle 19c*<br> +*You can find performance test codes [here](https://github.com/GoodManWEN/cx_Oracle_async/blob/main/misc).* + +## Examples +Before running examples , make sure you've already installed a [Oracle Client](https://cx-oracle-async.readthedocs.io/en/latest/user_guide/quickstart.html#install-oracle-client) on your machine. +```Python +# basic_usages.py +import asyncio +import cx_Oracle_async + +async def main(): + oracle_pool = await cx_Oracle_async.create_pool( + host='localhost', + port='1521', + user='user', + password='password', + service_name='orcl', + min = 2, + max = 4, + ) + + async with oracle_pool.acquire() as connection: + async with connection.cursor() as cursor: + await cursor.execute("SELECT * FROM V$SESSION") + print(await cursor.fetchall()) + + await oracle_pool.close() + +if __name__ == '__main__': + asyncio.run(main()) +``` + + + + +%package help +Summary: Development documents and examples for cx-Oracle-async +Provides: python3-cx-Oracle-async-doc +%description help +# cx_Oracle_async +[](https://pypi.org/project/cx-Oracle-async/) +[](https://github.com/GoodManWEN/cx_Oracle_async/blob/master/LICENSE) +[](https://pypi.org/project/cx-Oracle-async/) +[](https://github.com/GoodManWEN/cx_Oracle_async/actions?query=workflow:Publish) +[](https://github.com/GoodManWEN/cx_Oracle_async/actions?query=workflow:Build) +[](https://readthedocs.org/projects/cx-oracle-async/) +[](https://github.com/GoodManWEN/cx_Oracle_async/) + +A very simple asynchronous wrapper that allows you to get access to the Oracle database in asyncio programs. + +Easy to use , buy may not the best practice for efficiency concern. + +## Requirements +- [cx_Oracle >= 8.1.0](https://github.com/oracle/python-cx_Oracle) (Take into consideration that author of cx_Oracle said he's trying to implement asyncio support , APIs maybe change in future version. Switch to 8.1.0 if there's something wrong makes it not gonna work.) +- [ThreadPoolExecutorPlus >= 0.2.0](https://github.com/GoodManWEN/ThreadPoolExecutorPlus) + +## Install + + pip install cx_Oracle_async + +## Feature +- Nearly all the same as aiomysql in asynchronous operational approach , with limited cx_Oracle feature support. +- No automaticly date format transition built-in. +- AQ feature added , check [docs here](https://cx_oracle_async.readthedocs.io/en/latest/user_guide/advancedfeatures.html#oracle-advanced-queuing-aq) for further information. +- You can modify some of the connection properties simply like you're using cx_Oracle. +- You can do basic insert / select / delete etc. +- If you're connecting to database which is on a different machine from python process , you need to install oracle client module in order to use this library. Check [cx-Oracle's installation guide](https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html) for further information. + +## Documentation + +[https://cx_oracle_async.readthedocs.io](https://cx_oracle_async.readthedocs.io) + +## Performance +query type | asynchronous multithreading | synchronous multithreading | synchronous single thread +-|-|-|- +fast single line query | 6259.80 q/s | 28906.93 q/s | 14805.61 q/s +single line insertion | 1341.88 q/s | 1898 q/s | 1685.17 q/s + +*/\* Test platform: \*/*<br> +*AMD Ryzen 3700x*<br> +*Windows 10 LTSC*<br> +*Oracle 19c*<br> +*You can find performance test codes [here](https://github.com/GoodManWEN/cx_Oracle_async/blob/main/misc).* + +## Examples +Before running examples , make sure you've already installed a [Oracle Client](https://cx-oracle-async.readthedocs.io/en/latest/user_guide/quickstart.html#install-oracle-client) on your machine. +```Python +# basic_usages.py +import asyncio +import cx_Oracle_async + +async def main(): + oracle_pool = await cx_Oracle_async.create_pool( + host='localhost', + port='1521', + user='user', + password='password', + service_name='orcl', + min = 2, + max = 4, + ) + + async with oracle_pool.acquire() as connection: + async with connection.cursor() as cursor: + await cursor.execute("SELECT * FROM V$SESSION") + print(await cursor.fetchall()) + + await oracle_pool.close() + +if __name__ == '__main__': + asyncio.run(main()) +``` + + + + +%prep +%autosetup -n cx-Oracle-async-0.3.3 + +%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-cx-Oracle-async -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.3-1 +- Package Spec generated @@ -0,0 +1 @@ +151a0df44da306eb8dd7cdc1f617e267 cx_Oracle_async-0.3.3.tar.gz |