Agent framework for maker project tracking and build logs
Project description
makerlog-agent
Agent framework for makerlog.ai — project tracking, tools inventory, and build logs for makerspaces and hardware hackers.
Features
- 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
Installation
pip install makerlog-agent
Quick Start
from 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)}")
API Overview
Tools
tool = agent.register_tool(
name="3D Printer",
category=ToolCategory.3DPrinter,
location="Fab lab corner",
condition=0.95,
maintenance_due=date(2024, 6, 1),
)
Projects
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,
)
Build Logs
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.",
)
Development
pip install -e .
pytest tests/
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
makerlog_agent-0.1.0.tar.gz
(7.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file makerlog_agent-0.1.0.tar.gz.
File metadata
- Download URL: makerlog_agent-0.1.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d1a71a0e9ed231b73a773f6ac79d1cbb20c194629d8131cb632dc63eef887c31
|
|
| MD5 |
92bc22b0e14531a30d086f3b2b1dafcb
|
|
| BLAKE2b-256 |
37cfdeb7d775949212c53b39519fe54c9bfe4f47d163824d3e38772d3da007f7
|
File details
Details for the file makerlog_agent-0.1.0-py3-none-any.whl.
File metadata
- Download URL: makerlog_agent-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f7795a165180dac8bfb2e909d76db1a906317ada7053b75f5460096882acc4a
|
|
| MD5 |
76720239285c46f08ed051e0ca8e2168
|
|
| BLAKE2b-256 |
1cf43029a4907505a2789b46a6591716cd39ae752707795f530965739cf69d52
|