-
Notifications
You must be signed in to change notification settings - Fork 509
/
Copy pathsetup.py
60 lines (48 loc) · 1.88 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
# Copyright 2012 splinter authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
import os
from setuptools import find_packages
from setuptools import setup
def read(filename: str) -> str:
path = os.path.join(os.path.dirname(__file__), filename)
with open(path) as f:
return f.read()
def get_version_data() -> dict:
data = {}
path = os.path.join(os.path.dirname(__file__), "splinter", "version.py")
with open(path) as fp:
exec(fp.read(), data)
return data
version_data = get_version_data()
setup(
name="splinter",
version=version_data["__version__"],
url="https://github.com/cobrateam/splinter",
description="browser abstraction for web acceptance testing",
long_description=read("README.rst"),
author="CobraTeam",
author_email="[email protected]",
license="BSD",
classifiers=[
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3",
]
+ [("Programming Language :: Python :: %s" % x) for x in "3.8 3.9 3.10 3.11 3.12".split()],
project_urls={
"Documentation": "https://splinter.readthedocs.io/",
"Changelog": "https://github.com/cobrateam/splinter/tree/master/docs/news",
"Source": "https://github.com/cobrateam/splinter/",
"Tracker": "https://github.com/cobrateam/splinter/issues",
},
packages=find_packages(exclude=["docs", "tests", "samples"]),
include_package_data=True,
install_requires=["urllib3 >=1.26.14,<3.0"],
extras_require={
"zope.testbrowser": ["zope.testbrowser>=6.0", "lxml>=4.2.4", "cssselect"],
"django": ["Django>=2.0.6", "lxml>=4.2.4", "cssselect"],
"flask": ["Flask>=2.3.2", "lxml>=4.2.4", "cssselect"],
"selenium": ["selenium>=4.1.0,<4.16.0"],
},
tests_require=["coverage", "flask"],
)