PyCologne Treffen August 2019
Datum: 14.08.2019, 19:00 Uhr
Nach der Vorstellungsrunde ging es um Do's and Don'ts beim Erstellen eines GitHub-Repositories, mit einem Codebeispiel, sowie um Debugging mit snoop/PySnooper. Dazu ein Hinweis auf reguläre Ausdrücke mit Kommentaren (Verbose Mode) und der Themenwunsch NLP.
Themen
Do's and Don'ts beim Erstellen eines GitHub-Repositories - Ralph
- Am Beispiel Konvertierung von EPC URIs (https://en.wikipedia.org/wiki/Electronic_Product_Code) in GS1 Digital Link (Web) URIs, z.B. urn:epc:id:sgtin:4012345.011111.98 ==> https://id.gs1.org/01/04012345111118/21/98
- Tests
- auch für Negativ-Tests
- für viele Variablen und Permutationen (property-based, parametrisiert): https://hypothesis.readthedocs.io/en/latest/details.html
- Was ist das (Haupt-)Ziel?
- Mitarbeit anregen
- Code veröffentlichen
- Package-Management (pip/pypi)
- requirements.txt
- Dokumentation (Sphinx)
- Beispiele
- Vorlage/Hinweise zum Bug Reporting (BUGS)
- Quality Reporting (Badges können auch auf GitHub integriert und angezeigt werden)
Codebeispiel:
class ConversionError(ValueError):
pass
def convert(epc_string: str) -> str: # type annotation (optional)
if foo(epc_string):
return bar(epc_string)
else:
raise ConversionError("no valid input")
if __name__ == "__main__":
try:
print(convert(input()))
except ConversionError:
print("blubb")
Debugging mit snoop/PySnooper - Jörn
https://github.com/cool-RR/PySnooper
Sonstiges
Reguläre Ausdrücke mit Kommentaren (Verbose Mode): https://docs.python.org/3/library/re.html (re.VERBOSE)
Themenwunsch: NLP
Protokoll des Treffens, gemeinsam im Etherpad mitgeschrieben und aus dem Archiv der Jahre 2013 bis 2020 übernommen.