Skip to content

Commit

Permalink
update README
Browse files Browse the repository at this point in the history
  • Loading branch information
seebi committed Dec 16, 2024
1 parent 2b6fd2a commit 2172e69
Showing 1 changed file with 35 additions and 5 deletions.
40 changes: 35 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Create an up-to-date list of Corporate Memory plugin packages.
This repository contains an up-to-date list of Python packages starting with the prefix `cmem-plugin`, fetched from [PyPI](https://pypi.org).
It is updated daily through an automated GitHub Action, which queries the PyPI simple index and gathers details for all plugins starting with `cmem-plugin`.

[![workflow](https://github.com/eccenca/cmem-plugin-index/actions/workflows/check.yml/badge.svg)](https://github.com/eccenca/cmem-plugin-index/actions)
[![poetry][poetry-shield]][poetry-link] [![ruff][ruff-shield]][ruff-link] [![mypy][mypy-shield]][mypy-link] [![copier][copier-shield]][copier]
[![workflow](https://github.com/eccenca/cmem-plugin-index/actions/workflows/check.yml/badge.svg)](https://github.com/eccenca/cmem-plugin-index/actions)
[![poetry][poetry-shield]][poetry-link] [![ruff][ruff-shield]][ruff-link] [![mypy][mypy-shield]][mypy-link] [![copier][copier-shield]][copier]

## Development

Expand All @@ -16,15 +16,15 @@ It is updated daily through an automated GitHub Action, which queries the PyPI s

## Repository Structure

- `src/`: Contains the Python script (`plugin_info.py`) that queries PyPI and fetches details of plugins starting with `cmem-plugin`.
- `cmem_plugin_index//`: Contains the Python package, a CLI that queries PyPI and fetches details of plugins.
- `data/`: Stores the generated JSON file (`plugins_info.json`) with details about each `cmem-plugin` package, including the package ID, name, summary, and latest version.
- `.github/`: Contains GitHub Actions workflow files that automate the daily updates.
- `README.md`: This file.

## How It Works

1. **GitHub Action**: The `update_plugins.yml` workflow in the `.github/workflows/` directory runs daily to fetch the list of `cmem-plugin` packages from PyPI and save the information into a `plugins_info.json` file in the `data/` folder.
1. **GitHub Action**: The `update_plugins.yml` workflow in the `.github/workflows/` directory runs daily to fetch the list of `cmem-plugin` packages from pypi.org and saves the information into a `plugins_info.json` file in the `data/` folder.

2. **Plugin Information**: The script fetches the following details for each plugin:
- **ID**: The package name.
- **Name**: The display name of the package.
Expand All @@ -38,6 +38,36 @@ It is updated daily through an automated GitHub Action, which queries the PyPI s

You can manually trigger the GitHub Action by going to the **Actions** tab of this repository and selecting the **Update CMEM Plugin List** workflow. From there, you can click the **Run workflow** button.

You can also use the command line directly:

```
$ poetry install
Installing dependencies from lock file
...
$ poetry run cmem-plugin-index --help
Usage: cmem-plugin-index [OPTIONS] OUTPUT_FILE
Fetch and save a list of plugin details from pypi.org
Options:
--prefix TEXT Prefix of the packages to fetch. [default: cmem-plugin-]
--ignore TEXT Ignore given packages. [default: cmem-plugin-base, cmem-
client]
--help Show this message and exit.
$ poetry run cmem-plugin-index data/plugins_info.json
2024-12-16 16:47:38.499 | WARNING | cmem_plugin_index.cli:cli:28 - Output file data/plugins_info.json exists, will overwrite it
2024-12-16 16:47:38.499 | INFO | cmem_plugin_index.plugin_info:get_package_names:14 - Start fetching plugin names from pypi.org
2024-12-16 16:47:47.319 | INFO | cmem_plugin_index.plugin_info:get_package_names:20 - Got 593112 package names from pypi.org
2024-12-16 16:47:47.348 | INFO | cmem_plugin_index.plugin_info:get_package_names_with_prefix:28 - Found 25 packages with prefix 'cmem-plugin-' (ignoring ('cmem-plugin-base', 'cmem-client'))
2024-12-16 16:47:51.984 | INFO | cmem_plugin_index.cli:cli:39 - Data saved to data/plugins_info.json
```

Be aware that cmemc itself fetches the information from [download.eccenca.com](https://download.eccenca.com/cmem-plugin-index/cmem-plugin-index.json).
Uploading the JSON dataset to this host is part of the github action mentioned above.


[poetry-link]: https://python-poetry.org/
[poetry-shield]: https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json
[ruff-link]: https://docs.astral.sh/ruff/
Expand Down

0 comments on commit 2172e69

Please sign in to comment.