An open API service indexing awesome lists of open source software.

https://github.com/panda3d/interrogate

Python binding generator for Panda3D
https://github.com/panda3d/interrogate

Last synced: 6 months ago
JSON representation

Python binding generator for Panda3D

Awesome Lists containing this project

README

        

interrogate
===========

Interrogate is a binding generator for Python and other scripting languages.
It was designed for use with the [Panda3D](https://www.panda3d.org/) game
engine, but can be used for other libraries. It was recently split out of the
[Panda3D codebase](https://github.com/panda3d/panda3d), and work is ongoing to
refactor the code and make it more independent.

Interrogate consists of the following components:

- A library for C++ parsing.
- Stub headers necessary for efficiently parsing code that uses the C++
standard library and other popular thirdparty libraries.
- The interrogate command-line tool, which parses the given set of C++ files
and outputs Python and/or C bindings.
- The interrogatedb library, which can be used to parse the .idb files that
may be generated by the above tool. These can be used to generate
documentation files.
- Python bindings for the interrogatedb library.

Interrogate is licensed under the Modified BSD License. See the LICENSE file
for more details.

Back-ends
---------

The following back-ends are currently implemented:

- `-c`: generate C wrapper functions for use with an FFI.
- `-python`: the "simple" Python back-end, supporting basic functions.
Supports the stable Python API.
- `-python-obj`: a version of the above back-end with object support.
- `-python-native`: a very powerful back-end with an exhaustive feature list,
however, the resulting binaries currently depend on Panda3D.

Reporting Issues
----------------

If you encounter any bugs when using Interrogate, please report them in the
bug tracker. This is hosted at:

https://github.com/panda3d/interrogate/issues

Make sure to first use the search function to see if the bug has already been
reported. When filling out a bug report, make sure that you include as much
information as possible to help the developers track down the issue, such as
your version of interrogate, operating system, architecture, and any code and
models that are necessary for the developers to reproduce the issue.

If you're not sure whether you've encountered a bug, feel free to ask about
it in the forums or the IRC channel first.