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.
From PyPI:
$ pip install ped
Or, run it with pipx:
$ pipx run ped --help
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 vim with ped
export PED_EDITOR=vim
By default, 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/_ped
This was inspired by IPython's %edit
magic.
- Publish type information.
- Test against Python 3.8-3.12. Older versions of Python are no longer supported.
- Backwards-incompatible: Remove
ped.__version__
attribute. Useimportlib.metadata.version("ped")
instead.
- Set
PED_OPEN_DIRECTORIES=1
to open package directories instead of opening__init__.py
files. Thanks Alex Nordin.
Bug fixes:
- 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.
ped
can be run its own virtual environment separate from the user's virtual environment. Therefore, ped can be installed with pipsi or pipx.install_completion
script writes tostdout
and detemrmines script from$SHELL
.
- 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.
- Add
--info
argument 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.
ped pkg.subpkg
.