Skip to main content

BioCartoon logo

BioCartoon

BioCartoon is a free and open-source tool for creating biology figures with illustrations. It compiles existing open biology-focused illustration resources, along with its own illustrations, into a single database with a graphical interface for search and figure generation.

This package is the biocartoon command-line interface and MCP server, which search and download the database from a shell, a script, or an assistant such as Claude.

Usage

Web application: app.biocartoon.com

Install Desktop application: www.biocartoon.com/download

Resources

15,335 icons and 6 templates across 8 resources.

source icons templates license
BioCartoon 1 6 CC0
Bioicons 2,793 0 CC BY / CC0 / CC BY-SA / MIT / BSD
Health Icons 749 0 CC0
NIAID NIH BioArt Source 936 0 Public Domain
OpenMoji 4,495 0 CC BY-SA 4.0
Reactome icon library 2,569 0 CC BY 4.0
SciDraw 772 0 CC BY 4.0 / CC0
Servier Medical Art 3,020 0 CC BY 4.0

Command-Line Interface and MCP server

pip install biocartoon        # or: pipx install biocartoon / uv tool install biocartoon

The package is the compiled program alone, with no Python dependencies. The first command that needs the catalog downloads it; biocartoon sync updates it. This build searches icons; its MCP server also lists the shared slide templates. The BioCartoon desktop editor ships a fuller biocartoon that adds templates to search and the app command.

  • biocartoon search "TERM": icons and templates matching TERM, best first. With no TERM it pages through everything.
    • --icons / --templates: only that kind
    • --source S: icons from one collection (a code or name from biocartoon --sources)
    • --category C: icons in one category (a slug from biocartoon --categories)
    • --sql: run TERM as read-only SQL on the catalog
  • biocartoon get ID: everything about one icon: license, credit, PNG/SVG URLs, colour variants
  • biocartoon fetch ID: download the PNG (--svg for the SVG, --out FILE|DIR, --max-side N)
  • biocartoon sync: download the newest published catalog
  • biocartoon upload FILE...: submit image files/folders to the database (approval required to merge in)
  • biocartoon mcp: serve the same tools over MCP, mostly for agents (e.g., claude mcp add biocartoon -- biocartoon mcp)
  • biocartoon --version: the program's version, and when the local catalog was published and downloaded
  • biocartoon --sources: list icon sources for biocartoon search --source S
  • biocartoon --categories: list icon categories for biocartoon search --category C

Run biocartoon --help for everything.

Examples

Find an icon, check its license, and download it:

$ biocartoon search mitochondria --icons --limit 2
bioart/353_641587                  bioart       Mitochondria  (Cells and Organelles; 2084x2084)  matched: title,description
bioart/101_628750                  bioart       Damaged Mitochondria  (Cells and Organelles; 1705x1174)  matched: title,tags,description

$ biocartoon get bioart/424_633913              # credit, license, PNG/SVG URLs, colour variants
$ biocartoon fetch bioart/424_633913 --svg --out ~/Desktop
$ biocartoon fetch bioart/424_633913 --max-side 512 --out neuron.png   # a smaller PNG

Contribute your own illustrations (held for review before they are published):

biocartoon upload figures/ --license CC-BY-4.0 --credit "Your Name" --dry-run   # check first
biocartoon upload figures/ --license CC-BY-4.0 --credit "Your Name" --category cells

Narrow a search by collection or category:

biocartoon --sources                                       # codes: BA, BI, SV, SD, HI, RE, OM, ...
biocartoon --categories                                    # slugs: cells, cells.cell_types, ...
biocartoon search "pyramidal neuron" --source BA           # NIH BioArt only
biocartoon search neuron --source BA --source SD           # BioArt or SciDraw
biocartoon search mitochondria --category cells.organelles_and_cell_components
biocartoon search --category viruses --sort az --limit 40 --offset 40   # page 2 of all viruses
biocartoon --categories --source SD                        # what SciDraw covers

Query the catalog with SQL (read-only):

biocartoon search --sql                                    # the schema
biocartoon search "select license, count(*) as n from assets group by license order by n desc"
biocartoon search --sql "select id, title from assets where svg_key is not null and title like '%ribosome%'"
biocartoon search "with dendrites" --no-sql                # words, even though it starts with WITH

From a script: every command takes --json, and search results come back as {"icons": [...], "templates": [...]}:

# download the SVG of the best match that has one (Servier and uploads are PNG only)
mkdir -p icons
for t in neuron astrocyte microglia; do
  id=$(biocartoon search "$t" --icons --limit 10 --json | jq -r '[.icons[] | select(.svg_url)][0].id')
  biocartoon fetch "$id" --svg --out icons/
done
biocartoon get bioart/424_633913 --json | jq -r .credit     # the attribution line to print

Keep the local catalog current, and connect an assistant:

biocartoon sync
claude mcp add biocartoon -- biocartoon mcp

The database schema is documented in the repository.

License

Copyright (c) 2026 Joseph Rich. The program is open source under the BSD 2-Clause License. Every illustration keeps its own upstream license (public domain, CC0, CC BY, CC BY-SA, ...): credit it as its credit field says. See NOTICE.md.

Website: www.biocartoon.com

Database and CLI source code: github.com/josephrich98/biocartoon

Application and website source code: github.com/josephrich98/biocartoon-app

Icon SQLite database: assets.biocartoon.com/catalog/assets.sqlite.gz

Template SQLite database: assets.biocartoon.com/catalog/templates.sqlite.gz

Metadata

Release files for biocartoon 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biocartoon 0.2.0
File Size Uploaded Provenance Actions
biocartoon-0.2.0.tar.gz 69.5 kB With provenance Details for biocartoon-0.2.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for biocartoon 0.2.0
File Actions
biocartoon-0.2.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for biocartoon-0.2.0-py3-none-win_amd64.whl
biocartoon-0.2.0-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details for biocartoon-0.2.0-py3-none-manylinux_2_28_aarch64.whl
biocartoon-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for biocartoon-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
biocartoon-0.2.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for biocartoon-0.2.0-py3-none-macosx_11_0_arm64.whl
biocartoon-0.2.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details for biocartoon-0.2.0-py3-none-macosx_10_12_x86_64.whl

Total release size: 17.8 MB

Release files / biocartoon-0.2.0.tar.gz

Download URL biocartoon-0.2.0.tar.gz
Size 69.5 kB
Tags Source
SHA-256 checksum
How to use checksums
64093721068067950ebdf6c64b7e16322dfd99b7bec3d6791721f37103f10043
BLAKE2b-256 checksum
How to use checksums
f554266a169e4968792d4bbfbd92e85241bf712524b07b4f6fae38bd5dddfd42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / biocartoon-0.2.0-py3-none-win_amd64.whl

Download URL biocartoon-0.2.0-py3-none-win_amd64.whl
Size 3.5 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
f6cd2dec19bfe9cc895d77a77ff259ac4eff144d4b9bb4c5bce62dde2c3ffad4
BLAKE2b-256 checksum
How to use checksums
cade446277d2833d99b319b0b4e4122524c4a7e6edf04f6099168d08de24c3be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / biocartoon-0.2.0-py3-none-manylinux_2_28_aarch64.whl

Download URL biocartoon-0.2.0-py3-none-manylinux_2_28_aarch64.whl
Size 3.4 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
6547baf20f801222554fca8e0ca7ba7f80073851a9e1db5e72192c571197caf2
BLAKE2b-256 checksum
How to use checksums
1fc0f34f2125f45ec12b5c749dd8d4ca97bd4a89bfbb87c6fe8e6f0c07346b18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / biocartoon-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL biocartoon-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.8 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
e2260ee5a1ec97c190aca0e0204ed16700aab76b8caa65cdd95817a2e27c9b88
BLAKE2b-256 checksum
How to use checksums
bfb80c9598e87a568af8e43d99466f05c9aec9d981aeb49aee9fd2751f4acfeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / biocartoon-0.2.0-py3-none-macosx_11_0_arm64.whl

Download URL biocartoon-0.2.0-py3-none-macosx_11_0_arm64.whl
Size 3.4 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
384512ca5cbb3469bcfa2401ad876d3629ddfe02e501686a3b212732078b12b8
BLAKE2b-256 checksum
How to use checksums
ea5569c2405aeb2fe9b80470fc0f5acfa9a0f46213df4cb61caf295c2b0a4dba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / biocartoon-0.2.0-py3-none-macosx_10_12_x86_64.whl

Download URL biocartoon-0.2.0-py3-none-macosx_10_12_x86_64.whl
Size 3.6 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0433f3583025e546f894cf66dc39670cd037738eb1434f4179913609ba638dcd
BLAKE2b-256 checksum
How to use checksums
725055c31a9e95fb31deca900fee808512dff50d8f129cb5f66f0e1f7a9b9e79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Security for biocartoon 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for biocartoon-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page