triad


Nametriad JSON
Version 0.9.8 PyPI version JSON
download
home_pagehttp://github.com/fugue-project/triad
SummaryA collection of python utils for Fugue projects
upload_time2024-06-28 06:11:32
maintainerNone
docs_urlNone
authorThe Fugue Development Team
requires_python>=3.8
licenseApache-2.0
keywords fugue utilities
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.29804s