Skip to content
Jack Sankey edited this page Feb 8, 2019 · 84 revisions

Welcome to the spinmob wiki!

Spinmob is designed as a high-level, concise, and easy-to-navigate library for acquiring, saving, loading, visualizing, and analyzing ascii data files. For example, the following nonlinear fit:

Example fit

is produced with the following commands:

f = spinmob.data.fitter()
f.set_functions('a*x*cos(b*x)+c', 'a=-0.2, b, c=3')
f.set_data([1, 2, 3, 4, 5], [1.7, 2, 3, 4, 3], 0.115)
f.fit()

The code's documentation can be accessed inline, for example by using -i in Spyder:

Example documentation

As with all python goodness, spinmob is free and cross-platform. Check out the "chapters" on the right-hand side of this page to get a feel for what it can do (and learn a bit about python itself if you're new).

Recommended method for installing everything

Windows, OSX, and Linux

1. Install Anaconda Python or Miniconda

Anaconda Python comes with a lot of packages. Miniconda comes with the bare bones, allowing you select only those packages you want.

2. Install Spinmob

Spinmob requires python 2.7 or higher, and the following packages:

  • Scipy & Numpy for numerical calculations.
  • Matplotlib for publication-quality figures.
  • PyQtGraph for easy graphical development and fast plotting.

Most of these are already installed with Anaconda Python, and everything can be installed using the conda command. Open the "Terminal" on Linux/OSX, and "cmd.exe" on Windows, and run the following commands:

conda install numpy scipy matplotlib pyqtgraph spyder
pip install spinmob

It is also possible to upgrade Spinmob with pip:

pip install spinmob --upgrade --no-cache-dir

or, if you're Thomas, you can try

python -m pip install --upgrade --no-cache-dir

Other installation techniques (pros only!)

Installing Spinmob into an existing python environment

If you have a working python installation and just want to install Spinmob (and its dependencies), you can do so with "pip" from your system's command line ("Terminal" in OSX/Linux, "cmd.exe" in Windows):

pip install numpy scipy matplotlib pyqtgraph spyder spinmob

I do not recommend this approach, as system python installs are finicky and often your system relies on them in weird ways.

Direct download or git clone

If pip doesn't work for some reason, this is a sure-fire method: Create a "spinmob" folder in python's site-packages directory and either clone the spinmob repository there or download / unzip. We highly recommend using a git client as described on the contributing page.

Clone this wiki locally