I sometimes prefer working on larger Pythonista projects in my desktop IDE. However, imports of Pythonista iOS APIs look broken, autocomplete can't work, and static checking is useless. To solve these problems, I've started working a set of typed Python interface stubs. Please check it out and let me know problems and suggestions!
https://github.com/hbmartin/pythonista-stubs
Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Best posts made by hmartin
-
Typed Python interface stubs for editing Pythonista code on the desktop
-
RE: Typed Python interface stubs for editing Pythonista code on the desktop
After some discussion with the author, pygenstub now supports generic module interface generation. (Unlike the more well known
stubgen
, no C compilation required.)This means that in StaSh we can run something like
python3 pygenstub.py -p appex -o out --generic
to get a stub forappex
. It needs cleanup (like replacing all theAny
s and removing private things) but it's a great running start. -
Script for extracting podcast information from Overcast
I've been slightly annoyed that there's no way to save podcasts that I like in Overcast. Pythonista to the rescue 😀OvercastParser takes an overcast URL and returns the iTunes id, audio stream url, Overcast ID, and episode title. Check it out here: https://github.com/hbmartin/overcast_parser
Latest posts made by hmartin
-
RE: Typed Python interface stubs for editing Pythonista code on the desktop
@Olaf I'd recommend copying over the pygenstub.py file from the repo instead of installing with pip
-
RE: Typed Python interface stubs for editing Pythonista code on the desktop
After some discussion with the author, pygenstub now supports generic module interface generation. (Unlike the more well known
stubgen
, no C compilation required.)This means that in StaSh we can run something like
python3 pygenstub.py -p appex -o out --generic
to get a stub forappex
. It needs cleanup (like replacing all theAny
s and removing private things) but it's a great running start. -
RE: Typed Python interface stubs for editing Pythonista code on the desktop
@Olaf
Union[]
generally indicates an anti-pattern because a method should be relied on to return a single type. That said, given that we don't control the underlying API it may be necessary at some point.To answer your specific question, I definitely encourage using
Optional[]
where the method has documentation stating it might. For example, in thereminders
interface there isdef get_calendar(calendar_id: str) -> Optional[Calendar]: ...
since we're not guaranteed to find a given ID.It would be great to get some help and I'm happy to collaborate on typing syntax. I just hesitate to write interfaces for APIs that I haven't personally used, seems like an easy way to get things wrong :)
(For background reading on Union issues see here: https://github.com/python/mypy/issues/1693 )
-
RE: Feature request - machine learning
@JonB said:
An alternative might be to create a webview and run TF.js there. Theoretically this will allow the ML to still run on GPU. I have not tested this though...
-
RE: Can you develop apps for Pythonista iPad on a Mac then port across?
I'm working on a project to enable exactly this! See https://github.com/hbmartin/pythonista-stubs
However, I haven't implemented ui or scene yet, but would be happy to collaborate on those. -
Script for extracting podcast information from Overcast
I've been slightly annoyed that there's no way to save podcasts that I like in Overcast. Pythonista to the rescue 😀OvercastParser takes an overcast URL and returns the iTunes id, audio stream url, Overcast ID, and episode title. Check it out here: https://github.com/hbmartin/overcast_parser
-
RE: how To import modules such as pygame etc
The i is lowercase...
import pygame
-
Typed Python interface stubs for editing Pythonista code on the desktop
I sometimes prefer working on larger Pythonista projects in my desktop IDE. However, imports of Pythonista iOS APIs look broken, autocomplete can't work, and static checking is useless. To solve these problems, I've started working a set of typed Python interface stubs. Please check it out and let me know problems and suggestions!
https://github.com/hbmartin/pythonista-stubs