
Research
Security News
The Landscape of Malicious Open Source Packages: 2025 Mid‑Year Threat Report
A look at the top trends in how threat actors are weaponizing open source packages to deliver malware and persist across the software supply chain.
Xena OpenAutomation (XOA) Python API is a driver providing user-friendly communication interfaces to Xena's physical and virtual Traffic Generation and Analysis (TGA) testers. It provides a rich collection of programming interfaces that can be used to either write test scripts or develop applications.
Xena OpenAutomation Python API is a standalone Python library that provides a user-friendly and powerful interface for automating network testing tasks using Xena Networks test equipment. Xena test equipment is a high-performance network test device designed for testing and measuring the performance of network equipment and applications.
The XOA Python API is designed to be easy to use and integrate with other automation tools and frameworks. It provides a comprehensive set of methods and classes for interacting with Xena test equipment, including the ability to create and run complex test scenarios, generate and analyze traffic at line rate, and perform detailed analysis of network performance and behavior.
The XOA Python API simplifies the process of automating network testing tasks using Xena test equipment. It provides a simple, yet powerful, interface for interacting with Xena test equipment using the Python programming language. With the XOA Python API, network engineers and testing professionals can easily create and execute test scenarios, generate and analyze traffic, and perform detailed analysis of network performance and behavior, all while leveraging the power and flexibility of the Python programming language.
Overall, the XOA Python API is a valuable tool for anyone looking to automate their network testing tasks using Xena test equipment. With its simple, yet powerful, interface and support for the Python programming language, the XOA Python API provides a flexible and extensible framework for automating network testing tasks and improving the quality of network infrastructure.
The user documentation is hosted: Xena OpenAutomation Python API Documentation
pip
Make sure Python pip
is installed on you system. If you are using virtualenv, then pip is already installed into environments created by virtualenv, and using sudo is not needed. If you do not have pip installed, download this file: https://bootstrap.pypa.io/get-pip.py and run python get-pip.py
.
To install the latest, use pip to install from pypi:
~/> pip install xoa-driver
To upgrade to the latest, use pip to upgrade from pypi:
~/> pip install xoa-driver --upgrade
Make sure these packages are installed wheel
, setuptools
on your system.
Install setuptools
using pip:
~/> pip install wheel setuptools
To install source of python packages:
/xoa_driver> python setup.py install
To build .whl
file for distribution:
/xoa_driver> python setup.py bdist_wheel
Get Python pip if not already installed (Download https://bootstrap.pypa.io/get-pip.py):
python get-pip.py
Install the latest xoa-driver:
pip install xoa-driver -U
Write Python code to manage with Xena testers:
import asyncio
from xoa_driver import testers
from xoa_driver import modules
from xoa_driver import ports
from xoa_driver import enums
from xoa_driver import utils
async def my_awesome_func():
# Establish connection with a Valkyrie tester
async with testers.L23Tester("10.10.10.10", "JonDoe") as tester:
# Get the port 0/0 (module 0)
port = await tester.modules.obtain(0).ports.obtain(0)
# Reserve the port
await port.reservation.set_reserve()
# Reset the port
await port.reset.set()
# Create a stream on the port
stream = await port.streams.create()
# Prepare stream header protocol
header_protocol = [enums.ProtocolOption.ETHERNET, enums.ProtocolOption.IP]
# Batch configure the stream
await utils.apply(
stream.tpld_id.set(0), # Create the TPLD index of stream
stream.packet.length.set(*size), # Configure the packet size
stream.packet.header.protocol.set(header_protocol), # Configure the packet type
stream.packet.header.data.set(header), # Configure the packet header
stream.enable.set_on(), # Enable streams
stream.rate.fraction.set(1000000) # Configure the stream rate 100%
)
# Clear statistics
await utils.apply(
port.statistics.tx.clear.set(),
port.statistics.rx.clear.set()
)
# Start traffic on the port
await port.traffic.state.set_start()
# Test duration 10 seconds
await asyncio.sleep(10)
# Query TX statistics
tx_result = await port.statistics.tx.total.get()
print(f"bit count last second: {tx_result.bit_count_last_sec}")
print(f"packet count last second: {tx_result.packet_count_last_sec}")
print(f"byte count since cleared: {tx_result.byte_count_since_cleared}")
print(f"packet count since cleared: {tx_result.packet_count_since_cleared}")
# Stop traffic on the port
await port.traffic.state.set_stop()
# Release the port
await port.reservation.set_release()
def main():
try:
loop = asyncio.get_event_loop()
loop.create_task(my_awesome_func())
loop.run_forever()
except KeyboardInterrupt:
pass
if __name__ == "__main__":
main()
FOR TESTING BEYOND THE STANDARD.
FAQs
Xena OpenAutomation (XOA) Python API is a driver providing user-friendly communication interfaces to Xena's physical and virtual Traffic Generation and Analysis (TGA) testers. It provides a rich collection of programming interfaces that can be used to either write test scripts or develop applications.
We found that xoa-driver 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.
Research
Security News
A look at the top trends in how threat actors are weaponizing open source packages to deliver malware and persist across the software supply chain.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.