[ovs-dev] [PATCH] Add setuptools for Python lib for PyPI

Terry Wilson twilson at redhat.com
Sun Mar 29 03:55:06 UTC 2015


This adds very basic support for setuptools so that the OVS Python
lib can be added to PyPI.

This currently uses the Open vSwitch version number and the
generated dirs.py, though there is no real reason to tie the
Python libraries releases or version numbers to the main project's.
---
 python/.gitignore  |  2 ++
 python/README.rst  |  1 +
 python/automake.mk |  6 ++++++
 python/setup.py    | 34 ++++++++++++++++++++++++++++++++++
 4 files changed, 43 insertions(+)
 create mode 100644 python/.gitignore
 create mode 100644 python/README.rst
 create mode 100644 python/setup.py

diff --git a/python/.gitignore b/python/.gitignore
new file mode 100644
index 0000000..60ace6f
--- /dev/null
+++ b/python/.gitignore
@@ -0,0 +1,2 @@
+dist/
+*.egg-info
diff --git a/python/README.rst b/python/README.rst
new file mode 100644
index 0000000..4f4742c
--- /dev/null
+++ b/python/README.rst
@@ -0,0 +1 @@
+Python library for working with Open vSwitch
diff --git a/python/automake.mk b/python/automake.mk
index f6ab606..7053eff 100644
--- a/python/automake.mk
+++ b/python/automake.mk
@@ -62,6 +62,12 @@ ovs-install-data-local:
 	$(MKDIR_P) $(DESTDIR)$(pkgdatadir)/python/ovs
 	$(INSTALL_DATA) python/ovs/dirs.py.tmp $(DESTDIR)$(pkgdatadir)/python/ovs/dirs.py
 	rm python/ovs/dirs.py.tmp
+
+python-sdist: $(srcdir)/python/ovs/version.py $(ovs_pyfiles) python/ovs/dirs.py
+	(cd python/ && $(PYTHON) setup.py sdist)
+
+pypi-upload: $(srcdir)/python/ovs/version.py $(ovs_pyfiles) python/ovs/dirs.py
+	(cd python/ && $(PYTHON) setup.py sdist upload)
 else
 ovs-install-data-local:
 	@:
diff --git a/python/setup.py b/python/setup.py
new file mode 100644
index 0000000..3e543b1
--- /dev/null
+++ b/python/setup.py
@@ -0,0 +1,34 @@
+from __future__ import print_function
+import sys
+
+import setuptools
+
+VERSION = "unknown"
+
+try:
+    # Try to set the version from the generated ovs/version.py
+    execfile("ovs/version.py")
+except IOError:
+    print("Ensure version.py is created by running make python/ovs/version.py",
+          file=sys.stderr)
+    sys.exit(-1)
+
+
+setuptools.setup(
+    name='ovs',
+    description='Open vSwitch library',
+    version=VERSION,
+    url='http://www.openvswitch.org/',
+    author='Open vSwitch',
+    author_email='dev at openvswitch.org',
+    packages=['ovs', 'ovs.db', 'ovs.unixctl'],
+    keywords=['openvswitch', 'ovs', 'OVSDB'],
+    license='Apache 2.0',
+    classifiers=[
+        'Development Status :: 5 - Production/Stable',
+        'Topic :: Database :: Front-Ends',
+        'Topic :: Software Development :: Libraries :: Python Modules',
+        'Topic :: System :: Networking',
+        'License :: OSI Approved :: Apache Software License'
+    ]
+)
-- 
1.9.3




More information about the dev mailing list