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 7 of 8

1.7.2

PyPI package: https://pypi.org/project/grakn-client
Documentation: https://dev.grakn.ai/docs/client-api/python

NOTE: This is the last `client-python` release that will support Python 2.x

Distribution

Available through https://pypi.org

pip install grakn-client

Or you can upgrade your local installation with:

pip install -U grakn-client



New Features


Bugs Fixed
- **Fix queries larger than 50.**
To fix a bug that caused queries with more than 50 results to fail. This case was not correctly covered with a regression test and that has now been fixed.

Code Refactors


Other Improvements

1.7.1

PyPI package: https://pypi.org/project/grakn-client
Documentation: https://dev.grakn.ai/docs/client-api/python


Distribution

Available through https://pypi.org

pip install grakn-client

Or you can upgrade your local installation with:

pip install -U grakn-client



New Features


Bugs Fixed


Code Refactors


Other Improvements

- **Add async iteration.**
To add async iteration to `client-python` so that results can be iterated whilst still waiting to be returned.
This implementation follows the architecture found in `client-nodejs`. When requests are made, they are immediately sent to the server and at the same time, a "response resolver" is placed onto the "resolver" queue. The response resolver queue ensures that responses are handled in the order that the requests are sent, thus allowing multiple requests to be sent whilst the responses are still being resolved, which is what enables us to handle async correctly.
When attempting to retrieve a response, the GRPC stream is iterated and the responses are buffered into each resolver until the desired response is found and can be returned. This ensures that messages are not lost due to out-of-order iteration.

- **Relax strict dependencies on external packages.**
Some of our users reported issues on external dependencies being too strict.

1.7.0

PyPI package: https://pypi.org/project/grakn-client
Documentation: https://dev.grakn.ai/docs/client-api/python

Distribution

Available through https://pypi.org

pip install grakn-client

Or you can upgrade your local installation with:

pip install -U grakn-client



New Features

- **Upgrade client-python to new protocol for grakn 1.7.**
Update client-python to the new 1.0.5 protocol with changed iteration style and local/remote concept API split.
The new protocol significantly reduces the number of round trips necessary to complete queries, down to 1 in most cases, from the previous solution which required some multiple of the number of results. This should alleviate slowdown problems caused by connecting to a remote Grakn instance. Iteration now follows a streaming principle and results are pre-filled with data the user would normally be expected to retrieve via the concept API.
The step to split local and remote concepts helps us move towards "value" results rather than results which need to embed the transaction they were retrieved with. The added requirement to convert these concepts back to remote concepts should also make it clear to the user which methods require additional RPCs (where it wasn't clear beforehand that ALL methods required additional RPCs).


Bugs Fixed


Code Refactors


Other Improvements

- **Remove python 2 compatibility import imap.**
Fix an issue where a python 2 only import (`imap`) was being used when the client is meant to be python 3 compatible.

1.6.1

PyPI package: https://pypi.org/project/grakn-client
Documentation: https://dev.grakn.ai/docs/client-api/python

Distribution

Available through https://pypi.org

pip install grakn-client

Or you can upgrade your local installation with:

pip install -U grakn-client



New Features
- **Delete collect_concepts.**
Shortcut method `answer_iterator.collect_concepts()` was leading to user confusion as it can lead to duplicate concepts being returned in the same list. As it doesn't really fit with the general paradigm of simplifying and removing syntactic sugar, we delete this method and ask users to replace calls with a piece of custom code for now.
Replacement is very easy when `collect_concepts` was associated with a query with 1 variable:
`[ans.get("x") for ans in answer_iterator]`


Bugs Fixed
N/A

Code Refactors
N/A

Other Improvements

- **Upgrade gRPC to 1.24.1.**
Update gRPC to a more recent version

- **Upgrade to Bazel 3.0.0.**
Upgrade Bazel to latest upstream version

- **Update license year.**
Update year in Apache license and bump `build-tools` version

1.6.0

PyPI package: https://pypi.org/project/grakn-client
Documentation: https://dev.grakn.ai/docs/client-api/python

Distribution

Available through https://pypi.org

pip install grakn-client

Or you can upgrade your local installation with:

pip install -U grakn-client



New Features

- **Retrievable Explanations.**
As of https://github.com/graknlabs/grakn/pull/5483, Grakn Core now:
1. has retrievable explanation trees
2. only the `ConceptMap` answer type has `Explanation`
3. `pattern` has moved from `Explanation` to `ConceptMap`
4. `pattern` contains IDs for each variable as well as the query pattern
These changes are reflected in client python, as long with a `has_explanation()` method on `ConceptMap`.

- **Delete Queries return Void Answer Type, add Concept.is_deleted().**
As of https://github.com/graknlabs/protocol/pull/18, we have decided in a slight paradigm shift with `delete` queries:
1. straight delete queries `match...; delete...;` only return a message rather than the halfway house of all deleted Concept IDs (this was always awkward, should either return a Concept -- hard because vertex deleted, or nothing. We have opted for nothing).
2. If you want to know what was deleted, this implies your behavior was a _retrieve_ followed by a _delete_. This retrieve should be performed explicltly by the user not implicitly by Grakn, ie. a `match...; get...;` followed by `delete` using Concept API, or using a separate `match...; delete;` query.
Also, new method `is_deleted()` exists on all `Concept` as part of the Concept API.


Bugs Fixed

- **Refactor how version is provided to Python deployment rules.**
graknlabs/bazel-distribution195 changed how version is provided to `assemble_pip`. This PR adapts `client-python` to these changes.

- **Fix CI by using Python 2 to run tests.**
Until `rules_python` properly support installing Python 3 packages, we switch running Python tests back to Python 2

Code Refactors

- **Refactor how version is provided to deploy_github rule.**
Adapt `graknlabs_client_python` to latest changes in bazel-distribution (in particular, graknlabs/bazel-distribution150)


Other Improvements

- **Rename is_closed to is_open.**
To bring client-python in line with client-java, we rename the negative `tx.is_closed()` to the positive `tx.is_open()`.

- **Use release-validate-deps to ensure that client-python depends on a released version of protocol.**
We have added a validation step using `//ci:release-validate-deps` in order to ensure that client-python is releasable only if it depends on a released version of protocol

- **Adapt to latest graknlabs_bazel_distribution.**
Newest changes in `bazel-distribution` (graknlabs/bazel-distribution181) are backwards-incompatible.

1.5.4

PyPI package: https://pypi.org/project/grakn-client
Documentation: https://dev.grakn.ai/docs/client-api/python

Distribution

Available through https://pypi.org

pip install grakn-client

Or you can upgrade your local installation with:

pip install -U grakn-client



New Features

- **Supply authentication credentials for keyspace operations.**
Recent changes in protocol (graknlabs/protocol7) allow keyspace operations to be authenticated. This PR adapts Grakn Client Python to these recent changes.

- **Add codeowners.**
Add codeowners vmax and flyingsilverfin


Bugs Fixed

- **Use same version for test-deployment as for deploy-pip-snapshot.**
Recent introduction of `new_deploy_rpm` usage removed auto-appending commit SHA to `snapshot` deployments, which resulted in broken `test-deployment`. This PR fixes the version to be deployed into `snapshot` repo.

- **Remove `Answer.explanations()`.**
Remove `Answer.explanations()` shortcut method that always returned empty set and is not documented and inconsistent with other APIs!

- **Fix CI by synchronizing .bazelrc with graknlabs_build_tools.**
Recent upgrade of `bazel` version in `graknlabs_build_tools` broke CI for `client-python`. This PR aims to fix it by synchronizing `.bazelrc` with latest version in `build-tools`.


Code Refactors


Other Improvements

Page 7 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.