Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anjackson/ipywardley
Bringing Wardley Map magic to Jupyter notebooks
https://github.com/anjackson/ipywardley
jupyter jupyter-notebooks python wardley-maps wardleymaps
Last synced: 7 days ago
JSON representation
Bringing Wardley Map magic to Jupyter notebooks
- Host: GitHub
- URL: https://github.com/anjackson/ipywardley
- Owner: anjackson
- License: gpl-3.0
- Created: 2020-11-13T16:15:31.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-29T18:24:35.000Z (about 1 year ago)
- Last Synced: 2024-03-26T15:02:10.871Z (8 months ago)
- Topics: jupyter, jupyter-notebooks, python, wardley-maps, wardleymaps
- Language: Jupyter Notebook
- Homepage:
- Size: 924 KB
- Stars: 20
- Watchers: 7
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-wardley-maps - Wardley Maps for Jupyter Notebooks (ipywardley) - A plugin for generating Wardley maps in Jupyter Notebooks. (Apps / Mapping)
README
# ipywardley
Bringing Wardley Map magic to Jupyter notebooks[![PyPI version](https://badge.fury.io/py/ipywardley.svg)](https://badge.fury.io/py/ipywardley)
## Introduction
This plugin makes it easy to generate [Wardley Maps](https://wardley-maps-community.github.io/awesome-wardley-maps/) using [Jupyter Notebooks](https://jupyter.org/).
It supports a subset of the syntax defined by the [Online Wardley Maps](https://onlinewardleymaps.com/) service. This simple language can be use to specify the map via the `%%wardley` cell magic.
## Try it out!
Run on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/anjackson/ipywardley/main?filepath=test%2Fwardley-maps.ipynb) or [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/anjackson/ipywardley/blob/main/test/wardley-maps.ipynb)
## Installation
First, [install Jupyter](https://jupyter.org/install). Then before running it, install `ipywardley`. e.g. if you are using pip:
pip install ipywardley
Then, run Jupyter:jupyter-lab
## UsageOpen 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](https://github.com/anjackson/ipywardley/blob/main/test/wardley-maps.ipynb).## Screenshot
![example-map](https://github.com/anjackson/ipywardley/blob/main/doc/example.png)
## To Do
- Support more of [the OWM syntax and features](https://onlinewardleymaps.com/#usage) (?=maybe?):
- [ ] `evolution Novel->Emerging->Good->Best` and `evolution X` offering the [different sets of x-axis labels](https://twitter.com/swardley/status/1326583279139627008/photo/1).
- [ ] `y-axis Value Chain->Invisible->Visible` or `y-axis none` to make 'Visibility' axis optional.
- [x] `evolve`
- [ ] `annotation` & `annotations`?
- [x] `note`?
- [ ] `market` nodes?
- [ ] `pipeline` nodes?
- [ ] node `inertia`?
- [x] `+<>` 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
- 0.0.6:
- [Added support for the bluelines +<> within Wardley Maps code.](https://github.com/anjackson/ipywardley/pull/7)
- [Updated to support additional characters within nodes and evolve code lines](https://github.com/anjackson/ipywardley/pull/8)
- [Default to 'wardley' style if no style provided.](https://github.com/anjackson/ipywardley/pull/9)
- [Draw evolve lines within the map.](https://github.com/anjackson/ipywardley/pull/10)
- [Add the red evolve nodes to the map.](https://github.com/anjackson/ipywardley/pull/11)
- 0.0.5:
- [Updated the 'b' parameter to 'visibility' as 'b' now depreciated.](https://github.com/anjackson/ipywardley/pull/6)