.. _api_installing:
Getting Started with SimPEG
***************************
.. _installing_python:
Prerequisite: Installing Python
===============================
SimPEG is written in Python_!
We highly recommend installing it using Anaconda_ (or the alternative Miniforge_).
It installs `Python `_,
`Jupyter `_ and other core
Python libraries for scientific computing.
If you and Python_ are not yet acquainted, we highly
recommend checking out `Software Carpentry `_.
.. note::
As of version 0.11.0, we will no longer ensure compatibility with Python 2.7. Please use
the latest version of Python 3 with SimPEG. For more information on the transition of the
Python ecosystem to Python 3, please see the `Python 3 Statement `_.
.. image:: https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Python-logo-notext.svg/220px-Python-logo-notext.svg.png
:align: right
:width: 100
:target: https://www.python.org/
.. _Python: https://www.python.org/
.. _Anaconda: https://www.anaconda.com/products/individual
.. _Miniforge: https://github.com/conda-forge/miniforge
.. _installing_simpeg:
Installing SimPEG
=================
Conda Forge
-----------
SimPEG is available through `conda-forge` and you can install is using the
`conda package manager `_ that comes with the Anaconda_
or Miniforge_ distributions:
.. code::
conda install SimPEG --channel conda-forge
Installing through `conda` is our recommended method of installation.
.. note::
Since `version 23.10.0
`_,
``conda`` makes use of the ``libmamba`` solver to resolve dependencies. It
makes creation of environments and installation of new packages much faster
than when using older versions of ``conda``.
Since this version, ``conda`` can achieve the same performance as
``mamba``, so there's no need to install ``mamba`` if you have an updated
version of ``conda``.
If not, either `update conda
`_, or
keep using ``mamba`` instead.
PyPi
----
SimPEG is on `pypi `_! First, make sure
your version of pip is up-to-date
.. code::
pip install --upgrade pip
Then you can install SimPEG
.. code::
pip install SimPEG
To update SimPEG, you can run
.. code::
pip install --upgrade SimPEG
Installing from Source
----------------------
First (you need git)::
git clone https://github.com/simpeg/simpeg
Second (from the root of the SimPEG repository)::
pip install .
If you are interested in contributing to SimPEG, please check out the page on :ref:`Contributing `
Success?
========
If you have been successful at downloading and installing SimPEG, you should
be able to download and run any of the :ref:`examples and tutorials `.
If not, you can reach out to other people developing and using SimPEG on the
`google forum `_ or on
`Mattermost `_.
Useful Links
============
An enormous amount of information (including tutorials and examples) can be found on the official websites of the packages
* `Python `_
* `Numpy `_
* `SciPy `_
* `Matplotlib `_
Python for scientific computing
-------------------------------
* `Python for Scientists `_ Links to commonly used packages, Matlab to Python comparison
* `Python Wiki `_ Lists packages and resources for scientific computing in Python
* `Jupyter `_
Numpy and Matlab
----------------
* `NumPy for Matlab Users `_
* `Python vs Matlab `_
Lessons in Python
-----------------
* `Software Carpentry `_
* `Introduction to NumPy and Matplotlib `_
Editing Python
--------------
There are numerous ways to edit and test Python (see
`PythonWiki `_ for an overview) and
in our group at least the following options are being used:
* `Jupyter `_
* `Sublime `_
* `PyCharm `_