This talk showcases various example scenarios around the ins/outs of managing Python packages. Scenarios range from intra-package problems of how to build a package, inter-package problems of how to connect packages, to general usage/environment/setup problems that developers have a hard time debugging. For each of these scenarios, I'll highlight the pros/cons, best practices, and how to overcome the issues developers commonly face.
Some examples: - installing packages from public, local file system, git (ssh + https), and how this affects deployment procedures - handling systems with multiple Python versions or package managers - how app structures and imports can affect testability - relative vs absolute imports - virtual environments - setup scripts - package versioning (why, when, how) - how new code changes could not be taking effect (old .pyc files, or updated import not catching) - handling sub-packages/dependencies that utilize parent configuration files - working with PYTHONPATH - executing python as modules or scripts
I'm the VP of Engineering of Enlitic, a startup making doctors faster and more accurate at diagnosing patients by developing clinical applications of deep learning (AI). We train our software by showing it millions of examples of medical scans (XRays, CTs, MRIs) and diagnoses. Once trained, our software can detect and diagnose diseases in new scans it's never seen before, often at super-human levels of accuracy. For example, we find lung cancer 50% more accurately and 2 years earlier than human doctors.
To train our AI we use Python packages like Tensorflow, Keras, Theano, and Lasagne. To collect data, we built a medical diagnostics crowd-sourcing platform in Python (Flask) and React. As we've scaled these high-volume data (>100TBs) platforms, we've overcame many hurdles and learned a lot about optimizing various development and run-time environments.
I started web development at age 13, interned at Google & Microsoft (simultaneously), and co-founded numerous B2B startups with a web-app as it's core product. One of which, Rollio (Salesforce backed), streamlines CRM usage for sales representatives via NLP.