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

Replace our homegrown plugin system with pluggy #39

Open
thilp opened this issue Mar 3, 2019 · 0 comments
Open

Replace our homegrown plugin system with pluggy #39

thilp opened this issue Mar 3, 2019 · 0 comments
Assignees
Labels
question Further information is requested tech debt This issue addresses technical debt

Comments

@thilp
Copy link
Member

thilp commented Mar 3, 2019

Is your feature request related to a problem? Please describe.

As a maintainer of Transformer, the less code I have to maintain, the better. This is particularly true of code that is not immediately relevant to Transformer's main goal, like the "plumbing" part of its plugin system.

Take for example:

  • transformer.plugins.contracts,
  • transformer.plugins.resolve,
  • their unit tests.

Taken together, they make "just" around 400 lines of code, but that's 10% of all Transformer, and that's not counting the corresponding user documentation (no good tools to count that quickly).

Describe the solution you'd like

I would like this "plumbing" to be taken care of by a third-party library like pluggy (thank you @marcinzaremba for the recommendation), which has battle-tested its design at a much larger scale than Transformer. I don't want to solve the same problems in an unrelated project.

It doesn't have to be pluggy, but at least it shouldn't be done in Transformer (and it should be done well enough that not doing it in Transformer simplifies our life, not the opposite).

Describe alternatives you've considered

Additional context

We should decide before many users start writing their own Transformer plugins, so that we can have a simple deprecation process for the current plugin system. I don't think we want to be maintaining two plugin systems in parallel.

@thilp thilp added question Further information is requested tech debt This issue addresses technical debt labels Mar 3, 2019
@tortila tortila self-assigned this May 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested tech debt This issue addresses technical debt
Projects
None yet
Development

No branches or pull requests

2 participants