Dokumentieren ============= Damit euer Software-Paket sinnvoll genutzt werden kann, sind Dokumentationen ierforderlich, die Beschreiben, wie eure Software installiert, betrieben, genutzt und verbessert werden kann: * Diejenigen, die euer Paket nutzen wollen, benötigen Informationen, * welche Probleme eure Software löst und was die Hauptfunktionen und Limitationen der Software sind (``README``) * wie das Software beispielhaft verwendet werden kann * welche Veränderungen in aktuelleren Software-Versionen gekommen sind (``CHANGELOG``) * Diejenigen, die die Software betreiben wollen, benötigen eine Installationsanleitung für eure Software und die erforderlichen Abhängigkeiten * Diejenigen, die die Software verbessern wollen, benötigen Informationen * wie sie mit Fehlerbehebungen zur Verbesserung des Produkts beitragen können (``CONTRIBUTING``) * wie sie mit anderen kommunizieren (``CODE_OF_CONDUCT``) können Alle gemeinsam benötigen Informationen, wie das Produkt lizenziert ist (``LICENSE``-Datei oder ``LICENSES``-Ordner) und wie sie bei Bedarf Hilfe erhalten können. .. seealso:: * `Eric Holscher: Why You Shouldn’t Use “Markdown” for Documentation `_ * `Tom Johnson: 10 reasons for moving away from DITA `_ * `Tom Johnson: Jekyll versus DITA `_ * `Google developer documentation style guide `_ * `Google Technical Writing Courses for Engineers `_ * `Cusy Design System: Schreiben `_ .. toctree:: :titlesonly: :hidden: start rest code-blocks placeholder ui-elements directives docstrings intersphinx uml/index extensions test shot-scraper Badges ------ Einige dieser Informationen und mehr können als Badges abgerufen werden. Sie sind hilfreich, um einen schnellen Überblick über ein Produkt zu erhalten. Für das `cookiecutter-namespace-template `_ sind dies :abbr:`z.B. (zum Beispiel)`: |Downloads| |Updates| |Versions| |Contributors| |License| |Docs| .. |Downloads| image:: https://static.pepy.tech/badge/cookiecutter-namespace-template :target: https://pepy.tech/project/cookiecutter-namespace-template .. |Updates| image:: https://pyup.io/repos/github/veit/cookiecutter-namespace-template/shield.svg :target: https://pyup.io/repos/github/veit/cookiecutter-namespace-template/ .. |Versions| image:: https://img.shields.io/pypi/pyversions/cookiecutter-namespace-template/0.2.9 :target: https://pypi.org/project/cookiecutter-namespace-template/0.2.9/ .. |Contributors| image:: https://img.shields.io/github/contributors/veit/cookiecutter-namespace-template.svg :target: https://github.com/veit/cookiecutter-namespace-template/graphs/contributors .. |License| image:: https://img.shields.io/github/license/veit/cookiecutter-namespace-template.svg :target: https://github.com/veit/cookiecutter-namespace-template/blob/main/LICENSE .. |Docs| image:: https://readthedocs.org/projects/cookiecutter-namespace-template/badge/?version=latest :target: https://cookiecutter-namespace-template.readthedocs.io/en/latest/ Ihr könnt auch eigene Badges erstellen, :abbr:`z.B. (zum Beispiel)`: .. image:: https://img.shields.io/badge/dynamic/json?label=Mastodon&query=totalItems&url=https%3A%2F%2Fmastodon.social%2F@JupyterTutorial%2Ffollowers.json&logo=mastodon :alt: Mastodon :target: https://mastodon.social/@JupyterTutorial .. seealso:: * `shields.io `_ Sphinx ------ Für umfangreiche Dokumentationen könnt ihr :abbr:`z.B.(zum Beispiel)` `Sphinx `_ verwenden, ein Dokumentationswerkzeug, das reStructuredText in HTML oder PDF, EPub und man pages umwandelt. Auch die Python Basics werden mit Sphinx erstellt. Um einen ersten Eindruck von Sphinx zu bekommen, könnt ihr euch den Quellcode dieser Seite unter dem Link `Page source <../_sources/document/index.rst.txt>`_ ansehen. Ursprünglich wurde Sphinx für die Dokumentation von Python entwickelt und wird heute in fast allen Python-Projekten verwendet, darunter `NumPy and SciPy `_, `Matplotlib `_, `Pandas `_ und `SQLAlchemy `_. Die Sphinx `autodoc `_-Funktion, die zur Erstellung von Dokumentation aus Python-:doc:`docstrings` verwendet werden kann, könnte ebenfalls zur Verbreitung von Sphinx unter Python-Entwicklern beitragen. Insgesamt ermöglicht es Sphinx Entwicklungsteams, eine vollständige Dokumentation an Ort und Stelle zu erstellen. Oft wird die Dokumentation auch im gleichen :doc:`Git `-Repository gespeichert, so dass die Erstellung der neuesten Software-Dokumentation einfach bleibt. Sphinx wird auch in Projekten außerhalb der Python-Gemeinschaft eingesetzt, :abbr:`z.B. (zum Beispiel)` für die Dokumentation des Linux-Kernels: `Kernel documentation update `_. `Read the Docs `_ wurde entwickelt, um die Dokumentation weiter zu vereinfachen. Read the Docs erleichtert das Erstellen und Veröffentlichen von Dokumentationen nach jedem Commit. Für die Projektdokumentation kann die Visualisierung von :doc:`Git Feature Branches ` und :doc:`Tags ` mit :doc:`Python4DataScience:productive/git/advanced/git-big-picture` hilfreich sein. .. note:: Wenn der Inhalt von ``long_description`` in ``setup()`` in reStructured Text geschrieben ist, wird er als gut formatiertes HTML im :term:`Python Package Index` (:term:`PyPI`) angezeigt. Andere Dokumentationswerkzeuge ------------------------------ `Pycco `_ ist eine Python-Portierung von `Docco `_.