7P by GN⁺ | ★ favorite | 댓글 2개

PySheets 소개

  • PySheets는 Python을 위한 스프레드시트 UI를 제공하여 사용자가 탐색적 데이터 과학을 수행하고, Pandas를 사용하며, matplotlib로 차트를 작성하고, Excel 시트를 가져오고, 데이터를 분석하고, 보고서를 작성할 수 있게 함
  • 모든 Python 코드는 브라우저에서 실행되며 PySheets 자체도 Python으로 작성됨
  • PySheets를 사용하면 사용자는 많은 코드를 작성할 필요 없이 방대한 데이터 과학 생태계를 활용하기 위해 모든 Python 패키지와 JS 모듈을 로드할 수 있음

PySheets의 주요 기능

  • Excel 시트를 빠르게 가져오고 내보낼 수 있음
  • Pandas로 데이터를 탐색하고 분석할 수 있음
  • Matplotlib를 사용하여 AI 기반 시각화를 쉽게 수행할 수 있음
  • 최소한의 코딩으로 즉각적인 결과를 얻을 수 있음
  • 팀 구성원과 공유 시트에서 협업할 수 있음
  • 설정, 커널, 비싼 클라우드 비용이 필요 없음
  • 전체 Python 및 JS 생태계를 활용할 수 있음

PySheets 이용 현황

  • PySheets는 2024년 4월 27일에 공개 베타 버전으로 출시됨
  • 4월 21일과 23일에는 초기 베타 테스터인 Bruno가 재미있게 사용한 것으로 나타남
  • 차트는 PySheets에서 생성되고 "embed" 기능을 사용하여 제공됨

사용자 피드백

  • "내장된 Python으로 클라이언트 측 스프레드시트를 사용할 수 있다니 좋네요!" - JG
  • "Python의 유연성과 뚜렷한 스프레드시트 인터페이스 및 시각화가 마음에 듭니다." - *****@google.com
  • "PySheets는 내가 좋아하는 배열 기반 코딩을 가능하게 합니다!" - FK
  • "셀과 Python을 결합하는 것은 멋집니다!" - FG
  • "PySheets는 사용하기 쉽고 사용자 정의할 수 있습니다." - IT
  • "Jupyter 노트북과 스프레드시트의 독특한 융합." - FE
  • "프로세스 흐름도, 스프레드시트, 스크립트를 한 번에 얻을 수 있습니다." - B2
  • "PySheets는 오픈 소스 LTK를 사용하므로 흥미롭습니다." - AL
  • "브라우저를 떠나지 않고 상호 작용, Excel, 모든 것을 할 수 있어요!" - PZ
  • "PySheet는 비기술 분석가와 데이터 과학자 사이의 격차를 좁혀줍니다." - *****@miracalml.com
  • "PyScript에 대한 훌륭한 작업입니다. 플랫폼을 최대한 활용하고 있습니다." - *****@anaconda.com
  • "PySheets는 Python을 먼저 코딩하는 사람들을 위한 Excel입니다." - NA

가격 정책

  • 무료: 5개 시트의 무제한 편집, 100개 AI 생성, Excel 가져오기/내보내기
  • Pro ($19.99/월): 협업, 무제한 시트, 커뮤니티 지원, 무제한 AI 생성
  • Enterprise: Single Sign-On, 온프레미스 설치, 로컬 스토리지, 전담 지원, 감사 대시보드

팀 소개

  • 수석 개발자 Chris Laffra는 개발 도구 구축에 30년 이상의 경험을 보유하고 있으며, IBM, Google, Uber에서 근무했고 Morgan Stanley, Bank of America, JP Morgan에서 혁신적인 금융 상품을 구축하기 위해 엔지니어링 팀을 이끌었음
  • 제품 리더인 Kurt Vile은 월스트리트 출신의 글로벌 기술 임원이자 전략적 IT 비전을 가진 사람으로, 기술 플랫폼, 소프트웨어 엔지니어링, 데이터, 데이터 과학, 일반 AI 및 금융에 전문 지식을 보유하고 있으며, 스프레드시트와 데이터 분석에 대한 타고난 이해력을 가지고 있음
  • Chris와 Kurt는 기술적, 재무적 전문 지식과 훌륭한 사용자 경험에 대한 열정을 결합하고 있음

GN+의 의견

  • PySheets는 Python을 브라우저에서 직접 실행하고 데이터 분석을 위한 친숙한 스프레드시트 인터페이스를 제공함으로써 데이터 과학자와 비개발자 간의 간극을 좁히는 흥미로운 제품으로 보임
  • 기존의 Jupyter Notebook이나 Google Colab과 유사한 면이 있지만, 스프레드시트 UI를 제공한다는 점에서 차별화됨. 다만 고급 분석을 위해서는 여전히 Python 코딩 능력이 필요할 것으로 보임
  • 가격이 다소 높은 편이라 개인 사용자 유치는 쉽지 않을 것 같고, 기업 고객을 대상으로 한 엔터프라이즈 기능에 좀 더 포커스를 맞추는 것이 나을 것 같음
  • 금융, 회계 분야에서의 활용 가능성이 클 것으로 보이며, 경영진/의사결정권자와 데이터 분석가 간 소통 및 협업 도구로서의 가치도 기대됨
  • 스프레드시트에 머신러닝, 시각화 등의 기능을 추가한 제품으로는 MS의 Excel Ideas나 Google Sheets의 Explore 기능 등이 있는데, 여기에 비해 PySheets는 보다 유연하고 강력한 Python 기반 분석 환경을 제공한다는 장점이 있음

댓글과 토론

이런거 좋네요

Hacker News 의견들
  • PySheets 작성자임. 앱은 전부 Python으로 작성됐고, PyScript 위에서 PyScript-LTK를 사용하며 MicroPythonPyOdide 두 Python VM을 씀
    웹 서버는 DigitalOcean의 gunicorn에서 도는 최소 로직이고, 저장소는 Firestore임. 독립형 온프레미스 앱으로 쉽게 패키징할 수 있지만 아직 우선순위는 높게 두지 않았음. 브라우저에서 Python으로 웹 앱을 작성하는 방식에 대한 의견을 듣고 싶음

    • 브라우저 UI를 만드는 Python 라이브러리인 LTK는 오픈소스 PyScript 프로젝트의 일부임. https://github.com/pyscript/ltk 참고
      PyCon US Pittsburgh에 올 계획이라면 대부분 Anaconda 부스에 있을 예정임
    • 아이디어가 마음에 듦. 상업 개발자는 아니고, 프로그래밍을 주로 문제 해결 도구로 쓰는 이른바 과학 프로그래머에 가까움
      가끔 프로그래밍을 하지 않는 동료들이 쓸 작은 앱을 만들곤 하는데, 그들은 스프레드시트는 꽤 잘 다룸. 지금은 Python에 꽤 묶여 있지만 앱 배포가 골칫거리라 여러 해법을 살펴봤고, flet으로 웹 앱도 몇 개 만들어봤는데 테스트한 거의 모든 플랫폼에서 돌아갔음. 이 접근도 좋아 보임
      다만 보안상 어려워야 하는 이유는 이해하지만, 웹 앱이 사용자의 파일에 접근하게 하는 방법을 알고 싶음
    • PyScript가 정말 많이 발전했음. 예전에는 브라우저에 로드하는 데 5~10초 걸리던 기억이 있는데, 지금은 훨씬 빨라 보임
    • ISO26300 지원은 없는지 궁금함
  • 노골적인 홍보지만, 더 큰 데이터셋을 다룬다면 rowzero.io를 봐도 좋음
    처음에는 PySheets처럼 수식 언어가 완전한 Python인 걸 구현했지만, 큰 CSV 가져오기 같은 작업에서 Python 인터프리터가 병목이 됐고 GIL 때문에 평가를 병렬화할 수 없었음. Python과 Excel 수식 언어의 작은 문법 차이 때문에 비즈니스 사용자에게도 더 어려웠음
    그래서 스프레드시트 엔진과 수식 언어를 Rust로 구현했음. 임의의 Python 함수를 작성할 수 있는 Python 코드 창이 있고, 그 함수들은 스프레드시트 셀 어디서든 수식으로 호출 가능함. Pandas 데이터프레임을 Python 영역과 스프레드시트 영역 사이에서 자연스럽게 주고받게 해 순수 Python의 장점 90%를 성능 희생 없이 얻을 수 있음

    • Rowzero는 더 나은 스프레드시트이고, PySheets는 더 나은 Jupyter Notebook에 가까움. 일부 측면에서는 수렴하지만 타깃 사용자가 달라서 겹치는 부분도 있고 사용자 선호가 들어갈 여지도 큼
      PySheets는 현재 브라우저 안에서 WebAssembly 위에 돌아가며, 여기서의 제약은 Python이 느리다는 것보다 큼. 인터프리터와 라이브러리를 포함해 주소 지정 가능한 메모리가 4GB뿐이고, 네트워크 대역폭도 클라이언트 측 계산의 제약임
      그래도 PySheets는 50,000행 Excel 시트를 기반으로 한 시트를 0.5초에 렌더링할 수 있고, 전체 엔드투엔드 재계산은 약 20초 걸림. 큰 데이터셋에서 Polars를 돌릴 수 있는 외부 커널 없이 브라우저에서 할 수 있는 일에는 한계가 있지만, 대부분은 PySheets가 제공하는 기능만으로 충분할 것 같음
      PySheets 작성자로서 “경쟁자”가 우리를 위협으로 본다니 영광임. Rowzero도 꽤 인상적이고 잘 만들었음 :-)
    • Rowzero는 대단해 보이지만, Rowzero와 PySheets 모두 잘못된 사용자를 겨냥하는 것 같음. 데이터 과학자보다 금융 실무자를 겨냥해야 초기 traction을 얻기 좋다고 봄
      데이터 과학자로서는 쓰겠지만 금융 담당자로서는 안 쓸 이유가 있음. 1) 클라우드에서 돌아가는데, 민감한 데이터가 있으니 로컬이나 온프레미스에서 돌아가거나 GCP/AWS/Azure와 통합돼야 함. Rust 백엔드면 괜찮고, Python이면 Docker로 라이브러리 묶음을 함께 배포해야 함
      2) PowerPoint/Word 대안도 만들거나, 최소한 PowerPoint/Word로 복사·붙여넣기가 쉬워야 함. 3) 빅데이터와 DB 연결을 강하게 밀어야 함. 지금 병목은 그쪽이고, Bloomberg, Factset, CapitalIQ 같은 금융권 인기 서비스용 Python API도 구독만 있으면 바로 쓰게 제공하면 좋음
      4) 텍스트 쪽도 처리해야 함. 유사도용 임베딩, Python의 퍼지 매칭, 키워드 초록색 강조나 본문 검색 같은 텍스트 분석 인터페이스가 필요함. 금융권은 PDF도 자주 다루기 때문에, 지금처럼 창 두 개를 띄우는 대신 한 플랫폼에 다 들어가면 좋음
    • 실행 엔진에서 DAG를 Rust로 어떻게 구현했는지 더 설명해줄 수 있는지 궁금함. 스프레드시트는 아니고 언어용으로 비슷한 걸 만들고 있음: https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bi...
      Rust에서 이런 걸 구현하는 좋은 예제를 찾지 못했음. petgraph 같은 그래프 라이브러리를 써야 할지, 직접 만들어야 할지 궁금함
    • 두 해법 모두 서로 다른 이유로 흥미로움. “장점의 90%”라고 했는데, 나머지 10% 가 무엇이라서 그 솔루션을 쓰지 못하게 될 수 있는지 예를 들 수 있는지 궁금함
    • Row Zero나 PySheets가 오픈소스인지 궁금함
  • 브라우저가 아닌 Python 기반 스프레드시트 앱으로는 https://pyspread.gitlab.io/가 있음

  • 좋은 아이디어임. 비개발자에게는 쓰기 쉬운 GUI를 주고, 데이터 지향 사용자에게는 동시에 Pandas를 제공하는 방식임
    비슷하지만 자체 호스팅 가능한 프로젝트가 있는지 궁금함. 건강 관련 데이터를 외부 서비스에 올리는 건 불편함

    • 써본 것 중에 MitoSheet라는 괜찮은 게 있음. 로컬에서 돌고 좋은 기능들이 있지만, 마지막으로 확인했을 때 TSV 파일은 지원하지 않았음. 아직 활발히 개발 중이고 YCombinator 지원으로 개발된 것으로 알고 있음
      [0] https://www.trymito.io/
    • grist가 어느 정도 비슷함. 스프레드시트와 데이터베이스의 하이브리드이고, 수식에 Python을 쓸 수 있으며 자체 호스팅 옵션도 있음
      https://www.getgrist.com/product/self-managed
    • buckaroo[1]를 Jupyter용 더 나은 데이터프레임 뷰어로 만들었고, 내장 요약 통계도 있음. pandas/polars를 이미 쓰는 사람들에게 더 나은 데이터프레임 경험을 주려는 도구임
      전부 확장 가능해서[2] 워크플로에 맞게 통계와 변환을 커스터마이즈할 수 있음
      [1] https://github.com/paddymul/buckaroo
      [2] https://youtu.be/GPl6_9n31NE
    • PySheets 서버는 어디서든 실행 가능함. 예를 들어 내 노트북, Google AppEngine, DigitalOcean에서 돌릴 수 있음
      외부 서비스와 데이터를 공유하고 싶지 않은 회사에도 배포할 수 있도록 온프레미스를 염두에 두고 설계했음. 다만 PySheets에 저장되는 건 시트 자체에 저장된 데이터뿐임. 대부분의 사용 사례는 다른 곳에서 데이터를 불러오고, 필터링·변환한 뒤 결과를 렌더링할 것임. 그래도 자체 호스팅은 흥미로운 사용 사례가 될 수 있음
    • 이 분야의 내 프로젝트 문서에 관련 프로젝트 페이지를 따로 만들었음. 누군가 문서까지 왔는데 buckaroo가 문제를 해결하지 못한다면, 도움이 되는 다른 걸 찾을 수 있어야 한다고 봤음
      https://buckaroo-data.readthedocs.io/en/latest/articles/rela...
  • 비디오 워크스루나 튜토리얼이 나올 가능성이 있는지 궁금함. 랜딩 페이지만 봐서는 워크플로가 무엇이고 PySheets가 어떤 사용 사례를 해결하는지 알기 어려움
    알아보려고 계정을 등록하고 싶지는 않음

    • 다음 주에 동영상을 몇 개 만들 예정임. 주간 PyScript FUN 미팅에서 확장 데모를 했는데, 녹화가 안 됐음
  • RowZero와 PySheets를 30분 정도 써봤음. RowZero는 거대한 데이터셋을 지원하는 것 같음
    Python 스프레드시트로 quadratichq를 써왔는데, 이제는 RowZero가 기능이 더 많고 가격도 더 낮아 보임. PySheets는 오픈소스일 줄 알았는데 닫혀 있는 것 같고, 가격은 2배이며 50행으로 제한돼 있음. 결국 https://www.w3resource.com/python-exercises/pandas/excel/Sal...를 PySheets로 가져오는 방법도 알아내지 못했음
    visidata는 몰랐는데 정말 대단함. 유익한 글이었음

  • 2000년대와 2010년대 초 런던 스타트업 Resolver Systems[1]가 Python과 스프레드시트를 결합하려고 했음
    결국 성공하지는 못했지만, 당시 Python의 인지도가 지금보다 훨씬 낮았기 때문이었는지 궁금함
    [1] http://www.resolversystems.com

    • 맞음. 실제 제품이 있었고, 기억이 맞다면 다운로드해서 써봤음
      나중에 PythonAnywhere를 창업한 사람들과 일부 같은 사람들이었던 것 같고, PythonAnywhere도 써봤음. 최근 어딘가에서 Anaconda에 인수됐다고 읽었음
  • 꽤 멋져 보임. Excel, Sheets, Numbers가 Python 같은 괜찮은 언어로 코딩하게 해주고 그 뒤에 시각화·질의를 하게 해주지 않아 짜증나는 사람에게는 매력적임
    그런데 웹페이지 세 번째 줄에 AI-driven이 보임. 페이지 작성자에게 중요한 기능이라고 추측하게 됨
    Ctrl-F로 “ai-driven”을 찾으면 페이지에서 한 번 더 나오는데, “Matplotlib으로 쉬운 AI 기반 시각화 수행”이라고 되어 있음. 랜딩 페이지에는 추가 설명이 없고 문서도 찾지 못했음. “pysheets docs”를 검색했더니 같은 이름의 Python 라이브러리가 나왔음
    지난주에 처음으로 ChatGPT를 써서 이력서를 검토하게 했음. 원래는 안 하지만, 지원한 회사가 ChatGPT로 코드를 생성하고 검토한다는 점을 크게 강조했기 때문임. 회의적인 마음으로 직접 써봤고 결과는 인상적이었음
    다만 ChatGPT가 이력서에 존재하지도 않는 문법 오류를 지적했음. 피드백에서 비판한 문장이 이력서 어디에도 없었고 비슷한 것도 없었음. 물론 네트워크 1000층 깊은 곳에는 오류가 있던 무언가와 유사성이 있었겠지만, 이런 걸 효과적으로 디버깅할 수 있다면 좋겠음
    그래서 스프레드시트 프로그램에서 설명 없는 AI-driven을 보면 데이터가 환각될까 매우 걱정됨. 작성자가 정확히 무엇을 뜻하는지 설명해주면 좋겠음. 차트가 99%는 맞지만 가끔 환각되는 건지, 무슨 일이 벌어지는 건지 알고 싶음. 알 수만 있다면 지금 바로 베타에 가입할 수도 있음
    마지막 농담으로, 작성자 중 한 명 이름이 Kurt Vile이라니 확률이 얼마나 될까: https://www.youtube.com/watch?v=4uAXMl-Bfiw

    • PySheets에 가입하면 튜토리얼 7개를 제공함. 그중 2개는 AI를 사용해 데이터를 가져오고, Dataframe으로 변환하고, Matplotlib으로 시각화하는 방법을 설명함
      생성된 코드는 인상적이고, 초보 데이터 과학자가 Pandas와 Pyplot API를 탐색하는 데 도움을 줄 수 있음. AI는 Python 코드를 생성하는 데 사용되고, 시트의 데이터를 분석하거나 생성하는 데 쓰이지 않음. 랜딩 페이지에서 이 점을 명확히 하겠음
      이쪽은 다른 Kurt Vile임 :-)
  • 아주 훌륭하고 잘 다듬어진 프로젝트처럼 보임. 스프레드시트에서 Python을 활용하는 건 좋은 아이디어이고, Excel도 이미 그래서 하고 있는 듯함. 그래도 이렇게 명확하고 쓰기 쉬운 구현을 보는 건 좋음
    PySheets 자체에 대한 비판은 아니지만, 스프레드시트가 더 엄격했으면 좋겠음. 예를 들어 시트를 테이블 형식으로 강제하는 식임. 그래야 조직 안에서 사람들이 나중에 스프레드시트가 아닌 도구로 뜯어보고 역공학해야 하는 끔찍한 혼돈을 만들지 않을 수 있음

    • 많은 사용 사례는 데이터를 시트에 저장하는 게 아니라, PySheets를 더 나은 Jupyter Notebook처럼 쓰는 것이라고 상상했음
      데이터를 가져오고, Dataframe으로 변환하고, 정리하고, 분석하고, 학습하고, 내보내는 방식임. 예를 들어 PySheets 사용 지표를 불러와 데이터프레임으로 변환하고 그래프로 그린 뒤, pysheets.app 랜딩 페이지에 라이브 차트로 렌더링하는 시트가 있음
  • 흥미로운 소프트웨어/앱임. 현재 회사에는 Excel 수식으로 많은 비즈니스 로직이 들어간 Excel 파일이 많음
    Excel 파일을 PySheets로 가져오면 원본 Excel 파일의 수식도 인식하는지 궁금함. PySheet가 무엇을 할 수 있는지 보여주는 영상이 있는지도 알고 싶음

    • Google Sheets에서 PySheets로 시트를 잘라내기·붙여넣기 해보면 꽤 잘 동작함. 현재 PySheets는 Excel 함수를 처리하지 않음
      가능한 로드맵에는 있지만 아직 거기까지 가지 못했음. 2월에 이전 직장을 그만둔 뒤 PySheets 작업은 실제로 약 3개월 정도만 했음