omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular
    1. Home
    2. upwart

    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.


    • Profile
    • Following 0
    • Followers 1
    • Topics 60
    • Posts 151
    • Best 6
    • Controversial 0
    • Groups 0

    upwart

    @upwart

    9
    Reputation
    2131
    Profile views
    151
    Posts
    1
    Followers
    0
    Following
    Joined Last Online

    upwart Unfollow Follow

    Best posts made by upwart

    • Feature request: Native support for Black

      It would be nice if the Black formatter could be added natively to Pythonista.
      For those who don't know about Black: this is a code formatter that makes your code PEP8 compatible and very consistent: highly recommended. See https://black.readthedocs.io/en/stable/ for details.

      posted in Pythonista
      upwart
      upwart
    • RE: New Beta for Pythonista 3.3

      Any plans to support Pandas?

      posted in Pythonista
      upwart
      upwart
    • RE: iOS 13

      And PyTo is open source, so even if the developer is not anymore supporting the product (like seems the case with Pythonista) others can continue the product (at least in theory).

      posted in Pythonista
      upwart
      upwart
    • RE: Properties that are more fun

      @mikael
      Thanks for this great idea.
      I have renamed your decorator to getter_setter, to make the purpose of it more clear.

      Thus we define a decorator function:

      def getter_setter(func):
          return property(func, func)
      

      and then we can redo the example as:

      class Example:

      @getter_setter
      def my_property(self, *value):
          if value:
              self._my_property = value[0]
          else:
              return self._my_property
      

      or EAFP style:

      class Example:
      
          @getter_setter
          def my_property(self, *value):
              try:
                  self._my_property = value[0]
              except IndexError:
                  return self._my_property
      

      Optionally, we could define two more decorators for getter only and setter only properties:

      def getter(func):
          def raise_attribute_error(*args):
              raise AttributeError("can't set attribute")
          return property(func, raise_attribute_error)
          
      
      def setter(func):
          def raise_attribute_error(*args):
              raise AttributeError("can't get attribute")
          return property(raise_attribute_error, func)
      
      

      Here is an example of a Circle class demonstrating the three decorators.
      radius can be used to get the radius and set the radius (thus updating the _area attribute)
      area can be used to get the area only. Setting will raise an error.
      diameter can only be used to set the radius. You can’t get it.

      Here is an implementation with getter_setter only:

      import math
      
      
      class Circle:
          def __init__(self, radius):
              self.radius = radius
              
          @getter_setter
          def radius(self, *value):
              if value:
                  self._radius = value[0]
                  self._area = math.pi * self._radius ** 2
              else:
                  return self._radius
                  
          @getter_setter
          def area(self, *value):
              if value:
                  raise AttributeError("can't set attribute")
              else:
                  return self._area
                  
          @getter_setter
          def diameter(self, *value):
              if value:
                  self.radius = value[0] / 2
              else:
                  raise AttributeError("can't get attribute")
      
      And if we use getter and setter as well:
      
      import math
      
      
      class Circle:
          def __init__(self, radius):
              self.radius = radius
              
          @getter_setter
          def radius(self, *value):
              if value:
                  self._radius = value[0]
                  self._area = math.pi * self._radius ** 2
              else:
                  return self._radius
                  
          @getter
          def area(self):
              return self._area
                  
          @setter
          def diameter(self, value):
              self.radius = value / 2
      posted in Pythonista
      upwart
      upwart
    • RE: Load PIL image in scene with retina resolution

      @mikael
      I just found out that if change the file format from PNG to BMP speeds up the animation significantly: from 4 to > 16 fps.

      posted in Pythonista
      upwart
      upwart
    • RE: Python 3.7 ?

      @ccc
      Dataclasses

      posted in Pythonista
      upwart
      upwart

    Latest posts made by upwart

    • RE: Install with stash in site-packages instead of site-packages-3

      Super. That works!

      posted in Pythonista
      upwart
      upwart
    • Install with stash in site-packages instead of site-packages-3

      I have noticed that stash install a package in site-packages-3, but I would like it to be installed in site-packages.
      How can I force stash pip install to install in site-packages.
      BTW. I am running stash v0.7.2

      posted in Pythonista
      upwart
      upwart
    • RE: Check dark mode

      Is there a possibility to set the background colour of the console?
      For the foreground (text), there's console.set_color, but I can't seem to find a function to set the background.

      posted in Pythonista
      upwart
      upwart
    • Check dark mode

      With the new Pythonista 3.3 (thanks Ole!), I ran into a problem with the Synchronator script, that I use regularly.
      The scripts hard codes the colour to be written text with as (0,0,0). As a solution I have just disabled the colour setting at all, so I can at least see what's going.
      But it would be nice if I could check the dark/light mode setting from Python.
      Or, maybe better yet, get the current theme colours.

      Would it be possible to force the console output to another theme?

      posted in Pythonista
      upwart
      upwart
    • Warning: Modules os, sys and shutil loaded by default.

      I just noticed that under Pythonista, it is not required to say
      import os,
      import sys or
      import shutil.
      That seems fine ... until you run the same script on another platform.

      So, be careful to import these modules explicitily in order to avoid problems when porting to another platform.

      posted in Pythonista
      upwart
      upwart
    • RE: No update?

      @cvp
      This absolutely briliant!

      posted in Pythonista
      upwart
      upwart
    • RE: No update?

      One of the mainstream UI packages (tkinter, PyQt, wxPython) please. Please!

      posted in Pythonista
      upwart
      upwart
    • RE: PyTo goes 3.8!

      @brumm
      Thanks.That's very useful.

      posted in Pythonista
      upwart
      upwart
    • PyTo goes 3.8!

      As much as I like Pythonista, we have to face the fact that there's no more development. Fortunately there's a very active, open source, Python environment for iOS/iPadOS called PyTo. And they have just released Python 3.8.
      Unfortunately I can't find a forum, like this one for that app. Is anyone aware of a user group or similar for PyTo?

      posted in Pythonista
      upwart
      upwart
    • RE: iOS 13

      And PyTo is open source, so even if the developer is not anymore supporting the product (like seems the case with Pythonista) others can continue the product (at least in theory).

      posted in Pythonista
      upwart
      upwart