MycroftAI / skill-date-time

Mycroft AI official Date and Time Skill, providing the current time, date and day of week for cities around the world.
https://mycroft.ai/skills
Apache License 2.0
6 stars 56 forks source link

Update PyTZ for Python 3.10 support #122

Closed krisgesling closed 2 years ago

krisgesling commented 2 years ago

Description

The pinned version of PyTZ is failing on Python 3.10.

This updates the PyTZ dependency to provide support for this version of Python.

Type of PR

Testing

Voight Kampff integration tests should pass.

CLA

LadyNamedLaura commented 2 years ago

@krisgesling while this fixes the problem short term, I think pinning pytz to a specific version is just not a great idea. as said in #120, on the one hand pytz contains data that needs to be kept up-to-date, on the other hand all mycroft skills get installed into the same virtualenv, so over-constraining your dependencies can cause issues with other skills.

krisgesling commented 2 years ago

Yeah, our intention is to automate version updates of dependencies so we don't have this situation, but we also ensure that the packages installed result in a complete and working build.

It's also harder with projects like pytz that use the YYYY.release format of versioning as it doesn't tell us if there are any breaking changes or if it's purely an update of the timezones etc. So we really need to have the integration tests confirm that each version is compatible before we release it.

In the past, we had all dependencies open and only pinned them when a problem was detected however this means that for some period of time, everyone installing the software gets a broken build. Whilst that can still happen with outdated dependencies, it's far less common (IMO).