This application is a NETCONF client with a user-friendly UI, built with Python and customtkinter library, for interacting with NETCONF-enabled devices.
For help, see the built-in Usage Instructions.
On Windows the standard Python installation is sufficient. All other
dependencies are listed in requirements.txt
. To fully leverage the
command line in Windows you may want to install Terminal 2 and
Git Bash.
On Linux and macOS, however, your default Python3 installation may not have the full Python distribution.
Debian/Ubuntu/Linux Mint:
~$ sudo apt-get install python3-tk
RedHat/Fedora:
~$ sudo dnf install python3-tkinter
macOS:
~$ brew install python-tk
Use git to clone this repository (the green <> Code button):
~$ cd src/
~/src$ git clone https://github.com/addiva-elektronik/netconf-client.git
~/src$ cd netconf-client/
It is recommended to use Python3 virtual environment (venv) for 3rd party software. This ensures proper versions of all dependencies are used, without leaking over to other programs.
Set up venv and source activate
. The following example works on
Linux, verified on Linux Mint:
~/src/netconf-client(main)$ python -m venv .venv
~/src/netconf-client(main)$ source .venv/bin/activate
On Windows, example from Windows 10 running Git Bash (MINGW64):
~/src/netconf-client(main)$ python -m venv .venv
~/src/netconf-client(main)$ source .venv/Scripts/activate
Other combinations of operating system and IDE are of course also possible. E.g., running from cmd.exe, use
activate.bat
Calling the python command from now on (in this terminal)
uses the .venv/bin/python
, same with the pip command which
we'll now use to install the requirements:
~/src/netconf-client(main)$ pip install -r requirements.txt
...
TIP: When your session with netconf-client is over, you can call the
deactivate
, ordeactivate.bat
to "detach" your terminal from from the venv, or just close your terminal for the same effect.
The program has pre-programmed buttons to enable/disable PROFINET. This requires two custom files to be added to the root folder:
enable-profinet.xml
disable-profinet.xml
These files should contain the NETCONF xml configuration to enable and disable PROFINET on the target device.
Application can be run on Windows, Linux & MacOS.
~/src/netconf-client(main)$ python main.py
python pyinstaller.py
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
The project is available for free, under the open source MIT license.