{ "info": { "author": "Marcin Kasperski", "author_email": "Marcin.Kasperski@mekk.waw.pl", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: DFSG approved", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Version Control" ], "description": ".. -*- mode: rst -*-\n\n====================================\nMercurial Extension Utils\n====================================\n\nThis module contains group of reusable functions, which I found useful\nwhile writing Mercurial extensions. \n\n.. contents::\n :local:\n :depth: 2\n\n.. sectnum::\n\nFor Mercurial users\n===========================\n\nThis module is of no direct use to you, but some extensions you may\nwish to use (for example `Dynamic Username`_ or `Path Pattern`_) need\nit to work.\n\nIn normal cases it should be installed automatically with the actual\nextension, read below for more tricky cases (in particular, for\ninformation about installation on Windows).\n\n.. note::\n\n This document uses `Dynamic Username`_ in examples, but the\n same method should work for any other extension\n which requires ``mercurial_extension_utils``.\n\nInstalling on Linux/Unix\n-------------------------------------------------------\n\nIn typical case ``mercurial_extension_utils`` should be installed\nautomatically, without requiring your attention, by commands like\n``pip install mercurial_dynamic_username``. \n\nIf for some reason it did not work, just install from PyPi with::\n\n pip install --user mercurial_extension_utils\n\nor system-wide with::\n\n sudo pip install mercurial_extension_utils \n\nIf you don't have ``pip``, try::\n\n sudo easy_install mercurial_extension_utils \n\nUpgrade to newer version using the same commands with ``--upgrade``\noption added, for example::\n\n pip install --user --upgrade mercurial_extension_utils \n\nIf you miss both ``pip``, and ``easy_install``, follow\nrecipe from `Installing for development`_ section.\n\nInstalling on Windows\n-------------------------------------------------------\n\nWindows Mercurial distributions (including most popular - and well\ndeserving that - TortoiseHg_) are not using system Python (in fact,\none may use Mercurial without installing Python at all), and\ninstalling into bundled Python path is uneasy. To remedy that,\nextensions utilizing this module handle additional methods of locating\nit.\n\nThe following two methods of installation are available:\n\n1. If you have some Python installed, you may still install both this module,\n and extension using it, from PyPi. For example::\n\n pip install mercurial_extension_utils \n pip install mercurial_dynamic_username\n\n This will not (yet) make the module visible to your Mercurial, but\n you will get all the necessary files installed on your computer.\n\n Then activate the actual extension in charge by specifying it's\n path, for example by writing in your ``Mercurial.ini``::\n\n [extensions]\n mercurial_dynamic_username = C:/Python27/Lib/site-packages/mercurial_dynamic_username.py\n\n .. note:: \n\n This works because ``mercurial_dynamic_username.py`` checks for\n ``mercurial_extension_utils.py`` saved in the same directory (and\n ``pip`` installs both modules in the same place). You can get\n the same effect by manually downloading all files into the same\n directory (using ``pip`` is more handy as it tracks dependencies\n and supports upgrades).\n\n Upgrade with ``pip`` by adding ``--upgrade`` to it's options.\n\n2. If you don't have any Python, clone both the extension(s)\n repository and ``mercurial_extension_utils``` and put them in the same\n place, for example::\n\n cd c:\\MercurialPlugins\n hg clone https://bitbucket.org/Mekk/mercurial-extension_utils/\n hg clone https://bitbucket.org/Mekk/mercurial-dynamic_username/\n\n Update repositories to newest tagged versions (untagged versions\n may be unstable or not working). \n\n Activate the actual extension by specifying it's path, for example\n by writing in ``Mercurial.ini``::\n\n [extensions]\n mercurial_dynamic_username = C:/MercurialPlugins/mercurial-dynamic_username/mercurial_dynamic_username.py\n\n .. note::\n\n Directory names matter. This works because\n ``mercurial_dynamic_username.py`` checks for\n ``mercurial_extension_utils.py`` in\n ``../mercurial_extension_utils`` and ``../extension_utils``\n (relative to it's own location).\n\n To upgrade to new version, simply pull and update to newer tag.\n\n\nInstalling for development\n-------------------------------------------------------\n\nOn Windows use second variant from the previous chapter (clone and activate\nby path).\n\nOn Linux/Unix do the same. Clone all the necessary repositories, for example::\n\n cd ~/sources/\n hg clone https://bitbucket.org/Mekk/mercurial-extension_utils/\n hg clone https://bitbucket.org/Mekk/mercurial-dynamic_username/\n\nthen either make it visible to Python by repeating in every repo::\n\n pip install --user -e .\n\nor activate the extension(s) by full path, by writing in ``~/.hgrc``\nsomething like::\n\n [extensions]\n mercurial_dynamic_username = ~/sources/mercurial-dynamic_username/mercurial_dynamic_username.py\n \n\nFor Mercurial extensions developers\n====================================\n\nContained functions are mostly tiny utilities related to configuration\nprocessing or location matching. They either extend Mercurial APIs a\nbit (like function to iterate config items which match regexp), or\nsupport tasks which aren't strictly Mercurial related, but happen\nrepeatably during extension writing (like matching repository root\nagainst set of paths defined in configuration).\n\nSee docstrings for details.\n\nHistory\n==================================================\n\nSee `HISTORY.txt`_\n\nDevelopment, bug reports, enhancement suggestions\n===================================================\n\nDevelopment is tracked on BitBucket, see \nhttp://bitbucket.org/Mekk/mercurial-extension_utils/\n\nUse BitBucket issue tracker for bug reports and enhancement\nsuggestions.\n\nAdditional notes\n====================================================\n\nCheck also `Mercurial extensions I wrote`_.\n\n.. _Mercurial extensions I wrote: http://mekk.bitbucket.io/mercurial.html\n.. _Mercurial: http://mercurial.selenic.com\n.. _Dynamic Username: http://bitbucket.org/Mekk/mercurial-dynamic_username/\n.. _Path Pattern: http://bitbucket.org/Mekk/mercurial-path_pattern/\n.. _HISTORY.txt: http://bitbucket.org/Mekk/mercurial-extension_utils/src/tip/HISTORY.txt\n\n.. _TortoiseHg: http://tortoisehg.bitbucket.org/\n\n.. |drone-badge| \n image:: https://drone.io/bitbucket.org/Mekk/mercurial-extension_utils/status.png\n :target: https://drone.io/bitbucket.org/Mekk/mercurial-extension_utils/latest\n :align: middle\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/Mekk/mercurial-extension_utils", "keywords": "mercurial hg extension", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "mercurial_extension_utils", "package_url": "https://pypi.org/project/mercurial_extension_utils/", "platform": "", "project_url": "https://pypi.org/project/mercurial_extension_utils/", "project_urls": { "Homepage": "http://bitbucket.org/Mekk/mercurial-extension_utils" }, "release_url": "https://pypi.org/project/mercurial_extension_utils/1.4.0/", "requires_dist": null, "requires_python": "", "summary": "Mercurial Extension Utils", "version": "1.4.0" }, "last_serial": 5294197, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "e57c01c2e817d2a3ce57221f4a526d1c", "sha256": "222f62754667d29a37bde9763b677d3221e3c189a0ce9ff2a8a41478bd406a25" }, "downloads": -1, "filename": "mercurial_extension_utils-0.10.0.tar.gz", "has_sig": false, "md5_digest": "e57c01c2e817d2a3ce57221f4a526d1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9406, "upload_time": "2015-10-18T18:34:35", "url": "https://files.pythonhosted.org/packages/66/da/a31e0afc983953c38ad1894e9340146d552fb77898e76f7f9f1515a1d589/mercurial_extension_utils-0.10.0.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "1f2ec73e80dfab1dbf75c455e39d0cad", "sha256": "e2ebe58c5b133674f97303c43c1438fac00ece98818a94c739feb754b0f6a623" }, "downloads": -1, "filename": "mercurial_extension_utils-0.11.0.tar.gz", "has_sig": false, "md5_digest": "1f2ec73e80dfab1dbf75c455e39d0cad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11653, "upload_time": "2015-10-20T00:09:16", "url": "https://files.pythonhosted.org/packages/05/da/d2c3fcac93018569faadba13875e2a81deafb5174fe04503a776f19707c3/mercurial_extension_utils-0.11.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "940a99fc47aebac9b862b08af7157069", "sha256": "449cf1d71cd681d2fbde360f50c9fe3eeec5409a1b4bcd2bffccd58f8c99b836" }, "downloads": -1, "filename": "mercurial_extension_utils-0.6.0.tar.gz", "has_sig": false, "md5_digest": "940a99fc47aebac9b862b08af7157069", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4419, "upload_time": "2015-10-13T20:53:36", "url": "https://files.pythonhosted.org/packages/5f/1d/5c1b17b662c23fe57fc17713dc7d21dd2dfb0d24bff4025a00e0a8274d9b/mercurial_extension_utils-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "db232dc156f47d5430e0878515c6f19d", "sha256": "c2ded4beae722529f5b26d3f86cfdb7905f72ff06168d2191bc0c9e40d2c72c8" }, "downloads": -1, "filename": "mercurial_extension_utils-0.6.1.tar.gz", "has_sig": false, "md5_digest": "db232dc156f47d5430e0878515c6f19d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4605, "upload_time": "2015-10-13T21:09:45", "url": "https://files.pythonhosted.org/packages/60/62/5259edcfcc2678960ccb88b669bae627fb08903ec0600f6298508ff22aaf/mercurial_extension_utils-0.6.1.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "c399253c53e7b1e51f4691ae3aacc59b", "sha256": "ea494fd11ee9ac52b1f7b63beb2b5def6c4d781b1470bf913fff45b1aea53064" }, "downloads": -1, "filename": "mercurial_extension_utils-0.7.0.tar.gz", "has_sig": false, "md5_digest": "c399253c53e7b1e51f4691ae3aacc59b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7888, "upload_time": "2015-10-14T11:14:05", "url": "https://files.pythonhosted.org/packages/54/dc/16832f3b20a31017a55ae561693a7b9c12890cee9eb5c0a0f7282220d979/mercurial_extension_utils-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "0d6bb59d18abf78b09b4ef00969d91da", "sha256": "d0d81ba66169878f9717fa501238126b08ead82139120f71cfe4de8b322fd62e" }, "downloads": -1, "filename": "mercurial_extension_utils-0.8.0.tar.gz", "has_sig": false, "md5_digest": "0d6bb59d18abf78b09b4ef00969d91da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8323, "upload_time": "2015-10-14T21:32:56", "url": "https://files.pythonhosted.org/packages/38/61/003333f7e7722c83e25cb8f957eb1882ffc7f3660856f8f4c4cb7d13312c/mercurial_extension_utils-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "48d91d78528226b618098a5fa2034a2c", "sha256": "27d0813c04b6207e7cb126896eb957a2b2d41453e902e9381556e1e085b05f64" }, "downloads": -1, "filename": "mercurial_extension_utils-0.8.1.tar.gz", "has_sig": false, "md5_digest": "48d91d78528226b618098a5fa2034a2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8317, "upload_time": "2015-10-14T21:58:04", "url": "https://files.pythonhosted.org/packages/f1/08/eefdfaacc4d9b8aff96811bb08eb32023973a5c9c0365e43e131a68a0bef/mercurial_extension_utils-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "87ceb74ea5f3a331cf90df57d68c730e", "sha256": "be39805eaf371bbe231b7199ad4441ffaf9e66f6a874e146ba15c33bf56e4bd3" }, "downloads": -1, "filename": "mercurial_extension_utils-0.9.0.tar.gz", "has_sig": false, "md5_digest": "87ceb74ea5f3a331cf90df57d68c730e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8911, "upload_time": "2015-10-18T13:31:35", "url": "https://files.pythonhosted.org/packages/4c/bc/dbc344e5c1ec1abd586b29fb16b1824a6af9520d4000309555c2904a77ee/mercurial_extension_utils-0.9.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "6bb29df4ea178faa7f5b7f6dba6fc983", "sha256": "dac0af201c7a676e72436c7f36338622fcfe0bd8c2477f7927ef2a8bcd3533b4" }, "downloads": -1, "filename": "mercurial_extension_utils-1.0.0.tar.gz", "has_sig": false, "md5_digest": "6bb29df4ea178faa7f5b7f6dba6fc983", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11609, "upload_time": "2015-10-28T22:28:00", "url": "https://files.pythonhosted.org/packages/6e/3c/6a37a783b6311c806b693411235aaa69eadf2b3642b3b13f857a66f5c29a/mercurial_extension_utils-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "26f7b2c2cfa51340b2f6da6b96187259", "sha256": "856bae3463ccf6e06d7f2ae314171e6f89bfe41da80c2451cef46c4aff359d3e" }, "downloads": -1, "filename": "mercurial_extension_utils-1.0.1.tar.gz", "has_sig": false, "md5_digest": "26f7b2c2cfa51340b2f6da6b96187259", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11708, "upload_time": "2015-11-13T21:02:29", "url": "https://files.pythonhosted.org/packages/5b/ee/ddcf843daa1a27efe78d0383cc48de682e85919064bcddded49a3316d3cd/mercurial_extension_utils-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "744d742ad7f58c27538cd87a80c2b3ab", "sha256": "987066ad7b72074b4f879101f5f0ba763320e60c99f80d48c56243a7196a85cd" }, "downloads": -1, "filename": "mercurial_extension_utils-1.1.0.tar.gz", "has_sig": false, "md5_digest": "744d742ad7f58c27538cd87a80c2b3ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12634, "upload_time": "2015-11-21T12:15:56", "url": "https://files.pythonhosted.org/packages/82/7d/328e99e5438b13707a9a58a90106531bd4dea56aa407771d4afd09619c84/mercurial_extension_utils-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "1984fe158e10385ae1149542b24f2661", "sha256": "8255e7d46d50a4a1cd2524fe1c28b6423a98bad6a9df075eb867c8026923d358" }, "downloads": -1, "filename": "mercurial_extension_utils-1.1.1.tar.gz", "has_sig": false, "md5_digest": "1984fe158e10385ae1149542b24f2661", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12721, "upload_time": "2015-12-03T19:08:48", "url": "https://files.pythonhosted.org/packages/a3/07/ac4f09b045b2fe4dcbca9ddc5fafa6786458822baf34061d2d8225d9cd7e/mercurial_extension_utils-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "2c4f3a74674b7a4a8128db574cc0bfba", "sha256": "cf47a9dd001e02c5854970c37c0b627eaf30be75257a8044e9ada839813b6bc6" }, "downloads": -1, "filename": "mercurial_extension_utils-1.1.2.tar.gz", "has_sig": false, "md5_digest": "2c4f3a74674b7a4a8128db574cc0bfba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13001, "upload_time": "2015-12-05T07:59:56", "url": "https://files.pythonhosted.org/packages/55/0e/f9f51f4e059c55f03d9b7263e331f4d248613d467f5ee7a680bce6c08c42/mercurial_extension_utils-1.1.2.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "16a8cced2c422eb9ae506a5da3479bf8", "sha256": "59cf998142621eebb2281a03ef25f58c2f472d422a129cf25df50cf01896ea0b" }, "downloads": -1, "filename": "mercurial_extension_utils-1.2.0.tar.gz", "has_sig": false, "md5_digest": "16a8cced2c422eb9ae506a5da3479bf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13810, "upload_time": "2016-03-09T23:46:44", "url": "https://files.pythonhosted.org/packages/7b/cf/f38d07e7e4af9017ff5ac821b6d3655ff9525bb099d17120f09ccdd665c1/mercurial_extension_utils-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "f12fb6df9570e9ccdfe6662eb63a1f31", "sha256": "199d114e6c26ea16ae7b2e385e34bddff8d90697458dd9f21353ef081b7c7c43" }, "downloads": -1, "filename": "mercurial_extension_utils-1.3.0.tar.gz", "has_sig": false, "md5_digest": "f12fb6df9570e9ccdfe6662eb63a1f31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14614, "upload_time": "2016-04-30T10:00:04", "url": "https://files.pythonhosted.org/packages/e2/14/95f2a3a18df3ec2766688963e952594c61f634f0daf400039fcf6b524d51/mercurial_extension_utils-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "9489fa3d7fe3c704f370f80c99bd1dbc", "sha256": "ecb7be4a3b0f57d0a6b25fbc0b741c8ccc7b537b2fae364c6f19b8559a18ef3b" }, "downloads": -1, "filename": "mercurial_extension_utils-1.3.1.tar.gz", "has_sig": false, "md5_digest": "9489fa3d7fe3c704f370f80c99bd1dbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14754, "upload_time": "2016-11-13T11:13:56", "url": "https://files.pythonhosted.org/packages/75/63/1f2630feec787f329e74e1e332637684a99d0466223fffedf04c0b142269/mercurial_extension_utils-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "854eb4e10ad36838ad7d3911af6f5f44", "sha256": "c00bc677ec2cd30b16767e39ef3be3af8b8510c6bb146d1985fc75929d79e02d" }, "downloads": -1, "filename": "mercurial_extension_utils-1.3.2.tar.gz", "has_sig": false, "md5_digest": "854eb4e10ad36838ad7d3911af6f5f44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14831, "upload_time": "2017-01-14T20:29:11", "url": "https://files.pythonhosted.org/packages/dd/07/8e37348c5ae414dbef2b5f91d0fa17db2be54aafee9ebe2b4856d36ce053/mercurial_extension_utils-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "d491a120db9baafb82ed9eea3773914d", "sha256": "e1f6cad87e43db9bae768afc918648a9c6df9ef94e4e5859924720c8432b490d" }, "downloads": -1, "filename": "mercurial_extension_utils-1.3.3.tar.gz", "has_sig": false, "md5_digest": "d491a120db9baafb82ed9eea3773914d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17059, "upload_time": "2017-05-18T14:47:44", "url": "https://files.pythonhosted.org/packages/14/6d/cba326e9b33f8b64e4f2cb6654563bbea35e4b4f3652b63bb2932ca53851/mercurial_extension_utils-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "570cec80380b334d60d809402467bc19", "sha256": "427ff9d31fadaea2c0a1d6852068008f1081ed63aa925dce987da887e15d68b7" }, "downloads": -1, "filename": "mercurial_extension_utils-1.3.4.tar.gz", "has_sig": false, "md5_digest": "570cec80380b334d60d809402467bc19", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14739, "upload_time": "2017-06-03T06:07:14", "url": "https://files.pythonhosted.org/packages/39/4f/b43ee6210d9ecbc5b9309e38aa6818ac89a183f8815538ead16803327f8e/mercurial_extension_utils-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "3a11f77206bcecdc0d58e6f45e46584d", "sha256": "30e0e20c4af7c03df880762f36a2812be74972b5043b4a63ebe6a7db3b813b18" }, "downloads": -1, "filename": "mercurial_extension_utils-1.3.5.tar.gz", "has_sig": false, "md5_digest": "3a11f77206bcecdc0d58e6f45e46584d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14732, "upload_time": "2018-05-25T23:13:54", "url": "https://files.pythonhosted.org/packages/75/b8/c2cf4633b72a7d34d89f0ad1efb55cdc17c820924282cff948692c4eab18/mercurial_extension_utils-1.3.5.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "fb74dac4dd27bf350dc7b3cc9c2ee407", "sha256": "8eb6cdf8e9c053d12635676ea68c94a149164bfb84f0c36ea00d7eddd76405d6" }, "downloads": -1, "filename": "mercurial_extension_utils-1.3.6.tar.gz", "has_sig": false, "md5_digest": "fb74dac4dd27bf350dc7b3cc9c2ee407", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14804, "upload_time": "2018-08-03T21:06:37", "url": "https://files.pythonhosted.org/packages/fd/50/2f4b3c74f24ae48bb72652155974734b360b32bf39056a36ce2a6c5a8996/mercurial_extension_utils-1.3.6.tar.gz" } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "6b87dae0acd9ed58c7fc7e15401aa2aa", "sha256": "993226276d1efdae39c671ae2ad90334442ce7361795be91366ccf5a705c8399" }, "downloads": -1, "filename": "mercurial_extension_utils-1.3.7.tar.gz", "has_sig": false, "md5_digest": "6b87dae0acd9ed58c7fc7e15401aa2aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17186, "upload_time": "2018-11-05T13:44:42", "url": "https://files.pythonhosted.org/packages/5f/c8/017680577c4916a3b48a45b86d2d91950ffb73d3250d86e88fbe807196d0/mercurial_extension_utils-1.3.7.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "ff12b20ccb7722626eb0a78d0dfa5eb8", "sha256": "72c4160127ce892ba68d4e61b1a504727b6ae8b047b4dbf794f10c77c645ec98" }, "downloads": -1, "filename": "mercurial_extension_utils-1.4.0.tar.gz", "has_sig": false, "md5_digest": "ff12b20ccb7722626eb0a78d0dfa5eb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24359, "upload_time": "2019-05-20T21:04:38", "url": "https://files.pythonhosted.org/packages/39/c0/d723217415a965f5cacab4ca6ca424904f0a4466a77b2246d65f57910a4d/mercurial_extension_utils-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ff12b20ccb7722626eb0a78d0dfa5eb8", "sha256": "72c4160127ce892ba68d4e61b1a504727b6ae8b047b4dbf794f10c77c645ec98" }, "downloads": -1, "filename": "mercurial_extension_utils-1.4.0.tar.gz", "has_sig": false, "md5_digest": "ff12b20ccb7722626eb0a78d0dfa5eb8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24359, "upload_time": "2019-05-20T21:04:38", "url": "https://files.pythonhosted.org/packages/39/c0/d723217415a965f5cacab4ca6ca424904f0a4466a77b2246d65f57910a4d/mercurial_extension_utils-1.4.0.tar.gz" } ] }