{ "info": { "author": "fredzhang", "author_email": "slzhang08@qq.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2" ], "description": "===========================\ndjdg PYTHON COMMON AUTH SDK\n===========================\n\n.. toctree::\n :maxdepth: 2\n\n\nHow To Install:\n---------------\ncommand ::\n\n pip install djdg_python_common_verify_SDK\n\ndatabase model description:\n---------------------------\n\n 1. VerifiedUser_model_\n 2. BankInfo_model_\n 3. BankVerify_model_\n\n\n.. _VerifiedUser_model:\n\nVerifiedUser model\n^^^^^^^^^^^^^^^^^^\n\n.. code-block:: python\n\n class VerifiedUser(models.Model):\n TYPE_REAL_NAME_VALIDATE = 0\n TYPE_UPLOAD_VALIDATE = 1\n CHOICE_TYPE = (\n (TYPE_REAL_NAME_VALIDATE, '\u5b9e\u540d\u8ba4\u8bc1'),\n (TYPE_UPLOAD_VALIDATE, '\u4e0a\u4f20\u8ba4\u8bc1')\n )\n STATUS_AUDIT_PASS = 0\n STATUS_AUDIT = 1\n STATUS_NOT_USE = 2\n STATUS_RE_AUDIT = 4\n CHOICE_STATUS = (\n (STATUS_AUDIT_PASS, '\u8ba4\u8bc1\u6210\u529f'),\n (STATUS_AUDIT, '\u5f85\u5ba1\u6838'),\n (STATUS_NOT_USE, '\u672a\u4f7f\u7528'),\n (STATUS_RE_AUDIT, '\u8ba4\u8bc1\u5931\u8d25')\n )\n user = models.OneToOneField(User, related_name=\"common_verified_user\")\n id_name = models.CharField(u\"\u8eab\u4efd\u8bc1\u59d3\u540d\", max_length=64, null=True)\n id_card_no = models.CharField(u\"\u8eab\u4efd\u8bc1\u53f7\u7801\", max_length=32, null=True)\n type = models.SmallIntegerField(u\"\u8ba4\u8bc1\u7c7b\u578b\", default=0, choices=CHOICE_TYPE)\n id_card_img1 = models.CharField(u\"\u8eab\u4efd\u8bc1\u6b63\u9762\", max_length=128, null=True)\n id_card_img2 = models.CharField(u\"\u8eab\u4efd\u8bc1\u53cd\u800c\", max_length=128, null=True)\n status = models.SmallIntegerField(u\"\u8ba4\u8bc1\u72b6\u6001\", default=0, choices=CHOICE_STATUS)\n stime = models.DateTimeField(u\"\u72b6\u6001\u65f6\u95f4\", auto_now=True)\n ctime = models.DateTimeField(u\"\u521b\u5efa\u65f6\u95f4\", auto_now_add=True)\n pay_password = models.CharField(u\"\u652f\u4ed8\u5bc6\u7801\", max_length=128, null=True, blank=True)\n\n\n.. _BankInfo_model:\n\nBankInfo model\n^^^^^^^^^^^^^^\n\n.. code-block:: python\n\n class BankInfo(models.Model):\n name = models.CharField(u\"\u94f6\u884c\u540d\u79f0\", max_length=32)\n logo = models.CharField(u\"\u94f6\u884cLOGO URL\", max_length=255)\n color = models.CharField(u\"\u94f6\u884c\u5361\u5e95\u8272\", max_length=8, default='FFFFFF')\n\n\n.. _BankVerify_model:\n\nBankVerify model\n^^^^^^^^^^^^^^^^\n\n.. code-block:: python\n\n class BankVerify(models.Model):\n TYPE_BANK_BOOK = 0\n TYPE_DEBIT_CARD = 1\n TYPE_CREDIT_CARD = 2\n CHOICE_TYPE = (\n (TYPE_BANK_BOOK, '\u5b58\u6298'),\n (TYPE_DEBIT_CARD, '\u501f\u8bb0\u5361'),\n (TYPE_CREDIT_CARD, '\u4fe1\u7528\u5361')\n )\n STATUS_AUDIT_PASS = 0\n STATUS_AUDIT = 1\n STATUS_NOT_USE = 2\n STATUS_RE_AUDIT = 4\n CHOICE_STATUS = (\n (STATUS_AUDIT_PASS, '\u7ed1\u5b9a\u6210\u529f'),\n (STATUS_AUDIT, '\u7ed1\u5b9a\u4e2d'),\n (STATUS_NOT_USE, \"\u672a\u4f7f\u7528\"),\n (STATUS_RE_AUDIT, '\u7ed1\u5b9a\u5931\u8d25')\n )\n user = models.ForeignKey(User)\n bank_info = models.ForeignKey(BankInfo, related_name=\"dealer_bank_card\", null=True, default=None,\n on_delete=models.SET_NULL)\n card_branch = models.TextField(\"\u5f00\u6237\u652f\u884c\", max_length=64, null=True)\n province = models.CharField(\"\u7701\u4efd\", max_length=32, default='')\n city = models.CharField(\"\u57ce\u5e02\", max_length=16, default='')\n card_no = models.CharField(\"\u5361\u53f7\", max_length=64)\n card_tel = models.CharField(\"\u9884\u7559\u624b\u673a\", max_length=16)\n type = models.SmallIntegerField(\"\u5361\u7c7b\u578b\", default=1, choices=CHOICE_TYPE)\n status = models.SmallIntegerField(\"\u5361\u72b6\u6001\", default=0, choices=CHOICE_STATUS)\n stime = models.DateTimeField(\"\u72b6\u6001\u65f6\u95f4\", auto_now=True)\n ctime = models.DateTimeField(\"\u521b\u5efa\u65f6\u95f4\", auto_now_add=True)\n\n\nSetting Config:\n - INSTALLED_APPS_.\n - JAVA_COMMON_SYSTEM_.\n - RESPONSE_CONFIG_.\n - REDIS_.\n - LOGGING_.\n - DATABASE_.\n\n.. _INSTALLED_APPS:\n\nINSTALLED_APPS\n\n.. code-block:: python\n\n INSTALLED_APPS = [\n \"**\",\n \"djdg_common_verify\"\n ]\n # INSTALLED_APPS \u589e\u52a0\u5982\u4e0aapp\n # \u7136\u540e\u8fd0\u884cpython manage.py migrate djdg_common_verify\n # \u751f\u6210\u6570\u636e\u5e93\u7684\u8868\uff0c\u4ee5\u53ca\u63d2\u5165bankinfo\u7684\u4fe1\u606f\n\n.. _JAVA_COMMON_SYSTEM:\n\nJAVA_COMMON_SYSTEM\n\n.. code-block:: python\n\n JAVA_COMMON_SYSTEM = {\n 'host': 'localhost', 'protocol': 'http',\n 'base_url': '/ja/common/v1/',\n 'appid': 'abc', 'secret': '123'}\n # \u9700\u8981\u5728settings.py\u589e\u52a0java common\u6a21\u5757\u7684\u914d\u7f6e\uff0c\u5177\u4f53\u7684\u914d\u7f6e\u4fe1\u606f\u5982\u4e0a\n\n.. _RESPONSE_CONFIG:\n\nRESPONSE_CONFIG\n\n.. code-block:: python\n\n RESPONSE_CONFIG = {\n 'STATUS_PARAM': 'statusCode',\n 'MSG_PARAM': 'msg',\n 'DATA_PARAM': 'data',\n 'OK_STATUS': 0,\n 'OK_MSG': 'success'\n }\n # \u914d\u7f6eRESPONSE_CONFIG\uff0c \u4e3b\u8981\u7528\u4e8e\u7cfb\u7edf\u95f4\u7684http\u8bf7\u6c42\n\n.. _REDIS:\n\nREDIS\n\n.. code-block:: python\n\n REDIS = {\n 'HOST': 'localhost',\n 'PORT': 6379,\n 'DB': 0,\n 'PASSWORD': '123',\n }\n # \u914d\u7f6eredis\n\n.. _LOGGING:\n\nLOGGING\n\n.. code-block:: python\n\n LOGGING = {\n 'version': 1,\n 'disable_existing_loggers': False,\n 'formatters': {\n 'verbose': {\n 'format': '%(asctime)s [%(levelname)s] [%(process)d:%(thread)d] [%(name)s] [%(module)s.%(funcName)s:%(lineno)d] - %(message)s'\n },\n 'middle': {\n 'format': '%(asctime)s [%(levelname)s] [%(module)s.%(funcName)s:%(lineno)d] - %(message)s'\n },\n 'simple': {\n 'format': '%(levelname)s %(message)s'\n },\n },\n 'filters': {\n 'require_debug_false': {\n '()': 'django.utils.log.RequireDebugFalse'\n }\n },\n 'handlers': {\n 'null': {\n 'level': 'DEBUG',\n 'class': 'logging.NullHandler',\n },\n 'console': {\n 'level': 'DEBUG',\n 'class': 'logging.StreamHandler',\n 'formatter': 'middle'\n },\n 'testlog': {\n 'level': 'DEBUG',\n 'class': 'logging.handlers.RotatingFileHandler',\n 'formatter': 'verbose',\n 'filename': os.path.join(BASE_DIR, 'test.log'),\n 'maxBytes': '1024 * 1024 * 10',\n 'backupCount': '5'\n },\n },\n 'loggers': {\n 'django': {\n 'handlers': ['testlog'],\n 'propagate': True,\n 'level': 'INFO',\n },\n 'djdg_common_verify': {\n 'handlers': ['testlog'],\n 'propagate': False,\n 'level': 'DEBUG',\n },\n }\n }\n # \u5982\u679c\u9700\u8981\u5c06\u8ba4\u8bc1\u7684\u4fe1\u606f\u4fdd\u5b58\u5230log\u91cc\u9762\uff0c\u9700\u8981\u5728loggers\u91cc\u9762\u8bbe\u7f6edjdg_common_verify\uff0c\u5177\u4f53\u914d\u7f6e\u53ef\u53c2\u8003\u4e0a\u8ff0\u4ee3\u7801\n\n\n.. _DATABASE:\n\nDATABASE migrate\n\n.. code-block:: python\n\n python manage.py migrate djdg_common_verify\n\nRun Test:\n\nTest Command\n\n.. code-block:: python\n\n # first config setting file.\n # \u5728DATABASE\u91cc\u9762\u52a0\u5165\u7c7b\u4f3c\u7684\u5982\u4e0b\u4ee3\u7801\n # \u7531\u4e8e\u6709\u4e2d\u6587\uff0c\u5fc5\u987b\u8bbe\u7f6e\u7f16\u7801\n DATABASES = {\n 'default': {\n 'ENGINE': 'django.db.backends.mysql',\n 'NAME': 'verifycommon',\n 'USER': 'root',\n 'PASSWORD': '123456',\n 'HOST': '127.0.0.1',\n 'PORT': '3306',\n 'TEST': {\n 'NAME': 'mytestdatabase',\n 'CHARSET': 'utf8',\n 'COLLATION': 'utf8_general_ci',\n },\n },\n }\n # \u7136\u540e\u8fd0\u884c\u4e0b\u9762\u7684\u4ee3\u7801\uff0c\u6267\u884c\u6d4b\u8bd5\u7528\u4f8b,\n # \u4e0d\u8981\u9891\u7e41\u53bb\u8dd1\u6d4b\u8bd5\u7528\u4f8b\uff0c\u7531\u4e8ejava\u7684\u63a5\u53e3\u76f4\u63a5\u5bf9\u63a5\u7b2c\u4e09\u65b9\u7684\u4ed8\u8d39\u670d\u52a1\uff0c \u53ea\u8981\u4fdd\u8bc1\u529f\u80fd\u6b63\u5e38\u5373\u53ef\n python manage.py test djdg_common_verify\n\n\nFunction list:\n - idcardauth_example_.\n - bankcardauth_example_.\n - paypasswordauth_example_.\n\n\n.. _idcardauth_example:\n\nIdCardUserAuther Example:\n\n\n1. \u7528\u6237\u83b7\u53d6\u5b9e\u540d\u8ba4\u8bc1\u4fe1\u606f\n\n\u5bfc\u5165\u5de5\u5177\u7c7b ::\n\n from djdg_common_verify.idcard_auth import IdCardUserAuther\n\n\u521b\u5efa\u5b9e\u4f8b\u5bf9\u8c61 ::\n\n Auther = IdCardUserAuther(user_id=1)\n\n2. \u83b7\u53d6\u5e8f\u5217\u5316\u4e4b\u540e\u7684\u4fe1\u606f ::\n\n Auther.serializer()\n\n2.1 \u8fd4\u56de\u4fe1\u606f\u4e3adict\n\n2.1.1 \u672a\u901a\u8fc7\u8ba4\u8bc1::\n\n {\"statusCode\": 5000, \"msg\": \"\u7528\u6237\u6682\u672a\u901a\u8fc7\u8ba4\u8bc1\", \"data\":{}}\n\n2.1.2 \u901a\u8fc7\u8ba4\u8bc1::\n\n {\"statusCode\": 0, \"msg\": \"\u6210\u529f\", \"data\":{\"name\":\"\u5f20\u4e09\", \"identity\":1234}}\n\n3. \u4f20\u53c2\u8fdb\u884c\u8ba4\u8bc1 ::\n\n Auther = IdCardUserAuther(user_id=1, auth_data={\"name\":\"\u5f20\u4e09\", \"identity\":\"123456789\"})\n\n3.1 \u8c03\u7528\u8ba4\u8bc1\u65b9\u6cd5 ::\n\n Auther.auth()\n\n3.2 \u83b7\u53d6\u5e8f\u5217\u5316\u4e4b\u540e\u7684\u4fe1\u606f ::\n\n Auther.serializer()\n\n3.3 \u8fd4\u56de\u4fe1\u606f\u4e3adict\n\n3.3.1 \u672a\u901a\u8fc7\u8ba4\u8bc1 ::\n\n {\"statusCode\": 5000, \"msg\": \"\u7528\u6237\u6682\u672a\u901a\u8fc7\u8ba4\u8bc1\", \"data\":{}}\n\n3.3.2 \u901a\u8fc7\u8ba4\u8bc1 ::\n\n {\"statusCode\": 0, \"msg\": \"\u6210\u529f\", \"data\":{\"name\":\"\u5f20\u4e09\", \"identity\":1234}}\n\n\n\n.. _bankcardauth_example:\n\nbankcardauth Example:\n\n\u5bfc\u5165\u5de5\u5177\u7c7b ::\n\n from djdg_common_verify.bankcard_auth import BankCardUserAuther\n\n\u7528\u6237\u83b7\u53d6\u94f6\u884c\u5361\u7ed1\u5b9a\u4fe1\u606f ::\n\n Auther = BankCardUserAuther(user_id=1)\n\n\u83b7\u53d6\u5e8f\u5217\u5316\u4e4b\u540e\u7684\u4fe1\u606f ::\n\n Auther.serializer()\n\n\u8fd4\u56de\u4fe1\u606f\u4e3adict ::\n\n # \u672a\u901a\u8fc7\u8ba4\u8bc1\n {\"statusCode\": 5000, \"msg\": \"\u94f6\u884c\u5361\u6682\u672a\u901a\u8fc7\u8ba4\u8bc1\", \"data\": {}}\n # \u901a\u8fc7\u8ba4\u8bc1\n {\"statusCode\": 0, \"msg\": \"\u6210\u529f\",\n \"data\": {\n \"bankcard\": \"\", \"bank_branch_name\": \"\",\n \"type\": \"\", \"province\": \"\",\n \"city\": \"\", \"tel\": \"\",\n \"bank_name\": \"\", \"bank_logo\": \"\",\n \"color\": \"\", \"name\": \"\", \"identity\": \"\"\n }\n }\n\n\u4f20\u53c2\u8fdb\u884c\u8ba4\u8bc1 ::\n\n Auther = BankCardUserAuther(user_id=1, auth_data={\n \"bankcard\": \"\", \"bank_branch_name\": \"\",\n \"type\": \"\", \"province\": \"\", \"city\": \"\",\n \"tel\": \"\", \"bank_name\": \"\", \"bank_logo\": \"\",\n \"color\": \"\", \"name\": \"\", \"identity\": \"\"\n }\n\n\u7ed1\u5b9a\u6216\u4fee\u6539\u94f6\u884c\u5361 ::\n\n\n auth_data={\n \"name\": \"\u5f20\u4e09\", \"bankcard\": \"1234567890\", \"tel\":\"13112345678\"\n }\n # \"name\":\u59d3\u540d\uff0c \"bankcard\":\u94f6\u884c\u5361\u53f7\uff0c \"tel\":\u7535\u8bdd\u53f7\u7801 \u4e09\u4e2a\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u7a7a\n\n\n\u4fee\u6539\u94f6\u884c\u5361\u652f\u884c\u4fe1\u606f ::\n\n auth_data={\n \"province\": \"\u5e7f\u4e1c\", \"city\":\"\u6df1\u5733\", \"bank_branch_name\": \"\u79d1\u6280\u56ed\u652f\u884c\"\n }\n # \"province\":\u7701\u4efd\uff0c \"city\":\u57ce\u5e02\uff0c \"bank_branch_name\":\u652f\u884c\u540d\u79f0 \u4e09\u4e2a\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u7a7a\n\n\n\u8c03\u7528\u8ba4\u8bc1\u65b9\u6cd5 ::\n\n Auther.auth()\n\n\u83b7\u53d6\u5e8f\u5217\u5316\u4e4b\u540e\u7684\u4fe1\u606f ::\n\n Auther.serializer()\n\n\u8fd4\u56de\u4fe1\u606f\u4e3adict ::\n\n # \u672a\u901a\u8fc7\u8ba4\u8bc1\n {\"statusCode\": 5000, \"msg\": \"\u7528\u6237\u6682\u672a\u901a\u8fc7\u8ba4\u8bc1\", \"data\":{}}\n\n # \u901a\u8fc7\u8ba4\u8bc1\n {\"statusCode\": 0, \"msg\": \"\u6210\u529f\",\n \"data\": {\n \"bankcard\": \"\", \"bank_branch_name\": \"\",\n \"type\": \"\", \"province\": \"\", \"city\": \"\",\n \"tel\": \"\", \"bank_name\": \"\", \"bank_logo\": \"\",\n \"color\": \"\", \"name\": \"\", \"identity\": \"\"\n }\n }\n\n\n.. _paypasswordauth_example:\n\npaypasswordauth Example:\n\n\u5bfc\u5165\u5de5\u5177\u7c7b ::\n\n from djdg_common_verify.bankcard_auth import BankCardUserAuther\n\n\u7528\u6237\u83b7\u53d6\u94f6\u884c\u5361\u7ed1\u5b9a\u4fe1\u606f ::\n\n Auther = UserPasswordAuther(user_id=1)\n\n\u83b7\u53d6\u5e8f\u5217\u5316\u4e4b\u540e\u7684\u4fe1\u606f ::\n\n Auther.serializer()\n\n\u8fd4\u56de\u4fe1\u606f\u4e3adict ::\n\n {\"statusCode\": 0, \"msg\": \"\u6210\u529f\", \"data\": {\"password\": \"\u8bbe\u7f6e\u7684\u5bc6\u7801\"}}\n\n # \u5df2\u7ecf\u8bbe\u7f6e\u5bc6\u7801\n\n {\"statusCode\": 5000, \"msg\": \"\u7528\u6237\u6682\u672a\u8bbe\u7f6e\u4ea4\u6613\u5bc6\u7801\", \"data\": {}}\n\n # \u672a\u8bbe\u7f6e\u5bc6\u7801\n\n\u4f20\u53c2\u8fdb\u884c\u8ba4\u8bc1\n\n\u8bbe\u7f6e\u4ea4\u6613\u5bc6\u7801 (\u4e4b\u524d\u5c1a\u672a\u8bbe\u7f6e\u4ea4\u6613\u5bc6\u7801) ::\n\n Auther = UserPasswordAuther(user_id=1)\n # \u8c03\u7528\u8ba4\u8bc1\u65b9\u6cd5\n Auther.auth()\n # \u83b7\u53d6\u5e8f\u5217\u5316\u4e4b\u540e\u7684\u4fe1\u606f\n Auther.serializer()\n # \u8fd4\u56de\u4fe1\u606f\u4e3adict\n {\"statusCode\": 5006, \"msg\": \"\u5bc6\u7801\u65e0\u6548\u6216\u8005\u4e3a\u7a7a\", \"data\": {}} # \u672a\u901a\u8fc7\u8ba4\u8bc1\n {\"statusCode\": 0, \"msg\": \"\u6210\u529f\", \"data\": {\"password\": \"\u8bbe\u7f6e\u7684\u5bc6\u7801\"}} # \u901a\u8fc7\u8ba4\u8bc1\n\n\n\u4fee\u6539\u4ea4\u6613\u5bc6\u7801 (\u4e4b\u524d\u5df2\u7ecf\u8bbe\u7f6e\u4ea4\u6613\u5bc6\u7801) ::\n\n # \u7b2c\u4e00\u6b65\u83b7\u53d6settingtoken\n Auther = UserPasswordAuther(user_id=1, auth_data={\"identity\":\"\u8eab\u4efd\u8bc1\u53f7\u7801\"})\n # \u8c03\u7528\u83b7\u53d6settingtoken\u65b9\u6cd5\n Auther.get_settingtoken()\n # \u8fd4\u56de\u4fe1\u606f\u4e3adict\n {\"statusCode\": 5003, \"msg\": \"\u7528\u6237\u8eab\u4efd\u8bc1\u4fe1\u606f\u672a\u901a\u8fc7\u6821\u9a8c\", \"data\": {}}\n {\"statusCode\": 5000, \"msg\": \"\u7528\u6237\u6682\u672a\u8bbe\u7f6e\u4ea4\u6613\u5bc6\u7801\", \"data\": {}}\n {\"statusCode\": 0,\n \"msg\": \"\u9a8c\u8bc1\u8eab\u4efd\u4fe1\u606f\u6210\u529f\",\n \"data\": {\n \"settingToken\": settingtoken.token\n }} # \u83b7\u53d6\u6210\u529f\u8fd4\u56de\u4fe1\u606f\n # \u7b2c\u4e00\u6b65\u83b7\u53d6settingtoken\n Auther = UserPasswordAuther(user_id=1, \\\n auth_data={\"password\":\"\u8bbe\u7f6e\u7684\u4ea4\u6613\u5bc6\u7801\", \"setttingtoken\":\"\u901a\u8fc7\u7b2c\u4e00\u6b65\u83b7\u53d6\u7684settingtoken\"})\n # \u8c03\u7528\u8ba4\u8bc1\u65b9\u6cd5\n Auther.auth()\n # \u83b7\u53d6\u5e8f\u5217\u5316\u4e4b\u540e\u7684\u4fe1\u606f\n Auther.serializer()\n # \u8fd4\u56de\u4fe1\u606f\u4e3adict\n {\"statusCode\": 5001, \"msg\": \"setting token\u672a\u901a\u8fc7\u6821\u9a8c\", \"data\": {}} # \u672a\u901a\u8fc7\u8ba4\u8bc1\n {\"statusCode\": 5005, \"msg\": \"settingtoken\u5931\u6548\", \"data\": {}} # \u672a\u901a\u8fc7\u8ba4\u8bc1\n {\"statusCode\": 0, \"msg\": \"\u6210\u529f\", \"data\": {\"password\": \"\u8bbe\u7f6e\u7684\u5bc6\u7801\"}} # \u901a\u8fc7\u8ba4\u8bc1\n\n\n\nVersion Log ::\n\n # version 0.0.5\n \u4fee\u6b63\u9a8c\u8bc1\u94f6\u884c\u5361\u7684\u6d41\u7a0b\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/djdg-common-verify", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "djdg_python_common_verify_SDK", "package_url": "https://pypi.org/project/djdg_python_common_verify_SDK/", "platform": "", "project_url": "https://pypi.org/project/djdg_python_common_verify_SDK/", "project_urls": { "Homepage": "https://pypi.python.org/pypi/djdg-common-verify" }, "release_url": "https://pypi.org/project/djdg_python_common_verify_SDK/0.0.6/", "requires_dist": null, "requires_python": "", "summary": "djdg common verify", "version": "0.0.6" }, "last_serial": 2508251, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "bd27a7a4dd6a3a1d8386ae5fb1ea6c59", "sha256": "7fd85c2f324f1602ec76a50fead3ce9a10eab71a8a6b4c6ba80f763e584c2f8f" }, "downloads": -1, "filename": "djdg_python_common_verify_SDK-0.0.1.tar.gz", "has_sig": false, "md5_digest": "bd27a7a4dd6a3a1d8386ae5fb1ea6c59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15992, "upload_time": "2016-10-18T04:26:10", "url": "https://files.pythonhosted.org/packages/17/b1/d3d9d684978f3a8999f621ff1516ff4dbbb1bf9106f71167318aab92e15c/djdg_python_common_verify_SDK-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "44b4ea5f280e71f0002a043adb9dddf0", "sha256": "1c8f1f4c3f22addae3d70457ea06575e8c7fdf8057d201c8b26db6e5c10c8f09" }, "downloads": -1, "filename": "djdg_python_common_verify_SDK-0.0.2.tar.gz", "has_sig": false, "md5_digest": "44b4ea5f280e71f0002a043adb9dddf0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17746, "upload_time": "2016-10-18T08:24:13", "url": "https://files.pythonhosted.org/packages/f1/36/cebd344370a3d95f300e3fd862e2eb215352f3d306ed0361339e7056edb3/djdg_python_common_verify_SDK-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "326c72bd42fe2dae273fb0b9ab54eee1", "sha256": "3cc71f23e5ebaa889ea0d0fe02f78201befdf452adea1cb0c6d2eac81fa9669c" }, "downloads": -1, "filename": "djdg_python_common_verify_SDK-0.0.3.tar.gz", "has_sig": false, "md5_digest": "326c72bd42fe2dae273fb0b9ab54eee1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18056, "upload_time": "2016-10-19T03:52:06", "url": "https://files.pythonhosted.org/packages/fa/c3/94772666731ea65d16cb0c791b1181dc5a4167167dd1b63697b1097c4257/djdg_python_common_verify_SDK-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "fa061bee7caca45f84444549a749cdf4", "sha256": "223ccab6ff58146d266927a33a99695b06984234a3aee5acc8c09078588fba87" }, "downloads": -1, "filename": "djdg_python_common_verify_SDK-0.0.4.tar.gz", "has_sig": false, "md5_digest": "fa061bee7caca45f84444549a749cdf4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18072, "upload_time": "2016-10-31T07:24:19", "url": "https://files.pythonhosted.org/packages/63/3c/6066ebaf60d6e1e810a0b3adecb8fff5a31ba32ebf3d0a3c693f9e865dc7/djdg_python_common_verify_SDK-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "a998c488a8e0bd16eeb63e4d1464503e", "sha256": "6abeeeb520c3acabeb09a32d36679a61ca58f6989fa1c4d1f57dc0409d30921d" }, "downloads": -1, "filename": "djdg_python_common_verify_SDK-0.0.5.tar.gz", "has_sig": false, "md5_digest": "a998c488a8e0bd16eeb63e4d1464503e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18284, "upload_time": "2016-11-08T10:32:16", "url": "https://files.pythonhosted.org/packages/36/db/915f56bc89778e3625d28dd67ae59ec84d838671a26858cff9ff24cfd0aa/djdg_python_common_verify_SDK-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "882d0c73ecf852f2b1370b7d17a0981f", "sha256": "edaf2a947cf2d47e509512f6e87d2b70772b099d6d4f66406110896e9604699e" }, "downloads": -1, "filename": "djdg_python_common_verify_SDK-0.0.6.tar.gz", "has_sig": false, "md5_digest": "882d0c73ecf852f2b1370b7d17a0981f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18374, "upload_time": "2016-12-09T06:43:57", "url": "https://files.pythonhosted.org/packages/3c/aa/baa004e083bc630977b1d2dae61fcc81dbcf254a85c6fd21ae80c36534d7/djdg_python_common_verify_SDK-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "882d0c73ecf852f2b1370b7d17a0981f", "sha256": "edaf2a947cf2d47e509512f6e87d2b70772b099d6d4f66406110896e9604699e" }, "downloads": -1, "filename": "djdg_python_common_verify_SDK-0.0.6.tar.gz", "has_sig": false, "md5_digest": "882d0c73ecf852f2b1370b7d17a0981f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18374, "upload_time": "2016-12-09T06:43:57", "url": "https://files.pythonhosted.org/packages/3c/aa/baa004e083bc630977b1d2dae61fcc81dbcf254a85c6fd21ae80c36534d7/djdg_python_common_verify_SDK-0.0.6.tar.gz" } ] }