pyeve / eve-sqlalchemy

SQLAlchemy data layer for Eve-powered RESTful APIs
http://eve-sqlalchemy.readthedocs.io
Other
232 stars 70 forks source link

Configure zest.releaser for release management #137

Closed dkellner closed 7 years ago

dkellner commented 7 years ago

Why zest.releaser?

@joystein mentioned bumpversion in #81, so it was the first tool I tried. But I found it hard to configure for our current versioning scheme (which is fine by PEP 440). And zest.releaser provides more features like checking MANIFEST.in and uploading the package to PyPI. Plus telling from previous commit messages it seems that it was used by @amleczko for former releases, too.

Why using a regex to parse the version in __init__.py?

zest.releaser will only update the version in a single location. I went with the regex because the pip project is doing the same.

joystein commented 7 years ago

I was not aware of zest.releaser. This looks perfect.

dkellner commented 7 years ago

After further testing and playing around I've decided to implement another approach for single-sourcing __version__. It's the same as in warehouse - they basically put the project's metadata in __about__.py and import that wherever needed. This way we can even remove some redundant metadata in docs/conf.py.