# &Evolution; API Reference

This part presents the class and function reference for the different libraries and interfaces that &Evolution; provides. Classes are described together with their methods; individual functions are grouped by functional group.

&Evolution; provides two kinds of interfaces, public and private. The public interfaces are those designed to be used from third-party applications or components; if you wanted to write an application that uses &Evolution;'s data repositories to display data in a particular way, you would use the public interfaces. The private interfaces are those used inside &Evolution; itself; these are generally not interesting unless you intend to make modifications to the &Evolution; code base.

While the public and private interfaces are described in separate reference sections, we have decided to put them together in the same book, this guide, because we want to encourage you to regard &Evolution; as something more than a black box that stores and dispatches personal information. We want you to make modifications to the &Evolution; core if these would allow you to present or store your data in better ways. &Evolution; is free software; we want you to learn from its design and implementation details so that you can make it even better for the whole world to use.

&calendar-public-reference;