Skip to main content

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()

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pydeephaven_ticking-42.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pydeephaven_ticking-42.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pydeephaven_ticking-42.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pydeephaven_ticking-42.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pydeephaven_ticking-42.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file pydeephaven_ticking-42.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-42.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 487d6c7b8693f68838ea6e9822382fe73891091e0997105c0adb9679d31059a1
MD5 0cbd4b97b472e7e2cdb9545228e68eee
BLAKE2b-256 a59c2a4b1cf85e0941addff252e6031100fe814ea1b71673fba0540fbedd8726

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-42.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: publish-ci.yml on deephaven/deephaven-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydeephaven_ticking-42.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-42.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 dfbf1eecf3d4a72b38f40c47b16d439d66866b5b39e13612b498001928202a45
MD5 0b3885a2589db2142ca9aa57c9f464ec
BLAKE2b-256 e92ad38ed417d93c33fb67a4fe9bd001070ee54409fbae55d05efd98ad657c29

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-42.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: publish-ci.yml on deephaven/deephaven-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydeephaven_ticking-42.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-42.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 523cc9d321f5d601fba08283fd5c6d60d13de15384778a2775a38a90ee08e904
MD5 3809cfbd4e604afe5403cbe997e589cf
BLAKE2b-256 ddad238fd1b4eda66d384171dfb0c1cd4aa9e5fd4c217122d1fba369c7be84d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-42.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: publish-ci.yml on deephaven/deephaven-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydeephaven_ticking-42.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-42.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 29a7809cbafc3586c68f498bbb3ec7e0a931702183e488f8b37db750e85fc57e
MD5 70d8c3973c31dbc47f712d4fab673e08
BLAKE2b-256 5c8597d1b0983693b947e950910d38038da53d7e714c4e743f054763043db8a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-42.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: publish-ci.yml on deephaven/deephaven-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydeephaven_ticking-42.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-42.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 04bdb04cb6428f1a10182308088bbc33aebe2106b170a08ea79ce5943a67d541
MD5 57567f151c6e3d3f694737cc19ef7831
BLAKE2b-256 bf0716ce79eaa8391ea0e874a312e7da131b0d96265097b68a19c85a0422666a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-42.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: publish-ci.yml on deephaven/deephaven-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

42.5

5 files

42.4

5 files

This release

42.3 This release

5 files

42.2

5 files

42.1

5 files

42.0

5 files

41.8

5 files

41.7

5 files

41.6

5 files

41.5

5 files

41.4

5 files

41.3

5 files

41.2

5 files

41.1

5 files

41.0

5 files

0.40.9

5 files

0.40.8

5 files

0.40.7

5 files

0.40.6

5 files

0.40.5

5 files

0.40.4

5 files

0.40.3

5 files

0.40.2

5 files

0.40.1

5 files

0.40.0

5 files

0.39.8

5 files

0.39.7

5 files

0.39.6

5 files

0.39.5

5 files

0.39.4

5 files

0.39.3

5 files

0.39.2

5 files

0.39.1

5 files

0.39.0

5 files

0.38.0

5 files

0.37.6

5 files

0.37.5

5 files

0.37.4

5 files

0.37.3

5 files

0.37.2

5 files

0.37.1

5 files

0.37.0

5 files

0.36.2

5 files

0.36.1

5 files

0.36.0

5 files

0.35.3

5 files

0.35.2

5 files

0.35.1

5 files

0.35.0

5 files

0.34.4

5 files

0.34.3

5 files

0.34.2

5 files

0.34.1

5 files

0.34.0

5 files

0.33.3

5 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page