io.github.dengyu123456/crochet-engine

السجل الرسمي الوسائط والتصميم

Deterministic photo-to-crochet-chart engine: stitch counts, 5 techniques, yarn estimates.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

PYPI package crochetpatterngen-engine
Claude Code
claude mcp add crochet-engine -- uvx crochetpatterngen-engine==0.1.1 --from 'crochetpatterngen-engine[mcp]' crochetpatterngen-mcp
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "crochet-engine": {
            "command": "uvx",
            "args": [
                "crochetpatterngen-engine==0.1.1",
                "--from",
                "crochetpatterngen-engine[mcp]",
                "crochetpatterngen-mcp"
            ]
        }
    }
}

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. crochetpatterngen-engine
  2. Why this engine
  3. Install
  4. Python API
  5. CLI
  6. MCP server (Claude Desktop & friends)
  7. ASCII design format
  8. Development
  9. License

crochetpatterngen-engine

The deterministic photo-to-crochet-chart engine behind crochetpatterngen.com — packaged as a Python library, CLI, and MCP server so AI agents (Claude Desktop, Cursor, etc.) can turn photos into crochet charts with exact stitch counts.

Deterministic, not generative. There is no AI image generation here — just resize, median-cut color quantization, and confetti cleanup. Same input, same chart, same stitch counts, every time. No hallucinated rows.

Why this engine

  • Real stitch counts — every chart comes with per-color hex + stitch counts that sum exactly to the grid size. What you see is what you crochet.
  • C2C block aspect correction — C2C blocks are physically wider than tall (0.7:1 h:w). The engine adjusts grid dimensions so the worked piece keeps the photo's proportions instead of coming out squashed.
  • 5 technique presets — graph, c2c, tapestry, mosaic, filet.
  • Yarn estimation — per-color yardage for 6 yarn weights (fingering → super bulky).
  • Zero heavy deps — Pillow + numpy only. Optional rembg extra for background removal.

Install

pip install crochetpatterngen-engine          # core
pip install crochetpatterngen-engine[mcp]     # + MCP server
pip install crochetpatterngen-engine[rembg]   # + background removal

Python API

from PIL import Image
from crochet_chart_engine import generate_chart, render_design, estimate_yarn

png_bytes, meta = generate_chart(
    Image.open("photo.jpg"),
    technique="c2c",     # graph | c2c | tapestry | mosaic | filet
    grid_w=60,           # 20..120
    n_colors=8,          # 2..16
)
# meta: {"grid_w", "grid_h", "colors": [{"hex", "count"}],
#        "total_stitches", "technique", "warning"}

yarn = estimate_yarn(meta, weight="worsted")
# {"total_yards": ..., "colors": [{"hex", "count", "yards"}], ...}

png_bytes, meta = render_design("designs/frog.txt")  # ASCII design -> chart

CLI

crochet-chart chart photo.jpg out.png --technique c2c --grid-w 60 --colors 8
crochet-chart design designs/frog.txt frog.png
crochet-chart yarn photo.jpg --technique graph --weight worsted

MCP server (Claude Desktop & friends)

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "crochet": {
      "command": "uvx",
      "args": ["--from", "crochetpatterngen-engine[mcp]", "crochetpatterngen-mcp"]
    }
  }
}

Or with a regular pip install:

{
  "mcpServers": {
    "crochet": {
      "command": "python",
      "args": ["-m", "crochet_chart_engine.mcp_server"]
    }
  }
}

Tools exposed (stdio transport):

ToolWhat it does
photo_to_chartLocal image path → chart PNG (base64 or saved to output_path) + per-color stitch counts JSON
render_ascii_designASCII design file → chart PNG + stitch counts
estimate_yarn_toolStitch counts → per-color yardage for one yarn weight or all

ASCII design format

See designs/frog.txt and designs/dragon.txt:

# comment
palette: G=#58A05C, W=#FFFFFF, .=#FAFAF7
title: Frog Face
technique: graph
---
..GGGG..........GGGG....
.GGWWGG........GGWWGG...

One character per stitch; . is the background/padding color. Rows are padded to the longest row.

Development

pip install -e .[dev,mcp]
pytest tests/

License

MIT — see LICENSE.


Free web tool + pattern library at crochetpatterngen.com.

الأسئلة الشائعة

ما هو io.github.dengyu123456/crochet-engine؟

Deterministic photo-to-crochet-chart engine: stitch counts, 5 techniques, yarn estimates.

كيف أثبّت io.github.dengyu123456/crochet-engine؟

يعمل على جهازك. في Claude Code: claude mcp add crochet-engine -- uvx crochetpatterngen-engine==0.1.1 --from 'crochetpatterngen-engine[mcp]' crochetpatterngen-mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.dengyu123456/crochet-engine إلى مفتاح API؟

لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.

هل io.github.dengyu123456/crochet-engine مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون io.github.dengyu123456/crochet-engine؟

ينشره dengyu123456. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.