{ "info": { "author": "AmLight Dev Team", "author_email": "dev@amlight.net", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Environment :: No Input/Output (Daemon)", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Topic :: System :: Networking" ], "description": "# AmLight Ethernet Virtual Circuit (EVC) Manager\n\nThe AmLight EVC Manager is a command line tool to help SDN operators in \nmanaging Ethernet Virtual Circuits (EVC), such as\ncreating/deleting/changing multiple EVCs at a time. It was created to\nhelp AmLight network engineers in the daily operation of the AmLight SDN\nnetwork, which currently has more than one thousands flows and more than\nten OpenFlow switches in North and South America.\n\nThe AmLight EVC\\_Manager requires Python 3.6+\n\n# Features\n\nThe EVC Manager was created with the following major goals:\n\n> - Supporting multiple backends, such as OESS and Kytos E-Line.\n> - Supporting exporting EVCs to YAML or JSON files\n> - Supporting creating/changing/deleting multiple EVCs via YAML files\n> - Supporting moving EVCs out a specific link (or NNI)\n> - Supporting forcing circuit reprovisioning\n> - Supporting changing EVCs' paths\n> - Supporting exporting monitoring data using Zabbix LLD format for\n> integration with Zabbix\n> - Supporting multiple queries:\n> - Get VLANs in use in a specific UNI or NNI\n> - Get EVCs using a specific UNI or NNI\n> - Get EVC utilization\n> - Get list of EVCs with under-provisioned paths\n> - Get EVCs using backup paths\n> - Get list of devices and links\n> - Compare and report two EVC dumps\n\n# Current Version\n\nThe current EVC Manager is 0.3. The following major features are supported:\n\n> - Supporting for OESS 1.0.9 backend\n> - Supporting exporting all EVCs to YAML or JSON files\n> - Supporting creating/changing/deleting multiple EVCs via YAML files\n> - Supporting for EVC creation using VLAN ranges\n> - Supporting moving EVC out a specific link (or NNI)\n> - Supporting changing EVCs' paths\n> - Supporting multiple queries:\n> - Get EVC using a specific UNI\n> - Get EVC using a specific NNI\n> - Get EVC using backup paths\n\nVersion 0.4 is scheduled for March 2020 with the following features:\n\n> - Supporting exporting monitoring data using Zabbix LLD format for\n> integration with Zabbix\n> - Supporting for Kytos MEF E-Line backend\n> - Supporting forcing EVC reprovisioning\n> - Supporting multiple queries:\n> - Get VLANs in use in a specific UNI\n> - Get circuit utilization\n> - Get circuit with under-provisioned paths\n> - Get list of devices and links\n\n# Using the evc manager\n\nThe EVC Manager should run as a Python module and installed directly from pip repository.\nBefore using the EVC Manager, make sure you have Python3 and PIP for your environment. \nThen, prepare the environment using the following steps:\n\nCreate a Python virtual environment:\n\n python3 -m venv py3-evc_manager\n source py3-evc_manager/bin/activate\n\nInstall git. Then, close the repo and install all requirements\n\n pip install evc_manager\n\nThere are two options to run EVC Manager. As a script at the Shell or as a module in your\napplication.\n\nTo run EVC Manager as a script, just run using the syntax below:\n\n python3.6 -m evc_manager [-h] (-L | -A | -R | -C | -D | -M | -X)\n [--move-from-nni MOVE_FROM_NNI] [-f SOURCE_FILE]\n [-F DESTINATION_FILE] [--has-uni-device HAS_UNI_DEVICE]\n [--has-uni-interface HAS_UNI_INTERFACE]\n [--has-uni-tag-value HAS_UNI_TAG_VALUE]\n [--has-nni-name HAS_NNI_NAME]\n [--has-nni-name-primary HAS_NNI_NAME_PRIMARY]\n [--has-nni-name-backup HAS_NNI_NAME_BACKUP] [-u USER]\n [-t TENANT] [-p PASSWORD | -P] [-O OESS_URL | -K KYTOS_URL]\n [-V] [-v {info,warning,debug}] [-q]\n [-y | -Y | -j | -z | -n] [-T TO_TABLE]\n [-s GEN_STATS_PER_NNI] [-S SHORTCUT_FILE]\n\n optional arguments:\n -h, --help show this help message and exit\n -L, --list-evc List all EVCs and output them using YAML\n -A, --add-evc Add EVCs provided in the YAML file\n -R, --add-range-evcs Add a range of EVCs provided in the YAML file\n -C, --change-evc Change EVCs provided in the YAML file\n -D, --delete-evc Delete all EVCs provided in the YAML file\n -M, --move-evc Move one or all EVCs out the NNI provided.\n -X, --template Create a template folder with YAML files to help.\n --move-from-nni MOVE_FROM_NNI\n Move out of the provided NNI\n -f SOURCE_FILE, --source-file SOURCE_FILE\n Source YAML file used by options -A or -D\n -F DESTINATION_FILE, --destination-file DESTINATION_FILE\n Destination YAML file used by options -L\n -p PASSWORD, --password PASSWORD\n Provide pass for authentication\n -P, --prompt_password\n Prompt pass for authentication\n -O OESS_URL, --oess-url OESS_URL\n Use OESS backend. Provide OESS's URL\n -K KYTOS_URL, --kytos-url KYTOS_URL\n Use Kytos E-Line backend's URL.\n -V, --version show program's version number and exit\n -v {info,warning,debug}, --verbose {info,warning,debug}\n Set Verbose Level (info|warning|debug)\n -q, --quiet Set Quiet Mode\n -y, --to-yaml Print using YAML.\n -Y, --to-yaml-minimal\n Print using YAML but only the smallest set of\n mandatory attrs.\n -j, --to-json Print using JSON.\n -z, --to_zabbix Converts output to Zabbix LLD format\n -n, --to-screen Print EVC's names to screen instead of to files\n -T TO_TABLE, --to_table TO_TABLE\n Converts output to a table format. Use Syntax:\n Primary|Backup|Any:Circuit_Name\n -s GEN_STATS_PER_NNI, --gen_stats_per_nni GEN_STATS_PER_NNI\n List number of EVCs per NNI-s Any: list all NNIs To\n filter use -s NNI[:JSON]\n -S SHORTCUT_FILE, --shortcut-file SHORTCUT_FILE\n Use a provided shortcut file. Default is .evc_manager\n\n filters:\n --has-uni-device HAS_UNI_DEVICE\n Filter output based on the UNI's device\n --has-uni-interface HAS_UNI_INTERFACE\n Filter output based on the UNI's interface\n --has-uni-tag-value HAS_UNI_TAG_VALUE\n Filter output based on the UNI's tag value (VLAN ID)\n --has-nni-name HAS_NNI_NAME\n Filter output based on the NNI's name\n --has-nni-name-primary HAS_NNI_NAME_PRIMARY\n Filter output when NNI's name is in primary path\n --has-nni-name-backup HAS_NNI_NAME_BACKUP\n Filter output when NNI's name is in backup path\n\n authentication:\n -u USER, --user USER Backend user for authentication\n -t TENANT, --tenant TENANT\n Backend user group for authentication\n\nTo use EVC_Manager as a Python module, follow these steps. The INPUT is just an example and\nrepresents the input you mean to submit to the evc_manager (use option -h to discover all options):\n\n from evc_manager import EvcManager, get_cli\n INPUT = ['-u', 'admin',\n '-t', 'admin',\n '-p', 'sparc123',\n '-O', 'https://192.168.56.10/oess/',\n '-v', 'info',\n '-q',\n '-f', './add_evcs.yaml',\n '-A']\n evc_mgr = EvcManager(get_cli(INPUT))\n final_result = evc_mgr.run()\n print(final_result)\n\nAttention: Avoid using option --password with admin accounts. Your password might be stored \nin your Bash history\\!\\!\n\n\n# EVC data modeling\n\nTo help modeling EVCs, the following data model was created:\n\n version: 1.0\n name: Circuit Name\n unis: List of User-to-Network Interfaces\n - device: network device's name\n interface_name: network device's interface_name\n interface_description: network device's interface_description\n mac_addresses: list of MAC addresses connected to the network interface\n -\n tag: interface TAG type\n type: Type could be MPLS or VLAN\n value: VLAN ID or MPLS tag or [start, end] for VLAN ranges.\n metrics: Circuit required metrics\n min_bw: minimum bandwidth\n max_delay: maximum delay acceptable in milliseconds\n max_hops: max number of hops\n avoid_shared: if circuit should avoid shared links\n provisioning_time: when the circuit should be created\n decommissioning_time: when the circuit should be terminated\n requested_paths: list of paths, in a priority list. 'Any' if no physical path is required.\n tenant: group name\n priority: circuit priority\n external_id: any external ID if needed\n monitoring: monitoring requirements\n dataplane:\n trace: if data plane path tracing is required\n active: True or False\n interval: interval between tests\n controlplane:\n trace: if control plane path tracing is enough\n active: True or False\n interval: interval between tests\n notification: notification requirements\n slack_channel:\n - workgroup1\n channel1\n - workgroup2\n channel2\n emails:\n - user1@email\n - user2@email\n current_config: Current configuration\n backend: backend or technology being used\n current_path: # list of links being used\n is_backup: is it using a backup path?\n is_optimized: is it using under-provisioned links? (not enough BW, delay higher that required, etc.)\n to_provisioned:\n is_expired:\n is_up:\n is_active: True if between provisioning time and decommissioning time\n\nData models are provided on folder libs.models.\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/amlight/evc_manager", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "evc-manager", "package_url": "https://pypi.org/project/evc-manager/", "platform": "", "project_url": "https://pypi.org/project/evc-manager/", "project_urls": { "Homepage": "https://github.com/amlight/evc_manager" }, "release_url": "https://pypi.org/project/evc-manager/1.3.6/", "requires_dist": [ "pyyaml (>=5.1.2)", "argparse (>=1.4.0)", "requests (>=2.22.0)", "prettytable ; python_version == \"3.6\"", "PTable (>=0.9.2) ; python_version == \"3.7\"" ], "requires_python": ">=3.6", "summary": "A Python module to manipulate Ethernet Virtual Circuit in SDN environments", "version": "1.3.6", "yanked": false, "yanked_reason": null }, "last_serial": 7692472, "releases": { "1.1.2": [ { "comment_text": "", "digests": { "md5": "7b3efcd3990385cf86126d6bd97e57d4", "sha256": "0b2ca2b43032f387bd24d6b945f02161ddaf6f7b28cd848efa91624bffb92e65" }, "downloads": -1, "filename": "evc_manager-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "7b3efcd3990385cf86126d6bd97e57d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 50973, "upload_time": "2019-10-20T22:47:51", "upload_time_iso_8601": "2019-10-20T22:47:51.678781Z", "url": "https://files.pythonhosted.org/packages/ef/a5/a2e1449bfc268723042d02b92eff76b3558a97ad7761af896d912fbbd8ec/evc_manager-1.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b8e68659b62a5b939ba35cc7a2a7d0af", "sha256": "31fe2d790a6e9cba3e84e698c7db105eb5cf5156510a1307eac29b01dc6fcbfa" }, "downloads": -1, "filename": "evc_manager-1.1.2.tar.gz", "has_sig": false, "md5_digest": "b8e68659b62a5b939ba35cc7a2a7d0af", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 33395, "upload_time": "2019-10-20T22:47:54", "upload_time_iso_8601": "2019-10-20T22:47:54.452968Z", "url": "https://files.pythonhosted.org/packages/2f/fd/fc76ea504498cc8ebaa4d9de35f14366f8efc18e3d3e8ec54c8852a7bfe1/evc_manager-1.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "e21f505955fc10771c63c63e6da323b2", "sha256": "091d3b6ad862ae55622a1b6a6ebad5cd26a314dadecaf11976ae9dcbb7545844" }, "downloads": -1, "filename": "evc_manager-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e21f505955fc10771c63c63e6da323b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 51408, "upload_time": "2019-10-21T15:40:44", "upload_time_iso_8601": "2019-10-21T15:40:44.894351Z", "url": "https://files.pythonhosted.org/packages/f9/d5/cc0cd628b350f2a9f2ecfbe1b918f09a3e80f1002d03e4753c0af8e2f1cb/evc_manager-1.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "773d987db3406a253fd06b496675947f", "sha256": "d1cf830256d8322e42bf5b417b6853cf45dc7a237a7e5a03f2a06b933ff3414f" }, "downloads": -1, "filename": "evc_manager-1.1.3.tar.gz", "has_sig": false, "md5_digest": "773d987db3406a253fd06b496675947f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 33592, "upload_time": "2019-10-21T15:40:57", "upload_time_iso_8601": "2019-10-21T15:40:57.002798Z", "url": "https://files.pythonhosted.org/packages/f9/68/115c321df0167cdc8684c05bcf97ac58eb66e4172beffd372d184d76663d/evc_manager-1.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "64478490b5526a94f64d5043925b51f4", "sha256": "6e093972df1e749edaba736d1c5c8025447a5281ae9c75749601bdd3da0c76d6" }, "downloads": -1, "filename": "evc_manager-1.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "64478490b5526a94f64d5043925b51f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 51900, "upload_time": "2019-10-21T17:34:23", "upload_time_iso_8601": "2019-10-21T17:34:23.423133Z", "url": "https://files.pythonhosted.org/packages/d5/52/713fb2fa33fdec519100fd10526c303aa619555348810a0091c9a9000a85/evc_manager-1.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "285a040b38b8cf5c75b5ec1eaa95e468", "sha256": "8b6daab460ee466eae2ac67a5525a8502651881adda02b3b7a26db9a153c8ed0" }, "downloads": -1, "filename": "evc_manager-1.1.4.tar.gz", "has_sig": false, "md5_digest": "285a040b38b8cf5c75b5ec1eaa95e468", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 34191, "upload_time": "2019-10-21T17:34:25", "upload_time_iso_8601": "2019-10-21T17:34:25.256268Z", "url": "https://files.pythonhosted.org/packages/24/a3/746ab5d9d78d3468d5923f54b6f6df91f1a8a79f8520caeadd1b36cc797d/evc_manager-1.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "f4636410eb76d84d2bf5713d2c43037d", "sha256": "a9ba4597e135763317a6de77e9fdd1b9c59367e444270385f6cb904b3639b822" }, "downloads": -1, "filename": "evc_manager-1.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f4636410eb76d84d2bf5713d2c43037d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 54361, "upload_time": "2019-11-18T17:58:17", "upload_time_iso_8601": "2019-11-18T17:58:17.023089Z", "url": "https://files.pythonhosted.org/packages/c5/c7/748d2531dbb5292391984a4498ddb28d432efac68c37afacc0e8bf61034c/evc_manager-1.1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e56416342b9c9899fe8da58072eab385", "sha256": "4335630471418b5ce69152975a6d5e1c2b85b41f67054d468ff9e5bdbc08d025" }, "downloads": -1, "filename": "evc_manager-1.1.5.tar.gz", "has_sig": false, "md5_digest": "e56416342b9c9899fe8da58072eab385", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36715, "upload_time": "2019-11-18T17:58:27", "upload_time_iso_8601": "2019-11-18T17:58:27.909731Z", "url": "https://files.pythonhosted.org/packages/ae/00/e20323f274b4ef02934c587054041814e0e286ab2f65fc3acf1a605d1fd0/evc_manager-1.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3": [ { "comment_text": "", "digests": { "md5": "b1a61174299738cd52c26fbee70fe668", "sha256": "a88a07dc93e70aee85f2e9e35cdd2a35e6b7b365fa238d1a1f51db0cd6b1380e" }, "downloads": -1, "filename": "evc_manager-1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b1a61174299738cd52c26fbee70fe668", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 62002, "upload_time": "2019-12-29T20:51:44", "upload_time_iso_8601": "2019-12-29T20:51:44.000671Z", "url": "https://files.pythonhosted.org/packages/12/75/ef69c33923281c72a4d1f893318b7ff9caa0baca72d7239a1651cfb2058a/evc_manager-1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "8e67deaf1df2c410c663230758fdf772", "sha256": "e41013e64fcc0abc75b0b52a39022ff24093552dd176e59011e69ff62f420803" }, "downloads": -1, "filename": "evc_manager-1.3.tar.gz", "has_sig": false, "md5_digest": "8e67deaf1df2c410c663230758fdf772", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39000, "upload_time": "2019-12-29T20:51:46", "upload_time_iso_8601": "2019-12-29T20:51:46.149531Z", "url": "https://files.pythonhosted.org/packages/fb/a6/18d263cd6480a5ac733dfe193c9814d8518be2893f1a4a994b9d909b50f8/evc_manager-1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "8954522a3a0437b1e0e1ee1c3ed49551", "sha256": "44ce6b8c9738a750203e2d206dc866e117b774798747cce6734b11e55d9b0fc4" }, "downloads": -1, "filename": "evc_manager-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8954522a3a0437b1e0e1ee1c3ed49551", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 57290, "upload_time": "2019-12-29T20:53:23", "upload_time_iso_8601": "2019-12-29T20:53:23.728595Z", "url": "https://files.pythonhosted.org/packages/77/cf/c4dcf4b9b8eaadc2076909eb74bfe2f2bd6d318bf02ee17f20d86fcac048/evc_manager-1.3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "146b1a8590e8000e36e6b291df190e16", "sha256": "d1f4fffbf2a046ba783598af39828f1f8756f7b26f4b1645b358c8c6ea2a02fb" }, "downloads": -1, "filename": "evc_manager-1.3.1.tar.gz", "has_sig": false, "md5_digest": "146b1a8590e8000e36e6b291df190e16", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39106, "upload_time": "2019-12-29T20:53:25", "upload_time_iso_8601": "2019-12-29T20:53:25.627405Z", "url": "https://files.pythonhosted.org/packages/c7/92/484650ac300e8739ba75306c4f855a5011355f0176bd80613f926f2ef62c/evc_manager-1.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "847082469e8e4b7b465adf826977075c", "sha256": "57857834e7f3e435bfa18e2abb41d83f81285f565d93e2dfe6239a91fe7e85b7" }, "downloads": -1, "filename": "evc_manager-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "847082469e8e4b7b465adf826977075c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 58902, "upload_time": "2020-01-04T22:23:11", "upload_time_iso_8601": "2020-01-04T22:23:11.045600Z", "url": "https://files.pythonhosted.org/packages/50/b8/9f63ba2cdb86f162c39ef102a54fac13655da226403c316e64d7cebe4c4d/evc_manager-1.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5bcd8f7e7a5892127c268b38e5f1aad5", "sha256": "f814ef4ff4c1c8040ad08547f2485226d515b0246d49caf987801d62588d2e64" }, "downloads": -1, "filename": "evc_manager-1.3.2.tar.gz", "has_sig": false, "md5_digest": "5bcd8f7e7a5892127c268b38e5f1aad5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 40300, "upload_time": "2020-01-04T22:23:12", "upload_time_iso_8601": "2020-01-04T22:23:12.886784Z", "url": "https://files.pythonhosted.org/packages/2a/b1/a9bbdb5018109e8eb414c9ed62e4550307ee82749bf2d739da070a0801d9/evc_manager-1.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "7dfd6e0c3b62f3544160c61cc0b0aec5", "sha256": "b5caddee43cc862392f2192c91b68f81002a3d7f905f2a877ef281313994ac67" }, "downloads": -1, "filename": "evc_manager-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7dfd6e0c3b62f3544160c61cc0b0aec5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 59279, "upload_time": "2020-03-01T20:56:22", "upload_time_iso_8601": "2020-03-01T20:56:22.276252Z", "url": "https://files.pythonhosted.org/packages/7d/a2/0fa75fe40a568c9947f73dbfa796162e7ba092b620dfd890b9a279662160/evc_manager-1.3.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "db7b4af4f985495a49c174b732731d2a", "sha256": "bc1bd0afb1ae35f8ab59e9e629dbec7b42b123c2987292c346c089868da97223" }, "downloads": -1, "filename": "evc_manager-1.3.3.tar.gz", "has_sig": false, "md5_digest": "db7b4af4f985495a49c174b732731d2a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 40472, "upload_time": "2020-03-01T20:56:23", "upload_time_iso_8601": "2020-03-01T20:56:23.732491Z", "url": "https://files.pythonhosted.org/packages/e5/e3/f0522f6128dbd6919339eef6b9d03ab1ad64e985e94ba6bbba05974962d2/evc_manager-1.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "22d8255bb4f73bbc987b4a22c2a26407", "sha256": "325a37d16e92dffd6a0463c028e93d389776ce0b4a5d308f0549bae06f2f352a" }, "downloads": -1, "filename": "evc_manager-1.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "22d8255bb4f73bbc987b4a22c2a26407", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 65398, "upload_time": "2020-06-17T23:05:12", "upload_time_iso_8601": "2020-06-17T23:05:12.546314Z", "url": "https://files.pythonhosted.org/packages/00/eb/95f9991dd5b3dd1d31b43df640935d94a5147ad76a3ac72b2ce18c25910c/evc_manager-1.3.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9df62608f208e1551f589ef48f8657cb", "sha256": "4b842d9807b8dac965b01dbf2cdda374a00b92d61a539ef969ce9601924c7036" }, "downloads": -1, "filename": "evc_manager-1.3.5.tar.gz", "has_sig": false, "md5_digest": "9df62608f208e1551f589ef48f8657cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 44676, "upload_time": "2020-06-17T23:05:13", "upload_time_iso_8601": "2020-06-17T23:05:13.761152Z", "url": "https://files.pythonhosted.org/packages/72/e4/da53bd2a24406af45a814fbb3b2a76604a5917df1a3dc27014bf0e665458/evc_manager-1.3.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "3148cceb14f6bb99285346bed6420a46", "sha256": "5ca714b3e3fba0be6bbf82152eba7b1b5c42f21384e5b551b246aab76495ed03" }, "downloads": -1, "filename": "evc_manager-1.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3148cceb14f6bb99285346bed6420a46", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 66636, "upload_time": "2020-07-13T18:37:23", "upload_time_iso_8601": "2020-07-13T18:37:23.252788Z", "url": "https://files.pythonhosted.org/packages/7f/94/86588dd03543853104e7f1ec35264baf06b3247a76c9f091efae35a4edd0/evc_manager-1.3.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "929a0009dfa273a46aee0c82f1e5ea32", "sha256": "250985f3c993b9a0d17b3b65a84815aef84b7d75843d00f70534ce447c85ea7f" }, "downloads": -1, "filename": "evc_manager-1.3.6.tar.gz", "has_sig": false, "md5_digest": "929a0009dfa273a46aee0c82f1e5ea32", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 45354, "upload_time": "2020-07-13T18:37:24", "upload_time_iso_8601": "2020-07-13T18:37:24.590699Z", "url": "https://files.pythonhosted.org/packages/59/9b/544766413c46bd845abaa58c5abd62e858abe03208feb6ea96150dae8211/evc_manager-1.3.6.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3148cceb14f6bb99285346bed6420a46", "sha256": "5ca714b3e3fba0be6bbf82152eba7b1b5c42f21384e5b551b246aab76495ed03" }, "downloads": -1, "filename": "evc_manager-1.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3148cceb14f6bb99285346bed6420a46", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 66636, "upload_time": "2020-07-13T18:37:23", "upload_time_iso_8601": "2020-07-13T18:37:23.252788Z", "url": "https://files.pythonhosted.org/packages/7f/94/86588dd03543853104e7f1ec35264baf06b3247a76c9f091efae35a4edd0/evc_manager-1.3.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "929a0009dfa273a46aee0c82f1e5ea32", "sha256": "250985f3c993b9a0d17b3b65a84815aef84b7d75843d00f70534ce447c85ea7f" }, "downloads": -1, "filename": "evc_manager-1.3.6.tar.gz", "has_sig": false, "md5_digest": "929a0009dfa273a46aee0c82f1e5ea32", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 45354, "upload_time": "2020-07-13T18:37:24", "upload_time_iso_8601": "2020-07-13T18:37:24.590699Z", "url": "https://files.pythonhosted.org/packages/59/9b/544766413c46bd845abaa58c5abd62e858abe03208feb6ea96150dae8211/evc_manager-1.3.6.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }