{"data":{"slug":"stanfordnlp-dspy","name":"dspy","tagline":"A framework for programming language models","github_url":"https://github.com/stanfordnlp/dspy","owner":"stanfordnlp","repo":"dspy","owner_avatar_url":"https://avatars.githubusercontent.com/u/3046006?v=4","primary_language":"Python","stars":36036,"forks":3082,"topics":[],"archived":false,"github_pushed_at":"2026-07-10T17:22:21+00:00","maintenance_label":"Very active","url":"https://www.graphcanon.com/tools/stanfordnlp-dspy","markdown_url":"https://www.graphcanon.com/tools/stanfordnlp-dspy.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/stanfordnlp-dspy","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=stanfordnlp-dspy","description":"DSPy: The framework for programming—not prompting—language models","homepage_url":"https://dspy.ai","license":"MIT","open_issues":571,"watchers":204,"ai_summary":"DSPy is a Python-based tool designed to program language models rather than prompt them, offering a new approach in interaction and development.","readme_excerpt":"## Installation\n\n\n```bash\npip install dspy\n```\n\nTo install the very latest from `main`:\n\n```bash\npip install git+https://github.com/stanfordnlp/dspy.git\n```","github_created_at":"2023-01-09T21:01:51+00:00","created_at":"2026-07-11T10:38:10.808778+00:00","updated_at":"2026-07-11T12:51:15.52161+00:00","categories":[{"slug":"llm-frameworks","name":"LLM Frameworks","url":"https://www.graphcanon.com/categories/llm-frameworks","markdown_url":"https://www.graphcanon.com/categories/llm-frameworks.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/llm-frameworks"}],"tags":[{"slug":"programming-framework","name":"programming framework"},{"slug":"language-models","name":"language-models"},{"slug":"ai-development","name":"ai-development"}],"trust":{"provenance":{"is_fork":false,"github_id":587050620,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T10:38:11.378Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":3,"days_since_push":0,"last_release_at":"2026-05-28T01:11:39Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:38:16.417Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T12:50:56.559Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-07-11T12:50:56.559Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-07-11T12:50:56.559Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["When you aim to leverage a comprehensive framework designed specifically for programming and developing with language models rather than just prompting them.","If you're working within the Python ecosystem and seek integration without needing significant adapters or translators."],"when_not_to_use":["When your project strictly requires real-time interaction and feedback through traditional prompting methods, as DSPy's framework is focused on a programming approach which may not be suitable for all","In scenarios where the flexibility of prompt-based interactions with language models is preferred over strict programming methodologies."],"source":"enrich:decision_facts","observed_at":"2026-07-11T12:51:15.221Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"Evaluate DSPy based on its unique approach of programming language models via Python, making it an option that steps away from traditional prompting methods."}]}}