Pynvme is an user-space NVMe test driver with Python API. It is an open, fast, and extensible solution for SSD developers and test engineers to build their own tests intuitively.
- access PCI configuration space
- access NVMe registers in BAR space
- send any NVMe admin/IO commands
- support callback functions for NVMe commands
- support MSI/MSIx interrupts
- transparent checksum verification on every LBA
- generates IO workload of high performance and low latency
- support multiple namespaces
- support multiple tests on different controllers
- integrate with pytest
- integrate with VSCode to display cmdlog in GUI
- support NVMe over TCP targets
- HMB: Host Memory Buffer (PyNVMe3 only)
- ZNS: Zoned Namespace (PyNVMe3 only)
- TCG: security features (PyNVMe3 only)
- Enterprise and Data Center SSD features (PyNVMe3 only)
- extensive test scripts (PyNVMe3 only)
- GitHub: https://github.com/pynvme/pynvme
- Mirror: https://gitee.com/pynvme/pynvme
- Introduction: pynvme builds your own tests.
- SPDK PRC Summit 2019, Beijing. Why SSD Developers Need Pynvme and Why Pynvme Needs SPDK. pdf, video.
- SDC2020. Pynvme: an Open, Fast and Extensible NVMe SSD Test Tool. pdf, video.
- Email: [email protected]