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

Xavier Thompson's avatar
Xavier Thompson committed
5
version = '0.124'
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
test_require = ['mock', 'cryptography',]

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