Posts Tagged ‘python’

Announcing the GeneanetForGramps plugin


I’m a happy user of Gramps, since the confinement started in France back
in March 2020. I had received since the death of my father a lot of documents that described my family, and I had also some holes in my understanding of some branches. I wanted to keep all these information easily on my computer, instead of on multiple unrelated sheets of paper. After looking at what was available, I decided to invest more time on Gramps and it turned out it was a perfect fit for my needs (well in fact it should be perfect for a lot of amator genealogists considering the high number of features it provides): ability to keep family trees and visualize them in multiple nice ways, ability to also store people images, as well as official acts related to their life, their profession, address and much more again.

The nice stuff for me was that Gramps is written in python, so could help me enrich my understanding of the language I’m practicing since 3 years now (even if I still prefer perl ;-))

And when you are looking for information around family members, you often find good details on Geneanet. It allows the sharing of numerous family trees published by many people, among them you’ll find some common ancestors ! And once you’ve found one, you can see the full tree going up, and you start copying information from it, to enrich your own tree. Of course *real* genealogists do not do that as they want to check with acts that this is indeed true, but I just have one life, and as with FLOSS, I like to rely on work done by others and just do new stuff to improve the global knowledge.

But it’s soon very painful to copy from Geneanet data that have been entered by others, because it takes time, it’s error prone, and a machine could do that instead no ? Well, Gramps has no way to do it, nor did I find anything related to exporting data from Geneanet. So python to the rescue 😉

I started by writing a script to extract data from Geneanet, using the lxml module which is very helpful to detect the tags that are in the Geneanet page and thus gather the information I needed to store that in a python object. Then, using the Gramps python module you can find whether the person already exists in the database and either include him or her if not, or modify (or not) the attributes if he or she was there. Then you add recursivity for ancestors to parse the tree, then you add recursivity for descendants to complete the tree, and then you add spouses support to cover it all. It took me a bit of time to make that work, but by june I had a good working setup. I was able to import in my test DB lots of people in one run, from the command line interface. Not everything was done, but as we were free tomove again, I used more to time to attend shows, exhibitions, visit museum, enjoy concerts again…

But as we were confined again in october, it was time to start thinking about the graphical interface, because at the end, I want to make it easy for my wife (and myself) to make such imports. Took me a bit of time to figure out which example was the closest to my case, in order to get inspiration from it, especially for the various parameters I wanted to make available. And this is now done and working as shown with this screenshot:

GeneanetForGramps plugin interface

Up to that point, I was still using the french web pages for Geneanet, but of course, if you want to make your plugin used world wide, you have to deal with internationalization. So that was the last step, replacing all hardcoded chains in the program by call to gettext and to translate stuff. Of course, it’s a bit mre difficult when you do string detection in pages, but it turned out that the code was clean enough to make it painless. And voilà ! I now have a working plugin that I try to integrate to the upstream project (see my pull requests). Hopefully it will be seen as useful and validated soon. Meanwhile you can integrate it yourself in your Gramps instance by downloading it from my Github repository as it’s AGPLv3.

Meet at HPE TSS next week


Last year, due to health problems I had to cancel my participation at last minute to the HPE TSS event. Hopefully, this year I’ll be back again ! Becasue the latest results of my scanner passed last week are as good as they could be: no cancer cells remaining or re-detected, as it was the case both in june and september 2018. So I’ll be able to come back to work full time end of march as planned, but meanwhile, I’ll be working only at 100% 😉

As usual I’ll deliver multiple sessions around various topics, because that’s fun to do ! (well preparation is less fun, but delivery is, so I know I’ll keep only that in mind afterwards ;-))

So I’ll be in Paris from the 116th to the 15th of March, and if you happen to attend and want to talk with me, you should be able to find me at:

  • Redfish Implementation at HPE – IB179 – 11/03/19 (Monday) 16:00 – W02
  • Linux Roadmap – Followed by OpenSource Round Table – IB173 – 11/03/19 (Monday) 17:00 – W02
  • Lab RPM Packaging – L100 – 12/03/19 (Tuesday) 14:00 – Lab 2
  • Containers for HPC – B121 – 13/03/19 (Wednesday) 09:30 – W07
  • Redfish: Standard status – B194 – 14/03/19 (Thursday) 08:30 – W05
  • Learning Python with Redfish – L105 – 14/03/19 (Thursday) 14:00 – Lab 3
  • OpenSource Open Labs – OL61 – 15/03/19 (Friday) 11:00 – Lab 4

Well, not too bad for a poor old and ill guy 😉 But except for the Labs, I’m not alone to prepare and deliver, so makes it easier for once. So as usual if you want to talk FLOSS, projects I’m involved in, FLOSSCon 2020 or anything else, feel free to join and chat with me !

Meet at Fosdem 2019 !


It’s that period of the year again where we start preparing for Fosdem ! Even if preparing for FLOSSCon at the same time !! And this year, this will be my first Open Source Event since my illness last year. I tried to attend the Paris Open Source Summit 2018, but I made my travel request too late to be accepted internally, so I missed it (easy excuse to refuse, but my fault indeed). This time I made it early enough, but didn’t get support. I must confess this is disappointing, and it has been a long time since I missed an event due to that. But I’ll go anyway, paying myself the travel and hotel in Brussels, and of course, as a consequence, there will be no HPE logo on my slides.

Too bad as I’ll be speaking about Redfish, the new standard for a Software Defined Infrastructure, which is a topic important for HPE and our SDI approach. I’ll then pass more time covering python-redfish on which I’ve been able to restart the work recently.

I’m afraid it’s a tendency in large corporations, not dedicated to FLOSS as it also happened at Intel for another speaker. The risk that corporations take is that their voice is less heard in our communities and also that they’re much less trusted, and thus their speakers not chosen in the future, especially for such community oriented events.

Anyway, I’ll be there, and will meet also the Mageia community gathering over there and enjoy the many conferences of course.

Le Logiciel Libre au Festival Transfo


Bon, maintenant, vous devriez tous savoir qu’il y a cette semaine un Festival Transfo sur Grenoble et les environs !

Mais plus intéressant, il y a plusieurs événements en lien avec le libre dans le cadre du festival:

Comme vous le voyez, il y aura de quoi faire lors de cette semaine consacrée à la transformation numérique, qui bien évidemment, n’a aucune chance de réaliser sans le recours aux logiciels libres 😉

Venez nombreux !

python-redfish reached 0.3, first interesting version for others


Back in 2015, during our internal TES event in Grenoble, a group of people gathered to talk about the new Redfish DMTF standard and how we could add its support into Ironic.

Since that, we have worked first on a new Open Source python library to interact programmatically with Redfish 1.0 based systems.

We tried to promote it during OpenStack Summits but except in Vancouver when I did a short video explaining that, not enough interest from the community. Of course we had very few to show at that time.

One year after, we have now reached version 0.3 of the project. And while that doesn’t sound a lot, in fact the libray is now usable by others to interact with Redfish based systems.

What it provides:

Our next steps are in multiple directions:

Hopefully, as you’re reading this, you’re interested by the topic, and we’d be happy to get your feedback, and more over your patches in order to improve our work, and speed up the development !

And don’t forget the HPE Open Source project available as well on github which provides much more capabilities, due to its support of the iLO and iLOCM extensions to the Redfish standard.

Software Defined Compute: Redfish and Ironic at the next OpenStack Summit


The future is already here !

In fact here ! This is a new specification which is gaining traction to allow hardware configuration of systems through a RESTful interface. All new HP ProLiant Gen9 servers from HP are providing a first version of what is not yet the standard, but looks very near to it, and provide already a rich interface.

This is pretty exciting, as it will allow people like me working on Disaster Recovery e.g., or people like Devananda van der Veen who is the Ironic PTL (OpenSTack bare metal deployment component) or many others to have, when it’s ready, a single interface to configure the servers from different manufacturers following the Redfish Specification (as of now HP, Dell, Emerson, Intel). And it’s much more feature rich than IPMI, so you would be able to go well farer with it and reach a real Software Defined Compute node.

In order to make it usable for Ironic we’ve started to work on a low level python library (python-redfish) on which we’ll be able to build the Ironic driver for Redfish later on. This is work for Liberty and after of course. And as Ironic can be also use alone, I’m more and more thinking of using it as a way to provide MondoRescue images for bare metal deployment as an additional feature over media boot. Especially if there are plans to have a standalone web interface for Ironic !

If you want to learn more on the HP implementation of the RESTful API, there is a webinar organized Wednesday, April 29, 2015 from 10:00 am CDT to 11:00 am CDT. Register from

And if you want to learn a bit more of where we are on this, read the code (easy for now) or come at Vancouver for the upcoming OpenStack Summit to discover it.