{"repo":"yinwang0/pysonar2","free":true,"listed":false,"github":"https://github.com/yinwang0/pysonar2","clone":"git clone https://github.com/yinwang0/pysonar2.git","description":"PySonar2: a semantic indexer for Python with interprocedual type inference","language":"Java","stars":1425,"topics":["python","index","code-search","code-intelligence","code-analysis","static-analysis","type-inference"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"PySonar2 - a type inferencer and indexer library for Python PySonar2 is a type inferencer and indexer library for Python, designed for analysing large code bases. The resulting index can be used to build code browsers and code search engines. PySonar2 has a sophisticated type system and whole-project interprocedural analysis to infer types and locate definitions. It handles first-class functions (closures) and control flow correctly. As a result, the accuracy of the index often outperforms Python IDEs such as PyCharm. PySonar2 uses advanced analysis techniques similar to control-flow analysis (k-CFA, CFA2, etc), but with a much simpler theory and without their drawbacks. It is both highly accurate and highly performant, thus it became the choice of several large scale code index infrastructures, Major users include: - Google - Sourcegraph - Insight.io (now part of Elastic) How to build mvn package -DskipTests Demo To have a feel of what PySonar2 produce, you can build a simple code browser of the Python 2.7 standard library with the following command line: java -jar target/pysonar- .jar /usr/lib/python2.7 ./html This may take a few minutes depending on your machine. You should find some interactive HTML files inside the html directory after this process. You can move your mouse on the variables and click on them to jump to definitions etc. Note that this is just a simple demo program based on the library. PySonar2 is not meant to be an end-user tool. It is mainly designed as ","default_branch":null,"files":null,"tree":[],"storefront":"/r/yinwang0","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/yinwang0/pysonar2/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}