ei: keep a copy of the fd to avoid closing it
libei takes ownership of the fd but in Python doesn't know that. So let's keep a copy of the fd in our class so it doesn't get closed in what is the most obvious code:
def setup():
f = open("...")
ctx = snegg.ei.Sender.create_for_fd(fd)
# here Python calls f.close() if we don't have a copy