{"action":"created","issue":{"url":"https://api.github.com/repos/awwad/pypi-depresolve/issues/5","repository_url":"https://api.github.com/repos/awwad/pypi-depresolve","labels_url":"https://api.github.com/repos/awwad/pypi-depresolve/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/awwad/pypi-depresolve/issues/5/comments","events_url":"https://api.github.com/repos/awwad/pypi-depresolve/issues/5/events","html_url":"https://github.com/awwad/pypi-depresolve/issues/5","id":148434865,"number":5,"title":"Standardize versions and specifiers to pip classes","user":{"login":"awwad","id":13263928,"avatar_url":"https://avatars.githubusercontent.com/u/13263928?v=3","gravatar_id":"","url":"https://api.github.com/users/awwad","html_url":"https://github.com/awwad","followers_url":"https://api.github.com/users/awwad/followers","following_url":"https://api.github.com/users/awwad/following{/other_user}","gists_url":"https://api.github.com/users/awwad/gists{/gist_id}","starred_url":"https://api.github.com/users/awwad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awwad/subscriptions","organizations_url":"https://api.github.com/users/awwad/orgs","repos_url":"https://api.github.com/users/awwad/repos","events_url":"https://api.github.com/users/awwad/events{/privacy}","received_events_url":"https://api.github.com/users/awwad/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-04-14T17:44:59Z","updated_at":"2016-04-14T18:07:33Z","closed_at":null,"body":"1. Switch all version functions to use pip._vendor.packaging.version.Version\r\n2. Switch all storage of dependencies from current format to format employing pip._vendor.packaging.specifiers.SpecifierSet strings (e.g. ['bar', [['>', '5.0'], ['<=', '7.0.1']]] should instead be ['bar', '>5.0,<=7.0.1'], so that the version specifiers can be fed directly into SpecifierSet and dealt with that way. That should also clean up the code.\r\n"},"comment":{"url":"https://api.github.com/repos/awwad/pypi-depresolve/issues/comments/210080459","html_url":"https://github.com/awwad/pypi-depresolve/issues/5#issuecomment-210080459","issue_url":"https://api.github.com/repos/awwad/pypi-depresolve/issues/5","id":210080459,"user":{"login":"awwad","id":13263928,"avatar_url":"https://avatars.githubusercontent.com/u/13263928?v=3","gravatar_id":"","url":"https://api.github.com/users/awwad","html_url":"https://github.com/awwad","followers_url":"https://api.github.com/users/awwad/followers","following_url":"https://api.github.com/users/awwad/following{/other_user}","gists_url":"https://api.github.com/users/awwad/gists{/gist_id}","starred_url":"https://api.github.com/users/awwad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awwad/subscriptions","organizations_url":"https://api.github.com/users/awwad/orgs","repos_url":"https://api.github.com/users/awwad/repos","events_url":"https://api.github.com/users/awwad/events{/privacy}","received_events_url":"https://api.github.com/users/awwad/received_events","type":"User","site_admin":false},"created_at":"2016-04-14T18:07:33Z","updated_at":"2016-04-14T18:07:33Z","body":"In the case of 1, this returns the normalized version number as pip sees it:\r\n`str(pip._vendor.packaging.version.Version(raw_version_string))`\r\nFor example:\r\n```\r\nraw_version_string = '1.0beta'\r\nv = pip._vendor.packaging.version.Version(raw_version_string)\r\n   <Version('1.0b0')>\r\nstr(v)\r\n   '1.0b0'\r\n```\r\n\r\nThat value is what I should use everywhere, to avoid various minor bugs that have plagued me. /: (It may introduce its own, but at least then I'm performing as pip would.)"}}