Skip to content
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

dev: comment and cleanup environment.yml #295

Merged
merged 11 commits into from
Aug 22, 2023

Conversation

jandom
Copy link
Contributor

@jandom jandom commented Aug 8, 2023

Lots of discussion in #293 big thanks to @IAlibay and @lilyminium for helping me out.

This PR removes a few packages and adds a lot of comments. It's still possible that there are other unused packages.

The aim of this PR is to make it clearer which dep is needed where, it's still not super granular, and it's still possible that other packages are not needed.

@jandom jandom self-assigned this Aug 8, 2023
@jandom jandom marked this pull request as ready for review August 8, 2023 13:19
Copy link
Member

@lilyminium lilyminium left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @jandom for reorganising this file! I had some comments on the conceptual grouping. I'm not sure organising by notebook file is easiest to understand and maintain, especially since there's nothing stopping us from using e.g. scikit-image in another notebook and forgetting to update this. Instead, I've suggested ways to document by overall purpose.

environment.yml Outdated
- moviepy
- ipyvtklink
# used in conf.py
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mostly think of these as sphinx "extensions" -- we use the ipython directive in some docs, nbsphinx to render notebooks, etc. If they're imported/used in conf.py it would generally be in their role as extensions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, yeah, easy to change

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @jandom -- could you please move these up to the #extensions then?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just this to go -- nbsphinx, ipywidgets and the like are used to render notebooks, and IIRC ipython to use the ipython sphinx directive. If they're imported in conf.py it's to configure settings but, otherwise they fall into the same category as other extensions, e.g. sphinx bibtex.

environment.yml Outdated
- widgetsnbextension
- ipycytoscape>=1.3.0
- python-graphviz
# used in multiple notebooks
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would label this section generally extensions instead. nbconvert especially I would assume is not called by any notebook explicitly but to download notebooks, or in nbsphinx.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you these changes were easy to apply

environment.yml Outdated
Comment on lines 35 to 36
# used in pairwise_rmsd.ipynb
- plotly
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we edit or update notebooks, I can see the notebook-specific labels getting outdated quite easily. Instead, could we maybe organise these by purpose? e.g. plotly, ipygany, pyvista, scikit-image, seaborn are for visualising/plotting; moviepy and nglview are for visualising/making movies of molecules; dask and distributed you could switch the heading to # parallelization.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed the grouping here as well, easy to apply

environment.yml Outdated Show resolved Hide resolved
environment.yml Outdated Show resolved Hide resolved
Copy link
Member

@lilyminium lilyminium left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @jandom, thank you for making the changes! Just a couple things would be nice to re-arrange and then I think we're good to go.

environment.yml Outdated
Comment on lines 23 to 26
# used by custom_parallel_analysis.ipynb
- graphviz
- tabulate
- widgetsnbextension
- ipycytoscape>=1.3.0
- python-graphviz
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you move this down to #visualisation?

environment.yml Outdated
- moviepy
- ipyvtklink
# used in conf.py
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @jandom -- could you please move these up to the #extensions then?

environment.yml Outdated Show resolved Hide resolved
environment.yml Show resolved Hide resolved
@jandom jandom requested a review from lilyminium August 20, 2023 12:42
environment.yml Outdated
- moviepy
- ipyvtklink
# used in conf.py
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just this to go -- nbsphinx, ipywidgets and the like are used to render notebooks, and IIRC ipython to use the ipython sphinx directive. If they're imported in conf.py it's to configure settings but, otherwise they fall into the same category as other extensions, e.g. sphinx bibtex.

@lilyminium
Copy link
Member

I see @IAlibay is sick -- did you still want to re-visit this PR, Irfan? If not I can take over if you dismiss your review or approve changes.

@IAlibay
Copy link
Member

IAlibay commented Aug 21, 2023 via email

@jandom
Copy link
Contributor Author

jandom commented Aug 21, 2023

@lilyminium this should be resolved now, re extensions. I still have it in me to try and remove all the other packages that are MDA deps

@jandom jandom requested a review from lilyminium August 21, 2023 10:20
environment.yml Outdated Show resolved Hide resolved
environment.yml Outdated Show resolved Hide resolved
environment.yml Outdated Show resolved Hide resolved
environment.yml Outdated Show resolved Hide resolved
jandom and others added 4 commits August 21, 2023 20:52
Co-authored-by: Irfan Alibay <[email protected]>
Co-authored-by: Irfan Alibay <[email protected]>
Co-authored-by: Irfan Alibay <[email protected]>
Co-authored-by: Irfan Alibay <[email protected]>
@jandom
Copy link
Contributor Author

jandom commented Aug 21, 2023

Sorry a history question... please ignore if it's a time waste... but i'm really curious how all these MDA deps made their way into here?

@jandom
Copy link
Contributor Author

jandom commented Aug 22, 2023

@IAlibay thanks for the confidence and just nuking those deps – this helped tremendously, I would have been removing them one-by-one, because I don't have the context

@jandom
Copy link
Contributor Author

jandom commented Aug 22, 2023

@lilyminium PTAL, this seems to be blocked on an approval from you – and i don't think it merits an override (it's nor urgent)

@IAlibay
Copy link
Member

IAlibay commented Aug 22, 2023

Sorry a history question... please ignore if it's a time waste... but i'm really curious how all these MDA deps made their way into here?

They've been around since before we started supporting PEP518, i.e. a world before you could just rely on pip to pick up the right build time dependencies & before we offered wheels. Back then it was safer to have your own deps before you attempted to pip install something.

Copy link
Member

@lilyminium lilyminium left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the wait -- thanks for the changes @jandom and for all your patience!

@jandom jandom merged commit dc2bf2f into develop Aug 22, 2023
3 checks passed
@jandom jandom deleted the jandom/dev/cleanup-environment-yml branch August 22, 2023 12:29
@jandom
Copy link
Contributor Author

jandom commented Aug 22, 2023

Thank you for all you reviews 👏

@jandom
Copy link
Contributor Author

jandom commented Aug 23, 2023

Looking back at this month, we got a lot done – my original aim was to wrap up the snapshot tests and refactor PR, and I think we can do that too. @IAlibay and @lilyminium this wouldn't be possible without your engagement and encouragement, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants