# Triad
[![GitHub release](https://img.shields.io/github/release/fugue-project/triad.svg)](https://GitHub.com/fugue-project/triad)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/triad.svg)](https://pypi.python.org/pypi/triad/)
[![PyPI license](https://img.shields.io/pypi/l/triad.svg)](https://pypi.python.org/pypi/triad/)
[![PyPI version](https://badge.fury.io/py/triad.svg)](https://pypi.python.org/pypi/triad/)
[![codecov](https://codecov.io/gh/fugue-project/triad/branch/master/graph/badge.svg?token=DGKPXDIG8M)](https://codecov.io/gh/fugue-project/triad)
[![Doc](https://readthedocs.org/projects/triad/badge)](https://triad.readthedocs.org)
[![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=social)](https://join.slack.com/t/fugue-project/shared_invite/zt-jl0pcahu-KdlSOgi~fP50TZWmNxdWYQ)
A collection of python utility functions for [Fugue projects](https://github.com/fugue-project)
## Installation
```bash
pip install triad
```
## Release History
### 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](https://github.com/fugue-project/triad/issues/127)
### 0.9.4
* Handle Pandas 2.2 change on [arrow string type](https://pandas.pydata.org/docs/dev/whatsnew/v2.2.0.html#other-enhancements)
* 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 `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
* Fixed the [string column issue](https://github.com/fugue-project/fugue/issues/415)
### 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
* Prepare to support [pandas extension data types](https://pandas.pydata.org/docs/user_guide/basics.html#basics-dtypes)
* Support Python 3.9
### 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
Raw data
{
"_id": null,
"home_page": "http://github.com/fugue-project/triad",
"name": "triad",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "fugue utilities",
"author": "The Fugue Development Team",
"author_email": "hello@fugue.ai",
"download_url": "https://files.pythonhosted.org/packages/34/e1/c7caa5999cbede9d630ad653f2deacaf59c507a560ebac9eb66c38a23098/triad-0.9.6.tar.gz",
"platform": null,
"description": "# Triad\n\n[![GitHub release](https://img.shields.io/github/release/fugue-project/triad.svg)](https://GitHub.com/fugue-project/triad)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/triad.svg)](https://pypi.python.org/pypi/triad/)\n[![PyPI license](https://img.shields.io/pypi/l/triad.svg)](https://pypi.python.org/pypi/triad/)\n[![PyPI version](https://badge.fury.io/py/triad.svg)](https://pypi.python.org/pypi/triad/)\n[![codecov](https://codecov.io/gh/fugue-project/triad/branch/master/graph/badge.svg?token=DGKPXDIG8M)](https://codecov.io/gh/fugue-project/triad)\n[![Doc](https://readthedocs.org/projects/triad/badge)](https://triad.readthedocs.org)\n\n[![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=social)](https://join.slack.com/t/fugue-project/shared_invite/zt-jl0pcahu-KdlSOgi~fP50TZWmNxdWYQ)\n\nA collection of python utility functions for [Fugue projects](https://github.com/fugue-project)\n\n## Installation\n\n```bash\npip install triad\n```\n\n\n## Release History\n\n### 0.9.6\n\n* Add `is_like` to Schema to compare similar schemas\n\n### 0.9.5\n\n* Add parse json column function to pyarrow utils\n* Fix the pandas [legacy usage](https://github.com/fugue-project/triad/issues/127)\n\n### 0.9.4\n\n* Handle Pandas 2.2 change on [arrow string type](https://pandas.pydata.org/docs/dev/whatsnew/v2.2.0.html#other-enhancements)\n* Fixed readthedocs build\n\n### 0.9.3\n\n* Add version constraint on fsspec\n\n### 0.9.2\n\n* Remove support for Python 3.7\n* Add more util functions for fsspec\n* Add more util functions for pyarrow\n* Add sorted batch reslicers\n* Add `ArrowDtype` support\n* Systematically improved pandas and arrow type casts\n* Remove `PandasLikeUtils.enfoce_type`\n* Add more util functions for pyarrow\n\n### 0.9.1\n\n* Add `fsspec` as a core dependency, add io utils\n* Add `py.typed`\n* Improve `Schema` class comments\n\n### 0.9.0\n\n* Merge QPD pandas utils functions back to Triad\n\n### 0.8.9\n\n* Add batch reslicers\n* Fix package issue (exclude tests folder)\n\n### 0.8.8\n\n* Add type replacement utils for pyarrow\n\n### 0.8.7\n\n* Fix pandas 2.0 warnings\n\n### 0.8.6\n\n* Fixed timestamp conversion for pandas 2.0\n\n### 0.8.5\n\n* Ensure pandas 2.0 compatibility\n* Improve `to_schema` in `PandasUtils`\n\n### 0.8.4\n\n* Moved `FunctionWrapper` from Fugue into Triad\n* Improved groupby apply efficiency for pandas utils\n\n### 0.8.3\n\n* Add `get_alter_func` to pyarrow utils\n\n### 0.8.2\n\n* Handle time zone in pandas_utils\n\n### 0.8.1\n\n* Fixed the [string column issue](https://github.com/fugue-project/fugue/issues/415)\n\n### 0.8.0\n\n* Support arbitrary column name\n\n### 0.7.0\n\n* Fixed importlib `entry_points` compatibility issue\n\n### 0.6.9\n\n* Remove Python 3.6 support\n* Add dataframe rename utils\n\n### 0.6.8\n\n* Add map type support to Schema\n\n### 0.6.7\n\n* Parse nested fields in `expression_to_schema` util\n\n### 0.6.6\n\n* Improve conditional_dispatcher\n\n### 0.6.5\n\n* Add SerializableRLock\n* Add decorator run_once\n\n### 0.6.4\n\n* Add function dispatcher\n\n### 0.6.3\n\n* Fix pandas warning on pd.Int64Index\n\n### 0.6.2\n\n* Make ciso8601 totally optional\n\n### 0.6.1\n\n* Support Python 3.10\n\n### 0.6.0\n\n* Fix extensible class bugs\n\n### 0.5.9\n\n* Create `extensible_class` and `extension_method` decos\n\n### 0.5.8\n\n* Make ciso8601 a soft dependency on windows\n* Switch to codecov\n* Improve documents, change to Furo theme\n\n### 0.5.7\n\n* Fix pandas extension data types bug\n\n### 0.5.6\n\n* Prepare to support [pandas extension data types](https://pandas.pydata.org/docs/user_guide/basics.html#basics-dtypes)\n* Support Python 3.9\n\n### 0.5.5\n\n* Change pandas_list enforce_type df construction\n\n### 0.5.4\n\n* Make `FileSystem` work for windows\n* Make triad fullly compatible with Windows\n* Add windows tests\n\n### 0.5.3\n\n* Lazy evaluation for `assert_or_throw`\n\n### 0.5.2\n\n* For pyarrow data conversion, support np.ndarray -> list\n\n### 0.5.1\n\n* Update get_caller_global_local_vars to access any stack\n\n### 0.5.0\n\n* Fix to_type on full type path\n\n### 0.4.9\n\n* Fix numpy warning\n\n### 0.4.6\n\n* Improve pandas like utils `enforce` method to handle str -> bool\n\n### 0.4.5\n\n* Fixed pandas -> arrow datetime conversion issue\n\n### 0.4.4\n\n* Improved FileSystem compatibility with Windows\n* Add overwrite expression for Schema class\n* Fixed github actions\n\n### 0.4.3\n\n* Refactored `str_to_type`, `str_to_instance` and `to_function` to use `eval`\n\n### 0.4.2\n\n* Fix a bug in pandas like safe_groupby_apply\n\n### 0.4.1\n\n* Improvement on group by apply\n* Improvement on environment setup\n\n### 0.4.0\n\n* Prepare for Fugue open source\n\n### 0.3.8\n\n* Change to Apache 2.0 license\n\n### 0.3.7\n\n* Add pyarrow binary type support\n\n### 0.3.6\n\n* Add `transform` to Schema class\n\n### 0.3.5\n\n* Change pyarrow and pandas type_safe output to be consistent with pyarrow (None for pd.NaT, nan, etc)\n\n### 0.3.4\n\n* Add general FileSystem\n\n### 0.3.3\n\n* Add thread-safe cloudpicklable RunOnce class\n\n### 0.3.2\n\n* extracted TRIAD_DEFAULT_TIMESTAMP as a constant\n\n### <=0.3.1\n\n* Open sourced and docs are ready\n* Added basic utility functions\n* Types and schema are based on pyarrow\n* A better indexed and ordered dict\n* Added ParamDict\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A collection of python utils for Fugue projects",
"version": "0.9.6",
"project_urls": {
"Homepage": "http://github.com/fugue-project/triad"
},
"split_keywords": [
"fugue",
"utilities"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5ba2bf15f7cbc13696d329cfb4218c48a632b874fac9df9a860b63b526e00069",
"md5": "c4277cd5a37d1a47bb29900385795b25",
"sha256": "5c7391f2e5e14a705d75fe3794bf13640f44522f381b542c2c553f99f012da03"
},
"downloads": -1,
"filename": "triad-0.9.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c4277cd5a37d1a47bb29900385795b25",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 62089,
"upload_time": "2024-03-18T05:32:31",
"upload_time_iso_8601": "2024-03-18T05:32:31.891942Z",
"url": "https://files.pythonhosted.org/packages/5b/a2/bf15f7cbc13696d329cfb4218c48a632b874fac9df9a860b63b526e00069/triad-0.9.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "34e1c7caa5999cbede9d630ad653f2deacaf59c507a560ebac9eb66c38a23098",
"md5": "6fe93d1dd722ceb353ca35921461b0de",
"sha256": "4a54f3ccb23b47eb7df940ab1aac209c0e056417a086029f4d2adb38502ac451"
},
"downloads": -1,
"filename": "triad-0.9.6.tar.gz",
"has_sig": false,
"md5_digest": "6fe93d1dd722ceb353ca35921461b0de",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 55838,
"upload_time": "2024-03-18T05:32:33",
"upload_time_iso_8601": "2024-03-18T05:32:33.657682Z",
"url": "https://files.pythonhosted.org/packages/34/e1/c7caa5999cbede9d630ad653f2deacaf59c507a560ebac9eb66c38a23098/triad-0.9.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-18 05:32:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fugue-project",
"github_project": "triad",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "triad"
}