Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (
Help us improve Python packaging - Donate today!

A package manager for Xonotic.

Project Description

A command-line package manager for the xonotic-map-repository project.

Used with the unofficial Xonotic map repository,, by default.

The JSON provides rich metadata about map packages which makes it easier to discern differences between them.

For information about what data is available check JSON Structure. ## Requirements


If you do not already have pip and setuptools for Python 3:

sudo apt install python3-pip python3-setuptools


pip3 install xmm --user

or for development:

git clone
cd xonotic-map-manager
python3 develop


usage: xmm [-h] [--version] [-S [SERVER]] [-T [TARGET]] [-R [REPOSITORY]]

Xonotic Map Manager is a tool to help manage Xonotic maps

positional arguments:
    search              search for maps based on bsp names
    install             install a map from the repository, or specify a URL.
    remove              remove based on pk3 name
    discover            discover packages in a target directory
    list                list locally installed packages
    show                show details of remote or locally installed packages
    export              export locally managed packages to a file
    servers             subcommands on servers described in servers.json
    repos               subcommands on repos described in sources.json
    update              update sources json
    hello               hello is an example plugin

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -S [SERVER], --server [SERVER]
                        target server as defined in servers.json
  -T [TARGET], --target [TARGET]
                        target directory
  -R [REPOSITORY], --repository [REPOSITORY]
                        repository to use (defaults to all available)


Documentation is hosted on


Contributions to this project are welcome, please read


Copyright (c) 2016 Tyler Mulligan ( and contributors.

Distributed under the MIT license. See the LICENSE file for more details.

0.8.0 / 2016-12-22


  • Multi-repo support
  • Created documentation with sphinx, hosted at
  • Integrated tests and CI with travis
  • arg completion for bash and zsh via argcomplete
  • -L flag on the xmm show subcommand to explicitly indicate showing map details from a locally installed map. Otherwise, the source_collection cache is used for all information.
  • -R flag to specify a single repository if using many
  • --version flag
  • export command supports two more formats, shasums, maplist (bsps), or repo JSON (#7)
  • servers command added with subcommand list
  • repos command added with subcommand list
  • --highlight, -H flags become --color
  • User-configurable Logging


  • Complete overhaul of code base exposing a Python API
  • No longer using pickle, storing data in JSON
  • Configuration updates, see Upgrading

Release History

This version
History Node


Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting