Moya comes with a number of libraries to get you started. They were chosen quite carefully to fit the needs of most sites. They vary from the essential (Moya Auth), to the convenient (Moya Pages), to the trivial (Moya Feedback), but all are designed for use in production.

The build in libraries are not special in any way. They could be swapped out and replaced with libraries written by yourself or someone else. The development of the built in libraries has driven the development of Moya itself and the variety of functionality has ensured that Moya can handle your site's requirements.

The only difference between a built in library and a library not bundled with Moya, is that built in libraries are imported via their Python path. You will install most other libraries by copying the contents to your project directory, and importing them with a path local to the project. Thus negating the dependency hell you might experience with libraries installed site-wide. The exception would be for Python libraries that want to bundle a module that provides a Moya interface – which may be too simple to warrant a separate package.

The collection of built in Libraries will likely grow with the Moya project, but isn't intended to offer everything you could possibly need from a web application. In particular, libraries that generate content are intended to be broadly useful and production worthy, but it is expected that there will eventually be third party options that are more feature-rich.

What Libraries do I have Installed?

When it comes to managing libraries, the moya command is your friend. Run the following in a project directory to list the libraries in your project:

$ moya libs

And if you want to review the apps, you can do the following:

$ moya apps

You can also see a table of libraries / applications in use by your project if you have Moya Debug installed – run the development server and visit /debug/.