Pre-Hackathon @night

There is nothing to see here, just read on. 😍

Initial plan

Did pick up on my ideas around how to make software development for Python based projects easier. That's my main use case so far and a few bits and pieces did pile up in my mind during the last 6 months.

So I made a suggestion for the topic "Python & Nix tooling improvement".

Things that did happen

pip2nix

Noticing a fer issues on Github at https://github.com/johbo/pip2nix/issues I started to look into them and did a few tweaks to the pip2nix codebase. Most important things (shame on me) was to flag two test cases as expected to fail since they prevent a successful build on NixOS at the moment. See https://github.com/johbo/pip2nix/issues/35 which contains the details.

Further details are mentioned in the changelog at https://github.com/johbo/pip2nix/blob/master/CHANGELOG.rst#070.

pip2nix-generated

One thing that seems to be a challenge for others in judging if tools like pip2nix or pypi2nix are the right things for their use case is a lack of real world examples.

Speaking for myself, I know that pip2nix is damn useful, since I use it for quite a few years now and I only got to use it because it did solve a problem for me. Basically saving me a ton of time. That's also how I ended up being the maintainer of pip2nix after all.

So I did start a new repository pip2nix-generated in order to make a few examples of my pip2nix usages public. It's made in a way so that it should be straight forward to access the tooling and also to repeat what I usually do in order to update things.

It's on Github at this location: https://github.com/johbo/pip2nix-generated

nix-rhodecode

Another thing I did work on during the last years is to get a nice way of being able to build the community edition of RhodeCode Enterprise. Since I took copies of their code and tweaked the files to my preference, I thought it's better to keep this separate so that nobody gets confused about license issues etc.

It's one of the most complicated Nix things I've managed to create so far and it also clearly shows where I did struggle to get things working in a smooth way. I do believe it's also a fantastic show case of typical challenges which we see in a Python based web project which has grown to a significant size. It's having Python, C dependencies of all sorts, special compile flags and a good bunch of frontend stuff in there as well.

My vision is to create a NixOS module around it so that I can eventually run my own instance of this tool for my company. Once I get TUIT (hey Perl!) I will push this up into the repository as well.

Until then, have a look: https://github.com/johbo/nix-rhodecode

And tomorrow

Think I'll keep my focus around Python and Nix. I'll try to get a NixOS module ready for RhodeCode, this would make a full example of a Python application with NixOS integration I guess. And it's useful for myself 😇.

If time permits, then I will try to push out another use case which I do have, it's around Tryton and it comes with it's own peculiarities since a typical installation needs a custom set of modules (Python packages).


Comments

comments powered by Disqus