setup.py 3.14 KB
Newer Older
Adrien Di Mascio's avatar
Adrien Di Mascio committed
1
#!/usr/bin/env python
Sylvain Thénault's avatar
Sylvain Thénault committed
2
# pylint: disable=W0142,W0403,W0404,W0613,W0622,W0622,W0704,R0904,C0103,E0611
Adrien Di Mascio's avatar
Adrien Di Mascio committed
3
#
4
# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
5
6
7
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This file is part of CubicWeb.
Adrien Di Mascio's avatar
Adrien Di Mascio committed
8
#
9
10
11
12
13
# CubicWeb is free software: you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation, either version 2.1 of the License, or (at your option)
# any later version.
#
14
# CubicWeb is distributed in the hope that it will be useful, but WITHOUT
Adrien Di Mascio's avatar
Adrien Di Mascio committed
15
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16
17
# FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
# details.
Adrien Di Mascio's avatar
Adrien Di Mascio committed
18
#
19
20
21
22
# You should have received a copy of the GNU Lesser General Public License along
# with CubicWeb.  If not, see <http://www.gnu.org/licenses/>.
"""Generic Setup script, takes package info from __pkginfo__.py file
"""
Adrien Di Mascio's avatar
Adrien Di Mascio committed
23

24
import io
25
from os.path import dirname, join
Adrien Di Mascio's avatar
Adrien Di Mascio committed
26

27
from setuptools import setup, find_packages
28

29

30
31
here = dirname(__file__)

32
# import required features
33
34
35
36
37
38
39
40
41
42
43
pkginfo = join(here, 'cubicweb', '__pkginfo__.py')
__pkginfo__ = {}
with open(pkginfo) as f:
    exec(f.read(), __pkginfo__)
modname = __pkginfo__['modname']
version = __pkginfo__['version']
license = __pkginfo__['license']
description = __pkginfo__['description']
web = __pkginfo__['web']
author = __pkginfo__['author']
author_email = __pkginfo__['author_email']
44

Laurent Peuch's avatar
Laurent Peuch committed
45
with io.open('README.rst', encoding='utf-8') as f:
46
    long_description = f.read()
47
48

# import optional features
49
50
distname = __pkginfo__['distname']
package_data = __pkginfo__['package_data']
Adrien Di Mascio's avatar
Adrien Di Mascio committed
51
52


53
54
55
56
57
58
59
60
61
setup(
    name=distname,
    version=version,
    license=license,
    url=web,
    description=description,
    long_description=long_description,
    author=author,
    author_email=author_email,
62
    packages=find_packages(),
63
    package_data=package_data,
64
    include_package_data=True,
65
    install_requires=[
66
67
        'logilab-common >= 1.8.0, < 2.0.0',
        'logilab-mtconverter >= 0.9.2, < 1.0.0',
68
        'rql >= 0.37.0, < 1.0.0',
69
        'yams >= 0.45.3, < 1.0.0',
70
        'lxml',
71
        'logilab-database >= 1.18.0, < 2.0.0',
72
        'passlib >= 1.7',
73
74
        'pytz',
        'Markdown',
75
        'markdown-urlize',
76
        'filelock',
77
78
        'rdflib',
        'rdflib-jsonld',
79
        'pyramid >= 1.5.0,<2',
80
        'waitress >= 1.4.0,<2',
81
82
83
        'wsgicors >= 0.3',
        'pyramid_multiauth',
        'repoze.lru',
84
        'cachetools',
85
    ],
86
    entry_points={
87
88
89
        'console_scripts': [
            'cubicweb-ctl = cubicweb.cwctl:run',
        ],
90
        'paste.app_factory': [
91
            'pyramid_main=cubicweb.pyramid:pyramid_app',
92
93
        ],
    },
94
    extras_require={
95
96
97
98
        'captcha': [
            'Pillow',
        ],
        'crypto': [
99
            'pycryptodomex',
100
101
102
103
104
105
106
        ],
        'ext': [
            'docutils >= 0.6',
        ],
        'ical': [
            'vobject >= 0.6.0',
        ],
107
        'pyramid': [],
108
109
110
111
112
113
114
        'sparql': [
            'fyzz >= 0.1.0',
        ],
        'zmq': [
            'pyzmq',
        ],
    },
115
    zip_safe=False,
Philippe Pepiot's avatar
Philippe Pepiot committed
116
    python_requires=">=3.6",
117
)