Commit Graph

  • 461e95c4bf do not raise error for async node Jan Beitner 2020-02-21 13:32:20 +00:00
  • aa0b8e842b resolve relative imports Rakan Alanazi 2019-12-25 12:08:37 -06:00
  • e918b7925f modvis: compute cycle statistics Juha Jeronen 2019-10-31 16:06:37 +02:00
  • 7b53c214ab modvis: add relevant SO discussion link to docstring Juha Jeronen 2019-10-31 15:53:56 +02:00
  • 0a6356c6c5 modvis: improve docstrings and comments Juha Jeronen 2019-10-31 15:28:44 +02:00
  • c356e90dbd modvis: improve usability of cycle detector output Juha Jeronen 2019-10-31 15:28:22 +02:00
  • 587be1f08c modvis: fix cycle detector; skip graph preparation when not graphing Juha Jeronen 2019-10-31 14:22:44 +02:00
  • d74e28f0ab modvis: add option -C/--cycles, a simple import cycle detector Juha Jeronen 2019-10-31 13:29:26 +02:00
  • 71f6f1507c modvis improvements Juha Jeronen 2019-10-31 12:40:51 +02:00
  • e4778421de modvis: fix "from ... import d" when in module a.b.c Juha Jeronen 2019-10-31 12:38:45 +02:00
  • 5a42367628 modvis: Add hashbang Juha Jeronen 2019-10-31 12:37:52 +02:00
  • 551655e449 Autopep8 visgraph Juha Jeronen 2019-10-31 12:13:28 +02:00
  • a623afc10a Fix empty old namespace in info log message Juha Jeronen 2019-10-31 12:12:41 +02:00
  • 3ddecff2f3 modvis: Add pyan-like command-line interface (copy all relevant options) Juha Jeronen 2019-10-31 11:21:11 +02:00
  • 6f0ccdca92 modvis: Color by package (actually os.path.dirname) Juha Jeronen 2019-10-31 11:03:17 +02:00
  • 3431c25147 modvis: First version that actually generates a .dot graph Juha Jeronen 2019-10-31 10:47:37 +02:00
  • d0c6cdf9e2 Import analyzer: add code to prepare a graph for Pyan vis machinery Juha Jeronen 2019-10-30 16:41:59 +02:00
  • 35eff1577c Import analyzer: ignore irrelevant directories Juha Jeronen 2019-10-30 16:41:32 +02:00
  • c0bd7dcb50 Add a very simple import analyzer for module dependencies Juha Jeronen 2019-10-30 16:17:35 +02:00
  • 53ff428234 Treat also "node" as an unsafe word in Graphviz node labels Juha Jeronen 2019-06-26 09:49:30 +03:00
  • 7ac71822fc bump version Juha Jeronen 2019-06-26 09:49:23 +03:00
  • e3024d6e1a Protect against name=None in remove_wild. Juha Jeronen 2019-06-26 00:56:02 +03:00
  • beab756390 Fix crash in logging code analyzing an AnnAssign node (typoed nonexistent attribute). Juha Jeronen 2019-06-26 00:49:55 +03:00
  • a1b6dd791f fix #9 Juha Jeronen 2019-06-26 00:47:05 +03:00
  • 9ec0827da9 bump version Juha Jeronen 2019-06-26 00:46:55 +03:00
  • 872dcc0194 update example to use script name "pyan3" Juha Jeronen 2019-06-25 12:54:33 +03:00
  • 0a8d415207 add pyan3 to scripts Juha Jeronen 2019-06-25 12:51:41 +03:00
  • 40936f39cd update package name Juha Jeronen 2019-06-25 12:51:32 +03:00
  • f6552abb93 rename script pyan.py -> pyan3 Juha Jeronen 2019-06-25 12:51:21 +03:00
  • 76e2d92c8e add release management shell scripts Juha Jeronen 2019-06-25 12:45:54 +03:00
  • 85c38b3c5b bump version, add readme note about Python 2 and 3 versions of Pyan Juha Jeronen 2019-06-25 12:39:34 +03:00
  • ba414c8e8b Package Pyan3 using setuptools: add setup.py Juha Jeronen 2019-06-25 12:29:43 +03:00
  • 3034deed9d refactor: unified handling for 'import foo' and 'from . import foo' Juha Jeronen 2018-09-05 11:42:42 +03:00
  • 2446676829 partly fix #5 Juha Jeronen 2018-09-05 11:05:40 +03:00
  • 68a0adc812 enh: capture bindings to objects used as default values of arguments in FunctionDef and Lambda Juha Jeronen 2018-09-05 10:25:30 +03:00
  • 6dd64aa631 enable visit_Constant (untested, for Python 3.6+) Juha Jeronen 2018-09-03 17:17:37 +03:00
  • 8b47a72cb1 fix #4 Juha Jeronen 2018-09-03 17:16:51 +03:00
  • a626485b39 improve comments Juha Jeronen 2018-09-03 17:16:14 +03:00
  • 0af2688dbb improve debug logging: show input filename and lineno Juha Jeronen 2018-09-03 17:15:40 +03:00
  • 6d26a3942d attempt to fix #2 (based on spec; needs Python 3.6+ to test) Juha Jeronen 2018-07-19 03:26:19 +03:00
  • 2ba61f305c fix #3 Juha Jeronen 2018-07-19 03:04:29 +03:00
  • 8edf01843a Merge pull request #6 from Technologicat/master David Fraser 2018-01-25 11:26:34 +02:00
  • 410d863717 remove extra blank line in __init__.py Juha Jeronen 2018-01-03 16:02:55 +02:00
  • f99c60e870 bump version to 1.0.2 Juha Jeronen 2018-01-03 16:02:40 +02:00
  • 2b8b9e40da enh: add uses edge to result from a resolved call to built-ins (important for str() and repr()) Juha Jeronen 2017-11-21 15:38:13 +02:00
  • 4d399ebf73 enh: add --grouped-alt (-G) to make invisible defines edges to suggest grouping for GraphViz, without actually placing the nodes into GraphViz clusters. Overrides --no-defines. Overridden by --defines. Juha Jeronen 2017-11-21 15:15:38 +02:00
  • 990c4864aa fix regression: keep wildcard if the 'resolved' target is actually an unresolved function argument Juha Jeronen 2017-11-21 15:13:23 +02:00
  • 416a14c4f3 enh: analyze str() and repr() if the argument is a Name or Attribute mapping to a known Node Juha Jeronen 2017-11-21 15:12:37 +02:00
  • 2d6e54b5a6 bump version to 1.0.1 Juha Jeronen 2017-11-21 13:03:38 +02:00
  • d3a737a916 Merge remote-tracking branch 'davidfraser/master' Juha Jeronen 2017-11-21 13:00:37 +02:00
  • 3d5cfe8415 enh: analyzer now understands 'with' (binding analysis currently restricted to one target only, __enter__ is assumed to return self) Juha Jeronen 2017-11-21 02:23:00 +02:00
  • d119a9b777 oops, convention breakage: __enter__ should return self Juha Jeronen 2017-11-21 02:06:30 +02:00
  • 6aeb6306d8 refactor: split analyzer to the main class and anutils; reorder methods in analyzer main class to make the file more logical to read for humans Juha Jeronen 2017-11-21 01:37:37 +02:00
  • 89048367be document idea to improve wildcard resolution Juha Jeronen 2017-11-21 00:07:51 +02:00
  • 765b40816f remove done TODO Juha Jeronen 2017-11-21 00:04:41 +02:00
  • 4f43527bf6 enh: don't add a wildcard when encountering an unresolved super() (likely reasons: it is still pass 1, or some relevant source file is not in the analyzed set); this fixes some spurious edges. Juha Jeronen 2017-11-20 23:56:31 +02:00
  • 89f7181508 use /usr/bin/env in hashbang Juha Jeronen 2017-11-20 22:32:16 +02:00
  • a3f051bd63 enh: include flavor into output graph with --annotate Juha Jeronen 2017-11-20 16:12:34 +02:00
  • 4e5fabb804 visualize_pyan_architecture.sh: change the options to get one clear graph of everything Juha Jeronen 2017-11-19 02:40:02 +02:00
  • 30d44c67a3 upon closer inspection, remove nonsense TODO Juha Jeronen 2017-11-19 02:35:54 +02:00
  • 7f086675f9 update todo in README Juha Jeronen 2017-11-19 02:29:03 +02:00
  • 8ee6f7cdb6 refactor remove_uses_edge Juha Jeronen 2017-11-19 02:28:54 +02:00
  • b8c1738dd5 enh: record the node flavor in analysis Juha Jeronen 2017-11-19 02:06:41 +02:00
  • 724eb8e20a comment and docstring updates Juha Jeronen 2017-11-17 17:01:39 +02:00
  • 1a678ab241 complete author info is in README, remove partial list from analyzer.py Juha Jeronen 2017-11-17 17:00:47 +02:00
  • 2b4340634d rename get_current_namespace to get_node_of_current_namespace (since this is what it actually does) Juha Jeronen 2017-11-17 16:31:07 +02:00
  • c76ca1ea14 remove old bare-bones readme (pyan.txt) now that we have a proper README Juha Jeronen 2017-11-17 10:21:18 +02:00
  • 5b5424ea58 enh: analyze instantiation: add a uses edge to MyClass.__init__ for a call to MyClass() Juha Jeronen 2017-11-17 10:06:30 +02:00
  • 7df34d4a17 enh: figure out which names correspond to arguments in FunctionDef, prevent leakage of matching names from the enclosing scope (fixes some spurious edges) Juha Jeronen 2017-11-17 09:52:05 +02:00
  • 05eafab802 refactor: add get_parent_node(); also fix a crash from an improperly implemented local copy of the parent node getter Juha Jeronen 2017-11-17 09:50:55 +02:00
  • eb041a9a45 bugfix: prevent crash if super() called, or inherited attributes looked up, with no known bases Juha Jeronen 2017-11-17 09:48:50 +02:00
  • 79594cddb3 update TODO Juha Jeronen 2017-11-17 09:47:27 +02:00
  • a2ff065536 Note about Python 2 compatibility David Fraser 2017-11-16 17:37:14 +02:00
  • 96d80dbb37 Merge pull request #5 from Technologicat/master David Fraser 2017-11-16 17:36:24 +02:00
  • 7c4a3a915e Use gast, a module on PyPI that maintains compatibility with the Python 3 ast but on Python 2 pyan3-py2-compat David Fraser 2017-11-16 17:30:20 +02:00
  • 93dbe022a3 On Python 2,ast.parse won't accept standard (unicode) strings David Fraser 2017-11-16 17:29:35 +02:00
  • a757e75b99 Python 2 produces ast.Name here David Fraser 2017-11-16 17:28:31 +02:00
  • cde6b3e25c refactor: finish uncluttering main() Juha Jeronen 2017-11-16 17:22:14 +02:00
  • 9bb608f337 add support for pythonic swap a,b = b,a Juha Jeronen 2017-11-16 17:12:47 +02:00
  • 450ddc9f12 Convert to support python2 with pasteurize -w from python-future 0.16 David Fraser 2017-11-16 17:11:42 +02:00
  • 7b8874ab47 some refactoring and renames (common.py -> node.py; graph.py -> visgraph.py) Juha Jeronen 2017-11-16 17:05:48 +02:00
  • 23db27f0eb oops, update docstring too Juha Jeronen 2017-11-16 16:47:57 +02:00
  • d7a303ec19 update limitations (todo) in README Juha Jeronen 2017-11-16 16:33:43 +02:00
  • efab3e2609 update limitations (todo) in README Juha Jeronen 2017-11-16 16:32:04 +02:00
  • b8ec593508 implement MRO with C3 linearization (based on static type) Juha Jeronen 2017-11-16 16:15:00 +02:00
  • d799e0d0b9 fix authors in README Juha Jeronen 2017-11-16 08:34:23 +02:00
  • 6f8b684530 add missing star in README Juha Jeronen 2017-11-16 08:30:12 +02:00
  • 6d61ad0ee3 add very rudimentary support for resolving super() Juha Jeronen 2017-11-16 08:23:27 +02:00
  • 0dc188e215 look up inherited attributes properly Juha Jeronen 2017-11-16 07:34:46 +02:00
  • d634d3077a terminology bug: name, not literal Juha Jeronen 2017-11-16 07:34:26 +02:00
  • 8400f2fc79 update todo in README Juha Jeronen 2017-11-16 06:11:54 +02:00
  • aa341d85b4 improve messages Juha Jeronen 2017-11-16 06:11:40 +02:00
  • abb131685d oops, None is normal in get_value and set_value Juha Jeronen 2017-11-16 05:15:42 +02:00
  • d093ff5ef8 fix indent issue in GraphML output Juha Jeronen 2017-11-16 05:15:16 +02:00
  • 2b860317c3 merge https://github.com/davidfraser/pyan/pull/1 Juha Jeronen 2017-11-16 05:05:06 +02:00
  • 0439b5b8da update todo in README Juha Jeronen 2017-11-16 03:24:39 +02:00
  • cfbeff2fec handle unsafe IDs, inspired by ddb62d2eef Juha Jeronen 2017-11-16 03:24:18 +02:00
  • e279ad1c91 whitespace and comment fixes Juha Jeronen 2017-11-16 03:23:52 +02:00
  • b28c4ef565 update todo in README Juha Jeronen 2017-11-16 03:16:20 +02:00
  • 0eb65db3f7 get_namespace_label(): graph-friendly label generation belongs in Node Juha Jeronen 2017-11-16 03:11:41 +02:00