Shipped example configs and docs should use unique plugin IDs
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- markdown, python
- Área
- documentation, tooling
Línea de trabajo
Start with EXAMPLE_PLUGINS in src/paperpi/example.py and the test that compares the generated example with paperpi.example.toml, then look at new_id in src/paperpi/web/plugins.py to see the existing ID form. The open questions about fixed versus random IDs and the config-check hint need a maintainer decision (txoof) before any edit. Done when the shipped example, docs and plugin READMEs use the agreed unique-ID form and tests cover it.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found in the web interface demo (2026-10-10): the demo's xkcd plugin had id = "comic", so its storage folder was plugins/comic/. That config was written by hand on 2026-10-09 (after the id decision of 2026-10-08, M5 part 3a-0, #251), copying the style of what PaperPi ships.
Problem: only the Plugin Library makes unique IDs (<type>-<8 random hex>, e.g. xkcd_comic-3f9a1c2e). Everything we ship shows short, readable IDs, so people (and agents) copy that style:
paperpi.example.toml(made bysrc/paperpi/example.py,EXAMPLE_PLUGINS):clock,weather_berlin,weather_rioREADME.md,docs/writing-plugins.md,docs/decisions/config-format.md:clock,weather_berlin,word_clock- every plugin README in
src/paperpi/plugins/*/README.md:clock,xkcd,moon,system, ...
Readable IDs are easy to repeat (two people's configs, a plugin added twice, an ID reused after removing a plugin), and a reused ID shares a storage folder with whatever used it before.
Wanted: the defaults we ship get unique-enough IDs, in the same form the Library makes.
To decide (ask txoof):
- The example config is made again by
paperpi example-configand a test compares it with the copy in the repository, so its IDs must be fixed values (for examplebasic_clock-5c1e0a7b), not new random ones each time. Fixed values in the example are copied by everyone who uses it as it is, so they are unique between plugins in one file, not between installs. Is that enough? Or shouldpaperpi example-config(and the installer, M6) write fresh random IDs into the file it makes for the user, and only the copy in the repository use fixed ones? - Docs and plugin READMEs: use the same
<type>-<hex>form in every example, or keep short readable IDs there and say clearly that the web interface makes unique ones? - Should the config check give a hint for an ID that doesn't have the
<type>-<hex>form (hand-written IDs stay allowed)?
Where: src/paperpi/example.py (EXAMPLE_PLUGINS), paperpi.example.toml, src/paperpi/web/plugins.py (new_id, to share one way of making IDs), the docs and plugin READMEs above, maybe src/paperpi/config.py (hint).
Done when: what we ship uses unique-enough IDs as decided, the docs explain where IDs come from, and tests cover it.
- Lenguaje dominante
- Python
- Estrellas
- 205
- Forks
- 17
- Merge medio
- 6 h 13 min
- PR fusionados (30 d)
- 39
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de txoof/PaperPi
-
area:core bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
area:web needs-decision
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
area:core enhancement
Dificultad 4/5 1-2 días Aptitud para principiantes 42/100
Los mantenedores suelen responder en 1 día
Todos los issues de txoof/PaperPi
Issues similares
-
comp/gateway comp/plugins duplicate P3 type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
NousResearch/hermes-agent#137019 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
bot-triaged module: docs triaged
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
new-entry
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
BinWang28/audio-ai-hub#194 ·
-
confluence: a paged listing's links re-encode a parameter they carry, where real carries it as sentAbiertofidelity
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
Los mantenedores suelen responder en 1 día