Typedb-client

Latest version: v2.18.2

Safety actively analyzes 682244 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

127.0.0.13172931730

Retrieve a Type's Label as a string
py
label = type.get_label().name()

Retrieve answer of Graql Match Aggregate query
py
count = tx.query().match_aggregate(query).get()

Get all roles currently played by a Thing (was previously called `get_plays`)
py
roleTypes = thing.as_remote(tx).get_playing()

For full details of this rework, please see https://github.com/graknlabs/client-java/pull/302 .

Other Improvements

- **Upgrade grpcio to 1.36.1, protobuf to 3.15.5**
We upgraded grpcio and protobuf to remove warnings when running Python 3.9.



---

**Please refer to [full release notes of 2.0.0-alpha](https://github.com/graknlabs/client-python/releases/tag/2.0.0-alpha) to see the changes contained in 2.0.0.**

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**

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

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 https://github.com/vaticle/typeql/pull/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 `ValueType`s.


- **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**

2.17.0

New Features
- **Concept map JSON serialization**

We implement the JSON serialization of concept maps according to https://github.com/vaticle/typedb-behaviour/pull/238.



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 (https://github.com/vaticle/typedb-behaviour/pull/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**

2.16.1

New Features
- **Cluster password policy and user management support**

Add functionality relevant to the changes made in https://github.com/vaticle/typedb-cluster/pull/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**

Page 1 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.