{"data":{"slug":"blackhc-llm-strategy","name":"llm-strategy","tagline":"Python library for strongly typed interaction with LLMs","github_url":"https://github.com/BlackHC/llm-strategy","owner":"BlackHC","repo":"llm-strategy","owner_avatar_url":"https://avatars.githubusercontent.com/u/729312?v=4","primary_language":"Python","stars":400,"forks":22,"topics":["gpt","langchain","llm","openai","pydantic","python","strongly-typed"],"archived":false,"github_pushed_at":"2025-03-03T20:31:25+00:00","maintenance_label":"Dormant","url":"https://www.graphcanon.com/tools/blackhc-llm-strategy","markdown_url":"https://www.graphcanon.com/tools/blackhc-llm-strategy.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/blackhc-llm-strategy","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=blackhc-llm-strategy","description":"Directly Connecting Python to LLMs via Strongly-Typed Functions, Dataclasses, Interfaces & Generic Types","homepage_url":"https://blackhc.github.io/llm-strategy/","license":"MIT","open_issues":5,"watchers":4,"ai_summary":"This repository offers a way to interface Python programs with language models using type checking and strong typing principles.","readme_excerpt":"## Getting started with contributing\n\nClone the repository first. Then, install the environment and the pre-commit hooks with \n\n```bash\nmake install\n```\n\nThe CI/CD\npipeline will be triggered when you open a pull request, merge to main,\nor when you create a new release.\n\nTo finalize the set-up for publishing to PyPi or Artifactory, see\n[here](https://fpgmaas.github.io/cookiecutter-poetry/features/publishing/#set-up-for-pypi).\nFor activating the automatic documentation with MkDocs, see\n[here](https://fpgmaas.github.io/cookiecutter-poetry/features/mkdocs/#enabling-the-documentation-on-github).\nTo enable the code coverage reports, see [here](https://fpgmaas.github.io/cookiecutter-poetry/features/codecov/).","github_created_at":"2022-12-21T00:23:47+00:00","created_at":"2026-07-11T10:44:27.926608+00:00","updated_at":"2026-08-08T06:03:40.426021+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":"gpt","name":"gpt"},{"slug":"langchain","name":"langchain"},{"slug":"llm","name":"llm"},{"slug":"openai","name":"openai"},{"slug":"pydantic","name":"pydantic"},{"slug":"python","name":"python"}],"trust":{"provenance":{"is_fork":false,"github_id":580595594,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-08T06:03:39.608Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":522,"last_release_at":"2023-12-27T19:31:17Z"},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T10:44:29.336Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-08T06:03:40.042Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-08-08T06:03:40.042Z","managed_saas":false},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-08-08T06:03:40.042Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-08-08T06:03:40.042Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-08-08T06:03:40.042Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["You need to enforce strict type safety when working with LLMs","Your project benefits from integrating with Pydantic for schema validation"],"when_not_to_use":["If loose or dynamic typing offers better flexibility for your application","When you prefer frameworks that do not have a steep learning curve due to advanced type annotations"],"source":"enrich:decision_facts","observed_at":"2026-07-15T10:04:25.164Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"llm-strategy is a Python library promoting type safety in interactions with language models through its use of strongly typed functions and dataclasses."}]}}