django / django/new-features

Add project metadata for all optional dependencies

Open
#157 7 comments 17 reactions 0 assignees View on GitHub
Django Core
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

Django lists all optional dependencies in project metadata.

### Problem

Django has support for thirdparty dependencies but sometimes they are not listed in the project metadata. If your project uses one of these dependencies it may impact django's behavior.

A quick query shows these imports exist django code but not marked as an optional dependency
```
django = ["Pillow", "PyYAML", "colorama", "docutils", "geoip2", "ipdb", "isort", "jinja2", "numpy", "psycopg", "psycopg-pool", "psycopg2-binary"]
```

For example, `psycopg` is referenced in code
https://github.com/django/django/blob/57b23d15259c32dba80bb093645242f1b3b25365/django/db/backends/postgresql/psycopg_any.py#L4-L9

By looking at the django project metadata we cannot infer that django has support for one of these package.

### Request or proposal

request

### Additional Details

_No response_

### Implementation Suggestions

Extend the optional dependencies in the `pyproject.toml` https://github.com/django/django/blob/57b23d15259c32dba80bb093645242f1b3b25365/pyproject.toml#L40-L42

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.