const py = @import("pydust");
pub fn hello() !py.PyString {
return try py.PyString.create("Hello!");
}
comptime {
py.rootmodule(@This());
}
Importar o módulo compilado para Python, execute seu hello
método, e você receberá uma corda de python com o texto Hello!
. Funções, aulas e instâncias de classe, exceções, o protocolo de buffer Python (para acesso à memória de cópia zero) e suspender o GIL estão todos disponíveis através da PyDust.
Atualmente, a Pydust tem várias limitações. O maior e mais problemático é que atualmente suporta apenas o ZIG versão 0.11. O desenvolvimento da Pydust para apoiar versões futuras do ZIG também parece estar paralisado. Uma edição em aberto no Github rastreia os esforços para adicionar suporte para as versões mais recentes do ZIG. Outra limitação possível, dependendo de como você se desenvolve com o Python, é a dependência da Pydust no sistema de gerenciamento de projetos de poesia. Se você ainda não usa poesia, pode precisar reformular seu fluxo de trabalho para configurar as coisas corretamente.
Conclusão
O Python existe há décadas, com muitos comportamentos firmemente estabelecidos que não vão a lugar nenhum. O zig é uma língua jovem e se desenvolve rapidamente, com muito espaço para mudanças. Os dois se complementam mais do que eles competem, e só começamos a ver todas as maneiras pelas quais eles podem trabalhar juntos.