{ "info": { "author": "Ond\u0159ej Caletka", "author_email": "ondrej@caletka.cz", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Version Control :: Git", "Topic :: System :: Systems Administration" ], "description": "Git hooks to manage a repository of DNS zones\n=============================================\n\n``dzonegit`` is a set of Git hooks allowing you to manage DNS zone files in a\ngit repository. First, zone file sanity checks are run by ``pre-commit`` hook\non your computer. After pushing changes to a bare repository on the DNS server,\nthe sanity checks are run again on the server and if everything is OK,\nrepository is checked out to a directory, DNS software configuration\nsnippets are re-generated from a simple template and finally reload command\nis issued.\n\nMain features\n-------------\n\n- check if zone file compiles properly using `named-compilezone(8)`_\n- autodetect zone name from file name or ``$ORIGIN`` directive\n- enforce updating serial number when zone content is changed\n- optional ``smudge`` filter to replace ``$UNIXTIME`` directive with current UNIX time\n- both ``pre-commit`` and ``pre-receive``/``update`` hooks to enforce similar checks in the remote repository\n- ``post-receive`` hook to checkout the working copy from a bare repository, generate config snippets for various DNS server software and reload them\n- only Python 3.5+ standard library is used\n\n\nRequirements\n------------\n\n- Python 3.5+\n- `named-compilezone(8)`_ (part of `bind9utils` package)\n- git\n\n\nSimple instalation (especially for workstations)\n------------------------------------------------\n\nSince there is no other Python dependency than the standard library, you can\nsimply download the `dzonegit.py` file, make it executable and rename/symlink\nit to an appropriate hook location inside the Git repository\n`.git/hooks/pre-commit`. This is especially handy for the end users not\nexperienced with Python packaging ecosystem.\n\n\nFull instalation and usage\n--------------------------\n\n- install all the requirements\n- install ``dzonegit`` Python package using your\n favourite tool (``virtualenvwrapper``, ``venv``, ``pipenv``, etc.)\n- in the local repository, create a symlink for the ``pre-commit`` hook:\n ``$ ln -s $(which dzonegit-pre-commit) /path/to/repo/.git/hooks/pre-commit``\n- on the server, install some git repository management software,\n preferably Gitolite_\n- on the server, install either ``pre-receive`` or ``update`` hook\n (both do the same) as well as the ``post-receive`` hook. See `Gitolite\n documentation on how to add custom hooks`_\n- on the server, set up the configuration options for each repository\n\nSupport for $UNIXTIME directive\n-------------------------------\n\nIf you want to use ``$UNIXTIME`` in your zone files instead of serial number,\nyou have to install a `smudge` filter on the server, that will replace the\ndirective with current unix time on every checkout. First, set up the filter\nin the Git configuration:\n\n.. code-block:: shell\n\n $ git config --global filter.dzonegit.smudge $(which dzonegit-smudge-serial)\n\n\nThen, apply the filter on all zone files using either ``.git/info/attributes``\nor directly ``.gitattributes`` file inside the repository:\n\n.. code-block::\n\n *.zone filter=dzonegit\n\n\nConfiguration options\n---------------------\n\nAll configuration options are stored in `git-config(1)`_ in the section\nnamed ``dzonegit``. All boolean options default to *False*.\n\n\n*dzonegit.ignorewhitespaceerrors*\n Ignore white space errors in ``pre-commit`` and ``pre-receive``/``update`` hooks.\n\n*dzonegit.allowfancynames*\n In ``pre-commit`` and ``pre-receive``/``update`` hooks, do not enforce zone\n file name to be similar to the name of the zone.\n\n*dzonegit.noserialupdate*\n Do not try to automatically update zone serial number if necessary.\n Valid only in the ``pre-commit`` hook.\n\n*dzonegit.nomissingdotcheck*\n Do not check for forgotten final dot on the right-hand side of PTR records.\n Valid only in the ``pre-commit`` hook.\n\n*dzonegit.checkoutpath*\n Path to a writable directory, to which ``post-receive`` hook checks out\n current *HEAD* after each update.\n\n*dzonegit.conffiletemplate*\n Path to a JSON file containing template for generating DNS server\n configuration snippet. See below for file format specification. More\n files can be provided by appending single digit from 1 to 9 to this option.\n\n*dzonegit.conffilepath*\n Path to a writable file to generate DNS server configuration snippet.\n More files can be provided by appending single digit from 1 to 9 to this\n option. Each file is generated using the template with corresponding suffix.\n\n*dzonegit.reconfigcmd*\n A command to run when zones are introduced, deleted or renamed in the\n repository. Should do something like ``rndc reconfig``. More commands\n can be provided by appending single digit from 1 to 9 to this option.\n\n*dzonegit.zonereloadcmd*\n A command to run for each zone, where zone file has been modified. Zone\n name is automatically appended as the last argument. Should do something\n like ``rndc reload``. More commands can be provided by appending single digit\n from 1 to 9 to this option.\n\n*dzonegit.zoneblacklist*\n Path to a text file containing list of zone names without trailing dots,\n one per line. If zone is found on the blacklist, it is ignored when\n ``post-receive`` hook generates configuration. Wildcards can be used as\n well, see `JSON template`_ below.\n\n*dzonegit.zonewhitelist*\n Path to a text file containing list of zone names without trailing dots,\n one per line. If not empty and zone is not found on the whitelist,\n it is ignored when ``post-receive`` hook generates configuration. Wildcards\n can be used as well, see `JSON template`_ below.\n\nJSON template\n-------------\n\nThe DNS server configuration snippets are generated using a simple JSON-based\ntemplate. All keys are optional but please make sure the file is a valid JSON\nfile. It is possible to define a zone-specific options, for instance for\nchanging DNSSEC parameters per zone. Those zone-specific options allow usage of\nwildcards; if an exact match of zone name is not found, the leftmost label is\nsubstituted with `*`. If still no match is found, the leftmost label is dropped\nand the second one is again substituted with `*`. In the end, a single `*` is\nchecked. Only if even this key is not found, the value of *defaultvar* is used\nas the zone-specific option.\n\nValid keys are:\n\n*header*\n A string that is templated to the begining of the output file.\n\n*footer*\n A string that is templated to the end of the output file.\n\n*item*\n A string that is templated for each zone.\n\n*defaultvar*\n A string that would template variable ``$zonevar`` expand to if there is not\n a zone-specific variable defined, nor any wildcard matched.\n\n*zonevars*\n An object mapping zone names (without the final dot) to a zone-specific\n variable to which template variable ``$zonevar`` would expand to. Using\n wildcards is possible by replacing the leftmost label with `*`. Ultimately,\n a key with label `*` will match every single zone (making *defaultvar*\n option litte bit pointless)\n\nIn the template strings, these placeholders are supported:\n\n``$datetime``\n Current date and time in human readable format\n\n``$zonename``\n Zone name, without the trailing dot\n\n``$zonefile``\n Full path to the zone file\n\n``$zonevar``\n Per-zone specific variable, see above\n\nExample JSON template for Knot DNS\n..................................\n\n.. code-block:: json\n\n {\n \"header\": \"# Managed by dzonegit, do not edit.\\nzone:\",\n \"footer\": \"\",\n \"item\": \" - domain: \\\"$zonename\\\"\\n file: \\\"$zonefile\\\"\\n $zonevar\\n\",\n \"defaultvar\": \"template: default\",\n \"zonevars\": {\n \"example.com\": \"template: signed\",\n \"*.cz\": \"template: czdomains\",\n \"*.in-addr.arpa\": \"template: ipv4reverse\"\n }\n }\n\n\nExample JSON template for BIND\n..............................\n\n.. code-block:: json\n\n {\n \"header\": \"# Autogenerated by dzonegit on $datetime. Do not edit.\\n\",\n \"item\": \"zone \\\"$zonename\\\" {\\n type master;\\n file \\\"$zonefile\\\";\\n};\"\n }\n\n\n.. _named-compilezone(8): https://linux.die.net/man/8/named-compilezone\n.. _git-config(1): https://linux.die.net/man/1/git-config\n.. _Gitolite: http://gitolite.com/gitolite/index.html\n.. _Gitolite documentation on how to add custom hooks: http://gitolite.com/gitolite/cookbook/#hooks\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/oskar456/dzonegit", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "dzonegit", "package_url": "https://pypi.org/project/dzonegit/", "platform": "", "project_url": "https://pypi.org/project/dzonegit/", "project_urls": { "Homepage": "https://github.com/oskar456/dzonegit" }, "release_url": "https://pypi.org/project/dzonegit/0.11/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Git hooks to manage a repository of DNS zones", "version": "0.11" }, "last_serial": 4279138, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b4b7f26e152818b8a8c00c07c66c6b7f", "sha256": "0d747ca34971729e97e215c0196b89171804e579f6a7dabe60df086de7ddc8bb" }, "downloads": -1, "filename": "dzonegit-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b4b7f26e152818b8a8c00c07c66c6b7f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 8573, "upload_time": "2018-07-18T15:03:45", "url": "https://files.pythonhosted.org/packages/1f/12/233f8b8a5da5738f6a8313ac0c9949a8eab1a4f8b53fb43e1ba95c67409d/dzonegit-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5376553326a622103311c7b9b520aae", "sha256": "f07337f0e1373b93e6b632a86c6431aca562759cefd79c8ddf84ffa5b1ada5e1" }, "downloads": -1, "filename": "dzonegit-0.1.tar.gz", "has_sig": false, "md5_digest": "c5376553326a622103311c7b9b520aae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 8448, "upload_time": "2018-07-18T15:03:47", "url": "https://files.pythonhosted.org/packages/97/40/e8523ed3eaf623f64baa34bdc345d38134979927071ee6f6f4bb4ace4d62/dzonegit-0.1.tar.gz" } ], "0.10": [ { "comment_text": "", "digests": { "md5": "085251e43fd9ca4527bc627144c3484b", "sha256": "3d78652847e73b9d4fa3795807d6e972ab64d894e62c3403c07a56e3f47e1a7a" }, "downloads": -1, "filename": "dzonegit-0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "085251e43fd9ca4527bc627144c3484b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10210, "upload_time": "2018-08-28T10:55:09", "url": "https://files.pythonhosted.org/packages/74/99/4eb5e3e3f47c11afa29bf2d173f06d68f8c488c7603b0cd4e468885fb22c/dzonegit-0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21fda0ae6ce118c6fb75bcc4771828be", "sha256": "c09909e2f905dedf79ddf3094359b1f062f0899b0aaf7395eeb6e55c7122be5f" }, "downloads": -1, "filename": "dzonegit-0.10.tar.gz", "has_sig": false, "md5_digest": "21fda0ae6ce118c6fb75bcc4771828be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12873, "upload_time": "2018-08-28T10:55:10", "url": "https://files.pythonhosted.org/packages/00/6b/06c2d2f2da46b36525c24468622f75eaf10cbeab6b856827ed84c36d4e5c/dzonegit-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "6f0afe2322991ad1263f82a1bc885288", "sha256": "53bff075c78a63e4585a548d8f66005dd923f88dae9a3e8616a1ce89fb9ff060" }, "downloads": -1, "filename": "dzonegit-0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "6f0afe2322991ad1263f82a1bc885288", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10219, "upload_time": "2018-09-17T11:54:10", "url": "https://files.pythonhosted.org/packages/0e/18/b6bc2c07b70e7067bca17df61f21dea46245b671985ab28dda61b65bc1f1/dzonegit-0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "038a2871a21a9505cd9bf75bbd31b4e8", "sha256": "b70d6899661ff1336bd5e5705a7b14c0dd8d4f730437e764a01325451787d187" }, "downloads": -1, "filename": "dzonegit-0.11.tar.gz", "has_sig": false, "md5_digest": "038a2871a21a9505cd9bf75bbd31b4e8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12884, "upload_time": "2018-09-17T11:54:12", "url": "https://files.pythonhosted.org/packages/8a/f8/027846a7478943fab9d306b82f1556ec9b0baba2dfe0d1469950c6984ab2/dzonegit-0.11.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "509b7f8e5557aeed366bca93546ee535", "sha256": "6d6a7a0c4260d02e4f964db7358c7d5beefe10971e784437636a8054adbaa4ed" }, "downloads": -1, "filename": "dzonegit-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "509b7f8e5557aeed366bca93546ee535", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9062, "upload_time": "2018-07-23T12:25:41", "url": "https://files.pythonhosted.org/packages/18/7b/90d13c7951fd8d3f4b712153d0f88ead9d9f45e10aa83cd789421955064d/dzonegit-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae890fbc35377866ff38a8142616ed45", "sha256": "014a9b5286e10844f693cdfa9bb398799c761edfb71344f4b31b03f37e186c15" }, "downloads": -1, "filename": "dzonegit-0.2.tar.gz", "has_sig": false, "md5_digest": "ae890fbc35377866ff38a8142616ed45", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9020, "upload_time": "2018-07-23T12:25:42", "url": "https://files.pythonhosted.org/packages/2b/39/7c7400f21b988f9031ee58414f7b8b5d5e697a76b2074972823122002844/dzonegit-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "37f8cd4f061afee16d55f5791bd8c1a1", "sha256": "16352ef3e891bf9a0cb84ac4824ce008721eb8de3b9c64b451d2d9195da92921" }, "downloads": -1, "filename": "dzonegit-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "37f8cd4f061afee16d55f5791bd8c1a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9293, "upload_time": "2018-08-10T14:07:27", "url": "https://files.pythonhosted.org/packages/7a/c2/009b94da440811417143ae462f241010b3edc92e1f151f6b2d4cd3398107/dzonegit-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82ab875ad1db42b79a00ec9ac5473494", "sha256": "dec7014bebe4622cd7b72fa4575929afe8ad31872c816975bb627a81df03b24e" }, "downloads": -1, "filename": "dzonegit-0.3.tar.gz", "has_sig": false, "md5_digest": "82ab875ad1db42b79a00ec9ac5473494", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9269, "upload_time": "2018-08-10T14:07:28", "url": "https://files.pythonhosted.org/packages/34/f8/cadcfc9a1b48023abccaf75e86c1d23f5a8afbcbf2044ba74801ae4620d2/dzonegit-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "f560ff7e5b695e40c7875fdf2c7cbb49", "sha256": "f9c1db08b0274fed9e1e2404780f69e1be6c3550c25d500d18f14c0a24bf8401" }, "downloads": -1, "filename": "dzonegit-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "f560ff7e5b695e40c7875fdf2c7cbb49", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9330, "upload_time": "2018-08-15T12:16:58", "url": "https://files.pythonhosted.org/packages/74/72/6283ffcd44b3aee0eac0a2934b2fb2f73565b7a5f8001e15b09a5bdbc351/dzonegit-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43a6b3afbd020add41bc6c5e457d88b3", "sha256": "b0caad78ee06dee246a44650f84d453618f24f92b42c94e72aa032bae56dbb9d" }, "downloads": -1, "filename": "dzonegit-0.4.tar.gz", "has_sig": false, "md5_digest": "43a6b3afbd020add41bc6c5e457d88b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9338, "upload_time": "2018-08-15T12:17:00", "url": "https://files.pythonhosted.org/packages/53/41/20a8c7b3e174fbd9aed0eb2105bc33808ebcb45ed8899179ac99c6260f3f/dzonegit-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "e86dc177c261629a25d8f2cce31063de", "sha256": "334d78bdf6d56a8eebe348fec23eccd4e2448468cdb3d208082d4d4f53b0bc19" }, "downloads": -1, "filename": "dzonegit-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "e86dc177c261629a25d8f2cce31063de", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9347, "upload_time": "2018-08-16T08:38:26", "url": "https://files.pythonhosted.org/packages/7c/c9/dd90282d583e140323e38db1a46ff3bddb35f8893c4d4e6344e9474d8616/dzonegit-0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4dd56f533caa2dbfa18fb33553967040", "sha256": "a6122d2cd56fdf9acec4f8c9806aa36056604d3186926910928a416535f710e0" }, "downloads": -1, "filename": "dzonegit-0.5.tar.gz", "has_sig": false, "md5_digest": "4dd56f533caa2dbfa18fb33553967040", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9361, "upload_time": "2018-08-16T08:38:27", "url": "https://files.pythonhosted.org/packages/4d/6a/35f5a16bedd9367eb9af660f308211be7ddac7c22715be8816901623425c/dzonegit-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "68b06be05e6bbb23913f15df429ea317", "sha256": "71fe5dd6d10d6819a786ba4f1f4dc0c31cd06bf52ebd45e2ea02c7353a45d926" }, "downloads": -1, "filename": "dzonegit-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "68b06be05e6bbb23913f15df429ea317", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9882, "upload_time": "2018-08-20T13:35:10", "url": "https://files.pythonhosted.org/packages/52/72/781fa69fe894057991fd2a941c5d0d24bbe60f047c124953fbcc09820575/dzonegit-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c4b62ae1809db447219067e56e067f4", "sha256": "abdd7e0d58f49682591294ff6563d7cb70a15aaa67749d95d94c5f9b110af2ce" }, "downloads": -1, "filename": "dzonegit-0.6.tar.gz", "has_sig": false, "md5_digest": "4c4b62ae1809db447219067e56e067f4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9920, "upload_time": "2018-08-20T13:35:12", "url": "https://files.pythonhosted.org/packages/24/eb/6331b15cf6aa97eeeb8a3fb02368c924ef1b65f3f97d80ac67389125a65a/dzonegit-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "bb2d8954851ee86077f6b499918f252f", "sha256": "ef66e99e154dbd3aecaa0ab14b2e5e23b553882214f39d4bde8e497942ee83b8" }, "downloads": -1, "filename": "dzonegit-0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "bb2d8954851ee86077f6b499918f252f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9902, "upload_time": "2018-08-20T14:41:16", "url": "https://files.pythonhosted.org/packages/bb/54/2096d18b316d10da5380d29ad3f9789108c60ea8d7fb5f439a59c51c88e9/dzonegit-0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12bd37672ba915519714f7c455e83073", "sha256": "3436940bb0b0d264691cbfcbf00406dea00eab5cfa9b35a5cd780a9f950fe9ba" }, "downloads": -1, "filename": "dzonegit-0.7.tar.gz", "has_sig": false, "md5_digest": "12bd37672ba915519714f7c455e83073", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9931, "upload_time": "2018-08-20T14:41:18", "url": "https://files.pythonhosted.org/packages/0d/41/a7769e1a9c4d18d815e301b51157b2da5f49ac66f3db1517e06eef6003e8/dzonegit-0.7.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "7474178ade50631fd0c81d00e4060a4c", "sha256": "a3fd49e91bbaf3e7a67a7eb50578b62da8fd1cd4f6b58dc8b9733886b272f946" }, "downloads": -1, "filename": "dzonegit-0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "7474178ade50631fd0c81d00e4060a4c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 9917, "upload_time": "2018-08-23T08:51:55", "url": "https://files.pythonhosted.org/packages/6e/6f/d206809a8d28cdce53c7850a7238c26fd49a808f28891e3364754d837247/dzonegit-0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0cdd0ffce474a29883845a87fe753c87", "sha256": "6545866f7c45d018835674a2b6078d87fbe4fdf980254d3de53d735d9cdb967a" }, "downloads": -1, "filename": "dzonegit-0.9.tar.gz", "has_sig": false, "md5_digest": "0cdd0ffce474a29883845a87fe753c87", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9952, "upload_time": "2018-08-23T08:51:56", "url": "https://files.pythonhosted.org/packages/8a/ae/8a93fb44f8b97381b4e39a3045021df8d810886da65c3f63d94fae5773ce/dzonegit-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6f0afe2322991ad1263f82a1bc885288", "sha256": "53bff075c78a63e4585a548d8f66005dd923f88dae9a3e8616a1ce89fb9ff060" }, "downloads": -1, "filename": "dzonegit-0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "6f0afe2322991ad1263f82a1bc885288", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 10219, "upload_time": "2018-09-17T11:54:10", "url": "https://files.pythonhosted.org/packages/0e/18/b6bc2c07b70e7067bca17df61f21dea46245b671985ab28dda61b65bc1f1/dzonegit-0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "038a2871a21a9505cd9bf75bbd31b4e8", "sha256": "b70d6899661ff1336bd5e5705a7b14c0dd8d4f730437e764a01325451787d187" }, "downloads": -1, "filename": "dzonegit-0.11.tar.gz", "has_sig": false, "md5_digest": "038a2871a21a9505cd9bf75bbd31b4e8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12884, "upload_time": "2018-09-17T11:54:12", "url": "https://files.pythonhosted.org/packages/8a/f8/027846a7478943fab9d306b82f1556ec9b0baba2dfe0d1469950c6984ab2/dzonegit-0.11.tar.gz" } ] }