Stallion is a Python Package Manager interface created to provide an "easy-to-use" visual and also a command-line interface for Pythonistas. Today we have many nice distribution utilities like pip, distribute, etc, but we don't have a nice visual approach to inspect current installed packages, show projects metadata, check for PyPI updates, etc.
Screenshot: The home
Screenshot: Installed package information
Screenshot: Package metadata
Screenshot: Check PyPI for updates available
Screenshot: the 'plp' (Python List Packages) utility
How to Install
Installing using pip:
$ pip install stallion
Upgrading using pip:
$ pip install --upgrade stallion
or using easy install:
Installing using easy_install:
$ easy_install stallion
Upgrading using easy_install:
$ easy_install -U stallion
Installing as a systemd service
If you're running Linux with systemd
installed, you can register Stallion as a service by copying
stallion (both in
All standard systemd service management commands (e.g.
systemctl enable and
systemctl start) apply.
Installing as an Upstart service
On Linux systems having Upstart you can set up Stallion as a service easily as follow.
make a symbolic link for it in
$ ln -s /etc/init/stallion.conf /etc/init.d/stallion
$ sudo start stallion $ sudo stop stallion $ sudo status stallion
$ sudo service stallion start $ sudo service stallion stop $ sudo service stallion status
You can customize the host and port the stallion service will be listening on by editing the file
You only need to call the script (the -w option will automatically open your browser):
$ stallion -w
$ plp --help Stallion - Python List Packages (PLP) Usage: plp list [--compact] [<filter>] plp show <project_name> plp check <project_name> plp scripts [<filter>] plp (-h | --help) plp --version Options: --compact Compact list format -h --help Show this screen. --version Show version.
Setting a development environment
Developers can setup a development environment using the "develop" command from setuptools:
$ python setup.py develop $ stallion
Stallion uses the following external projects:
A microframework based on Werkzeug, Jinja2 and good intentions
HTML, CSS, and JS toolkit from Twitter
Docutils is an open-source text processing system for processing plaintext documentation into useful formats, such as HTML or LaTeX.
Jinja2 (Flask requirement)
The Jinja2 template engine
Werkzeug (Flask requirement)
A flexible WSGI implementation and toolkit
Simplejson (If you use Python 2.5)
Simple, fast, extensible JSON encoder/decoder for Python
docopt (used by plp)
Command-line interface description language
colorama (used by plp)
Cross-platform colored terminal text.
Stallion is compatible with:
- Python 2.5
- Jython 2.5.2
- Python 2.6
- Python 2.7
- PyPy 1.7 (and possibly older versions too)
Stallion is compatible with:
- Google Chrome
- Internet Explorer 9/10
What's new in release v0.5 (unreleased, under development)
- Added instructions and example to use upstart (thanks to Thomas Léveil and Roman Gladkov)
- Added instructions and example to use systemd (thanks to Doug)
- Fixed a bug when the metadata information for classifiers isn't present
What's new in release v0.4
- Introduced 'plp' (Python List Packages)
- Added the command 'list' for plp
- Added the command 'show' for plp
- Added the command 'check' for plp
- Added the command 'scripts' for plp
- Added 'Console Scripts' section into the distribution info at the web frontend
- Added the 'Console Scripts' global section on the web frontend
- Added new font type for the web frontend
What's new in release v0.3
- Bug fixes, tests, CI with Travis CI
- Update to latest Twitter Bootstrap version 2.3.0
- Added a sample launchd plist for managing Stallion on Mac OS X
- Added a console_scripts entry point for "stallion"
- Added -w (--web-browser) option to open a web browser to Stallion
- Python 3 compatibility fixes
- PEP8 fixes
What's new in release v0.2
Lot's of bugs were fixed:
- Unicode problem (https://github.com/perone/stallion/issues/15) - Python 2.5 compatibility (https://github.com/perone/stallion/issues/12) - Ignored explicit port (https://github.com/perone/stallion/issues/6) - Internet Explorer 9 compatibility (https://github.com/perone/stallion/issues/4) - Jinja2 version dependency (https://github.com/perone/stallion/issues/1) - Other small fixes
Global checking feature
Many people asked for a global version updates checking, now you have this feature under the menu "PyPI Repository". This option is going to check updates for all your packages. A new icon will appear on the sidebar packages menu warning in case of a new available update.
The classifiers of the package are now visually different.
Open an issue in Github with the traceback. To get the traceback, you'll have to run Stallion in debugging mode:
$ stallion -drvi
Copyright 2011 Christian S. Perone
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
See the Contributors.