SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is primarily used with common scripting languages such as Perl, PHP, Python, Tcl/Tk, and Ruby, however the list of supported languages also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro CL, UFFI), Java, Modula-3, OCAML, Octave, and R. Also several interpreted and compiled Scheme implementations (Guile, MzScheme, Chicken) are supported. SWIG is most commonly used to create high-level interpreted or compiled programming environments, user interfaces, and as a tool for testing and prototyping C/C++ software. SWIG can also export its parse tree in the form of XML and Lisp s-expressions.
QuantLib is a cross-platform, quantitative finance C++ library for modeling, pricing, trading, and risk management in real-life. It is also wrapped as Python/Ruby/Scheme modules. Extensions for Excel, R, and Mathematica are available. Other such extensions are under consideration. QuantLib offers tools that are useful both for practical implementation and for advanced modeling. It features market conventions, yield curve models, solvers, PDEs, Monte Carlo (low-discrepancy included), exotic options, VAR, and so on.
PhysicsFS is a library to provide abstract access to various archives. The programmer defines a "write directory" on the physical filesystem. No file writing done through the PhysicsFS API can leave that write directory, for security. For file reading, the programmer lists directories and archives that form a "search path". Once the search path is defined, it becomes a single, transparent, hierarchical filesystem. This makes for easy access to ZIP files in the same way as you access a file directly on the disk, and it makes it easy to ship a new archive that will override a previous archive on a per-file basis. Symbolic links can be disabled, for added safety. Finally, PhysicsFS gives you a platform- abstracted means to determine if CD-ROMs are available, the user's home directory, where in the real filesystem your program is running, etc.
Xapian is a search engine library, scalable to collections containing hundreds of millions of documents. It's written in C++ with bindings for Perl, Python, PHP, Java, Tcl, C#, Ruby, and Lua. It is a highly adaptable toolkit that allows developers to easily add advanced indexing and search facilities to their own applications. It supports the Probabilistic Information Retrieval model and also a rich set of boolean query operators. Omega is a Web search application built upon the Xapian library. It can index a Web server's document tree (including HTML, PDF, OpenOffice, MS Word/Excel/Powerpoint/Works, WordPerfect, RTF, PS, etc.), or data exported from arbitrary sources (e.g. SQL databases).
Valentina is cross-platform SQL and non-SQL columnar database that allows development of client-server [Web] solutions and applications with an embedded local database using the same sources. Valentina DB provides an Object-Relational model, but you can also mix Relational and Extended Navigational. It introduces a revolutionary model abstraction "Link" that greatly simplifies db schema, and therefore simplifies SQL queries. It supports disk and in-memory databases, and field types including Bit, BLOB, Pictures, and Enum. It provides advanced features such as triggers, views, stored procedures, regular expressions, XML, full-text search, and calculated fields. It exists as Valentina Server, Valentina Studio, and a set of Valentina ADKs for all major programming languages.