{ "info": { "author": "Dan Trickey", "author_email": "dan@trickey.io", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Damm32\n\n[![CircleCI](https://circleci.com/gh/pyinv/damm32.svg?style=svg)](https://circleci.com/gh/pyinv/damm32)\n[![Maintainability](https://api.codeclimate.com/v1/badges/476968b8744ce5ed9ed3/maintainability)](https://codeclimate.com/github/pyinv/damm32/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/476968b8744ce5ed9ed3/test_coverage)](https://codeclimate.com/github/pyinv/damm32/test_coverage)\n\nPython implementation of the Damm Algorithm in Base 32\n\nBy default, it uses an alphabet as specified in [RFC 4648](https://tools.ietf.org/html/rfc4648) which contains 32 alphanumeric characters, with similar looking characters removed. The padding symbol is not included.\n\n## Installation\n\nThe package is available on [PyPI](https://pypi.org/project/damm32/) and can be installed using pip.\n\n`pip install damm32`\n\nAlternatively, you can clone the repository and use the module.\n\n## Usage\n\nThe module contains a single class called `Damm32`, this class implements the methods for the checksum.\n\n```\nfrom damm32 import Damm32\n\nd32 = Damm32()\n\ndigit = d32.calculate(\"HELLO\")\n\nd32.verify(\"HELLO\" + digit)\n\n```\n\nYou can also pass an list of length 32 to the constructor for the class to specify your alphabet.\n\n```\nfrom damm32 import Damm32\n\nd32 = Damm32(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '2', '3', '4', '5', '6', '7'])\n\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://github.com/pyinv/damm32", "keywords": "", "license": "MIT", "maintainer": "Dan Trickey", "maintainer_email": "dan@trickey.io", "name": "damm32", "package_url": "https://pypi.org/project/damm32/", "platform": "", "project_url": "https://pypi.org/project/damm32/", "project_urls": { "Homepage": "https://github.com/pyinv/damm32", "Repository": "https://github.com/pyinv/damm32" }, "release_url": "https://pypi.org/project/damm32/1.1.0/", "requires_dist": null, "requires_python": ">=3.4,<4.0", "summary": "A pure-python implementation of the Damm Algorithm in Base 32.", "version": "1.1.0" }, "last_serial": 5695068, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "85633d996afd27bc03f3990fbe276a20", "sha256": "4b5a640575246903c453c5068ee0783ee11604cde85b294f48b7443de9b72b8f" }, "downloads": -1, "filename": "damm32-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "85633d996afd27bc03f3990fbe276a20", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5552, "upload_time": "2018-10-10T11:35:29", "url": "https://files.pythonhosted.org/packages/a4/ad/ef72e94ce7aa6d624f8785fddb687a47acdfaa5851b86f72c9d3d8ee9d57/damm32-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bcf549024e8a2609d3df1bfde24f86cc", "sha256": "cb1f82998e9d9281a2338397dbddc228825457057b28aae4d52cc6b6bd555fb0" }, "downloads": -1, "filename": "damm32-0.0.1.tar.gz", "has_sig": false, "md5_digest": "bcf549024e8a2609d3df1bfde24f86cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3313, "upload_time": "2018-10-10T11:35:30", "url": "https://files.pythonhosted.org/packages/99/8d/acf1a4d8e83e0b2ed98e7121b4347ff3957cab4f0cb931f4453355c21868/damm32-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "1ed1696eb4627f5ec7fcabd4e302f29a", "sha256": "43840e6b0aa583b1e565099ecd936e84e91181658d0879a2611e57295885a154" }, "downloads": -1, "filename": "damm32-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1ed1696eb4627f5ec7fcabd4e302f29a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6289, "upload_time": "2018-10-10T13:01:26", "url": "https://files.pythonhosted.org/packages/8b/fb/64574e4c9c8c8dc2e90a34c3700eed937d6e22809d28ab4f96f44b4521c2/damm32-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06d77cbfc66f81bc801ff7a690cc1bda", "sha256": "c07ab08c12e58879cab9e1b263aa92a998a15decfb6adf6521cc45d7b2f1a02e" }, "downloads": -1, "filename": "damm32-0.0.2.tar.gz", "has_sig": false, "md5_digest": "06d77cbfc66f81bc801ff7a690cc1bda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3743, "upload_time": "2018-10-10T13:01:27", "url": "https://files.pythonhosted.org/packages/3a/79/51cf9ece2391957250795249ac7fb5ea636576a6f2e0ffe48519c1dbad58/damm32-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "4dccd01ff38374990ae43c0281a549e7", "sha256": "9ee95710923b77204a3feb3c3251087b23a8376b96c4a49d490f25a1f53d10c2" }, "downloads": -1, "filename": "damm32-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4dccd01ff38374990ae43c0281a549e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4,<4.0", "size": 5251, "upload_time": "2019-03-15T01:28:06", "url": "https://files.pythonhosted.org/packages/44/f1/9d70f124967eeeec007293e1f4a77b01b9b509a49f45e58d08c19cfd8889/damm32-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f60970d9d9781c4ad82f6bb8922c5768", "sha256": "18c80c89adb5080ecfaf20fb0864fc1dd85f7772754f6825562a5842ec110fc7" }, "downloads": -1, "filename": "damm32-0.0.3.tar.gz", "has_sig": false, "md5_digest": "f60970d9d9781c4ad82f6bb8922c5768", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4.0", "size": 3214, "upload_time": "2019-03-15T01:28:07", "url": "https://files.pythonhosted.org/packages/db/29/f823098ba42191f0ca055ec36748250d1e029957a30a97e9b1b24280ddf3/damm32-0.0.3.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "b58c4043316cac873f330efe83707459", "sha256": "441095e9d8baeccbc3cd43d39f1111a1633dd7e0630fa9d4281a005de49ee968" }, "downloads": -1, "filename": "damm32-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b58c4043316cac873f330efe83707459", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4,<4.0", "size": 5551, "upload_time": "2019-03-15T14:45:23", "url": "https://files.pythonhosted.org/packages/52/c3/081e056676901219b39427dbbf13d9b2e7dc9e323f402d0b9f3c82e09709/damm32-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "207f8f8cbdb75299b3ad9ce17bdea514", "sha256": "4bb711dc5b045a3b3d15216fed966045cd602f956138c0120d7ec7666db0930f" }, "downloads": -1, "filename": "damm32-1.0.0.tar.gz", "has_sig": false, "md5_digest": "207f8f8cbdb75299b3ad9ce17bdea514", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4.0", "size": 3366, "upload_time": "2019-03-15T14:45:24", "url": "https://files.pythonhosted.org/packages/7b/20/c0198d7810fca37f2d0ee6b0927559c2c04b35210c9699159bdf8802ae77/damm32-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "e520730e1af36990fd54be20d210dd1c", "sha256": "1499482b2e8cc6c55802fee1271127fd62ce0df3bdcb6206d2ffee57d4ff6288" }, "downloads": -1, "filename": "damm32-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e520730e1af36990fd54be20d210dd1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4,<4.0", "size": 3937, "upload_time": "2019-08-18T16:06:25", "url": "https://files.pythonhosted.org/packages/9f/3f/3410afdae43b884c7f36732f80bc990697445018031eed39b51bc4469b82/damm32-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "adc80941d5a5c24e56f091b07c26da52", "sha256": "825e8aa879ac9d00cfdb41d760eb1c343461ff48e68d719411d5077c4c2837f9" }, "downloads": -1, "filename": "damm32-1.1.0.tar.gz", "has_sig": false, "md5_digest": "adc80941d5a5c24e56f091b07c26da52", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4.0", "size": 3556, "upload_time": "2019-08-18T16:06:27", "url": "https://files.pythonhosted.org/packages/4f/ec/0c455234480c5424beb45cdc02fd4b4894ee8864580233596f6f6ddd98b0/damm32-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e520730e1af36990fd54be20d210dd1c", "sha256": "1499482b2e8cc6c55802fee1271127fd62ce0df3bdcb6206d2ffee57d4ff6288" }, "downloads": -1, "filename": "damm32-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e520730e1af36990fd54be20d210dd1c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4,<4.0", "size": 3937, "upload_time": "2019-08-18T16:06:25", "url": "https://files.pythonhosted.org/packages/9f/3f/3410afdae43b884c7f36732f80bc990697445018031eed39b51bc4469b82/damm32-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "adc80941d5a5c24e56f091b07c26da52", "sha256": "825e8aa879ac9d00cfdb41d760eb1c343461ff48e68d719411d5077c4c2837f9" }, "downloads": -1, "filename": "damm32-1.1.0.tar.gz", "has_sig": false, "md5_digest": "adc80941d5a5c24e56f091b07c26da52", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4,<4.0", "size": 3556, "upload_time": "2019-08-18T16:06:27", "url": "https://files.pythonhosted.org/packages/4f/ec/0c455234480c5424beb45cdc02fd4b4894ee8864580233596f6f6ddd98b0/damm32-1.1.0.tar.gz" } ] }