Development

You want to improve MapProxy, found a bug and want to fix it? Great! This document points you to some helpful information.

Source

Releases are available from the PyPI project page of MapProxy. There is also an archive of all official releases, unofficial releases and pre-releases can be found here.

MapProxy uses Git as a source control management tool. If you are new to distributed SCMs or Git we recommend to read Pro Git.

The main (authoritative) repository is hosted at http://github.com/mapproxy/mapproxy

To get a copy of the repository call:

git clone https://github.com/mapproxy/mapproxy

CI Server

We have a continuos integration server that automatically runs the MapProxy test suite against different Python versions.

The server is located at http://ci.mapproxy.org/

How to contribute

You can post patches to the mailing list or create a new ticket. Or better, create a "fork" instead and send a pull request.

Feel free to post to the mailing list first, if you have any question.

More information

There is a whole chapter about development in the documentation. It covers most aspects of the MapProxy development including the source code, documentation, tests, etc.

Roadmap

Where are we going with MapProxy? Here are some ideas of features we would like to have in MapProxy.

If you want to help out implementing a feature then join our mailing list, or if you want to fund a feature (even partially), then let us know.

The following list is not exhaustive.

New cache backends

Different use-cases require different cache backends. MapProxy is already flexible with file-based, CouchDB and MBTile backends, but there is still room for improvements for large replicated deployments, or setups with data that changes frequently.

Web-Configuration

Add a web-based administrator interface, that allows the configuration of MapProxy.

Linux packages

While the current deployment is straight forward and similar to other Python web applications, it is not the way you might expect it when you are familiar with other UNIX services.

Plugins

Make sources and services more plug-able, so that you can easily add support for other formats.