ccimport
a tiny package for fast python c++ binding build.
Decision gist · record as of 2026-08-14
Yes, if you need fast on-demand C++ compilation for Python and are comfortable with dormant maintenance. The low install friction, permissive MIT license, stable dependencies, and zero known vulnerabilities make it safe to use. However, be aware that the last release was 668 days ago; if you encounter issues with newer Python or compiler versions, community support may be limited. Best suited for development workflows or one-off scripts rather than production systems requiring active maintenance.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a C++ compiler (g++, clang, or MSVC) and ninja build tool to be installed and available on your system PATH.
- Low install friction with a pure-wheel distribution.
- Dormant maintenance status—last release was 668 days ago—but the repository remains active and the package has no known vulnerabilities.
License · maintenance · safety
MIT (permissive) — MIT license is permissive and poses no restrictions on commercial or private use. You may use, modify, and distribute this package freely as long as you include the license notice.
last release 2024-10-15 (668 days) · last repo commit 2024-10-15 · 2 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 182,040 downloads/mo, #10,108 on PyPI
Alternatives
Verify before relying
import ccimport
build_meta = ccimport.BuildMeta()
build_meta.add_global_includes(['/path/to/includes'])
build_meta.add_global_cflags(['-O2'])
lib = ccimport.ccimport(['/path/to/source.cpp'], '/output/path', build_meta)- Whether the package works with Python versions beyond 3.10, given the description mentions support only through 3.10.
- Current state of compatibility with modern pybind11 and ninja versions, given dormant maintenance status.
What it is and what it does
ccimport is a lightweight wrapper around pybind11 and ninja that compiles C++ source files into Python-importable modules on demand. Instead of writing a setup.py and running a separate build step, you call ccimport.ccimport() with your C++ source paths, output directory, and build configuration (includes, compiler flags, linker flags), and it handles compilation and loading in one go. It's designed for rapid iteration during development or for embedding C++ code directly in Python scripts without a formal build infrastructure.
The package depends on pybind11 for C++-to-Python binding generation, ninja for fast parallel compilation, requests for potential network operations, and importlib-metadata for runtime package introspection. It requires Python 3.6 or later and a system C++ compiler. With dormant maintenance (last release 668 days ago) but no known vulnerabilities and a stable dependency chain, it remains usable for straightforward binding tasks, though long-term support is uncertain.
Use it for
- Rapidly prototype C++ algorithms in Python without writing a full setup.py and build configuration.
- Embed performance-critical C++ code directly in a Python script for one-off computation or testing.
- Build Python bindings for existing C++ libraries during development without committing to a formal build system.
- Automate C++ module compilation in a Python-based build or CI pipeline that needs dynamic compilation.
- Teach or demonstrate C++ integration with Python in interactive environments without build boilerplate.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need fast on-demand C++ compilation for Python and are comfortable with dormant maintenance.
The low install friction, permissive MIT license, stable dependencies, and zero known vulnerabilities make it safe to use. However, be aware that the last release was 668 days ago; if you encounter issues with newer Python or compiler versions, community support may be limited. Best suited for development workflows or one-off scripts rather than production systems requiring active maintenance.
Install
ccimport on PyPI
Before you install
Low install friction with a pure-wheel distribution. Dormant maintenance status—last release was 668 days ago—but the repository remains active and the package has no known vulnerabilities. Depends on pybind11, ninja, requests, importlib-metadata, and dataclasses; all are stable, widely-used libraries.
Requires a C++ compiler (g++, clang, or MSVC) and ninja build tool to be installed and available on your system PATH.
License in practice
MIT license is permissive and poses no restrictions on commercial or private use. You may use, modify, and distribute this package freely as long as you include the license notice.
Quickstart
import ccimport
build_meta = ccimport.BuildMeta()
build_meta.add_global_includes(['/path/to/includes'])
build_meta.add_global_cflags(['-O2'])
lib = ccimport.ccimport(['/path/to/source.cpp'], '/output/path', build_meta)
Verify before relying
- Whether the package works with Python versions beyond 3.10, given the description mentions support only through 3.10.
- Current state of compatibility with modern pybind11 and ninja versions, given dormant maintenance status.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.6 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagespybind11ninjarequestsimportlib-metadatadataclasses |
| Maintenance | Dormant 668 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 182,040 / month, #10,108 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: ccimport-0.4.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “python c++ binding builder”
- ccimportccimport builds Python C++ bindings on-the-fly using pybind11 and…
- llvmlitellvmlite provides a lightweight Python binding to LLVM's IR builder,…
- python-ffmpegProvides a Python binding for FFmpeg with both synchronous and…
Give your agent the search over MCP, or paste the wish link into any chat.
More Build Tools packages
Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.
Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.
Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.
pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.
Install it if your team needs consistent, automated validation at commit time.
See also nanobind · pccm · pybind11-global · pybind11 · llvmlite · scikit-build · scikit-build-core · chialisp-builder · pyexiv2 · chialisp-loader