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.
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
If you're running Linux with systemd
installed, you can register Stallion as a service by copying stallion.service
and stallion
(both in contrib/systemd
) to /etc/systemd/system
and
/etc/conf.d
, respectively.
All standard systemd service management commands (e.g. systemctl enable
and systemctl start
) apply.
On Linux systems having Upstart you can set up Stallion as a service easily as follow.
-
copy
contrib/upstart/stallion.conf
to/etc/init/
-
make a symbolic link for it in
/etc/init.d/
:$ ln -s /etc/init/stallion.conf /etc/init.d/stallion
-
copy
contrib/upstart/stallion
to/etc/default/
$ sudo start stallion
$ sudo stop stallion
$ sudo status stallion
or
$ 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 /etc/default/stallion
.
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.
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:
- Firefox
- Google Chrome
- Internet Explorer 9/10
- Safari
- 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
- 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
- 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
Bug fixes
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.
Classifiers refactoring
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
http://www.apache.org/licenses/LICENSE-2.0
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.