# 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.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](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": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "fugue utilities",
"author": "The Fugue Development Team",
"author_email": "hello@fugue.ai",
"download_url": "https://files.pythonhosted.org/packages/88/28/fca2981080bfb44e317b3fc6cc4119a0abf14f18e707a612764fcad28790/triad-0.9.8.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.8\n\n* Support Python 3.12\n\n### 0.9.7\n\n* Make FunctionWrapper compare annotation origins by default\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.8",
"project_urls": {
"Homepage": "http://github.com/fugue-project/triad"
},
"split_keywords": [
"fugue",
"utilities"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4fc64aedce0522bb3c72f2d770e7e4c18b0e1f7716d2c70a865e94c89ebcf7e6",
"md5": "33ed16ce1d8fbf342d7dea780d9a1faf",
"sha256": "2c0ba7d83977c6d4e7b59e3cc70727f858014ef7676c62d184aa8e63f7bef5de"
},
"downloads": -1,
"filename": "triad-0.9.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "33ed16ce1d8fbf342d7dea780d9a1faf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 62340,
"upload_time": "2024-06-28T06:11:30",
"upload_time_iso_8601": "2024-06-28T06:11:30.764161Z",
"url": "https://files.pythonhosted.org/packages/4f/c6/4aedce0522bb3c72f2d770e7e4c18b0e1f7716d2c70a865e94c89ebcf7e6/triad-0.9.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8828fca2981080bfb44e317b3fc6cc4119a0abf14f18e707a612764fcad28790",
"md5": "3c6055fdbf10aaa12f8cebf940213b4b",
"sha256": "5b67673124891981daf8afbab44b2e6358932ca35ef3ff38a25bc3e0f6f03f17"
},
"downloads": -1,
"filename": "triad-0.9.8.tar.gz",
"has_sig": false,
"md5_digest": "3c6055fdbf10aaa12f8cebf940213b4b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 56086,
"upload_time": "2024-06-28T06:11:32",
"upload_time_iso_8601": "2024-06-28T06:11:32.537090Z",
"url": "https://files.pythonhosted.org/packages/88/28/fca2981080bfb44e317b3fc6cc4119a0abf14f18e707a612764fcad28790/triad-0.9.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-28 06:11:32",
"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"
}