No description
  • TypeScript 37.8%
  • Python 36.4%
  • Svelte 23.6%
  • JavaScript 0.9%
  • CSS 0.5%
  • Other 0.8%
Find a file
Donkie 05628eb593
Merge pull request #1071 from Donkie/client-v2-form-required-fields
client_v2: point at missing required fields instead of disabling the add button
2026-08-12 22:27:21 +02:00
.github ci: merge Weblate PRs instead of squashing them 2026-08-05 18:36:16 +02:00
client Translated using Weblate (Portuguese (Brazil)) 2026-08-10 05:51:26 +00:00
client_v2 Merge master into client-v2-form-required-fields 2026-08-12 22:20:39 +02:00
migrations fix(api): repair filament rows already stored with a leading # 2026-08-02 00:22:27 -07:00
scripts Add dashboard and label-designer screenshots to the README 2026-07-31 08:37:47 +02:00
spoolman Parse the datetime range grammar in one place 2026-08-09 21:52:10 +02:00
tests fix(api): repair filament rows already stored with a leading # 2026-08-02 00:22:27 -07:00
tests_frontend client_v2: add Playwright frontend integration tests 2026-07-29 19:08:12 +02:00
tests_frontend_v2 Merge pull request #1068 from Donkie/client-v2-searchable-menus 2026-08-11 22:48:02 +02:00
tests_integration Filter dates with the grammar the extra fields already use 2026-08-09 15:18:46 +02:00
.dockerignore Bake client_v2 into the image and serve it by default 2026-07-18 23:05:00 +02:00
.env.example Document the two origin/host settings in .env.example 2026-07-31 09:50:55 +02:00
.gitattributes Update gitattributes to preserve lf line endings on the .env.example file 2024-09-30 12:19:20 +01:00
.gitignore WIP: add label designer and misc v2 client improvements 2026-07-13 10:10:40 +02:00
alembic.ini Update alembic logging format 2023-07-04 11:45:25 +02:00
Dockerfile Merge master into feature/v2-client 2026-07-30 21:02:14 +02:00
entrypoint.sh fix(entrypoint): reject an unusable PUID or PGID (#962) 2026-07-22 16:09:22 +02:00
lefthook.yml ci: run the client_v2 unit tests 2026-08-02 14:59:38 +02:00
LICENSE Added pre-commit 2023-05-28 23:10:36 +02:00
pyproject.toml Bump version to 0.26.1 2026-08-06 18:44:00 +00:00
README.md Move the security notes out of the README and into the Wiki's remit 2026-07-31 09:19:42 +02:00
requirements.txt build(deps): bump cryptography from 49.0.0 to 50.0.0 2026-08-08 20:23:14 +02:00
uv.lock build(deps): bump cryptography from 49.0.0 to 50.0.0 2026-08-08 20:23:14 +02:00

Icon of a filament spool

Keep track of your inventory of 3D-printer filament spools.

Spoolman is a self-hosted web service designed to help you efficiently manage your 3D printer filament spools and monitor their usage. It acts as a centralized database that seamlessly integrates with popular 3D printing software like OctoPrint and Klipper/Moonraker. When connected, it automatically updates spool weights as printing progresses, giving you real-time insights into filament usage.

Static Badge GitHub Release

Features

  • Filament Management: Keep comprehensive records of filament types, manufacturers, and individual spools.
  • API Integration: The REST API allows easy integration with other software, facilitating automated workflows and data exchange.
  • Real-Time Updates: Stay informed with live spool updates through Websockets, providing immediate feedback during printing operations.
  • Central Filament Database: A community-supported database of manufacturers and filaments simplify adding new spools to your inventory. Contribute by heading to SpoolmanDB.
  • Web-Based Client: Spoolman includes a built-in web client that lets you manage data effortlessly:
    • View, create, edit, and delete filament data.
    • Search, group and filter your inventory by manufacturer, material, location and more.
    • Add custom fields to tailor information to your specific needs.
    • Design and print labels with QR codes for easy spool identification and tracking.
    • Contribute to its translation into 18 languages via Weblate.
  • Database Support: SQLite, PostgreSQL, MySQL, and CockroachDB.
  • Multi-Printer Management: Handles spool updates from several printers simultaneously.
  • Advanced Monitoring: Integrate with Prometheus for detailed historical analysis of filament usage, helping you track and optimize your printing processes. See the Wiki for instructions on how to set it up.

Spoolman integrates with:

Web client preview: The Spoolman web client, showing the spool library with a spool's details open alongside it

The Spoolman dashboard, showing spools as draggable cards grouped by storage location The Spoolman label designer, showing a 50 by 25 mm spool label with a QR code, filament name and colour swatch
Dashboard — spools as cards, grouped by location or any other field. Drag one to move it. Label designer — QR labels built from any spool, filament or vendor field.

Installation

Please see the Installation page on the Wiki for details how to install Spoolman.

If the new client misbehaves on your setup, set SPOOLMAN_LEGACY_CLIENT=TRUE to go back to the previous one. Both ship in every release and talk to the same API, so your data is untouched either way — but please report the problem so it can be fixed.