{
  "project": {
    "project_id": "apify/crawlee-python",
    "repo": "apify/crawlee-python",
    "name": "crawlee-python",
    "description": "Crawlee—A web scraping and browser automation library for Python to build reliable crawlers. Extract data for AI, LLMs, RAG, or GPTs. Download HTML, PDF, JPG, PNG, and other files from websites. Works with Parsel, BeautifulSoup, Playwright, and raw HTTP. Both headful and headless mode. With proxy rotation.",
    "category": [
      "browser_agent"
    ],
    "language": "Python",
    "license": "Apache-2.0"
  },
  "project_id": "apify/crawlee-python",
  "score": 92,
  "git_top_score": 92,
  "quality_score": 38,
  "agent_score": 81,
  "verification": {
    "schema_version": "git-top.verification.v1",
    "overall_status": "partial",
    "observed_at": "2026-09-19T16:00:41.690Z",
    "signals": {
      "activity": {
        "status": "observed",
        "source": "github_metadata",
        "evidence": [
          "project.pushed_at",
          "metrics.recent_push_days"
        ]
      },
      "license": {
        "status": "observed",
        "source": "github_metadata",
        "evidence": [
          "project.license"
        ]
      },
      "documentation": {
        "status": "observed",
        "source": "github_metadata",
        "evidence": [
          "project.description"
        ]
      },
      "runtime": {
        "status": "inferred",
        "source": "git_top_heuristic",
        "evidence": [
          "agent_card.deployment",
          "agent_card.cloudflare_ready"
        ]
      },
      "install": {
        "status": "not_run",
        "source": "git_top_runtime",
        "evidence": [
          "installation/build probe is not enabled"
        ]
      },
      "security": {
        "status": "not_run",
        "source": "git_top_runtime",
        "evidence": [
          "dependency/security scan is not enabled"
        ]
      },
      "mcp": {
        "status": "not_applicable",
        "source": "git_top_runtime",
        "evidence": [
          "project is not classified as mcp_server"
        ]
      }
    },
    "coverage": {
      "observed": 3,
      "inferred": 1,
      "not_run": 2,
      "unknown": 0
    },
    "next_steps": [
      "Run an installation/build probe before production adoption.",
      "Run a dependency and security scan before treating the score as a trust claim."
    ]
  },
  "git_top_score_breakdown": {
    "community": 100,
    "maintenance": 75,
    "documentation": 84,
    "stability": 100,
    "adoption": 100,
    "agent_readability": 100
  },
  "dimensions": [
    {
      "key": "community",
      "label": "Community",
      "score": 100,
      "weight": 16,
      "contribution": 16,
      "explanation": "Community reflects contributor activity and ecosystem attention. Current contributor signal is 51."
    },
    {
      "key": "maintenance",
      "label": "Maintenance",
      "score": 75,
      "weight": 20,
      "contribution": 15,
      "explanation": "Maintenance reflects repository activity, commits, releases, issue-response signals, and recent push freshness."
    },
    {
      "key": "documentation",
      "label": "Documentation",
      "score": 84,
      "weight": 16,
      "contribution": 13.4,
      "explanation": "Agent-readable documentation signals are strong enough for recommendation workflows."
    },
    {
      "key": "stability",
      "label": "Stability",
      "score": 100,
      "weight": 16,
      "contribution": 16,
      "explanation": "Stability reflects release cadence, issue load, recent activity, and maturity signals."
    },
    {
      "key": "adoption",
      "label": "Adoption",
      "score": 100,
      "weight": 16,
      "contribution": 16,
      "explanation": "Adoption is normalized from stars, forks, and ecosystem attention signals."
    },
    {
      "key": "agent_readability",
      "label": "Agent Readability",
      "score": 100,
      "weight": 16,
      "contribution": 16,
      "explanation": "Agent readability reflects summaries, use cases, tradeoffs, dependencies, alternatives, and deployment clarity."
    }
  ],
  "summary": "apify/crawlee-python scores 92/100. Community is strongest at 100/100; Maintenance is the lowest dimension at 75/100.",
  "adoption_guidance": "Promising candidate. Review risk flags, weakest score dimension, and alternatives before recommending it as the default choice.",
  "risk_flags": [
    "Known caveat: edge-only Cloudflare Workers deployment without adaptation"
  ],
  "score_confidence": {
    "level": "high",
    "summary": "Score evidence is strong enough for shortlist ranking when paired with current metadata.",
    "reasons": [
      "All score evidence checks are strong."
    ],
    "evidence_checklist": [
      {
        "signal": "Classification evidence",
        "status": "strong",
        "description": "3/4 classification signals are high-confidence."
      },
      {
        "signal": "Quality signal completeness",
        "status": "strong",
        "description": "4 quality signals are complete or snapshot-backed."
      },
      {
        "signal": "Deployment clarity",
        "status": "strong",
        "description": "3 deployment targets are indexed."
      },
      {
        "signal": "Agent-readable context",
        "status": "strong",
        "description": "3 use cases and 3 inferred dependencies are available."
      },
      {
        "signal": "Tradeoff disclosure",
        "status": "strong",
        "description": "2 caveats are indexed for adoption decisions."
      }
    ],
    "citation_guidance": "When citing this score, include metadata.source, weakest_dimension, risk_flags, and score_confidence.level."
  },
  "next_actions": [
    {
      "label": "Open project knowledge",
      "href": "/projects/apify/crawlee-python",
      "kind": "project"
    },
    {
      "label": "Inspect graph",
      "href": "/graph/apify/crawlee-python",
      "kind": "graph"
    },
    {
      "label": "Find alternatives",
      "href": "/alternatives/apify/crawlee-python",
      "kind": "alternatives"
    },
    {
      "label": "Compare shortlist",
      "href": "/api/compare?repos=apify/crawlee-python",
      "kind": "compare"
    },
    {
      "label": "Get category recommendations",
      "href": "/api/recommend?category=browser_agent&limit=5",
      "kind": "recommend"
    }
  ],
  "strongest_dimension": {
    "key": "community",
    "label": "Community",
    "score": 100,
    "weight": 16,
    "contribution": 16,
    "explanation": "Community reflects contributor activity and ecosystem attention. Current contributor signal is 51."
  },
  "weakest_dimension": {
    "key": "maintenance",
    "label": "Maintenance",
    "score": 75,
    "weight": 20,
    "contribution": 15,
    "explanation": "Maintenance reflects repository activity, commits, releases, issue-response signals, and recent push freshness."
  },
  "related_scores": {
    "quality_score": 38,
    "agent_score": 81,
    "agent_score_breakdown": {
      "documentation": 90,
      "maintenance": 63,
      "deployment": 80,
      "popularity": 80,
      "community": 96
    }
  },
  "evidence": {
    "deployments": [
      "library_only",
      "local",
      "cloud"
    ],
    "dependencies": [
      "Vector database",
      "Browser automation",
      "LLM provider"
    ],
    "use_cases": [
      "build browser automation agents",
      "operate web tasks with LLMs",
      "test web workflows"
    ],
    "not_good_for": [
      "edge-only Cloudflare Workers deployment without adaptation",
      "users expecting a complete hosted product"
    ],
    "quality_signals": {
      "stars": 9540,
      "recent_commits": 69,
      "contributors": 51,
      "issue_response_time_hours": null,
      "release_frequency_180d": 17
    },
    "quality_signal_confidence": {
      "stars_30d_delta": "snapshot",
      "stars30d_window_days": 33,
      "commits_30d": "complete",
      "releases_180d": "complete",
      "contributors_90d": "complete"
    },
    "verification": {
      "schema_version": "git-top.verification.v1",
      "overall_status": "partial",
      "observed_at": "2026-09-19T16:00:41.690Z",
      "signals": {
        "activity": {
          "status": "observed",
          "source": "github_metadata",
          "evidence": [
            "project.pushed_at",
            "metrics.recent_push_days"
          ]
        },
        "license": {
          "status": "observed",
          "source": "github_metadata",
          "evidence": [
            "project.license"
          ]
        },
        "documentation": {
          "status": "observed",
          "source": "github_metadata",
          "evidence": [
            "project.description"
          ]
        },
        "runtime": {
          "status": "inferred",
          "source": "git_top_heuristic",
          "evidence": [
            "agent_card.deployment",
            "agent_card.cloudflare_ready"
          ]
        },
        "install": {
          "status": "not_run",
          "source": "git_top_runtime",
          "evidence": [
            "installation/build probe is not enabled"
          ]
        },
        "security": {
          "status": "not_run",
          "source": "git_top_runtime",
          "evidence": [
            "dependency/security scan is not enabled"
          ]
        },
        "mcp": {
          "status": "not_applicable",
          "source": "git_top_runtime",
          "evidence": [
            "project is not classified as mcp_server"
          ]
        }
      },
      "coverage": {
        "observed": 3,
        "inferred": 1,
        "not_run": 2,
        "unknown": 0
      },
      "next_steps": [
        "Run an installation/build probe before production adoption.",
        "Run a dependency and security scan before treating the score as a trust claim."
      ]
    },
    "classification": {
      "category": {
        "confidence": "high",
        "evidence": [
          "Matched \"browser automation\" in metadata.",
          "Matched \"playwright\" in metadata."
        ]
      },
      "deployment": {
        "confidence": "high",
        "evidence": [
          "Matched \"pip install\" in repository content.",
          "Matched \"library\" in repository content.",
          "Local usage is assumed for open source repositories unless contradicted."
        ]
      },
      "difficulty": {
        "confidence": "medium",
        "evidence": [
          "Repository has under 10k stars, so complexity is treated conservatively."
        ]
      },
      "cloudflare_ready": {
        "confidence": "high",
        "evidence": [
          "Runtime blocker: python.",
          "No Cloudflare deployment signal detected.",
          "No wrangler.toml found in inspected repository files."
        ]
      }
    },
    "source_fields": [
      "project.description",
      "project.topics",
      "project.language",
      "project.license",
      "agent_card.summary_for_agent",
      "agent_card.use_cases",
      "agent_card.deployment",
      "agent_card.classification",
      "metrics",
      "verification.signals"
    ],
    "caveats": [
      "edge-only Cloudflare Workers deployment without adaptation",
      "users expecting a complete hosted product",
      "Independent installation, security, or runtime probes have not been run for this project."
    ],
    "confidence_reason": "Classification evidence and quality signals are strong enough for shortlist reasoning when metadata is current.",
    "last_verified_at": "2026-09-19T16:00:41.690Z"
  },
  "caveats": [
    "edge-only Cloudflare Workers deployment without adaptation",
    "users expecting a complete hosted product",
    "Independent installation, security, or runtime probes have not been run for this project."
  ],
  "confidence_reason": "Score evidence is strong enough for shortlist ranking when paired with current metadata.",
  "source_fields": [
    "project.description",
    "project.topics",
    "project.language",
    "project.license",
    "agent_card.summary_for_agent",
    "agent_card.use_cases",
    "agent_card.deployment",
    "agent_card.classification",
    "metrics",
    "verification.signals"
  ],
  "last_verified_at": "2026-09-19T16:00:41.690Z",
  "links": {
    "page": "/score/apify/crawlee-python",
    "project_api": "/api/project/apify/crawlee-python",
    "graph_api": "/api/graph/apify/crawlee-python",
    "alternatives_api": "/api/alternatives/apify/crawlee-python",
    "compare_api": "/api/compare?repos=apify/crawlee-python",
    "recommendations_api": "/api/recommend?category=browser_agent&limit=5"
  },
  "metadata": {
    "source": "d1",
    "reason": "d1_query",
    "project_count": 1213,
    "generated_at": "2026-09-20T03:22:22.779Z",
    "snapshot_id": "d1:1213:2026-09-20T03:00:42.286Z",
    "latest_synced_at": "2026-09-20T03:00:42.286Z",
    "schema_version": "git-top.knowledge.v1",
    "loaded_project_limit": 2000,
    "truncated": false
  }
}