py2ls 0.2.4.6__tar.gz → 0.2.4.8__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 (232) hide show
  1. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/PKG-INFO +2 -2
  2. py2ls-0.2.4.8/py2ls/.git/index +0 -0
  3. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/batman.py +32 -1
  4. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/bio.py +25 -22
  5. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/usages_sns.json +2 -1
  6. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/ips.py +1258 -724
  7. py2ls-0.2.4.8/py2ls/ml2ls.py +2545 -0
  8. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/plot.py +500 -235
  9. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/pyproject.toml +2 -2
  10. py2ls-0.2.4.6/py2ls/.git/index +0 -0
  11. py2ls-0.2.4.6/py2ls/ml2ls.py +0 -1094
  12. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/README.md +0 -0
  13. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.DS_Store +0 -0
  14. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/COMMIT_EDITMSG +0 -0
  15. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/FETCH_HEAD +0 -0
  16. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/HEAD +0 -0
  17. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/config +0 -0
  18. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/description +0 -0
  19. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/applypatch-msg.sample +0 -0
  20. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/commit-msg.sample +0 -0
  21. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/fsmonitor-watchman.sample +0 -0
  22. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/post-update.sample +0 -0
  23. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/pre-applypatch.sample +0 -0
  24. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/pre-commit.sample +0 -0
  25. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/pre-merge-commit.sample +0 -0
  26. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/pre-push.sample +0 -0
  27. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/pre-rebase.sample +0 -0
  28. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/pre-receive.sample +0 -0
  29. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/prepare-commit-msg.sample +0 -0
  30. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/push-to-checkout.sample +0 -0
  31. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/hooks/update.sample +0 -0
  32. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/info/exclude +0 -0
  33. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/logs/HEAD +0 -0
  34. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/logs/refs/heads/main +0 -0
  35. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/logs/refs/remotes/origin/HEAD +0 -0
  36. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/logs/refs/remotes/origin/main +0 -0
  37. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/01/d5bd8065e6860c0bd23ff9fa57161806a099e1 +0 -0
  38. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/09/08da26de58c114225ad81f484b80bf5d351b34 +0 -0
  39. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/0b/409e1bc918277010f5679b402d1d1dda53e15c +0 -0
  40. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/12/c2808a1b3a4d0892a4154dfba1e2ae3770fa73 +0 -0
  41. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/14/449a0e6ba4ea2f1a73acf63ef91c9c6193f9ed +0 -0
  42. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/15/a8e468aacfcb440e090020f36d0b985d45da23 +0 -0
  43. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/1a/b4585881a6a42889f01aa0cfe25fd5acfaf46f +0 -0
  44. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/1c/3f92adda34344bcbbbf9d409c79855ae2aaea8 +0 -0
  45. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/1c/9314c5f69b9390068a2a8616875d974849d71f +0 -0
  46. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/1d/fe9d9633b24ea560354f4f93d39c6e5f163ea0 +0 -0
  47. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/20/72c28e83f4347959d29f7b3a6c1fc3e4ee6b59 +0 -0
  48. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/24/6b368b986f758630c46dc02b7fa512b53422f7 +0 -0
  49. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/25/b796accd261b9135fd32a2c00785f68edf6c46 +0 -0
  50. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/27/aa6074f652bc6f7078f8647489d9ee8e24f0e2 +0 -0
  51. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/28/c2969d785c1b892c2a96b3f00eba63a59811b3 +0 -0
  52. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/2a/ae95d517d213b660bf4f65a4e0cfae7bb893eb +0 -0
  53. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/2a/fdf45791a26d42ccead35ace76a8f0b2a56561 +0 -0
  54. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/30/a2f8da47ee947811dc8d993f5a06a45de374f4 +0 -0
  55. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/32/fd627b62fad7cf3b2f9e34ab9777126a0987ad +0 -0
  56. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/34/9e31b6a3634cea102ce5588b98c11cc1738605 +0 -0
  57. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/34/b6f3a2ee84f39bed4eee57f2c0e0afb994feb1 +0 -0
  58. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/35/1a5f491ab97eee9d1ee699478d75a8bb5d3dc2 +0 -0
  59. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/36/b4a1b7403abc6c360f8fe2cb656ab945254971 +0 -0
  60. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/36/e56a361f526eafa59c5235a5c990bf288b5f9c +0 -0
  61. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/36/ef43e50009e59db11812c258846d9e38718173 +0 -0
  62. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/39/7ead045fbbcfb17c62019eb18fe21ed05dbee5 +0 -0
  63. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/39/b13be65125556784e44c7a1d9821703c7ab67e +0 -0
  64. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/3b/507acc7f23391644cc0b824b1e79fd2677a362 +0 -0
  65. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/3b/bd972aa7ad680858f8dfbd0f7fcd97756f0d6f +0 -0
  66. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/3c/bbe5f4173d165127b9ad96119f1ec24c306ffc +0 -0
  67. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/3d/9d10d27724657a436c65a6254bfd213d4b3562 +0 -0
  68. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/3f/d6561300938afbb3d11976cf9c8f29549280d9 +0 -0
  69. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/41/dcf4b3bf0460946b2da93776cf9e836d62178f +0 -0
  70. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/43/dbd49b2ee367c5434dd545e3b5795434f2ef0b +0 -0
  71. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/45/b1b6178bacbfc997811a998b5cc60c1ea7fac8 +0 -0
  72. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/47/6cbd5a7c5e35cddef2f8a38bdc4896d403b095 +0 -0
  73. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/48/a88fc5806305d0bb0755ee6801161b79696972 +0 -0
  74. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/4f/7afb40dff2153d857fc85748c2eecb85125042 +0 -0
  75. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/50/08ddfcf53c02e82d7eee2e57c38e5672ef89f6 +0 -0
  76. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/53/e0deb1cb4c2c606bced6e7f9a66b0fda60980d +0 -0
  77. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/56/e4e8b2d5545e0256090f45aa8fc42c5fe067d0 +0 -0
  78. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/57/63d0c52f5c9c69e89d514a1f96034947abe21a +0 -0
  79. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/57/bd1c0199483ab316235b094543b85edec6c35e +0 -0
  80. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/58/20a729045d4dc7e37ccaf8aa8eec126850afe2 +0 -0
  81. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/59/380c4c26bdcd4d9b71ae3e2e35f05b3f26c5ab +0 -0
  82. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/5a/192565abf89c9d765af846ce6d53a92b1ce7ad +0 -0
  83. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/60/f273eb1c412d916fa3f11318a7da7a9911b52a +0 -0
  84. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/61/570cec8c061abe74121f27f5face6c69b98f99 +0 -0
  85. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/62/4488173ed2c8936fa5cea3cf5dd3f26a30b86e +0 -0
  86. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/62/7c81b23b4e56e87b042b650b0103653cc9e34a +0 -0
  87. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/62/d90ccf8cbefdc2e4fd475e7c6f4f76e9fdf801 +0 -0
  88. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/63/100154b27846e8010e55b6bf4b3d7762c14c5f +0 -0
  89. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/64/27a4edff08f93d98f511418423f09f2ab90bcd +0 -0
  90. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/66/6227eeeba24073e63811e89f1449f3d958f183 +0 -0
  91. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/66/c998778721d424bd0aae80602dabbffa93af2e +0 -0
  92. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/68/6df3072c8b025fb18106ed2df505994ad062a9 +0 -0
  93. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/69/13c452ca319f7cbf6a0836dc10a5bb033c84e4 +0 -0
  94. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/6a/52e747a2b349b128d1490d9e896d2323818eb7 +0 -0
  95. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/6b/7fde264d93a7a0986d394c46c7650d0ce2ab92 +0 -0
  96. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/6c/cebb29b7f3f5b0c889f6dadbf9ff066554587d +0 -0
  97. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/6d/c2cdf4a84e538e5d4777486aeff87e42f41799 +0 -0
  98. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/6d/ee29dbdcc84edeeacede105110446f3ccac963 +0 -0
  99. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/71/36b2074a2754be8b58127d82250e5b37e3c373 +0 -0
  100. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/72/245a05b0966011cb381e6b32b0465000e969ab +0 -0
  101. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/72/e4179337639859678ddaecf38b16f33aaec8e1 +0 -0
  102. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/78/063f4c863fc371ec0313303c0a81283b35d9b6 +0 -0
  103. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/78/3d4167bc95c9d2175e0df03ef1c1c880ba75ab +0 -0
  104. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/79/7ae089b2212a937840e215276005ce76881307 +0 -0
  105. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/7e/5956c806b5edc344d46dab599dec337891ba1f +0 -0
  106. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/81/8f26b7bf042269729020cf944fc362d66ba27e +0 -0
  107. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/82/70b319ce4046854fbe7dc41054b6c2d112dab2 +0 -0
  108. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/84/59071b722a255b774a80b27746033f8141ab39 +0 -0
  109. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/85/aee46f478e9afdb84d50a05242c53b04ed2e21 +0 -0
  110. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/86/e288b46f8fe179907e4413f665aeb5053fddb1 +0 -0
  111. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/87/ef1fc3f7f1ddc4d0ab9b3e65381ce9f3388621 +0 -0
  112. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/8b/84f56978e1de8f2ae82abce5f8b3e182d365cd +0 -0
  113. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/8e/55a7d2b96184030211f20c9b9af201eefcac82 +0 -0
  114. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/91/c69ad88fe0ba94aa7859fb5f7edac5e6f1a3f7 +0 -0
  115. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/94/74152b4b463d70ae5ad07f0c658be3e296026b +0 -0
  116. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/94/f7dbe88e80c4205a901b71eb8f181974376bba +0 -0
  117. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/97/1aef09ea939f46b60b9646f8d524c78a9220f4 +0 -0
  118. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/9b/ec5ee2236ee2d5532c36bfd132e23c58fdb69c +0 -0
  119. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/9d/0df52899fe95279059286d9c0ec42287edc168 +0 -0
  120. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/a1/5389729850729fc7bd78a54f26fce77f30be12 +0 -0
  121. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/a1/906da89d1174f74867800c74c43af36253bd5e +0 -0
  122. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/a4/63fdd23e5efd713db8a71f316f3a1c7bd60916 +0 -0
  123. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/a5/ec8f74642fbba27f7ea78c53b372ae0c7dedce +0 -0
  124. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/a7/3e13eafee65c5b8d73ad2d3ea46d0eee82f0d3 +0 -0
  125. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/b0/56be4be89ba6b76949dd641df45bb7036050c8 +0 -0
  126. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/b0/9cd7856d58590578ee1a4f3ad45d1310a97f87 +0 -0
  127. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/b2/18e6a0f0f1c4df8cdefa9852058348abc713b7 +0 -0
  128. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/b3/4f7f271c6d6105e35a6556ffda71d03afe8c96 +0 -0
  129. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/b3/69579064bde9de9a19d114fc33e4e48cc8c0e4 +0 -0
  130. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/b5/61831c7dce8ea51e7ee6b6fa35745f14d8242d +0 -0
  131. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/b7/2c9e75ab7d0afe594664650aa8f6c772f5ac64 +0 -0
  132. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/bb/81ccc0513f18fc160b54a82861e9a80d23f4f6 +0 -0
  133. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/bb/934eb33bc1a8b85630bf680caffd99560c1b8f +0 -0
  134. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/bf/67907e337021ebff434e02b19b30a741c144af +0 -0
  135. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/bf/b54d65922ce1dfda1aaa014913a54e7172d0bc +0 -0
  136. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/c1/20fc812b9ad311c34a3608512d6a9d976bb48e +0 -0
  137. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/c1/397c6ed72c4e20ef6b9ab83163e9a6baba5b45 +0 -0
  138. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/c4/cba65f1163661999ee4b8ed23342b63bc1300c +0 -0
  139. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/c6/7f17e5707313600efcb85e9a3fedea35dba591 +0 -0
  140. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/c6/f32aced880bd165a251cb52b26b0c1107e2141 +0 -0
  141. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/cc/45df1d317a2eb63ff1ff3a5f3b4a9f98fd92b5 +0 -0
  142. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/cd/822b3574a88ebdd1ed82fd6983f37e626d52b4 +0 -0
  143. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/cf/0c0d9c6fb09473aaeb7f7e2edbd770c3f2ef3d +0 -0
  144. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/d2/992df305f4b56a466a2f221aeb182ddd20f418 +0 -0
  145. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/d6/39e8af592cd75a318d8affddd1bcc70c2095f2 +0 -0
  146. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/d6/9ab1c4aadf279936dd778e8346ba60f74705b6 +0 -0
  147. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/d8/4688b54c0040a30976b3a6540bc47adf7ce680 +0 -0
  148. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/d9/005f2cc7fc4e65f14ed5518276007c08cf2fd0 +0 -0
  149. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/d9/c2403fd166ce791b4e9d0c6792ed8342c71fcd +0 -0
  150. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/d9/dfa5aee51e92a541b707e8e7baea6f06deff98 +0 -0
  151. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/db/141dbaa93594df2a8156182f361ee4db829359 +0 -0
  152. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/db/3f2cd643292057936230b95cf7ec3046affe11 +0 -0
  153. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/db/ffa8ea7bda721d0cee7b9e4ce5b2ef927733ff +0 -0
  154. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/dc/c2bdbafb3296e09d9ee4955cfa55d275825f94 +0 -0
  155. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/dc/cdbd4266765d840be2ae35ab1752a0fa312c16 +0 -0
  156. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/dd/87fb5f606fe380d81e6fe3a2c98f9f99e3e09b +0 -0
  157. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/de/214c626ac2dd2685bfaa0bc0fc20f528d014d7 +0 -0
  158. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/df/e0770424b2a19faf507a501ebfc23be8f54e7b +0 -0
  159. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/e2/f2f8f4c25e62a297fc55f36acc6b01cfbab76f +0 -0
  160. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/e3/1356f90ea6dd0577b5e0b40b206319adcbf085 +0 -0
  161. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/e3/5a4dafc50850cacac7bf76c56db2715cbda2c4 +0 -0
  162. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/e4/6c715352db9fe3c887a635f1916df4ca1f4ff9 +0 -0
  163. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/e5/0580a0bd1e1b3d29f834382b80fceb61d5cf0c +0 -0
  164. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/e9/391ffe371f1cc43b42ef09b705d9c767c2e14f +0 -0
  165. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/ea/3a18cc75e53792744ef754e05d3f4481768c13 +0 -0
  166. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/ec/40fd8bf8e4c342534a9fc020289e402ba6bc9d +0 -0
  167. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/ec/d980279432b13f0374b90ca439a6329cdece0f +0 -0
  168. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/ee/cee64eacaff022dcdc509c0c2b1da492f21060 +0 -0
  169. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/f1/e50757fddc28b445545dc7e2759b54cdd0f42e +0 -0
  170. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/f4/b64d3107b39e3ad6f540c6607004ea34e6c024 +0 -0
  171. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/f4/ba7f815b886797b73fede071d86e0c134d2bc7 +0 -0
  172. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/f5/61c3c1bf1c9ea9c9d1f556a7be2869f71f3bdf +0 -0
  173. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/f6/44a8ff56fa035105fc517cbb1ac46c3d8e349a +0 -0
  174. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/f7/c98ba5c2f903e603b1f5e63d49fbc8a43815cc +0 -0
  175. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/f9/045a08e96eb76848fc4d68e3e3e687cca39a2d +0 -0
  176. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/fa/147e6bb78a2e8db241d231295fd7f1ed061af8 +0 -0
  177. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/objects/fc/292e793ecfd42240ac43be407023bd731fa9e7 +0 -0
  178. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/refs/heads/main +0 -0
  179. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/refs/remotes/origin/HEAD +0 -0
  180. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.git/refs/remotes/origin/main +0 -0
  181. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.gitattributes +0 -0
  182. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/.gitignore +0 -0
  183. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/LICENSE +0 -0
  184. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/README.md +0 -0
  185. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/__init__.py +0 -0
  186. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/brain_atlas.py +0 -0
  187. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/chat.py +0 -0
  188. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/correlators.py +0 -0
  189. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/.DS_Store +0 -0
  190. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/db2ls_sql_chtsht.json +0 -0
  191. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/docs_links.json +0 -0
  192. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/email/email_html_template.html +0 -0
  193. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/lang_code_iso639.json +0 -0
  194. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/mygenes_fields_241022.txt +0 -0
  195. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/sns_info.json +0 -0
  196. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/example/style1.pdf +0 -0
  197. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/example/style2.pdf +0 -0
  198. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/example/style3.pdf +0 -0
  199. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/example/style4.pdf +0 -0
  200. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/example/style5.pdf +0 -0
  201. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/example/style6.pdf +0 -0
  202. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/example/style7.pdf +0 -0
  203. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/example/style8.pdf +0 -0
  204. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/example/style9.pdf +0 -0
  205. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style1.json +0 -0
  206. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style10.json +0 -0
  207. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style11.json +0 -0
  208. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style12.json +0 -0
  209. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style2.json +0 -0
  210. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style3.json +0 -0
  211. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style4.json +0 -0
  212. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style5.json +0 -0
  213. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style6.json +0 -0
  214. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style7.json +0 -0
  215. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style8.json +0 -0
  216. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/styles/style9.json +0 -0
  217. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/usages_pd copy.json +0 -0
  218. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/data/usages_pd.json +0 -0
  219. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/db2ls.py +0 -0
  220. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/doc.py +0 -0
  221. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/export_requirements.py +0 -0
  222. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/fetch_update.py +0 -0
  223. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/freqanalysis.py +0 -0
  224. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/ich2ls.py +0 -0
  225. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/mol.py +0 -0
  226. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/netfinder.py +0 -0
  227. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/ocr.py +0 -0
  228. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/setuptools-70.1.0-py3-none-any.whl +0 -0
  229. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/sleep_events_detectors.py +0 -0
  230. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/stats.py +0 -0
  231. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/py2ls/translator.py +0 -0
  232. {py2ls-0.2.4.6 → py2ls-0.2.4.8}/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.6
3
+ Version: 0.2.4.8
4
4
  Summary: py(thon)2(too)ls
5
5
  Author: Jianfeng
6
6
  Author-email: Jianfeng.Liu0413@gmail.com
@@ -56,7 +56,7 @@ Requires-Dist: coverage (>=7.6.0)
56
56
  Requires-Dist: coveralls (>=4.0.1)
57
57
  Requires-Dist: crashtest (>=0.4.1)
58
58
  Requires-Dist: cycler (>=0.12.1)
59
- Requires-Dist: dask (>=2024.7.1)
59
+ Requires-Dist: dask[dataframe] (>=2023.6,<2024.0)
60
60
  Requires-Dist: debugpy (>=1.8.2)
61
61
  Requires-Dist: decorator (>=5.1.1)
62
62
  Requires-Dist: defusedxml (>=0.7.1)
Binary file
@@ -37,7 +37,38 @@ def convert_to_html(text_list, strict=False):
37
37
  text = text.replace(escape_seq, html_rep)
38
38
  html_content += text.replace("\n", "<br>") # Add line breaks for newlines
39
39
  if strict:
40
- html_content = "<html><body>\n" + html_content + "\n</body></html>"
40
+ # html_content = "<html><body>\n" + html_content + "\n</body></html>"
41
+ # Include mobile-friendly CSS for responsive tables
42
+ css_style = """
43
+ <style>
44
+ .table-container {
45
+ overflow-x: auto;
46
+ -webkit-overflow-scrolling: touch; /* Enable smooth scrolling on iOS */
47
+ margin-bottom: 20px;
48
+ }
49
+ table {
50
+ width: 100%;
51
+ border-collapse: collapse;
52
+ }
53
+ th, td {
54
+ padding: 8px;
55
+ border: 1px solid #ddd;
56
+ text-align: left;
57
+ }
58
+ </style>
59
+ """
60
+
61
+ # Wrap the HTML content in the responsive container div
62
+ html_content = f"""
63
+ <html>
64
+ <head>{css_style}</head>
65
+ <body>
66
+ <div class="table-container">
67
+ {html_content}
68
+ </div>
69
+ </body>
70
+ </html>
71
+ """
41
72
  return html_content
42
73
 
43
74
 
@@ -166,9 +166,23 @@ def get_probe(
166
166
  if platform_id is None:
167
167
  df_meta = get_meta(geo=geo, dataset=dataset, verbose=False)
168
168
  platform_id = df_meta["platform_id"].unique().tolist()
169
- platform_id = platform_id[0] if len(platform_id) == 1 else platform_id
170
169
  print(f"Platform: {platform_id}")
171
- df_probe = geo[dataset].gpls[platform_id].table
170
+ if len(platform_id) > 1:
171
+ df_probe= geo[dataset].gpls[platform_id[0]].table
172
+ # df_probe=pd.DataFrame()
173
+ # # Iterate over each platform ID and collect the probe tables
174
+ # for platform_id_ in platform_id:
175
+ # if platform_id_ in geo[dataset].gpls:
176
+ # df_probe_ = geo[dataset].gpls[platform_id_].table
177
+ # if not df_probe_.empty:
178
+ # df_probe=pd.concat([df_probe, df_probe_])
179
+ # else:
180
+ # print(f"Warning: Probe table for platform {platform_id_} is empty.")
181
+ # else:
182
+ # print(f"Warning: Platform ID {platform_id_} not found in dataset {dataset}.")
183
+ else:
184
+ df_probe= geo[dataset].gpls[platform_id[0]].table
185
+
172
186
  if df_probe.empty:
173
187
  print(
174
188
  f"Warning: cannot find the probe info. 看一下是不是在单独的文件中包含了probe信息"
@@ -215,9 +229,12 @@ def get_data(geo: dict, dataset: str = "GSE25097", verbose=False):
215
229
  df_expression = get_expression_data(geo, dataset=dataset)
216
230
  if not df_expression.select_dtypes(include=["number"]).empty:
217
231
  # 如果数据全部是counts类型的话, 则使用TMM进行normalize
218
- if 'counts' in get_data_type(df_expression):
219
- print(f"{dataset}'s type is raw read counts, nomalized(transformed) via 'TMM'")
220
- df_expression=counts2expression(df_expression.T).T
232
+ if 'counts' in get_data_type(df_expression):
233
+ try:
234
+ df_expression=counts2expression(df_expression.T).T
235
+ print(f"{dataset}'s type is raw read counts, nomalized(transformed) via 'TMM'")
236
+ except Exception as e:
237
+ print("raw counts data")
221
238
  if any([df_probe.empty, df_expression.empty]):
222
239
  print(
223
240
  f"got empty values, check the probe info. 看一下是不是在单独的文件中包含了probe信息"
@@ -237,23 +254,9 @@ def get_data(geo: dict, dataset: str = "GSE25097", verbose=False):
237
254
  # get meta info
238
255
  df_meta = get_meta(geo, dataset=dataset, verbose=False)
239
256
  col_rm = [
240
- "channel_count",
241
- "contact_web_link",
242
- "contact_address",
243
- "contact_city",
244
- "contact_country",
245
- "contact_department",
246
- "contact_email",
247
- "contact_institute",
248
- "contact_laboratory",
249
- "contact_name",
250
- "contact_phone",
251
- "contact_state",
252
- "contact_zip/postal_code",
253
- "contributor",
254
- "manufacture_protocol",
255
- "taxid",
256
- "web_link",
257
+ "channel_count","contact_web_link","contact_address","contact_city","contact_country","contact_department",
258
+ "contact_email","contact_institute","contact_laboratory","contact_name","contact_phone","contact_state",
259
+ "contact_zip/postal_code","contributor","manufacture_protocol","taxid","web_link",
257
260
  ]
258
261
  # rm unrelavent columns
259
262
  df_meta = df_meta.drop(columns=[col for col in col_rm if col in df_meta.columns])
@@ -21,5 +21,6 @@
21
21
  "residplot": "seaborn.residplot(data=None,*,x=None,y=None,x_partial=None,y_partial=None,lowess=False,order=1,robust=False,dropna=True,label=None,color=None,scatter_kws=None,line_kws=None,ax=None)\nhttps://seaborn.pydata.org/generated/seaborn.residplot.html",
22
22
  "pairplot": "seaborn.pairplot(data,*,hue=None,hue_order=None,palette=None,vars=None,x_vars=None,y_vars=None,kind='scatter',diag_kind='auto',markers=None,height=2.5,aspect=1,corner=False,dropna=False,plot_kws=None,diag_kws=None,grid_kws=None,size=None)\nhttps://seaborn.pydata.org/generated/seaborn.pairplot.html",
23
23
  "jointplot": "seaborn.jointplot(data=None,*,x=None,y=None,hue=None,kind='scatter',height=6,ratio=5,space=0.2,dropna=False,xlim=None,ylim=None,color=None,palette=None,hue_order=None,hue_norm=None,marginal_ticks=False,joint_kws=None,marginal_kws=None,**kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.jointplot.html",
24
- "plotting_context": "seaborn.plotting_context(context=None,font_scale=1,rc=None)\nhttps://seaborn.pydata.org/generated/seaborn.plotting_context.html"
24
+ "plotting_context": "seaborn.plotting_context(context=None,font_scale=1,rc=None)\nhttps://seaborn.pydata.org/generated/seaborn.plotting_context.html",
25
+ "swarmplot":"seaborn.swarmplot(data=None, *, x=None, y=None, hue=None, order=None, hue_order=None, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor=None, linewidth=0, hue_norm=None, log_scale=None, native_scale=False, formatter=None, legend='auto', warn_thresh=0.05, ax=None, **kwargs)\nhttps://seaborn.pydata.org/generated/seaborn.swarmplot.html"
25
26
  }