Skip to content

v1.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Aug 18:53
· 1 commit to main since this release
cda4d24

Install codeanalyzer-python v1.2.0

Shell script (installs the canpy CLI via uv / pipx / pip):

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/codellm-devkit/codeanalyzer-python/releases/latest/download/canpy-installer.sh | sh

PyPI:

pip install codeanalyzer-python==1.2.0

For the optional live Neo4j push (--emit neo4j --neo4j-uri ...):

pip install 'codeanalyzer-python[neo4j]==1.2.0'

Download

File Description
codeanalyzer_python-1.2.0-py3-none-any.whl Python wheel
codeanalyzer_python-1.2.0.tar.gz Source distribution
canpy-installer.sh Shell installer (uv / pipx / pip)
schema.json Neo4j schema contract

What's Changed

🚀 Features

  • feat(schema)!: structured decorators on callables and classes by @rahlk in #136

🐛 Fixes

  • fix(pycg): canonicalize the builtins module spelling on PyCG edges by @rahlk in #134

🛠 Other Changes

  • feat(cli)!: drop msgpack output; enforce --emit neo4j full-depth contract by @rahlk in #121
  • chore(deps): drop unused numpy and pandas dependencies by @rahlk in #125
  • feat(entrypoints): framework entrypoint detection, units 1-3 (#27) by @rahlk in #137
  • feat(schema)!: converge call_sites[] into the body{} call node (#120) by @rahlk in #138
  • refactor(neo4j)!: rename PyCFGNode to PyBodyNode by @rahlk in #140
  • fix(pycg): _coalesce_edges raised on every duplicate edge by @rahlk in #141
  • fix(dataflow): recognise staticmethod by identity, not spelling by @rahlk in #142
  • fix(call-graph): keep module-scope calls to library targets by @rahlk in #143
  • feat(schema): record async def as a modifier by @rahlk in #144
  • feat(callgraph)!: replace PyCG with a defuse linker validated against Joern and Fraunhofer CPG by @rahlk in #149
  • feat(callgraph): whole-program type propagation in the defuse linker by @rahlk in #151

Full Changelog: v1.1.1...v1.2.0