Giter VIP home page Giter VIP logo

pyzo's Introduction

Pyzo - The Interactive editor for scientific Python

PyPI Version CI

Website: pyzo.org

Description

Pyzo is a cross-platform Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing. Its practical design is aimed at simplicity and efficiency.

It consists of two main components, the editor and the shell, and uses a set of pluggable tools to help the programmer in various ways. Some example tools are source structure, file browser, interactive help, workspace ...

Pyzo is written in (pure) Python 3 and uses the Qt GUI toolkit. Binaries are provided for all major operating systems. After installing Pyzo, it can be used to execute code on any Python version available on your system (Python 2.4 - 3.x, including PyPy).

Installation

Pyzo runs on Python3 and needs one of the following Qt bindings: PySide2, PySide6, PyQt5, PyQt6. On a modern OS these should be easy to obtain. One can then install Pyzo with python3 -m pip install pyzo

We also provide binaries for Windows, Linux and MacOS.

License

Pyzo is free and open source, licensed under the 2-clause BSD.

Contributions

If you want to help out, create an issue or pull request on GitHub.

More information

pyzo's People

Contributors

adddvent avatar afourmy avatar almarklein avatar bdieterm avatar be-we avatar cottsay avatar diti24 avatar erik-helmers avatar filman230 avatar flame51 avatar ghisvail avatar gijsvanoort avatar hlabrand avatar hudcap avatar jamuelle avatar kelsa-pi avatar l33tlinuxh4x0r avatar lcerman avatar lcvisser avatar lsignac avatar rreilink avatar sebj avatar snarkturne avatar spaak avatar ssoel avatar stonebig avatar tontyna avatar windelbouwman avatar yltang52 avatar ysalmon 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

pyzo's Issues

IEP startup fails if files cannot be found

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #27, reported by [email protected]

If IEP cannot find a file (i.e. if an removable medium was removed), it does not start but finsihes with an exception that a file cannot be loaded.

The only way to start IEP is removing the particular paths from config.ssdf.

Proposal:
a) Ignore files which cannot be loaded and startup IEP (suboptimal)
b) Report the failing files to the user and startup IEP (preferred)


Add startmenu shortcuts in Windows installer

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #37, reported by [email protected]

What steps will reproduce the problem?

  1. Install from iep-2.3.win32.exe

What is the expected output? What do you see instead?
Expect start menu entries to run iep

No entries added

What version of the product are you using? On what operating system?
iep 2.3 win32
Windows 7, 64 bit

Please provide any additional information below.


Evaluate selection [enhancement]

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #42, reported by [email protected]

Small enhancement proposal: would it be possible to add the 'Evaluate selection' function (as found in MATLAB, F9)?

Currently, F9 performs the 'Run selected lines' functions, which is something slightly different. Especially when debugging nested function calls, it can be very useful to select terms and evaluate with one keypress.


Cannot inherit from Hijacked Qt Application

Originally reported by: rreilink (Bitbucket: rreilink, GitHub: rreilink)


Imported from iep.googlecode.com issue #35, reported by [email protected]

What steps will reproduce the problem?
Enable Qt4 eventloop integration

From PyQt4 import QtGui

class App(QtGui.QApplication):
def init(self,_args,__kwds):
QtGui.QApplication.init(self,_args,**kwds)

What do you see instead?
Traceback (most recent call last):
File console, line 1, in module
TypeError: init() takes exactly 1 positional argument (4 given)


Small zooming issue

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #40, reported by [email protected]

Version info:
IEP 2.3 (release or current hg)
Windows XP SP3

I got a strange behaviour when zooming with Ctrl/numpad+.
Ctrl/- and Ctrl/numpad- : smaller size in all editor/shell
Ctrl/+ : bigger size in all editor/shell
Ctrl/numpad+ : bigger size in the current editor only

It seems the first 3 shortcuts work well, i.e. they change the zoom level visually and internally, so that if you use any combinations of those keys many times to zoom in and out, it behaves as expected.
But Ctrl/numpad+ has a problem since it works only locally and does not change the internal zoom level.
To see it in action, let's say you have zoom level X in all editors, you can then Ctrl/numpad+ many times in the same editor, followed by one Ctrl/- and you will see the zoom level set to X-1 in all editors.

I've failed to find a solution in the source, sorry.
But I found that trying to define a custom shortcut using the numpad keys gives some troubles: the keys detected are wrong, for example Ctrl+numpad1 is seen as Ctrl+A and so on. But maybe I should report this in another issue.


Remote shells (via network)

Originally reported by: Almar Klein (Bitbucket: almarklein, GitHub: almarklein)


Imported from iep.googlecode.com issue #4, reported by [email protected]

Since IEP communicates with its shells via a socket, it is possible to run and control shells on another computer. However, this would need quite a bit of infrastructure (the remote host needs a kind of server that creates iep-shell-processes on requests).

Such functionality would also open doors to parallel computing, maybe dividing tasks over multiple shells ... etc.


Proposal for an IDLE-like style

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #13, reported by [email protected]

idle = dict:
basedon = 'python'
s001 = 'fore:#e80000' # STC_P_COMMENTLINE
s004 = 'fore:#00aa00' # STC_P_CHARACTER
s005 = 'fore:#ff773a' # STC_P_WORD
s006 = 'fore:#00aa00' # STC_P_TRIPLE
s007 = 'fore:#00aa00' # STC_P_TRIPLEDOUBLE
s008 = 'fore:#3a3aff' # STC_P_CLASSNAME
s009 = 'fore:#0000ff' # STC_P_DEFNAME
s010 = 'fore:#000000' # STC_P_OPERATOR


IEP can become unresponsive when using the "open" magic command

Originally reported by: Almar Klein (Bitbucket: almarklein, GitHub: almarklein)


Imported from iep.googlecode.com issue #9, reported by [email protected]

What steps will reproduce the problem?
run the open command on a module-name, right after invoking
autocompletion (but before it is shown)

What is the expected output? What do you see instead?
IEP hangs.

Please use labels and text to provide additional information.
The cause is that IEP requests the kernel for information about the
name, but because another request is done right after that, the response
is not synced and IEP waits forever.


Limited output while running tests

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #23, reported by [email protected]

If I run a unit test via F5 or Ctrl F5, I get only a limited feedback from the shell. Even if a test fails, IEP simply says:

[executing filename-here.py]

The module defines:
if name == 'main':
from test import test_support
test_support.run_unittest(TestUnitTestHere)

In IDLE I'd see:

FAIL: test_keys_by_value (main.TestBaseUtils)

Traceback (most recent call last):
File file, line xx, in test_keys_by_value
self.assertFalse('k3' in res)
AssertionError

Traceback (most recent call last):
File file, line xx, in module
test_support.run_unittest(TestBaseUtils)
[...]
AssertionError


Cursor is placed a little of, especially close to the end of long lines

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #28, reported by [email protected]

What steps will reproduce the problem?

  1. Running iep on mac
  2. The cursor does not appear in the correct place. It is displaced a to the left, and it gets worse the longer to the left the cursor is (close to the end of long lines). It seems like the character size and the movement of the cursor don't match.

With lines around 80 characters, the error can be an offset error of one character width, or more at the end of the line.

I'm using the lates Mac build, iep-2.3.macosx10.6-universal.dmg.

My default python is Python 2.6.4 |EPD 6.1-1 (32-bit)| (r264:75706, Dec 11 2009, 10:58:54)


Running a script that is in a path containing non-ascii characters, the shell raises UnicodeEncodeError

Originally reported by: Almar Klein (Bitbucket: almarklein, GitHub: almarklein)


Imported from iep.googlecode.com issue #38, reported by [email protected]

What steps will reproduce the problem?

  1. Create a directory called for example hélo
  2. Create a python script file in it
  3. Run that file in iep.

What is the expected output? What do you see instead?
You would expect the script to run. Instead:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 22: ordinal not in range(128)


Checkmark indicators in Tools menu do not match status of the tool

Originally reported by: lcvisser (Bitbucket: lcvisser, GitHub: lcvisser)


Imported from iep.googlecode.com issue #36, reported by ludo.visser

What steps will reproduce the problem?

  1. Open any tool that is not yet open, by selecting it from the tool menu. A checkmark appears.
  2. Close the aforementioned tool via the cross mark in the top right of the tool. Checkmark stays in menu.
  3. Reopen tool via Tool menu. Checkmark disappears, but Tool is opened.

What is the expected output? What do you see instead?
The checkmark should reflect the status of the tool.

What version of the product are you using? On what operating system?
iep-dev (367:8fd871aad84f)


Enhanced project context menu

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #15, reported by [email protected]

It would be nice if the items

  • New file (in project)
  • Open file (in project)

would be part of the context menu even if the user clicks at one of the files within the project:

+-----------------------+
| Save file |

[...]
New file (in project)
Open file (in project)
+-----------------------+

Rationale: Clicking at one of the project files is easier than clicking at the project header.


Don't save is the default option

Originally reported by: rreilink (Bitbucket: rreilink, GitHub: rreilink)


Imported from iep.googlecode.com issue #33, reported by [email protected]

What steps will reproduce the problem?
Create a new file or modify a file, Quit / Restart IEP

What is the expected output? What do you see instead?
On Mac OS, 'Don't save' is the default in the dialog that asks wether or not to save, while 'Save' should be the default


Project manager filter ignored on start-up

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #41, reported by [email protected]

A minor correction to force a refresh on start-up in the project manager file list.

Just add a call to self.filterChanged() at the end of
class IepProjectManager.init() method,
or connect the corresponding signal before setting the filter value, i.e.
call
self.filterPattern.setText(self.config.filter)
after
self.filterCombo.editTextChanged.connect(self.filterChanged)

This is work in progress, but if it can help...


iep-32bit-bin-ubuntu-10.10-nothing-happens

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #24, reported by [email protected]

after unpacking to my home folder under ubuntu 10.10, double-click the file named iep, nothing happens.

the package for this issue is:
iep-2.3.linux32.ubuntu.tar.gz

the reason is, newly installed ubuntu (for me, i am using 10.10 gnome, livecd edition, so there is only python 2.6 there), needs additional packages,

for me, they are:
qt 4.7(use synaptic to find qt4-qtconfig, it will help you to deal with all the dependencies, for now it is part of qt 4.7 in ubuntu 10.10 repos/sources)
pyqt 4.7(use synaptic to find python-qt4, it will help you to deal with all the deps too.)
qscintilla 2.4 (search this, python-qscintilla2, synaptic will help you dealing with dependencies.)

as your know, using bin edition is convenient, just that ubuntu's repo contains tons of stuff pre-compiled as deb, easy to install, you don't have to waste hours on compiling, what is a big head-ache for newbies.

and, because i use the binary of iep, and i just need python 2.x, so python 3 is not necessary. run iep again, it works!

i guess, you need to upgrade your wiki for the binary edition installation parts.

thx for all the effort from the author of this tool. it is great.


on Mac: characters inside a selection are of a different width (and the cursor is placed a little off)

Originally reported by: Almar Klein (Bitbucket: almarklein, GitHub: almarklein)


Imported from iep.googlecode.com issue #6, reported by [email protected]

(On Snow Leopard)

Also the cursor is sometimes shown on a different location then where it really is.

This is a bug of Qscintilla, so there's no way we can fix this ourselves.

I'm considering rebuilding the editor component from basic Qt widgets. This will take a lot of work though ...


Debugging using breakpoints and line-by-line stepping

Originally reported by: Almar Klein (Bitbucket: almarklein, GitHub: almarklein)


Imported from iep.googlecode.com issue #1, reported by [email protected]

Posting enhancement. I plan to implement this some day, but I personally feel that post-mortem debugging is sufficient in most situations. Therefore a low priority initially; priority might increase if many users are really interested in this enhancement. I expect it to be quite a bit of work though.


Does IEP follows Python Unicode version?

Originally reported by: Anonymous


Imported from iep.googlecode.com issue #50, reported by [email protected]

hi,
am sorry for asking this dumb questin;
i'm usig python 2.7, and from the help, they said that 2.7 is compatible with Unicode 5.2.0 (from the unicodedata module http://docs.python.org/library/unicodedata.html )
and when i made some tests in IEP with araic it worked good, in IDLE it dident show! so because IEP is made using Python 3 displays it?
so my question is, there is a special characters, it's called Tifinagh, and it's how native Maghreb Berber write, it's added in Unicode 4.1, but when i've tested it (with the font downloaded, and this font is a unicode font) it dident show, but the it returned the unicode code !!!
here is how the code is:
http://en.wikipedia.org/wiki/Tifinagh
and here is the fonts used:
http://www.ircam.ma/fr/index.php?soc=telecrd=3
so is it a way to display all unicode 4.1 characters?


GTK+ theme not available when using the binary version for Linux (on Linux Mint 9)

Originally reported by: Almar Klein (Bitbucket: almarklein, GitHub: almarklein)


Imported from iep.googlecode.com issue #10, reported by [email protected]

... and the fonts are not nicely anti-aliased.

I saw this problem when I downloaded the binaries for Linux to my laptop running Linux Mint 9. All is good when I run the source though.

I'm looking into this. I think it's because the standard version of GTK on CentOS is below 2.1 (which is required for the GTK theme in QT).


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.