• And other modules… Matplotlib requests and so on. It is toooooooooo old.

  • Hello! Im having the same or a similar issue with requests/chardet/idna dependencies. I tried deleting chardet and restart the app, but my stash seems ”stuck” when I try to reinstall the package (or doing any other operation for that matter). All I get is ”No module named chardet”, even when I run pip install simplegist (as a simple, seemingly unrelated example?)

    Any ideas?

  • @ccc, would it not be awesome just to be able to update all the pure-Python stuff that you have installed with one command? I do not know what that command is.

  • Thanks, it’s working now!

  • Update is automatically called for presented Scenes. A standard approach is then to do within your scene update:

    for node in self.children: if hasattr(node,'update'): node.update()
  • If not running the Pythonista 3 beta, you can get periodic updates with the code below.

    This is not my idea, I just simplified an idea in the TimedRefreshView.py example program, written by cclauss, that I found at:
    https://github.com/cclauss/Pythonista_ui/blob/master/TimedRefreshView.py

    My program, named "say_random_digit.py", says a random digit from 0 to 9 every 5 seconds.

    I had to change the data member "self.update_interval" to "self.updatex_interval" and the method "update" to "updatex" so as not to conflict with the names in the Pythonista 3 beta, which I am currently running.

    I like having this functionality built into the ui.View class much more than having to implement it, so I look forward to the beta becoming the released product.

    import ui import threading import speech from random import randint class TimedUpdateView(ui.View): """ This class contains a method named updatex, which is periodically called. """ def __init__(self): self.updatex_interval = 5 self.update_after_delay() def updatex(self): """ Say a random digit from 0 to 9 every 5 seconds. """ speech.say('%s' % (randint(0, 9))) def update_after_delay(self): """ This method calls the updatex method periodically """ self.updatex() update_thread = threading.Timer(self.updatex_interval, self.update_after_delay).run() if __name__ == "__main__": v = TimedUpdateView() v.present('sheet')
  • Ah, ok. That's entirely possible. Sorry that I seem to have missed the note in the description. Thanks for your answer!

  • @ywangd , just looked at the ptinstaller , that's nice

    Edit: it's a huge ease of use already with that command.

  • https://gist.github.com/389a67c5aacb097b87fd

    Simply import this function, and run it after drawing to the canvas. see example.
    It is not necessary to fill the canvas white- it is actually transparent, unless you have drawn to it (as should be obvious when you save an image then quickview it)

Internal error.

Oops! Looks like something went wrong!