Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

makerlog_agent-0.1.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

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

Hashes for makerlog_agent-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d1a71a0e9ed231b73a773f6ac79d1cbb20c194629d8131cb632dc63eef887c31
MD5 92bc22b0e14531a30d086f3b2b1dafcb
BLAKE2b-256 37cfdeb7d775949212c53b39519fe54c9bfe4f47d163824d3e38772d3da007f7

See more details on using hashes here.

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

Hashes for makerlog_agent-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f7795a165180dac8bfb2e909d76db1a906317ada7053b75f5460096882acc4a
MD5 76720239285c46f08ed051e0ca8e2168
BLAKE2b-256 1cf43029a4907505a2789b46a6591716cd39ae752707795f530965739cf69d52

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page