pastebin.richardson.dev

OctoPrint Achievements

Posted Dec 6, 202518.6 KB • Markdown Print Raw

OctoPrint Achievements (v1.11.5, as of 2025-12-06)

This document lists all 36 achievements provided by OctoPrint’s bundled Achievements Plugin, including whether they are hidden or time-based and the core unlocking logic as implemented in the plugin code.

Spoilers ahead – hidden achievements are listed below.


Legend

  • Hidden:
    • Yes = Does not appear in the UI until unlocked.
    • No = Always visible.
  • Time-based:
    • Yes = Depends on date/time or correct timezone settings.
    • No = Purely event/statistics-based.

Basics

KeyNameIconHiddenTime-basedUnlock logic (code-level summary)
the_wizardThe WizardiconNoNoOn server startup: if the instance is no longer in first-run mode (server.firstRun == False) and this achievement is not yet set, it is granted. In practice: complete the OctoPrint first-run setup wizard.
one_small_step_for_manThat’s One Small Step For (A) ManiconNoNoOn PRINT_DONE event: first time any print finishes successfully, this is awarded.
adventurerThe AdventurericonNoNoOn PLUGIN_PLUGINMANAGER_INSTALL_PLUGIN event: if the plugin was installed from the repository (payload.from_repo == True), grant this.
tinkererThe TinkerericonNoNoOn PLUGIN_PLUGINMANAGER_INSTALL_PLUGIN event: if the plugin was installed from URL or file (payload.from_repo != True), grant this.
better_safe_than_sorryBetter Safe Than SorryiconNoNoOn PLUGIN_BACKUP_BACKUP_CREATED event: when a backup is successfully created, grant this.

KeyNameIconHiddenTime-basedUnlock logic
half_marathonHalf MarathoniconNoNoOn PRINT_DONE: if payload.time > 12 * 60 * 60 (print took more than 12 hours), grant this.
marathonMarathoniconNoNoOn PRINT_DONE: if payload.time > 24 * 60 * 60 (print took more than 24 hours), grant this.
sprintSprinticonNoNoOn PRINT_DONE: if payload.time < 10 * 60 (print finished in under 10 minutes), grant this.
achievement_not_foundAchievement Not FoundiconYesNoOn PRINT_DONE: when the accumulated finished print duration (stats.print_duration_finished) reaches at least 404 * 60 * 60 seconds (404 hours total), grant this.

KeyNameIconHiddenTime-basedUnlock logic
cant_get_enoughCan’t Get EnoughiconNoYesOn each PRINT_DONE: per-day counter prints_today is tracked. When the number of finished prints on the same calendar date (in the configured timezone) reaches 10 or more, this is granted.
the_manufacturer_iThe ManufacturericonNoNoOn PRINT_DONE: when total prints_finished >= 10, grant this (first tier).
the_manufacturer_iiThe Manufacturer IIiconYesNoOn PRINT_DONE: when prints_finished >= 100, grant this (second tier).
the_manufacturer_iiiThe Manufacturer IIIiconYesNoOn PRINT_DONE: when prints_finished >= 1000, grant this (third tier).

Date / Holiday Specific

KeyNameIconHiddenTime-basedUnlock logic
happy_birthday_fooselHappy Birthday, fooseliconYesYesOn PRINT_STARTED: if the current date is March 21st, grant this.
happy_birthday_octoprintHappy Birthday, OctoPrinticonYesYesOn PRINT_STARTED: if the current date is December 25th, grant this.
spookySpookyiconYesYesOn PRINT_STARTED: if the current date is October 31st, grant this.
santas_little_helperSanta’s Little HelpericonYesYesOn PRINT_STARTED: if the current date is between December 1st and 24th (inclusive), grant this.

Weekday / Weekend Specific

KeyNameIconHiddenTime-basedUnlock logic
tgifTGIFiconNoYesOn PRINT_STARTED: if now.weekday() == 4 (Friday in Python’s weekday()), grant this.
weekend_warriorWeekend WarrioriconNoYesOn PRINT_STARTED with now.weekday() >= 5 (Saturday or Sunday): the plugin tracks date_last_weekend_print and consecutive_weekend_prints. If there was also a weekend print in the previous weekend (based on date math in the code), increment the streak; when the streak reaches 4, this achievement is granted. Effectively: at least one print on four consecutive weekends.

Time-of-Day Specific

KeyNameIconHiddenTime-basedUnlock logic
early_birdEarly BirdiconYesYesOn PRINT_STARTED: if 03:00 ≤ local hour < 07:00, grant this.
night_owlNight OwliconYesYesOn PRINT_STARTED: if 23:00 ≤ hour or hour < 03:00 (late night), grant this.

File Management

KeyNameIconHiddenTime-basedUnlock logic
clean_house_iClean HouseiconYesNoOn FILE_REMOVED with payload.operation == "remove": increment files_deleted; when files_deleted >= 100, grant this (first tier).
clean_house_iiClean House IIiconYesNoSame logic; granted once files_deleted >= 500.
clean_house_iiiClean House IIIiconYesNoSame logic; granted once files_deleted >= 1000.
heavy_chonkerHeavy ChonkericonNoNoOn FILE_ADDED with payload.operation == "add": if the uploaded file’s size (file_manager.get_size()) is greater than 500 MiB (> 500 * 1024 * 1024 bytes), grant this.
the_collector_iThe CollectoriconYesNoOn FILE_ADDED (operation == "add"): increment files_uploaded; when files_uploaded >= 100, grant this (first tier).
the_collector_iiThe Collector IIiconYesNoSame logic; granted once files_uploaded >= 500.
the_collector_iiiThe Collector IIIiconYesNoSame logic; granted once files_uploaded >= 1000.
the_organizerThe OrganizericonYesNoOn FOLDER_ADDED event: creating any folder in the filesystem grants this.

Mishaps (Cancels / Fails / Pauses)

KeyNameIconHiddenTime-basedUnlock logic
all_beginnings_are_hardAll Beginnings Are HardiconNoNoIn the handler for PRINT_FAILED or PRINT_CANCELLED, the code always executes the “cancel” block (due to how the condition is written). Practically: the first time a print is cancelled or fails, this is granted.
one_of_those_daysMust Be One Of Those DaysiconYesYesIn the same cancel/fail block: for each such job on a given calendar day, it increments prints_cancelled_today and consecutive_prints_cancelled_today. When consecutive_prints_cancelled_today >= 10 on the same day, this is granted.
so_closeSo CloseiconYesNoIn the “cancel” logic: if the cancelled/failed print’s payload.progress > 95 (job terminated at >95% progress), grant this.
hang_in_thereHang In There!iconYesNoOn PRINT_PAUSED: keep a _pause_counter for the current print; when the same print has been paused 10 or more times, this is granted.

Miscellaneous / Hardware / Behavior

KeyNameIconHiddenTime-basedUnlock logic
crossover_episodeWhat Is This, A Crossover Episode?iconYesNoIn firmware_info_hook: when the printer’s reported firmware name contains "klipper" (case-insensitive), grant this. In practice: connect to a printer running Klipper.
mass_productionMass ProductioniconYesNoOn PRINT_DONE: track file_last_print (origin:path:lastmodified) and consecutive_prints_of_same_file. If the same file (with same last-modified timestamp) is printed five times in a row, grant this.
what_could_possibly_go_wrongWhat Could Possibly Go Wrong?iconYesNoOn PRINT_STARTED: call external get_throttled() helper (from the Pi Support plugin); if it returns a dict with "current_undervoltage" true (active undervoltage condition), grant this. Effectively: start a print while the system reports an undervoltage problem.

Summary

  • Total achievements: 36
  • Visible (non-hidden): 17
  • Hidden: 19
  • Time-based (date/time dependent): Marked Yes above; these rely on the configured plugin timezone and local time.