{ "info": { "author": "vinyldns", "author_email": "vinyldns-core@googlegroups.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Topic :: Internet :: Name Service (DNS)" ], "description": "[![PyPI version](https://badge.fury.io/py/vinyldns-python.svg)](https://badge.fury.io/py/vinyldns-python) [![Travis build](https://api.travis-ci.org/vinyldns/vinyldns-python.svg?branch=master)](https://travis-ci.org/vinyldns/vinyldns-python)\n![GitHub](https://img.shields.io/github/license/vinyldns/vinyldns-python)\n\n# vinyldns-python\n\nPython client library for [VinylDNS](https://www.vinyldns.io/)\n\nThis project is a work in progress! If you would like to help us get this where it needs to be,\nplease reach out to us in [gitter](https://gitter.im/vinyldns/Lobby).\n\nTo run, `pip install vinyldns-python` and then:\n\n```python\n>>> from vinyldns.client import VinylDNSClient\n>>> local_client = VinylDNSClient(\"ApiEndpoint\", \"UserAccessKey\", \"UserSecretKey\")\n>>> local_client.list_zones()\n>>>\n>>> # If all of the following environments are set\n>>> # - VINYLDNS_API_URL\n>>> # - VINYLDNS_ACCESS_KEY_ID\n>>> # - VINYLDNS_SECRET_ACCESS_KEY\n>>> from vinyldns.client import VinylDNSClient\n>>> local_client = VinylDNSClient.from_env()\n>>> local_client.list_zones()\n```\n\n## Contributing\n\n**Requirements**\n\n* `python3`\n* `pip`\n* `virtualenv`\n\nTo get started, you will want to setup your virtual environment.\n\n1. Ensure that you have `virtualenv` installed `> pip install virtualenv`\n1. Run `./bootstrap.sh` to setup your environment (unless you really want all these dependencies to be installed locally, which we do not recommend).\n1. Activate your virtual environment `> source .virtualenv/bin/activate` and you will be ready to go!\n\n**Unit Tests**\n\nUnit tests are developed using [pytest](https://docs.pytest.org/en/latest/). We use\n[Responses](https://github.com/getsentry/responses), which allows for simple mocking of HTTP endpoints.\n\nTo run unit tests, you can simply run `python3 setup.py test`. To target a specific test, you can\nrun `python3 setup.py test -a \"-k my_test\"`\n\n**Functional Tests**\n\nFunctional tests are also developed with pytest. These tests run against a local instance of VinylDNS. Note that for now\nthey are not tied into our travis build, so they must be run locally for validation.\n\nFrom your virtualenv, run `tox -e func_test`\n\n**Running a full build**\n\nWhen you are finished writing your code you will want to run everything including linters. The\nsimplest way to do this is to run `tox -e check,py36`, which will run static checks and run unit tests.\n\nIf you see any failures / warnings, correct them until `tox` runs successfully.\n\nIf you do not have `tox` in your environment, `pip install tox` to add it. For more information you can\nread the [tox docs](https://tox.readthedocs.io/en/latest/index.html).\n\n## Local Development\nSee the [quickstart](https://github.com/vinyldns/vinyldns/blob/master/README.md#quickstart) in the\nVinylDNS api for details on how to start up a local instance of the api in docker. With that\nrunning, you can make requests with the following client details:\n```python\nlocal_client = VinylDNSClient(\"http://localhost:9000\", \"okAccessKey\", \"okSecretKey\")\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/vinyldns/vinyldns-python", "keywords": "dns,python,vinyldns", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "vinyldns-python", "package_url": "https://pypi.org/project/vinyldns-python/", "platform": "", "project_url": "https://pypi.org/project/vinyldns-python/", "project_urls": { "Homepage": "https://github.com/vinyldns/vinyldns-python" }, "release_url": "https://pypi.org/project/vinyldns-python/0.9.6/", "requires_dist": [ "boto (>=2.48.0)", "future (>=0.17.1)", "python-dateutil (>=2.7.5)", "requests (>=2.20.0)" ], "requires_python": "", "summary": "Python client library for VinylDNS", "version": "0.9.6", "yanked": false, "yanked_reason": null }, "last_serial": 12767718, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "7bdd1d0adb124d99a5f59c2198995b3e", "sha256": "786ea4ac6381c8b93ea894367254de6bf6c51fe95eb660d567a06c3408915c8f" }, "downloads": -1, "filename": "vinyldns_python-0.0.1-py2-none-any.whl", "has_sig": true, "md5_digest": "7bdd1d0adb124d99a5f59c2198995b3e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 19416, "upload_time": "2018-10-30T15:48:29", "upload_time_iso_8601": "2018-10-30T15:48:29.936446Z", "url": "https://files.pythonhosted.org/packages/87/27/cbcddbc2128eb55cc0d5a80a68665df461eeaba99f320f4f99e29390a8e5/vinyldns_python-0.0.1-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5e486e2d71f1a1de58f253c06302cb8d", "sha256": "372f0d08fbc1f9bee0952d8412da561d43958d70e17a52b1454b31e0bbbafdbe" }, "downloads": -1, "filename": "vinyldns-python-0.0.1.tar.gz", "has_sig": true, "md5_digest": "5e486e2d71f1a1de58f253c06302cb8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11318, "upload_time": "2018-10-30T15:48:31", "upload_time_iso_8601": "2018-10-30T15:48:31.363360Z", "url": "https://files.pythonhosted.org/packages/f9/55/d5c7885e572d89fb7b826cc5d8107a25fd7cb0e3830111b38b41038486ce/vinyldns-python-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "dade291f57e7cb17af0978ca090fc820", "sha256": "9fa77d8384d175133bd7d7d3d31752a7d830bc67aa9228bb48d0f80e1465a682" }, "downloads": -1, "filename": "vinyldns_python-0.8.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "dade291f57e7cb17af0978ca090fc820", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22830, "upload_time": "2019-01-09T22:02:51", "upload_time_iso_8601": "2019-01-09T22:02:51.791182Z", "url": "https://files.pythonhosted.org/packages/23/f8/09c1cff1a14e81390b8500c4a3a400f6bcbfd36fbf587e25a4611ec4c695/vinyldns_python-0.8.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "11c4c25dbecebad66e6a2bf2e9fa3375", "sha256": "310a752b6bac4c7eb4a92ae2ad680cad336163653ddbcf1e291291d8ae778fe4" }, "downloads": -1, "filename": "vinyldns-python-0.8.0.tar.gz", "has_sig": true, "md5_digest": "11c4c25dbecebad66e6a2bf2e9fa3375", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18468, "upload_time": "2019-01-09T22:02:53", "upload_time_iso_8601": "2019-01-09T22:02:53.269416Z", "url": "https://files.pythonhosted.org/packages/df/f6/af4c724af99c34ad99f05cf530a3880ee584cd935c56d2f6f08db7595719/vinyldns-python-0.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "b2e8256bde5f919e1be125eb83e300bc", "sha256": "7c52a82704ba16b2b52c63e9210263fa8132d4ba2f83876df2f9f24fa70c68aa" }, "downloads": -1, "filename": "vinyldns_python-0.9.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b2e8256bde5f919e1be125eb83e300bc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23272, "upload_time": "2019-05-10T19:49:05", "upload_time_iso_8601": "2019-05-10T19:49:05.733270Z", "url": "https://files.pythonhosted.org/packages/5f/17/d9ee67dd2bfaf07fae73d04881181ee0b64d51c93ca57babf346a0b8c98d/vinyldns_python-0.9.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4827c3b32ddfa23bea94dbaaa747ba9f", "sha256": "429650514c180012c894e941d20ff6cc673fb396fe3ebad06c0558c65837d5c2" }, "downloads": -1, "filename": "vinyldns-python-0.9.0.tar.gz", "has_sig": true, "md5_digest": "4827c3b32ddfa23bea94dbaaa747ba9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18689, "upload_time": "2019-05-10T19:49:07", "upload_time_iso_8601": "2019-05-10T19:49:07.196332Z", "url": "https://files.pythonhosted.org/packages/79/67/8be3a17ded08ce405e02e3b2b36ebf7be60ab2587c29840a8a614019cc79/vinyldns-python-0.9.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "b45da70c6edceee8d1ac88b58e7a403e", "sha256": "2ab477e040f966f18a1b015e0e6072e2da0c5140b06450c9ad12f5baa4e009e9" }, "downloads": -1, "filename": "vinyldns_python-0.9.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "b45da70c6edceee8d1ac88b58e7a403e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23304, "upload_time": "2019-06-14T18:17:44", "upload_time_iso_8601": "2019-06-14T18:17:44.837684Z", "url": "https://files.pythonhosted.org/packages/f3/d5/67f1794998951d5e5e1a826912ae108e872420afb41d7035386291a9a7c2/vinyldns_python-0.9.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5947e6ee6ba3b2594ba94ec06fba4abd", "sha256": "ec30ec8f3dc27582935af42640e27239aeec2bc9e72e127ba78fe244db123c10" }, "downloads": -1, "filename": "vinyldns-python-0.9.1.tar.gz", "has_sig": true, "md5_digest": "5947e6ee6ba3b2594ba94ec06fba4abd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18767, "upload_time": "2019-06-14T18:17:46", "upload_time_iso_8601": "2019-06-14T18:17:46.587433Z", "url": "https://files.pythonhosted.org/packages/17/f3/a017b68add10ed26dbd6630513ee982973c68cc421865a04ef86cc0a9418/vinyldns-python-0.9.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "178ad0e836caf321390efa1864523c07", "sha256": "c80eac77a90e0ef45fe7459b6d81ad895f32d91bed80f91e7031b6d69d7ede5b" }, "downloads": -1, "filename": "vinyldns_python-0.9.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "178ad0e836caf321390efa1864523c07", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 36274, "upload_time": "2019-06-26T15:42:07", "upload_time_iso_8601": "2019-06-26T15:42:07.765812Z", "url": "https://files.pythonhosted.org/packages/8c/63/2577eb3daadc37057cd18d405d906b9593c0521c2224835126d78a9ee48c/vinyldns_python-0.9.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3f6c31cb4c8856c2da0b0975efb202df", "sha256": "3a721d6d56404eb8a3340f559f2d54ffb3b0e9078cb36ad382e8bd7519c81e1c" }, "downloads": -1, "filename": "vinyldns-python-0.9.2.tar.gz", "has_sig": true, "md5_digest": "3f6c31cb4c8856c2da0b0975efb202df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18892, "upload_time": "2019-06-26T15:42:09", "upload_time_iso_8601": "2019-06-26T15:42:09.725449Z", "url": "https://files.pythonhosted.org/packages/61/1f/47940f561410d9917d28dc4c0a4095ca82a4333c0a8e97da61faeb1bb9b5/vinyldns-python-0.9.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "415c7869d2442cf299ef9ff8432d8bc3", "sha256": "e24f7595cbd5c550326b8d9bcc62cba4b58ae990bfbf67f9e808c919f4777db2" }, "downloads": -1, "filename": "vinyldns_python-0.9.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "415c7869d2442cf299ef9ff8432d8bc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37536, "upload_time": "2019-08-12T14:54:09", "upload_time_iso_8601": "2019-08-12T14:54:09.042736Z", "url": "https://files.pythonhosted.org/packages/2f/47/589b98423da96cdfc9009b42724cead74a140dd4269f6183d71c80c38324/vinyldns_python-0.9.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "efc923764a3a44abf8dc5572096a60db", "sha256": "188d8d6ecfc4a711b2fa0fd6b1919a118324ec4328ed19886984655823a863cb" }, "downloads": -1, "filename": "vinyldns-python-0.9.3.tar.gz", "has_sig": true, "md5_digest": "efc923764a3a44abf8dc5572096a60db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20355, "upload_time": "2019-08-12T14:54:10", "upload_time_iso_8601": "2019-08-12T14:54:10.819992Z", "url": "https://files.pythonhosted.org/packages/d3/cf/17fc9de230de7a123039e58ca387fe8c55be263b7bed944d85f91987e2ce/vinyldns-python-0.9.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "7fc1b4d4e736294d425b7aab7d1ad3fd", "sha256": "adad3226242b92d6bfc16a76c509bf7d1e29119e30440afa3cfa8ec137e58b5d" }, "downloads": -1, "filename": "vinyldns_python-0.9.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "7fc1b4d4e736294d425b7aab7d1ad3fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37534, "upload_time": "2019-08-21T19:34:52", "upload_time_iso_8601": "2019-08-21T19:34:52.603737Z", "url": "https://files.pythonhosted.org/packages/0f/53/d74452a829c23d795612b64808884037bf62fc49182e33fa39669b345ee5/vinyldns_python-0.9.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "25851b372d28e6e26b7d4b8dab8c3990", "sha256": "c4541d2d80527b2000f82711d90afa287985a52ccf496d0a53e60a40fee1a003" }, "downloads": -1, "filename": "vinyldns-python-0.9.4.tar.gz", "has_sig": true, "md5_digest": "25851b372d28e6e26b7d4b8dab8c3990", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20354, "upload_time": "2019-08-21T19:34:54", "upload_time_iso_8601": "2019-08-21T19:34:54.451405Z", "url": "https://files.pythonhosted.org/packages/2d/c2/97b9c4bb3646a7b70d7e5db45422d8b46a501ab88b87bd694f13ab7d9420/vinyldns-python-0.9.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "9d93308b2e6d6adf487b9c9330bd4bf7", "sha256": "91a95ed7dc3d9006349195455e14dd310b918e21268085f08a39f2b1345629ea" }, "downloads": -1, "filename": "vinyldns_python-0.9.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "9d93308b2e6d6adf487b9c9330bd4bf7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24696, "upload_time": "2019-10-22T13:15:19", "upload_time_iso_8601": "2019-10-22T13:15:19.234204Z", "url": "https://files.pythonhosted.org/packages/9e/d4/2cf039fc020a57da105cc000f780f9c31324c6b12b4ded77d3fe77b39d5b/vinyldns_python-0.9.5-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3e08a0c5219c8a1979c87e56fe5e9b3e", "sha256": "463347104db6949025f1572f9cf142715ea3765f030988bd2040689bbb201c1b" }, "downloads": -1, "filename": "vinyldns-python-0.9.5.tar.gz", "has_sig": true, "md5_digest": "3e08a0c5219c8a1979c87e56fe5e9b3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20536, "upload_time": "2019-10-22T13:15:21", "upload_time_iso_8601": "2019-10-22T13:15:21.224672Z", "url": "https://files.pythonhosted.org/packages/66/05/e182fad07ddd74cf23736344c1aa1f4b4211ae84fad954c0cdf03863a287/vinyldns-python-0.9.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "56a15b098a12e0c3a2052137cb89e29d", "sha256": "cb3f822135c9c810c72b2d7de28baf0dd63a52074ab5b69fef5250784cfd1db0" }, "downloads": -1, "filename": "vinyldns_python-0.9.6-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "56a15b098a12e0c3a2052137cb89e29d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24446, "upload_time": "2020-08-20T21:34:55", "upload_time_iso_8601": "2020-08-20T21:34:55.894775Z", "url": "https://files.pythonhosted.org/packages/e1/b7/d67f70c869bd2f713722c02a79279f4824e25a7b710f9601922fa3cf99a3/vinyldns_python-0.9.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cd21aeff348d189a353a75c01b7458aa", "sha256": "673117c24709b3f9fa1530fe146631cd72c3e7ea0e73634960d1407ab2063f22" }, "downloads": -1, "filename": "vinyldns-python-0.9.6.tar.gz", "has_sig": true, "md5_digest": "cd21aeff348d189a353a75c01b7458aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20323, "upload_time": "2020-08-20T21:34:57", "upload_time_iso_8601": "2020-08-20T21:34:57.012456Z", "url": "https://files.pythonhosted.org/packages/0d/59/1b9478011964eb3a604e72e2f445a3cb672919481f4e292a3ff1fc2e2c7c/vinyldns-python-0.9.6.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "56a15b098a12e0c3a2052137cb89e29d", "sha256": "cb3f822135c9c810c72b2d7de28baf0dd63a52074ab5b69fef5250784cfd1db0" }, "downloads": -1, "filename": "vinyldns_python-0.9.6-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "56a15b098a12e0c3a2052137cb89e29d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24446, "upload_time": "2020-08-20T21:34:55", "upload_time_iso_8601": "2020-08-20T21:34:55.894775Z", "url": "https://files.pythonhosted.org/packages/e1/b7/d67f70c869bd2f713722c02a79279f4824e25a7b710f9601922fa3cf99a3/vinyldns_python-0.9.6-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cd21aeff348d189a353a75c01b7458aa", "sha256": "673117c24709b3f9fa1530fe146631cd72c3e7ea0e73634960d1407ab2063f22" }, "downloads": -1, "filename": "vinyldns-python-0.9.6.tar.gz", "has_sig": true, "md5_digest": "cd21aeff348d189a353a75c01b7458aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20323, "upload_time": "2020-08-20T21:34:57", "upload_time_iso_8601": "2020-08-20T21:34:57.012456Z", "url": "https://files.pythonhosted.org/packages/0d/59/1b9478011964eb3a604e72e2f445a3cb672919481f4e292a3ff1fc2e2c7c/vinyldns-python-0.9.6.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }