The Deephaven Python Client for Ticking Tables
Project description
Deephaven Python Ticking Package
The pydeephaven-ticking package enables access to ticking Deephaven data from Python. It extends
the functionality of the pydeephaven package to add the ability to subscribe to tables and receive
change notifications containing added, removed, and modified data. It uses Cython to create a thin
wrapper around Deephaven's C++ library.
Prerequisites
Before installing this library, you will need to install the Deephaven Core C++ library and the
pydeephaven python package. All three packages (Deephaven Core C++, pydeephaven,
and pydeephaven-ticking) are present in the Deephaven Core GitHub repository. We assume you
have checked out this repository at the location specified by ${DHROOT}.
The Deephaven C++ client (and ticking Python client) are tested regularly on Ubuntu 22.04 x86_64. Additionally, successful tests have been run on RHEL 8 and Fedora 38 (both on x86_64).
To build on Windows, please see the file cpp-client/README-windows.md in this repository.
Installation
pydeephaven-ticking can be installed with pip or by building from source.
pip
A Linux operating system on x86_64 architecture is required to install via pip.
It's recommended to install this way in a Python virtual environment (venv).
pip install pydeephaven-ticking
Build from source
If building from source, pydeephaven-ticking also requires a working installation of the C++
client. All four packages (Deephaven Core, pydeephaven, pydeephaven-ticking, and the Deephaven
C++ client) are present in the deephaven-core
repository. It is assumed that you have the repository checked out at the location specified by
${DHROOT}.
Install the C++ client
First, install the Deephaven C++ client. Follow the instructions in $DHROOT/cpp-client/README.md.
Note the restrictions on supported platforms mentioned there. The instructions will ask you to
select a location for the installation of the C++ client library and its dependencies.
According to the C++ build instructions,
the location is specified in the ${DHCPP} environment variable.
Install pydeephaven
To install pydeephaven, follow the instructions in ${DHROOT}/py/client/README.md.
These instructions will require you to create a Python venv. After installing that package, you will continue to use that venv here.
Build the ticking Python client
Install Cython in the venv
If you've exited your venv, re-activate it.
# This assumes your venv is in $HOME/py/cython
source ~/py/cython/bin/activate
Then run
pip3 install cython
Build the shared library (Linux version)
cd ${DHROOT}/py/client-ticking
# Ensure the DHCPP environment variable is set per the instructions above
rm -rf build dist src/pydeephaven_ticking/_core.cpp # Ensure we clean the remnants of any pre-existing build.
DEEPHAVEN_VERSION=$(../../gradlew :printVersion -q) CPPFLAGS="-I${DHCPP}/include" LDFLAGS="-L${DHCPP}/lib" python3 setup.py build_ext -i
Install pydeephaven-ticking
Build the wheel with
DEEPHAVEN_VERSION=$(../../gradlew :printVersion -q) python3 setup.py bdist_wheel
Then install the package.
Note: the actual name of the .whl file may be different depending on system details.
pip3 install --force --no-deps dist/pydeephaven_ticking-<x.y>-cp310-cp310-linux_x86_64.whl
The --force flag is required to overwrite any previously-built version of the package that might
already be there. The --no-deps flag ensures that we are sure to refer to the pydeephaven
package just built from the above steps, rather than one from PyPi.
Testing the library
Run tests
$ python3 -m unittest discover tests
Sample Python program
Run python from the venv while in this directory, and try this sample Python program:
import pydeephaven as dh
import time
session = dh.Session() # assuming Deephaven Community Core is running locally with the default configuration
table = session.time_table(period=1000000000).update(formulas=["Col1 = i"])
listener_handle = dh.listen(table, lambda update : print(update.added()))
listener_handle.start()
# data starts printing asynchronously here
time.sleep(10)
listener_handle.stop()
session.close()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pydeephaven_ticking-41.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: pydeephaven_ticking-41.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 13.7 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
452e16a33f1325dfd26026b38b3b6e936fbeac7c3212151de3ee7e89f4ee8155
|
|
| MD5 |
26d3c15431a27fca373a5e99768d8aa3
|
|
| BLAKE2b-256 |
225ec29b3bdc8aad029773966cedc3c27497795ff572fcb89d5656c192ea2b05
|
Provenance
The following attestation bundles were made for pydeephaven_ticking-41.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
publish-ci.yml on deephaven/deephaven-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pydeephaven_ticking-41.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
452e16a33f1325dfd26026b38b3b6e936fbeac7c3212151de3ee7e89f4ee8155 - Sigstore transparency entry: 870621638
- Sigstore integration time:
-
Permalink:
deephaven/deephaven-core@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Branch / Tag:
refs/heads/release/v41.1 - Owner: https://github.com/deephaven
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-ci.yml@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pydeephaven_ticking-41.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: pydeephaven_ticking-41.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 13.7 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ec75a7acf0d6dda96f3452dbbdfc25d431dc6b358d7d86e2f0c2f97369619e7
|
|
| MD5 |
a9dac419828c88039345b1899f77192e
|
|
| BLAKE2b-256 |
7528ac9abdc2cb53377a1825073a7e4062eb0c085b08e5dc039e49039a2fbd88
|
Provenance
The following attestation bundles were made for pydeephaven_ticking-41.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
publish-ci.yml on deephaven/deephaven-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pydeephaven_ticking-41.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
3ec75a7acf0d6dda96f3452dbbdfc25d431dc6b358d7d86e2f0c2f97369619e7 - Sigstore transparency entry: 870621765
- Sigstore integration time:
-
Permalink:
deephaven/deephaven-core@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Branch / Tag:
refs/heads/release/v41.1 - Owner: https://github.com/deephaven
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-ci.yml@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pydeephaven_ticking-41.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: pydeephaven_ticking-41.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 13.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f56751f3d73b5fc5c828b6c2ff75b2d2c509e4df2706575bb95164eee27cb63
|
|
| MD5 |
1ff32ae7d216af56c4c6103419ea0c94
|
|
| BLAKE2b-256 |
0da5a466beacac4e150626a0e9a36a8cb5c97361ebfd8dd4bf523133a9ade3e9
|
Provenance
The following attestation bundles were made for pydeephaven_ticking-41.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
publish-ci.yml on deephaven/deephaven-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pydeephaven_ticking-41.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
4f56751f3d73b5fc5c828b6c2ff75b2d2c509e4df2706575bb95164eee27cb63 - Sigstore transparency entry: 870621712
- Sigstore integration time:
-
Permalink:
deephaven/deephaven-core@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Branch / Tag:
refs/heads/release/v41.1 - Owner: https://github.com/deephaven
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-ci.yml@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pydeephaven_ticking-41.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: pydeephaven_ticking-41.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 13.7 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d05cb0e5274969ff4de46374e94c70b3b15f7f277adc0c3818537bf970aab6f1
|
|
| MD5 |
78928ca96e920874d5ae79398c63cc8c
|
|
| BLAKE2b-256 |
19cc75a3ba3ec0da627699f968c8cc6f8d3dd9b177f71e232ca03c7ab7e92692
|
Provenance
The following attestation bundles were made for pydeephaven_ticking-41.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
publish-ci.yml on deephaven/deephaven-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pydeephaven_ticking-41.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
d05cb0e5274969ff4de46374e94c70b3b15f7f277adc0c3818537bf970aab6f1 - Sigstore transparency entry: 870621580
- Sigstore integration time:
-
Permalink:
deephaven/deephaven-core@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Branch / Tag:
refs/heads/release/v41.1 - Owner: https://github.com/deephaven
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-ci.yml@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pydeephaven_ticking-41.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: pydeephaven_ticking-41.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 13.7 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a42b44a3a98d8ba58066edcb08c1435ee45aa69bde8c03bca2697a9b385d60b
|
|
| MD5 |
36ab7e7dbf268a41a4c90b8654b5878e
|
|
| BLAKE2b-256 |
5a0a4b2d73cda358f58228486e70a5744ff3cde6f1dc350fc9fd8f9cab3025ee
|
Provenance
The following attestation bundles were made for pydeephaven_ticking-41.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
publish-ci.yml on deephaven/deephaven-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pydeephaven_ticking-41.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
8a42b44a3a98d8ba58066edcb08c1435ee45aa69bde8c03bca2697a9b385d60b - Sigstore transparency entry: 870621517
- Sigstore integration time:
-
Permalink:
deephaven/deephaven-core@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Branch / Tag:
refs/heads/release/v41.1 - Owner: https://github.com/deephaven
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-ci.yml@66ee4d9cf527f2ba77f3c6b7e29c2ab3fe94d100 -
Trigger Event:
push
-
Statement type: