{ "info": { "author": "Sean (Shih-Lun) Wu", "author_email": "summer7sean@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.7" ], "description": "# aicsapi-tool-python\n```\n| .gitignore\n| .kvvars # specifies environment variables needed by \"keyvault_certgen.py\" & \"keyvault_utils.py\"\n| LICENSE \n| README.md\n| requirements.txt # package dependencies\n| requirements_dev.txt # required for packaging\n| setup.py # for wrapping into a PyPI package\n|\n+---aicsapi_tool_python # actual codes\n| appinsight_transport.py # for logging custom events w/ correlation id to Azure Appinsights\n| keyvault_certgen.py # provides utilities to generate X509v3 cert and upload to Azure KV\n| keyvault_tokenCache.py # for caching credentials to save login time\n| keyvault_utils.py # device-code sign in to Azure, get/import secret & cert to Azure KV\n| __init__.py\n|\n\\---tests # test_*.py performs unit test for the corresponding module\n test_appinsight_transport.py\n test_keyvault_certgen.py\n test_keyvault_tokenCache.py\n test_keyvault_utils.py \n```\n## Description\nA package to help Python API template in: \n * Logging to Azure Application Insights \n * Fetching secret from Azure Key Vault \n * Generating self-signed certificate and upload it to Azure Key Vault\n * Caching credential token to save login time\n\n## Installation\nThis package has been published to PyPI, so you can use \n`pip install aicsapi-tool-python`\n\n## Note\nWhen calling methods in `keyvault_utils` or `keyvault_certgen`, be sure to have the following environment variables set: \n~~~\nKEY_VAULT_URL \nKEY_VAULT_SECRET_NAME \nKEY_VAULT_CERT_NAME\nAZURE_TENANT_ID\n~~~\n\n## Example: Generate Self-signed Certification and Upload to Azure KV\n * Ensure required env. variables are loaded, create `.kvvars` under current working directory\n~~~\nKEY_VAULT_URL=\"https://[your keyvault name].vault.azure.net\" \nKEY_VAULT_CERT_NAME=\"certificate name\"\nAZURE_TENANT_ID=\"your azure tenant id\"\n~~~\n\n * Run the following code snippet with \n`python certgen.py [your ASUS account name] [filename of generated key & cert]`\n```python\n# certgen.py\n\nfrom aicsapi_tool_python.keyvault_certgen import generate_v3cert, upload_v3cert_to_kv\nimport sys\n\nasus_account = sys.argv[1]\ncert_name = sys.argv[2]\n\ngenerate_v3cert( asus_account, cert_name )\nupload_v3cert_to_kv( cert_name + '.pfx' )\n```\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/ASUS-AICS/aicsapi-tool-python", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aicsapi-tool-python", "package_url": "https://pypi.org/project/aicsapi-tool-python/", "platform": "", "project_url": "https://pypi.org/project/aicsapi-tool-python/", "project_urls": { "Homepage": "https://github.com/ASUS-AICS/aicsapi-tool-python" }, "release_url": "https://pypi.org/project/aicsapi-tool-python/0.3.2/", "requires_dist": [ "applicationinsights (==0.11.9)", "adal (==1.0.2)", "python-dotenv (==0.10.3)", "azure-keyvault (==1.1.0)", "pyOpenSSL (==19.0.0)" ], "requires_python": "", "summary": "Toolkit for Python backend template", "version": "0.3.2" }, "last_serial": 5622591, "releases": { "0.1.4": [ { "comment_text": "", "digests": { "md5": "be3f937afe4d054f2e8dd34ca819c72a", "sha256": "e0c1d9e2aa77c11d57940177040762bec7e858e7ea381c8dbf333ad101b50539" }, "downloads": -1, "filename": "aicsapi_tool_python-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "be3f937afe4d054f2e8dd34ca819c72a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6631, "upload_time": "2019-07-25T03:58:14", "url": "https://files.pythonhosted.org/packages/e2/f8/5de05e6570725e76f5cdcfb9c5324d34e99cdbe83b7bc26fa36be518010c/aicsapi_tool_python-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9036f60a447d6b280cc1df19dfdc5d75", "sha256": "2c81ac21a498e62c323bc3e552a24e3fd50af8bca9ad1981a4281019509648b8" }, "downloads": -1, "filename": "aicsapi-tool-python-0.1.4.tar.gz", "has_sig": false, "md5_digest": "9036f60a447d6b280cc1df19dfdc5d75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4250, "upload_time": "2019-07-25T03:58:15", "url": "https://files.pythonhosted.org/packages/73/85/5b996c7f965507836732ca79023b09d90c489daf7215d1a1c082133e49ed/aicsapi-tool-python-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "dc7d7deaefa8232ad981f12652a08153", "sha256": "42f7edfb8b29d8d5c35b0f3c6cae873ee03f6c9ab1aab45eb8e56b0d1071fbdb" }, "downloads": -1, "filename": "aicsapi_tool_python-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "dc7d7deaefa8232ad981f12652a08153", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6631, "upload_time": "2019-07-25T05:47:46", "url": "https://files.pythonhosted.org/packages/5d/1d/33bc9ec4af8161bc2976cf37b2e454ec7317fec6244983c9a7cfed268840/aicsapi_tool_python-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43807da1e95051222b443a00b03a6583", "sha256": "ddff9e1651e147c01d5bf179386874f476df3a2c6ba5828b4a4dc87fbd47f84d" }, "downloads": -1, "filename": "aicsapi-tool-python-0.1.5.tar.gz", "has_sig": false, "md5_digest": "43807da1e95051222b443a00b03a6583", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4247, "upload_time": "2019-07-25T05:47:47", "url": "https://files.pythonhosted.org/packages/f2/8c/2e930492da338728363cca7bceed60263a80cfc1f6c1ad538a5f3fe40c90/aicsapi-tool-python-0.1.5.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "127d917f317084c1e17aa910588b3666", "sha256": "b64452c9a3d6f7fa73b354752251568e01b2478eeac1414b99ef58dbd7182699" }, "downloads": -1, "filename": "aicsapi_tool_python-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "127d917f317084c1e17aa910588b3666", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7117, "upload_time": "2019-07-29T01:21:52", "url": "https://files.pythonhosted.org/packages/a5/12/99e86fa4ebf574b818aa0d67ecaecf0a54d3bf1496965b1dfb29ce2726c8/aicsapi_tool_python-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b7fa3e1b7633b1f428ab525e7be97eec", "sha256": "a6b4cc7ff9f81ef4463a91af7592281598ceedf019beadc6572cb1f33d5a49f4" }, "downloads": -1, "filename": "aicsapi-tool-python-0.2.4.tar.gz", "has_sig": false, "md5_digest": "b7fa3e1b7633b1f428ab525e7be97eec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4663, "upload_time": "2019-07-29T01:21:53", "url": "https://files.pythonhosted.org/packages/3f/81/42d2504c267056ec33dab46b1af8cba3c55d336d1b55ff648b3c43404693/aicsapi-tool-python-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "c5a46f710bfbbaa18c5d4aa1a98ee52b", "sha256": "9bad23558c718ba1e2daee1b53afbb103533a3ad33c7d3f114415fb0955e6baf" }, "downloads": -1, "filename": "aicsapi_tool_python-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c5a46f710bfbbaa18c5d4aa1a98ee52b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7718, "upload_time": "2019-07-29T02:21:55", "url": "https://files.pythonhosted.org/packages/fd/a6/9de919808e61625dc22655857885adb65a6450915347e0261cfd9e69030e/aicsapi_tool_python-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a360e5567fd122f762c384b6cad765a", "sha256": "a0865aaec6290feec0e380de2a16ee0893984e6d8871c161a4787df383cc904f" }, "downloads": -1, "filename": "aicsapi-tool-python-0.2.5.tar.gz", "has_sig": false, "md5_digest": "3a360e5567fd122f762c384b6cad765a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5324, "upload_time": "2019-07-29T02:21:57", "url": "https://files.pythonhosted.org/packages/13/c9/a26d44a5cff5f1b729881e5a9e4f88d498e944965929f60bea5ac45f0cd5/aicsapi-tool-python-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "6e848de9679d4fa7e6ed0347e2df8841", "sha256": "9a8119679ee8c9ca8f668ae5d143a78d0d3b31af6cbb504bf6070b7eb0fcaac8" }, "downloads": -1, "filename": "aicsapi_tool_python-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "6e848de9679d4fa7e6ed0347e2df8841", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7697, "upload_time": "2019-07-29T02:34:16", "url": "https://files.pythonhosted.org/packages/a3/a0/36274b49f17bdc5e9a2e76e66ab8feabae6a4cc541e63cb281165400e0a0/aicsapi_tool_python-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82295d69b7285cbf07904ffbdf26e885", "sha256": "d4e1209de78aa12afb3257467956cb83eee7d4a4176527e0363b1675f3a4037a" }, "downloads": -1, "filename": "aicsapi-tool-python-0.2.6.tar.gz", "has_sig": false, "md5_digest": "82295d69b7285cbf07904ffbdf26e885", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5300, "upload_time": "2019-07-29T02:34:18", "url": "https://files.pythonhosted.org/packages/0e/32/67a750516cb1074826b21fd35464b95f314d7c096f9fc434ce565af1c5cc/aicsapi-tool-python-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "3215dfd4b9b2ab7c95c1ac0fa9829b28", "sha256": "567c4dfc4836c33bdd99876cf40ee8fde6ee8f9bc53104be0e28c86ca9ce16cb" }, "downloads": -1, "filename": "aicsapi_tool_python-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "3215dfd4b9b2ab7c95c1ac0fa9829b28", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8049, "upload_time": "2019-07-30T03:45:28", "url": "https://files.pythonhosted.org/packages/6b/a5/d45b755c9f13a15064c2cbd4738a49513e0eaf3aa3445ffc286747c01f91/aicsapi_tool_python-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cf0b5eb9a3bedb9e948caf5e411e0c0", "sha256": "42448c768d38fc46bb05abb478899638b39fc8c1560a975ff21c866ee3d029ac" }, "downloads": -1, "filename": "aicsapi-tool-python-0.2.7.tar.gz", "has_sig": false, "md5_digest": "8cf0b5eb9a3bedb9e948caf5e411e0c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5627, "upload_time": "2019-07-30T03:45:29", "url": "https://files.pythonhosted.org/packages/55/28/9e6aba70dcbb63fcefd02d7e277568e02ef207c0d7e2de6368eeab95f45e/aicsapi-tool-python-0.2.7.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "ae58497a2c7fe9bbf19ce9b1c7a6c1fd", "sha256": "927cb0e38373cd9188dcf5762f1548664c35ed1fc5108dc9738e8b17f59c319d" }, "downloads": -1, "filename": "aicsapi_tool_python-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ae58497a2c7fe9bbf19ce9b1c7a6c1fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8187, "upload_time": "2019-07-30T09:02:15", "url": "https://files.pythonhosted.org/packages/8c/40/02dcd694ac97e9eda13ec9f02e37f04bf63c67cd4cd729b87340f40773ad/aicsapi_tool_python-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90c690cc7e64f71a18db46093def520e", "sha256": "0b4ca3aba45e712978da5a1c975f348485b817b02c3de375d3997e1370f15eae" }, "downloads": -1, "filename": "aicsapi-tool-python-0.3.0.tar.gz", "has_sig": false, "md5_digest": "90c690cc7e64f71a18db46093def520e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5745, "upload_time": "2019-07-30T09:02:17", "url": "https://files.pythonhosted.org/packages/b7/14/c1906d62545830e573ed51b0439902c7e15cd83f89b618d07223dafb45d8/aicsapi-tool-python-0.3.0.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "2ff86c066ec481682e3ead1cc57c09c2", "sha256": "9708350e41fe4e92b689574582bc80fe8ae7740e98bddb8857e8fc3cba3ca3c7" }, "downloads": -1, "filename": "aicsapi_tool_python-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2ff86c066ec481682e3ead1cc57c09c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8268, "upload_time": "2019-08-02T08:21:07", "url": "https://files.pythonhosted.org/packages/4e/6a/45b3319c31a5ad227aea750acd0a445b5fcdb1f00eee15615ac9ab9da848/aicsapi_tool_python-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4dd4f7988ca6e907a89b6ee6c1c3c351", "sha256": "4989143279f722c921cffa23c6306fba708cd15708cc50f43a96aef419b4302e" }, "downloads": -1, "filename": "aicsapi-tool-python-0.3.2.tar.gz", "has_sig": false, "md5_digest": "4dd4f7988ca6e907a89b6ee6c1c3c351", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5791, "upload_time": "2019-08-02T08:21:08", "url": "https://files.pythonhosted.org/packages/51/63/8d5f174347d51798b7dd815158dfc67a9e873237229890aed02121a31801/aicsapi-tool-python-0.3.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2ff86c066ec481682e3ead1cc57c09c2", "sha256": "9708350e41fe4e92b689574582bc80fe8ae7740e98bddb8857e8fc3cba3ca3c7" }, "downloads": -1, "filename": "aicsapi_tool_python-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2ff86c066ec481682e3ead1cc57c09c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8268, "upload_time": "2019-08-02T08:21:07", "url": "https://files.pythonhosted.org/packages/4e/6a/45b3319c31a5ad227aea750acd0a445b5fcdb1f00eee15615ac9ab9da848/aicsapi_tool_python-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4dd4f7988ca6e907a89b6ee6c1c3c351", "sha256": "4989143279f722c921cffa23c6306fba708cd15708cc50f43a96aef419b4302e" }, "downloads": -1, "filename": "aicsapi-tool-python-0.3.2.tar.gz", "has_sig": false, "md5_digest": "4dd4f7988ca6e907a89b6ee6c1c3c351", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5791, "upload_time": "2019-08-02T08:21:08", "url": "https://files.pythonhosted.org/packages/51/63/8d5f174347d51798b7dd815158dfc67a9e873237229890aed02121a31801/aicsapi-tool-python-0.3.2.tar.gz" } ] }