You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by we...@apache.org on 2016/12/04 15:50:52 UTC

arrow git commit: ARROW-379: Use setuptools_scm for Python versioning

Repository: arrow
Updated Branches:
  refs/heads/master b5de9e56d -> 0ac01a5bf


ARROW-379: Use setuptools_scm for Python versioning

Author: Uwe L. Korn <uw...@xhochy.com>

Closes #224 from xhochy/ARROW-379 and squashes the following commits:

3a68d9f [Uwe L. Korn] Remove deprecated version import
15fe9b2 [Uwe L. Korn] Add license header
aa9bd49 [Uwe L. Korn] ARROW-379: Use setuptools_scm for Python versioning


Project: http://git-wip-us.apache.org/repos/asf/arrow/repo
Commit: http://git-wip-us.apache.org/repos/asf/arrow/commit/0ac01a5b
Tree: http://git-wip-us.apache.org/repos/asf/arrow/tree/0ac01a5b
Diff: http://git-wip-us.apache.org/repos/asf/arrow/diff/0ac01a5b

Branch: refs/heads/master
Commit: 0ac01a5bf6747a5855d20632c9c7874483b9830a
Parents: b5de9e5
Author: Uwe L. Korn <uw...@xhochy.com>
Authored: Sun Dec 4 10:50:43 2016 -0500
Committer: Wes McKinney <we...@twosigma.com>
Committed: Sun Dec 4 10:50:43 2016 -0500

----------------------------------------------------------------------
 dev/release/00-prepare.sh  |  5 -----
 python/.git_archival.txt   |  1 +
 python/.gitattributes      |  1 +
 python/pyarrow/__init__.py | 10 ++++++++--
 python/setup.cfg           | 20 ++++++++++++++++++++
 python/setup.py            | 23 ++---------------------
 6 files changed, 32 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/arrow/blob/0ac01a5b/dev/release/00-prepare.sh
----------------------------------------------------------------------
diff --git a/dev/release/00-prepare.sh b/dev/release/00-prepare.sh
index 3423a3e..00af5e7 100644
--- a/dev/release/00-prepare.sh
+++ b/dev/release/00-prepare.sh
@@ -43,9 +43,4 @@ mvn release:prepare -Dtag=${tag} -DreleaseVersion=${version} -DautoVersionSubmod
 
 cd -
 
-cd "${SOURCE_DIR}/../../python"
-sed -i "s/VERSION = '[^']*'/VERSION = '${version}'/g" setup.py
-sed -i "s/ISRELEASED = False/ISRELEASED = True/g" setup.py
-cd -
-
 echo "Finish staging binary artifacts by running: sh dev/release/01-perform.sh"

http://git-wip-us.apache.org/repos/asf/arrow/blob/0ac01a5b/python/.git_archival.txt
----------------------------------------------------------------------
diff --git a/python/.git_archival.txt b/python/.git_archival.txt
new file mode 100644
index 0000000..95cb3ee
--- /dev/null
+++ b/python/.git_archival.txt
@@ -0,0 +1 @@
+ref-names: $Format:%D$

http://git-wip-us.apache.org/repos/asf/arrow/blob/0ac01a5b/python/.gitattributes
----------------------------------------------------------------------
diff --git a/python/.gitattributes b/python/.gitattributes
new file mode 100644
index 0000000..00a7b00
--- /dev/null
+++ b/python/.gitattributes
@@ -0,0 +1 @@
+.git_archival.txt  export-subst

http://git-wip-us.apache.org/repos/asf/arrow/blob/0ac01a5b/python/pyarrow/__init__.py
----------------------------------------------------------------------
diff --git a/python/pyarrow/__init__.py b/python/pyarrow/__init__.py
index d4d0f00..f366317 100644
--- a/python/pyarrow/__init__.py
+++ b/python/pyarrow/__init__.py
@@ -17,6 +17,14 @@
 
 # flake8: noqa
 
+from pkg_resources import get_distribution, DistributionNotFound
+try:
+    __version__ = get_distribution(__name__).version
+except DistributionNotFound:
+   # package is not installed
+   pass
+
+
 import pyarrow.config
 
 from pyarrow.array import (Array,
@@ -43,5 +51,3 @@ from pyarrow.schema import (null, bool_,
 
 from pyarrow.table import (Column, RecordBatch, dataframe_from_batches, Table,
                            from_pandas_dataframe)
-
-from pyarrow.version import version as __version__

http://git-wip-us.apache.org/repos/asf/arrow/blob/0ac01a5b/python/setup.cfg
----------------------------------------------------------------------
diff --git a/python/setup.cfg b/python/setup.cfg
new file mode 100644
index 0000000..caae3e0
--- /dev/null
+++ b/python/setup.cfg
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[build_sphinx]
+source-dir = doc/
+build-dir  = doc/_build

http://git-wip-us.apache.org/repos/asf/arrow/blob/0ac01a5b/python/setup.py
----------------------------------------------------------------------
diff --git a/python/setup.py b/python/setup.py
index 341cc64..0f6bbda 100644
--- a/python/setup.py
+++ b/python/setup.py
@@ -42,27 +42,9 @@ is_64_bit = sys.maxsize > 2**32
 if Cython.__version__ < '0.19.1':
     raise Exception('Please upgrade to Cython 0.19.1 or newer')
 
-VERSION = '0.1.0'
-ISRELEASED = False
-
-if not ISRELEASED:
-    VERSION += '.dev'
-
 setup_dir = os.path.abspath(os.path.dirname(__file__))
 
 
-def write_version_py(filename=os.path.join(setup_dir, 'pyarrow/version.py')):
-    a = open(filename, 'w')
-    file_content = "\n".join(["",
-                              "# THIS FILE IS GENERATED FROM SETUP.PY",
-                              "version = '%(version)s'",
-                              "isrelease = '%(isrelease)s'"])
-
-    a.write(file_content % {'version': VERSION,
-                            'isrelease': str(ISRELEASED)})
-    a.close()
-
-
 class clean(_clean):
 
     def run(self):
@@ -261,15 +243,12 @@ class build_ext(_build_ext):
         return [self._get_cmake_ext_path(name)
                 for name in self.get_names()]
 
-write_version_py()
-
 DESC = """\
 Python library for Apache Arrow"""
 
 setup(
     name="pyarrow",
     packages=['pyarrow', 'pyarrow.tests'],
-    version=VERSION,
     zip_safe=False,
     package_data={'pyarrow': ['*.pxd', '*.pyx']},
     # Dummy extension to trigger build_ext
@@ -279,6 +258,8 @@ setup(
         'clean': clean,
         'build_ext': build_ext
     },
+    use_scm_version = {"root": "..", "relative_to": __file__},
+    setup_requires=['setuptools_scm', 'setuptools_scm_git_archive'],
     install_requires=['cython >= 0.23', 'numpy >= 1.9', 'six >= 1.0.0'],
     description=DESC,
     license='Apache License, Version 2.0',