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

Separate environments for each talktorial #415

Closed
wants to merge 47 commits into from
Closed

Separate environments for each talktorial #415

wants to merge 47 commits into from

Conversation

mbackenkoehler
Copy link
Collaborator

@mbackenkoehler mbackenkoehler commented Jan 29, 2024

Description

WIP

Playing around with Github actions to get an idea of how to set up a new CI with separated environments.

@mbackenkoehler mbackenkoehler added the work-in-progress Work still ongoing label Jan 29, 2024
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@ijpulidos
Copy link

ijpulidos commented Jan 30, 2024

Can you explain in more detail what are the current issues being faced with having a single big environment? And I guess also some comment on why having a separate one for each talktorial?

While separating environments could make things easier for people to use the talktorials (in specific circumstances), it does create a significant burden in maintaining each of the environments separately. And maybe even will make things harder for users to add packages to the environments if these are not maintained or kept up to date (since they will probably be harder to maintain if we separate them).

@ijpulidos
Copy link

Does it make sense having separate environments but not necessarily one for each talktorial? As in, maybe just having one separate environment for the ML/DL stuff, and the rest in another one. If that makes any sense. Apologies that I'm not that familiar with this project, so I'm just starting to wrap my head around this. Thanks!

@mbackenkoehler
Copy link
Collaborator Author

While separating environments could make things easier for people to use the talktorials (in specific circumstances), it does create a significant burden in maintaining each of the environments separately.

The reasoning is somewhat opposite. The environment for everything is very heavy and complex. Introducing or updating packages is difficult because we are in dependency hell. It's the main reason, everything is still on python 3.8. With packages not being able to be updated easily, tutorials sometimes make use of deprecated behaviors.

The goal therefore is mainly maintainability. From a user's perspective it is probably more cumbersome to install and activate one environment for every talktorial. There are other complications like the CLI (which I have not looked at so far at all) and the teachopencadd conda package.

Merging environments for groups of talktorials is something, we have in mind and likely will do. This has advantages for usability and the CI. We should probably keep one file per talktorial for the sake of consistency, though.

@mbackenkoehler mbackenkoehler mentioned this pull request Feb 27, 2024
1 task
@mbackenkoehler
Copy link
Collaborator Author

This is replaced by #417

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
work-in-progress Work still ongoing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants