Planet Mars, the simple feed aggregator

by Rob Galanakis on 30/03/2014

In December, I spent some time polishing up a new fork of the old PlanetPlanet Python feed aggregator, named Planet Mars: https://github.com/rgalanakis/planet-mars . I chose the name to contrast it with Planet Venus, a successful PlanetPlanet fork. My goal for Planet Mars is to make it as simple as possible, to be the best aggregator for the very common use case. It’s based on my experience running a PlanetPlanet-based river at http://tech-artists.org/planet. That feed has been powered by Planet Mars for the last few months.

The main features are:

  • Jinja2 templating, in addition to the original htmltmpl engine. Old templates still work, new templates can use a better language.
  • Parallelization of feed updating, so things are many times faster.
  • The code is stripped down and much easier to understand and improve.
  • Planet Mars can be installed via pip, so instead of having to place your customizations in its package directory, you can pip install the GitHub repo and import it as a module into your own code (you can see the Planet TechArt repo as an example).
  • Planet Mars otherwise very similar to PlanetPlanet, making switching to PlanetMars very easy :)

Please take a look and tell me what you think, especially if you are an original Planet user.I’m very open to improvements and suggestions. If there’s any demand, I can put this on PyPI as well.

rob.galanakis@gmail.com

There are 3 comments in this article:

  1. 31/03/2014Marius Gedminas says:

    I use Planet Venus as a personal aggregator (and read it through Feedly). Parallel updates interest me.

    What’s the point of having something pip-installable if you won’t upload it to PyPI? Please do!

  2. 31/03/2014Marius Gedminas says:

    P.S. Your blog wants to redirect me to a “mobile version” at http://m.robg3d.com/, which is a NXDOMAIN. You may want to fix that.

  3. 31/03/2014Rob Galanakis says:

    Marius: Fixed that redirect, sorry about that!
    Parallel updates were stupidly simple, it just uses a multiprocessing.pool.ThreadPool and its ‘map’ method. Check out: https://github.com/rgalanakis/planet-mars/blob/master/planet/__init__.py#L233 I’m sure you can add it to Venus pretty easily, I’m surprised it doesn’t have it already.

    Regarding pip install, you can pip install from GitHub easy enough. Keeping a release up-to-date is a bit of pain. But if there’s any more interest, I’ll do it. Thanks for the encouragement!

Write a comment:


seven + = 15