Agent framework for makerlog.ai — project tracking, tools inventory, and build logs for makerspaces and hardware hackers.
- Project Management — Track projects from idea to completion with status, budget, and tags
- Build Logs — Document every step with materials, tools, problems, and solutions
- Tools Inventory — Manage workshop equipment with condition tracking and maintenance alerts
- Budget Tracking — Estimated vs actual cost tracking
- Export/Import — JSON serialization for backup
pip install makerlog-agentfrom makerlog_agent import (
MakerLogAgent,
Project,
ProjectStatus,
Tool,
ToolCategory,
BuildLog,
BuildStatus,
)
agent = MakerLogAgent()
# Register workshop tools
agent.register_tool(
name="Soldering Iron",
category=ToolCategory.Electronic,
location="Electronics bench",
condition=0.9,
)
agent.register_tool(
name="PLA Filament",
category=ToolCategory.Other,
consumable=True,
notes="1.75mm, various colors",
)
# Create a project
project = agent.create_project(
name="LED Matrix Display",
description="16x16 RGB LED matrix driven by ESP32",
status=ProjectStatus.InProgress,
budget=45.0,
tools_required=["Soldering Iron", "ESP32 Dev Board", "PLA Filament"],
materials=["WS2812B LEDs", "ESP32", "Power supply"],
)
# Log build steps
agent.add_build_log(
"LED Matrix Display",
title="Solder LED matrix",
description="Soldered 256 WS2812B LEDs in a 16x16 grid.",
status=BuildStatus.Success,
duration_minutes=120,
tools_used=["Soldering Iron"],
materials_used=["WS2812B LEDs", "Solder wire"],
problems="Some LEDs were polarity sensitive.",
solutions="Checked orientation before soldering each row.",
)
# Get tools needing maintenance
maintenance_needed = agent.get_tools_needing_maintenance()
# Stats
stats = agent.get_statistics()
print(f"Active projects: {stats['status_distribution'].get('in_progress', 0)}")tool = agent.register_tool(
name="3D Printer",
category=ToolCategory.3DPrinter,
location="Fab lab corner",
condition=0.95,
maintenance_due=date(2024, 6, 1),
)project = agent.create_project(
name="Botanical Timer",
description="Automated plant watering system",
status=ProjectStatus.Planning,
target_date=date(2024, 12, 1),
tags=["electronics", "garden"],
budget=30.0,
)agent.add_build_log(
"Botanical Timer",
title="Assembled relay circuit",
status=BuildStatus.Success,
duration_minutes=45,
materials_used=["Relay module", "Wires"],
tools_used=["Soldering Iron"],
problems="Relay triggered unexpectedly.",
solutions="Added flyback diode to suppress back-EMF.",
)pip install -e .
pytest tests/MIT
- makerlog.ai — Live site
- makerlog-ai-pages — GitHub Pages source