# Time Series App
[![PyPI version](https://badge.fury.io/py/ts-app.svg)](https://badge.fury.io/py/ts-app)
[![Python application](https://github.com/Tim-Abwao/time-series-app/actions/workflows/python-app.yml/badge.svg)](https://github.com/Tim-Abwao/time-series-app/actions/workflows/python-app.yml)
A dashboard application to help learn a little about, and apply *[Time Series][wiki_time_series] analysis* & *forecasting* concepts.
You can create a sample, or upload a file, and interactively fit a time series model on it.
The dashboard is built with [Dash][dash], and the time series models are fitted using [Statsmodels][statsmodels].
You can [try it out here][live-link], courtesy of [Render][render].
>**NOTE:** Free-hosted apps on *Render* might take a while to load since they are shut down when not in use.
![screencast of the app](https://raw.githubusercontent.com/Tim-Abwao/time-series-app/master/screencast.gif)
## Installation
The easiest way to get the app is from [PyPI][pypi]:
```bash
pip install ts-app
```
## Basic Usage
The command `ts_app` launches the app:
```bash
$ ts_app -h
usage: ts_app [-h] [-p PORT] [--host HOST] [--no-browser]
A simple dashboard application to learn time series basics and interactively fit ARIMA models.
optional arguments:
-h, --help show this help message and exit
-p PORT, --port PORT The TCP port on which to listen (default: 8000).
--host HOST A host-name or IP address (default: 'localhost').
--no-browser Avoid openning a browser tab or window.
```
You can also start the app from an interactive session:
```python
>>> import ts_app
>>> ts_app.run_app()
```
Afterwards, press `CTRL` + `C` to stop the server.
[wiki_time_series]: https://en.wikipedia.org/wiki/Time_series
[live-link]: https://time-series-app.onrender.com
[dash]: https://dash.plotly.com/
[render]: https://render.com/
[statsmodels]: https://www.statsmodels.org/stable/index.html
[pypi]: https://pypi.org/project/ts-app/
Raw data
{
"_id": null,
"home_page": "https://github.com/Tim-Abwao/time-series-app",
"name": "ts-app",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "time_series dashboard ARIMA",
"author": "Abwao",
"author_email": "abwaomusungu@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/c6/50/f17ba6a5348ae1e0d91982ed9ec06fe1ac914dab8009e54216619d9c9c8e/ts_app-0.9.2.tar.gz",
"platform": null,
"description": "# Time Series App\n\n[![PyPI version](https://badge.fury.io/py/ts-app.svg)](https://badge.fury.io/py/ts-app)\n[![Python application](https://github.com/Tim-Abwao/time-series-app/actions/workflows/python-app.yml/badge.svg)](https://github.com/Tim-Abwao/time-series-app/actions/workflows/python-app.yml)\n\nA dashboard application to help learn a little about, and apply *[Time Series][wiki_time_series] analysis* & *forecasting* concepts.\n\nYou can create a sample, or upload a file, and interactively fit a time series model on it.\n\nThe dashboard is built with [Dash][dash], and the time series models are fitted using [Statsmodels][statsmodels].\n\nYou can [try it out here][live-link], courtesy of [Render][render].\n\n>**NOTE:** Free-hosted apps on *Render* might take a while to load since they are shut down when not in use.\n\n![screencast of the app](https://raw.githubusercontent.com/Tim-Abwao/time-series-app/master/screencast.gif)\n\n## Installation\n\nThe easiest way to get the app is from [PyPI][pypi]:\n\n```bash\npip install ts-app\n```\n\n## Basic Usage\n\nThe command `ts_app` launches the app:\n\n```bash\n$ ts_app -h\nusage: ts_app [-h] [-p PORT] [--host HOST] [--no-browser]\n\nA simple dashboard application to learn time series basics and interactively fit ARIMA models.\n\noptional arguments:\n -h, --help show this help message and exit\n -p PORT, --port PORT The TCP port on which to listen (default: 8000).\n --host HOST A host-name or IP address (default: 'localhost').\n --no-browser Avoid openning a browser tab or window.\n```\n\nYou can also start the app from an interactive session:\n\n```python\n>>> import ts_app\n>>> ts_app.run_app()\n```\n\nAfterwards, press `CTRL` + `C` to stop the server.\n\n[wiki_time_series]: https://en.wikipedia.org/wiki/Time_series\n[live-link]: https://time-series-app.onrender.com\n[dash]: https://dash.plotly.com/\n[render]: https://render.com/\n[statsmodels]: https://www.statsmodels.org/stable/index.html\n[pypi]: https://pypi.org/project/ts-app/\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A simple dashboard application for interactively fitting ARIMA models.",
"version": "0.9.2",
"project_urls": {
"Homepage": "https://github.com/Tim-Abwao/time-series-app"
},
"split_keywords": [
"time_series",
"dashboard",
"arima"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e736fa6cf98ef2309a2588d65487f0d758eadf577ac3707f6cfebc4f41c7e740",
"md5": "d2e9b84f3c8149a4be2831f6c0d5078d",
"sha256": "4ae3cc63579066ab196e68c6c73e7161874a7f92783f54ce9d58fc1e4924f2fc"
},
"downloads": -1,
"filename": "ts_app-0.9.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d2e9b84f3c8149a4be2831f6c0d5078d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 101339,
"upload_time": "2025-01-01T10:50:33",
"upload_time_iso_8601": "2025-01-01T10:50:33.952047Z",
"url": "https://files.pythonhosted.org/packages/e7/36/fa6cf98ef2309a2588d65487f0d758eadf577ac3707f6cfebc4f41c7e740/ts_app-0.9.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c650f17ba6a5348ae1e0d91982ed9ec06fe1ac914dab8009e54216619d9c9c8e",
"md5": "bb115eb44b06731143fee0628b433f80",
"sha256": "7021ee2dcc9fcb8d58b96d21fdfc415b6b2d195bebe4b1abca1fd79d06196116"
},
"downloads": -1,
"filename": "ts_app-0.9.2.tar.gz",
"has_sig": false,
"md5_digest": "bb115eb44b06731143fee0628b433f80",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 100682,
"upload_time": "2025-01-01T10:50:36",
"upload_time_iso_8601": "2025-01-01T10:50:36.299091Z",
"url": "https://files.pythonhosted.org/packages/c6/50/f17ba6a5348ae1e0d91982ed9ec06fe1ac914dab8009e54216619d9c9c8e/ts_app-0.9.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-01 10:50:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Tim-Abwao",
"github_project": "time-series-app",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "blinker",
"specs": [
[
"==",
"1.9.0"
]
]
},
{
"name": "certifi",
"specs": [
[
"==",
"2024.12.14"
]
]
},
{
"name": "charset-normalizer",
"specs": [
[
"==",
"3.4.1"
]
]
},
{
"name": "click",
"specs": [
[
"==",
"8.1.8"
]
]
},
{
"name": "dash",
"specs": [
[
"==",
"2.18.2"
]
]
},
{
"name": "dash-core-components",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "dash-html-components",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "dash-table",
"specs": [
[
"==",
"5.0.0"
]
]
},
{
"name": "et_xmlfile",
"specs": [
[
"==",
"2.0.0"
]
]
},
{
"name": "Flask",
"specs": [
[
"==",
"3.0.3"
]
]
},
{
"name": "idna",
"specs": [
[
"==",
"3.10"
]
]
},
{
"name": "importlib_metadata",
"specs": [
[
"==",
"8.5.0"
]
]
},
{
"name": "itsdangerous",
"specs": [
[
"==",
"2.2.0"
]
]
},
{
"name": "Jinja2",
"specs": [
[
"==",
"3.1.5"
]
]
},
{
"name": "MarkupSafe",
"specs": [
[
"==",
"3.0.2"
]
]
},
{
"name": "nest-asyncio",
"specs": [
[
"==",
"1.6.0"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"2.2.1"
]
]
},
{
"name": "openpyxl",
"specs": [
[
"==",
"3.1.5"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"24.2"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.2.3"
]
]
},
{
"name": "patsy",
"specs": [
[
"==",
"1.0.1"
]
]
},
{
"name": "plotly",
"specs": [
[
"==",
"5.24.1"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
"==",
"2.9.0.post0"
]
]
},
{
"name": "pytz",
"specs": [
[
"==",
"2024.2"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.3"
]
]
},
{
"name": "retrying",
"specs": [
[
"==",
"1.3.4"
]
]
},
{
"name": "scipy",
"specs": [
[
"==",
"1.14.1"
]
]
},
{
"name": "setuptools",
"specs": [
[
"==",
"75.6.0"
]
]
},
{
"name": "six",
"specs": [
[
"==",
"1.17.0"
]
]
},
{
"name": "statsmodels",
"specs": [
[
"==",
"0.14.4"
]
]
},
{
"name": "tenacity",
"specs": [
[
"==",
"9.0.0"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
"==",
"4.12.2"
]
]
},
{
"name": "tzdata",
"specs": [
[
"==",
"2024.2"
]
]
},
{
"name": "urllib3",
"specs": [
[
"==",
"2.3.0"
]
]
},
{
"name": "waitress",
"specs": [
[
"==",
"3.0.2"
]
]
},
{
"name": "Werkzeug",
"specs": [
[
"==",
"3.0.6"
]
]
},
{
"name": "zipp",
"specs": [
[
"==",
"3.21.0"
]
]
}
],
"lcname": "ts-app"
}