Metadata-Version: 2.2
Name: panda3d-interrogate
Version: 0.10.1
Summary: Binding generator designed for Panda3D
License: Copyright (c) 2008, Carnegie Mellon University.
         All rights reserved.
         
         Redistribution and use in source and binary forms, with or without
         modification, are permitted provided that the following conditions
         are met:
         
         1. Redistributions of source code must retain the above copyright
            notice, this list of conditions and the following disclaimer.
         2. Redistributions in binary form must reproduce the above copyright
            notice, this list of conditions and the following disclaimer in the
            documentation and/or other materials provided with the distribution.
         3. Neither the name of Carnegie Mellon University nor the names of
            other contributors may be used to endorse or promote products
            derived from this software without specific prior written
            permission.
         
         THIS SOFTWARE IS PROVIDED BY THE AUTHORS "AS IS" AND ANY EXPRESS OR
         IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
         OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
         IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
         INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
         NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
         DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
         THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
         (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
         THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
         
         (This is the Modified BSD License.  See also
         http://www.opensource.org/licenses/bsd-license.php )
         
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: C++
Project-URL: Source, https://github.com/panda3d/interrogate
Project-URL: Tracker, https://github.com/panda3d/interrogate/issues
Project-URL: Funding, https://opencollective.com/panda3d
Requires-Python: >=3.2
Description-Content-Type: text/markdown

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

<img src="https://avatars2.githubusercontent.com/u/590956?v=3&s=500" align="right" width="200" />

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.
