108 lines
3.7 KiB
Python
108 lines
3.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Licensed to Elasticsearch B.V. under one or more contributor
|
|
# license agreements. See the NOTICE file distributed with
|
|
# this work for additional information regarding copyright
|
|
# ownership. Elasticsearch B.V. licenses this file to you under
|
|
# the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
import re
|
|
from os.path import abspath, dirname, join
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
package_name = "elasticsearch"
|
|
base_dir = abspath(dirname(__file__))
|
|
|
|
with open(join(base_dir, package_name, "_version.py")) as f:
|
|
package_version = re.search(
|
|
r"__versionstr__\s+=\s+[\"\']([^\"\']+)[\"\']", f.read()
|
|
).group(1)
|
|
|
|
with open(join(base_dir, "README")) as f:
|
|
long_description = f.read().strip()
|
|
|
|
packages = [
|
|
package
|
|
for package in find_packages(where=".", exclude=("test_elasticsearch*",))
|
|
if package == package_name or package.startswith(package_name + ".")
|
|
]
|
|
|
|
install_requires = [
|
|
"urllib3>=1.21.1, <2",
|
|
"certifi",
|
|
]
|
|
tests_require = [
|
|
"requests>=2.0.0, <3.0.0",
|
|
"coverage",
|
|
"mock",
|
|
"pyyaml",
|
|
"pytest",
|
|
"pytest-cov",
|
|
]
|
|
async_require = ["aiohttp>=3,<4"]
|
|
|
|
docs_require = ["sphinx<1.7", "sphinx_rtd_theme"]
|
|
generate_require = ["black", "jinja2"]
|
|
|
|
setup(
|
|
name=package_name,
|
|
description="Python client for Elasticsearch",
|
|
license="Apache-2.0",
|
|
url="https://github.com/elastic/elasticsearch-py",
|
|
long_description=long_description,
|
|
long_description_content_type="text/x-rst",
|
|
version=package_version,
|
|
author="Honza Král, Nick Lang",
|
|
author_email="honza.kral@gmail.com, nick@nicklang.com",
|
|
maintainer="Seth Michael Larson",
|
|
maintainer_email="seth.larson@elastic.co",
|
|
project_urls={
|
|
"Documentation": "https://elasticsearch-py.readthedocs.io",
|
|
"Source Code": "https://github.com/elastic/elasticsearch-py",
|
|
"Issue Tracker": "https://github.com/elastic/elasticsearch-py/issues",
|
|
},
|
|
packages=packages,
|
|
package_data={"elasticsearch": ["py.typed", "*.pyi"]},
|
|
include_package_data=True,
|
|
zip_safe=False,
|
|
classifiers=[
|
|
"Development Status :: 5 - Production/Stable",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Intended Audience :: Developers",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 2",
|
|
"Programming Language :: Python :: 2.7",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.4",
|
|
"Programming Language :: Python :: 3.5",
|
|
"Programming Language :: Python :: 3.6",
|
|
"Programming Language :: Python :: 3.7",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
],
|
|
python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4",
|
|
install_requires=install_requires,
|
|
test_suite="test_elasticsearch.run_tests.run_all",
|
|
tests_require=tests_require,
|
|
extras_require={
|
|
"develop": tests_require + docs_require + generate_require,
|
|
"docs": docs_require,
|
|
"requests": ["requests>=2.4.0, <3.0.0"],
|
|
"async": async_require,
|
|
},
|
|
)
|