Welcome to tlnetcard_python! tlnetcard_python is a Python 3 API for the TLNET Supervisor web interface which is used with Tripp Lite's TLNETCARD, and aims to provide similar functionality in a scriptable format. This API makes frequent use of the requests module, and I recommend it for use in any projects which involve making HTML requests in Python. A second thank you goes to the people behind the selenium and PySNMP modules respectively, of which this API makes intermittent use.
This package is installed using pip. If you do not have pip installed on your system, you can install it by downloading get-pip.py and running that python file (Windows/MacOS/Linux/BSD), or you can run the following command in terminal (Linux/BSD):
sudo apt install python3-pip
If you're using brew for MacOS, you can install pip (along with the rest of Python 3) using brew:
brew install python3
Note: The creator of this software does not recommend the installation of python or pip using brew, and instead recommends that pip be installed using get-pip.py, or that Python 3.5+ be installed using the installation candidates found on python.org, which include pip by default.
Fetching this repository from PyPi is the recommended way to install this package. From your terminal, run the following command:
pip3 install tlnetcard-python
And that's it! Now you can go right ahead to the quick-start guide!
Installing this package from source is the only way to guarantee you're getting the latest, bleeding-edge code. If you're installing from source, I assume you already know the risks (stability is not guaranteed, stability is not guaranteed, etc.). Assuming you have git installed, installation from source can be accomplished easily (MacOS/Linux/BSD):
git clone https://github.com/EGuthrieWasTaken/tlnetcard_python.git
cd tlnetcard_python/
pip3 install .
If, for whatever reason, you have your heart set on not installing git on your system (who installs from source but won't use git?), you can also install by downloading the zip file for this project, unzipping it, and starting a terminal/cmd session in the unzipped directory. Then, run the following command (Windows/MacOS/Linux/BSD):
pip3 install .
Of course, there is no need to use pip to install. In lieu of pip3 install .
for either of the above methods, you could substitute python3 setup.py install
.
And that's it! Now you can go right ahead to the quick-start guide!
After installation, you can get started with using the module immediately! You will first need to create a login object to initiate an authenticated session with TLNET Supervisor, and then you may run any other commands you wish, but understand that every action object must be initialized with the login session. An example is below:
import tlnetcard_python
# Creating authenticated session.
card = tlnetcard_python.Login("admin", "password", "10.0.0.100")
# Do whatever configuration is needed here.
batch_config = tlnetcard_python.system.administration.BatchConfiguration(card)
batch_config.upload_system_configuration("/home/sampleUser/sys_config.txt")
# Closing session.
card.logout()
Note that this process could be placed into a loop to configure multiple systems. Additionally, using the set_host() method allows for the same login object to be used with multiple hosts. The password will still need to be provided for each host change unless the save_passwd
flag was set to True
when the object was initialized. See example below:
from tlnetcard_python import Login
from tlnetcard_python.system.administration import BatchConfiguration
hosts = ['10.0.0.100', '10.0.0.101', '10.0.0.103', ...]
card = Login("admin", "password", save_passwd=True)
for host in hosts:
card.set_host(host)
batch_config = BatchConfiguration(card)
batch_config.upload_system_configuration("/home/sampleUser/sys_config.txt")
card.logout()
Note: the creator(s) of this software will not be liable for any unintended results from using any tlnetcard_python software, including lost or stolen passwords. Please use options such as save_passwd
with caution. For complete information regarding liability, see the License.
Documentation for this project can be found in the GitHub Repository. Each folder has it's own documentation for the class files it contains. The documentation tree is below: