According to this question
and it's links to elsewhere, I learned that ~= V.N is the same as >= V.N, == V.*
For a given release identifier V.N , the compatible release clause is approximately equivalent to the pair of comparison clauses:
>= V.N, == V.*
But what does ~> V.N mean? Does it just mean > V.N, == V.*, indicating that version V.N would not satisfy the requirement, but that V.(N+1) would?
Note: I haven't seen anywhere that this notation has been used, but GitHub recently sent a security alert saying to update one requirements.txt to use this syntax.