Skip to content

pygccxml is a specialized XML reader that reads the output from CastXML. It provides a simple framework to navigate C++ declarations, using Python classes.

License

Notifications You must be signed in to change notification settings

CastXML/pygccxml

Repository files navigation

pygccxml

Code coverage status Documentation status

pygccxml is a specialized XML reader that reads the output from CastXML. It provides a simple framework to navigate C++ declarations, using Python classes.

Using pygccxml you can:

  • Parse C++ source code
  • Create a code generator
  • Generate UML diagrams
  • Build code analyzers
  • ...

Installation

Install instructions can be found here.

Compatibility

pygccxml is compatible with Python 3.7, 3.8, 3.9, 3.10, 3.11 and pypy3.

Documentation and examples

The documentation can be found here, examples can be found here. You can also run an example JupyterLab Notebook using Binder, or view it using nbviewer:

Binder nbviewer

If you want to know more about the API provided by pygccxml, read the query interface document or the API documentation.

A FAQ is also available and may answer some of your questions.

License

Boost Software License

Contact us

For issues with pygccxml you can open an issue here.

For issues with CastXML you can open an issue here.

You can contact us through the CastXML mailing list.

Branches

The stable version can be found on the master branch.

The develop branch contains the latest improvements but can be unstable. Pull Requests should be done on the develop branch.

Testing and code coverage

The builds are done using the Github Actions infrastructure.

Running the test suite is done with:

python3 -m unittests.test_all

Code coverage is also available. It is automatically updated after each commit and can be found here.

About

pygccxml is a specialized XML reader that reads the output from CastXML. It provides a simple framework to navigate C++ declarations, using Python classes.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages