Sobre o projeto

flybrain-sdk é um SDK Python em estágio alpha (0.4) para executar simulações de pequenos conectomas e integrá-los em jogos, demos de áudio e experimentos. É deliberadamente focado em CPU: o backend de referência é um runtime de leaky integrate-and-fire (LIF) via NumPy sobre listas de arestas float64, portanto, não envolve configuração de GPU ou CUDA. Python 3.9+ e NumPy são os únicos requisitos de runtime, e a importação do pacote ou o carregamento do modelo toy incluso funciona offline. API Principal. Uma sessão começa com FlyBrain.load("toy", backend="cpu"), que aceita os dados inclusos, um caminho JSON de modelo local ou um objeto Connectome. A partir daí, stimulate(name, strength, duration_ms) agenda um pulso de corrente finito para o próximo tick, step(n) avança n ticks de simulação fixos e retorna um estado final imutável, e action() lê intensidades motoras independentes sem avançar o tempo. save()/restore() gravam e recarregam um checkpoint contendo modelo, configuração, dinâmica e estímulos pendentes; advance(duration_ms=...) oferece uma variante baseada em duração. Os canais sensoriais do modelo toy são food, looming_left, looming_right e touch; os canais motores são walk, turn_left, turn_right e jump, cada um entre 0 e 1 e descritos como valores de controle heurísticos em vez de probabilidades ou velocidades medidas. O movimento e a renderização do jogo ficam a cargo da aplicação anfitriã. Backends. Apenas o cpu está implementado. Os nomes wasm e cuda existem como interfaces reservadas que lançam BackendUnavailableError; o projeto afirma que CUDA e WASM não são runtimes implementados. Modelos. A demo offline inclusa é um circuito de 12 neurônios escrito manualmente. Um modelo MaleCNS separado de aproximadamente 3,8 MB (male-cns-escape-v1) executa 313 neurônios de fonte real e 20.607 arestas anatômicas com parâmetros LIF explicitamente assumidos, documentados em um model card com uma receita reproduzível. Um catálogo offline pode ser inspecionado via list_models() e model_info(); fetch_model() realiza uma requisição de rede explícita, armazena os ativos localmente e retorna os caminhos dos arquivos. Os equivalentes de CLI incluem "python -m flybrain models list|info|download". Modelos biológicos requerem uma flag explícita download=True. O wheel não envia modelos grandes, e ativos brutos Feather/NPY ainda não podem ser passados diretamente para FlyBrain.load(). Leituras e intervenções. Os usuários podem selecionar populações de neurônios (por exemplo, por cell_type), observar campos como rates_hz, vincular nomes de leitura personalizados a grupos, estimular células selecionadas com corrente de amplitude, duração e unidades especificadas, e silenciar grupos através de uma camada de intervenção que pode ser liberada. O exemplo open_circuit e o guia de reprodução do MaleCNS mostram o fluxo de trabalho. Kits de demo e ferramentas de navegador. Um loop de Session suporta codificadores de características, leituras de taxa e ambientes substituíveis, além de checkpoints e replay de feedback verificado. "python examples/demo_session.py dodge" e "... tones" geram gravações, checkpoints e HTML de reprodução independente, com o template de tones também exportando WAV. Um laboratório de circuitos no navegador funciona ao vivo, permitindo que visitantes estimulem células toy ou reais, silenciem saídas, inspecionem taxas e baixem uma demo HTML editável; visualizadores de galeria reproduzem execuções de Python gravadas. Um pacote de runtime CPU em TypeScript está presente no repositório. Instalação e build. O pacote não está publicado no PyPI, portanto a instalação é via GitHub (pip install "flybrain-sdk @ git+https://github.com/freeman-1984-coder/flybrain-sdk.git") ou a partir de um clone usando pip install -e ., opcionalmente com o extra dev para pytest. Artefatos de distribuição são produzidos com python -m build e verificados com twine check. Notas de escopo e honestidade. Os autores descrevem o SDK como encanamento para experimentos, não como uma emulação validada de uma mosca: a fiação sozinha não determina parâmetros fisiológicos, efeitos de receptores, codificação sensorial, decodificação motora, um corpo ou aprendizado, e a demo não possui plasticidade, morfologia, visão realista ou comportamento biológico inferido. O desempenho de CPU em tempo real para o cérebro completo não foi estabelecido. O código e os dados toy originais possuem licença MIT; conjuntos de dados de terceiros mantêm suas próprias licenças e requisitos de citação. O projeto afirma ser independente e não afiliado à Janelia, FlyWire, Google ou aos autores do conjunto de dados. As áreas de contribuição listadas incluem fontes de modelos versionadas com metadados de licença e integridade, importadores FlyWire, adaptadores Godot/Unity e um port WASM da dinâmica de referência.