ChangelogΒΆ

Version

Release date

Changes

0.2.1

10 January 2021

  • 🟩 Create python-weather.

0.2.3

11 January 2021

  • 🟦 Fix an IndexError while initiating Weather.

  • πŸŸ₯ Remove __getattribute__ from Weather.

0.3.0

24 May 2021

  • 🟦 Use properties instead of directly storing attributes.

  • 🟩 Add built-in caching capabilities.

  • πŸŸ₯ Rename Weather.forecast to Weather.forecasts.

  • 🟩 Add an exception class HTTPException.

  • 🟩 Add __slots__ to class definitions.

  • 🟩 Add example.py in the project root directory.

  • 🟦 Use python’s walrus operator to clean up repetitive code.

  • 🟦 Implement Python’s inheritance rather than keeping everything in one class.

  • 🟦 Separate Client from HTTPClient.

  • 🟦 Improve the example in README.

0.3.3

18 June 2021

  • 🟩 Add a bundled-in CLI.

  • 🟩 Add Weather.format property.

  • 🟩 Add Weather.locale property.

  • 🟦 Improve the project’s typings.

  • 🟩 Add .gitignore in the project’s root to remove __pycache__ from appearing.

  • 🟦 Tweaks to the project’s documentation.

0.3.4

27 June 2021

  • 🟦 Fix backwards-compatibility for Python 3.7 users by removing all walrus operators.

0.3.5

29 June 2021

0.3.6

26 July 2021

  • 🟦 Fix bug that causes IMPERIAL to have no effect.

0.3.7

5 November 2021

  • 🟦 Fix bug that raises an exception when calling HTTPException.__repr__.

  • 🟦 HTTPException now derives from the Exception class.

  • 🟩 Add __slots__ to the class definition for HTTPException.

0.3.8

28 June 2022

  • πŸŸ₯ Remove the bundled-in CLI.

  • 🟦 Fix potential NameError bug.

  • πŸŸ₯ Remove all built-in caching capabilities.

  • 🟦 Update the example with a fix for all Windows systems.

  • 🟩 Add GitHub workflows for testing.

0.4.0

6 August 2022

  • 🟦 Migrate from using Microsoft’s MSN API to wttr.in.

  • 🟦 Fix dependabot alerts.

  • 🟩 Add async with support for the client instance.

  • 🟩 Add additional installation instructions for debian users.

0.4.1

8 August 2022

  • 🟦 Fix bug when retrieving CurrentForecast.local_time.

0.4.2

9 September 2022

  • πŸŸ₯ Rename DailyForecast.average_temperature to DailyForecast.temperature.

  • 🟦 Printing the forecast result should no longer raise an AttributeError.

  • 🟦 Weather.location should not return None now, and should return floats insead of ints. (making it consistent to the type-hint)

  • 🟩 Add Mist property to the WeatherType enum.

  • 🟩 Add an additional TCPConnector argument to the default ClientSession.

  • πŸŸ₯ Remove unused __slots__ tuple member in the BaseForecast abstract class.

0.4.3

23 October 2022

1.0.0

28 April 2023

  • 🟩 Add custom locale support.

  • 🟩 Add lots of new classes and enums, and improve inheritance use.

  • 🟩 Add code testing workflow on every commit.

  • 🟩 Add code formatting workflow with yapf.

  • 🟩 Add dependabot to automatically bump dependencies weekly.

1.0.1

29 April 2023

  • 🟦 Fix backwards-compatibility for Python 3.7 users by removing the Self typing.

1.0.2

18 May 2023

  • 🟦 Fix tempC and tempF KeyError.

  • 🟦 Fix UltraViolet enum returning incorrect values.

1.0.3

20 June 2023

  • 🟩 Add missing index property in the UltraViolet enum.

  • 🟩 Add more helper methods.

  • 🟦 Improve docstrings of several properties.

1.1.0

23 November 2023

  • 🟩 Add support for Python 3.12 by upgrading the aiohttp dependency to 3.9.0.

  • πŸŸ₯ The library no longer supports Python 3.7, which was discontinued in June 2023.

  • 🟦 Removed several instances of copy-pasted code.

1.1.1

20 February 2024

  • πŸŸ₯ Rename chances_of_remdry to chances_of_remaining_dry in order to reduce confusion.

  • 🟦 Bump aiohttp dependency to 3.9.3.

1.1.2

25 February 2024

2.0.0

18 March 2024

2.0.1

25 March 2024

  • 🟦 Migrate from yapf to ruff.

  • 🟦 Fix potential NameError while modifying forecast unit or locale.

  • 🟦 Remove several unused imports.

  • 🟦 Fix potential NameError on some typings.

2.0.2

25 April 2024

  • 🟩 Add a donation link over at https://ko-fi.com/null8626.

  • 🟦 As of 19 April 2024, all GitHub commits sent to the repository (both manual and automated) will be GPG-signed.

2.0.3

5 May 2024

  • 🟦 Fix potential NameError while accessing the Phase.emoji property.

  • 🟦 Refactors on the request delay calculation.

  • 🟦 Fix broken donations redirect in the documentation page.

2.0.4

2 October 2024

  • 🟦 The Client.close() method now no longer closes the ClientSession if an existing ClientSession was provided in the constructor.

  • 🟩 HTTP exceptions are now wrapped under RequestError.

  • 🟩 Add __iter__ and __list__ helper implementations for the forecast classes.

  • 🟦 Bump the aiohttp dependency to be at least version 3.10.8.

  • 🟩 Add an additional raise_for_status argument to the default ClientSession.

  • 🟦 Refactor the regex retrieval for the Forecast.local_population property.

2.0.5

13 October 2024

  • 🟦 Migrate from using Python properties to raw Python attributes, this should save 50 KB in the size of the Forecast object.

  • 🟦 Fix infinite loop while calling the __iter__ or __list__ helper implementations of the forecast objects.

  • 🟦 Fix no status code error checking on clients using pre-existing ClientSession objects.

  • 🟦 The test workflow now also tests the example code in the README.

  • 🟩 Add __len__ helper implementations for the forecast classes.

  • 🟦 Bump the aiohttp dependency to be at least version 3.10.10.

2.0.7

14 October 2024

  • 🟦 Fix AttributeError upon calling WindDirection helper functions.

  • 🟩 Add __int__ helper implementation for the WindDirection enum.

  • 🟩 Add optional max_retries keyword argument to the Client constructor.

  • 🟦 Refactor the Kind enum to make its code more readable.

  • 🟦 Documentation fixes.

2.1.0

30 May 2025

  • 🟦 RequestError is now based on an HTTP status code instead of an Exception source.

  • 🟦 Replace several uses of deprecated Python type hints.

  • 🟦 Bump aiohttp dependency to 3.12.4.

2.1.1

12 December 2025

  • πŸŸ₯ Drop support for Python 3.9.

  • 🟩 Add cloud_cover property to the BaseForecast class.

  • 🟩 Add a proper message and a reason property to the RequestError class.

  • 🟦 Add proper unit tests with a 100% coverage guarantee.

  • 🟦 Fix the default ClientSession from using a deprecated keyword argument.

  • 🟦 Gate imports purely for type checking under typing.TYPE_CHECKING.

  • 🟦 Bump aiohttp dependency to 3.13.2.

  • 🟦 Fix incorrect return type annotation for __iter__ methods.

  • 🟦 Refactor typings in accordance with Python 3.10’s standards.

  • 🟦 Improve documentation CSS.

2.1.2

23 January 2026

  • 🟦 Remove redundant repetitive if-statements in enum declarations.

  • 🟦 Fix incorrect VERSION constant.

  • 🟦 Bump aiohttp dependency to 3.13.3.

2.2.0

21 April 2026

  • 🟦 Fix mismatched content-type bug.

  • 🟦 Raise ValueError instead of TypeError when the specified value(s) are invalid.

  • 🟦 Merge CustomizableBase with Client.

  • 🟦 Bump aiohttp dependency to 3.13.5.

2.2.1

29 April 2026

  • 🟦 Fix another mismatched content-type bug.

2.2.2

21 May 2026

  • 🟦 Adapt to localObsDateTime JSON property removal.