Skip to main content

A multiple-origin package manager

Project description

mopack

mopack (pronounced "ammopack") is a multiple origin package manager, with an emphasis on C/C++ packages. It's designed to allow users to resolve package dependencies from multiple package managers ("origins").

Why mopack?

Separate abstract and concrete dependencies

Generally speaking, developers of a project are more concerned about dependencies in the abstract: if your project requires Boost v1.50+, that's all that really matters. However, when building a project, you work with concrete dependencies: you naturally have to download a particular version of Boost and build/install it in a particular way. mopack supports this by letting a project's build system asking how to use (link to) an abstract dependency, which mopack will resolve via a particular concrete dependency.

No configuration necessary

If you've already downloaded and installed a project's dependencies, you usually don't need to do anything else. mopack can find dependencies using common methods for the relevant platform (e.g. pkg-config, searching system paths).

Easy overrides

To simplify building their project, developers can provide a default mopack configuration so that a standard build just works without any extra effort. However, people who build the project may prefer to resolve packages from somewhere else. mopack makes this easy: simply pass in an extra mopack file with new definitions for any dependency, and mopack will use those instead.

Installation

mopack uses setuptools, so installation is much the same as any other Python package:

$ pip install mopack

From there, you can start using mopack to build your software!

License

This project is licensed under the BSD 3-clause license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mopack-0.1.0.tar.gz (54.6 kB view hashes)

Uploaded Source

Built Distribution

mopack-0.1.0-py3-none-any.whl (67.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page