schmonz.com is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
Leanpub book LAUNCH π Introduction to GIS Programming: A Practical Python Guide to Open Source Geospatial Tools by Qiusheng Wu
Watch here:
#books #leanpublishing #selfpublishing #booklaunch #GIS #Python #OpenSource #Geospatial #RemoteSensing #DataScience #EarthEngine #geemap #leafmap #LeanpubPodcast
New π Release! Python in Practice: rom Fundamentals to Functional Code by unseen Perspectives #books #ebooks #python #programming
Find it on Leanpub!
If I were @standupmaths , there would be some Terrible Python Code parsing the output of dnsqr and doing line fitting to the TTL values; and an entire video on how to estimate from such data how many real machines under the covers serve up some seemingly single service on the Internet, and a second channel one on how people did that from the Netcraft uptime graphs that it used to present a couple of decades ago.
And then a clever viewer switching from parsing text from a pipe to some proper Python DNS client library and achieving a 6283% speedup.
(-:
#DomainNameSystem #BendersTest #Python #TerriblePythonCode #StandUpMaths
Real World Python http://leanpub.com/set/leanpub/realworldpython by Lukas Rieger and Christian Mayer is the featured Track of online courses on the Leanpub homepage! https://leanpub.com #programming #python #datascience
PyLadiesCon CFP is now open! I'd love to see more Vancouver and Canadian PyLadies members to submit a talk and present.
If you're feeling unsure, just need some encouragement, or want to discuss talk ideas, feel free to message me and let's chat.
Share this news widely!
https://conference.pyladies.com/2025-pyladiescon-cfp-launch/
#PyLadies #PyLadiesCon #PyLadiesVancouver #PublicSpeaking #Python #CFP #Conference
We want your vote! Voting-eligible PSF Members (Supporting, Contributing, and Fellow) need to affirm their membership to vote in this yearβs Board election to ensure that we meet quorum as required by our Bylaws π³οΈ #python
https://pyfound.blogspot.com/2025/07/affirm-your-psf-membership-voting-status.html
Practical Python for Production under Pressure: Managing the insanity that is developing pipelines alongside a production at full speed https://leanpub.com/practical_python by Alex Telford is the featured book on the Leanpub homepage! https://leanpub.com #Python #SoftwareEngineering #GameDevelopment #books #ebooks
Find it on Leanpub!
βFunβ learning YAML properly?
Okay. So. I have to learn ANSI-Bell for $ork. Meh. But okay.
Playbooks are written in YAML. I hate YAML and have always used yaml2jsn to convert it to JSON (if possible) when I had to touch it in the past, as somehow a subsetΒΉΒ² of JSON is a valid subset of YAML acceptedΒ² by YAML parsers.
β youβll have to make sure you donβt emit some codepoints literally, and to format numbers in scientific notation a specific way, but thatβs generally a good advice for JSON emitters
β‘ except JSON strings have codepoints outside the Basic Multilingual Plane encoded as two UTF-16 surrogates in \u#### notation whereas YAML parsers require it to be unescaped four-octet UTF-8, which breaks many JSON parsers; I ran into that just this week, in fact, for my RSS to Fediverse gatewaysβ¦
I personally find YAML unwritable, due to things like GitHub Actionsβ example ofβ¦
on:
push:
branches:
- main
β¦ does not convert toβ¦
{
"on": {
"push": {
"branches": [
"main"
]
}
}
}
β¦ but to:
{
"1": {
"push": {
"branches": [
"main"
]
}
}
}
(GitHub accepts both syntacΔs in workflow files in JSON.)
But letβs go back to the βself-explaining, obviousβ YAML:
on:
push:
branches:
- main
So, weβve already established that βonβ is 1 and that something like country: no isnβt Norway but 0 (and real existing people have fallen into this, yet there are strong recommendations to not quote strings in YAML documents like ANSI-Bell playbooks, and somehow nobody even documents how strings are to be escaped and when they need to be escaped).
But, riddle me this:
push:
<2 spaces>branches:
But:
branches:
<2 spaces><hyphen-minus and space>main
But:
options:
<no space><hyphen-minus and space>Ubuntu
<no space><hyphen-minus and space>macOS
(All examples from here.)
I find this totally obvious and self-explanatory and consistent, and I totally know when to use two spaces, or dash-plus-space, or both.</sarcasm>
One of the books Iβve been provided (actual published training material with an ISBN each) just hand-waves it away, the other says:
The target section looks like the following code snippet:
- hosts: webservers user: root[β¦] As per the YAML syntax, the line must start with a dash. [β¦]
So, basically, the hosts: line must start with a dashhyphen-minus? I think not.
The βHands-on interactive lab and helpful resourcesβ in the RedΒ Hat βYAML essentials for Ansibleβ βlearning pathβ is similarly deficient in even fundamentally basic explanation. 0/10, wonβt recommend.
The hand-waving book links to http://www.yaml.org/start.html, so letβs readβ¦
a getting started guide for YAML
β¦ in my favourite webbrowser lynx:
Page not found Β· GitHub Pages
File not found
The site configured at this address does not contain the requested
file.
If this is your site, make sure that the filename case matches the URL
as well as any file permissions.
For root URLs (like http://example.com/) you must provide an index.html
file.
[1]Read the full documentation for more information about using GitHub
Pages.
[2]GitHub Status β [3]@githubstatus
Edit this document's URL: https://yaml.org/start.html
β¦ oooookay?
But surely yaml.org has more material? *looks* β¦ well, it has links to the specs and implementations. All very useful, but not right now for a hopefully structured introduction that explains the hows and ideally also the whys.
Letβs follow the *New* link in which they announce the 1.2.2 specβ¦ a blogpost. Okay. It has a title bar (brown background in Firefox) with a promising link:
Y
*
* [2]Blog
* [3]Docs
Letβs follow #3 to βDocsβ!
βββ Twitter
[1]Skip to main content
Y
*
* [2]Blog
* [3]Docs
*
*
[4]YAML Glossary
[5]YAML Cheat Sheet
(BUTTON) Menu
YAML Documentation
__________________________________________________________________
YAML documentation is on the way!
#content
This 80Γ24 screenshot is literally the entirety of the official #YAML documentation.
Well, colour me impressed.
Wait, no.
Fuck that shit.
Wait. This is for $dayjob. $customer also edits playbooks. Iβm sure theyβll be delighted if I run things through yaml2jsn and commit the result as #JSON.
Also, see footnote 2 above.
Fuuuuck Iβm SOL.
So. Do I honestly have to wade through the spec to learn this?
(Not that this is new. When I first learnt Python in 2008, I had to look at the C-language source code of the #Python interpreter to figure out things missing from the documentation. Which brings us back full circle to #ansible, the culprit of bringing this entire shitshow to my attention. Iβm a programmer, not a DevCloudOp or something.)
A Leanpub Frontmatter Podcast Interview with Alex Telford, Author of Practical Python for Production Under Pressure: Managing the insanity that is developing pipelines alongside a production at full speed | Watch here: https://youtu.be/uDziREzkpdY #books #Python #VFX #SoftwareEngineering #PythonTips
Leanpub book LAUNCH π Practical Python for Production Under Pressure: Managing the insanity that is developing pipelines alongside a production at full speed by Alex Telford https://youtu.be/nPvgqZZWJ5Y #books #booklaunch #Python #VFX #SoftwareEngineering #PythonTips
Just released: em 4.4.0, the CLI emoji keyboard πβ¨οΈβ¨
β¨ Upgraded to emojilib 4.0.0: "The keywords include most if not all the :shortcode: from different platforms"
β¨ Dropped support for oh-so-very-nearly-EOL Python 3.8.
Just released: termcolor 2.5.0: ANSI colour formatting for terminal output
ππ₯οΈπ¨
π₯οΈ Added `strike` attribute
π₯οΈ Now generates and uploads #PEP740 attestations to PyPI
π₯οΈ Dropped support for oh-so-very-nearly-EOL Python 3.8
Just released: Tablib 3.7.0 π
π¦ Add sparkly new Python 3.13
π¦ Drop EOL Python 3.8
π¦ Add styling to datetime, date and time values for ODS
π¦ Add styling for date/time types for XLS
π¦ Fix time and datetime export in ODS format
π¦ Avoid normalizing input twice in import_set/book
Just released: #cherry_picker 2.3.0 π
This tool creates backports for CPython when the Miss Islington bot can't, usually due to a merge conflict.
π Add support for #Python 3.13, drop EOL 3.8
π Resolve usernames when remote ends with a trailing slash
π Optimize validate_sha() with --max-count=1
π Remove multiple commit prefixes
π Handle whitespace when calculating usernames
π Publish to PyPI using #TrustedPublishers
π Generate #PEP740 attestations
π And more!
Big day for releases! I accidentally scheduled my very first ever CPython release for the same day as my turn to do the @pillow quarterly release. It'll be fine! Might release everything* else today as well for good measure.
The Pillow release has begun, you can follow along the wheel build+PyPI publish CI here, it'll be done in a couple of hours or so:
https://github.com/python-pillow/Pillow/actions/runs/11340141751
Just released: @pillow 11.0.0 π
π¨ Add support for Python 3.13, including experimental freethreaded wheels!
ποΈ Drop support for EOL Python 3.8
π¨ Remove a whole load of deprecations
ποΈ Add, change and fix a whole lot more stuff
π¨ Add some more deprecations, to be removed in Pillow 12 next October
ποΈ More info at https://pillow.readthedocs.io/en/stable/releasenotes/11.0.0.html
π¨ And even more at https://github.com/python-pillow/Pillow/releases/tag/11.0.0
Just released: pypistats 1.7.0 π
π Generate digital attestations for PyPI (PEP 740)
π Drop support for EOL Python 3.8
π Generate __version__ at build to avoid slow importlib.metadata
Just released: Python 3.14.0a1 π
https://discuss.python.org/t/python-3-14-0-alpha-1/68039
π PEP 649: deferred evaluation of annotations
π Improved error messages
π And more!
Just released: pepotron 1.3.0 π
π© Generate digital attestations for PyPI (PEP 740)
π© Drop support for Python 3.8
π© Generate __version__ at build to avoid slow importlib.metadata
π© Test on CI with uv
https://pypi.org/project/pepotron/1.3.0/
Pepotron is a CLI for opening PEPs in your browser. For example, try:
$ pep 8
$ pep 3.14
$ pep dead batteries
$ pep calendar
Just released: norwegianblue 0.19.0 π
π¦ Drop support for Python 3.8
π¦ Generate digital attestations for PyPI (PEP 740)
π¦ Test with tox-uv
π¦ Lint with pre-commit-uv
https://pypi.org/project/norwegianblue/0.19.0/
norwegianblue is a CLI to show EOLs from https://endoflife.date
Just released: blurb 1.3.0 π
blurb is the CLI we use for managing CPython's news/changelog entries.
ποΈ Add support for Python 3.13
ποΈ Drop support for Python 3.8
ποΈ Generate digital attestations for PyPI (PEP 740)
ποΈ Allow running blurb test from blurb-* directories by
ποΈ Add version subcommand
ποΈ Generate __version__ at build to avoid slow importlib.metadata
https://pypi.org/project/blurb/1.3.0/
#Python #CPython #blurb #release #CLI #changelog #news #PEP740 #Python313 #Python38
Just released: flake8-implicit-str-concat π
π± Add support for #Python 3.12-3.13, drop 3.7-3.8
π± Switch from Flit to Hatchling + hatch-vcs for dynamic versioning
π± Release to PyPI with Trusted Publishing
https://pypi.org/project/flake8-implicit-str-concat/0.5.0/
This #Flake8 plugin helps tidy up after Black:
$ cat 1.py
s = ('111'
'222')
$ black 1.py
reformatted 1.py
All done! β¨ π° β¨
1 file reformatted.
$ cat 1.py
s = "111" "222"
$ flake8 1.py
1.py:1:10: ISC001 implicitly concatenated string literals on one line
Just released! stravavis 0.5.0 π
Create artistic visualisations with your exercise data.
https://pypi.org/project/stravavis/0.5.0/
π΄ Drop support for EOL Python 3.8
π Skip segments in GPX tracks with empty trkseg
πΆ Fix pandas warnings
Just released! Python Docs Sphinx Theme 2024.10 π
https://pypi.org/project/python-docs-theme/2024.10/
π Add support for Python 3.13
π Drop support for Python 3.8
π Add script for handling translations
π Generate digital attestations for PyPI (PEP 740)
This is the theme used by docs sites such https://docs.python.org and https://typing.readthedocs.io
#Python #docs #Sphinx #PythonDocsTheme #PythonDocsSphinxTheme #PEP740
Just released! PrettyTable 3.12 π
https://pypi.org/project/prettytable/3.12.0/
πͺ Add new themes to ColorTable
πͺ Drop support for Python 3.8
πͺ Deprecate hrule and tableStyle constants
πͺ Use SPDX license identifier
πͺ Add lots of type annotations
πͺ Generate __version__ at build to avoid slow importlib.metadata
πͺ Release to PyPI using Trusted Publishing and PEP 703 digital attestations
πͺ Fix drawing headerless coloured tables with title
πͺ And more!
Just released: Python 3.14.0a2 π
https://discuss.python.org/t/python-3-14-0-alpha-2/71711
π PEP 649: Deferred evaluation of annotations
π PEP 741: Python configuration C API
π PEP 761: Deprecating PGP signatures for CPython artifacts
π Improved error messages
π And more!
https://docs.python.org/3.14/whatsnew/3.14.html
#Python #CPython #Python314 #release #PEP649 #PEP741 #PEP761
Just released: Python 3.14.0a3 π
https://discuss.python.org/t/python-3-14-0-alpha-3/74542
https://docs.python.org/3.14/whatsnew/
This release brought to you by tea and homemade mince pies.
Oh, and taking inspiration from #pytest, I added colour to #unittest output in this one π¨
Just released: Python 3.14.0a4 π
https://discuss.python.org/t/python-3-14-0-alpha-4/77112
https://docs.python.org/3.14/whatsnew/3.14.html
Here's one amazing reason to try it out! ποΈπ¨
Just released: Python 3.14.0a5 π
https://discuss.python.org/t/python-3-14-0-alpha-5/80364
https://docs.python.org/3.14/whatsnew/3.14.html
Also recently released!
blurb 2.0.0
cherry-picker 3.5.0
pypistats 1.8.0
PrettyTable 3.13.0 & 3.14.0
tox-dev/action-pre-commit-uv 1.0.2
em-keyboard 5.0.0
Especially for Ο day and #FediDonutFriday!
Just released: Python 3.14.0a6 π
https://discuss.python.org/t/python-3-14-0-alpha-6/84513
https://docs.python.org/3.14/whatsnew/3.14.html
This release brought to you by a Karelian pie (Karjalanpiirakka), a strawberry and gooseberry pie (mansikka-karviais piirakka) and a slice of blueberry pie (mustikkapiirakka).
#Python #CPython #Python314 #release #food #PiDay #PiiPΓ€ivΓ€ #pie #FediDonutFriday
Just released: pypistats 1.9.0 π
pypistats is CLI to show download stats from PyPI
https://pypi.org/project/pypistats/1.9.0/
* Replace deprecated classifier with licence expression (PEP 639)
* Remove GitHub attestation, uses PyPI attestations instead (PEP 740)
* Add input validation for total and fix --monthly with no mirror
* Update docs for recent command
Just released: humanize 4.12.2 π
Bugfix release, mainly fixing the spelling of licence/license so the file is properly included in the package.
Reminder how to do PEP 639 metadata: https://hugovk.dev/blog/2025/improving-licence-metadata/
Just released: PrettyTable 3.16 π
Just released: norwegianblue 0.21.0 π
Add support for OSC 8 hyperlinks in the terminal.
https://github.com/prettytable/prettytable/releases/tag/3.16.0
norwegianblue now uses this to create hyperlinks in the terminal instead of printing a wide column of links. Use command+click with iTerm.
Also create hyperlinks for Markdown, reStructuredText and HTML output.
https://github.com/hugovk/norwegianblue/releases/tag/0.21.0
Attached are before and after images.
Just released: termcolor 3.0.0 π
ANSI colour formatting for the terminal.
π¨ Add support for Python 3.14
π¨ Only apply FORCE_COLOR, NO_COLOR & ANSI_COLORS_DISABLED env vars when present & not an empty string
π¨ Replace literal types with strings
π¨ Replace deprecated classifier with licence expression (PEP 639)
π¨ Speedup: move typing imports into type-checking block
π¨ Remove deprecated __ALL__, use __all__ instead
Just released: Python 3.14.0a7 π
Just released: Python 3.13.3 ππ
Just released: Python 3.12.10 πππ
Just released: Python 3.11.12 ππππ
Just released: Python 3.10.17 πππππ
Just released: Python 3.9.22 ππππππ
Last 3.14 alpha! Less than a month to get new features in before beta!
Last 3.12 bugfix release! Now in security fix only!
And security releases of 3.9-3.11.
Please upgrade 3.9-3.13!
Please test 3.14!
Just released: Pillow 11.2.1 π
There was meant to be a 11.2.0 on 1st April, but we put too much good stuff in the wheels and hit the @pypi.org project limit before it could all be uploaded. That was yanked and now deleted and 11.2.1 is back to normal size.
We'll try and put the good stuff back for 11.3.0 on 1st July but take up less space.
Just released: Python Docs Theme 2025.4 π
π Require Sphinx 7.3
π Add support for Python 3.14
π Drop support for Python 3.10-3.11
π Copy button for code samples
π PEP 639 licence metadata
π and more!
https://github.com/python/python-docs-theme/releases
Thanks to Tomas Roun for the copy button! Demo:
π https://www.youtube.com/watch?v=2cxSP90gj8c [Vappu is May Day]
Just released! ππππ
termcolor 3.1.0
Add true colour, cache system lookups
https://github.com/termcolor/termcolor/releases/tag/3.1.0
em-keyboard 5.1.0
Add Emoji 16.0: π«© π« πͺΎ π« πͺ πͺ π« π¨πΆ
https://github.com/hugovk/em-keyboard/releases/tag/v5.1.0
Humanize 4.12.3
Fix regression in naturalsize, improve French translation
https://github.com/python-humanize/humanize/releases/tag/4.12.3
Python Docs Theme 2025.4.1
Fix copy button with multiple tracebacks
https://github.com/python/python-docs-theme/releases/tag/2025.4.1
#Python #release #termcolor #humanize #Sphinx #theme #EmKeyboard #PythonDocsTheme
Just released: Python 3.14.0 beta 1! ππ
π₯§ Deferred type annotation evaluation!
π₯§ T-strings!
π₯§ Zstandard!
π₯§ Syntax highlighting in the REPL!
π₯§ Colour in unittest, argparse, json and calendar CLIs!
π₯§ UUID v6-8!
π₯§ And much more!
https://discuss.python.org/t/python-3-14-0-beta-1-is-here/91117?u=hugovk
Just released: Python 3.14.0 beta 2! ππ
π₯§ Deferred type annotation evaluation!
π₯§ T-strings!
π₯§ Zstandard!
π₯§ Syntax highlighting in the REPL!
π₯§ Colour in unittest, argparse, json and calendar CLIs!
π₯§ UUID v6-8!
π₯§ And much more!
Do you maintain a Python package? Please test 3.14. If you find a bug now, we can fix it before October, which helps everyone. And you might find some places in your code to update as well, which helps you.
https://discuss.python.org/t/python-3-14-0-beta-2-is-here/93396?u=hugovk
Just released: Python 3.14.0 beta 3! ππ
π₯§ All the good stuff of b2 but also:
π₯§ Free-threaded Python is officially supported! (PEP 779)
π₯§ Subinterpreters in the stdlib! (PEP 734)
Do you maintain a Python package? Please test 3.14.
If you find a bug now, we can fix it before October, which helps everyone. And you might find some places in your code to update as well, which helps you.
https://discuss.python.org/t/python-3-14-0-beta-3-is-here/95843?u=hugovk
#Python #CPython #Python314 #release #PEP779 #PEP734 #FreeThreaded #subinterpreters
Just released: linkotron 0.6.0!
π Adds OSC 8 formatting so you can do make those clickable links in terminal emulators.
https://pypi.org/project/linkotron/
#Python #release #linkotron
Just released: Python 3.14.0 beta 4! ππ
π₯§ Last beta!
π₯§ Do you maintain a Python package? Please test and report bugs!
π₯§ This includes creating pre-release wheels for 3.14, as it helps other projects to do their own testing.
https://discuss.python.org/t/python-3-14-0-beta-4-is-here/98092/1?u=hugovk
#Python #CPython #Python314 #release