SkillAgentSearch skills...

Tsnkit

A scheduling and benchmark toolkit for Time-Sensitive Networking in Python

Install / Use

/learn @ChuanyuXue/Tsnkit
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

tsnkit

Build Status PyPI version Documentation Status License: MIT Python 3.8+

TSNKit is an open-source scheduling and benchmarking toolkit for Time-Sensitive Networking (TSN), written in Python. It provides a unified interface for developing, testing, and benchmarking scheduling algorithms for IEEE 802.1Qbv and related standards.

  • Open-source Implementations: Ready-to-use implementations of state-of-the-art TSN scheduling methods.
  • Unified Interface: Standardized typing and commandline interface for algorithms.
  • Built-in Simulation: Built-in simulator to validate scheduling outputs against network constraints.
  • Benchmarking Tools: Tools for performance comparison among scheduling methods.

Documentation: https://tsnkit.readthedocs.io

Demo: Check in Colab

Installation

Install from source (recommended):

git clone https://github.com/ChuanyuXue/tsnkit
cd tsnkit
pip install .

From pip:

pip install -U tsnkit

Usage

## Generate data
python3 -m tsnkit.data.generator

## Run scheduling algorithm
python3 -m tsnkit.algorithms.ls 1_task.csv 1_topo.csv 

## Run simulation
python3 -m tsnkit.simulation.tas ./1_task.csv ./

## Run benchmark
python -m tsnkit.test.benchmark --methods ALL --ins 1-16

Related projects:

  • OMNeT_TSNkit: Integrating TSNkit into OMNeT++ for simulation.
  • VisTSN: Displaying TSN real-world testbed status when TSNKit results applies.

Reference

If you use TSNKit in your research, please cite our RTAS 2024 paper:

@inproceedings{xue2024real,
  title={Real-time scheduling for 802.1 Qbv time-sensitive networking (TSN): A systematic review and experimental study},
  author={Xue, Chuanyu and Zhang, Tianyu and Zhou, Yuanbin and Nixon, Mark and Loveless, Andrew and Han, Song},
  booktitle={2024 IEEE 30th Real-Time and Embedded Technology and Applications Symposium (RTAS)},
  pages={108--121},
  year={2024},
  organization={IEEE}
}

Paper link: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=10568056

Contribute

Contributions are welcome! Feel free to add your own scheduling algorithm in this toolkit. Please reach out to me if you need any help or have any suggestions skewcy@gmail.com.

Related Skills

View on GitHub
GitHub Stars102
CategoryDevelopment
Updated4d ago
Forks28

Languages

Python

Security Score

85/100

Audited on Apr 2, 2026

No findings