About
KeyValue is a cross-platform library for making C++ objects accessible through LibreOffice Calc, Excel and other front-ends. Experience of spreadsheet users is enhanced by an object model and a handy key-value based interface.
Actually, KeyValue does more than just help creating spreadsheet functions. The object model allows end-users to build C++ objects through the front-ends. These objects are stored in a repository for latter use at user's request. Additionally, KeyValue provides a set of services for an effective use of these objects.
The library is named after one of its main features: The key-value based interface. Parameters are passed to functions (or, more precisely, processors) through key-value pairs in contrast to the standard positional interfaces of LibreOffice Calc, Excel, C/C++, etc.
Among other features we have:
- Cross platform: Compilable by GCC for GNU/Linux and MSVC for Windows.
- Front-ends: LibreOffice Calc (GNU/Linux and Windows) and Excel 2007 add-ins are provided. (XML parser planned.)
- Flexibility: KeyValue does not impose strong constraints on the design of libraries it is supposed to help. Therefore, existing libraries can use KeyValue without big code refactoring.
- Loggers: Results, errors and general information can be reported in different types of loggers including consoles and files.
KeyValue is free software released under the terms of the GPLv3.
02 November 2011 - KeyValue at the Thalesians Seminar in London
I am happy to announce my talk on KeyValue at the Thalesians Seminar in London on 02 November 2011.
The Thalesians is, mostly, a group of quantitative analysts working on the financial industry who regularly gather around nice snacks and drinks to discuss ideas in quantitative finance and related fields.
Since KeyValue has been inspired by option pricing libraries and most its web site visitors are quantitative analysts, this is a great opportunity to present the library to people that can clearly take advantage of using it.
For more information and to book your place, visit the Thalesian's web site.
I am looking forward for the presentation and excited to hear the ideas that the "quants" can bring to KeyValue's development. Whether your are a "quant" of not, I hope you can make it.
Cheers,
Cassio Neri.
04 September 2011 - KeyValue 0.3 has been released
We are glad to announce the new release of KeyValue. The library is growing up and this release is all about flexibility and reliability.
The next release will be about upgrading. The new C++ standard is around the corner and compiler vendors are already giving support to some of the new language features. Therefore, in the next release we will probably see some of these features in KeyValue's code. Users will be asked to upgrade their systems.
Among the changes in KeyValue 0.3, we have:
- Bye bye OpenOffice. Welcome LibreOffice.
- Builders and have been redesigned (breaking code compatible with version 0.2). They are much more flexible in terms of returning types, making them more inheritance-friendly.
- More unit tests have been added, improving KeyValue's reliability.
- Many bug fixes.
- User documentation has been updated accordingly.
A more detailed list of changes is available.
As for the previous version, KeyValue is still in a pre-alpha state which means that things might not work from the first shot. Please, be patient.
We hope developers will start using and enjoying KeyValue. They are asked to contribute by providing feedback on their experience through the mailing list. This feedback will drive the development and help to improve KeyValue.
17 October 2010 - KeyValue 0.2 has been released
After seven months from KeyValue's first release and more than 150 downloads, we are glad to announce the release of version 0.2. Among the major changes we have:
- New support for help files (in HTML compressed format) for Excel add-in.
- Command processors and special support for them through a dedicated Excel's menu.
- Processor and its derived classes have been redesigned breaking code compatible with version 0.1.
- Implementation of an unit testing framework. Great part of the library is covered giving more reliability to users. More unit tests to come.
- Many bug fixes.
- User documentation has been updated accordingly.
A more detailed list of changes is available.
Although functional, the library is still in a pre-alpha state which means that things might not work from the first shot. Please, be patient.
We hope developers will start using and enjoying KeyValue. They are asked to contribute by providing feedback on their experience through the mailing list. This feedback will drive the development and help to improve KeyValue.
20 March 2010 - KeyValue 0.1 has been released
This is the first KeyValue release ever!
Although functional, the library is still in a pre-alpha state which means that things might not work from the first shot. Please, be patient.
We hope developers will start using and enjoying KeyValue. They are asked to contribute by providing feedback on their experience through the mailing list. This feedback will drive the development and help to improve KeyValue.
It is not only the code that is new and need to be tested. Actually, from the build system, going through the SourceForge set up (mercurial, file management, mailing lists, issue tracker, etc), up to the small icons in this web page, briefly, everything is new.