Skip to content

perone/stallion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stallion

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.

Screenshots

Screenshot: The home

The home

Screenshot: Installed package information

Installed package information

Screenshot: Package metadata

Package metadata

Screenshot: Check PyPI for updates available

Updates

Updates

Updates

Screenshot: the 'plp' (Python List Packages) utility

Updates

Updates

Updates

Updates

Updates

Updates

Updates

Updates

Updates

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.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.

Installing as an Upstart service

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/

Service management

$ sudo start stallion
$ sudo stop stallion
$ sudo status stallion

or

$ sudo service stallion start
$ sudo service stallion stop
$ sudo service stallion status

Service customization

You can customize the host and port the stallion service will be listening on by editing the file /etc/default/stallion.

Using Stallion

You only need to call the script (the -w option will automatically open your browser):

$ stallion -w

Using plp

$ 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

Requirements

Stallion uses the following external projects:

Flask

A microframework based on Werkzeug, Jinja2 and good intentions

Twitter Bootstrap

HTML, CSS, and JS toolkit from Twitter

docutils

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.

Compatibility

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)

Supported browsers

Stallion is compatible with:

  • Firefox
  • Google Chrome
  • Internet Explorer 9/10
  • Safari

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

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.

Reporting bug

Open an issue in Github with the traceback. To get the traceback, you'll have to run Stallion in debugging mode:

$ stallion -drvi

License

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.

Contributors

See the Contributors.

Links

Project Site - Github