From Fedora Project Wiki

Article about the mariadb-connector-python package

About

MariaDB Connector/Python enables Python programs to access MariaDB and MySQL databases using an API compliant with PEP-249 (Python DB API 2.0). It is the official Python client library maintained by MariaDB Corporation.

Connector releases

mariadb 1.1.14 - current stable (GA). C extension only; requires mariadb-connector-c. Fedora Rawhide
mariadb 2.0.0rc2 - release candidate. Pure Python, C extension, and binary wheel options. Native async/await support. Do not use in production.

Installation

From PyPI

Requires mariadb-connector-c-devel >= 3.3.1:

pip install mariadb

For the v2.0 release candidate (--pre flag required):

pip install --pre mariadb

On Fedora

sudo dnf install mariadb-connector-python

Build dependencies (if building from source):

sudo dnf install gcc python3-devel mariadb-connector-c-devel

Basic usage

import mariadb

conn_params = {
    "user": "myuser",
    "password": "mypassword",
    "host": "localhost",
    "database": "test",
}

with mariadb.connect(**conn_params) as conn:
    with conn.cursor() as cursor:
        cursor.execute("SELECT name, code FROM countries")
        for name, code in cursor:
            print(name, code)

Testing

The mariadb-connector-python-test subpackage ships the upstream integration test suite. It requires a live MariaDB server:

sudo dnf install mariadb-connector-python-test

TEST_DB_USER=root \
TEST_DB_PASSWORD=secret \
TEST_DB_DATABASE=testp \
TEST_DB_HOST=localhost \
TEST_DB_PORT=3306 \
  pytest --pyargs mariadb.tests -v

Notes

Upstream source code
Upstream documentation
PyPI page
Fedora package