Metadata-Version: 2.1
Name: codepropertygraph
Version: 0.0.7
Summary: A Python implementation of a Code Property Graph.
Home-page: https://github.com/markgacoka/codepropertygraph
Author: Gacoka Mbui
Author-email: <markgacoka@gmail.com>
License: Apache License 2.0
Download-URL: https://github.com/markgacoka/codepropertygraph/releases
Keywords: cybersecurity,static analysis,code tokenization,property graph
Platform: UNKNOWN
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown

## Code Property Graph
<div style="width: 100%; text-align:center">
<a href="https://github.com/markgacoka/codepropertygraph/blob/main/LICENSE" alt="License"><img src="https://img.shields.io/github/license/markgacoka/codepropertygraph?style=flat-square" /></a>
<a href="https://github.com/markgacoka/codepropertygraph/pulse" alt="Stars"><img alt="Github Stars" src="https://img.shields.io/github/stars/markgacoka/codepropertygraph?style=flat-square" alt="Stars"></a>
<a href="https://github.com/markgacoka/codepropertygraph/releases" alt="Release"><img alt="GitHub release (latest SemVer)" src="https://img.shields.io/github/v/release/markgacoka/codepropertygraph?style=flat-square"></a>
<a href="https://github.com/markgacoka/codepropertygraph/graphs/contributors" alt="Maintained"><img alt="Maintenance" src="https://img.shields.io/maintenance/yes/2022?style=flat-square"></a>
</div>

![Code Property Graph Logo](https://raw.githubusercontent.com/markgacoka/codepropertygraph/main/media/cpg.png)


This library is an implementation of a Code Property Graph as seen in the paper published by [Fabian Yamaguchi](https://fabianyamaguchi.com/) on *Modeling and Discovering Vulnerabilities with [Code Property Graphs](https://www.sec.cs.tu-bs.de/pubs/2014-ieeesp.pdf)*

A code property graph is a highly efficient data structure designed to mine large codebases for similar programming patterns. The data structure can be loaded into a graph database where properties of code can be queried. Code property graphs are intended to be code-agnostic and highly scalable making it one of the best choices for code representation.

## Installation
```
pip install codepropertygraph
```

## Usage
```
from codepropertygraph import CPG

code_cpg = CPG('C:\Users\Gacoka\Projects\portfolio')
code_cpg.files.count
code_cpg.files.l
```

