py2ls 0.2.4__tar.gz → 0.2.4.1__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.
Files changed (225) hide show
  1. {py2ls-0.2.4 → py2ls-0.2.4.1}/PKG-INFO +1 -1
  2. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/ips.py +11 -5
  3. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/plot.py +75 -14
  4. {py2ls-0.2.4 → py2ls-0.2.4.1}/pyproject.toml +1 -1
  5. {py2ls-0.2.4 → py2ls-0.2.4.1}/README.md +0 -0
  6. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.DS_Store +0 -0
  7. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/COMMIT_EDITMSG +0 -0
  8. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/FETCH_HEAD +0 -0
  9. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/HEAD +0 -0
  10. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/config +0 -0
  11. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/description +0 -0
  12. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/applypatch-msg.sample +0 -0
  13. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/commit-msg.sample +0 -0
  14. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/fsmonitor-watchman.sample +0 -0
  15. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/post-update.sample +0 -0
  16. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/pre-applypatch.sample +0 -0
  17. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/pre-commit.sample +0 -0
  18. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/pre-merge-commit.sample +0 -0
  19. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/pre-push.sample +0 -0
  20. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/pre-rebase.sample +0 -0
  21. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/pre-receive.sample +0 -0
  22. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/prepare-commit-msg.sample +0 -0
  23. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/push-to-checkout.sample +0 -0
  24. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/hooks/update.sample +0 -0
  25. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/index +0 -0
  26. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/info/exclude +0 -0
  27. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/logs/HEAD +0 -0
  28. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/logs/refs/heads/main +0 -0
  29. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/logs/refs/remotes/origin/HEAD +0 -0
  30. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/logs/refs/remotes/origin/main +0 -0
  31. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/01/d5bd8065e6860c0bd23ff9fa57161806a099e1 +0 -0
  32. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/09/08da26de58c114225ad81f484b80bf5d351b34 +0 -0
  33. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/0b/409e1bc918277010f5679b402d1d1dda53e15c +0 -0
  34. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/12/c2808a1b3a4d0892a4154dfba1e2ae3770fa73 +0 -0
  35. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/14/449a0e6ba4ea2f1a73acf63ef91c9c6193f9ed +0 -0
  36. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/15/a8e468aacfcb440e090020f36d0b985d45da23 +0 -0
  37. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/1a/b4585881a6a42889f01aa0cfe25fd5acfaf46f +0 -0
  38. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/1c/3f92adda34344bcbbbf9d409c79855ae2aaea8 +0 -0
  39. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/1c/9314c5f69b9390068a2a8616875d974849d71f +0 -0
  40. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/1d/fe9d9633b24ea560354f4f93d39c6e5f163ea0 +0 -0
  41. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/20/72c28e83f4347959d29f7b3a6c1fc3e4ee6b59 +0 -0
  42. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/24/6b368b986f758630c46dc02b7fa512b53422f7 +0 -0
  43. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/25/b796accd261b9135fd32a2c00785f68edf6c46 +0 -0
  44. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/27/aa6074f652bc6f7078f8647489d9ee8e24f0e2 +0 -0
  45. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/28/c2969d785c1b892c2a96b3f00eba63a59811b3 +0 -0
  46. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/2a/ae95d517d213b660bf4f65a4e0cfae7bb893eb +0 -0
  47. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/2a/fdf45791a26d42ccead35ace76a8f0b2a56561 +0 -0
  48. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/30/a2f8da47ee947811dc8d993f5a06a45de374f4 +0 -0
  49. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/32/fd627b62fad7cf3b2f9e34ab9777126a0987ad +0 -0
  50. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/34/9e31b6a3634cea102ce5588b98c11cc1738605 +0 -0
  51. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/34/b6f3a2ee84f39bed4eee57f2c0e0afb994feb1 +0 -0
  52. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/35/1a5f491ab97eee9d1ee699478d75a8bb5d3dc2 +0 -0
  53. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/36/b4a1b7403abc6c360f8fe2cb656ab945254971 +0 -0
  54. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/36/e56a361f526eafa59c5235a5c990bf288b5f9c +0 -0
  55. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/36/ef43e50009e59db11812c258846d9e38718173 +0 -0
  56. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/39/7ead045fbbcfb17c62019eb18fe21ed05dbee5 +0 -0
  57. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/39/b13be65125556784e44c7a1d9821703c7ab67e +0 -0
  58. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/3b/507acc7f23391644cc0b824b1e79fd2677a362 +0 -0
  59. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/3b/bd972aa7ad680858f8dfbd0f7fcd97756f0d6f +0 -0
  60. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/3c/bbe5f4173d165127b9ad96119f1ec24c306ffc +0 -0
  61. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/3d/9d10d27724657a436c65a6254bfd213d4b3562 +0 -0
  62. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/3f/d6561300938afbb3d11976cf9c8f29549280d9 +0 -0
  63. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/41/dcf4b3bf0460946b2da93776cf9e836d62178f +0 -0
  64. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/43/dbd49b2ee367c5434dd545e3b5795434f2ef0b +0 -0
  65. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/45/b1b6178bacbfc997811a998b5cc60c1ea7fac8 +0 -0
  66. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/47/6cbd5a7c5e35cddef2f8a38bdc4896d403b095 +0 -0
  67. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/48/a88fc5806305d0bb0755ee6801161b79696972 +0 -0
  68. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/4f/7afb40dff2153d857fc85748c2eecb85125042 +0 -0
  69. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/50/08ddfcf53c02e82d7eee2e57c38e5672ef89f6 +0 -0
  70. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/53/e0deb1cb4c2c606bced6e7f9a66b0fda60980d +0 -0
  71. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/56/e4e8b2d5545e0256090f45aa8fc42c5fe067d0 +0 -0
  72. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/57/63d0c52f5c9c69e89d514a1f96034947abe21a +0 -0
  73. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/57/bd1c0199483ab316235b094543b85edec6c35e +0 -0
  74. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/58/20a729045d4dc7e37ccaf8aa8eec126850afe2 +0 -0
  75. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/59/380c4c26bdcd4d9b71ae3e2e35f05b3f26c5ab +0 -0
  76. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/5a/192565abf89c9d765af846ce6d53a92b1ce7ad +0 -0
  77. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/60/f273eb1c412d916fa3f11318a7da7a9911b52a +0 -0
  78. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/61/570cec8c061abe74121f27f5face6c69b98f99 +0 -0
  79. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/62/4488173ed2c8936fa5cea3cf5dd3f26a30b86e +0 -0
  80. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/62/7c81b23b4e56e87b042b650b0103653cc9e34a +0 -0
  81. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/62/d90ccf8cbefdc2e4fd475e7c6f4f76e9fdf801 +0 -0
  82. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/63/100154b27846e8010e55b6bf4b3d7762c14c5f +0 -0
  83. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/64/27a4edff08f93d98f511418423f09f2ab90bcd +0 -0
  84. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/66/6227eeeba24073e63811e89f1449f3d958f183 +0 -0
  85. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/66/c998778721d424bd0aae80602dabbffa93af2e +0 -0
  86. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/68/6df3072c8b025fb18106ed2df505994ad062a9 +0 -0
  87. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/69/13c452ca319f7cbf6a0836dc10a5bb033c84e4 +0 -0
  88. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/6a/52e747a2b349b128d1490d9e896d2323818eb7 +0 -0
  89. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/6b/7fde264d93a7a0986d394c46c7650d0ce2ab92 +0 -0
  90. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/6c/cebb29b7f3f5b0c889f6dadbf9ff066554587d +0 -0
  91. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/6d/c2cdf4a84e538e5d4777486aeff87e42f41799 +0 -0
  92. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/6d/ee29dbdcc84edeeacede105110446f3ccac963 +0 -0
  93. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/71/36b2074a2754be8b58127d82250e5b37e3c373 +0 -0
  94. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/72/245a05b0966011cb381e6b32b0465000e969ab +0 -0
  95. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/72/e4179337639859678ddaecf38b16f33aaec8e1 +0 -0
  96. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/78/063f4c863fc371ec0313303c0a81283b35d9b6 +0 -0
  97. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/78/3d4167bc95c9d2175e0df03ef1c1c880ba75ab +0 -0
  98. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/79/7ae089b2212a937840e215276005ce76881307 +0 -0
  99. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/7e/5956c806b5edc344d46dab599dec337891ba1f +0 -0
  100. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/81/8f26b7bf042269729020cf944fc362d66ba27e +0 -0
  101. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/82/70b319ce4046854fbe7dc41054b6c2d112dab2 +0 -0
  102. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/84/59071b722a255b774a80b27746033f8141ab39 +0 -0
  103. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/85/aee46f478e9afdb84d50a05242c53b04ed2e21 +0 -0
  104. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/86/e288b46f8fe179907e4413f665aeb5053fddb1 +0 -0
  105. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/87/ef1fc3f7f1ddc4d0ab9b3e65381ce9f3388621 +0 -0
  106. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/8b/84f56978e1de8f2ae82abce5f8b3e182d365cd +0 -0
  107. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/8e/55a7d2b96184030211f20c9b9af201eefcac82 +0 -0
  108. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/91/c69ad88fe0ba94aa7859fb5f7edac5e6f1a3f7 +0 -0
  109. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/94/74152b4b463d70ae5ad07f0c658be3e296026b +0 -0
  110. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/94/f7dbe88e80c4205a901b71eb8f181974376bba +0 -0
  111. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/97/1aef09ea939f46b60b9646f8d524c78a9220f4 +0 -0
  112. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/9b/ec5ee2236ee2d5532c36bfd132e23c58fdb69c +0 -0
  113. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/9d/0df52899fe95279059286d9c0ec42287edc168 +0 -0
  114. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/a1/5389729850729fc7bd78a54f26fce77f30be12 +0 -0
  115. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/a1/906da89d1174f74867800c74c43af36253bd5e +0 -0
  116. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/a4/63fdd23e5efd713db8a71f316f3a1c7bd60916 +0 -0
  117. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/a5/ec8f74642fbba27f7ea78c53b372ae0c7dedce +0 -0
  118. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/a7/3e13eafee65c5b8d73ad2d3ea46d0eee82f0d3 +0 -0
  119. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/b0/56be4be89ba6b76949dd641df45bb7036050c8 +0 -0
  120. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/b0/9cd7856d58590578ee1a4f3ad45d1310a97f87 +0 -0
  121. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/b2/18e6a0f0f1c4df8cdefa9852058348abc713b7 +0 -0
  122. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/b3/4f7f271c6d6105e35a6556ffda71d03afe8c96 +0 -0
  123. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/b3/69579064bde9de9a19d114fc33e4e48cc8c0e4 +0 -0
  124. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/b5/61831c7dce8ea51e7ee6b6fa35745f14d8242d +0 -0
  125. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/b7/2c9e75ab7d0afe594664650aa8f6c772f5ac64 +0 -0
  126. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/bb/81ccc0513f18fc160b54a82861e9a80d23f4f6 +0 -0
  127. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/bb/934eb33bc1a8b85630bf680caffd99560c1b8f +0 -0
  128. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/bf/67907e337021ebff434e02b19b30a741c144af +0 -0
  129. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/bf/b54d65922ce1dfda1aaa014913a54e7172d0bc +0 -0
  130. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/c1/20fc812b9ad311c34a3608512d6a9d976bb48e +0 -0
  131. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/c1/397c6ed72c4e20ef6b9ab83163e9a6baba5b45 +0 -0
  132. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/c4/cba65f1163661999ee4b8ed23342b63bc1300c +0 -0
  133. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/c6/7f17e5707313600efcb85e9a3fedea35dba591 +0 -0
  134. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/c6/f32aced880bd165a251cb52b26b0c1107e2141 +0 -0
  135. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/cc/45df1d317a2eb63ff1ff3a5f3b4a9f98fd92b5 +0 -0
  136. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/cd/822b3574a88ebdd1ed82fd6983f37e626d52b4 +0 -0
  137. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/cf/0c0d9c6fb09473aaeb7f7e2edbd770c3f2ef3d +0 -0
  138. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/d2/992df305f4b56a466a2f221aeb182ddd20f418 +0 -0
  139. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/d6/39e8af592cd75a318d8affddd1bcc70c2095f2 +0 -0
  140. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/d6/9ab1c4aadf279936dd778e8346ba60f74705b6 +0 -0
  141. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/d8/4688b54c0040a30976b3a6540bc47adf7ce680 +0 -0
  142. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/d9/005f2cc7fc4e65f14ed5518276007c08cf2fd0 +0 -0
  143. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/d9/c2403fd166ce791b4e9d0c6792ed8342c71fcd +0 -0
  144. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/d9/dfa5aee51e92a541b707e8e7baea6f06deff98 +0 -0
  145. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/db/141dbaa93594df2a8156182f361ee4db829359 +0 -0
  146. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/db/3f2cd643292057936230b95cf7ec3046affe11 +0 -0
  147. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/db/ffa8ea7bda721d0cee7b9e4ce5b2ef927733ff +0 -0
  148. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/dc/c2bdbafb3296e09d9ee4955cfa55d275825f94 +0 -0
  149. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/dc/cdbd4266765d840be2ae35ab1752a0fa312c16 +0 -0
  150. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/dd/87fb5f606fe380d81e6fe3a2c98f9f99e3e09b +0 -0
  151. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/de/214c626ac2dd2685bfaa0bc0fc20f528d014d7 +0 -0
  152. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/df/e0770424b2a19faf507a501ebfc23be8f54e7b +0 -0
  153. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/e2/f2f8f4c25e62a297fc55f36acc6b01cfbab76f +0 -0
  154. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/e3/1356f90ea6dd0577b5e0b40b206319adcbf085 +0 -0
  155. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/e3/5a4dafc50850cacac7bf76c56db2715cbda2c4 +0 -0
  156. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/e4/6c715352db9fe3c887a635f1916df4ca1f4ff9 +0 -0
  157. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/e5/0580a0bd1e1b3d29f834382b80fceb61d5cf0c +0 -0
  158. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/e9/391ffe371f1cc43b42ef09b705d9c767c2e14f +0 -0
  159. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/ea/3a18cc75e53792744ef754e05d3f4481768c13 +0 -0
  160. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/ec/40fd8bf8e4c342534a9fc020289e402ba6bc9d +0 -0
  161. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/ec/d980279432b13f0374b90ca439a6329cdece0f +0 -0
  162. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/ee/cee64eacaff022dcdc509c0c2b1da492f21060 +0 -0
  163. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/f1/e50757fddc28b445545dc7e2759b54cdd0f42e +0 -0
  164. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/f4/b64d3107b39e3ad6f540c6607004ea34e6c024 +0 -0
  165. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/f4/ba7f815b886797b73fede071d86e0c134d2bc7 +0 -0
  166. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/f5/61c3c1bf1c9ea9c9d1f556a7be2869f71f3bdf +0 -0
  167. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/f6/44a8ff56fa035105fc517cbb1ac46c3d8e349a +0 -0
  168. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/f7/c98ba5c2f903e603b1f5e63d49fbc8a43815cc +0 -0
  169. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/f9/045a08e96eb76848fc4d68e3e3e687cca39a2d +0 -0
  170. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/fa/147e6bb78a2e8db241d231295fd7f1ed061af8 +0 -0
  171. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/objects/fc/292e793ecfd42240ac43be407023bd731fa9e7 +0 -0
  172. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/refs/heads/main +0 -0
  173. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/refs/remotes/origin/HEAD +0 -0
  174. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.git/refs/remotes/origin/main +0 -0
  175. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.gitattributes +0 -0
  176. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/.gitignore +0 -0
  177. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/LICENSE +0 -0
  178. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/README.md +0 -0
  179. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/__init__.py +0 -0
  180. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/batman.py +0 -0
  181. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/brain_atlas.py +0 -0
  182. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/chat.py +0 -0
  183. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/correlators.py +0 -0
  184. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/.DS_Store +0 -0
  185. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/db2ls_sql_chtsht.json +0 -0
  186. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/docs_links.json +0 -0
  187. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/email/email_html_template.html +0 -0
  188. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/lang_code_iso639.json +0 -0
  189. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/sns_info.json +0 -0
  190. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/example/style1.pdf +0 -0
  191. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/example/style2.pdf +0 -0
  192. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/example/style3.pdf +0 -0
  193. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/example/style4.pdf +0 -0
  194. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/example/style5.pdf +0 -0
  195. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/example/style6.pdf +0 -0
  196. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/example/style7.pdf +0 -0
  197. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/example/style8.pdf +0 -0
  198. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/example/style9.pdf +0 -0
  199. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style1.json +0 -0
  200. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style10.json +0 -0
  201. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style11.json +0 -0
  202. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style12.json +0 -0
  203. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style2.json +0 -0
  204. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style3.json +0 -0
  205. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style4.json +0 -0
  206. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style5.json +0 -0
  207. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style6.json +0 -0
  208. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style7.json +0 -0
  209. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style8.json +0 -0
  210. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/styles/style9.json +0 -0
  211. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/usages_pd.json +0 -0
  212. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/data/usages_sns.json +0 -0
  213. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/db2ls.py +0 -0
  214. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/doc.py +0 -0
  215. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/export_requirements.py +0 -0
  216. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/fetch_update.py +0 -0
  217. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/freqanalysis.py +0 -0
  218. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/ich2ls.py +0 -0
  219. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/netfinder.py +0 -0
  220. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/ocr.py +0 -0
  221. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/setuptools-70.1.0-py3-none-any.whl +0 -0
  222. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/sleep_events_detectors.py +0 -0
  223. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/stats.py +0 -0
  224. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/translator.py +0 -0
  225. {py2ls-0.2.4 → py2ls-0.2.4.1}/py2ls/wb_detector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: py2ls
3
- Version: 0.2.4
3
+ Version: 0.2.4.1
4
4
  Summary: py(thon)2(too)ls
5
5
  Author: Jianfeng
6
6
  Author-email: Jianfeng.Liu0413@gmail.com
@@ -4478,16 +4478,22 @@ def df_astype(
4478
4478
  "second",
4479
4479
  "time",
4480
4480
  "week",
4481
- "date",
4481
+ "date","day",
4482
4482
  "month",
4483
4483
  "year",
4484
4484
  ]
4485
- # correct the astype input
4486
- astype = strcmp(astype, astypes)[0]
4487
- print(f"converting {columns} as type: {astype}")
4488
4485
  # If inplace is False, make a copy of the DataFrame
4489
4486
  if not inplace:
4490
4487
  df = df.copy()
4488
+ # correct the astype input
4489
+ if isinstance(astype,str):
4490
+ astype = strcmp(astype, astypes)[0]
4491
+ print(f"converting {columns} as type: {astype}")
4492
+ elif isinstance(astype,dict):
4493
+ for col, dtype in astype.items():
4494
+ dtype='date' if dtype=="day" else dtype
4495
+ df["col"]=df["col"].adtype(strcmp(dtype, astypes)[0])
4496
+ return
4491
4497
  # If columns is None, apply to all columns
4492
4498
  if columns is None:
4493
4499
  columns = df.columns
@@ -4523,7 +4529,7 @@ def df_astype(
4523
4529
  df.iloc[:, column] = df.iloc[:, column].dt.month
4524
4530
  elif astype == "year":
4525
4531
  df.iloc[:, column] = df.iloc[:, column].dt.year
4526
- elif astype == "date":
4532
+ elif astype == "date" or astype == "day":
4527
4533
  df.iloc[:, column] = df.iloc[:, column].dt.date
4528
4534
  elif astype == "hour":
4529
4535
  df.iloc[:, column] = df.iloc[:, column].dt.hour
@@ -10,7 +10,7 @@ from cycler import cycler
10
10
  import logging
11
11
  import os
12
12
  import re
13
-
13
+ from typing import List, Optional, Union
14
14
  from .ips import fsave, fload, mkdir, listdir, figsave, strcmp, unique, get_os, ssplit
15
15
  from .stats import *
16
16
  from .netfinder import get_soup, fetch
@@ -152,6 +152,36 @@ def heatmap(
152
152
  yticklabels=True, # Show row labels
153
153
  **kwargs,
154
154
  ):
155
+ """
156
+ plot heatmap or clustermap for a given dataset (DataFrame).
157
+
158
+ Parameters:
159
+ - data (pd.DataFrame): The input data to visualize.
160
+ - ax (matplotlib.Axes, optional): Axis object to plot on. If None and cluster=False, a new axis is created.
161
+ - kind (str, default="corr"): Type of heatmap to plot. Options:
162
+ - "corr": Correlation heatmap based on numeric columns.
163
+ - "direct": Direct visualization of the numeric data.
164
+ - "pivot": Creates a heatmap using the `pivot_table` method.
165
+ - columns (str or list, default="all"): Columns to include in the heatmap. For pivoting, this specifies the 'columns' argument.
166
+ - index (str, optional): For pivot heatmap, sets the 'index' argument.
167
+ - values (str, optional): For pivot heatmap, sets the 'values' argument.
168
+ - tri (str, default="u"): Specifies whether to show the 'upper' or 'lower' triangle in the heatmap.
169
+ - mask (bool, default=True): Whether to mask half of the correlation matrix.
170
+ - k (int, default=1): Controls how much of the triangle is masked in correlation heatmaps.
171
+ - annot (bool, default=True): If True, writes the data values in each cell.
172
+ - cmap (str, default="coolwarm"): The colormap for the heatmap.
173
+ - fmt (str, default=".2f"): String formatting code for annotating cells.
174
+ - cluster (bool, default=False): If True, a clustermap with hierarchical clustering is plotted.
175
+ - inplace (bool, default=False): If True, modifies the original data. Not currently used.
176
+ - figsize (tuple, default=(10, 8)): Size of the figure for the heatmap.
177
+ - row_cluster (bool, default=True): Perform clustering on rows.
178
+ - col_cluster (bool, default=True): Perform clustering on columns.
179
+ - dendrogram_ratio (tuple, default=(0.2, 0.1)): Adjust the size of the dendrograms.
180
+ - cbar_pos (tuple, default=(0.02, 1, 0.02, 0.1)): Adjust the position of the colorbar.
181
+ - xticklabels (bool, default=True): Show or hide the column labels.
182
+ - yticklabels (bool, default=True): Show or hide the row labels.
183
+ - **kwargs: Additional arguments passed to `sns.heatmap` or `sns.clustermap`.
184
+ """
155
185
  if ax is None and not cluster:
156
186
  ax = plt.gca()
157
187
  # Select numeric columns or specific subset of columns
@@ -162,7 +192,8 @@ def heatmap(
162
192
 
163
193
  kinds = ["corr", "direct", "pivot"]
164
194
  kind = strcmp(kind, kinds)[0]
165
- if kind == "corr":
195
+ print(kind)
196
+ if "corr" in kind: # correlation
166
197
  # Compute the correlation matrix
167
198
  data4heatmap = df_numeric.corr()
168
199
  # Generate mask for the upper triangle if mask is True
@@ -254,11 +285,26 @@ def heatmap(
254
285
  )
255
286
  # Return the Axes object for further customization if needed
256
287
  return ax
257
- elif kind == "direct":
288
+ elif "dir" in kind: # direct
258
289
  data4heatmap = df_numeric
259
- elif kind == "pivot":
260
- print('need 3 param: e.g., index="Task", columns="Model", values="Score"')
261
- data4heatmap = data.pivot(index=index, columns=columns, values=values)
290
+ elif "pi" in kind: # pivot
291
+ try:
292
+ print(
293
+ f'pivot: \n\tneed at least 3 param: e.g., index="Task", columns="Model", values="Score"'
294
+ )
295
+ data4heatmap = data.pivot(index=index, columns=columns, values=values)
296
+ except:
297
+ print(
298
+ f'pivot_table: \n\tneed at least 4 param: e.g., index="Task", columns="Model", values="Score",aggfunc="mean"'
299
+ )
300
+ aggfunc = "mean"
301
+ for k_, v_ in kwargs.items():
302
+ if "agg" in k_.lower():
303
+ aggfunc = v_
304
+ kwargs.pop(k_, None)
305
+ data4heatmap = data.pivot_table(
306
+ index=index, columns=columns, values=values, aggfunc=aggfunc
307
+ )
262
308
  else:
263
309
  print(f'"{kind}" is not supported')
264
310
  # Remove conflicting kwargs
@@ -2873,13 +2919,26 @@ def plot_xy(
2873
2919
  x=None,
2874
2920
  y=None,
2875
2921
  ax=None,
2876
- kind: str = None, # Specify the kind of plot
2922
+ kind: Union(str, list) = None, # Specify the kind of plot
2923
+ verbose=False,
2924
+ **kwargs,
2925
+ ):
2926
+ # You can call the original plotxy function if needed
2927
+ # or simply replicate the functionality here
2928
+ return plotxy(data, x, y, ax, kind, verbose, **kwargs)
2929
+
2930
+
2931
+ def plotxy(
2932
+ data: pd.DataFrame = None,
2933
+ x=None,
2934
+ y=None,
2935
+ ax=None,
2936
+ kind: Union(str, list) = None, # Specify the kind of plot
2877
2937
  verbose=False,
2878
- # kws_figsets:dict=None,
2879
2938
  **kwargs,
2880
2939
  ):
2881
2940
  """
2882
- e.g., plot_xy(data=data_log, x="Component_1", y="Component_2", hue="Cluster",kind='scater)
2941
+ e.g., plotxy(data=data_log, x="Component_1", y="Component_2", hue="Cluster",kind='scater)
2883
2942
  Create a variety of plots based on the kind parameter.
2884
2943
 
2885
2944
  Parameters:
@@ -2942,10 +3001,10 @@ def plot_xy(
2942
3001
  kws_figsets = v_arg
2943
3002
  kwargs.pop(k_arg, None)
2944
3003
  break
2945
- kws_text = {}
3004
+ kws_add_text = {}
2946
3005
  for k_arg, v_arg in kwargs.items():
2947
- if "add" in k_arg and all(["t" in k_arg, "x" in k_arg]): # add_text
2948
- kws_text = v_arg
3006
+ if "add" in k_arg and "text" in k_arg: # add_text
3007
+ kws_add_text = v_arg
2949
3008
  kwargs.pop(k_arg, None)
2950
3009
  break
2951
3010
 
@@ -2993,6 +3052,7 @@ def plot_xy(
2993
3052
  ax = stdshade(ax=ax, **kwargs)
2994
3053
  elif k == "scatterplot":
2995
3054
  kws_scatter = kwargs.pop("kws_scatter", kwargs)
3055
+ hue = kwargs.pop("hue", None)
2996
3056
  palette = kws_scatter.pop(
2997
3057
  "palette",
2998
3058
  (
@@ -3029,7 +3089,8 @@ def plot_xy(
3029
3089
  ax = sns.rugplot(data=data, x=x, ax=ax, **kws_rug)
3030
3090
  elif k == "stripplot":
3031
3091
  kws_strip = kwargs.pop("kws_strip", kwargs)
3032
- ax = sns.stripplot(data=data, x=x, y=y, ax=ax, **kws_strip)
3092
+ dodge = kws_strip.pop("dodge", True)
3093
+ ax = sns.stripplot(data=data, x=x, y=y, ax=ax, dodge=dodge, **kws_strip)
3033
3094
  elif k == "swarmplot":
3034
3095
  kws_swarm = kwargs.pop("kws_swarm", kwargs)
3035
3096
  ax = sns.swarmplot(data=data, x=x, y=y, ax=ax, **kws_swarm)
@@ -3062,7 +3123,7 @@ def plot_xy(
3062
3123
  ax = sns.lineplot(ax=ax, data=data, x=x, y=y, **kws_line)
3063
3124
 
3064
3125
  figsets(ax=ax, **kws_figsets)
3065
- add_text(ax=ax, **kws_text)
3126
+ add_text(ax=ax, **kws_add_text) if kws_add_text else None
3066
3127
  print(k, " ⤵ ")
3067
3128
  print(default_settings[k])
3068
3129
  print(
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "py2ls"
3
- version = "0.2.4"
3
+ version = "0.2.4.1"
4
4
  description = "py(thon)2(too)ls"
5
5
  authors = ["Jianfeng <Jianfeng.Liu0413@gmail.com>"]
6
6
  readme = "README.md"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes