13 projects tagged "Apache 2.0"
treap.py is a treap implementation for Python. A treap is a hybrid of a binary tree and a binary heap that is self-balancing and is O(nlog2(n)) for most operations, including deleting a value, inserting a value, finding the least value, and finding the greatest value. This particular treap implementation looks like a dictionary to the caller, but it also supports getting an ordered list (forward or reverse) in O(n) time. The code is available as pure Python (should run on about any Python implementation supporting generators, but was tested on CPython 2.6) or as part Python and part Cython for performance. The version with Cython should run on CPython or Unladen Swallow, but was only tested on CPython 2.6.
Orient Key/Value Server is based on the Document Database technology and is accessible as an embedded repository via Java APIs or via HTTP using a RESTful API. It uses a new algorithm called RB+Tree, derived from the Red-Black Tree to maintain tree balance, and from the B+Tree storing the links to records in pages to optimize memory consumption and loading time. Orient Key/Value Server scales out very well in a cluster with thousands of running machines: Orient will divide the load among all the nodes. Clustering, by default, works in auto-discovery mode: when a node starts, it attaches itself to the cluster if one is available. When a node goes down, the cluster automatically rebalances itself.
Dog is a Domotic OSGi Gateway. In other words, it is a software-based gateway used for controlling domotic environments in a vendor-independent way, thanks to its high-level semantic device modeling strategy and its driver architecture that allows it to support different domotic plant technologies.
The Apache ODF Toolkit is a set of Java modules that allow programmatic creation, scanning, and manipulation of Open Document Format (ISO/IEC 26300 == ODF) documents. Unlike other approaches that rely on runtime manipulation of heavy-weight editors via an automation interface, the ODF Toolkit is lightweight and ideal for server use.
The Hummus PDF Writer library allows you to generate PDF files. It was developed with a principal “one-off” method of generating PDF files. Adhering to this idea, it is both fast and retains a low memory signature regardless of how large the file grows. The library has a set of high level features for adding content to a PDF, including creation of pages; drawing primitives and any of the simple PDF operators for drawing content; embedding of PDF, JPEG, and TIFF images; Unicode text support with Type1, TrueType, and OpenType fonts; and defining reusable objects using XObject Forms. You can also use the library as a PDF parser. The library is very extensible. It is easy to implement more PDF features by using the lower level set of methods, which provide access to the PDF building blocks themselves. Adding a feature requires you to be familiar with the PDF formatting of that feature, but will not require you to write the basic PDF building blocks, as the library handles this.
Rythm Template Engine is a general-purpose, high-performance Java template engine which uses a Razor-like syntax. It is 2-to-3 times faster than Velocity. It supports variables, expression evaluation, control flow (if-else-if), looping, template inheritance(decoration/layout), and many features. There is a Play!Framework plugin based on Rythm. You can use Rythm in any place to generate any type of text file, including HTML, XML, Json, SQL, and any kind of source code.