Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions docs/scenarios/scientific.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
=======================
Scientific Applications
=======================

Context
:::::::

Python is frequently used for high-performance scientific applications. Python is widely used in academia
and scientific projects because it is easy to write, and it performs really well.

Due to its high performance nature, scientific computing in python often refers to external libraries, typically
written in faster languages (like C, or FORTRAN for matrix operations). The main libraries used are NumPy and SciPy

Libraries
:::::::::

Numpy
-----
`NumPy <http://numpy.scipy.org/>`_ is a low level library written in C (and FORTRAN) for high level mathematical functions.
NumPy cleverly overcomes the problem of running slower algorithms on Python by using multidimensional arrays and functions that operate on arrays.
Any algorithm can then be expressed as a function on arrays, allowing the algorithms to be run quickly.


NumPy is part of the SciPy project, and is released as a separate library so people who only need the basic requirements can just use NumPy.

NumPy is compatible with Python versions 2.4 through to 2.7.2 and 3.1+.

SciPy
-----
`SciPy <http://scipy.org/>`_ is a library that uses Numpy for more mathematical function. SciPy uses NumPy arrays as its basic data structure.
SciPy comes with modules for various commonly used tasks in scientific programing like linear algebra, integration (calculus),
ordinary differential equation solvers and signal processing.

Enthought
---------

Installing NumPy and SciPy can be a daunting task. Which is why the `Enthought Python distribution <http://enthought.com/>`_ was created. With Enthought,
scientific python has never been easier (one click to install about 100 scientific python packages). User beware: Enthought is not free.

Matplotlib
----------

.. todo:: write about matplotlib.

Resources
:::::::::

Many people who do scientific computing are on Windows. And yet many of the scientific computing packages are notoriously difficult to build and install.
`Christoph Gohlke <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_ however, has compiled a list of Windows binaries for many useful Python packages.
The list of packages has grown from a mainly scientific python resource to a more general list. It might be a good idea to check it out if you're on Windows.
20 changes: 20 additions & 0 deletions docs/scenarios/web.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,23 @@ you may need, such as database access or form generation and validation. For
many popular modules, `Extensions <http://flask.pocoo.org/extensions/>`_ may
already exist to suit your needs.

**Support** for flask can best be found in its mailing list. Just shoot an email to
flask@librelist.com and reply to the confirmation email.


Pyramid
-------

.. todo:: Explian Pyramid

Web.py
------

`web.py <http://webpy.org>`_ is a minimalist web framework that is somewhere between Django and Flask.
The premise of web.py is that it is flexible - code your webapp any way you want it, in just python and python alone.
web.py comes with some nifty tools built in, like database connection tools and a mini http server.

**Support** for web.py is quite sparse, but you can look for support in the `mailing list <http://groups.google.com/group/webpy>`_ .
Web Servers
:::::::::::

Expand Down Expand Up @@ -281,6 +292,15 @@ Shared Web Hosting
WebFaction
~~~~~~~~~~~

`Webfaction <http://www.webfaction.com/>`_ started off as a dedicated python hosting company.
In fact it used to be called python-hosting.com. Webfaction supports Python versions 2.4 through to 2.7.2
as well as Python 3 versions.

Webfaction has a very extensive `user guide <http://docs.webfaction.com/user-guide/>`_
and specific stack (`Django <http://docs.webfaction.com/software/django/index.html> `_, `Pylons <http://docs.webfaction.com/software/pylons.html>`_,
`Pyramid <http://docs.webfaction.com/software/pyramid.html>`_, `TurboGears <http://docs.webfaction.com/software/turbogears.html>`_
and `vanilla python <http://docs.webfaction.com/software/python.html>`_) guides.
It also has a stack-overflow style `community <http://community.webfaction.com/>`_ that is quite useful.

Twisted
:::::::
Expand Down