Skip to content

PyWeather 0.6.1 beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@o355 o355 released this 01 Aug 04:32
· 476 commits to master since this release

Please note: Due to a HTTPS fiasco with geopy, if you're running Mac OS X, or another OS that won't allow geopy (the geocoder) to make requests in HTTPS, you will run into a geocoder issue during setup. This is normal. For the other 95% of users not using those OSes, please update to the HTTPS enabled build, if you so desire.

So, here's the deal. I had the release notes ready to go, but after letting the tab stay open for 2 hours, I closed it, and the notes weren't saved. Anyways, PyWeather 0.6.1 beta is here, after two months of work. New features? Check. Bugs fixed? Check.

A few notices:

  • Termux users: I've been trying to update my phone's copy of PyWeather from 0.6 -> 0.6.1 beta, but it's not working. configupdate.py gets stumped on trying to read the versioninfo.txt file, even though other OSes work perfectly fine. To update, please reinstall PyWeather, and this will be the case each time.

New features (and removals):

  • A new caching and refreshing system has been added to PyWeather! After a user-defined amount of time for each data type, that data type will get refreshed when the user views that data again. Confused? Say you checked current data with a cache time of 10 mins, at 12am. If you check current data at 12:01am, it won't refresh, but if you did it at 12:11am, it would show you the latest data. Of course, the cache system can be disabled. Even if you do disable the system, you can manually flag all data types to be reset.
  • Geocoder is no longer a dependency, since I found a "reverse geocoder" in Geopy. The good news, loading times have been shortened by ~200ms. Bad news, location titles may be longer.
  • Last-resort installs in the setup script have been changed. All libraries feature a last-resort option, but I've added a warning about screwing up your PIP environment from using sudo.
  • I've added a radar viewer to PyWeather for those with a GUI. You can view the radar for your location from 6 different zoom levels. Of course, a caching system was also introduced. I'm using appJar for the GUI, however, .gifs are glitched out presently, making it experimental. A confirmation message will appear when trying to launch the radar, making sure you know it's experimental, but you can turn this off.
  • Talking about new libraries, appJar and requests have both been added as necessary libraries.
  • Error checking has been added to all scripts when importing non-standard libraries when an error occurs.
  • A progress indicator has been added to the setup script when configuring options for PyWeather. This should help with the feeling of "when is this gonna end?" during the setup of PyWeather.
  • I've decided to yank the chunk of code that validates your API key in the setup file so it runs after your key is saved, and your backup key is saved. If your key is invalid, you can reenter it infinite times. Please use this feature responsibly (aka don't use this to find free API keys)
  • You can now update all your PIP packages in the setup script. User approval required.
  • Geopy's scheme was changed to HTTP after finding that OS X wasn't working properly with the HTTPS scheme. You will be able to configure the scheme used in a later version. If you absolutely hate having your geocoder requests being in HTTP, I'll be releasing a 0.6.1-beta-https version of PyWeather by August 2, 2017.
  • Wind direction was added to historical hourly. The more data, the better!
  • The keybackup script has been removed. It already had legacy code, and I wasn't properly updating it. It may make a return, eventually.
  • Minor UI changes.

Bug fixes:

  • FIxed a major bug where PyWeather's updater wouldn't work. Doing QA on this stuff is tough, without making it look like I released a brand new version of PyWeather.
  • Fixed a bug where configsetup's directory checking for a config file wasn't compatible with Windows machines.
  • Fixed a bug where if the sun/moon rise/set hour was 0, PyWeather didn't correct it to 12, as in 12 AM.
  • Fixed a bug where if you entered in a weird name (e.g. cities with special characters) to check the weather for, PyWeather would crash from an encoding error.
  • Fixed a major bug where alerts wouldn't iterate, all thanks to a non-defined variable. Fun fact: This bug was entirely caused by Eclipse's really s***ty code checking. <3 you PyCharm!
  • Fixed this super duper tiny bug where a logger.info statement wouldn't print in the setup script unless you didn't have geopy installed.
  • Fixed a bug in the setup script, in which if sections that PyWeather uses were already added to a config file, but the CONFIG/configprovisioned flag wasn't there, PyWeather Setup crashed. This was due to a KeyError at the first check, and no error catching when adding sections that PyWeather uses.
  • Fixed a bug where custom directories for backing up your API key in the setup script never worked. Rest assured, this is fixed.
  • Fixed a bug in which PyWeather didn't have good UI to parse a "Variable" wind direction without annoying the end user. This is fixed, thankfully.
  • Fixed many bugs where PyWeather wasn't catching bad historical data, like bad dates, or parsing errors.

Since the updater is broken, again (try at your own risk), here's how to update.

Please note: For some reason, updater/versioninfo.txt DID NOT get gitignored, so it says 0.6.1 beta, causing issues with configupdate.py. When performing steps for 0.6 beta and above, change the text file back to what version you were on.

From PyWeather 0.6 beta and above:

Got Git?

git fetch
git stash
git checkout 0.6.1-beta
<run configupdate.py>

Otherwise, download the latest release, replace all files, and run configupdate.py.

From PyWeather 0.5.2.1 beta and below:

Got Git?

git fetch
git stash
git checkout 0.6.1-beta
<remove storage/config.ini>
<run configsetup.py>

Otherwise, download the latest release, replace all files, delete the config.ini file in the storage folder, and run configupdate.py.

Quick PyWeather update. Two months between 0.6 beta and 0.6.1 beta is a while, I get it. Finals snapped me, and so did summer. I'm doing other stuff, so I don't have all the time in the world to work on PyWeather. PyWeather 0.6.2 beta should include some awesome features, like yesterday's weather that ModoUnreal coded, along with hurricane and tide data, since hurricane season is now.

From there, I want to add even more advanced features, but PyWeather's rapid development is slowly slowing down. But I'm still working on PyWeather, just less. As the grades go up, the time to work on free projects goes down, which makes me sad.

Enjoy PyWeather 0.6.1 beta. I'll be back in hopefully not two months for PyWeather 0.6.2 beta.