Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

NGPy

NGPy is a web application that enable online performing and analyzing Monte-Carlo simulations on nucleation and growth phenomena. It can be also used as a web framework to develop your own web applications. NGPy is built on top of Flask. NGPy is actually a distributed system since we use ZEO server as a database and redis server as a message queue.

Quickstart

1. Install

$ easy_install ngpy

or

$ tar -xvf ngpy-xxx.tar.gz
$ cd ngpy-xxx
$ python setup.py install
  • Make sure that the NoSQL database redis is installed in your system.
  • Other dependencies such as ZODB3, WTForm, Numpy, and Matplotlib should be taken care by easy_install. If not, try to install them mannually.

2. Start ZEO server

$ runzeo -a 0.0.0.0:<ZEOPORT> -f /path/to/your/Data.fs
  • <ZEOPORT> must be an available port number, e.g. 1234
  • The ZEO server should run at a host that other hosts can connect to.

3. Start redis server

$ redis-server [/path/to/redis.conf]
  • The redis server should run at a host that other hosts can connect to.

4. Start the task queue daemon

$ simd [-r <server>] [-q <qkey>]
  • <server> is the host where you run the redis server.
  • What simd does is that it just picks the messages from redis server and process them. So you can run simd at every hosts where you wish to run the task.

5. Start ngpy

$ run-ngpy [-c </path/to/ngpy.cfg>]

The ngpy.cfg is the configuration file for ngpy. It is a Python file and will be processed by Flask. Only values in uppercase are actually used. More details are refered to the Flask documentation.

The ngpy website should be now served at http://localhost:5000. You can visit it use any browser (Chrome, Firefox, IE, etc.) via http://localhost:5000 if you are a local visitor, or http://IP.of.NGPy.run:5000 if you visit remotely.

Ask for Help

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.