Code Monkey home page Code Monkey logo

pythonista-issues's People

Contributors

omz avatar zrzka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pythonista-issues's Issues

Git diff support

The editor should have a way of telling changes using git (though using git is something you have to figure out yourself.)

Custom file extensions for plain text files

When creating a new file with the "Plain Text" template, and entering a name that includes an extension (like .csv for example), that extension should probably be preserved instead of replacing it with .txt.

CFFI for Pythonista

https://cffi.readthedocs.io/

CFFI is an interface between Python and C - like ctypes, only better and easier to use. CFFI is largely written in pure Python, so it is possible to use CFFI with ctypes as a backend (which I've been doing for a while) but this is not officially supported. The native C backend is the officially supported way of using CFFI, and it provides some features that the ctypes backend doesn't have, such as caching parsed data type/variable/function definitions. And the native backend is probably faster than the ctypes backend.

Force a script to stop

Could we have a way to forcibly terminate a script, even if it's catching KeyboardInterrupt exceptions? I've encountered scripts in the wild that are almost impossible to stop from Pythonista.

This could, perhaps, be activated via a long press on the [x] button.

Autocomplete matplotlib crashes with py2 interpreter

the python 2 interpreter in pythonista 3 crashes when autocompleting matplotlib commands from the editor.

#!python2
import matplotlib.pyplot as plt

Saving the file, reopening it, the.
typing plt. on the next line causes a very long wait while matplot lib is i ported by jedi. Finally, when jedi is done importing, pythonista crashes, Segmentation fault, the uncaughtexceptionhandler does not return anything.

Dialogs - present support as well as editor.present_theme

I just think any Libs you create such as dialogs should be presented using the present func/method. Of course I think you should be able to use the new editor functions as present theme. I am guessing that these methods will be included into the present function at sometime.

editor module needs better support for editor tabs

At the moment the editor module's tab support is very limited - the make_new_file and open_file functions take a new_tab argument, but there is no way to manage tabs in any other way. What should be possible:

  • Getting a list of all open tabs and operating on them individually. Maybe an editor.get_tabs function that returns a list of Tab objects, which have functions of the editor module as methods that operate on that tab instead of the default one, such as get_path, get_text, annotate_line, etc.
  • Getting the currently active tab as a Tab object.
  • Moving and closing tabs programmatically.

Some modules don't show in the auto-complete

In Pythonista 3 (and 2 I think) some modules do not show up in auto-complete in the editor, but they will show up in the console.

I don't know which modules. I only noticed this when trying to import pygments before.

Compare:
image

Verses:
image

Size of code completions can be off when using non-default editor font

When using an external keyboard, the code completions always use the standard "Menlo" font, but their size adapts to the default (user-selected) editor font, which can lead to rows in the completion list being too large or text being truncated, if the editor font has significantly different metrics.

Multiple documentation and web browser tabs

Links in the documentation and web browser should have an "Open in New Tab" option when long-pressed. And if a web browser tab is already open, webbrowser.open should make a new tab instead of replacing the existing one. (Or maybe this should be controlled by a keyword argument like with editor tabs.)

ate supported

>>> import notification
>>> help(notification.schedule)
Help on function schedule in module notification:

schedule(message, delay=0, sound_name=None, action_url=None)
    Note: Sounds from the 'digital' and 'game' collections ate supported

Out[0] = None

(sorry about the nitpicking :))

Using Ionicons images in scene module may crash Pythonista 2.1

From this forum thread: https://forum.omz-software.com/topic/3233/v2-0-vs-v2-1-hard-crash-using-reserved-var-names

Going forward to 2.1 from 2.0, I have a bunch of "hard crashes" (direct go back to ios, no error, no message) when using certain var names in my scripts (working on 2.0)

I had tracked the issue and discovered that vars names like "self.target" in scene produce 100% the crash, but using "self.Target" works.
[...]
It looks like to crash only if files had been created with 2.0 using the Game/Animation template. If the file is created with 2.1 with the template it works.

If the file is edited using Sublime Text on Mac, it works after transfer (via drop box) on iPhone
[...]
Minimal example that also crashes 2.1:

import scene
class MyScene(scene.Scene):
    def setup(self):
        self.target = scene.SpriteNode('iob:alert_circled_256', parent=self)
if __name__ == '__main__':
    scene.run(MyScene(), show_fps=False)

Scipy for Pythonista

The scipy library is a scientific computing library for Python. It integrates nicely with numpy, which is already included in Pythonista.

Including scipy with Pythonista would mean we'd have all the dependencies in place for the easy inclusion of lots of really powerful libraries like:

Some standard documentation sections are not included

https://forum.omz-software.com/topic/2747/python-3-x-progress-update/271

a few useful sections of the Python docs are included, but not easily accessible, i. e. you need to use search or the global index to get to them.

  • Complete Table of Contents - this alone would be enough, then everything would be accessible.
  • Python HOWTOs - this includes things like porting to Python 3 and Unicode which are useful for people new to Python 3, but also some generally useful tutorials.
  • FAQs - needless to say, those are always good to have.
  • Things related to Python's C API - some things are included, some aren't. Of course those aren't of interest to the average user, but definitely useful to the non-average user trying to call the Python 2 API from Python 3 and such. :) As mentioned above, if the TOC were linked from the main page of the docs, then this would also be accessible without needing to clutter up the main page.

File browser in dialogs

We discussed a Pythonista file picker a while ago in this forum thread.

@omz said:

I think this could be a useful addition to the dialogs module.

Then you came up with an awesome solution to this, but I don't think it ever got added to the dialogs module. Could you add this to dialogs?

Examples contain widget scripts, but widget is gone

The Examples folder still contains examples of using the Notification Center widget, even though the widget was removed in the release version (for those not familiar: it was a feature that was beta-tested, but there were too many stability issues with it).

File browser tabs

The file browser should have some kind of tabbing support. At the moment it's kind of annoying to work in multiple directories at once, because you need to "walk" the entire way between them by hand. Having tabs in the file browser "sidebar" might not be that useful because there's so little space, so maybe there should be a way to open a folder in a normal editor tab.

ui.TableView presented as panel crashes upon close

Pythonista 3.0 (300018)
iOS 8.4.1 (32-bit iPad3,3)

ui.TableView().present('sheet')

followed by closing the tab results in a crash

Objective-C exception details:

NSInvalidArgumentException: -[SUITableView_PY3 willDismiss]: unrecognized selector sent to instance 0x163ba800

Show file extension for user made templates

App Version: Pythonista 3 (300018)
If you create two files with the same name just different extension, example is Test.py and Test.txt

They appear in the My Template section of the new file screen as the same name so you don't know which one is which.

image

Is it possible to show file extensions in the file screen? Either as test.py or the file extension as the detail line of the cell just below to main label?

No completions appear for name/attribute _

When typing _ as a name or attribute, the completion list disappears, even if there are names/attributes that start with _. Other combinations, such as __, work fine.

Warning before opening large files

The editor takes a while to load large files, and it has some performance issues with very long lines. There should perhaps be a warning before opening a file that either exceeds a certain size, or has at least one line longer than a certain number of characters.

When changing the name of a function in an existing function call, autocompletion should not add extra parens

https://forum.omz-software.com/topic/2747/python-3-x-progress-update/362

when editing an already typed line, the autocompletion often inserts extra parens before an existing function call. For example, say I have this line of code:

mylist.append("foo")

Then I decide I want to use insert instead. I double-tap append, type ins, and hit Enter Tab to accept the suggestion. The output I get is

mylist.insert()("foo")

In this case I would expect it to detect the existing parens and not add extra ones.

Python 2 should be updated at some point

Pythonista uses 2.7.5 (released on 2013-05-15), the current latest version is 2.7.11 (released on 2015-12-05), and 2.7.12 is coming soon (planned on 2016-06-25, that's next week!). Might be good to update to 2.7.12 once that comes out.

Date placeholders in user templates

It would be nice to allow placeholders for the current date/time in user-created file templates.

I'm not sure how exactly this should be implemented (i.e. what format to use for different date formats etc.), or if there are things other than the current date that should be considered as possible placeholders in templates.

Cryptography support

Support for cryptography would be nice so we can work with higher level encryption methods that are easier to use and secure unlike Crypto which is only low level. Also this gives us the ability to use PyOpenSSL for working with certificates.

Standard streams need isatty and fileno methods

sys.stdin, sys.stdout and sys.stderr do not have isatty or fileno methods, which are required by some command-line scripts. isatty should probably return True (the console is interactive and has limited terminal-like features) and fileno should return 0, 1 and 2 respectively (the file descriptors of the real standard streams).

OpenCV for Pythonista

It'd be awesome if OpenCV could be compiled for Pythonista. There are existing Python bindings in the cv2 module, and also Objective-C bindings. I don't know how difficult it would be to get this working on Pythonista, but it would certainly allow for some impressive applications.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.