Skip to main content

Terminal based python development

Project description

:pie::pear:pypear: Terminal based python development.

BUILD

Motivation: How does a python developer streamline test driven development with only an ssh connection?

Installation: Caution this is a work in progress. The following command will install the vim plugins under the ~/.pypear/plugins/vim/ folder.

pip install pypear
pypear #installs plugins in the ~/.pypear folder

There are many great tools available for python development. This set of tools was collected to streamline test driven development through just a terminal and a simple pip install. (Future: Would like to have this available from conda-forge)

Visual Studio Code Remote Development plugins are excellent and are likely to be a better choice in most cases. However, the simplicity of workflow possible with this collection of tools is impressive and should not be overlooked. As with any tool it comes at the cost of learning to use the tools properly.

Terminal Multiplexing / Session Management / Pair Programming Support

tmux: Terminal multiplexer running on server size, supports pair programming and session suspension.

Text Editing

vim (or Neovim): Vim is everywhere and is very usable over connections of any speed. Vim8 is recommended. Neovim because I like it. :)
Vundle: vim plugin manager (just because it works)

Version Control

git: the only way to configuration manage code.
vim-fugitive: vim git plugin so good it should be illegal
vim-gitgutter: vim git gutter plugin
nerdtree: vim enhanced file explorer plugin
nerdtree-git-plugin: vim git enhancement for file explorer plugin
pre-commit: framework for managing hooks for pre-commit actions
pre-commit-hooks: commonly used pre-commit hooks

Linting

ale: vim code linting for many languages plugin
flake8: python linting
autopep8: automatic pep8 formating (pre-commit linting)

Searching

ctags: enables simple navigation of large or small code bases within vim.
ctrlp: fuzzy file search (interested in better alternatives)

Testing

pytest: the "best" python testing framework.
pytest-vim-compiler: pytest compiler
vim-dispatch: enables asyc test and command running with tmux

Themes (Because it should be attractive)

vim-airline: Vim theme
vim-airline-themes: airline themes
tumxline: Coordinates tmux theme with vim theme
promptline: Coordinates prompt theme with vim theme

Cheat Sheets

tmux:
vim:

TODO

  1. Add good cheatsheet links
  2. Build autodocs based on plugin documentation
  3. conda-forage installation
  4. neovim conda-forge installation
  5. pypear vim documentation
  6. offline pre-commit configuration

Contribution

I don't intend to put a lot of effort into this packages, but completely willing to collaborate with others. If anyone knows of a better meta package that I could support rather than rolling my own let me know.

License

MIT

All plugins retain existing licences: Vim, MIT, Apache 2.0, Public Domain (WTFPL)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypear-0.0.20.tar.gz (2.4 MB view hashes)

Uploaded Source

Built Distribution

pypear-0.0.20-py2.py3-none-any.whl (2.4 MB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page