Currently the best way to use python fronted via APIs to generate CPG seems to be the use of Py2CpgOnFileSystem.buildCpg() API here: https://github.com/joernio/joern/blob/master/joern-cli/frontends/pysrc2cpg/src/main/scala/io/joern/pysrc2cpg/Py2CpgOnFileSystem.scala#L23 This is then followed by running default overlays like OSSdataflow separately.
However, for Javasrc2cpg as well as Jssrc2cpg, we have more "standard" way of creating CPGs like JsSrc2cpg.createCpgWithAllOverlays() (https://github.com/joernio/joern/blob/master/joern-cli/frontends/jssrc2cpg/src/main/scala/io/joern/jssrc2cpg/JsSrc2Cpg.scala#L44). Therefore, we need a way tostandardize the APIs for Python for better integration with downstream tools.
Currently the best way to use python fronted via APIs to generate CPG seems to be the use of
Py2CpgOnFileSystem.buildCpg()API here: https://github.com/joernio/joern/blob/master/joern-cli/frontends/pysrc2cpg/src/main/scala/io/joern/pysrc2cpg/Py2CpgOnFileSystem.scala#L23 This is then followed by running default overlays like OSSdataflow separately.However, for Javasrc2cpg as well as Jssrc2cpg, we have more "standard" way of creating CPGs like
JsSrc2cpg.createCpgWithAllOverlays()(https://github.com/joernio/joern/blob/master/joern-cli/frontends/jssrc2cpg/src/main/scala/io/joern/jssrc2cpg/JsSrc2Cpg.scala#L44). Therefore, we need a way tostandardize the APIs for Python for better integration with downstream tools.