Skip to content

Releases: typedb/typedb-driver

TypeDB Driver 3.4.0

16 Jun 17:04
3378516
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.4.0</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.4.0

New Features

  • Introduce file-based database export and import
    Introduce interfaces to export databases into schema definition and data files and to import databases using these files. Database import supports files exported from both TypeDB 2.x and TypeDB 3.x.

    Both operations are blocking and may take a significant amount of time to execute for large databases. Use parallel connections to continue operating with the server and its other databases.

    Usage examples in Rust:

    // export
    let db = driver.databases().get(db_name).await.unwrap();
    db.export_to_file(schema_file_path, data_file_path).await.unwrap();
    
    // import
    let schema = read_to_string(schema_file_path).unwrap();
    driver.databases().import_from_file(db_name2, schema, data_file_path).await.unwrap();

    Usage examples in Python:

    # export
    database = driver.databases.get(db_name)
    database.export_to_file(schema_file_path, data_file_path)
    
    # import
    with open(schema_file_path, 'r', encoding='utf-8') as f:
        schema = f.read()
    driver.databases.import_from_file(db_name2, schema, data_file_path)

    Usage examples in Java:

    // export
    Database database = driver.databases().get(dbName);
    database.exportToFile(schemaFilePath, dataFilePath);
    
    // import
    String schema = Files.readString(Path.of(schemaFilePath));
    driver.databases().importFromFile(dbName2, schema, dataFilePath);

Bugs Fixed

  • Handle "Unexpected response type for remote procedure call: Close" on query stream opening
    Fix a rare InternalError returned by mistake when a client sends a query request while the transaction is being closed. Now, an expected "The transaction is closed and no further operation is allowed." error is returned instead.

    Additionally, wait for specific transaction responses in rollback, commit, and query to solidify the protocol and ensure that the server acts as expected.

Code Refactors

Other Improvements

TypeDB Driver 3.4.0-rc0

11 Jun 08:47
3468564
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.4.0-rc0</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.4.0rc0

New Features

  • Introduce file-based database export and import
    Introduce interfaces to export databases into schema definition and data files and to import databases using these files. Database import supports files exported from both TypeDB 2.x and TypeDB 3.x.

    Both operations are blocking and may take a significant amount of time to execute for large databases. Use parallel connections to continue operating with the server and its other databases.

    Usage examples in Rust:

    // export
    let db = driver.databases().get(db_name).await.unwrap();
    db.export_to_file(schema_file_path, data_file_path).await.unwrap();
    
    // import
    let schema = read_to_string(schema_file_path).unwrap();
    driver.databases().import_from_file(db_name2, schema, data_file_path).await.unwrap();

    Usage examples in Python:

    # export
    database = driver.databases.get(db_name)
    database.export_to_file(schema_file_path, data_file_path)
    
    # import
    with open(schema_file_path, 'r', encoding='utf-8') as f:
        schema = f.read()
    driver.databases.import_from_file(db_name2, schema, data_file_path)

    Usage examples in Java:

    // export
    Database database = driver.databases().get(dbName);
    database.exportToFile(schemaFilePath, dataFilePath);
    
    // import
    String schema = Files.readString(Path.of(schemaFilePath));
    driver.databases().importFromFile(dbName2, schema, dataFilePath);

Bugs Fixed

  • Handle "Unexpected response type for remote procedure call: Close" on query stream opening
    Fix a rare InternalError returned by mistake when a client sends a query request while the transaction is being closed. Now, an expected "The transaction is closed and no further operation is allowed." error is returned instead.

    Additionally, wait for specific transaction responses in rollback, commit, and query to solidify the protocol and ensure that the server acts as expected.

Code Refactors

Other Improvements

TypeDB Driver 3.2.0

06 May 09:47
b9b8467
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.2.0</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.2.0

New Features

  • Introduce transaction and query options
    Introduce transaction options:

    • transaction_timeout: If set, specifies a timeout for killing transactions automatically, preventing memory leaks in unclosed transactions,
    • schema_lock_acquire_timeout: If set, specifies how long the driver should wait if opening a transaction is blocked by an exclusive schema write lock.

    Rust examples:

    let options = TransactionOptions::new().transaction_timeout(Duration::from_secs(10));
    let transaction =
        driver.transaction_with_options(database.name(), TransactionType::Schema, options).await.unwrap();

    Python example:

    options = TransactionOptions(transaction_timeout_millis=10_000)
    tx = driver.transaction(database.name, TransactionType.SCHEMA, options)

    Java example:

    TransactionOptions transactionOptions = new TransactionOptions().transactionTimeoutMillis(10_000);
    Transaction transaction = driver.transaction(database.name(), Transaction.Type.SCHEMA, transactionOptions);

    Introduce query options:

    • include_instance_types: If set, specifies if types should be included in instance structs returned in ConceptRow answers,
    • prefetch_size: If set, specifies the number of extra query responses sent before the client side has to re-request more responses. Increasing this may increase performance for queries with a huge number of answers, as it can reduce the number of network round-trips at the cost of more resources on the server side.

    Rust examples:

    let options = QueryOptions::new().include_instance_types(true);
    let answer = transaction.query_with_options("match $x isa person;", options).await.unwrap();

    Python example:

    options = QueryOptions(include_instance_types=True)
    answer = tx.query("match $x isa person;").resolve()

    Java example:

    QueryOptions queryOptions = new QueryOptions().includeInstanceTypes(true);                
    QueryAnswer matchAnswer = transaction.query("match $x isa person;", queryOptions).resolve();                
  • Introduce Rust driver token-based authentication
    We update the protocol version and introduce token-based authentication for all the available drivers. Now, instead of sending usernames and passwords for authentication purposes, authorization tokens are implicitly added to every network request to a TypeDB server. It enhances the authentication speed and security.

    These tokens are acquired as a result of driver instantiation and are renewed automatically. This feature does not require any user-side changes.

    Additionally, as a part of the HTTP client introduction work, we rename Concept Documents key style from snake_case to camelCase, which is a common convention for JSONs (it affects only value types: value_type -> valueType).

Bugs Fixed

  • Fix incorrect resource ownership transmission in schema retrieval C functions
    Fix a crash caused by an incorrect database's ownership acquisition in the C layer of the schema and type_schema functions, affecting Python and Java drivers.

    Add respective BDD steps implementations for these functions in Rust, Python, and Java.

Code Refactors

Other Improvements

  • Update dependencies
    After a recent update of the crates, rustls added aws-lc-rs as a default dependency. This caused runtime issues during loading of the shared library where the dynamic linker could not find some symbols from aws-lc:

    ImportError: dlopen(.../native_driver_python.so, 0x0002): symbol not found in flat namespace '_aws_lc_0_28_0_EVP_aead_aes_128_gcm'
    

    We decided to force the use of ring as the cryptographic provider for rustls instead.

TypeDB Driver 3.2.0-rc2

28 Apr 11:02
71adee4
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.2.0-rc2</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.2.0rc2

New Features

  • Introduce transaction and query options
    Introduce transaction options:

    • transaction_timeout: If set, specifies a timeout for killing transactions automatically, preventing memory leaks in unclosed transactions,
    • schema_lock_acquire_timeout: If set, specifies how long the driver should wait if opening a transaction is blocked by an exclusive schema write lock.

    Rust examples:

    let options = TransactionOptions::new().transaction_timeout(Duration::from_secs(10));
    let transaction =
        driver.transaction_with_options(database.name(), TransactionType::Schema, options).await.unwrap();

    Python example:

    options = TransactionOptions(transaction_timeout_millis=10_000)
    tx = driver.transaction(database.name, TransactionType.SCHEMA, options)

    Java example:

    TransactionOptions transactionOptions = new TransactionOptions().transactionTimeoutMillis(10_000);
    Transaction transaction = driver.transaction(database.name(), Transaction.Type.SCHEMA, transactionOptions);

    Introduce query options:

    • include_instance_types: If set, specifies if types should be included in instance structs returned in ConceptRow answers,
    • prefetch_size: If set, specifies the number of extra query responses sent before the client side has to re-request more responses. Increasing this may increase performance for queries with a huge number of answers, as it can reduce the number of network round-trips at the cost of more resources on the server side.

    Rust examples:

    let options = QueryOptions::new().include_instance_types(true);
    let answer = transaction.query_with_options("match $x isa person;", options).await.unwrap();

    Python example:

    options = QueryOptions(include_instance_types=True)
    answer = tx.query("match $x isa person;").resolve()

    Java example:

    QueryOptions queryOptions = new QueryOptions().includeInstanceTypes(true);                
    QueryAnswer matchAnswer = transaction.query("match $x isa person;", queryOptions).resolve();                

Bugs Fixed

Code Refactors

Other Improvements

TypeDB Driver 3.2.0-rc0

15 Apr 13:29
a996fc1
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.2.0-rc0</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.2.0rc0

New Features

  • Introduce Rust driver token-based authentication
    We update the protocol version and introduce token-based authentication for all the available drivers. Now, instead of sending usernames and passwords for authentication purposes, authorization tokens are implicitly added to every network request to a TypeDB server. It enhances the authentication speed and security.

    These tokens are acquired as a result of driver instantiation and are renewed automatically. This feature does not require any user-side changes.

    Additionally, as a part of the HTTP client introduction work, we rename Concept Documents key style from snake_case to camelCase, which is a common convention for JSONs (it affects only value types: value_type -> valueType).

Bugs Fixed

Code Refactors

Other Improvements

  • Update dependencies
    After a recent update of the crates, rustls added aws-lc-rs as a default dependency. This caused runtime issues during loading of the shared library where the dynamic linker could not find some symbols from aws-lc:

    ImportError: dlopen(.../native_driver_python.so, 0x0002): symbol not found in flat namespace '_aws_lc_0_28_0_EVP_aead_aes_128_gcm'
    

    We decided to force the use of ring as the cryptographic provider for rustls instead.

TypeDB Driver 3.1.0

07 Apr 15:38
e216db8
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.1.0</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.1.0

New Features

  • Add Python 3.13 release jobs
    TypeDB Driver for Python 3.13 is now officially published.

  • Introduce a single driver creation endpoint for all editions of TypeDB
    Introduce a single driver creation endpoint for all editions of TypeDB: all new_core, new_cloud, TypeDB.core, TypeDB.cloud, and other alternatives in TypeDB drivers now have a single new / driver method that accepts a single string as an address.

    Use it for any edition of TypeDB 3.x (Community Edition, Cloud, Enterprise) the following way (check out README or driver documentation for full usage examples):
    Rust:

    let driver = TypeDBDriver::new(
        TypeDBDriver::DEFAULT_ADDRESS,
        Credentials::new("admin", "password"),
        DriverOptions::new(false, None).unwrap(),
    )
    .await
    .unwrap();

    Python:

    driver = TypeDB.driver(TypeDB.DEFAULT_ADDRESS, Credentials("admin", "password"), DriverOptions())

    Java:

    Driver driver = TypeDB.driver(TypeDB.DEFAULT_ADDRESS, new Credentials("admin", "password"), new DriverOptions(false, null));

    Currently, TypeDB 3.x supports only a single server address, so the list-based method overloading is unnecessary. We plan to preserve the same simplified API after introducing multi-node servers, extending the accepted formats of the input address string instead. Stay tuned for details!

Bugs Fixed

Code Refactors

Other Improvements

  • Fix python example build

  • Update dependencies for the 3.0.1 release
    Update dependencies.

  • RustFmt

  • Clean up Driver field, update core artifact to 3.0.6

  • Fix checkstyle

  • Check in Cargo.toml files

  • Update Rust version to 1.81.0

TypeDB Driver 3.1.0-rc1

21 Mar 16:31
c7d3c7a
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.1.0-rc1</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.1.0rc1

New Features

  • Add Python 3.13 release jobs
    TypeDB Driver for Python 3.13 is now officially published.

  • Introduce a single driver creation endpoint for all editions of TypeDB
    Introduce a single driver creation endpoint for all editions of TypeDB: all new_core, new_cloud, TypeDB.core, TypeDB.cloud, and other alternatives in TypeDB drivers now have a single new / driver method that accepts a single string as an address.

    Use it for any edition of TypeDB 3.x (Community Edition, Cloud, Enterprise) the following way (check out README or driver documentation for full usage examples):
    Rust:

    let driver = TypeDBDriver::new(
        TypeDBDriver::DEFAULT_ADDRESS,
        Credentials::new("admin", "password"),
        DriverOptions::new(false, None).unwrap(),
    )
    .await
    .unwrap();

    Python:

    driver = TypeDB.driver(TypeDB.DEFAULT_ADDRESS, Credentials("admin", "password"), DriverOptions())

    Java:

    Driver driver = TypeDB.driver(TypeDB.DEFAULT_ADDRESS, new Credentials("admin", "password"), new DriverOptions(false, null));

    Currently, TypeDB 3.x supports only a single server address, so the list-based method overloading is unnecessary. We plan to preserve the same simplified API after introducing multi-node servers, extending the accepted formats of the input address string instead. Stay tuned for details!

Bugs Fixed

Code Refactors

Other Improvements

  • Fix python example build

  • Update dependencies for the 3.0.1 release
    Update dependencies.

  • RustFmt

  • Clean up Driver field, update core artifact to 3.0.6

  • Fix checkstyle

  • Check in Cargo.toml files

  • Update Rust version to 1.81.0

TypeDB Driver 3.0.5

31 Jan 16:41
688b7e2
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.0.5</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.0.5

New Features

  • Introduce optional concepts to Concept Rows

    get() and get_index() interfaces of Concept Rows always return optional Concepts (previously, the Java and Python drivers used to return non-optional Concept instances). If the requested variable name or index exists in the column names of a row, but the actual value for this variable is empty, an empty optional value is returned. This is a natural behavior for optionals (coming to TypeDB soon!) and is already useful for queries like (where the variable $empty won't have values):

    match not {$empty isa user;}; insert $u isa user, has username "Hi";
    

    If the requested variable name or index does not exist in the column names of a row, an error is returned.

Bugs Fixed

  • Mark query answer accessors as allocating for SWIG to prevent memory leaks in the Python driver

    We mark query_answer_into_rows and query_answer_into_documents as creating a new allocation that needs to be freed by SWIG. Previously, the iterators extracted from the QueryAnswer would have been ignored by SWIG and not deallocated when the wrapper is freed.

Code Refactors

  • Cleanup driver errors

    Query errors are dissolved in the Java and Python drivers.
    All the arguments passed to the external interfaces are validated to be non-null and of the correct format (e.g., non-negative for concept_row.get_index(column_index)).

Other Improvements

  • Automate README examples updates

    Cloud driver usage examples are added to all the available READMEs. Additionally, these examples are officially available in the repo as separate files.

    The process of README examples updating is automated by unifying all language updates in a single script. A new CI job is introduced to verify that the README examples are up to date.

TypeDB Driver 3.0.4

27 Jan 05:51
70afd19
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.0.4</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.0.4

NodeJS driver

NPM package: https://www.npmjs.com/package/typedb-driver
Documentation: https://typedb.com/docs/drivers/nodejs/overview

npm install [email protected]

C# driver

NuGet package: https://www.nuget.org/packages/TypeDB.Driver
Documentation: https://typedb.com/docs/drivers/csharp/overview

<ItemGroup>
    <PackageReference Include="TypeDB.Driver" Version="3.0.4" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.osx-x64" Version="3.0.4" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.linux-x64" Version="3.0.4" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.win-x64" Version="3.0.4" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.osx-arm64" Version="3.0.4" />
    <PackageReference Include="TypeDB.Driver.Pinvoke.linux-arm64" Version="3.0.4" />
</ItemGroup>

C++ driver

Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-cpp+version:3.0.4
Documentation: https://typedb.com/docs/drivers/cpp/overview

C driver

Compiled distributions comprising headers and shared libraries available at: https://cloudsmith.io/~typedb/repos/public-release/packages/?q=name:^typedb-driver-clib+version:3.0.4

Code Refactors

  • Add 'dec' suffix to notation of 'Decimal' type
    Add 'dec' suffix to notation of 'Decimal' type

Other Improvements

  • Update 3.0 drivers api references

TypeDB Driver 3.0.2

15 Jan 10:54
c33aeff
Compare
Choose a tag to compare

Documentation: https://typedb.com/docs/drivers/overview

Distribution

Rust driver

Available from https://crates.io/crates/typedb-driver
Documentation: https://typedb.com/docs/drivers/rust/overview

Java driver

Available through https://repo.typedb.com
Documentation: https://typedb.com/docs/drivers/java/overview

<repositories>
    <repository>
        <id>repo.typedb.com</id>
        <url>https://repo.typedb.com/public/public-release/maven/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupid>com.typedb</groupid>
        <artifactid>typedb-driver</artifactid>
        <version>3.0.2</version>
    </dependency>
</dependencies>

Python driver

PyPI package: https://pypi.org/project/typedb-driver
Documentation: https://typedb.com/docs/drivers/python/overview

Available through https://pypi.org

pip install typedb-driver==3.0.2

New Features

Bugs Fixed

  • Introduce 3.0 cloud driver tests
    We fix cloud drivers creation interfaces and introduce integration and behavior tests to cover these public methods.

  • Remove extra argument in call to internal _Driver.cloud

Code Refactors

  • Add version filter for maven packages for Java release notes
    Add version filter for maven packages for Java release notes.

  • Update Java APIs with marker throwing runtime TypeDBDriverExceptions

Other Improvements

  • Regenerate docs

  • Fix rust format

  • Update logback to a non-vulnerable version

  • Remove debug println

  • Update typedb behavior dependency and typedb server artifact to test the unblocked server features
    Update typedb behavior dependency and typedb server artifact to test the unblocked server features of rollback and write query fetches.

  • Remove transaction pop from java tests on rollback

  • Update examples to fix their build