Author archives: Alexis Tabary

ShiningPanda CI, clap de fin

Today brings some sad news: we are shutting down ShiningPanda CI. Jenkins instances will remain available until April 30th, at which point they will all go offline.

This decision became inevitable as we failed to keep ShiningPanda CI relevant in an increasingly competitive environment: our user base has been eroding for a rather long while, so we decided to move forward and simply halt the service.

We are incredibly thankful to all the people who have been relying on ShiningPanda for integration and deployment, so we want to ensure as smooth a transition as possible. All users who wish to ...

Continue reading

Improved tox.ini analysis

Requires.io is all about being notified of outdated dependencies on PyPI packages in your Python's projects.

Few weeks ago we added support for tox.ini files. But the analysis of this file was too simplistic: a common use case of tox is to run matrix builds against many different versions of the same library. For instance if your project supports Django 1.4, 1.5 and 1.6, you want to test it against all these releases.

Until now requires.io would show an unwanted outdated next to Django 1.4 and 1.5.

/media/blog/56/toxbefore_4.png

It is not the ...

Continue reading

Check Python3 Requirements

Back when Django 1.5 was released with experimental Python 3 support I was all excited: at long last I could seriously think of moving on to the latest and greatest python released so far (Python 3.3). Sadly I haven't been able to convert all my projects yet, due to dependencies not being compatible yet.

I noticed that python 3 adoption has been steadily accelerating for django related packages over the past few weeks. The release of Django 1.6, bringing official (non-experimental) support for Python 3, is probably not stranger to this trend. So to keep track ...

Continue reading

Keep track of your requirements with requires.io

Requires.io helps you keep track of the requirements of your Python projects. To do so it simply fetches the dependencies from the req*.txt and setup.py files in the root folder of your project, and compare them against the latest releases available on PyPI.

To get started just log in with either BitBucket or GitHub. The service is of course free for all public repositories. You can even add a badge to your README.md file.

/media/blog/49/up-to-date.png

Dependencies can be marked at three levels:

  • up-to-date,
  • outdated,
  • insecure.

A handful of projects already using requires.io:

Continue reading

MySQL table lock with Django

When operating with a relational database like MySQL or PostgreSQL it is sometimes required to use table locks, usually when performing a transaction susceptible to concurrency problems.

As a rule of thumb:

  • a WRITE LOCK on a table is needed when writing to that table while performing a transaction susceptible to concurrency issues,
  • a READ LOCK on a table is needed when reading from that table while performing a transaction susceptible to concurrency issues,
  • when a lock is acquired, all the tables used in the transaction must be locked,
  • all locks must be released when a database transaction is completed ...

Continue reading