Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cookiecutter für Project Template verwenden? #136

Open
tumidi opened this issue Nov 5, 2024 · 0 comments
Open

Cookiecutter für Project Template verwenden? #136

tumidi opened this issue Nov 5, 2024 · 0 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@tumidi
Copy link
Contributor

tumidi commented Nov 5, 2024

Verwendung von Cookiecutter.

Trennt examples/... vom Project Template (questionpy-sdk create).

Vorteile:

  • Das minimal-Beispiel kann so Beispielcode enthalten, während das Project Template ein wirklich leeres Projekt erstellt.
  • Nutzt jinja2-Templates.
  • Programmatisch die Zip-Datei zu entpacken und text replacement zu machen ist mühsam und fehleranfällig.
  • Wir könnten uns build.py und der minimal_example.zip komplett entledigen.
  • Ließe sich auch unabhängig vom SDK verwenden:
    • pipx run cookiecutter gh:questionpy-org/cookiecutter (wenn das Template in eigenem Repo lebt)
    • pipx run cookiecutter gh:questionpy-org/questionpy-sdk --directory cookiecutter (wenn das Template innerhalb dieses Repos lebt)
  • Im SDK würde dascreate-Kommando intern die Cookiecutter-Python-API nutzen.
  • Interaktive Abfrage von Feldern (Projektname, Namespace, etc.)

Nachteile:

  • Eine weitere Dependency im SDK.

Hier gibt's eine (unfertige) Implementierung, aber einfach um ein Gefühl dafür zu bekommen, wie das aussähe:
feat/cookiecutter

@tumidi tumidi added enhancement New feature or request question Further information is requested labels Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant