The Packaging Gradient

Speaker:
Mahmoud Hashemi

Location

As with last month, we are in a new, bigger room. It is at 950 W. Maude Ave in Sunnyvale. We are in the Unify meeting room (there will be signs at the visitor entrance).

Abstract

Deployment is not the last step of development. Experienced engineers know to work backwards from deployment requirements, planning and designing for the reality of production environments.

Python packaging sometimes gets a bad reputation, but a lot of this comes from less experienced engineers learning the hard way that implementation language does not dictate their packaging solutions.

Packaging is all about target environment and deployment experience. Python was designed to be cross-platform and runs in countless environments. Python's built-in tools can't carry you anywhere you want to go. These days, I can write a mobile app in Python, but obviously people don't use pip to install it. More advanced codebases have to scale their packaging accordingly.

This talk moves example by example, presenting shippable code, and the simplest packaging solution appropriate for it. All the examples are in Python, but the lessons are absolutely language agnostic. Learn the packaging gradient and put those deployment doubts to rest once and for all.

Speaker Bio

Mahmoud Hashemi is a backend engineer and architect, open-source library maintainer, and Wikipedian. Newly building services and teams at shopkick, for many years, he built scalable enterprise Python services at PayPal, where he wrote technical essays and presented O'Reilly's Enterprise Software with Python. On the Wikipedia side of things, he's known for Listen to Wikipedia, Wikipedia Social Search, the Weeklypedia newsletter, the Wikipedia IFTTT channel, and much much more. He believes education is more than something you receive, and that every coder should be able to see one, do one, then teach one.

Meeting Details

Meeting Schedule:

  • 7:00 pm Networking and food
  • 7:15 pm Announcements and presentation
  • 8:45 pm Random access
  • 9:00 pm Event ends