Blame view

setup.py 5.42 KB
Łukasz Nowak committed
1 2 3 4
from setuptools import setup, find_packages
import glob
import os

Alain Takoudjou committed
5
version = '0.88'
Łukasz Nowak committed
6
name = 'slapos.toolbox'
Jérome Perrin committed
7
long_description = open("README.rst").read() + "\n"
Łukasz Nowak committed
8

Jérome Perrin committed
9
for f in sorted(glob.glob(os.path.join('slapos', 'README.*.rst'))):
Łukasz Nowak committed
10 11
  long_description += '\n' + open(f).read() + '\n'

Jérome Perrin committed
12 13
long_description += open("CHANGES.txt").read() + "\n"

Łukasz Nowak committed
14 15 16 17 18 19 20
# Provide a way to install additional requirements
additional_install_requires = []
try:
  import argparse
except ImportError:
  additional_install_requires.append('argparse')

Łukasz Nowak committed
21 22 23 24 25 26 27 28 29 30 31 32
setup(name=name,
      version=version,
      description="SlapOS toolbox.",
      long_description=long_description,
      classifiers=[
          "Programming Language :: Python",
        ],
      keywords='slapos toolbox',
      license='GPLv3',
      namespace_packages=['slapos'],
      packages=find_packages(),
      include_package_data=True,
Rafael Monnerat committed
33 34 35
      maintainer="Nexedi",
      maintainer_email="info@nexedi.com",
      url="https://lab.nexedi.com/nexedi/slapos.toolbox",
Łukasz Nowak committed
36 37
      install_requires=[
        'Flask', # needed by servers
Antoine Catton committed
38 39
        'atomize', # needed by pubsub
        'feedparser', # needed by pubsub
Łukasz Nowak committed
40
        'apache_libcloud>=0.4.0', # needed by cloudmgr
41
        'lockfile', # used by equeue
Łukasz Nowak committed
42 43 44 45 46 47
        'lxml', # needed for xml parsing
        'paramiko', # needed by cloudmgr
        'psutil', # needed for playing with processes in portable way
        'setuptools', # namespaces
        'slapos.core', # as it provides library for slap
        'xml_marshaller', # needed to dump information
Alain Takoudjou committed
48
        'GitPython', #needed for git manipulation into slaprunner
Thomas Gambier committed
49 50
        'croniter', # needed to know cron schedule
        'pytz', # needed to manipulate timezone
Thomas Gambier committed
51
        'tzlocal', # needed to manipulate timezone
Alain Takoudjou committed
52
        'passlib',
Cédric de Saint Martin committed
53
        'netifaces',
Alain Takoudjou committed
54
        'erp5.util',
Alain Takoudjou committed
55
        'PyRSS2Gen',
Rafael Monnerat committed
56
        'dnspython',
Alain Takoudjou committed
57
        'requests',
Alain Takoudjou committed
58
        'jsonschema',
Nicolas Wavrant committed
59
        'zc.buildout',
Alain Takoudjou committed
60
        'pycurl',
Łukasz Nowak committed
61
      ] + additional_install_requires,
Alain Takoudjou committed
62
      extras_require = {
Kazuhiko committed
63
        'lampconfigure':  ["mysqlclient"], #needed for MySQL Database access
Łukasz Nowak committed
64
        'zodbpack': ['ZODB3'], # needed to play with ZODB
Alain Takoudjou committed
65
        'flask_auth' : ["Flask-Auth"],
Alain Takoudjou committed
66
      },
Nicolas Wavrant committed
67 68 69
      tests_require = [
        'mock',
      ],
Łukasz Nowak committed
70 71 72 73
      zip_safe=False, # proxy depends on Flask, which has issues with
                      # accessing templates
      entry_points={
        'console_scripts': [
Rafael Monnerat committed
74
          'agent = slapos.agent.agent:main',
Rafael Monnerat committed
75
          'apache-mpm-watchdog = slapos.promise.apache_mpm_watchdog:main',
Hardik Juneja committed
76
          'check-computer-memory = slapos.promise.check_computer_memory:main',
Tristan Cavelier committed
77
          'check-web-page-http-cache-hit = slapos.promise.check_web_page_http_cache_hit:main',
Nicolas Wavrant committed
78
          'check-feed-as-promise = slapos.checkfeedaspromise:main',
Hardik Juneja committed
79 80
          'check-apachedex-result = slapos.promise.check_apachedex_result:main',
          'check-slow-queries-digest-result = slapos.promise.check_slow_queries_digest_result:main',
Łukasz Nowak committed
81 82 83 84 85 86 87
          'clouddestroy = slapos.cloudmgr.destroy:main',
          'cloudgetprivatekey = slapos.cloudmgr.getprivatekey:main',
          'cloudgetpubliciplist = slapos.cloudmgr.getpubliciplist:main',
          'cloudlist = slapos.cloudmgr.list:main',
          'cloudmgr = slapos.cloudmgr.cloudmgr:main',
          'cloudstart = slapos.cloudmgr.start:main',
          'cloudstop = slapos.cloudmgr.stop:main',
Cédric de Saint Martin committed
88
          'equeue = slapos.equeue:main',
Nicolas Wavrant committed
89
          'generatefeed = slapos.generatefeed:main',
Cédric Le Ninivin committed
90
          'htpasswd = slapos.htpasswd:main',
Tristan Cavelier committed
91
          'is-local-tcp-port-opened = slapos.promise.is_local_tcp_port_opened:main',
Tristan Cavelier committed
92
          'is-process-older-than-dependency-set = slapos.promise.is_process_older_than_dependency_set:main',
Julien Muchembled committed
93
          'killpidfromfile = slapos.systool:killpidfromfile', # BBB
Alain Takoudjou committed
94 95
          'monitor.bootstrap = slapos.monitor.monitor:main',
          'monitor.collect = slapos.monitor.collect:main',
Rafael Monnerat committed
96
          'monitor.statistic = slapos.monitor.build_statistic:main',
Alain Takoudjou committed
97 98
          'monitor.runpromise = slapos.monitor.runpromise:main',
          'monitor.genstatus = slapos.monitor.globalstate:main',
Alain Takoudjou committed
99
          'monitor.configwrite = slapos.monitor.monitor_config_write:main',
100 101
          'runResiliencyUnitTestTestNode = slapos.resiliencytest:runUnitTest',
          'runResiliencyScalabilityTestNode = slapos.resiliencytest:runResiliencyTest',
Hardik Juneja committed
102
          'runApacheDex = slapos.apachedex:main',
Cédric de Saint Martin committed
103
          'lampconfigure = slapos.lamp:run [lampconfigure]',
Nicolas Delaby committed
104
          'onetimedownload = slapos.onetimedownload:main',
Cédric de Saint Martin committed
105 106 107
          'onetimeupload = slapos.onetimeupload:main',
          'pubsubnotifier = slapos.pubsub.notifier:main',
          'pubsubserver = slapos.pubsub:main',
Cédric de Saint Martin committed
108
          'qemu-qmp-client = slapos.qemuqmpclient:main',
Nicolas Wavrant committed
109
          'rdiffbackup.genstatrss = slapos.resilient.rdiffBackupStat2RSS:main',
Nicolas Wavrant committed
110
          'runner-exporter = slapos.resilient.runner_exporter:runExport',
Nicolas Wavrant committed
111
          'runner-importer-post-notification-run = slapos.resilient.runner_importer:postNotificationRun',
Nicolas Wavrant committed
112
          'backup-identity-script-excluding-path = slapos.resilient.identity_script_excluding_path:calculateSignature',
Alain Takoudjou committed
113
          'securedelete = slapos.securedelete:main',
Julien Muchembled committed
114
          'slapos-kill = slapos.systool:kill',
Alain Takoudjou committed
115
          'slaprunnertest = slapos.runner.runnertest:main',
116
          'slaprunnerteststandalone = slapos.runner.runnertest:runStandaloneUnitTest',
Łukasz Nowak committed
117
          'zodbpack = slapos.zodbpack:run [zodbpack]',
Rafael Monnerat committed
118 119
          'networkbench = slapos.networkbench:main',
          'cachechecker = slapos.cachechecker:web_checker_utility'
Łukasz Nowak committed
120 121
        ]
      },
Rafael Monnerat committed
122
      test_suite='slapos.test',
Rafael Monnerat committed
123
    )