{ "info": { "author": "Wincent Balin", "author_email": "wincent.balin+pytesstrain@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Topic :: Text Processing" ], "description": "# Python tools for Tesseract OCR training\n\nTraining tools for [Tesseract OCR](https://github.com/tesseract-ocr/tesseract).\n\n## Installation\n\nInstall using pip:\n\n```\npip install pytesstrain\n```\n\nThis will also install Python packages `pytesseract` (used for running Tesseract)\nand `editdistance` (used for calculation of error rates).\n\n## Getting started\n\nThis package contains tools for specific problems:\n\n### text2image is crashing ([issue #1781 @ Tesseract OCR](https://github.com/tesseract-ocr/tesseract/issues/1781))\n\nThe text2image tool crashes, if text lines are too long. As stated in the issue above,\nrewrapping text lines to smaller length is the official workaround for this problem.\nFor example, to reduce line length to 35 characters at most, run\n\n```bash\nrewrap corpus.txt corpus-35.txt 35\n```\n\n### Creating dictionary data from corpus file\n\nIn case you do not have a dictionary file for the training language, you might want\nto create one from the corpus file. To create dictionary file for the language _lang_, run\n\n```bash\ncreate_dictdata -l lang -i corpus.txt -d ./langdata/lang\n```\n\nThis tool creates following files:\n\n* lang.training_text (copy of the corpus file)\n* lang.wordlist (dictionary)\n* lang.word.bigrams (word bigrams)\n* lang.training_text.bigram_freqs (character bigram frequencies)\n* lang.training_text.unigram_freqs (character frequencies)\n\nThe file `lang.wordlist.freq` is usually created by training tools, such as `tesstrain.sh` and the likewise,\nso there is no need to create it with `create_dictdata`.\n\n### Language metrics\n\nThe tool `language_metrics` runs Tesseract OCR over images of random word sequences, which are created\nout of the supplied wordlist, and calculates _median_ metrics (currently CER and WER) from the results.\nIt enables you to assess the quality of your `.traineddata` file.\n\nTo calculate metrics for the language _lang_ with fonts _Arial_ and _Courier_ using wordlist file _lang.wordlist_,\nrun\n```bash\nlanguage_metrics -l lang -w lang.wordlist --fonts Arial,Courier\n```\n\n### Creating unicharambigs file\n\nThere are two tools in this package, which enable automatic creation of an unicharambigs file.\n\nThe first tool, `collect_ambiguities`, compares the recognised text with the reference text and\nextracts smallest possible differences as error and correction pairs, and stores them sorted by\nfrequency of occurrence in a JSON file. You may look at the ambiguities by yourself before\nconverting them to `unicharambigs` file with the second tool.\n\nThe second tool, `json2unicharambigs`, takes the intermediate JSON file and puts the ambiguities\ninto the `unicharambigs` file. The resulting file has _v2_ format. You may limit the ambiguities,\nwhich go into the `unicharambigs` file, with additional command-line switches.\n\nTo create the file `lang.unicharambigs` for the language _lang_ using wordlist file _lang.wordlist_,\nrun\n```bash\ncollect_ambiguities -l lang -w lang.wordlist --fonts Arial,Courier -o ambigs.json\njson2unicharambigs --mode safe --mandatory_only ambigs.json lang.unicharambigs\n```\n\n### Creating ground truth files\n\nTo help with training of Tesseract>=4, the tool `create_ground_truth` creates single-line ground truth files\neither from an input file or from a directory with `.txt` files (the tool searches for the latter ones recursively).\n\nTo create ground truth files from a directory `corpora` in the directory `ground-truth`, run\n```bash\ncreate_ground_truth --fonts Arial,Courier corpora ground-truth\n```\n\n## API Reference\n\nThe main workhorse is the function `pytesstrain.train.run_test`. There is also a parallel version,\n`pytesstrain.train.run_tests`, which uses a pool of threads to run the former function on multiple processors\nsimultaneously (using threads instead of processes for parallelisation is possible, because the `run_test`\nfunction starts processes itself and is thus I/O-bound).\n\nThe subpackage `tesseract` simply imports the package `pytesseract`. The subpackage `text2image` imitates\nthe former one, but for the `text2image` tool instead of `tesseract`.\n\nThe subpackage `metrics` contains implementation of evaluation metrics, such as CER and WER. The subpackage `utils` has\noften-used, miscellaneous functions and the subpackage `ambigs` contains ambiguity processing functions.\n\nFinally, the subpackage `cli` contains the console scripts.\n\n## License\n\nPytesstrain is released under [Apache License 2.0](LICENSE).\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/wincentbalin/pytesstrain", "keywords": "Tesseract,OCR,training", "license": "Apache License (2.0)", "maintainer": "", "maintainer_email": "", "name": "pytesstrain", "package_url": "https://pypi.org/project/pytesstrain/", "platform": null, "project_url": "https://pypi.org/project/pytesstrain/", "project_urls": { "Homepage": "https://github.com/wincentbalin/pytesstrain" }, "release_url": "https://pypi.org/project/pytesstrain/0.1.16/", "requires_dist": [ "pytesseract", "editdistance" ], "requires_python": "", "summary": "Collection of utilities for Tesseract OCR training", "version": "0.1.16", "yanked": false, "yanked_reason": null }, "last_serial": 13692732, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "2a6801f6c0afe06cfba55495fcdbde70", "sha256": "77e04609649d674aec7cd55e9ce2e9285c78571d8db9bec0ccba285ddd401ab0" }, "downloads": -1, "filename": "pytesstrain-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2a6801f6c0afe06cfba55495fcdbde70", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20228, "upload_time": "2019-10-24T21:09:54", "upload_time_iso_8601": "2019-10-24T21:09:54.253267Z", "url": "https://files.pythonhosted.org/packages/bf/a9/2b6f1334faf143e268871f419dcf4ff88d2943dcad717e4534edf4ab7562/pytesstrain-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3da7b2583852d5ae3f07c7211eb2a4ff", "sha256": "d59e84da332bc70e16ea7a59417334ee64f8752920c1c1a434e9a5e601784e20" }, "downloads": -1, "filename": "pytesstrain-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3da7b2583852d5ae3f07c7211eb2a4ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9766, "upload_time": "2019-10-24T21:09:56", "upload_time_iso_8601": "2019-10-24T21:09:56.672094Z", "url": "https://files.pythonhosted.org/packages/c4/b0/2e268ad7d32ba9c56b90fc60e94668cbfa9339aa2e9535e6b353d662446d/pytesstrain-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7873d5b782ba1e82cf2a14f6061849dd", "sha256": "6a16e4d1167462dee6137faf536fd4ed6fc7aeef2e4e534471eaa0f9d4c63b2e" }, "downloads": -1, "filename": "pytesstrain-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7873d5b782ba1e82cf2a14f6061849dd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20502, "upload_time": "2019-10-24T21:50:41", "upload_time_iso_8601": "2019-10-24T21:50:41.300703Z", "url": "https://files.pythonhosted.org/packages/9e/20/e180ae421551259c05a42ddfaf825a06b184ce63610bfa423b88cb232779/pytesstrain-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f7f4b2cf8adc0b113f35e6cfa426b20c", "sha256": "6f3e0433f4b86dc6663f02b809490b7082043879bdd94a3eec0a8075020313ea" }, "downloads": -1, "filename": "pytesstrain-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f7f4b2cf8adc0b113f35e6cfa426b20c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10274, "upload_time": "2019-10-24T21:50:42", "upload_time_iso_8601": "2019-10-24T21:50:42.672071Z", "url": "https://files.pythonhosted.org/packages/2e/4c/fa3dcb279aa82946e56ccf9acfc3557e39c2aa6090fb0949fa1a362b9a7f/pytesstrain-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "162a6e8067ce8d083da5b30e4b41c457", "sha256": "f4cb9bd9987b235419f3bb573ff8af1336c6aaf52a51e6102a8a5e047e6c4a2e" }, "downloads": -1, "filename": "pytesstrain-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "162a6e8067ce8d083da5b30e4b41c457", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23034, "upload_time": "2020-01-14T22:10:18", "upload_time_iso_8601": "2020-01-14T22:10:18.875321Z", "url": "https://files.pythonhosted.org/packages/01/b7/329f32461cb6fdfe0920d619447d43fad15ea2dda5e41526d729b6843837/pytesstrain-0.1.10-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "65be7d655a80b5b1720ca2a3dbf2f744", "sha256": "10fef9179eebeb2ba2ff1950d34ffb3052fc6b493d0716cdda04019fc739e5a2" }, "downloads": -1, "filename": "pytesstrain-0.1.10.tar.gz", "has_sig": false, "md5_digest": "65be7d655a80b5b1720ca2a3dbf2f744", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13267, "upload_time": "2020-01-14T22:10:20", "upload_time_iso_8601": "2020-01-14T22:10:20.998779Z", "url": "https://files.pythonhosted.org/packages/ec/13/8aaa281e066dd94c7e2245619f7bf972c123d9898efb14b60ede0dfcbce2/pytesstrain-0.1.10.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "a5a1c57b4f5a2171a3d6416243cc3133", "sha256": "5ed3a6f6e7cbc86b45bc3e239a10269a34a5ac9e1615926abdf79a61ed890177" }, "downloads": -1, "filename": "pytesstrain-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "a5a1c57b4f5a2171a3d6416243cc3133", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23032, "upload_time": "2020-01-14T22:52:58", "upload_time_iso_8601": "2020-01-14T22:52:58.035900Z", "url": "https://files.pythonhosted.org/packages/a0/c9/5690ba87007935f1cfc8853019efc5372571ea56ef5f68a9bcce25f0ad2d/pytesstrain-0.1.11-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a29a8bc2d02216bcde391646f1765db4", "sha256": "0d0e2350d850f78f4d974dc7b8b429d47be6645e6533a2f24f530c95909a993f" }, "downloads": -1, "filename": "pytesstrain-0.1.11.tar.gz", "has_sig": false, "md5_digest": "a29a8bc2d02216bcde391646f1765db4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13268, "upload_time": "2020-01-14T22:52:59", "upload_time_iso_8601": "2020-01-14T22:52:59.854708Z", "url": "https://files.pythonhosted.org/packages/40/92/58a1d1ee91dbc979909fd33b76169848d996757d2d99a874df2fbb3a05dc/pytesstrain-0.1.11.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "05646f00e4708ae76388a7c7c7699acb", "sha256": "1ff1a7994b2820238bff6ef17d233056763ade18c50ec1a16faa1df436bd916f" }, "downloads": -1, "filename": "pytesstrain-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "05646f00e4708ae76388a7c7c7699acb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23075, "upload_time": "2020-01-14T22:59:46", "upload_time_iso_8601": "2020-01-14T22:59:46.548530Z", "url": "https://files.pythonhosted.org/packages/1f/a9/2498a9117ff4b9788b30a6ba95897d06330e01c0f72051e39fec15bbb504/pytesstrain-0.1.12-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "361fc7860f25aa5342fb767b370182d3", "sha256": "d165deff2e8839836f010c5f130813579014198ba91002565b1b79805ba76d39" }, "downloads": -1, "filename": "pytesstrain-0.1.12.tar.gz", "has_sig": false, "md5_digest": "361fc7860f25aa5342fb767b370182d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13298, "upload_time": "2020-01-14T22:59:48", "upload_time_iso_8601": "2020-01-14T22:59:48.358783Z", "url": "https://files.pythonhosted.org/packages/54/08/5fae42e0d4ce7db5cf9b0a59842a68f5cf4b8650d40a67916118796a9c44/pytesstrain-0.1.12.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "5148e911385c32602549600c7db02136", "sha256": "331979d7c1d025eb73d13224a83cf05949e31243e76cb587c1d4e355464adfc8" }, "downloads": -1, "filename": "pytesstrain-0.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "5148e911385c32602549600c7db02136", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23134, "upload_time": "2020-02-03T20:15:12", "upload_time_iso_8601": "2020-02-03T20:15:12.032397Z", "url": "https://files.pythonhosted.org/packages/cc/ca/62f51563e43f11c5070adcf2505b9ece906314f8af3d6b4019b8aaf4863c/pytesstrain-0.1.13-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ab578bf1124d096adac9c5ce686dc747", "sha256": "bd719f22367714a4acca9906899ead8a67674c7f5c913263046bee000e45e417" }, "downloads": -1, "filename": "pytesstrain-0.1.13.tar.gz", "has_sig": false, "md5_digest": "ab578bf1124d096adac9c5ce686dc747", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13364, "upload_time": "2020-02-03T20:15:13", "upload_time_iso_8601": "2020-02-03T20:15:13.489225Z", "url": "https://files.pythonhosted.org/packages/7e/cd/9b469054098fa546e2fb27057c029a8fab123a248f446568b717623745e5/pytesstrain-0.1.13.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "c897a340f7bdf43ba125cc2e097d4252", "sha256": "40a3448e508d205979b60d91d08a9430446fa1fc333eccea26b09789ec939031" }, "downloads": -1, "filename": "pytesstrain-0.1.14-py3-none-any.whl", "has_sig": false, "md5_digest": "c897a340f7bdf43ba125cc2e097d4252", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23670, "upload_time": "2020-02-09T18:51:17", "upload_time_iso_8601": "2020-02-09T18:51:17.330124Z", "url": "https://files.pythonhosted.org/packages/29/a6/44f25b21b382cc2fe25a52a2339a4279514236ddf425935a8ed24f26fce4/pytesstrain-0.1.14-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b49c94b0c0159a596ee67f1feca26564", "sha256": "f80cd42caef720e2dba44acc034485a96d71e5352e8d43041b4dc9c392ef55d5" }, "downloads": -1, "filename": "pytesstrain-0.1.14.tar.gz", "has_sig": false, "md5_digest": "b49c94b0c0159a596ee67f1feca26564", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13665, "upload_time": "2020-02-09T18:51:19", "upload_time_iso_8601": "2020-02-09T18:51:19.073604Z", "url": "https://files.pythonhosted.org/packages/a3/be/8a20c404e2b4de7bf3978c509b1874172bdb1ced83979219962b21952714/pytesstrain-0.1.14.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "324a9a6af29ff9cd64cac2e554fa4269", "sha256": "d92151d5b326214af54739ebca2b68cb74d4e78b8e5eade94ba9c883cd6cfa4f" }, "downloads": -1, "filename": "pytesstrain-0.1.15-py3-none-any.whl", "has_sig": false, "md5_digest": "324a9a6af29ff9cd64cac2e554fa4269", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23852, "upload_time": "2020-06-07T12:09:45", "upload_time_iso_8601": "2020-06-07T12:09:45.558066Z", "url": "https://files.pythonhosted.org/packages/dd/06/6d06987065bd195f9801496d0e8a2c5f4a707007f5e263062b6337858d84/pytesstrain-0.1.15-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "7bffe1f4bedc47c5557e7289edffa118", "sha256": "701dd7a25fcafc36d59231143d67ee4b7dce893d569d31ac2683fe1a39d2cc14" }, "downloads": -1, "filename": "pytesstrain-0.1.15.tar.gz", "has_sig": false, "md5_digest": "7bffe1f4bedc47c5557e7289edffa118", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13808, "upload_time": "2020-06-07T12:09:46", "upload_time_iso_8601": "2020-06-07T12:09:46.609440Z", "url": "https://files.pythonhosted.org/packages/9a/fd/417ce603db8fce15db3d6e1e7c77275a7a3aa8c09d6f181a7c7b4fcbab08/pytesstrain-0.1.15.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "d0221345977ae2e6f21b2dffa3b02f0e", "sha256": "6085d80bb2c3b9140abc805af0202aa1f819d85cb0912a5a54828371907c419c" }, "downloads": -1, "filename": "pytesstrain-0.1.16-py3-none-any.whl", "has_sig": false, "md5_digest": "d0221345977ae2e6f21b2dffa3b02f0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23962, "upload_time": "2022-05-02T21:03:16", "upload_time_iso_8601": "2022-05-02T21:03:16.011369Z", "url": "https://files.pythonhosted.org/packages/db/7a/130b6959770092c6266ff032d0847c98ea2fb01e351b7ae201da3d0b295c/pytesstrain-0.1.16-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "36dc00720a357ea20eea2520276924d9", "sha256": "d207d520b1985e6d7c6e4fcdade60a9303f385c3180c80efb6baff9373dedc9c" }, "downloads": -1, "filename": "pytesstrain-0.1.16.tar.gz", "has_sig": false, "md5_digest": "36dc00720a357ea20eea2520276924d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18722, "upload_time": "2022-05-02T21:03:18", "upload_time_iso_8601": "2022-05-02T21:03:18.740886Z", "url": "https://files.pythonhosted.org/packages/46/1d/3553329f01fa7a209103f306a32209ef6cddd01a7e6d279ba387a2044a88/pytesstrain-0.1.16.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "53be11d21e8dd7a65120ea5d6dbe9f98", "sha256": "0fd8ca1da1df45690bdbf7774c1e93bbe048fa0304af47fd9152d333fa7cfca9" }, "downloads": -1, "filename": "pytesstrain-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "53be11d21e8dd7a65120ea5d6dbe9f98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21374, "upload_time": "2019-10-29T20:11:16", "upload_time_iso_8601": "2019-10-29T20:11:16.384456Z", "url": "https://files.pythonhosted.org/packages/7f/d9/bb4c8b48655df48aa7e4a39a0800c51032ceacbfee1d41ac2f1f0418e5ee/pytesstrain-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "89463e260a723905df6e3e2e40ffe4c6", "sha256": "98f48411c46baa5c43ac2f72d8b2c7ad7ac221763dc0f747a51194189cf23e49" }, "downloads": -1, "filename": "pytesstrain-0.1.2.tar.gz", "has_sig": false, "md5_digest": "89463e260a723905df6e3e2e40ffe4c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12196, "upload_time": "2019-10-29T20:11:18", "upload_time_iso_8601": "2019-10-29T20:11:18.219190Z", "url": "https://files.pythonhosted.org/packages/58/d1/76bdc1407c1837b1e6668522c21e0c5c2401ddea7f331e8bc35372d97e0b/pytesstrain-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "0a123f618cb1297b6da301ffbf48448b", "sha256": "9c544d38f0fc580ab68733363942708b7965a86bcac20527f3faca6a8b9c2139" }, "downloads": -1, "filename": "pytesstrain-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "0a123f618cb1297b6da301ffbf48448b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21382, "upload_time": "2019-10-30T21:21:01", "upload_time_iso_8601": "2019-10-30T21:21:01.545806Z", "url": "https://files.pythonhosted.org/packages/15/46/44f467cd1e10ea9c7fba723289fb70554950df05887375a4f306e48884ae/pytesstrain-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1b739434633a516c4e285b5136de82c0", "sha256": "106c189eec1cf745c813dd1383cd974c26006ed36899bde3182098fd262d5ed9" }, "downloads": -1, "filename": "pytesstrain-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1b739434633a516c4e285b5136de82c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12199, "upload_time": "2019-10-30T21:21:04", "upload_time_iso_8601": "2019-10-30T21:21:04.411482Z", "url": "https://files.pythonhosted.org/packages/43/0d/a69880e24bafb0a6275cdebc50922831ad9d560bd909623cbd98ffb2118a/pytesstrain-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "5018ec4f7cc4584da43b49235f4dca4c", "sha256": "4f2fbe7f00854f684677b5dbc615a718fd83c3e8129eb74c6eddeafb60fa0139" }, "downloads": -1, "filename": "pytesstrain-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "5018ec4f7cc4584da43b49235f4dca4c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22346, "upload_time": "2020-01-13T21:04:41", "upload_time_iso_8601": "2020-01-13T21:04:41.044361Z", "url": "https://files.pythonhosted.org/packages/20/42/fe5fad03a2026ef33300f9c1c25d2d35a820ff049c4cce7f94a9d29ee2a6/pytesstrain-0.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cab9eaa500b60d91586e4822a738d8e8", "sha256": "505d105bb2b3dcb432562498f3ece316bc22237718cc422b40cbdc21e3de1463" }, "downloads": -1, "filename": "pytesstrain-0.1.4.tar.gz", "has_sig": false, "md5_digest": "cab9eaa500b60d91586e4822a738d8e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12849, "upload_time": "2020-01-13T21:04:42", "upload_time_iso_8601": "2020-01-13T21:04:42.808937Z", "url": "https://files.pythonhosted.org/packages/33/66/61b4b4da4932a4945bc81cdb54214fc219246018285cc1e2d0357be317fd/pytesstrain-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "71ccf180c5d132529fc1c2b64d34205c", "sha256": "b8dd45a174f32f85f3e161bd75205af9e490dbf13910254a61e2a8730d3e0635" }, "downloads": -1, "filename": "pytesstrain-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "71ccf180c5d132529fc1c2b64d34205c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22247, "upload_time": "2020-01-13T21:38:21", "upload_time_iso_8601": "2020-01-13T21:38:21.190792Z", "url": "https://files.pythonhosted.org/packages/38/da/49e836f6daeb4316eece3c2821f5147338f341c1c3684db956dea349991f/pytesstrain-0.1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6efbc298fd7d84d543649abf97734dde", "sha256": "3fdf7cb5b63ba5c6c70fab6517adc2c16052a5313e18c71a0e31d370e4df418c" }, "downloads": -1, "filename": "pytesstrain-0.1.5.tar.gz", "has_sig": false, "md5_digest": "6efbc298fd7d84d543649abf97734dde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12822, "upload_time": "2020-01-13T21:38:23", "upload_time_iso_8601": "2020-01-13T21:38:23.005941Z", "url": "https://files.pythonhosted.org/packages/53/f3/102cb754c91a87d02bac33e84955341db7209e9284bdff2660c02be21a52/pytesstrain-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "4a8ca8382992927205c8311b1ae75772", "sha256": "832bcb885cb02908fb20230c2cba18880d8b18e8d0c91a9fa4a24590d403434f" }, "downloads": -1, "filename": "pytesstrain-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "4a8ca8382992927205c8311b1ae75772", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22279, "upload_time": "2020-01-13T21:45:58", "upload_time_iso_8601": "2020-01-13T21:45:58.818494Z", "url": "https://files.pythonhosted.org/packages/25/a8/f764e6733c92e7544cdba97430618cf8d4a32bbb575340fa1a087c556344/pytesstrain-0.1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1c32fe7b72545ec77a3d49a89f53392b", "sha256": "284d883b5e26ce1053e634e896e713fb178ae45c7977674335dd4245ede2c595" }, "downloads": -1, "filename": "pytesstrain-0.1.6.tar.gz", "has_sig": false, "md5_digest": "1c32fe7b72545ec77a3d49a89f53392b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12849, "upload_time": "2020-01-13T21:46:00", "upload_time_iso_8601": "2020-01-13T21:46:00.492430Z", "url": "https://files.pythonhosted.org/packages/1e/d3/dfd74f845adf689f336bb9199c7bd968f4b3c007f994793a723a6d3ce62e/pytesstrain-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "753f7730f9b9b9852e75dc7591f30827", "sha256": "8c76a34bfe75549f6570a98e8206c6768c24e63836ad3e97f41016921cb2a6ef" }, "downloads": -1, "filename": "pytesstrain-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "753f7730f9b9b9852e75dc7591f30827", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22289, "upload_time": "2020-01-13T21:51:24", "upload_time_iso_8601": "2020-01-13T21:51:24.315023Z", "url": "https://files.pythonhosted.org/packages/7f/1d/663ad4200d895ef8ce81856d110320576a03e4ca77376cc53d2c75f03560/pytesstrain-0.1.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bfb579e1a4294248ff181b45989f614f", "sha256": "eb958fe1902ab927dfb4508e554f6b38887acec4da57a6dac4ae75c35c648b63" }, "downloads": -1, "filename": "pytesstrain-0.1.7.tar.gz", "has_sig": false, "md5_digest": "bfb579e1a4294248ff181b45989f614f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12855, "upload_time": "2020-01-13T21:51:27", "upload_time_iso_8601": "2020-01-13T21:51:27.246987Z", "url": "https://files.pythonhosted.org/packages/cd/b3/9c23c376e6b94d16dabcd0647ebf5272bc181f53b69bbdfd7e4faa943011/pytesstrain-0.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "cbca5540ec580bd09e59792dd6f1e4a4", "sha256": "31cc4397c3fc778832e6d1f8e0336900fd793bf4c167685e8d7241c84e1dc6d1" }, "downloads": -1, "filename": "pytesstrain-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "cbca5540ec580bd09e59792dd6f1e4a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22954, "upload_time": "2020-01-14T21:54:35", "upload_time_iso_8601": "2020-01-14T21:54:35.546777Z", "url": "https://files.pythonhosted.org/packages/20/3b/de4a8788f9056d24580339aa19dd831f7f1e3deb743b6cb50708e7f7ed71/pytesstrain-0.1.8-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "741567d20e147d8a60a7a4d57fb24cb7", "sha256": "bedf3f0ed80e0afb4a326a9e78528d2bd84e4f8fadc641d7ae310395279ba352" }, "downloads": -1, "filename": "pytesstrain-0.1.8.tar.gz", "has_sig": false, "md5_digest": "741567d20e147d8a60a7a4d57fb24cb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13211, "upload_time": "2020-01-14T21:54:37", "upload_time_iso_8601": "2020-01-14T21:54:37.395128Z", "url": "https://files.pythonhosted.org/packages/18/a2/4312ec1cb776eec4942a17325c341893d1a17bf9be4860e895dca85e1548/pytesstrain-0.1.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "0eae96fac8799e3abd3458d8eaafaeac", "sha256": "4536fbecae835fd414fdb7bddf10946f1f6a9e6aafe60a0f2a6ab91345f5d783" }, "downloads": -1, "filename": "pytesstrain-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "0eae96fac8799e3abd3458d8eaafaeac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22956, "upload_time": "2020-01-14T21:59:57", "upload_time_iso_8601": "2020-01-14T21:59:57.610486Z", "url": "https://files.pythonhosted.org/packages/7c/fb/87c5769c0e085e7e2ebb40ee5583a080f43c884b93073509e0afecdb91ca/pytesstrain-0.1.9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "77cddac5140c527318a2ee7aa05644c9", "sha256": "2cae0062b2e84f1c6961bff3a36fdf7445e28fb1f55bf24545cea5c9f8fe6ca3" }, "downloads": -1, "filename": "pytesstrain-0.1.9.tar.gz", "has_sig": false, "md5_digest": "77cddac5140c527318a2ee7aa05644c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13209, "upload_time": "2020-01-14T21:59:59", "upload_time_iso_8601": "2020-01-14T21:59:59.410774Z", "url": "https://files.pythonhosted.org/packages/16/d7/c46561d528e248088bb39fae7d831e8dcc083ab351826d30c8ee6f1aad11/pytesstrain-0.1.9.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d0221345977ae2e6f21b2dffa3b02f0e", "sha256": "6085d80bb2c3b9140abc805af0202aa1f819d85cb0912a5a54828371907c419c" }, "downloads": -1, "filename": "pytesstrain-0.1.16-py3-none-any.whl", "has_sig": false, "md5_digest": "d0221345977ae2e6f21b2dffa3b02f0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23962, "upload_time": "2022-05-02T21:03:16", "upload_time_iso_8601": "2022-05-02T21:03:16.011369Z", "url": "https://files.pythonhosted.org/packages/db/7a/130b6959770092c6266ff032d0847c98ea2fb01e351b7ae201da3d0b295c/pytesstrain-0.1.16-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "36dc00720a357ea20eea2520276924d9", "sha256": "d207d520b1985e6d7c6e4fcdade60a9303f385c3180c80efb6baff9373dedc9c" }, "downloads": -1, "filename": "pytesstrain-0.1.16.tar.gz", "has_sig": false, "md5_digest": "36dc00720a357ea20eea2520276924d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18722, "upload_time": "2022-05-02T21:03:18", "upload_time_iso_8601": "2022-05-02T21:03:18.740886Z", "url": "https://files.pythonhosted.org/packages/46/1d/3553329f01fa7a209103f306a32209ef6cddd01a7e6d279ba387a2044a88/pytesstrain-0.1.16.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }