time-split


Nametime-split JSON
Version 0.6.0 PyPI version JSON
download
home_pagehttps://github.com/rsundqvist/time-split
SummaryTime-based k-fold validation splits for heterogeneous data.
upload_time2024-08-31 18:11:54
maintainerNone
docs_urlNone
authorRichard Sundqvist
requires_python>=3.11
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # Time Split  <!-- omit in toc -->
Time-based k-fold validation splits for heterogeneous data.

-----------------
[![PyPI - Version](https://img.shields.io/pypi/v/time-split.svg)](https://pypi.python.org/pypi/time-split)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/time-split.svg)](https://pypi.python.org/pypi/time-split)
[![Tests](https://github.com/rsundqvist/time-split/workflows/tests/badge.svg)](https://github.com/rsundqvist/time-split/actions?workflow=tests)
[![Codecov](https://codecov.io/gh/rsundqvist/time-split/branch/master/graph/badge.svg)](https://codecov.io/gh/rsundqvist/time-split)
[![Read the Docs](https://readthedocs.org/projects/time-split/badge/)](https://time-split.readthedocs.io/)
[![PyPI - License](https://img.shields.io/pypi/l/time-split.svg)](https://pypi.python.org/pypi/time-split)
[![Docker Image Size (tag)](https://img.shields.io/docker/image-size/rsundqvist/time-split/latest?logo=docker&label=time-split)](https://hub.docker.com/r/rsundqvist/time-split/)

<div align="center">
  <img alt="Plotted folds on a two-by-two grid." 
       title="Examples" height="300" width="1200" 
  src="https://raw.githubusercontent.com/rsundqvist/time-split/master/docs/2x2-examples.jpg"><br>
</div>

Folds plotted on a two-by-two grid. See the
[examples](https://time-split.readthedocs.io/en/stable/auto_examples/index.html) page for more.

## What is it?
A library for creating time-based cross-validation splits of _heterogeneous_ data, such as raw transaction data with 
strong non-stationary characteristics.

## Highlighted Features
- [Splitting schedules](https://time-split.readthedocs.io/en/stable/guide/schedules.html) based on a fixed interval, 
  a CRON-expression, or a pre-defined list.
- [Data selection](https://time-split.readthedocs.io/en/stable/guide/spans.html) based on a timedelta, or the splitting 
  schedule itself.
- Automatically extract and [normalize](https://time-split.readthedocs.io/en/stable/guide/expand_limits.html) data limits for 
  supported data types.
- [Plotting function](https://time-split.readthedocs.io/en/stable/generated/time_split.html#time_split.plot) for
  visualization of folds. Display fold sizes (hour/row count), or 
  [use custom text](https://time-split.readthedocs.io/en/stable/auto_examples/plotting_with_metrics.html).
- [Integrations](https://time-split.readthedocs.io/en/stable/generated/time_split.integration.html) for popular 
  libraries such as `pandas`, `polars` and `scikit-learn`.
- Convenient [web application](#experimenting-with-parameters) for exploring folds with different parameters.

## Experimenting with parameters
The **Time Fold Explorer** application
(available [here](https://time-split.streamlit.app/?data=1554942900-1557610200&schedule=0+0+%2A+%2A+MON%2CFRI&n_splits=2&step=2&show_removed=True))
is designed to help evaluate the effects of different
[parameters](https://time-split.readthedocs.io/en/stable/#parameter-overview).
To start it locally using
[![Docker Image Size (tag)](https://img.shields.io/docker/image-size/rsundqvist/time-split/latest?logo=docker&label=time-split)](https://hub.docker.com/r/rsundqvist/time-split/)
Docker, run
```sh
docker run -p 8501:8501 rsundqvist/time-split
```
in the terminal. You may use
[`create_explorer_link()`](https://time-split.readthedocs.io/en/stable/generated/time_split.support.html#time_split.support.create_explorer_link)
to build application URLs with preselected splitting parameters.

## Installation
The package is published through the [Python Package Index (PyPI)]. Source code
is available on GitHub: https://github.com/rsundqvist/time-split

```sh
pip install -U time-split
```

This is the preferred method to install ``time-split``, as it will always install the
most recent stable release.

If you don't have [pip] installed, this [Python installation guide] can guide
you through the process.

## License
[MIT](LICENSE.md)

## Documentation
Hosted on Read the Docs: https://time-split.readthedocs.io

## Contributing

All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome. To get 
started, see the [Contributing Guide](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).

[Python Package Index (PyPI)]: https://pypi.org/project/time-split
[pip]: https://pip.pypa.io
[Python installation guide]: http://docs.python-guide.org/en/stable/starting/installation/


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/rsundqvist/time-split",
    "name": "time-split",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "Richard Sundqvist",
    "author_email": "richard.sundqvist@live.se",
    "download_url": "https://files.pythonhosted.org/packages/64/66/c0c86d89a70b07a5a398b57c366d7697894592749b279dbd43d59251a632/time_split-0.6.0.tar.gz",
    "platform": null,
    "description": "# Time Split  <!-- omit in toc -->\nTime-based k-fold validation splits for heterogeneous data.\n\n-----------------\n[![PyPI - Version](https://img.shields.io/pypi/v/time-split.svg)](https://pypi.python.org/pypi/time-split)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/time-split.svg)](https://pypi.python.org/pypi/time-split)\n[![Tests](https://github.com/rsundqvist/time-split/workflows/tests/badge.svg)](https://github.com/rsundqvist/time-split/actions?workflow=tests)\n[![Codecov](https://codecov.io/gh/rsundqvist/time-split/branch/master/graph/badge.svg)](https://codecov.io/gh/rsundqvist/time-split)\n[![Read the Docs](https://readthedocs.org/projects/time-split/badge/)](https://time-split.readthedocs.io/)\n[![PyPI - License](https://img.shields.io/pypi/l/time-split.svg)](https://pypi.python.org/pypi/time-split)\n[![Docker Image Size (tag)](https://img.shields.io/docker/image-size/rsundqvist/time-split/latest?logo=docker&label=time-split)](https://hub.docker.com/r/rsundqvist/time-split/)\n\n<div align=\"center\">\n  <img alt=\"Plotted folds on a two-by-two grid.\" \n       title=\"Examples\" height=\"300\" width=\"1200\" \n  src=\"https://raw.githubusercontent.com/rsundqvist/time-split/master/docs/2x2-examples.jpg\"><br>\n</div>\n\nFolds plotted on a two-by-two grid. See the\n[examples](https://time-split.readthedocs.io/en/stable/auto_examples/index.html) page for more.\n\n## What is it?\nA library for creating time-based cross-validation splits of _heterogeneous_ data, such as raw transaction data with \nstrong non-stationary characteristics.\n\n## Highlighted Features\n- [Splitting schedules](https://time-split.readthedocs.io/en/stable/guide/schedules.html) based on a fixed interval, \n  a CRON-expression, or a pre-defined list.\n- [Data selection](https://time-split.readthedocs.io/en/stable/guide/spans.html) based on a timedelta, or the splitting \n  schedule itself.\n- Automatically extract and [normalize](https://time-split.readthedocs.io/en/stable/guide/expand_limits.html) data limits for \n  supported data types.\n- [Plotting function](https://time-split.readthedocs.io/en/stable/generated/time_split.html#time_split.plot) for\n  visualization of folds. Display fold sizes (hour/row count), or \n  [use custom text](https://time-split.readthedocs.io/en/stable/auto_examples/plotting_with_metrics.html).\n- [Integrations](https://time-split.readthedocs.io/en/stable/generated/time_split.integration.html) for popular \n  libraries such as `pandas`, `polars` and `scikit-learn`.\n- Convenient [web application](#experimenting-with-parameters) for exploring folds with different parameters.\n\n## Experimenting with parameters\nThe **Time Fold Explorer** application\n(available [here](https://time-split.streamlit.app/?data=1554942900-1557610200&schedule=0+0+%2A+%2A+MON%2CFRI&n_splits=2&step=2&show_removed=True))\nis designed to help evaluate the effects of different\n[parameters](https://time-split.readthedocs.io/en/stable/#parameter-overview).\nTo start it locally using\n[![Docker Image Size (tag)](https://img.shields.io/docker/image-size/rsundqvist/time-split/latest?logo=docker&label=time-split)](https://hub.docker.com/r/rsundqvist/time-split/)\nDocker, run\n```sh\ndocker run -p 8501:8501 rsundqvist/time-split\n```\nin the terminal. You may use\n[`create_explorer_link()`](https://time-split.readthedocs.io/en/stable/generated/time_split.support.html#time_split.support.create_explorer_link)\nto build application URLs with preselected splitting parameters.\n\n## Installation\nThe package is published through the [Python Package Index (PyPI)]. Source code\nis available on GitHub: https://github.com/rsundqvist/time-split\n\n```sh\npip install -U time-split\n```\n\nThis is the preferred method to install ``time-split``, as it will always install the\nmost recent stable release.\n\nIf you don't have [pip] installed, this [Python installation guide] can guide\nyou through the process.\n\n## License\n[MIT](LICENSE.md)\n\n## Documentation\nHosted on Read the Docs: https://time-split.readthedocs.io\n\n## Contributing\n\nAll contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome. To get \nstarted, see the [Contributing Guide](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).\n\n[Python Package Index (PyPI)]: https://pypi.org/project/time-split\n[pip]: https://pip.pypa.io\n[Python installation guide]: http://docs.python-guide.org/en/stable/starting/installation/\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Time-based k-fold validation splits for heterogeneous data.",
    "version": "0.6.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/rsundqvist/time-split/issues",
        "Changelog": "https://github.com/rsundqvist/time-split/blob/master/CHANGELOG.md",
        "Documentation": "https://time-split.readthedocs.io",
        "Homepage": "https://github.com/rsundqvist/time-split",
        "Repository": "https://github.com/rsundqvist/time-split"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d341ffd0485df2f13ddb3bbcdbaaf2bf672f69111e13fce9fb079e6ef43d73a",
                "md5": "1555e0f7c14242d30c75868c17f75643",
                "sha256": "0e1d3c7d3a73df983e29ffb6cfb811bb2c44fabe9026382bad2598bdf2b72bbe"
            },
            "downloads": -1,
            "filename": "time_split-0.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1555e0f7c14242d30c75868c17f75643",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 41750,
            "upload_time": "2024-08-31T18:11:53",
            "upload_time_iso_8601": "2024-08-31T18:11:53.219744Z",
            "url": "https://files.pythonhosted.org/packages/4d/34/1ffd0485df2f13ddb3bbcdbaaf2bf672f69111e13fce9fb079e6ef43d73a/time_split-0.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6466c0c86d89a70b07a5a398b57c366d7697894592749b279dbd43d59251a632",
                "md5": "ec1d2a5012fbf7ceae51c9d8ed7aa67f",
                "sha256": "663dee1df20968e16105ec0c3352d1a4ee90ac278f1e109a5a13c83897005490"
            },
            "downloads": -1,
            "filename": "time_split-0.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ec1d2a5012fbf7ceae51c9d8ed7aa67f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 32411,
            "upload_time": "2024-08-31T18:11:54",
            "upload_time_iso_8601": "2024-08-31T18:11:54.525650Z",
            "url": "https://files.pythonhosted.org/packages/64/66/c0c86d89a70b07a5a398b57c366d7697894592749b279dbd43d59251a632/time_split-0.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-31 18:11:54",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rsundqvist",
    "github_project": "time-split",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "time-split"
}
        
Elapsed time: 7.34946s