Programme

  1. Dependencies
    1. github account
    2. readthedocs account
    3. pypi account
    4. python 3.6
    5. cookiecutter
    6. if working in teams use a simple editor with no frills (VSCode is great)
  2. Write a python module that serves as HTTP client for a public API (httpbin.org)
  3. Create a setup.py
    1. declare dependencies
    2. name, description and version
    3. long description as rst docstring
    4. add trove classifiers PEP 0301
    5. pick an open source license
      1. MIT if you don’t care
      2. GPL for viral recognition
  4. Publishing a package
  5. Adding command-line entrypoints
  6. Distributing package data
  7. Define extra dependencies (such as requests[security])
  8. Writing tests
    1. Tooling: Nose (and rednose vs. pinocchio), Sure, HTTPretty, Coverage
    2. Unit, Functional and Integration
    3. Collecting coverage
    4. Run tests on Travis
  9. Writing docs
    1. Generate API reference from code
    2. Syntax for function or method params and return values
    3. Use intersphinx to reference other libraries documented with sphinx
      1. Did you know about objects.inv ?
    4. Publish docs with ReadTheDocs