# Binary fuzzy matching in all file types [fzf (pre-filter)/rapidfuzz (finds the best result)]
### Tested against Windows 10 / Python 3.10 / Anaconda
#### pip install fuzzyfiles
Download FZF: https://github.com/junegunn/fzf
PIP Install: https://github.com/maxbachmann/RapidFuzz
(Visual C++ 2019 redistributable is required)
```python
# IMPORTANT: The script must be inside a py file, it does not work directly from the console!
from list_all_files_recursively import get_folder_file_complete_path
from fuzzyfiles import fuzzy_file_search
fzf_path = r"C:\fzf.exe"
querylist = [
"Es war einmal",
"Was machst du?",
"Wir müssen hierbleiben!",
"Er kaufte ein Haus",
]
files = [x.path for x in get_folder_file_complete_path(r"E:\meinebuecher")]
df = fuzzy_file_search(
querylist,
files,
fzf_path,
fzfargs=("-i",),
shell=False,
close_fds=False,
start_new_session=True,
bufsize=8192 * 10,
invisible=True,
timeout=60,
max_threads=None,
timeout_check_sleep=3,
kill_all_at_end=True,
blockbatch=False,
)
print(files)
print(df.to_string(max_colwidth=40))
# ['E:\\\\meinebuecher\\\\Adorf_Mario_Der_Dieb_von_Trastevere_Geschichten_aus_Italien1.txt', 'E:\\\\meinebuecher\\\\Adorf_Mario_Der_Dieb_von_Trastevere_Geschichten_aus_Italien10000000.pkl', 'E:\\\\meinebuecher\\\\Adorf_Mario_Der_Mäusetöter_Unrühmliche_Geschichten1.txt', 'E:\\\\meinebuecher\\\\Adorf_Mario_Himmel_und_Erde_Unordentliche_Erinnerungen.txt', 'E:\\\\meinebuecher\\\\Ad_Daula_al_Islxmxya_Todenhöfer_Jxrgen_Inside_IS_10_Tage_im_Islamischen_Staat_.txt', 'E:\\\\meinebuecher\\\\Allan_Pease_Barbara_Pease_Warum_Manner_nicht_zuhoren_und_Frauen_schlecht_einparken.pdf', 'E:\\\\meinebuecher\\\\Andreas_Eschbach_Eine_Trillion_Euro.pdf', 'E:\\\\meinebuecher\\\\Andreas_Meier_Henrik_Stormer_eBusiness_eCommerce_Management_der_digitalen_Wertschöpfungskette_1Auflage.pdf', 'E:\\\\meinebuecher\\\\Arthur_Hailey_Hotel.pdf']
# searchbinsplit score searchbin match_detail filepath match src_start src_end dest_start dest_end searchstring stderr returncode
# 0 b'Was machst du?' 71.428571 b'Was machst du?' b'\\\\xbbWas hast du d' E:\meinebuecher\Adorf_Mario_Der_Dieb... b'Sam packte seinen Koffer, ging dan... 4222 4236 0 14 Was machst du? b'' 0
# 1 b'Wir m\\\\xc3\\\\xbcssen hierbleiben!' 70.833333 b'Wir m\\\\xc3\\\\xbcssen hierbleiben!' b'r. Wir m\\\\xc3\\\\xbcssen leider no' E:\meinebuecher\Adorf_Mario_Der_Dieb... b'Enrico war in Florenz geblieben, u... 17192 17216 0 24 Wir müssen hierbleiben! b'' 0
# 2 b'Es war einmal' 76.923077 b'Es war einmal' b'\\\\x00Es war eine ' E:\meinebuecher\Adorf_Mario_Der_Dieb... b'\\\\xc2\\\\xbbWieso k\\\\xc3\\\\xb6nnen Sie be... 131842 131855 0 13 Es war einmal b'' 0
# 3 b'Er kaufte ein Haus' 72.222222 b'Er kaufte ein Haus' b'hler hat kein Haus' E:\meinebuecher\Adorf_Mario_Der_Dieb... b'Eines Nachts h\\\\xc3\\\\xb6rte ich ein ... 5351 5369 0 18 Er kaufte ein Haus b'' 0
# 4 b'Was machst du?' 42.857143 b'Was machst du?' b"anders', 'Nach" E:\meinebuecher\Adorf_Mario_Der_Dieb... b'Filmfestsp\\\\xc3\\\\xb6\\\\xc3\\\\xaeIele\\\\xc3... 23968 23982 0 14 Was machst du? b'' 0
# 5 b'Wir m\\\\xc3\\\\xbcssen hierbleiben!' 54.166667 b'Wir m\\\\xc3\\\\xbcssen hierbleiben!' b'gisseur von Diebe haben\\\\xc3' E:\meinebuecher\Adorf_Mario_Der_Dieb... b'Ndherberge\\\\xc3\\\\xb6\\\\xc3\\\\xa7\\\\xc3\\\\xb6... 7513 7537 0 24 Wir müssen hierbleiben! b'' 0
# 6 b'Es war einmal' 76.923077 b'Es war einmal' b's waren damal' E:\meinebuecher\Adorf_Mario_Der_Dieb... b'/./&/ \\\\xc3\\\\xb6hjM\\\\xc2\\\\xa4\\\\xc5\\\\xaf\... 2883 2896 0 13 Es war einmal b'' 0
# 7 b'Er kaufte ein Haus' 61.111111 b'Er kaufte ein Haus' b'raf ich auf ein ga' E:\meinebuecher\Adorf_Mario_Der_Dieb... b'/./&/ \\\\xc3\\\\xb6hjM\\\\xc2\\\\xa4\\\\xc5\\\\xaf\... 5835 5853 0 18 Er kaufte ein Haus b'' 0
# 8 b'Was machst du?' 71.428571 b'Was machst du?' b'l brauchst du?' E:\meinebuecher\Adorf_Mario_Der_Mäus... b'In jenen Tagen war meine Miete \\\\xc... 1398 1412 0 14 Was machst du? b'' 0
# 9 b'Wir m\\\\xc3\\\\xbcssen hierbleiben!' 62.500000 b'Wir m\\\\xc3\\\\xbcssen hierbleiben!' b'inute hierbleiben \\\\xe2\\\\x80\\\\xa6!\\\\xc... E:\meinebuecher\Adorf_Mario_Der_Mäus... b'Bis weit in den achten Monat hinei... 1476 1500 0 24 Wir müssen hierbleiben! b'' 0
# 10 b'Es war einmal' 76.923077 b'Es war einmal' b' wir einmal e' E:\meinebuecher\Adorf_Mario_Der_Mäus... b'Und es folgte unweigerlich eine br... 60416 60429 0 13 Es war einmal b'' 0
# 11 b'Er kaufte ein Haus' 72.222222 b'Er kaufte ein Haus' b' Er hatte in Hambu' E:\meinebuecher\Adorf_Mario_Der_Mäus... b'Zwei Monate sp\\\\xc3\\\\xa4ter war er t... 87656 87674 0 18 Er kaufte ein Haus b'' 0
# 12 b'Was machst du?' 92.857143 b'Was machst du?' b'\\\\xbbWas machst du' E:\meinebuecher\Adorf_Mario_Himmel_u... b"Mein Freund Peter Berling rief mic... 41 55 0 14 Was machst du? b'' 0
# 13 b'Wir m\\\\xc3\\\\xbcssen hierbleiben!' 62.500000 b'Wir m\\\\xc3\\\\xbcssen hierbleiben!' b'e m\\\\xc3\\\\xbcssen mir nun zeigen' E:\meinebuecher\Adorf_Mario_Himmel_u... b"Der franz\\\\xc3\\\\xb6sische Regisseur ... 42156 42180 0 24 Wir müssen hierbleiben! b'' 0
# 14 b'Es war einmal' 92.307692 b'Es war einmal' b'Es war ein al' E:\meinebuecher\Adorf_Mario_Himmel_u... b"Ich wachte auf, als das Telefon l\... 120432 120445 0 13 Es war einmal b'' 0
# 15 b'Er kaufte ein Haus' 72.222222 b'Er kaufte ein Haus' b'ur auf meine Hands' E:\meinebuecher\Adorf_Mario_Himmel_u... b"Wodka konnte man auch ganz legal i... 260770 260788 0 18 Er kaufte ein Haus b'' 0
Args:
querylist (list): List of queries to search for.
Token Match type Description
sbtrkt fuzzy-match Items that match sbtrkt
'wild exact-match (quoted) Items that include wild
^music prefix-exact-match Items that start with music
.mp3$ suffix-exact-match Items that end with .mp3
!fire inverse-exact-match Items that do not include fire
!^music inverse-prefix-exact-match Items that do not start with music
!.mp3$ inverse-suffix-exact-match Items that do not end with .mp3
A single bar character term acts as an OR operator. For example, the following query matches entries that
start with core and end with either go, rb, or py.
^core go$ | rb$ | py$
VERY IMPORTANT: ---- SPACE BEFORE and AFTER the single bar character term
More information here: https://github.com/junegunn/fzf
files (str | list | tuple): Path(s) to file(s) to search in.
fzf_path (str, optional): Path to the fzf executable. Defaults to "fzf.exe".
fzfargs (tuple, optional): Additional arguments to pass to fzf. Defaults to ("-i",).
shell (bool, optional): Whether to use a shell to execute the command. Defaults to False.
close_fds (bool, optional): Whether to close file descriptors. Defaults to False.
start_new_session (bool, optional): Whether to start a new session. Defaults to True.
bufsize (int, optional): Buffer size. Defaults to 8192 * 4.
invisible (bool, optional): Whether to run the command invisibly (no window). Defaults to True.
timeout (int, optional): Timeout in seconds. Defaults to 60.
max_threads (int | None, optional): Maximum number of threads to use. Defaults to None (number of CPUs).
timeout_check_sleep (int | float, optional): Time to sleep between timeout checks. Defaults to 3.
kill_all_at_end (bool, optional): Whether to kill all not finished processes at the end. Defaults to True.
blockbatch (bool, optional): Whether to block batch processing. Defaults to False.
Returns:
pd.DataFrame: A dataframe containing the search results.
```
Raw data
{
"_id": null,
"home_page": "https://github.com/hansalemaos/fuzzyfiles",
"name": "fuzzyfiles",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "fuzzy,matching,fuzzywuzzy,rapidfuzz,fzf",
"author": "Johannes Fischer",
"author_email": "aulasparticularesdealemaosp@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/cf/3e/31c965b999d14722bfa4867cc7d4d4a9313ea720ebc7e790e228c707770a/fuzzyfiles-0.11.tar.gz",
"platform": null,
"description": "# Binary fuzzy matching in all file types [fzf (pre-filter)/rapidfuzz (finds the best result)]\r\n\r\n### Tested against Windows 10 / Python 3.10 / Anaconda\r\n\r\n\r\n#### pip install fuzzyfiles\r\n\r\n\r\n\r\nDownload FZF: https://github.com/junegunn/fzf \r\n\r\nPIP Install: https://github.com/maxbachmann/RapidFuzz\r\n(Visual C++ 2019 redistributable is required)\r\n\r\n\r\n```python\r\n\r\n# IMPORTANT: \tThe script must be inside a py file, it does not work directly from the console!\r\n\r\nfrom list_all_files_recursively import get_folder_file_complete_path\r\nfrom fuzzyfiles import fuzzy_file_search\r\n\r\nfzf_path = r\"C:\\fzf.exe\"\r\nquerylist = [\r\n \"Es war einmal\",\r\n \"Was machst du?\",\r\n \"Wir m\u00c3\u00bcssen hierbleiben!\",\r\n \"Er kaufte ein Haus\",\r\n]\r\n\r\nfiles = [x.path for x in get_folder_file_complete_path(r\"E:\\meinebuecher\")]\r\ndf = fuzzy_file_search(\r\n querylist,\r\n files,\r\n fzf_path,\r\n fzfargs=(\"-i\",),\r\n shell=False,\r\n close_fds=False,\r\n start_new_session=True,\r\n bufsize=8192 * 10,\r\n invisible=True,\r\n timeout=60,\r\n max_threads=None,\r\n timeout_check_sleep=3,\r\n kill_all_at_end=True,\r\n blockbatch=False,\r\n)\r\n\r\nprint(files)\r\n\r\nprint(df.to_string(max_colwidth=40))\r\n\r\n\r\n# ['E:\\\\\\\\meinebuecher\\\\\\\\Adorf_Mario_Der_Dieb_von_Trastevere_Geschichten_aus_Italien1.txt', 'E:\\\\\\\\meinebuecher\\\\\\\\Adorf_Mario_Der_Dieb_von_Trastevere_Geschichten_aus_Italien10000000.pkl', 'E:\\\\\\\\meinebuecher\\\\\\\\Adorf_Mario_Der_M\u00c3\u00a4uset\u00c3\u00b6ter_Unr\u00c3\u00bchmliche_Geschichten1.txt', 'E:\\\\\\\\meinebuecher\\\\\\\\Adorf_Mario_Himmel_und_Erde_Unordentliche_Erinnerungen.txt', 'E:\\\\\\\\meinebuecher\\\\\\\\Ad_Daula_al_Islxmxya_Todenh\u00c3\u00b6fer_Jxrgen_Inside_IS_10_Tage_im_Islamischen_Staat_.txt', 'E:\\\\\\\\meinebuecher\\\\\\\\Allan_Pease_Barbara_Pease_Warum_Manner_nicht_zuhoren_und_Frauen_schlecht_einparken.pdf', 'E:\\\\\\\\meinebuecher\\\\\\\\Andreas_Eschbach_Eine_Trillion_Euro.pdf', 'E:\\\\\\\\meinebuecher\\\\\\\\Andreas_Meier_Henrik_Stormer_eBusiness_eCommerce_Management_der_digitalen_Wertsch\u00c3\u00b6pfungskette_1Auflage.pdf', 'E:\\\\\\\\meinebuecher\\\\\\\\Arthur_Hailey_Hotel.pdf']\r\n# searchbinsplit score searchbin match_detail filepath match src_start src_end dest_start dest_end searchstring stderr returncode\r\n# 0 b'Was machst du?' 71.428571 b'Was machst du?' b'\\\\\\\\xbbWas hast du d' E:\\meinebuecher\\Adorf_Mario_Der_Dieb... b'Sam packte seinen Koffer, ging dan... 4222 4236 0 14 Was machst du? b'' 0\r\n# 1 b'Wir m\\\\\\\\xc3\\\\\\\\xbcssen hierbleiben!' 70.833333 b'Wir m\\\\\\\\xc3\\\\\\\\xbcssen hierbleiben!' b'r. Wir m\\\\\\\\xc3\\\\\\\\xbcssen leider no' E:\\meinebuecher\\Adorf_Mario_Der_Dieb... b'Enrico war in Florenz geblieben, u... 17192 17216 0 24 Wir m\u00c3\u00bcssen hierbleiben! b'' 0\r\n# 2 b'Es war einmal' 76.923077 b'Es war einmal' b'\\\\\\\\x00Es war eine ' E:\\meinebuecher\\Adorf_Mario_Der_Dieb... b'\\\\\\\\xc2\\\\\\\\xbbWieso k\\\\\\\\xc3\\\\\\\\xb6nnen Sie be... 131842 131855 0 13 Es war einmal b'' 0\r\n# 3 b'Er kaufte ein Haus' 72.222222 b'Er kaufte ein Haus' b'hler hat kein Haus' E:\\meinebuecher\\Adorf_Mario_Der_Dieb... b'Eines Nachts h\\\\\\\\xc3\\\\\\\\xb6rte ich ein ... 5351 5369 0 18 Er kaufte ein Haus b'' 0\r\n# 4 b'Was machst du?' 42.857143 b'Was machst du?' b\"anders', 'Nach\" E:\\meinebuecher\\Adorf_Mario_Der_Dieb... b'Filmfestsp\\\\\\\\xc3\\\\\\\\xb6\\\\\\\\xc3\\\\\\\\xaeIele\\\\\\\\xc3... 23968 23982 0 14 Was machst du? b'' 0\r\n# 5 b'Wir m\\\\\\\\xc3\\\\\\\\xbcssen hierbleiben!' 54.166667 b'Wir m\\\\\\\\xc3\\\\\\\\xbcssen hierbleiben!' b'gisseur von Diebe haben\\\\\\\\xc3' E:\\meinebuecher\\Adorf_Mario_Der_Dieb... b'Ndherberge\\\\\\\\xc3\\\\\\\\xb6\\\\\\\\xc3\\\\\\\\xa7\\\\\\\\xc3\\\\\\\\xb6... 7513 7537 0 24 Wir m\u00c3\u00bcssen hierbleiben! b'' 0\r\n# 6 b'Es war einmal' 76.923077 b'Es war einmal' b's waren damal' E:\\meinebuecher\\Adorf_Mario_Der_Dieb... b'/./&/ \\\\\\\\xc3\\\\\\\\xb6hjM\\\\\\\\xc2\\\\\\\\xa4\\\\\\\\xc5\\\\\\\\xaf\\... 2883 2896 0 13 Es war einmal b'' 0\r\n# 7 b'Er kaufte ein Haus' 61.111111 b'Er kaufte ein Haus' b'raf ich auf ein ga' E:\\meinebuecher\\Adorf_Mario_Der_Dieb... b'/./&/ \\\\\\\\xc3\\\\\\\\xb6hjM\\\\\\\\xc2\\\\\\\\xa4\\\\\\\\xc5\\\\\\\\xaf\\... 5835 5853 0 18 Er kaufte ein Haus b'' 0\r\n# 8 b'Was machst du?' 71.428571 b'Was machst du?' b'l brauchst du?' E:\\meinebuecher\\Adorf_Mario_Der_M\u00c3\u00a4us... b'In jenen Tagen war meine Miete \\\\\\\\xc... 1398 1412 0 14 Was machst du? b'' 0\r\n# 9 b'Wir m\\\\\\\\xc3\\\\\\\\xbcssen hierbleiben!' 62.500000 b'Wir m\\\\\\\\xc3\\\\\\\\xbcssen hierbleiben!' b'inute hierbleiben \\\\\\\\xe2\\\\\\\\x80\\\\\\\\xa6!\\\\\\\\xc... E:\\meinebuecher\\Adorf_Mario_Der_M\u00c3\u00a4us... b'Bis weit in den achten Monat hinei... 1476 1500 0 24 Wir m\u00c3\u00bcssen hierbleiben! b'' 0\r\n# 10 b'Es war einmal' 76.923077 b'Es war einmal' b' wir einmal e' E:\\meinebuecher\\Adorf_Mario_Der_M\u00c3\u00a4us... b'Und es folgte unweigerlich eine br... 60416 60429 0 13 Es war einmal b'' 0\r\n# 11 b'Er kaufte ein Haus' 72.222222 b'Er kaufte ein Haus' b' Er hatte in Hambu' E:\\meinebuecher\\Adorf_Mario_Der_M\u00c3\u00a4us... b'Zwei Monate sp\\\\\\\\xc3\\\\\\\\xa4ter war er t... 87656 87674 0 18 Er kaufte ein Haus b'' 0\r\n# 12 b'Was machst du?' 92.857143 b'Was machst du?' b'\\\\\\\\xbbWas machst du' E:\\meinebuecher\\Adorf_Mario_Himmel_u... b\"Mein Freund Peter Berling rief mic... 41 55 0 14 Was machst du? b'' 0\r\n# 13 b'Wir m\\\\\\\\xc3\\\\\\\\xbcssen hierbleiben!' 62.500000 b'Wir m\\\\\\\\xc3\\\\\\\\xbcssen hierbleiben!' b'e m\\\\\\\\xc3\\\\\\\\xbcssen mir nun zeigen' E:\\meinebuecher\\Adorf_Mario_Himmel_u... b\"Der franz\\\\\\\\xc3\\\\\\\\xb6sische Regisseur ... 42156 42180 0 24 Wir m\u00c3\u00bcssen hierbleiben! b'' 0\r\n# 14 b'Es war einmal' 92.307692 b'Es war einmal' b'Es war ein al' E:\\meinebuecher\\Adorf_Mario_Himmel_u... b\"Ich wachte auf, als das Telefon l\\... 120432 120445 0 13 Es war einmal b'' 0\r\n# 15 b'Er kaufte ein Haus' 72.222222 b'Er kaufte ein Haus' b'ur auf meine Hands' E:\\meinebuecher\\Adorf_Mario_Himmel_u... b\"Wodka konnte man auch ganz legal i... 260770 260788 0 18 Er kaufte ein Haus b'' 0\r\n\r\n\r\n Args:\r\n querylist (list): List of queries to search for.\r\n\r\n Token\t Match type\t\t\t\t\t Description\r\n sbtrkt\t fuzzy-match\t\t\t\t Items that match sbtrkt\r\n 'wild\t exact-match (quoted)\t\t Items that include wild\r\n ^music\t prefix-exact-match\t\t\t Items that start with music\r\n .mp3$\t suffix-exact-match\t\t\t Items that end with .mp3\r\n !fire\t inverse-exact-match\t\t Items that do not include fire\r\n !^music\t inverse-prefix-exact-match\t Items that do not start with music\r\n !.mp3$\t inverse-suffix-exact-match\t Items that do not end with .mp3\r\n\r\n A single bar character term acts as an OR operator. For example, the following query matches entries that\r\n start with core and end with either go, rb, or py.\r\n\r\n ^core go$ | rb$ | py$\r\n VERY IMPORTANT: ---- SPACE BEFORE and AFTER the single bar character term\r\n\r\n More information here: https://github.com/junegunn/fzf\r\n\r\n\r\n files (str | list | tuple): Path(s) to file(s) to search in.\r\n fzf_path (str, optional): Path to the fzf executable. Defaults to \"fzf.exe\".\r\n fzfargs (tuple, optional): Additional arguments to pass to fzf. Defaults to (\"-i\",).\r\n shell (bool, optional): Whether to use a shell to execute the command. Defaults to False.\r\n close_fds (bool, optional): Whether to close file descriptors. Defaults to False.\r\n start_new_session (bool, optional): Whether to start a new session. Defaults to True.\r\n bufsize (int, optional): Buffer size. Defaults to 8192 * 4.\r\n invisible (bool, optional): Whether to run the command invisibly (no window). Defaults to True.\r\n timeout (int, optional): Timeout in seconds. Defaults to 60.\r\n max_threads (int | None, optional): Maximum number of threads to use. Defaults to None (number of CPUs).\r\n timeout_check_sleep (int | float, optional): Time to sleep between timeout checks. Defaults to 3.\r\n kill_all_at_end (bool, optional): Whether to kill all not finished processes at the end. Defaults to True.\r\n blockbatch (bool, optional): Whether to block batch processing. Defaults to False.\r\n\r\n Returns:\r\n pd.DataFrame: A dataframe containing the search results.\r\n\r\n```\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Binary fuzzy matching in all file types [fzf (pre-filter)/rapidfuzz (finds the best result)]",
"version": "0.11",
"split_keywords": [
"fuzzy",
"matching",
"fuzzywuzzy",
"rapidfuzz",
"fzf"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3149506d142309bded91b482051bb8eee4d8c71dde74a8b01e2fe62b272deba6",
"md5": "3f4476e5372fe8c7b3e63d38284f701b",
"sha256": "a90ee381973806d89ced16959a77bfad5c450d0cb86ff39b92551e75588a9906"
},
"downloads": -1,
"filename": "fuzzyfiles-0.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f4476e5372fe8c7b3e63d38284f701b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 28999,
"upload_time": "2023-04-26T03:31:02",
"upload_time_iso_8601": "2023-04-26T03:31:02.243619Z",
"url": "https://files.pythonhosted.org/packages/31/49/506d142309bded91b482051bb8eee4d8c71dde74a8b01e2fe62b272deba6/fuzzyfiles-0.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cf3e31c965b999d14722bfa4867cc7d4d4a9313ea720ebc7e790e228c707770a",
"md5": "54526facf3dfa048267157b82fe057fd",
"sha256": "c26f5c36563471cf09821f2ae41ef03210a041395ab1e3bd24dfd20993e0b9b0"
},
"downloads": -1,
"filename": "fuzzyfiles-0.11.tar.gz",
"has_sig": false,
"md5_digest": "54526facf3dfa048267157b82fe057fd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 27063,
"upload_time": "2023-04-26T03:31:04",
"upload_time_iso_8601": "2023-04-26T03:31:04.912856Z",
"url": "https://files.pythonhosted.org/packages/cf/3e/31c965b999d14722bfa4867cc7d4d4a9313ea720ebc7e790e228c707770a/fuzzyfiles-0.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-26 03:31:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "hansalemaos",
"github_project": "fuzzyfiles",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "flatten_everything",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "rapidfuzz",
"specs": []
},
{
"name": "multisubprocess",
"specs": []
}
],
"lcname": "fuzzyfiles"
}