Unable to add `dgl` as Python dependency in TOML specifications
- Dominant language
- Python
- Stars
- 14.3k
- Forks
- 3.1k
- PR merge metrics
- No merged PRs in 30d
Description
## 🐛 Bug
I'm unable to pin `dgl` as a Python dependency in a package I maintain that uses `pyproject.toml` specification, as opposed to a `requirements.txt` file.
Related to #7140, `pip` is unable to resolve DGL versions beyond `1.1.3` because the wheel distribution method changed at some point, requiring people to install DGL by including `--extra-index-url` or `-f`.
## To Reproduce
Steps to reproduce the behavior:
1. Create a blank Python project structure
1. Use `dependencies` key in a `pyproject.toml` to pin `dgl>=2.0.0`
1. Run `pip install -e .`
## Expected behavior
Because installing `dgl` becomes more complicated than just `pip install dgl`, it significantly impacts the user experience for downstream packages (i.e. those that use DGL as a *dependency*). It adds constraints on how environments and dependents can be specified by developers, and in fact this has gone the opposite way compared to PyTorch Geometric where installation is now significantly easier (I can just run `pip install torch_geometric` and it works out of the box, and specify it as a dependency in `pyproject.toml` without problems).
As [documented here](https://github.com/IntelLabs/matsciml/issues/138), our package install now breaks and we have to ask the user to install DGL separately. Regardless, we're now unable to include DGL as a core dependency, as it will prevent the entire our package being installed.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.