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 `_