OpenWest 2015/Better Exposure with Python Packaging

From Omnia
Jump to navigation Jump to search

Better Exposure with Python Packaging

Clint Savage (@herlo) - http://sexysexypenguins.com/

"What do you do when your software becomes a useful utility and you want to share it with the world? Well, you package it, of course!

During this audience participation session, we'll introduce a software application that needs to be packaged. Along the way, we'll explore the best options for packaging and discuss some of the pitfalls. Expect to be entertained as well with witty banter and snarky humor. We will likely cover some of the following components."

  • distutils vs setuptools, distribute, etc.
  • pip, easy_install, etc.
  • The CheesShop (http://pypi.python.org)
  • Packaging for a Distribution vs Deployment
  • Wheels, Eggs, Binaries, and such

---

atoponce/d-note · GitHub - https://github.com/atoponce/d-note

Live Example:

---

Semantic Versioning 2.0.0 - http://semver.org/

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

---

setup.py

Building and Distributing Packages with Setuptools — Setuptools documentation - https://pythonhosted.org/setuptools/setuptools.html

---

Install to local user: (.local/lib/python2.7/site-packages/)

python setup.py install --user

---

Distribution: pypi.python.org

pip install [project]

---

Concern: Security isn't guaranteed. Do you trust the authors who post on Pypi?