blog  Ontospy version 2.0 released.

Oct 2022

Version 2 of the library includes SHACL support as well as various internal refactoring. Ontospy is an open source Python library and command line tool for working with vocabularies encoded in the RDF family of languages.

blog  A semi-automated conference assistant.

Jun 2022

A couple of weeks ago I went to the excellent Move Or Perish—Scientific Trajectories, Inclusion, And Inequality, And Their Consequences For Transformative Science workshop in Vienna. While getting ready for it, I found myself asking some familiar questions. Who are the speakers? What is their background? How to best contextualise the topics being discussed?


blog  More Jupyter notebooks: pyvis and networkx.

Aug 2020

Lately I've been spending more time creating Jupyter notebooks that demonstrate how to use the Dimensions API for research analytics. In this post I'll talk a little bit about two cool Python libraries I've recenlty discovered for working with graph data: pyvis and networkx.


blog  Pypapers: a bare-bones, command line, PDF manager.

Jun 2019

Ever felt like softwares like Mendeley or Papers are great, but somehow slow you down? Ever felt like none of the many reference manager softwares out there will ever cut it for you, cause you need something R E A L L Y SIMPLE? I did. Many times. So I've finally crossed the line and tried out building a simple commmand-line PDF manager. PyPapers, is called.

blog  Introducing DimCli: a Python CLI for the Dimensions API.

May 2019

For the last couple of months I've been working on a new open source Python project. This is called DimCli  and it's a command-line library aimed at making it simpler to work with the Dimensions Analytics API.

blog  Ontospy 1.9.8 released.

Jan 2019

Ontospy version 1.9.8 has been just released and it contains tons of improvements and new features. Ontospy is a lightweight open-source Python library and command line tool for working with vocabularies encoded in the RDF family of languages.


blog  Ontospy v. 1.6.7.

Jun 2016

A new and improved version of OntoSpy (1.6.7) is available online. OntoSpy is a lightweight Python library and command line tool for inspecting and visualizing vocabularies encoded in the RDF family of languages.


blog  Accessing OS X dictionary with Python.

Nov 2015

A little script that allows to access the OS X Dictionary app using Python.


blog  Dereference a DOI using python.

Dec 2014

A little python script that allows to pass an article DOI in order to obtain all the metadata related to that article.


blog  Teaching programming concepts visually with the Online Python Tutor.

Oct 2012

The Online Python Tutor is a Web-based program visualization for CS education, developed in collaboration with Google. It provides an easy-to-use online environment for writing code and testing it interactively. A great resource for teaching computer science concepts!

blog  Getting hold of your Flickr collections with Python.

May 2012

Recently I've been a little disappointed with Flickr, the popular online photo-sharing service. Photos gone missing, entire albums disappeared. Not really what you'd like to happen to your photo collection, especially when it's very large and therefore it's difficult to be always on top of what's there and what's not.. Time to change strategy: use flickr for sharing and my local HD for backup!


blog  Survey of Pythonic tools for RDF and Linked Data programming.

Feb 2011

The Resource Description Framework (RDF) is a data model and language which is quickly gaining momentum in the open-data and data-integration worlds. In this post I'm reporting on a recent survey I made in the context of a Linked Data project I'm working on, SAILS. In SAILS we're developing a prototype for RDF-data manipulation and querying, but since the final application will be written in Python and Django, in what follows I tried to gather information about all the existing libraries and frameworks for doing RDF-programming using python.

blog  Installing PIL on Djangostack 1.1.1/1.2/1.3.

Feb 2011

The popular Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This library supports many file formats and provides powerful image processing and graphics capabilities. I normally use Bitnami Djangostack for most of my Django development, which doesn't come with PIL installed by default so in this post I'm summing up what steps I've taken to get that up and running.

blog  Python links (and more) 7/2/11.

Feb 2011

This post contains just a collection of various interesting things I ran into in the last couple of weeks... they're organized into three categories: pythonic links, events and conferences, and new online tools. Hope you'll find something of interest!

blog  Setting up Django Registration.

Jan 2011

Django's admin framework includes the basic functionalities for logging in and out of the admin site, but if you're building a so-called 'social' application and want people to be able to sign-up, log in and thus benefit from additional site functionalities then you need to use a more generic 'registration' application. The good news is: most of the work has already been done, so it's just a matter of putting things together correctly.


blog  Python debugging and Textmate.

Feb 2010

I've never realized that among the many things Textmate does well there's also python debugging. Well, to be precise Textmate doesn't do much as it just relies on python's default debugger, called PDB. Ok, probably PDB isn't the cutting edge debugger you're looking for, but it's worth a try imho.

blog  Getting back to the ontological work...

Feb 2010

I'll be working in Osaka for three months on ontologizing a couple of datasets with the help of Riichiro Mizoguchi. This means that I'll have enough time to revise various notions about ontology engineering during this period. Here's a first and fundamental one, regarding the difference between ontologies and data models:


blog  Pyglet: multimedia library for python.

Dec 2009

UPDATE 30/03/1: Just realized that unfortunately pyglet doesn't play well with the latest 64bit architecture of oSX. A real shame, as this obviously breaks Pyglet's famed run-anywhere feature. There are reasons to think that the next version will fix this problem (check out this thread for more info).. but for the moment, I guess that the only alternative is falling back to PyOpenGl. UPDATE 14/12/09: pyProcessing is a project building on pyglet that that creates an environment for graphics applications that closely resembles that of the Processing system. Quite neat uh?

blog  Yolk : Python packages index.

Oct 2009

Yolk is a Python tool for obtaining information about packages installed by distutils, setuptools and easy_install and querying packages on PyPI (Python Package Index a.k.a. The Cheese Shop).

blog  Installing PyGraphviz [tested on OSx Leopard].

Oct 2009

PyGraphviz is a Python interface to the Graphviz graph layout and visualization package. With PyGraphviz you can create, edit, read, write, and draw graphs using Python to access the Graphviz graph data structure and layout algorithms.

blog  MySQL-Python and Apple OSX 10.5 (Leopard).

Aug 2009

UPDATE 30/12/09 : Snow Leopard and most recent versions of MySQL-python have broken the recipe below: you'd better check this blog post for an updated version (it worked for me). In a nutshell, the new method involves using the Macports installation if you're on Leopard, or specifying your 64-bit architecture during the compile process if you're on Snow Leopard... but if you're still getting errors, there's nothing else to do than invoking the almighty google for help . .

blog  Python web-parsing libraries.

Jul 2009

While continuing the interminable search for the ideal python editor, I run into three really useful libraries for scraping information off webpages:

blog  Snippet to load stuff quickly in the Django shell.

May 2009

Sometimes you end up testing out things a lot using the handy django shell, but every time you've got to repeat the same commands to load all the necessary models, utils etc. etc.

blog  Python pitfall: Passing Mutable Objects as Default Args.

May 2009

I have a long and nested lists of parameters to throw out with a django template, but the visualization routine in the template processes them better if the parameters are ordered two by two. So I was trying to put together a simple function for reordering the original list accordingly. This is what I came up with:

blog  Installing RDFlib on osX.

May 2009

RDFlib is a Python library for working with RDF, a simple yet powerful language for representing information.

blog  Offline django docs.

Apr 2009

An offline copy of the django docs can be quite helpful if you find yourself doing development work without an internet connection. Obviously, django comes with its docs that you can generate (provided you have Sphinx and build tools). However sometimes a pdf is the handiest solution... here're some useful links I found: Docs in CHM and PDF formats: http://charupload.wordpress.com/2007/12/02/django-documentation-chm/

blog  GAE SQL Designer.

Mar 2009

GAE SQL designer is a simple app that allows you to Draw E-R designs, Edit tables and rows, Manage keys, Create relations (FK constraints), Save & Load designs and Import DB schemas. Finally - it's online and it's free!

blog  MacPython/Leopard - PythonInfo Wiki.

Feb 2009

Some people have legitimate reasons for wanting to install IDLE on Leopard. E.g., even though Leopard's Xcode 3.0 (and later) supports Python development, it does so in a heavyweight, support-all-of-Cocoa fashion. And educators teaching Python who wish to do so in a platform-agnostic way may also be best served by IDLE.

blog  Pysmell - Python auto-complete - works with TextMate too!.

Feb 2009

One of the reasons that kept me away (sigh) from TextMate is the lack of autocompletion support.. especially in Python. Seems like those days have ended - I just downloaded and installed Pysmell, and it works great!!!

blog  Komodo-Edit :: a nice free python editor!.

Feb 2009

Finding the perfect IDE for a programming language is always an ongoing process - even more if your language is python - i've been happily using eclipse/pydev for a while now, but recently i run into KomodoEdit and I liked it. Mostly, cause it's lightweight and it's built with a 'snippet-oriented' philosophy (something like textmate).

blog  Python easy_install - The PEAK Developers' Center.

Jan 2009

Easy Install is a python module bundled with setuptools that lets you automatically download, build, install, and manage Python packages. That is to say - super easy installation of a long list of Python modules.

blog  Python's phenotype.

Jan 2009

Phenotype: any observable characteristic or trait of an organism: such as its morphology, development, biochemical or physiological properties, or behavior.