Skip to content
This repository has been archived by the owner on Oct 9, 2023. It is now read-only.

Releases: typedb/typedb-driver-python

TypeDB Client Python 2.18.2

11 Aug 10:12
a76bbcb
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.18.2

New Features

Bugs Fixed

  • Safer cluster channel initialisation & better handling of invalid token errors
    When using CA in the authorisation flow, we fix a bug where the client tries to access client state that may not exist yet.

Code Refactors

Other Improvements

  • Update VERSION to 2.18.2

  • Bump TypeDB artifacts to 2.19.0

TypeDB Client Python 2.18.1

30 Jun 14:07
5b6a1e9
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.18.1

New Features

Bugs Fixed

  • Make datetime attribute inserts and matches time-zone invariant

    Enables and fixes the BDD tests to check timezone-invariance of inserting and reading datetime attributes.

    Fixes #298

Code Refactors

Other Improvements

TypeDB Client Python 2.18.0

31 May 09:19
c6b6850
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.18.0

New Features

  • Protocol versioning

    We use a new protocol API to perform a "connection open". This API does server-side protocol version compatibility checks, and replaces also our previous need to an any RPC call to check that the network is available.

    This API is called transparently during the construction of both the Core and Cluster clients, so the user does not have to do anything.

  • Introduce Values to support expressions

    Introduce the 'Value' type, which is returned as the result of an expression's computation. This change follows from typedb/typeql#260, which outlines the capabilities of the new expression syntax.

    Values (representing any of Long, Double, Boolean, String, or DateTime) are returned as part of ConceptMap answers and are subtypes of Concept for the time being. Their main API is made of the .get_value() method and .get_value_type() method, along with all the standard safe downcasting methods to convert a Concept into a Value, using Concept.is_value() and Concept.as_value().

    We also move the import location of ValueType from attribute_type.py to concept.py. We remove APIs like isKeyable from ValueTypes.

  • Support generalised annotations and uniqueness

    We update the Typedb Protocol and TypeQL to the latest versions, which support the uniqueness annotation and generalised Type APIs. These generalised APIs allow querying by a set of annotations, rather than just boolean = true|false.

    For example, the API: AttributeType.get_owners(onlyKey: boolean), has become: AttributeType.get_owners(annotations: Set["Annotation"])

    All usages of boolean flags to indicate key-ness should be replaced by a set of ThingType.Annotations.KEY. The new @unique annotation is available as ThingType.Annotations.UNIQUE, and also usable within the APIs that accept annotations.

  • Add method to Cluster client to retrieve current user

    Add an API to be able to retrieve the currently authenticated user.

Bugs Fixed

  • Fix Factory Badge

    We've updated the Factory badge from the old 'Grabl' badge that is no longer active.

Code Refactors

Other Improvements

  • Update release notes workflow

    We integrate the new release notes tooling. The release notes are now to be written by a person and committed to the repo.

  • Split connection test jobs

TypeDB Client Python 2.17.0

24 Apr 12:04
b024a42
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.17.0

New Features

Bugs Fixed

Code Refactors

  • Define user password expiry in terms of seconds

    We've redefined the way we expose how long until a password expires in seconds, rather than days as was done previously.

  • JSON serialization fixes

    We update serialization API from json() to more canonical to_json() and update the BDD test steps to reflect the changes in typedb-behaviour (typedb/typedb-behaviour#240).

Other Improvements

  • Downgrade pip deploy and test to use Python 3.7.9 to get around PEP440 requirements

  • Bump VERSION to 2.17.0

TypeDB Client Python 2.16.1

14 Mar 15:26
c24395f
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.16.1

New Features

  • Cluster password policy and user management support

    Add functionality relevant to the changes made in typedb/typedb-cloud#456:

    • Optional password expiry in days for each user.
    • The ability for admins to set passwords of other users
    • User password update, which requires old and new password

Bugs Fixed

Code Refactors

  • Fix duplicate requirements specification

    This PR solves issue #219 by including requirements.txt inside of requirements_dev.txt, so that the requirements are no longer duplicated. Going forward, developers will no longer need to remember to copy changes from requirements.txt to requirements_dev.txt.

Other Improvements

  • Update VERSION to 2.16.1

  • Update Vaticle dependencies

    Upgrade to the latest Vaticle dependencies, and incorporate required build-system changes.

  • Update with apt-get before continuing jobs

TypeDB Client Python 2.14.3

25 Jan 15:21
2ffd857
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.14.3

New Features

  • Upgrade typedb-protocol to 2.14.1

    We upgraded typedb-protocol to the latest released version, 2.14.1.

Bugs Fixed

  • Only read TLS CA once

    We modify the cluster server client so that it only reads the TLS root CA once (if provided), and reuses the SSL credentials when prompted for a new channel.

  • Depend on grpcio<2, protobuf<4

    We increased the flexibility of our dependency requirements. Any version of grpcio < 2 and protobuf < 4 are now acceptable.

Code Refactors

  • Remove unnecessary delays before closing sessions and clients in tests

    We clean up the delays that were introduced as a workaround to a segmentation fault in a much older version of Grakn. Current versions of TypeDB don't exhibit the faulty behaviour.

Other Improvements

  • Update VERSION to 2.14.3

  • Update VERSION to 2.14.2

TypeDB Client Python 2.12.1

05 Dec 18:14
10ed57c
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.12.1

New Features

Bugs Fixed

Code Refactors

Other Improvements

  • Update VERSION to 2.12.1

  • Bump protobuf

    We've bumped our protobuf dependency in response to the following issue:

TypeDB Client Python 2.12.0

15 Nov 17:14
3fb3b3c
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.12.0

New Features

  • Upgrade to 2.12.0

    We synchronise client-python with client-java 2.12.0, which includes changes to the protocol up to 2.12.0.

Bugs Fixed

Code Refactors

Other Improvements

  • Correct python & pyenv instructions for deployment

    We've corrected the python and pyenv instructions for deployment.

  • Update VERSION to 2.12.0

TypeDB Client Python 2.11.2

01 Nov 14:19
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.11.2

New Features

Bugs Fixed

  • Remove calls to grpc.channel.close(), which could cause segfaults

    We no longer call close on any of our gRPC Channels. This fixes possible segfaults caused by resources being deallocated while they are still in use.

Code Refactors

Other Improvements

  • Update dependencies

  • Rename GRABL_ env vars in CI to FACTORY_

  • Downgrade Ubuntu to 20.04 in "deploy" CI jobs

  • Bump version to 2.11.2

  • Remove deprecated pip repositories Bazel call

    We remove an unneccessary call of pip_repositories despite it being a deprecated function from rules_python, including in our own patched version. Additionally, this cleans up our bazel command output. See the output message below.

    DEBUG: /private/var/tmp/[...]/external/rules_python/python/pip.bzl:228:10: 
    DEPRECATED: the pip_repositories rule has been replaced with pip_install, please see rules_python 0.1 release notes
    

    See this dependencies PR for more information:

TypeDB Client Python 2.11.1

27 Jul 15:49
Compare
Choose a tag to compare

PyPI package: https://pypi.org/project/typedb-client
Documentation: https://docs.vaticle.com/docs/client-api/python

Distribution

Available through https://pypi.org

pip install typedb-client==2.11.1

New Features

Bugs Fixed

  • When streaming, assume network latency is >=1ms

    When streaming (e.g. match queries), we now assume the network latency is >=1ms, and have the server compensate accordingly. This sharply improves performance (up to 3x) when fetching answers from a server hosted at localhost.

Code Refactors

Other Improvements

  • bump Dependencies and VERSION to 2.11.1

  • Extend license checkstyle tests and update licenses

    We introduce a test that ensures that the license text is correct.

  • Bump copyright year to 2022

    We update the copyright header year to 2022.

  • Update @vaticle_typedb_common

  • Update @vaticle_dependencies