Core Technologies
=================
Python
++++++
.. image:: _static/python-logo.png
:width: 80px
:align: right
Python is a programming language that is becoming increasingly popular for
scientific use.
`Python Homepage `_
For those new to Python, we recommend the book
`Effective Computation in Physics `_,
an excellent primer in scientific Python that starts from the very beginning.
IPython
+++++++
.. image:: _static/ipython-logo.jpg
:width: 80px
:align: right
IPython is a powerful interactive command prompt, developed by physicists
for scientific computing. At NSLS-II, we use our data collection packages
from inside an IPython session. There, we can also retrieve, export, and
analyze data.
`IPython Homepage `_
Jupyter (formerly, IPython notebooks)
+++++++++++++++++++++++++++++++++++++
.. image:: _static/jupyter-logo.png
:width: 80px
:align: right
Jupyter notebooks (formerly, IPython notebooks) allow users to interact with a
Python process from a web browser. They are a useful new tool for collaboration
and reproducible science.
`Jupyter Homepage `_
Conda
+++++
.. image:: _static/anaconda-logo.png
:width: 80px
:align: right
Conda is an package manager (i.e., installer). It support "virtual
environments," making it easy to switch between different versions and
combinations of software packages.
It is a free product from Continuum Analytics. At NSLS-II, we use it to
distribute all our collection and analysis software.
`Conda Cheat Sheet `_
`Full Documentation `_
MongoDB
+++++++
.. image:: _static/mongodb-logo.jpg
:width: 80px
:align: right
MongoDB is an open-source document database designed for ease of
development and scaling. It supports rich search capability and flexible
document specification, which is ideal for scientific workflows.
At NSLS-II, we store all experiment metadata and "small" data
(i.e., not images) in MongoDB.
`MongoDB Homepage `_