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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 2Python 3

File details

Details for the file pypear-0.0.20.tar.gz.

File metadata

  • Download URL: pypear-0.0.20.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for pypear-0.0.20.tar.gz
Algorithm Hash digest
SHA256 52054af1dedc8d81594a2fd5413c5dfd2c73801fe1e76e845c5dbe01280b7062
MD5 d5f0f22be29489aa8434147fe14d1311
BLAKE2b-256 5bea76d48cb6a28e9a07f834d8bad94b1147dfd915c41377e6bcb9f242bcaffc

See more details on using hashes here.

File details

Details for the file pypear-0.0.20-py2.py3-none-any.whl.

File metadata

  • Download URL: pypear-0.0.20-py2.py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for pypear-0.0.20-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9d254bf0663152f04d57532851c86dcbb4e67b29e3c5328c074c9a8b879fea14
MD5 725e8fc23f822111eb9ff8c752a283e5
BLAKE2b-256 cab938e479ba8f43e4b1fa09bed5491d5a0fdc3e25b88d0b8cf6e029ed961e29

See more details on using hashes here.

Supported by

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