libhxl
Python support library for the Humanitarian Exchange Language (HXL). See http://hxlstandard.org and https://github.com/HXLStandard/libhxl-python
Decision gist · record as of 2026-08-14
Yes, if you work with Humanitarian Exchange Language data. The package is actively maintained, has no known vulnerabilities, and provides a complete toolkit for HXL workflows. High install friction (10 dependencies) is a minor drawback, but standard for data processing libraries. Verify the unclear license status before use in proprietary contexts.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3; versions prior to 4.6 also supported Python 2.7.
- High number of dependencies (10 runtime packages) may require resolution in constrained environments.
- High install friction due to 10 runtime dependencies including requests, structlog, and xlrd3.
License · maintenance · safety
(unclear) — License treatment is unclear—no SPDX identifier or raw license metadata is present in the package metadata. The description mentions Public Domain release, but verify actual license terms before use in proprietary or restricted contexts.
last release 2024-10-25 (658 days) · last repo commit 2026-04-27 · 42 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 114,339 downloads/mo, #12,302 on PyPI
Alternatives
Verify before relying
pip install libhxl
import hxl
url = "https://example.org/dataset.csv"
data = hxl.data(url).with_rows("#country=Somalia").sort("#org")
for line in data.gen_csv():
print(line)- Exact Python version support (description states Python 3 required but does not specify minimum minor version)
- Whether all 10 runtime dependencies are truly required or some are optional
- Current maintenance cadence and release frequency beyond the last commit date
What it is and what it does
libhxl is a Python library for working with data in the Humanitarian Exchange Language (HXL) standard, a tagging system designed for humanitarian crisis data. It provides a fluent API for reading HXL-tagged datasets from URLs, files, or stdin, then filtering, transforming, and validating them using chainable operations. The library treats data transformation as lazy evaluation, processing only what is needed to minimize memory use.
The package includes both a programmatic API and command-line scripts. Developers use it to read datasets, apply filters (like selecting rows by criteria or sorting), validate against schemas, and serialize output to CSV, JSON, or raw arrays. It integrates with requests for URL handling and supports caching to reduce repeated network calls.
Use it for
- Filter and validate humanitarian crisis datasets against HXL schemas before ingestion into analysis pipelines
- Convert HXL-tagged CSV or Excel files to JSON for web applications or APIs
- Count and aggregate humanitarian data by tags (e.g., count cases by country or sector)
- Standardize and clean multi-source humanitarian datasets using HXL tag-based transformations
- Build command-line tools for humanitarian organizations to process and validate field data
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with Humanitarian Exchange Language data.
The package is actively maintained, has no known vulnerabilities, and provides a complete toolkit for HXL workflows. High install friction (10 dependencies) is a minor drawback, but standard for data processing libraries. Verify the unclear license status before use in proprietary contexts.
Install
libhxl on PyPI
Before you install
High install friction due to 10 runtime dependencies including requests, structlog, and xlrd3. The package is actively maintained with recent commits (last on 2026-04-27) and has been in development since 2015, suggesting stable API and dependency management.
Requires Python 3; versions prior to 4.6 also supported Python 2.7. High number of dependencies (10 runtime packages) may require resolution in constrained environments.
License in practice
License treatment is unclear—no SPDX identifier or raw license metadata is present in the package metadata. The description mentions Public Domain release, but verify actual license terms before use in proprietary or restricted contexts.
Quickstart
pip install libhxl
import hxl
url = "https://example.org/dataset.csv"
data = hxl.data(url).with_rows("#country=Somalia").sort("#org")
for line in data.gen_csv():
print(line)
Verify before relying
- Exact Python version support (description states Python 3 required but does not specify minimum minor version)
- Whether all 10 runtime dependencies are truly required or some are optional
- Current maintenance cadence and release frequency beyond the last commit date
Package facts
| License | Not declared unclear |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | 10 packagesjsonpath_ngplypython-dateutilpython-io-wrapperrequestsstructlogunidecodeurllib3wheelxlrd3 |
| Maintenance | Actively maintained 658 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 114,339 / month, #12,302 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: libhxl-5.2.2.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “humanitarian data exchange language”
- libhxllibhxl reads, filters, validates, and transforms data in the…
- hdx-python-countryMaps country and region codes and names, matches administrative level…
- hdx-python-utilitiesProvides a collection of utilities for Python developers covering…
Give your agent the search over MCP, or paste the wish link into any chat.
More Markup packages
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
A Python markdown parser that converts markdown to HTML following the CommonMark specification, with support for plugins and custom syntax rules.
Install it if you need reliable markdown-to-HTML conversion.
Beautiful Soup parses HTML and XML documents into a navigable tree, providing Pythonic methods to search, iterate, and modify the parsed content.
Install it if you need to parse or extract data from markup documents.
et_xmlfile writes large XML files with minimal memory overhead by serializing elements to disk as they are created, rather than holding the entire tree in memory.
Install it if incremental XML writing fits your use case; skip it if your XML documents are small or you already use lxml.
Parses and edits TOML files while preserving formatting, comments, and structure, then serializes them back with layout intact.
Install it if you're building tools that touch TOML files and user readability of the source matters.
Parses Python docstrings in ReST, Google, Numpydoc, and Epydoc formats, extracting structured information like descriptions, parameters, return types, and exceptions.
Install it if you need to programmatically read and extract structured data from Python docstrings.
See also hdx-python-country · backports.csv · pylightxl · hdx-python-utilities · babelfish · hishel · importlib · pyxlsb · phonenumbers · pyhcl