Podcasts about real python

  • 16PODCASTS
  • 65EPISODES
  • 58mAVG DURATION
  • ?INFREQUENT EPISODES
  • May 23, 2025LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about real python

Latest podcast episodes about real python

The Real Python Podcast
DjangoCon Europe 2025: Live Recording From Dublin

The Real Python Podcast

Play Episode Listen Later May 23, 2025 57:19


What goes into making video courses at Real Python? How should you build an installable Django application? Christopher Trudeau is back on the show this week, bringing another batch of PyCoder's Weekly articles and projects.

The Real Python Podcast
Building New Structures for Learning Python

The Real Python Podcast

Play Episode Listen Later Jan 10, 2025 52:21


What are the new ways we can teach and share our knowledge about Python? How can we improve the structure of our current offerings and build new educational resources for our audience of Python learners? This week on the show, Real Python core team members Stephen Gruppetta and Martin Breuss join us to discuss enhancements to the site and new ways to learn Python.

The Real Python Podcast
Exploring the New Features of Python 3.13

The Real Python Podcast

Play Episode Listen Later Oct 11, 2024 55:24


Python 3.13 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. This year, Geir Arne coordinated a series of preview articles with members of the Real Python team and a showcase tutorial, "Python 3.13: Cool New Features for You to Try." Christopher's video course "What's New in Python 3.13" covers the topics from the article and shows the new features in action.

python real python
Tech Writer koduje
#69 Tech Writer uczy się od programistów, czyli co każdy technoskryba powinien wiedzieć o kodowaniu

Tech Writer koduje

Play Episode Listen Later Aug 29, 2024 45:55


Pisanie dobrej dokumentacji dla deweloperów oprócz wysoko rozwiniętego warsztatu językowego wymaga również umiejętności technicznych, takich jak kodowanie. Czy teoretyczna znajomość pewnych zagadnień jest wystarczająca czy trzeba również posiadać doświadczenie praktyczne? Rozmawiamy o tym jak bardzo zaawansowane umiejętności techniczne powinien posiadać technoskryba w świecie rozwoju oprogramowania i czego powinien się nauczyć, żeby brylować na deweloperskich salonach i tworzyć dokumentację o wysokiej jakości i wiarygodności. Dźwięki wykorzystane w audycji pochodzą z kolekcji "107 Free Retro Game Sounds" dostępnej na stronie https://dominik-braun.net, udostępnianej na podstawie licencji Creative Commons license CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Informacje dodatkowe: React.js: https://react.dev/ "Git (oprogramowanie)", Wikipedia: https://pl.wikipedia.org/wiki/Git_(oprogramowanie) "Git Amend", W3Schools: https://www.w3schools.com/git/git_amend.asp?remote=github GitHub: https://github.com/ "JavaScript", Wikipedia: https://pl.wikipedia.org/wiki/JavaScript "Java", Wikipedia: https://pl.wikipedia.org/wiki/Java Docker: https://www.docker.com/ Docker Compose overview: https://docs.docker.com/compose/ "Docker image vs container: What are the differences?", CircleCI: https://circleci.com/blog/docker-image-vs-container/ "Why is Python a dynamic language and also a strongly typed language": https://wiki.python.org/moin/Why%20is%20Python%20a%20dynamic%20language%20and%20also%20a%20strongly%20typed%20language Kubernetes: https://kubernetes.io/ "How to Launch an HTTP Server in One Line of Python Code", Real Python: https://realpython.com/python-http-server/ Npm serve: https://www.npmjs.com/package/serve REST Client, VS Code: https://marketplace.visualstudio.com/items?itemName=humao.rest-client HTTP Client, IntelliJ IDEA: https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html curl: https://curl.se/ Postman: https://www.postman.com/ "bash", Wikipedia: https://pl.wikipedia.org/wiki/Bash

The Real Python Podcast
Creating a Guitar Synthesizer & Generating WAV Files With Python

The Real Python Podcast

Play Episode Listen Later Jun 28, 2024 55:55


What techniques go into synthesizing a guitar sound in Python? What higher-level programming and Python concepts can you practice while building advanced projects? This week on the show, we talk with Real Python author and core team member Bartosz Zaczyński about his recent step-by-step project, Build a Guitar Synthesizer: Play Musical Tablature in Python.

The Real Python Podcast
Considering Accessibility & Assistive Tech as a Python Developer

The Real Python Podcast

Play Episode Listen Later May 17, 2024 61:00


What's it like to learn Python as a visually impaired or blind developer? How can you improve the accessibility of your Python web applications and learn current guidelines? This week on the show, Real Python community member Audrey van Breederode discusses her programming journey, web accessibility, and assistive technology.

The Real Python Podcast
Embarking on a Relaxed and Friendly Python Coding Journey

The Real Python Podcast

Play Episode Listen Later May 3, 2024 64:04


Do you get stressed while trying to learn Python? Do you prefer to build small programs or projects as you continue your coding journey? This week on the show, Real Python author Stephen Gruppetta is here to talk about his new book, "The Python Coding Book."

Trap Talk With MJ Podcast
The Real Python King Ryan Young | Kush's Korner

Trap Talk With MJ Podcast

Play Episode Listen Later Apr 16, 2024 177:44


Kush's Korner Ep.7 w/ Ryan Young of Molecular Reptiles LIVEJOIN TRAP TALK PATREON HERE: https://bit.ly/311x4gxSUPPORT USARK: https://usark.org/MORPH MARKET STORE: https://www.morphmarket.com/stores/exoticscartal/SUBSCRIBE TO THE TRAP TALK PODCAST: https://bit.ly/39kZBkZSUBSCRIBE TO TRAP TALK CLIPS:https://www.youtube.com/channel/UCA40BzRi5eeTRPmwY6XSdVASUBSCRIBE TO THE TRAP VLOGS:https://www.youtube.com/channel/UCKxLByAE_Kt06XayYFOxHqSUPPORT USARK: https://usark.org/memberships/Follow On IG: The Trap Exotics https://bit.ly/3hthAZuTrap Talk Reptile Podcast https://bit.ly/2WLXL7w Listen On Apple:Trap Talk With MJ https://bit.ly/2CVW9Bd Unfiltered Reptiles Podcast https://bit.ly/3jySnhV Listen On Spotify:Trap Talk With MJ https://bit.ly/2WMcKOO Unfiltered Reptiles Podcast https://bit.ly/2ZQ2JCbTrap Talk Reptile Podcast Sponsors:THE CHIPPER COCO https://cocodude.com/ALWAYS EVOLVING PYTHONS https://www.instagram.com/alwaysevolvingpythons/MARC BAILEY REPTILES https://www.morphmarket.com/stores/marcbailey/SUNDOWN REPTILEShttps://www.sundownreptiles.com/BLAKES EXOTIC FEEDERShttps://www.instagram.com/blakesexoticfeeders/TX CHONDROShttps://www.texaschondros.com/FOCUS CUBED HABITAT https://www.instagram.com/focuscubedhabitats/TOFAUTI ROYALS OF AFRICA https://www.instagram.com/tofauti_royals/GS REPTILES https://www.instagram.com/gs.reptiles/https://www.youtube.com/@gsreptiles5606JUGGERNAUT REPTILEShttps://www.instagram.com/juggernautreptiles/https://www.youtube.com/@juggernautreptilesRARE GENETICS INChttps://www.raregeneticsinc.com/https://www.instagram.com/raregeneticsinc/https://www.youtube.com/@raregeneticsinc8166 CLTCHhttps://cltch.io/https://www.instagram.com/cltch/THE REPTILE SUPER SHOWhttps://reptilesupershow.com/HOST: Steven Kushhttps://www.instagram.com/scrubshepherd/FOLLOW & SUPPORT THE GUEST:https://www.instagram.com/molecularreptile/#fyp #reptiles #coolestreptilepodcastintheworld

The Real Python Podcast
Avoiding Error Culture and Getting Help Inside Python

The Real Python Podcast

Play Episode Listen Later Apr 12, 2024 65:03


What is error culture, and how do you avoid it within your organization? How do you navigate alert and notification fatigue? Hey, it's episode #200! Real Python's editor-in-chief, Dan Bader, joins us this week to celebrate. Christopher Trudeau also returns to bring another batch of PyCoder's Weekly articles and projects.

PyBites Podcast
#157 - Code, Music, and Python Education: A Conversation with Christopher Bailey

PyBites Podcast

Play Episode Listen Later Apr 11, 2024 41:41 Transcription Available


Join our Community for free here.Get your personal coach, check out our coaching options here.---

The Real Python Podcast
Build a Video Game With Python Turtle & Visualize Data in Seaborn

The Real Python Podcast

Play Episode Listen Later Mar 29, 2024 49:50


Can you build a Space Invaders clone using Python's built-in turtle module? What advantages does the Seaborn data visualization library provide compared to Matplotlib? Christopher Trudeau is back on the show this week, along with special guest Real Python core team member Bartosz Zaczyński. We're sharing another batch of PyCoder's Weekly articles and projects.

The Real Python Podcast
2023 Real Python Tutorial & Video Course Wrap-Up

The Real Python Podcast

Play Episode Listen Later Dec 29, 2023 53:00


Three members of the Real Python team are joining us this week: Kate Finegan, Tappan Moore, and Philipp Acsany. We wanted to share a year-end wrap-up with tutorials, step-by-step projects, code conversations, and video courses that showcase what our team created this year.

The Real Python Podcast
Exploring the New Features of Python 3.12

The Real Python Podcast

Play Episode Listen Later Oct 6, 2023 66:09


Python 3.12 is here! Our regular guests, Geir Arne Hjelle and Christopher Trudeau, return to discuss the new version. Geir Arne coordinated a series of preview articles with several members of the Real Python team this year, and his showcase tutorial, "Python 3.12: Cool New Features for You to Try," came out on October 2. Christopher's video course was posted the next day, covering the topics from the article with visual examples of Python 3.12 in action.

python real python
The Real Python Podcast
Finding the Right Coding Font for Programming in Python

The Real Python Podcast

Play Episode Listen Later Sep 1, 2023 65:23


What should you consider when picking a font for coding in Python? What characters and their respective glyphs should you check before making your decision? This week on the show, we talk with Real Python author and core team member Philipp Acsany about his recent article, Choosing the Best Coding Font for Programming.

The Real Python Podcast
2022 Real Python Tutorial & Video Course Wrap Up

The Real Python Podcast

Play Episode Listen Later Dec 23, 2022 76:12


It's been another year of changes at Real Python! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python material this year. We added some new members to the team, updated the site's features, and created new styles of tutorials and video courses.

The Real Python Podcast
Building Python REST APIs With Flask & Structuring Pull Requests

The Real Python Podcast

Play Episode Listen Later Nov 25, 2022 57:33


How do you build a REST API using the Flask web framework? How can you quickly add endpoints while automatically generating documentation? This week on the show, Real Python author Philipp Acsany is here to discuss his tutorial series "Python REST APIs With Flask, Connexion, and SQLAlchemy." Christopher Trudeau is also here with another batch of PyCoder's Weekly articles and projects.

Python Bytes
#294 Specializing Adaptive Interpreters in Full Color

Python Bytes

Play Episode Listen Later Jul 26, 2022 35:26


Watch the live stream: Watch on YouTube About the show Sponsored by Microsoft for Startups Founders Hub. Michael #1: Specialist: Python 3.11 perf highlighter via Alex Waygood Visualize CPython 3.11's specializing, adaptive interpreter.

The Real Python Podcast
Type-Safe ORM With Prisma Client & Real Python at PyCon US 2022

The Real Python Podcast

Play Episode Listen Later Apr 22, 2022 58:48


Are you using an Object-Relational Mapper (ORM) for your Python projects? What if it could work with SQL or No-SQL databases and be fully type-safe? This week on the show, Robert Craigie talks about Prisma Client Python.

The Real Python Podcast
What Is a JIT and How Can Pyjion Speed Up Your Python?

The Real Python Podcast

Play Episode Listen Later Jan 28, 2022 66:35


How can you can speed up Python? Have you thought of using a JIT (Just-In-Time Compiler)? This week on the show, we have Real Python author and previous guest Anthony Shaw to talk about his project Pyjion, a drop-in JIT compiler for CPython 3.10.

The Real Python Podcast
2021 Real Python Articles Wrap Up

The Real Python Podcast

Play Episode Listen Later Dec 24, 2021 63:34


It's been a year of change at Real Python! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles this year. We also added many new members to the team, updated the site's features, and created new styles of tutorials and projects.

wrap python real python
The Real Python Podcast
A Python Journey: Cyber Security, Automating AWS, and TDD

The Real Python Podcast

Play Episode Listen Later Dec 17, 2021 54:29


The Python community continually grows, with many users coming from different languages and backgrounds. This week on the show, we talk with developer Hugh Tipping about his Python journey. Hugh is also a member of the Real Python community.

Python Bytes
#263 It's time to stop using Python 3.6

Python Bytes

Play Episode Listen Later Dec 15, 2021 50:07


Watch the live stream: Watch on YouTube About the show Sponsored by us: Check out the courses over at Talk Python And Brian's book too! Special guest: Laís Carvalho Michael #1: Django 4.0 released Django is picking up speed: 4.0 Dec 2021 (+1) 3.0 Dec 2020 (+3) 2.0 Dec 2017 (+7) 1.0.1 May 2010 Feature highlights: The new RedisCache backend provides built-in support for caching with Redis. To ease customization of Forms, Formsets, and ErrorList they are now rendered using the template engine. The Python standard library's zoneinfo is now the default timezone implementation in Django. scrypt password hasher: The new scrypt password hasher is more secure and recommended over PBKDF2. However, it's not the default as it requires OpenSSL 1.1+ and more memory. Django 3.2 has reached the end of mainstream support. The final minor bug fix release, 3.2.10, was issued today. Django 3.2 is an LTS release and will receive security and data loss fixes until April 2024. Some backwards incompatible changes you'll want to be aware of when upgrading from Django 3.2 or earlier. They've begun the deprecation process for some features. Django 4.0 supports Python 3.8, 3.9, and 3.10. Brian #2: python-minifier Suggested by Lance Reinsmith My first thought was “we don't need a minifier for Python” The docs give one reason: “AWS Cloudformation templates may have AWS lambda function source code embedded in them, but only if the function is less than 4KiB. I wrote this package so I could write python normally and still embed the module in a template.” Lance has another reason: “I needed it because the RAM on Adafruit boards using the common M0 chip is around 192KB to 256KB total--not all of which is available to your program. To get around this, you can either 1) compile your code to an .mpy file or 2) minify it. The second worked for me and allowed me to alter it without constantly re-compiling.” Fair enough, what does it do? All of these features are options you can turn off, and are documented well: Combine Import statements Remove Pass statements Remove literal statements (docstrings) Remove Annotations Hoist Literals Rename Locals, with preserved Locals list Rename Globals, with preserved Globals list Convert Positional-Only Arguments to Normal Arguments Also looks like it replaces spaces with tabs Begrudgingly, that makes sense in this context. You can try it at python-minifier.com Laís #3: It's time to stop using Python 3.6 Python 3.6 is reaching the end of it's life in 1 week and 1 day (Dec 23rd), i.e. no more releases after it. You should care because the Python dev team will no longer release security updates for 3.6 ⚠️ if you use Linux, you have a bit more time BUT security updates will be released and bug fixes will not. also, Python 3rd party libraries and frameworks will drop support for 3.6 soon enough. See the log4j issue and Java. Brian might like this one: Grype - a vulnerability scanner for container images and filesystems Michael #4: How to Visualize the Formula 1 Championship in Python Race Highlights | 2021 Abu Dhabi Grand Prix Formula 1: Drive to Survive (Season 3) | Official Trailer Wanting to get into Formula 1 data analysis, the Ergast API is a very good starting point. This tutorial will show you how to use data from the Ergast API to visualize the changes in the 2021 championship standings over the rounds. Introduces fastf1: Wrapper library for F1 data and telemetry API with additional data processing capabilities. Brian #5: nbdime: Jupyter Notebook Diff and Merge tools Suggestion from Henrik Finsberg “you recently covered ‘jut' for viewing Jupyter notebooks from the terminal. Check out ‘mbdime'.” (that was episode 258) So I did. And it looks cool. nbdime provides tools for diffing and merging of Jupyter Notebooks. nbdiff compare notebooks in a terminal-friendly way nbmerge three-way merge of notebooks with automatic conflict resolution nbdiff-web shows you a rich rendered diff of notebooks nbmerge-web gives you a web-based three-way merge tool for notebooks nbshow present a single notebook in a terminal-friendly way Laís #6: Using AI to analyse and recommend software stacks for Python apps thanks Fridolin! Project Thoth: an open source cloud-based Python dependency resolver ML (reinforcement learning) that solves dependency issues taking into consideration runtime envs, hardware and other inputs. Using Markov's decision process. “a smarter pip” that instead of using backtracking, precomputes the dependency information and stores it in a database that can be queried for future resolutions. Using pre-specified criteria by the developer. In summary: Thot's resolver uses automated bots that guarantee dependencies are locked down to specific versions, making builds and deployments reproducible; the aggregated knowledge (reinforcement learning from installed logs) helps the bots to lock the dependencies to the best libraries, instead of the latest. They are in beta phase but welcoming feedback and suggestions from the community. Extras Brian: Pragmatic Bookshelf 12 days of Christmas Today, pytest book is part of the deal, nice timing, right? Michael: My talk at FlaskCon is out Firefox releases RLBox We're all getting identity theft monitoring for 1 year for free :-/ Laís: Python Ireland's speaker's coaching session is on Jan 22nd Learning git the visual way - cool for beginners, thorough explanations Good read for Java devs who want to start with Python (by Real Python) Joke: Janga Python (hellish) virtual envs

The Real Python Podcast
Solving Advent of Code Puzzles With Python

The Real Python Podcast

Play Episode Listen Later Dec 10, 2021 57:02


Are you ready to break open the first days of puzzles from the annual Advent of Code challenge? Advent of Code is an advent calendar of twenty-five programming puzzles published each December. Practicing solving puzzles is a great way to build your Python skills. This week on the show, we have previous guest and Real Python author Geir Arne Hjelle to discuss his recent article titled, "Advent of Code: Solving Your Puzzles With Python."

Python Bytes
#262 So many bots up in your documentation

Python Bytes

Play Episode Listen Later Dec 9, 2021 43:06


Watch the live stream: Watch on YouTube About the show Sponsored by us: Check out the courses over at Talk Python And Brian's book too! Special guest: Leah Cole Brian #1: pytest 7.0.0rc1 Question: Does the new pytest book work with pytest 7? Answer: Yes! I've been working with pytest 7 during final review of all code, and many pytest core developers have been technical reviewers of the book. A few changes in pytest 7 are also the result of me writing the 2nd edition and suggesting (and in one case implementing) improvements. Florian Bruhin's announcement on Twitter “I'm happy to announce that I just released #pytest 7.0.0rc1! After many tricky deprecations, some internal changes, and months of delay due to various issues, it looks like we could finally get a new non-bugfix release this year! (6.2.0 was released in December 2020).” “We invite everyone to test the #pytest prerelease and report any issues - there is a lot that happened, and chances are we broke something we didn't find yet (we broke a lot of stuff we already fixed Smiling face with open mouth and cold sweat). See the release announcement for details: https://docs.pytest.org/en/7.0.x/announce/release-7.0.0rc1.html” Try it out with pip install pytest==7.0.0rc1 For those of you following along at home (we covered pip index briefly in episode 259) to see rc releases with pip index versions, add --pre ex: pip index versions --``pre pytest will include Available versions: 7.0.0rc1, 6.2.5, 6.2.4, and let you know if there's a newer rc available. Highlights from the 7.0.0rc1 changelog pytest.approx() now works on Decimal within mappings/dicts and sequences/lists. Improvements to approx() with sequences of numbers. Example: > assert [1, 2, 3, 4] == pytest.approx([1, 3, 3, 5]) E assert comparison failed for 2 values: E Index | Obtained | Expected E 1 | 2 | 3 +- 3.0e-06 E 3 | 4 | 5 +- 5.0e-06 pytest invocations with --fixtures-per-test and --fixtures have been enriched with: Fixture location path printed with the fixture name. First section of the fixture's docstring printed under the fixture name. Whole of fixture's docstring printed under the fixture name using --verbose option. Never again wonder where a fixture's definition is RunResult method assert_outcomes now accepts a warnings and deselected argument to assert the total number of warnings captured. Helpful for plugin testing. Added pythonpath setting that adds listed paths to sys.path for the duration of the test session. Nice for using pytest for applications, and for including test helper libraries. Improved documentation, including an auto-generated list of plugins. There were 963 this morning. Michael #2: PandasTutor via David Smit Why use this tool? Let's say you're trying to explain what this pandas code does: (dogs[dogs['size'] == 'medium'] .sort_values('type') .groupby('type').median() ) But this doesn't tell you what's going on behind the scenes. What did this code just do? This single code expression has 4 steps (filtering, sorting, grouping, and aggregating), but only the final output is shown. Where were the medium-sized dogs? This code filters for dogs with size "medium", but none of those dogs appear in the original table display (on the left) because they were buried in the middle rows. How were the rows grouped? The output doesn't show which rows were grouped and aggregated together. (Note that printing a pandas.GroupBy object won't display this information either.) If you ran this same code in Pandas Tutor, you can teach students exactly what's going on step-by-step Leah #3: Apache Airflow Workflow orchestration tool the originated at Airbnb and is now part of the Apache Software Foundation author workflows as directed acyclic graphs (DAGs) of tasks Airflow works best with workflows that are mostly static and slowly changing. When DAG structure is similar from one run to the next, it allows for clarity around unit of work and continuity. Typical data analytics workflow is the Extract, Transform, Load (ETL) workflow - I have data somewhere that I need to get (extract), I do something to it (Transform) and I put that result somewhere else (load) Airflow has "Operators" and connectors which enable you to perform common tasks in popular libraries and Cloud providers Let's talk about a sample - I work on GCP so my sample will be GCP based because that's what I use most. One common workflow I see is running Spark jobs in ephemeral Dataproc clusters. I'm actually writing a tutorial demonstrating this now - literally in progress in another tab BigQuery -> Create Dataproc cluster -> Run PySpark Dataproc job -> Store results in GCS -> delete Dataproc cluster Airflow has a really wonderful, active community. Please join us. Brian #4: textwrap.dedent Suggested by Michel Rogers-Vallée Small utility but super useful. Also, built in to Python standard library. BTW, textwrap package has other cool tools you probably didn't know Python could do right out of the box. It's worth reading the docs. dedent akes a multiline string (the ones with tripple quotes). Removes all common whitespace. This allows you to have multi-line strings defined in functions without mucking up your indenting. Example from docs: def test(): # end first line with to avoid the empty line! s = ''' hello world ''' print(repr(s)) # prints ' hellon worldn ' print(repr(dedent(s))) # prints 'hellon worldn' Better example: from textwrap import dedent def multiline_hello_world(): print("hello") print(" world") def test_multiline_hello_world(capsys): expected = dedent(''' hello world ''') multiline_hello_world() actual = capsys.readouterr().out assert actual == expected Michael #5: pip-audit via Dan Bader (from Real Python) Audits Python environments and dependency trees for known vulnerabilities Are your dependencies containing security issues? What about their dependencies, the ones you forgot to list in your requirements files or pin? Just run pip-audit on your requirements file(s) Perfect candidate for pipx Leah #6 - Using bots to manage samples Another part of my job is working with other software engineers in GCP to oversee the maintenance our Python samples We have thousands of samples in hundreds of repos that are part of GCP documentation To ensure consistency and that this wonderful group of Devrel Engineers has time to get their work done and also function as a human, we use a lot of automation Bots do things like keep our dependencies up to date, check for license headers, auto-assign PRs and issues to code-owners, sync repositories with a centralized config, and more the GCP DevRel github automation team has an open source repo with some of the bots they have developed that we use every day and we use whitesource renovatebot to manage our dependencies and keep them up to date Extras Michael: Github CMD/CTRL+K command palette Python 3.10.1 is out Joke: HTTP status code meanings http.cat

The Real Python Podcast
Building a Content Aggregator and Working With RSS in Python

The Real Python Podcast

Play Episode Listen Later Nov 19, 2021 57:55


Have you wanted to work with RSS feeds in Python? Maybe you're looking for a new project to build for your portfolio that uses Django, unit tests, and custom commands. This week on the show, we have Real Python author Ricky White to talk about his recent step-by-step project titled, "Build a Content Aggregator in Python."

The Real Python Podcast
Exploring Django Templates, Tags, and Filters

The Real Python Podcast

Play Episode Listen Later Nov 5, 2021 61:55


Are you getting the most out of the Django framework? It's a powerful web framework if you're not interested in reinventing the wheel. Django includes a useful template system with inheritance for composing reusable HTML. This week on the show, we have previous guest and Real Python author Christopher Trudeau to talk about his recent articles and courses about Django.

The Real Python Podcast
Ready to Publish Your Python Packages?

The Real Python Podcast

Play Episode Listen Later Oct 22, 2021 61:32


Are you interested in sharing your Python project with the broader world? Would you like to make it easily installable using pip? How do you create Python packages that share your code in a scalable and maintainable way? This week on the show, Real Python author and former guest Dane Hillard returns to talk about his new book, "Publishing Python Packages."

The Real Python Podcast
Exploring the New Features of Python 3.10

The Real Python Podcast

Play Episode Listen Later Oct 8, 2021 54:27


Python 3.10 is here! This week on the show, two former guests and Real Python authors return to talk about the new version. Geir Arne Hjelle's article was posted to the site Monday, and it's titled "Python 3.10: Cool New Features for You to Try". Christopher Trudeau's video course came out on Tuesday, and it covers the topics from the article with multiple visual examples of Python 3.10 code.

python real python
Tangible Computing
#7 Christopher Bailey: Teaching the world python

Tangible Computing

Play Episode Play 25 sec Highlight Listen Later Aug 24, 2021 64:27


Christopher Bailey , @digiglean is the host of the Real Python podcast, which helps people around the world learn, and master python. He talks about his experiences starting from recording engineering, to SQL programming then hosting a podcast and some hobby projects where he is building guitar pedals programmed in Python.  Christopher has interviewed many of the people behind python and we discuss where the language is evolving and how forks like circuit python play a role in taking it to the embedded space. 

Python en español
Python en español #24: Tertulia 2021-03-16

Python en español

Play Episode Listen Later Jun 7, 2021 85:09


Evolución de la sintaxis de Python, comunidades locales y metareferencias a las grabaciones de las tertulias https://podcast.jcea.es/python/24 Participantes: Jesús Cea, email: jcea@jcea.es, twitter: @jcea, https://blog.jcea.es/, https://www.jcea.es/. Conectando desde Madrid. Jesús, conectando desde Ferrol. Víctor Ramírez, twitter: @virako, programador python y amante de vim, conectando desde Huelva. Eduardo Castro, email: info@ecdesign.es. Conectando desde A Guarda. Gato, desde Chile. Audio editado por Pablo Gómez, twitter: @julebek. La música de la entrada y la salida es "Lightning Bugs", de Jason Shaw. Publicada en https://audionautix.com/ con licencia - Creative Commons Attribution 4.0 International License. [00:53] Volvemos a estar poquita gente. Comunidades locales en Galicia. Python Vigo: https://www.python-vigo.es/. Makerspaces: https://en.wikipedia.org/wiki/Hackerspace. GPUL: Grupo de Programadores e Usuarios de Linux: https://www.gpul.org/. [05:48] Propuesta de cambio en la sintaxis de lambda. Ventaja de la sintaxis actual: al aparecer el término "lambda", se puede buscar en Internet. El lenguaje cada vez es más opaco y complejo. [09:58] Asistencia escasa en las últimas tertulias. ¿Cómo afrontarlo? ¿Proponer temas a lo largo de la semana? [12:23] Volvemos al cambio de sintaxis de lambda. PEP 617 -- New PEG parser for CPython https://www.python.org/dev/peps/pep-0617/. [15:03] Guido van Rossum https://es.wikipedia.org/wiki/Guido_van_Rossum está apoyando muchos cambios polémicos en Python. Nominación de Pablo Galindo al Steering Council: https://discuss.python.org/t/steering-council-nomination-pablo-galindo-salgado-2021-term/5720. [16:58] ¿Python intenta seguir la estela de otros lenguajes con los que compite? PEP 617 -- New PEG parser for CPython https://www.python.org/dev/peps/pep-0617/. El parser nuevo abre muchas posibilidades peligrosas. Lista de correo de Python-ideas: https://mail.python.org/mailman3/lists/python-ideas.python.org/. [23:38] ¿Dónde se almacenan los valores por defecto de los parámetros de una función? Librerías para procesar y generar bytecode https://es.wikipedia.org/wiki/Bytecode python. Ejemplo: simplificar la sintaxis de meter código ensamblador desde Python. Decoradores que manipulan las tripas de las funciones, a nivel de bytecode https://es.wikipedia.org/wiki/Bytecode. Módulo "dis" https://docs.python.org/3/library/dis.html. import dis >>> def a(): ... return 5 ... >>> dis.dis(a) 2 0 LOAD_CONST 1 (5) 2 RETURN_VALUE [30:13] Cómo mezclar código síncrono y asíncrono, en función del tipo de función que te llama. inspect.iscoroutinefunction(object): https://docs.python.org/3/library/inspect.html#inspect.iscoroutinefunction. inspect.iscoroutine(object): https://docs.python.org/3/library/inspect.html#inspect.iscoroutine. inspect.isawaitable(object): https://docs.python.org/3/library/inspect.html#inspect.isawaitable. inspect.isasyncgenfunction(object): https://docs.python.org/3/library/inspect.html#inspect.isasyncgenfunction. inspect.isasyncgen(object): https://docs.python.org/3/library/inspect.html. [32:03] Bibliotecas con "plugins". Namespaces: PEP 420 -- Implicit Namespace Packages https://www.python.org/dev/peps/pep-0420/. Problemas con el "modo desarrollo" del paquete. PEP 402 -- Simplified Package Layout and Partitioning: https://www.python.org/dev/peps/pep-0402/. Este PEP se rechazó. PEP 382 -- Namespace Packages https://www.python.org/dev/peps/pep-0382/. Ficheros pth: https://docs.python.org/3/library/site.html. [42:21] Charla Python Madrid: Python Packaging: Lo estás haciendo mal https://www.youtube.com/watch?v=OeOtIEDFr4Y. Buenas prácticas actuales. Se puso como deberes futuros. [45:11] Metareferencia: Podcast: Python en español: https://podcast.jcea.es/python/. Notas y capítulos para poder navegar por las grabaciones. Temas pendientes para poder publicar los audios. Biblioteca toc2audio: https://docs.jcea.es/toc2audio/. MP3 https://es.wikipedia.org/wiki/Mp3 en formato VBR https://es.wikipedia.org/wiki/Tasa_de_bits_variable. ¿Dónde colgar las grabaciones? ¿Secuestrar y resucitar el podcast "Python en español": https://podcast.jcea.es/python/? Zope: https://es.wikipedia.org/wiki/Zope. [51:33] Temas Django https://www.djangoproject.com/: Consultas complejas usando el ORM https://es.wikipedia.org/wiki/Asignaci%C3%B3n_objeto-relacional. SQL: https://es.wikipedia.org/wiki/SQL. Postgresql: https://www.postgresql.org/. MySQL: https://www.mysql.com/. MariaDB: https://mariadb.org/. [55:38] Novedades Python 3.10: PEP 622 -- Structural Pattern Matching https://www.python.org/dev/peps/pep-0622/. PEP 634 -- Structural Pattern Matching: Specification https://www.python.org/dev/peps/pep-0634/. PEP 635 -- Structural Pattern Matching: Motivation and Rationale https://www.python.org/dev/peps/pep-0635/. PEP 636 -- Structural Pattern Matching: Tutorial https://www.python.org/dev/peps/pep-0636/. ¿Deberes futuros? What the f*ck Python! https://github.com/satwikkansal/wtfpython Docker: https://en.wikipedia.org/wiki/Docker_(software). [01:02:18] Podcast: Python Bytes: https://pythonbytes.fm/. Hablar de las cosas habiéndolas probado. Real Python https://realpython.com/. No hay contenido comparable en español. [01:05:08] Traducción de la documentación Python al español: Documentación Python en Español: https://docs.python.org/es/3/. Documentación oficial de Python en español https://pyar.discourse.group/t/documentacion-oficial-de-python-en-espanol/238/23. GitHub: https://github.com/python/python-docs-es/. Documentación oficial de Python en Español https://elblogdehumitos.com/posts/documentacion-oficial-de-python-en-espanol/. docs.python.org en Español https://elblogdehumitos.com/posts/docspythonorg-en-espanol/. [01:06:43] Tutorial de Python en español: https://docs.python.org/es/3/tutorial/index.html. [01:07:08] Python España: Aprende Python https://www.es.python.org/pages/aprende-python.html. Parece abandonado. [01:07:43] Eventos Python en España: http://calendario.es.python.org/. Costaba mucho que la gente avisase de los eventos. Al final había que estar en todas partes y poner mucha oreja. [01:09:03] Automatizaciones de seguimientos. [01:09:43] La dificultar para crear comunidad. [01:10:38] Iniciativa de comunidades tecnológicas de Madrid. Problemas comunes de los organizadores: conseguir ponentes, reservar locales, conseguir subvenciones, gente que se apunta y luego no acude, etc. Calendario de actividades tecnológicas en Madrid. [01:13:18] Python para desarrollar herramientas de sonido. Latencia. PulseAudio: https://es.wikipedia.org/wiki/PulseAudio. Instrumentos VST: https://es.wikipedia.org/wiki/Virtual_Studio_Technology. Jesús Cea ha escrito software de control de una emisora de radio. Detalles. Ojo con el sistema de recogida de basuras. gc — Garbage Collector interface: https://docs.python.org/3/library/gc.html. [01:19:43] Capítulos en podcasts. Más detalles sobre el "workflow" de edición de sonido. Biblioteca: https://docs.jcea.es/toc2audio/. rnnoise: https://jmvalin.ca/demo/rnnoise/. [01:22:53] Despedida. Experimento con deberes para poder tratar temas profundos habiéndolos visto con anterioridad. [01:24:18] Final.

Python en español
Python en español #18: Tertulia 2021-02-02

Python en español

Play Episode Listen Later May 20, 2021 120:48


Anotaciones de tipos: ¿Son pythónicas? También versiones de paquetes y grafos de dependencias https://podcast.jcea.es/python/18 En este audio hay un hablante que no identifico. ¿Quien es?. Es quien habla, por ejemplo, en 01:06:00 o en 01:12:00. ¿Antoni? Participantes: Jesús Cea, email: jcea@jcea.es, twitter: @jcea, https://blog.jcea.es/, https://www.jcea.es/. Conectando desde Madrid. Víctor Ramírez, twitter: @virako, programador python y amante de vim, conectando desde Huelva. Dani, conectando desde Málaga. Eduardo Castro, email: info@ecdesign.es. Conectando desde A Guarda. Audio editado por Pablo Gómez, twitter: @julebek. La música de la entrada y la salida es "Lightning Bugs", de Jason Shaw. Publicada en https://audionautix.com/ con licencia - Creative Commons Attribution 4.0 International License. [00:52] Preámbulo. Design of CPython’s Garbage Collector: https://devguide.python.org/garbage_collector/. Dificultades con el horario de la tertulia. Podría haber más tertulias en otros horarios, llevadas por otras personas. Problemas para publicar los audios. Editar es un infierno. Las notas de los audios tienen una importancia transcendental. Dinámica de las tertulias. Antiguo podcast "Python en español": https://podcast.jcea.es/python/. [08:32] Presentaciones. Raspberry Pi Pico: https://www.raspberrypi.org/products/raspberry-pi-pico/. Micropython: https://www.micropython.org/. [13:32] El aviso legal para poder grabar los audios. [14:32] Bugs sobre "pickle" https://docs.python.org/3/library/pickle.html en el módulo __main__. Se trata de un problema conocido. Ejemplo de código: https://pastebin.com/vGM1sh8r. Issue24676: Error in pickle using cProfile https://bugs.python.org/issue24676. Issue9914: trace/profile conflict with the use of sys.modules[__name__] https://bugs.python.org/issue9914. Issue9325: Add an option to pdb/trace/profile to run library module as a script https://bugs.python.org/issue9325. [16:27] Lo importante que es abrir bugs, para que puedan solucionarse. Queja productiva. [18:12] Nueva versión de MYPY http://mypy-lang.org/ y MYPYC https://github.com/mypyc/mypyc, que aprovechan Python 3.9. Sigue fallando mucho. [20:42] pyannotate https://pypi.org/project/pyannotate/ para meter anotaciones de tipos de forma automática. Las dificultades de meter tipos en un proyecto ya maduro. [22:52] Puedes usar tipos o no. Son opcionales. Ventajas en equipos grandes. Linter: https://es.wikipedia.org/wiki/Lint. Impone disciplina y una cultura. Las anotaciones de tipos no se verifican en tiempo de ejecución. Se usan en el sistema de test e integración continua. Una de la ventaja de los "__slots__" es que si te equivocas en el nombre de atributo en una asignación, te dará un error claro. Los tipos ayudan aquí también. "pyannotate" https://pypi.org/project/pyannotate/. Las anotaciones de tipos te permiten luego compilar Python para ganar rendimiento "sin coste". Las anotaciones se pueden meter en el mismo código o en un fichero "compañero". Usar un fichero "compañero" es útil para poder usar anotaciones modernas en versiones antiguas de Python. Evitar "contaminar" el sistema de control de versiones con cambios masivos irrelevantes que ofuscan la historia de un proyecto. Por ejemplo, el autor original del código. Que los creadores de código y los etiquetadores de tipos sean personas diferentes. "typeshed": Collection of library stubs for Python, with static types: https://github.com/python/typeshed. ¿Y meter tipos en los comentarios, como se hacía antiguamente? Hay mucha literatura de ingeniería de software sobre si es bueno documentar tipos o no, según el tipo de equipo y el tipo de proyecto. [40:17] Python podría ser mucho más rápido aunque no se usen tipos. Podría ser mucho más inteligente. Descubrimiento de tipos en tiempo de ejecución. Tema recurrente. Numba: https://numba.pydata.org/. Javascript V8: https://en.wikipedia.org/wiki/V8_(JavaScript_engine). [43:06] Habiendo tantos compiladores, ¿por qué no se integra alguno en el intérprete normal de Python? Complejidad y compatibilidad. Faltan manos. Hay muchos "gérmenes" que no germinan. Dispersión de esfuerzos. [46:12] Puntos de dolor de Python para la gente que viene de otros lenguajes: Tipos. Velocidad. Espacios significantes. [46:37] ¿Qué es "Python"? Cada novedad de sintaxis de Python cambia el lenguaje. ¿Qué es Python? Problemas para los que llegan nuevos al lenguaje. Hay organizaciones grandes que un lenguaje sin tipos ni siquiera lo consideran. [51:22] Cultura común en todos los proyectos Python. Baja barrera de entrada si conoces esa cultura. La cultura va evolucionando. Solución de compromiso: Meter tipos solo en la frontera. [53:02] El tipado avanzado de Python 3.9 da un error de sintaxis al importar el código en una versión anterior de Python. [54:46] El operador morsa no se puede usar dentro de un "list comprehension": >>> [i for i in ('a', '' ,'b') if i := i.strip()] File "", line 1 [i for i in ('a', '' ,'b') if i := i.strip()] ^ SyntaxError: invalid syntax No queda otra que escribirlo como: >>> [i.strip() for i in ('a', '' ,'b') if i.strip()] ['a', 'b'] duplicando el i.strip(). [56:40] En versiones de Python anteriores a 3.8 no se podría usar un continue en un finally. El texto era https://docs.python.org/3.7/reference/compound_stmts.html#the-try-statement: When a return, break or continue statement is executed in the try suite of a try...finally statement, the finally clause is also executed ‘on the way out.’ A continue statement is illegal in the finally clause. (The reason is a problem with the current implementation — this restriction may be lifted in the future). Eso se solucionó en Issue32489: Allow 'continue' in 'finally' clause: https://bugs.python.org/issue32489. [57:47] f-string con datetime https://docs.python.org/3/library/datetime.html. Ya está en los propios ejemplos de PEP 498: Literal String Interpolation: https://www.python.org/dev/peps/pep-0498/. [59:22] Modo depuración en f-strings en Python 3.8: >>> a = 5 >>> f'{a=}' 'a=5' Útil para el loging. [01:00:47] Versiones fijas de dependencias y actualizar un despliegue. Herramientas para esto: "pip" https://pypi.org/project/pip/, "virtualenv" https://pypi.org/project/virtualenv/. "pipenv" https://pypi.org/project/pipenv/. "Poetry": https://pypi.org/project/poetry/. Grafo de dependencias "pip-tree": https://pypi.org/project/pip-tree/. Paralelismos con el enlazado estático y dinámico. [01:14:22] ¿Por qué se ha instalado este paquete, qué paquetes exige y qué paquetes dependen de él? pip show. Grafo de dependencias "pip-tree": https://pypi.org/project/pip-tree/. [01:19:22] Visualizar el grafo de versiones de un sistema de control de versiones moderno. Por ejemplo con Mercurial: "hg glog" https://www.mercurial-scm.org/. [01:23:07] Recogida de basuras: Design of CPython’s Garbage Collector: https://devguide.python.org/garbage_collector/. Hora de sacar la basura garbage collector - Pablo Galindo y Victor Terrón - PyConES 2018 https://www.youtube.com/watch?v=G9wOSExzs5g. La recolección de basura de la generación más antigua funciona de forma diferente. En vez de ser por un número fijo de desequilibrio entre creación y destrucción de objetos, funciona por porcentaje. [01:31:37] Divagación: Powerball https://powerball.org.uk/. [01:31:52] Explicación de cómo funciona "__slots__" https://docs.python.org/3/reference/datamodel.html. [01:34:22] Libro "CPython Internals": https://realpython.com/products/cpython-internals-book/. Website de "Real Python": https://realpython.com/. Merece bastante la pena. También tienen podcast: "The Real Python Podcast: Python Tips, Interviews, and More" https://realpython.com/podcasts/rpp/. [01:36:42] Más sobre "__slots__" https://docs.python.org/3/reference/datamodel.html. Técnica estándar. Un diccionario vacío ocupa 64 bytes: sys.getsizeof({}). Se puede usar para evitar errores mecanográficos al escribir en atributos. [01:38:52] "AutoScraper: A Smart, Automatic, Fast and Lightweight Web Scraper for Python" https://pypi.org/project/autoscraper/. Búsquedas "borrosas". Seguimos sin encontrar la biblioteca de scraping de foros de la que ha hablado Eduardo en tertulias anteriores. [01:43:02] Librería para dibujar grafos: graphviz https://pypi.org/project/graphviz/. Le das un texto describiendo nodos y conexiones entre nodos y calcula un gráfico. Sería trivial para dibujar el grafo de dependencias de "pip". Ejemplo: El gráfico de antes, con ciclos: https://lists.es.python.org/pipermail/general/attachments/20201229/0c14bc58/attachment-0002.png. El gráfico de después, sin ciclos: https://lists.es.python.org/pipermail/general/attachments/20201229/0c14bc58/attachment-0003.png. [01:47:22] ¿Cómo asegurarse que el nombre de un fichero no tenga caracteres extraños? ¡Problema de seguridad! Expresiones regulares. Cuidado con el unicode https://en.wikipedia.org/wiki/Unicode. Mejor usar una lista blanca que una lista negra. Usar pathlib.is_relative_to() https://docs.python.org/3/library/pathlib.html#pathlib.PurePath.is_relative_to. Novedad en Python 3.9. [01:52:07] ¡Usa la versión actual de Python, leches! Ahora mismo, Python 3.9. Ventajas de compilar el intérprete desde código fuente para no depender de la versión que te proporciona el sistema operativo. Puedes tener tu propio intérprete de Python dentro de un "virtualenv" https://pypi.org/project/virtualenv/. Proyectos "llave en mano". El cliente quiere algo que se instale como un componente en lo que ya conoce. Por ejemplo, en un panel de configuración en un servicio de hospedaje. [01:56:47] Jesús Cea repite una vez más la anécdota de que al principio de los tiempos para conducir un coche tenías que ser mecánico, pero ya no. Falta toda la base, pero... ¿Hace falta? [01:59:12] Memoria escasa en un microcontrolador. [01:59:55] Final.

The Real Python Podcast
Building a Platform Game With Arcade and Covering Python News Monthly

The Real Python Podcast

Play Episode Listen Later May 14, 2021 54:36


Did you know the Python Software Foundation is hiring! With the recent support of three Visionary Sponsors, the PSF has been able to open positions for a developer-in-residence and a Python packaging project manager. Real Python now has a monthly Python news article. Frequent guest of the show, David Amos compiles and summarizes the biggest Python news from the past month.

The Real Python Podcast
Taking the Next Step in Python Game Development

The Real Python Podcast

Play Episode Listen Later Apr 23, 2021 75:57


Are you interested in creating video games but feel limited in what you can accomplish within Python? Is there a platform where you can take advantage of your Python skills and provide the benefits of a dedicated game engine? This week on the show, we have Paweł Fertyk. Paweł is a Real Python author and has been creating games as Miskatonic Studio for several years now.

The Real Python Podcast
Improving the Learning Experience on Real Python

The Real Python Podcast

Play Episode Listen Later Mar 26, 2021 70:16


If you haven't visited the website lately, then you're missing out on the updates to realpython.com! The site features a completely refreshed layout with multiple sections to help you take advantage of even more great educational Python content. This week on the show, we have Dan Bader, the person behind Real Python, and all these architectural changes.

The Real Python Podcast
2020 Real Python Articles in Review

The Real Python Podcast

Play Episode Listen Later Dec 25, 2020 47:36


It's been quite the year! The Real Python team has written, edited, curated, illustrated, and produced a mountain of Python articles this year. We also upgraded the site and membership with office hours, transcripts, this podcast, and much more. We are joined by two members of the Real Python team, David Amos and Joanna Jablonski. We wanted to share a year-end wrap-up with a collection of articles that showcase a diversity of Python topics and the quality of what our team created this year.

python david amos real python
The Real Python Podcast
How Python Manages Memory and Creating Arrays With np.linspace

The Real Python Podcast

Play Episode Listen Later Dec 18, 2020 57:46


Have you wondered how Python manages memory? How are your variables stored in memory, and when do they get deleted? This week on the show, David Amos is here, and he has brought another batch of PyCoder's Weekly articles and projects. Along with the Real Python article on Python memory management, we also talk about another article about creating even and non-even spaced arrays in Python with np.linspace.

memory python array manages david amos real python
The Real Python Podcast
Looping With enumerate() and Python GUIs With PyQt

The Real Python Podcast

Play Episode Listen Later Dec 4, 2020 43:51


If you're coming to Python from a different language, you may not know about a useful tool for working with loops, Python's built-in enumerate function. This week on the show, David Amos is here, and he has brought another batch of PyCoder's Weekly articles and projects. Along with the Real Python article covering the details of the enumerate function, we also talk about another article about constructing Python graphical user interface elements in PyQt.

python looping guis enumerate david amos real python pyqt
The Real Python Podcast
Teaching Python and Finding Resources for Students

The Real Python Podcast

Play Episode Listen Later Nov 27, 2020 49:56


One of the best ways to learn something well is to teach it. This week on the show, we have Kelly Schuster-Paredes and Sean Tibor from the Teaching Python podcast. Sean and Kelly teach middle school students Python and share their art and science of teaching Python on their podcast. They wanted to come on the show to talk about the Real Python articles, quizzes, and other resources they use when teaching their students.

The Real Python Podcast
The Python Modulo Operator & Managing Data With SQLite and SQLAlchemy

The Real Python Podcast

Play Episode Listen Later Nov 6, 2020 52:48


Are you ready to move beyond flat files for your data in Python? Maybe you're not sure where to start with databases and SQL. This week on the show, David Amos returns with another batch of PyCoder’s Weekly articles and projects. We cover a Real Python article about managing data with SQLite and SQLAlchemy.

The Real Python Podcast
Our New "Python Basics" Book & Filling the Gaps in Your Learning Path

The Real Python Podcast

Play Episode Listen Later Oct 23, 2020 50:49


Do you have gaps in your Python learning path? If you're like me, you may have followed a completely random route to learn Python. This week on the show, David Amos is here to talk about the release of the Real Python book, "Python Basics: A Practical Introduction to Python 3". The book is designed not only to get beginners up to speed but also to help fill in the gaps many intermediate learners may still have.

The Real Python Podcast
Exploring the New Features of Python 3.9

The Real Python Podcast

Play Episode Listen Later Oct 9, 2020 74:58


Python 3.9 has arrived! This week on the show, former guest and Real Python author Geir Arne Hjelle returns to talk about his recent article, "Python 3.9: Cool New Features for You to Try". Also joining the conversation is Real Python video course instructor and author Christopher Trudeau. Christopher has created a video course, which was released this week also, based on Geir Arne's article. We talk about time zones, merging dictionaries, the new parser, type hints, and more.

python real python
Python Bytes
#201 Understand git by rebuilding it in Python

Python Bytes

Play Episode Listen Later Oct 2, 2020 40:26


Sponsored by us! Support our work through: Our courses at Talk Python Training Python Testing with pytest Michael #1: Under the hood of calling C/C++ from Python Basics first: what C compiles to? Each operating system features some exact format to work with. Among the most popular ones are: ELF (Executable and Linkable Format), used by most of Linux distros PE (Portable Executable), used by Windows Mach-O (Mach object), used by Apple products We also need to make our library visible to our programs. An easiest way to do so is to copy it to /usr/lib/ - default system-wide directory for libraries. Maybe put it in system / system32 on Windows? ctypes: the simplest way With the shared object compiled, we are ready to call it. Consider ctypes to be the easiest way to execute some C code, because: it’s included in the standard library, writing a wrapper uses plain Python. lib = ctypes.CDLL(f'/usr/lib/libdullmath.so') lib.get_pi For C: You need to be clear about the calling convention (extern “C” for example) Now we can load libraries at runtime, but we are still missing the way to generate correct caller ABI to use external C libraries. Do deal with it, libffi was created. Libffi is a portable C library, designed for implementing FFI tools, hence the name. Given structs and functions definitions, it calculates an ABI of function calls at runtime. A mature approach to improve in this area is to allow libraries to introduce themselves. We can oblige every library to define a function named entry_point, which will return metadata about functions it contains. Final destination: C/C++ extensions and Python/C API CPython provides a similar API for implementing C-based extensions: “Extending and Embedding the Python Interpreter”. // NOTE: entry point function has dynamic name PyInit_[HTML_REMOVED] PyMODINIT_FUNC PyInit_mymath(void) { return PyModule_Create(&mymathmodule); } The main difference is that we have to wrap initial C functions with Python-specific ones. CPython interpreter uses its own PyObject type internally rather than raw int, char*, and so on, and we need the wrappers to perform the conversion. Cython, Boost.Python, pybind11 and all all all The main challenge of writing pure C extensions is a massive amount of boilerplate that needs to be written. Mainly this boilerplate is related to wrapping and unwrapping PyObject. It becomes especially hard if a module introduces its own classes (object types). To solve this issue, a plethora of different tools was created. All of them introduce a certain way to generate wrapping boilerplate automatically. They also provide easy access to C++ code and advanced tools for the compilation of extensions. Examples aiohttp - asyncio web framework that uses Cython for HTTP parsing, uvloop - event loop that is wrapping libuv, fully written in Cython, httptools - bindings to nodejs HTTP parser, also fully written in Cython (a lot of other big projects like sanic or uvicorn use httptools). Cecil #2: ugit: DIY Git in Python Michael #3: Things I Learned to Become a Senior Software Engineer by Niel Kakkar Growing using different ladders of abstraction Entering my second year, I had all the basics in place. I did figure out something insightful. I’m working inside the software development lifecycle, but this lifecycle is part of a bigger lifecycle: the product and infrastructure development lifecycle. Learning what people around me are doing Since we’re not in a closed system, it makes sense to better understand the job of the product managers, the sales people, and the analysts. Product managers are the best source for this. They know how the business makes money, who are the clients, and what do clients need. Learning good habits of mind Thinking well: Diving into cog sci, one output was a framework for critical thinking. It’s compounding, and compounding is powerful. Strategies for making day-to-day more effective: The other side of the coin is habits that allow you to think well. It starts with noticing little irritations during the day, inefficiencies in meetings, and then figuring out strategies to avoid them. Some good habits I’ve noticed: Never leave a meeting without making the decision / having a next action Decide who is going to get it done. Things without an owner rarely get done. Document design decisions made during a project Acquiring new tools for thought & mental models New tools for thought are related to thinking well, but more specific to software engineering. For example, I was recently struggling with a domain with lots of complex business logic. Edge cases were the norm, and we wanted to design a system that handles this cleanly. That’s when I read about Domain Driven Design Protect your slack When I say slack, I don’t mean the company, but the adjective. One thing that gives me high output and productivity gains is to “slow down”. Want to get more done? Slow down. When there is slack, you get a chance to experiment, learn, and think things through. This means you get enough time to get things done. When there is no slack, deadlines are tight, and all your focus goes into getting shit done. Ask Questions Q: What is a package? A: It’s code wrapped together that can be installed on a system. Q: Why do I need packages? A: They give a consistent way of getting all the files you need in the right place. Without them, things are easy to mess up. You need to ensure every file is where it’s supposed to be, the system paths are set up, and dependent packages are available. Q: How do packages differ from applications I can install on my system? A: It’s a very similar idea! Windows installer is like a package manager that helps install applications. Similarly, DPKG and rpm packages are like .exes that you can install on Linux systems, with the help of apt and yum package managers, which are like the windows installers. Force multipliers One sprint I didn’t get much done myself. I wrote very limited code. Instead, I co-ordinated which changes should go out when (it was a complicated sprint), tested they worked well, did lots of code reviews, made alternate design suggestions, and pair-programmed wherever I could to get things un-stuck. We got everything done, and in this case, zooming out helped make decisions for PRs easier. It was one of our highest velocity sprints. Embrace fear: I’ve learned to embrace this feeling. It excites me. It’s information about what I’m going to learn. I’ve taken it so far that I’ve started tracking it in my human log - “Did I feel fear this week?” If the answer is no too many weeks in a row, I’ve gotten too comfortable. Super powers Getting into the source code when documentation isn’t enough Quest: Reading open source code. Quickly build a mental model for the code you’re looking at Quest: Reading open source code. Embracing fear Quest: Build a side project. Confidence to express ignorance Quest: Overcome the first gotcha with growing. Cecil #4: Build tech skills for space exploration Michael #5: Profiling Django Views by Farhan Azmi We know we need to profile our code Many Python profiling tools exist, but this article will limit only to the most used tools: cProfile and django-silk . The two tools mainly profile in regards to function calls and execution time. To incorporate cProfile to Django views, we can write our own middleware that captures the profiling on every request sent to our Django views. Thankfully, there exists a simpler solution: django-cprofile-middleware. It is a simple profiling middleware created by a Github user omarish. To profile this view with the installed middleware, we can just append prof parameter to the end of the URL, i.e. http://localhost:8000/api/auth/users/availability/?username=[HTML_REMOVED]&email=[HTML_REMOVED]&prof We can visualize the profile result further with Python profiler visualizing library, such as SnakeViz. Just add &download to the request. the profile result could not show which database query that brings performance hit. This is needed especially when our application is centered around database (SQL) queries: That’s where django-silk comes in. Add as middleware: Silk will automatically intercept requests we make to our views and the UI can be accessed from the path /silk/ . Dive into a request to see all the headers/form/etc + DB query and perf. Cecil #6: Send an SMS message with Azure Communication Services Extras: Michael: Was on Real Python podcast Cecil: https://studentambassadors.microsoft.com/ Joke: Dependencies

The Real Python Podcast
Preparing for an Interview With Python Practice Problems

The Real Python Podcast

Play Episode Listen Later Sep 18, 2020 47:10


What is an effective way to prepare for a Python interview? Would you like a set of problems that increase in difficulty to practice and hone your Python skills? This week on the show, we have Jim Anderson to talk about his new Real Python article, "Python Practice Problems: Get Ready for Your Next Interview." This article provides several problems, which include skeleton code, unit tests, and solutions for you to compare your work.

The Real Python Podcast
Data Version Control in Python and Real Python Video Transcripts

The Real Python Podcast

Play Episode Listen Later Sep 4, 2020 60:09


Wouldn't it be nice to a use a form of version control for data? Something that would allow you to track and version your datasets and models. Well, that's what the tool called DVC is designed to do. This week on the show, David Amos is here and he's brought another batch of PyCoder’s Weekly articles and projects.

data dvc version control david amos real python
The Real Python Podcast
Python Regular Expressions, Views vs Copies in Pandas, and More

The Real Python Podcast

Play Episode Listen Later Jun 26, 2020 44:40


Have you wanted to learn Regular Expressions in Python, but don't know where to start? Have you stumbled into the dreaded pink SettingWithCopyWarning in Pandas? This week on the show, we have David Amos from the Real Python team to discuss a recent two-part series on Regex in Python. We also talk about another recent article on the site about views vs copies in Pandas. David also brings a few other articles and projects from the wider Python community for us to discuss.

The Real Python Podcast
PDFs in Python and Projects on the Raspberry Pi

The Real Python Podcast

Play Episode Listen Later Jun 12, 2020 45:17


Have you wanted to work with PDF files in Python? Maybe you want to extract text, merge and concatenate files, or even create PDFs from scratch. Are you interested in building hardware projects using a Raspberry Pi? This week on the show we have David Amos from the Real Python team to discuss his recent article on working with PDFs. David also brings a few other articles from the wider Python community for us to discuss.

projects python pdfs raspberry pi david amos real python
The Real Python Podcast
Advice on Getting Started With Testing in Python

The Real Python Podcast

Play Episode Listen Later May 29, 2020 58:23


Have you wanted to get started with testing in Python? Maybe you feel a little nervous about diving in deeper than just confirming your code runs. What are the tools needed and what would be the next steps to level up your Python testing? This week on the show we have Anthony Shaw to discuss his article on this subject. Anthony is a member of the Real Python team and has written several articles for the site.

The Real Python Podcast
Python Job Hunting in a Pandemic

The Real Python Podcast

Play Episode Listen Later May 22, 2020 79:54


Do you know someone in the Python community who recently was let go from their job due to the pandemic? What does the job landscape currently look like? What are skills and techniques that will help you in your job search? This week we have Kyle Stratis on the show to discuss how he is managing his job search after just being let go from his data engineering job. Kyle is a member of the Real Python team and has written several articles for the site.

All JavaScript Podcasts by Devchat.tv
JSJ 432: Internet of Things (IoT) with Joe Karlsson

All JavaScript Podcasts by Devchat.tv

Play Episode Listen Later May 5, 2020 57:41


JavaScript Remote Conf 2020 May 13th to 15th - register now! Joe Karlsson is a developer advocate at MongoDB. He and the panel walk through the different approaches, uses, and libraries for building IoT with JavaScript Panel Aimee Knight Charles Max Wood AJ O’Neal Dan Shappir Steve Edwards Guest Joe Karlsson Sponsors G2i | Enjoy the luxuries of freelancing   "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!   Links Cylon.js - JavaScript framework for robotics, physical computing, and the Internet of Things using Node.js Johnny-Five: The JavaScript Robotics & IoT Platform Arduino - Home Tessel 2 Tessel Kit for Johnny-Five The Programming Language Lua Luvit.io Gumstix, Inc. Picks AJ O’Neal: MicroPython - Python for microcontrollers Raspberry Pi Reverse Emulator (Part 1) Raspberry Pi Reverse Emulator (Part 2) Arduino With Python: How to Get Started – Real Python Duktape How to Diagnose and Fix Everything Electronic Getting Started in Electronics Make: Electronics (Book) Make: Electronics (Component Pack) Aimee Knight: Cutting Your own Hair Joe's Appartment Charles Max Wood: The Iron Druid Chronicles Series by Kevin Hearne JavaScript Jabber Meetup Steve Edwards: Pearls Before Swine Dan Shappir: JavaScript Remote Conf 2020 JS VidCon Future Sync Conference Joe Karlsson: Follow Joe on Twitter > @JoeKarlsson1 MongoDB.live Follow JavaScript Jabber on Twitter > @JSJabber

Devchat.tv Master Feed
JSJ 432: Internet of Things (IoT) with Joe Karlsson

Devchat.tv Master Feed

Play Episode Listen Later May 5, 2020 57:41


JavaScript Remote Conf 2020 May 13th to 15th - register now! Joe Karlsson is a developer advocate at MongoDB. He and the panel walk through the different approaches, uses, and libraries for building IoT with JavaScript Panel Aimee Knight Charles Max Wood AJ O’Neal Dan Shappir Steve Edwards Guest Joe Karlsson Sponsors G2i | Enjoy the luxuries of freelancing   "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!   Links Cylon.js - JavaScript framework for robotics, physical computing, and the Internet of Things using Node.js Johnny-Five: The JavaScript Robotics & IoT Platform Arduino - Home Tessel 2 Tessel Kit for Johnny-Five The Programming Language Lua Luvit.io Gumstix, Inc. Picks AJ O’Neal: MicroPython - Python for microcontrollers Raspberry Pi Reverse Emulator (Part 1) Raspberry Pi Reverse Emulator (Part 2) Arduino With Python: How to Get Started – Real Python Duktape How to Diagnose and Fix Everything Electronic Getting Started in Electronics Make: Electronics (Book) Make: Electronics (Component Pack) Aimee Knight: Cutting Your own Hair Joe's Appartment Charles Max Wood: The Iron Druid Chronicles Series by Kevin Hearne JavaScript Jabber Meetup Steve Edwards: Pearls Before Swine Dan Shappir: JavaScript Remote Conf 2020 JS VidCon Future Sync Conference Joe Karlsson: Follow Joe on Twitter > @JoeKarlsson1 MongoDB.live Follow JavaScript Jabber on Twitter > @JSJabber

JavaScript Jabber
JSJ 432: Internet of Things (IoT) with Joe Karlsson

JavaScript Jabber

Play Episode Listen Later May 5, 2020 57:41


JavaScript Remote Conf 2020 May 13th to 15th - register now! Joe Karlsson is a developer advocate at MongoDB. He and the panel walk through the different approaches, uses, and libraries for building IoT with JavaScript Panel Aimee Knight Charles Max Wood AJ O’Neal Dan Shappir Steve Edwards Guest Joe Karlsson Sponsors G2i | Enjoy the luxuries of freelancing   "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!   Links Cylon.js - JavaScript framework for robotics, physical computing, and the Internet of Things using Node.js Johnny-Five: The JavaScript Robotics & IoT Platform Arduino - Home Tessel 2 Tessel Kit for Johnny-Five The Programming Language Lua Luvit.io Gumstix, Inc. Picks AJ O’Neal: MicroPython - Python for microcontrollers Raspberry Pi Reverse Emulator (Part 1) Raspberry Pi Reverse Emulator (Part 2) Arduino With Python: How to Get Started – Real Python Duktape How to Diagnose and Fix Everything Electronic Getting Started in Electronics Make: Electronics (Book) Make: Electronics (Component Pack) Aimee Knight: Cutting Your own Hair Joe's Appartment Charles Max Wood: The Iron Druid Chronicles Series by Kevin Hearne JavaScript Jabber Meetup Steve Edwards: Pearls Before Swine Dan Shappir: JavaScript Remote Conf 2020 JS VidCon Future Sync Conference Joe Karlsson: Follow Joe on Twitter > @JoeKarlsson1 MongoDB.live Follow JavaScript Jabber on Twitter > @JSJabber

Teaching Python
Episode 44: Communicating With Video For Effective Learning

Teaching Python

Play Episode Listen Later Apr 27, 2020 60:25


As teachers around the world move into online teaching and learning, we must consider ways to modify our way of teaching. Writing and communicating in an online learning environment, while making connections with your students, is a very important first step. This is the second episode in a two-part series. Video can help students connect with the concepts and provide an opportunity for teachers to engage and add opportunities to connect with their students. How will teachers adapt their teaching in order to communicate and engage learners? What materials will teachers develop to ignite motivation with students? How will connections and community be built via online courses? In this episode, Sean and Kelly talk with Christopher Bailey from Real Python. We will share tips and techniques for developing quality online videos for learners. Ten Tips for Developing Video Content online: 1. Make an outline 1. Use a table of contents 1. Use of slides and code editor 1. Short video lengths 1. Intro, teach, repeat 1. Recreating 1. Display the code -speeding it up 1. Try out a repl that works well (B python for code completion) 1. Remove the jargon make it audience specific 1. Find your pacing "The goal of online communications is the same as the goal in face-to-face communications: to bond; to share information; to be heard, and to be understood. Fostering a sense of community in online classes will make the learning experience more meaningful for online students and help them stay connected during the life of the course." From Humanizing Online Teaching and Learning (https://humanmooc.pressbooks.com/chapter/using-video-to-humanize-online-instruction/) Special Guest: Christopher Bailey.

The Real Python Podcast
Python REST APIs and The Well-Grounded Python Developer

The Real Python Podcast

Play Episode Listen Later Apr 24, 2020 54:40


Are you interested in building REST APIs with Flask and SQLAlchemy? This week we have Doug Farrell on the show. We talk about his four-part Real Python article series on Python REST APIs.

Teaching Python
Episode 43: Writing Content for Asynchronous Learning with David Amos

Teaching Python

Play Episode Listen Later Apr 13, 2020 65:49


As teachers around the world move into online teaching and learning, we must consider ways to modify our way of teaching. Writing and communicating in an online learning environment, while making connections with your students, is a very important first step. This is the first episode in a two-part series. How will teachers adapt their online writing in order to communicate and engage learners? What materials will teachers develop to ignite motivation with students? How will connections and community be built via online courses? In this episode, Sean and Kelly talk with David Amos, a writer for Real Python about how he makes connections with his Real Python tutorials and we will share tips and techniques for developing quality online writing for learners. David Amos Real Python https://realpython.com/team/damos/ https://realpython.com/python-gui-tkinter/ https://realpython.com/python-rounding/ Special Guest: David Amos.

The Real Python Podcast
Learn Python Skills While Creating Games

The Real Python Podcast

Play Episode Listen Later Mar 27, 2020 55:13


Is game programming a good way to develop your Python programming skills? This week we have Jon Fincher on the show. Jon is an author on the Real Python team, and we talk about his recent articles on PyGame and Arcade.

The Real Python Podcast
Python Decorators and Writing for Real Python

The Real Python Podcast

Play Episode Listen Later Mar 20, 2020 50:28


Do you want to learn more about Python decorators? Have you ever wondered what goes on behind the scenes to create a Real Python article? In this first episode, We have Geir Arne Hjelle from the Real Python team on the show.

Python Bytes
#163 Meditations on the Zen of Python

Python Bytes

Play Episode Listen Later Jan 9, 2020 23:49


Sponsored by us! Support us by visiting pythonbytes.fm/biz [courses] and pythonbytes.fm/pytest [book], or becoming a patron at patreon.com/pythonbytes Brian #1: Meditations on the Zen of Python Moshe Zadka The Zen of Python is not "the rules of Python" or "guidelines of Python". It is full of contradiction and allusion. It is not intended to be followed: it is intended to be meditated upon. Moshe give some of his thoughts on the different lines of the Zen of Python. Full Zen of Python can be found here or in a REPL with import this A few Beautiful is better than ugly Consistency helps. So black, flake8, pylint are useful. “But even more important, only humans can judge what humans find beautiful. Code reviews and a collaborative approach to writing code are the only realistic way to build beautiful code. Listening to other people is an important skill in software development.” Complex is better than complicated. “When solving a hard problem, it is often the case that no simple solution will do. In that case, the most Pythonic strategy is to go "bottom-up." Build simple tools and combine them to solve the problem.” Readability counts “In the face of immense pressure to throw readability to the side and just "solve the problem," the Zen of Python reminds us: readability counts. Writing the code so it can be read is a form of compassion for yourself and others.” Michael #2: nginx raided by Russian police Russian police have raided today the Moscow offices of NGINX, Inc., a subsidiary of F5 Networks and the company behind the internet's most popular web server technology. Russian search engine Rambler.ru claims full ownership of NGINX code. Rambler claims that Igor Sysoev developed NGINX while he was working as a system administrator for the company, hence they are the rightful owner of the project. Sysoev never denied creating NGINX while working at Rambler. In a 2012 interview, Sysoev claimed he developed NGINX in his free time and that Rambler wasn't even aware of it for years. Update Promptly following the event we took measures to ensure the security of our master software builds for NGINX, NGINX Plus, NGINX WAF and NGINX Unit—all of which are stored on servers outside of Russia. No other products are developed within Russia. F5 remains committed to innovating with NGINX, NGINX Plus, NGINX WAF and NGINX Unit, and we will continue to provide the best-in-class support you’ve come to expect. Brian #3: I'm not feeling the async pressure Armin Ronacher “Async is all the rage.” But before you go there, make sure you understand flow control and back pressure. “…back pressure is resistance that opposes the flow of data through a system. Back pressure sounds quite negative … but it's here to save your day.” If parts of your system are async, you have to make sure the entire flow throw the system doesn’t have overflow points. An example shown with reader/writer that is way hairier than you’d think it should be. “New Footguns: async/await is great but it encourages writing stuff that will behave catastrophically when overloaded.” “So for you developers of async libraries here is a new year's resolution for you: give back pressure and flow control the importance they deserve in documentation and API.” Michael #4: codetiming from Real Python via Doug Farrell A flexible, customizable timer for your Python code For a complete tutorial on how codetiming works, see Python Timer Functions: Three Ways to Monitor Your Code on Real Python. Time your code via A timer class A decorator A context manager Brian #5: Making Python Programs Blazingly Fast Martin Heinz Seemed like a good followup to the last topic Profiling with command line time python something.py python -m cProfile -s time something.py timing functions with wrapper Misses timeit, but see that also, https://docs.python.org/3.8/library/timeit.html How to make things faster: use built in types over custom types caching/memoization with lru_cache use local variables and local aliases when looping use functions… (kinda duh, but sure). don’t repeatedly access attributes in loops use f-strings over other formatting use generators. or at least experiment with them. the memory savings could result in speedup Michael #6: LocalStack via Graham Williamson and Jan 'oglop' Gazda A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline! LocalStack spins up the following core Cloud APIs on your local machine: S3, DynamoDB, Lambda, Elasticsearch see many more services paid one has more LocalStack builds on existing best-of-breed mocking/testing tools, most notably kinesalite/dynalite and moto. While these tools are awesome (!), they lack functionality for certain use cases. LocalStack combines the tools, makes them interoperable, and adds important missing functionality on top of them Has lots of config and knobs, but runs in docker so that helps Extras: Python Job Board Michael: Guido interviewed for JavaScript language! Microsoft: We're creating a new Rust-based programming language for secure coding New webcast: Python for the .NET developer Ace Python Interviews free course Joke: Types of software jobs.

Talk Python To Me - Python conversations for passionate developers
#244 Top 10 Real Python Articles of 2019

Talk Python To Me - Python conversations for passionate developers

Play Episode Listen Later Dec 27, 2019 59:49


We've come to the end of 2019. Python 2 has just a handful of days before it goes unsupported. And I've met up with Dan Bader from RealPython.com to look back at the year of Python articles on his website. We dive into the details behind 10 of his most important articles from the past year. Links from the show Dan Bader: @dbader_org The 10 Articles on RealPython.com #1: How to Run Your Python Scripts #2: 13 Project Ideas for Intermediate Python Developers #3: 3 Ways of Storing and Accessing Lots of Images #4: Speed Up Your Python Program With Concurrency #5: Build a Recommendation Engine #6: Your Guide to the Python Print Function #7: How to Write Beautiful Python Code With PEP 8 #8: How to Use Python Lambda Functions #9: How to Stand Out in a Python Interview #10: Inheritance and Composition: A Python OOP Guide Sponsors Linode Brilliant Talk Python Training

Python Bytes
#159 Brian's PR is merged, the src will flow

Python Bytes

Play Episode Listen Later Dec 3, 2019 33:18


Sponsored by DigitalOcean: pythonbytes.fm/digitalocean Michael #1: Final type PEP 591 -- Adding a final qualifier to typing This PEP proposes a "final" qualifier to be added to the typing module---in the form of a final decorator and a Final type annotation---to serve three related purposes: Declaring that a method should not be overridden Declaring that a class should not be subclassed Declaring that a variable or attribute should not be reassigned Some situations where a final class or method may be useful include: A class wasn’t designed to be subclassed or a method wasn't designed to be overridden. Perhaps it would not work as expected, or be error-prone. Subclassing or overriding would make code harder to understand or maintain. For example, you may want to prevent unnecessarily tight coupling between base classes and subclasses. You want to retain the freedom to arbitrarily change the class implementation in the future, and these changes might break subclasses. # Example for a class: from typing import final @final class Base: ... class Derived(Base): # Error: Cannot inherit from final class "Base" ... And for a method: class Base: @final def foo(self) -> None: ... class Derived(Base): def foo(self) -> None: # Error: Cannot override final attribute "foo" # (previously declared in base class "Base") ... It seems to also mean const RATE: Final = 3000 class Base: DEFAULT_ID: Final = 0 RATE = 300 # Error: can't assign to final attribute Base.DEFAULT_ID = 1 # Error: can't override a final attribute Brian #2: flit 2 Michael #3: Pint via Andrew Simon Physical units and builtin unit conversion to everyday python numbers like floats. Receive inputs in different unit systems it can make life difficult to account for that in software. Pint handles the unit conversion automatically in a wide array of contexts – Can add 2 meters and 5 inches and get the correct result without any additional work. The integration with numpy and pandas are seamless, and it’s made my life so much simpler overall. Units and types of measurements Think you need this? How about the Mars Climate Orbiter The MCO MIB has determined that the root cause for the loss of the MCO spacecraft was the failure to use metric units in the coding of a ground software file, “Small Forces,” used in trajectory models. Specifically, thruster performance data in English units instead of metric units was used in the software application code titled SM_FORCES (small forces). Brian #4: 8 great pytest plugins Jeff Triplett Michael #5: 11 new web frameworks via LuisCarlos Contreras Sanic [flask like] - a web server and web framework that’s written to go fast. It allows the usage of the async / await syntax added in Python 3.5 Starlette [flask like] - A lightweight ASGI framework which is ideal for building high performance asyncio services, designed to be used either as a complete framework, or as an ASGI toolkit. Masonite - A developer centric Python web framework that strives for an actual batteries included developer tool with a lot of out of the box functionality. Craft CLI is the edge here. FastAPI - A modern, high-performance, web framework for building APIs with Python 3.6+ based on standard Python type hints. Responder - Based on Starlette, Responder’s primary concept is to bring the niceties that are brought forth from both Flask and Falcon and unify them into a single framework. Molten - A minimal, extensible, fast and productive framework for building HTTP APIs with Python. Molten can automatically validate requests according to predefined schemas. Japronto - A screaming-fast, scalable, asynchronous Python 3.5+ HTTP toolkit integrated with pipelining HTTP server based on uvloop and picohttpparser. Klein [flask like] - A micro-framework for developing production-ready web services with Python. It is ‘micro’ in that it has an incredibly small API similar to Bottle and Flask. Quart [flask like]- A Python ASGI web microframework. It is intended to provide the easiest way to use asyncio functionality in a web context, especially with existing Flask apps. BlackSheep - An asynchronous web framework to build event based, non-blocking Python web applications. It is inspired by Flask and ASP.NET Core. BlackSheep supports automatic binding of values for request handlers, by type annotation or by conventions. Cyclone - A web server framework that implements the Tornado API as a Twisted protocol. The idea is to bridge Tornado’s elegant and straightforward API to Twisted’s Event-Loop, enabling a vast number of supported protocols. Brian #6: Raise Better Exceptions in Python Extras Michael: Naming venvs --prompt Another new course coming soon: Python for decision makers and business leaders Some random interview over at Real Python: Python Community Interview With Brian Okken Joke via Daniel Pope What's a tractor's least favorite programming language? Rust.

Running in Production
Real Python Is One of the Largest Python Learning Platforms Around

Running in Production

Play Episode Listen Later Dec 1, 2019 74:28


Dan Bader goes over how he built Real Python from scratch with Django. It serves 4 million+ page views a month and is hosted on Heroku.

Teaching Python
Episode 33: Interview with Eric Matthes

Teaching Python

Play Episode Listen Later Nov 24, 2019 56:29


Kelly and Sean interview Eric Matthes, author of Python Crash Course (https://amzn.to/2Okgzr3), about how he began programming, what led him to teaching, and the important lessons from Python to be learned both inside and outside of the classroom. This episode is sponsored by Real Python. As a special offer for listeners and friends of the show, you can get a free copy of the video course Cool New Things in Python 3.8 (https://www.realpython.com/teachingpython) when you visit realpython.com/teachingpython (https://www.realpython.com/teachingpython). Note: there are a limited number of free copies available for the next few weeks, so get yours now! Special Guest: Eric Matthes.

Tomando Un Café
Tomando Un Café 67: Decoradores(en Python)

Tomando Un Café

Play Episode Listen Later Oct 11, 2019 13:59


En este episodio retomo el monográfico de programación,donde hablaré sobre una pequeña introducción Decorador, enfocado en Python, también una explicación sobre la tardanza en grabar este monográfico. Música:Podington_Bear_-_No_Solace Web de Linux y Tapas https://linuxytapas.wordpress.com/ Decoradores en Python Decoradores y sus sintaxis http://bit.ly/2LwrxbU Decoradores en Real Python http://bit.ly/2TtelVq Decoradores con argumentos http://bit.ly/2lKqVUU 6 decoradores que se utilizan en Django http://bit.ly/2IG7wil Si quieres apoyarme de forma económica para mis podcast y canales, puedes realizarlo de diferentes formas: PayPal https://paypal.me/JoseAJimenez Programa afiliado de Amazon https://amzn.to/2Myjet8 , si compras a través de ese enlace,recibire una pequeña comisión sin alterar el precio de compra Digital Ocean https://m.do.co/c/34c3769f0465 , con este enlace tendrás 60$ para probar sus servicios, cuando gastes 25$ yo recibiré la misma cantidad para mantener alojado mi blog rooteando.com Boletín Escribiendo con un café Si te interesa suscribirte al boletín https://tinyletter.com/jajt Si queréis ver todos boletines, sin necesidad de suscripción https://tinyletter.com/jajt/archive Canales de Telegram @UnDiaUnaAplicacion @UnPythonAldia @AprendePython @EntrevistaEnDiferido Podcast @RadioDev @ARMparaTODOS @RadioDev Grupos de Telegram Un Dia Una Aplicación https://t.me/joinchat/AF1F5kNfLlfDAVMvZ-QTfQ Oyentes de mis podcast https://t.me/joinchat/AF1F5kNvqFXgHy0Z1cmjHQ Alternativas a la Raspberry https://t.me/AlternativasRaspberry Twitter Podcast https://twitter.com/Tomando_Un_Cafe https://twitter.com/RadioDevPodcast Canales de Telegram Un Día Una Aplicación https://twitter.com/UnDiaUnaApp Un Python Al Día https://twitter.com/UnPythonAlDia Aprende Python https://twitter.com/AprenderPython Correo tomandouncafe@ntec.eu RSS Tomando Un Café Anchor.fm http://anchor.fm/s/18c0860/podcast/rss Blog(post y audios) https://rooteando.com/feed/ Whooshkaa https://rss.whooshkaa.com/rss/podcast/id/2429 Ivoox https://www.ivoox.com/podcast-tomando-un-cafe_sq_f1483612_1.html

Tech Writer koduje
#2 Python - przyjaciel Tech Writera

Tech Writer koduje

Play Episode Listen Later May 23, 2019 43:49


Python to język programowania ogólnego zastosowania, który w ostatnich latach zyskuje coraz większą popularność nie tylko wśród programistów. Jednym z powodów jest niewątpliwie jego przystępna składnia przez co osoby, które nie są bardzo techniczne są w stanie dość szybko opanować podstawy kodowania w tym języku. Dlatego też Python wydaje się być dobrą propozycją dla Technical Writerów, którzy chcą tworzyć narzędzia wspomagające proces tworzenia treści. Informacje dodatkowe: Codecademy, kurs Pythona: https://www.codecademy.com/learn/learn-python (niestety, za darmo dostępny jest tylko kurs dla Pythona 2) "The Hitchhiker’s Guide to Python!", Kenneth Reitz, Tanya Schlusser: https://docs.python-guide.org/ Real Python: https://realpython.com/ "Python Tricks: The Book", Dan Bader: https://realpython.com/products/python-tricks-book/ Python Bytes Podcast: https://pythonbytes.fm/ Talk Python to Me Podcast: https://talkpython.fm/ Test & Code Podcast: https://testandcode.com/ The Python Standard Library: https://docs.python.org/3/library/ PEP 8 - Style Guide for Python Code: https://www.python.org/dev/peps/pep-0008/ PEP 20 - The Zen of Python: https://www.python.org/dev/peps/pep-0020/ Biblioteka pyjokes: https://github.com/pyjokes/pyjokes Zegar odliczający czas do zakończenia wsparcia Pythona 2: https://pythonclock.org/ Visual Studio Code: https://code.visualstudio.com IntelliJ IDEA: https://www.jetbrains.com/idea/ PyCharm: https://www.jetbrains.com/pycharm/

PYCONES 2018
Motor de optimización de rutas para el mundo real: Python y otras bestias - Josema Camacho

PYCONES 2018

Play Episode Listen Later Dec 4, 2018 20:55


Construir un motor de optimización para la planificación de rutas de vehículos de recogida de residuos, de reparto de mercancías, u otras muchas aplicaciones, no es tarea fácil Puedes ver el video: https://youtu.be/GGveFGM2xrI

The Python Podcast.__init__
Keeping Up With The Python Community For Fun And Profit with Dan Bader

The Python Podcast.__init__

Play Episode Listen Later Dec 3, 2018 57:56


Keeping up with the work being done in the Python community can be a full time job, which is why Dan Bader has made it his! In this episode he discusses how he went from working as a software engineer, to offering training, to now managing both the Real Python and PyCoders properties. He also explains his strategies for tracking and curating the content that he produces and discovers, how he thinks about building products, and what he has learned in the process of running his businesses.