Skip to content

The roadmap

o355 edited this page May 24, 2018 · 15 revisions

Instead of keeping this ancient to-do list, originally made around 0.2 beta (as a way to keep track of what's to come and what was finished), I thought I'd make a nice roadmap laying out the future of PyWeather.

The initial implementation - Completed in late September 2017

The initial implementation is the stage in which the features I originally associated with PyWeather come to fruition. These features are what's considered the initial implementation.

  • Current information
  • 1.5 day/10 day hourly information
  • 10-day forecast information
  • Alerts information
  • Almanac
  • Historical weather
  • Setup script (and as an extension, PyWeather being configurable by the end user)
  • Radar viewer
  • Tide data
  • Hurricane data

The initial implementation started with version 0.2 beta, and completed with version 0.6.2 beta.

The remaining features - Should be finished by the end of 2018

Once all the initial features are coded in, I'll begin to code in extra stuff that I wanted to code into PyWeather. At this point, this is what's completed:

  • Geolocating through a GeoIP service
  • PWS mode
  • Favorite locations
  • Nearest city for hurricane data
  • Cache timings

However, these features still need to get added:

  • Previous locations - Coming in v1.0.2
  • A universal updater (unzip a zip file) - Coming in v1.0.0
  • Airport data - Coming in v1.0.0
  • Picking a new radar location - Coming in v1.0.2
  • Full HTTPS support - Coming in v1.0.0

In addition, I'm aiming for full Termux compatibility by v1.0.1.

I estimate for these features to be completed in 2018.

The cleanup phase - Should be completed in early 2019

Following the extra stuff phase, I'll be cleaning up my code. This basically means using PyCharm to fix up messy code, adding additional comments and conforming to PEP 8 standards. I'll also take the time to implement proper Termux rounding, along with seeing about how I can deal with OSes that don't have a degree symbol in the Terminal.

In addition, I'll also be refining PyWeather's UI, which would include trimming down how many lines of text are printed (which will be mostly solved when trying to keep line character counts under 79), and determining an optimal amount of iterations of weather to be printed depending on screen size and other factors.

This phase will take some time, and will be exclusively under 0.7.x beta releases, and will be separated out.

After this, PyWeather 1.0 is released.

Constant updates - 4 years after PyWeather 1.0 is released.

After PyWeather 1.0 is released, I'll continue to fix bugs and add new features to PyWeather as I see fit. This is especially true if Wunderground decides to implement new API types (allergy information, etc), or make API changes that break PyWeather.

Feature/bug updates will go on for 2-3 years after PyWeather is released. After 4 years, PyWeather will receive no bug fixes.

Python 4 support is currently planned, but it all depends on a few factors:

  • When would required libraries get supported for Python 4
  • How well would PyWeather work without any changes and how much work is needed
  • When would Python 4 be released

The follow up to PyWeather

I've been thinking about making a Wunderground API wrapper for Python 3, and this would likely be the successor to PyWeather. I'll have to see how I'll go about doing this.