docker run --rm \
ghcr.io/aboutcode-org/healthycode:0.1.1 \
/opt/healthycode/.venv/bin/grimoirelab-metrics https://github.com/aboutcode/example.git \
--grimoirelab-url http://localhost:8000 \
--grimoirelab-user user --grimoirelab-password password \
--opensearch-url https://127.0.0.1:9200 \
--opensearch-index events \
--opensearch-user 'admin' --opensearch-password 'admin' \
--verify-certs --opensearch-ca-certs /path/to/ca.pem \
--from-date 2024-01-01 --to-date 2025-01-01 \
--repository-timeout 3600 \
--code-file-pattern "\.py$|\.js$" \
--binary-file-pattern "\.exe$|\.tar$" \
--pony-threshold 0.5 \
--elephant-threshold 0.5 \
--dev-categories-thresholds 0.8 0.95 \
--grimoirelab-ecosystem "npm-training-set" \
--grimoirelab-project "npm-popular-components" \
--output metrics.json
2026-09-17 10:42:16,460 - INFO - Found 1 git repositories
2026-09-17 10:42:16,461 - INFO - Scheduling data collection tasks with GrimoireLab
2026-09-17 10:42:18,187 - INFO - Data collection finished for 1/1 repositories
Traceback (most recent call last):
File "/usr/local/lib/python3.13/importlib/metadata/__init__.py", line 407, in from_name
return next(iter(cls.discover(name=name)))
StopIteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/healthycode/.venv/bin/grimoirelab-metrics", line 6, in <module>
sys.exit(grimoirelab_metrics())
~~~~~~~~~~~~~~~~~~~^^
File "/opt/healthycode/.venv/lib/python3.13/site-packages/click/core.py", line 1569, in __call__
return self.main(*args, **kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/healthycode/.venv/lib/python3.13/site-packages/click/core.py", line 1490, in main
rv = self.invoke(ctx)
File "/opt/healthycode/.venv/lib/python3.13/site-packages/click/core.py", line 1353, in invoke
return ctx.invoke(self.callback, **ctx.params)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/healthycode/.venv/lib/python3.13/site-packages/click/core.py", line 907, in invoke
return callback(*args, **kwargs)
File "/opt/healthycode/.venv/lib/python3.13/site-packages/grimoirelab_metrics/cli.py", line 213, in grimoirelab_metrics
"version": version("grimoirelab-metrics"),
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/importlib/metadata/__init__.py", line 987, in version
return distribution(distribution_name).version
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/importlib/metadata/__init__.py", line 960, in distribution
return Distribution.from_name(distribution_name)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/importlib/metadata/__init__.py", line 409, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for grimoirelab-metrics
Output after adding the correct credentials: