A pure-python (Python>=3.10) static analysis library providing various interfaces.
Project description
SkyStaticAnalysis
A pure-python (Python>=3.10) static analysis library providing various interfaces.
For detailed informations, please visit this webpage: Documentation Website
Installation
pip install SkyStaticAnalysis
If you would like to run it in jupyter, please install jupyter by the commands below:
pip install jupyterlab ipywidgets
Interfaces
Clang
Clang interface included some useful functionalities.
Microservice By MessageQueue
Task dispatch procedure
TaskQueue
andResultQueue
arequeue.Queue
s in the server program.Get Task
andPush Result
procedures are performed by RESTFUL API.
sequenceDiagram
participant s as Server
participant tmq as TaskQueue
participant rmq as ResultQueue
participant t1 as Tool1
participant t2 as Tool2
s ->> tmq: Put task
tmq ->> t1: Get task
t1 ->> t1: handle task
tmq ->> s: Count remaining tasks
tmq ->> t2: Get task
t2 ->> t2: handle task
tmq ->> s: Count remaining tasks
t2 ->> rmq: Push result
t1 ->> rmq: Push result
rmq ->> s: Listen to result messages
Status pushing procedure
- A background task running in each tool and pushing the status of tools to scheduler by
Websocket
every second.
Autocompletion Request
sequenceDiagram
participant s as Server
participant q as TmpQueue
participant st as WSRecvThread
participant t as Tool
s -x q: Create Tmp Queue
s ->>+ t: WS Request No.145
activate s
s -->> s: Blocking get() from TmpQueue
t -->> t: Compute the autocompletion items
t -->>- st: WS Reply No.145
activate st
st ->> st: Match WS Req/Rep by No.
st -->>+ q: Put reply
deactivate st
q -->>- s: q.get() resolved and got the reply
deactivate s
s --x q: destroy the TmpQueue
In-Repo Third Party Dependencies
PyC-CFG
Pyc-cfg is a pure python control flow graph builder for almost all Ansi C programming language.
As the original version only suitable for Python2, I copied its code and made it compatible for python 3.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for SkyStaticAnalysis-0.2.0a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b2f4805a984d168b2a7ac9d0026d728bdfea8586c24b817217deab903aca147 |
|
MD5 | 5e45c5477a1267b133e0134a5b294141 |
|
BLAKE2b-256 | c1b9171344411559176611adb45d251f4681af0e0a20549b5f41ed7ce553c612 |