# Optional dependencies / Requires.jl

**URL:** <https://discourse.julialang.org/t/optional-dependencies-requires-jl/3294>\
**Category:** Internals & Design\
**Created:** [April 20, 2017, 4:40am UTC](https://discourse.julialang.org/t/optional-dependencies-requires-jl/3294 "2017-04-20T04:40:04Z")\
**Posts on this page:** 1\
**Showing post:** 20

<div class="post-metadata">

**Author:** ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)\
**Post date:** [April 20, 2017, 5:35pm UTC](https://discourse.julialang.org/t/optional-dependencies-requires-jl/3294/20 "2017-04-20T17:35:06Z")

</div>

> [@jeff.bezanson](#):
>
> How do we express version requirements for optional dependencies?

I think this is a very important point.

Wouldn’t Plots be much more naturally be organized as follows

```julia
using Plots #this only has abstract stubs 
using PlotsPyPlot #Pulls in the implementation of Plots

```

---

_[View the full topic](https://discourse.julialang.org/t/optional-dependencies-requires-jl/3294)._
