pyflyby 1.9.6__tar.gz → 1.9.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyflyby might be problematic. Click here for more details.

Files changed (158) hide show
  1. {pyflyby-1.9.6/lib/python/pyflyby.egg-info → pyflyby-1.9.7}/PKG-INFO +33 -1
  2. {pyflyby-1.9.6 → pyflyby-1.9.7}/README.rst +32 -0
  3. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/__init__.py +1 -0
  4. {pyflyby-1.9.6/lib/python → pyflyby-1.9.7/bin}/pyflyby/_importdb.py +1 -1
  5. pyflyby-1.9.7/bin/pyflyby/_saveframe.py +1074 -0
  6. {pyflyby-1.9.6/lib/python → pyflyby-1.9.7/bin}/pyflyby/_version.py +1 -1
  7. pyflyby-1.9.7/bin/saveframe +298 -0
  8. {pyflyby-1.9.6 → pyflyby-1.9.7}/etc/pyflyby/common.py +1 -1
  9. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/__init__.py +1 -0
  10. {pyflyby-1.9.6/bin → pyflyby-1.9.7/lib/python}/pyflyby/_importdb.py +1 -1
  11. pyflyby-1.9.7/lib/python/pyflyby/_saveframe.py +1074 -0
  12. {pyflyby-1.9.6/bin → pyflyby-1.9.7/lib/python}/pyflyby/_version.py +1 -1
  13. {pyflyby-1.9.6 → pyflyby-1.9.7/lib/python/pyflyby.egg-info}/PKG-INFO +33 -1
  14. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby.egg-info/SOURCES.txt +4 -0
  15. {pyflyby-1.9.6 → pyflyby-1.9.7}/setup.py +1 -0
  16. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_importdb.py +24 -0
  17. pyflyby-1.9.7/tests/test_saveframe.py +964 -0
  18. {pyflyby-1.9.6 → pyflyby-1.9.7}/.pyflyby +0 -0
  19. {pyflyby-1.9.6 → pyflyby-1.9.7}/LICENSE.txt +0 -0
  20. {pyflyby-1.9.6 → pyflyby-1.9.7}/MANIFEST.in +0 -0
  21. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/autoipython +0 -0
  22. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/autopython +0 -0
  23. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/collect-exports +0 -0
  24. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/collect-imports +0 -0
  25. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/create-imports +0 -0
  26. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/find-import +0 -0
  27. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/list-bad-xrefs +0 -0
  28. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/prune-broken-imports +0 -0
  29. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/py +0 -0
  30. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/__main__.py +0 -0
  31. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_autoimp.py +0 -0
  32. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_cmdline.py +0 -0
  33. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_comms.py +0 -0
  34. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_dbg.py +0 -0
  35. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_docxref.py +0 -0
  36. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_dynimp.py +0 -0
  37. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_file.py +0 -0
  38. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_flags.py +0 -0
  39. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_format.py +0 -0
  40. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_idents.py +0 -0
  41. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_import_sorting.py +0 -0
  42. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_importclns.py +0 -0
  43. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_imports2s.py +0 -0
  44. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_importstmt.py +0 -0
  45. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_interactive.py +0 -0
  46. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_livepatch.py +0 -0
  47. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_log.py +0 -0
  48. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_modules.py +0 -0
  49. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_parse.py +0 -0
  50. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_py.py +0 -0
  51. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/_util.py +0 -0
  52. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/autoimport.py +0 -0
  53. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby/importdb.py +0 -0
  54. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/pyflyby-diff +0 -0
  55. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/reformat-imports +0 -0
  56. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/replace-star-imports +0 -0
  57. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/tidy-imports +0 -0
  58. {pyflyby-1.9.6 → pyflyby-1.9.7}/bin/transform-imports +0 -0
  59. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/LICENSE.txt +0 -0
  60. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/Makefile +0 -0
  61. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/TODO.txt +0 -0
  62. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/__init__.py +0 -0
  63. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/api.rst +0 -0
  64. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/autoimp.rst +0 -0
  65. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/cmdline.rst +0 -0
  66. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/comms.rst +0 -0
  67. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/dbg.rst +0 -0
  68. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/file.rst +0 -0
  69. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/flags.rst +0 -0
  70. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/format.rst +0 -0
  71. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/idents.rst +0 -0
  72. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/importclns.rst +0 -0
  73. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/importdb.rst +0 -0
  74. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/imports2s.rst +0 -0
  75. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/importstmt.rst +0 -0
  76. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/interactive.rst +0 -0
  77. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/livepatch.rst +0 -0
  78. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/log.rst +0 -0
  79. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/modules.rst +0 -0
  80. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/parse.rst +0 -0
  81. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/py.rst +0 -0
  82. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/api/util.rst +0 -0
  83. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/autoipython.rst +0 -0
  84. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/cli.rst +0 -0
  85. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/collect_exports.rst +0 -0
  86. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/collect_imports.rst +0 -0
  87. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/find_import.rst +0 -0
  88. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/prune_broken_imports.rst +0 -0
  89. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/py.rst +0 -0
  90. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/pyflyby_diff.rst +0 -0
  91. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/reformat_imports.rst +0 -0
  92. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/replace_star_imports.rst +0 -0
  93. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/tidy_imports.rst +0 -0
  94. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/cli/transform_imports.rst +0 -0
  95. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/conf.py +0 -0
  96. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/index.rst +0 -0
  97. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/make.bat +0 -0
  98. {pyflyby-1.9.6 → pyflyby-1.9.7}/doc/testing.txt +0 -0
  99. {pyflyby-1.9.6 → pyflyby-1.9.7}/etc/pyflyby/canonical.py +0 -0
  100. {pyflyby-1.9.6 → pyflyby-1.9.7}/etc/pyflyby/forget.py +0 -0
  101. {pyflyby-1.9.6 → pyflyby-1.9.7}/etc/pyflyby/mandatory.py +0 -0
  102. {pyflyby-1.9.6 → pyflyby-1.9.7}/etc/pyflyby/numpy.py +0 -0
  103. {pyflyby-1.9.6 → pyflyby-1.9.7}/etc/pyflyby/std.py +0 -0
  104. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/emacs/pyflyby.el +0 -0
  105. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/__main__.py +0 -0
  106. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_autoimp.py +0 -0
  107. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_cmdline.py +0 -0
  108. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_comms.py +0 -0
  109. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_dbg.py +0 -0
  110. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_docxref.py +0 -0
  111. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_dynimp.py +0 -0
  112. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_file.py +0 -0
  113. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_flags.py +0 -0
  114. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_format.py +0 -0
  115. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_idents.py +0 -0
  116. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_import_sorting.py +0 -0
  117. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_importclns.py +0 -0
  118. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_imports2s.py +0 -0
  119. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_importstmt.py +0 -0
  120. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_interactive.py +0 -0
  121. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_livepatch.py +0 -0
  122. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_log.py +0 -0
  123. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_modules.py +0 -0
  124. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_parse.py +0 -0
  125. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_py.py +0 -0
  126. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/_util.py +0 -0
  127. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/autoimport.py +0 -0
  128. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby/importdb.py +0 -0
  129. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby.egg-info/dependency_links.txt +0 -0
  130. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby.egg-info/entry_points.txt +0 -0
  131. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby.egg-info/requires.txt +0 -0
  132. {pyflyby-1.9.6 → pyflyby-1.9.7}/lib/python/pyflyby.egg-info/top_level.txt +0 -0
  133. {pyflyby-1.9.6 → pyflyby-1.9.7}/libexec/pyflyby/colordiff +0 -0
  134. {pyflyby-1.9.6 → pyflyby-1.9.7}/libexec/pyflyby/diff-colorize +0 -0
  135. {pyflyby-1.9.6 → pyflyby-1.9.7}/pyproject.toml +0 -0
  136. {pyflyby-1.9.6 → pyflyby-1.9.7}/setup.cfg +0 -0
  137. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/__init__.py +0 -0
  138. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_0testconfig.py +0 -0
  139. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_autoimp.py +0 -0
  140. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_cmdline.py +0 -0
  141. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_docxref.py +0 -0
  142. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_file.py +0 -0
  143. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_flags.py +0 -0
  144. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_format.py +0 -0
  145. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_idents.py +0 -0
  146. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_importclns.py +0 -0
  147. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_imports2s.py +0 -0
  148. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_importstmt.py +0 -0
  149. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_interactive.py +0 -0
  150. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_jupyterlab_pyflyby.py +0 -0
  151. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_livepatch.py +0 -0
  152. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_modules.py +0 -0
  153. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_parse.py +0 -0
  154. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_py.py +0 -0
  155. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/test_util.py +0 -0
  156. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/tests_sorts.py +0 -0
  157. {pyflyby-1.9.6 → pyflyby-1.9.7}/tests/xrefs.py +0 -0
  158. {pyflyby-1.9.6 → pyflyby-1.9.7}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyflyby
3
- Version: 1.9.6
3
+ Version: 1.9.7
4
4
  Summary: pyflyby - Python development productivity tools, in particular automatic import management
5
5
  Home-page: https://pypi.org/project/pyflyby/
6
6
  Author: Karl Chen
@@ -481,6 +481,38 @@ Emacs support
481
481
  - Pyflyby.el doesn't yet work with XEmacs; patches welcome.
482
482
 
483
483
 
484
+ saveframe: A utility for debugging / reproducing an issue
485
+ =========================================================
486
+
487
+ PyFlyBy provides a utility named **saveframe** which can be used to save
488
+ information for debugging / reproducing an issue.
489
+
490
+ **Usage**: If you have a piece of code or a script that is failing due an issue
491
+ originating from upstream code, and you cannot share your private code as a reproducer,
492
+ use this utility to save relevant information to a file. Share the generated file with
493
+ the upstream team, enabling them to reproduce and diagnose the issue independently.
494
+
495
+ **Information saved in the file**: This utility captures and saves *error stack frames*
496
+ to a file. It includes the values of local variables from each stack frame, as well
497
+ as metadata about each frame and the exception raised by your code.
498
+
499
+ This utility comes with 2 interfaces:
500
+
501
+ 1. **A function**: For interactive usages such as IPython, Jupyter Notebook, or a
502
+ debugger (pdb/ipdb), use **pyflyby.saveframe** function. To know how to use this
503
+ function, checkout it's documentation:
504
+
505
+ .. code::
506
+
507
+ In [1]: saveframe?
508
+
509
+ 2. **A script**: For cli usages (like a failing script), use **pyflyby/bin/saveframe**
510
+ script. To know how to use this script, checkout its documentation:
511
+
512
+ .. code::
513
+
514
+ $ saveframe --help
515
+
484
516
  Authorship
485
517
  ==========
486
518
 
@@ -460,6 +460,38 @@ Emacs support
460
460
  - Pyflyby.el doesn't yet work with XEmacs; patches welcome.
461
461
 
462
462
 
463
+ saveframe: A utility for debugging / reproducing an issue
464
+ =========================================================
465
+
466
+ PyFlyBy provides a utility named **saveframe** which can be used to save
467
+ information for debugging / reproducing an issue.
468
+
469
+ **Usage**: If you have a piece of code or a script that is failing due an issue
470
+ originating from upstream code, and you cannot share your private code as a reproducer,
471
+ use this utility to save relevant information to a file. Share the generated file with
472
+ the upstream team, enabling them to reproduce and diagnose the issue independently.
473
+
474
+ **Information saved in the file**: This utility captures and saves *error stack frames*
475
+ to a file. It includes the values of local variables from each stack frame, as well
476
+ as metadata about each frame and the exception raised by your code.
477
+
478
+ This utility comes with 2 interfaces:
479
+
480
+ 1. **A function**: For interactive usages such as IPython, Jupyter Notebook, or a
481
+ debugger (pdb/ipdb), use **pyflyby.saveframe** function. To know how to use this
482
+ function, checkout it's documentation:
483
+
484
+ .. code::
485
+
486
+ In [1]: saveframe?
487
+
488
+ 2. **A script**: For cli usages (like a failing script), use **pyflyby/bin/saveframe**
489
+ script. To know how to use this script, checkout its documentation:
490
+
491
+ .. code::
492
+
493
+ $ saveframe --help
494
+
463
495
  Authorship
464
496
  ==========
465
497
 
@@ -32,6 +32,7 @@ from pyflyby._interactive import (disable_auto_importer,
32
32
  from pyflyby._livepatch import livepatch, xreload
33
33
  from pyflyby._log import logger
34
34
  from pyflyby._parse import PythonBlock, PythonStatement
35
+ from pyflyby._saveframe import saveframe
35
36
  from pyflyby._version import __version__
36
37
 
37
38
  # Deprecated:
@@ -284,7 +284,7 @@ class ImportDB:
284
284
  target_path = Path(target_filename).resolve()
285
285
 
286
286
  parents: List[Path]
287
- if not target_path.is_dir():
287
+ if target_path.is_dir():
288
288
  parents = [target_path]
289
289
  else:
290
290
  parents = []