About

Raison d'être

The creation of maxiconda had several reasons:

  • The anaconda installer installs everything in the base environment !

  • The anaconda channel has an installer for both continuous integration (miniconda) and developers (anaconda), whereas the conda-forge channel only had installers for continuous integration (miniforge/mambaforge).

  • There is some confusion on the terms of service from anaconda regarding the commercial usage, maxiconda itself is and always will be free, even for commercial usage and regardless of the 'scale'.

  • An installer was needed that installs a 'lean mean fighting machine' base environment and splits off the Spyder IDE into an application environment and supplies nice (versioned) development environments too.

  • More differentiated development environments for niches like astronomy, biology, engineering, web, ... is desirable. (see the specs of maxiconda-envs)

The mechanics

The maxiconda project is split over two repositories : maxiconda and maxiconda-envs. The maxiconda repo holds the installer itselfs (build with constructor) that installs a 'lean mean fighting machine' base environment. At the end of the installation process, the installer runs a post-install script, which creates the `_spyder_` application environment and the `maxiconda` development environment from meta packages that are maintained in the maxiconda-envs repository.

On a daily base, the maxiconda-envs repository solves the environment specifications (see: spec.yaml) against the latest state of conda-forge. The newest solutions are automatically checked-in to the maxiconda-envs repo. Once every so often a new release of the environment meta-packages is made, while the old meta-packages are still available for use as they can be referenced with the desired version number, while omitting the version number will yield you the latest release of the meta-packages.

Each release holds a `maxiconda-envs.xlsx` file that shows you exactly which environment holds what packages across the different OS/CPU combinations.

Support / Work In Progress

Python

CPython 3.7, 3.8 and 3.9 are supported.

PyPy is currently not supported because both the PyPy 37 and PyPy37-windows migrations on conda-forge are not sufficiently evolved, but once they are, they will be supported, not from the installer, but from the maxiconda-envs repository by doing something like : `mamba create -n your-env-name pypy37`.

Operating systems & Processors

Only the 64 bit processors from the Intel/AMD and ARM lines are supported, and this for Windows, Linux and macOS.

This includes :

This does NOT include:

  • Windows 11 & ARM (as there is no migration project opened on conda-forge yet)

mamba

Because the conda-forge channel holds almost an order of magnitude more packages then the anaconda channel, using the traditional `conda` command tends to be irritatingly slow, the `mamba` command is a drop-in alternative that solves much faster, does parallel download and has a couple of useful additions. Mamba is thus also installed by default by the maxiconda installer.

License

BSD 3-Clause License


Copyright (c) 2021, Semi-ATE

All rights reserved.


Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Sources

The maxiconda project is developed and maintained on GitHub.

  • The sources of the installer proper can be found here

  • The sources of the environments the installer installs are maintained here.

  • The summary of the contents of all environments can be downloaded from here.

Credits

Many thanks to Travis Oliphant and Ilan Schnell for creating the wonderful conda system!

Also many thanks to the conda-forge and Spyder communities for their excellent work!

And Last but not least a big thank you to TDK for enabeling the maxiconda effort.

Other Installers

  • miniforge/mambaforge : Minimalistic installer also based on the conda-forge channel, targeted more to continuous integration usage.

  • anaconda : Bigger installer based on the anaconda channel, targeted to developers.

  • miniconda : Minimalistic installer based on the anaconda channel, targeted more to continuous integration usage.