# PEP 621: how to specify dependencies?

**URL:** <https://discuss.python.org/t/pep-621-how-to-specify-dependencies/4599>\
**Category:** Packaging\
**Created:** [June 29, 2020, 10:52pm UTC](https://discuss.python.org/t/pep-621-how-to-specify-dependencies/4599 "2020-06-29T22:52:19Z")\
**Posts on this page:** 1\
**Showing post:** 94

<div class="post-metadata">

**Author:** ![ncoghlan](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/ncoghlan/32/14266_2.png) [@ncoghlan](https://discuss.python.org/u/ncoghlan)\
**Post date:** [July 25, 2020, 5:45am UTC](https://discuss.python.org/t/pep-621-how-to-specify-dependencies/4599/94 "2020-07-25T05:45:08Z")

</div>

> [@njs](#):
>
> That said, I guess there _is_ a substantive question here, which is how to encode _extensions_ to PEP 508. AFAIK every pinning format has a mechanism for doing things like requesting in-place installs, allow dev-dependencies, specifying hashes, etc., and it would be good to have a place to put those.

I definitely could have been clearer about explaining it, but this is the key benefit pipenv/Pipfile get from moving the package names out as TOML table keys: it allows the value to be a string for a plain dependency, or an inline table for something more complicated.

That said, it would be reasonable to say that these standard fields are intended for the kind of dependency metadata that can go into a built package, and anything like editable installs will remain in tool specific formats for now.

---

_[View the full topic](https://discuss.python.org/t/pep-621-how-to-specify-dependencies/4599)._
