Skip to main content

Triad

GitHub release PyPI pyversions PyPI license PyPI version codecov Doc

Slack Status

A collection of python utility functions for Fugue projects

Installation

pip install triad

Release History

1.0.3

  • Support Python 3.15
  • Drop support for Python 3.9 and 3.10

1.0.2

  • Switched from master to main
  • Switched lint and publish to shared workflows
  • Cleaned up old files and logic

1.0.1

  • Make compatibility with pandas 3.0
  • Move to uv
  • Support Python 3.13 and 3.14

1.0.0

  • Remove dependency on fs

0.9.8

  • Support Python 3.12

0.9.7

  • Make FunctionWrapper compare annotation origins by default

0.9.6

  • Add is_like to Schema to compare similar schemas

0.9.5

  • Add parse json column function to pyarrow utils
  • Fix the pandas legacy usage

0.9.4

0.9.3

  • Add version constraint on fsspec

0.9.2

  • Remove support for Python 3.7
  • Add more util functions for fsspec
  • Add more util functions for pyarrow
  • Add sorted batch reslicers
  • Add ArrowDtype support
  • Systematically improved pandas and arrow type casts
  • Remove PandasLikeUtils.enfoce_type
  • Add more util functions for pyarrow

0.9.1

  • Add fsspec as a core dependency, add io utils
  • Add py.typed
  • Improve Schema class comments

0.9.0

  • Merge QPD pandas utils functions back to Triad

0.8.9

  • Add batch reslicers
  • Fix package issue (exclude tests folder)

0.8.8

  • Add type replacement utils for pyarrow

0.8.7

  • Fix pandas 2.0 warnings

0.8.6

  • Fixed timestamp conversion for pandas 2.0

0.8.5

  • Ensure pandas 2.0 compatibility
  • Improve to_schema in PandasUtils

0.8.4

  • Moved FunctionWrapper from Fugue into Triad
  • Improved groupby apply efficiency for pandas utils

0.8.3

  • Add get_alter_func to pyarrow utils

0.8.2

  • Handle time zone in pandas_utils

0.8.1

0.8.0

  • Support arbitrary column name

0.7.0

  • Fixed importlib entry_points compatibility issue

0.6.9

  • Remove Python 3.6 support
  • Add dataframe rename utils

0.6.8

  • Add map type support to Schema

0.6.7

  • Parse nested fields in expression_to_schema util

0.6.6

  • Improve conditional_dispatcher

0.6.5

  • Add SerializableRLock
  • Add decorator run_once

0.6.4

  • Add function dispatcher

0.6.3

  • Fix pandas warning on pd.Int64Index

0.6.2

  • Make ciso8601 totally optional

0.6.1

  • Support Python 3.10

0.6.0

  • Fix extensible class bugs

0.5.9

  • Create extensible_class and extension_method decos

0.5.8

  • Make ciso8601 a soft dependency on windows
  • Switch to codecov
  • Improve documents, change to Furo theme

0.5.7

  • Fix pandas extension data types bug

0.5.6

0.5.5

  • Change pandas_list enforce_type df construction

0.5.4

  • Make FileSystem work for windows
  • Make triad fullly compatible with Windows
  • Add windows tests

0.5.3

  • Lazy evaluation for assert_or_throw

0.5.2

  • For pyarrow data conversion, support np.ndarray -> list

0.5.1

  • Update get_caller_global_local_vars to access any stack

0.5.0

  • Fix to_type on full type path

0.4.9

  • Fix numpy warning

0.4.6

  • Improve pandas like utils enforce method to handle str -> bool

0.4.5

  • Fixed pandas -> arrow datetime conversion issue

0.4.4

  • Improved FileSystem compatibility with Windows
  • Add overwrite expression for Schema class
  • Fixed github actions

0.4.3

  • Refactored str_to_type, str_to_instance and to_function to use eval

0.4.2

  • Fix a bug in pandas like safe_groupby_apply

0.4.1

  • Improvement on group by apply
  • Improvement on environment setup

0.4.0

  • Prepare for Fugue open source

0.3.8

  • Change to Apache 2.0 license

0.3.7

  • Add pyarrow binary type support

0.3.6

  • Add transform to Schema class

0.3.5

  • Change pyarrow and pandas type_safe output to be consistent with pyarrow (None for pd.NaT, nan, etc)

0.3.4

  • Add general FileSystem

0.3.3

  • Add thread-safe cloudpicklable RunOnce class

0.3.2

  • extracted TRIAD_DEFAULT_TIMESTAMP as a constant

<=0.3.1

  • Open sourced and docs are ready
  • Added basic utility functions
  • Types and schema are based on pyarrow
  • A better indexed and ordered dict
  • Added ParamDict

Metadata

Release files for triad 1.0.3

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

Source distribution (sdist)

Source distribution for triad 1.0.3
File Size Uploaded Provenance Actions
triad-1.0.3.tar.gz 54.3 kB Without provenance Details for triad-1.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for triad 1.0.3
File Interpreter ABI Platform Actions
triad-1.0.3-py3-none-any.whl Python 3 none any Details for triad-1.0.3-py3-none-any.whl

Total release size: 114.1 kB

Release files / triad-1.0.3.tar.gz

Download URL triad-1.0.3.tar.gz
Size 54.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b7b052f5ee40805bb9347595af0cf88bdff855967e1fbf36cc108d8fb3832bfe
BLAKE2b-256 checksum
How to use checksums
3f5141acec76b73e5555dc573d7fb7dff47321f4efbf0efea0591d35e9d52268
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / triad-1.0.3-py3-none-any.whl

Download URL triad-1.0.3-py3-none-any.whl
Size 59.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab2970a382d0d34ffb9950fa9a5708a4f2025fe8f94870203d56b89d4fa928a9
BLAKE2b-256 checksum
How to use checksums
4bfae174557d781f2da7e04d31ae8e1daa5468b14c5c2fa669e79869dbb441ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.7 {"installer":{"name":"uv","version":"0.13.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for triad 1.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files No provenance

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