Commit Graph

  • 2575753588 comment and message update Juha Jeronen 2017-11-16 02:39:26 +02:00
  • 0adbe3245e update todo in README Juha Jeronen 2017-11-16 02:25:47 +02:00
  • a6c2c67b90 most PRs from David Fraser's repo merged; update README Juha Jeronen 2017-11-16 01:31:30 +02:00
  • 5623d1d10e merge https://github.com/davidfraser/pyan/pull/2 by GitHub user ch41rmn Juha Jeronen 2017-11-16 01:20:45 +02:00
  • 808567d501 merge https://github.com/davidfraser/pyan/pull/3 by GitHub user ch41rmn Juha Jeronen 2017-11-16 01:17:11 +02:00
  • e07598ba6f collapse lambda and comprehension inner scopes only in the postprocess step; this allows the analysis to follow Python 3 scoping rules (inner scope for lambdas and comprehensions), while keeping the resulting graph human-readable. Juha Jeronen 2017-11-16 00:52:18 +02:00
  • d83a14ec78 fix bug in contract_nonexistents(): actually remove the original edge when replacing Juha Jeronen 2017-11-16 00:50:19 +02:00
  • 75fed71c68 improve message Juha Jeronen 2017-11-16 00:49:27 +02:00
  • 4d1d0e73e5 improve comment Juha Jeronen 2017-11-16 00:48:57 +02:00
  • 7be39c9886 add comment about the change to postprocess in Pyan3 Juha Jeronen 2017-11-16 00:48:18 +02:00
  • 93c117f842 combine lambda and comprehension inner scopes with the parent Node in the graph; while semantically subtly wrong, this gives graphs that are more readily human-readable. Juha Jeronen 2017-11-15 23:56:51 +02:00
  • d03da16e1b handle lambdas and comprehensions consistently Juha Jeronen 2017-11-15 23:54:53 +02:00
  • 70d7e08d2f Resolve 'self' in the only logical way, now that we capture its name: it is just a name in the namespace of the method, that just happens to get its initial value set implicitly by Python. Implement this mechanism in visit_FunctionDef(). This removes the self_stack hack and guarantees consistent behaviour. Juha Jeronen 2017-11-15 23:31:23 +02:00
  • e3c32b782a add resolution of unknown attrs of known objs (useful for imports: import math; math.sin --> now <Node math.sin> instead of <Node *.sin>) Juha Jeronen 2017-11-15 16:43:13 +02:00
  • 0a363b3615 improve comments Juha Jeronen 2017-11-15 16:42:25 +02:00
  • 171b555f12 improve resolution mechanism of 'self' (robustly detect which FunctionDefs are methods) Juha Jeronen 2017-11-15 16:36:29 +02:00
  • 56cc889b1b update todo in README Juha Jeronen 2017-11-15 16:34:13 +02:00
  • eaf48e752d fix mistake in README (update note about handling of 'self') Juha Jeronen 2017-11-15 15:00:12 +02:00
  • 3433699bf8 update README Juha Jeronen 2017-11-15 13:11:41 +02:00
  • 5893ae6f5a visualize also recursion (i.e. allow a uses relation from a node to itself) Juha Jeronen 2017-11-15 13:01:58 +02:00
  • 7831b97a50 at debug level (-V), log also the result of resolving attributes Juha Jeronen 2017-11-15 12:53:49 +02:00
  • 6fa129c9b1 make the lambda node assignable to track its uses Juha Jeronen 2017-11-15 03:53:47 +02:00
  • 82c70064b8 Add defines edges for lambdas, allowing to visualize any outgoing uses relationships. Note however that since lambdas have no name, any lambdas in the same namespace will be grouped into one node. Juha Jeronen 2017-11-15 03:11:03 +02:00
  • b7d2a79fce small clarifications Juha Jeronen 2017-11-15 03:09:59 +02:00
  • 9453e8029b capture literal name of self from argument list of method definition; also now analyzes decorators Juha Jeronen 2017-11-15 03:09:35 +02:00
  • 4f0942c9f0 update todo in README Juha Jeronen 2017-11-15 03:07:35 +02:00
  • a3be50c0e0 update README again Juha Jeronen 2017-11-15 01:54:45 +02:00
  • bc69404672 catch str.join et al Juha Jeronen 2017-11-15 01:44:06 +02:00
  • b23391657c update todo in README Juha Jeronen 2017-11-15 01:17:05 +02:00
  • aca845d5be update README Juha Jeronen 2017-11-15 01:15:03 +02:00
  • 2fa60155fc improve docstrings Juha Jeronen 2017-11-15 00:58:36 +02:00
  • 0b6fe189c8 fix bug in get_current_namespace() Juha Jeronen 2017-11-15 00:58:14 +02:00
  • 5c3fa33f55 robustness: with_scope() now checks that the specified scope exists Juha Jeronen 2017-11-15 00:57:41 +02:00
  • 69ecd7f0b6 comment also in visit_Name() that self.last_value is a hack Juha Jeronen 2017-11-15 00:56:36 +02:00
  • 334e9d2701 improve code handling nested attribute access Juha Jeronen 2017-11-15 00:53:25 +02:00
  • 35eef5dd80 improve comments Juha Jeronen 2017-11-15 00:52:24 +02:00
  • ff2417134a keep nodes linked by defines relationships closer together (using invisible transparent lines) even when not grouped, to improve the resulting layout Juha Jeronen 2017-11-14 23:54:56 +02:00
  • 4c0e1e468b color nodes by filename (not top-level namespace) now that it is available; this solves a coloring issue with analyzing a set of files in the same top-level directory. Juha Jeronen 2017-11-14 23:46:00 +02:00
  • 250c8d6ffa scope lookups now based on handling the namespace string directly; remove ast_node_to_namespace Juha Jeronen 2017-11-14 23:34:18 +02:00
  • 9c24d17d4c fix bug in nested attribute lookups Juha Jeronen 2017-11-14 23:31:28 +02:00
  • 271a1f67ac improve comments in analyzer Juha Jeronen 2017-11-14 23:29:59 +02:00
  • 46464926aa slightly clean up postprocessing Juha Jeronen 2017-11-14 23:29:07 +02:00
  • e345de7abe escape the newline in the label Juha Jeronen 2017-11-14 23:27:08 +02:00
  • e191bef358 fix regression in forward references (this time for sure) Juha Jeronen 2017-11-14 23:26:52 +02:00
  • 7abebda31d README clarification Juha Jeronen 2017-11-14 16:42:13 +02:00
  • 2c263dbd2a support nested attribute accesses Juha Jeronen 2017-11-14 16:40:40 +02:00
  • 76f23503c6 todo in README: visit_name() itself is not evil Juha Jeronen 2017-11-14 16:38:47 +02:00
  • a3c3584e34 comment update Juha Jeronen 2017-11-14 13:00:35 +02:00
  • 26d68e3a93 fix regression in getattr Juha Jeronen 2017-11-14 13:00:23 +02:00
  • aec7bf2ecc add a 'How it works' section Juha Jeronen 2017-11-14 02:00:04 +02:00
  • b110746013 update todo in README Juha Jeronen 2017-11-14 01:59:50 +02:00
  • 076b36cdc8 wording change Juha Jeronen 2017-11-14 01:59:38 +02:00
  • 63dfdb6746 add_uses_edge(): remove wildcard when resolved; this eliminates spurious references created by expand_unknowns() when pass 2 resolves a wildcard reference Juha Jeronen 2017-11-14 01:56:54 +02:00
  • d36d592b06 message: From --> ImportFrom Juha Jeronen 2017-11-14 01:55:28 +02:00
  • 4c79adcde1 fix regression in handling forward-references Juha Jeronen 2017-11-14 01:32:27 +02:00
  • 864685503a Pyan3: Python 3 support Juha Jeronen 2017-11-13 23:20:16 +02:00
  • ddb62d2eef Handle unsafe IDs yed-support unsafe-ids David Fraser 2016-12-14 19:02:59 +02:00
  • 5f580ecb3b Merge remote-tracking branch 'PatrickMassot/master' into yed-support David Fraser 2016-12-14 18:59:52 +02:00
  • 03e77e5910 Added simple testcase illustrating problem with __init__ in the base directory Added fix for this problem David Fraser 2016-12-14 18:36:38 +02:00
  • 26faced4ed Merge pull request #3 from ch41rmn/rotate_dot pre-python3 David Fraser 2016-12-12 17:25:31 +02:00
  • ef9b5a87f6 Merge pull request #2 from ch41rmn/master David Fraser 2016-12-12 17:16:36 +02:00
  • e8785beadd Added --dot-rankdir option to change the placement direction of top level nodes Maoyuan Liu 2016-12-08 11:26:52 +11:00
  • 3459e4b08d Fixed recursion error when pyan.py is called in a directory with an __init__.py Maoyuan Liu 2016-12-08 11:25:29 +11:00
  • 09a81c67cc Python 3 compatibility py3-compat David Fraser 2016-12-07 14:04:56 +02:00
  • c67c831a3c Replace prints with calls to streams David Fraser 2016-12-07 14:02:27 +02:00
  • dda1210223 Added GNU GPL v2 license, as specified in the original publication at https://ejrh.wordpress.com/2011/12/23/call-graphs-in-python/#comment-824 and at the original publication page https://code.google.com/archive/p/ejrh/ Also fixed Juha Jeronen's name David Fraser 2016-08-08 12:46:10 +02:00
  • 67b4cdfacd Use new writers and unclutter main a bit Patrick Massot 2016-02-20 23:13:54 +01:00
  • 0114f6384b Generic writer, tgf, dot and yed in new classes Patrick Massot 2016-02-20 23:13:16 +01:00
  • e0974d674c Abstract graph independant from output format Patrick Massot 2016-02-20 23:12:33 +01:00
  • 53a5cc5d9d Split out color functions to dedicated class Patrick Massot 2016-02-20 23:08:17 +01:00
  • c554b967c2 Added shebang and made this executable David Fraser 2016-01-21 09:45:10 +02:00
  • 6d58750f77 Moved README to markdown format, and rearranged to be a summary of the current state rather than a description of the modifications David Fraser 2016-01-21 09:44:32 +02:00
  • b2a011abaf Adjusted note on repositories to explain full history and this repository David Fraser 2016-01-21 09:29:54 +02:00
  • 459eda8efc pyan.py: compatibility of -e option with newer graphviz jjrandom2 Juha Jeronen 2014-11-21 11:20:46 +02:00
  • 0794fadc19 Repository cleanup: moved Pyan to its own subfolder Juha Jeronen 2012-08-29 08:50:47 +03:00
  • e81acfc7dd pyan.py: removed unneeded TODOs jjrandom2-before-move Juha Jeronen 2012-08-17 12:19:36 +03:00
  • 793cb71353 pyan.py: fixed incorrect comment Juha Jeronen 2012-08-17 12:18:29 +03:00
  • df9060d220 pyan.py: removed commented-out parts of added code Juha Jeronen 2012-08-17 12:16:57 +03:00
  • 4b7a4a9aa6 pyan.py: fixed erroneous comment Juha Jeronen 2012-08-17 12:13:53 +03:00
  • ab347d3736 pyan.py: consistent translucency 70% also in non-colored mode Juha Jeronen 2012-08-17 12:12:54 +03:00
  • 9eb5727181 pyan.py: fixed misleading error message in htmlize_rgb() Juha Jeronen 2012-08-17 12:08:57 +03:00
  • a02322e3b5 pyan.py: added option to disable adding of 'uses' relationships Juha Jeronen 2012-08-16 14:35:37 +03:00
  • a1aa14a6c5 pyan.py: changed nodes to 70% opaque (from 80%) Juha Jeronen 2012-08-16 14:26:00 +03:00
  • 881a3fa1e1 pyan.py: use translucencies and grays also without -c Juha Jeronen 2012-08-16 14:19:19 +03:00
  • 4173d977d1 pyan.py: warn in verbose mode when colors wrap Juha Jeronen 2012-08-16 14:01:52 +03:00
  • 0c0f256e04 pyan.py: in -c mode, color nodes according to their top-level namespace Juha Jeronen 2012-08-16 13:26:26 +03:00
  • 0b368b6d30 pyan.py: added -e (--nested-groups) Juha Jeronen 2012-08-16 00:06:56 +03:00
  • 524e204f57 Add author names in addition to original source links to the txt files Juha Jeronen 2012-08-15 16:40:53 +03:00
  • f1e4b2937a Refactoring helpers for Python (modified version of pyan.py, originally by Edmund Horner) David Fraser 2016-01-20 19:27:49 +02:00
  • 0071b5517d Refactoring helpers for Python (modified version of pyan.py, originally by Edmund Horner) jjrandom2-on-ejrh Juha Jeronen 2012-08-15 16:39:04 +03:00
  • ab9362e653 Refactoring helpers for Python (modified version of pyan.py, originally by Edmund Horner) jjrandom2-refactor-original Juha Jeronen 2012-08-15 16:39:04 +03:00
  • 34983fdbee Syntax fix for grouping dafyddcrosby-import David Fraser 2016-01-20 18:40:01 +02:00
  • 3626bab9fd Added Juha Jeronen's changes from https://github.com/dafyddcrosby/pyan/blob/master/pyan.py (I intend to replace these with a version taking his actual commit history into the repository) Juha Jeronen 2016-01-20 18:38:16 +02:00
  • be9c53ce15 refactoring/analyze.sh: options in example changed jjrandom2-refactor Juha Jeronen 2015-11-30 00:49:25 +02:00
  • 28e62a0eb6 Migrating wiki contents from Google Code wiki Google Code Exporter 2015-08-23 21:39:09 -04:00
  • 061a8daf3b pyan.py: compatibility of -e option with newer graphviz Juha Jeronen 2014-11-21 11:20:46 +02:00
  • 8838fc2e08 xdot.py: fixed compatibility with new Graphviz Juha Jeronen 2014-11-21 11:01:57 +02:00
  • 6ac2bbaf73 Removed files moved to git. ejrh-master ejrh00 2014-06-06 10:06:53 +00:00
  • c4ae733617 Snmp moved to Git. ejrh00 2013-04-02 05:13:01 +00:00
  • 88b62d1742 Move networking stuff into a separate file. ejrh00 2012-09-11 02:49:15 +00:00