Skip to main content

Python package to parse and generate C/C++ code as context aware preprocessor.

Project description

Devana

License: LGPL v2.1 PyPI - Python Version PyPI - Status PyPI - Format PyPI - Implementation
Tests Release
PyPI GitHub issues Website PyPI - Downloads

Devana is a python tool that make it easy to parsing, format, transform and generate C++ (or C) code. This tool uses libclang to parse the code. Fundamental problems, bugs and missing features of libclang are fixed in Devann's internal code.
Please note that Devana focuses on the header-level code e.g. class and functions definitions, templates resolving, typedefs and includes. Control statements, arithmetics operations etc. (pure body of functions) are supported as access to raw string field "body". It is planned to introduce more control over this type of code in future versions.
Important: Devana is still under development. At the moment, parsing and basic code generation is available (almost full coverage of development plans). Please check roadmap.

Installation

Devana is published on PyPI and can be installed from there:

pip install -U devana

If you wish to install Devana for development purposes, refer to the contributors guide.

How to start

You can find the complete guide in this section of the documentation.
Demo applications are located in project repository inside demo folder.

Documentation

Documentation is available from GitHub Pages.

Contributing

Please check contributing guide for take more details about contributing this project.
For now, the most wanted help is bugreports, bugfix, writing test and parser features completion. You can write e-mail to me directly with question about help.

Testing

Continuous testing is GitHub Actions. For information on running tests locally, refer to the contributors guide.

Roadmap

A detailed list of missing functionalities and planned features can be found in the documentation.

Acknowledgments

JetBrains Black Box Logo logo For providing a very good development environment within Free License Programs for Open Source.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devana-2.3.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

devana-2.3.0-py3-none-any.whl (2.6 MB view details)

Uploaded Python 3

File details

Details for the file devana-2.3.0.tar.gz.

File metadata

  • Download URL: devana-2.3.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for devana-2.3.0.tar.gz
Algorithm Hash digest
SHA256 45ac3e6c43cd11c7430cf05dd34b3c2b1106b7d1239964722e5a6307ad2b92f6
MD5 1da5eee4b4af49ddeadf9463ff35540d
BLAKE2b-256 be242484c2c56e690592022ea0c19a28da79ed28e9b2f52ffab64c677e7f8018

See more details on using hashes here.

File details

Details for the file devana-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: devana-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for devana-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 359199c5acaa25c0254a02807c0dd6f7a1b9d063b9a3d0bb936e0b5baeaf0ced
MD5 932101e3e4f48ba91ffed37114593faa
BLAKE2b-256 9dc08a28ed84420210f099aa3025cf458d4750816a2c734a3b064c853ac8dea4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page