title: What is pyproject.toml file for?
body: <h3>Background</h3>
  <p>I was about to try Python package downloaded from GitHub, and realized that it did not have a <code>setup.py</code>, so I could not install it with</p>
  <pre><code>pip install -e &lt;folder&gt;
  </code></pre>
  <p>Instead, the package had a <strong><code>pyproject.toml</code></strong> file which seems to have very similar entries as the <code>setup.py</code> usually has.</p>
  <h3>What I found</h3>
  <p>Googling lead me into <a href="https://www.python.org/dev/peps/pep-0518/" rel="noreferrer">PEP-518</a> and it gives some critique to <code>setup.py</code> in <a href="https://www.python.org/dev/peps/pep-0518/#rationale" rel="noreferrer">Rationale</a> section. However, it does not clearly tell that usage of <code>setup.py</code> should be avoided, or that <code>pyproject.toml</code> would as such completely replace <code>setup.py</code>.</p>
  <h3>Questions</h3>
  <p>Is the <code>pyproject.toml</code> something that is used to replace <code>setup.py</code>? Or should a package come with both, a <code>pyproject.toml</code> and a <code>setup.py</code>?<br />
  How would one install a project with <code>pyproject.toml</code> in an editable state?</p>