From Kovid Goyal
A one stop solution to all your e-book needs. It is free, open source and cross-platform in design and works well on Linux, OS X and Windows. calibre is meant to be a complete e-library solution and thus includes library management, format conversion, news feeds to ebook conversion, as well as e-book reader sync features and an integrated e-book viewer.
I come from the Unix world, which means calibre is architected in little pieces each with its own command line interface which means that each piece of functionality is reusable not just in python programs but in any software. In fact adding complete support for converting any new ebook format to calibre requires the writing of only two converters format->html and html->format as well as a metadata reading/writing tool. All the other features of calibre will work automatically with these three converters in place. Similarly, writing a device driver requires very little work. You basically have to implement a well-defined interface (interface.py). Once you do that, your device will have full support in calibre.
Adding support for new Input/Output formats
Calibre is written primarily in Python with a few C extension modules. So you have to contribute plugins in either Python or C/C++.
* Nook Color driver: Send downloaded news to the My Files/Magazines folder on the Nook Color. Also when getting the list of books on the device look at all folders in My Files, not just My Files/Books.
* MOBI Output: Use the book uuid as the ASIN field and set cdetype to EBOK to allow Amazon furthest read tracking to work with calibre generated MOBI files.
* Comic input: Add an option to override the image size in the generated comic. Useful if you have a device whose screen size is not coverred by one of the available output profiles.
* Add a restore database option to the Library maintenance menu in the GUI
* TXT Output: Allow output in the textile markup language
* PML Output: Create multi-level Table of Contents
* Driver for the Archos 7O
* Search and Replace in the Bulk metadata dialog can now operate on the title_sort field as well
* Allow changing the case of authors/tags/series etc. via the edit metadata dialog
* Connect/share menu: Re-organize to make it a little less easy to select email and delete instead of just email by mistake
* Heuristics: Improved Scene break detection and add option to control what scene breaks are replaced by.
* SONY driver: Add option to not preserve aspect ratio of cover thumbnails.
* BiBTeX catalog: Add on device column when available
* Add search to the plugin preferences dialog