setup.py 4.83 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.109'
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
        'setuptools_scm', # needed for jsonschema
44
        'passlib',
45
        'netifaces',
46
        'erp5.util',
47
        'PyRSS2Gen',
48
        'dnspython',
49
        'requests',
50
        'jsonschema',
51
        'zc.buildout',
52
        'pycurl',
Julien Muchembled's avatar
Julien Muchembled committed
53
        'six',
54
        'cryptography',
Julien Muchembled's avatar
Julien Muchembled committed
55
      ),
56
      extras_require = {
57
        'lampconfigure':  ["mysqlclient"], #needed for MySQL Database access
58
        'zodbpack': ['ZODB3'], # needed to play with ZODB
59
        'flask_auth' : ["Flask-Auth"],
60
      },
61 62
      tests_require = [
        'mock',
63
        'cryptography',
64
      ],
65 66 67 68
      zip_safe=False, # proxy depends on Flask, which has issues with
                      # accessing templates
      entry_points={
        'console_scripts': [
69
          'agent = slapos.agent.agent:main',
70
          'apache-mpm-watchdog = slapos.promise.apache_mpm_watchdog:main',
71
          'check-computer-memory = slapos.promise.check_computer_memory:main',
72
          'check-web-page-http-cache-hit = slapos.promise.check_web_page_http_cache_hit:main',
73
          'check-feed-as-promise = slapos.checkfeedaspromise:main',
74 75
          'check-apachedex-result = slapos.promise.check_apachedex_result:main',
          'check-slow-queries-digest-result = slapos.promise.check_slow_queries_digest_result:main',
76
          'equeue = slapos.equeue:main',
77
          'generatefeed = slapos.generatefeed:main',
78
          'htpasswd = slapos.htpasswd:main',
79
          'is-local-tcp-port-opened = slapos.promise.is_local_tcp_port_opened:main',
80
          'is-process-older-than-dependency-set = slapos.promise.is_process_older_than_dependency_set:main',
81
          'killpidfromfile = slapos.systool:killpidfromfile', # BBB
82 83
          'monitor.bootstrap = slapos.monitor.monitor:main',
          'monitor.collect = slapos.monitor.collect:main',
84
          'monitor.statistic = slapos.monitor.build_statistic:main',
85 86
          'monitor.runpromise = slapos.monitor.runpromise:main',
          'monitor.genstatus = slapos.monitor.globalstate:main',
87
          'monitor.configwrite = slapos.monitor.monitor_config_write:main',
88 89
          'runResiliencyUnitTestTestNode = slapos.resiliencytest:runUnitTest',
          'runResiliencyScalabilityTestNode = slapos.resiliencytest:runResiliencyTest',
Hardik Juneja's avatar
Hardik Juneja committed
90
          'runApacheDex = slapos.apachedex:main',
91
          'lampconfigure = slapos.lamp:run [lampconfigure]',
Nicolas Delaby's avatar
Nicolas Delaby committed
92
          'onetimedownload = slapos.onetimedownload:main',
93 94 95
          'onetimeupload = slapos.onetimeupload:main',
          'pubsubnotifier = slapos.pubsub.notifier:main',
          'pubsubserver = slapos.pubsub:main',
96
          'qemu-qmp-client = slapos.qemuqmpclient:main',
97
          'rdiffbackup.genstatrss = slapos.resilient.rdiffBackupStat2RSS:main',
98
          'runner-exporter = slapos.resilient.runner_exporter:runExport',
99
          'runner-importer-post-notification-run = slapos.resilient.runner_importer:postNotificationRun',
100
          'backup-identity-script-excluding-path = slapos.resilient.identity_script_excluding_path:calculateSignature',
101
          'securedelete = slapos.securedelete:main',
102
          'slapos-kill = slapos.systool:kill',
103
          'slaprunnertest = slapos.runner.runnertest:main',
104
          'slaprunnerteststandalone = slapos.runner.runnertest:runStandaloneUnitTest',
105
          'zodbpack = slapos.zodbpack:run [zodbpack]',
106 107
          'networkbench = slapos.networkbench:main',
          'cachechecker = slapos.cachechecker:web_checker_utility'
108 109
        ]
      },
110
      test_suite='slapos.test',
Rafael Monnerat's avatar
Rafael Monnerat committed
111
    )