SeleniumBase/setup.py

168 lines
6.2 KiB
Python
Raw Normal View History

2015-12-05 05:11:53 +08:00
"""
2016-07-24 06:51:59 +08:00
The setup package to install SeleniumBase dependencies and plugins
2019-07-14 12:53:51 +08:00
(Uses selenium 3.x and is compatible with Python 2.7+ and Python 3.5+)
2015-12-05 05:11:53 +08:00
"""
from setuptools import setup, find_packages # noqa
import os
import sys
2018-08-28 10:21:10 +08:00
this_directory = os.path.abspath(os.path.dirname(__file__))
2018-08-28 10:21:10 +08:00
long_description = None
try:
with open(os.path.join(this_directory, 'README.md'), 'rb') as f:
2018-08-28 10:21:10 +08:00
long_description = f.read().decode('utf-8')
except IOError:
2018-12-27 15:14:24 +08:00
long_description = 'Reliable Browser Automation & Testing Framework'
2015-12-05 05:11:53 +08:00
if sys.argv[-1] == 'publish':
reply = None
input_method = input
if not sys.version_info[0] >= 3:
input_method = raw_input # noqa
reply = str(input_method(
'>>> Confirm release PUBLISH to PyPI? (yes/no): ')).lower().strip()
if reply == 'yes':
print("\n*** Checking code health with flake8:\n")
flake8_status = os.system("flake8 --exclude=temp")
if flake8_status != 0:
print("\nWARNING! Fix flake8 issues before publishing to PyPI!\n")
sys.exit()
else:
print("*** No flake8 issues detected. Continuing...")
print("\n*** Rebuilding distribution packages: ***\n")
os.system('rm -f dist/*.egg; rm -f dist/*.tar.gz; rm -f dist/*.whl')
os.system('python setup.py sdist bdist_wheel') # Create new tar/wheel
print("\n*** Installing twine: *** (Required for PyPI uploads)\n")
2019-09-19 15:40:22 +08:00
os.system("python -m pip install 'twine>=1.15.0'")
print("\n*** Publishing The Release to PyPI: ***\n")
os.system('python -m twine upload dist/*') # Requires ~/.pypirc Keys
print("\n*** The Release was PUBLISHED SUCCESSFULLY to PyPI! :) ***\n")
else:
print("\n>>> The Release was NOT PUBLISHED to PyPI! <<<\n")
sys.exit()
2015-12-05 05:11:53 +08:00
setup(
name='seleniumbase',
2020-02-21 14:59:25 +08:00
version='1.35.7',
2019-07-28 12:23:17 +08:00
description='Fast, Easy, and Reliable Browser Automation & Testing.',
2018-08-28 10:21:10 +08:00
long_description=long_description,
long_description_content_type='text/markdown',
2018-08-28 06:36:52 +08:00
url='https://github.com/seleniumbase/SeleniumBase',
platforms=["Windows", "Linux", "Unix", "Mac OS-X"],
2015-12-05 05:11:53 +08:00
author='Michael Mintz',
author_email='mdmintz@gmail.com',
2015-12-05 05:11:53 +08:00
maintainer='Michael Mintz',
2018-08-28 06:36:52 +08:00
license="MIT",
classifiers=[
"License :: OSI Approved :: MIT License",
"Development Status :: 5 - Production/Stable",
"Topic :: Internet",
"Topic :: Scientific/Engineering",
"Topic :: Software Development",
2018-09-29 06:36:28 +08:00
"Topic :: Software Development :: Quality Assurance",
"Topic :: Software Development :: Testing",
"Topic :: Software Development :: Testing :: Acceptance",
"Topic :: Software Development :: Testing :: Traffic Generation",
"Topic :: Utilities",
2019-06-26 15:31:45 +08:00
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
2018-08-28 06:36:52 +08:00
"Operating System :: Microsoft :: Windows",
"Operating System :: Unix",
"Operating System :: MacOS",
2018-11-22 03:39:38 +08:00
"Framework :: Pytest",
2018-08-28 06:36:52 +08:00
"Programming Language :: Python",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
2018-08-28 06:36:52 +08:00
],
install_requires=[
2020-01-25 00:04:01 +08:00
'pip>=20.0.2',
'setuptools',
'setuptools-scm',
2019-07-14 12:53:33 +08:00
'wheel',
2018-10-19 07:00:46 +08:00
'six',
'nose',
'ipdb',
2020-02-21 14:57:01 +08:00
'idna==2.9', # Must stay in sync with "requests"
2019-05-09 13:58:48 +08:00
'chardet==3.0.4', # Must stay in sync with "requests"
'urllib3==1.25.8', # Must stay in sync with "requests"
2020-02-21 14:57:01 +08:00
'requests==2.23.0',
2019-05-09 13:58:48 +08:00
'selenium==3.141.0',
'pluggy>=0.13.1',
'attrs>=19.3.0',
2020-01-05 07:57:49 +08:00
'pytest>=4.6.9;python_version<"3"', # For Python 2 compatibility
2020-01-31 17:18:16 +08:00
'pytest>=5.3.5;python_version>="3"',
2019-10-07 12:08:54 +08:00
'pytest-cov>=2.8.1',
2019-10-23 12:32:47 +08:00
'pytest-forked>=1.1.3',
2019-11-29 13:38:05 +08:00
'pytest-html==1.22.1;python_version<"3.6"',
'pytest-html==2.0.1;python_version>="3.6"',
'pytest-metadata>=1.8.0',
2019-05-08 14:18:08 +08:00
'pytest-ordering>=0.6',
2019-11-19 15:56:21 +08:00
'pytest-rerunfailures>=8.0',
'pytest-xdist>=1.31.0',
'parameterized>=0.7.1',
'soupsieve==1.9.5;python_version<"3.5"',
'soupsieve==2.0;python_version>="3.5"',
'beautifulsoup4==4.8.2',
2019-12-07 14:53:46 +08:00
'atomicwrites==1.3.0',
'portalocker==1.5.2',
'cryptography==2.8',
2020-01-05 07:57:49 +08:00
'asn1crypto==1.3.0',
2019-12-07 14:53:46 +08:00
'pyopenssl==19.1.0',
2020-01-25 00:04:01 +08:00
'packaging>=20.1',
2019-12-02 15:01:48 +08:00
'pygments>=2.5.2',
2019-12-19 16:15:49 +08:00
'colorama==0.4.3',
2020-01-13 15:58:50 +08:00
'coverage>=5.0.3',
2019-12-07 14:53:46 +08:00
'pymysql==0.9.3',
'pyotp==2.3.0',
'boto==2.49.0',
2020-02-18 15:07:37 +08:00
'cffi>=1.14.0',
2020-02-21 14:57:01 +08:00
'tqdm>=4.43.0',
2019-12-07 14:53:46 +08:00
'flake8==3.7.9',
2019-12-02 15:01:48 +08:00
'certifi>=2019.11.28',
2020-01-05 07:57:49 +08:00
'pdfminer.six==20191110;python_version<"3.5"',
2020-01-25 00:04:01 +08:00
'pdfminer.six==20200124;python_version>="3.5"',
2018-08-30 13:57:40 +08:00
],
packages=[
'seleniumbase',
'seleniumbase.common',
'seleniumbase.config',
'seleniumbase.console_scripts',
'seleniumbase.core',
'seleniumbase.drivers',
'seleniumbase.extensions',
2018-08-30 13:57:40 +08:00
'seleniumbase.fixtures',
'seleniumbase.masterqa',
'seleniumbase.plugins',
'seleniumbase.utilities',
'seleniumbase.utilities.selenium_grid',
'seleniumbase.utilities.selenium_ide',
'seleniumbase.virtual_display',
2018-08-30 13:57:40 +08:00
],
include_package_data=True,
2015-12-05 05:11:53 +08:00
entry_points={
'console_scripts': [
'seleniumbase = seleniumbase.console_scripts.run:main',
],
2015-12-05 05:11:53 +08:00
'nose.plugins': [
'base_plugin = seleniumbase.plugins.base_plugin:Base',
'selenium = seleniumbase.plugins.selenium_plugin:SeleniumBrowser',
'page_source = seleniumbase.plugins.page_source:PageSource',
'screen_shots = seleniumbase.plugins.screen_shots:ScreenShots',
'test_info = seleniumbase.plugins.basic_test_info:BasicTestInfo',
2015-12-09 05:33:44 +08:00
('db_reporting = '
'seleniumbase.plugins.db_reporting_plugin:DBReporting'),
2015-12-05 05:11:53 +08:00
's3_logging = seleniumbase.plugins.s3_logging_plugin:S3Logging',
2018-08-30 13:57:40 +08:00
],
'pytest11': ['seleniumbase = seleniumbase.plugins.pytest_plugin']
2018-08-30 13:57:40 +08:00
}
)
2018-03-20 04:55:06 +08:00
# print(os.system("cat seleniumbase.egg-info/PKG-INFO"))
print("\n*** SeleniumBase Installation Complete! ***\n")