Skip to content

[Design] Proposal for pylibseekdb Build Information #249

@hnwyllmm

Description

@hnwyllmm

Task Description

Currently, pylibseekdb users have no way to determine the exact build information of the library they are using, such as:

  • Commit ID (Git revision)
  • Version number
  • Build date and time
  • Build branch
  • Build flags

Solution Description

Currently, pylibseekdb users have no way to determine the exact build information of the library they are using, such as:

  • Commit ID (Git revision)
  • Version number
  • Build date and time
  • Build branch
  • Build flags

Passed Regressions

Verify output matches expected format after build:

python3 -c "import libseekdb_python as seekdb; seekdb.print_version()"

Expected output format:

pylibseekdb (OceanBase seekdb 1.1.0.0)
REVISION: 1-<git-sha>
BUILD_BRANCH: <branch-name>
BUILD_TIME: <date> <time>
BUILD_FLAGS: <build-type>

Upgrade Compatibility

  • __version__: Currently exists but returns data version (e.g., "1.1.0.0"). We will keep this behavior or enhance it to return PACKAGE_VERSION which is more meaningful for users.
  • New APIs: build_info, print_version(), get_version_string() are purely additive and do not break existing code.
  • Requires Python 3.6+ (same as existing pylibseekdb requirement)
  • Uses standard pybind11 bindings, no special Python version dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions