{ "info": { "author": "Leon Meguira", "author_email": "leonm@radware.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "Introduction\n=====================\n\nThis project implements common SDK functions for Radware device SDK packages.\nit defines interfaces for interacting with device management & configuration planes.\nthe package is intended to be independently reusable in any device project in Python.\nright now it offers REST interface for communication, but additional can be added as needed\n\neach implementing device SDK inherit a ConfigurationManager module that offer configuration staging engine, \ndry run , differential update , write on change and config diff (via the abstraction defined by the model)\nset of interfaces enable accurate definition of procedure and normalization customization.\n\neach implementing device provide two methods to accomplish object configuration declaration:\n- DEPLOY - when applicable it basically delete (if exist) and create new object \n- DIFFERENTIAL - modify current object to reach desire configuration state as reflected in structure, it will change/add/remove accordingly.\n\nthe former suitable for \"push-all-at-once\" automation, the latter is good for \"per-object\" modifications as it keep external references\n\nthe SDK is requires Python >3.6\n\nfurther details & doc will be added later\n\nInstallation\n=================\n\n```pycon\npip install radware-sdk-common\n```\n\nDesign Principles\n=================\n\n-\tDefine the Interfaces for beans, configurators, management \n-\tDefine device connections API\n-\tProvide the Backend driver for communication: currently supports REST\n-\tDefine the abstraction base structure and interface\n-\tExceptions\n-\tTranslate enums: developer/user can work with string/values/enum\n-\tIt is actually taking care of configuring the device and also provide a Configuration Manager with staging capability:\n\n - Diff before and after: at the abstraction level\n - Dry run: go down to the lowest code point, right before submitting the REST call.\n - Dry run report of duplicate entries (Differential=False), Identify duplicate entries within a structure\n - Normalizes result for diff: handle order mismatch, necessary for abstract compare (server1 == real2)\n - Differential update: Executes changes only - modify/add/remove, ignore attributes equal to existing. Useful to prevent errors due to conflicts with existing configuration entries\n - Write on change: Executes Alteon write calls only when an actual change has been evaluated. Prevent false apply due to internal index change\n - Translate result \n - interface for struct-specific normalization\n \n\nAuthors\n=======\n\ncommon SDK was created by [Leon Meguira](https://https://github.com/leonmeguira)\n\nCopyright\n=======\n\nCopyright 2019 Radware LTD\n\nLicense\n=======\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.python.org/pypi/radware-sdk-common", "keywords": "radware,sdk,api,configurators,beans", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "radware-sdk-common", "package_url": "https://pypi.org/project/radware-sdk-common/", "platform": "", "project_url": "https://pypi.org/project/radware-sdk-common/", "project_urls": { "Homepage": "https://pypi.python.org/pypi/radware-sdk-common" }, "release_url": "https://pypi.org/project/radware-sdk-common/0.4b32/", "requires_dist": null, "requires_python": "~=3.6", "summary": "Python Radware SDK", "version": "0.4b32", "yanked": false, "yanked_reason": null }, "last_serial": 9481100, "releases": { "0.4b26": [ { "comment_text": "", "digests": { "md5": "a022742006d6091752444586b5c9c9f7", "sha256": "9648f7e563b83acd64ee411a0be058e60fe549b148dea682338acd8f719ff463" }, "downloads": -1, "filename": "radware_sdk_common-0.4b26-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a022742006d6091752444586b5c9c9f7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.6", "size": 21891, "upload_time": "2019-09-24T19:51:53", "upload_time_iso_8601": "2019-09-24T19:51:53.658742Z", "url": "https://files.pythonhosted.org/packages/0a/04/9aa2fe06e756e5f34ad3defb6fc6d9775f740838f5afa79243ebffc7210d/radware_sdk_common-0.4b26-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "379bec95d68a9dfa67a1033ef4a58dc7", "sha256": "90b060bb0f5676f1b4c93087de992cdb66dbf18c8b665e0c2e61675f370268db" }, "downloads": -1, "filename": "radware-sdk-common-0.4b26.tar.gz", "has_sig": false, "md5_digest": "379bec95d68a9dfa67a1033ef4a58dc7", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 17002, "upload_time": "2019-09-24T19:51:49", "upload_time_iso_8601": "2019-09-24T19:51:49.718793Z", "url": "https://files.pythonhosted.org/packages/8f/9e/9742504108a2dbf5369b4c2195564c7cb8e8a82683ed49fe48a516925e44/radware-sdk-common-0.4b26.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4b27": [ { "comment_text": "", "digests": { "md5": "ce01d1ea8008a40d9288e6f9b1f1750e", "sha256": "6d60fa35d7ad8ca92af0c515ecc8fb9af56a0e8fe4060af61a7d87830c63b20b" }, "downloads": -1, "filename": "radware_sdk_common-0.4b27-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ce01d1ea8008a40d9288e6f9b1f1750e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.6", "size": 23724, "upload_time": "2019-10-07T20:04:45", "upload_time_iso_8601": "2019-10-07T20:04:45.650544Z", "url": "https://files.pythonhosted.org/packages/66/72/616fdabdbad1867dbb0ed9fd77fef619880461ade36944f357173cfd51f9/radware_sdk_common-0.4b27-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ce6d2c8d292b0403b21542a65ad4a5eb", "sha256": "33ab47da3509dbe674cf4dbf9b388444687fb50fb16da965fb41a5055392d2b2" }, "downloads": -1, "filename": "radware-sdk-common-0.4b27.tar.gz", "has_sig": false, "md5_digest": "ce6d2c8d292b0403b21542a65ad4a5eb", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 18784, "upload_time": "2019-10-07T20:04:39", "upload_time_iso_8601": "2019-10-07T20:04:39.326354Z", "url": "https://files.pythonhosted.org/packages/75/ac/13724aa94843126693c47afe20ebdc119f5908aac264eb4527e71293cb0f/radware-sdk-common-0.4b27.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4b28": [ { "comment_text": "", "digests": { "md5": "7d0efc6c265dfea4cb13a1f631a473aa", "sha256": "b1ad0519c07e15f3e3963460f42417b1bd4e77996ad975dfad3872eef2fc245f" }, "downloads": -1, "filename": "radware_sdk_common-0.4b28-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d0efc6c265dfea4cb13a1f631a473aa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.6", "size": 24278, "upload_time": "2019-10-24T19:22:22", "upload_time_iso_8601": "2019-10-24T19:22:22.553475Z", "url": "https://files.pythonhosted.org/packages/1f/aa/fa0629bd5980fe61de245af7f2d7a70b0a648eb1dee0dc84765c303d7e35/radware_sdk_common-0.4b28-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a3575b349f45e2d7d883125e88fb7205", "sha256": "31601ff03e4fe8c6e030ea395cc66191e59d7a072ed198b760919c5f98f0b12d" }, "downloads": -1, "filename": "radware-sdk-common-0.4b28.tar.gz", "has_sig": false, "md5_digest": "a3575b349f45e2d7d883125e88fb7205", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 19557, "upload_time": "2019-10-24T19:22:06", "upload_time_iso_8601": "2019-10-24T19:22:06.926537Z", "url": "https://files.pythonhosted.org/packages/c6/b8/8cd876fd1a4a33ccb38076b90715ae60251cf45866cf3224696c5316f497/radware-sdk-common-0.4b28.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4b29": [ { "comment_text": "", "digests": { "md5": "03ecb2bb14f36b5fc17eb5d37f647aa2", "sha256": "ffb6105249fea3189a5224a2341071d17373701bf0438de4ae89d52b8b278906" }, "downloads": -1, "filename": "radware_sdk_common-0.4b29-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03ecb2bb14f36b5fc17eb5d37f647aa2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.6", "size": 24385, "upload_time": "2019-10-31T18:19:46", "upload_time_iso_8601": "2019-10-31T18:19:46.697197Z", "url": "https://files.pythonhosted.org/packages/84/ec/f195fa5e6f0f7a78038516b9cbb96cf8d1685b28283dc6a520ce2e6f0bae/radware_sdk_common-0.4b29-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2955edf5afe5b4fd77a2e97b10cce174", "sha256": "70fa5f283d3d2dcb62510e6ef6bff132d62024cc602b6984f4ecc25d083045c2" }, "downloads": -1, "filename": "radware-sdk-common-0.4b29.tar.gz", "has_sig": false, "md5_digest": "2955edf5afe5b4fd77a2e97b10cce174", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 19647, "upload_time": "2019-10-31T18:19:37", "upload_time_iso_8601": "2019-10-31T18:19:37.074812Z", "url": "https://files.pythonhosted.org/packages/0c/f3/216aa142883be59e9fdb6d1e87d11ca709d5a092205b04c49f6acc394529/radware-sdk-common-0.4b29.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4b30": [ { "comment_text": "", "digests": { "md5": "217397d825994b3581e0094d27ec60fd", "sha256": "47a2c2a67e85286a6e3103ca34662121970cda80ae8d1fe5103bc2bf3d2d3032" }, "downloads": -1, "filename": "radware_sdk_common-0.4b30-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "217397d825994b3581e0094d27ec60fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.6", "size": 24424, "upload_time": "2019-11-18T15:20:11", "upload_time_iso_8601": "2019-11-18T15:20:11.045243Z", "url": "https://files.pythonhosted.org/packages/fb/eb/f371581509220ac76d1658a16bef2f01a973645d41929859c7f953e52687/radware_sdk_common-0.4b30-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "01aece49eeedf1d0fb6c3e952d4e5191", "sha256": "57b5e6f8833b409a28b77c83c2346b3996b5b6442a1d55d2420e28e065e5c0ec" }, "downloads": -1, "filename": "radware-sdk-common-0.4b30.tar.gz", "has_sig": false, "md5_digest": "01aece49eeedf1d0fb6c3e952d4e5191", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 19688, "upload_time": "2019-11-18T15:19:50", "upload_time_iso_8601": "2019-11-18T15:19:50.991656Z", "url": "https://files.pythonhosted.org/packages/65/7d/71aa678f72be30b7ba6b7035a67ae59c113b8cfdff54805edd2134908445/radware-sdk-common-0.4b30.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4b31": [ { "comment_text": "", "digests": { "md5": "f515b17db158e2309a0637fbaf835471", "sha256": "b887450dcb9c138958150eac6e90cb6497ab4663405f8dde668bd4ac23393f7e" }, "downloads": -1, "filename": "radware_sdk_common-0.4b31-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f515b17db158e2309a0637fbaf835471", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.6", "size": 24499, "upload_time": "2019-12-23T19:54:39", "upload_time_iso_8601": "2019-12-23T19:54:39.400837Z", "url": "https://files.pythonhosted.org/packages/ea/bf/930c25c4603d9d1d3b1705099dd05c2582d8419e54ede16cd76cef762141/radware_sdk_common-0.4b31-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "169a0006eef6469c89d6a50da91a30c6", "sha256": "56604994dea52c0cc4e952a888f824451617b1f43f9fb8b468646f5a5573b346" }, "downloads": -1, "filename": "radware-sdk-common-0.4b31.tar.gz", "has_sig": false, "md5_digest": "169a0006eef6469c89d6a50da91a30c6", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 19843, "upload_time": "2019-12-23T19:54:23", "upload_time_iso_8601": "2019-12-23T19:54:23.130243Z", "url": "https://files.pythonhosted.org/packages/56/cb/e27227da99227dd17df761369290769f77838f4e1cf49fa3b8b1de471aba/radware-sdk-common-0.4b31.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4b32": [ { "comment_text": "", "digests": { "md5": "e2059850a03258b4e50acfa1055421ee", "sha256": "5c16f4321b45d7a134ae7268860b91a896dfb91c451511f09bd08619b20332ea" }, "downloads": -1, "filename": "radware_sdk_common-0.4b32-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2059850a03258b4e50acfa1055421ee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.6", "size": 24508, "upload_time": "2020-02-25T17:27:34", "upload_time_iso_8601": "2020-02-25T17:27:34.746956Z", "url": "https://files.pythonhosted.org/packages/67/e9/5e4c3feb4e94e41564f479e072bbc199fd8e7a54039fdfc7542aeaf5ba48/radware_sdk_common-0.4b32-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "357dc44f1895b6234ee15ee39654b45d", "sha256": "5ad8f6bbf595b12767afa295eb7a4d441436ac902acaca8cf84a0a0affaa0833" }, "downloads": -1, "filename": "radware-sdk-common-0.4b32.tar.gz", "has_sig": false, "md5_digest": "357dc44f1895b6234ee15ee39654b45d", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 19848, "upload_time": "2020-02-25T17:26:48", "upload_time_iso_8601": "2020-02-25T17:26:48.745489Z", "url": "https://files.pythonhosted.org/packages/44/f9/930d7323c4b6d7a6fa08046301395beebc5a6aea764891bca95795f14aa6/radware-sdk-common-0.4b32.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e2059850a03258b4e50acfa1055421ee", "sha256": "5c16f4321b45d7a134ae7268860b91a896dfb91c451511f09bd08619b20332ea" }, "downloads": -1, "filename": "radware_sdk_common-0.4b32-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e2059850a03258b4e50acfa1055421ee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.6", "size": 24508, "upload_time": "2020-02-25T17:27:34", "upload_time_iso_8601": "2020-02-25T17:27:34.746956Z", "url": "https://files.pythonhosted.org/packages/67/e9/5e4c3feb4e94e41564f479e072bbc199fd8e7a54039fdfc7542aeaf5ba48/radware_sdk_common-0.4b32-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "357dc44f1895b6234ee15ee39654b45d", "sha256": "5ad8f6bbf595b12767afa295eb7a4d441436ac902acaca8cf84a0a0affaa0833" }, "downloads": -1, "filename": "radware-sdk-common-0.4b32.tar.gz", "has_sig": false, "md5_digest": "357dc44f1895b6234ee15ee39654b45d", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.6", "size": 19848, "upload_time": "2020-02-25T17:26:48", "upload_time_iso_8601": "2020-02-25T17:26:48.745489Z", "url": "https://files.pythonhosted.org/packages/44/f9/930d7323c4b6d7a6fa08046301395beebc5a6aea764891bca95795f14aa6/radware-sdk-common-0.4b32.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }