{ "info": { "author": "Thomas Gl\u00e4\u00dfle", "author_email": "thomas@coldfix.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: Public Domain", "Programming Language :: Python :: 3", "Topic :: Software Development :: Version Control :: Git" ], "description": "git-punchcard\n=============\n\nSimple git punchcard utility, inspired by git-punchcard-plot_ but rewritten\nfor python3 with matplotlib.\n\n.. _git-punchcard-plot: https://github.com/guanqun/git-punchcard-plot\n\n|Screenshot|\n\n\nInstallation\n~~~~~~~~~~~~\n\nInstall or upgrade from PyPI_ as follows:\n\n.. code-block:: bash\n\n pip install --user --upgrade git-punchcard[gui]\n\nAlso, make sure that ``$HOME/.local/bin`` is in ``$PATH``.\n\nTo avoid conflicts with other packages, I recommend installing into an\nisolated environment, e.g. using pipx_:\n\n.. code-block:: bash\n\n pipx install git-punchcard[gui]\n\n.. _PyPI: https://pypi.org/project/git-punchcard\n.. _pipx: https://github.com/pipxproject/pipx\n\n\nUsage\n~~~~~\n\nBasic usage:\n\n.. code-block:: bash\n\n git punchcard\n\nAdditional arguments can be specified as follows:\n\n.. code-block:: bash\n\n git punchcard [...] []\n [--] [] [] [-- ...]\n\nFor more help on available options, type:\n\n.. code-block:: bash\n\n git punchcard -h # [options]\n git help log # [log options]\n git help gitrevisions # [revision]\n\n\nOptions\n~~~~~~~\n\nThe most common builtin options are:\n\n.. code-block:: bash\n\n # use a fixed timezone for all commits:\n git punchcard --timezone CET\n git punchcard --timezone Europe/Berlin\n git punchcard --timezone UTC+02:30\n\n # show punchcard with specified y/x axes:\n git punchcard -p year/month\n git punchcard -p wday/month\n\n # histogram with specified x axis:\n git punchcard -p /wday\n\n # set the directory of the git repository (multiple allowed):\n git punchcard /path/to/repo\n\n # analyze all repositories in ~/dev:\n git punchcard ~/dev/*/.git\n\n # read commit dates from stdin:\n git punchcard -\n\n # show a github-like punchcard plot with grid:\n git punchcard --grid\n\nBy default, each commit's local timezone is used for the plot. If setting a\nfixed timezone, it should be specified in terms of the timezone name (e.g.\n``CET`` or ``Europe/Berlin``), but can also given by `ISO 3166 country code`\nor country name (if the timezone is ambiguous we will pick the first entry).\n\n.. _ISO 3166 country code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n\n\ngit log options\n~~~~~~~~~~~~~~~\n\nAdditionally, you can pass any options understood by ``git log`` to e.g.\nrestrict the range of commits and limit to commits performed by a certain\nauthor:\n\n.. code-block:: bash\n\n # include only commits by specific author:\n git punchcard --author=myself\n\n # consider only only the 20 commits:\n git punchcard master~20..master\n\n # commits within a certain time frame:\n git punchcard --since=\"1 year ago\" --until=now\n\n # show at which times a certain file/folder is usually edited:\n git punchcard --follow -- README.rst docs\n\n # show at which times, people like to merge:\n git punchcard --merges\n\n\nAdvanced example\n~~~~~~~~~~~~~~~~\n\nTrack evolution of commit activity over the years:\n\n.. code-block:: bash\n\n for year in {2016..2019}; do\n git punchcard -o $year.png --title $year \\\n --since 1.1.$year --until 31.12.$year\n done\n\n\n.. resources:\n\n.. |Screenshot| image:: https://raw.githubusercontent.com/coldfix/git-punchcard/master/screenshot.png\n :target: https://raw.githubusercontent.com/coldfix/git-punchcard/master/screenshot.png\n :alt: Screenshot\n\nChanges\n=======\n\n2.0.4\n~~~~~\nDate: 28.10.2021\n\n- add pyqt as optional *gui* dependency, e.g.: ``pip install git-punchcard[gui]``\n- migrate from Travis CI to GitHub Actions\n\n\n2.0.3\n~~~~~\nDate: 31.10.2019\n\n- include license file in source distribution\n\n\n2.0.2\n~~~~~\nDate: 31.10.2019\n\n- automatic deployments\n- changes in setup and testing\n\n\n2.0.1\n~~~~~\nDate: 26.03.2019\n\n- fix: default to current directory if no input pathes were passed by the user\n\n\n2.0.0\n~~~~~\nDate: 26.03.2019\n\n- turn ``-C`` into positional argument, remove ``-C`` option\n- allow multiple input files\n- allow passing ``-`` and files with ``git log`` output as input files\n- remove obsolete dependency on docopt\n- allow passing country codes and names instead of timezone (using first\n available timezone in case of ambiguity)\n- match timezones case-insensitively\n- show git command and number of commits\n- show error message without traceback for common errors\n\n\n1.4.0\n~~~~~\nDate: 26.03.2019\n\n- learn ``--period Y/X`` parameter to specify Y/X axes\n- can plot histograms by leaving one of the axes empty\n- understand ``-v`` as alias for ``--version``\n\n\n1.3.0\n~~~~~\nDate: 21.03.2019\n\n- log options are now passed directly without ``--`` same as the other options\n- drop dependency on docopt\n\n\n1.2.0\n~~~~~\nDate: 21.03.2019\n\n- fix setup.py exception if called without runtime dependencies\n- import pytz only if needed\n- learn a ``-C DIR`` parameter to pass the path to the git repository\n- learn a ``--version`` parameter to show the script version\n- fix error when passing options and git options at the same time\n- turn into a module and use setuptools entry_points to generate script\n\n\n1.1.0\n~~~~~\nDate: 11.03.2019\n\n- add ``--title`` parameter\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/coldfix/git-punchcard", "keywords": "", "license": "Unlicense", "maintainer": "", "maintainer_email": "", "name": "git-punchcard", "package_url": "https://pypi.org/project/git-punchcard/", "platform": "", "project_url": "https://pypi.org/project/git-punchcard/", "project_urls": { "Homepage": "https://github.com/coldfix/git-punchcard" }, "release_url": "https://pypi.org/project/git-punchcard/2.0.4/", "requires_dist": [ "numpy", "matplotlib", "pytz", "pyqt5 ; extra == 'gui'" ], "requires_python": ">=3.3", "summary": "punchcard generator for git commit frequencies", "version": "2.0.4", "yanked": false, "yanked_reason": null }, "last_serial": 11857140, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "c5e8ade8ed3a6e389841185c21370d9c", "sha256": "92577b3a9070e9ec0c5fa09d89d6a50c8b3584b97905e10422b9e3e4c89e58a7" }, "downloads": -1, "filename": "git_punchcard-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c5e8ade8ed3a6e389841185c21370d9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3462, "upload_time": "2019-03-11T20:03:53", "upload_time_iso_8601": "2019-03-11T20:03:53.348519Z", "url": "https://files.pythonhosted.org/packages/32/6a/92df73c8755c8658f72aba0f4bd77df062932c029b95019cb141e92aaaf5/git_punchcard-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "dd10095f75f1d9a98dbb1d299e7f3791", "sha256": "8af8c282aa2c00a6638140835e842855d896524c160680515d50c5f962bebf6a" }, "downloads": -1, "filename": "git-punchcard-1.0.0.tar.gz", "has_sig": false, "md5_digest": "dd10095f75f1d9a98dbb1d299e7f3791", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3257, "upload_time": "2019-03-11T20:03:54", "upload_time_iso_8601": "2019-03-11T20:03:54.787599Z", "url": "https://files.pythonhosted.org/packages/f4/89/b1c4d6da753abb57b28e407db8451b2f27969f169b094460e02d43c56734/git-punchcard-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "b01fad688b2844efc22f9d98182cebd5", "sha256": "59674b12119c069f10ce029d4b0e50bc4c68a35c6c0bee2e554065529abd4cac" }, "downloads": -1, "filename": "git_punchcard-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b01fad688b2844efc22f9d98182cebd5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3508, "upload_time": "2019-03-11T20:51:13", "upload_time_iso_8601": "2019-03-11T20:51:13.923818Z", "url": "https://files.pythonhosted.org/packages/c1/18/bfb1414f40bac32fdefb2fe722f5355431fb459a76ebded8ea26e91fab5a/git_punchcard-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "afbd2f193fa4ec48fd4372a42e04b7d0", "sha256": "5d7b123e50c4e5119078e7d213bd2176436f150dc19fa1c5729b24cbe174fbcf" }, "downloads": -1, "filename": "git-punchcard-1.1.0.tar.gz", "has_sig": false, "md5_digest": "afbd2f193fa4ec48fd4372a42e04b7d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3307, "upload_time": "2019-03-11T20:51:15", "upload_time_iso_8601": "2019-03-11T20:51:15.189789Z", "url": "https://files.pythonhosted.org/packages/b1/6a/e6ebe08382a1973d55a654404604900c217e4e1d547c0b74f97a9532a98f/git-punchcard-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "41fd05a2cdd3fa473a3bf78c07e3781e", "sha256": "3bd306187a12e0279562441d07cb9eb659573dce5615f6ee5e9e2806767dd89e" }, "downloads": -1, "filename": "git_punchcard-1.2.0-py3.7.egg", "has_sig": false, "md5_digest": "41fd05a2cdd3fa473a3bf78c07e3781e", "packagetype": "bdist_egg", "python_version": "3.7", "requires_python": ">=3.3", "size": 7266, "upload_time": "2019-03-21T03:47:12", "upload_time_iso_8601": "2019-03-21T03:47:12.626322Z", "url": "https://files.pythonhosted.org/packages/d7/91/e7fccd659a8d3210e9a69a252fc90f61c2b66bbf22ce83674a1eee830444/git_punchcard-1.2.0-py3.7.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ff7ee72e7cbcd385d018ac9f52907989", "sha256": "2c18ccf4af4fb97f209ec7101f2f2a387d60dffeafe19a21dc0853ceb7385f18" }, "downloads": -1, "filename": "git_punchcard-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ff7ee72e7cbcd385d018ac9f52907989", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3", "size": 4636, "upload_time": "2019-03-21T03:47:31", "upload_time_iso_8601": "2019-03-21T03:47:31.421801Z", "url": "https://files.pythonhosted.org/packages/f5/15/5192e3dc2b96f2ba070663a71d4c1acc429a820d4e890fb75da307f02cdc/git_punchcard-1.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1dd02b6fd62339bc6b03382db2053d4e", "sha256": "75faa48d98cdb90e498974f650f13c56cb1043a2ce2185bafd8251c2ed2c76e8" }, "downloads": -1, "filename": "git-punchcard-1.2.0.tar.gz", "has_sig": false, "md5_digest": "1dd02b6fd62339bc6b03382db2053d4e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 5240, "upload_time": "2019-03-21T03:47:32", "upload_time_iso_8601": "2019-03-21T03:47:32.702973Z", "url": "https://files.pythonhosted.org/packages/00/7c/54522b51f362ded6acbe10e66f114fa65dc687d0938d9c5cdeb8a1caa3ad/git-punchcard-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "eb886d47eac371503d80bb331da70e30", "sha256": "c66b526768ac62546f90094c2a7afe0a434343e8e8e91a4104fcc99c41bf9cdc" }, "downloads": -1, "filename": "git_punchcard-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "eb886d47eac371503d80bb331da70e30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3", "size": 4794, "upload_time": "2019-03-21T12:30:27", "upload_time_iso_8601": "2019-03-21T12:30:27.388775Z", "url": "https://files.pythonhosted.org/packages/35/34/fe44bdff67f5ef4e19d7d0519bf76a6dc6cd3b099b99c91c4b038c7fcacf/git_punchcard-1.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a5865b5e0fbb147d9e4e1f292c6aafcb", "sha256": "39a69a253510c288feca3fb27bd6df3bfae5b6b024e227a8ea4f648b63a8405c" }, "downloads": -1, "filename": "git-punchcard-1.3.0.tar.gz", "has_sig": false, "md5_digest": "a5865b5e0fbb147d9e4e1f292c6aafcb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 4619, "upload_time": "2019-03-21T12:30:28", "upload_time_iso_8601": "2019-03-21T12:30:28.814996Z", "url": "https://files.pythonhosted.org/packages/77/fa/3a634531a779d85cfa0438a9befa6f1c515c472c0a730265301eb81c48a8/git-punchcard-1.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "ab1c12ae9ec1ddf0502dee785df31b02", "sha256": "24806b2d6e4da4ad633d1f01299de7d6f7437b5c8da5f0b8f69305f6c93a6a62" }, "downloads": -1, "filename": "git_punchcard-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ab1c12ae9ec1ddf0502dee785df31b02", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3", "size": 5526, "upload_time": "2019-03-26T13:54:40", "upload_time_iso_8601": "2019-03-26T13:54:40.770478Z", "url": "https://files.pythonhosted.org/packages/07/bb/597005441dd5a59f95508c22d1875edeb8f5413ee979ccdf7452620cea92/git_punchcard-1.4.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "038c30fcb19afb205b5f91f2538030c4", "sha256": "e7d86dd99e9f3371affef79889e9f6ec5c7176376d1e65e55532677db3e3adbc" }, "downloads": -1, "filename": "git-punchcard-1.4.0.tar.gz", "has_sig": false, "md5_digest": "038c30fcb19afb205b5f91f2538030c4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 5380, "upload_time": "2019-03-26T13:54:42", "upload_time_iso_8601": "2019-03-26T13:54:42.214285Z", "url": "https://files.pythonhosted.org/packages/32/bb/2eaeeaca20fcc964581a5e39506f50173ed1203d589d7e5bd329d5284efe/git-punchcard-1.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "d65b25c062d7f6f9c224b0bee265727f", "sha256": "3e26f526a0bd99b874b69f87317ba13e6bc96a2bb85ce2ea597a144b10b2b954" }, "downloads": -1, "filename": "git_punchcard-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d65b25c062d7f6f9c224b0bee265727f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3", "size": 6642, "upload_time": "2019-03-26T20:02:24", "upload_time_iso_8601": "2019-03-26T20:02:24.996055Z", "url": "https://files.pythonhosted.org/packages/4e/48/4e9bfe1e10ec38b9665fc41557d6b1586d86a36b24d9278f90f1a64470d9/git_punchcard-2.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "104a329769546b7222cca3a977072a6c", "sha256": "fd4243f6734b80061150c6fa358c2a77a8c3441510937de70530610683efccab" }, "downloads": -1, "filename": "git-punchcard-2.0.0.tar.gz", "has_sig": false, "md5_digest": "104a329769546b7222cca3a977072a6c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 6455, "upload_time": "2019-03-26T20:02:26", "upload_time_iso_8601": "2019-03-26T20:02:26.499167Z", "url": "https://files.pythonhosted.org/packages/53/8b/8e6e6e9df684752e8ce454590105f44fcc3a8bbc0c814a223affa4b4efab/git-punchcard-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "eb22a01f5757d97cad14aec42e8a42ba", "sha256": "4aefcd6d1a8202a76a938a9cbb9ccf0aa40d0fc7d645568523d66365e4c71fbc" }, "downloads": -1, "filename": "git_punchcard-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "eb22a01f5757d97cad14aec42e8a42ba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3", "size": 6646, "upload_time": "2019-03-26T20:12:58", "upload_time_iso_8601": "2019-03-26T20:12:58.780913Z", "url": "https://files.pythonhosted.org/packages/99/eb/6572fc8b62b64111628d4ec02fbb85f1fb96bf6a20ed2442a7bc7dd82896/git_punchcard-2.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9c8ceebeb3345130e7c33d99f600dfe8", "sha256": "7bc5d21175863c78933239d475ed78ab97a40cc2eaf39513312959f0197d8b1d" }, "downloads": -1, "filename": "git-punchcard-2.0.1.tar.gz", "has_sig": false, "md5_digest": "9c8ceebeb3345130e7c33d99f600dfe8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 6468, "upload_time": "2019-03-26T20:13:00", "upload_time_iso_8601": "2019-03-26T20:13:00.203523Z", "url": "https://files.pythonhosted.org/packages/64/e0/8a1d68a3854c35e8191e8143c3c77dc79bc790874f0cfaab0deb24a57a8d/git-punchcard-2.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "2f23227b29543f9937701f5f84a9576b", "sha256": "44b05e53ca28637486fab9ebb853dc821808cd7b16415120cf2b94f39f8aa958" }, "downloads": -1, "filename": "git_punchcard-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2f23227b29543f9937701f5f84a9576b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3", "size": 6671, "upload_time": "2019-10-30T23:38:00", "upload_time_iso_8601": "2019-10-30T23:38:00.262467Z", "url": "https://files.pythonhosted.org/packages/cd/3e/02908445956f58e9a0c673280478ad890bfb1498d69a60197505e25cf539/git_punchcard-2.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0ef6738323da737739e54b30c5f012c8", "sha256": "a32e4a512321280c26d0ccdbeece17cdde3722a14c95b9cc64f135600e80692b" }, "downloads": -1, "filename": "git-punchcard-2.0.2.tar.gz", "has_sig": false, "md5_digest": "0ef6738323da737739e54b30c5f012c8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 6573, "upload_time": "2019-10-30T23:38:02", "upload_time_iso_8601": "2019-10-30T23:38:02.014439Z", "url": "https://files.pythonhosted.org/packages/93/52/c7c3b34527b973c57117bd27205b7e51650a1fb6fdc62e365567d703dc30/git-punchcard-2.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "1afb39b33ed1446d8721e1834ab40531", "sha256": "dbfaebcc558937b1e630d372bc7a0b9473c7b0f41e7663275a31e824832b8f8f" }, "downloads": -1, "filename": "git_punchcard-2.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1afb39b33ed1446d8721e1834ab40531", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3", "size": 7274, "upload_time": "2019-10-30T23:49:53", "upload_time_iso_8601": "2019-10-30T23:49:53.393282Z", "url": "https://files.pythonhosted.org/packages/cb/93/1c0b7151389981ce95bb52f34e0ed31fbd7bd5f128912323ebff99e997ee/git_punchcard-2.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d5905fe42a44c0c8756f6f00ece547c5", "sha256": "c95b4b970f4a6073f7de2ab73241f0f21f9a061e64a632b2bca435e46fbbc42f" }, "downloads": -1, "filename": "git-punchcard-2.0.3.tar.gz", "has_sig": false, "md5_digest": "d5905fe42a44c0c8756f6f00ece547c5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 8017, "upload_time": "2019-10-30T23:49:54", "upload_time_iso_8601": "2019-10-30T23:49:54.530967Z", "url": "https://files.pythonhosted.org/packages/32/e1/c880bcbd5f7a5dd69677500fe010c932219b160b2841547ed8db51f7a2b6/git-punchcard-2.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "419af0ea1904aabbc93bdc838a960167", "sha256": "b5e1518427395b5016fd08d5487ee30e8424cb7ea5afbb9e0f58aa188b823134" }, "downloads": -1, "filename": "git_punchcard-2.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "419af0ea1904aabbc93bdc838a960167", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3", "size": 7555, "upload_time": "2021-10-28T12:48:23", "upload_time_iso_8601": "2021-10-28T12:48:23.020935Z", "url": "https://files.pythonhosted.org/packages/10/20/41bb21acf316bb301e0b9c38b51e514349ed20539032e7bfc9fc5b37b832/git_punchcard-2.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d967c9197b1f40ed1c3999c78df6e4dd", "sha256": "c24855cf53140396e723883e95f5e9b9732f93fbbd38cd64e8bb2dc102d3da76" }, "downloads": -1, "filename": "git-punchcard-2.0.4.tar.gz", "has_sig": false, "md5_digest": "d967c9197b1f40ed1c3999c78df6e4dd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 8168, "upload_time": "2021-10-28T12:48:24", "upload_time_iso_8601": "2021-10-28T12:48:24.555508Z", "url": "https://files.pythonhosted.org/packages/f8/9d/f2c051e4956f84c45a344642760815c9b3abdcd7afcebff8fc58b74581c4/git-punchcard-2.0.4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "419af0ea1904aabbc93bdc838a960167", "sha256": "b5e1518427395b5016fd08d5487ee30e8424cb7ea5afbb9e0f58aa188b823134" }, "downloads": -1, "filename": "git_punchcard-2.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "419af0ea1904aabbc93bdc838a960167", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3", "size": 7555, "upload_time": "2021-10-28T12:48:23", "upload_time_iso_8601": "2021-10-28T12:48:23.020935Z", "url": "https://files.pythonhosted.org/packages/10/20/41bb21acf316bb301e0b9c38b51e514349ed20539032e7bfc9fc5b37b832/git_punchcard-2.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d967c9197b1f40ed1c3999c78df6e4dd", "sha256": "c24855cf53140396e723883e95f5e9b9732f93fbbd38cd64e8bb2dc102d3da76" }, "downloads": -1, "filename": "git-punchcard-2.0.4.tar.gz", "has_sig": false, "md5_digest": "d967c9197b1f40ed1c3999c78df6e4dd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3", "size": 8168, "upload_time": "2021-10-28T12:48:24", "upload_time_iso_8601": "2021-10-28T12:48:24.555508Z", "url": "https://files.pythonhosted.org/packages/f8/9d/f2c051e4956f84c45a344642760815c9b3abdcd7afcebff8fc58b74581c4/git-punchcard-2.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }