Skip to main content

A collection of python utils for Fugue projects

Project description

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.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

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

triad-1.0.2.tar.gz (54.2 kB view details)

Uploaded Source

Built Distribution

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

triad-1.0.2-py3-none-any.whl (59.9 kB view details)

Uploaded Python 3

File details

Details for the file triad-1.0.2.tar.gz.

File metadata

  • Download URL: triad-1.0.2.tar.gz
  • Upload date:
  • Size: 54.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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}

File hashes

Hashes for triad-1.0.2.tar.gz
Algorithm Hash digest
SHA256 4fe0b7ab2e95105971b7db694c344dee4d207d335bf7ddb501f2cb9c09790be2
MD5 50363cbdf950eb6d07240df5a88a7ea7
BLAKE2b-256 1f9b7b446a8e617fde292e1628752c0578a6f6eba839f44411a8e71b7ba16ee3

See more details on using hashes here.

File details

Details for the file triad-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: triad-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 59.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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}

File hashes

Hashes for triad-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f95257e9047fbd19a924958c4b7f9b5c0cef3e28cc03adf3baec28e80dcf45d9
MD5 eab7eba8e4f13ed57a6034bbf8c9c48d
BLAKE2b-256 9a3e62fa4b370f7cc9b731004bcfe1ad8ef1e52478b38f5059eb69582fa8bb5a

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