| 1 |
#!/usr/bin/env python |
|---|
| 2 |
# |
|---|
| 3 |
# AsynCluster |
|---|
| 4 |
# A cluster management server based on Twisted's Perspective Broker and a Node |
|---|
| 5 |
# Display Manager (NDM) client. The server dispatches cluster jobs and |
|---|
| 6 |
# regulates when and how much each user can use his account on any of the |
|---|
| 7 |
# cluster node workstations. |
|---|
| 8 |
# |
|---|
| 9 |
# Copyright (C) 2006-2007 by Edwin A. Suominen, http://www.eepatents.com |
|---|
| 10 |
# |
|---|
| 11 |
# This program is free software; you can redistribute it and/or modify it under |
|---|
| 12 |
# the terms of the GNU General Public License as published by the Free Software |
|---|
| 13 |
# Foundation; either version 2 of the License, or (at your option) any later |
|---|
| 14 |
# version. |
|---|
| 15 |
# |
|---|
| 16 |
# This program is distributed in the hope that it will be useful, but WITHOUT |
|---|
| 17 |
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
|---|
| 18 |
# FOR A PARTICULAR PURPOSE. See the file COPYING for more details. |
|---|
| 19 |
# |
|---|
| 20 |
# You should have received a copy of the GNU General Public License along with |
|---|
| 21 |
# this program; if not, write to the Free Software Foundation, Inc., 51 |
|---|
| 22 |
# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|---|
| 23 |
|
|---|
| 24 |
NAME = "AsynCluster" |
|---|
| 25 |
|
|---|
| 26 |
|
|---|
| 27 |
### Imports and support |
|---|
| 28 |
import ez_setup, postsetup |
|---|
| 29 |
ez_setup.use_setuptools() |
|---|
| 30 |
from setuptools import setup, find_packages |
|---|
| 31 |
|
|---|
| 32 |
|
|---|
| 33 |
### Define requirements |
|---|
| 34 |
required = [ |
|---|
| 35 |
'sAsync>=0.4', |
|---|
| 36 |
'Twisted-Goodies>=0.4', |
|---|
| 37 |
'AsynQueue>=0.2', |
|---|
| 38 |
'configobj'] |
|---|
| 39 |
|
|---|
| 40 |
|
|---|
| 41 |
### Define setup options |
|---|
| 42 |
kw = {'version':'0.4', |
|---|
| 43 |
'license':'GPL', |
|---|
| 44 |
'platforms':'OS Independent', |
|---|
| 45 |
|
|---|
| 46 |
'url':"http://foss.eepatents.com/%s/" % NAME, |
|---|
| 47 |
'author':'Edwin A. Suominen', |
|---|
| 48 |
'author_email':'ed@eepatents.com', |
|---|
| 49 |
|
|---|
| 50 |
'maintainer':'Edwin A. Suominen', |
|---|
| 51 |
'maintainer_email':'ed@eepatents.com', |
|---|
| 52 |
|
|---|
| 53 |
'install_requires':required, |
|---|
| 54 |
'packages':find_packages(exclude=["*.test"]), |
|---|
| 55 |
'scripts':['ndm', 'console', 'coreworker'], |
|---|
| 56 |
|
|---|
| 57 |
'zip_safe':True, |
|---|
| 58 |
'include_package_data':True, |
|---|
| 59 |
} |
|---|
| 60 |
|
|---|
| 61 |
kw['keywords'] = [ |
|---|
| 62 |
'Twisted', 'asynchronous', |
|---|
| 63 |
'taskqueue', 'queue', 'priority', 'tasks', 'jobs', |
|---|
| 64 |
'cluster', 'clustering', 'parallel', 'grid', |
|---|
| 65 |
'Monte Carlo', 'stochastic', 'stochastic volatility', 'modeling'] |
|---|
| 66 |
|
|---|
| 67 |
kw['classifiers'] = [ |
|---|
| 68 |
'Development Status :: 4 - Beta', |
|---|
| 69 |
'Intended Audience :: Developers', |
|---|
| 70 |
'Intended Audience :: System Administrators', |
|---|
| 71 |
'License :: OSI Approved :: GNU General Public License (GPL)', |
|---|
| 72 |
'Operating System :: OS Independent', |
|---|
| 73 |
'Programming Language :: Python', |
|---|
| 74 |
'Topic :: Software Development :: Libraries :: Python Modules', |
|---|
| 75 |
'Topic :: Software Development :: Object Brokering', |
|---|
| 76 |
'Topic :: System :: Distributed Computing', |
|---|
| 77 |
'Topic :: Terminals :: Terminal Emulators/X Terminals', |
|---|
| 78 |
'Topic :: Desktop Environment :: Window Managers', |
|---|
| 79 |
] |
|---|
| 80 |
|
|---|
| 81 |
kw['description'] = " ".join(""" |
|---|
| 82 |
Asynchronous cluster management based on the Twisted framework, with a |
|---|
| 83 |
Population Monte Carlo package included as a usage example. |
|---|
| 84 |
""".split("\n")) |
|---|
| 85 |
|
|---|
| 86 |
kw['long_description'] = " ".join(""" |
|---|
| 87 |
Asynchronous operation of a computing cluster with a Node Display Manager (NDM) |
|---|
| 88 |
that allows regular workstation usage of cluster nodes with computing jobs |
|---|
| 89 |
running behind the scenes. As a usage example, a package 'svpmc' for Population |
|---|
| 90 |
Monte Carlo inference of multivariate stochastic volatility models is included. |
|---|
| 91 |
""".split("\n")) |
|---|
| 92 |
|
|---|
| 93 |
### Finally, run the setup |
|---|
| 94 |
setup(name=NAME, **kw) |
|---|
| 95 |
postsetup.run(NAME, "daemon", "daemon") |
|---|