Installation
============
How to Install
--------------
Use `Python pip `_ to install **project-system**.
::
pip install project-system
To install for all users of the system, use sudo:
::
sudo pip install project-system
Requirements
------------
**project-system** requires other software in order to function.
virtualenvwrapper
^^^^^^^^^^^^^^^^^
`virtualenvwrapper `_ is used to manage Python virtual environments.
::
pip install virtualenvwrapper
Optional Support
----------------
**project-system** benefits from the support of several optional packages.
Tmux
^^^^
To get the most from project-system, use `tmux `_.
To install ``tmux`` on Debian-like systems:
::
apt install tmux
Tab Completion
^^^^^^^^^^^^^^
The ``project-workon`` script can auto-complete the names of projects.
Shell support for either ``bash`` or ``zsh`` must be installed for tab completion to work correctly.
To install completion scripts:
::
mkdir ~/.completion.d
project-completion-init
Now the ``project-workon`` script supports auto-completion of projects by name.
Ensure ~/.bashrc contains the following:
::
for bcfile in ${COMPLETION_PATH}/* ; do
[ -f "\$bcfile" ] && . \$bcfile
done
Diamond-Patterns
^^^^^^^^^^^^^^^^
**project-system** is designed to work with `Diamond-Patterns `_, which is installed with ``pip``:
::
pip install diamond-patterns
The natural way to start a new project is:
::
project-new my-new-article
diamond pattern article
Here, ``article`` can be replaced with any of the available patterns. Read the `Diamond-Patterns `_ documentation to learn more.