Positron – IDE de próxima geração para ciência de dados
(positron.posit.co)- Positron é um IDE de próxima geração dedicado à ciência de dados desenvolvido recentemente pela Posit, criadora do RStudio
- Este IDE oferece suporte nativo a R e Python e é uma plataforma multilíngue (polyglot) projetada para ambientes de ciência de dados que usam várias linguagens em conjunto
- Em termos de arquitetura, ele é baseado no Code OSS do VS Code, oferecendo um ambiente familiar e ampla extensibilidade, ao mesmo tempo em que traz recursos especializados para cientistas de dados, como gráficos, variáveis, ajuda e explorador de dados
- Com o novo kernel R Ark e o suporte à gramática R com Tree-sitter, melhorou significativamente a execução de código, autocompletar, depuração e navegação pela documentação, além de permitir depuração de código misto em R e C++
- O RStudio continua sendo mantido e suportado com estabilidade, mas o Positron, com base em multilinguagem, extensibilidade e arquitetura moderna, tende a se tornar no longo prazo o centro do ambiente de desenvolvimento para ciência de dados
Introdução ao Positron e por que ele é necessário
- Um IDE dedicado à ciência de dados que, ao contrário de IDEs de desenvolvimento de software em geral, oferece uma experiência adaptada a tarefas centradas em análise de dados
- Segue uma abordagem code-first, em vez de ser uma ferramenta baseada em GUI, oferecendo um ambiente que aumenta a produtividade e a reprodutibilidade
- Vai além da limitação dos IDEs existentes (RStudio, Spyder, MATLAB etc.), que eram centrados em uma única linguagem, sendo adequado para fluxos de trabalho reais que misturam várias linguagens
Principais características
- Suporte multilíngue: atualmente suporta R e Python, com estrutura preparada para expansão a outras linguagens
- UI familiar e extensível: oferece uma estrutura de 4 painéis semelhante ao RStudio (fonte, console, variáveis e gráficos), com a extensibilidade do VS Code
- Motores por linguagem (Language Packs): Python e R funcionam como extensões independentes, preservando a estabilidade do IDE; em caso de falha, o IDE inteiro não trava
Ark para suporte a R
- Ark (An R Kernel): novo kernel Jupyter para R, com recursos de execução de código, autocompletar, diagnósticos e depuração
- Foi desenvolvido também um novo suporte à gramática R com Tree-sitter, que pode ser usado na busca de código do GitHub e em outros IDEs (Zed, Neovim etc.)
- Inovação no depurador: permite entrar diretamente passo a passo do código R no código C++, maximizando a eficiência da depuração no desenvolvimento de pacotes baseados em Rcpp/cpp11
Recursos especializados para ciência de dados
- Explorador de dados (Data Explorer): vai além de uma simples grade/tabela, oferecendo estatísticas resumidas, verificação de valores ausentes, múltiplos filtros e sparklines de histograma
- Painel de variáveis (Variables Pane): permite explorar nome da variável, tipo, pré-visualização e expansão de dicionários
- Painel de gráficos (Plots Pane): suporta acúmulo e comparação de resultados visuais, além de exportação em formatos como PNG, SVG e PDF
- Painel de ajuda (Help Pane): ao digitar
?após o nome de uma função, é possível ver imediatamente a documentação e exemplos, levando uma vantagem do RStudio também aos usuários de Python
Base técnica e arquitetura
- Ao contrário do RStudio, adota uma arquitetura em múltiplas camadas baseada no Code OSS do VS Code, em vez de uma estrutura de processo único
- Uso de protocolos padrão:
- execução de código → Jupyter Protocol
- assistência de código (autocompletar e verificação de sintaxe) → Language Server Protocol
- depuração → Debug Adapter Protocol
- Essa padronização garante interoperabilidade com diversos ambientes, como Jupyter Notebook e Zed IDE
Comunidade e extensibilidade
- Por meio do Open VSX Marketplace, é possível usar inúmeras extensões compatíveis com VS Code (embora o GitHub Copilot não seja compatível)
- É possível expandir os recursos com extensões para Quarto, Shiny, conexão com bancos de dados etc.
- Reforça a personalização do usuário com tema escuro, mudanças de layout e compatibilidade com keymap do RStudio
Relação com o RStudio
- O RStudio continuará sendo mantido e suportado, e sua estabilidade e maturidade devem fazer com que muitos usuários continuem a utilizá-lo por algum tempo
- O Positron surge como uma nova opção experimental e altamente extensível, apontando um caminho de evolução de longo prazo para os IDEs de ciência de dados
Para quem o Positron é indicado
- Usuários de VS Code: para quem sente falta de recursos dedicados à ciência de dados
- Usuários de JupyterLab/notebooks: para quem quer migrar para um IDE mais poderoso e completo
- Usuários de RStudio: para quem quer ampliar a personalização e a extensibilidade do IDE
- Usuários multilíngues: para quem usa, além de Python e R, Rust, C++, JavaScript, Lua etc.
- Usuários orientados ao uso de IA: para quem deseja recursos de integração com IA especializados em ciência de dados
Perspectivas futuras
- Estão previstos suporte à integração com Posit Workbench e Cloud, e também estão em estudo recursos colaborativos (compartilhamento em tempo real e compartilhamento de workspaces)
- Há planos para reforçar o suporte a grandes volumes de dados e o processamento de dados on-disk, com integrações a DuckDB e Arrow
- Com os pontos fortes de multilinguagem, extensibilidade e base em protocolos padrão, há grande chance de se firmar como o padrão de próxima geração entre os IDEs de ciência de dados
2 comentários
Comentários do Hacker News
É uma pena que usem pyright e jedi para recursos avançados; acho que seria melhor usar basedpyright. O jedi tem um suporte à linguagem Python mais fraco do que o pylance ou o basedpyright. Embora digam que é open source, as limitações são claras, então essa forma de apresentar a coisa também não me agrada muito. Já usei R Connect Server / Posit Server na empresa e, por causa do preço absurdo, acabamos migrando para outra alternativa só para ativar uma autenticação em um app interno. Encontramos uma nova alternativa e o time de segurança ficou satisfeito, mas foi um sofrimento enorme e os usuários também reclamaram bastante. Desde então evito os produtos comerciais da Posit, e desta vez também fico hesitante por causa dessa linha divisória meio ambígua
Não quero ser duro demais porque o produto parece bem feito, mas não entendo como alguém faz uma IDE de ciência de dados sem um cliente SQL decente. Pode ser um viés meu, mas SQL é uma parte realmente importante do fluxo de trabalho. Só por isso já acho que fica atrás do PyCharm ou do Visual Studio (não o Code, o VS mesmo). Sei que IDEs completas são ferramentas pesadas, mas, se for só para editar, eu uso vim; quando é para trabalhar de verdade, prefiro usar uma ferramenta poderosa
Sou desenvolvedor do Positron. Não discordo totalmente do primeiro comentário. Oferecemos recursos de gerenciamento de conexões em Python e R: connections pane. Temos uma meta grande de expandir o suporte a SQL com base no que já construímos, como o explorador de dados e a conexão com Observable via Quarto. Planejamos investir nessa área a partir do quarto trimestre deste ano
Parece que este produto foi feito sobre o vsc. Imagino que deva existir pelo menos uma boa extensão de cliente SQL
O problema é que não é open source: “você não pode fornecer o software a terceiros como serviço hospedado ou gerenciado de forma que os usuários possam acessar a funcionalidade principal ou uma parte substancial do software”
Dizem que foi construído sobre o código open source do VSCode, mas na página do projeto é muito pouco claro quais recursos ou dependências não são open source ou não são gratuitos (assinatura paga, plano enterprise, conta premium etc.). Nesse ponto, seria bom explicar claramente como o modelo de receita é estruturado. O fato de embutirem um assistente de GenAI na IDE também me parece um sinal claro de que existem esse tipo de “condições”. É uma pena que o FAQ não trate disso de forma nenhuma
Para mim, o Emacs é a única IDE de ciência de dados realmente de próxima geração, e claro, também da geração passada
Tenho curiosidade sobre quais pacotes e fluxo de trabalho você usa especificamente. Parece haver pouco material introdutório que seja fácil e bem mantido, então seria útil ter uma referência
Queria saber se você poderia explicar isso com um pouco mais de detalhe
Pelo visto agora estamos condenados a nunca mais sair dos forks de vscode
Isso me fez lembrar do site "Days Since Last VSCode Fork". O site é este aqui, mas parece estar abandonado
Acho que a equipe do Monaco fez um trabalho realmente impressionante. Não sei ao certo quanto da complexidade do VS Code é de fato essencial, mas, se alguém criasse uma versão enxuta com 10% do código e 90% da funcionalidade, isso mudaria o ambiente de edição tanto quanto o VS Code mudou. Se ainda fosse portátil, seria perfeito, embora pareça difícil evitar a dependência de HTML+JS+CSS. Também queria mencionar tentativas como extensões em Dear ImGui
Sou um usuário acadêmico que usa o R studio no dia a dia, e uso Python no VS code. Testei o posit há alguns meses, mas ele não era estável o suficiente para uso diário e não tinha todos os pacotes de que eu precisava. Pretendo tentar de novo em breve. Meus hábitos com R e Python são tão separados que acho que pessoas como eu vão demorar um pouco para migrar. Usei R no VS code por cerca de uma semana e a sensação foi de que algo não encaixava. Se o painel de conexões funcionar de forma realmente fluida, fico bem animado
Positron também é o nome de uma impressora 3D ultracompacta. Um produto chamado Positron3D redefiniu o segmento de impressoras 3D ultracompactas, e o nome de um sistema de motor chamado “Positron drive” também me é familiar. Um produto irmão disso é o JourneyMaker-Positron. Como uma versão de menor custo do JourneyMaker, também existe o Lemontron, no qual é possível imprimir em 3D a própria estrutura, sem peças usinadas em CNC
Esta ferramenta e este ecossistema não dão suporte a Julia. Hoje em dia, para uma ferramenta multilíngue de ciência de dados, acho que só R e Python já não bastam. Não entendo por que Julia não é suportada
Sou desenvolvedor do Positron. Estamos acompanhando os pedidos de suporte a Julia aqui, então fiquem à vontade para deixar sua opinião
Julia nunca chegou a conquistar popularidade de massa e agora parece mais estar em declínio
Isso parece muito com o Spyder IDE fornecido pelo Anaconda ou pelo WinPython. Tem editor de código, REPL, inspetor de variáveis, gráficos inline e tudo mais de que se precisa
O Jupyter não seria embutido por padrão?