| project | badges |
|---|---|
| homepage | |
| simple-pie | |
| react-simple-pie | |
| homepage-legacy |
The simple-pie package family offers an easy way to create SVG pie and doughnut charts. These packages are lightweight
and ideal for situations where you need small, simple charts, such as in network graphs or other compact visualizations.
Check out the demo here
The idea for the simple-pie packages came from a need to add small pie charts to a network graph. The network graph
library only supported PNG or SVG files for node content, making it impractical to store many pre-rendered images for
different data sets.
Using popular charting libraries like Highcharts or Chart.js wasn't an option because they were too complex for this
specific use case. Even though D3.js might have worked, it was still too large for such a simple need.
That's where simple-pie comes in. It provides a straightforward solution for creating the smallest possible SVG pie and
doughnut charts. These charts are perfect for embedding in network graphs, maps, or any application where you need
a simple and efficient way to visualize data without the bulk of heavier libraries.

Simple-pie project is utilising a monorepo for a development and deployment. Read more in monorepo.md
simple-pie-project
├─ docs
├─ apps
│ ├─ homepage
│ └─ homepage-legacy
└─ packages
├─ pie-math
├─ simple-pie
├─ react-simple-pie
└─ tsconfig
- Make sure you're in the root directory of the monorepo.
- Run the installation command:
npm installWorkspaces are symlinked into node_modules.
To check symlink state run the command:
npm ls --link=true --depth=0
⚠️ After add/remove workspaces, or change their locations on the filesystem, it is necessary to re-run the install-command from root to set up workspaces again
Remove all node_modules
npm run cleanBuild all workspaces:
npm run buildRun all workspaces in dev mode:
npm run devCorrect build order is handled by Turborepo.
flowchart LR
PM[packages/pie-math] --> SP[packages/simple-pie]
PM[packages/pie-math] --> RSP[packages/react-simple-pie]
SP --> HL[apps/homepage-legacy]
RSP --> HL
Build all package workspaces (used by ci workflow read more in package-publishing.md):
npm run build:packagesStart releasing new npm package version (read more in package-publishing.md):
npm run changeset