@pawamoy@fosstodon.org
@pawamoy@fosstodon.org avatar

pawamoy

@pawamoy@fosstodon.org

I'm an open-source developer! Author of mkdocstrings :)

This profile is from a federated server and may be incomplete. Browse more on the original instance.

sethmlarson, to random
@sethmlarson@fosstodon.org avatar

It's tough seeing Paper Mario: The Thousand Year Door for Switch being released today and so many hyped people and I'll likely need to wait for a week before I can start playing in earnest 😭

pawamoy,
@pawamoy@fosstodon.org avatar

@sethmlarson @carlton damn Nintendo is good at making me buy the same games multiple times... First Metroid Prime, now Paper Mario 2. Actually waiting for the remaster of Metroid Prime 2, and especially Metroid Prime 3 since I never played it!

oliverandrich, to python
@oliverandrich@fosstodon.org avatar

Struggling a bit with the API of a library I write. I want to provide classes with sync and async methods. I am not sure if I prefer to use a single class with unprefixed and a-prefixed methods. Or if I want one class for sync and one for async behaviours. And if I split it in separate classes would you prefix the methods with an ‚a‘ in the async class?

pawamoy,
@pawamoy@fosstodon.org avatar

@oliverandrich maybe try to see what other popular projects do? HTTPX offers two classes, Client and AsyncClient. Both have equally named methods.

willmcgugan, to python
@willmcgugan@mastodon.social avatar

I lived streamed coding a TUI for a coffee "shop".

https://youtu.be/bdOrzkmJ6Lk?t=151

pawamoy,
@pawamoy@fosstodon.org avatar

@willmcgugan it's your Textual version of https://news.ycombinator.com/item?id=40227208, right?

diazona, to python
@diazona@techhub.social avatar

I remember having a discussion about argument parsing in a while ago where someone recommended a small library that was kind of like argparse except that instead of returning an argparse.Namespace, it returns a fully typed object (which you define), a dataclass or something similar. Anyone know what I'm talking about? I wanted to try that library but I forgot what it is and I can't find the discussion.

pawamoy,
@pawamoy@fosstodon.org avatar
pawamoy,
@pawamoy@fosstodon.org avatar

@diazona and the original discussion might be this one: https://fosstodon.org/@mycorrhiza@post.lurk.org/112101883052987223

pawamoy, to random
@pawamoy@fosstodon.org avatar

TIL about Conventional Comments: https://conventionalcomments.org/ (thanks @bswck for sharing!)

Like conventional commits, but for comments in code reviews.

hynek, to random
@hynek@mastodon.social avatar

I have just read a sentence that said that mocks are crucial for relevant tests and now I have a migraine.

pawamoy,
@pawamoy@fosstodon.org avatar
pawamoy, to random
@pawamoy@fosstodon.org avatar

I've started sponsoring @brettcannon (who just launched his sponsorship page on GitHub) for his work on Python! Thanks Brett for everything you're doing for the language and its ecosystem 🎉

https://github.com/sponsors/brettcannon

willmcgugan, to random
@willmcgugan@mastodon.social avatar

The next version of will have an "inline" mode. Basically any Textual app can run under the prompt, with full mouse support.

This really seems to be capturing people's imagination. So many possibilities here...

https://www.youtube.com/shorts/dxAf3vDr4aQ

pawamoy,
@pawamoy@fosstodon.org avatar

@willmcgugan is there an accompanying blog post? Quite curious to learn how it works!

pawamoy,
@pawamoy@fosstodon.org avatar

@willmcgugan my guess is that you copy the main buffer visible contents, open the alternate buffer, paste them there, allocate remaining space of the console to the textual app, set the right offset, redraw accordingly, and when closing the app it looks like it just disappears :)

pawamoy, to python
@pawamoy@fosstodon.org avatar

New feature in the handler of : class inheritance diagrams with Mermaid 🎩

dabeaz, to random
@dabeaz@mastodon.social avatar

Current annoyance:

>>> @dataclass
... class Point:
... x : int
... y : int
...
>>> p = Point("two", "three")
>>> match p:
... case Point(x):
... print("Yep:", x)
...
Yep: two
>>>

Actually, there are multiple annoyances.

pawamoy,
@pawamoy@fosstodon.org avatar

@dabeaz partial matching in a nested objects structure? 🤷 I think it's nice that it doesn't make you write _ for each required parameter. You can express only the part you're interested in, without the usual constraints of object creation. My 2 cents as someone who never used structural pattern matching in Python yet 😂

pawamoy,
@pawamoy@fosstodon.org avatar

@dabeaz so you'd have been less annoyed by case Point(x, *args)?

And if the dataclass used keyword-only parameters, you'd then have expected case Point(x=x, **kwargs) 🤔?

(genuine curiosity)

pawamoy, to random
@pawamoy@fosstodon.org avatar

Super proud to have the trust of @FastAPI and @tiangolo, who just became my first silver sponsor 🥈 You'll see FastAPI's logo in all our Insiders doc pages soon 😄

pawamoy, to python
@pawamoy@fosstodon.org avatar

(Insiders) is now able to search for API breaking changes in packages downloaded from PyPI-like indexes.

https://mkdocstrings.github.io/griffe/checking/#using-pypi

squidfunk, to random
@squidfunk@fosstodon.org avatar
pawamoy,
@pawamoy@fosstodon.org avatar

@squidfunk what bothers me is that the bot simply repeated what I suggested. So there's no real answer here. What it said and wasn't suggested by me seems to be wrong. So I don't trust any of what it said :/ I feel like Matt Damon at the beginning of the Elysium movie, when he's talking to the "social worker" robot :/

pawamoy, to python
@pawamoy@fosstodon.org avatar

I'm on a quest to replace Electron-based apps with ones (Discord, Telegram, Signal, Element/Matrix). Anyone knows some maintained projects?

If I don't find anything I'll have to write them in with 😤

Imagine: a framework on top of for chat apps. All TUIs with (almost) the same layout and hotkeys 🤩

pawamoy, to python
@pawamoy@fosstodon.org avatar

I couldn't help myself: I forked (again) my project template to make it use from @charliermarsh and Astral (previously and ).

Here it is: https://github.com/pawamoy/copier-uv. Can't wait to try it on a real-life project 😄

hynek, to random
@hynek@mastodon.social avatar

there is no escape from Python packaging ;)

pawamoy,
@pawamoy@fosstodon.org avatar

@hynek Half of it were already there before its announcement, but yeah, ~85 issues the first day is something :D

willmcgugan, to random
@willmcgugan@mastodon.social avatar

14 issues on the Toolong repo overnight. Honestly, this is a better metric for popularity than stars. A maintainers work is never done. 🤷‍♂️

https://github.com/Textualize/toolong

pawamoy,
@pawamoy@fosstodon.org avatar

@willmcgugan Such a perfect example of what maintaining (FOS) Software represents. Projects with a slower success/popularity rise get the same thing, just on a bigger time period. I'm looking through the issues and it's so typical:

  • "it doesn't work on windows"
  • "it fails when another program does this"
  • "could you also support this file format?"
  • "there's a bug in this scenario"
  • "it doesn't work on this older Python version"

These reports mean more work 😵‍💫, and are great to have! 🥳

pawamoy, to random
@pawamoy@fosstodon.org avatar

I'm reusing #Textual's doc tools to take screenshots of my app and inject it as SVG into my #Devboard docs:

Screenshot of the resulting HTML page.

hynek, to python
@hynek@mastodon.social avatar

Lately, I’ve seen many projects who use Black and/or Ruff set their target versions manually.

❌ You don't have to do that! ❌

If you use a pyproject.toml , they both interpret your project.require-python key.

If it says >=3.8, they will format/upgrade for 3.8+ etc. Hooray for standards paying off!

pawamoy,
@pawamoy@fosstodon.org avatar

@adamchainz @hynek it seems they only do so if you write their configuration in pyproject.toml. If you use another config file, they don't try to read pyproject.toml for requires-python. At least not last time I tried!

pawamoy,
@pawamoy@fosstodon.org avatar

@hynek @adamchainz it does not automatically look into any other file, but you can manually specify one with the --config CLI option.

pawamoy, to random
@pawamoy@fosstodon.org avatar

Update: it's now called #DevBoard, and it got improved! Faster loading, keybindings to refresh columns or run specific actions, user configuration (define your own board!)... #Textual workers and notifications are lovely 😍

video/mp4

pawamoy,
@pawamoy@fosstodon.org avatar

@masukomi OK it's done! Sponsors can now install and use #Devboard! See the docs at https://pawamoy.github.io/devboard/ 😊

pawamoy,
@pawamoy@fosstodon.org avatar

@masukomi so, indeed the main idea is to work on local Git repositories, but in fact the boards are completely customizable, so you could definitely use Devboard to show issues, PRs, etc.

I just have to add such a customization example to the docs 😁 If you describe what columns you would like to have, with possible keybindings, I can try to implement it, and provide the code publicly!

I do want to have a gallery of some sort in the docs, with examples from the community 🙂

  • All
  • Subscribed
  • Moderated
  • Favorites
  • provamag3
  • modclub
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • osvaldo12
  • ethstaker
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • ngwrru68w68
  • kavyap
  • GTA5RPClips
  • JUstTest
  • cubers
  • InstantRegret
  • khanakhh
  • tester
  • everett
  • Durango
  • tacticalgear
  • normalnudes
  • megavids
  • Leos
  • cisconetworking
  • anitta
  • lostlight
  • All magazines