Alkali v0.5.4 has now escaped.
Major features are:
- implemented Query.distinct
- implemented Query.annotate
- implemented Query.aggregate functions: Sum, Count, Min, Max
- Fields are now descriptors on Model instance
- added ForeignKey field
- models now cascade delete when ForeignKey instance is deleted
- minor speed ups
- IntField now has auto_increment property
- Query returns copies of Model instances
- added signals on model creation/deleting/saving/etc
- better documentation
Well, I finally released alkali into the wild.
Alkali is a simple database that makes it very easy to specify the on-disk format of your data. This makes it easy to use your existing data files as tables in a database. Plus the api is based off of Django models.
This is my first real project that I've released and it's a surprising amount of work. I have a new level of appreciation for all the libraries that I just blithely download and use without a second's thought.
For instance, it took about the same amount of time to write the docs as it did to write the actual code. Plus there are a lot of moving pieces to release open source software the right way.
- use git as your source code control
- write documentation, learn Sphinx and reStructuredText
- when you push to github, triggers are fired
- push release to PyPi, writing
setup.pyis very non-trivial, learn how that works
- try to do some marketing on Reddit. Given my zero karma I suck at marketing and/or programming.
So yeah… please go check out alkali!