14 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.
SimpleTemplate is a simple template engine written in Java. You can generate formatted text from a Java bean. You can use it for generating XML files, Web sites, etc. It features simple template directives, user-selectable template directive separators, alias creation using with and set directives, support for indexing into arrays, collections, and maps, looping on an array or a collection, a simple include mechanism to reuse template files, conditional evaluation using if and ifelse, and custom list separation settings (prefix, suffix, and separators). Template files can be read from the filesystem, class path, or just a string. Support for methods, aka. sub templates.
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.
OrientDB is a NoSQL DBMS which can store 150,000 documents per second on common hardware. Even with a document-based database, the relationships are managed as in graph databases, with direct connections among records. You can traverse entire or parts of trees and graphs of records in a few milliseconds. It supports schema-less, schema-full, and schema-mixed modes, has a strong security profiling system based on users and roles, and supports SQL between the query languages. Thanks to the SQL layer, it's straightforward to use for people skilled in the relational world.
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.
A DVD ripping, DVD creation, Web video downloader, and video conversion tool.