$30 off During Our Annual Pro Sale. View Details »

10 Years of Python Libraries

10 Years of Python Libraries

A presentation at PiterPy 2015 about 10 Years of Python Libraries.

Armin Ronacher

March 20, 2015
Tweet

More Decks by Armin Ronacher

Other Decks in Programming

Transcript

  1. 10 Years of Python Libraries
    Armin “@mitsuhiko” Ronacher

    View Slide

  2. Who am I?
    { }

    View Slide

  3. Armin Ronacher
    Advisor and System Architect at Splash Damage / Fireteam
    Partner at Getsentry
    lucumr.pocoo.org/talks

    View Slide

  4. View Slide

  5. Where I come from
    { }

    View Slide

  6. Hermagor
    Carinthia; Austria
    ( )

    View Slide

  7. Population: 6952

    View Slide

  8. Computer Scientists: 0

    View Slide

  9. The Internet
    to the rescue

    View Slide

  10. h
    2003 Discovered Python

    View Slide

  11. 9
    2004 ubuntuusers.de

    View Slide

  12. n
    2005 Pocoo!

    View Slide

  13. D
    2005 WTF is CGI?

    View Slide

  14. h
    2006 Colubrid
    GPL Licensed!

    View Slide

  15. h
    2007 Licensing

    View Slide

  16. 9
    2009 Flask

    View Slide

  17. h
    20?? Many, many more

    View Slide

  18. n
    Now Open Source Consulting

    View Slide

  19. How to Succeed
    { }

    View Slide

  20. you can only build what you use

    View Slide

  21. you can only build what you understand

    View Slide

  22. you can only build what you love

    View Slide

  23. be critical

    View Slide

  24. restrict your API

    View Slide

  25. license it well

    View Slide

  26. The Thing with Using
    { }

    View Slide

  27. chicken and egg situation:

    View Slide

  28. not enough to use it after building;

    View Slide

  29. how do you use something that does not exist?

    View Slide

  30. Iteration

    View Slide

  31. M
    ockups

    View Slide

  32. Use the Repl

    View Slide

  33. Learn to Throw Away

    View Slide

  34. Systems >
    Solutions

    View Slide

  35. one trick pony

    View Slide

  36. Understanding
    { }

    View Slide

  37. this is the trickiest part

    View Slide

  38. especially if you build something new

    View Slide

  39. Data Flow
    Transformation
    &

    View Slide

  40. context
    matters

    View Slide

  41. w
    Love what you build
    { }

    View Slide

  42. how do you know you found love?

    View Slide

  43. enjoy using it?
    :)
    do you …

    View Slide

  44. what if you found new love?

    View Slide

  45. admit mistakes

    View Slide

  46. give it someone else

    View Slide

  47. being critical
    { }

    View Slide

  48. it's normal to learn

    View Slide

  49. you might hate what
    you did a year ago

    View Slide

  50. second system
    syndrome
    careful though:

    View Slide

  51. Restrict your API
    { }

    View Slide

  52. APIs are Contracts
    __________________

    View Slide

  53. Contracts
    Expensive
    are

    View Slide

  54. maintenance
    complicates

    View Slide

  55. it's okay to keep things private

    View Slide

  56. you can make them public later on

    View Slide

  57. license it well
    { }

    View Slide

  58. consider the
    consequences

    View Slide

  59. licenses
    are forever

    View Slide

  60. API Design Goals
    { }

    View Slide

  61. stateless

    View Slide

  62. layered

    View Slide

  63. consistent

    View Slide

  64. small

    View Slide

  65. abstraction leakage

    View Slide

  66. documentation
    thou shall write

    View Slide

  67. ?

    View Slide