--- id: es-client version: "9.0.1" license: Apache-2.0 license_treatment: permissive maintenance: aging --- # es-client — Elasticsearch Client builder, complete with schema validation License: permissive · Maintenance: aging · Downloads: 182.6K/mo ## What it is and what it does es_client wraps the elasticsearch9 Python client to add configuration schema validation, version checking, and file-path validation for SSL certificates. It accepts configuration as a Python dictionary or YAML file, validates all keys and parameter values against a known schema, and rejects unknown or invalid settings before attempting connection. The package enforces acceptable value ranges and validates that certificate paths exist and are readable. The primary use case is applications that need to safely load Elasticsearch configuration from external sources (config files, environment variables) without risking invalid or malformed client initialization. It's built around the elasticsearch9 dependency and adds a validation layer on top of direct client construction. Use it for: - Load Elasticsearch client configuration from a YAML file with automatic validation of all parameters. - Reject invalid configuration early with clear schema errors before attempting to connect. - Validate SSL certificate paths and other file-based settings during configuration parsing. - Detect and enforce master-only node settings and Elasticsearch version compatibility checks. - Build CLI tools or services that accept Elasticsearch configuration from external sources safely. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Builds and validates Elasticsearch client connections with schema validation, version checking, and configuration file support. Yes, if you build applications that load Elasticsearch configuration from files or external sources and want schema validation before connection. The low install friction and permissive license make it a safe addition. No, if you only use hardcoded Elasticsearch client configuration or don't need validation—the elasticsearch9 client alone is sufficient. Maintenance is aging but not abandoned; expect slow update cycles. ## Install pip install es-client uv add es-client poetry add es-client ## Installing es-client Before you install: Low install friction with a pure-Python wheel. Maintenance is aging—last release was 315 days ago and the repository has minimal activity (1 star), though it remains active and supported for current Python versions. License in practice: Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions. Quickstart: from es_client import Builder config = { 'elasticsearch': { 'client': {'hosts': 'https://10.0.0.123:9200'}, 'other_settings': {'master_only': False} } } builder = Builder(configdict=config) builder.connect() client = builder.client Requires Python 3.10 or later; elasticsearch9 must be installed as a runtime dependency. Verify before relying: - Whether schema validation catches all common misconfiguration patterns in practice. - Performance characteristics when validating large or complex configuration objects. - Compatibility guarantees with specific Elasticsearch server versions beyond validation checks. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 182.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags elasticsearch client builder, elasticsearch connection validation, elasticsearch config schema, elasticsearch client setup, elasticsearch connection manager, elasticsearch configuration loader, elasticsearch client factory, elasticsearch, configuration-validation, schema-validation [View on SkillFed](https://skillfed.io/packages/es-client) · [View on PyPI](https://pypi.org/project/es-client/)