https://github.com/artefactory/streamlit_prophet

Streamlit app to train, evaluate and optimize a Prophet forecasting model.

https://github.com/artefactory/streamlit_prophet

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.2%) to scientific vocabulary

Keywords

fbprophet forecasting forecasting-models machine-learning prophet python streamlit streamlit-webapp time-series
Last synced: 5 months ago · JSON representation

Repository

Streamlit app to train, evaluate and optimize a Prophet forecasting model.

Basic Info
  • Host: GitHub
  • Owner: artefactory
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 26.9 MB
Statistics
  • Stars: 353
  • Watchers: 5
  • Forks: 253
  • Open Issues: 13
  • Releases: 1
Topics
fbprophet forecasting forecasting-models machine-learning prophet python streamlit streamlit-webapp time-series
Created almost 5 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Contributing License Code of conduct Security

README.md

![Streamlit Prophet](streamlit_prophet/references/logo.png) [![CI status](https://github.com/artefactory-global/streamlit_prophet/actions/workflows/ci.yml/badge.svg?branch%3Amain&event%3Apush)](https://github.com/artefactory-global/streamlit_prophet/actions/workflows/ci.yml?query=branch%3Amain) [![Python Version](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9-blue.svg)](#supported-python-versions) [![Dependencies Status](https://img.shields.io/badge/dependabots-active-informational.svg)](https://github.com/artefactory-global/streamlit_prophet/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot) [![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://prophet.streamlit.app) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Security: bandit](https://img.shields.io/badge/security-bandit-informational.svg)](https://github.com/PyCQA/bandit) [![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-informational?logo=pre-commit&logoColor=white)](https://github.com/artefactory-global/streamlit_prophet/blob/main/.pre-commit-config.yaml) [![Semantic Versions](https://img.shields.io/badge/%F0%9F%9A%80-semantic%20versions-informational.svg)](https://github.com/artefactory-global/streamlit_prophet/releases) [![License](https://img.shields.io/badge/License-MIT-informational.svg)](https://github.com/artefactory-global/streamlit_prophet/blob/main/LICENSE) Deploy a [Streamlit](https://streamlit.io/) app to train, evaluate and optimize a [Prophet](https://facebook.github.io/prophet/) forecasting model visually ## ⭐ Quick Start ⭐ [Test the app online](https://prophet.streamlit.app) with shared computing resources & [read introductory article](https://medium.com/artefact-engineering-and-data-science/visual-time-series-forecasting-with-streamlit-prophet-71d86a769928?source=friends_link&sk=590cca0d24f53f73a9fdb0490a9a47a7) If you plan to use the app regularly, you should install the package and run it locally: ```bash pip install -U streamlit_prophet streamlit_prophet deploy dashboard ```

https://user-images.githubusercontent.com/56996548/126762714-f2d3f3a1-7098-4a86-8c60-0a69d0f913a7.mp4

💻 Requirements

Python version

  • Main supported version : 3.7
  • Other supported versions : 3.8 & 3.9

Please make sure you have one of these versions installed to be able to run the app on your machine.

Operating System

Windows users have to install WSL2 to download the package. This is due to an incompatibility between Windows and Prophet's main dependency (pystan). Other operating systems should work fine.

⚙️ Installation

Create a virtual environment (optional)

We strongly advise to create and activate a new virtual environment, to avoid any dependency issue.

For example with conda: bash pip install conda; conda create -n streamlit_prophet python=3.7; conda activate streamlit_prophet

Or with virtualenv: bash pip install virtualenv; python3.7 -m virtualenv streamlit_prophet --python=python3.7; source streamlit_prophet/bin/activate

Install package

Install the package from PyPi (it should take a few minutes): bash pip install -U streamlit_prophet

Or from the main branch of this repository: bash pip install git+https://github.com/artefactory-global/streamlit_prophet.git@main

📈 Usage

Once installed, run the following command from CLI to open the app in your default web browser:

bash streamlit_prophet deploy dashboard

Now you can train, evaluate and optimize forecasting models in a few clicks. All you have to do is to upload a time series dataset. This dataset should be a csv file that contains a date column, a target column and optionally some features, like on the example below:

Then, follow the guidelines in the sidebar to:

  • Prepare data: Filter, aggregate, resample and/or clean your dataset.
  • Choose model parameters: Default parameters are available but you can tune them. Look at the tooltips to understand how each parameter is impacting forecasts.
  • Select evaluation method: Define the evaluation process, the metrics and the granularity to assess your model performance.
  • Make a forecast: Make a forecast on future dates that are not included in your dataset, with the model previously trained.

Once you are satisfied, click on "save experiment" to download all plots and data locally.

🛠️ How to contribute ?

All contributions, ideas and bug reports are welcome! We encourage you to open an issue for any change you would like to make on this project.

For more information, see CONTRIBUTING instructions. If you wish to containerize the app, see DOCKER instructions.

Owner

  • Name: artefactory
  • Login: artefactory
  • Kind: organization

GitHub Events

Total
  • Watch event: 45
  • Fork event: 17
Last Year
  • Watch event: 45
  • Fork event: 17

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 254
  • Total Committers: 6
  • Avg Commits per committer: 42.333
  • Development Distribution Score (DDS): 0.13
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
MaximeLutel m****l@a****m 221
Cedric-Magnan c****n@a****m 21
julesbertrand j****3@g****m 8
Ramee Abdallah r****h@r****n 2
TomDarmon d****4@g****m 1
Maxime LUTEL m****l@f****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 21
  • Total pull requests: 13
  • Average time to close issues: 7 days
  • Average time to close pull requests: 1 day
  • Total issue authors: 14
  • Total pull request authors: 7
  • Average comments per issue: 1.67
  • Average comments per pull request: 0.77
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • neilmcguigan (4)
  • hugovasselin (3)
  • yangboz (2)
  • nguye2tl (2)
  • henrystar07 (1)
  • lesego94 (1)
  • Eunice-Wyy (1)
  • knorthover (1)
  • loseDemon (1)
  • ChrisDelClea (1)
  • Lycher2 (1)
  • maurice1979 (1)
  • rafalsza (1)
  • nickgreengithub (1)
Pull Request Authors
  • Cedric-Magnan (5)
  • MaximeLutel (3)
  • dependabot[bot] (2)
  • TomDarmon (2)
  • Tonow (1)
  • RameeA (1)
  • julesbertrand (1)
Top Labels
Issue Labels
bug (12) enhancement (6) question (3)
Pull Request Labels
dependencies (2)

Dependencies

poetry.lock pypi
  • 166 dependencies
pyproject.toml pypi
  • bandit ^1.7.0 develop
  • black ^20.8b1 develop
  • darglint ^1.8.0 develop
  • flake8 ^3.8.3 develop
  • isort ^5.8.0 develop
  • mypy ^0.812 develop
  • mypy-extensions ^0.4.3 develop
  • pre-commit ^2.12.0 develop
  • pydocstyle ^6.0.0 develop
  • pylint ^2.6.0 develop
  • pytest ^6.2.1 develop
  • pytest-cov ^2.10.1 develop
  • pytest-mock ^3.3.1 develop
  • pyupgrade ^2.12.0 develop
  • safety ^1.10.3 develop
  • fbprophet 0.7.1
  • holidays ^0.11.1
  • importlib_metadata ^1.6.0
  • numpy ^1.20.2
  • pandas ^1.1.5
  • pip ^21.3.1
  • plotly ^4.11.0
  • protobuf 3.20.1
  • pystan 2.19.1.1
  • python >=3.7 <3.10
  • rich ^10.1.0
  • scipy ^1.6.3
  • streamlit 1.2.0
  • typer ^0.3.2
  • vacances-scolaires-france ^0.8.0
.github/workflows/ci.yml actions
  • actions/cache v2.1.5 composite
  • actions/checkout v2 composite
  • actions/setup-python v2.2.2 composite
.github/workflows/greetings.yml actions
  • actions/first-interaction v1 composite
.github/workflows/release-drafter.yml actions
  • release-drafter/release-drafter v5.15.0 composite
Dockerfile docker
  • python 3.8-slim-buster build