@obinexusltd/pypolycall
v1.0.0
Published
Python ctypes source binding for libpolycall 1.5
Maintainers
Readme
@obinexusltd/pypolycall
Python ctypes binding for
libpolycall 1.5, distributed through
both Python packaging metadata and an npm-indexable source package.
The Python adapter remains thin: calls cross the shared C FFI boundary and no language-specific configuration parser or runtime is implemented here.
npm source package
npm install @obinexusltd/pypolycallThe npm package includes and indexes:
src/— Python package sourcedist/— wheels and source distributions when generatedexamples/— sample configuration and examplestests/— Python and npm integration tests
const pypolycall = require('@obinexusltd/pypolycall');
console.log(pypolycall.directories.src.root);
console.log(pypolycall.directories.dist.relativeFiles);
console.log(pypolycall.resolve('examples', 'pypolycallrc'));Each directory index exposes its absolute root, absolute files, and
portable relativeFiles. Exported npm subpaths also allow files to be resolved
directly, for example:
require.resolve('@obinexusltd/pypolycall/examples/pypolycallrc');Python installation
From this source tree:
python -m pip install .Build a wheel and source distribution after installing the Python build
frontend:
python -m pip install build
npm run build:pythonArtifacts are written to dist/ and become part of both the JavaScript index
and the npm package.
Python API
import pypolycall
print(pypolycall.version())
pypolycall.run_config("pypolycallrc")
print(pypolycall.describe("pypolycallrc"))Build libpolycall first and place its shared library in the core build/ or
bin/ directory, or somewhere discoverable by the platform loader.
Verification
npm testThis validates npm metadata, all four directory indexes, subpath exports, path containment, and the existing Python smoke test. The Python test exits cleanly when the shared libpolycall core has not been built.
Author and license
Copyright © 2026 Nnamdi Michael Okpala [email protected].
Released under the MIT License.
