py2ls 0.1.10.22__tar.gz → 0.1.10.24__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.
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/PKG-INFO +12 -231
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/ips.py +72 -17
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/netfinder.py +2 -2
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/ocr.py +45 -34
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/plot.py +46 -0
- py2ls-0.1.10.24/pyproject.toml +241 -0
- py2ls-0.1.10.22/pyproject.toml +0 -454
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/README.md +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.DS_Store +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/COMMIT_EDITMSG +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/FETCH_HEAD +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/HEAD +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/config +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/description +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/applypatch-msg.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/commit-msg.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/fsmonitor-watchman.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/post-update.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/pre-applypatch.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/pre-commit.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/pre-merge-commit.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/pre-push.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/pre-rebase.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/pre-receive.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/prepare-commit-msg.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/push-to-checkout.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/hooks/update.sample +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/index +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/info/exclude +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/logs/HEAD +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/logs/refs/heads/main +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/logs/refs/remotes/origin/HEAD +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/logs/refs/remotes/origin/main +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/01/d5bd8065e6860c0bd23ff9fa57161806a099e1 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/09/08da26de58c114225ad81f484b80bf5d351b34 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/0b/409e1bc918277010f5679b402d1d1dda53e15c +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/12/c2808a1b3a4d0892a4154dfba1e2ae3770fa73 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/14/449a0e6ba4ea2f1a73acf63ef91c9c6193f9ed +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/15/a8e468aacfcb440e090020f36d0b985d45da23 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/1a/b4585881a6a42889f01aa0cfe25fd5acfaf46f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/1c/3f92adda34344bcbbbf9d409c79855ae2aaea8 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/1c/9314c5f69b9390068a2a8616875d974849d71f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/1d/fe9d9633b24ea560354f4f93d39c6e5f163ea0 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/20/72c28e83f4347959d29f7b3a6c1fc3e4ee6b59 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/24/6b368b986f758630c46dc02b7fa512b53422f7 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/25/b796accd261b9135fd32a2c00785f68edf6c46 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/27/aa6074f652bc6f7078f8647489d9ee8e24f0e2 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/28/c2969d785c1b892c2a96b3f00eba63a59811b3 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/2a/ae95d517d213b660bf4f65a4e0cfae7bb893eb +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/2a/fdf45791a26d42ccead35ace76a8f0b2a56561 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/30/a2f8da47ee947811dc8d993f5a06a45de374f4 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/32/fd627b62fad7cf3b2f9e34ab9777126a0987ad +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/34/9e31b6a3634cea102ce5588b98c11cc1738605 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/34/b6f3a2ee84f39bed4eee57f2c0e0afb994feb1 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/35/1a5f491ab97eee9d1ee699478d75a8bb5d3dc2 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/36/b4a1b7403abc6c360f8fe2cb656ab945254971 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/36/e56a361f526eafa59c5235a5c990bf288b5f9c +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/36/ef43e50009e59db11812c258846d9e38718173 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/39/7ead045fbbcfb17c62019eb18fe21ed05dbee5 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/39/b13be65125556784e44c7a1d9821703c7ab67e +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/3b/507acc7f23391644cc0b824b1e79fd2677a362 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/3b/bd972aa7ad680858f8dfbd0f7fcd97756f0d6f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/3c/bbe5f4173d165127b9ad96119f1ec24c306ffc +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/3d/9d10d27724657a436c65a6254bfd213d4b3562 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/3f/d6561300938afbb3d11976cf9c8f29549280d9 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/41/dcf4b3bf0460946b2da93776cf9e836d62178f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/43/dbd49b2ee367c5434dd545e3b5795434f2ef0b +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/45/b1b6178bacbfc997811a998b5cc60c1ea7fac8 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/47/6cbd5a7c5e35cddef2f8a38bdc4896d403b095 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/48/a88fc5806305d0bb0755ee6801161b79696972 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/4f/7afb40dff2153d857fc85748c2eecb85125042 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/50/08ddfcf53c02e82d7eee2e57c38e5672ef89f6 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/53/e0deb1cb4c2c606bced6e7f9a66b0fda60980d +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/56/e4e8b2d5545e0256090f45aa8fc42c5fe067d0 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/57/63d0c52f5c9c69e89d514a1f96034947abe21a +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/57/bd1c0199483ab316235b094543b85edec6c35e +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/58/20a729045d4dc7e37ccaf8aa8eec126850afe2 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/59/380c4c26bdcd4d9b71ae3e2e35f05b3f26c5ab +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/5a/192565abf89c9d765af846ce6d53a92b1ce7ad +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/60/f273eb1c412d916fa3f11318a7da7a9911b52a +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/61/570cec8c061abe74121f27f5face6c69b98f99 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/62/4488173ed2c8936fa5cea3cf5dd3f26a30b86e +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/62/7c81b23b4e56e87b042b650b0103653cc9e34a +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/62/d90ccf8cbefdc2e4fd475e7c6f4f76e9fdf801 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/63/100154b27846e8010e55b6bf4b3d7762c14c5f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/64/27a4edff08f93d98f511418423f09f2ab90bcd +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/66/6227eeeba24073e63811e89f1449f3d958f183 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/66/c998778721d424bd0aae80602dabbffa93af2e +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/68/6df3072c8b025fb18106ed2df505994ad062a9 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/69/13c452ca319f7cbf6a0836dc10a5bb033c84e4 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/6a/52e747a2b349b128d1490d9e896d2323818eb7 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/6b/7fde264d93a7a0986d394c46c7650d0ce2ab92 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/6c/cebb29b7f3f5b0c889f6dadbf9ff066554587d +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/6d/c2cdf4a84e538e5d4777486aeff87e42f41799 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/6d/ee29dbdcc84edeeacede105110446f3ccac963 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/71/36b2074a2754be8b58127d82250e5b37e3c373 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/72/245a05b0966011cb381e6b32b0465000e969ab +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/72/e4179337639859678ddaecf38b16f33aaec8e1 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/78/063f4c863fc371ec0313303c0a81283b35d9b6 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/78/3d4167bc95c9d2175e0df03ef1c1c880ba75ab +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/79/7ae089b2212a937840e215276005ce76881307 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/7e/5956c806b5edc344d46dab599dec337891ba1f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/81/8f26b7bf042269729020cf944fc362d66ba27e +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/82/70b319ce4046854fbe7dc41054b6c2d112dab2 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/84/59071b722a255b774a80b27746033f8141ab39 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/85/aee46f478e9afdb84d50a05242c53b04ed2e21 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/86/e288b46f8fe179907e4413f665aeb5053fddb1 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/87/ef1fc3f7f1ddc4d0ab9b3e65381ce9f3388621 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/8b/84f56978e1de8f2ae82abce5f8b3e182d365cd +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/8e/55a7d2b96184030211f20c9b9af201eefcac82 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/91/c69ad88fe0ba94aa7859fb5f7edac5e6f1a3f7 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/94/74152b4b463d70ae5ad07f0c658be3e296026b +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/94/f7dbe88e80c4205a901b71eb8f181974376bba +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/97/1aef09ea939f46b60b9646f8d524c78a9220f4 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/9b/ec5ee2236ee2d5532c36bfd132e23c58fdb69c +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/9d/0df52899fe95279059286d9c0ec42287edc168 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/a1/5389729850729fc7bd78a54f26fce77f30be12 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/a1/906da89d1174f74867800c74c43af36253bd5e +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/a4/63fdd23e5efd713db8a71f316f3a1c7bd60916 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/a5/ec8f74642fbba27f7ea78c53b372ae0c7dedce +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/a7/3e13eafee65c5b8d73ad2d3ea46d0eee82f0d3 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/b0/56be4be89ba6b76949dd641df45bb7036050c8 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/b0/9cd7856d58590578ee1a4f3ad45d1310a97f87 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/b2/18e6a0f0f1c4df8cdefa9852058348abc713b7 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/b3/4f7f271c6d6105e35a6556ffda71d03afe8c96 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/b3/69579064bde9de9a19d114fc33e4e48cc8c0e4 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/b5/61831c7dce8ea51e7ee6b6fa35745f14d8242d +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/b7/2c9e75ab7d0afe594664650aa8f6c772f5ac64 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/bb/81ccc0513f18fc160b54a82861e9a80d23f4f6 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/bb/934eb33bc1a8b85630bf680caffd99560c1b8f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/bf/67907e337021ebff434e02b19b30a741c144af +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/bf/b54d65922ce1dfda1aaa014913a54e7172d0bc +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/c1/20fc812b9ad311c34a3608512d6a9d976bb48e +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/c1/397c6ed72c4e20ef6b9ab83163e9a6baba5b45 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/c4/cba65f1163661999ee4b8ed23342b63bc1300c +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/c6/7f17e5707313600efcb85e9a3fedea35dba591 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/c6/f32aced880bd165a251cb52b26b0c1107e2141 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/cc/45df1d317a2eb63ff1ff3a5f3b4a9f98fd92b5 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/cd/822b3574a88ebdd1ed82fd6983f37e626d52b4 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/cf/0c0d9c6fb09473aaeb7f7e2edbd770c3f2ef3d +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/d2/992df305f4b56a466a2f221aeb182ddd20f418 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/d6/39e8af592cd75a318d8affddd1bcc70c2095f2 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/d6/9ab1c4aadf279936dd778e8346ba60f74705b6 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/d8/4688b54c0040a30976b3a6540bc47adf7ce680 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/d9/005f2cc7fc4e65f14ed5518276007c08cf2fd0 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/d9/c2403fd166ce791b4e9d0c6792ed8342c71fcd +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/d9/dfa5aee51e92a541b707e8e7baea6f06deff98 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/db/141dbaa93594df2a8156182f361ee4db829359 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/db/3f2cd643292057936230b95cf7ec3046affe11 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/db/ffa8ea7bda721d0cee7b9e4ce5b2ef927733ff +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/dc/c2bdbafb3296e09d9ee4955cfa55d275825f94 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/dc/cdbd4266765d840be2ae35ab1752a0fa312c16 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/dd/87fb5f606fe380d81e6fe3a2c98f9f99e3e09b +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/de/214c626ac2dd2685bfaa0bc0fc20f528d014d7 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/df/e0770424b2a19faf507a501ebfc23be8f54e7b +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/e2/f2f8f4c25e62a297fc55f36acc6b01cfbab76f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/e3/1356f90ea6dd0577b5e0b40b206319adcbf085 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/e3/5a4dafc50850cacac7bf76c56db2715cbda2c4 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/e4/6c715352db9fe3c887a635f1916df4ca1f4ff9 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/e5/0580a0bd1e1b3d29f834382b80fceb61d5cf0c +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/e9/391ffe371f1cc43b42ef09b705d9c767c2e14f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/ea/3a18cc75e53792744ef754e05d3f4481768c13 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/ec/40fd8bf8e4c342534a9fc020289e402ba6bc9d +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/ec/d980279432b13f0374b90ca439a6329cdece0f +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/ee/cee64eacaff022dcdc509c0c2b1da492f21060 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/f1/e50757fddc28b445545dc7e2759b54cdd0f42e +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/f4/b64d3107b39e3ad6f540c6607004ea34e6c024 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/f4/ba7f815b886797b73fede071d86e0c134d2bc7 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/f5/61c3c1bf1c9ea9c9d1f556a7be2869f71f3bdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/f6/44a8ff56fa035105fc517cbb1ac46c3d8e349a +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/f7/c98ba5c2f903e603b1f5e63d49fbc8a43815cc +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/f9/045a08e96eb76848fc4d68e3e3e687cca39a2d +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/fa/147e6bb78a2e8db241d231295fd7f1ed061af8 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/objects/fc/292e793ecfd42240ac43be407023bd731fa9e7 +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/refs/heads/main +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/refs/remotes/origin/HEAD +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.git/refs/remotes/origin/main +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.gitattributes +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/.gitignore +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/LICENSE +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/README.md +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/__init__.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/batman.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/brain_atlas.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/chat.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/correlators.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/.DS_Store +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/db2ls_sql_chtsht.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/docs_links.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/lang_code_iso639.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/example/style1.pdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/example/style2.pdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/example/style3.pdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/example/style4.pdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/example/style5.pdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/example/style6.pdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/example/style7.pdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/example/style8.pdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/example/style9.pdf +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style1.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style10.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style11.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style12.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style2.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style3.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style4.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style5.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style6.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style7.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style8.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/data/styles/style9.json +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/db2ls.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/doc.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/export_requirements.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/freqanalysis.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/ich2ls.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/setuptools-70.1.0-py3-none-any.whl +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/sleep_events_detectors.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/stats.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/translator.py +0 -0
- {py2ls-0.1.10.22 → py2ls-0.1.10.24}/py2ls/wb_detector.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: py2ls
|
3
|
-
Version: 0.1.10.
|
3
|
+
Version: 0.1.10.24
|
4
4
|
Summary: py(thon)2(too)ls
|
5
5
|
Author: Jianfeng
|
6
6
|
Author-email: Jianfeng.Liu0413@gmail.com
|
@@ -10,151 +10,72 @@ Classifier: Programming Language :: Python :: 3.10
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.11
|
11
11
|
Classifier: Programming Language :: Python :: 3.12
|
12
12
|
Provides-Extra: extr
|
13
|
-
Requires-Dist: Babel (>=2.15.0)
|
14
13
|
Requires-Dist: CacheControl (>=0.13.1)
|
15
|
-
Requires-Dist: CairoSVG (>=2.7.1)
|
16
14
|
Requires-Dist: Cython (>=3.0.10)
|
17
15
|
Requires-Dist: Deprecated (>=1.2.14)
|
18
|
-
Requires-Dist: EbookLib (>=0.18)
|
19
|
-
Requires-Dist: Flask (>=3.0.3)
|
20
|
-
Requires-Dist: GitPython (>=3.1.43)
|
21
16
|
Requires-Dist: Jinja2 (>=3.1.4)
|
22
|
-
Requires-Dist: Levenshtein (>=0.25.1)
|
23
17
|
Requires-Dist: Markdown (>=3.6)
|
24
18
|
Requires-Dist: MarkupSafe (>=2.1.5)
|
25
|
-
Requires-Dist: MechanicalSoup (>=1.3.0)
|
26
|
-
Requires-Dist: MouseInfo (>=0.1.3)
|
27
|
-
Requires-Dist: PyAutoGUI (>=0.9.54)
|
28
|
-
Requires-Dist: PyGetWindow (>=0.0.9)
|
29
19
|
Requires-Dist: PyMatting (>=1.1.12)
|
30
|
-
Requires-Dist:
|
31
|
-
Requires-Dist: PyNaCl (>=1.5.0)
|
32
|
-
Requires-Dist: PyOpenGL (>=3.1.7)
|
20
|
+
Requires-Dist: PyOpenGL (>=3.1.6)
|
33
21
|
Requires-Dist: PyPDF2 (>=3.0.1)
|
34
22
|
Requires-Dist: PyQt5 (>=5.15.11)
|
35
23
|
Requires-Dist: PyQt5-Qt5 (>=5.15.14)
|
36
24
|
Requires-Dist: PyQt5_sip (>=12.15.0)
|
37
25
|
Requires-Dist: PyQtWebEngine (>=5.15.7)
|
38
26
|
Requires-Dist: PyQtWebEngine-Qt5 (>=5.15.14)
|
39
|
-
Requires-Dist: PyRect (>=0.2.0)
|
40
|
-
Requires-Dist: PyScreeze (>=1.0.1)
|
41
27
|
Requires-Dist: PySocks (>=1.7.1)
|
42
28
|
Requires-Dist: PyYAML (>=6.0.1)
|
43
29
|
Requires-Dist: Pygments (>=2.18.0)
|
44
30
|
Requires-Dist: QtPy (>=2.4.1)
|
45
31
|
Requires-Dist: SciencePlots (>=2.1.1)
|
46
|
-
Requires-Dist: Send2Trash (>=1.8.3)
|
47
|
-
Requires-Dist: Wand (>=0.6.13)
|
48
|
-
Requires-Dist: Werkzeug (>=3.0.3)
|
49
32
|
Requires-Dist: XlsxWriter (>=3.2.0)
|
50
|
-
Requires-Dist: absl-py (>=2.1.0)
|
51
|
-
Requires-Dist: ae-ffmpeg (>=1.2.0)
|
52
|
-
Requires-Dist: affine (>=2.4.0)
|
53
|
-
Requires-Dist: altgraph (>=0.17.4)
|
54
|
-
Requires-Dist: annotated-types (>=0.7.0)
|
55
|
-
Requires-Dist: anyio (>=4.4.0)
|
56
|
-
Requires-Dist: appnope (>=0.1.4)
|
57
|
-
Requires-Dist: argon2-cffi (>=23.1.0)
|
58
|
-
Requires-Dist: argon2-cffi-bindings (>=21.2.0)
|
59
|
-
Requires-Dist: arrow (>=1.3.0)
|
60
33
|
Requires-Dist: asciitree (>=0.3.3)
|
61
|
-
Requires-Dist: astor (>=0.8.1)
|
62
34
|
Requires-Dist: asttokens (>=2.4.1)
|
63
|
-
Requires-Dist: astunparse (>=1.6.3)
|
64
|
-
Requires-Dist: async-lru (>=2.0.4)
|
65
35
|
Requires-Dist: attrs (>=23.2.0)
|
66
|
-
Requires-Dist: auto-editor (>=24.24.1)
|
67
|
-
Requires-Dist: bcrypt (>=4.2.0)
|
68
36
|
Requires-Dist: beautifulsoup4 (>=4.12.3)
|
69
|
-
Requires-Dist: binaryornot (>=0.4.4)
|
70
|
-
Requires-Dist: black (>=21.12b0)
|
71
|
-
Requires-Dist: blackcellmagic (>=0.0.3)
|
72
37
|
Requires-Dist: bleach (>=6.1.0)
|
73
|
-
Requires-Dist:
|
74
|
-
Requires-Dist: blis (>=0.7.11)
|
75
|
-
Requires-Dist: bokeh (>=3.4.3)
|
76
|
-
Requires-Dist: branca (>=0.7.2)
|
77
|
-
Requires-Dist: briefcase (>=0.3.19)
|
78
|
-
Requires-Dist: bs4 (>=0.0.2)
|
79
|
-
Requires-Dist: build (>=1.2.1)
|
80
|
-
Requires-Dist: cairocffi (>=1.7.0)
|
81
|
-
Requires-Dist: catalogue (>=2.0.10)
|
38
|
+
Requires-Dist: build (>=0.10.0)
|
82
39
|
Requires-Dist: certifi (>=2024.6.2)
|
83
40
|
Requires-Dist: cffi (>=1.16.0)
|
84
41
|
Requires-Dist: chardet (>=3.0.4)
|
85
42
|
Requires-Dist: charset-normalizer (>=3.3.2)
|
86
43
|
Requires-Dist: cleo (>=2.1.0)
|
87
44
|
Requires-Dist: click (>=8.1.7)
|
88
|
-
Requires-Dist: click-plugins (>=1.1.1)
|
89
|
-
Requires-Dist: cligj (>=0.7.2)
|
90
|
-
Requires-Dist: cloudpathlib (>=0.18.1)
|
91
45
|
Requires-Dist: cloudpickle (>=3.0.0)
|
92
46
|
Requires-Dist: colorcet (>=3.1.0)
|
93
47
|
Requires-Dist: coloredlogs (>=15.0.1)
|
94
48
|
Requires-Dist: comm (>=0.2.2)
|
95
|
-
Requires-Dist: confection (>=0.1.5)
|
96
|
-
Requires-Dist: contextily (>=1.6.1)
|
97
49
|
Requires-Dist: contourpy (>=1.2.1)
|
98
|
-
Requires-Dist: cookiecutter (>=2.6.0)
|
99
50
|
Requires-Dist: coverage (>=7.6.0)
|
100
51
|
Requires-Dist: coveralls (>=4.0.1)
|
101
52
|
Requires-Dist: crashtest (>=0.4.1)
|
102
|
-
Requires-Dist: cryptography (>=43.0.0)
|
103
|
-
Requires-Dist: cssselect2 (>=0.7.0)
|
104
53
|
Requires-Dist: cycler (>=0.12.1)
|
105
|
-
Requires-Dist: cymem (>=2.0.8)
|
106
|
-
Requires-Dist: czifile (>=2019.7.2)
|
107
|
-
Requires-Dist: dash (>=2.17.1)
|
108
|
-
Requires-Dist: dash-core-components (>=2.0.0)
|
109
|
-
Requires-Dist: dash-html-components (>=2.0.0)
|
110
|
-
Requires-Dist: dash-table (>=5.0.0)
|
111
|
-
Requires-Dist: dash-vtk (>=0.0.9)
|
112
|
-
Requires-Dist: dash_daq (>=0.5.0)
|
113
54
|
Requires-Dist: dask (>=2024.7.1)
|
114
|
-
Requires-Dist: db2ls (>=0.1.3)
|
115
55
|
Requires-Dist: debugpy (>=1.8.2)
|
116
56
|
Requires-Dist: decorator (>=5.1.1)
|
117
57
|
Requires-Dist: defusedxml (>=0.7.1)
|
118
58
|
Requires-Dist: distlib (>=0.3.8)
|
119
|
-
Requires-Dist: dmgbuild (>=1.6.2)
|
120
59
|
Requires-Dist: docopt (>=0.6.2)
|
121
60
|
Requires-Dist: docx (>=0.2.4)
|
122
|
-
Requires-Dist: docx2pdf (>=0.1.8)
|
123
|
-
Requires-Dist: ds-store (>=1.3.1)
|
124
|
-
Requires-Dist: duckdb (>=1.0.0)
|
125
|
-
Requires-Dist: duckduckgo_search (>=6.1.12)
|
126
61
|
Requires-Dist: dulwich (>=0.21.7)
|
127
|
-
Requires-Dist: emoji (>=2.12.1)
|
128
|
-
Requires-Dist: et-xmlfile (>=1.1.0)
|
129
62
|
Requires-Dist: executing (>=2.0.1)
|
130
63
|
Requires-Dist: faiss-cpu (>=1.8.0.post1)
|
131
64
|
Requires-Dist: fake-useragent (>=1.5.1)
|
132
65
|
Requires-Dist: fasteners (>=0.19)
|
133
66
|
Requires-Dist: fastjsonschema (>=2.20.0)
|
134
|
-
Requires-Dist: feedparser (>=6.0.11)
|
135
67
|
Requires-Dist: filelock (>=3.15.4)
|
136
|
-
Requires-Dist: fire (>=0.6.0)
|
137
68
|
Requires-Dist: flake8 (>=7.1.0)
|
138
69
|
Requires-Dist: flatbuffers (>=24.3.25)
|
139
|
-
Requires-Dist: folium (>=0.17.0)
|
140
70
|
Requires-Dist: fonttools (>=4.53.1)
|
141
71
|
Requires-Dist: fpdf (>=1.7.2)
|
142
|
-
Requires-Dist: fqdn (>=1.5.1)
|
143
72
|
Requires-Dist: fsspec (>=2024.6.1)
|
144
73
|
Requires-Dist: fuzzywuzzy (>=0.18.0)
|
145
|
-
Requires-Dist: gast (>=0.6.0)
|
146
|
-
Requires-Dist: geographiclib (>=2.0)
|
147
|
-
Requires-Dist: geopandas (>=1.0.1)
|
148
|
-
Requires-Dist: geopy (>=2.4.1)
|
149
74
|
Requires-Dist: ghp-import (>=2.1.0)
|
150
|
-
Requires-Dist: gitdb (>=4.0.11)
|
151
|
-
Requires-Dist: google-pasta (>=0.2.0)
|
152
75
|
Requires-Dist: googletrans (>=4.0.0rc1)
|
153
|
-
Requires-Dist: grpcio (>=1.66.0)
|
154
76
|
Requires-Dist: h11 (>=0.9.0)
|
155
77
|
Requires-Dist: h2 (>=3.2.0)
|
156
78
|
Requires-Dist: h5py (>=3.11.0)
|
157
|
-
Requires-Dist: holoviews (>=1.19.1)
|
158
79
|
Requires-Dist: hpack (>=3.0.0)
|
159
80
|
Requires-Dist: hstspreload (>=2024.7.1)
|
160
81
|
Requires-Dist: httpcore (>=0.9.1)
|
@@ -164,85 +85,45 @@ Requires-Dist: hyperframe (>=5.2.0)
|
|
164
85
|
Requires-Dist: idna (>=2.10)
|
165
86
|
Requires-Dist: imageio (>=2.34.2)
|
166
87
|
Requires-Dist: img2pdf (>=0.5.1)
|
167
|
-
Requires-Dist: imgaug (>=0.4.0)
|
168
|
-
Requires-Dist: importlib_metadata (>=8.2.0)
|
169
|
-
Requires-Dist: inexactsearch (>=1.0.2)
|
170
88
|
Requires-Dist: iniconfig (>=2.0.0)
|
171
89
|
Requires-Dist: installer (>=0.7.0)
|
172
90
|
Requires-Dist: ipykernel (>=6.29.5)
|
173
91
|
Requires-Dist: ipython (>=8.26.0)
|
174
|
-
Requires-Dist: ipywidgets (>=8.1.3)
|
175
|
-
Requires-Dist: isoduration (>=20.11.0)
|
176
|
-
Requires-Dist: itsdangerous (>=2.2.0)
|
177
92
|
Requires-Dist: jedi (>=0.19.1)
|
178
93
|
Requires-Dist: joblib (>=1.4.2)
|
179
|
-
Requires-Dist:
|
180
|
-
Requires-Dist: json5 (>=0.9.25)
|
181
|
-
Requires-Dist: jsonpointer (>=3.0.0)
|
182
|
-
Requires-Dist: jsonschema (>=4.22.0)
|
94
|
+
Requires-Dist: jsonschema (>=4.17.3)
|
183
95
|
Requires-Dist: jsonschema-specifications (>=2023.12.1)
|
184
|
-
Requires-Dist: jupyter (>=1.0.0)
|
185
|
-
Requires-Dist: jupyter-console (>=6.6.3)
|
186
|
-
Requires-Dist: jupyter-events (>=0.10.0)
|
187
|
-
Requires-Dist: jupyter-lsp (>=2.2.5)
|
188
96
|
Requires-Dist: jupyter_client (>=8.6.2)
|
189
97
|
Requires-Dist: jupyter_core (>=5.7.2)
|
190
|
-
Requires-Dist: jupyter_server (>=2.14.2)
|
191
|
-
Requires-Dist: jupyter_server_terminals (>=0.5.3)
|
192
|
-
Requires-Dist: jupyterlab (>=4.2.4)
|
193
98
|
Requires-Dist: jupyterlab_pygments (>=0.3.0)
|
194
|
-
Requires-Dist:
|
195
|
-
Requires-Dist: jupyterlab_widgets (>=3.0.11)
|
196
|
-
Requires-Dist: keras (>=3.5.0)
|
99
|
+
Requires-Dist: keyring (>=24.3.1)
|
197
100
|
Requires-Dist: kiwisolver (>=1.4.5)
|
198
|
-
Requires-Dist: langcodes (>=3.4.0)
|
199
101
|
Requires-Dist: langdetect (>=1.0.9)
|
200
|
-
Requires-Dist: language_data (>=1.2.0)
|
201
102
|
Requires-Dist: lazy_loader (>=0.4)
|
202
|
-
Requires-Dist: libclang (>=18.1.1)
|
203
103
|
Requires-Dist: libretranslatepy (>=2.1.1)
|
204
|
-
Requires-Dist: linkify-it-py (>=2.0.3)
|
205
104
|
Requires-Dist: llvmlite (>=0.42.0)
|
206
|
-
Requires-Dist: lmdb (>=1.5.1)
|
207
105
|
Requires-Dist: locket (>=1.0.0)
|
208
106
|
Requires-Dist: lxml (>=4.9.4)
|
209
|
-
Requires-Dist: mac-alias (>=2.2.2)
|
210
|
-
Requires-Dist: macholib (>=1.16.3)
|
211
|
-
Requires-Dist: marisa-trie (>=1.2.0)
|
212
|
-
Requires-Dist: markdown-it-py (>=3.0.0)
|
213
107
|
Requires-Dist: matplotlib (>=3.9.1)
|
214
108
|
Requires-Dist: matplotlib-inline (>=0.1.7)
|
215
109
|
Requires-Dist: mccabe (>=0.7.0)
|
216
|
-
Requires-Dist: mdit-py-plugins (>=0.4.1)
|
217
|
-
Requires-Dist: mdurl (>=0.1.2)
|
218
110
|
Requires-Dist: memory-profiler (>=0.61.0)
|
219
|
-
Requires-Dist: mercantile (>=1.2.1)
|
220
111
|
Requires-Dist: mergedeep (>=1.3.4)
|
221
112
|
Requires-Dist: mistune (>=3.0.2)
|
222
113
|
Requires-Dist: mkdocs (>=1.6.0)
|
223
114
|
Requires-Dist: mkdocs-get-deps (>=0.2.0)
|
224
|
-
Requires-Dist: ml-dtypes (>=0.4.0)
|
225
115
|
Requires-Dist: mne (>=1.7.1)
|
226
|
-
Requires-Dist: modulegraph (>=0.19.6)
|
227
116
|
Requires-Dist: more-itertools (>=10.3.0)
|
228
117
|
Requires-Dist: mpmath (>=1.3.0)
|
229
118
|
Requires-Dist: msgpack (>=1.0.8)
|
230
119
|
Requires-Dist: mtscomp (>=1.0.2)
|
231
|
-
Requires-Dist: multipledispatch (>=1.0.0)
|
232
|
-
Requires-Dist: murmurhash (>=1.0.10)
|
233
|
-
Requires-Dist: mypy-extensions (>=1.0.0)
|
234
|
-
Requires-Dist: namex (>=0.0.8)
|
235
|
-
Requires-Dist: natsort (>=8.4.0)
|
236
120
|
Requires-Dist: nbclient (>=0.10.0)
|
237
121
|
Requires-Dist: nbconvert (>=7.16.4)
|
238
122
|
Requires-Dist: nbformat (>=5.10.4)
|
239
123
|
Requires-Dist: neo (>=0.13.1)
|
240
124
|
Requires-Dist: nest-asyncio (>=1.6.0)
|
241
125
|
Requires-Dist: networkx (>=3.3)
|
242
|
-
Requires-Dist: ninja (>=1.11.1.1)
|
243
126
|
Requires-Dist: nltk (>=3.8.1)
|
244
|
-
Requires-Dist: notebook (>=7.2.1)
|
245
|
-
Requires-Dist: notebook_shim (>=0.2.4)
|
246
127
|
Requires-Dist: numba (>=0.59.1)
|
247
128
|
Requires-Dist: numcodecs (>=0.13.0)
|
248
129
|
Requires-Dist: numerizer (>=0.2.3)
|
@@ -251,204 +132,104 @@ Requires-Dist: onnxruntime (>=1.18.1)
|
|
251
132
|
Requires-Dist: opencv-contrib-python (>=4.10.0.84)
|
252
133
|
Requires-Dist: opencv-python (>=4.10.0.84)
|
253
134
|
Requires-Dist: opencv-python-headless (>=4.10.0.84)
|
254
|
-
Requires-Dist: openpyxl (>=3.1.5)
|
255
|
-
Requires-Dist: opt-einsum (>=3.3.0)
|
256
|
-
Requires-Dist: optree (>=0.12.1)
|
257
|
-
Requires-Dist: orjson (>=3.10.6)
|
258
135
|
Requires-Dist: outcome (>=1.3.0.post0)
|
259
|
-
Requires-Dist: overrides (>=7.7.0)
|
260
136
|
Requires-Dist: packaging (>=24.1)
|
261
|
-
Requires-Dist: paddleocr (>=2.8.1)
|
262
|
-
Requires-Dist: paddlepaddle (>=2.6.2)
|
263
137
|
Requires-Dist: pandas (>=2.2.2)
|
264
138
|
Requires-Dist: pandas-flavor (>=0.6.0)
|
265
139
|
Requires-Dist: pandocfilters (>=1.5.1)
|
266
|
-
Requires-Dist: panel (>=1.4.5)
|
267
|
-
Requires-Dist: param (>=2.1.1)
|
268
|
-
Requires-Dist: paramiko (>=3.4.1)
|
269
140
|
Requires-Dist: parso (>=0.8.4)
|
270
141
|
Requires-Dist: partd (>=1.4.2)
|
271
142
|
Requires-Dist: pathspec (>=0.12.1)
|
272
143
|
Requires-Dist: patsy (>=0.5.6)
|
273
144
|
Requires-Dist: pdf2image (>=1.17.0)
|
274
145
|
Requires-Dist: pdf2img (>=0.1.2)
|
275
|
-
Requires-Dist: pdfminer (>=20191125)
|
276
146
|
Requires-Dist: pexpect (>=4.9.0)
|
277
147
|
Requires-Dist: phylib (>=2.6.0)
|
278
148
|
Requires-Dist: pikepdf (>=9.1.0)
|
279
149
|
Requires-Dist: pillow (>=10.4.0)
|
280
150
|
Requires-Dist: pingouin (>=0.5.4)
|
281
151
|
Requires-Dist: pkginfo (>=1.11.1)
|
282
|
-
Requires-Dist: pkuseg (>=0.0.25)
|
283
152
|
Requires-Dist: platformdirs (>=3.11.0)
|
284
153
|
Requires-Dist: plotly (>=5.23.0)
|
285
154
|
Requires-Dist: pluggy (>=1.5.0)
|
286
|
-
Requires-Dist: poetry (>=1.7.0)
|
287
|
-
Requires-Dist: poetry-core (>=1.8.1)
|
288
|
-
Requires-Dist: poetry-plugin-export (>=1.6.0)
|
289
|
-
Requires-Dist: polars (>=0.20.31)
|
290
155
|
Requires-Dist: pooch (>=1.8.2)
|
291
|
-
Requires-Dist: preshed (>=3.0.9)
|
292
156
|
Requires-Dist: probeinterface (>=0.2.23)
|
293
|
-
Requires-Dist: prometheus_client (>=0.20.0)
|
294
157
|
Requires-Dist: prompt_toolkit (>=3.0.47)
|
295
|
-
Requires-Dist: protobuf (>=5.27.
|
158
|
+
Requires-Dist: protobuf (>=5.27.2)
|
296
159
|
Requires-Dist: psutil (>=5.9.8)
|
297
160
|
Requires-Dist: ptyprocess (>=0.7.0)
|
298
161
|
Requires-Dist: pure_eval (>=0.2.3)
|
299
|
-
Requires-Dist: py2app (>=0.28.8)
|
300
|
-
Requires-Dist: py4j (>=0.10.9.7)
|
301
|
-
Requires-Dist: pyarrow (>=16.1.0)
|
302
|
-
Requires-Dist: pyav (>=12.1.0)
|
303
|
-
Requires-Dist: pycairo (>=1.26.0)
|
304
|
-
Requires-Dist: pyclipper (>=1.3.0.post5)
|
305
162
|
Requires-Dist: pycodestyle (>=2.12.0)
|
306
163
|
Requires-Dist: pycparser (>=2.22)
|
307
|
-
Requires-Dist: pycryptodome (>=3.20.0)
|
308
|
-
Requires-Dist: pydantic (>=2.8.2)
|
309
|
-
Requires-Dist: pydantic_core (>=2.20.1)
|
310
164
|
Requires-Dist: pyflakes (>=3.2.0)
|
311
|
-
Requires-Dist: pyjanitor (>=0.27.0)
|
312
|
-
Requires-Dist: pynput (>=1.7.7)
|
313
|
-
Requires-Dist: pyobjc-core (>=10.3.1)
|
314
|
-
Requires-Dist: pyobjc-framework-Cocoa (>=10.3.1)
|
315
|
-
Requires-Dist: pyobjc-framework-CoreText (>=10.3.1)
|
316
|
-
Requires-Dist: pyobjc-framework-Quartz (>=10.3.1)
|
317
|
-
Requires-Dist: pyocr (>=0.8.5)
|
318
|
-
Requires-Dist: pyogrio (>=0.9.0)
|
319
|
-
Requires-Dist: pypandoc (>=1.13)
|
320
165
|
Requires-Dist: pyparsing (>=3.1.2)
|
321
|
-
Requires-Dist: pyperclip (>=1.9.0)
|
322
|
-
Requires-Dist: pyproj (>=3.6.1)
|
323
166
|
Requires-Dist: pyproject_hooks (>=1.1.0)
|
324
|
-
Requires-Dist: pyreqwest_impersonate (>=0.4.9)
|
325
167
|
Requires-Dist: pyrsistent (>=0.20.0)
|
326
|
-
Requires-Dist:
|
327
|
-
Requires-Dist: pytesseract (>=0.3.13)
|
328
|
-
Requires-Dist: pytest (>=8.3.3)
|
168
|
+
Requires-Dist: pytest (>=8.3.1)
|
329
169
|
Requires-Dist: pytest-cov (>=5.0.0)
|
330
170
|
Requires-Dist: pytest-qt (>=4.4.0)
|
331
|
-
Requires-Dist: python-Levenshtein (>=0.25.1)
|
332
|
-
Requires-Dist: python-bidi (>=0.5.1)
|
333
171
|
Requires-Dist: python-box (>=7.2.0)
|
334
172
|
Requires-Dist: python-dateutil (>=2.9.0.post0)
|
335
173
|
Requires-Dist: python-docx (>=1.1.2)
|
336
174
|
Requires-Dist: python-dotenv (>=1.0.1)
|
337
|
-
Requires-Dist: python-json-logger (>=2.0.7)
|
338
175
|
Requires-Dist: python-pptx (>=0.6.23)
|
339
|
-
Requires-Dist: python-slugify (>=8.0.4)
|
340
|
-
Requires-Dist: pytweening (>=1.2.0)
|
341
176
|
Requires-Dist: pytz (>=2024.1)
|
342
|
-
Requires-Dist: pyviz_comms (>=3.0.3)
|
343
177
|
Requires-Dist: pyyaml_env_tag (>=0.1)
|
344
178
|
Requires-Dist: pyzmq (>=26.0.3)
|
345
179
|
Requires-Dist: qtconsole (>=5.5.2)
|
346
180
|
Requires-Dist: quantities (>=0.15.0)
|
347
181
|
Requires-Dist: rapidfuzz (>=3.9.5)
|
348
|
-
Requires-Dist: rasterio (>=1.3.10)
|
349
182
|
Requires-Dist: referencing (>=0.35.1)
|
350
183
|
Requires-Dist: regex (>=2024.5.15)
|
351
184
|
Requires-Dist: rembg (>=2.0.57)
|
352
|
-
Requires-Dist: reportlab (>=4.2.0)
|
353
185
|
Requires-Dist: requests (>=2.32.3)
|
354
186
|
Requires-Dist: requests-toolbelt (>=1.0.0)
|
355
187
|
Requires-Dist: responses (>=0.25.3)
|
356
|
-
Requires-Dist: retrying (>=1.3.4)
|
357
|
-
Requires-Dist: rfc3339-validator (>=0.1.4)
|
358
188
|
Requires-Dist: rfc3986 (>=1.5.0)
|
359
|
-
Requires-Dist: rfc3986-validator (>=0.1.1)
|
360
|
-
Requires-Dist: rich (>=13.7.1)
|
361
|
-
Requires-Dist: ridgeplot (>=0.1.25)
|
362
189
|
Requires-Dist: rpds-py (>=0.18.1)
|
363
|
-
Requires-Dist:
|
364
|
-
Requires-Dist: schedule (>=1.2.2)
|
365
|
-
Requires-Dist: scikit-image (>=0.24.0)
|
190
|
+
Requires-Dist: scikit-image (>=0.23.2)
|
366
191
|
Requires-Dist: scikit-learn (>=1.5.1)
|
192
|
+
Requires-Dist: scipy (>=1.14.0)
|
367
193
|
Requires-Dist: seaborn (>=0.13.2)
|
368
|
-
Requires-Dist: selenium (>=4.
|
369
|
-
Requires-Dist: setuptools (>=
|
370
|
-
Requires-Dist: sgmllib3k (>=1.0.0)
|
371
|
-
Requires-Dist: shapely (>=2.0.5)
|
194
|
+
Requires-Dist: selenium (>=4.23.1)
|
195
|
+
Requires-Dist: setuptools (>=70.3.0)
|
372
196
|
Requires-Dist: shellingham (>=1.5.4)
|
373
|
-
Requires-Dist: silpa_common (>=0.3)
|
374
197
|
Requires-Dist: six (>=1.16.0)
|
375
|
-
Requires-Dist: skimpy (>=0.0.15)
|
376
|
-
Requires-Dist: smart-open (>=7.0.4)
|
377
|
-
Requires-Dist: smmap (>=5.0.1)
|
378
198
|
Requires-Dist: sniffio (>=1.3.1)
|
379
|
-
Requires-Dist: snuggs (>=1.4.7)
|
380
199
|
Requires-Dist: sortedcontainers (>=2.4.0)
|
381
|
-
Requires-Dist: soundex (>=1.1.3)
|
382
200
|
Requires-Dist: soupsieve (>=2.5)
|
383
|
-
Requires-Dist: spacy (>=3.7.5)
|
384
|
-
Requires-Dist: spacy-legacy (>=3.0.12)
|
385
|
-
Requires-Dist: spacy-loggers (>=1.0.5)
|
386
|
-
Requires-Dist: spellchecker (>=0.4)
|
387
|
-
Requires-Dist: spikeinterface (>=0.100.7)
|
388
|
-
Requires-Dist: srsly (>=2.4.8)
|
389
201
|
Requires-Dist: stack-data (>=0.6.3)
|
390
|
-
Requires-Dist: stanza (>=1.8.2)
|
391
202
|
Requires-Dist: statsmodels (>=0.14.2)
|
392
|
-
Requires-Dist: std-nslog (>=1.0.3)
|
393
203
|
Requires-Dist: stem (>=1.8.2)
|
394
|
-
Requires-Dist: svglib (>=1.5.1)
|
395
204
|
Requires-Dist: sympy (>=1.13.1)
|
396
205
|
Requires-Dist: tabulate (>=0.9.0)
|
397
206
|
Requires-Dist: tenacity (>=8.5.0)
|
398
|
-
Requires-Dist: tensorboard (>=2.17.1)
|
399
|
-
Requires-Dist: tensorboard-data-server (>=0.7.2)
|
400
|
-
Requires-Dist: tensorflow (>=2.17.0)
|
401
|
-
Requires-Dist: termcolor (>=2.4.0)
|
402
|
-
Requires-Dist: terminado (>=0.18.1)
|
403
|
-
Requires-Dist: text-unidecode (>=1.3)
|
404
|
-
Requires-Dist: thinc (>=8.2.5)
|
405
207
|
Requires-Dist: threadpoolctl (>=3.5.0)
|
406
208
|
Requires-Dist: tifffile (>=2024.7.24)
|
407
209
|
Requires-Dist: tinycss2 (>=1.3.0)
|
408
|
-
Requires-Dist: toga-cocoa (>=0.4.6)
|
409
|
-
Requires-Dist: toga-core (>=0.4.6)
|
410
|
-
Requires-Dist: toml (>=0.10.2)
|
411
|
-
Requires-Dist: tomli (>=1.2.3)
|
412
|
-
Requires-Dist: tomli_w (>=1.0.0)
|
413
210
|
Requires-Dist: tomlkit (>=0.13.0)
|
414
211
|
Requires-Dist: toolz (>=0.12.1)
|
415
212
|
Requires-Dist: torch (>=2.4.0)
|
416
|
-
Requires-Dist: torchvision (>=0.19.0)
|
417
213
|
Requires-Dist: tornado (>=6.4.1)
|
418
214
|
Requires-Dist: tqdm (>=4.66.4)
|
419
215
|
Requires-Dist: traitlets (>=5.14.3)
|
420
216
|
Requires-Dist: translate (>=3.6.1)
|
421
|
-
Requires-Dist: travertino (>=0.3.0)
|
422
217
|
Requires-Dist: trio (>=0.25.1)
|
423
218
|
Requires-Dist: trio-websocket (>=0.11.1)
|
424
219
|
Requires-Dist: trove-classifiers (>=2024.7.2)
|
425
|
-
Requires-Dist: typeguard (>=4.2.1)
|
426
|
-
Requires-Dist: typer (>=0.12.3)
|
427
|
-
Requires-Dist: types-python-dateutil (>=2.9.0.20240316)
|
428
220
|
Requires-Dist: typing_extensions (>=4.12.2)
|
429
221
|
Requires-Dist: tzdata (>=2024.1)
|
430
|
-
Requires-Dist: uc-micro-py (>=1.0.3)
|
431
|
-
Requires-Dist: uri-template (>=1.3.0)
|
432
222
|
Requires-Dist: urllib3 (>=2.2.2)
|
433
223
|
Requires-Dist: virtualenv (>=20.26.3)
|
434
|
-
Requires-Dist: vtk (>=9.3.1)
|
435
|
-
Requires-Dist: wasabi (>=1.1.3)
|
436
224
|
Requires-Dist: watchdog (>=4.0.1)
|
437
225
|
Requires-Dist: wcwidth (>=0.2.13)
|
438
|
-
Requires-Dist:
|
439
|
-
Requires-Dist: webcolors (>=24.6.0)
|
440
|
-
Requires-Dist: webdriver-manager (>=4.0.2)
|
226
|
+
Requires-Dist: webdriver-manager (>=4.0.1)
|
441
227
|
Requires-Dist: webencodings (>=0.5.1)
|
442
228
|
Requires-Dist: websocket-client (>=1.8.0)
|
443
|
-
Requires-Dist: wheel (>=0.44.0)
|
444
|
-
Requires-Dist: widgetsnbextension (>=4.0.11)
|
445
229
|
Requires-Dist: wrapt (>=1.16.0)
|
446
230
|
Requires-Dist: wsproto (>=1.2.0)
|
447
231
|
Requires-Dist: xarray (>=2024.6.0)
|
448
|
-
Requires-Dist: xlrd (>=2.0.1)
|
449
|
-
Requires-Dist: xyzservices (>=2024.6.0)
|
450
232
|
Requires-Dist: zarr (>=2.17.2)
|
451
|
-
Requires-Dist: zipp (>=3.19.2)
|
452
233
|
Description-Content-Type: text/markdown
|
453
234
|
|
454
235
|
# Install
|
@@ -1443,10 +1443,21 @@ def fappend(fpath, content=None):
|
|
1443
1443
|
file.write(content)
|
1444
1444
|
|
1445
1445
|
|
1446
|
+
def filter_kwargs(kws, valid_kwargs):
|
1447
|
+
if isinstance(valid_kwargs, dict):
|
1448
|
+
kwargs_filtered = {
|
1449
|
+
key: value for key, value in kws.items() if key in valid_kwargs.keys()
|
1450
|
+
}
|
1451
|
+
elif isinstance(valid_kwargs, list):
|
1452
|
+
kwargs_filtered = {
|
1453
|
+
key: value for key, value in kws.items() if key in valid_kwargs
|
1454
|
+
}
|
1455
|
+
return kwargs_filtered
|
1456
|
+
|
1457
|
+
|
1446
1458
|
def fsave(
|
1447
1459
|
fpath,
|
1448
1460
|
content,
|
1449
|
-
mode="w",
|
1450
1461
|
how="overwrite",
|
1451
1462
|
kind=None,
|
1452
1463
|
font_name="Times",
|
@@ -1468,7 +1479,7 @@ def fsave(
|
|
1468
1479
|
None
|
1469
1480
|
"""
|
1470
1481
|
|
1471
|
-
def save_content(fpath, content, mode=
|
1482
|
+
def save_content(fpath, content, mode="w", how="overwrite"):
|
1472
1483
|
if "wri" in how.lower():
|
1473
1484
|
with open(fpath, mode, encoding="utf-8") as file:
|
1474
1485
|
file.write(content)
|
@@ -1515,13 +1526,36 @@ def fsave(
|
|
1515
1526
|
pdf.output(fpath, "F")
|
1516
1527
|
|
1517
1528
|
def save_csv(fpath, data, **kwargs):
|
1529
|
+
# https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html
|
1530
|
+
kwargs_csv = dict(
|
1531
|
+
path_or_buf=None,
|
1532
|
+
sep=",",
|
1533
|
+
na_rep="",
|
1534
|
+
float_format=None,
|
1535
|
+
columns=None,
|
1536
|
+
header=True,
|
1537
|
+
index=True,
|
1538
|
+
index_label=None,
|
1539
|
+
mode="w",
|
1540
|
+
encoding=None,
|
1541
|
+
compression="infer",
|
1542
|
+
quoting=None,
|
1543
|
+
quotechar='"',
|
1544
|
+
lineterminator=None,
|
1545
|
+
chunksize=None,
|
1546
|
+
date_format=None,
|
1547
|
+
doublequote=True,
|
1548
|
+
escapechar=None,
|
1549
|
+
decimal=".",
|
1550
|
+
errors="strict",
|
1551
|
+
storage_options=None,
|
1552
|
+
)
|
1553
|
+
kwargs_valid = filter_kwargs(kwargs, kwargs_csv)
|
1518
1554
|
df = pd.DataFrame(data)
|
1519
|
-
df.to_csv(fpath, **
|
1555
|
+
df.to_csv(fpath, **kwargs_valid)
|
1520
1556
|
|
1521
1557
|
def save_xlsx(fpath, data, **kwargs):
|
1522
|
-
|
1523
|
-
if format:
|
1524
|
-
kwargs.pop("format", None)
|
1558
|
+
if any(kwargs):
|
1525
1559
|
format_excel(df=data, filename=fpath, **kwargs)
|
1526
1560
|
else:
|
1527
1561
|
kwargs.pop("format", None)
|
@@ -1618,7 +1652,7 @@ def fsave(
|
|
1618
1652
|
print(
|
1619
1653
|
f"Warning:\n{kind} is not in the supported list ['docx', 'txt', 'md', 'html', 'pdf', 'csv', 'xlsx', 'json', 'xml', 'yaml']"
|
1620
1654
|
)
|
1621
|
-
|
1655
|
+
mode = kwargs.get("mode", "w")
|
1622
1656
|
if kind == "docx" or kind == "doc":
|
1623
1657
|
save_docx(fpath, content, font_name, font_size, spacing)
|
1624
1658
|
elif kind == "txt":
|
@@ -3186,7 +3220,13 @@ def hex2argb(hex_color):
|
|
3186
3220
|
# Otherwise, assume it's in RRGGBB format and prepend FF for opaque
|
3187
3221
|
if len(hex_color) == 6:
|
3188
3222
|
return f"FF{hex_color}"
|
3189
|
-
|
3223
|
+
if len(hex_color) == 7:
|
3224
|
+
return f"F{hex_color}"
|
3225
|
+
else:
|
3226
|
+
if len(hex_color) > 8:
|
3227
|
+
return hex_color[-9:]
|
3228
|
+
else:
|
3229
|
+
return "F" * (9 - len(hex_color)) + hex_color
|
3190
3230
|
raise ValueError(
|
3191
3231
|
"Invalid hex color format. Use RRGGBB, #RRGGBB, or aARRGGBB format."
|
3192
3232
|
)
|
@@ -3540,7 +3580,6 @@ def format_excel(
|
|
3540
3580
|
number_format=None, # dict: e.g., {1:"0.00", 2:"#,##0",3:"0%",4:"$#,##0.00"}
|
3541
3581
|
data_validation=None, # dict
|
3542
3582
|
conditional_format=None, # dict
|
3543
|
-
index_default=False,
|
3544
3583
|
**kwargs,
|
3545
3584
|
):
|
3546
3585
|
if not isinstance(df, pd.DataFrame):
|
@@ -3711,15 +3750,29 @@ format_excel(
|
|
3711
3750
|
print(func_xample)
|
3712
3751
|
return None
|
3713
3752
|
kwargs.pop("format", None) # 更好地跟fsave结合使用
|
3753
|
+
kwargs.pop("sheet_name", None) # 更好地跟df.to_excel结合使用
|
3754
|
+
sheet_name_corr = (
|
3755
|
+
sheet_name if isinstance(sheet_name, str) else f"Sheet_{sheet_name}"
|
3756
|
+
)
|
3714
3757
|
|
3715
|
-
#
|
3716
|
-
|
3717
|
-
|
3718
|
-
|
3719
|
-
|
3758
|
+
# 只有openpyxl才支持 append
|
3759
|
+
mode = strcmp(kwargs.get("mode", "w"), ["a", "w"])[0]
|
3760
|
+
kwargs.pop("mode", None)
|
3761
|
+
engine = strcmp(kwargs.get("engine", "openpyxl"), ["xlsxwriter", "openpyxl"])[0]
|
3762
|
+
# 通常是不需要保存index的
|
3763
|
+
index = kwargs.get("index", False)
|
3764
|
+
kwargs.pop("index", None)
|
3765
|
+
# save file
|
3766
|
+
with pd.ExcelWriter(filename, mode=mode, engine=engine) as writer:
|
3767
|
+
df.to_excel(writer, sheet_name=sheet_name_corr, index=index, **kwargs)
|
3720
3768
|
|
3721
3769
|
wb = load_workbook(filename)
|
3722
|
-
|
3770
|
+
if isinstance(sheet_name, str):
|
3771
|
+
ws = wb[sheet_name]
|
3772
|
+
elif isinstance(sheet_name, int):
|
3773
|
+
ws = wb.worksheets[sheet_name]
|
3774
|
+
else:
|
3775
|
+
ws = wb.worksheets[sheet_name] # the index of worksheets
|
3723
3776
|
|
3724
3777
|
# !Apply cell formatting
|
3725
3778
|
if cell:
|
@@ -3812,7 +3865,9 @@ format_excel(
|
|
3812
3865
|
comment = [comment]
|
3813
3866
|
for comment_ in comment:
|
3814
3867
|
for (row, col), comment_str in comment_.items():
|
3815
|
-
ws.cell(row=row, column=col).comment = Comment(
|
3868
|
+
ws.cell(row=row + 1, column=col + 1).comment = Comment(
|
3869
|
+
comment_str, "Author"
|
3870
|
+
)
|
3816
3871
|
|
3817
3872
|
# !Add link
|
3818
3873
|
if link:
|
@@ -3820,7 +3875,7 @@ format_excel(
|
|
3820
3875
|
link = [link]
|
3821
3876
|
for link_ in link:
|
3822
3877
|
for (row, col), link_str in link_.items():
|
3823
|
-
ws.cell(row=row, column=col).hyperlink = link_str
|
3878
|
+
ws.cell(row=row + 1, column=col + 1).hyperlink = link_str
|
3824
3879
|
|
3825
3880
|
# !Apply data validation
|
3826
3881
|
if data_validation:
|
@@ -582,7 +582,7 @@ def find_links(url, driver="request", booster=False):
|
|
582
582
|
if all(exclusion not in link_href for exclusion in cond_ex):
|
583
583
|
links_href.append(link_href)
|
584
584
|
|
585
|
-
unique_links =
|
585
|
+
unique_links = ips.unique(links_href) # Remove duplicates
|
586
586
|
|
587
587
|
if booster:
|
588
588
|
for link in unique_links:
|
@@ -590,7 +590,7 @@ def find_links(url, driver="request", booster=False):
|
|
590
590
|
sub_links = find_links(link, driver=driver, booster=False)
|
591
591
|
if sub_links:
|
592
592
|
links_href.extend(sub_links)
|
593
|
-
links_href =
|
593
|
+
links_href = ips.unique(links_href) # Remove duplicates again
|
594
594
|
|
595
595
|
return links_href
|
596
596
|
|