Skip to main content

Interface for streaming and receiving Tobii eye tracker data using Lab Streaming Layer

Project description

Downloads PyPI Latest Release image Citation Badge DOI

TittaLSL

The TittaLSL tool is an extension to Titta (and its TittaMex and TittaPy wrappers). It allows to stream data from Tobii eye trackers in Titta's format using Lab Streaming Layer and to receive such data and access it through an API that is identical to that of Titta. That allows handling local and remote eye tracker data sources in a uniform manner, making it possible to design interesting experiments using multiple eye trackers.

TittaLSL is a C++ library that can be compiled and used as a static library without Matlab/Octave or Python. However, MATLAB and Python wrappers are also provided in the form of TittaLSLMex and TittaLSLPy, respectively.

In comparison to the the Lab Streaming Layer TobiiPro Connector, Titta LSL provides access to all gaze data fields instead of only gaze position on the screen, as well as the external signal, time synchronization and positioning streams. Samples are furthermore properly timestamped using the timestamps from the eye tracker, where possible (all streams except for the positioning stream, which doesn't have timestamps).

When using TittaLSL, please cite the following paper: Niehorster, D.C., Nyström, M. (2025). TittaLSL: A toolbox for creating networked eye-tracking experiments in Python and MATLAB with Tobii eye trackers. Behavior Research Methods. doi: 10.3758/s13428-025-02714-2

The TittaLSL, TittaLSLMex and TittaLSLPy classes

The functionality of TittaLSL is divided over two classes, Sender for making eye tracker data available on the network (AKA an outlet in Lab Streaming Layer terminology) and Receiver for recording from TittaLSL data streams available on the network (AKA an inlet). The below documents the available methods of these classes. The functionality below is exposed under the same names in MATLAB as TittaLSL.Sender and TittaLSL.Receiver, respectively. The same functionality is also available from TittaLSLPy.Sender and TittaLSLPy.Receiver instances, but in that case all function and property names as well as stream names use snake_case names instead of camelCase. In C++ all below functions and classes are in the TittaLSL namespace. See here for example C++ code using the library, and here for example Python code.

Free functions

Call Inputs Outputs Description
getTobiiSDKVersion()
  1. SDKVersion: A string containing the version of the Tobii SDK.
Get the version of the Tobii Pro SDK dynamic library that is used by TittaLSL.
getLSLVersion()
  1. LSLVersion: An int32 scalar denoting the version of Lab Streaming Layer.
Get the version of the Lab Streaming Layer dynamic library that is used by TittaLSL.

Construction and initialization

Call Inputs Notes
TittaLSL::Sender() (C++)
TittaLSL.Sender() (MATLAB)
TittaLSLPy.Sender (Python)
  1. address: address of the eye tracker to be made available on the network. A list of connected eye trackers and their addresses can be using the static function Titta.findAllEyeTrackers() in the Titta library.
TittaLSL::Receiver() (C++)
TittaLSL.Receiver() (MATLAB)
TittaLSLPy.Receiver (Python)
  1. streamSourceID: Source ID of LSL stream to record from. Must be a TittaLSL stream.
  2. initialBufferSize: (optional) value indicating for how many samples memory should be allocated.
  3. doStartRecording: (optional) value indicating whether recording from the stream should immediately be started.
The default initial buffer size should cover about 30 minutes of recording gaze data at 600Hz, and longer for the other streams. Growth of the buffer should cause no performance impact at all as it happens on a separate thread. To be certain, you can indicate a buffer size that is sufficient for the number of samples that you expect to record. Note that all buffers are fully in-memory. As such, ensure that the computer has enough memory to satify your needs, or you risk a recording-destroying crash.

Methods

The following method calls are available on a TittaLSL.Sender instance:

Call Inputs Outputs Description
getEyeTracker()
  1. eyeTracker: information about the eyeTracker that TittaLSL is connected to.
Get information about the eye tracker that the TittaLSL instance is connected to and will stream data from.
create()
  1. stream: a string, possible values: gaze, externalSignal, timeSync and positioning.
  2. doStartSending: a boolean (optional), indicating whether sending of data for this stream should be started upon its creation. Default true.
  1. success: a boolean indicating whether the stream was created. May be false if the stream was already created.
Create a stream providing data of a specified type on the network.
hasStream()
  1. stream: a string, possible values: gaze, externalSignal, timeSync and positioning.
  1. hasStream: a boolean indicating whether the indicated stream type is being made available on the network.
Check whether the specified stream type from the connected eye tracker is being made available on the network.
start()
  1. stream: a string, possible values: gaze, externalSignal, timeSync and positioning.
Start sending data of a specified type on the network. Can be used for resuming a paused stream.
setIncludeEyeOpennessInGaze()
  1. include: a boolean, indicating whether eye openness samples should be provided in the sent gaze stream or not. Default false.
Set whether calls to start or stop providing the gaze stream will include data from the eye openness stream. An error will be raised if set to true, but the connected eye tracker does not provide an eye openness stream.
isStreaming()
  1. stream: a string, possible values: gaze, externalSignal, timeSync and positioning.
  1. streaming: a boolean indicating whether data is being streamed for the indicated stream type. False if data sending is paused for the stream.
Check whether data is being streamed from the connected eye tracker for the specified stream type.
stop()
  1. stream: a string, possible values: gaze, externalSignal, timeSync and positioning.
Stop streaming data of a specified type on the network. Can be used for resuming a paused stream.
destroy()
  1. stream: a string, possible values: gaze, externalSignal, timeSync and positioning.
Stop providing data of a specified type on the network and destroy the stream.

The following static calls are available for TittaLSL.Receiver:

Call Inputs Outputs Description
GetStreams()
  1. stream: (optional) string, possible values: gaze, externalSignal, timeSync and positioning. If provided, only streams of this type are discovered on the network.
  2. timeout: double, duration for LSL to search for streams. Default 1s.
  1. streamInfoList: list of objects containing info about discovered streams.
Discover what TittaLSL streams are available on the network.

The following method calls are available on a TittaLSL.Receiver instance. Note that samples provided by the consume*() and peek*() functions are almost identical to those provided by their namesakes in Titta for a local eye tracker. The only difference is that the samples provided by TittaLSL have two extra fields, remoteSystemTimeStamp and localSystemTimeStamp. remoteSystemTimeStamp is the timestamp as provided by the Tobii SDK on the system where the eye tracker is connected. localSystemTimeStamp is the same timestamp, but expressed in the clock of the receiving machine. This local time is computed by using the offset provided by Lab Streaming Layer's time_correction function for the stream that the receiver is connected to. See the Tobii SDK documentation for a description of the other fields.

Call Inputs Outputs Description
getInfo()
  1. info: object containing info about the remote stream.
Get info about the connected remote stream.
getType()
  1. stream: a stream indicating what type of data this remote source provides. Possible values: gaze, externalSignal, timeSync and positioning.
Get data type provided by the remote stream.
start() Start recording data from this remote stream to buffer.
isRecording()
  1. status: a boolean indicating whether data of the indicated type is currently being recorded to the buffer.
Check if data from this remote stream is being recorded to buffer.
consumeN()
  1. N: (optional) number of samples to consume from the start of the buffer. Defaults to all.
  2. side: a string, possible values: first and last. Indicates from which side of the buffer to consume N samples. Default: first.
  1. data: struct containing data from the requested buffer, if available. If not available, an empty struct is returned.
Return and remove data from the buffer. See the Tobii SDK documentation for a description of the fields.
consumeTimeRange()
  1. startT: (optional) timestamp indicating start of interval for which to return data. Defaults to start of buffer.
  2. endT: (optional) timestamp indicating end of interval for which to return data. Defaults to end of buffer.
  3. timeIsLocalTime: (optional) boolean value indicating whether time provided startT and endT parameters are in local system time (true, default) or remote time (false).
  1. data: struct containing data from the requested buffer in the indicated time range, if available. If not available, an empty struct is returned.
Return and remove data from the buffer. See the Tobii SDK documentation for a description of the fields.
peekN()
  1. N: (optional) number of samples to peek from the end of the buffer. Defaults to 1.
  2. side: a string, possible values: first and last. Indicates from which side of the buffer to peek N samples. Default: last.
  1. data: struct containing data from the requested buffer, if available. If not available, an empty struct is returned.
Return but do not remove data from the buffer. See the Tobii SDK documentation for a description of the fields.
peekTimeRange()
  1. startT: (optional) timestamp indicating start of interval for which to return data. Defaults to start of buffer.
  2. endT: (optional) timestamp indicating end of interval for which to return data. Defaults to end of buffer.
  3. timeIsLocalTime: (optional) boolean value indicating whether time provided startT and endT parameters are in local system time (true, default) or remote time (false).
  1. data: struct containing data from the requested buffer in the indicated time range, if available. If not available, an empty struct is returned.
Return but do not remove data from the buffer. See the Tobii SDK documentation for a description of the fields.
clear() Clear the buffer.
clearTimeRange()
  1. startT: (optional) timestamp indicating start of interval for which to clear data. Defaults to start of buffer.
  2. endT: (optional) timestamp indicating end of interval for which to clear data. Defaults to end of buffer.
  3. timeIsLocalTime: (optional) boolean value indicating whether time provided startT and endT parameters are in local system time (true, default) or remote time (false).
Clear data within specified time range from the buffer.
stop()
  1. doClearBuffer: (optional) boolean indicating whether the buffer of the indicated stream type should be cleared.
Stop recording data from this remote stream to buffer.

Working on the source

The enclosed Visual Studio project files can be opened using the Titta.sln file in the SDK_wrapper directory. It is to be opened and built with Visual Studio 2022 (last tested with version 17.8.4).

Building the mex files

Run makeTittaLSLMex.m to build the mex file. You have to do this first if you want to use Titta from Octave, mex files for Octave are no longer bundled with Titta. However, it should be as simple as running that function once, since everything needed is contained in this repository. Mex files for MATLAB (Windows and Linux) are provided in this repository.

For building the Linux mex file the default gcc version 11.2.0 included with Ubuntu 22.04 was used. For compatibility with an earlier version of Ubuntu, either install the right GLIBCXX version or recompile following the instructions here. See this issue for more information.

Required environment variables

Some environment variables must be set when working on the code or building it from Visual Studio. Here are the values i used (at the time of writing):

  • MATLAB_ROOT: C:\Program Files\MATLAB\R2023b
  • PYTHON_ROOT: C:\Program Files\PsychoPy

Dependencies

Lab Streaming Layer library

To update the Lab Streaming Layer library used to build TittaLSL against, you need to manually put the some files in the right place:

  1. The *.h include files are placed in \LSL_streamer\deps\include
  2. The Windows lsl.lib link library is placed in \LSL_streamer\deps\lib.
  3. The *.dll, *.so and *.dylib files are placed in the output directory, \LSL_streamer\TittaLSLMex\+TittaLSL\+detail. Note that if you want to update the Tobii SDK, you should perform that update first for the SDK_Wrapper. Only for step 3 do you need to place the updated tobii_research_v2.dll in the \LSL_streamer\TittaLSLMex\+TittaLSL\+detail folder.

Titta

TittaLSL also requires Titta and its dependencies to build. The build scripts are set up such that Titta is automatically built. However, ensure to check Titta's dependencies and make sure they are available, or the build will fail.

Acknowledgements

This project was made possible by funding from the LMK foundation, Sweden.

Project details


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.

tittalslpy-2.0.0-cp314-cp314-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.14Windows x86-64

tittalslpy-2.0.0-cp314-cp314-manylinux_2_34_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

tittalslpy-2.0.0-cp314-cp314-macosx_14_0_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.14macOS 14.0+ x86-64

tittalslpy-2.0.0-cp314-cp314-macosx_14_0_arm64.whl (585.2 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

tittalslpy-2.0.0-cp313-cp313-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.13Windows x86-64

tittalslpy-2.0.0-cp313-cp313-manylinux_2_34_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

tittalslpy-2.0.0-cp313-cp313-macosx_14_0_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 14.0+ x86-64

tittalslpy-2.0.0-cp313-cp313-macosx_14_0_arm64.whl (584.7 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

tittalslpy-2.0.0-cp312-cp312-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows x86-64

tittalslpy-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl (10.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

tittalslpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 14.0+ x86-64

tittalslpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl (584.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

tittalslpy-2.0.0-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

tittalslpy-2.0.0-cp311-cp311-manylinux_2_34_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

tittalslpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11macOS 14.0+ x86-64

tittalslpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl (583.5 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

tittalslpy-2.0.0-cp310-cp310-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.10Windows x86-64

tittalslpy-2.0.0-cp310-cp310-manylinux_2_34_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

tittalslpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10macOS 14.0+ x86-64

tittalslpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl (582.1 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

tittalslpy-2.0.0-cp38-cp38-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.8Windows x86-64

tittalslpy-2.0.0-cp38-cp38-manylinux_2_34_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.34+ x86-64

tittalslpy-2.0.0-cp38-cp38-macosx_14_0_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.8macOS 14.0+ x86-64

tittalslpy-2.0.0-cp38-cp38-macosx_14_0_arm64.whl (582.0 kB view details)

Uploaded CPython 3.8macOS 14.0+ ARM64

File details

Details for the file tittalslpy-2.0.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: tittalslpy-2.0.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tittalslpy-2.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 79089ebb9417da38d6e6ea35985a1388936ad964839ca019bfa7f7714b1f29d0
MD5 62682496a8c0aea94a4641ee630a6057
BLAKE2b-256 d6374f920fc11066fb8380da059007d5b9e12479224387b292e8615b896e5f3f

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 a315bef27b758ae940d96dbc8842aa36fb2e4b49f4bebbce2524620af179f4e4
MD5 702cf7865f72b59ea147f00602f65ed3
BLAKE2b-256 d3c953fb261a628c05d8c82b61566e570dc69948e79f92d39a33b77e426b3c41

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp314-cp314-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp314-cp314-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 46ef222099cc48566f03b4261146268c8d0a53e3e4e250b832b895393ccbf3d0
MD5 646234b5e0169354bba7506ee4d770f8
BLAKE2b-256 57a07b5b77effd814aa73b9f78bb0627a7cc2018b6853ba9051aed2c47ec7f4e

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2e60818fbba6d2455ad2782cd0c25ca1d96b665646e8b6ed214abfda6b498851
MD5 855e800095322721ef39e97a3cf5cded
BLAKE2b-256 8cb620b9df2c09ad2f81051f2e1cd6f17830d83249437cba7381a8228217c52f

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: tittalslpy-2.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tittalslpy-2.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b3a7f938d74a4bffe2727873f9226a566a8e13157c439a46a376fd0e39350db0
MD5 7469517861bdfba5fa27275ac773c9c9
BLAKE2b-256 59cb941c601d6f16d2b56004024f442bec9c4cbd54dd3b00837c547fab2e2831

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 f5fccfc7390ce07b63a61c220c14e5e4d21461a2717734c42cad48ccd81a35be
MD5 47f3de53e9649f4dd440cf213c0415fe
BLAKE2b-256 736c17fc204cb27b902165cd145e732e77447e6b09e3220c95387c0392c5fe1b

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp313-cp313-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp313-cp313-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 c6a5db2406dc072cf1da10ab417d1e3e2f026a7a0c56834a3a11d314dd4a6ab6
MD5 998ae11f0b694abacfad16191de09c2a
BLAKE2b-256 7720bd70a4daf7aab03c72e18d43d150abda11c181b6da52f4aa4443212f958d

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f10c027176e2e6ee0fc80e1b85bb60f68e4e304266d49eddba81c0dbb9886f97
MD5 a2d1381996b7f59692bab634f666e677
BLAKE2b-256 f8ff2cb2d33a28dcf7803ad82feccd7a78b06064bd3f31e09c13d9d02d212737

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: tittalslpy-2.0.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tittalslpy-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 46809e9029427f2b01e84874b7d51be2dfb483f2a18cc12b38697fa4f7a1e2fd
MD5 669d58f63ad0910fc85e4ad3fd87a587
BLAKE2b-256 e125ec70981aa19cd323efdbb672bc5e9460f73508b3d9ca4331a97fdf9e3a77

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 0425581c8aab73e5a76347291273146fb7d83c14ba8def1f37dbb3523291d038
MD5 289987ccf236fbe0310cc6a2b1669d58
BLAKE2b-256 c958947824cf93afe7bf233da6560d121a9b2ab7fc066976e51f797ced70f9e1

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 4749bf262a627b8a45396c09a6298a501140e0ae3888923a319620fde58061a5
MD5 c6f350febfdbaffb804e79ffe00c47f4
BLAKE2b-256 c47200085dbdf5818cea3d3d5b578298171b2885f32d8c8e821811607b1201c8

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 45a95bb581ac21ff579a71b0fa3b96b5feed01f78b983dec3401e0458be8f8d3
MD5 22d16edd054386d3e5c3dad0683add11
BLAKE2b-256 3a74212ae3779d92ff5453fb40530c1908758884b7807c66689b9e71f3fd72ce

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tittalslpy-2.0.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tittalslpy-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d560a7448367d602e1e9f81d6512e8d4fd1617315581d55c1b9c67a4efa1dcf3
MD5 d3dd19a3b2c32c194bd5c5aa4449a20f
BLAKE2b-256 02c1f72447bffd8fdaae6f9b60e23323d93f3f0d1739862c056900528c225456

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7c148416182d660442b7c8de9b981951272a9cb1ed185ce87173b1c4b1dd3af0
MD5 0c55bc7db4ac7b0b9b3abf89921b99f0
BLAKE2b-256 9440993c960982f6046782b1013225864a60ddc14bc10b394195878df81f4638

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 6b777977b914e37334df88b2992c3330809d999445191068b6649bd6202ec2b8
MD5 434eb6dd378c6a8252cb1c46356f869d
BLAKE2b-256 1f1fdc7906b6474836c4174cd7080ddae24054a955b2a98fdd971d46df176a28

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8ccfd57ab71e51d7183fd8848625b9f7bd23f47774938f7a8bfd5ca71694db7c
MD5 49baeac2507fb61a33772b9e2dc0a13b
BLAKE2b-256 6eb736d328a67015f1f6a055fa4907ae843ef69ddf8afbb6359c8e5704184c7f

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tittalslpy-2.0.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tittalslpy-2.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f2ff234907a8619555e957d2125391755dff021f3966bd49e9dffce7add69ccb
MD5 8e8b376e6b6a3e8398a2a81485276414
BLAKE2b-256 57f4d45f3ef94d1fe949c9767ed6bd0a281ca62a3c9eedfdb99e8bd247025973

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 dbf24dcac165de2c417ae2f148d7aff82c6e364b879f47ab12cf058bdd1c5af1
MD5 260a393196644da324985956ba8d4b8b
BLAKE2b-256 6cebfca554f11d09eb6e990cbb17106ec1c617b57a9a7a2b385a4a6a9b187bd4

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 7a5b5aa9fc995d91c7496120752bb99673a25bc397ad8f03fa25aaed7fe6229b
MD5 1cdaa53d2f32fb6bf4e4106d8d185a9f
BLAKE2b-256 391ce3dedb2a0fc710f4f739623f93e5b3e86193f486ba6b3b825f96cde7aa89

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b3cd09c3d6291d4c542c86607dda98a4742a52652d99526afa47b8912eed0e05
MD5 cedfa9c4ba697148767761bcbcfdffd4
BLAKE2b-256 f0f4ed655dbf48af67ce8363f453b0894c41b01ef8ae64c08c28c74821c9bce7

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: tittalslpy-2.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tittalslpy-2.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6704f351217d6021449373a816fbfc1b1c2c33062bfe29674ce7d15a787ae393
MD5 e2240b2c6229e0173e90e67508071b68
BLAKE2b-256 bdb9c289b4664c51ff340c186a810ce94d6c09d40e03d03edd0be00a82ed88e1

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp38-cp38-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 e08fe038ba65fcb265e6e85d3e3253b9d61c048c7883538b1858a9a1a923568a
MD5 679e5c13dff8af763e7f28c6fa9187ae
BLAKE2b-256 9d32a7c78089e721c06af9aa3fbc44d24c5a26c6a0f810980f862bcdbaa34a8c

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp38-cp38-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp38-cp38-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 81bc8389a5f08bd70eca1e804c3279091aae8539869af7cdc51a504d21f99e46
MD5 8de86a98d210c56d2106157dba693906
BLAKE2b-256 0c44a4ab93805bdca2033c95f66bdf1505d09554d0363846acdaa8503452c807

See more details on using hashes here.

File details

Details for the file tittalslpy-2.0.0-cp38-cp38-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for tittalslpy-2.0.0-cp38-cp38-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 56619e8140118a459507534459078313c8dbbc4de06f15f5c4ca873e7a090739
MD5 7f9a267dc794b0181f1f32e683a58654
BLAKE2b-256 d7d8dc6d18470bb39040568ef536747f32c516c6de9ea86e06e630375ee7f19c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page