Skip to content

PyWeather 0.5.2 beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@o355 o355 released this 30 Apr 04:03
· 643 commits to master since this release

A critical bug was found in PyWeather 0.5.2 beta, which didn't allow PyWeather to boot if key validity checking was disabled. Please download 0.5.2.1 instead of 0.5.2, and update to 0.5.2.1 when you can.

Howdy there! After around two weeks of mostly hard work, PyWeather 0.5.2 has dropped, with some pretty "lit" features, as all the cool kids say. Here's the full changelog, in all of it's glory!

  • The option for raw tracebacks is now enabled in the Key Backup script.
  • The error message for when the config file couldn't get loaded was changed. It now includes a blurb about a missing config file, since attempting to catch the actual loading of the file was a flop.
  • Speaking about that, the error catching of a bad config file load is now gone.
  • PyWeather Setup now has a "last resort" option for incorrectly installed libraries. For users on Linux, PyWeather Setup can now use sudo -h pip3 install <library to attempt library installs.
  • In PyWeather Setup, a warning is added to users using Python 3.0-3.4, as it's known to cause a few quirks when installing libraries.
  • Apparently, when printing exceptions, the "here's the full traceback" line is using print().
  • Version checking at the start of the setup script has been enabled, to alert users if they're setting up an old version of PyWeather. Of course, this was done while trying not to be Windows 10.
  • PyWeather Setup will now alert Python 3.5-3.6 users of a possible failed geocoder install, telling them it's normal, if it occurs.
  • PyWeather can now validate your API key at boot! It'll make sure that your API key can be loaded, and that it's a valid key. If the validation fails, PyWeather will try to load and validate your backup API key. If it works, PyWeather will continue on. If validation fails for both keys, PyWeather quits. You expected a statement saying "PyWeather then uses a pre-defined key", but nope!
  • PyWeather can now detect how many iterations will occur in historical hourly information! This is accomplished by doing a loop before printing data, and seeing how many iterations that loop goes through. As such, you'll now see the total iterations if you turn that feature on, and some other cool stuff.
  • PyWeather can now update itself through Git, given you have Git installed and enabled in your default shell. Right now, we're stashing any local changes, thus stashing config changes, but this is temporary. 0.6 beta should introduce a new way to update your config file, preserving any custom changes.
  • You can now override PyWeather's predefined version. This was done out of a debugging necessity.
  • PyWeather is now using the requests library to fetch .json files (thanks to the /r/learnpython subreddit for helping out and the suggestion!). This should hopefully avoid those pesky 400 errors that people randomly got.
  • Error messages have been made less vague, for debugging reasons, but also to further clarify what went wrong to the user.
  • Made some minor UI changes.
  • 0 easter eggs have been added to this release.

And while I was busy adding all of those new features, these bugs got fixed:

  • Fixed a bug in which if tracebacks were enabled in the updater, the tracebacks wouldn't print properly. As such, a traceback was produced. Tracebackception!
  • As mentioned above, most URLLib 400 errors should be fixed, thanks to the switch to the requests library.

As always, you have your methods of updating. Git users?

git fetch
git checkout 0.5.2-beta

Other users? Download that .zip.

You can always update with PyWeather itself.

A quick development notice. Now that 0.5.2 is done, 0.6 is under development, and will really focus on getting new, big features added to PyWeather. I've held off on adding trivial features, and adding stuff that doesn't interest me (code cleanup, etc), as I got bored of working on PyWeather with these self-set goals.

Of course, summer is coming up, and that means testing season. Expect me to tone down on devleopment to an extent over the course of May and June.

But afterwards? Full steam ahead! I'm planning on getting all major features coded in by late August, but this time estimate is volatile. I'm pushing for 2 hours of coding a day for this summer, which means more features, and less waiting!

As always, if you see a bug, report that bug. With so many new features, I likely screwed up somewhere.

Oh, and also, pyweather.py hit 2,000 lines, the first program I've self coded to do so! If you saw, there's a branch called 2klines, marking the exact moment when it hit 2k lines. Of course, the code provided is screwed up there. Meanwhile, setup.py crossed the 1,000 line mark today! Across all four scripts, we're at a total line count of 3,619, so I'd expect to hit 4,000 lines across all scripts soon.

That's all for this release. See you all in the next month or so, dropping PyWeather 0.6 beta!