-
-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH: Make timezonefinder an optional dependency #315
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything seems to be working very well.
Questions:
- Do you think we should keep timezonefinder in the requirement.txt file?
- In the documentation you're modifying python version (from 3.6 to 3.7). Does this mean that we are officially dropping python 3.6 support for RocketPy? If so, should that be a big deal?
Great fix btw. In terms of coding, there's no change to ask. Only the above questions as curiosity.
Yes. The requirements.txt file is used for development only, it is not included in the packaged served through PyPI.
Support for Python 3.6 was dropped a while ago. Only 3.7+ is supported, that docs page was wrong. Python 3.6 stopped being supported by the Python organization in Dec 2021: https://endoflife.date/python |
This PR has been approved and all tests are passing, so I will merge it now. Quick note: I have modified how RocketPy is installed by the GitHub actions before tests are performed. I switched from |
Pull request type
Please check the type of change your PR introduces:
Pull request checklist
Please check if your PR fulfills the following requirements, depending on the type of PR:
Code base additions (for bug fixes / features):
black rocketpy
) has passed locally and any fixes were madepytest --runslow
) have passed locallyWhat is the current behavior?
timezonefinder
package does not support Python 3.7 anymore. See Significant Dependency Issue: Timezonefinder does not support Python 3.7 #314.timezonefinder
package is rarely used and not required for any major RocketPy functionality. It is currently a required package inspite of this. And to make things worse, it requires a download larger than 40 MB.What is the new behavior?
The
timezonefinder
is made an optional requirement. By default, when installing RocketPy, it will not be installed and thus RocketPy will remain compatible with Python 3.7. The total downloads needed to install RocketPy will be reduced by about 40 MB. If the user desires, he/she can install the optional requirement using:Note, however, that this only works with Python 3.8+.
The only feature that is not supported when
timezonefinder
is not installed is automatic timezone detection based on latitude and longitude when initializing theEnvironmentAnalysis
class. The user needs to specify the timezone to be used for reporting. If the user does not specify it, the following error will be raised:Does this introduce a breaking change?
Other information
This PR should solve the failing GitHub Actions that has been haunting us for a couple of months now.