The "Dynamic" Properties in PyProject
Fri 30 December 2022 by Moshe ZadkaWhen writing a
pyproject.toml
file,
the
project
section is optional.
However,
if it does exist,
two of its properties are
required:
name
version
If these two properties are not there, the section will be ignored.
This is a lie. But it is not a big lie: it is almost true.
In general, if either of these two properties are not there, the section will be ignored. However, there is a way to indicate that either, or both, of these properties will be filled in by the build system later on.
This is done with
dynamic
.
For example
[project]
name = "my-package"
dynamic = ["version"]
This is the most common setting.
However,
it is possible to set
dynamic
to
["name", "version"]
and avoid both parameters.
On The Go
Now that travel is more realistic, I have started to optimize how well I can work on the go. I want to be able to carry as few things as possible, and have the best set-up possible.
read moreReading the Documentation for Popular Products
Popular products often have a "Getting Started" tutorial in order to guide you in using them for the first timees. Those guides are easy to follow, pleasant to use, and lead you do make bad design choices.
Follow the "Getting Started" guide to get a feel for the product. Then …
read moreThree Problems with a Tool
One of my favorite Podcasts, Podcast.__init__, always makes sure to ask one question towards the end of every episode: when should you not use the tool or technique introduced in this episode? This is a great question. When people have a poor answer I assume that the tool is …
read moreBetter Outage Retrospectives
Originally published on Enable Architect.
Modern computer systems supply business-critical services everywhere -- from Amazon providing shopping services to Healthcare.gov providing enrollment in health insurance plan. We all rely on such systems. But, unfortunately, these systems are complex and can fail in surprising ways.
By now, it is a well-understood …
read moreEmpathy vs. sympathy for Site Reliability Engineers (SRE)
This article was originally published on Enable Architect
Many people have had the insight that DevOps is about people. Often, they will summarize it as "DevOps is about empathy". I have found, however, that idealizing empathy is just as bad as thinking that DevOps is about a single technology.
I …
read moreMinimal packing list
With in-person conferences starting to open up, I need to clear the dust off of some skills that have not been used in a while. One of those is how to pack for travel.
This list works for me. It will probably not work for you as-is. Among other things …
read morePost that PR
Sometimes you will be working on hairy and complicated feature in a shared repository. Maybe it's for work. Maybe it's an open source project.
As a responsible person, you are working on a branch. The usual way of working involves a lot of "intermediate" check-ins. Those serve, if nothing else …
read morePortable Python Binary Wheels
It is possible to work with Python quite a bit and not be aware of some of the subtler details of package management. Since Python is a popular “glue” language, one of its core strengths is integrating with libraries written in other languages: from database drivers written in C, numerical …
read moreSo you want to create a universe
A story about looking for a universe, and finding a pi(e)
This is fine. You need not feel shame. Many want to create a universe. But it is good you are being careful. A universe with sentient beings is a big moral responsibility.
It is good to start with …
read more