CLI tools for the Exa-MA project, including harvesting publications and deliverable releases.
Package name: exa-ma-tools
# With uv (recommended)
uv venv .venv
source .venv/bin/activate
uv pip install -e .
# With pip
pip install -e .# Output AsciiDoc to stdout
exa-ma-harvest-hal
# Save to file
exa-ma-harvest-hal -o publications.adoc
# JSON format
exa-ma-harvest-hal -f json -o publications.json
# Filter by years
exa-ma-harvest-hal -y 2024,2025HAL output now includes both the raw HAL document type (type / hal_doc_type) and a normalized, user-friendly publication type:
publication_type(e.g.preprint,journal-article,conference-paper,report)publication_type_label(e.g. "Preprint / unpublished", "Article in journal", "Conference paper")
# Output AsciiDoc to stdout
exa-ma-harvest-releases
# Save to file
exa-ma-harvest-releases -o deliverables.adoc
# Show only latest releases
exa-ma-harvest-releases --latest-only
# Custom config file
exa-ma-harvest-releases -c custom-deliverables.yaml# Run all harvesting operations
exa-ma-harvest-all all --output-dir ./output
# Just HAL
exa-ma-harvest-all hal -o publications.adoc
# Just releases
exa-ma-harvest-all releases -o deliverables.adocEdit deliverables.yaml to configure which deliverable repositories to harvest:
settings:
max_releases: 5
include_prereleases: false
deliverables:
- id: "D7.1"
repo: "numpex/exa-ma-d7.1"
title: "Research, Software Development & Benchmarking"
featured_versions:
- "v2.0.0"
- "v1.1.1"# Install dev dependencies
uv pip install -e ".[dev]"
# Run linting
ruff check .
# Run type checking
mypy .