dmlc / dmlc/dgl

Unable to add `dgl` as Python dependency in TOML specifications

Open
#7,153 2 comments 0 reactions 0 assignees View on GitHub
bug:confirmed
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.