Cython
Stefan Behnel <stefan_ml@behnel.de>
EuroPython, Basel, July 2019
Cython Stefan Behnel <stefan_ml@behnel.de> EuroPython, Basel, - - PowerPoint PPT Presentation
Cython Stefan Behnel <stefan_ml@behnel.de> EuroPython, Basel, July 2019 Hi! Stefan Behnel Sofuware/Data Engineer & Trainer use Python since 2002 CPython core dev since 2019 Cython dev core dev since 2007
Stefan Behnel <stefan_ml@behnel.de>
EuroPython, Basel, July 2019
2
– CPython core dev since 2019
– core dev since 2007 – training and consultjng (also in-house)
3
– non-literate brain dumps, 24 languages, collected from
all over the Internet, surveys, portals, partners, …
– sentjment, categorisatjon, trends, tops/fmops…
– tell hotels what to improve – tell chains how their brands or branches compare – tell portals which hotels to recommend
→ https://trustyou.com
5
6
1) Integrate natjve code with Python 2) Speed up Python code in CPython 3) Write C without having to write C “We write C so you don‘t have to”
10
11
12
statjc typing == fast & cumbersome dynamic typing == easy & slowish
13
statjc typing == fast & cumbersome ↕ gradual typing ↕ dynamic typing == easy & slowish
– Blog post by Jeremy Siek (Univ. of Indiana/USA): htups:/ /wphomes.soic.indiana.edu/jsiek/what-is-gradual-typing/ – Basis for Python’s PEP-484 type annotatjons
– dynamic typing for ease of development – optjonal statjc typing for safety, speed, documentatjon
– don’t require them where they get in the way
14
15
int
– “Gradual Typing for Python”
– Productjon proven – Widely used
– Keeps focus on functjonality, not boilerplate – Allows moving freely between Python and C/C++ – As pythonic as you want, as low-level as you need
16
17
18
19
20
21
– language level “3str”
– “binding” by default
htups:/ /github.com/cython/cython/milestone/58
You can fjnd me at: Stefan.behnel@trustyou.com
22
more info: www.trustyou.com