For thirty years, the Free Software Foundation has been seen as a guiding light for the free software movement, fighting for user freedom.

Help keep our light burning brightly by donating to push us towards our goal of raising $450,000 by January 31st.

$450k
314k so far

GNU Recutils

 [GNU Recutils logo]

GNU Recutils is a set of tools and libraries to access human-editable, plain text databases called recfiles. The data is stored as a sequence of records, each record containing an arbitrary number of named fields. The picture below shows a sample database containing information about GNU packages, along with the main features provided by recutils.

Data Integrity
  • Mandatory and forbidden fields.
  • Unique fields and primary keys.
  • Auto-counters and time-stamps.
  • Arbitrary constraints.
Rich Type System for Fields
  • Predefined: integer, real, date, etc.
  • User-defined: based on regular expressions.
Advanced database facilities
  • Joins and foreign keys.
  • Grouping and sorting.
  • Aggregate functions.
Encryption Support
  • Selective: individual fields can be encrypted.
  • Password-based AES.
Converters from/to other formats
  • mdb files to recfiles.
  • csv files to/from recfiles.
 [Recutils Screenshot]
Do you like this program?
  • Please consider making a donation. The maintainer's PayPal id is jemarch@gnu.org. Thanks! :)
Advanced Emacs mode
  • Navigation mode and editing mode.
  • Field folding.
  • Visual edition of fields driven by types.
  • User manual.
Integration with org-mode
  • Read data from recfiles into a table in an org-mode buffer in Emacs.
  • Publish the resulting data.
Templates
  • Generate reports.
  • Build your own exporters.
Complete user manual
  • Full description of the format.
  • Documentation for the utilities.
  • Usage examples.
Easy deployment
  • C library: librec
  • Rich set of utilities to be used in shell scripts and in the command line.

A video with a talk introducing the program can be found here.

An older video, which was recorded just before releasing the first version, can be downloaded from here

If you want to discuss about recutils, some of the people involved in GNU recutils use to be in the #recutils channel in the irc.freenode.net IRC network. You are more than welcome to join.

Downloading Recutils

Sources Distribution

GNU recutils can be found on the main GNU ftp server: http://ftp.gnu.org/gnu/recutils/ (via HTTP) and ftp://ftp.gnu.org/gnu/recutils/ (via FTP). It can also be found on the GNU mirrors; please use a mirror if possible.

Binary Packages

Additionally there are binary packages for some GNU/Linux distributions.

If you know of some other binary distribution of GNU recutils please get in touch with the maintainer.

Documentation

Take a look to our Frequently Asked Questions section.

Documentation for Recutils is available online, as is documentation for most GNU software. You can find more information about Recutils by running info recutils or by looking at /usr/doc/recutils/, /usr/local/doc/recutils/, or similar directories on your system.

Mailing lists

GNU recutils has two mailing lists: <bug-recutils@gnu.org> and <help-recutils@gnu.org>.

The main discussion list is <bug-recutils@gnu.org>, and is used to discuss most aspects of recutils, including development and enhancement requests, as well as bug reports.

There is a separate list for general user help and discussion, <help-recutils@gnu.org>.

Announcements about Recutils and most other GNU software are made on <info-gnu@gnu.org>.

To subscribe to these or any GNU mailing lists, please send an empty mail with a Subject: header of just subscribe to the relevant -request list. For example, to subscribe yourself to the GNU announcement list, you would send mail to <info-gnu-request@gnu.org>. Or you can use the mailing list web interface.

Getting involved

Development of Recutils, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion mailing list (see above).

Test releases
Trying the latest test release (when available) is always appreciated. Test releases of Recutils can be found at http://alpha.gnu.org/gnu/recutils/ (via HTTP) and ftp://alpha.gnu.org/gnu/recutils/ (via FTP).
Development
For development sources, and other information, please see the Recutils project page at savannah.gnu.org.
Please send bug reports and patches to <bug-recutils@gnu.org>,
Translating Recutils
To translate Recutils's messages into other languages, please see the Translation Project page for Recutils. If you have a new translation of the message strings, or updates to the existing strings, please have the changes made in this repository. Only translations from this site will be incorporated into Recutils. For more information, see the Translation Project.
Maintainer
Recutils is currently being maintained by Jose E. Marchesi. Please use the mailing lists for contact.

Licensing

Recutils is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

 [FSF logo] “Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”

The Free Software Foundation is the principal organizational sponsor of the GNU Operating System. Support GNU and the FSF by buying manuals and gear, joining the FSF as an associate member, or making a donation, either directly to the FSF or via Flattr.

back to top

Translations of this page