atlas news
    
The Three of Wands : Python
29  décembre     10h00
attrs iv: Zero-overhead Frozen attrs Classes
Tin    attrs supports frozen classes. Frozen classes are cool for a multitude of reasons, but they’re a tiny bit slower to instantiate compared to non frozen classes. But there’s a way to avoid this overhead and make frozen classes be the exact same speed as ordinary classes.
21  novembre     17h00
The Categories of Bugs in Python Apps
Tin    Say you’re writing a Python program, of any kind but maybe a network service. You’re likely to err you’re human, after all and produce errors bugs, defects during this process. We can’t control whether we make mistakes or not but there are
30  mai     15h49
Intro to cattrs 23.1.0
Tin    Instead of my usual Twitter and Fediverse threads, for this release of cattrs I figured I’d try something different. A blog post lets me describe the additions in more detail, provide context and usage examples, and produces a permanent record that can be linked to from the relevant
06  avril     10h18
Algebraic Data Types in (typed) Python
Tin    By properly utilizing Algebraic Data Types ADTs, not to be confused with abstract data types , you can transform certain types of invalid states from runtime errors into type checking errors, making them an excellent method for representing data and managing state. Although ADTs may sound complex,...
27  février     12h23
Python is two languages now, and that’s actually great
Tin    Everyone doing Python nowadays is aware Python supports optional type hints, and has for some time now. This has created a small schism in the community, with some people being completely uninterested in type hinting and a little defensive about the language partially going into a new direction,...
08  septembre     16h15
Wall vs CPU time, or the cost of asyncio Tasks
Tin    Performing I O concurrently is one of asyncio’s superpowers if not its main superpower . This is accomplished, directly or indirectly through helpers like asyncio.gather , by the creation and use of asyncio tasks. Even if you’ve never created an asyncio task yourself or called gather, you
19  janvier     11h12
cattrs I: un structuring speed
Tin    Over the years, I’ve put a lot of effort into making cattrs fast. Let’s take a look at how the cattrs structuring code evolved during this time.
22  août     16h33
Why I use attrs instead of pydantic
Tin    This post is an account of why I prefer using the attrs library over Pydantic. I’m writing it since I am often asked this question and I want to have something concrete to link to.
31  janvier     01h41
On structured and unstructured data, or the case for cattrs
Tin    If you’ve ever gone through the Mypy docs, you might have seen the section on TypedDict. The section goes on to introduce the feature by stating: Python programs often use dictionaries with string keys to represent objects. ... you can use a TypedDict to give a precise type for
12  août     00h26
The Inner Workings of: Arq
Tin    Arq is a job library for Python’s asyncio. This article is up to date with Arq v . The Point of Job Libraries The main point of what I colloquially call a job library is, essentially, to execute a function i.e. job somewhere else, and potentially at a different
11  mai     00h25
Building Pyrseia III: Server Middleware, Client Senders, CLI and InApp Validators
Tin    This is the third article in the Pyrseia series. The others are: Building Pyrseia I: The Idea Building Pyrseia II: Fleshing out Clients and Servers If you want to follow along with the code, this article refers to commit abf eda be b a ef bbd f . Server Middleware I’ve added the...
22  avril     23h59
Building Pyrseia II: Fleshing out Clients and Servers
Tin    This is the second article in the Pyrseia series. The others are: Building Pyrseia I: The Idea Building Pyrseia III: Server Middleware, Client Senders, CLI and InApp Validators If you want to follow along with the code, this article refers to commit db bd d ef a fcfa ba ....
19  avril     14h58
Building Pyrseia I: The Idea
Tin    Over at Highrise, we’re looking to replace our internal Python RPC library. The in house solution we’re using now isn’t particularly bad, but it doesn’t integrate well with Mypy, which is a Python typechecker that might be useful to us. It’s
04  octobre     21h17
attrs III: Frozen Classes
Tin    This is the third post in my series on the inner workings of attrs. Here are the others: attrs I: The Basics attrs II: Slots What are Frozen Classes Frozen, in this context, is a synonym for immutable. The term frozen was chosen because there’s precedent in the
25  août     20h29
attrs II: Slots
Tin    This is the second post in my series on the inner workings of attrs. The series starts here. Out of the box, attrs can customize your classes in two different, orthogonal ways make your class a slot class instead of a normal Python class, which for simplicity’s