Python developer and Teal organization coach at Wärtsilä in Helsinki, Finland
darker. Apply black reformatting to Python files only in regions changed since a given commit. For a practical usage example, see the blog post at https://dev.to/akaihola/improving-python-code-incrementally-3f7a
685pgtricks. Handy helpers for PostgreSQL users
108flymake-python. Highlight Python syntax, style and unit test errors in Emacs
97jquery-autogrow. Chrys Bader's Auto Growing Textareas: This plugin makes it easy to have auto-growing textareas. Meaning, if you have a textarea, as the user types it will expand vertically to accommodate the size of the entry. This was inspired by Facebook's auto-expanding text areas.
62lusmu. Lazy evaluation graph library. See the branch https://github.com/akaihola/lusmu/tree/fix-terminology for a version matching the PyCon Finland 2014 talk and related blog posts.
52ipython_pytest. Pytest magic for IPython notebooks
37docker-vma. Docker image for the Proxmox vma command line utility (disk image tool)
26darglint2. A python documentation linter which checks that the docstring description matches the definition. Based on darglint by @terrencepreilly.
26PyChecker. PyChecker is a static analysis tool for finding bugs in Python source code. It finds problems that are typically caught by a compiler for less dynamic languages, like C and C++. It is similar to lint. This is my mirror of https://github.com/thomasvs/pychecker
24django-cairo-text. Django re-usable app for rendering text as images using Cairo
23jquery-simpleautogrow. This plugin combines ideas from Chrys Bader's jquery.autogrow.js and John Kuindji's jquery.growfield2.js and implements them in a concise and stripped down way.
23hardlinkpy. hardlink.py is a tool to hardlink together identical files in order to save space. Forked from the original version by John L. Villalovos.
21django-wtform. akaihola's branch of Christian Joergensen's WTForm: an extension to the django newforms library allowing the developer, in a very flexible way, to layout the form fields using fieldsets and columns
19graylint. Baseline linting: Only show linter errors which appeared compared to a previous version (e.g. feature branch vs. main)
14django-attachments. A generic attachment framework for Django. Extracted from pinax-cohousing / django-chicago. NOTE: This predates and is different from bartTC's django-attachments.
11nose-pudb. Nose plugin for dropping into a visual debugger on test errors and/or failures
10jupyter_abc. This extension makes it easy to render ABC markup as graphical music notation in a Jupyter notebook.
9PyWO. A fork of Wojciech 'KosciaK' Pietrzok's Python Window Organizer. The master branch is a mirror of KosciaK's SVN trunk, and I my work lives in other branches. PyWO allows you to easily organize windows on the desktop using keyboard shortcuts. It's inspired by Quicktile, Compiz plugins: Grid, Put, and Maximumize.
9django-yui-loader. A YUILoader class (based on Adam Moore’s client-side YUI Loader) that makes it a snap to pull YUI components into your Django projects
6pytest-kwparametrize. Alternate syntax for @pytest.mark.parametrize with test cases as dictionaries and default value fallbacks
6musomisia. Keyboard-centric tools for Linux desktop users
6unoconv. Convert between any OpenOffice supported document format using UNO bindings for non-interactive conversion. My fork of dag's svn repository.
6django-jqm. akaihola's fork of Mike C. Fletcher's "JQuery Mobile for Django QuickStart". Provides a few templates for use with JQuery Mobile and Django that allow you to "quick-start" a JQuery Mobile project'
5ailbibak. SCM-like backup system with bash and rsync
2git-xt. Utilities for extracting files from git repositories
2django. A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
2django-threadedcomments. django-threadedcomments is a simple yet flexible threaded commenting system for Django.
2django-south. A clone of the django south svn repo
2django-sane-testing. Akaihola's fork of Almad's "Django integration with nose, Selenium and more". I'm doing small bugfixes and tweaks here and submitting them upstream.
1pyelcon. Scrapers for consumer electric consumption measurements in Python
1dvakop. Dvorak/Airas/Kaihola keyboard layout, optimized for programmers
1live-py-plugin. Live coding in Python implemented as an Eclipse plug in. Emacs support under work (see the emacs-mode branch).
1keke. WhatsApp AI chatbot
1logtools. Command-line utilities for working with logfiles, filtering, sampling, geoip etc.
1lettuce. Cucumber-ish BDD for python
1jinja2-require-variables-error. Raise an error if a required variable is missing from the Jinja2 template context
1walletexplorer-gui. Network graph GUI for WalletExplorer.com
1ipython_nose. Nose magic for IPython
1gargoyle. Feature switches in Django
1django-jenkins. Plug and play continuous integration with django and jenkins
1jupyter-aichat. Chat with an AI using a Jupyter notebook and the ChatGPT API
1claude-export. Browser script to share and export Anthropic Claude chat logs to Markdown, JSON, or as Image (PNG)
1git-find-related-commits. In a Git branch, find commit pair candidates to be squashed together, i.e. ones which touch the same lines
1notegame. Flash card game for learning note pitches. Experiment in using Transcrypt and Vue.js.
1darkgraylib. Common supporting code for Darker and Graylint. The package started as a copy of the Darker repository, and has been stripped down to the parts which are common between Darker and Graylint.
1selim. A real-time musical score follower toolkit
1django-template-unwind. Helper for debugging complex template structures in Django
1pip. pip installs packages. Python packages. An easy_install replacement
1django-flax. A Fabric library with helpers for Django project deployment
1lbcapi. Simple Python library for making API calls to Localbitcoins
1lint-action. ✨ GitHub Action for detecting and fixing lint errors
1eyam. A Python Mocking Isolation Library for Testing'
1python-elkweri. DSL for testing HTML DOMs
1trac-git-plugin. A port of http://trac-hacks.org/wiki/GitPlugin for Trac 0.12
1bitcoin-wallet. Bitcoin Evolved - A new kind of Bitcoin client to make Bitcoin easy and enjoyable to use
1quicktile. An X11 analogue to WinSplit Revolution for people who don't want to use the Compiz Grid plugin
1mr.awsome. A way to manage stuff from Amazon Web Services
1postit. My blog? Wiki? Bliki? Whatever. I suppose it's called Open Publishing.
1python-magic. A python wrapper for libmagic
1jQuery-Simple-Multi-Select. jQuery plugin that replaces standard HTML multi-select with a simpler version
1