Acire 0.3 Released

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!
  • 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 <your@emailaddress.com>]
# [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 <jono@ubuntu.com>]
# [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:~<your launchpad username>/python-snippets/<name of your branch>

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

  • http://www.jonobacon.org/2010/02/27/fun-little-acire-story/ Fun Little Acire Story | jonobacon@home

    [...] the new release of Acire just out I wanted to tell you folks a fun little story of an added benefit to Acire that I never envisaged [...]

  • https://launchpad.net/~brunogirin Bruno Girin

    Jono, when I start Acire, I have only 3 categories in the top drop-down: PyGTKSourceView, PyGTK and Cairo. However, when I download a branch of python-snippets, I have a lot more categories (pythoncore, pythonvte, pattern, notify-osd, etc). Shouldn’t those other categories be available in Acire too?

  • jono

    Did you install the daily PPA of Python Snippets?

  • https://launchpad.net/~brunogirin Bruno Girin

    Yes I have python-snippets daily installed but it looks like the karmic version only includes pygtk and pygtksourceview. I removed and re-installed it just to make sure but it doesn’t make any difference.

  • jono

    There is a problem with the package it seems, Bruno. Hang tight while I try and figure out what is going on. Sorry about this!

    Fortunately because you are subscribed to the daily PPA, you should just get a brand new working package automatically soon.

  • http://www.jochenskulj.de/ Jochen Skulj

    Great tool to improve your python knowledge. Just tried to translate it (German), but I think not all strings are translatable yet. Or am I wrong? I didn’t find the strings »Execute« or »Copy« in Launchpad to translate.

  • http://princefool.blogspot.com DeeJay1

    These strings come from GTK, soe they must me translated there not in Acire

  • http://princefool.blogspot.com DeeJay1

    s/soe/so/ s/me/be/

    (never type with the left hand while eating breakfast…)

  • http://www.jochenskulj.de/ Jochen Skulj

    Ok, thanks for this information. I translated acire while having breakfast, but I hope the translations are ok though.

  • Shingi

    Great tool Jono. when should we expect packages for 9.10? Apologies for not so being patient.

  • http://mattmole.co.uk mattmole

    Hi Jono,

    When Lucid is released, will you provide instructions for adding the Python snippets using groundcontrol? This would help out none command line users.

    Matt :)

  • http://mattmole.co.uk mattmole

    Great app by the way!

  • jef Spaleta

    As a followup to our sidebar discussion elsewhere.

    You might want to consider requiring all snippets submitted for inclusion be licensed BSD to lower the complexity of licensing compliance of resulting applications.

    Sort of how launchpad translations moved to a policy of BSD for all translation submissions.

    Since the purpose of the snippet collection in Acuire is explicitly about code reuse a policy of BSD only for the snippet library now, may help prevent licensing compliance confusion later as quickly built apps mature and redistribution issues become important to the application authors down the road 6 months to a year from now.

    -jef

  • Martijn

    Great program!

    The dependencies of the PPA-package are wrong, though. It misses python-gtksourceview and python-gnomeprint.

  • Karl

    How deep is the snippets archive aiming to be?

    Should django snippets be added even if they are not able to do anything useful if executed?

    This could be very interesting if we could plug into Anjuta and use the snippets as templates.

  • Tim

    I’m also curious as to whether we can hope to see new packages released for 9.10.

    thanks

  • http://bloc.eurion.net/archives/2010/you-no-longer-have-an-excuse-not-to-look-at-python-snippets/ You no longer have an excuse not to look at Python Snippets! @ Eurion · RainCT’s Blog

    [...] already heard of Jono Bacon’s effort to create a collection of Python snippets and of Acire, the application to browse through them. If you’re interested in developing something with [...]

  • Diego Castro

    Can anyone tell how I should go and get the dailly snippets and the acire program, as source… so I can try and built them on my 9.04 (I know I’m outdated :) )