setup.py 4.76 KB
Newer Older
1 2 3 4
from setuptools import setup, find_packages
import glob
import os

Łukasz Nowak's avatar
Łukasz Nowak committed
5
version = '0.105'
6
name = 'slapos.toolbox'
7
long_description = open("README.rst").read() + "\n"
8

9
for f in sorted(glob.glob(os.path.join('slapos', 'README.*.rst'))):
10 11
  long_description += '\n' + open(f).read() + '\n'

12 13
long_description += open("CHANGES.txt").read() + "\n"

14 15 16 17 18 19 20 21 22 23 24 25
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,
26 27 28
      maintainer="Nexedi",
      maintainer_email="info@nexedi.com",
      url="https://lab.nexedi.com/nexedi/slapos.toolbox",
Julien Muchembled's avatar
Julien Muchembled committed
29
      install_requires=(
30
        'Flask', # needed by servers
Antoine Catton's avatar
Antoine Catton committed
31 32
        'atomize', # needed by pubsub
        'feedparser', # needed by pubsub
33
        'lockfile', # used by equeue
34 35 36 37 38
        'lxml', # needed for xml parsing
        '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
39
        'GitPython', #needed for git manipulation into slaprunner
40 41
        'croniter', # needed to know cron schedule
        'pytz', # needed to manipulate timezone
42
        'tzlocal', # needed to manipulate timezone
43
        'passlib',
44
        'netifaces',
45
        'erp5.util',
46
        'PyRSS2Gen',
47
        'dnspython',
48
        'requests',
49
        'jsonschema',
50
        'zc.buildout',
51
        'pycurl',
Julien Muchembled's avatar
Julien Muchembled committed
52 53
        'six',
      ),
54
      extras_require = {
55
        'lampconfigure':  ["mysqlclient"], #needed for MySQL Database access
56
        'zodbpack': ['ZODB3'], # needed to play with ZODB
57
        'flask_auth' : ["Flask-Auth"],
58
      },
59 60
      tests_require = [
        'mock',
61
        'cryptography',
62
      ],
63 64 65 66
      zip_safe=False, # proxy depends on Flask, which has issues with
                      # accessing templates
      entry_points={
        'console_scripts': [
67
          'agent = slapos.agent.agent:main',
68
          'apache-mpm-watchdog = slapos.promise.apache_mpm_watchdog:main',
69
          'check-computer-memory = slapos.promise.check_computer_memory:main',
70
          'check-web-page-http-cache-hit = slapos.promise.check_web_page_http_cache_hit:main',
71
          'check-feed-as-promise = slapos.checkfeedaspromise:main',
72 73
          'check-apachedex-result = slapos.promise.check_apachedex_result:main',
          'check-slow-queries-digest-result = slapos.promise.check_slow_queries_digest_result:main',
74
          'equeue = slapos.equeue:main',
75
          'generatefeed = slapos.generatefeed:main',
76
          'htpasswd = slapos.htpasswd:main',
77
          'is-local-tcp-port-opened = slapos.promise.is_local_tcp_port_opened:main',
78
          'is-process-older-than-dependency-set = slapos.promise.is_process_older_than_dependency_set:main',
79
          'killpidfromfile = slapos.systool:killpidfromfile', # BBB
80 81
          'monitor.bootstrap = slapos.monitor.monitor:main',
          'monitor.collect = slapos.monitor.collect:main',
82
          'monitor.statistic = slapos.monitor.build_statistic:main',
83 84
          'monitor.runpromise = slapos.monitor.runpromise:main',
          'monitor.genstatus = slapos.monitor.globalstate:main',
85
          'monitor.configwrite = slapos.monitor.monitor_config_write:main',
86 87
          'runResiliencyUnitTestTestNode = slapos.resiliencytest:runUnitTest',
          'runResiliencyScalabilityTestNode = slapos.resiliencytest:runResiliencyTest',
Hardik Juneja's avatar
Hardik Juneja committed
88
          'runApacheDex = slapos.apachedex:main',
89
          'lampconfigure = slapos.lamp:run [lampconfigure]',
Nicolas Delaby's avatar
Nicolas Delaby committed
90
          'onetimedownload = slapos.onetimedownload:main',
91 92 93
          'onetimeupload = slapos.onetimeupload:main',
          'pubsubnotifier = slapos.pubsub.notifier:main',
          'pubsubserver = slapos.pubsub:main',
94
          'qemu-qmp-client = slapos.qemuqmpclient:main',
95
          'rdiffbackup.genstatrss = slapos.resilient.rdiffBackupStat2RSS:main',
96
          'runner-exporter = slapos.resilient.runner_exporter:runExport',
97
          'runner-importer-post-notification-run = slapos.resilient.runner_importer:postNotificationRun',
98
          'backup-identity-script-excluding-path = slapos.resilient.identity_script_excluding_path:calculateSignature',
99
          'securedelete = slapos.securedelete:main',
100
          'slapos-kill = slapos.systool:kill',
101
          'slaprunnertest = slapos.runner.runnertest:main',
102
          'slaprunnerteststandalone = slapos.runner.runnertest:runStandaloneUnitTest',
103
          'zodbpack = slapos.zodbpack:run [zodbpack]',
104 105
          'networkbench = slapos.networkbench:main',
          'cachechecker = slapos.cachechecker:web_checker_utility'
106 107
        ]
      },
108
      test_suite='slapos.test',
Rafael Monnerat's avatar
Rafael Monnerat committed
109
    )