Skip to main content

Tyche Transforms

This package provides the transformation functions defined in MARKETS_INFO.md for Tyche market data pipelines, operating on xarray DataArray inputs. The intent is to keep the same implementations between local development and the Chainlink adapter.

Install

uv pip install tyche-transforms

For development:

uv pip install -e ".[test]"

Usage

import pandas as pd
import xarray as xr
from tyche_transforms.transforms import date_first, runlen_lt, sum_value

times = pd.date_range("2024-01-01", periods=4)
data = xr.DataArray([15.0, 10.0, 8.0, 11.0], dims="time", coords={"time": times})
print(sum_value(data))
print(date_first(data, threshold=9.0))
print(runlen_lt(data, threshold=9.0))

GitHub Actions

This repo includes a workflow that runs tests on every push/PR and publishes to PyPI when you push a tag matching v* (for example v0.2.0). To enable publishing:

  1. Add a repository secret named PYPI_API_TOKEN containing your PyPI token.
  2. Push a version tag:
git tag v0.2.0
git push origin v0.2.0

Transformation Functions

DataArray -> Scalar

  • SUM (0 args): sum over window -> scalar.
  • AVG (0 args): average over window -> scalar.
  • MAX (0 args): max over window -> scalar.
  • INDEX_OF_MAX_VALUE (0 args): index of the max value -> scalar.
  • MIN (0 args): min over window -> scalar.
  • DATE_MAX (0 args): timestamp of the max value -> scalar (timestamp).
  • DATE_FIRST:threshold (1 arg): timestamp of first value > threshold, or epoch pd.Timestamp(0) if none -> scalar (timestamp).
  • RUNLEN_LT:threshold (1 arg): longest run length where value < threshold -> scalar.
  • RUNLEN_GT:threshold (1 arg): longest run length where value > threshold -> scalar.

Scalar -> Scalar

  • ABS (0 args): absolute value of a scalar -> scalar.
  • SUBTRACT_V:threshold (1 arg): subtract a scalar to the given threshold -> scalar.

Metadata

Release files for tyche-transforms 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tyche-transforms 0.2.0
File Size Uploaded
tyche_transforms-0.2.0.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tyche-transforms 0.2.0
File Interpreter ABI Platform
tyche_transforms-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 8.0 kB

Release files / tyche_transforms-0.2.0.tar.gz

Download URL tyche_transforms-0.2.0.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
cd229c7c1cb2b14c3e1e32c7d3a1961331384351b3a3a6bf0cfb9a0cec85e9f4
BLAKE2b-256 checksum
How to use checksums
c666f12b9f9543f65845af9d50e941810e818f5e9dbf9c13d9f1c68b71bf3dff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / tyche_transforms-0.2.0-py3-none-any.whl

Download URL tyche_transforms-0.2.0-py3-none-any.whl
Size 4.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b929bc3a99d6ef17ac20b346dbb3999a98d9ee145d27e209499066cf541ee3e
BLAKE2b-256 checksum
How to use checksums
89bd065945074d26e95bc156cd27d2136430d08a9fa0771f1f4ae17121ee89fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release 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