Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

A library for network visualization and algorithm simulation.

Project description

AlgorithmX Python

travis PyPI version docs

AlgorithmX Python is a library for network visualization and algorithm simulation, built on AlgorithmX. It works through either a WebSocket server, or as a widget in Jupyter Notebooks and JupyterLab.

Resources

Installation

Python 3.6 or higher is required.

AlgorithmX can be installed using pip:

pip install algorithmx

Jupyter Widget

In classic Jupyter notebooks, the widget will typically be enabled by default. However, if you installed using pip with notebook version <5.3, you will have to manually enable it by running:

jupyter nbextension enable --sys-prefix --py algorithmx

with the appropriate flag. To enable in JupyterLab, run:

jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install algorithmx-jupyter

Example Usage

If you wish to use the library through a HTTP/WebSocket server, follow the template below:

import algorithmx

server = algorithmx.http_server(port=5050)
canvas = server.canvas()

def start():
    canvas.nodes([1, 2]).add()
    canvas.edge((1, 2)).add()

canvas.listen('start', start)
server.start()

Be default, the output can be found at http://localhost:5050/.

If you are using Jupyter, add the following to a cell:

import algorithmx

canvas = algorithmx.jupyter_canvas()

canvas.nodes([1, 2]).add()
canvas.edge((1, 2)).add()

display(canvas)

Development

Install

If you aren't using docker, you can install the package locally:

cd js
npm run build
npm run inject
cd ..

pip install --no-deps --editable .

Run HTTP Server

With docker:

docker-compose up http-server

Manually:

python -u examples/basic_http_server.py

Then, in both cases, open localhost:5050 in a browser.

Run Notebook

With docker:

docker-compose up notebook

You will need to follow the link which appears in the output.

Manually:

jupyter nbextension install --symlink --sys-prefix --py algorithmx
jupyter nbextension enable --sys-prefix --py algorithmx
jupyter notebook 

Then, in both cases, navigate to examples/basic.ipynb.

Build package

rm -rf build dist

With docker:

docker-compose up build

Manually:

python setup.py build sdist bdist_wheel

In both cases, the bundle can be found in dist/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for algorithmx, version 1.1.3
Filename, size File type Python version Upload date Hashes
Filename, size algorithmx-1.1.3-py3-none-any.whl (5.4 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size algorithmx-1.1.3.tar.gz (2.7 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page