{ "info": { "author": "Bae Junehyeon", "author_email": "devunt@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: Public Domain", "Natural Language :: English", "Natural Language :: Korean", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Security", "Topic :: Security :: Cryptography", "Topic :: Utilities" ], "description": "*****\n\u03bcOTP+\n*****\n\n\u03bcOTP+ is the next generation OTP toolkit.\n\n\nInstallation\n============\n\nYou will need Python 3.4 or higher in order to run ``uotp``.\n\n.. code-block:: console\n\n $ pip install -U uotp\n\n\nHow to use \u03bcOTP+ as GUI application\n===================================\n\nRun ``uotp gui``.\n\n.. code-block:: console\n\n $ uotp gui\n\n\nHow to use \u03bcOTP+ as CLI application\n===================================\n\nJust run ``uotp``.\n\n.. code-block:: console\n\n $ uotp\n\n\u03bcOTP+ will automatically issue a new account and sync time with the server for you.\n\nOnce you have successfully issued the new account, running ``uotp`` again will start giving you the OTP token.\n\nFor more information, see ``uotp --help``.\n\n\nConfiguration file\n------------------\n\nBy default, a new configuration file will be automatically generated on ``~/.config/uotp/config.yml``.\n\nThis behaviour however can be overriden by passing ``--conf=/path/to/config.yml`` to ``uotp`` command or setting ``UOTP_CONF=/path/to/config.yml`` environment variable.\n\n.. code-block:: console\n\n $ uotp --conf=uotp.yml new\n $ UOTP_CONF=uotp.yml uotp new\n\n\nHow to develop an application using \u03bcOTP+\n=========================================\n\n.. code-block:: python\n\n # Import everything\n from uotp import UOTP\n\n\n # Create an instance of UOTP\n uotp = UOTP\n\n\n # Issue a new account\n uotp.issue_account()\n print('S/N: ', uotp.account_serial_number)\n\n\n # Sync time with the server\n uotp.sync_time()\n\n\n # Get a new OTP token\n token = uotp.generate_token()\n print('Token: ', token)\n\n\nLicense\n=======\n\nAll proprietary materials are intellectual property of (C) 2004 - 2017 ATsolutions\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/devunt/uotp", "keywords": "otp", "license": "Public Domain", "maintainer": "", "maintainer_email": "", "name": "uotp", "package_url": "https://pypi.org/project/uotp/", "platform": "", "project_url": "https://pypi.org/project/uotp/", "project_urls": { "Homepage": "https://github.com/devunt/uotp" }, "release_url": "https://pypi.org/project/uotp/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "\u03bcOTP+: The next generation OTP toolkit", "version": "0.4.0" }, "last_serial": 3438924, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "92640a5413fe0b315687265b4101d123", "sha256": "2da0f601de34361c2b3adb2f36ec32bb4807f2888e60cc8fecc63da2bd5bd888" }, "downloads": -1, "filename": "uotp-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "92640a5413fe0b315687265b4101d123", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15208, "upload_time": "2017-08-30T12:54:38", "url": "https://files.pythonhosted.org/packages/05/48/216ef5bc176ebc32a5de205ccc0d1cc844eb710893f6feb21ec336a01b22/uotp-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "519b23b527df577dd46caedad3c081de", "sha256": "6b4619ccd6dedc7ff8ff0fb80edddf82dcceffa041b55c9e94e2309b23175e36" }, "downloads": -1, "filename": "uotp-0.0.1-py3.6.egg", "has_sig": false, "md5_digest": "519b23b527df577dd46caedad3c081de", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 24646, "upload_time": "2017-08-30T12:54:41", "url": "https://files.pythonhosted.org/packages/55/10/054797905b9c098c757f876676106614d3c657fb72f135a545e3b5fced7e/uotp-0.0.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "b446fdde2fc766dbfdb8c8b1148fa4f4", "sha256": "ac4ffb9d79f653a1c189352264f2a710918cc808e151da541dd1afc0468afb8d" }, "downloads": -1, "filename": "uotp-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b446fdde2fc766dbfdb8c8b1148fa4f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10894, "upload_time": "2017-08-30T08:48:19", "url": "https://files.pythonhosted.org/packages/ac/74/10bf334b46b124f32c620a57623346232627b8dd0cbf140c88cc03bc4c56/uotp-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "36c2a0c7919eb93dccd39212427b22b5", "sha256": "e66eab7a86929c172fdfbc29d14cbc449f4d7079d7839738b635eb74133044de" }, "downloads": -1, "filename": "uotp-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "36c2a0c7919eb93dccd39212427b22b5", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15478, "upload_time": "2017-08-30T14:26:41", "url": "https://files.pythonhosted.org/packages/ec/3e/89538edb9ee5af4c94cc2d4dc6f982704669b2d3140c27e8b3d049b2c73b/uotp-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4e08c31a622e2df1aa95177917f3aa4", "sha256": "ad0a8a0ab6817632c1f3ccf4ff5ab1facbbd4925bf75400a87a020b337382960" }, "downloads": -1, "filename": "uotp-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e4e08c31a622e2df1aa95177917f3aa4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12016, "upload_time": "2017-08-30T14:26:37", "url": "https://files.pythonhosted.org/packages/51/37/b7336d4eeca6c7ec18ca1f4a147cd604f6ba3ae8871cdc650cd32016a3d1/uotp-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "07d93165bde390c520f88884332a50ef", "sha256": "7162aef60412e7d72b80aa96482d32d3431e4383a7dbab037c477e6752d2a58c" }, "downloads": -1, "filename": "uotp-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07d93165bde390c520f88884332a50ef", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 15482, "upload_time": "2017-08-30T14:29:48", "url": "https://files.pythonhosted.org/packages/2f/b0/b22c2324915a265dac7bb9149a378154aadf0efcccfa5d38fff452ab9f02/uotp-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98dcff47de5dc970b6d6664e0805c271", "sha256": "59b72f067b6303acd98cb5ffc8851226192dfc0cea27e3d108b53911855d26e5" }, "downloads": -1, "filename": "uotp-0.1.1.tar.gz", "has_sig": false, "md5_digest": "98dcff47de5dc970b6d6664e0805c271", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12018, "upload_time": "2017-08-30T14:29:45", "url": "https://files.pythonhosted.org/packages/e4/67/0205569d0951a8f8c70717d3d3b0d8bafe182fff088bdc80b362b0c62e67/uotp-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "522fcd4e89d2fa526065a153e76e62fc", "sha256": "20091c1461ed8c20e1a47e5d02c440e691ad38584ca0abd62b122795ae3de69c" }, "downloads": -1, "filename": "uotp-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "522fcd4e89d2fa526065a153e76e62fc", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16364, "upload_time": "2017-08-30T16:25:44", "url": "https://files.pythonhosted.org/packages/c8/03/b90c3ac1624bb2ea7d43b4ab73949690d3c20040431eaa14466f4d076c72/uotp-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b585e2abcb54c91427afb0e4c966577f", "sha256": "e0147a3123f6851c977cc05d3d8135f69d6c6bffee0eac8ae34d1bd8426d8f49" }, "downloads": -1, "filename": "uotp-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b585e2abcb54c91427afb0e4c966577f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13424, "upload_time": "2017-08-30T16:25:41", "url": "https://files.pythonhosted.org/packages/37/24/75fe1ef447ea701dac7455d3dfdd1c570762bd8a23263fc6a87e032ce016/uotp-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "cd9e45a3c1d2dea5bfd6e7325e96fa35", "sha256": "c699c2b2cdaf6b39c67e49cd61106a0993b5bf44dffa9508b42d8314110c0b4f" }, "downloads": -1, "filename": "uotp-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd9e45a3c1d2dea5bfd6e7325e96fa35", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 16452, "upload_time": "2017-08-30T16:51:18", "url": "https://files.pythonhosted.org/packages/71/1d/8717f98044d536c88d8e1cb9abdc03fcdd3effbbca956fc05c0c4bf0f33f/uotp-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d2b2d33e2b61be68c4fd9eaddbb4ebe", "sha256": "8ca48586849f9c4a63bb9e98136525fa87a2447c0ff2e5d002c29a1a23d1f673" }, "downloads": -1, "filename": "uotp-0.2.1.tar.gz", "has_sig": false, "md5_digest": "4d2b2d33e2b61be68c4fd9eaddbb4ebe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13511, "upload_time": "2017-08-30T16:51:16", "url": "https://files.pythonhosted.org/packages/52/09/fd4164159b255ae0970abf5781d2c9991371781fdfb71ceb2e7ed08974d5/uotp-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "8abcc55af16fd8bfe186668802966918", "sha256": "5a8bbedf0c6fbff9ca355a49097b5547e37b436cfaf975f870552fc4476c4dbe" }, "downloads": -1, "filename": "uotp-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8abcc55af16fd8bfe186668802966918", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17137, "upload_time": "2017-08-31T07:28:50", "url": "https://files.pythonhosted.org/packages/94/15/5cf3f927d14b125d9fb1c2f0b30dbab6b241b381f9666d652aa6aec09361/uotp-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "574afe99011d4531040d52b173af311f", "sha256": "d5a3650e9083c238f4ccf22f9be94085f148a527814fc5113c6dce1967ca739b" }, "downloads": -1, "filename": "uotp-0.2.2.tar.gz", "has_sig": false, "md5_digest": "574afe99011d4531040d52b173af311f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14064, "upload_time": "2017-08-31T07:28:47", "url": "https://files.pythonhosted.org/packages/41/a1/c4a6a8c8f57c883bde583d7a2106daea8937dd4037e207d52cbf750596ab/uotp-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "56615e1cf877bbb149f79cc46b14becb", "sha256": "e0f142b8fae83c3c4c2a15199811a07b91c4affeccf80511158fafad1d049d6a" }, "downloads": -1, "filename": "uotp-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "56615e1cf877bbb149f79cc46b14becb", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17974, "upload_time": "2017-09-02T07:51:19", "url": "https://files.pythonhosted.org/packages/7f/49/cc5f4681dca70a37c118ea01ab61a957e452ae0a8ccc05e7a8f319edfeb4/uotp-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e79f3530b2803327e2a7ab9d35a55e35", "sha256": "799a0072b9f5146325178feae63cb1f41fa43abd9618df04081d0df92f36a5b0" }, "downloads": -1, "filename": "uotp-0.3.0.tar.gz", "has_sig": false, "md5_digest": "e79f3530b2803327e2a7ab9d35a55e35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14445, "upload_time": "2017-09-02T07:51:17", "url": "https://files.pythonhosted.org/packages/e3/48/8a2efb5a6565dbb8e751ea4a7d30e6dbdead96bcfa8389995fe6c8467cd9/uotp-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "5928897d274600c0d1cb4b8e865dcd05", "sha256": "755dbb078bb0af5a49212b262ec266e8340a96893c7d536b36ec169c795ea69c" }, "downloads": -1, "filename": "uotp-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5928897d274600c0d1cb4b8e865dcd05", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 18019, "upload_time": "2017-09-09T05:49:07", "url": "https://files.pythonhosted.org/packages/15/56/2923d21483c06f2ec491ce7cdcb4bb1d2e12a000501711535c9841ce1f1e/uotp-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83502e2bd3e768e988e69331e6a3f54d", "sha256": "8e94670118da1864bbf30a2e632b7f3519f286b1a5f7cb7a9c5d469926f13800" }, "downloads": -1, "filename": "uotp-0.3.1.tar.gz", "has_sig": false, "md5_digest": "83502e2bd3e768e988e69331e6a3f54d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14490, "upload_time": "2017-09-09T05:49:04", "url": "https://files.pythonhosted.org/packages/40/ec/e341a8762bdda7d24372698ae8306001ca63f60a0fd363e43e89bbb892a8/uotp-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "b58a981f4fc6f17d6ebdbf2c7f936c68", "sha256": "6bb77d0ba515d711175f257a3c228090edecff657d4ffa161e28a3c60609516c" }, "downloads": -1, "filename": "uotp-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b58a981f4fc6f17d6ebdbf2c7f936c68", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 19927, "upload_time": "2017-12-23T11:24:37", "url": "https://files.pythonhosted.org/packages/ed/71/ae92768e6402bbbac24f6bf879d55113b7842b7ee08f9df2cd2134d2186d/uotp-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fea57a89598df5745d23a64f3f3c93c", "sha256": "3e5b946d5409c011170c9a7c5b49594b346d0ceb57a9bb6f46fcc82ac5f7764a" }, "downloads": -1, "filename": "uotp-0.4.0.tar.gz", "has_sig": false, "md5_digest": "4fea57a89598df5745d23a64f3f3c93c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15540, "upload_time": "2017-12-23T11:22:37", "url": "https://files.pythonhosted.org/packages/84/b6/f30e73af74dab74fb93a8911d0585658a44d03cad7e5f70e7dba7c8a9272/uotp-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b58a981f4fc6f17d6ebdbf2c7f936c68", "sha256": "6bb77d0ba515d711175f257a3c228090edecff657d4ffa161e28a3c60609516c" }, "downloads": -1, "filename": "uotp-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b58a981f4fc6f17d6ebdbf2c7f936c68", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 19927, "upload_time": "2017-12-23T11:24:37", "url": "https://files.pythonhosted.org/packages/ed/71/ae92768e6402bbbac24f6bf879d55113b7842b7ee08f9df2cd2134d2186d/uotp-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4fea57a89598df5745d23a64f3f3c93c", "sha256": "3e5b946d5409c011170c9a7c5b49594b346d0ceb57a9bb6f46fcc82ac5f7764a" }, "downloads": -1, "filename": "uotp-0.4.0.tar.gz", "has_sig": false, "md5_digest": "4fea57a89598df5745d23a64f3f3c93c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15540, "upload_time": "2017-12-23T11:22:37", "url": "https://files.pythonhosted.org/packages/84/b6/f30e73af74dab74fb93a8911d0585658a44d03cad7e5f70e7dba7c8a9272/uotp-0.4.0.tar.gz" } ] }