Multilayers fiber mode solver
API documentation available on http://fibermodes.rtfd.org/
Requirements:
- Python >= 3.4
- numpy
- scipy
For GUI:
- PyQt4
- pyqtgraph
To run unit tests:
- nose
- coverage (for coverage tests)
This software is still under heavy development. Therefore, it is recommended to install it in a development environment, to be able to quickly pull newest changes from the GitHub repository, and to be able to propose pull requests. However, we also describe a simple installation, in case you only want to run the software, without hacking it.
On Ubuntu / Debian, install the following packages:
python3
, python3-numpy
, python3-scipy
, python3-pyqt4
, python3-pyqtgraph
,
python3-nose
, python3-coverage
.
On Arch, the required packages are:
python
, python-numpy
, python-scipy
, python-pyqt4
, python-nose
,
python-coverage
, python-pip
.
I recommend to use a distribution that includes scientific Python. Choose a distribution that includes Python 3.4 or higher. I recommend using either WinPython or Anaconda. Follow the installation instructions, and everything should work out-of-the-box.
I do not have a machine to test installation on Mac OS. However, it should work. Please fell free to share me your experience.
This is not the recommended way. You should consider development installation
instead. However, this is the simplest installation, as it does not require git
.
- Download the ZIP archive from GitHub.
- Unzip it!
- On a command line, go inside the
fibermodes
directory. - Run
python setup.py install
The command on line 4 may vary.
For instance, it should be sudo python3 setup.py install
on Ubuntu / Debian.
The first step is to install git
. For Linux, the package should be called git
.
For Windows, it is a little more complicated. I recommend using
Git for Windows. Follow the installation
instructions from their page.
You could also install GitHub Desktop instead.
The second step is to create a GitHub account, if you do not already have one. Then you should configure you machine with ssh keys, and configure your name and email for git.
The third step is to fork and clone the fibermodes repository. I recommend forking it first, as it will allow you to commit your changes on GitHub, and to suggest pull requests.
Then you should install the software in develop
mode. This is similar
to install
, but it uses links instead of moving the files. Therefore, you
do not need to reinstall each time you pull changes from GitHub.
The command is: python setup.py develop
. You may need to use python3
instead of python
if you are on Ubuntu / Debian, and you may need to use
sudo
to run this command.
To ensure you have all the required dependencies to run tests, you can
do, from the fibermodes
directory: pip install .[test]
.
Then, you can either run nosetests
or python setup.py nosetests
.
You need sphinx (and probably a few dependencies to be documented).
python setup.py build_sphinx
Documentation is generated under doc/_build/html
.