mysqlx-connector-python 9.5.0__tar.gz → 9.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/CHANGES.txt +6 -1
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/CONTRIBUTING.md +2 -2
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/LICENSE.txt +5 -5
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/PKG-INFO +44 -32
- mysqlx_connector_python-9.6.0/README.rst +334 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/README.txt +3 -3
- mysqlx_connector_python-9.6.0/docs/INFO_BIN +2 -0
- mysqlx_connector_python-9.6.0/docs/INFO_SRC +4 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/version.py +1 -1
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx_connector_python.egg-info/PKG-INFO +44 -32
- mysqlx_connector_python-9.5.0/README.rst +0 -226
- mysqlx_connector_python-9.5.0/docs/INFO_BIN +0 -2
- mysqlx_connector_python-9.5.0/docs/INFO_SRC +0 -4
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/MANIFEST.in +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/SECURITY.md +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/cpydist/__init__.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/cpydist/bdist.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/cpydist/bdist_wheel.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/cpydist/sdist.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/cpydist/utils.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/__init__.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/__init__.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/authentication.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/charsets.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/connection.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/constants.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/crud.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/dbdoc.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/errorcode.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/errors.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/expr.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/helpers.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/locales/__init__.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/locales/eng/__init__.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/locales/eng/client_error.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/logger.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/__init__.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_connection_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_crud_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_cursor_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_datatypes_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_expect_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_expr_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_notice_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_prepare_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_resultset_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_session_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protobuf/mysqlx_sql_pb2.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/protocol.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/py.typed +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/result.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/statement.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/tls_ciphers.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/types.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx/utils.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx_connector_python.egg-info/SOURCES.txt +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx_connector_python.egg-info/dependency_links.txt +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx_connector_python.egg-info/requires.txt +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/lib/mysqlx_connector_python.egg-info/top_level.txt +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/pyproject.toml +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/setup.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_connection.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_crud.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_cursor.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_datatypes.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_expect.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_expr.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_notice.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_prepare.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_resultset.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_session.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlx/protocol/mysqlx_sql.proto +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/mysqlxpb.cc +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/python.h +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/src/mysqlxpb/python_cast.h +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/__init__.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_CA_cert.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_CA_cert_1.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_CA_key.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_CA_key_1.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_client_cert.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_client_key.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_expired_server_cert.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_expired_server_key.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_server_cert.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/data/ssl/tests_server_key.pem +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/mysqld.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/__init__.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_ciphers.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_api_result.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_api_transaction.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_collection_replace_remove_one.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_conn_ipv6.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_collection_add.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_collection_find.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_collection_index.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_collection_modify.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_collection_remove.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_table_delete.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_table_insert.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_table_select.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_table_update.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_crud_view.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_session_reset.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/qa/test_qa_mysqlx_table_column_metadata.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/test_mysqlx_connection.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/test_mysqlx_crud.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/test_mysqlx_errorcode.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/test_mysqlx_errors.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/tests/test_mysqlx_pooling.py +0 -0
- {mysqlx_connector_python-9.5.0 → mysqlx_connector_python-9.6.0}/unittests.py +0 -0
|
@@ -3,11 +3,16 @@ MySQL Connector/Python - Release Notes & Changes
|
|
|
3
3
|
====================================================
|
|
4
4
|
|
|
5
5
|
MySQL Connector/Python
|
|
6
|
-
Copyright (c) 2009,
|
|
6
|
+
Copyright (c) 2009, 2026, Oracle and/or its affiliates.
|
|
7
7
|
|
|
8
8
|
Full release notes:
|
|
9
9
|
http://dev.mysql.com/doc/relnotes/connector-python/en/
|
|
10
10
|
|
|
11
|
+
v9.6.0
|
|
12
|
+
======
|
|
13
|
+
|
|
14
|
+
This release contains no functional changes.
|
|
15
|
+
|
|
11
16
|
v9.5.0
|
|
12
17
|
======
|
|
13
18
|
|
|
@@ -304,13 +304,13 @@ Due to some `know limitations <https://github.com/docker/for-mac/issues/483>`_ o
|
|
|
304
304
|
|
|
305
305
|
That being said, the following there are some examples of possible use cases:
|
|
306
306
|
|
|
307
|
-
* Running the test modules whose name follows the pattern `c.*` from a mac whose IP is `232.188.98.520`, and the password for `root` is `s3cr3t`.
|
|
307
|
+
* Running the test modules whose name follows the pattern `c.*` from a mac whose IP is `232.188.98.520`, and the password for `root` is `s3cr3t`. X DevAPI protocol listening on port `33060`:
|
|
308
308
|
|
|
309
309
|
```bash
|
|
310
310
|
$ TEST_PATTERN='c.*' MYSQL_HOST='192.168.68.111' MYSQL_PASSWORD='s3cr3t' ./tests/docker/runner.sh
|
|
311
311
|
```
|
|
312
312
|
|
|
313
|
-
* Running the *mysqlx_crud* test module from Linux with MySQL user account `root`, and password `empty_string`.
|
|
313
|
+
* Running the *mysqlx_crud* test module from Linux with MySQL user account `root`, and password `empty_string`. X DevAPI protocol listening on port `33070`:
|
|
314
314
|
|
|
315
315
|
```bash
|
|
316
316
|
$ MYSQLX_PORT='33070' TEST_PATTERN='mysqlx_crud' ./tests/docker/runner.sh
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Licensing Information User Manual
|
|
2
2
|
|
|
3
|
-
MySQL Connector/Python 9.
|
|
3
|
+
MySQL Connector/Python 9.6.0 Community
|
|
4
4
|
__________________________________________________________________
|
|
5
5
|
|
|
6
6
|
Introduction
|
|
@@ -8,18 +8,18 @@ Introduction
|
|
|
8
8
|
This License Information User Manual contains Oracle's product license
|
|
9
9
|
and other licensing information, including licensing information for
|
|
10
10
|
third-party software which may be included in this distribution of
|
|
11
|
-
MySQL Connector/Python 9.
|
|
11
|
+
MySQL Connector/Python 9.6.0 Community.
|
|
12
12
|
|
|
13
|
-
Last updated:
|
|
13
|
+
Last updated: December 2025
|
|
14
14
|
|
|
15
15
|
Licensing Information
|
|
16
16
|
|
|
17
|
-
This release of MySQL Connector/Python 9.
|
|
17
|
+
This release of MySQL Connector/Python 9.6.0 Community is brought to
|
|
18
18
|
you by the MySQL team at Oracle. This software is released under
|
|
19
19
|
version 2 of the GNU General Public License (GPLv2), as set forth
|
|
20
20
|
below, with the following additional permissions:
|
|
21
21
|
|
|
22
|
-
This distribution of MySQL Connector/Python 9.
|
|
22
|
+
This distribution of MySQL Connector/Python 9.6.0 Community is designed
|
|
23
23
|
to work with certain software (including but not limited to OpenSSL)
|
|
24
24
|
that is licensed under separate terms, as designated in a particular
|
|
25
25
|
file or component or in the license documentation. Without limiting
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mysqlx-connector-python
|
|
3
|
-
Version: 9.
|
|
3
|
+
Version: 9.6.0
|
|
4
4
|
Summary: A Python driver which implements the X DevAPI, an Application Programming Interface for working with the MySQL Document Store.
|
|
5
5
|
Author: Oracle and/or its affiliates
|
|
6
6
|
Author-email:
|
|
@@ -58,53 +58,63 @@ Dynamic: summary
|
|
|
58
58
|
MySQL Connector/Python
|
|
59
59
|
======================
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
.. image::
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
.. image::
|
|
64
|
+
https://img.shields.io/pypi/v/mysqlx-connector-python.svg
|
|
65
|
+
:target: https://pypi.org/project/mysqlx-connector-python/
|
|
66
|
+
|
|
67
|
+
.. image::
|
|
68
|
+
https://img.shields.io/pypi/pyversions/mysqlx-connector-python.svg
|
|
69
|
+
:target: https://pypi.org/project/mysqlx-connector-python/
|
|
70
|
+
|
|
71
|
+
.. image::
|
|
72
|
+
https://img.shields.io/pypi/l/mysqlx-connector-python.svg
|
|
73
|
+
:target: https://pypi.org/project/mysqlx-connector-python/
|
|
67
74
|
|
|
68
75
|
|
|
69
76
|
|
|
70
77
|
|
|
71
|
-
MySQL Connector/Python contains an implementation of the `XDevAPI <https://dev.mysql.com/doc/x-devapi-userguide/en>`_
|
|
72
|
-
- An Application Programming Interface for working with the `MySQL Document Store
|
|
73
|
-
<https://dev.mysql.com/doc/refman/en/document-store.html>`_.
|
|
74
78
|
|
|
75
79
|
|
|
76
80
|
|
|
81
|
+
MySQL Connector/Python contains an implementation of the `X DevAPI <https://dev.mysql.com/doc/x-devapi-userguide/en>`__
|
|
82
|
+
- An Application Programming Interface for working with the `MySQL Document Store
|
|
83
|
+
<https://dev.mysql.com/doc/refman/en/document-store.html>`__.
|
|
84
|
+
|
|
85
|
+
|
|
77
86
|
|
|
78
87
|
|
|
79
88
|
|
|
80
89
|
Installation
|
|
81
90
|
------------
|
|
82
91
|
|
|
83
|
-
Connector/Python contains the
|
|
92
|
+
Connector/Python contains the Classic and X DevAPI connector APIs, which are
|
|
84
93
|
installed separately. Any of these can be installed from a binary
|
|
85
94
|
or source distribution.
|
|
86
95
|
|
|
87
96
|
Binaries are distributed in the following package formats:
|
|
88
97
|
|
|
89
|
-
* `RPM <https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/introduction-to-rpm_packaging-and-distributing-software>`
|
|
90
|
-
* `WHEEL <https://packaging.python.org/en/latest/discussions/package-formats/#what-is-a-wheel>`
|
|
98
|
+
* `RPM <https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/introduction-to-rpm_packaging-and-distributing-software>`__
|
|
99
|
+
* `WHEEL <https://packaging.python.org/en/latest/discussions/package-formats/#what-is-a-wheel>`__
|
|
91
100
|
|
|
92
101
|
On the other hand, the source code is distributed as a compressed file
|
|
93
102
|
from which a wheel package can be built.
|
|
94
103
|
|
|
95
|
-
The recommended way to install Connector/Python is via `pip <https://pip.pypa.io/>`
|
|
104
|
+
The recommended way to install Connector/Python is via `pip <https://pip.pypa.io/>`__,
|
|
96
105
|
which relies on WHEEL packages. For such a reason, it is the installation procedure
|
|
97
106
|
that is going to be described moving forward.
|
|
98
107
|
|
|
99
108
|
Please, refer to the official MySQL documentation `Connector/Python Installation
|
|
100
|
-
<https://dev.mysql.com/doc/connector-python/en/connector-python-installation.html>`
|
|
109
|
+
<https://dev.mysql.com/doc/connector-python/en/connector-python-installation.html>`__ to
|
|
101
110
|
know more about installing from an RPM, or building and installing a WHEEL package from
|
|
102
111
|
a source distribution.
|
|
103
112
|
|
|
104
|
-
Before installing a package with `pip <https://pip.pypa.io/>`
|
|
113
|
+
Before installing a package with `pip <https://pip.pypa.io/>`__, it is strongly suggested
|
|
105
114
|
to have the most recent ``pip`` version installed on your system.
|
|
106
115
|
If your system already has ``pip`` installed, you might need to update it. Or you can use
|
|
107
|
-
the `standalone pip installer <https://pip.pypa.io/en/latest/installation/>`
|
|
116
|
+
the `standalone pip installer <https://pip.pypa.io/en/latest/installation/>`__.
|
|
117
|
+
|
|
108
118
|
|
|
109
119
|
|
|
110
120
|
|
|
@@ -115,13 +125,11 @@ the `standalone pip installer <https://pip.pypa.io/en/latest/installation/>`_.
|
|
|
115
125
|
|
|
116
126
|
$ pip install mysqlx-connector-python
|
|
117
127
|
|
|
118
|
-
Please refer to the `installation tutorial <https://dev.mysql.com/doc/dev/connector-python/installation.html>`
|
|
119
|
-
for installation alternatives of the
|
|
120
|
-
|
|
128
|
+
Please refer to the `installation tutorial <https://dev.mysql.com/doc/dev/connector-python/installation.html>`__
|
|
129
|
+
for installation alternatives of the X DevAPI.
|
|
121
130
|
|
|
122
131
|
|
|
123
132
|
|
|
124
|
-
++++++++++++++++++++
|
|
125
133
|
Installation Options
|
|
126
134
|
++++++++++++++++++++
|
|
127
135
|
|
|
@@ -133,6 +141,7 @@ optional dependencies to unleash certain functionalities.
|
|
|
133
141
|
|
|
134
142
|
|
|
135
143
|
|
|
144
|
+
|
|
136
145
|
.. code-block:: bash
|
|
137
146
|
|
|
138
147
|
# 3rd party packages to unleash the compression functionality are installed
|
|
@@ -147,6 +156,7 @@ and you are free to install the required dependencies by yourself.
|
|
|
147
156
|
|
|
148
157
|
|
|
149
158
|
|
|
159
|
+
|
|
150
160
|
Available options:
|
|
151
161
|
|
|
152
162
|
* dns-srv
|
|
@@ -157,8 +167,9 @@ Available options:
|
|
|
157
167
|
|
|
158
168
|
|
|
159
169
|
|
|
170
|
+
|
|
160
171
|
Sample Code
|
|
161
|
-
|
|
172
|
+
----------------------------
|
|
162
173
|
|
|
163
174
|
.. code:: python
|
|
164
175
|
|
|
@@ -191,17 +202,19 @@ Sample Code
|
|
|
191
202
|
|
|
192
203
|
|
|
193
204
|
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
194
208
|
Additional Resources
|
|
195
209
|
--------------------
|
|
196
210
|
|
|
197
211
|
|
|
198
|
-
- `MySQL Connector/Python X DevAPI Reference <https://dev.mysql.com/doc/dev/connector-python/>`
|
|
199
|
-
- `MySQL Connector/Python Forum <http://forums.mysql.com/list.php?50>`
|
|
200
|
-
- `MySQL Public Bug Tracker <https://bugs.mysql.com>`
|
|
201
|
-
- `Slack <https://mysqlcommunity.slack.com>`
|
|
202
|
-
- `Stack Overflow <https://stackoverflow.com/questions/tagged/mysql-connector-python>`
|
|
203
|
-
- `Oracle Blogs <https://blogs.oracle.com/search.html?q=connector-python>`
|
|
204
|
-
|
|
212
|
+
- `MySQL Connector/Python X DevAPI Reference <https://dev.mysql.com/doc/dev/connector-python/>`__
|
|
213
|
+
- `MySQL Connector/Python Forum <http://forums.mysql.com/list.php?50>`__
|
|
214
|
+
- `MySQL Public Bug Tracker <https://bugs.mysql.com>`__
|
|
215
|
+
- `Slack <https://mysqlcommunity.slack.com>`__ (`Sign-up <https://lefred.be/mysql-community-on-slack/>`__ required if you do not have an Oracle account)
|
|
216
|
+
- `Stack Overflow <https://stackoverflow.com/questions/tagged/mysql-connector-python>`__
|
|
217
|
+
- `Oracle Blogs <https://blogs.oracle.com/search.html?q=connector-python>`__
|
|
205
218
|
|
|
206
219
|
|
|
207
220
|
|
|
@@ -209,11 +222,10 @@ Contributing
|
|
|
209
222
|
------------
|
|
210
223
|
|
|
211
224
|
There are a few ways to contribute to the Connector/Python code. Please refer
|
|
212
|
-
to the `contributing guidelines <https://github.com/mysql/mysql-connector-python/blob/trunk/CONTRIBUTING.md>`
|
|
213
|
-
|
|
225
|
+
to the `contributing guidelines <https://github.com/mysql/mysql-connector-python/blob/trunk/CONTRIBUTING.md>`__ for additional information.
|
|
214
226
|
|
|
215
227
|
License
|
|
216
228
|
-------
|
|
217
229
|
|
|
218
|
-
Please refer to the `README.txt <https://github.com/mysql/mysql-connector-python/blob/trunk/README.txt>`
|
|
230
|
+
Please refer to the `README.txt <https://github.com/mysql/mysql-connector-python/blob/trunk/README.txt>`__ and `LICENSE.txt <https://github.com/mysql/mysql-connector-python/blob/trunk/LICENSE.txt>`__
|
|
219
231
|
files, available in this repository, for further details.
|
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
MySQL Connector/Python
|
|
2
|
+
======================
|
|
3
|
+
|
|
4
|
+
.. === <both> [repl-mysqlx("mysql-connector-python", "mysqlx-connector-python")] ===
|
|
5
|
+
|
|
6
|
+
.. image::
|
|
7
|
+
https://img.shields.io/pypi/v/mysql-connector-python.svg
|
|
8
|
+
:target: https://pypi.org/project/mysql-connector-python/
|
|
9
|
+
|
|
10
|
+
.. image::
|
|
11
|
+
https://img.shields.io/pypi/pyversions/mysql-connector-python.svg
|
|
12
|
+
:target: https://pypi.org/project/mysql-connector-python/
|
|
13
|
+
|
|
14
|
+
.. image::
|
|
15
|
+
https://img.shields.io/pypi/l/mysql-connector-python.svg
|
|
16
|
+
:target: https://pypi.org/project/mysql-connector-python/
|
|
17
|
+
|
|
18
|
+
.. === </both> ===
|
|
19
|
+
|
|
20
|
+
.. === <mysql> [repl(" - We refer to it as the", "."), repl("`Classic API <https://dev.mysql.com/doc/connector-python/en/connector-python-reference.html>`__.", "")] ====
|
|
21
|
+
|
|
22
|
+
MySQL Connector/Python enables Python programs to access MySQL databases, using
|
|
23
|
+
an API that is compliant with the `Python Database API Specification v2.0
|
|
24
|
+
(PEP 249) <https://www.python.org/dev/peps/pep-0249/>`__ - We refer to it as the
|
|
25
|
+
`Classic API <https://dev.mysql.com/doc/connector-python/en/connector-python-reference.html>`__.
|
|
26
|
+
|
|
27
|
+
.. === </mysql> ====
|
|
28
|
+
|
|
29
|
+
.. === <mysqlx> [repl("It also", "MySQL Connector/Python")] ===
|
|
30
|
+
|
|
31
|
+
It also contains an implementation of the `X DevAPI <https://dev.mysql.com/doc/x-devapi-userguide/en>`__
|
|
32
|
+
- An Application Programming Interface for working with the `MySQL Document Store
|
|
33
|
+
<https://dev.mysql.com/doc/refman/en/document-store.html>`__.
|
|
34
|
+
|
|
35
|
+
.. === </mysqlx> ===
|
|
36
|
+
|
|
37
|
+
.. === <mysql> [repl("* `X DevAPI <https://dev.mysql.com/doc/x-devapi-userguide/en>`__", "")] ====
|
|
38
|
+
|
|
39
|
+
Features
|
|
40
|
+
--------
|
|
41
|
+
|
|
42
|
+
* `Asynchronous Connectivity <https://dev.mysql.com/doc/connector-python/en/connector-python-asyncio.html>`__
|
|
43
|
+
* `C-extension <https://dev.mysql.com/doc/connector-python/en/connector-python-cext.html>`__
|
|
44
|
+
* `Telemetry <https://dev.mysql.com/doc/connector-python/en/connector-python-opentelemetry.html>`__
|
|
45
|
+
* `X DevAPI <https://dev.mysql.com/doc/x-devapi-userguide/en>`__
|
|
46
|
+
|
|
47
|
+
.. === </mysql> ====
|
|
48
|
+
|
|
49
|
+
Installation
|
|
50
|
+
------------
|
|
51
|
+
|
|
52
|
+
Connector/Python contains the Classic and X DevAPI connector APIs, which are
|
|
53
|
+
installed separately. Any of these can be installed from a binary
|
|
54
|
+
or source distribution.
|
|
55
|
+
|
|
56
|
+
Binaries are distributed in the following package formats:
|
|
57
|
+
|
|
58
|
+
* `RPM <https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html/packaging_and_distributing_software/introduction-to-rpm_packaging-and-distributing-software>`__
|
|
59
|
+
* `WHEEL <https://packaging.python.org/en/latest/discussions/package-formats/#what-is-a-wheel>`__
|
|
60
|
+
|
|
61
|
+
On the other hand, the source code is distributed as a compressed file
|
|
62
|
+
from which a wheel package can be built.
|
|
63
|
+
|
|
64
|
+
The recommended way to install Connector/Python is via `pip <https://pip.pypa.io/>`__,
|
|
65
|
+
which relies on WHEEL packages. For such a reason, it is the installation procedure
|
|
66
|
+
that is going to be described moving forward.
|
|
67
|
+
|
|
68
|
+
Please, refer to the official MySQL documentation `Connector/Python Installation
|
|
69
|
+
<https://dev.mysql.com/doc/connector-python/en/connector-python-installation.html>`__ to
|
|
70
|
+
know more about installing from an RPM, or building and installing a WHEEL package from
|
|
71
|
+
a source distribution.
|
|
72
|
+
|
|
73
|
+
Before installing a package with `pip <https://pip.pypa.io/>`__, it is strongly suggested
|
|
74
|
+
to have the most recent ``pip`` version installed on your system.
|
|
75
|
+
If your system already has ``pip`` installed, you might need to update it. Or you can use
|
|
76
|
+
the `standalone pip installer <https://pip.pypa.io/en/latest/installation/>`__.
|
|
77
|
+
|
|
78
|
+
.. === <mysql> [repl("The *Classic API* can be installed via pip as follows:", "")] ===
|
|
79
|
+
|
|
80
|
+
The *Classic API* can be installed via pip as follows:
|
|
81
|
+
|
|
82
|
+
.. code-block:: bash
|
|
83
|
+
|
|
84
|
+
$ pip install mysql-connector-python
|
|
85
|
+
|
|
86
|
+
.. === </mysql> ====
|
|
87
|
+
|
|
88
|
+
.. === <mysqlx> [repl("similarly, the *X DevAPI* can be installed with:", "")] ===
|
|
89
|
+
|
|
90
|
+
similarly, the *X DevAPI* can be installed with:
|
|
91
|
+
|
|
92
|
+
.. code-block:: bash
|
|
93
|
+
|
|
94
|
+
$ pip install mysqlx-connector-python
|
|
95
|
+
|
|
96
|
+
Please refer to the `installation tutorial <https://dev.mysql.com/doc/dev/connector-python/installation.html>`__
|
|
97
|
+
for installation alternatives of the X DevAPI.
|
|
98
|
+
|
|
99
|
+
.. === </mysqlx> ===
|
|
100
|
+
|
|
101
|
+
Installation Options
|
|
102
|
+
++++++++++++++++++++
|
|
103
|
+
|
|
104
|
+
Connector packages included in MySQL Connector/Python allow you to install
|
|
105
|
+
optional dependencies to unleash certain functionalities.
|
|
106
|
+
|
|
107
|
+
.. === <mysql> ===
|
|
108
|
+
.. code-block:: bash
|
|
109
|
+
|
|
110
|
+
# 3rd party packages to unleash the telemetry functionality are installed
|
|
111
|
+
$ pip install mysql-connector-python[telemetry]
|
|
112
|
+
|
|
113
|
+
.. === </mysql> ===
|
|
114
|
+
|
|
115
|
+
.. === <mysqlx> [repl("similarly, for the X DevAPI:", "")] ===
|
|
116
|
+
|
|
117
|
+
similarly, for the X DevAPI:
|
|
118
|
+
|
|
119
|
+
.. code-block:: bash
|
|
120
|
+
|
|
121
|
+
# 3rd party packages to unleash the compression functionality are installed
|
|
122
|
+
$ pip install mysqlx-connector-python[compression]
|
|
123
|
+
|
|
124
|
+
.. === </mysqlx> ===
|
|
125
|
+
|
|
126
|
+
This installation option can be seen as a shortcut to install all the
|
|
127
|
+
dependencies needed by a particular feature. Mind that this is optional
|
|
128
|
+
and you are free to install the required dependencies by yourself.
|
|
129
|
+
|
|
130
|
+
.. === <mysql> [repl("Options for the Classic API connector:", "Available options:")] ===
|
|
131
|
+
|
|
132
|
+
Options for the Classic API connector:
|
|
133
|
+
|
|
134
|
+
* dns-srv
|
|
135
|
+
* gssapi
|
|
136
|
+
* webauthn
|
|
137
|
+
* telemetry
|
|
138
|
+
|
|
139
|
+
.. === </mysql> ===
|
|
140
|
+
|
|
141
|
+
.. === <mysqlx> [repl("Options for the X DevAPI connector:", "Available options:")] ===
|
|
142
|
+
|
|
143
|
+
Options for the X DevAPI connector:
|
|
144
|
+
|
|
145
|
+
* dns-srv
|
|
146
|
+
* compression
|
|
147
|
+
|
|
148
|
+
.. === </mysqlx> ===
|
|
149
|
+
|
|
150
|
+
.. === <mysql> [repl("Classic API ", ""), repl("-------", "-----------")] ===
|
|
151
|
+
|
|
152
|
+
Classic API Sample Code
|
|
153
|
+
-----------------------
|
|
154
|
+
|
|
155
|
+
.. code:: python
|
|
156
|
+
|
|
157
|
+
import mysql.connector
|
|
158
|
+
|
|
159
|
+
# Connect to server
|
|
160
|
+
cnx = mysql.connector.connect(
|
|
161
|
+
host="127.0.0.1",
|
|
162
|
+
port=3306,
|
|
163
|
+
user="mike",
|
|
164
|
+
password="s3cre3t!")
|
|
165
|
+
|
|
166
|
+
# Get a cursor
|
|
167
|
+
cur = cnx.cursor()
|
|
168
|
+
|
|
169
|
+
# Execute a query
|
|
170
|
+
cur.execute("SELECT CURDATE()")
|
|
171
|
+
|
|
172
|
+
# Fetch one result
|
|
173
|
+
row = cur.fetchone()
|
|
174
|
+
print("Current date is: {0}".format(row[0]))
|
|
175
|
+
|
|
176
|
+
# Close connection
|
|
177
|
+
cnx.close()
|
|
178
|
+
|
|
179
|
+
.. === </mysql> ===
|
|
180
|
+
|
|
181
|
+
.. === <mysqlx> [repl("X DevAPI ", ""), repl("-------", "-----------")] ===
|
|
182
|
+
|
|
183
|
+
X DevAPI Sample Code
|
|
184
|
+
--------------------
|
|
185
|
+
|
|
186
|
+
.. code:: python
|
|
187
|
+
|
|
188
|
+
import mysqlx
|
|
189
|
+
|
|
190
|
+
# Connect to server
|
|
191
|
+
session = mysqlx.get_session(
|
|
192
|
+
host="127.0.0.1",
|
|
193
|
+
port=33060,
|
|
194
|
+
user="mike",
|
|
195
|
+
password="s3cr3t!")
|
|
196
|
+
schema = session.get_schema("test")
|
|
197
|
+
|
|
198
|
+
# Use the collection "my_collection"
|
|
199
|
+
collection = schema.get_collection("my_collection")
|
|
200
|
+
|
|
201
|
+
# Specify which document to find with Collection.find()
|
|
202
|
+
result = collection.find("name like :param") \
|
|
203
|
+
.bind("param", "S%") \
|
|
204
|
+
.limit(1) \
|
|
205
|
+
.execute()
|
|
206
|
+
|
|
207
|
+
# Print document
|
|
208
|
+
docs = result.fetch_all()
|
|
209
|
+
print(r"Name: {0}".format(docs[0]["name"]))
|
|
210
|
+
|
|
211
|
+
# Close session
|
|
212
|
+
session.close()
|
|
213
|
+
|
|
214
|
+
.. === </mysqlx> ===
|
|
215
|
+
|
|
216
|
+
.. === <mysql> ===
|
|
217
|
+
|
|
218
|
+
HeatWave GenAI and Machine Learning Support
|
|
219
|
+
-------------------------------------------
|
|
220
|
+
|
|
221
|
+
MySQL Connector/Python now includes an optional API for integrating directly with MySQL HeatWave's AI and Machine Learning capabilities. This new SDK is designed to reduce the time required to generate proofs-of-concept (POCs) by providing an intuitive Pythonic interface that automates the management of SQL tables and procedures.
|
|
222
|
+
|
|
223
|
+
The new ``mysql.ai`` module offers two primary components:
|
|
224
|
+
|
|
225
|
+
* **GenAI:** Provides implementations of LangChain's abstract ``LLM``, ``VectorStore``, and ``Embeddings`` classes (``MyLLM``, ``MyVectorStore``, ``MyEmbeddings``). This ensures full interoperability with existing LangChain pipelines, allowing developers to easily substitute existing components with HeatWave-backed versions.
|
|
226
|
+
* **AutoML:** Provides Scikit-Learn compatible estimators (``MyClassifier``, ``MyRegressor``, ``MyAnomalyDetector``, ``MyGenericTransformer``) that inherit from standard Scikit-Learn mixins. These components accept Pandas DataFrames and can be dropped directly into existing Scikit-Learn pipelines and grid searches.
|
|
227
|
+
|
|
228
|
+
**Note on Dependencies:** These features introduce dependencies on ``langchain``, ``pandas``, and ``scikit-learn``. To keep existing installations unchanged and the base connector lightweight, these dependencies are **not installed by default**. You must install them separately to use the ``mysql.ai`` features.
|
|
229
|
+
|
|
230
|
+
**Example: GenAI Chatbot with Memory**
|
|
231
|
+
|
|
232
|
+
This example demonstrates how to use ``MyLLM`` within a loop to create a simple chatbot that maintains conversation history.
|
|
233
|
+
|
|
234
|
+
.. code:: python
|
|
235
|
+
|
|
236
|
+
from collections import deque
|
|
237
|
+
from mysql import connector
|
|
238
|
+
from mysql.ai.genai import MyLLM
|
|
239
|
+
|
|
240
|
+
def run_chatbot(db_connection, chat_history_size=5):
|
|
241
|
+
# Initialize MyLLM with the database connection
|
|
242
|
+
my_llm = MyLLM(db_connection)
|
|
243
|
+
|
|
244
|
+
# Maintain a limited history for context
|
|
245
|
+
chat_history = deque(maxlen=chat_history_size)
|
|
246
|
+
system_msg = "System: You are a helpful AI assistant."
|
|
247
|
+
|
|
248
|
+
while True:
|
|
249
|
+
user_input = input("\nUser: ")
|
|
250
|
+
if user_input.lower() in ["exit", "quit"]:
|
|
251
|
+
break
|
|
252
|
+
|
|
253
|
+
# Format history and invoke the LLM
|
|
254
|
+
history = [system_msg] + list(chat_history) + [f"User: {user_input}"]
|
|
255
|
+
prompt = "\n".join(history)
|
|
256
|
+
|
|
257
|
+
# Invoke HeatWave GenAI
|
|
258
|
+
response = my_llm.invoke(prompt)
|
|
259
|
+
print(f"Bot: {response}")
|
|
260
|
+
|
|
261
|
+
# Update history
|
|
262
|
+
chat_history.append(f"User: {user_input}")
|
|
263
|
+
chat_history.append(f"Bot: {response}")
|
|
264
|
+
|
|
265
|
+
# Usage
|
|
266
|
+
with connector.connect(user='root', database='mlcorpus') as db_connection:
|
|
267
|
+
run_chatbot(db_connection)
|
|
268
|
+
|
|
269
|
+
**Example: HeatWave AutoML in a Scikit-Learn Pipeline**
|
|
270
|
+
|
|
271
|
+
This example shows how to use ``MyClassifier`` as a drop-in replacement within a standard Scikit-Learn pipeline.
|
|
272
|
+
|
|
273
|
+
.. code:: python
|
|
274
|
+
|
|
275
|
+
import pandas as pd
|
|
276
|
+
from mysql import connector
|
|
277
|
+
from sklearn.pipeline import Pipeline
|
|
278
|
+
from sklearn.preprocessing import StandardScaler
|
|
279
|
+
from mysql.ai.ml import MyClassifier
|
|
280
|
+
|
|
281
|
+
# 1. Setup Data (Pandas DataFrame)
|
|
282
|
+
X = pd.DataFrame([[0.5, 0.1], [1.0, 0.8], [0.1, 0.2]], columns=["feat1", "feat2"])
|
|
283
|
+
y = pd.Series([0, 1, 0], name="target")
|
|
284
|
+
|
|
285
|
+
# 2. Connect and Train
|
|
286
|
+
with connector.connect(user='root', database='mlcorpus') as db_connection:
|
|
287
|
+
# Initialize the HeatWave classifier
|
|
288
|
+
clf = MyClassifier(db_connection)
|
|
289
|
+
|
|
290
|
+
# Create a standard Scikit-Learn pipeline
|
|
291
|
+
pipe = Pipeline([
|
|
292
|
+
("scaler", StandardScaler()),
|
|
293
|
+
("mysql_clf", clf)
|
|
294
|
+
])
|
|
295
|
+
|
|
296
|
+
# Fit the model (automates upload and training on HeatWave)
|
|
297
|
+
pipe.fit(X, y)
|
|
298
|
+
|
|
299
|
+
# Predict
|
|
300
|
+
preds = pipe.predict(X)
|
|
301
|
+
print(f"Predictions: {preds}")
|
|
302
|
+
|
|
303
|
+
# Score
|
|
304
|
+
score = pipe.score(X, y)
|
|
305
|
+
print(f"Accuracy: {score}")
|
|
306
|
+
|
|
307
|
+
.. === </mysql> ===
|
|
308
|
+
|
|
309
|
+
.. === <both> [repl-mysql("- `MySQL Connector/Python X DevAPI Reference <https://dev.mysql.com/doc/dev/connector-python/>`__", ""), repl-mysqlx("- `MySQL Connector/Python Developer Guide <https://dev.mysql.com/doc/connector-python/en/>`__", "")] ===
|
|
310
|
+
|
|
311
|
+
Additional Resources
|
|
312
|
+
--------------------
|
|
313
|
+
|
|
314
|
+
- `MySQL Connector/Python Developer Guide <https://dev.mysql.com/doc/connector-python/en/>`__
|
|
315
|
+
- `MySQL Connector/Python X DevAPI Reference <https://dev.mysql.com/doc/dev/connector-python/>`__
|
|
316
|
+
- `MySQL Connector/Python Forum <http://forums.mysql.com/list.php?50>`__
|
|
317
|
+
- `MySQL Public Bug Tracker <https://bugs.mysql.com>`__
|
|
318
|
+
- `Slack <https://mysqlcommunity.slack.com>`__ (`Sign-up <https://lefred.be/mysql-community-on-slack/>`__ required if you do not have an Oracle account)
|
|
319
|
+
- `Stack Overflow <https://stackoverflow.com/questions/tagged/mysql-connector-python>`__
|
|
320
|
+
- `Oracle Blogs <https://blogs.oracle.com/search.html?q=connector-python>`__
|
|
321
|
+
|
|
322
|
+
.. === </both> ===
|
|
323
|
+
|
|
324
|
+
Contributing
|
|
325
|
+
------------
|
|
326
|
+
|
|
327
|
+
There are a few ways to contribute to the Connector/Python code. Please refer
|
|
328
|
+
to the `contributing guidelines <CONTRIBUTING.md>`__ for additional information.
|
|
329
|
+
|
|
330
|
+
License
|
|
331
|
+
-------
|
|
332
|
+
|
|
333
|
+
Please refer to the `README.txt <README.txt>`__ and `LICENSE.txt <LICENSE.txt>`__
|
|
334
|
+
files, available in this repository, for further details.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
Copyright (c) 2009,
|
|
1
|
+
Copyright (c) 2009, 2026, Oracle and/or its affiliates.
|
|
2
2
|
|
|
3
3
|
This is a release of MySQL Connector/Python, Oracle's Python driver for MySQL.
|
|
4
4
|
|
|
5
5
|
MySQL Connector/Python enables Python programs to access MySQL databases,
|
|
6
6
|
using an API that is compliant with the Python Database API Specification
|
|
7
|
-
v2.0 (PEP 249). It also contains an implementation of the
|
|
7
|
+
v2.0 (PEP 249). It also contains an implementation of the X DevAPI.
|
|
8
8
|
|
|
9
9
|
License information can be found in the LICENSE.txt file.
|
|
10
10
|
|
|
11
11
|
This distribution may include materials developed by third parties. For license
|
|
12
12
|
and attribution notices for these materials, please refer to the LICENSE.txt file.
|
|
13
13
|
|
|
14
|
-
For more information on MySQL Connector/Python
|
|
14
|
+
For more information on MySQL Connector/Python X DevAPI, visit
|
|
15
15
|
https://dev.mysql.com/doc/dev/connector-python/
|
|
16
16
|
|
|
17
17
|
For additional downloads and the source of MySQL Connector/Python, visit
|