{ "info": { "author": "Mikhail Korobov", "author_email": "kmike84@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "============\nprice-parser\n============\n\n.. image:: https://img.shields.io/pypi/v/price-parser.svg\n :target: https://pypi.python.org/pypi/price-parser\n :alt: PyPI Version\n\n.. image:: https://img.shields.io/pypi/pyversions/price-parser.svg\n :target: https://pypi.python.org/pypi/price-parser\n :alt: Supported Python Versions\n\n.. image:: https://travis-ci.org/scrapinghub/price-parser.svg?branch=master\n :target: https://travis-ci.org/scrapinghub/price-parser\n :alt: Build Status\n\n.. image:: https://codecov.io/github/scrapinghub/price-parser/coverage.svg?branch=master\n :target: https://codecov.io/gh/scrapinghub/price-parser\n :alt: Coverage report\n\n\n``price-parser`` is a small library for extracting price and currency from\nraw text strings.\n\nFeatures:\n\n* robust price amount and currency symbol extraction\n* zero-effort handling of thousand and decimal separators\n\nThe main use case is parsing prices extracted from web pages.\nFor example, you can write a CSS/XPath selector which targets an element\nwith a price, and then use this library for cleaning it up,\ninstead of writing custom site-specific regex or Python code.\n\nLicense is BSD 3-clause.\n\nInstallation\n============\n\n::\n\n pip install price-parser\n\nprice-parser requires Python 3.6+.\n\nUsage\n=====\n\nBasic usage\n-----------\n\n>>> from price_parser import Price\n>>> price = Price.fromstring(\"22,90 \u20ac\")\n>>> price\nPrice(amount=Decimal('22.90'), currency='\u20ac')\n>>> price.amount # numeric price amount\nDecimal('22.90')\n>>> price.currency # currency symbol, as appears in the string\n'\u20ac'\n>>> price.amount_text # price amount, as appears in the string\n'22,90'\n>>> price.amount_float # price amount as float, not Decimal\n22.9\n\nIf you prefer, ``Price.fromstring`` has an alias ``price_parser.parse_price``,\nthey do the same:\n\n>>> from price_parser import parse_price\n>>> parse_price(\"22,90 \u20ac\")\nPrice(amount=Decimal('22.90'), currency='\u20ac')\n\nThe library has extensive tests (900+ real-world examples of price strings).\nSome of the supported cases are described below.\n\nSupported cases\n---------------\n\nUnclean price strings with various currencies are supported;\nthousand separators and decimal separators are handled:\n\n>>> Price.fromstring(\"Price: $119.00\")\nPrice(amount=Decimal('119.00'), currency='$')\n\n>>> Price.fromstring(\"15 130 \u0420\")\nPrice(amount=Decimal('15130'), currency='\u0420')\n\n>>> Price.fromstring(\"151,200 \u062a\u0648\u0645\u0627\u0646\")\nPrice(amount=Decimal('151200'), currency='\u062a\u0648\u0645\u0627\u0646')\n\n>>> Price.fromstring(\"Rp 1.550.000\")\nPrice(amount=Decimal('1550000'), currency='Rp')\n\n>>> Price.fromstring(\"B\u011b\u017en\u00e1 cena 75 990,00 K\u010d\")\nPrice(amount=Decimal('75990.00'), currency='K\u010d')\n\n\nEuro sign is used as a decimal separator in a wild:\n\n>>> Price.fromstring(\"1,235\u20ac 99\")\nPrice(amount=Decimal('1235.99'), currency='\u20ac')\n\n>>> Price.fromstring(\"99 \u20ac 95 \u20ac\")\nPrice(amount=Decimal('99'), currency='\u20ac')\n\n>>> Price.fromstring(\"35\u20ac 999\")\nPrice(amount=Decimal('35'), currency='\u20ac')\n\n\nSome special cases are handled:\n\n>>> Price.fromstring(\"Free\")\nPrice(amount=Decimal('0'), currency=None)\n\n\nWhen price or currency can't be extracted, corresponding\nattribute values are set to None:\n\n>>> Price.fromstring(\"\")\nPrice(amount=None, currency=None)\n\n>>> Price.fromstring(\"Foo\")\nPrice(amount=None, currency=None)\n\n>>> Price.fromstring(\"50% OFF\")\nPrice(amount=None, currency=None)\n\n>>> Price.fromstring(\"50\")\nPrice(amount=Decimal('50'), currency=None)\n\n>>> Price.fromstring(\"R$\")\nPrice(amount=None, currency='R$')\n\n\nCurrency hints\n--------------\n\n``currency_hint`` argument allows to pass a text string which may (or may not)\ncontain currency information. This feature is most useful for automated price\nextraction.\n\n>>> Price.fromstring(\"34.99\", currency_hint=\"\u0440\u0443\u0431. (\u0448\u0442)\")\nPrice(amount=Decimal('34.99'), currency='\u0440\u0443\u0431.')\n\nNote that currency mentioned in the main price string may be\n**preferred** over currency specified in ``currency_hint`` argument;\nit depends on currency symbols found there. If you know the correct currency,\nyou can set it directly:\n\n>>> price = Price.fromstring(\"1 000\")\n>>> price.currency = 'EUR'\n>>> price\nPrice(amount=Decimal('1000'), currency='EUR')\n\n\nDecimal separator\n-----------------\n\nIf you know which symbol is used as a decimal separator in the input string,\npass that symbol in the ``decimal_separator`` argument to prevent price-parser\nfrom guessing the wrong decimal separator symbol.\n\n>>> Price.fromstring(\"Price: $140.600\", decimal_separator=\".\")\nPrice(amount=Decimal('140.600'), currency='$')\n\n>>> Price.fromstring(\"Price: $140.600\", decimal_separator=\",\")\nPrice(amount=Decimal('140600'), currency='$')\n\n\nContributing\n============\n\n* Source code: https://github.com/scrapinghub/price-parser\n* Issue tracker: https://github.com/scrapinghub/price-parser/issues\n\nUse tox_ to run tests with different Python versions::\n\n tox\n\nThe command above also runs type checks; we use mypy.\n\n.. _tox: https://tox.readthedocs.io\n\n\n\nChanges\n=======\n\n0.3.4 (2020-11-25)\n------------------\n\n* Improved parsing of prices without digits before a decimal point ('.75'),\n https://github.com/scrapinghub/price-parser/pull/42\n* Fix parsing of price with non-breaking spaces\n https://github.com/scrapinghub/price-parser/pull/43\n\n0.3.3 (2020-02-05)\n------------------\n\n* Fixed installation issue on some Windows machines.\n\n0.3.2 (2020-01-28)\n------------------\n\n* Improved Korean and Japanese currency detection.\n* Declare Python 3.8 support.\n\n0.3.1 (2019-10-21)\n------------------\n\n* Redundant $ signs are no longer returned as a part of currency, e.g.\n for ``SGD$ 100`` currency would be ``SGD``, not ``SGD$``.\n\n0.3.0 (2019-10-19)\n------------------\n\n* New ``Price.fromstring`` argument ``decimal_separator`` allows to override\n decimal separator for the cases where it is known\n (i.e. disable decimal separator detection);\n* NTD and RBM unofficial currency names are added;\n* quantifiers in regular expressions are made non-greedy, which provides\n a small speedup;\n* test improvements.\n\n0.2.4 (2019-07-03)\n------------------\n\n* Declare price-parser as providing type annotations (pep-561). This enables\n better type checking for projects using price-parser.\n* improved test coverage\n\n0.2.3 (2019-06-18)\n------------------\n\n* Follow-up for 0.2.2 release: improved parsing of prices with 4+ digits\n after a decimal separator.\n\n0.2.2 (2019-06-18)\n------------------\n\n* Fixed parsing of prices with 4+ digits after a decimal separator.\n\n0.2.1 (2019-04-19)\n------------------\n\n* 23 additional currency symbols are added;\n* ``A$`` alias for Australian Dollar is added.\n\n0.2 (2019-04-12)\n----------------\n\nAdded support for currencies replaced by euro.\n\n0.1.1 (2019-04-12)\n------------------\n\nMinor packaging fixes.\n\n0.1 (2019-04-12)\n----------------\n\nInitial release.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/scrapinghub/price-parser", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "price-parser", "package_url": "https://pypi.org/project/price-parser/", "platform": "", "project_url": "https://pypi.org/project/price-parser/", "project_urls": { "Homepage": "https://github.com/scrapinghub/price-parser" }, "release_url": "https://pypi.org/project/price-parser/0.3.4/", "requires_dist": [ "attrs (>=17.3.0)" ], "requires_python": "", "summary": "Extract price and currency from a raw string", "version": "0.3.4", "yanked": false, "yanked_reason": null }, "last_serial": 8745474, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "6037dd6da94a635ffd08026c166f0b6c", "sha256": "784248fa853838838bd5f4327cf96a8b9d4ec6ed4a98b4c0f47de017c5616ca1" }, "downloads": -1, "filename": "price_parser-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6037dd6da94a635ffd08026c166f0b6c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11609, "upload_time": "2019-04-11T20:45:41", "upload_time_iso_8601": "2019-04-11T20:45:41.046788Z", "url": "https://files.pythonhosted.org/packages/58/e8/d6b56f6e0245b8c5c1b51dec6c9e8566209295d4c00863de6a43e695bbf6/price_parser-0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "44a2de1cc2c9b0ad9ccba9aba2512801", "sha256": "bf401811f90fad520ef10089bc1b4b1a95227586066a2d87f1716cf962fb7335" }, "downloads": -1, "filename": "price-parser-0.1.tar.gz", "has_sig": false, "md5_digest": "44a2de1cc2c9b0ad9ccba9aba2512801", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11680, "upload_time": "2019-04-11T20:45:42", "upload_time_iso_8601": "2019-04-11T20:45:42.894657Z", "url": "https://files.pythonhosted.org/packages/8b/0e/e8828efd00e473d93d766431e2e9a2af78d270b73c1f3b5295cbfefeb0ed/price-parser-0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "de77b29a3ace06700704a39bddc2fbf9", "sha256": "5d198034caa17d45f2c3c99e789021cdf978387fc2ad201b7c87121195d6859f" }, "downloads": -1, "filename": "price_parser-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "de77b29a3ace06700704a39bddc2fbf9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13211, "upload_time": "2019-04-11T21:11:53", "upload_time_iso_8601": "2019-04-11T21:11:53.209873Z", "url": "https://files.pythonhosted.org/packages/6e/51/fe5afe02a3c961a9ea65d8533c1911e5f1ed00b87f539473bfe15858f71a/price_parser-0.1.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "520a4b97d98b138b0ad01b4d01d213ca", "sha256": "9331b6f06da431992ad079b43250384650175fd8f097d02acfed6e7f9128d10e" }, "downloads": -1, "filename": "price-parser-0.1.1.tar.gz", "has_sig": false, "md5_digest": "520a4b97d98b138b0ad01b4d01d213ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30372, "upload_time": "2019-04-11T21:11:54", "upload_time_iso_8601": "2019-04-11T21:11:54.282406Z", "url": "https://files.pythonhosted.org/packages/52/39/e77ea85b8892459db9a65716f00c9bc3353da38dff101feff49a085351aa/price-parser-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2": [ { "comment_text": "", "digests": { "md5": "1bf16477b82977300621b4e1033cf33b", "sha256": "284111cc8b1cb2ca0c25d61303f218668faaef7296ec573aff47c2766640f187" }, "downloads": -1, "filename": "price_parser-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1bf16477b82977300621b4e1033cf33b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13890, "upload_time": "2019-04-12T18:30:48", "upload_time_iso_8601": "2019-04-12T18:30:48.088613Z", "url": "https://files.pythonhosted.org/packages/f8/19/c352291d213020f056937db65a36d9615a232e7d51c0791d2c3f2f5d43c6/price_parser-0.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "787b5856441fe73bca30816f7e2423a7", "sha256": "69e12ff2db45a7d9c5aa29a36c2dd69b54c7245ee7e55dd9dbc1925d7c789654" }, "downloads": -1, "filename": "price-parser-0.2.tar.gz", "has_sig": false, "md5_digest": "787b5856441fe73bca30816f7e2423a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31264, "upload_time": "2019-04-12T18:30:49", "upload_time_iso_8601": "2019-04-12T18:30:49.350299Z", "url": "https://files.pythonhosted.org/packages/32/46/fb226e5a59301ad9a7b4ed76b7684a44dd74bf75ad59f8153f25b7112203/price-parser-0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d6998b40e4f9deb78761f590438c3bf7", "sha256": "c5e153c96d523596a0fc9a648331e3dd8ff68fcd8ef7240c1eb8b74440571ee7" }, "downloads": -1, "filename": "price_parser-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d6998b40e4f9deb78761f590438c3bf7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14042, "upload_time": "2019-04-18T21:12:55", "upload_time_iso_8601": "2019-04-18T21:12:55.399583Z", "url": "https://files.pythonhosted.org/packages/4b/fb/76c748d1a6ec427f6ee99d07a20db5023624ac8cb06abe8fb72dc1314532/price_parser-0.2.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "912b0ed34af633498ed4688dcf7b606e", "sha256": "3ca1003c2b6b062282935ea8e33a1a21faf99e9f19c9ec8148b2a40be6b96514" }, "downloads": -1, "filename": "price-parser-0.2.1.tar.gz", "has_sig": false, "md5_digest": "912b0ed34af633498ed4688dcf7b606e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31522, "upload_time": "2019-04-18T21:12:56", "upload_time_iso_8601": "2019-04-18T21:12:56.827288Z", "url": "https://files.pythonhosted.org/packages/31/3f/389d0134d47ea2796f32ad68c51034f0d17a689f46acda5485ce5192b762/price-parser-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "36b93b288045b69de13381804cc7ae38", "sha256": "c86cf7ff60ff3d69a4781e0594e84e335885f806c69c4e03fda9a445bcad23db" }, "downloads": -1, "filename": "price_parser-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "36b93b288045b69de13381804cc7ae38", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14079, "upload_time": "2019-06-18T08:35:07", "upload_time_iso_8601": "2019-06-18T08:35:07.259837Z", "url": "https://files.pythonhosted.org/packages/a4/46/30e31283923783b4f7b62f5ae5fb0a80821f7513a56dfe82eb40e375df3b/price_parser-0.2.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "002fa1518be6de7170f9e27478ecbf33", "sha256": "9bf39a317d46e2e6ce806d07bc929f6fc6f7fad96824e15baee63c99486dda13" }, "downloads": -1, "filename": "price-parser-0.2.2.tar.gz", "has_sig": false, "md5_digest": "002fa1518be6de7170f9e27478ecbf33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31637, "upload_time": "2019-06-18T08:35:08", "upload_time_iso_8601": "2019-06-18T08:35:08.772631Z", "url": "https://files.pythonhosted.org/packages/0a/80/f0f432c6424aec43dc564009a702ec3c6ba7fb831daad8fcd5eafdeb62f8/price-parser-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "671abd75e4e28d2e05a47420823ed5ea", "sha256": "d0055d9f9775102668bb47499eaa5a50f512523a1349d6570f279684ad35da12" }, "downloads": -1, "filename": "price_parser-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "671abd75e4e28d2e05a47420823ed5ea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14102, "upload_time": "2019-06-18T16:06:44", "upload_time_iso_8601": "2019-06-18T16:06:44.177572Z", "url": "https://files.pythonhosted.org/packages/fc/86/3e86a95f02ce5ca0bf387034eeb99d8c889c3230b17eedd1daaa9e2958a3/price_parser-0.2.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "74a8dc7dc2a6d07856039d3e8f53f6bd", "sha256": "9b16a14326d22d2fb71d0e0c2b0b41b817b4e6ec0a1a9281537999a98f997c1d" }, "downloads": -1, "filename": "price-parser-0.2.3.tar.gz", "has_sig": false, "md5_digest": "74a8dc7dc2a6d07856039d3e8f53f6bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31770, "upload_time": "2019-06-18T16:06:45", "upload_time_iso_8601": "2019-06-18T16:06:45.323260Z", "url": "https://files.pythonhosted.org/packages/44/98/804e859ba29ce85cc16ceff58c499e9f6c853464ae318ce647ec0c93dce3/price-parser-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "95874651d381170f82c1f942a7cc62ab", "sha256": "d63156d5a697dae152e28e03fdfab8269b571e544f82157a3fb8abe96bd1887b" }, "downloads": -1, "filename": "price_parser-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95874651d381170f82c1f942a7cc62ab", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14392, "upload_time": "2019-07-03T10:03:09", "upload_time_iso_8601": "2019-07-03T10:03:09.346834Z", "url": "https://files.pythonhosted.org/packages/65/69/1bd8ba08923bc232f6830dc172c7984181d6932b4be9f7b2a0d098d89e89/price_parser-0.2.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9fb61f2ad99d5221707351bea727cd1e", "sha256": "d9191d132d87f2cc9a9bb26c24147b1570dc33a0970f162369033db39396adad" }, "downloads": -1, "filename": "price-parser-0.2.4.tar.gz", "has_sig": false, "md5_digest": "9fb61f2ad99d5221707351bea727cd1e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32120, "upload_time": "2019-07-03T10:03:10", "upload_time_iso_8601": "2019-07-03T10:03:10.590587Z", "url": "https://files.pythonhosted.org/packages/20/b2/5eeaa5f326ab903c5b774b158edeceb0d2cc301d4f378228e71d9097afa2/price-parser-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "893b13a5572e203dee0037794d6426af", "sha256": "eb6e323efe611d2a78a6f6b400d2067144b57909eb589dc25df5b79677daaea4" }, "downloads": -1, "filename": "price_parser-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "893b13a5572e203dee0037794d6426af", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14809, "upload_time": "2019-10-18T23:05:45", "upload_time_iso_8601": "2019-10-18T23:05:45.051451Z", "url": "https://files.pythonhosted.org/packages/15/3d/d94b18920fe4bf1e221771baa515b11dcd9a3aff389537b92d1ce74f7bc7/price_parser-0.3.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5dd0e3dc9c8c025f10dc0e1563b4498c", "sha256": "a17db5c8e6f8f78f093b73b7a2c16600a1dd4558d388ef568f6d85ff4aaf7fb6" }, "downloads": -1, "filename": "price-parser-0.3.0.tar.gz", "has_sig": false, "md5_digest": "5dd0e3dc9c8c025f10dc0e1563b4498c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30754, "upload_time": "2019-10-18T23:05:46", "upload_time_iso_8601": "2019-10-18T23:05:46.803337Z", "url": "https://files.pythonhosted.org/packages/cc/5f/5a8a452f8263f26ab39306933a41ef8a9888188fa5d9ef6b264bd597af04/price-parser-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "d055887bf4cf5d54a125253c918094d3", "sha256": "1a52f1eff0d69b80efa63bb3326bb43e90089aec90e912ee396f6570573d5b11" }, "downloads": -1, "filename": "price_parser-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d055887bf4cf5d54a125253c918094d3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14932, "upload_time": "2019-10-21T17:42:54", "upload_time_iso_8601": "2019-10-21T17:42:54.290782Z", "url": "https://files.pythonhosted.org/packages/28/85/f804190c4e377b33f24fab9b70ede25802b2537acf964c424be53bd6f886/price_parser-0.3.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f2e413875051f2b7d5816c74c99e7e06", "sha256": "c3215289dcc43aa5d3742e934b6279ed249049629e9582e980cabdbb9a8a4637" }, "downloads": -1, "filename": "price-parser-0.3.1.tar.gz", "has_sig": false, "md5_digest": "f2e413875051f2b7d5816c74c99e7e06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30906, "upload_time": "2019-10-21T17:42:57", "upload_time_iso_8601": "2019-10-21T17:42:57.670414Z", "url": "https://files.pythonhosted.org/packages/8e/6d/32d1f8fd8bb49842ebf9e7e61af5327012f6fc469be5037b167db56133ed/price-parser-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "69c86bd776b4b631e8f89e269aff6358", "sha256": "0f3630ea94dd47f4310c7ce2b205b875b760d02c38f4380cbec2d5ae7992e5df" }, "downloads": -1, "filename": "price_parser-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "69c86bd776b4b631e8f89e269aff6358", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15002, "upload_time": "2020-01-28T16:23:40", "upload_time_iso_8601": "2020-01-28T16:23:40.821728Z", "url": "https://files.pythonhosted.org/packages/df/e0/d1976644bf6d9e71bfbc10e768f42b0d16ff3360874d0ee6f7cb155390ca/price_parser-0.3.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "adb24e48184a885f11a15e00769ff8ca", "sha256": "2656d59e1247cb5bef945a33f4b9c76a3ae7b83d45233f7ee2629785b6718f02" }, "downloads": -1, "filename": "price-parser-0.3.2.tar.gz", "has_sig": false, "md5_digest": "adb24e48184a885f11a15e00769ff8ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32091, "upload_time": "2020-01-28T16:23:42", "upload_time_iso_8601": "2020-01-28T16:23:42.476942Z", "url": "https://files.pythonhosted.org/packages/0a/17/ee5506f8b3a0ae366e19da6b5468d082ea44c18ef2e6f401395c56f2d26c/price-parser-0.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "4007cdb3cadad570a8b51d69cad2496d", "sha256": "815fa2f80f0eaf1c4fd9a03750ce52e7b037d3af3e295f77e89de8c89e8780a3" }, "downloads": -1, "filename": "price_parser-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4007cdb3cadad570a8b51d69cad2496d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15039, "upload_time": "2020-02-05T17:28:00", "upload_time_iso_8601": "2020-02-05T17:28:00.896904Z", "url": "https://files.pythonhosted.org/packages/b7/a9/7c4e879cfcf96f58069d24ddb63bf5612d9c2fbdc53bc6af16e7bf3b226f/price_parser-0.3.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e91aa2b10acb8d268d8832cc9ba58fc8", "sha256": "0c35ee9fbcf0fae2c065ee34d4671428431858239434e68bfcf2eb7034bc13be" }, "downloads": -1, "filename": "price-parser-0.3.3.tar.gz", "has_sig": false, "md5_digest": "e91aa2b10acb8d268d8832cc9ba58fc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32178, "upload_time": "2020-02-05T17:28:02", "upload_time_iso_8601": "2020-02-05T17:28:02.897034Z", "url": "https://files.pythonhosted.org/packages/2a/79/5118e2d554c3aba132d006c4946c4ad4715ce4043cf893cbaff751526854/price-parser-0.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "9cb219487cd8efa0baf087c3ae142321", "sha256": "99c89bd5b3e40ae0826dd1bec8392a82edab49d05b5add80d545c82fc8bd1633" }, "downloads": -1, "filename": "price_parser-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9cb219487cd8efa0baf087c3ae142321", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15230, "upload_time": "2020-11-25T09:35:49", "upload_time_iso_8601": "2020-11-25T09:35:49.809489Z", "url": "https://files.pythonhosted.org/packages/6a/3e/fd9f039dc9da081b96cf266949590619ddaf919caf67fef3cd46e907f5d5/price_parser-0.3.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "17bce6c8905a25f05828b148316c5bf8", "sha256": "8a286caa40fe28912f5e596bf09d72e085f80c4b2acaf5dd22aab8298e6ba731" }, "downloads": -1, "filename": "price-parser-0.3.4.tar.gz", "has_sig": false, "md5_digest": "17bce6c8905a25f05828b148316c5bf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32589, "upload_time": "2020-11-25T09:35:50", "upload_time_iso_8601": "2020-11-25T09:35:50.870328Z", "url": "https://files.pythonhosted.org/packages/16/05/f88c4ff27b944de34d96e57e723f9b44ed9c3d53e0c881f403000487093f/price-parser-0.3.4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9cb219487cd8efa0baf087c3ae142321", "sha256": "99c89bd5b3e40ae0826dd1bec8392a82edab49d05b5add80d545c82fc8bd1633" }, "downloads": -1, "filename": "price_parser-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9cb219487cd8efa0baf087c3ae142321", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15230, "upload_time": "2020-11-25T09:35:49", "upload_time_iso_8601": "2020-11-25T09:35:49.809489Z", "url": "https://files.pythonhosted.org/packages/6a/3e/fd9f039dc9da081b96cf266949590619ddaf919caf67fef3cd46e907f5d5/price_parser-0.3.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "17bce6c8905a25f05828b148316c5bf8", "sha256": "8a286caa40fe28912f5e596bf09d72e085f80c4b2acaf5dd22aab8298e6ba731" }, "downloads": -1, "filename": "price-parser-0.3.4.tar.gz", "has_sig": false, "md5_digest": "17bce6c8905a25f05828b148316c5bf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32589, "upload_time": "2020-11-25T09:35:50", "upload_time_iso_8601": "2020-11-25T09:35:50.870328Z", "url": "https://files.pythonhosted.org/packages/16/05/f88c4ff27b944de34d96e57e723f9b44ed9c3d53e0c881f403000487093f/price-parser-0.3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }