POPULARITY
Anlässlich des diesjährigen Japantags
Fabian arbeitet als Pipeline TD in der Visual Effects Industrie und hat uns gefragt, ob wir Interesse hätten, uns mal mit diesem Thema zu beschäftigen. Wir fanden die Idee super, denn uns (Dominik und Jochen) war gar nicht klar, dass dort inzwischen auch eine Menge Python eingesetzt wird. Daher haben wir dazu jetzt einfach mal eine Episode mit Fabian aufgenommen :). Wenn ihr auch ein Thema habt, über das ihr gern mal mit uns sprechen würdet, schreibt einfach eine Mail an die Mailadresse in den Shownotes. Wahrscheinlich gibt es eine Menge Anwendungen für Python, von denen wir noch nie etwas gehört haben. Shownotes Unsere E-Mail für Fragen, Anregungen & Kommentare: hallo@python-podcast.de News aus der Szene Django 3.2 Release Notes Maya | 2020.3 Release Python in der Visual Effects Branche Rigger / Animator Outside the Wire Houdini PyQt / PySide Renderfarm Git Large File Storage (git-lfs) NVIDIA Demos (Bilder mittels Machine Learning generieren) DALL·E: Creating Images from Text (OpenAI Modell) Pygame CUDA / plaidML Cython / Numba Python f-strings PYTHONPATH pyenv / Conda PyInstaller / PyOxidizer / Nuitka / PyRun Picks IceCream / rich Blind Watermark / devdocs VirtualFish Öffentliches Tag auf konektom
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.
I asked people on twitter to fill in "How do I test _____?" to find out what people want to know how to test. Lots of responses. David Lord agreed to answer them with me. In the process, we come up with lots of great general advice on how to test just about anything. Specific Questions people asked: What makes a good test? How do you test web app performance? How do you test cookie cutter templates? How do I test my test framework? How do I test permission management? How do I test SQLAlchemy models and pydantic schemas in a FastAPI app? How do I test warehouse ETL code? How do I test and mock GPIO pins on hardware for code running MicroPython on a device? How do I test PyQt apps? How do I test web scrapers? Is it the best practice to put static html in your test directory or just snippets stored in string variables? What's the best way to to test server client API contracts? How do I test a monitoring tool? We also talk about: What is the Flask testing philosophy? What do Flask tests look like? Flask and Pallets using pytest Code coverage Some of the resulting testing strategies: Set up some preconditions. Run the function. Get the result. Don't test external services. Do test external service failures. Don't test the frameworks you are using. Do test your use of a framework. Use open source projects to learn how something similar to your project tests things. Focus on your code. Focus on testing your new code. Try to architect your application such that actual GUI testing is minimal. Split up a large problem into smaller parts that are easier to test. Nail down as many parts as you can. Special Guest: David Lord.
Sponsored by Datadog: pythonbytes.fm/datadog Brian #1: D-Tale suggested by @davidouglasmit via twitter “D-Tale is the combination of a Flask back-end and a React front-end to bring you an easy way to view & analyze Pandas data structures. It integrates seamlessly with ipython notebooks & python/ipython terminals. Currently this tool supports such Pandas objects as DataFrame, Series, MultiIndex, DatetimeIndex & RangeIndex.” way cool UI for visualizing data Live Demo shows Describe shows column statistics, graph, and top 100 values filter, correlations, charts, heat map Michael #2: Carnets by Nicolas Holzschuch A standalone Jupyter notebooks implementation for iOS. The power of Jupyter notebooks. In your pocket. Anywhere. Everything runs on your device. No need to setup a server, no need for an internet connection. Standard packages like Numpy, Matplotlib, Sympy and Pandas are already installed. You're ready to edit notebooks. Carnets uses iOS 11 filesharing ability. You can store your notebooks in iCloud, access them using other apps, share them. Extended keyboard on iPads, you get an extended toolbar with basic actions on your keyboard. Install more packages: Add more Python packages with %pip (if they are pure Python). OpenSource: Carnets is entirely OpenSource, and released under the FreeBSD license. Brian #3: BeeWare Podium suggested by Katie McLaughlin, @glasnt on twitter NOT a pip install, download a binary from https://github.com/beeware/podium/releases Linux and macOS Still early, so you gotta do the open and trust from the apps directory thing for running stuff not from the app store. But Oh man is it worth it. HTML5 based presentation frameworks are cool. run a presentation right in your browser. My favorite has been remark.js presenter mode, notes are especially useful while practicing a talk running timer super helpful while giving a talk write talk in markdown, so it’s super easy to version control issues: presenter mode, full screen, with extended monitor hard to do. notes and timer on laptop, full presentation on extended screen super cool but requires full screening with mouse Podium uses similar syntax as remark.js and I think uses remark under the hood. but it’s a native app, not a browser Handles the presenter mode and extended screen smoothly, like keynote and others. Removes the need for boilerplate html in your markdown file (remark.js md files have cruft). Can’t wait to try this out for my next presentation Michael #4: pytest-mock-resources via Daniel Cardin pytest fixture factories to make it easier to test against code that depends on external resources like Postgres, Redshift, and MongoDB. Code which depends on external resources such a databases (postgres, redshift, etc) can be difficult to write automated tests for. Conventional wisdom might be to mock or stub out the actual database calls and assert that the code works correctly before/after the calls. Whether the actual query did the correct thing truly requires that you execute the query. Having tests depend upon a real postgres instance running somewhere is a pain, very fragile, and prone to issues across machines and test failures. Therefore pytest-mock-resources (primarily) works by managing the lifecycle of docker containers and providing access to them inside your tests. Brian #5: How James Bennet is testing in 2020 Follow up from Testing Django applications in 2018 Favors unittest over pytest. tox for testing over multiple Django and Python versions, including tox-travis plugin pyenv for local Python installation management and pyenv-virtualenv plugin for venvs. Custom runtests.py for setting up environment and running tests. Changed to src/ directory layout. Coverage and reporting failure if coverage dips, with a healthy perspective: “… this isn’t because I have 100% coverage as a goal. Achieving that is so easy in most projects that it’s meaningless as a way to measure quality. Instead, I use the coverage report as a canary. It’s a thing that shouldn’t change, and if it ever does change I want to know, because it will almost always mean something else has gone wrong, and the coverage report will give me some pointers for where to look as I start investigating.” Testing is more than tests, it’s also black, isort, flake8, mypy, and even spell checking sphinx documentation. Using tox.ini for utility scripts, like cleanup, pipupgrade, … Michael #6: Python and PyQt: Building a GUI Desktop Calculator by by Leodanis Pozo Ramos at realpython Some interesting take-aways: Basics of PyQt Widgets: QWidget is the base class for all user interface objects, or widgets. These are rectangular-shaped graphical components that you can place on your application’s windows to build the GUI. Layout Managers: Layout managers are classes that allow you to size and position your widgets at the places you want them to be on the application’s form. Main Windows: Most of the time, your GUI applications will be Main Window-Style. This means that they’ll have a menu bar, some toolbars, a status bar, and a central widget that will be the GUI’s main element. Applications: The most basic class you’ll use when developing PyQt GUI applications is QApplication. This class is at the core of any PyQt application. It manages the application’s control flow as well as its main settings. Signals and Slots: PyQt widgets act as event-catchers. Widgets always emit a signal, which is a kind of message that announces a change in its state. Due to Qt licensing, you can only use the free version for non-commercial projects or internal non-redistributed or purchase a commercial license for $5,500/yr/dev. Extras Brian PyCascades 2020 livestream videos of day 1 & day 2 are available. Huge shout-out and thank you to all of the volunteers for this event. In particular Nina Zakharenko for calming me down before my talk. Michael Recording for Python for .NET devs webcast available. Take some of our free courses with our mobile app. Joke Why do programmers confuse Halloween with Christmas? Because OCT 31 == DEC 25. Speed dating is useless. 5 minutes is not enough to properly explain the benefits of the Unix philosophy.
En este capítulo presento qué son los Módulos, cómo se usan, los disponibles directamente con el lenguaje de programación Python, y una mención a las más destacables disponibles en la comunidad. . Pagina de información oficial: https://docs.python.org/3/library/index.html . Modulos de Python: TIME, DATETIME, RANDOM, MATH, STATISTICS, OS, OS.PATH, PATHLIB, SYS, SQLITE3, HASHLIB, CSV, GZIP, ZLIB, BZ2, LZMA, ZIPFILE, TARFILE, TKINTER,... . Módulos para Python: NumPy, SciPy, SymPy, BioPython, SQLAlchemi, Colorama, wxPython, PyQT, PyGTK, Kivy, Matplotlib, Seaborn, Bokeh, PyGame, PyGlet, Twisted, Scrapy, NLTK, Request, Pillow, Keras, Pytorch, Scikit-Learn, Pandas, Theano, TensorFlow,... . Aquí tenéis mi página web: https://unosycerospatxi.wordpress.com/ . UN SALUDO!!!!! Espero que os guste!!!
In Folge 123 ist Flo aka The Compiler zu Gast und stellt uns seinen qutebrowser vor. Dabei kommen auch die beiden Crowdfunding Kampagnen und welche Fallstricke es da gibt zur Sprache. Trackliste Andrea Baroni – Super Stardust Special Mission 1 Headrush – Without You Mutetus – Turbo Imploder 4.0 Luke McQueen – R-Type Main Theme YM2151 Arrangement qutebrowser :: qutebrowser Webseite Darum! :: Warum denn ein weiterer Browser? Mausknubbel :: Wie nennt man den Trackpoint auch noch? dwb :: dwb Browser (outdated) Conkeror :: Conkeror mit C Luakit :: Luakit Vimperator :: Vimperator Plug-In fuer Firefox (alt) Pentadactyl :: Pentadactyl Plug-In fuer Firefox uzbl :: The usable browser PyQt :: Qt Framework fuer Python Occupyflash :: Flash! Aaaaaahhh....! SemVer :: Semantic Versioning 2.0.0 git-annex Kampagne :: Kickstarter Kampagne fuer git-annex magit Kampagne :: Kickstarter Kampagne fuer magit Patreon :: Spendenhut-Service, nicht nur fuer Medienschaffende Steady :: Spendenhut-Service Flattr :: Die Mutter aller Spendenhut-Services Bountysource :: "Kopfgelder" fuer fehlende Open Source Software/Features qutebrowser Blog :: Das qutebrowser Blog File Download (148:16 min / 148 MB)
In Folge 123 ist Flo aka The Compiler zu Gast und stellt uns seinen qutebrowser vor. Dabei kommen auch die beiden Crowdfunding Kampagnen und welche Fallstricke es da gibt zur Sprache. Trackliste Andrea Baroni – Super Stardust Special Mission 1 Headrush – Without You Mutetus – Turbo Imploder 4.0 Luke McQueen – R-Type Main Theme YM2151 Arrangement qutebrowser :: qutebrowser Webseite Darum! :: Warum denn ein weiterer Browser? Mausknubbel :: Wie nennt man den Trackpoint auch noch? dwb :: dwb Browser (outdated) Conkeror :: Conkeror mit C Luakit :: Luakit Vimperator :: Vimperator Plug-In fuer Firefox (alt) Pentadactyl :: Pentadactyl Plug-In fuer Firefox uzbl :: The usable browser PyQt :: Qt Framework fuer Python Occupyflash :: Flash! Aaaaaahhh....! SemVer :: Semantic Versioning 2.0.0 git-annex Kampagne :: Kickstarter Kampagne fuer git-annex magit Kampagne :: Kickstarter Kampagne fuer magit Patreon :: Spendenhut-Service, nicht nur fuer Medienschaffende Steady :: Spendenhut-Service Flattr :: Die Mutter aller Spendenhut-Services Bountysource :: "Kopfgelder" fuer fehlende Open Source Software/Features qutebrowser Blog :: Das qutebrowser Blog File Download (148:16 min / 148 MB)