14P by xguru 12일전 | favorite | 댓글 1개
  • 가장 파이썬스러운 스프레드 시트가 되는 것을 목표로 함
  • 그리드 셀에 Python 표현식을 사용
    • 각 셀은 다른 셀에서 액세스할 수 있는 Python 객체를 반환하며, 객체는 목록이나 행렬을 포함한 모든 것을 나타낼 수 있음
    • 텍스트, 마크업, 이미지, 날짜, 차트 등 표시 가능
  • 셀 내에서 NumPy 등 Python 모듈에 접근
  • CSV, SVG 가져오기 및 CSV, SVG, PDF 내보내기
  • Matplotlib 및 R 차트. Plotnine 및 R 패키지 graphics, lattice, ggplot2는 대화창을 통해 지원
  • 맞춤법 검사기 포함
  • git 가능한 pysu 저장 파일 포맷
  • 외부 코드 실행을 방지하는 blake2b 기반 저장 파일 시그니처

타겟 유저 그룹

  • Python 코드를 그리드에서 직접 사용하는 것이 pyspread의 핵심 기능임
    • 대상 사용자 그룹은 Python 프로그래밍 언어 경험이 있거나 배우고자 하는 사람들임
  • 연구 엔지니어 Clara:
    • 다양한 파라미터 세트의 결과를 체계적으로 비교
    • Python에 능숙하고 과학적 분석에 사용해 왔음
    • 파라미터 변경이 결과에 미치는 영향을 빠르게 파악하기 위해 pyspread의 셀에 결과를 표시함
  • 사업가 Peter:
    • 스프레드시트로 비즈니스 의사 결정을 준비함
    • 데이터는 CSV 파일에 저장하고 pyspread에서 액세스함
    • py-moneyedMoney 데이터 타입을 매크로 패널에서 임포트해 부동 소수점 오류를 방지함
    • 별도 Python 모듈에 분석 도구와 단위 테스트를 구현해 잘못된 결과로 인한 나쁜 비즈니스 결정 걱정을 줄임
  • pyspread의 타겟이 아닌 사용자:
    • Donna: 무료 엑셀 대체품을 찾고 있으나 프로그래밍 언어를 모르고 배울 시간도 없음
    • Jack: 계산 집약적 데이터 분석을 하며 클러스터나 클라우드 솔루션으로 계산을 병렬화할 수 있는 스프레드시트를 찾고 있음
      • 장시간 작업이 pyspread를 잠그지 않도록 수동으로 처리해야 해서 실망할 수 있음

Hacker News 의견

Pyspread 관련 해커뉴스 댓글 요약

1. 대상 사용자 그룹 명시에 대한 긍정적 의견

  • 홈페이지의 "대상 사용자 그룹" 섹션에서 앱이 누구를 위한 것인지 뿐만 아니라 누구를 위한 것이 아닌지도 명시한 것에 대해 칭찬함.
  • 이런 정보는 앱 사용 여부나 추천 여부를 결정하는 데 매우 중요함.
  • 개발자들은 모두가 자신의 앱을 사용하기를 바라거나, 앱이 누구를 위한 것이 아닌지 적는 데 시간을 들이고 싶어하지 않을 수 있으나, 그런 정보를 포함하는 개발자들을 칭찬함.

2. 대안 소프트웨어 모음 배포판에 대한 요청

  • Pyspread(스프레드시트), LyX(워드프로세서), OpenSCAD(3D 모델러), TkzEdt/ipe(2D 드로잉) 등 최고의 대안 소프트웨어를 모은 배포판이 있으면 좋겠음.
  • 특히 프레젠테이션과 데이터베이스 작업을 위한 유사 소프트웨어 제안에 관심 있음.

3. Pyspread 관련 과거 해커뉴스 게시물 링크

  • 2022년 2월, 2014년 4월, 2010년 11월, 2008년 8월에 Pyspread 관련 게시물이 올라옴.

4. Pyspread의 장점

  • 열과 행을 숫자로 지정하여 2D 매트릭스처럼 인덱싱 가능함.
  • Excel의 알파벳 열 시스템은 26열 이상에서는 별로 의미가 없어 불편함.

5. Pyspread의 한계

  • 의존성 추적 기능이 없고 변경 후에 모든 것을 재계산하는 것으로 보임.
  • 임의의 Python 코드에 대해 의존성을 추적하는 것은 쉽지 않음.
  • 정적 분석 마법에 의존하지 않고서는 S[]에 대한 접근을 추적하여 의존성을 파악할 수 있을 것임.

6. 관련 주제: Excel에서의 Python 사용

  • Microsoft에서 Excel에서 Python을 시작하는 방법을 안내하는 문서 링크 제공됨.

7. Resolver One, Project Dirigible, Python Anywhere의 관계

  • Giles Thomas가 원래 Resolver One이라는 Pythonic 스프레드시트 앱을 개발했고, 이를 웹 기반 버전인 Project Dirigible로 발전시킴.
  • Project Dirigible는 스프레드시트로 사용되기보다 일반 Python 개발에 주로 사용되어 Python Anywhere로 분리됨.
  • 이에 대한 흥미로운 설명과 Dirigible 데모 영상 링크가 제공됨.
  • Project Dirigible는 결국 오픈소스로 공개됨.

8. Pyspread의 WASM 컴파일 제안

  • Pyodide 등을 사용하여 WASM으로 컴파일하면 브라우저 내에서 완전한 버전을 만들 수 있을 것이라는 의견 제시됨.

9. RowZero 스프레드시트 서비스 소개

  • 수억 행 규모의 큰 데이터셋을 다룰 수 있는 RowZero 스프레드시트 서비스 소개됨.
  • Python 함수를 정의하고 스프레드시트 셀에서 수식으로 호출할 수 있음.
  • Pandas 데이터프레임을 Python과 스프레드시트 사이에서 매끄럽게 변환함.
  • 구글 시트처럼 호스팅되며 실시간 협업을 지원함.
  • 엑셀 수식 언어를 재구현했으며, 다양한 DB에 직접 연결됨.
  • 첫 워크북은 무료임.

10. GPL3 라이선스에 대한 아쉬움

  • GPL3 라이선스 때문에 FreeCAD에 포함되기 어려울 것이라는 의견 제시됨.
  • FreeCAD의 현재 스프레드시트 워크벤치보다는 개선될 것 같다는 생각을 나타냄.