elastro-client 1.3.25__tar.gz → 1.3.26__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {elastro_client-1.3.25/elastro_client.egg-info → elastro_client-1.3.26}/PKG-INFO +1 -1
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/__init__.py +1 -1
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/server.py +19 -6
- {elastro_client-1.3.25 → elastro_client-1.3.26/elastro_client.egg-info}/PKG-INFO +1 -1
- {elastro_client-1.3.25 → elastro_client-1.3.26}/pyproject.toml +1 -1
- {elastro_client-1.3.25 → elastro_client-1.3.26}/.coveragerc +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/LICENSE +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/MANIFEST.in +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/README.md +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/docs/advanced_features.md +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/docs/api_reference.md +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/docs/cli_usage.md +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/docs/commands_reference.md +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/docs/getting_started.md +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/docs/roadmap.md +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/docs/troubleshooting.md +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/advanced/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/advanced/aggregations.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/advanced/query_builder.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/advanced/scroll.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/art.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/cli.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/cluster.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/config.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/datastream.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/document.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/gui.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/ilm.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/index.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/index_recipes.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/ingest.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/ml.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/painless_commands.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/script.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/security.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/snapshot.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/tasks.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/template.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/commands/utils.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/completion.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/cli/output.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/config/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/config/defaults.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/config/loader.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/client.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/datastream.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/document.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/document_bulk.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/errors.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/ilm.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/index.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/logger.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/query_builder.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/snapshot.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/core/validation.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/gui/assets/index-CDM13vFi.js +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/gui/assets/index-_TTaaZ3u.css +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/gui/elastro.svg +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/gui/favicon.ico +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/gui/index.html +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/gui/vite.svg +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/py.typed +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/utils/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/utils/aliases.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/utils/health.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/utils/snapshots.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro/utils/templates.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro_client.egg-info/SOURCES.txt +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro_client.egg-info/dependency_links.txt +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro_client.egg-info/entry_points.txt +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro_client.egg-info/requires.txt +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/elastro_client.egg-info/top_level.txt +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/examples/client.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/examples/config_usage.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/examples/datastreams.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/examples/debug_connection.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/examples/document_operations.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/examples/index_management.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/examples/search.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/pytest.ini +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/requirements.txt +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/setup.cfg +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/setup.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/conftest.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/fixtures/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/fixtures/datastream_fixtures.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/fixtures/document_fixtures.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/fixtures/index_fixtures.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_aggregations_integration.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_client_integration.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_datastream_integration.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_docs_quickstart.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_document_integration.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_index_integration.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_query_builder_integration.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_scroll_integration.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_workflow_integration.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/manual/test_es.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/advanced/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/advanced/test_aggregations.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/advanced/test_query_builder.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/advanced/test_scroll.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/config/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/config/test_defaults.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/config/test_loader.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/core/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/core/test_client.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/core/test_datastream.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/core/test_document.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/core/test_document_bulk.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/core/test_errors.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/core/test_index.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/core/test_validation.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/utils/__init__.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/utils/test_aliases.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/utils/test_health.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/utils/test_snapshots.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/unit/utils/test_templates.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/verify_api_actions.py +0 -0
- {elastro_client-1.3.25 → elastro_client-1.3.26}/tests/verify_cli_e2e.py +0 -0
|
@@ -534,28 +534,41 @@ class ElastroGUI:
|
|
|
534
534
|
unassigned = explain.get("unassigned_info", {})
|
|
535
535
|
|
|
536
536
|
routing_filter_fault = False
|
|
537
|
+
explanation_parts = []
|
|
537
538
|
for node_decision in explain.get(
|
|
538
539
|
"node_allocation_decisions", []
|
|
539
540
|
):
|
|
540
541
|
for decider in node_decision.get("deciders", []):
|
|
542
|
+
if decider.get("decision") == "NO":
|
|
543
|
+
msg = decider.get("explanation", "").strip()
|
|
544
|
+
if msg and msg not in explanation_parts:
|
|
545
|
+
explanation_parts.append(msg)
|
|
546
|
+
|
|
541
547
|
if decider.get(
|
|
542
548
|
"decider"
|
|
543
549
|
) == "filter" and "index.routing.allocation" in decider.get(
|
|
544
550
|
"explanation", ""
|
|
545
551
|
):
|
|
546
552
|
routing_filter_fault = True
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
553
|
+
|
|
554
|
+
alloc_explanation = explain.get("allocate_explanation", "")
|
|
555
|
+
if (
|
|
556
|
+
"Elasticsearch isn't allowed to allocate this shard"
|
|
557
|
+
in alloc_explanation
|
|
558
|
+
and explanation_parts
|
|
559
|
+
):
|
|
560
|
+
alloc_explanation = "Allocation blocked: " + " | ".join(
|
|
561
|
+
explanation_parts
|
|
562
|
+
)
|
|
563
|
+
elif not alloc_explanation:
|
|
564
|
+
alloc_explanation = "No explanation"
|
|
550
565
|
|
|
551
566
|
results.append(
|
|
552
567
|
{
|
|
553
568
|
"index": name,
|
|
554
569
|
"health": idx.get("health"),
|
|
555
570
|
"status": idx.get("status"),
|
|
556
|
-
"allocate_explanation":
|
|
557
|
-
"allocate_explanation", "No explanation"
|
|
558
|
-
),
|
|
571
|
+
"allocate_explanation": alloc_explanation,
|
|
559
572
|
"reason": unassigned.get("reason", "UNKNOWN"),
|
|
560
573
|
"routing_filter_fault": routing_filter_fault,
|
|
561
574
|
}
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "elastro-client"
|
|
7
|
-
version = "1.3.
|
|
7
|
+
version = "1.3.26"
|
|
8
8
|
description = "A comprehensive Python library for Elasticsearch management with both programmatic and CLI interfaces"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.9,<3.14"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elastro_client-1.3.25 → elastro_client-1.3.26}/elastro_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_aggregations_integration.py
RENAMED
|
File without changes
|
{elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_client_integration.py
RENAMED
|
File without changes
|
{elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_datastream_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
{elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_document_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
{elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_query_builder_integration.py
RENAMED
|
File without changes
|
{elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_scroll_integration.py
RENAMED
|
File without changes
|
{elastro_client-1.3.25 → elastro_client-1.3.26}/tests/integration/test_workflow_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|