diff options
Diffstat (limited to 'python-pymysql-pooling.spec')
-rw-r--r-- | python-pymysql-pooling.spec | 397 |
1 files changed, 397 insertions, 0 deletions
diff --git a/python-pymysql-pooling.spec b/python-pymysql-pooling.spec new file mode 100644 index 0000000..55f4dd6 --- /dev/null +++ b/python-pymysql-pooling.spec @@ -0,0 +1,397 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pymysql-pooling +Version: 1.0.6 +Release: 1 +Summary: pymysql-based database connection pool +License: MIT License +URL: https://github.com/prprprus/PyMySQLPool +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/17/bd/b1ac40913ce80995aaf50b481b35ac769cf25191c89485f67c52efdfc8df/pymysql-pooling-1.0.6.tar.gz +BuildArch: noarch + +Requires: python3-PyMySQL + +%description +# PyMySQLPool + +[](https://travis-ci.org/zongzhenh/PyMySQLPool.svg?branch=master) [](https://codecov.io/gh/zongzhenh/PyMySQLPool) [](https://img.shields.io/badge/pip-v18.1-blue.svg) [](./LICENSE) + +PyMySQLPool is a pymysql-based database connection pool, simple and lightweight. + +Table of content + +- [Features](https://github.com/zongzhenh/PyMySQLPool#features) +- [Requirements](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#requirements) +- [Installation](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#installation) +- [Example](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#example) +- [Roadmap](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#roadmap) +- [Resources](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#resources) +- [License](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#license) +- [Contributing](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#contributing) + +## Features + +- Maintain a minimum number of connection pools by default. +- If a number of unuse connections less than zero, dynamically add connections to pool until the current number of inuse connections equal maximum of the pool. +- Release the idle connections in regular until a number of unuse connections equal minimum of the pool. +- Support auto-commit mode. +- Support for ping check to get healthy connections. + +## Requirements + +- Python + - CPython : >= 3.4 +- MySQL Server -- one of the following: + - MySQL >= 5.5 + - MariaDB >= 5.5 +- PyMySQL: >= 0.9.2 + +## Installation + +Package is uploaded on [PyPI](https://pypi.org/project/pymysql-pooling/) + +You can install with pip + +``` +$ pip install pymysql-pooling +``` + +## Example + +Make use of a simple table (Example in [MySQL doc](https://dev.mysql.com/doc/refman/8.0/en/creating-tables.html)) + +```mysql +mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), + -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); + +mysql> INSERT INTO pet + -> VALUES ("Puffball", "Diane", "hamster", "f", "1999-03-30", NULL); +``` + +```python +from pymysqlpool.pool import Pool + + +pool = Pool(host=HOST, port=PORT, user=USER, password=PASSWORD, db=DB) +pool.init() + +connection = pool.get_conn() +cur = connection.cursor() +cur.execute('SELECT * FROM `pet` WHERE `name`=%s', args=("Puffball", )) +print(cur.fetchone()) + +pool.release(connection) +``` + +This example will print: + +``` +('Puffball', 'Diane', 'hamster', 'f', datetime.date(1999, 3, 30), None) +``` + +Support autocommit mode, as following: + +```python +pool = Pool(host=HOST, port=PORT, user=USER, password=PASSWORD, db=DB, autocommit=True) +``` + +That's all. + +## Roadmap + +- [x] Connection Pool +- [x] Dynamically Create +- [x] Dynamically Release +- [ ] Monitor Web Interface + +## Resources + +- [PyMySQL Documenation](https://pymysql.readthedocs.io/en/latest/index.html) +- [MySQL Reference Manuals](https://dev.mysql.com/doc/refman/8.0/en/) + +## License + +PyMySQLPool is released under the MIT License. See LICENSE for more information. + +## Contributing + +Thank you for your interest in the contribution of PyMySQLPool, your help and contribution is very valuable. + +You can submit an issue and pull requests, please submit an issue before submitting pull requests. + + + + +%package -n python3-pymysql-pooling +Summary: pymysql-based database connection pool +Provides: python-pymysql-pooling +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pymysql-pooling +# PyMySQLPool + +[](https://travis-ci.org/zongzhenh/PyMySQLPool.svg?branch=master) [](https://codecov.io/gh/zongzhenh/PyMySQLPool) [](https://img.shields.io/badge/pip-v18.1-blue.svg) [](./LICENSE) + +PyMySQLPool is a pymysql-based database connection pool, simple and lightweight. + +Table of content + +- [Features](https://github.com/zongzhenh/PyMySQLPool#features) +- [Requirements](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#requirements) +- [Installation](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#installation) +- [Example](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#example) +- [Roadmap](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#roadmap) +- [Resources](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#resources) +- [License](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#license) +- [Contributing](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#contributing) + +## Features + +- Maintain a minimum number of connection pools by default. +- If a number of unuse connections less than zero, dynamically add connections to pool until the current number of inuse connections equal maximum of the pool. +- Release the idle connections in regular until a number of unuse connections equal minimum of the pool. +- Support auto-commit mode. +- Support for ping check to get healthy connections. + +## Requirements + +- Python + - CPython : >= 3.4 +- MySQL Server -- one of the following: + - MySQL >= 5.5 + - MariaDB >= 5.5 +- PyMySQL: >= 0.9.2 + +## Installation + +Package is uploaded on [PyPI](https://pypi.org/project/pymysql-pooling/) + +You can install with pip + +``` +$ pip install pymysql-pooling +``` + +## Example + +Make use of a simple table (Example in [MySQL doc](https://dev.mysql.com/doc/refman/8.0/en/creating-tables.html)) + +```mysql +mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), + -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); + +mysql> INSERT INTO pet + -> VALUES ("Puffball", "Diane", "hamster", "f", "1999-03-30", NULL); +``` + +```python +from pymysqlpool.pool import Pool + + +pool = Pool(host=HOST, port=PORT, user=USER, password=PASSWORD, db=DB) +pool.init() + +connection = pool.get_conn() +cur = connection.cursor() +cur.execute('SELECT * FROM `pet` WHERE `name`=%s', args=("Puffball", )) +print(cur.fetchone()) + +pool.release(connection) +``` + +This example will print: + +``` +('Puffball', 'Diane', 'hamster', 'f', datetime.date(1999, 3, 30), None) +``` + +Support autocommit mode, as following: + +```python +pool = Pool(host=HOST, port=PORT, user=USER, password=PASSWORD, db=DB, autocommit=True) +``` + +That's all. + +## Roadmap + +- [x] Connection Pool +- [x] Dynamically Create +- [x] Dynamically Release +- [ ] Monitor Web Interface + +## Resources + +- [PyMySQL Documenation](https://pymysql.readthedocs.io/en/latest/index.html) +- [MySQL Reference Manuals](https://dev.mysql.com/doc/refman/8.0/en/) + +## License + +PyMySQLPool is released under the MIT License. See LICENSE for more information. + +## Contributing + +Thank you for your interest in the contribution of PyMySQLPool, your help and contribution is very valuable. + +You can submit an issue and pull requests, please submit an issue before submitting pull requests. + + + + +%package help +Summary: Development documents and examples for pymysql-pooling +Provides: python3-pymysql-pooling-doc +%description help +# PyMySQLPool + +[](https://travis-ci.org/zongzhenh/PyMySQLPool.svg?branch=master) [](https://codecov.io/gh/zongzhenh/PyMySQLPool) [](https://img.shields.io/badge/pip-v18.1-blue.svg) [](./LICENSE) + +PyMySQLPool is a pymysql-based database connection pool, simple and lightweight. + +Table of content + +- [Features](https://github.com/zongzhenh/PyMySQLPool#features) +- [Requirements](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#requirements) +- [Installation](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#installation) +- [Example](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#example) +- [Roadmap](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#roadmap) +- [Resources](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#resources) +- [License](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#license) +- [Contributing](https://github.com/zongzhenh/PyMySQLPool/blob/master/README.md#contributing) + +## Features + +- Maintain a minimum number of connection pools by default. +- If a number of unuse connections less than zero, dynamically add connections to pool until the current number of inuse connections equal maximum of the pool. +- Release the idle connections in regular until a number of unuse connections equal minimum of the pool. +- Support auto-commit mode. +- Support for ping check to get healthy connections. + +## Requirements + +- Python + - CPython : >= 3.4 +- MySQL Server -- one of the following: + - MySQL >= 5.5 + - MariaDB >= 5.5 +- PyMySQL: >= 0.9.2 + +## Installation + +Package is uploaded on [PyPI](https://pypi.org/project/pymysql-pooling/) + +You can install with pip + +``` +$ pip install pymysql-pooling +``` + +## Example + +Make use of a simple table (Example in [MySQL doc](https://dev.mysql.com/doc/refman/8.0/en/creating-tables.html)) + +```mysql +mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20), + -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE); + +mysql> INSERT INTO pet + -> VALUES ("Puffball", "Diane", "hamster", "f", "1999-03-30", NULL); +``` + +```python +from pymysqlpool.pool import Pool + + +pool = Pool(host=HOST, port=PORT, user=USER, password=PASSWORD, db=DB) +pool.init() + +connection = pool.get_conn() +cur = connection.cursor() +cur.execute('SELECT * FROM `pet` WHERE `name`=%s', args=("Puffball", )) +print(cur.fetchone()) + +pool.release(connection) +``` + +This example will print: + +``` +('Puffball', 'Diane', 'hamster', 'f', datetime.date(1999, 3, 30), None) +``` + +Support autocommit mode, as following: + +```python +pool = Pool(host=HOST, port=PORT, user=USER, password=PASSWORD, db=DB, autocommit=True) +``` + +That's all. + +## Roadmap + +- [x] Connection Pool +- [x] Dynamically Create +- [x] Dynamically Release +- [ ] Monitor Web Interface + +## Resources + +- [PyMySQL Documenation](https://pymysql.readthedocs.io/en/latest/index.html) +- [MySQL Reference Manuals](https://dev.mysql.com/doc/refman/8.0/en/) + +## License + +PyMySQLPool is released under the MIT License. See LICENSE for more information. + +## Contributing + +Thank you for your interest in the contribution of PyMySQLPool, your help and contribution is very valuable. + +You can submit an issue and pull requests, please submit an issue before submitting pull requests. + + + + +%prep +%autosetup -n pymysql-pooling-1.0.6 + +%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-pymysql-pooling -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.6-1 +- Package Spec generated |