title: Making sure Python package is installed at least with one extra
body: <p>I have generic http client library that provides both sync and async interfaces. Underneath it uses either <code>requests</code> or <code>aiohttp</code>. Most of my projects use either sync or async version hence there is no reason to require both <code>aiohttp</code> and <code>requests</code> in <code>setup.py</code>. To address this I have the following <code>extras_require</code> in <code>setup.py</code>:</p>
  
  <pre><code>extras_require={
      "async": ["aiohttp"],
      "sync": ["requests"],
      "all": ["aiohttp", "requests"],
  }
  </code></pre>
  
  <p>The only issue is that if you install my http client package without any extras it does not make sense really since you won't be able to use both versions due to missing dependencies.</p>
  
  <p>Is there a way to verify that my Python package is being installed with at least on of the extras specified? May be some kind of hook in my <code>setup.py</code>?</p>