Read-only mirror of https://github.com/machinelearningZH/simply-simplify-language-glossarizer — Zürich. Issues & pull requests at the source.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-19 16:24:32 +02:00
_imgs Initial commit 2025-05-28 13:21:54 +02:00
src refactor(ui): move user-facing text into config 2026-07-11 18:09:33 +02:00
tests refactor(ui): move user-facing text into config 2026-07-11 18:09:33 +02:00
.env_example refactor(app): move Streamlit app into src layout 2026-07-11 18:02:45 +02:00
.gitignore fix(glossary): harden inputs exports and shared workflow 2026-07-11 17:55:29 +02:00
_gh.code-workspace fix(openrouter): always use default model temperature 2026-07-11 17:44:18 +02:00
AGENTS.md chore(deps): update packages and AGENTS.md 2026-06-14 17:15:37 +02:00
config.yaml fix(UI): remove app version and date 2026-07-11 18:10:43 +02:00
LICENSE refactor(docs): update office name 2026-07-09 08:06:46 +02:00
pyproject.toml feat(openrouter): add validated provider settings 2026-07-11 17:03:24 +02:00
README.md refactor(app): move Streamlit app into src layout 2026-07-11 18:02:45 +02:00
uv.lock chore(deps): upgrade packages 2026-08-19 16:24:32 +02:00

Simply Create Glossaries in Plain Language

Create Plain Language Glossaries from texts, URLs, and files using LLMs.

GitHub License PyPI - Python GitHub Stars GitHub Issues GitHub Issues Current Version linting - Ruff

Contents

Features

  • Automated glossary creation: Generate glossaries that simplify complex terms and concepts to Plain Language in German.
  • Multiple input sources: Process text from direct text input, URLs, or .txt file uploads.

Installation

To install the project and its dependencies:

git clone https://github.com/machinelearningZH/simply-simplify-language-glossarizer.git
cd simply-simplify-language-glossarizer

pip3 install uv
uv venv
source .venv/bin/activate
uv sync

Create an OpenRouter API key at https://openrouter.ai/settings/keys. Then create .env in the repository root with the following content:

OPENROUTER_API_KEY=your-api-key

Select the model and tune non-secret request settings in config.yaml in the repository root. The selected model must support JSON Schema structured outputs.

Running the App

Start the Streamlit app:

Run this command from the repository root:

uv run streamlit run src/home.py

The app will be available at http://localhost:8501/.

Warning

Be cautious with sensitive data as mentioned in the app warning. Use only for public, non-sensitive information as processing occurs on third-party servers.

Note

Currently, only .txt files are supported by the file upload feature.

Project Information

Government agencies and other organisations in Switzerland are increasingly recognising the need to make complex documents and specialized terminology more accessible to the general public. This tool helps address that need by generating glossaries that explain difficult terms in Plain Language.

  • Users can create simplified language glossaries from various sources.
  • The tool uses large language models (LLMs) to identify complex terms and generate clear, accessible explanations.
  • It produces a draft glossary that should always be reviewed and refined by users before publication.
  • For each term, the app provides two types of explanations:
    • One with context, based on the surrounding source text.
    • One without context, based solely on the LLMs general knowledge. Contextual explanations are typically more accurate and relevant, but general explanations may still be useful in some cases.
  • This tool contributes to the broader goal of making government communication more understandable and inclusive for all citizens.

Project Team

Feedback and Contributing

We welcome feedback and contributions. Email us or open an issue or pull request.

We use Ruff for linting and code formatting.

License

This project is licensed under the MIT License. See LICENSE for details.

Disclaimer

This software (the Software) has been developed according to and with the intent to be used under Swiss law. Please be aware that the EU Artificial Intelligence Act (EU AI Act) may, under certain circumstances, be applicable to your use of the Software. You are solely responsible for ensuring that your use of the Software complies with all applicable local, national and international laws and regulations. By using this Software, you acknowledge and agree (a) that it is your responsibility to assess which laws and regulations, in particular regarding the use of AI technologies, are applicable to your intended use and to comply therewith, and (b) that you will hold us harmless from any action, claims, liability or loss in respect of your use of the Software.