![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
|Windows Build| |Linux build| |Documentation| |PyPI|
A very simple GUI and CLI to manage environment variables.
Project page : https://smarie.github.io/env-switcher-gui/
Architecture
This is a kind of MVC pattern where
- the **View** is made of two parts: the static one ``UI_MainWindow``,
generated with qt designer, and the dynamic one ``EnvSwitcherView``.
It deals with the various widgets and popups.
- the **Model** is provided by ``EnvSwitcherState`` and deals with the
configuration files and persistence.
- the **Controller**, or the **Application**, is provided by
``EnvSwitcherApp`` and provides the Qt application boilerplate as
well as persistence of the application settings (recent edited
files).
|EnvswitchDesign|
PyQt Code generation
Prerequisite: install PyQt5, but warning: using pip to install pyqt in
anaconda root may compromise your global conda environment (see
here <https://github.com/ContinuumIO/anaconda-issues/issues/1970>
__)
* Run designer
, save file as *.ui
for example we use
./ui/sprint2_dynamic.ui
* Generate equivalent python file with
pyuic5 ui/sprint2_dynamic.ui -o envswitch/qt_design.py
Contributions are welcome ! Simply fork this project on github, commit your contributions, and create pull requests.
Here is a non-exhaustive list of interesting open topics: https://github.com/smarie/env-switcher-gui/issues
This project uses pytest
.
.. code:: bash
pytest -v envswitch/tests/
You may need to install requirements for tests beforehand, using
.. code:: bash
pip install -r ci_tools/requirements-test.txt
Python wheel
This project uses ``setuptools_scm`` to synchronise the version number.
Therefore the following command should be used for development snapshots
as well as official releases:
.. code:: bash
python setup.py egg_info bdist_wheel rotate -m.whl -k3
You may need to install requirements for setup beforehand, using
.. code:: bash
pip install -r ci_tools/requirements-setup.txt
Standalone app
To build the executable distribution there is a separate setup file for cx_freeze.
The following command builds a distribution folder under build/
containing all resources needed and an envswitch executable for you
platform.
.. code:: bash
python setup_cx_app.py build
The following command builds a .msi distribution for windows in
dist/
.. code:: bash
python setup_cx_app.py bdist_msi
The following command builds a RPM distribution for linux in dist/
.. code:: bash
python setup_cx_app.py bdist_rpm
The following command builds a .app distribution for mac in dist/
.. code:: bash
python setup_cx_app.py bdist_mac
The following command builds a DMG disk image distribution for mac
.. code:: bash
python setup_cx_app.py bdist_dmg
This project uses mkdocs
to generate its documentation page.
Therefore building a local copy of the doc page may be done using:
.. code:: bash
mkdocs build
You may need to install requirements for doc beforehand, using
.. code:: bash
pip install -r ci_tools/requirements-doc.txt
The following commands generate the html test report and the associated badge. Note that in order for the test to succeed, you should create an environment variable named 'FOO' beforehand, with random content.
.. code:: bash
pytest --junitxml=junit.xml -v envswitch/tests/
ant -f ci_tools/generate-junit-html.xml
python ci_tools/generate-junit-badge.py
PyPI Releasing memo
This project is now automatically deployed to PyPI by Travis when a tag
is created. Anyway, for manual deployment we can use:
.. code:: bash
twine upload dist/* -r pypitest
twine upload dist/*
.. |Windows Build| image:: https://ci.appveyor.com/api/projects/status/15y7mvbqi4qu2v4y?svg=true
:target: https://ci.appveyor.com/project/smarie/env-switcher-gui
.. |Linux build| image:: https://travis-ci.org/smarie/env-switcher-gui.svg?branch=master
:target: https://travis-ci.org/smarie/env-switcher-gui
.. |Documentation| image:: https://img.shields.io/badge/docs-latest-blue.svg
:target: https://smarie.github.io/env-switcher-gui/
.. |PyPI| image:: https://img.shields.io/badge/PyPI-envswitch-blue.svg
:target: https://pypi.python.org/pypi/envswitch/
.. |EnvswitchDesign| image:: https://raw.githubusercontent.com/smarie/env-switcher-gui/master/docs/DesignOverview.png
:target: https://raw.githubusercontent.com/smarie/env-switcher-gui/master/docs/DesignOverview.png
FAQs
A very simple GUI and CLI to manage environment variables.
We found that envswitch demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.