From: jemarch@gnu.org (Jose E. Marchesi)
To: emacs-orgmode@gnu.org
Subject: [OT] recutils
Date: Fri, 03 Dec 2010 22:16:57 +0100 [thread overview]
Message-ID: <874oauh7zq.fsf@gnu.org> (raw)
Hi.
I apologize in advance for the off-topic, but this could be of interest
to people liking to "organize their life" in plain text. This is about
"storing your data" in plain text :D
I just made the first release of the GNU recutils, a set of tools and
libraries to access human-editable, text-based databases called
recfiles. The data is stored as a sequence of records, each record
containing an arbitrary number of named fields. Advanced capabilities
usually found in other data storage systems are supported by GNU
recutils: data types, data integrity (keys, mandatory fields, etc) as
well as the ability of records to refer to other records (sort of
foreign keys). Despite its simplicity, recfiles can be used to store
medium-sized databases.
I have been using org-mode for years and it rocks. In some way it
changed my life. It is perfect to store all kind of hierarchical data.
At some point I though about applying a similar philosophy to
"sequential" repetitive data with relationships. Data that we would
store in a relational database. A nice complement to org. The recutils
are the result of those thoughts.
I would highly appreciate any comment or suggestion on improving the
format, the utilities, or whatever.
Please see the GNU recutils homepage for more information:
http://www.gnu.org/software/recutils (due to the crack of savannah the
webpages replication facility is not yet working, so the page there is
old and does not reflect the release). The tarball can be downloaded
from ftp://ftp.gnu.org/gnu/recutils/recutils-1.0.tar.gz
The GNU recutils suite comprises:
- A texinfo manual, describing the Rec format and the accompaying
software.
- A C library (librec) that provides a rich set of functions to
manipulate rec data.
- A set of C utilities that can be used in shell scripts and in the
command line to operate on rec files:
+ `recinf' prints information about the contents of recfiles.
+ `recsel' prints records and field values.
+ `recins' adds new records to a recfile.
+ `recdel' deletes records.
+ `recset' manipulates fields.
+ `recfix' checks and fixes recfiles.
+ `csv2rec' converts comma-separated-values files to recfiles.
+ `mdb2rec' converts mdb files (used by MS-Access) to recfiles.
- rec-mode.el - An emacs mode to edit and navigate recfiles. Still
experimental and without a manual.
Whatever... sorry for the spam! XD
--
Jose E. Marchesi jemarch@gnu.org
GNU Project http://www.gnu.org
next reply other threads:[~2010-12-03 21:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-03 21:16 Jose E. Marchesi [this message]
2010-12-04 7:17 ` [OT] recutils Michael Brand
2010-12-04 8:25 ` Russell Adams
2010-12-04 12:30 ` Jose E. Marchesi
2010-12-04 12:28 ` Jose E. Marchesi
2010-12-04 18:50 ` Russell Adams
2010-12-05 18:59 ` Michael Brand
2010-12-05 20:20 ` Jose E. Marchesi
2010-12-13 12:33 ` Jean-Marie Gaillourdet
2010-12-20 18:09 ` Michael Brand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874oauh7zq.fsf@gnu.org \
--to=jemarch@gnu.org \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.