Open Source projects

This is a directory of the open source software projects I maintain.

Aglyph — Dependency Injection for Python

Aglyph is a Dependency Injection framework for Python 2.7+ that tries to be as unobtrusive as possible. Because Aglyph does not require modification of existing sources in order to provide injection support, even third-party dependencies and dependents can be injected.

Both programmatic and XML-based configuration are supported for the assembly of prototype, singleton, borg, and weakref components. A tutorial and guide are included in the documentation.

Aglyph has been unit-tested on CPython 2.7 - 3.4, and on recent versions of the PyPy, Jython, IronPython, and Stackless Python variants.

Language
Python
License
MIT

Autologging — easier logging and tracing for Python classes

Autologging provides a custom log level (TRACE), decorators, and a metaclass that can be used individually or in combination to create more informative logging and tracing messages, particularly when logging/tracing class methods.

Functions and class methods, including staticmethods and classmethods, can be automatically traced (call with arguments, return with value). Classes can be decorated to provide a sensibly-named logger (i.e. a logger name suffixed with ".ClassName"). Autologging uses a logger named after the containing module as the parent logger, or you can pass an explicitly-named logger for more control.

Autologging works with CPython 2.7 and 3.2+, and requires no external dependencies.

Language
Python
License
MIT

NinthTest JCA Provider

The NinthTest JCA Provider is a security provider for the Java™ Cryptography Architecture, focused on supporting candidate, reference, academic, and experimental cryptographic algorithms and security services.

Currently, the Helix stream cipher and combined MAC function is supported. Security services provided by the NinthTest JCA Provider provides a detailed, up-to-date list of all services provided by the current version.

The NinthTest JCA Provider has been unit-tested on Java SE version 6.

Language
Java
License
LGPL-3.0

Character Encoding Translator

Character Encoding Translator is an API and utility for translating text from one character encoding to another.

A single JAR provides a GUI application, a console application, and an API. The documentation includes a usage guide with examples.

Character Encoding Translator has been unit-tested on Java SE version 6.

Language
Java
License
MIT

FLAC Manager — audio metadata aggregator and FLAC+MP3 encoder

FLAC Manager is a simple GUI for aggregating audio metadata and ripping/tagging tracks to FLAC and MP3 formats at once.

Audio metadata is aggregated from Gracenote and MusicBrainz. Users have the opportunity to select from aggregated metadata values, or enter freeform values. The application encodes CD-DA disc tracks to FLAC (lossless) and MP3 (lossy) in one operation.

FLAC Manager requires Python 3.3+, the Python tkinter module, the flac command-line utility, the lame command-line utility, and the libdiscid shared library.

Platform
Mac OS X
Language
Python
License
MIT