Everyone’s favorite tool to browse Python snippets, run them, learn from them and incorporate them into your programs has been released! This new release has the following new features:
* **Translated** – Acire has now got support for multiple languages, but this is very new so it needs your translations! Want to help make Acire rocking in *your* language? Easy. [Go and contribute here](https://translations.edge.launchpad.net/acire)!
* **Edit Snippets** – Acire now allows you to edit the code inside a snippet and execute it within Acire itself.
* **Save Snippets** – You can now save the snippets, even if they have been edited, into a specific file on your system.
* **Look and Feel Polish** – a little bit of spit and shine has been applied to respect your chosen monospace font, use a scalable icon for docky and a few other little changes.
As I have mentioned before, I the snippets that *Acire* shows and the Acire itself are in two separate packages (this means that others can write viewers to view the snippets on other environments).
Installing *Acire* and it’s snippets is simple. First install the daily snippets PPA (this will deliver new snippets to your system on a daily bases):
sudo add-apt-repository ppa:python-snippets-drivers/python-snippets-daily
sudo apt-get update
sudo apt-get install python-snippets
Now install the *Acire* PPA:
sudo add-apt-repository ppa:acire-team/acire-releases
sudo apt-get update
sudo apt-get install acire
Right now packages are available for Ubuntu 10.04 Lucid Lynx and Ubuntu 9.10 Karmic Koala packages should be available soon.
## We need your snippets!
The fuel that makes *Acire* rock is the library of snippets. To really get the most out of Acire and it’s library of snippets, we need you to contribute snippets that demonstrate something in Python. These snippets are really helpful in showing us all how a given Python modules works, and really helpful in lowering the bar to development. Here is how you can contribute a snippet!
### Step 1: Grab the library
Just run:
bzr branch lp:python-snippets
### Step 2: Create your snippet
A snippet should demonstrate a specific feature in a given module or in the Python language. This could include showing how to use a specific widget, a feature of that widget, or another function.
python-snippets is divided into sub-directories which outlines the theme of the snippets. You should pick the most appropriate directory to put your snippet it, and add it there. If a suitable directory does not exist already, create it and add it there.
### Step 3: Add metadata
The way Acire pulls out the snippets is by detecting some specific metadata additions to comments at the top of the file You should now add the following meta data as comments to the top of the file:
# [SNIPPET_NAME: A Short Name For The Snippet]
# [SNIPPET_CATEGORIES: Category] <-- see CATEGORIES file for existing categories
# [SNIPPET_DESCRIPTION: A single line description of the snippet]
# [SNIPPET_AUTHOR: Your Name
# [SNIPPET_LICENSE: An Open Source license (from the LICENSES file)]
Here is an example:
# [SNIPPET_NAME: Playing a Pipeline]
# [SNIPPET_CATEGORIES: GStreamer]
# [SNIPPET_DESCRIPTION: Construct and play a pipeline]
# [SNIPPET_AUTHOR: Jono Bacon
# [SNIPPET_LICENSE: GPL]
You now need to add your file to your branch with:
bzr add your-snippet.py
### Step 4: Propose it for merging
With your new snippet ready, it is time to propose it for inclusion in the main python-snippets library.
First, commit your changes to your local branch with:
bzr commit
Now push it to your own branch on Launchpad:
bzr push lp:~
As an example:
bzr push lp:~jonobacon/python-snippets/gstreamer-snippets
Now go to https://code.launchpad.net/python-snippets and you should see your branch listed there. Click on it and when the branch page information page loads click on the Propose for merging link. Add a short description of what you examples do in the Initial Comment box and then click the Propose Merge button.
We will then review the merge and if it looks good, add it to python-snippets and it will be delivered to *Acire* users in the next daily package upload. 🙂