Este tutorial ilustrado tem as respostas para os três pontos marcados na sua pergunta, mas não responde a parte da sua pergunta sobre a documentação de qualquer código Python. Abaixo está uma imagem do aplicativo gufw dos repositórios padrão do Ubuntu que mostra como é fácil obter as regras atualmente definidas no gufw. Gufw é um front-end gráfico para o ufw, que é um front end para o iptables.
Se você realmente quer descer para o nível de código com o ufw, então está pronto para considerar o uso do iptables para obter exatamente quais regras de firewall você deseja executando comandos no terminal.