Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
10 Years of Python Libraries
Search
Armin Ronacher
March 20, 2015
Programming
11
2.3k
10 Years of Python Libraries
A presentation at PiterPy 2015 about 10 Years of Python Libraries.
Armin Ronacher
March 20, 2015
Tweet
Share
More Decks by Armin Ronacher
See All by Armin Ronacher
Do Dumb Things
mitsuhiko
0
520
No Assumptions
mitsuhiko
0
160
The Complexity Genie
mitsuhiko
0
190
The Catch in Rye: Seeding Change and Lessons Learned
mitsuhiko
0
310
Runtime Objects in Rust
mitsuhiko
0
350
Rust at Sentry
mitsuhiko
0
450
Overcoming Variable Payloads to Optimize for Performance
mitsuhiko
0
200
Rust API Design Learnings
mitsuhiko
0
550
The Snowball Effect of Open Source
mitsuhiko
0
360
Other Decks in Programming
See All in Programming
OpenTelemetry + LLM = OpenLLMetry!?
yunosukey
2
400
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.4k
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
5
990
REST API設計の実践 – ベストプラクティスとその落とし穴
kentaroutakeda
2
310
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6k
Blueskyのプラグインを作ってみた
hakkadaikon
1
280
複雑なフォームを継続的に開発していくための技術選定・設計・実装 #tskaigi / #tskaigi2025
izumin5210
12
6.3k
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
120
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
420
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
4
620
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
290
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
800
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
Navigating Team Friction
lara
186
15k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
620
Fireside Chat
paigeccino
37
3.5k
Docker and Python
trallard
44
3.4k
Producing Creativity
orderedlist
PRO
346
40k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Transcript
10 Years of Python Libraries Armin “@mitsuhiko” Ronacher
Who am I? { }
Armin Ronacher Advisor and System Architect at Splash Damage /
Fireteam Partner at Getsentry lucumr.pocoo.org/talks
None
Where I come from { }
Hermagor Carinthia; Austria ( )
Population: 6952
Computer Scientists: 0
The Internet to the rescue
h 2003 Discovered Python
9 2004 ubuntuusers.de
n 2005 Pocoo!
D 2005 WTF is CGI?
h 2006 Colubrid GPL Licensed!
h 2007 Licensing
9 2009 Flask
h 20?? Many, many more
n Now Open Source Consulting
How to Succeed { }
you can only build what you use
you can only build what you understand
you can only build what you love
be critical
restrict your API
license it well
The Thing with Using { }
chicken and egg situation:
not enough to use it after building;
how do you use something that does not exist?
Iteration
M ockups
Use the Repl
Learn to Throw Away
Systems > Solutions
one trick pony
Understanding { }
this is the trickiest part
especially if you build something new
Data Flow Transformation &
context matters
w Love what you build { }
how do you know you found love?
enjoy using it? :) do you …
what if you found new love?
admit mistakes
give it someone else
being critical { }
it's normal to learn
you might hate what you did a year ago
second system syndrome careful though:
Restrict your API { }
APIs are Contracts __________________
Contracts Expensive are
maintenance complicates
it's okay to keep things private
you can make them public later on
license it well { }
consider the consequences
licenses are forever
API Design Goals { }
stateless
layered
consistent
small
abstraction leakage
documentation thou shall write
?