{ "info": { "author": "Vlad Emelianov", "author_email": "vlad.emelianov.nz@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Framework :: Django", "Framework :: Flask", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries :: Python Modules", "Typing :: Typed" ], "description": "# \ud83d\ude4c Handsdown - Python documentation generator\n\n\n[![PyPI - Handsdown](https://img.shields.io/pypi/v/handsdown.svg?color=blue&style=for-the-badge)](https://pypi.org/project/handsdown)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/handsdown.svg?color=blue&style=for-the-badge)](https://pypi.org/project/handsdown)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/handsdown?color=blue&style=for-the-badge)\n[![Build Status](https://img.shields.io/travis/vemel/handsdown.svg?style=for-the-badge)](https://travis-ci.org/vemel/handsdown)\n[![Code Coverage](https://img.shields.io/codecov/c/gh/vemel/handsdown.svg?style=for-the-badge)](https://codecov.io/gh/vemel/handsdown/tree/main/handsdown)\n[![Docs](https://img.shields.io/readthedocs/handsdown.svg?color=blue&style=for-the-badge)](https://handsdown.readthedocs.io/)\n\nPython docstring-based documentation generator for lazy perfectionists.\n\n- [\ud83d\ude4c Handsdown - Python documentation generator](#-handsdown---python-documentation-generator)\n - [Features](#features)\n - [Do you need handsdown?](#do-you-need-handsdown)\n - [Examples](#examples)\n - [Usage](#usage)\n - [\ud83d\udcbb From command line](#-from-command-line)\n - [\ud83d\udce6 As a Docker image](#-as-a-docker-image)\n - [\ud83d\udcdd As a GitHub Pages manager](#-as-a-github-pages-manager)\n - [\ud83d\udc0f Deploy on Read the Docs](#-deploy-on-read-the-docs)\n - [\ud83d\udccb Build static HTML](#-build-static-html)\n - [\ud83e\udde9 As a module](#-as-a-module)\n - [\u2328\ufe0f CLI arguments](#\ufe0f-cli-arguments)\n - [Installation](#installation)\n - [Development](#development)\n - [Changelog](#changelog)\n\n## Features\n\n- [PEP 257](https://www.python.org/dev/peps/pep-0257/),\n [Google](http://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings),\n [Sphinx](https://sphinx-rtd-tutorial.readthedocs.io/en/latest/docstrings.html)\n and [reStructuredText](https://www.python.org/dev/peps/pep-0287/)\n docstrings support. All of them are converted to a valid Markdown.\n- Works with [Django](https://www.djangoproject.com/) and [Flask](https://palletsprojects.com/p/flask/) apps\n- Can be used locally, or\n [right on GitHub](https://github.com/vemel/handsdown/blob/main/docs/README.md) or even deployed on\n [GitHub Pages](https://vemel.github.io/handsdown/) and [Read the Docs](https://handsdown.readthedocs.io/)!\n- Signatures for every class, function, property and method.\n- Support for type annotations. Even for the ones from the `__future__`!\n- Nice list of all modules in [Modules](https://github.com/vemel/handsdown/blob/main/docs/MODULES.md)\n- Gather all scattered `README.md` in submodules to one place\n- Find related source code from every doc section.\n- Make links by just adding `module.import.String` to docs.\n- Do you use type annotations? Well, you get auto-discovery of related modules for free!\n\n## Do you need handsdown?\n\nYou definitely *do* if you:\n\n- prefer to automate documentation builds\n- work with a team and plan to simplify knowledge sharing\n- want to show your project without navigating through a source code\n- build `Django` or `Flask` applications\n- are proud of your project and not afraid to show it\n- love Open Source\n\nAnd probably *do not* if you:\n\n- not very into docstrings and type annotations\n- like to abstract a documentation away from the way things really are\n- use [Pandas docstrings](https://pandas.pydata.org/pandas-docs/stable/development/contributing_docstring.html)\n as they are not supported yet\n\n## Examples\n\n- [All documentation](https://vemel.github.io/handsdown/) in this project\n- [Main](https://github.com/vemel/handsdown/blob/main/examples/main_example.py) with [generated output](https://github.com/vemel/handsdown/tree/main/docs/examples/main_example.md)\n- [RST docstrings](https://github.com/vemel/handsdown/blob/main/examples/rst_docstrings.py) with [generated output](https://github.com/vemel/handsdown/tree/main/docs/examples/rst_docstrings.md)\n- [Google docstrings](https://github.com/vemel/handsdown/blob/main/examples/google_docstrings.py) with [generated output](https://github.com/vemel/handsdown/tree/main/docs/examples/google_docstrings.md)\n- [PEP 257 docstrings](https://github.com/vemel/handsdown/blob/main/examples/pep257_docstrings.py) with [generated output](https://github.com/vemel/handsdown/tree/main/docs/examples/pep257_docstrings.md)\n- [Sphinx docstrings](https://github.com/vemel/handsdown/blob/main/examples/sphinx_docstrings.py) with [generated output](https://github.com/vemel/handsdown/tree/main/docs/examples/sphinx_docstrings.md)\n- [Type annotations](https://github.com/vemel/handsdown/blob/main/examples/typed.py) with [generated output](https://github.com/vemel/handsdown/tree/main/docs/examples/typed.md)\n- [Comment-style type annotations](https://github.com/vemel/handsdown/blob/main/examples/comment_typed.py) with [generated output](https://github.com/vemel/handsdown/tree/main/docs/examples/comment_typed.md)\n\n## Usage\n\n### \ud83d\udcbb From command line\n\nJust go to your favorite project that has lots of docstrings but missing\nauto-generated docs and let `handsdown` do the thing.\n\n```bash\ncd ~/my/project\n\n# build documentation *.md* files in docs/* directory\nhandsdown\n\n# or provide custom output directory: output_dir/*\nhandsdown -o output_dir\n\n# generate docs only for my_module, but exclude migrations\nhandsdown my_module --exclude my_module/migrations\n\n# generate documentation for deployment\nhandsdown --external `git config --get remote.origin.url` -n ProjectName --branch main\n```\n\nNavigate to `docs/README.md` to check your new documentation!\n\n### \ud83d\udce6 As a Docker image\n\n- Install [Docker](https://docs.docker.com/install/)\n- Pull latest `handsdown` version and tag it\n\n```bash\ndocker pull docker.pkg.github.com/vemel/handsdown/handsdown:latest\ndocker tag docker.pkg.github.com/vemel/handsdown/handsdown:latest handsdown\n```\n\n- Generate docs for `ProjectName` in current directory\n\n```bash\n# for Python 3 project\ndocker run -v `pwd`:/app handsdown -n ProjectName\n\n# for Python 2 project\nPYTHON_VER=2 docker run -v `pwd`:/app handsdown -n ProjectName\n\n# generate documentation for deployment\ndocker run -v `pwd`:/app handsdown --external `git config --get remote.origin.url` -n ProjectName\n```\n\n### \ud83d\udcdd As a GitHub Pages manager\n\nWith `--external` CLI flag, `handsdown` generates all required configuration\nfor [GitHub Pages](https://pages.github.com/), so you just need to setup your\nGitHub repository.\n\n```bash\n# Generate documentation that points to main branch\n# do not use custom output location, as `GitHub Pages`\n# works only with `docs` directory\nhandsdown --external `git config --get remote.origin.url`\n\n# or specify GitHub url directly\nhandsdown --external https://github.com// --branch main\n```\n\n- Generate documentation with `--external` flag as shown above, do not use `--output`\n flag, only `docs` folder is supported by `GitHub Pages`\n- Commit and push all changes a to `main` branch.\n- Set your GitHub project `Settings` > `GitHub Pages` > `Source` to `main branch /docs folder`\n\nAll set! You can change `docs/_config.yml` to add your own touch.\n\nWith `--external` flag links to your source are absolute and point to your GitHub repo. If you\nstill want to have relative links to source, e.g. for using docs locally,\ngenerate docs to another folder\n\n```bash\n# `docs_local` folder will be created in your project root\n# you probably want to add it to .gitignore\nhandsdown -o docs_local\n```\n\n### \ud83d\udc0f Deploy on Read the Docs\n\nWith `--external` CLI flag, `handsdown` generates all required configuration\nfor [Read the Docs](https://readthedocs.org/), so you just need to to add your\nGitHub repository to `Read the Docs`.\n\n```bash\n# Generate documentation that points to main branch\n# do not use custom output location, as `GitHub Pages`\n# works only with `docs` directory\nhandsdown --external `git config --get remote.origin.url`\n\n# or specify GitHub url directly\nhandsdown --external https://github.com///\n```\n\n- Generate documentation with `--external` flag as shown above, do not use `--output`\n flag, only `docs` folder is supported by `Read the Docs`\n- Commit and push all changes a to `main` branch.\n- Add your repository on [Read the Docs](https://readthedocs.org/)\n\nAll set! You can change `.readthedocs.yml` and `mkdocs.yml` to add your own touch.\n\n### \ud83d\udccb Build static HTML\n\n```bash\n# Generate documentation that points to main branch\n# with source links pointing to your repository\n# this command also creates `mkdocs.yml`\nhandsdown --external `git config --get remote.origin.url`\n\n# Run mkdocs to build HTML\nmkdocs build\n```\n\n### \ud83e\udde9 As a module\n\n```python\nfrom handsdown.generator import Generator\nfrom handsdown.utils.path_finder import PathFinder\n\n# this is our project root directory\nrepo_path = Path.cwd()\n\n# this little tool works like `pathlib.Path.glob` with some extra magic\n# but in this case `repo_path.glob(\"**/*.py\")` would do as well\npath_finder = PathFinder(repo_path, \"**/*.py\")\n\n# no docs for tests and build\npath_finder.exclude(\"tests/*\", \"build/*\")\n\n# initialize generator\nhandsdown = Generator(\n input_path=repo_path,\n output_path=repo_path / 'output',\n source_paths=path_finder.glob(\"**/*.py\")\n)\n\n# generate all docs at once\nhandsdown.generate_docs()\n\n# or generate just for one doc\nhandsdown.generate_doc(repo_path / 'my_module' / 'source.py')\n\n# and generate index.md file\nhandsdown.generate_index()\n\n# navigate to `output` dir and check results\n```\n\n### \u2328\ufe0f CLI arguments\n\n```bash\nhandsdown [-h] [--exclude [EXCLUDE ...]] [-i INPUT_PATH] [-f [FILES ...]]\n [-o OUTPUT_PATH] [--external REPO_URL] [--source-code-path REPO_PATH]\n [--branch BRANCH] [--toc-depth TOC_DEPTH] [--cleanup] [-n PROJECT_NAME]\n [-e ENCODING] [--panic] [-d] [-q] [-V]\n [include ...]\n```\n\n| Argument | Description | Default |\n|-|-|-|\n| `include` | Path expressions to include source files | |\n| `--exclude` | Path expressions to exclude source files | |\n| `-i` / `--input-path` | Path to project root folder | |\n| `-f` / `--files` | List of source files to use for generation. If empty - all are used. | |\n| `-o` / `--output-path` | Path to output folder | `/docs` |\n| `--external` | Build docs and config for external hosting, GitHub Pages or Read the Docs. Provide the project GitHub .../blob/main/ URL here. | |\n| `--source-code-path` | Path to source code in the project. Overrides `--branch` CLI argument | |\n| `--branch` | Main branch name | `main` |\n| `--toc-depth` | Maximum depth of child modules ToC | `1` |\n| `--cleanup` | Remove orphaned auto-generated docs | |\n| `-n` / `--name` | Project name | `` |\n| `-e` / `--encoding` | Input and output file encoding | `utf-8` |\n| `--panic` | Panic and die on import error | |\n| `--debug` | Show debug messages| |\n| `--quiet` | Hide log output | |\n| `-h` | Show help | |\n\n\n## Installation\n\nInstall using `pip` from PyPI\n\n```bash\npip install handsdown\n```\n\nor directly from GitHub if you cannot wait to test new features\n\n```bash\npip install git+https://github.com/vemel/handsdown.git\n```\n\n## Development\n\n- Install [poetry](https://python-poetry.org/)\n- Run `poetry install`\n- Use `black` formatter in your IDE\n\n## Changelog\n\nChangelog can be found in [Releases](https://github.com/vemel/handsdown/releases)\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://vemel.github.io/handsdown/", "keywords": "autodoc,documentation,generator,markdown", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "handsdown", "package_url": "https://pypi.org/project/handsdown/", "platform": null, "project_url": "https://pypi.org/project/handsdown/", "project_urls": { "Bug Tracker": "https://github.com/vemel/handsdown/issues", "Documentation": "https://handsdown.readthedocs.io/en/latest/", "Homepage": "https://vemel.github.io/handsdown/", "Repository": "https://github.com/vemel/handsdown", "Source": "https://github.com/vemel/handsdown" }, "release_url": "https://pypi.org/project/handsdown/1.1.0/", "requires_dist": [ "importlib-resources", "pip", "typed-ast" ], "requires_python": ">=3.7,<4.0", "summary": "Python docstring-based documentation generator for lazy perfectionists.", "version": "1.1.0", "yanked": false, "yanked_reason": null }, "last_serial": 13218599, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "be4bca9f2ee5f31688db18b439e50744", "sha256": "2b703b8d3a7e8b857c53ec074366718a2f7ccf4d6534b9472346b8658243de24" }, "downloads": -1, "filename": "handsdown-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "be4bca9f2ee5f31688db18b439e50744", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16544, "upload_time": "2019-10-12T06:36:15", "upload_time_iso_8601": "2019-10-12T06:36:15.130723Z", "url": "https://files.pythonhosted.org/packages/89/c2/b8dff68acd50bbf6a3cd19dcebb23cc366440fc6af77a9cb9e866e2b5c3b/handsdown-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "06ba6964c09231b22f84590c2005ec18", "sha256": "abec0fa7b7afd43171ba99f442626a2e75d3a1c1963536a9197e37135bfe3cd6" }, "downloads": -1, "filename": "handsdown-0.1.0.tar.gz", "has_sig": false, "md5_digest": "06ba6964c09231b22f84590c2005ec18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12775, "upload_time": "2019-10-12T06:36:17", "upload_time_iso_8601": "2019-10-12T06:36:17.885509Z", "url": "https://files.pythonhosted.org/packages/e7/d7/850215d35b27530b6f114345c542490c6a5457047e30a82be8a735c6fcb9/handsdown-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6ba3e443406e8588098d733923721bae", "sha256": "9250ecd7b20a513007698c0a7385ec3d522a6242ae375665e9951cc7117f1cb5" }, "downloads": -1, "filename": "handsdown-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6ba3e443406e8588098d733923721bae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16885, "upload_time": "2019-10-12T17:27:20", "upload_time_iso_8601": "2019-10-12T17:27:20.062358Z", "url": "https://files.pythonhosted.org/packages/dd/6d/d89bc4e303ef4b26e7d467e2c389aee9cd728abb3e286442ff3a7bd46017/handsdown-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "65d37b0ab1d00a8907e0c12c5d9d4e8d", "sha256": "9c7e64086b53a5dc30188be9c7b4065ce37a8cbf54f72fa7a1a1d6c4cde57ab6" }, "downloads": -1, "filename": "handsdown-0.1.1.tar.gz", "has_sig": false, "md5_digest": "65d37b0ab1d00a8907e0c12c5d9d4e8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13024, "upload_time": "2019-10-12T17:27:22", "upload_time_iso_8601": "2019-10-12T17:27:22.126970Z", "url": "https://files.pythonhosted.org/packages/2f/69/b9b6f688dfe93b398058a72fe596beeb4888772c15d19e33ad4fd6ef6148/handsdown-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b039e172c1dda1718d93a687597c706c", "sha256": "87a170a6f61121c05eb52ea88a2e1f027b70e6f4dec402be8cc61c6bee0a793b" }, "downloads": -1, "filename": "handsdown-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b039e172c1dda1718d93a687597c706c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28670, "upload_time": "2019-10-14T07:24:54", "upload_time_iso_8601": "2019-10-14T07:24:54.937106Z", "url": "https://files.pythonhosted.org/packages/cc/36/8823e8985798087ef4ed26b566973e4ba65060c443b4173f4ae108cab2be/handsdown-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8f82071bb82c9b699cd0f1720ece9a60", "sha256": "6d4c78b20e6808c6d945a9197ba9b7ee96647cc459edc161dd0bfe0888ceae74" }, "downloads": -1, "filename": "handsdown-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8f82071bb82c9b699cd0f1720ece9a60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18331, "upload_time": "2019-10-14T07:24:56", "upload_time_iso_8601": "2019-10-14T07:24:56.722778Z", "url": "https://files.pythonhosted.org/packages/50/fb/5285337897e6a9a4f9457d173c4e85e75f8e9e96b38b036940f5ae122015/handsdown-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c09c4248c0482753c39074cc6174008e", "sha256": "ccad4096c1c483e02b34b29154613410fbd414b09b43fa23de14d7af7fa79575" }, "downloads": -1, "filename": "handsdown-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c09c4248c0482753c39074cc6174008e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29625, "upload_time": "2019-10-14T20:55:21", "upload_time_iso_8601": "2019-10-14T20:55:21.046779Z", "url": "https://files.pythonhosted.org/packages/56/bd/b1169c8c1901ba485755eb979c370eaa51432f5a15ae1688b4ede5a0ce1b/handsdown-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2fcefae33d0e5ca5e836cca8f0e6fbda", "sha256": "010ddfa7656746a1c3faa8393901e534f9418f183bfe42e34f37064bdb006ba4" }, "downloads": -1, "filename": "handsdown-0.1.3.tar.gz", "has_sig": false, "md5_digest": "2fcefae33d0e5ca5e836cca8f0e6fbda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19230, "upload_time": "2019-10-14T20:55:36", "upload_time_iso_8601": "2019-10-14T20:55:36.786297Z", "url": "https://files.pythonhosted.org/packages/c5/ba/10afcb9d6417304bb13c385d5f7b36036b8b1fbdd4f1b2a2f1e8893868f1/handsdown-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "a4f94801eee75f2d661804e13db2d9b4", "sha256": "7f8bd2e38b27e607bfb6938d858e420d4cb6909cbb7deca94a71a91f08fec719" }, "downloads": -1, "filename": "handsdown-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "a4f94801eee75f2d661804e13db2d9b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31122, "upload_time": "2019-10-16T02:24:03", "upload_time_iso_8601": "2019-10-16T02:24:03.948134Z", "url": "https://files.pythonhosted.org/packages/7b/90/959631234d17011f1fbda9d7f8d6e229c55f996414bd5a9e94db18ef3391/handsdown-0.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "252d9a6f71294f90182fd882df354c95", "sha256": "587b3f414469d353e419bd6f418d7d5e2b5233b8b419322f1a0a759ef37aa91b" }, "downloads": -1, "filename": "handsdown-0.1.4.tar.gz", "has_sig": false, "md5_digest": "252d9a6f71294f90182fd882df354c95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21441, "upload_time": "2019-10-16T02:24:05", "upload_time_iso_8601": "2019-10-16T02:24:05.921364Z", "url": "https://files.pythonhosted.org/packages/ad/28/f2b6b93647aae7c2fdd312181e1cecba5a297b81932bf731d99dde3207e1/handsdown-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7c8c52b9c60f4108a4ea8d8f56514f43", "sha256": "8fd69385c9df76ecce6495097b5e97b076c64cb24663da18449c6ffbf2863b95" }, "downloads": -1, "filename": "handsdown-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7c8c52b9c60f4108a4ea8d8f56514f43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36572, "upload_time": "2019-10-18T01:27:28", "upload_time_iso_8601": "2019-10-18T01:27:28.963286Z", "url": "https://files.pythonhosted.org/packages/8c/81/cd7b443efa3d4b088ee9a356e5f7d90cae1a1f2350b78e943ec788978b71/handsdown-0.1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f0cbb277169a9b671265404168d38252", "sha256": "8089b946c08799b78f9919493ef13569b1cc12f3aaf8bfd0cb5791d484deaf26" }, "downloads": -1, "filename": "handsdown-0.1.5.tar.gz", "has_sig": false, "md5_digest": "f0cbb277169a9b671265404168d38252", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27748, "upload_time": "2019-10-18T01:27:31", "upload_time_iso_8601": "2019-10-18T01:27:31.052910Z", "url": "https://files.pythonhosted.org/packages/d9/60/20efb2ced3e9eb77ff09e7900a39bb46c90cae79c3dd7eea2e623511d839/handsdown-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "108de0146bcad0b1c66690b2e2155096", "sha256": "b172f29467f8c503c64acaec57a311eb25daa526cb37113a8e94fe3192251c7a" }, "downloads": -1, "filename": "handsdown-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "108de0146bcad0b1c66690b2e2155096", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 36374, "upload_time": "2019-10-18T02:46:04", "upload_time_iso_8601": "2019-10-18T02:46:04.101032Z", "url": "https://files.pythonhosted.org/packages/85/ca/4168ae944aee03eb08031db330be352f8ee27f1433ec5119668fc0c8266a/handsdown-0.1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "dbf172a657c3c437225bcb0703aaa639", "sha256": "fadb71ba2e8883cef508e75f5226b3545b2341b28eee26a9394d69862e697fc7" }, "downloads": -1, "filename": "handsdown-0.1.6.tar.gz", "has_sig": false, "md5_digest": "dbf172a657c3c437225bcb0703aaa639", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27444, "upload_time": "2019-10-18T02:46:06", "upload_time_iso_8601": "2019-10-18T02:46:06.002281Z", "url": "https://files.pythonhosted.org/packages/35/b9/531a7bee814d712f35ef50127117a9fe90a4002b9ee95785f660686e90a6/handsdown-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "7a7ba63367dad21366532fd8d58e821a", "sha256": "3f8a270486a73eb24bfa031c371ec837efd3e9147459ec92425845a01ab67899" }, "downloads": -1, "filename": "handsdown-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7a7ba63367dad21366532fd8d58e821a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41186, "upload_time": "2019-10-19T10:11:20", "upload_time_iso_8601": "2019-10-19T10:11:20.407001Z", "url": "https://files.pythonhosted.org/packages/68/7b/2d46d9aee6425caaf64252cc97843bc2a5d88e4646f654fc77a248c9ffb1/handsdown-0.2.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "39f2bc1b4936e467c3afb7b3dbaeddf9", "sha256": "7d987977abcc48202b931a43e7684e6bdf245f05b56a39d599acb864753db4f0" }, "downloads": -1, "filename": "handsdown-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "39f2bc1b4936e467c3afb7b3dbaeddf9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41183, "upload_time": "2019-10-19T09:56:04", "upload_time_iso_8601": "2019-10-19T09:56:04.645640Z", "url": "https://files.pythonhosted.org/packages/32/52/87ffe844032047171f8dd50e87e37c354dd95b0d55f4356fbaccbd9141eb/handsdown-0.2.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "dc6cd1f0bebe57ce79d330d646cd0392", "sha256": "73d8137550a0d78a0df4e4ac7f0beef985cfc2c6e6b3c6bfbb31f8bc3462427e" }, "downloads": -1, "filename": "handsdown-0.2.0.tar.gz", "has_sig": false, "md5_digest": "dc6cd1f0bebe57ce79d330d646cd0392", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29895, "upload_time": "2019-10-19T09:56:06", "upload_time_iso_8601": "2019-10-19T09:56:06.982796Z", "url": "https://files.pythonhosted.org/packages/62/15/5850d8e79d83bb8db45e2d2b760072be93187b4c8fcdf3f3263da38718ba/handsdown-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "e79ffe9e7aea8e15059418bbbdef7d4f", "sha256": "6fea3abc66d4b941343247a35520f6705a91caf639a6d93b014a3364ac662973" }, "downloads": -1, "filename": "handsdown-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e79ffe9e7aea8e15059418bbbdef7d4f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41661, "upload_time": "2019-10-19T12:10:34", "upload_time_iso_8601": "2019-10-19T12:10:34.218006Z", "url": "https://files.pythonhosted.org/packages/6f/0b/21fac80232a3fa906c58fd74b6d1ae4813d6635fa38f625c8cbe2cf71874/handsdown-0.2.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b724ad594bd44b7e737169790afc529d", "sha256": "7bae135c73757b2ffea295d29bcbe960a29ca7d96b46f94abd6fe84e30e99e1b" }, "downloads": -1, "filename": "handsdown-0.2.1.tar.gz", "has_sig": false, "md5_digest": "b724ad594bd44b7e737169790afc529d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30419, "upload_time": "2019-10-19T12:10:36", "upload_time_iso_8601": "2019-10-19T12:10:36.091724Z", "url": "https://files.pythonhosted.org/packages/3a/65/b381066f5b0d020c03ae312087602d4dcccc992ebda77c1b1c48e44f7b38/handsdown-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "7348e042059a25506ae65610abfb85cd", "sha256": "1cda7ee720823d7ef3ed2cae19bc9ddaabd18de511cf35c515c5192b5431eaf9" }, "downloads": -1, "filename": "handsdown-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7348e042059a25506ae65610abfb85cd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 39682, "upload_time": "2019-10-21T01:33:28", "upload_time_iso_8601": "2019-10-21T01:33:28.938612Z", "url": "https://files.pythonhosted.org/packages/2c/00/09092d0c8a111c6b203e6e1594958f5330a12666bdfe1e906f64afb5f518/handsdown-0.2.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "edf46bcd4c0f2b50beccac653d0b7f74", "sha256": "24b2b7b5db5ef5d11110f3e499d9fe10367bc423f4d8942a49973edcfd0f563e" }, "downloads": -1, "filename": "handsdown-0.2.2.tar.gz", "has_sig": false, "md5_digest": "edf46bcd4c0f2b50beccac653d0b7f74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34018, "upload_time": "2019-10-21T01:33:31", "upload_time_iso_8601": "2019-10-21T01:33:31.282786Z", "url": "https://files.pythonhosted.org/packages/b0/b0/5613cd9bb44236b45ac52625c24c83a9c151de17227c8478cd13b15aeadb/handsdown-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c6ec4d680edc6e1b8e1eb29496ea824b", "sha256": "8ceb85bd274038e7d4a93c2a7721efeb8afa8b49aed213f72bcf64428f29a7bf" }, "downloads": -1, "filename": "handsdown-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c6ec4d680edc6e1b8e1eb29496ea824b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49333, "upload_time": "2019-10-25T12:21:19", "upload_time_iso_8601": "2019-10-25T12:21:19.105403Z", "url": "https://files.pythonhosted.org/packages/42/6c/89b8cbca121fcdddef5a44cc2abb2c02da7e3766a0e92b278dbc88b97e99/handsdown-0.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "eebbb6ff76e1a428a9296c17a7024816", "sha256": "e5a669f8a11ca52d29761218487c35c8664d338bf04b332295bb6444b8be07d8" }, "downloads": -1, "filename": "handsdown-0.3.0.tar.gz", "has_sig": false, "md5_digest": "eebbb6ff76e1a428a9296c17a7024816", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36765, "upload_time": "2019-10-25T12:21:21", "upload_time_iso_8601": "2019-10-25T12:21:21.237771Z", "url": "https://files.pythonhosted.org/packages/cb/bb/8cb208be9a1ce05b0214f97764ab3bcdfce0eb5d14ae39e9b8e24c701236/handsdown-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "08835928c9b908ada9808c5b8c108e4f", "sha256": "923c08306822c8bdd68de630600b60d064c17f2b7254d6be7ae088fe3dd9ae89" }, "downloads": -1, "filename": "handsdown-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "08835928c9b908ada9808c5b8c108e4f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 55793, "upload_time": "2019-10-26T00:56:49", "upload_time_iso_8601": "2019-10-26T00:56:49.452828Z", "url": "https://files.pythonhosted.org/packages/18/44/8fdeb791c3457429b95db22520df5aae4d13338367cd92829e4f43665742/handsdown-0.3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "37d2f1c7e9e4b2ba5813b7d551a2d743", "sha256": "2cb8796fc813dc77b7f6657005428c3ef903c9ddd86398204b377696418dfeb5" }, "downloads": -1, "filename": "handsdown-0.3.1.tar.gz", "has_sig": false, "md5_digest": "37d2f1c7e9e4b2ba5813b7d551a2d743", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41398, "upload_time": "2019-10-26T00:56:51", "upload_time_iso_8601": "2019-10-26T00:56:51.635167Z", "url": "https://files.pythonhosted.org/packages/a3/87/82d0ed06070fce5881a5521d9e8b8c632b79aebdbf598e4520d5740bdf3e/handsdown-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "cedb8fcc0e4a598884de063bc9664eaf", "sha256": "3e03b9ca8c06acb7415a419cf33cca516958b6ebfc39b2844799838e459c0af9" }, "downloads": -1, "filename": "handsdown-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cedb8fcc0e4a598884de063bc9664eaf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 57647, "upload_time": "2019-10-28T02:20:41", "upload_time_iso_8601": "2019-10-28T02:20:41.088822Z", "url": "https://files.pythonhosted.org/packages/45/5c/658241296fbf69bc0cac5217df0e1ad4f9565a78251004ed6cd213b3a58f/handsdown-0.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8429c87a207c058edc5afbf4a3716013", "sha256": "05cc3cf2109fa984f44267625119fa01d9b6c9e583e041f210fa30d6dec40da9" }, "downloads": -1, "filename": "handsdown-0.3.2.tar.gz", "has_sig": false, "md5_digest": "8429c87a207c058edc5afbf4a3716013", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43080, "upload_time": "2019-10-28T02:20:43", "upload_time_iso_8601": "2019-10-28T02:20:43.158781Z", "url": "https://files.pythonhosted.org/packages/33/51/7714cd443356d9193c3035e05caa90b46da986a2c49709fcafdc4ba3af1a/handsdown-0.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "40891de21f17c5ff736247435088575f", "sha256": "01f7b32199d37c2d24c57166b47ca925bd51be2744483daa917e9ba51d11bb19" }, "downloads": -1, "filename": "handsdown-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "40891de21f17c5ff736247435088575f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58266, "upload_time": "2019-10-28T13:54:42", "upload_time_iso_8601": "2019-10-28T13:54:42.052827Z", "url": "https://files.pythonhosted.org/packages/94/74/9d6eaf0fe8977d85a26903ab81dc52b1f1ce26b4a7a84838de83ed0dcd7b/handsdown-0.3.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cc7dc4bdbc47ccb296d07f5a45839ce2", "sha256": "4fcc7f6dab91b6b88a315ff3c0559147f8ee44d84c040602123d9ecf50814931" }, "downloads": -1, "filename": "handsdown-0.3.3.tar.gz", "has_sig": false, "md5_digest": "cc7dc4bdbc47ccb296d07f5a45839ce2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43898, "upload_time": "2019-10-28T13:54:44", "upload_time_iso_8601": "2019-10-28T13:54:44.200419Z", "url": "https://files.pythonhosted.org/packages/36/ca/3d8b586b3c54ce3b362e213b5521c0105edd0988a56713ecefced157f53b/handsdown-0.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "89cb8699b52adba0a9defa62c75c7544", "sha256": "c1d6ece561b8e41a5dcc339d9da5d190d7dcc80c6208a4a3c5e9af3788af43b4" }, "downloads": -1, "filename": "handsdown-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "89cb8699b52adba0a9defa62c75c7544", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58837, "upload_time": "2019-11-05T22:46:07", "upload_time_iso_8601": "2019-11-05T22:46:07.992910Z", "url": "https://files.pythonhosted.org/packages/fd/f8/2bebc50ecd6028b522eff427e4136c5ed36dabe6e95fb37b154a3816efd6/handsdown-0.3.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8b565dde91a9568a42527fbe5d01cd4f", "sha256": "0237f58c4b20a7003463e17ade5d7387963a87ce5cc48af5409b99ea3f940ba6" }, "downloads": -1, "filename": "handsdown-0.3.4.tar.gz", "has_sig": false, "md5_digest": "8b565dde91a9568a42527fbe5d01cd4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44331, "upload_time": "2019-11-05T22:46:09", "upload_time_iso_8601": "2019-11-05T22:46:09.979866Z", "url": "https://files.pythonhosted.org/packages/62/0c/5d20ed2b39ce6a56329da0cd86c836b8a00fe204b04e3e772bd6531893ed/handsdown-0.3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "7f3aded702eb1a3c1028761723c26a66", "sha256": "e785ca1f454e96f1ba50af31a27ad34514cf683a683c9bdb3a77f02b74b0ac31" }, "downloads": -1, "filename": "handsdown-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7f3aded702eb1a3c1028761723c26a66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58825, "upload_time": "2019-11-19T05:46:20", "upload_time_iso_8601": "2019-11-19T05:46:20.784623Z", "url": "https://files.pythonhosted.org/packages/54/65/750af3a464ef054910c0c4180ffd224138ea653d1877149739f8df55cad4/handsdown-0.3.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b26a7c5b31ccb2fa0e815b589a402a77", "sha256": "da616c8c3fa7c49e9c6b2f0f01659086e567c7770f024e4f00e432e89ece4870" }, "downloads": -1, "filename": "handsdown-0.3.5.tar.gz", "has_sig": false, "md5_digest": "b26a7c5b31ccb2fa0e815b589a402a77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44334, "upload_time": "2019-11-19T05:46:22", "upload_time_iso_8601": "2019-11-19T05:46:22.758554Z", "url": "https://files.pythonhosted.org/packages/25/d1/00a9086b687a0f53d756cdb3b9ebc8eaf184002b57ba88ec6273ff014c31/handsdown-0.3.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "087288986498535fdd5ed567d7cd41a4", "sha256": "e7b8fc61e65876f64c77aea3b08f310b8861b392a411ba937c35094c44a9916b" }, "downloads": -1, "filename": "handsdown-0.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "087288986498535fdd5ed567d7cd41a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58863, "upload_time": "2020-02-19T18:04:49", "upload_time_iso_8601": "2020-02-19T18:04:49.141482Z", "url": "https://files.pythonhosted.org/packages/11/59/a6f971e1dc6146fd3edb5e609aa739056f1e2634e4d7df15146d12aa4b86/handsdown-0.3.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4eeb457a1313db5aa7a879858861dc57", "sha256": "9da45642e4e8153abc4d2acba85a85f15f8dd28200ad7389bbd8997c3a93a433" }, "downloads": -1, "filename": "handsdown-0.3.6.tar.gz", "has_sig": false, "md5_digest": "4eeb457a1313db5aa7a879858861dc57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46168, "upload_time": "2020-02-19T18:04:51", "upload_time_iso_8601": "2020-02-19T18:04:51.059713Z", "url": "https://files.pythonhosted.org/packages/32/5a/edff10802fd2c869905c39ce56ee1d282a4330be3f9dbf308e70ea9ed105/handsdown-0.3.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "a0be4f432653390ecd818b6e7a6df4c4", "sha256": "44268497d04538ca864b79486be2a427bfa113e8a6dcf75525d3066a19469352" }, "downloads": -1, "filename": "handsdown-0.3.7-py3-none-any.whl", "has_sig": false, "md5_digest": "a0be4f432653390ecd818b6e7a6df4c4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58855, "upload_time": "2020-02-21T22:44:22", "upload_time_iso_8601": "2020-02-21T22:44:22.621987Z", "url": "https://files.pythonhosted.org/packages/95/c3/c36f2ee8e8bf014de78e6115def470a4ead875a951aa05d3907e594ab8c7/handsdown-0.3.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "81783a69607020207d711834808b40fb", "sha256": "7f64a6be1e7e3019fe761312641d0e5fc5a71056d6b89dedc33e6d2556042271" }, "downloads": -1, "filename": "handsdown-0.3.7.tar.gz", "has_sig": false, "md5_digest": "81783a69607020207d711834808b40fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46152, "upload_time": "2020-02-21T22:44:24", "upload_time_iso_8601": "2020-02-21T22:44:24.442387Z", "url": "https://files.pythonhosted.org/packages/cd/03/563e828141b2de18770d736a4e35b4d1e34ea9f5eb0a3bf56be3cdd26c7e/handsdown-0.3.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "024e7ea7c05443660b0cd391f43f2714", "sha256": "72c718bd080a8548ad523dd56bce8e89b09c5bd4e47cb6b34764b864917beadd" }, "downloads": -1, "filename": "handsdown-0.3.8-py3-none-any.whl", "has_sig": false, "md5_digest": "024e7ea7c05443660b0cd391f43f2714", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58886, "upload_time": "2020-02-23T00:01:40", "upload_time_iso_8601": "2020-02-23T00:01:40.980900Z", "url": "https://files.pythonhosted.org/packages/ab/82/c781dbd9545ea9df9c033106613abca4ff8a3569161f8d222de1742264b4/handsdown-0.3.8-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "5e0858526880711ef1997726f69cf5c9", "sha256": "af59daf571a68b4c93cc3e94fca88805e10773280612b71eab0cc99a08150e56" }, "downloads": -1, "filename": "handsdown-0.3.9-py3-none-any.whl", "has_sig": false, "md5_digest": "5e0858526880711ef1997726f69cf5c9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59149, "upload_time": "2020-04-16T03:36:52", "upload_time_iso_8601": "2020-04-16T03:36:52.420478Z", "url": "https://files.pythonhosted.org/packages/d1/90/88e0974a03c7047d69cdec8255a053fb5914ebe934c01073564d2a0d1aa8/handsdown-0.3.9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8d38deaa86d7a81b192c682e07bb1c2e", "sha256": "08690de7b514a2886c2ce63d99ea30724fe56e23feaecce008fc634fdcf091c1" }, "downloads": -1, "filename": "handsdown-0.3.9.tar.gz", "has_sig": false, "md5_digest": "8d38deaa86d7a81b192c682e07bb1c2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46410, "upload_time": "2020-04-16T03:36:54", "upload_time_iso_8601": "2020-04-16T03:36:54.350881Z", "url": "https://files.pythonhosted.org/packages/26/bd/9e3895dfeda252d034bf20fceb21368b1b08ab002d1c95ce3d9145b7f82f/handsdown-0.3.9.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "d9422b5398920dd57022fcae4ace26b0", "sha256": "23b559e1a619d878e0f98fcb2287a396cd616a408e654f6a285406882234d568" }, "downloads": -1, "filename": "handsdown-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d9422b5398920dd57022fcae4ace26b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.9,<4.0.0", "size": 60134, "upload_time": "2021-10-29T07:32:39", "upload_time_iso_8601": "2021-10-29T07:32:39.472660Z", "url": "https://files.pythonhosted.org/packages/26/79/3fea02515ad0963a2b4f40a3ab135e382a078bc2fe089b7c90728fdd75f9/handsdown-0.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b6552f527ed1ecd85478237f8a966973", "sha256": "827fd347bd859613663af3c0df4c311708b48285962a27a7cd2bd8cf7a561438" }, "downloads": -1, "filename": "handsdown-0.4.1.tar.gz", "has_sig": false, "md5_digest": "b6552f527ed1ecd85478237f8a966973", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.9,<4.0.0", "size": 45862, "upload_time": "2021-10-29T07:32:40", "upload_time_iso_8601": "2021-10-29T07:32:40.502876Z", "url": "https://files.pythonhosted.org/packages/d7/c6/3f9b7da42751ba1e795ab05625e196a8717191f5d4e938b8cfbd13eabacd/handsdown-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "2e684a8d28de419170fc4ff02767e687", "sha256": "3a8f6335fd38ede82ad18d8cde3a8d20bcf1f86bca0dee7a0ceca83fcaf2a39f" }, "downloads": -1, "filename": "handsdown-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2e684a8d28de419170fc4ff02767e687", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.9,<4.0.0", "size": 61020, "upload_time": "2021-11-02T00:16:20", "upload_time_iso_8601": "2021-11-02T00:16:20.627629Z", "url": "https://files.pythonhosted.org/packages/d6/50/328d600f4add24e2900fabf6604d7ff48c7628ccc5d9a592744979ca3ffa/handsdown-0.4.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5b4bdd8ab457c0f525731d236edbf350", "sha256": "c19327684cd6abdce27fea75f0ad074e6cbdd197ddb7479f32320c227a6b2d24" }, "downloads": -1, "filename": "handsdown-0.4.2.tar.gz", "has_sig": false, "md5_digest": "5b4bdd8ab457c0f525731d236edbf350", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.9,<4.0.0", "size": 45890, "upload_time": "2021-11-02T00:16:21", "upload_time_iso_8601": "2021-11-02T00:16:21.726801Z", "url": "https://files.pythonhosted.org/packages/99/91/a7ff276e712386339a44325ef4e43639a3f23d4d8472234ce115ca7c1569/handsdown-0.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "15def7c99d2ac77f46d97063da790fe8", "sha256": "6a7c448f0b2edc9033183e45b6af56da8607bedd461640c770a8009d0eeb1d59" }, "downloads": -1, "filename": "handsdown-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "15def7c99d2ac77f46d97063da790fe8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.9,<4.0.0", "size": 61041, "upload_time": "2021-12-28T21:20:47", "upload_time_iso_8601": "2021-12-28T21:20:47.448104Z", "url": "https://files.pythonhosted.org/packages/6d/45/c90c6bc86f7e26ba743939205246564039f7989409752e0e6adc7eaf8855/handsdown-0.5.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "268942e1b1bc785a1642549d5de17937", "sha256": "1dfba4ffd2e7a1c603f3aeebc2c6dea489c0d5b94dee0142c6b3635417a08085" }, "downloads": -1, "filename": "handsdown-0.5.0.tar.gz", "has_sig": false, "md5_digest": "268942e1b1bc785a1642549d5de17937", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.9,<4.0.0", "size": 45919, "upload_time": "2021-12-28T21:20:49", "upload_time_iso_8601": "2021-12-28T21:20:49.130555Z", "url": "https://files.pythonhosted.org/packages/54/df/eebfbcaf10cc8fc18eb8cca293c644e08c8956fceeb66b531916ba2453e9/handsdown-0.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "e321b0baac4523e89c05c27dc805805e", "sha256": "bda545e6f78327f39482694e742653ecbbc69797d6949105598ab32f2567234a" }, "downloads": -1, "filename": "handsdown-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e321b0baac4523e89c05c27dc805805e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.9,<4.0.0", "size": 61124, "upload_time": "2022-01-04T17:37:07", "upload_time_iso_8601": "2022-01-04T17:37:07.258240Z", "url": "https://files.pythonhosted.org/packages/93/3c/264576678901bf0698b40deda9b2fd68ff42bbbe8d60ab8da546d9ad370a/handsdown-0.5.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1189daabd8bd3ed8819ed49b1f865c52", "sha256": "453e24d73bdc74a4aef207b16d4b560d4b1a315b2f91c83959df097cd3bcd04f" }, "downloads": -1, "filename": "handsdown-0.5.1.tar.gz", "has_sig": false, "md5_digest": "1189daabd8bd3ed8819ed49b1f865c52", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.9,<4.0.0", "size": 45899, "upload_time": "2022-01-04T17:37:08", "upload_time_iso_8601": "2022-01-04T17:37:08.574763Z", "url": "https://files.pythonhosted.org/packages/6e/0c/b6e6531b44592b1d49bab6f0a4fa50134b19a50ca1acff72d3341acdb1a3/handsdown-0.5.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "d2fd72d17e1dc8631655ade984c9c3f0", "sha256": "64b1c15225e855e1ef9745c40961d6ab04038aa3a216fa525e4b0f37f27fb71c" }, "downloads": -1, "filename": "handsdown-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d2fd72d17e1dc8631655ade984c9c3f0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 61518, "upload_time": "2022-01-29T16:34:40", "upload_time_iso_8601": "2022-01-29T16:34:40.730183Z", "url": "https://files.pythonhosted.org/packages/78/35/96ac12a9b85caad9d7106d0c495dd234791fc956bcf4caa16788fc88306a/handsdown-0.6.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a9e843df42c8b0e949ca7d92ee71484a", "sha256": "6ffda612d0090e1b8e94cbde6382e25f219c33f6ff66d88e4b3f2536a12c1341" }, "downloads": -1, "filename": "handsdown-0.6.0.tar.gz", "has_sig": false, "md5_digest": "a9e843df42c8b0e949ca7d92ee71484a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 46176, "upload_time": "2022-01-29T16:34:42", "upload_time_iso_8601": "2022-01-29T16:34:42.550896Z", "url": "https://files.pythonhosted.org/packages/9c/b2/3ae49db8249aaa1f87cd38ab1b204e13e9f5f8c86e54d49453bd209e21f4/handsdown-0.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "3b93e2d55f005bd14fed823bbde8099c", "sha256": "a84ef29c6b75a6c14f718fddc11dce787eb4ceb660d4a546ef8df48579b233da" }, "downloads": -1, "filename": "handsdown-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3b93e2d55f005bd14fed823bbde8099c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 62316, "upload_time": "2022-02-01T10:08:21", "upload_time_iso_8601": "2022-02-01T10:08:21.162695Z", "url": "https://files.pythonhosted.org/packages/e0/38/a4c977d65776be77fa9f87e3dee6397d17f5550353d54de784ba607a50e8/handsdown-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "48146906cca030888eb8de4717b2d9c8", "sha256": "d33b529cc5a4b433c9f7e90d525e06f5616628fdf65107645cc574569703a7d1" }, "downloads": -1, "filename": "handsdown-1.0.0.tar.gz", "has_sig": false, "md5_digest": "48146906cca030888eb8de4717b2d9c8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 47568, "upload_time": "2022-02-01T10:08:22", "upload_time_iso_8601": "2022-02-01T10:08:22.832434Z", "url": "https://files.pythonhosted.org/packages/2a/64/195b0aa74cb024b8cf01943445a820d6800f7965eec88396b7cf60405b0a/handsdown-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "7ca0c11c53755104e7e32b07939230ea", "sha256": "b4d23569cbe3d6bd9876ab9336324e932ca1fc46702cf53d092197c13e1b40a8" }, "downloads": -1, "filename": "handsdown-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7ca0c11c53755104e7e32b07939230ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 62502, "upload_time": "2022-03-18T16:31:44", "upload_time_iso_8601": "2022-03-18T16:31:44.490255Z", "url": "https://files.pythonhosted.org/packages/2a/72/62003bba97a00b9ee9a1df079ceff067f4bf5afc7142cf998a6f318b779d/handsdown-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f08d06333f40f8e7e219e0835c70e172", "sha256": "a674e3f98abaa6f0efb13a3800d0e0cfdda9a336bdfe02c40687c7daf2ca68b2" }, "downloads": -1, "filename": "handsdown-1.1.0.tar.gz", "has_sig": false, "md5_digest": "f08d06333f40f8e7e219e0835c70e172", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 47763, "upload_time": "2022-03-18T16:31:45", "upload_time_iso_8601": "2022-03-18T16:31:45.926739Z", "url": "https://files.pythonhosted.org/packages/1d/09/9274b7c55f1d89931b72b8ea150de7983daafa10669b9413cd9210af8312/handsdown-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7ca0c11c53755104e7e32b07939230ea", "sha256": "b4d23569cbe3d6bd9876ab9336324e932ca1fc46702cf53d092197c13e1b40a8" }, "downloads": -1, "filename": "handsdown-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7ca0c11c53755104e7e32b07939230ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 62502, "upload_time": "2022-03-18T16:31:44", "upload_time_iso_8601": "2022-03-18T16:31:44.490255Z", "url": "https://files.pythonhosted.org/packages/2a/72/62003bba97a00b9ee9a1df079ceff067f4bf5afc7142cf998a6f318b779d/handsdown-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f08d06333f40f8e7e219e0835c70e172", "sha256": "a674e3f98abaa6f0efb13a3800d0e0cfdda9a336bdfe02c40687c7daf2ca68b2" }, "downloads": -1, "filename": "handsdown-1.1.0.tar.gz", "has_sig": false, "md5_digest": "f08d06333f40f8e7e219e0835c70e172", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 47763, "upload_time": "2022-03-18T16:31:45", "upload_time_iso_8601": "2022-03-18T16:31:45.926739Z", "url": "https://files.pythonhosted.org/packages/1d/09/9274b7c55f1d89931b72b8ea150de7983daafa10669b9413cd9210af8312/handsdown-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }