Pyspread - 파이썬 스프레드시트
(pyspread.gitlab.io)- 가장 파이썬스러운 스프레드 시트가 되는 것을 목표로 함
- 그리드 셀에 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-moneyed
의Money
데이터 타입을 매크로 패널에서 임포트해 부동 소수점 오류를 방지함 - 별도 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의 현재 스프레드시트 워크벤치보다는 개선될 것 같다는 생각을 나타냄.