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.
Time to release a new version to App Store
-
Thx. Fixed inline above.
-
-
import location, requests, speech loc = location.reverse_geocode(location.get_location()) city_country = "{City},{Country}".format(**loc[0]) print(f"Weather in {city_country}:") url = "http://api.openweathermap.org/data/2.5/weather?APPID=beb97c1ce62559bba4e81e28de8be095&q=" weather = requests.get(url + city_country).json() for key, value in weather.items(): print(f"{key}: {value}") speech.say(f"It is currently {weather['weather'][0]['main']} in {city_country}.")
-
@ccc if you want to use Siri shortcut, you can, instead of speech, use
shortcuts.set_spoken_output(f"It is currently {weather['weather'][0]['main']} in {city_country}.")
-
@lpl yes, for me this is ok and better than my ..."+city+"... thanks for advice
city = 'Waterloo,be' url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&APPID=beb97c1ce62559bba4e81e28de8be095"
-
@lpl ok yes you are right sometimes it is not possible to do something with current versions of some libs in Pythonista, the only thing I can suggest is to try searching alternatives in Python world, you should search for some pure-python libs that can help you about your specific task: trust me, in Python world someone thinks something, and it already exists at 99,999% (python is so famous...;-))
@cvp @ccc and many others, thanks that you continue to share useful info and propose code with which many other users can experiment!
Bye bye
-
@Matteo But the performance is terrible. Try lxml.
-
@lpl Hi, sorry but I don't know lxml library, never used it. But I'm agree with you that a c compiled library is faster than a pure python equivalent code. However I'm not completely agree with you about "terrible" performance. In my opinion I would consider with "terrible" performance a pure python code that runs for some hours instead of some seconds of an equivalent c compiled code. Which kind of test have you performed to state that the performance is terrible?
In other words, with practical example: let's suppose that an algorithm has time complexity O(n^3) and you write a pure python code and the equivalent C code that both execute the algorithm. Well, based on the input (that, simplifying, can be 10kbyte, 100 kbyte, 1000 kbyte and so on), how much time the execution of the pure python code costs compared to the C one if both are executed on same machine and in the same conditions (machine with same X% free RAM and CPU power)?
Thank you
Bye -
@lpl What exactly are you trying to do in Pythonista where XML performance is a showstopper? It would be good to have real world use cases to use in trying to convince Apple to be more reasonable in its app reviews.
-
@Matteo Try cchardet https://github.com/PyYoshi/cChardet/blob/master/README.rst . 0.37 call/s VS 1467.77 call /s ≈ 1/3600
-
@ccc How about Pandas?
-
I am afraid that I do not understand. Pyto has Pandas but not lxml. What is the use case?
-
For chardet, if the use case is in
requests
, one can set r.encoding manually (for instance, for repeated messages where you know encoding won't change), and just bypass chardet altogether.For lxml, as has been discussed, apple won't allow it, unless the dev completely refactors lxml and it's dependencies to use non-private api names.
Pandas been discussed a lot, and you ought to know not to depend on it soon inside pythonista. (I wonder: does pyto yet support url schemes/shortcuts? Pythonista IDE + Pyto as an "engine" might support the workflow of people who prefer the pythonista user interface, but want pandas or compile their own app with modules of their choosing.)
-
Let’s see if https://github.com/lxml/lxml/pull/281 sparks any solutions...
-
@ccc Pandas is the most popular tool to analyse data. https://pandas.pydata.org/
-
@JonB Sorry but I'm using aiohttp. And for most of us, we don't set r.encoding manually, unless we are sure that chardet can't detect rightly.
-
I know what Pandas is but my question was about lxml, not Pandas.
-
-
No one is questioning that lxml is superior. But Apple's app store forbids it. Email apple with your complaint.
-