When I played with 9P, this version of py9p was what worked to share a directory so a NetBSD client could mount it.
It worked natively with https://man.netbsd.org/mount_9p.8 without an external client.
The important difference from diod was that py9p could speak 9P2000.u, which NetBSD understood, while diod only spoke 9P2000.L.
https://github.com/pbchekin/p9fs-py contains an active fork of py9p.
When I played with 9P, this version of py9p was what worked to share a directory so a NetBSD client could mount it. It worked natively with https://man.netbsd.org/mount_9p.8 without an external client. The important difference from diod was that py9p could speak 9P2000.u, which NetBSD understood, while diod only spoke 9P2000.L.