summaryrefslogtreecommitdiff
path: root/dev-python/elasticsearch-py
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/elasticsearch-py')
-rw-r--r--dev-python/elasticsearch-py/Manifest5
-rw-r--r--dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild186
-rw-r--r--dev-python/elasticsearch-py/metadata.xml7
3 files changed, 195 insertions, 3 deletions
diff --git a/dev-python/elasticsearch-py/Manifest b/dev-python/elasticsearch-py/Manifest
index 4f94a2b39583..12624d116612 100644
--- a/dev-python/elasticsearch-py/Manifest
+++ b/dev-python/elasticsearch-py/Manifest
@@ -1,4 +1,7 @@
+DIST elasticsearch-7.14.1-no-jdk-linux-x86_64.tar.gz 191559419 BLAKE2B c4099d2e7a121b47549b44c081f60cd966a371a01827aa19380d171619cb6ef6f30fd411f75de00d41c6a93df2c899ac9dbc5cf2bf2264d7885ace6a61cf55c3 SHA512 77dca78ba865ae74863b3b2a3cd61e8a8e4478cd02eb020184dbf89fa32cf145a6bbd1d11a1cb88c2236a3b8cdb8b0047e3c0f1a40f609f31b898c905b2c211d
DIST elasticsearch-oss-7.7.0-no-jdk-linux-x86_64.tar.gz 73216528 BLAKE2B f0f1a3d3347ea37703e90bd896b24f6e3c58406d9fb20f3607a4d08eee325b5ae293db48d1afdc208468ee775b9085a28f39f2e175b67e4881bfb61d5cb85a9a SHA512 f9b323cff078a0dc856f99efd164775a9cd0718bb0ddb6c4d4817fa53cae71748f1aec5158afa45d4b29076043cbada9743a996e685439436e93d94a9eff2768
+DIST elasticsearch-py-7.14.1.tar.gz 302277 BLAKE2B a4502edbaf1dbca9c687a32f012305fee7520555dd23f05888fcb8b82e2a9ffa3f9c5208320eca4ea8033498cd0a951003b94662b6847da664f302b8c2763004 SHA512 49b4e0cddc210e0d73cb7cb28f38dae4fd0595e22733cf017c41f50731479a1a3672307a119b067a0b5c1de3a138908e337145effd2b66bf930c2d439cd2ce0b
DIST elasticsearch-py-7.7.0.tar.gz 128862 BLAKE2B 461b7ac3bc6d96bacdc1e8595c05b4dfd3e6bad2d2d11eecaedcb3b7e96c7390fe26c47b7095b3b1e8500872cfef689a749bd7103bef352680a2cf3ef7dad350 SHA512 6da382c5056f61dde2bf509c902a4ca33548ee937d037dc977e8c8864ebc09385f630b5c99ab8b24b69390773a241786495d1c01a5684ea3892d834e7a1550b1
+EBUILD elasticsearch-py-7.14.1.ebuild 9046 BLAKE2B 357fe8cc00a22a49a1fb21ce1bc2587d7348e3599b21c37703e0916e0e06919e7c747e238a84caa9012300ca4d7627155ef0b4f9fafb3e30028ffc54160a5b44 SHA512 9ba8b963769727107777a26c3c99a7e1fe9cdee2499e05c72684b23c501b9489dfd2ffd55a5cea16452909491cd3beace108a9a5cd831d42aafe6aedc859cbee
EBUILD elasticsearch-py-7.7.0-r1.ebuild 2933 BLAKE2B caf9fe1e4229bc95b9562246f8e7f92bfdb3292f505fb58ad1582b081a93cbabfc521ece39f2333765687342c42b3d4cdc3890b2cc80600e3cd6e3f5e0941a65 SHA512 56d41ed981f93b80a9f2b6f506c2b738ab47f328448cb554580cee7a08292952f170ee0b4f9b909e7d0dae6677098e7deb09864afad2527ddd6373144d9ebbcb
-MISC metadata.xml 536 BLAKE2B aa9333de869ac4de1497243b643f8d80d7b07d1b7eb0571887a10cb0de8db7c0de61af841a28192918c14a7608b2505808b7b01b5596e320347f10cfa3b665c1 SHA512 03801c8e5ccd10d80bf3230392a3035c37bc01ac7a3b554cefeae6127b1dd14b2077ecfce70e07dd7b3ee7627cf6b6835b8e10920bfe8a955b9e1559cf693431
+MISC metadata.xml 601 BLAKE2B 56345ee1f417174399c98b5ed5ce11557b555a5ff8427bde703a455cfb6af71c3e56edf6f778981dd2684d74910f632f7a079a72b005e666fc35577943b4f500 SHA512 546374a9ba457b0f02b142d92daba3dccf39abc53f75bae9ace0a2f05187e6ff7eba7b1c3cd228176006a329e0ec403adbe51d24841c58c47479b000d41941b4
diff --git a/dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild b/dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild
new file mode 100644
index 000000000000..a164db017028
--- /dev/null
+++ b/dev-python/elasticsearch-py/elasticsearch-py-7.14.1.ebuild
@@ -0,0 +1,186 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Official Python low-level client for Elasticsearch"
+HOMEPAGE="https://github.com/elastic/elasticsearch-py"
+SRC_URI="
+ https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? (
+ https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${PV}-no-jdk-linux-x86_64.tar.gz
+ )"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="async doc test"
+
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
+ <dev-python/urllib3-2.0.0[${PYTHON_USEDEP}]
+ async? (
+ >=dev-python/aiohttp-3[${PYTHON_USEDEP}]
+ <dev-python/aiohttp-4[${PYTHON_USEDEP}]
+ )"
+DEPEND="
+ test? (
+ ${RDEPEND}
+ >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/requests-3.0.0[${PYTHON_USEDEP}]
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ virtual/jre:*
+ async? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/unasync[${PYTHON_USEDEP}]
+ )
+ )"
+
+distutils_enable_sphinx docs/sphinx dev-python/sphinx_rtd_theme
+distutils_enable_tests pytest
+
+src_prepare() {
+ default_src_prepare
+
+ if use test; then
+ local es_port="25124"
+
+ export ES_DIR="${WORKDIR}/elasticsearch-${PV}"
+ export ES_INSTANCE="gentoo-es-py-test"
+ export ES_JAVA_HOME=$(java-config -g JAVA_HOME || die)
+ export ELASTIC_PASSWORD="changeme"
+ export ELASTICSEARCH_URL="https://elastic:${ELASTIC_PASSWORD}@localhost:${es_port}"
+
+ cp -r "${S}/.ci/certs" "${ES_DIR}/config" || die
+
+ cat <<EOF > "${ES_DIR}/config/elasticsearch.yml" || die
+# Run elasticsearch on custom port
+http.port: ${es_port}
+cluster.routing.allocation.disk.threshold_enabled: false
+bootstrap.memory_lock: true
+node.attr.testattr: test
+repositories.url.allowed_urls: http://snapshot.test*
+action.destructive_requires_name: false
+ingest.geoip.downloader.enabled: false
+
+xpack.license.self_generated.type: basic
+xpack.security.enabled: true
+xpack.security.http.ssl.enabled: true
+xpack.security.http.ssl.verification_mode: certificate
+xpack.security.http.ssl.key: certs/testnode.key
+xpack.security.http.ssl.certificate: certs/testnode.crt
+xpack.security.http.ssl.certificate_authorities: certs/ca.crt
+xpack.security.transport.ssl.enabled: true
+xpack.security.transport.ssl.verification_mode: certificate
+xpack.security.transport.ssl.key: certs/testnode.key
+xpack.security.transport.ssl.certificate: certs/testnode.crt
+xpack.security.transport.ssl.certificate_authorities: certs/ca.crt
+EOF
+
+ # Set password in keystore
+ printf "y\n${ELASTIC_PASSWORD}\n" | ${ES_DIR}/bin/elasticsearch-keystore add "bootstrap.password" || die
+
+ # Deselect tests which require a non-free license in the server to succeed
+ EPYTEST_DESELECT+=(
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[token/11_invalidation[{0,1}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[token/10_basic[{1..4}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_record[{1..6}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_influencer[{1..8}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/datafeed_cat_apis[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/filter_crud[10]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/preview_data_frame_analytics[{3..5}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/custom_all_field[{0,1}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/data_frame_analytics_crud[{1,5,6,13,29,38,39,40,42,62,76,77,78,80,81,82,83}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/start_data_frame_analytics[{0,1,2,3,4,6,7,8}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_categories[{0,1,2,3,4,5,6,7}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/forecast[{1,2,3,4,5,6}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/explain_data_frame_analytics[{3,5,6,7,8}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/delete_expired_data[{0,1,2,3}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/upgrade_job_snapshot[{0,1}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/inference_processor[{0,1}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_buckets[{0,1,2,3,4,5,6,7,8,9,10,11}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/trained_model_cat_apis[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/revert_model_snapshot[{0,1}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/calendar_crud[{0,7,8,12,13,17,18}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/stop_data_frame_analytics[{0,1,2,3,4,5}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get[{0,1,2,3,4}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/preview_datafeed[{0,1,2,3,7,8,9}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/data_frame_analytics_cat_apis[{0,1,2,3}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/reset_job[{0,1}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/ml_anomalies_default_mappings[{0,1}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/get_model_snapshots[{0,1,2,3,4,5,6,7}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/get_datafeeds[{0,1,2,3}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/job_cat_apis[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[change_password/11_token[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[searchable_snapshots/10_usage[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[graph/10_basic[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[data_stream/10_data_stream_resolvability[4]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[xpack/20_info[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[authenticate/10_field_level_security[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[set_security_user/10_small_users_one_index[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[terms_enum/10_basic[{0..9}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[security/hidden-index/14_security-tokens-7_read[{0,1,2}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[security/hidden-index/13_security-tokens_read[{0,1,2}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_records[{0..6}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[ml/jobs_get_result_influencers[{0..8}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[license/20_put_license[{5,7,8}]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[license/30_enterprise_license[0]
+ test_elasticsearch/test_server/test_rest_api_spec.py::test_rest_api_spec[token/10_basic[0]
+ )
+
+ use async || EPYTEST_DESELECT+=( test_elasticsearch/test_async test_elasticsearch/test_types/async_types.py )
+ export EPYTEST_DESELECT
+ fi
+}
+
+python_test() {
+ local es_instance="gentoo-py-test"
+ local es_log="${ES_DIR}/logs/${es_instance}-${EPYTHON}.log"
+ local es_temp="${T}/es_temp-${EPYTHON}"
+ local pid="${ES_DIR}/elasticsearch.pid"
+
+ mkdir ${es_temp} || die
+
+ # start local instance of elasticsearch
+ "${ES_DIR}"/bin/elasticsearch -d -p "${pid}" -Ecluster.name=${es_instance}-${EPYTHON} -Epath.repo=${es_temp}|| die
+
+ local i
+ local es_started=0
+ for i in {1..20}; do
+ grep -q "started" ${es_log} 2> /dev/null
+ if [[ $? -eq 0 ]]; then
+ einfo "Elasticsearch started"
+ es_started=1
+ eend 0
+ break
+ elif grep -q 'BindException\[Address already in use\]' "${es_log}" 2>/dev/null; then
+ eend 1
+ eerror "Elasticsearch already running"
+ die "Cannot start Elasticsearch for tests"
+ else
+ einfo "Waiting for Elasticsearch"
+ eend 1
+ sleep 2
+ continue
+ fi
+ done
+
+ [[ $es_started -eq 0 ]] && die "Elasticsearch failed to start"
+
+ epytest
+
+ pkill -F ${pid} || die
+}
diff --git a/dev-python/elasticsearch-py/metadata.xml b/dev-python/elasticsearch-py/metadata.xml
index eca5382633e0..94ef681d4bf7 100644
--- a/dev-python/elasticsearch-py/metadata.xml
+++ b/dev-python/elasticsearch-py/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>erkiferenc@gmail.com</email>
- <name>Ferenc Erki</name>
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
@@ -13,4 +13,7 @@
<remote-id type="github">elastic/elasticsearch-py</remote-id>
<remote-id type="pypi">elasticsearch7</remote-id>
</upstream>
+ <use>
+ <flag name="async">Add async support</flag>
+ </use>
</pkgmetadata>