pygccxml

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

https://github.com/castxml/pygccxml

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 18 committers (16.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary

Keywords

castxml cpp pygccxml python python3

Keywords from Contributors

qt animated-gif dicom imageio scientific-formats webcam-capture packaging pip closember itk
Last synced: 6 months ago · JSON representation

Repository

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

Basic Info
  • Host: GitHub
  • Owner: CastXML
  • License: bsl-1.0
  • Language: Python
  • Default Branch: develop
  • Homepage:
  • Size: 16.2 MB
Statistics
  • Stars: 136
  • Watchers: 12
  • Forks: 50
  • Open Issues: 28
  • Releases: 34
Topics
castxml cpp pygccxml python python3
Created almost 12 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog License

README.rst

pygccxml
========

.. image:: https://readthedocs.org/projects/pygccxml/badge/?version=develop
    :target: http://pygccxml.readthedocs.io/en/develop/?badge=develop
    :alt: 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.9, 3.10, 3.11, 3.12, 3.13 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``:

..
    Developers: See `.binder/README.md` for more information.

.. image:: https://mybinder.org/badge_logo.svg
    :target: https://mybinder.org/v2/gh/EricCousineau-TRI/pygccxml/feature-py-notebook-example?urlpath=tree/pygccxml/docs/examples/notebook/
    :alt: Binder
.. image:: https://img.shields.io/badge/view%20on-nbviewer-brightgreen.svg
    :target: https://nbviewer.jupyter.org/github/EricCousineau-TRI/pygccxml/tree/feature-py-notebook-example/docs/examples/notebook/
    :alt: 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
-------

Running the test suite is done with:

.. code-block::

  pytest tests

Owner

  • Name: CastXML
  • Login: CastXML
  • Kind: organization

GitHub Events

Total
  • Create event: 45
  • Release event: 4
  • Issues event: 12
  • Watch event: 7
  • Delete event: 37
  • Member event: 1
  • Issue comment event: 114
  • Push event: 154
  • Pull request review comment event: 9
  • Pull request review event: 8
  • Pull request event: 109
  • Fork event: 10
Last Year
  • Create event: 45
  • Release event: 4
  • Issues event: 12
  • Watch event: 7
  • Delete event: 37
  • Member event: 1
  • Issue comment event: 114
  • Push event: 154
  • Pull request review comment event: 9
  • Pull request review event: 8
  • Pull request event: 109
  • Fork event: 10

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 1,842
  • Total Committers: 18
  • Avg Commits per committer: 102.333
  • Development Distribution Score (DDS): 0.363
Past Year
  • Commits: 19
  • Committers: 4
  • Avg Commits per committer: 4.75
  • Development Distribution Score (DDS): 0.158
Top Committers
Name Email Commits
Michka Popoff m****f@g****m 1,173
roman_yakovenko d****l@l****t 568
Joseph Snyder j****r@k****m 27
Ashish Sadanandan a****n@g****m 24
Mark Moll m****l@r****u 19
Tom Osika t****8@g****m 7
Eric Cousineau e****u@t****l 4
Ethan m****e@g****m 4
Hugo h****k 4
Mark Oates m****s@s****m 2
Ashish Sadanandan a****n@q****m 2
Matt McCormick m****k@k****m 2
Benedikt König b****g@t****e 1
andeepak01 a****k@o****m 1
xgdgsc x****c 1
Harald Brinkmann h****n@d****m 1
Roy r****r@g****m 1
Adrian Vogelsgesang a****g@t****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 74
  • Total pull requests: 104
  • Average time to close issues: 9 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 43
  • Total pull request authors: 18
  • Average comments per issue: 3.46
  • Average comments per pull request: 1.79
  • Merged pull requests: 81
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 35
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 3 days
  • Issue authors: 5
  • Pull request authors: 2
  • Average comments per issue: 2.6
  • Average comments per pull request: 1.8
  • Merged pull requests: 22
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • EricCousineau-TRI (8)
  • dermont123 (6)
  • RomanYakovenko (6)
  • iMichka (6)
  • teto (5)
  • ombre5733 (3)
  • yurivict (2)
  • nnWhisperer (2)
  • cls (1)
  • guilvge (1)
  • mundusnine (1)
  • magnusstubman (1)
  • FabioLolix (1)
  • FireBoyAJ24 (1)
  • kingyuguo (1)
Pull Request Authors
  • iMichka (95)
  • johnnynunez (13)
  • tao558 (6)
  • EricCousineau-TRI (4)
  • josephsnyder (4)
  • mgorny (4)
  • justanotheranonymoususer (2)
  • ChristosT (2)
  • praetorian20 (2)
  • thewtex (2)
  • adeepkit01 (1)
  • BetterCallBene (1)
  • hugovk (1)
  • mamoll (1)
  • allisonChilton (1)
Top Labels
Issue Labels
bug (11) documentation (6) question (3) enhancement (2)
Pull Request Labels
enhancement (3) bug (1)

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 13,488 last-month
  • Total docker downloads: 31,456
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 29
    (may contain duplicates)
  • Total versions: 109
  • Total maintainers: 4
pypi.org: pygccxml

Python package for easy C++ declarations navigation.

  • Homepage: https://github.com/CastXML/pygccxml
  • Documentation: https://readthedocs.org/projects/pygccxml/
  • License: Boost Software License - Version 1.0 - August 17th, 2003 Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Latest release: 3.0.2
    published 11 months ago
  • Versions: 35
  • Dependent Packages: 1
  • Dependent Repositories: 29
  • Downloads: 13,488 Last month
  • Docker Downloads: 31,456
Rankings
Docker downloads count: 1.3%
Dependent repos count: 2.7%
Downloads: 3.7%
Average: 4.2%
Dependent packages count: 4.8%
Forks count: 6.4%
Stargazers count: 6.5%
Last synced: 6 months ago
proxy.golang.org: github.com/CastXML/pygccxml
  • Versions: 37
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 3.8%
Stargazers count: 4.2%
Average: 7.1%
Dependent packages count: 9.6%
Dependent repos count: 10.8%
Last synced: 6 months ago
proxy.golang.org: github.com/castxml/pygccxml
  • Versions: 37
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 3.8%
Stargazers count: 4.2%
Average: 7.1%
Dependent packages count: 9.6%
Dependent repos count: 10.8%
Last synced: 6 months ago

Dependencies

.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
.binder/Dockerfile docker
  • ubuntu 18.04 build
pyproject.toml pypi
  • importlib-metadata >= 4.6; python_version < "3.10"