Skip to content

IGNITE-27988 DB API Driver: Move project directory#7678

Merged
isapego merged 3 commits intomainfrom
ignite-27988
Feb 26, 2026
Merged

IGNITE-27988 DB API Driver: Move project directory#7678
isapego merged 3 commits intomainfrom
ignite-27988

Conversation

@isapego
Copy link
Contributor

@isapego isapego commented Feb 26, 2026

@isapego isapego requested a review from Copilot February 26, 2026 15:11
@isapego isapego self-assigned this Feb 26, 2026
@isapego isapego requested review from ptupitsyn and removed request for ptupitsyn February 26, 2026 15:12
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Moves the Apache Ignite 3 Python DB API driver into modules/platforms/python/dbapi and updates packaging, CI, docs, and tests to match the new project layout.

Changes:

  • Adds/relocates the Python DB API driver package (pyignite_dbapi) plus its native extension sources (cpp_module) under the new directory.
  • Introduces a full pytest-based test suite (including SSL fixtures) and a tox configuration for running it.
  • Updates build/CI wiring (Gradle version bump path, TeamCity working dir, GitHub Actions wheels workflow) and adds wheel/sdist build scripts + Sphinx docs.

Reviewed changes

Copilot reviewed 5 out of 61 changed files in this pull request and generated no comments.

Show a summary per file
File Description
modules/platforms/python/dbapi/tox.ini Adds tox config for running driver tests in the new location.
modules/platforms/python/dbapi/tests/util.py Test helpers for starting/probing Ignite and creating test data.
modules/platforms/python/dbapi/tests/test_transactions.py Adds transaction/autocommit behavior tests.
modules/platforms/python/dbapi/tests/test_ssl.py Adds SSL connection tests and flaky/skip-marked paging test.
modules/platforms/python/dbapi/tests/test_fetch_table.py Adds fetchone/fetchmany/fetchall paging tests.
modules/platforms/python/dbapi/tests/test_fetch_parameters.py Adds parameter binding/roundtrip tests for many types.
modules/platforms/python/dbapi/tests/test_fetch_constants.py Adds tests for fetching SQL constants and type mapping.
modules/platforms/python/dbapi/tests/test_executemany.py Adds executemany behavior test.
modules/platforms/python/dbapi/tests/test_execute.py Adds execute/description/rowcount behavior tests.
modules/platforms/python/dbapi/tests/test_errors.py Adds error mapping/exception type tests.
modules/platforms/python/dbapi/tests/test_dbapi_compliance.py Integrates dbapi-compliance suite with driver.
modules/platforms/python/dbapi/tests/test_connect.py Adds connection argument validation + heartbeat tests.
modules/platforms/python/dbapi/tests/ssl/client_unknown.pem Test TLS client cert/key fixture.
modules/platforms/python/dbapi/tests/ssl/client.pem Test TLS client cert/key fixture.
modules/platforms/python/dbapi/tests/ssl/ca.pem Test TLS CA cert fixture.
modules/platforms/python/dbapi/tests/conftest.py Adds pytest fixtures for cluster, connections, cursors, cleanup.
modules/platforms/python/dbapi/tests/init.py Marks tests as a package.
modules/platforms/python/dbapi/setup.py Updates package metadata URL for new directory.
modules/platforms/python/dbapi/scripts/create_sdist.sh Adds docker-oriented sdist build helper.
modules/platforms/python/dbapi/scripts/create_distr.sh Adds docker-based wheels+sdist build orchestration.
modules/platforms/python/dbapi/scripts/build_wheels.sh Adds manylinux wheel build + auditwheel repair script.
modules/platforms/python/dbapi/scripts/Dockerfile Defines wheel-build image dependencies.
modules/platforms/python/dbapi/scripts/BuildWheels.ps1 Adds Windows wheel build script using pyenv-win.
modules/platforms/python/dbapi/requirements/tests.txt Adds pinned test dependencies.
modules/platforms/python/dbapi/requirements/install.txt Adds pinned runtime dependencies.
modules/platforms/python/dbapi/requirements/docs.txt Adds docs build dependencies (Sphinx).
modules/platforms/python/dbapi/pyignite_dbapi/native_type_code.py Defines native type codes used for mapping.
modules/platforms/python/dbapi/pyignite_dbapi/_version.txt Adds driver version file in new location.
modules/platforms/python/dbapi/pyignite_dbapi/init.py Provides the PEP-249 surface API and type constructors.
modules/platforms/python/dbapi/docs/make.bat Adds Windows Sphinx build entry point.
modules/platforms/python/dbapi/docs/index.rst Adds Sphinx API reference docs.
modules/platforms/python/dbapi/docs/conf.py Adds Sphinx configuration for the driver docs.
modules/platforms/python/dbapi/docs/_static/Apache_Ignite_logo_128x128.png Adds docs favicon/logo asset.
modules/platforms/python/dbapi/docs/Makefile Adds Unix Sphinx build entry point.
modules/platforms/python/dbapi/cpp_module/utils.h Declares Python/C++ glue helpers for errors/types.
modules/platforms/python/dbapi/cpp_module/utils.cpp Implements Python/C++ glue helpers for errors/types.
modules/platforms/python/dbapi/cpp_module/type_conversion.h Implements primitive<->PyObject conversions.
modules/platforms/python/dbapi/cpp_module/statement.h Declares SQL statement execution/page fetching logic.
modules/platforms/python/dbapi/cpp_module/statement.cpp Implements SQL exec/batch exec, paging, param writing.
modules/platforms/python/dbapi/cpp_module/ssl_config.h Adds SSL config container for connections.
modules/platforms/python/dbapi/cpp_module/result_page.h Adds result page container for cursor paging.
modules/platforms/python/dbapi/cpp_module/py_string.h Adds small wrapper for UTF-8 extraction from Py objects.
modules/platforms/python/dbapi/cpp_module/py_object.h Adds RAII wrapper around PyObject*.
modules/platforms/python/dbapi/cpp_module/py_cursor.h Declares native PyCursor object interface.
modules/platforms/python/dbapi/cpp_module/py_cursor.cpp Implements native cursor methods (execute/fetch/metadata).
modules/platforms/python/dbapi/cpp_module/py_connection.h Declares native PyConnection object interface.
modules/platforms/python/dbapi/cpp_module/py_connection.cpp Implements native connection methods (cursor/tx/autocommit).
modules/platforms/python/dbapi/cpp_module/node_connection.h Implements protocol/network connection + heartbeats/tx.
modules/platforms/python/dbapi/cpp_module/module.h Defines module naming constants for extension/module interop.
modules/platforms/python/dbapi/cpp_module/module.cpp Implements extension module init + connect() binding.
modules/platforms/python/dbapi/cpp_module/cursor.h Implements local result cursor over result_page rows.
modules/platforms/python/dbapi/cpp_module/CMakeLists.txt Builds the C++ extension against Ignite C++ libs.
modules/platforms/python/dbapi/README.md Adds project-level usage/build/test/docs instructions.
modules/platforms/python/dbapi/NOTICE Adds project notice for the driver package.
modules/platforms/python/dbapi/MANIFEST.in Defines sdist contents (tests, requirements, cpp sources).
modules/platforms/python/dbapi/LICENSE Adds Apache license header file for the package.
modules/platforms/python/dbapi/CMakeLists.txt Updates Ignite C++ sources path resolution for new layout.
modules/platforms/python/dbapi/.gitignore Adds Python/native build and docs artifacts ignore list.
modules/platforms/build.gradle Updates Python version file path to new directory layout.
.teamcity/test/platform_tests/PlatformPythonTestsLinux.kt Updates TeamCity working directory to new path.
.github/workflows/python_dbapi_wheels.yml Narrows workflow paths and updates wheel build working dir/output paths.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@isapego isapego requested a review from ptupitsyn February 26, 2026 16:35
@isapego isapego merged commit 1de0304 into main Feb 26, 2026
11 checks passed
@isapego isapego deleted the ignite-27988 branch February 26, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants