UI de planilha para Python, PySheets
(pysheets.app)Introdução ao PySheets
- O PySheets oferece uma UI de planilha para Python, permitindo que os usuários realizem ciência de dados exploratória, usem Pandas, criem gráficos com matplotlib, importem planilhas do Excel, analisem dados e escrevam relatórios
- Todo o código Python é executado no navegador, e o próprio PySheets também é escrito em Python
- Com o PySheets, os usuários podem carregar todos os pacotes Python e módulos JS para aproveitar o vasto ecossistema de ciência de dados sem precisar escrever muito código
Principais recursos do PySheets
- É possível importar e exportar planilhas do Excel rapidamente
- É possível explorar e analisar dados com Pandas
- É possível realizar visualizações com IA facilmente usando Matplotlib
- É possível obter resultados imediatos com o mínimo de código
- É possível colaborar com membros da equipe em planilhas compartilhadas
- Não requer configuração, kernel nem custos elevados de nuvem
- É possível aproveitar todo o ecossistema de Python e JS
Situação de uso do PySheets
- O PySheets foi lançado em beta público em 27 de abril de 2024
- Em 21 e 23 de abril, foi observado que Bruno, um dos primeiros testadores beta, o utilizou de forma divertida
- Os gráficos são gerados no PySheets e fornecidos por meio do recurso "embed"
Feedback dos usuários
- "É ótimo poder usar uma planilha no lado do cliente com Python embutido!" - JG
- "Gosto da flexibilidade do Python, da interface clara de planilha e das visualizações." - *****@google.com
- "O PySheets viabiliza o tipo de programação baseada em arrays que eu adoro!" - FK
- "Combinar células com Python é incrível!" - FG
- "O PySheets é fácil de usar e personalizar." - IT
- "Uma fusão única de notebook Jupyter e planilha." - FE
- "Você tem fluxogramas de processo, planilhas e scripts de uma só vez." - B2
- "O PySheets é interessante porque usa o LTK de código aberto." - AL
- "Você pode fazer interações, Excel, tudo isso sem sair do navegador!" - PZ
- "O PySheet reduz a distância entre analistas não técnicos e cientistas de dados." - *****@miracalml.com
- "Excelente trabalho com PyScript. Vocês estão aproveitando a plataforma ao máximo." - *****@anaconda.com
- "PySheets é o Excel para quem programa em Python primeiro." - NA
Política de preços
- Gratuito: edição ilimitada de 5 planilhas, 100 gerações por IA, importação/exportação de Excel
- Pro (US$ 19,99/mês): colaboração, planilhas ilimitadas, suporte da comunidade, gerações por IA ilimitadas
- Enterprise: Single Sign-On, instalação on-premise, armazenamento local, suporte dedicado, painel de auditoria
Apresentação da equipe
- O principal desenvolvedor Chris Laffra tem mais de 30 anos de experiência na criação de ferramentas de desenvolvimento, trabalhou na IBM, Google e Uber, e liderou equipes de engenharia para construir produtos financeiros inovadores no Morgan Stanley, Bank of America e JP Morgan
- O líder de produto Kurt Vile é um executivo global de tecnologia oriundo de Wall Street, com visão estratégica de TI, expertise em plataformas tecnológicas, engenharia de software, dados, ciência de dados, IA geral e finanças, além de um entendimento natural de planilhas e análise de dados
- Chris e Kurt combinam expertise técnica e financeira com paixão por uma excelente experiência do usuário
Opinião do GN+
- O PySheets parece ser um produto interessante por reduzir a distância entre cientistas de dados e não desenvolvedores ao executar Python diretamente no navegador e oferecer uma interface de planilha familiar para análise de dados
- Há semelhanças com Jupyter Notebook ou Google Colab, mas ele se diferencia por oferecer uma UI de planilha. Ainda assim, para análises avançadas, parece que continuará sendo necessário saber programar em Python
- O preço é um pouco alto, então pode não ser fácil atrair usuários individuais, e talvez seja melhor focar mais nos recursos enterprise voltados a clientes corporativos
- O potencial de uso em finanças e contabilidade parece grande, e também se espera valor como ferramenta de comunicação e colaboração entre executivos/tomadores de decisão e analistas de dados
- Existem produtos que adicionam recursos como machine learning e visualização a planilhas, como o Excel Ideas da Microsoft e o recurso Explore do Google Sheets; em comparação, o PySheets tem a vantagem de oferecer um ambiente de análise mais flexível e poderoso baseado em Python
2 comentários
Muito legal isso.
Opiniões no Hacker News
Sou o autor do PySheets. O app foi escrito inteiramente em Python, usa PyScript-LTK sobre PyScript e utiliza duas VMs Python: MicroPython e PyOdide.
O servidor web tem lógica mínima, rodando no gunicorn na DigitalOcean, e o armazenamento é no Firestore. Ele poderia ser facilmente empacotado como um app standalone on-premises, mas ainda não coloquei isso como prioridade alta. Gostaria de ouvir opiniões sobre essa forma de escrever apps web em Python no navegador.
Se você planeja ir à PyCon US em Pittsburgh, devo ficar a maior parte do tempo no estande da Anaconda.
Às vezes crio pequenos apps para colegas que não programam, mas que lidam bastante bem com planilhas. Hoje estou bem preso a Python, mas distribuir apps é uma dor de cabeça, então analisei várias soluções e também criei alguns apps web com flet, que rodaram em quase todas as plataformas que testei. Essa abordagem também parece boa.
Dito isso, embora eu entenda por que isso precisa ser difícil por motivos de segurança, gostaria de saber como permitir que um app web acesse os arquivos do usuário.
É uma divulgação descarada, mas, se você trabalha com datasets maiores, vale olhar o rowzero.io.
No começo implementamos algo parecido com o PySheets, em que a linguagem de fórmulas era Python completo, mas em tarefas como importar CSVs grandes o interpretador Python virava gargalo, e por causa do GIL não dava para paralelizar a avaliação. As pequenas diferenças de sintaxe entre Python e a linguagem de fórmulas do Excel também tornavam tudo mais difícil para usuários de negócios.
Então implementamos o motor de planilha e a linguagem de fórmulas em Rust. Há uma janela de código Python onde é possível escrever funções Python arbitrárias, e essas funções podem ser chamadas como fórmulas em qualquer célula da planilha. Fazemos dataframes Pandas transitarem naturalmente entre o lado Python e o lado da planilha, obtendo 90% das vantagens do Python puro sem sacrificar desempenho.
O PySheets atualmente roda dentro do navegador sobre WebAssembly, e as limitações aí são maiores do que o Python ser lento. Incluindo o interpretador e as bibliotecas, há apenas 4 GB de memória endereçável, e a largura de banda de rede também limita a computação do lado do cliente.
Ainda assim, o PySheets consegue renderizar em 0,5 segundo uma planilha baseada em uma planilha Excel de 50.000 linhas, e o recálculo completo de ponta a ponta leva cerca de 20 segundos. Há limites para o que se pode fazer no navegador sem um kernel externo capaz de rodar Polars em datasets grandes, mas acho que, para a maioria, os recursos oferecidos pelo PySheets serão suficientes.
Como autor do PySheets, é uma honra que um “concorrente” nos veja como ameaça. O Rowzero também é bem impressionante e muito bem feito :-)
Como cientista de dados, eu usaria; como profissional de finanças, há motivos para eu não usar. 1) Roda na nuvem, e como há dados sensíveis, precisa rodar localmente ou on-premises, ou ser integrado a GCP/AWS/Azure. Se o backend for em Rust, tudo bem; se for em Python, é preciso distribuir um pacote de bibliotecas junto via Docker.
2) Também é preciso criar alternativas ao PowerPoint/Word, ou ao menos facilitar copiar e colar para PowerPoint/Word. 3) É preciso enfatizar fortemente big data e conexões com bancos de dados. O gargalo hoje está aí, e seria bom oferecer APIs Python para serviços populares no mercado financeiro, como Bloomberg, Factset e CapitalIQ, prontas para uso desde que o usuário tenha assinatura.
4) Também é preciso lidar com texto. São necessárias interfaces de análise de texto, como embeddings para similaridade, fuzzy matching em Python, destaque de palavras-chave em verde ou busca no corpo do texto. O setor financeiro também lida muito com PDFs, então seria bom ter tudo em uma única plataforma, em vez de abrir duas janelas como hoje.
Não encontrei bons exemplos de implementação disso em Rust. Fico em dúvida se devo usar uma biblioteca de grafos como petgraph ou fazer eu mesmo.
Como app de planilha baseado em Python que não roda no navegador, há o https://pyspread.gitlab.io/.
Boa ideia. Dá uma GUI fácil de usar para não desenvolvedores e, ao mesmo tempo, oferece Pandas para usuários orientados a dados
Fico curioso se existe algum projeto parecido, mas que possa ser auto-hospedado. É desconfortável enviar dados de saúde para um serviço externo
[0] https://www.trymito.io/
https://www.getgrist.com/product/self-managed
Tudo é extensível[2], então dá para customizar estatísticas e transformações de acordo com o fluxo de trabalho
[1] https://github.com/paddymul/buckaroo
[2] https://youtu.be/GPl6_9n31NE
Ele foi projetado pensando em on-premises, para também poder ser implantado em empresas que não querem compartilhar dados com serviços externos. Dito isso, o que fica armazenado no PySheets são apenas os dados salvos na própria planilha. Na maioria dos casos de uso, os dados serão carregados de outro lugar, filtrados e transformados, e então os resultados serão renderizados. Ainda assim, a auto-hospedagem pode ser um caso de uso interessante
https://buckaroo-data.readthedocs.io/en/latest/articles/rela...
Fico curioso se há possibilidade de sair um vídeo passo a passo ou um tutorial. Só pela landing page, é difícil entender qual é o workflow e quais casos de uso o PySheets resolve
Não quero criar uma conta só para descobrir isso
Usei RowZero e PySheets por cerca de 30 minutos. O RowZero parece oferecer suporte a datasets enormes
Eu vinha usando quadratichq como planilha Python, mas agora o RowZero parece ter mais recursos e preço menor. Achei que o PySheets fosse open source, mas parece fechado; o preço é 2x maior e há um limite de 50 linhas. No fim, nem consegui descobrir como importar https://www.w3resource.com/python-exercises/pandas/excel/Sal... para o PySheets
Eu não conhecia o visidata, mas é realmente incrível. Foi um texto útil
Nos anos 2000 e no início dos anos 2010, a startup londrina Resolver Systems[1] tentou combinar Python e planilhas
No fim, não deu certo, mas fico me perguntando se foi porque, na época, o reconhecimento do Python era muito menor do que hoje
[1] http://www.resolversystems.com
Acho que depois eram algumas das mesmas pessoas que fundaram o PythonAnywhere, e também usei o PythonAnywhere. Li recentemente em algum lugar que ele foi adquirido pela Anaconda
Parece bem legal. É atraente para quem se irrita com o fato de Excel, Sheets e Numbers não permitirem programar em uma linguagem decente como Python e depois fazer visualizações e consultas por cima disso
Mas vejo AI-driven na terceira linha da página. Isso me leva a supor que seja um recurso importante para quem escreveu a página
Ao procurar “ai-driven” com Ctrl-F, ele aparece mais uma vez na página, dizendo “realize visualizações fáceis orientadas por IA com Matplotlib”. Não há explicação adicional na landing page, e também não encontrei documentação. Ao buscar por “pysheets docs”, apareceu uma biblioteca Python com o mesmo nome
Na semana passada, usei o ChatGPT pela primeira vez para revisar meu currículo. Normalmente eu não faria isso, mas a empresa para a qual me candidatei enfatizava bastante que gerava e revisava código com ChatGPT. Usei diretamente, com ceticismo, e o resultado foi impressionante
Só que o ChatGPT apontou um erro gramatical que nem existia no currículo. A frase criticada no feedback não estava em lugar nenhum do currículo, nem havia algo parecido. Claro, em alguma profundidade de 1000 camadas da rede devia haver alguma semelhança com algo que tinha erro, mas seria bom se desse para depurar esse tipo de coisa de forma eficaz
Então, quando vejo AI-driven sem explicação em um programa de planilhas, fico muito preocupado com a possibilidade de os dados serem alucinados. Seria bom se o autor explicasse exatamente o que quer dizer. Quero saber se o gráfico está 99% correto, mas às vezes alucina, ou o que está acontecendo. Se eu pudesse saber, talvez me inscrevesse no beta agora mesmo
Como última piada, quais são as chances de um dos autores se chamar Kurt Vile: https://www.youtube.com/watch?v=4uAXMl-Bfiw
O código gerado é impressionante e pode ajudar um cientista de dados iniciante a explorar as APIs do Pandas e do Pyplot. A IA é usada para gerar código Python, não para analisar nem gerar os dados da planilha. Vou deixar isso claro na landing page
Este é outro Kurt Vile :-)
Parece um projeto muito excelente e bem polido. Usar Python em planilhas é uma boa ideia, e parece que o Excel já está fazendo isso também. Ainda assim, é bom ver uma implementação tão clara e fácil de usar
Não é uma crítica ao PySheets em si, mas eu gostaria que as planilhas fossem mais rigorosas. Por exemplo, forçando a planilha a ter formato de tabela. Assim, as pessoas dentro de uma organização não acabariam criando uma bagunça horrível que depois precisa ser destrinchada e submetida a engenharia reversa com ferramentas que não são planilhas
Seria algo como importar dados, convertê-los em um Dataframe, limpá-los, analisá-los, treiná-los e exportá-los. Por exemplo, temos uma planilha que carrega métricas de uso do PySheets, converte para um dataframe, gera um gráfico e o renderiza como um gráfico ao vivo na landing page pysheets.app
É um software/app interessante. Na empresa atual, temos muitos arquivos Excel com muita lógica de negócios em fórmulas do Excel
Fico curioso se, ao importar um arquivo Excel para o PySheets, ele também reconhece as fórmulas do arquivo Excel original. Também gostaria de saber se há algum vídeo mostrando o que o PySheet consegue fazer
Isso está no possível roadmap, mas ainda não chegamos lá. Depois que deixei meu emprego anterior em fevereiro, trabalhei de fato no PySheets por apenas cerca de 3 meses