diff --git a/hive/server/hive_api/public.py b/hive/server/hive_api/public.py
index 37d33626815ea2d2b1b0203d39302b8d1dc1a68f..b68ec808fd49c9fb6c63c7d3a4c109adb3779a53 100644
--- a/hive/server/hive_api/public.py
+++ b/hive/server/hive_api/public.py
@@ -116,12 +116,11 @@ async def get_info(context):
     sql = "SELECT num FROM hive_blocks ORDER BY num DESC LIMIT 1"
     database_head_block = await db.query_one(sql)
 
-    import pkg_resources
-    hivemind_version, hivemind_git_rev = pkg_resources.get_distribution("hivemind").version.split("+")
+    from hive.version import VERSION, GIT_REVISION
 
     ret = {
-        "hivemind_version" : hivemind_version,
-        "hivemind_git_rev" : hivemind_git_rev,
+        "hivemind_version" : VERSION,
+        "hivemind_git_rev" : GIT_REVISION,
         "database_schema_version" : SCHEMA_DB_VERSION,
         "database_head_block" : database_head_block
     }
diff --git a/hive/server/serve.py b/hive/server/serve.py
index 2d62d620c7f025cd1af17bae06b48ef9b17aeb4a..23770fb7f5969bbf88bfd0f049fdd5e48ea54ceb 100644
--- a/hive/server/serve.py
+++ b/hive/server/serve.py
@@ -230,8 +230,9 @@ def run_server(conf):
         import pkg_resources
         hivemind_version, hivemind_git_rev = pkg_resources.get_distribution("hivemind").version.split("+")
 
-        log.info("hivemind_version : %s", hivemind_version)
-        log.info("hivemind_git_rev : %s", hivemind_git_rev)
+        from hive.version import VERSION, GIT_REVISION
+        log.info("hivemind_version : %s", VERSION)
+        log.info("hivemind_git_rev : %s", GIT_REVISION)
 
         from hive.db.schema import DB_VERSION as SCHEMA_DB_VERSION
         log.info("database_schema_version : %s", SCHEMA_DB_VERSION)
diff --git a/hive/version.py b/hive/version.py
new file mode 100644
index 0000000000000000000000000000000000000000..d0ae1a49a62f29971ea2b2eff545df2cf6a41082
--- /dev/null
+++ b/hive/version.py
@@ -0,0 +1,4 @@
+# generated by setup.py
+# contents will be overwritten
+VERSION = '0.0.1'
+GIT_REVISION = '5c0b832'
diff --git a/setup.py b/setup.py
index 7ade2c64711c120aa1fb42e054df1446ad373ce8..ee620402ef511d844a44d780d3735700493a957e 100644
--- a/setup.py
+++ b/setup.py
@@ -1,11 +1,20 @@
 # coding=utf-8
 import sys
+import os
 
 from setuptools import find_packages
 from setuptools import setup
 
 assert sys.version_info[0] == 3 and sys.version_info[1] >= 6, "hive requires Python 3.6 or newer"
 
+def get_git_version():
+    from git import Repo
+    repo = Repo(os.path.abspath("."))
+    return repo.git.rev_parse('--short', 'HEAD')
+
+VERSION = '0.0.1'
+GIT_REVISION = get_git_version()
+
 tests_require = [
     'pytest',
     'pytest-cov',
@@ -17,10 +26,16 @@ tests_require = [
     'yapf',
 ]
 
+with open("hive/version.py", 'w') as version_file:
+    version_file.write("# generated by setup.py\n")
+    version_file.write("# contents will be overwritten\n")
+    version_file.write("VERSION = '{}'\n".format(VERSION))
+    version_file.write("GIT_REVISION = '{}'\n".format(GIT_REVISION))
+
 # yapf: disable
 setup(
     name='hivemind',
-    version_format='0.0.1+{gitsha}',
+    version_format=VERSION + "+" + GIT_REVISION,
     description='Developer-friendly microservice powering social networks on the Steem blockchain.',
     long_description=open('README.md').read(),
     packages=find_packages(exclude=['scripts']),