{"data":{"slug":"cffi","name":"cffi","tagline":"","homepage":"https://cffi.readthedocs.io/","category":{"slug":"developer-tools","name":"Developer Tools"},"vendor":{"name":"Readthedocs","primaryDomain":null},"score":{"composite":51,"confidence":0.19,"confidenceBand":"low","breakdown":{"repo_stars":{"value":46.2,"weight":0.05,"present":true,"contribution":2.3},"dev_activity":{"value":36.1,"weight":0.18,"present":true,"contribution":6.5},"release_cadence":{"value":80,"weight":0.12,"present":true,"contribution":9.6},"security_posture":{"value":0,"weight":0.14,"present":false,"contribution":0},"package_downloads":{"value":0,"weight":0.28,"present":false,"contribution":0},"community_qa_activity":{"value":0,"weight":0.14,"present":false,"contribution":0}},"computedAt":"2026-09-14T09:35:08.997Z","stale":false},"uri":"https://www.vioscale.ai/software/cffi","aliases":["cffi"],"status":"published","crawlStatus":"ok","indexStatus":"indexed","nextCrawlAt":"2026-09-28T09:35:09.179Z","categories":[{"slug":"developer-tools","name":"Developer Tools","isPrimary":true}],"facts":{"content":[{"attribute":"content.faq","value":[{"answer":"cffi is a Python library enabling developers to call C code from Python programs. It uses C-style function and type declarations that can be directly extracted from C headers or reference documentation, simplifying the process of building Python-C interfaces.","source":"https://cffi.readthedocs.io/","question":"What is cffi?","confidence":0.95},{"answer":"cffi is completely free and released under an open source license. There are no paid editions, subscription tiers, or licensing fees.","source":"https://cffi.readthedocs.io/","question":"How much does cffi cost?","confidence":1},{"answer":"cffi offers both ABI (Application Binary Interface) mode and API mode. ABI mode allows runtime calls to pre-compiled libraries, while API mode generates C code that integrates with your C extensions.","source":"https://cffi.readthedocs.io/","question":"What calling modes does cffi provide?","confidence":0.8},{"answer":"Yes, cffi includes built-in thread safety support. This feature makes it suitable for use in Python applications that rely on multiple threads.","source":"https://cffi.readthedocs.io/","question":"Can cffi be used in multithreaded applications?","confidence":0.9},{"answer":"Yes, cffi includes embedding support. This feature allows Python code using cffi to be integrated into and called from C applications.","source":"https://cffi.readthedocs.io/","question":"Does cffi support embedding Python in C programs?","confidence":0.9},{"answer":"cffi supports Windows-specific calling conventions, making it compatible with Windows systems. You can use cffi to call Windows C libraries from Python.","source":"https://cffi.readthedocs.io/","question":"Is cffi compatible with Windows?","confidence":0.9},{"answer":"cffi is designed for Python developers who need to integrate with C libraries or write Python extensions without manually coding C code. It is useful whenever C-Python interoperability is required.","source":"https://cffi.readthedocs.io/","question":"Who is cffi intended for?","confidence":0.8}],"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-07-31T10:50:54.067Z","confidence":0.89285713}}],"activity":[{"attribute":"activity.commits_last_30d","value":13,"provenance":{"source":"https://github.com/python-cffi/cffi/pulse","sourceType":"vioscale-crawler","retrievedAt":"2026-07-31T10:13:48.588Z","confidence":0.65}}],"adoption":[{"attribute":"adoption.github_stars","value":279,"provenance":{"source":"https://github.com/python-cffi/cffi","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.650Z","confidence":0.9}},{"attribute":"adoption.dependent_repos","value":166881,"provenance":{"source":"https://packages.ecosyste.ms/api/v1/packages/lookup?repository_url=https%3A%2F%2Fgithub.com%2Fpython-cffi%2Fcffi","sourceType":"vioscale-crawler","retrievedAt":"2026-08-26T18:37:33.528Z","confidence":0.85}}],"language":[{"attribute":"language.primary","value":"Python","provenance":{"source":"https://github.com/python-cffi/cffi","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.650Z","confidence":0.9}}],"platform":[{"attribute":"platform.support","value":{"cli":true,"ios":true,"mac":true,"linux":true,"windows":true},"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-08-14T10:25:31.333Z","confidence":0.6}}],"pricing":[{"attribute":"pricing","value":{"type":"open_source","plans":[{"free":true,"name":"Open Source","summary":"Free and open source","features":["Interact with C code from Python","ABI mode","API mode","Embedding support","Windows calling conventions","Thread safety support"],"contactSales":false}],"summary":"Free and open source","freeTier":true,"sourceUrl":"https://cffi.readthedocs.io/","retrievedAt":"2026-07-31T10:19:04.130Z"},"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-07-31T10:19:04.130Z","confidence":0.6}},{"attribute":"pricing.free_tier","value":true,"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-08-14T10:25:31.333Z","confidence":0.6}},{"attribute":"pricing.model","value":"open_source","provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-09-14T09:29:12.753Z","confidence":0.6}},{"attribute":"pricing.price_level","value":"free","provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-09-14T09:29:12.753Z","confidence":0.6}},{"attribute":"pricing.transparent","value":true,"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-07-31T10:19:04.130Z","confidence":0.6}}],"release":[{"attribute":"release.cadence_days","value":36,"provenance":{"source":"https://github.com/python-cffi/cffi/releases","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.650Z","confidence":0.7}},{"attribute":"release.history","value":[{"url":"https://github.com/python-cffi/cffi/releases/tag/v2.1.1","date":"2026-08-03T21:17:55Z","type":"stable","version":"v2.1.1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v2.1.0","date":"2026-07-06T21:29:25Z","type":"stable","version":"v2.1.0"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v2.0.0","date":"2025-09-08T23:19:49Z","type":"stable","version":"v2.0.0"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v2.0.0b1","date":"2025-07-28T21:26:50Z","type":"prerelease","version":"v2.0.0b1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.17.1","date":"2024-09-04T20:41:32Z","type":"stable","version":"v1.17.1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.17.0","date":"2024-08-06T17:43:47Z","type":"stable","version":"v1.17.0"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.17.0rc1","date":"2024-05-23T23:38:11Z","type":"prerelease","version":"v1.17.0rc1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.16.0","date":"2023-09-28T17:40:56Z","type":"stable","version":"v1.16.0"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.16.0rc2","date":"2023-09-26T05:29:43Z","type":"prerelease","version":"v1.16.0rc2"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.16.0rc1","date":"2023-09-25T21:45:20Z","type":"prerelease","version":"v1.16.0rc1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.15.1","date":"2023-09-25T22:24:17Z","type":"stable","version":"v1.15.1"}],"provenance":{"source":"https://github.com/python-cffi/cffi/releases","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.650Z","confidence":0.7}}],"deployment":[{"attribute":"deployment.options","value":{"self_hosted":true},"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-08-14T10:25:31.333Z","confidence":0.6}}],"description":[{"attribute":"description.long","value":"A Python tool that enables calling C libraries and code by declaring C types and functions using C-like syntax. Supports multiple integration modes including ABI mode, API mode, and embedding.","provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-08-14T10:25:31.333Z","confidence":0.6}}],"security":[{"attribute":"security.scorecard","value":5.1,"provenance":{"source":"https://api.securityscorecards.dev/projects/github.com/python-cffi/cffi","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.688Z","confidence":0.9}},{"attribute":"security.vulnerabilities","value":{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=cffi&per_page=100","last_12m":0,"max_severity":null},"provenance":{"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=cffi&per_page=100","sourceType":"vioscale-crawler","retrievedAt":"2026-08-26T18:37:33.530Z","confidence":0.9}}]},"factList":[{"attribute":"content.faq","value":[{"answer":"cffi is a Python library enabling developers to call C code from Python programs. It uses C-style function and type declarations that can be directly extracted from C headers or reference documentation, simplifying the process of building Python-C interfaces.","source":"https://cffi.readthedocs.io/","question":"What is cffi?","confidence":0.95},{"answer":"cffi is completely free and released under an open source license. There are no paid editions, subscription tiers, or licensing fees.","source":"https://cffi.readthedocs.io/","question":"How much does cffi cost?","confidence":1},{"answer":"cffi offers both ABI (Application Binary Interface) mode and API mode. ABI mode allows runtime calls to pre-compiled libraries, while API mode generates C code that integrates with your C extensions.","source":"https://cffi.readthedocs.io/","question":"What calling modes does cffi provide?","confidence":0.8},{"answer":"Yes, cffi includes built-in thread safety support. This feature makes it suitable for use in Python applications that rely on multiple threads.","source":"https://cffi.readthedocs.io/","question":"Can cffi be used in multithreaded applications?","confidence":0.9},{"answer":"Yes, cffi includes embedding support. This feature allows Python code using cffi to be integrated into and called from C applications.","source":"https://cffi.readthedocs.io/","question":"Does cffi support embedding Python in C programs?","confidence":0.9},{"answer":"cffi supports Windows-specific calling conventions, making it compatible with Windows systems. You can use cffi to call Windows C libraries from Python.","source":"https://cffi.readthedocs.io/","question":"Is cffi compatible with Windows?","confidence":0.9},{"answer":"cffi is designed for Python developers who need to integrate with C libraries or write Python extensions without manually coding C code. It is useful whenever C-Python interoperability is required.","source":"https://cffi.readthedocs.io/","question":"Who is cffi intended for?","confidence":0.8}],"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-07-31T10:50:54.067Z","confidence":0.89285713}},{"attribute":"activity.commits_last_30d","value":13,"provenance":{"source":"https://github.com/python-cffi/cffi/pulse","sourceType":"vioscale-crawler","retrievedAt":"2026-07-31T10:13:48.588Z","confidence":0.65}},{"attribute":"adoption.github_stars","value":279,"provenance":{"source":"https://github.com/python-cffi/cffi","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.650Z","confidence":0.9}},{"attribute":"language.primary","value":"Python","provenance":{"source":"https://github.com/python-cffi/cffi","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.650Z","confidence":0.9}},{"attribute":"platform.support","value":{"cli":true,"ios":true,"mac":true,"linux":true,"windows":true},"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-08-14T10:25:31.333Z","confidence":0.6}},{"attribute":"pricing","value":{"type":"open_source","plans":[{"free":true,"name":"Open Source","summary":"Free and open source","features":["Interact with C code from Python","ABI mode","API mode","Embedding support","Windows calling conventions","Thread safety support"],"contactSales":false}],"summary":"Free and open source","freeTier":true,"sourceUrl":"https://cffi.readthedocs.io/","retrievedAt":"2026-07-31T10:19:04.130Z"},"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-07-31T10:19:04.130Z","confidence":0.6}},{"attribute":"pricing.free_tier","value":true,"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-08-14T10:25:31.333Z","confidence":0.6}},{"attribute":"pricing.model","value":"open_source","provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-09-14T09:29:12.753Z","confidence":0.6}},{"attribute":"pricing.price_level","value":"free","provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-09-14T09:29:12.753Z","confidence":0.6}},{"attribute":"pricing.transparent","value":true,"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-07-31T10:19:04.130Z","confidence":0.6}},{"attribute":"release.cadence_days","value":36,"provenance":{"source":"https://github.com/python-cffi/cffi/releases","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.650Z","confidence":0.7}},{"attribute":"deployment.options","value":{"self_hosted":true},"provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-08-14T10:25:31.333Z","confidence":0.6}},{"attribute":"description.long","value":"A Python tool that enables calling C libraries and code by declaring C types and functions using C-like syntax. Supports multiple integration modes including ABI mode, API mode, and embedding.","provenance":{"source":"https://cffi.readthedocs.io/","sourceType":"vioscale-crawler","retrievedAt":"2026-08-14T10:25:31.333Z","confidence":0.6}},{"attribute":"adoption.dependent_repos","value":166881,"provenance":{"source":"https://packages.ecosyste.ms/api/v1/packages/lookup?repository_url=https%3A%2F%2Fgithub.com%2Fpython-cffi%2Fcffi","sourceType":"vioscale-crawler","retrievedAt":"2026-08-26T18:37:33.528Z","confidence":0.85}},{"attribute":"security.scorecard","value":5.1,"provenance":{"source":"https://api.securityscorecards.dev/projects/github.com/python-cffi/cffi","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.688Z","confidence":0.9}},{"attribute":"security.vulnerabilities","value":{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=cffi&per_page=100","last_12m":0,"max_severity":null},"provenance":{"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=cffi&per_page=100","sourceType":"vioscale-crawler","retrievedAt":"2026-08-26T18:37:33.530Z","confidence":0.9}},{"attribute":"release.history","value":[{"url":"https://github.com/python-cffi/cffi/releases/tag/v2.1.1","date":"2026-08-03T21:17:55Z","type":"stable","version":"v2.1.1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v2.1.0","date":"2026-07-06T21:29:25Z","type":"stable","version":"v2.1.0"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v2.0.0","date":"2025-09-08T23:19:49Z","type":"stable","version":"v2.0.0"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v2.0.0b1","date":"2025-07-28T21:26:50Z","type":"prerelease","version":"v2.0.0b1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.17.1","date":"2024-09-04T20:41:32Z","type":"stable","version":"v1.17.1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.17.0","date":"2024-08-06T17:43:47Z","type":"stable","version":"v1.17.0"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.17.0rc1","date":"2024-05-23T23:38:11Z","type":"prerelease","version":"v1.17.0rc1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.16.0","date":"2023-09-28T17:40:56Z","type":"stable","version":"v1.16.0"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.16.0rc2","date":"2023-09-26T05:29:43Z","type":"prerelease","version":"v1.16.0rc2"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.16.0rc1","date":"2023-09-25T21:45:20Z","type":"prerelease","version":"v1.16.0rc1"},{"url":"https://github.com/python-cffi/cffi/releases/tag/v1.15.1","date":"2023-09-25T22:24:17Z","type":"stable","version":"v1.15.1"}],"provenance":{"source":"https://github.com/python-cffi/cffi/releases","sourceType":"vioscale-crawler","retrievedAt":"2026-09-10T17:39:08.650Z","confidence":0.7}}],"faq":[{"answer":"cffi is a Python library enabling developers to call C code from Python programs. It uses C-style function and type declarations that can be directly extracted from C headers or reference documentation, simplifying the process of building Python-C interfaces.","source":"https://cffi.readthedocs.io/","question":"What is cffi?","confidence":0.95},{"answer":"cffi is completely free and released under an open source license. There are no paid editions, subscription tiers, or licensing fees.","source":"https://cffi.readthedocs.io/","question":"How much does cffi cost?","confidence":1},{"answer":"cffi offers both ABI (Application Binary Interface) mode and API mode. ABI mode allows runtime calls to pre-compiled libraries, while API mode generates C code that integrates with your C extensions.","source":"https://cffi.readthedocs.io/","question":"What calling modes does cffi provide?","confidence":0.8},{"answer":"Yes, cffi includes built-in thread safety support. This feature makes it suitable for use in Python applications that rely on multiple threads.","source":"https://cffi.readthedocs.io/","question":"Can cffi be used in multithreaded applications?","confidence":0.9},{"answer":"Yes, cffi includes embedding support. This feature allows Python code using cffi to be integrated into and called from C applications.","source":"https://cffi.readthedocs.io/","question":"Does cffi support embedding Python in C programs?","confidence":0.9},{"answer":"cffi supports Windows-specific calling conventions, making it compatible with Windows systems. You can use cffi to call Windows C libraries from Python.","source":"https://cffi.readthedocs.io/","question":"Is cffi compatible with Windows?","confidence":0.9},{"answer":"cffi is designed for Python developers who need to integrate with C libraries or write Python extensions without manually coding C code. It is useful whenever C-Python interoperability is required.","source":"https://cffi.readthedocs.io/","question":"Who is cffi intended for?","confidence":0.8}],"faqSource":"generated","releaseHistory":[{"version":"v2.1.1","date":"2026-08-03T21:17:55Z","url":"https://github.com/python-cffi/cffi/releases/tag/v2.1.1","type":"stable"},{"version":"v2.1.0","date":"2026-07-06T21:29:25Z","url":"https://github.com/python-cffi/cffi/releases/tag/v2.1.0","type":"stable"},{"version":"v2.0.0","date":"2025-09-08T23:19:49Z","url":"https://github.com/python-cffi/cffi/releases/tag/v2.0.0","type":"stable"},{"version":"v2.0.0b1","date":"2025-07-28T21:26:50Z","url":"https://github.com/python-cffi/cffi/releases/tag/v2.0.0b1","type":"prerelease"},{"version":"v1.17.1","date":"2024-09-04T20:41:32Z","url":"https://github.com/python-cffi/cffi/releases/tag/v1.17.1","type":"stable"},{"version":"v1.17.0","date":"2024-08-06T17:43:47Z","url":"https://github.com/python-cffi/cffi/releases/tag/v1.17.0","type":"stable"},{"version":"v1.17.0rc1","date":"2024-05-23T23:38:11Z","url":"https://github.com/python-cffi/cffi/releases/tag/v1.17.0rc1","type":"prerelease"},{"version":"v1.16.0","date":"2023-09-28T17:40:56Z","url":"https://github.com/python-cffi/cffi/releases/tag/v1.16.0","type":"stable"},{"version":"v1.16.0rc2","date":"2023-09-26T05:29:43Z","url":"https://github.com/python-cffi/cffi/releases/tag/v1.16.0rc2","type":"prerelease"},{"version":"v1.16.0rc1","date":"2023-09-25T21:45:20Z","url":"https://github.com/python-cffi/cffi/releases/tag/v1.16.0rc1","type":"prerelease"},{"version":"v1.15.1","date":"2023-09-25T22:24:17Z","url":"https://github.com/python-cffi/cffi/releases/tag/v1.15.1","type":"stable"}],"vulnerabilities":{"count":0,"last12m":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=cffi&per_page=100"},"claimed":false,"updatedAt":"2026-09-14T09:35:09.180Z","formats":{"json":"https://www.vioscale.ai/api/v1/software/cffi","markdown":"https://www.vioscale.ai/software/cffi.md","html":"https://www.vioscale.ai/software/cffi"}},"meta":{"source":"https://www.vioscale.ai","license":"CC-BY-4.0","generatedAt":"2026-09-21T01:30:34.721Z","disclaimer":"Independent, evidence-based. Every fact carries provenance."}}