Show newer

@sethmlarson To be clear, PEP 621 is better than nothing, but they should start with PEP 517 and parse pyproject.toml only as an optimization.

@sethmlarson Though honestly the whole "allocate funding by dependency" feels like a Goodhart disaster waiting to happen, so maybe it's not such a big deal if the metric is measured stupidly anyway 🤷

@sethmlarson It feels irresponsible that someone built a funding allocation mechanism on top of Github's dependency graph. My god.

@sethmlarson Or instead of using this half-solution they could just use PEP 517, which has been the standard for like 5 years?

Hi all! I'm Thomas Caswell and I work on OSS.

Trained as a physicist, but these days I work as an #RSE supporting scientists working in #python.

I am the current Project Lead of #Matplotlib , a core dev of #h5py and am a PSF Fellow.

I'm based in NYC and work at BNL at NSLS-II where I help build data acquisition, management, and analysis tools for experimental scientists.

#introduction

The “access contacts” app permission is still the worst and most dangerous one out there. I wish mobile OS vendors could find a way to rate limit and monitor apps’ use of that data.

A (lengthy) Mastodon #introduction.

I'm Thomas, a Python Core Developer and Googler from Amsterdam (NL). I'm on the Python Steering Council and the #PSF Board of Directors, and I'm the 3.12/3.13 Release Manager. I hang out on #python on libera (IRC) as well. I also have #cats (#Savannah and #Bengal).

I usually toot/boost about #python, especially #governance and non-profit support of #python. A little thread with examples (and cat pictures at the end)👇

Stumbled on a new project by Zac Hatfield-Dodds (the Hypothesis person!) called "shed", github.com/Zac-HD/shed
It runs autoflake, pyupgrade, isort, black, blacken-docs on a project with a set of logical defaults. You can also use it with Jupyter Notebooks and Django.
Saves running all those tools individually #python #django #jupyternotebooks #jupyter

I'm the lead maintainer of Flask, Click, Jinja, and a bunch of other Python open source libraries 🐍 When I'm not programming, I like to brew beer and go hiking around San Diego 👋 #introduction

Anyone who can help run a mastodon instance for verified official accounts of scientific python projects? There is funding to pay for hosting so you don’t need to do much tech work, but gotta do everything else. Please boost!

Another puzzler; apparently `mypy` doesn't know how to do type narrowing when you do an early return like this:

mypy-play.net/?mypy=latest&pyt

@yuvipanda @minrk To be fair, `pipx` solves that problem (its how I have `black` installed, I believe), but I think there's a distinction between "apps that happen to be written in Python" and "apps / libraries that need to be in your Python environment".

You could re-write `black` in Rust or C or C++ or something (without Python bindings) and it wouldn't matter, because it's a command line application.

Stuff like `mypy`, `pytype` and `virtualenv` are a grey area because they have Python version-specific features, but they are invoked from the command line, so you *could* rewrite them, but your users are expecting behavior like "`mypy` should be able to see all the libraries installed in the current environment" and "`mypy` uses the Python version of the current environment".

Formatting on that is weird, I don't know why it gets rid of the linebreaks. Here it is with linebreaks:

`# wrapper type is Callable[[Iterable[T]], Iterable[T]]`
`k: KeyType`
`v: ValueType`
`for k, v in wraper(my_dict.items()): # type: ignore`
``` ...```

Show thread

Anyone out there have a solution or workaround for this?

github.com/python/mypy/issues/

Right now I'm doing:

```
# wrapper type is Callable[[Iterable[T]], Iterable[T]]
k: KeyType
v: ValueType
for k, v in wrapper(my_dict.items()): # type: ignore
...
```

Which is fine for a temporary workaround, but it'd be better to have a proper workaround for the time being.

Tomorrow around this time (8am PDT), I'll be going live on youtube.com/jayofdoom for my live streamed Open Source Office Hours. Come join me to ask questions about OSS in general (or OpenStack specifically) or to just see what it's like to work on an open source project for a while :).

jay.jvf.cc/officehours

#opensource #streaming

@jerub A lot of people use their instance's local timeline in this situation, but that requires you to join a moderate-sized themed instance. On something like mastodon.social, you are trying to drink from a firehose, and on single-person instances there isn't really a local timeline.

I like the instance I'm on, but it's not FOSS/programming themed, and it has unfairly gotten on some block lists due to fedi politics a few years back, so YMMV.

@minrk @yuvipanda For stuff like black, it's kind of an implementation detail that it's written in Python, so I think it makes sense to install it via a package manager.

The thornier cases are things like virtualenv.

@daeyoung @QOTO Unless something has changed, to my knowledge @freemo runs this instance (though there is a larger moderation team).

Show older
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.