diff options
author | Dmitry Shachnev <mitya57@users.noreply.github.com> | 2019-05-15 22:35:45 +0300 |
---|---|---|
committer | Waylan Limberg <waylan.limberg@icloud.com> | 2019-05-15 15:35:45 -0400 |
commit | 144768d0fa50d7dcab6f7e8063c8702ca1834c61 (patch) | |
tree | 019b5a4348816f3ea0303692b50c3d1bec3fb51c /markdown/__meta__.py | |
parent | 4e8cbad5ec60806393d0df05419aad33b67bbc73 (diff) | |
download | python-markdown-144768d0fa50d7dcab6f7e8063c8702ca1834c61.tar.gz |
Comply with PEP517 (#824)
Add pep517check environment to tox
Split version info into a separate file, load it using importlib
Fixes #823.
Diffstat (limited to 'markdown/__meta__.py')
-rw-r--r-- | markdown/__meta__.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/markdown/__meta__.py b/markdown/__meta__.py new file mode 100644 index 0000000..fcbd47b --- /dev/null +++ b/markdown/__meta__.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +""" +Python Markdown + +A Python implementation of John Gruber's Markdown. + +Documentation: https://python-markdown.github.io/ +GitHub: https://github.com/Python-Markdown/markdown/ +PyPI: https://pypi.org/project/Markdown/ + +Started by Manfred Stienstra (http://www.dwerg.net/). +Maintained for a few years by Yuri Takhteyev (http://www.freewisdom.org). +Currently maintained by Waylan Limberg (https://github.com/waylan), +Dmitry Shachnev (https://github.com/mitya57) and Isaac Muse (https://github.com/facelessuser). + +Copyright 2007-2018 The Python Markdown Project (v. 1.7 and later) +Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b) +Copyright 2004 Manfred Stienstra (the original version) + +License: BSD (see LICENSE.md for details). +""" + +from pkg_resources.extern import packaging + +# __version_info__ format: +# (major, minor, patch, dev/alpha/beta/rc/final, #) +# (1, 1, 2, 'dev', 0) => "1.1.2.dev0" +# (1, 1, 2, 'alpha', 1) => "1.1.2a1" +# (1, 2, 0, 'beta', 2) => "1.2b2" +# (1, 2, 0, 'rc', 4) => "1.2rc4" +# (1, 2, 0, 'final', 0) => "1.2" +__version_info__ = (3, 1, 0, 'final', 0) + + +def _get_version(): # pragma: no cover + " Returns a PEP 440-compliant version number from version_info. " + assert len(__version_info__) == 5 + assert __version_info__[3] in ('dev', 'alpha', 'beta', 'rc', 'final') + + parts = 2 if __version_info__[2] == 0 else 3 + v = '.'.join(map(str, __version_info__[:parts])) + + if __version_info__[3] == 'dev': + v += '.dev' + str(__version_info__[4]) + elif __version_info__[3] != 'final': + mapping = {'alpha': 'a', 'beta': 'b', 'rc': 'rc'} + v += mapping[__version_info__[3]] + str(__version_info__[4]) + + # Ensure version is valid and normalized + return str(packaging.version.Version(v)) + + +__version__ = _get_version() |