#245 Python packaging landscape in 2020
Play • 1 hr 2 min
Python is growing incredibly quickly and has found its place in many facets of the developer and computational space. But one area that is still shaky and uncertain is packaging and shipping software to users.

I'm not talking about building reusable libraries and hosting them on PyPI. I'm talking about shipping executable software to non-developers.

Take a moment to stop and think about what ways you would send an end-user a program built with Python that they can simply run. It's a bit of a mixed bag, isn't it?

On this episode, we welcome back Cristian Medina to run through the state if Python packaging.

Links from the show

Cris on Twitter: @tryexceptpass
tryexceptpass: tryexceptpass.org
Russel Keith-Magee keynote & black swans: youtube.com
4 Attempts at Packaging Python as an Executable article: tryexceptpass.org
Official Python Docker image: hub.docker.com
Docker: docker.com
Vagrant: vagrantup.com
PyInstaller: pyinstaller.org
Briefcase: beeware.org
Pex: github.com
Shiv: github.com
pipx: pypi.org/project/pipx
PyOxidixer: gregoryszorc.com
Nuitka: nuitka.net
Cython: cython.org
Flatpak: flatpak.org
Snapcraft: snapcraft.io

Sponsors

TideLift
Linode
Talk Python Training
Google Cloud Platform Podcast
Google Cloud Platform Podcast
Google Cloud Platform
Intel with Rebecca Weekly
Welcome back to a new year of Google Cloud Platform Podcasts! Mark Mirchandani and Emma Iwao host the first show of 2021 with special guest Rebecca Weekly of Intel. She joins us to talk about the partnership between Google Cloud and Intel. Describing the company’s goals of gathering, storing, managing, and analyzing data in all its forms to unlock the power of technology and information, Rebecca points out how well these align with Google’s own goals and why the partnership is such a natural fit. Rebecca explains the four pillars of the Google-Intel partnership, including the focus on infrastructure and app modernization to elevate the user experience. Through their work with Google, Intel has been able to optimize the move from on prem to cloud for those clients who choose to make the shift, using their thorough client knowledge and Google Cloud expertise to facilitate a smooth transition. Rebecca walks us through the process of crafting this client experience, from choosing products and tools to identifying and solving any bottlenecks and optimizing the configuration using benchmarks. Later, we talk about the value of open source software in both the hardware and software worlds and why Intel believes so strongly in open source projects. Rebecca offers examples of clients successfully using Intel hardware and Google Cloud software, including Climacell and Kinsta. We get the inside scoop on future projects at Intel, like the next generation of scalable Xeon processors, and Rebecca talks about the future of data analyzation and computing. Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries. Rebecca Weekly Rebecca leads the team that influences nearly every aspect of our cloud platform solutions across strategic planning, hardware and software enabling, marketing and sales. Together they shape the development, production, and business strategy of Intel’s cloud platforms to ensure differentiation and platforms that enable TAM expansion with enthusiasm, collaboration, and urgency. She drives strategic collaborations with key partners including top cloud service providers, OxMs, ISVs & OSVs to ensure platform requirements meet our customer needs. In her “spare” time, she’s the lead singer of a funk & soul band, Sinister Dexter, was professionally trained in dance (tap, modern, and jazz), and is an experienced choreographer. She has two amazing little boys and loves to run (after them, and on her own). Rebecca graduated from MIT with a degree in Computer Science and Electrical Engineering. Cool things of the week * 97 Things Every Cloud Engineer Should Know Book * Introducing Google Cloud Workflows video Interview * Intel site * Google Cloud withe Intel site * TensorFlow site * Anthos site * Intel Select Solutions site * PerfKit Benchmarker site * Google Cloud Functions site * Climacell site * Blue Skies Ahead: ClimaCell Delivers Innovative Weather Prediction Solutions doc * Kinsta site * Benchmarking GCP’s Compute-Optimized VMs (C2) blog * Arcules site * Descartes Labs site * DAOS site * Optane site What’s something cool you’re working on? Emma was a guest on GCP Podcast Episode 167: World Pi Day with Emma Haruka Iwao. Emma is working on the Ruby 3.0 support and release and deprecation policy. Ruby is now available on Google Cloud Functions! Sound Effects Attribution * “Partyhorn” by Milton of Freesound.org * “ToiletFlush” by EminYildirim of Freesound.org
45 min
Kubernetes Podcast from Google
Kubernetes Podcast from Google
Adam Glick and Craig Box
Siri, Storage and Solutions, with Josh Bernstein
Josh Bernstein has worked at a number of infrastructure roles before recently landing at Google. He talks about migrating Siri from AWS (pre-acqusition) to VMware to Mesos, and Dell EMC’s work building what would become the Container Storage Interface. Guest host Jasmine Jaksic talks with Craig about snowcreatures. Do you have something cool to share? Some questions? Let us know: * web: kubernetespodcast.com * mail: kubernetespodcast@google.com * twitter: @kubernetespod Chatter of the week * Episode 15, with Dan Ciruli and Jasmine Jaksic * Snowpeople and snowthings News of the week * Multi-dimensional pod autoscaling in this week’s GKE release * Hitachi: vacuum cleaners in the 1990s and Kubernetes today * Garnet.ai * kind 0.10 * New Google Cloud Run networking features * Don’t cross the streams * Production Kubernetes from VMware Tanzu. * Serverless for Everyone Else from Alex Ellis * Episode 116 * Chris Aniszczyk’s 2021 predictions * Episode 134 * Priyanka Sharma’s 2021 predictions * Episode 107 * 14 LFX interns graduate * Kubernetes honey tokens by Brad Geesaman * Bad pods: privilege escalation by Seth Art * The US Air Force are feeling supersonic Links from the interview * Apple acquires Siri * Xserve * Siri public introduction * Apple rebuilds Siri backend with Apache Mesos using the J.A.R.V.I.S. framework * Dell EMC * {code} community * REX-Ray: announcement and docs * CNCF Governing Board * CI/CD startups to watch: * Harness * Armory * Shipa * Josh Bernstein on Twitter
38 min
Python Bytes
Python Bytes
Michael Kennedy and Brian Okken
#218 Keyboards for developers, Python, and some history
Sponsored by Datadog: pythonbytes.fm/datadog Special guest: Jeremy Tanner Watch on YouTube Brian #1: Constant Folding in Python * Arpit Bhayani * Constant Folding is when a language replaces constant expressions at compile time rather than computing them at runtime. * CPython does this while creating the bytecode. * We can use dis to see it in action >>> import dis >>> dis.dis("day_sec = 24 * 60 * 60") 1 0 LOAD_CONST 0 (86400) 2 STORE_NAME 0 (day_sec) 4 LOAD_CONST 1 (None) 6 RETURN_VALUE * Python tries to fold lots of constants, but not all. * Seems to be based on size >>> x = 2 ** 64 # folded >>> x = 4 ** 64 # not folded >>> a = "-" * 4096 # folded >>> a = "-" * 4097 # not folded * Discussion continues with a discussion of how CPython folding is implemented recursively and elegantly. * Key takeaway for me: * Remember to not try to pre-compute constants while coding. * Make them easy to read and Python will handle the optimization for you. Michael #2: Update All Packages With pip-review * via PyCoders * Updating Python packages can be a hassle. * There are many of them - it's hard to keep track of all the newest versions * When you decide what to update, you still have to update each of them manually. * Originally a part of the pip-tools package, it now lives on as a standalone convenience wrapper around pip. * Usage (venv) $ pip install pip-review (venv)$ pip-review scikit-learn==0.23.2 is available (you have 0.23.1) scipy==1.5.4 is available (you have 1.4.1) seaborn==0.11.0 is available (you have 0.10.1) ... * Once you've identified if you'd like to update your packages, you can update them all, automatically, using pip-review --auto * Limit with constraints.txt file * Can do it interactively via pip-review --interactive Jeremy #3: Quantum Mechanical Keyboard Firmware * How does the Python get into your computer? Much of it, through the keyboard * Why mechanical keyboards? * Ergonomics * Where is QWERTY from? * And when? * Keymaps * and because it’s essentially an escape room built of hardware and open source software and dodgy international transactions * I’ve fallen further down the mechanical keyboard rabbit hole * RGBKB Sol * Keyboardio Atreus * Keyboard firmware is mostly written in c * https://github.com/qmk * But there are Python portions * https://github.com/qmk/qmk_cli * Compiler helper * API * Reporting * So the CLI is Python, where else is Python? * When looking to improve your keymap, key logging w/ Python to process logs for heatmaps * https://github.com/qmk/qmk_firmware/issues/714 * https://github.com/algernon/ergodox-layout/blob/master/tools/log-to-heatmap.py Brian #4: Reinventing the Python Logo * Carlo Occhiena interview with Jessica Williamson * Some cool logo history * Early logo * Current, from 2006, designed by Tim Parklin * “The logo is actually based on mayan representations of snakes which very often represent only the head and perhaps a short length of tail. The structure of the snake representations the natural coiling/nesting of a snake as seen side on.” - Tim Parklin * Jessica Williamson proposed a new one in 2020: * Then there’s the rest of the article talking about the design process, etc. * But….. just wanted to throw this out there. I’m happy with the 2006 version. - Brian * MK: Have you ever seen the logos on the app stores? Michael #5: Private PyPI with Serverless Computing * Project: aws-lambda-pypi * Brings together a few pieces so you can easily run a small PyPICloud instance as an AWS Lambda function with the help of Terraform. * PyPICloud lets you publish Python packages privately. * AWS Lambda lets you run a small service for free. * Terraform ensures the service is deployed and maintained correctly. * Security: This project takes the following security precautions. * The session keys are auto-generated and stored in a secret. * The server configuration file, which contains the session keys, is generated on the fly to minimize the possibility of exposure. * The lambda function runs with a role limited to accessing only what it needs. * PyPICloud is configured to display no packages to unauthenticated users. Jeremy #6: Beyond the Basic Stuff w/Python * Al Sweigart * Want to become less feral? Extras: Michael: * Django 3.2 alpha 1 released * mypy 0.800 with Python 3.9 Support * pip 21.0 out and it drops Python 2 * Elastic changes open-source license to monetize cloud-service use Brian: * We talked about pip-chill in episode 208 * pip-chill now has a --no-chill option to not list itself. Nice. * I was just on https://www.twitch.tv/microsoftdeveloper, short, but fun Joke * via Wolf * by Kat Maddox * developer: so i have good news and bad news * manager: what's the good news? * developer: i've discovered that the "5 second rule" only applies to food * manager: and the bad news? * developer: i dropped our tables
44 min
Software Daily
Software Daily
SoftwareDaily.com
OpsLevel: Service Ownership Platform with John Laban and Kenneth Rose
Microservices are built to scale. But as a microservices-based system grows, so does the operational overhead to manage it. Even the most senior engineers can’t be familiar with every detail of dozens- perhaps hundreds- of services. While smaller teams may track information about their microservices via spreadsheets, wikis, or other more traditional documentation, these methods often prove unsuitable for the unique demands of a sprawling microservices system.  A microservices catalog is a solution to this problem. A microservices catalog seeks to centralize information about the services in your software architecture, including the purpose of a service, its owner, and instructions for using it. A microservices catalog can also provide a centralized source of knowledge about a system, which can help on-call engineers diagnose issues and also provide resources for onboarding new team members. Larger companies sometimes devote significant internal resources toward developing in-house microservices catalogs, while smaller organizations may not have the resources at their disposal to do so. OpsLevel’s founders recognized that many teams were re-inventing the wheel building internal microservices catalogs, and set out to design a toolset that could meet the needs of users of all sizes. OpsLevel’s team has drawn from extensive experience working with industry leaders in DevOps to create a comprehensive toolset for managing microservices infrastructure. OpsLevel provides a “single pane of glass for operations,” integrating with a variety of tools such as Slack, git, CI/CD, incident management, and deployment systems.  John Laban and Kenneth Rose are the co-founders of OpsLevel. Before John and Kenneth founded OpsLevel they worked together at PagerDuty, where John was the first engineer on the team. Kenneth, OpsLevel’s CTO, was also previously a senior developer at Shopify. John and Kenneth join the show today to talk about how OpsLevel can help developers manage their microservices better, and even transform how their team does DevOps. Sponsorship inquiries: sponsor@softwareengineeringdaily.com Learn more about your ad choices. Visit megaphone.fm/adchoices
50 min
The Cloudcast
The Cloudcast
Cloudcast Media
A Transformation Look Ahead for 2021
Andrew Clay Shafer (@litteidea, VP Transformation @RedHat ) & John Willis (@botchagalupe, Sr.Dir. Transformation) talk about the importance of "learning organizations",   aligning change to business value, and the evolution of self-service and automated governance. *SHOW: *485 *SHOW SPONSOR LINKS:* * Datadog Security Monitoring Homepage - Modern Monitoring and Analytics * Try Datadog yourself by starting a free, 14-day trial today. Listeners of this podcast will also receive a free Datadog T-shirt. * Okta - You should not be building your own Auth * Learn how Okta helped Cengage improve student success rates during COVID. * BMC Wants to Know if your business is on its A-Game * BMC Autonomous Digital Enterprise *CLOUD NEWS OF THE WEEK *- http://bit.ly/cloudcast-cnotw *CHECK OUT OUR NEW PODCAST - **"CLOUDCAST BASICS"* *SHOW NOTES:* * Red Hat Global Transformation Office * Books by John Willis * 10 Must Read DevOps & Transformation Books *Topic 1 *- Welcome to the show. You’re both really well known in the DevOps communities, but give us the TL;DR of your backgrounds for anyone not familiar with your work.  *Topic 2 *- Whether people are tired of the term “Digital Transformation” or not, change is a huge part of our industry, especially as it relates to corporate culture and organization. What’s the framing for that type of discussion in 2021?  *Topic 3 *- I’ve heard you both say “technology is easy, people are hard”. How do you think about these conflicts of transformation, whether people’s individual motivations aren’t always aligned to a business goal?* * *Topic 4 *- One of the biggest differences between existing companies and start-ups is the level of self-service that they build around their systems. The self-service systems allow experimentation, allow automated deployments, etc. But is there a way to bring a concept of automated governance to these end-to-end models?  *Topic 5 *- Oftentimes transformations are aligned with cloud-native technologies, cloud-native apps. The model of Ops in a cloud-native world is different. What are some of the areas you both focus on to make cloud-native Ops successful, or better aligned to the technology part of transformations?  *Topic 6 *- What are some of the best and worst “getting started” steps that you see various groups (or companies) take in their transformation journeys?  *FEEDBACK?* * Email: show at thecloudcast dot net * Twitter: @thecloudcastnet
46 min
More episodes
Search
Clear search
Close search
Google apps
Main menu