-
-
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
MAINT: convert windrose ipywidgets and jsonpickle to optional dependencies #368
Conversation
One last thing, the optional packages are still in the Also, need to update |
Paraphrasing Giovani, I have to say: "Yes. The requirements.txt file is used for development only, it is not included in the packaged served through PyPI." |
@MateusStano ready for a re-review! @phmbressan @giovaniceotto , the old |
Co-authored-by: MateusStano <[email protected]>
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.
I have no problem with the content of this pull request and I will approve it if first some things are taken into account:
-
It might be troublesome requiring from the user to install individually the extras package as needed, since it not only requires the python and pip knowledge to do so, but also the recognition of a possible
ImportError
in code. -
I believe it would be better if features from PEP 508 are employed to separate a bit better the project dependencies:
- For standard use
pip install rocketpy
; - For analysis use
pip install rocketpy[envanalysis]
. - Usage description.
For future use this can be expanded further in the future, e.g.
pip install rocketpy[orbitsim]
. That way we have more control that the necessary imports for a feature are indeed installed. - For standard use
This might be out of scope for this pull request. If you think this is a good idea, we might create another one.
Hey, @phmbressan , this was an incredible suggestion, I really appreciate it a lot. Something that I saw other people doing is creating an [tests] option too. This would make the requirements.txt and requirements-tests.txt no longer necessary here in our library. |
Co-authored-by: phmbressan <[email protected]>
@MateusStano , the merging is blocked because I need your approve before, since you have requested changes in the past. Please take a look to review/approve this one ;) |
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.
all good
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 maintenance (refactoring, formatting, renaming):
black rocketpy
) has passed locally and any fixes were madepytest --runslow
) have passed locallyWhat is the current behavior?
These little guys are always imported, even though they are barely used during rocketpy experience.
What is the new behavior?
Following the timezonefinder example, I converted the libraries to optional dependencies.
Now the rocketpy library is ligther, faster and more consistent.
I also took care to update the corresponding documentation files.
Does this introduce a breaking change?