Metadata-Version: 1.1
Name: pyMOR
Version: 0.2.2
Summary:  
Home-page: http://pymor.org
Author: Rene Milk
Author-email: rene.milk@wwu.de
License: LICENSE.txt
Description: pyMOR - Model Order Reduction with Python
        =========================================
        
        pyMOR is a software library developed at the University of Münster for
        building model order reduction applications with the Python programming
        language. Its main focus lies on the reduction of parameterized partial
        differential equations using the reduced basis method. All algorithms in
        pyMOR are formulated in terms of abstract interfaces for seamless
        integration with external high-dimensional PDE-solver. Moreover, pure
        Python implementations of finite element and finite volume
        discretizations using the NumPy/SciPy scientific computing stack are
        provided for getting started quickly.
        
        NOTE pyMOR is still in early development. Should you have any questions
        regarding pyMOR or wish to contribute, do not hesitate to contact us!
        
        [Build Status]
        
        License
        -------
        
        Copyright (c) 2013, 2014, Rene Milk, Stephan Rave, Felix Schindler All
        rights reserved.
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are
        met:
        
        -   Redistributions of source code must retain the above copyright
            notice, this list of conditions and the following disclaimer.
        -   Redistributions in binary form must reproduce the above copyright
            notice, this list of conditions and the following disclaimer in the
            documentation and/or other materials provided with the distribution.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
        IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
        TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
        PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
        HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
        SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
        TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
        PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
        LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
        NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
        SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        
        Distribution Packages
        ---------------------
        
        Packages for Ubuntu are available via our PPA:
        
            sudo apt-add-repository ppa:pymor/stable
            sudo apt-get update
            sudo apt-get install python-pymor
        
        Daily snapshots are available via the pymor/daily PPA.
        
        Demo applications and documentation are packaged separately:
        
            sudo apt-get install python-pymor-demos
            sudo apt-get install python-pymor-doc
        
        The latter makes a pymor-demo script available, which can be used to run
        all installed demos.
        
        Installation into a virtualenv
        ------------------------------
        
        When installing pyMOR manually, we recommend installation into a
        dedicated Python virtualenv. On Debian based systems, install virtualenv
        using
        
            sudo apt-get install python-virtualenv
        
        On Ubuntu systems, you may also wish to install pyMOR's dependencies
        system-wide using
        
            sudo apt-add-repository ppa:pymor/stable
            sudo apt-get update
            sudo apt-get build-dep python-pymor
        
        Then create a new virtualenv and activate it:
        
            virtualenv --system-site-packages $PATH_TO_VIRTUALENV
            source $PATH_TO_VIRTUALENV/bin/activate
        
        The --system-site-packages flag makes Python packages installed by your
        distribution available inside the virtualenv. If you do not wish this
        behaviour, simply remove the flag.
        
        On older distributions you will have to upgrade the distribute package.
        Moreover, if NumPy and Cython are not already available in the
        virtualenv, we will have to install them manually. (Automatic dependency
        resolution via pip fails for these packages. To build NumPy and, later,
        SciPy, you will need to have Fortran as well as BLAS and LAPACK headers
        installed on your system.)
        
            pip install --upgrade distribute
            pip install cython
            pip install numpy
        
        Finally install pyMOR itself with all missing dependencies:
        
            pip install pymor
        
        The installation script might recommend the installation of additional
        packages. (This is easy to miss, as pip will install dependencies after
        pyMOR itself has been installed, so search at the top of your console
        log!) You will most likely want to install IPython and, in particular,
        matplotlib, PyOpenGL, glumpy, and PySide. The latter packages are
        required for pyMOR's visualization routines.
        
        Documentation
        -------------
        
        Documentation is available online at Read the Docs or offline in the
        python-pymor-doc package.
        
        To build the documentation yourself, execute
        
            make doc
        
        inside the root directory of the pyMOR source tree. This will generate
        HTML documentation in docs/_build/html.
        
        Setting up an Environment for pyMOR Development
        -----------------------------------------------
        
        If you want to modify (or extend!) pyMOR itself, we recommend to setup a
        virtualenv for development (see above). The virtualenv should have all
        dependencies of pyMOR available. On Ubuntu machines, you can simply
        install pyMOR from our PPA and then create an empty virtualenv with
        system site-packages enabled. Otherwise, follow the above instructions
        for installing pyMOR inside a virtualenv. However, pyMOR itself should
        not be installed inside the virtualenv. If it is, use
        
            pip uninstall pymor
        
        to remove it. Then, clone the pyMOR git repository using
        
            git clone https://github.com/pymor/pymor $PYMOR_SOURCE_DIR
            cd $PYMOR_SOURCE_DIR
        
        and, optionally, switch to the branch you are interested in, e.g.
        
            git checkout 0.2.x
        
        Finally add pyMOR to the path of your virtualenv:
        
            echo "$PYMOR_SOURCE_DIR/src" > $VIRTUAL_ENV/lib/python2.7/site-packages/pymor.pth
        
        This will make pyMOR importable inside the virtualenv and will override
        any other pyMOR versions installed on the system.
        
        Cython extension modules
        ------------------------
        
        pyMOR uses Cython extension modules to speed up numerical algorithms
        which cannot be efficiently expressed using NumPy idioms. To benefit
        from these optimizations, the modules' source files (currently
        pymor/tools/inplace.pyx and pymor/tools/realations.pyx) have to be
        processed by Cython into a .c-file which then must be compiled into a
        shared object. These .so-files then take precedence over the
        non-optimized pure python modules. The whole build process is handeled
        automatically by setup.py.
        
        If you want to develop Cython extensions modules for pyMOR yourself, you
        should add your module to the ext_modules list defined in the _setup
        method of setup.py. Calling
        
            python setup.py build_ext --inplace
        
        will then build the extension module and place it into your pyMOR source
        tree.
        
        Tests
        -----
        
        pyMOR uses pytest for unit testing. To run the test suite, simply
        execute make test in the base directory of the pyMOR repository. This
        will also create a test coverage report which can be found in the
        htmlcov directory. Alternatively, you can run make full-test which will
        also enable pyflakes and pep8 checks.
        
        All tests are contained within the src/pymortests directory and can be
        run individually by executing py.test src/pymortests/the_module.py.
        
        Contact
        -------
        
        Should you have any questions regarding pyMOR or wish to contribute, do
        not hestitate to contact us via our development mailing list:
        
        http://listserv.uni-muenster.de/mailman/listinfo/pymor-dev
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 2.7
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Visualization
