From 7c1b74469875ee5d1588dedb9f68246b735e929d Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Tue, 21 Mar 2023 10:24:10 +0900 Subject: [PATCH 1/4] Convert README from reST to md --- README.md | 126 ++++++++++++++++++++++++++++++++++++++++++++ README.rst | 138 ------------------------------------------------- pyproject.toml | 2 +- 3 files changed, 127 insertions(+), 139 deletions(-) create mode 100644 README.md delete mode 100644 README.rst diff --git a/README.md b/README.md new file mode 100644 index 00000000..1c1e2caa --- /dev/null +++ b/README.md @@ -0,0 +1,126 @@ +```{image} https://readthedocs.org/projects/pymysql/badge/?version=latest +:alt: Documentation Status +:target: https://pymysql.readthedocs.io/ +``` + +```{image} https://coveralls.io/repos/PyMySQL/PyMySQL/badge.svg?branch=main&service=github +:target: https://coveralls.io/github/PyMySQL/PyMySQL?branch=main +``` + +# PyMySQL + +```{contents} Table of Contents +:local: true +``` + +This package contains a pure-Python MySQL client library, based on [PEP 249]. + +## Requirements + +- Python -- one of the following: + + - [CPython] : 3.7 and newer + - [PyPy] : Latest 3.x version + +- MySQL Server -- one of the following: + + - [MySQL] >= 5.7 + - [MariaDB] >= 10.3 + +## Installation + +Package is uploaded on [PyPI](https://pypi.org/project/PyMySQL). + +You can install it with pip: + +``` +$ python3 -m pip install PyMySQL +``` + +To use "sha256_password" or "caching_sha2_password" for authenticate, +you need to install additional dependency: + +``` +$ python3 -m pip install PyMySQL[rsa] +``` + +To use MariaDB's "ed25519" authentication method, you need to install +additional dependency: + +``` +$ python3 -m pip install PyMySQL[ed25519] +``` + +## Documentation + +Documentation is available online: + +For support, please refer to the [StackOverflow](https://stackoverflow.com/questions/tagged/pymysql). + +## Example + +The following examples make use of a simple table + +```{code} sql +CREATE TABLE `users` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `email` varchar(255) COLLATE utf8_bin NOT NULL, + `password` varchar(255) COLLATE utf8_bin NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin +AUTO_INCREMENT=1 ; +``` + +```{code} python +import pymysql.cursors + +# Connect to the database +connection = pymysql.connect(host='localhost', + user='user', + password='passwd', + database='db', + cursorclass=pymysql.cursors.DictCursor) + +with connection: + with connection.cursor() as cursor: + # Create a new record + sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)" + cursor.execute(sql, ('webmaster@python.org', 'very-secret')) + + # connection is not autocommit by default. So you must commit to save + # your changes. + connection.commit() + + with connection.cursor() as cursor: + # Read a single record + sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s" + cursor.execute(sql, ('webmaster@python.org',)) + result = cursor.fetchone() + print(result) +``` + +This example will print: + +```{code} python +{'password': 'very-secret', 'id': 1} +``` + +## Resources + +- DB-API 2.0: +- MySQL Reference Manuals: +- MySQL client/server protocol: + +- "Connector" channel in MySQL Community Slack: + +- PyMySQL mailing list: + +## License + +PyMySQL is released under the MIT License. See LICENSE for more information. + +[cpython]: https://www.python.org/ +[mariadb]: https://mariadb.org/ +[mysql]: https://www.mysql.com/ +[pep 249]: https://www.python.org/dev/peps/pep-0249/ +[pypy]: https://pypy.org/ diff --git a/README.rst b/README.rst deleted file mode 100644 index 592b295a..00000000 --- a/README.rst +++ /dev/null @@ -1,138 +0,0 @@ -.. image:: https://readthedocs.org/projects/pymysql/badge/?version=latest - :target: https://pymysql.readthedocs.io/ - :alt: Documentation Status - -.. image:: https://coveralls.io/repos/PyMySQL/PyMySQL/badge.svg?branch=main&service=github - :target: https://coveralls.io/github/PyMySQL/PyMySQL?branch=main - - -PyMySQL -======= - -.. contents:: Table of Contents - :local: - -This package contains a pure-Python MySQL client library, based on `PEP 249`_. - -.. _`PEP 249`: https://www.python.org/dev/peps/pep-0249/ - - -Requirements -------------- - -* Python -- one of the following: - - - CPython_ : 3.7 and newer - - PyPy_ : Latest 3.x version - -* MySQL Server -- one of the following: - - - MySQL_ >= 5.7 - - MariaDB_ >= 10.3 - -.. _CPython: https://www.python.org/ -.. _PyPy: https://pypy.org/ -.. _MySQL: https://www.mysql.com/ -.. _MariaDB: https://mariadb.org/ - - -Installation ------------- - -Package is uploaded on `PyPI `_. - -You can install it with pip:: - - $ python3 -m pip install PyMySQL - -To use "sha256_password" or "caching_sha2_password" for authenticate, -you need to install additional dependency:: - - $ python3 -m pip install PyMySQL[rsa] - -To use MariaDB's "ed25519" authentication method, you need to install -additional dependency:: - - $ python3 -m pip install PyMySQL[ed25519] - - -Documentation -------------- - -Documentation is available online: https://pymysql.readthedocs.io/ - -For support, please refer to the `StackOverflow -`_. - - -Example -------- - -The following examples make use of a simple table - -.. code:: sql - - CREATE TABLE `users` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `email` varchar(255) COLLATE utf8_bin NOT NULL, - `password` varchar(255) COLLATE utf8_bin NOT NULL, - PRIMARY KEY (`id`) - ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin - AUTO_INCREMENT=1 ; - - -.. code:: python - - import pymysql.cursors - - # Connect to the database - connection = pymysql.connect(host='localhost', - user='user', - password='passwd', - database='db', - cursorclass=pymysql.cursors.DictCursor) - - with connection: - with connection.cursor() as cursor: - # Create a new record - sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)" - cursor.execute(sql, ('webmaster@python.org', 'very-secret')) - - # connection is not autocommit by default. So you must commit to save - # your changes. - connection.commit() - - with connection.cursor() as cursor: - # Read a single record - sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s" - cursor.execute(sql, ('webmaster@python.org',)) - result = cursor.fetchone() - print(result) - - -This example will print: - -.. code:: python - - {'password': 'very-secret', 'id': 1} - - -Resources ---------- - -* DB-API 2.0: https://www.python.org/dev/peps/pep-0249/ - -* MySQL Reference Manuals: https://dev.mysql.com/doc/ - -* MySQL client/server protocol: - https://dev.mysql.com/doc/internals/en/client-server-protocol.html - -* "Connector" channel in MySQL Community Slack: - https://lefred.be/mysql-community-on-slack/ - -* PyMySQL mailing list: https://groups.google.com/forum/#!forum/pymysql-users - -License -------- - -PyMySQL is released under the MIT License. See LICENSE for more information. diff --git a/pyproject.toml b/pyproject.toml index 3793a8c1..a0a36105 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ authors = [ dependencies = [] requires-python = ">=3.7" -readme = "README.rst" +readme = "README.md" license = {text = "MIT License"} keywords = ["MySQL"] classifiers = [ From 30574d41578701819d1e24687c52ad3e0283519f Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Tue, 21 Mar 2023 10:26:52 +0900 Subject: [PATCH 2/4] Use different converter --- README.md | 76 ++++++++++++++++++++----------------------------------- 1 file changed, 28 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 1c1e2caa..cca7eb09 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,20 @@ -```{image} https://readthedocs.org/projects/pymysql/badge/?version=latest -:alt: Documentation Status -:target: https://pymysql.readthedocs.io/ -``` +[![Documentation Status](https://readthedocs.org/projects/pymysql/badge/?version=latest)](https://pymysql.readthedocs.io/) -```{image} https://coveralls.io/repos/PyMySQL/PyMySQL/badge.svg?branch=main&service=github -:target: https://coveralls.io/github/PyMySQL/PyMySQL?branch=main -``` +[![image](https://coveralls.io/repos/PyMySQL/PyMySQL/badge.svg?branch=main&service=github)](https://coveralls.io/github/PyMySQL/PyMySQL?branch=main) # PyMySQL -```{contents} Table of Contents -:local: true -``` - -This package contains a pure-Python MySQL client library, based on [PEP 249]. +This package contains a pure-Python MySQL client library, based on [PEP +249](https://www.python.org/dev/peps/pep-0249/). ## Requirements -- Python -- one of the following: - - - [CPython] : 3.7 and newer - - [PyPy] : Latest 3.x version - -- MySQL Server -- one of the following: - - - [MySQL] >= 5.7 - - [MariaDB] >= 10.3 +- Python -- one of the following: + - [CPython](https://www.python.org/) : 3.7 and newer + - [PyPy](https://pypy.org/) : Latest 3.x version +- MySQL Server -- one of the following: + - [MySQL](https://www.mysql.com/) \>= 5.7 + - [MariaDB](https://mariadb.org/) \>= 10.3 ## Installation @@ -33,35 +22,30 @@ Package is uploaded on [PyPI](https://pypi.org/project/PyMySQL). You can install it with pip: -``` -$ python3 -m pip install PyMySQL -``` + $ python3 -m pip install PyMySQL To use "sha256_password" or "caching_sha2_password" for authenticate, you need to install additional dependency: -``` -$ python3 -m pip install PyMySQL[rsa] -``` + $ python3 -m pip install PyMySQL[rsa] To use MariaDB's "ed25519" authentication method, you need to install additional dependency: -``` -$ python3 -m pip install PyMySQL[ed25519] -``` + $ python3 -m pip install PyMySQL[ed25519] ## Documentation Documentation is available online: -For support, please refer to the [StackOverflow](https://stackoverflow.com/questions/tagged/pymysql). +For support, please refer to the +[StackOverflow](https://stackoverflow.com/questions/tagged/pymysql). ## Example The following examples make use of a simple table -```{code} sql +``` sql CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(255) COLLATE utf8_bin NOT NULL, @@ -71,7 +55,7 @@ CREATE TABLE `users` ( AUTO_INCREMENT=1 ; ``` -```{code} python +``` python import pymysql.cursors # Connect to the database @@ -101,26 +85,22 @@ with connection: This example will print: -```{code} python +``` python {'password': 'very-secret', 'id': 1} ``` ## Resources -- DB-API 2.0: -- MySQL Reference Manuals: -- MySQL client/server protocol: - -- "Connector" channel in MySQL Community Slack: - -- PyMySQL mailing list: +- DB-API 2.0: +- MySQL Reference Manuals: +- MySQL client/server protocol: + +- "Connector" channel in MySQL Community Slack: + +- PyMySQL mailing list: + ## License -PyMySQL is released under the MIT License. See LICENSE for more information. - -[cpython]: https://www.python.org/ -[mariadb]: https://mariadb.org/ -[mysql]: https://www.mysql.com/ -[pep 249]: https://www.python.org/dev/peps/pep-0249/ -[pypy]: https://pypy.org/ +PyMySQL is released under the MIT License. See LICENSE for more +information. From 89d75bea2f54e9a9b9567011400bcaf2641337f8 Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Tue, 21 Mar 2023 10:44:47 +0900 Subject: [PATCH 3/4] Fix indent --- README.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index cca7eb09..c001f37f 100644 --- a/README.md +++ b/README.md @@ -9,12 +9,12 @@ This package contains a pure-Python MySQL client library, based on [PEP ## Requirements -- Python -- one of the following: - - [CPython](https://www.python.org/) : 3.7 and newer - - [PyPy](https://pypy.org/) : Latest 3.x version -- MySQL Server -- one of the following: - - [MySQL](https://www.mysql.com/) \>= 5.7 - - [MariaDB](https://mariadb.org/) \>= 10.3 +- Python -- one of the following: + - [CPython](https://www.python.org/) : 3.7 and newer + - [PyPy](https://pypy.org/) : Latest 3.x version +- MySQL Server -- one of the following: + - [MySQL](https://www.mysql.com/) \>= 5.7 + - [MariaDB](https://mariadb.org/) \>= 10.3 ## Installation @@ -91,14 +91,14 @@ This example will print: ## Resources -- DB-API 2.0: -- MySQL Reference Manuals: -- MySQL client/server protocol: - -- "Connector" channel in MySQL Community Slack: - -- PyMySQL mailing list: - +- DB-API 2.0: +- MySQL Reference Manuals: +- MySQL client/server protocol: + +- "Connector" channel in MySQL Community Slack: + +- PyMySQL mailing list: + ## License From 99805b02bca621198e1fa7d7b48af01bc250269b Mon Sep 17 00:00:00 2001 From: Inada Naoki Date: Tue, 21 Mar 2023 10:47:31 +0900 Subject: [PATCH 4/4] labels --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index c001f37f..dec84080 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ [![Documentation Status](https://readthedocs.org/projects/pymysql/badge/?version=latest)](https://pymysql.readthedocs.io/) - [![image](https://coveralls.io/repos/PyMySQL/PyMySQL/badge.svg?branch=main&service=github)](https://coveralls.io/github/PyMySQL/PyMySQL?branch=main) # PyMySQL