This project is a fork of the zeroinstall.git project. If you have that one already cloned locally, you can use
git clone --reference /path/to/your/zeroinstall.git/incarnation mirror_URL
to save bandwidth during cloning.
homepage URL
repository URLgit://
last changeSat, 20 Aug 2011 16:30:18 +0000 (20 18:30 +0200)
last refreshTue, 1 Dec 2015 23:07:32 +0000 (2 00:07 +0100)
content tags
Zero Install

Copyright Thomas Leonard, 2010


The 0launch command can be used to run a program, by giving it the program's
full name (a web address or "URL"). It does not need to be installed or run as
root. It does not write to any shared directories (like /usr/bin or /usr/lib).
It stores downloads in a cache directory so that you don't need to download
anything twice, and programs can still be used when you are off-line.

A complete program is made up of many different components, typically written
by different groups of people. Each component is available in multiple
versions. 0launch is used when starting a program. Its job is to decide
which implementation of each required component to use.

An interface describes what a component does. Zero Install starts with the
interface for the program you want to run (like 'The Gimp') and chooses an
implementation (like 'The Gimp 2.2.0'). However, this implementation will in
turn depend on other interfaces, such as 'GTK' (which draws the menus and
buttons). Thus, Zero Install must choose implementations of each dependancy
(each of which may require further interfaces, and so on).

See for details.


Zero Install uses the normal Python distutils method of installation. To
install system-wide, run like this:

  $ sudo python install

You can also install just to your home directory (this doesn't require root

  $ python install --home ~ --install-data ~/.local
  $ export PATH=$HOME/bin:$PATH

Logging out and back in again will ensure $PATH and the Applications menu get
updated correctly, on Ubuntu at least.


To run a program by its URI:

  $ 0launch

To create a short-cut:

  $ 0alias rox-edit

For more information, see the man-pages for 0launch, 0alias and 0store.


This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA


Please report any bugs to the mailing list:
2011-08-20 Tim DielsRefactored code as required for the new 0publishmaster
2011-08-20 Tim DielsAdded <unpack/> step for <recipe>
2011-06-25 Daniel TschanGUI performance (XXX)
2011-06-25 gfxmonkAdd an include_packages flag to Selections.download_missing
2011-06-25 Thomas LeonardFixed test for empty list of implementation dirs config...
2011-06-25 Bastian EicherAggregate implementation-dirs config files from multipl...
2011-06-18 Thomas LeonardAllow specifying the interface in add-feed
2011-06-13 Thomas LeonardAdded '0install digest' command
2011-06-13 Tim DielsEnvironment binding: added separator attribute
2011-06-13 Thomas LeonardCheck indentation when testing
2011-06-03 Tim DielsForgot to add xml of generate implementation id test
2011-06-03 Tim DielsAdded generate_sizes test
2011-06-03 Tim DielsUsed load_feed in missing impl id test instead of...
2011-06-03 Tim DielsAdded ability to generate archive sizes on Feed creation
2011-06-02 Tim DielsFixed small id=None issue
2011-06-02 Tim DielsAdded implementation_id_alg param to load_feed
3 years ago texttest
4 years ago old_changes_for_my_0publish_fork
4 years ago master