I am searching to produce a really small cataloguing application for private use (although I'd free it basically thought other people would utilize it). I'm not going an internet application because it appears like overkill with an application server for this purpose - plus I like the thought from it being stand alone and adhering it on the USB stick.

My Criterea:

  • Interface should be easy to program. It may be curses-style in the event that causes it to be easer to code. My knowledge about ncurses indicate otherwise, but I'd really that can compare with a commanline UI.
  • Language does not really matter. My rough order associated with preference (greatest first):
    • Python
    • C
    • C++
    • Java
    • I'll consider anything linux-friendly
  • I am thinking sqlite for storage, but other (embeddable) suggestions welcome.

Has anybody carried this out kind of factor previously? Any suggestions? Issues to prevent?

EDIT:

Ok, it appears like python+sqlite may be the early champion. That simply leaves the question which ui library. I understand you receive tkinter free of charge in python - but it is so ugly (I'd favour a curses interface). I have done some GTK in C, however it looks fairly not-natural in python. I'd a really brief dabble with wxwidgets however the documentation's pretty atrocious IIRC (They re-named the module sooner or later I believe, and it is all a little confused).

To ensure that leaves me with pyqt4, or some kind of console library. Or possibly GTK. Ideas? Or have I been too rash on paper off among the above?

I'd certainly recommend (or second, if you are already thinking it) - python with sqlite3. It is rather simple, portable with no large db motorists. I authored an identical application for my very own cataloguing reasons and it is doing all right.

I election for pyqt or wx for that GUI. (And 2nd the Python+sqlite votes to reply to the initial question.)

I second (or third) python and sqlite.

So far as suggestions are worried:

If you are feeling minimally ambitious, I'd suggest creating a quite simple web plan to synchronize your catalog to some server. I have carried this out (ashamedly, a couple of occasions) for similar reasons previously.

With sqlite, backup copies can literally be as easy as uploading or installing the most recent database file, with respect to the file's timestamp.

Then, should you lose or break your memory stick (smashed to pieces, during my situation), your catalog is not lost. You will get more portability, a minimum of 1 backup, plus some satisfaction.

You might use Party to create the application