In requirements.txt, what does tilde equals (~=) mean?
<p>In the <code>requirements.txt</code> for a Python library I am using, one of the requirements is specified like:</p>

<pre><code>mock-django~=0.6.10
</code></pre>

<p>What does <code>~=</code> mean?</p>

<p>That's the 'compatible release' <a href="https://www.python.org/dev/peps/pep-0440/#version-specifiers" rel="nofollow">version specifier</a>.</p>

<p>It's equivalent to: <code>mock-django &gt;= 0.6.10, == 0.6.*</code>, and is a tidy way of matching a version which is expected to be compatible. In plain English, it's a bit like saying: "I need a version of mock-django which is at least as new as 0.6.10, but not so new that it isn't compatible with it."</p>

<p>If you're not sure about all this version number stuff, a quick look at the PEP440 <a href="https://www.python.org/dev/peps/pep-0440/#version-scheme" rel="nofollow">version scheme</a> should sort you out!</p>

python requirements.txt