Zbigniew Jędrzejewski-Szmek 86494089df Use stable ordering when writing shell completions
Set ordering is unstable (uses the hash for ordering), so the output file
would be different every time. Sort the sets into lists before writing. In
various places there were unnecessary "conversions", e.g. sorted() always
returns a list, so 'list(sorted(…))' is not useful.

In one place output is fixed to say: "Choices are: doc, ereader, ztxt" instead
of "['doc', 'ereader', 'ztxt']".

For module constants, just create the object directly. The code is easier to
read/edit when the list is constructed directly with items that are ordered in
the same way that is shown in various outputs (instead of being sorted
dynamically).

There is some more syntax confusion in src/calibre/linux.py. For example,
'"%s" % (x)' is the same as '"%s" % x', because just putting something in
parentheses does not create a tuple. It'd be nice to clean up this whole file
to use f-strings and not the error-prone %-formatting, but that's a separate
issue.

In a test build of the Fedora package, the generated file is now stable.
2024-10-21 12:21:30 +02:00
2024-03-30 13:02:22 +05:30
2024-03-30 13:02:22 +05:30
2024-10-20 13:57:35 +05:30
2024-10-17 15:45:27 +05:30
2024-08-16 13:08:28 +05:30
2024-10-11 22:15:02 +05:30
2024-10-18 07:22:48 +05:30
2024-01-04 07:24:39 +01:00
2021-01-24 19:53:30 +09:00
2021-01-24 19:53:30 +09:00
2024-03-30 13:02:22 +05:30

calibre

calibre is an e-book manager. It can view, convert, edit and catalog e-books in all of the major e-book formats. It can also talk to e-book reader devices. It can go out to the internet and fetch metadata for your books. It can download newspapers and convert them into e-books for convenient reading. It is cross platform, running on Linux, Windows and macOS.

For more information, see the calibre About page.

Build Status

Screenshots

Screenshots page

Usage

See the User Manual.

Development

Setting up a development environment for calibre.

A tarball of the source code for the current calibre release.

Bugs

Bug reports and feature requests should be made in the calibre bug tracker at Launchpad. GitHub is only used for code hosting and pull requests.

Support calibre

calibre is a result of the efforts of many volunteers from all over the world. If you find it useful, please consider contributing to support its development. Donate to support calibre development.

Building calibre binaries

See Build instructions for instructions on how to build the calibre binaries and installers for all the platforms calibre supports.

calibre package versions in various repositories

Packaging Status

Description
The official source code repository for the calibre ebook manager
Readme GPL-3.0 360 MiB
Languages
Python 92.6%
C 3.3%
C++ 3.1%
HTML 0.4%
Shell 0.2%
Other 0.2%