Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Open Source libraries

Building Open Source libraries

How to build something great that is usable for everyone else. It was presented at the budapest.py Python Meetup.

Bence Faludi

May 18, 2016
Tweet

More Decks by Bence Faludi

Other Decks in Technology

Transcript

  1. Bence Faludi → Data & Applied Scientist at Microsoft →

    Lives in Berlin, Germany → Building data pipelines, data infrastructure → Open source addict → Working on Wunderlist, a multi platform to-do application
  2. Common problems → Lack of documentation or missing examples. →

    Not installable via pip and easy_install. → Wrong or missing license. → Dependency hell. → Not tested or minimal test coverage. → Not working on every Python version.
  3. Make it useable → Add a short overview of the

    package. → Write examples how to use it. → Add a license, probably MIT. → Make unit tests at least 80% coverage. → Use Travis to make it reliable. → Publish into pypi.
  4. Use the trash → Remove basic function dependencies and write

    them yourself! → Version and dependency update can be terrifying so use as less dependency as humanly possible. → Remove snippets of code with different license terms.
  5. Make it production ready → Do not change the API.

    → Support legacy and new versions. → Increase the version after every modification. → Use as less dependency as possible and check the code/community activity. → Split huge packages into smaller packages. → Freeze small & not changing sub-packages!
  6. Split into smaller packages → Similar to micro services. →

    Lot of disposable components. → Easier to maintain and reuse. → Testable separately. → Freeze the not changing parts. → Make sure that it's not a basic function!