{ "info": { "author": "Sylvain Mari\u00e9", "author_email": "sylvain.marie@schneider-electric.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Desktop Environment" ], "description": "env-switcher-gui\n================\n\n|Windows Build| |Linux build| |Documentation| |PyPI|\n\nA very simple GUI and CLI to manage environment variables.\n\nProject page : https://smarie.github.io/env-switcher-gui/\n\nDeveloper memo for QtDesigner\n-----------------------------\n\nArchitecture\n~~~~~~~~~~~~\n\nThis is a kind of MVC pattern where\n\n- the **View** is made of two parts: the static one ``UI_MainWindow``,\n generated with qt designer, and the dynamic one ``EnvSwitcherView``.\n It deals with the various widgets and popups.\n- the **Model** is provided by ``EnvSwitcherState`` and deals with the\n configuration files and persistence.\n- the **Controller**, or the **Application**, is provided by\n ``EnvSwitcherApp`` and provides the Qt application boilerplate as\n well as persistence of the application settings (recent edited\n files).\n\n|EnvswitchDesign|\n\nPyQt Code generation\n~~~~~~~~~~~~~~~~~~~~\n\n*Prerequisite: install PyQt5, but warning: using pip to install pyqt in\nanaconda root may compromise your global conda environment (see\n`here `__)*\n\\* Run ``designer``, save file as ``*.ui`` for example we use\n``./ui/sprint2_dynamic.ui`` \\* Generate equivalent python file with\n``pyuic5 ui/sprint2_dynamic.ui -o envswitch/qt_design.py``\n\nWant to contribute ?\n--------------------\n\nContributions are welcome ! Simply fork this project on github, commit\nyour contributions, and create pull requests.\n\nHere is a non-exhaustive list of interesting open topics:\nhttps://github.com/smarie/env-switcher-gui/issues\n\nRunning the tests\n-----------------\n\nThis project uses ``pytest``.\n\n.. code:: bash\n\n pytest -v envswitch/tests/\n\nYou may need to install requirements for tests beforehand, using\n\n.. code:: bash\n\n pip install -r ci_tools/requirements-test.txt\n\nPackaging\n---------\n\nPython wheel\n~~~~~~~~~~~~\n\nThis project uses ``setuptools_scm`` to synchronise the version number.\nTherefore the following command should be used for development snapshots\nas well as official releases:\n\n.. code:: bash\n\n python setup.py egg_info bdist_wheel rotate -m.whl -k3\n\nYou may need to install requirements for setup beforehand, using\n\n.. code:: bash\n\n pip install -r ci_tools/requirements-setup.txt\n\nStandalone app\n~~~~~~~~~~~~~~\n\nTo build the executable distribution there is a separate setup file for\ncx\\_freeze.\n\nThe following command builds a distribution folder under ``build/``\ncontaining all resources needed and an envswitch executable for you\nplatform.\n\n.. code:: bash\n\n python setup_cx_app.py build\n\nThe following command builds a .msi distribution for windows in\n``dist/``\n\n.. code:: bash\n\n python setup_cx_app.py bdist_msi\n\nThe following command builds a RPM distribution for linux in ``dist/``\n\n.. code:: bash\n\n python setup_cx_app.py bdist_rpm\n\nThe following command builds a .app distribution for mac in ``dist/``\n\n.. code:: bash\n\n python setup_cx_app.py bdist_mac\n\nThe following command builds a DMG disk image distribution for mac\n\n.. code:: bash\n\n python setup_cx_app.py bdist_dmg\n\nGenerating the documentation page\n---------------------------------\n\nThis project uses ``mkdocs`` to generate its documentation page.\nTherefore building a local copy of the doc page may be done using:\n\n.. code:: bash\n\n mkdocs build\n\nYou may need to install requirements for doc beforehand, using\n\n.. code:: bash\n\n pip install -r ci_tools/requirements-doc.txt\n\nGenerating the test reports\n---------------------------\n\nThe following commands generate the html test report and the associated\nbadge. Note that in order for the test to succeed, you should create an\nenvironment variable named 'FOO' beforehand, with random content.\n\n.. code:: bash\n\n pytest --junitxml=junit.xml -v envswitch/tests/\n ant -f ci_tools/generate-junit-html.xml\n python ci_tools/generate-junit-badge.py\n\nPyPI Releasing memo\n~~~~~~~~~~~~~~~~~~~\n\nThis project is now automatically deployed to PyPI by Travis when a tag\nis created. Anyway, for manual deployment we can use:\n\n.. code:: bash\n\n twine upload dist/* -r pypitest\n twine upload dist/*\n\n.. |Windows Build| image:: https://ci.appveyor.com/api/projects/status/15y7mvbqi4qu2v4y?svg=true\n :target: https://ci.appveyor.com/project/smarie/env-switcher-gui\n.. |Linux build| image:: https://travis-ci.org/smarie/env-switcher-gui.svg?branch=master\n :target: https://travis-ci.org/smarie/env-switcher-gui\n.. |Documentation| image:: https://img.shields.io/badge/docs-latest-blue.svg\n :target: https://smarie.github.io/env-switcher-gui/\n.. |PyPI| image:: https://img.shields.io/badge/PyPI-envswitch-blue.svg\n :target: https://pypi.python.org/pypi/envswitch/\n.. |EnvswitchDesign| image:: https://raw.githubusercontent.com/smarie/env-switcher-gui/master/docs/DesignOverview.png\n :target: https://raw.githubusercontent.com/smarie/env-switcher-gui/master/docs/DesignOverview.png\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/smarie/env-switcher-gui/tarball/1.4.1", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/smarie/env-switcher-gui", "keywords": "env-variable environment variable http proxy switch gui cli desktop application", "license": "BSD 3-Clause", "maintainer": "", "maintainer_email": "", "name": "envswitch", "package_url": "https://pypi.org/project/envswitch/", "platform": "", "project_url": "https://pypi.org/project/envswitch/", "project_urls": { "Download": "https://github.com/smarie/env-switcher-gui/tarball/1.4.1", "Homepage": "https://github.com/smarie/env-switcher-gui" }, "release_url": "https://pypi.org/project/envswitch/1.4.1/", "requires_dist": [ "autoclass", "click", "pyyaml" ], "requires_python": "", "summary": "A very simple GUI and CLI to manage environment variables.", "version": "1.4.1" }, "last_serial": 3271861, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "4812cb1413f9255babe7f45c099930fc", "sha256": "7112a77e7ae6d316527674172c3a391c03a0fa8cae5c97256d40de2aa5ffdf8f" }, "downloads": -1, "filename": "envswitch-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4812cb1413f9255babe7f45c099930fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21216, "upload_time": "2017-09-28T18:04:57", "url": "https://files.pythonhosted.org/packages/b2/f8/465348bd2a3529334233601d2a27e78b5c56da9c5c83466467b5ed1a9c62/envswitch-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2e0b7ffd4b70c6a5aad81eafdbc44e2", "sha256": "f16878c051aa627e3681c6bcf5ca70315fcedfa99e5b867aa2dfa058e6b5cd42" }, "downloads": -1, "filename": "envswitch-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c2e0b7ffd4b70c6a5aad81eafdbc44e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1212478, "upload_time": "2017-09-28T18:04:58", "url": "https://files.pythonhosted.org/packages/35/43/9d0cdd373dd0b28abda4c0320edf3bdadc88f4cc622e254681b9063f031c/envswitch-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a9e961b4a792d839b870e019d9999a03", "sha256": "5890400c54fe9e4ccbaaf0fc1f19897aeebf724fca15d9dcff1c35430b1201fd" }, "downloads": -1, "filename": "envswitch-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a9e961b4a792d839b870e019d9999a03", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21851, "upload_time": "2017-09-29T17:39:00", "url": "https://files.pythonhosted.org/packages/4b/17/18f48fba3f0d7c2ed389e1e940e7eab9283b4491b8542ed1ce6039177d32/envswitch-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0bde62b1873e1bab1224007de89a1734", "sha256": "c6d6864da0b45d52ac91b726c68a467ca299ff7a2da4d723baf30930684c5c88" }, "downloads": -1, "filename": "envswitch-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0bde62b1873e1bab1224007de89a1734", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1217752, "upload_time": "2017-09-29T17:39:03", "url": "https://files.pythonhosted.org/packages/e7/57/e378990dbf2da19cc3b2d930b68f05e2f8b3c1aea2564e08fff6c1a0450d/envswitch-1.0.1.tar.gz" } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "f87a6de33b0671a99dcde9e2eef2984b", "sha256": "81c76f22ad3a82176f3db95ab8a67ac613437b3bf60d9b2a855924fd3a427dc1" }, "downloads": -1, "filename": "envswitch-1.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "f87a6de33b0671a99dcde9e2eef2984b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21539, "upload_time": "2017-09-29T15:34:03", "url": "https://files.pythonhosted.org/packages/3a/af/919664518f9f5d1d1762fd889501956fe82b388c3c81d1308f09b27695a5/envswitch-1.0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "369acd9dc5c8c48427a3ae24908f0936", "sha256": "ff976263864aabb83c7683eda2bd0745763998685ec94533f3fdb6ea32730c0b" }, "downloads": -1, "filename": "envswitch-1.0.12.tar.gz", "has_sig": false, "md5_digest": "369acd9dc5c8c48427a3ae24908f0936", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1216591, "upload_time": "2017-09-29T15:34:05", "url": "https://files.pythonhosted.org/packages/66/9c/3348e417d214019e4b944bbe2f32e889197dd52bab7163b7fa2c4d1b04f2/envswitch-1.0.12.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "6a0c4b31560216b20d22a2a6d546cc14", "sha256": "48d6930ac2bde7fb0ac0368a588840d03ecc40ecbcdd3c7659d7e399d0ca1ff2" }, "downloads": -1, "filename": "envswitch-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6a0c4b31560216b20d22a2a6d546cc14", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21849, "upload_time": "2017-09-29T20:26:34", "url": "https://files.pythonhosted.org/packages/b3/c3/d731751bdd3e9fcc51c6ed557e9b9d6a36c6c409836a9fce331c6181dbe4/envswitch-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a532b8567d24b3ca948441ace85e6a28", "sha256": "2f62bbf9fba4926509cafd8efd712b230f86e8df606f38e84506a159ad0484d7" }, "downloads": -1, "filename": "envswitch-1.1.0.tar.gz", "has_sig": false, "md5_digest": "a532b8567d24b3ca948441ace85e6a28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1217796, "upload_time": "2017-09-29T20:26:36", "url": "https://files.pythonhosted.org/packages/96/eb/327ea691424caa52cf22cd684669f8f0ec2697e1de0610a7b6a25a948c86/envswitch-1.1.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "d2e359f2a973d2c9f3b6e1cf537df3b8", "sha256": "aee3c6d96f1f9073fc52531a9a2d72b0b044f7932f91231bfb62d0e1ab43deef" }, "downloads": -1, "filename": "envswitch-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d2e359f2a973d2c9f3b6e1cf537df3b8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22946, "upload_time": "2017-10-09T10:33:38", "url": "https://files.pythonhosted.org/packages/5e/67/941331dd5dda1b7e0acde2adb6974316b5d093c4ed2e516c42038e7edb11/envswitch-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "769c56fc5ab29cf09816aa53a94f8040", "sha256": "6a14eb76b485f244731a85d8777c1eb7afc50b9864290ce369ad94c6231f10d1" }, "downloads": -1, "filename": "envswitch-1.2.1.tar.gz", "has_sig": false, "md5_digest": "769c56fc5ab29cf09816aa53a94f8040", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 903757, "upload_time": "2017-10-09T10:33:39", "url": "https://files.pythonhosted.org/packages/12/85/1c1237b3e38803fb8e8a8cb74199a4e8093f1d35ffba756dd4a3e76d9140/envswitch-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "076459bf1682a022782de56b315d3d98", "sha256": "e548e194c7988af564dfa4b02037cd20f9606e87e8072f756df1d5870e2b1a0d" }, "downloads": -1, "filename": "envswitch-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "076459bf1682a022782de56b315d3d98", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38472, "upload_time": "2017-10-18T08:51:54", "url": "https://files.pythonhosted.org/packages/85/b1/a42a328e1501dda82dba7acaa015d8beb87514d95e7f562180ed9459b3ca/envswitch-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0368da704fb4a72fb9afd62aaa061ff", "sha256": "2ef476ff81db333915fe1c0893a332eceb696045ae22b373dde61aad8f8c343d" }, "downloads": -1, "filename": "envswitch-1.2.2.tar.gz", "has_sig": false, "md5_digest": "e0368da704fb4a72fb9afd62aaa061ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 350347, "upload_time": "2017-10-18T08:51:56", "url": "https://files.pythonhosted.org/packages/89/f7/0a90cb95dbbdfe61faf089a45fba5de476645a97f2787315ad1ca517e54a/envswitch-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "3ba50a4fbd3319a708aa91459660ae2b", "sha256": "4504dbd3b56d728d0bfac28246bdcab3a182756b252392edd3a8a5770819f783" }, "downloads": -1, "filename": "envswitch-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3ba50a4fbd3319a708aa91459660ae2b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38915, "upload_time": "2017-10-18T10:25:22", "url": "https://files.pythonhosted.org/packages/0c/15/cb2540538284fcfcb0af25d9e8b4954b106a283744005d71d3b08754183a/envswitch-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33f5ba1f76ed32584e66f846b4a636cc", "sha256": "b2a749c4488b08950d9b2bcf337744d11e0dcf1eafa983a39cfcf9e71fd37982" }, "downloads": -1, "filename": "envswitch-1.3.0.tar.gz", "has_sig": false, "md5_digest": "33f5ba1f76ed32584e66f846b4a636cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 351017, "upload_time": "2017-10-18T10:25:23", "url": "https://files.pythonhosted.org/packages/b0/97/54836857e55ba75747d406a0f57128188ecaeaa8cc43d2335af12adfe26c/envswitch-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "94f5ba65a5060c71a380af3ed7f249b9", "sha256": "7aed73d641e68303300011397cc5fefb91e7e8a05f306b55911344e31a8e8e79" }, "downloads": -1, "filename": "envswitch-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "94f5ba65a5060c71a380af3ed7f249b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40902, "upload_time": "2017-10-19T17:05:37", "url": "https://files.pythonhosted.org/packages/bc/d7/03fed298c3b3ccb6b617cfb6e850249265d32a5a192dfe38a64a43e3e8e8/envswitch-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f052ee3cb22ba951a83456308778b76", "sha256": "d6a2b4500b79b3f181e2fbfe63fcac19b6fcb2651746f92046b156bbb827459d" }, "downloads": -1, "filename": "envswitch-1.4.0.tar.gz", "has_sig": false, "md5_digest": "5f052ee3cb22ba951a83456308778b76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 353509, "upload_time": "2017-10-19T17:05:38", "url": "https://files.pythonhosted.org/packages/6c/fb/95d54309936755eababf37916c158c6329d5a4af356d5ea4a3708cf20adf/envswitch-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "3e33dc59e220d211f9271ffdc805acf9", "sha256": "5e68ca013fb7bed13eb7d4437a5d2e09aaa1c9987fbc4df08b0b0fab8120c086" }, "downloads": -1, "filename": "envswitch-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3e33dc59e220d211f9271ffdc805acf9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40965, "upload_time": "2017-10-23T11:43:21", "url": "https://files.pythonhosted.org/packages/9f/ae/26fa722368fe8f7c5d549b1d25efb6d00016ea4e283145addca35dd749d7/envswitch-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "adc0fda5256080ca6658d09d161dbcd4", "sha256": "979eb6d7354f1f57f8ff473c8d7587c6d2f9b0cce02d8e43d01f8037ee379ad7" }, "downloads": -1, "filename": "envswitch-1.4.1.tar.gz", "has_sig": false, "md5_digest": "adc0fda5256080ca6658d09d161dbcd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 353660, "upload_time": "2017-10-23T11:43:22", "url": "https://files.pythonhosted.org/packages/04/c4/5d2b9a7d0738c72897c8274f683af5a9f943314de7dd50819d3b7e33ab53/envswitch-1.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3e33dc59e220d211f9271ffdc805acf9", "sha256": "5e68ca013fb7bed13eb7d4437a5d2e09aaa1c9987fbc4df08b0b0fab8120c086" }, "downloads": -1, "filename": "envswitch-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3e33dc59e220d211f9271ffdc805acf9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40965, "upload_time": "2017-10-23T11:43:21", "url": "https://files.pythonhosted.org/packages/9f/ae/26fa722368fe8f7c5d549b1d25efb6d00016ea4e283145addca35dd749d7/envswitch-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "adc0fda5256080ca6658d09d161dbcd4", "sha256": "979eb6d7354f1f57f8ff473c8d7587c6d2f9b0cce02d8e43d01f8037ee379ad7" }, "downloads": -1, "filename": "envswitch-1.4.1.tar.gz", "has_sig": false, "md5_digest": "adc0fda5256080ca6658d09d161dbcd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 353660, "upload_time": "2017-10-23T11:43:22", "url": "https://files.pythonhosted.org/packages/04/c4/5d2b9a7d0738c72897c8274f683af5a9f943314de7dd50819d3b7e33ab53/envswitch-1.4.1.tar.gz" } ] }