Treffen vom 10. 5. 2015
Agenda
- Begrüßung
- Metalab
- Vorstellungsrunde
Wiki, MailingLists, Twitter, Meetup, IRC: #pyugat on freenode, Flattr
- Anwesenheitsliste pflegen
Am Wiki anmelden & persönliche Seite anlegen (Kontaktinfos, Name, Interessen, Foto,…)
Mögliche Themen in FutureTalks eintragen
- Nächsten Termin festlegen
- Events
- Buchbesprechungen?
- Zeiteinteilung für den Abend festlegen
- Wer hat Kurzvorträge mitgebracht?
- Groben Zeitplan für Hauptvortrag festlegen
Anwesenheitsliste
Programm
Haupt-Aktivität:
Kurzvorträge
- (optional) typing for python 3.5
- support debian's python3 migration
VersionedDict released
multirange updated
Interactive module dependency graphs
With snakefood you can visualize the dependencies of your Python modules.
Preparation
You first extract the dependencies using sfood and obtain a dependencies file (essentially two space separated modules names (with paths) per line: the dependent module and the dependency). (Note: You can [[http://stackoverflow.com/questions/23962614/module-dependency-graph-in-python-3|use it under python2 to analyze python3, but only as long as you don't have 'yield from' statements.)
Next you run 'sfood-graph' on the result and obtain a file in graphviz's dot language.
Hack
Let's suppose you have created a module dependency graph 'dep.dot'. To make it interactive do the following:
Edit the node and edge sections in 'dep.dot':
node [ URL = "#~ onmousedown=~highlight(\"\N\")", fontsize=50 shape=box // style=filled // shape=box ]; edge [ URL = "#~ class=~\E" ];
Convert it on the linux command line:
dot -Tsvg dep.dot | sed -e 's/~/"/g' | sed -e 's/-\>/ /' > dep.svg
Edit 'dep.svg' like this: insert the following script as last child of svg element (just befode </svg>):
<script type="text/ecmascript"> <![CDATA[ function highlight(evt) { coll = document.getElementsByClassName('edge'); for(var i =0; i<coll.length;i++) { coll[i].querySelector("polygon").setAttribute("opacity", 0.0); coll[i].querySelector("path").setAttribute("opacity", 0.0); } coll = document.getElementsByClassName(evt); for(var i =0; i<coll.length;i++) { coll[i].querySelector("polygon").setAttribute("opacity", 1); coll[i].querySelector("path").setAttribute("opacity", 1); } } ]]> </script>
View the svg in your browser and click on a node.
Trag' hier deinen Kurzvortrag und Namen ein! :)
Beginner intro to Python packages (hop)
Package management auf einem debian-System:
systemweit, per Distribution:
- mehrere interpreter können nebeneinander existieren (z.B. python2.7, python3.4)
- dazu gehört jeweils die standard library (z.b. /usr/lib/python3/dist-packages/)
systemweit, manuell nachinstalliert:
- verwende pip bzw. pip3 (unter debian installieren mit apt-get install python-pip bzw. apt-get install python3-pip)
- installiere z.B. das colorama package mit: pip install colorama
- upgrade mit pip install -U PACKAGE_NAME
- spezifische versionen installieren möglich
nicht systemweit, in eigenen verzeichnissen parallel verschiedene python versionen und paket-konfigurationen nutzen:
- verwende virtualenv
- erstellen mit 'virtualenv ENV_NAME' bzw. mit -p python-version auch für andere python-interpreter
- aktivieren mit ./bin/activate (im ENV_NAME-verzeichnis)
Diskussions- und Plauderrunde
tbd