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

Class-based architecture for deposition plugins #218

Merged
merged 48 commits into from
Dec 21, 2023

Conversation

zyzzyxdonta
Copy link
Contributor

@zyzzyxdonta zyzzyxdonta commented Oct 10, 2023

This pull request converts the existing deposition plugins into classes which makes reuse and customization easier and prevents functions from having to load context and config over and over again.

@zyzzyxdonta zyzzyxdonta force-pushed the feature/class-based-plugins branch from 5959f6f to 26a649f Compare October 10, 2023 12:46
Copy link
Member

@led02 led02 left a comment

Choose a reason for hiding this comment

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

Still WIP, but I could not resist to leave some notes already. Thanks for getting this started 😀

src/hermes/commands/deposit/base.py Outdated Show resolved Hide resolved
src/hermes/commands/workflow.py Outdated Show resolved Hide resolved
src/hermes/commands/workflow.py Show resolved Hide resolved
src/hermes/commands/deposit/file.py Outdated Show resolved Hide resolved
src/hermes/commands/deposit/base.py Show resolved Hide resolved
@led02
Copy link
Member

led02 commented Oct 16, 2023

Maybe we should also write an ADR about this... now that HEQATE is not coming, we need to ensure quality ourselves 😭

@zyzzyxdonta
Copy link
Contributor Author

Yup, I also thought about writing an ADR and was going to address it at the next JF 😄

@zyzzyxdonta zyzzyxdonta force-pushed the feature/class-based-plugins branch from 5e2ef00 to 3d2f8f3 Compare October 24, 2023 14:56
@zyzzyxdonta zyzzyxdonta changed the title Class-based plugin architecture Class-based architecture for deposition plugins Dec 14, 2023
@zyzzyxdonta zyzzyxdonta marked this pull request as ready for review December 14, 2023 14:42
Copy link
Member

@led02 led02 left a comment

Choose a reason for hiding this comment

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

chore: There are some points that should be changed, but the general idea looks good.

question: Do we want to allow to override single process steps with a custom implementation or does this mean that you need to write yet another plugin (i.e., derive from the class that you want to modify and only adapt the respective part)?

docs/source/conf.py Outdated Show resolved Hide resolved
pyproject.toml Show resolved Hide resolved
src/hermes/commands/deposit/base.py Outdated Show resolved Hide resolved
src/hermes/commands/deposit/base.py Show resolved Hide resolved
src/hermes/commands/deposit/base.py Outdated Show resolved Hide resolved
src/hermes/commands/deposit/invenio.py Outdated Show resolved Hide resolved
src/hermes/commands/deposit/invenio.py Outdated Show resolved Hide resolved
src/hermes/commands/deposit/invenio.py Outdated Show resolved Hide resolved
src/hermes/commands/deposit/invenio.py Show resolved Hide resolved
src/hermes/commands/deposit/invenio.py Outdated Show resolved Hide resolved
@led02 led02 merged commit 00cd6c4 into develop Dec 21, 2023
4 checks passed
@poikilotherm poikilotherm deleted the feature/class-based-plugins branch March 6, 2024 20:56
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