From e01c8db0224edd25dd0570e42fcb02ba97be490c Mon Sep 17 00:00:00 2001
From: John Chilton <jmchilton@gmail.com>
Date: Fri, 27 Feb 2015 01:01:47 -0500
Subject: [PATCH] Project organization improvement.

 - Add a version.
 - Add a HISTORY.rst file.
 - Outline a setup.py.
 - Update .gitignore for build artifacts.
---
 .gitignore         |  2 +
 HISTORY.rst        | 22 +++++++++++
 pulsar/__init__.py |  5 ++-
 setup.py           | 96 ++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 123 insertions(+), 2 deletions(-)
 create mode 100644 HISTORY.rst
 create mode 100644 setup.py

diff --git a/.gitignore b/.gitignore
index efb470c9..e0a8a321 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,7 @@
 syntax: glob
 
+build
+dist
 docs/_build
 cache
 *.pyc
diff --git a/HISTORY.rst b/HISTORY.rst
new file mode 100644
index 00000000..a1873ea6
--- /dev/null
+++ b/HISTORY.rst
@@ -0,0 +1,22 @@
+.. :changelog:
+
+History
+-------
+
+------------------------
+0.3.0.dev0
+------------------------
+
+ * Changed named to Pulsar, moved to Github.
+ * New RESTful web services interface.
+
+---------------------
+0.2.0
+---------------------
+
+ * Last version of LWR - found on BitBucket at https://bitbucket.org/jmchilton/lwr.
+ * Still supported in Galaxy as of 15.03 the release.
+
+---------------------
+0.1.0
+---------------------
diff --git a/pulsar/__init__.py b/pulsar/__init__.py
index c0f6f287..76d1f257 100644
--- a/pulsar/__init__.py
+++ b/pulsar/__init__.py
@@ -1,2 +1,3 @@
-"""
-"""
+# -*- coding: utf-8 -*-
+
+__version__ = '0.3.0.dev0'
diff --git a/setup.py b/setup.py
new file mode 100644
index 00000000..a3096481
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,96 @@
+import re
+import ast
+try:
+    from setuptools import setup
+except ImportError:
+    from distutils.core import setup
+
+
+readme = open('README.rst').read()
+history = open('HISTORY.rst').read().replace('.. :changelog:', '')
+
+requirements = [
+    'six',
+    'webob',
+    'psutil',
+    'paste',
+    'PasteScript',
+]
+
+test_requirements = [
+    # TODO: put package test requirements here
+]
+
+
+_version_re = re.compile(r'__version__\s+=\s+(.*)')
+
+with open('pulsar/__init__.py', 'rb') as f:
+    version = str(ast.literal_eval(_version_re.search(
+        f.read().decode('utf-8')).group(1)))
+
+setup(
+    name='pulsar',
+    version=version,
+    description='Distributed job execution application built for Galaxy (http://galaxyproject.org/).',
+    long_description=readme + '\n\n' + history,
+    author='Galaxy Project',
+    author_email='jmchilton@gmail.com',
+    url='https://github.com/galaxyproject/pulsar',
+    packages=[
+        'pulsar',
+        'pulsar.cache',
+        'pulsar.client',
+        'pulsar.client.staging',
+        'pulsar.client.transport',
+        'pulsar.managers',
+        'pulsar.managers.base',
+        'pulsar.managers.staging',
+        'pulsar.managers.util',
+        'pulsar.managers.util.cli',
+        'pulsar.managers.util.cli.job',
+        'pulsar.managers.util.cli.shell',
+        'pulsar.managers.util.condor',
+        'pulsar.managers.util.drmaa',
+        'pulsar.managers.util.job_script',
+        'pulsar.mesos',
+        'pulsar.messaging',
+        'pulsar.scripts',
+        'pulsar.tools',
+        'pulsar.web',
+        'galaxy',
+        'galaxy.jobs',
+        'galaxy.jobs.metrics',
+        'galaxy.jobs.metrics.collectl',
+        'galaxy.jobs.metrics.instrumenters',
+        'galaxy.objectstore',
+        'galaxy.tools',
+        'galaxy.tools.linters',
+        'galaxy.tools.deps',
+        'galaxy.tools.deps.resolvers',
+        'galaxy.util',
+    ],
+    entry_points='''
+        [console_scripts]
+        pulsar=pulsar.main
+    ''',
+    package_dir={'pulsar': 'pulsar',
+                 'galaxy': 'galaxy'},
+    include_package_data=True,
+    install_requires=requirements,
+    license="Apache License 2.0",
+    zip_safe=False,
+    keywords='pulsar',
+    classifiers=[
+        'Development Status :: 5 - Production/Stable',
+        'Intended Audience :: Developers',
+        'Environment :: Console',
+        'License :: OSI Approved :: Apache Software License',
+        'Operating System :: POSIX',
+        'Natural Language :: English',
+        "Programming Language :: Python :: 2",
+        'Programming Language :: Python :: 2.6',
+        'Programming Language :: Python :: 2.7',
+    ],
+    test_suite='test',
+    tests_require=test_requirements
+)
-- 
GitLab