Triad
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_liketo Schema to compare similar schemas
0.9.5
- Add parse json column function to pyarrow utils
- Fix the pandas legacy usage
0.9.4
- Handle Pandas 2.2 change on arrow string type
- Fixed readthedocs build
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
ArrowDtypesupport - Systematically improved pandas and arrow type casts
- Remove
PandasLikeUtils.enfoce_type - Add more util functions for pyarrow
0.9.1
- Add
fsspecas a core dependency, add io utils - Add
py.typed - Improve
Schemaclass 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_schemainPandasUtils
0.8.4
- Moved
FunctionWrapperfrom Fugue into Triad - Improved groupby apply efficiency for pandas utils
0.8.3
- Add
get_alter_functo pyarrow utils
0.8.2
- Handle time zone in pandas_utils
0.8.1
- Fixed the string column issue
0.8.0
- Support arbitrary column name
0.7.0
- Fixed importlib
entry_pointscompatibility 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_schemautil
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_classandextension_methoddecos
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
- Prepare to support pandas extension data types
- Support Python 3.9
0.5.5
- Change pandas_list enforce_type df construction
0.5.4
- Make
FileSystemwork 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
enforcemethod 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_instanceandto_functionto useeval
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
transformto 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.