crater

A dependency management system


License
MIT
Install
pip install crater==0.6

Documentation

Build Status

Crater

A really really simple package dependency manager.

Except we use the word "crate" instead of "package" because it sounds more cool. The word also differentiates this particualar solution from others, especially in the following areas.

  • There is no centralized crate repository. Every git repo or zip file that is publicly visible is automatically a viable crate.
  • There is no preferred programming language. You can use crater for C++ projects as easily as for JavaScript. Feel free to ditch npm.
  • Crater doesn't differentiate between source and binary crates. If you want to pull pre-built binaries, go right ahead.
  • Crater doesn't do builds. It does however export all the information necessary for you to integrate your favorite build system.
  • Crater handles diamond dependencies. A lot of other package managers do that too, but it's still worth mentioning. Otherwise, you might as well use git submodules.

Installation

Crater is written in python, so you'll need that. You'll also need pip, the python package manager.

$ pip install crater

Getting started

To pull dependencies for whatever project you want to work on, navigate to its root directory. There should be a file called DEPS and deps.lock. Then run the following command.

$ crater checkout

All your dependecies will be downloaded into the _deps directory and you should be good to go.

If you want to learn more, read the docs (after they're written).