weatherwiz

A chatbot for conversational weather forecasts, built with Rasa, Python and love ❤️.

https://github.com/pykong/weatherwiz

Science Score: 44.0%

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

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

Keywords

brightsky chatbot iubh poetry python rasa weather weather-forecast
Last synced: 6 months ago · JSON representation ·

Repository

A chatbot for conversational weather forecasts, built with Rasa, Python and love ❤️.

Basic Info
  • Host: GitHub
  • Owner: pykong
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 9.26 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
brightsky chatbot iubh poetry python rasa weather weather-forecast
Created about 2 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

WeatherWiz logo

PlaceholderBadge PlaceholderBadge PlaceholderBadge PlaceholderBadge PlaceholderBadge PlaceholderBadge License PlaceholderBadge PlaceholderBadge

Example Dialog

WeatherWiz

WeatherWiz is a chatbot for weather forecasts. It is built with Rasa, Python and love ❤️ and proudly features:

  • a fancy frontend build with chatroom.js
  • using free APIs (no signup or API key required):
    • real weather data from Bright Sky API
    • forecasts up to seven days
    • historical data from 01.01.2010
    • geocoding via Nominatim API
    • user IP address as a location fallback via ipinfo.io API
  • slots for place and time for keeping conversation context
  • a dateparser for date and time extraction
  • high test coverage via Pytest and Rasa's tests
  • full Dockerization

Getting started

To start WeatherWiz you will need:

  • a working Docker engine
  • Internet access (for setup and API access)
  • at least 16GB RAM (32GB recommended)

Talking to WeatherWiz is as easy as:

  1. Clone the project
  2. Open a shell in the project folder
  3. In the shell, run docker compose up
  4. Open localhost:8000 in your browser
  5. Enjoy talking to WeatherWiz... 🙂

Contributing

WeatherWiz suggests the following development setup:

  1. Docker to run the application
  2. Poetry for dependency management
  3. Ruff for formatting and linting
  4. A type checker, preferably pyright
  5. Pytest for unit testing

Configuration is located in the pyproject.toml, at the root of the project.

To contribute:

  1. Fork this repository
  2. Do your changes, including:
    • test coverage
    • documentation
  3. Open a PR

You may also feel free to open any issue.

Current limitations

  • WeatherWiz will only answer questions regarding rain, temperature and wind
  • answer format remains generic
  • failure of API access is not handled gracefully

Links

Owner

  • Name: Ben Felder
  • Login: pykong
  • Kind: user
  • Location: Germany
  • Company: Adeptus Mechanicus

Tech priest at the Adeptus Mechanicus, Biochemist, Pythonista, MLOps Guru at day, AI M.Sc. Student at night and Builder of Joyful Tools.

Citation (CITATION.cff)

cff-version: 0.1.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Felder"
  given-names: "Benjamin"
title: "WeatherWiz - A chatbot for conversational weather forecasts"
version: 0.1.0
date-released: 2024-21-01
url: "https://github.com/pykong/WeatherWiz"

GitHub Events

Total
Last Year

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 4
  • Total Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 4
  • Committers: 1
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Ben Felder b****n@f****o 4
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total 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
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
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/python_tests.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
actions/Dockerfile docker
  • base latest build
  • simbachain/poetry-3.10 latest build
backend/Dockerfile docker
  • base latest build
  • simbachain/poetry-3.10 latest build
  • trained latest build
frontend/Dockerfile docker
  • simbachain/poetry-3.10 latest build
poetry.lock pypi
  • 211 dependencies
pyproject.toml pypi
  • black * develop
  • deptry * develop
  • mypy * develop
  • ruff * develop
  • types-requests ^2.31.0.10 develop
  • vulture * develop
  • dateparser ^1.2.0
  • loguru ^0.7.2
  • python ^3.10, <3.11
  • rasa ^3.6
  • requests ^2.31.0
  • pytest * test