Skip to content

anjackson/ipywardley

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ipywardley

Bringing Wardley Map magic to Jupyter notebooks

PyPI version

Introduction

This plugin makes it easy to generate Wardley Maps using Jupyter Notebooks.

It supports a subset of the syntax defined by the Online Wardley Maps service. This simple language can be use to specify the map via the %%wardley cell magic.

Try it out!

Run on Binder or Open In Colab

Installation

First, install Jupyter. Then before running it, install ipywardley. e.g. if you are using pip:

pip install ipywardley

Then, run Jupyter:

jupyter-lab

Usage

Open up a new Python 3 notebook, and use this command to enable the module:

%load_ext ipywardley

Now you can use the %%wardley directive and create maps. See this example notebook for a detailed example of how to do this.

Screenshot

example-map

To Do

  • Support more of the OWM syntax and features (?=maybe?):
    • evolution Novel->Emerging->Good->Best and evolution X offering the different sets of x-axis labels.
    • y-axis Value Chain->Invisible->Visible or y-axis none to make 'Visibility' axis optional.
    • evolve
    • annotation & annotations?
    • note?
    • market nodes?
    • pipeline nodes?
    • node inertia?
    • +<> links to indicate flow.
    • +> links to indicate flow.
    • +< links to indicate flow.
    • Hot Water+'$0.10'>Kettle flow labels?
    • build, buy, outsource node augmentation?
    • submap and related syntax?
    • pioneer, settler, townplanner areas/boxes?
  • Add 'Uncharted' and 'Industrialised' labels
  • Support rendering from a file, via e.g. %wardley file=example.owm style=plain
  • Make it easier to download the SVG/rendered version?

Development

  1. Clone this directory.
  2. Set up a virtualenv and activate it.
  3. Modify the code.
  4. Run flit install
  5. Run jupyter-lab and test your changes.
  6. Repeat 3-5 ad infinitum.
  7. Turn your changes into a pull request.

Change Log