Skip to content

Instantly share code, notes, and snippets.

@dankkom
Created September 7, 2020 16:26
Show Gist options
  • Save dankkom/57214f3d95962b339ac5bfd1c22d48bf to your computer and use it in GitHub Desktop.
Save dankkom/57214f3d95962b339ac5bfd1c22d48bf to your computer and use it in GitHub Desktop.
Single-sourcing the package version
import codecs
import os.path
def read(rel_path):
here = os.path.abspath(os.path.dirname(__file__))
with codecs.open(os.path.join(here, rel_path), 'r') as fp:
return fp.read()
def get_version(rel_path):
for line in read(rel_path).splitlines():
if line.startswith('__version__'):
delim = '"' if '"' in line else "'"
return line.split(delim)[1]
else:
raise RuntimeError("Unable to find version string.")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment