The latest Python API version doesn't match the latest FoundationDB C library version

I’m using the FoundationDB Python API version 7.2.5, and my FoundationDB C library version is FoundationDB CLI 6.3 (v6.3.12). I get a runtime error while using fdb.api_version(630) which indicates that the FoundationDB C library version can’t support the API version:

RuntimeError: This version of the FoundationDB Python binding is not supported by the installed FoundationDB C library. The binding requires a library that supports API version 720, but the installed library supports a maximum version of 630.

So I have to degrade the Python API version to 6.3.18. I wonder is there any way to use version 7.2.5?

I would always recommend to use the oldest version of the bindings that you want to support. That’s the reason the FoundationDB operator currently uses the go bindings for 6.2, as this is the oldest still supported version (fdb-kubernetes-operator/go.mod at main · FoundationDB/fdb-kubernetes-operator · GitHub).

I believe there were some changes in 7.1/7.2 that are not available in 6.3, so that’s why you see this error. Also you wouldn’t be able to use any new RPCs that were added on newer versions than 6.3.

To make your setup work, you probably have to use the multi-version setup: Using FoundationDB Clients — FoundationDB 7.2.

I used go and always try to keep FDB server version and FDB client version and Go package all matching along with version setting in application which is 620.

 FDB_URL: https://github.com/apple/foundationdb/releases/download/6.2.30/foundationdb-clients-6.2.30-1.el7.x86_64.rpm
FDB_VERSION: foundationdb-clients-6.2.30-1.el7.x86_64.rpm
FDB_API_VERSION: "6.2.7"
FDB_API_BASE: "620"