Add pluggy as a dependency
- Dominant language
- No language data
- Stars
- 188
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
### Code of Conduct
- [x] I agree to follow Django's Code of Conduct
### Feature Description
Enable the third-party ecosystem to plug into core Django features in a more flexible and powerful way by adding [`pluggy`](https://github.com/pytest-dev/pluggy) as a dependency.
### Problem
While the third-party ecosystem is one of Django's strengths, it is not always possible to plug into Django functionality without jumping through hoops (usually adding to `settings.py`). Adding `pluggy` would add more flexible entry points for plugins.
### Request or proposal
proposal
### Additional Details
When reviewing https://github.com/django/deps/pull/98#discussion_r2426951627, the Steering Council had the idea of using [`pluggy`](https://github.com/django/deps/pull/98#discussion_r2426951627) to enable third-party packages to easily plug into the proposed `django new` command. We quickly realised that it would also enable adding plugin entry points when building other Django features.
There is some prior art for using `pluggy` with Django, for example:
* https://2024.djangocon.us/talks/how-to-design-and-implement-extensible-software-with-plugins/
* https://simonwillison.net/2024/Sep/25/djp-a-plugin-system-for-django/
`pluggy` is also a mature and stable package, that has been used by `pytest` for years.
### Implementation Suggestions
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.