The Day One presentations of the 5th annual Python Web Conf are now up on LoudSwarm for re-watch.
Read the highlights from every talk below
KEYNOTE: Making Movies With Web Applications
by: JAMES SPADAFORA @ INDUSTRIAL LIGHT & MAGICKey points:
Python is very popular for scripting within the visual effects industry. Python’s tools, libraries and community are key to helping them develop applications to solve workflow issues. They use service-based apps to make it easier to modify, scale and benefit from modularity. Their roadmap includes developing more web applications to enhance production pipelines. A Deep Dive into Measuring Dependency Freshness with LibYear by: M. SCOTT FORD @ CORGIBYTESKey points:
Companies don't focus on upgrading dependencies enough, as evidenced by the Equifax data breach; Root causes include fear of regression, lack of time, priorities, and perceived difficulty; Dependency freshness can be calculated and easily communicated using libyear: libyear -r requirements.txt; Auto-upgrading is achievable via Dependabot. CI/CD with GitHub Actions by: CHRIS AYERS @ MICROSOFTKey points:
You can set multiple Jobs with dependencies, and set environment variables in workflows; You can run actions conditionally, and use expressions in workflows; You can use “GitHub secrets” in workflows; You can set jobs that connect with other platforms and run commands there (e.g Azure).
My first 90 days, kick starting a new team for long term success by: ANASTASIIA TYMOSHCHUK @ SOUNDWIDEKey points:
Prepare in advance: learn as much as possible about your new team and company; Define the current priorities of the team and assess progress to-date; Develop a roadmap that delivers key projects first; Create the strategy you will work from; Build your team and develop the plan to win together. What's that smell? Detecting air quality with Python, Raspberry Pi, and Redis by: JUSTIN CASTILLA @ REDISKey points:
Justin gave an extensive coverage of how wildfire smoke harms health You can create your own air sensor system to send alerts, activate appliances, and gather data Sensor plugs into Rasberry Pi Pico W which runs Micropython. It sends timestamps as timeseries to Grafana.
TUTORIAL: SQLAlchemy 2.0 by: MIKE BAYER @ RED HATKey points:
Not related to the tutorial topic, but https://github.com/zzzeek/sliderepl is an amazing tool to create live coding slides Library-level "Autocommit” was removed in SQLAlchemy 2.0. Need to be aware of that if migrating 1.x code. Dataclasses Mapped as ORM Models is the most interesting feature added to SQLAlchemy 2.0
Testing your Plone codebase with Pytest by: ÉRICO ANDREI @ PLONE FOUNDATIONKey points:
"Untested code is broken code" https://pypi.org/project/pytest-plone/ is available for providing fixtures and helpers when testing Plone add-onsÉrico showed some examples of its use in a couple of add-ons
Best Practices for Deploying Well-Architected, Serverless Python Applications to AWS with CDK by: KRISTI PERREAULT @ LIBERTY MUTUAL INSURANCEKey points:
CDK lets you write Python that translates to Cloudformation, and can construct into Pulumi and act as module for Terraform too; Kristi showed off using Lambda Powertools, Tuna (profile viewer), pytest / moto / tox as part of a good workflow
A Global Team Tackles World Problems with Django by: CALVIN HENDRYX-PARKER @ SIX FEET UPKey points:
Working around the clock can accelerate velocity; Spanning 13 time zones, the team split into early meetings and later meetings; Slack was instrumental in keeping all team members and the client on the same page; Asynchronous handoffs of information to team members is necessary; Using low-friction, real-time video conferencing like Zoom is a real game changer. Data Science in Production by: ALI MURAD @ HCA HEALTHCAREKey points:
Start with the end in mind, and work backwards. Maintain an iterative mindset. Work towards a consolidated framework that everyone can understand, and know which pieces have which responsibilities. Start with wide open permissions, then use the cloud logs to determine which permissions are needed and set them all up in terraform at one time before rolling to environments beyond development. So much depends upon... a python app's dependencies by: MARIO MUNOZ @ ESRIKey points:
pipdeptree displays a detailed view of dependencies and subdependencies Pinning dependencies is key - setting versions that you know work with your app Make sure dependencies are up to date with security releases Mario demoed setting up a new project using pdm and a virtualenvironment Using AWS Artificial Intelligence services with Python by: DAVID SOL @ WIZELINEKey points:
Using ML services in the cloud provides you with tools to do proof-of-concepts without spending much money on Hardware/Software/Storage Major cloud providers have the same “layers” of services: infra and frameworks, ML organization and managed AI services AWS has some interesting AI services, like face recognition, text detection, content moderation, that you can use without having to develop your entire ML model.
Team Culture From Your Home Office by: MARTYNA SHALLENBERG @ MYRIAD GENETICSKey points:
A company’s bottom line is linked to its culture; Leaders must create a purpose and bring people together; Developers must have freedom to execute and deliver; People with a common goal go forward together, making it easy for people to collaborate; It is critical to give freedom to delegate, listen, disagree, fail, experiment, be flexible, be different, etc.
Vectorization: How slow Python runs fast code by: ITAMAR TURNER-TRAURING @ SCIAGRAPHKey points:
Avoid iterating in Python; instead, use vectorized APIs operating on numpy arrays; it is much faster; Discussion about CPython’s PyObjects and the creation of extra overhead; Talked about performance on numpy arrays, pandas, how python sum() works; Use Python Polars vs pandas for better performance. KEYNOTE: Go with the Flow by: JESSICA TEMPORAL @ AUTH0 BY OKTAKey points:
Choosing the correct flow for your applications is extremely important for protecting applications, users identities, users data; Authentication always comes before authorization.