Personal projects

Here are different personal projects, mainly in Python and hosted by Github.

StarterPyth

This project was started after two remarks:
  • writing a clean Python application is quite complex: unitary tests, setup file, localization and other things are not so easy to prepare,
  • starting this code require a lot of things that are common to all projects.

StarterPyth aims at proposing some code templates (simple Python module, Django website, command-line tool, Cython module) that are written after some questions.

Source code of starterpyth is on Github.

Moneta

Moneta allows to easily create repositories for your packaged applications. You can create repositories for aptitude/.deb packages, Python (source packages, .whl or .egg files), Ruby (.gem files),

and for Java archives. When you create a new repository, you can specify several states associated to it (for example dev, pre-prod and production).

You can add files through a simple curl command, easily publishing your packages after a successful build. You specify the state of your published file, and previous versions are automatically removed from these states. Source code of moneta is on Github and doc on http://moneta.readthedocs.org.

Moneta is named after the Roman goddess of memory.

SphinxFolders

This is a Sphinx directive to display the content of a folder. It is available on Github.

Sample usage:

.. folder:: _static/demo_folder
    :class: folder
    :desc_ext: .desc
    :glob: *.pdf

Only pdf files will be displayed, and if the file sample.pdf.desc exists, then its content will be displayed after the link to sample.pdf. The whole list is represented as a <li> element inside a <ul> HTML element (with class folder).

LaTeX-Make

I contributed to LaTeX-Make, a collection of utilities for creating PDF documents from LaTeX files. I added the support of .svg files within the standard includegraphics command Code is available at the INRIA forge.

PythonNest

PythonNest is a clone of Pypi. Although not fully functionnal (mainly about the administration of uploaded packages), there are several features absent from other Pypi clones, like “disconnected” synchronization. Assuming you have two functionnals PythonNest instances, the first one is synchronized against the official Pypi mirror. Then it regularly export new package as flat files (archives, description as JSON files and md5 checksums), which can be transmitted and imported into the second instance. Source code of pythonnest is on Github.

Penates

Penates (and its companion Penates-Server) is a suite of Ansible scripts for installing from scratch a small local network:

  • private PKI for generating certificates,
  • authentication (OpenLDAP + Kerberos),
  • supervision (Shinken),
  • backup and restore,
  • ISO to automatically install machines,
  • fully-featured DNS and DHCP,
  • private dev. suite (mainly Gitlab)
  • mail, xmpp, zulip,

THe scripts target Ubuntu as base OS.