trevor manz
@manzt.sh
š¤ 453
š„ 571
š 212
middle child, creator of anywidget.dev building
@marimo.io
; prev
@harvard.edu
pinned post!
i successfully defended my phd!
10 months ago
5
56
1
a new life for my 2019 macbook pro
about 13 hours ago
0
2
0
add a skeleton here at some point
2 days ago
0
2
0
iām used to hearing from strangers when my open-source "fails" them⦠this made my day
2 days ago
0
9
0
still lots to do... but we're cooking on a native
@vscode.dev
extension for
@marimo.io
notebooks
loading . . .
about 1 month ago
1
6
1
if interested in creating anywidgets of your own, our tutorial was finally shared to youtube:
www.youtube.com/watch?v=frEo...
loading . . .
Abdennur, Lekschas, & Manz - Bring your __repr__ās to life with anywidget | SciPy 2024
YouTube video by SciPy
https://www.youtube.com/watch?v=frEon8HbzXI
about 2 months ago
2
7
4
learning a new api? `mo.inspect()` your objects in
@marimo.io
. no more dir() / help()-ing around `<object at 0x...>`...
loading . . .
about 2 months ago
0
4
1
ok actually this time
add a skeleton here at some point
2 months ago
0
0
0
Observable-like cell minimap coming soon to a
@marimo.io
notebook near you š«”
loading . . .
2 months ago
1
6
0
happy to finally share what we've been cooking š³
add a skeleton here at some point
2 months ago
0
9
5
reposted by
trevor manz
Nezar Abdennur
3 months ago
Iām also excited to be presenting Oxbow as part of my talk on composability at the
#SciPy2025
Conference on Wednesday! Hope to see some of you there.
cfp.scipy.org/scipy2025/ta...
loading . . .
Breaking the silo: composable bioinformatics through cross-disciplinary open standards SciPy 2025
The practice of data science in genomics and computational biology is fraught with friction. This is in large part because bioinformatic tools tend to be tightly coupled to file input/output. As a res...
https://cfp.scipy.org/scipy2025/talk/PRSN9R/
2
9
3
@marimo.io
now has a tree-based UI for uv environments add/remove/upgrade deps the uv way ā no more flat pip-style lists or accidentally pip-ing your env
loading . . .
3 months ago
0
3
0
spending some time on our uv integration in
@marimo.io
ā starting with things like this selector for package āextrasā whatās frustrated you about using packages in notebooks?
loading . . .
4 months ago
0
10
2
preparing for some potentially unhinged things...
4 months ago
1
4
0
have a nice budget to upgrade my at home setup. whatās one thing that ~actually~ made a difference in your space?
4 months ago
1
0
0
sorting row order of a an altair plot in
@marimo.io
...
add a skeleton here at some point
4 months ago
0
2
0
it's actually a pretty fun ui challenge! here's a `Sortable` list alternative...
gist.github.com/manzt/1ca8f8...
add a skeleton here at some point
4 months ago
0
2
2
~nerd sniped~
gist.github.com/manzt/ada656...
add a skeleton here at some point
4 months ago
1
7
1
hard not to approach such questions through the lens of āthere is only one testā
@allendowney.bsky.social
add a skeleton here at some point
4 months ago
1
2
0
is the nba lottery rigged? a friend asked, and i ran the numbers in
@marimo.io
:
trevorma.nz/blog/is-the-...
loading . . .
blog | Is the NBA lottery rigged?
A simulation-based look at the NBA lottery odds.
https://trevorma.nz/blog/is-the-nba-lottery-rigged
4 months ago
0
0
2
external file cache š
add a skeleton here at some point
4 months ago
0
2
0
thanks to a community member, we now have an official
@vuejs.org
bridge for
@anywidget.dev
!
github.com/manzt/anywid...
loading . . .
Release @anywidget/
[email protected]
Ā· manzt/anywidget
Minor Changes Initial release (1c5f07a) Thanks to @aryan02420, we now support Vue with an official framework bridgeāsimilar to our React and Svelte bindings. Unlike @anywidget/react, the useModel...
https://github.com/manzt/anywidget/releases/tag/%40anywidget%2Fvue%400.1.0
4 months ago
0
1
1
@frank.computer
walking
#PyConUS
through the humbling experience of navigating charts with a screen reader. excellent talk!
4 months ago
1
4
2
at pycon! wrote a bit about exceptions and borrowing good ideas from python for typescript on the plane today...
trevorma.nz/blog/catch-e...
loading . . .
blog | Catch errors, carefully
A utility to improve structure and type safety in your try/catch blocks, inspired by Python's except.
https://trevorma.nz/blog/catch-errors-carefully
4 months ago
0
3
1
reposted by
trevor manz
Jamison Foser
4 months ago
there are 1,100 words in this article and zero of them are "bus"
add a skeleton here at some point
61
4559
1134
reposted by
trevor manz
Posit
5 months ago
Oh, hey, we're on there!
#OpenSource
add a skeleton here at some point
0
22
6
ok fine iāll learn jj
5 months ago
0
0
1
life update! i'm excited to share i'm joining
@marimo.io
trevorma.nz/blog/im-join...
loading . . .
blog | I'm joining marimo
I'm joining marimo to build better Python notebooks and keep growing the open communities I care about.
https://trevorma.nz/blog/im-joining-marimo
5 months ago
5
24
2
could really use something like this in
anywidget.dev
add a skeleton here at some point
5 months ago
0
1
0
reposted by
trevor manz
Randall Munroe
5 months ago
PhD Timeline
xkcd.com/3081
602
60533
21615
reposted by
trevor manz
marimo
5 months ago
marimo was just featured on
@nature.com
! Read the article to learn how issues of reproducibility and reusability are causing scientists at Stanford and elsewhere to choose marimo as their Python notebook of choice.
add a skeleton here at some point
1
13
4
usually iām all for āuse whatever works for you,ā but itās tough seeing someone trip over Python stuff knowingā¦
5 months ago
0
5
0
now on the Jupyter blog! check it out
add a skeleton here at some point
5 months ago
0
4
0
concretely, a JS dev can use any Python CLI without having Python (or uv) installed: # jupyter npx @manzt/uv tool run --from=jupyterlab jupyter-lab # marmio npx @manzt/uv tool run marimo
add a skeleton here at some point
5 months ago
0
6
2
packaged up uv to learn about distributing binaries on npm (it's convoluted) wild how as portable binary, everything you need to be productive with ~Python~⦠can be accessible from ~JavaScript~ ecosystem (npm/pnpm/bun/deno/yarn). No extra install necessary:
5 months ago
1
5
1
nice juv s/o on PythonBytes!
pythonbytes.fm/episodes/sho...
loading . . .
How old is your Python?
News and announcements from the Python community for the week of Apr 14th, 2025
https://pythonbytes.fm/episodes/show/428/how-old-is-your-pythonthanks
5 months ago
0
3
0
what about cloudfair?
add a skeleton here at some point
6 months ago
0
1
0
i wrote about this! and more generally how assertions let you collaborate with the type checker, not silence it.
trevorma.nz/blog/be-asse...
add a skeleton here at some point
6 months ago
0
2
1
trevorma.nz/blog/readme
add a skeleton here at some point
6 months ago
0
7
1
tried āvibe codingā a thing and realized, for better or for worse, i just actually enjoy programming
6 months ago
0
3
0
i've really enjoyed following this series on git. nice length, with tons of conceptual/practical tips
www.youtube.com/watch?v=JYH5...
loading . . .
Git Internals | Ep.1 Bits and Booze
YouTube video by GitButler
https://www.youtube.com/watch?v=JYH5ILv5g1g&list=PLNXkW_le40U6qleRbjWBxz6RTfwJ8Z2E5&index=12
6 months ago
0
3
0
i explored +130k artworks from the National Gallery of Art with polars, observableplot, anywidget, react... turns out thereās some neat public works history hiding in there. maybe youāll find an (CC0!) upgrade for that default OS wallpaper š
add a skeleton here at some point
6 months ago
1
21
5
PEP 751 (lockfiles) accepted
discuss.python.org/t/pep-751-on...
loading . . .
PEP 751: one last time
Iām pleased to announce that PEP 751 is accepted. Congratulations to @brettcannon, and to everyone who has participated in something like 4 years worth of discussion and design. Itās been a long road,...
https://discuss.python.org/t/pep-751-one-last-time/77293/150
6 months ago
1
8
4
tools are personal. what yours "solves" is probably an unknown unknown to others, and slamming a personal choice for neglecting that problem just creates distance. new tools are a big ask. imo convincing someone to try yours is really about understanding what they value in theirs. it's empathy.
6 months ago
1
2
1
one tip i give folks starting with anywidget: invest time in understanding ESM. get comfortable spotting what is, and ~especially~ what isn't. tooling lets us write plenty of code that no JS runtime could ever execute, and it leads to a ton of indirection and misunderstanding for beginners.
6 months ago
1
4
0
i made my first vs code extension for juv!
marketplace.visualstudio.com/items?itemNa...
it detects notebooks with PEP 723 metadata and prompts you to create/sync a venv. you can manage deps directly in the notebook toolbar to author standalone notebooks of your own:
loading . . .
7 months ago
3
13
9
i think the `as` keyword is commonly misused precisely because it's too convenient and doesnāt raise suspicion. In jsdoc, you at least have to go through more ceremony: let foo = (/** @type {number} */ value); ew. but it's warranted given how unsound it can be! again, just use a real `assert`.
add a skeleton here at some point
7 months ago
0
0
0
one of the first things I add to any ts project now is an `assert` utility:
manzt.sh/assert.js
type assertions (`foo as string`) blindly tell the type checker you know more than it does. `assert` is a real runtime check with the same narrowing effect. you'll thank me later when debugging!
7 months ago
0
7
4
curl -sL
manzt.sh/decompress.js
| pbcopy ... if you want a little utility to copy š
add a skeleton here at some point
7 months ago
0
1
0
with web `DecompressionStream` (
developer.mozilla.org/en-US/docs/W...
), you donāt need a dependency to decode gzipped or deflated data (e.g., pako, fflate). just pipe the data into a new `Response`:
7 months ago
1
6
3
juv v0.3.3 lets you derive venv for notebooks and standalone scripts, allowing better support by editors/IDEs. ``` juv venv --from=Untitled.ipynb or juv venv --from=foo.py ``` and select the `.venv` in your editor.
7 months ago
0
4
1
Load more
feeds!
log in