-
Notifications
You must be signed in to change notification settings - Fork 5
/
setup.py
83 lines (68 loc) · 2.65 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# This code is distributed under the GPLv3 license.
# Copyright (c) Polytechnique.org
import codecs
import os
import re
import sys
from setuptools import find_packages, setup
root_dir = os.path.abspath(os.path.dirname(__file__))
def get_version(package_name):
version_re = re.compile(r"^__version__ = [\"']([\w_.-]+)[\"']$")
package_components = package_name.split('.')
init_path = os.path.join(root_dir, *(package_components + ['__init__.py']))
with codecs.open(init_path, 'r', 'utf-8') as f:
for line in f:
match = version_re.match(line[:-1])
if match:
return match.groups()[0]
return '0.1.0'
def clean_readme(fname):
"""Cleanup README.rst for proper PyPI formatting."""
with codecs.open(fname, 'r', 'utf-8') as f:
return ''.join(
re.sub(r':\w+:`([^`]+?)( <[^<>]+>)?`', r'``\1``', line)
for line in f
if not (line.startswith('.. currentmodule') or line.startswith('.. toctree'))
)
PACKAGE = 'xorgauth'
setup(
name=PACKAGE,
version=get_version(PACKAGE),
author="Polytechnique.org dev team",
author_email="[email protected]",
description="Polytechnique.org authentication provider",
long_description=clean_readme('README.rst'),
license='AGPLv3',
keywords=['sso', 'authentication', 'authgroupex', 'openid connect'],
url='https://github.com/Polytechnique-org/%s' % PACKAGE,
download_url='http://pypi.python.org/pypi/%s/' % PACKAGE,
packages=find_packages(include=[PACKAGE, '%s.*' % PACKAGE]),
include_package_data=True,
python_requires='>=3.4.2' if sys.version_info >= (3,) else '>=2.7',
install_requires=[
'Django>=1.11,<2.3' if sys.version_info >= (3, 5) else (
'Django>=1.11,<2.1' if sys.version_info >= (3,) else 'Django>=1.11,<2.0'),
'django-oidc-provider>=0.7.0', # Version 0.7.0 has a breaking change in response types
'django-bootstrap3',
'django-zxcvbn-password',
'getconf',
],
setup_requires=[
'setuptools>=0.8',
],
classifiers=[
'Development Status :: 3 - Alpha',
'Environment :: Web Environment',
'Framework :: Django',
'License :: OSI Approved :: GNU Affero General Public License v3',
'Natural Language :: French',
'Natural Language :: English',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3 :: Only',
'Topic :: Internet :: WWW/HTTP :: Session',
'Topic :: System :: Systems Administration :: Authentication/Directory'
],
test_suite='tests',
)