POPULARITY
The Red Diamond Courier: Elder Scrolls Online Tips, Tricks, and More
In this episode of The Red Diamond Courier, Bob Chichinske and Doggedbark24 discuss all the crazy news to come out of the ESO live that discussed U46 and beyond. From a new zone, to the new content pass, and of course SUBCLASSING...there is a lot to discuss! As always, we hope you enjoy, and thanks for listening! Get 15% off Loot Crate & Support our show! Click this link: https://www.anrdoezrs.net/click-100173810-13902093?sid=rdc and use coupon code - ROBOTSRADIO Try Gamefly for a month for only 10$ and get an extra month free from us! https://www.tkqlhce.com/click-100173810-10495782?sid=rdc Check out https://www.eso-hub.com for all your ESO needs, and download the Dwemer Automaton bot for your discord! X (Formerly Twitter): Https://www.X.com/RedDiamondCast Come check out Robots Radio and join the Discord: Https://www.robotsradio.net Music Producer Daniel Knisley: https://www.linkedin.com/in/daniel-knisley-20392a194 Help support the show by buying some swag: https://teespring.com/stores/the-red-diamond-courier Learn more about your ad choices. Visit megaphone.fm/adchoices
Episode 383: HyperPixie returns to talk about her hands-on experience trying out the newly revealed Subclassing system coming to Elder Scrolls Online! An action-packed show full of game news, tales, opinions, and listener emails for The Elder Scrolls! And remember, if you'd like to send in your own letter to the show email us directly at TalesofTamrielPodcast@gmail.com! If you wish to support Tales of Tamriel, consider supporting us over at our Patreon Page, Patreon.com/UESP! You can also support us by leaving us a review on iTunes, or by telling a friend about us! We hope you enjoyed this episode of Tales of Tamriel and be sure to come back next week! Learn more about your ad choices. Visit megaphone.fm/adchoices
Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training Test & Code Podcast Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org Brian: @brianokken@fosstodon.org Show: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/stream/live to be part of the audience. Usually Tuesdays at 11am PT. Older video versions available there too. Brian #1: markdown-it-py Yes. another markdown parser. Rich recently switched markdown parsers, from commonmark to markdown-it-py. Let's look at those a bit. Michael #2: Sketch via Jake Firman Sketch is an AI code-writing assistant for pandas users that understands the context of your data A Natural Language interface that successfully navigates many tasks in the data stack landscape. Data Cataloging: General tagging (eg. PII identification) Metadata generation (names and descriptions) Data Engineering: Data cleaning and masking (compliance) Derived feature creation and extraction Data Analysis: Data questions Data visualization Watch the video on the GitHub page for a quick intro Brian #3: Fixing Circular Imports in Python with Protocol Built on Subclassing in Python Redux from Hynek We covered this in the summer of 2021, episode 240 However, I re-read it recently due to a typing problem Problem is when an object passes itself to another module to be called later. This is common in many design patterns, including just normal callback functions. Normally not a problem with Python, due to duck typing. But with type hints, suddenly it seems like both modules need types from the other. So how do you have two modules use types from each other without a circular import. Hynek produces two options Abstract Data Types, aka Interfaces, using the abc module Requires a third interface class Structural subtyping with Protocol This is what I think I'll use more often and I'm kinda in love with it now that I understand it. Still has a third type, but one of the modules doesn't have to know about it. "Structural Subtyping : Structural subtyping is duck typing for types: if your class fulfills the constraints of a [Protocol](https://docs.python.org/3/library/typing.html#typing.Protocol), it's automatically considered a subtype of it. Therefore, a class can implement many Protocols from all kinds of packages without knowing about them!” The Fixing Circular Imports in Python with Protocol article walks through one example of two classes talking with each other, typing, circular imports, and fixing them with Protocol Michael #4: unrepl via/by Ruud van der Ham We've seen the code samples: >>> board = [] >>> for i in range(3): ... row = ['_'] * 3 ... board.append(row) ... >>> board [['_', '_', '_'], ['_', '_', '_'], ['_', '_', '_']] >>> board[2][0] = 'X' >>> board [['_', '_', '_'], ['_', '_', '_'], ['X', '_', '_']] But you cannot really run this code. You can't paste it into a REPL yourself nor can you put it into a .py file. So you unrepl it: Copying the above code to the clipboard and run unrepl. Paste the result and now you can. Unrepl can be used as a command line tool but also as a module. The REPL functionality of underscore (_) to get access to the last value is also supported. Extras Michael: You'll want to update your git ASAP. Get course releases at Talk Python via RSS Gist for using Turnstile with Python + Pydantic Joke: there's a bug in the js You've checked all your database indexes, You've tuned all your API hooks, You're starting to think That you might need a drink, Because there's only one place left to look: … There must be a bug in the javascript Because everything else was built properly But the frontend's a pile of crap ;)
Diesmal sprechen Ronny, Dominik und Jochen über das Python Packaging Ökosystem Die DjangoCon war auch noch ein bisschen Thema, weil Ronny auch mit dabei war. Shownotes Unsere E-Mail für Fragen, Anregungen & Kommentare: hallo@python-podcast.de Update 2021-07-06 von Jürgen: PEPs für editable installs: pep-660 und pep-662 Weiteres Tool zum Pinnen von dependencies: pip-tools Packaging Tutorial, dass das alles besser erklärt, als wir je könnten: TUTORIAL / Bernát Gabor / Python Packaging Demystified News aus der Szene Github Copilot Python 3.9.6 Changelog Packaging Packaging History Bauen von sdist, bdist: distutils setuptools mit eggs Plugin für setuptools, mit dem man wheels bauen kann: wheel The Python Package Index (PyPI) Expert Python Programming - Third Edition Python Packaging User Guide The documentation system Uncle Bob über Code-Kommentare setup.cfg Specifying Minimum Build System Requirements for Python Projects PEP 518 Tools: poetry, flit, pipenv Podcast Episode: Python Packaging (Test and Code) Semantic Versioning / Semantic Versioning Will Not Save You PyInstaller ai django core django_fileresponse / Python Podcast Youtube-Channel / Twitch Stream.. nbdev Kolo App PyCharm / VS Code jazzband cookiecutter Django Package / pydaanys twitch stream Nochmal Tools: tox / GitLab / GitHub Actions DjagoCon Europe 2019: Keynote: Docs or it didn't happen! Sphinx django-sphinx-view / talk Django Dokumentation Vitepress / Vuepress mypy conda Picks Subclassing in Python Redux DjangoCon Europe 2021 talk: Programming for pleasure Sponsoren: ambient innovation / six feet up Django user group berlin tldr-pages modern unix commands Öffentliches Tag auf konektom
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: Chris Moffit Brain #1: Subclassing in Python Redux Hynek Schlawack Prefer composition over inheritance, But if you must subclass, there are 3 types subclassing for code sharing bad. don't do it. read the article and included linked articles if you aren't convinced Interfaces / Abstract Data Types Can be useful, but Python has tools that make this work without subclassing Specialization Exception hierarchies There's also an interesting discussion of structuring data classes with common elements This is the only type of subclassing that Hynek deems worthy This is a well written, useful, and long-ish article that I cannot summarize and do it justice. My summary: If you even consider sublcassing other than for exceptions, read this article first. Michael #2: Extra, Extra, Extra*7, Hear all about it! New course! Python-powered chat apps with Twilio and SendGrid Pyodide is now an independent project Wow textual from Nick Mouh #NoFLOC for real! Need to protect your Python source? SourceDefender **(commercial product, but neat) I was a guest on A Day in a Life of a WFH Pythonista. Full episode starts here, and the studio/office tour here. Python 3.9.6 is out Python Web Conf 2021 videos are out, including mine on memory. pip install pythonbytes via pythonbytes package. Chris #3: klib Perform automated cleaning and analyzing of data in a pandas DataFrame Missing value plot and correlation data plots are similar to other tools but the visualizations are nicely done and useful. The data cleaning functions are really nice. In some testing, the automated data type conversion can save a meaningful amount of data. For large data sets, you can drop columns with lots of null values or highly correlated values. The clean_column_names function also performs several cleanups on column names such as removing spaces, standardizing CamelCase, etc. You have control to use as much or as little of the automated process as possible. Brian #4: Don't forget about functools “functools — Higher-order functions and operations on callable objects” in English: cool decorators and other functions that act on functions A recent article by Martin Heinz reminded me to review functools We've talked about singledispatch recently, and I'm sure we've talked about lru_cache before. These are in functools. functools is an interesting library in that you kind of use it more and more as you increase your Python experience. As a new Python dev, I would have been rather lost looking at this, but as you work through different projects, come back to this and have a look, it'll have stuff you probably could have used, and will use in the future. What's in there? Here's a few: @singledispatch & @singledispatchmethod - function/method overloading @wraps - A must for creating your own decorators that makes the decorated function act just like the original function (attributes, docstring, and all, with just the added behavior you are adding. @lru_cache - memoization made easy LRU = least recently used. It's what it throws away when it's full @cache - like @lru_cache but with no max size. New in 3.9 @cached_property - only run the read code once. New in 3.8 del(obj.property) to clear it. Yes this is weird, but also cool. @total_ordering - Define __eq__() and one other ordering function and get the other ordering functions for “free”. not free. cost is slower execution and confusing stack traces if things go wrong. but still, when prototyping something, or when comparisons are very rare, this is cool partial / partialmethod - create a new function with some of the arguments of the old function already filled in. super cool for callbacks or defining convenience functions Michael #5: GitHub Copilot Get suggestions for whole lines or entire functions right inside your editor. Available today as a Visual Studio Code extension. The technical preview does especially well for Python, JavaScript, TypeScript, Ruby, and Go, but it understands dozens of languages and can help you find your way around almost anything. You can cycle through alternative suggestions Powered by Codex, the new AI system created by OpenAI Based on gpt3. Chris #6: Kats New tool from facebook for Time Series analysis Can use Facebook's Prophet as well as other algorithms such as Sarima and Holt-Winters for prediction. Here's my old post on prophet. Some controversy about how well prophet performs in real life. Very detailed article here. Provides utilities for analyzing time series including outlier and seasonality detection Offers advanced ensemble methods and access to deep learning algorithms Extras Chris Unyt - library for working with units of measure. Pint is another similar one with a different API. Jokes Italian Aysnc (from Dean Langsam) Q: Why aren't cryptocurrency engineers allowed to vote? A: Because they're miners!
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.
Apologies once again. Ritual casting is taking a longer time then we thought, but don’t worry, here’s something to quench your thirst for knowledge. Subclassing in DnD is something people don’t usually think about, but don’t worry, we’re here to help! DnD Beyond The Forgotten City ——-Social Media——- Twitter Youtube
00:43 - Scott Moss Introduction Twitter GitHub Udacity @udacity Hack Reactor Angular Class @angularclass 01:55 - Scott’s Programming Background 04:11 - Working with Lukas 05:04 - Angular and ES6 (ECMAScript) John Papa's Angular Style Guide 06:11 - Subclassing a Directive Classical Inheritance DDO (Directive Definition Object) 08:58 - TypeScript Transpiling traceur-compiler babel Differences and Definitions: traceur, babel, TypeScript Learn about TypeScript 1.5 here and get it here [Pluralsight] John Papa and Dan Wahlin: TypeScript Fundamentals Types Have Value 19:06 - How should people use a transpiler in a real application? webpack gulp.js jspm 21:07 - systemjs 21:53 - Build Systems vs Package Managers 24:15 - Writing Tests in ES6 26:03 - Debugging 28:20 - How coding in ES6 has changed Scott’s style of building Angular 1 apps 30:19 - Modularity Arrow Functions 33:07 - ES5 with Angular 2?? 37:31 - Good Example of Using ES6 with Angular GoCardless GoCardless Angular Style Guide 39:21 - Learning New Material and Using ES6 Picks Learn about TypeScript 1.5 (Ward) The Effective Engineer by Edmond Lau (Lukas) Isar Raw Canvas Backpack (Lukas) INcontroL (Joe) John’s Daughter (John) Angular U (John) The Imitation Game (Katya) Treeline (Scott) Interstellar (Scott)
00:43 - Scott Moss Introduction Twitter GitHub Udacity @udacity Hack Reactor Angular Class @angularclass 01:55 - Scott’s Programming Background 04:11 - Working with Lukas 05:04 - Angular and ES6 (ECMAScript) John Papa's Angular Style Guide 06:11 - Subclassing a Directive Classical Inheritance DDO (Directive Definition Object) 08:58 - TypeScript Transpiling traceur-compiler babel Differences and Definitions: traceur, babel, TypeScript Learn about TypeScript 1.5 here and get it here [Pluralsight] John Papa and Dan Wahlin: TypeScript Fundamentals Types Have Value 19:06 - How should people use a transpiler in a real application? webpack gulp.js jspm 21:07 - systemjs 21:53 - Build Systems vs Package Managers 24:15 - Writing Tests in ES6 26:03 - Debugging 28:20 - How coding in ES6 has changed Scott’s style of building Angular 1 apps 30:19 - Modularity Arrow Functions 33:07 - ES5 with Angular 2?? 37:31 - Good Example of Using ES6 with Angular GoCardless GoCardless Angular Style Guide 39:21 - Learning New Material and Using ES6 Picks Learn about TypeScript 1.5 (Ward) The Effective Engineer by Edmond Lau (Lukas) Isar Raw Canvas Backpack (Lukas) INcontroL (Joe) John’s Daughter (John) Angular U (John) The Imitation Game (Katya) Treeline (Scott) Interstellar (Scott)
00:43 - Scott Moss Introduction Twitter GitHub Udacity @udacity Hack Reactor Angular Class @angularclass 01:55 - Scott’s Programming Background 04:11 - Working with Lukas 05:04 - Angular and ES6 (ECMAScript) John Papa's Angular Style Guide 06:11 - Subclassing a Directive Classical Inheritance DDO (Directive Definition Object) 08:58 - TypeScript Transpiling traceur-compiler babel Differences and Definitions: traceur, babel, TypeScript Learn about TypeScript 1.5 here and get it here [Pluralsight] John Papa and Dan Wahlin: TypeScript Fundamentals Types Have Value 19:06 - How should people use a transpiler in a real application? webpack gulp.js jspm 21:07 - systemjs 21:53 - Build Systems vs Package Managers 24:15 - Writing Tests in ES6 26:03 - Debugging 28:20 - How coding in ES6 has changed Scott’s style of building Angular 1 apps 30:19 - Modularity Arrow Functions 33:07 - ES5 with Angular 2?? 37:31 - Good Example of Using ES6 with Angular GoCardless GoCardless Angular Style Guide 39:21 - Learning New Material and Using ES6 Picks Learn about TypeScript 1.5 (Ward) The Effective Engineer by Edmond Lau (Lukas) Isar Raw Canvas Backpack (Lukas) INcontroL (Joe) John’s Daughter (John) Angular U (John) The Imitation Game (Katya) Treeline (Scott) Interstellar (Scott)