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-41.8-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-41.8-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-41.8-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-41.8-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-41.8-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-41.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-41.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 48ca736277d60b84e47818529f9b12196f0f22158c733a9c9e559c8523da627d
MD5 6710198e108d91d424000bcc4fdc6884
BLAKE2b-256 0320f5ae6b94af02f3bd6d6b4992a3197d37d86a9befa1ae0769436ef0e7f469

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-41.8-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-41.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-41.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 093491456d471be1e0caef1a098f028b80ab992d25fae416d12737d20ae12cef
MD5 f7b433f6a4f927730fdb2dbc64a6c3e8
BLAKE2b-256 833025fca67ed3832c7a9f842eaf8797179f1f7df40cbea68feb748b0ca659bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-41.8-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-41.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-41.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8e1d9325e4123ac3c28d04d8e9af37c6ed092a6689ae9d1f87ed4f60e1039edc
MD5 08d80cf934abf15ec0271794eb5f0469
BLAKE2b-256 801df1207beab175e63ab745ab627478d9da28561043e43fa0fd305b4e382089

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-41.8-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-41.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-41.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3e4f896de6e4bd9acc2939ddc5ded4169148544721509947df9f57999e886614
MD5 3a2c09bce8506dffb88f747db3c445c9
BLAKE2b-256 7bb5e36382aa67f4a5fb4fccc967fa79c37329b6d9277b7131a565b62791e1ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-41.8-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-41.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pydeephaven_ticking-41.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8add4b5274d8df36efbf14fb78e19de9f7ec84850520b8d22cb96802ed0e90eb
MD5 ee0d2e23606ea14ccb0e6f1a1eacb8a8
BLAKE2b-256 528925e956a8ad2c56d9fc9c8c7b6c2f010239e973b8fff935d9af286836f0d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydeephaven_ticking-41.8-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

42.3

5 files

42.2

5 files

42.1

5 files

42.0

5 files

This release

41.8 This release

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