Quickly open Python modules in your text editor.
$ ped django $ ped django.core.urlresolvers $ ped django.views.generic.TemplateView # Partial name matching $ ped django.http.resp Editing django.http.response... ...Done. # Specify which editor to use $ PED_EDITOR=vim ped django.shortcuts
ped will find your modules in the currently-active virtual environment.
Get it now
$ pip install ped
Or, run it with pipx:
$ pipx run ped --help
Changing the default editor
ped will try to use your favorite text editor. If you want to override the editor
ped uses, set the
PED_EDITOR environment variable.
# .zshrc or .bashrc # Use Sublime Text with ped export PED_EDITOR=subl
ped will open
__init__.py files when a package name is passed. If you would rather open the package's directory, set the
PED_OPEN_DIRECTORIES environment variable.
# .zshrc or .bashrc # Open package directories instead of __init__.py export PED_OPEN_DIRECTORIES=1
The ped package contains tab-completion scripts for bash and zsh. Place these files in your system's completion directories. The
ped.install_completion module can be run as a script to output the files to a given location. It determines the correct completion file from the
$SHELL environment variable.
To install bash completion, run:
# The path given here will depend on your OS $ python -m ped.install_completion > /usr/local/etc/bash_completion.d
To install zsh completion, run:
# The path given here will depend on your OS $ python -m ped.install_completion > /usr/local/share/zsh/site-functions
This was inspired by IPython's
PED_OPEN_DIRECTORIES=1to open package directories instead of opening
__init__.pyfiles. Thanks Alex Nordin.
- Properly handle imports that don't correspond to a file.
- Drop support for Python 2.7 and 3.5. Only Python>=3.6 is supported.
pedcan be run its own virtual environment separate from the user's virtual environment. Therefore, ped can be installed with pipsi or pipx.
install_completionscript writes to
stdoutand detemrmines script from
- Test against Python 3.7.
Note: This is the last version to support Python 2.
- Minor code cleanups.
- Test against Python 2.7, 3.5, and 3.6. Support for older versions is dropped.
- Support tab-completion in bash and zsh. Thanks Thomas Kluyver.
--infoargument for outputting name, file path, and line number of modules/functions/classes.
- Fix: Support line numbers in gvim.
- If a class or function is passed, the editor will open up the file at the correct line number (for supported editors).
- Fix for Py2 compatibility.
- Add partial name matching.
- Add support for editing functions and classes.
- Fix for editing subpackages, e.g.