mirror of https://github.com/mamba-org/mamba.git
Revamp README (#1842)
Co-authored-by: Pavel Zwerschke <pavel.zwerschke@quantco.com>
This commit is contained in:
parent
ae47358138
commit
452a80187a
89
README.md
89
README.md
|
@ -23,95 +23,58 @@
|
|||
[](https://gitter.im/mamba-org/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[](https://mamba.readthedocs.io/en/latest)
|
||||
|
||||
Mamba is a reimplementation of the conda package manager in C++.
|
||||
`mamba` is a reimplementation of the conda package manager in C++.
|
||||
|
||||
- parallel downloading of repository data and package files using multi-threading
|
||||
- libsolv for much faster dependency solving, a state of the art library used in the RPM package manager of Red Hat, Fedora and OpenSUSE
|
||||
- core parts of mamba are implemented in C++ for maximum efficiency
|
||||
- core parts of `mamba` are implemented in C++ for maximum efficiency
|
||||
|
||||
At the same time, mamba utilize the same command line parser, package installation and deinstallation code and transaction verification routines as `conda` to stay as compatible as possible.
|
||||
At the same time, `mamba` utilizes the same command line parser, package installation and deinstallation code and transaction verification routines as `conda` to stay as compatible as possible.
|
||||
|
||||
Mamba is part of a bigger ecosystem to make scientific packaging more sustainable. You can read our [announcement blog post](https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23).
|
||||
The ecosystem also consists of `quetz`, an open source conda package server and `boa`, a fast conda package builder.
|
||||
The ecosystem also consists of `quetz`, an open source `conda` package server and `boa`, a fast `conda` package builder.
|
||||
|
||||
### Installation
|
||||
## Installation
|
||||
|
||||
It's advised to install mamba from conda-forge. If you already have conda, install mamba into the base environment:
|
||||
Please refer to the [`mamba` and `micromamba` installation guide](https://mamba.readthedocs.io/en/latest/installation.html) in the documentation.
|
||||
|
||||
```
|
||||
conda install mamba -n base -c conda-forge
|
||||
```
|
||||
## Additional features in Mamba and Micromamba
|
||||
|
||||
otherwise it's best to start with [Miniconda](https://docs.conda.io/en/latest/miniconda.html).
|
||||
If you want to experiment with the latest software, you can also try micromamba (more below).
|
||||
`mamba` and `micromamba` come with features on top of stock `conda`.
|
||||
|
||||
Another alternative (if you want/need to avoid Anaconda entirely) is to use [Mambaforge](https://github.com/conda-forge/miniforge#mambaforge) via the [Miniforge](https://github.com/conda-forge/miniforge) distribution.
|
||||
### `repoquery`
|
||||
|
||||
### Installing conda packages with `mamba`
|
||||
To efficiently query repositories and query package dependencies you can use `mamba repoquery` or `micromamba repoquery`.
|
||||
See the [repoquery documentation](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html#repoquery) for details.
|
||||
|
||||
Now you are ready to install packages with
|
||||
### Installing lock files
|
||||
|
||||
```bash
|
||||
mamba install xtensor-r -c conda-forge
|
||||
```
|
||||
`micromamba` can be used to install lock files generated by [conda-lock](https://conda-incubator.github.io/conda-lock/) without having to install `conda-lock`.
|
||||
|
||||
for example.
|
||||
### provision-with-micromamba (setup-miniconda replacement)
|
||||
|
||||
### Additional features
|
||||
[provision-with-micromamba](https://github.com/marketplace/actions/provision-with-micromamba) is a replacement for [setup-miniconda](https://github.com/marketplace/actions/setup-miniconda) that uses `micromamba`.
|
||||
It can significantly reduce your CI setup time by:
|
||||
|
||||
Mamba comes with features on top of stock conda.
|
||||
To efficiently query repositories and query package dependencies you can use `mamba repoquery`.
|
||||
|
||||
Here are some examples:
|
||||
|
||||
`mamba repoquery search xtensor` will show you all available xtensor packages. You can also specify more constraints on this search query, for example `mamba repoquery search "xtensor>=0.18"`
|
||||
|
||||
`mamba repoquery depends xtensor` will show you a tree view of the dependencies of xtensor.
|
||||
|
||||
```
|
||||
$ mamba repoquery depends --tree xtensor
|
||||
|
||||
xtensor == 0.21.5
|
||||
├─ libgcc-ng [>=7.3.0]
|
||||
│ ├─ _libgcc_mutex [0.1 conda_forge]
|
||||
│ └─ _openmp_mutex [>=4.5]
|
||||
│ ├─ _libgcc_mutex already visited
|
||||
│ └─ libgomp [>=7.3.0]
|
||||
│ └─ _libgcc_mutex already visited
|
||||
├─ libstdcxx-ng [>=7.3.0]
|
||||
└─ xtl [>=0.6.9,<0.7]
|
||||
├─ libgcc-ng already visited
|
||||
└─ libstdcxx-ng already visited
|
||||
```
|
||||
|
||||
And you can ask for the inverse, which packages depend on some other package (e.g. `ipython`) using `whoneeds`.
|
||||
|
||||
```
|
||||
$ mamba repoquery whoneeds ipython
|
||||
|
||||
Name Version Build Channel
|
||||
──────────────────────────────────────────────────
|
||||
ipykernel 5.2.1 py37h43977f1_0 installed
|
||||
ipywidgets 7.5.1 py_0 installed
|
||||
jupyter_console 6.1.0 py_1 installed
|
||||
|
||||
```
|
||||
|
||||
With the `--tree` (or `-t`) flag, you can get the same information in a tree.
|
||||
- Using `micromamba`, which takes around 1 s to install.
|
||||
- Caching package downloads.
|
||||
- Caching entire `conda` environments.
|
||||
|
||||
## micromamba
|
||||
|
||||
A guide on how to install `micromamba` can be found in the [official documentation](https://mamba.readthedocs.io/en/latest/installation.html#micromamba).
|
||||
`micromamba` is a small, pure-C++ reimplementation of `mamba`/`conda`. It strives to be a full replacement for `mamba` and `conda`. As such, it doesn't use any `conda` code (in fact it doesn't require Python at all).
|
||||
|
||||
### Development installation
|
||||
See the [documentation on `micromamba`](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html) for details.
|
||||
|
||||
## Development installation
|
||||
|
||||
Please refer to the instructions given by the [official documentation](https://mamba.readthedocs.io/en/latest/developer_zone/build_locally.html#).
|
||||
|
||||
### Support us
|
||||
## Support us
|
||||
|
||||
For questions, you can also join us on the [QuantStack Chat](https://gitter.im/QuantStack/Lobby) or on the [conda channel](https://gitter.im/conda/conda) (note that this project is not officially affiliated with `conda` or Anaconda Inc.).
|
||||
For questions, you can also join us on the [QuantStack Chat](https://gitter.im/QuantStack/Lobby) or on the [Conda channel](https://gitter.im/conda/conda) (note that this project is not officially affiliated with `conda` or Anaconda Inc.).
|
||||
|
||||
### License
|
||||
## License
|
||||
|
||||
We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.
|
||||
|
||||
|
|
Loading…
Reference in New Issue