{"action":"created","issue":{"url":"https://api.github.com/repos/python-control/python-control/issues/52","labels_url":"https://api.github.com/repos/python-control/python-control/issues/52/labels{/name}","comments_url":"https://api.github.com/repos/python-control/python-control/issues/52/comments","events_url":"https://api.github.com/repos/python-control/python-control/issues/52/events","html_url":"https://github.com/python-control/python-control/pull/52","id":66201856,"number":52,"title":"Add conda build recipe and improve version numbering","user":{"login":"cwrowley","id":2033951,"avatar_url":"https://avatars.githubusercontent.com/u/2033951?v=3","gravatar_id":"","url":"https://api.github.com/users/cwrowley","html_url":"https://github.com/cwrowley","followers_url":"https://api.github.com/users/cwrowley/followers","following_url":"https://api.github.com/users/cwrowley/following{/other_user}","gists_url":"https://api.github.com/users/cwrowley/gists{/gist_id}","starred_url":"https://api.github.com/users/cwrowley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwrowley/subscriptions","organizations_url":"https://api.github.com/users/cwrowley/orgs","repos_url":"https://api.github.com/users/cwrowley/repos","events_url":"https://api.github.com/users/cwrowley/events{/privacy}","received_events_url":"https://api.github.com/users/cwrowley/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-04-03T18:17:21Z","updated_at":"2015-04-03T19:16:29Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/python-control/python-control/pulls/52","html_url":"https://github.com/python-control/python-control/pull/52","diff_url":"https://github.com/python-control/python-control/pull/52.diff","patch_url":"https://github.com/python-control/python-control/pull/52.patch"},"body":"This pull request adds a \"recipe\" for building a conda package, and also improves how versions are specified for releases.  Previously, one needed to specify the version number of each release manually in setup.py, and this has led to some confusion, as the version number did not necessarily correspond to tags in the git repository.  With this pull request, version numbers are specified simply by pushing a tag to the git repo, as\r\n```\r\ngit tag -a 0.6.6\r\n```\r\nThe version numbers are then generated by a script `make_version.py`, which is run automatically by the conda recipe (but not by `setup.py`, so one still needs to remember to run `make_version.py` before uploading to PyPI).  The version numbers are consistent with [PEP 440](https://www.python.org/dev/peps/pep-0440/), so for instance, a version that is 6 commits after the version tagged as 0.6.6 would be version \"0.6.6.post6\".\r\n\r\nThe benefits of this approach are that the version numbers are specified only once (as a tag in the git repo), and they are guaranteed to correspond to the git repository.  This avoids some confusion, as happened with v0.6.6 that is currently on PyPI (which I believe was built from @jgoppert's fork and includes PR #38, which has not been merged in, and is probably superfluous now).\r\n\r\nThis PR also changes the Travis CI build to test the conda recipe, and additionally to install slycot from a binary package I uploaded to binstar.org.  This dramatically speeds up the travis build, which was spending most of its time compiling SLICOT from source."},"comment":{"url":"https://api.github.com/repos/python-control/python-control/issues/comments/89394802","html_url":"https://github.com/python-control/python-control/pull/52#issuecomment-89394802","issue_url":"https://api.github.com/repos/python-control/python-control/issues/52","id":89394802,"user":{"login":"cwrowley","id":2033951,"avatar_url":"https://avatars.githubusercontent.com/u/2033951?v=3","gravatar_id":"","url":"https://api.github.com/users/cwrowley","html_url":"https://github.com/cwrowley","followers_url":"https://api.github.com/users/cwrowley/followers","following_url":"https://api.github.com/users/cwrowley/following{/other_user}","gists_url":"https://api.github.com/users/cwrowley/gists{/gist_id}","starred_url":"https://api.github.com/users/cwrowley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwrowley/subscriptions","organizations_url":"https://api.github.com/users/cwrowley/orgs","repos_url":"https://api.github.com/users/cwrowley/repos","events_url":"https://api.github.com/users/cwrowley/events{/privacy}","received_events_url":"https://api.github.com/users/cwrowley/received_events","type":"User","site_admin":false},"created_at":"2015-04-03T19:16:29Z","updated_at":"2015-04-03T19:16:29Z","body":"That's correct.  And in that case, setup.py gives a UserWarning that 'dev' is an invalid version.  This seems like a reasonable fallback to me, but do you have another suggestion?"}}