저자 목록은 AUTHORS 파일을 참조하세요.
그리고 더 많은 사람들이 SymPy 메일링 리스트에서 도움을 주고, 버그를 보고하고, Google Summer of Code, Google Highly Open 참가 콘테스트, Google Code-In에 SymPy의 참여를 조직하는 데 도움을 주며, SymPy에 대해 글을 쓰고 블로그에 글을 올렸습니다.
라이선스: 새로운 BSD 라이선스(자세한 내용은 LICENSE 파일 참조)는 별도로 명시하지 않는 한 Sympy 저장소의 모든 파일에 적용됩니다.
메일링 리스트는 https://groups.google.com/forum/?fromgroups#!forum/sympy에 있습니다.
Gitter에서 커뮤니티 채팅이 있습니다. 거기에 무엇이든 물어보세요. 우리는 매우 따뜻하고 도움이 되는 커뮤니티를 갖고 있습니다.
권장되는 설치 방법은 Anaconda(https://www.anaconda.com/products/distribution)를 이용하는 것입니다.
https://pypi.python.org/pypi/sympy/에서 최신 버전의 SymPy를 다운로드할 수도 있습니다.
Git 버전을 얻으려면
$ git clone https://github.com/sympy/sympy.git
다른 옵션(tarball, debs 등)은 https://docs.sympy.org/dev/install.html을 참조하세요.
설치 및 문서 작성에 대한 자세한 지침은 SymPy 문서 스타일 가이드를 참조하세요.
모든 것은 다음 위치에 있습니다:
https://docs.sympy.org/
다음을 수행하여 SymPy 로컬 복사본에서 위 사이트의 모든 항목을 생성할 수 있습니다.
$ cd doc
$ make html
그러면 문서는 _build/html 에 있을 것입니다. 읽고 싶지 않다면 여기에 간단한 사용법이 있습니다.
이 디렉터리에서 Python을 시작하고 다음을 수행합니다.
> >> from sympy import Symbol , cos
> >> x = Symbol ( 'x' )
> >> e = 1 / cos ( x )
> >> print ( e . series ( x , 0 , 10 ))
1 + x ** 2 / 2 + 5 * x ** 4 / 24 + 61 * x ** 6 / 720 + 277 * x ** 8 / 8064 + O ( x ** 10 )
SymPy에는 SymPy 네임스페이스를 로드하고 몇 가지 일반적인 명령을 실행하는 기존 Python 콘솔(또는 사용 가능한 경우 IPython)을 둘러싼 간단한 래퍼인 콘솔도 함께 제공됩니다.
시작하려면 다음을 실행하십시오.
$ bin/isympy
SymPy가 설치되지 않은 경우 이 디렉터리에서 또는 간단히 다음을 수행합니다.
$ isympy
SymPy가 설치된 경우.
PyPI를 사용하여 SymPy를 설치하려면 다음 명령을 실행하십시오.
$ pip install sympy
Anaconda를 사용하여 SymPy를 설치하려면 다음 명령을 실행하십시오.
$ conda install -c anaconda sympy
GitHub 소스에서 SymPy를 설치하려면 먼저 git
사용하여 SymPy를 복제하십시오.
$ git clone https://github.com/sympy/sympy.git
그런 다음 복제한 sympy
저장소에서 다음을 실행하세요.
$ pip install .
자세한 내용은 https://docs.sympy.org/dev/install.html을 참조하세요.
오픈 소스를 처음 접하는 사람이라도 누구나 기여할 수 있습니다. 기여 소개 페이지와 SymPy 문서 스타일 가이드를 읽어보세요. 처음이고 기여할 수 있는 방법을 찾고 있는 경우 시작하기 좋은 곳은 수정하기 쉽다는 태그가 붙은 문제를 살펴보는 것입니다.
이 프로젝트의 모든 참가자는 당사의 행동 강령을 준수해야 합니다. 이 프로젝트에 참여함으로써 귀하는 해당 약관을 준수할 것에 동의하게 됩니다. CODE_OF_CONDUCT.md를 참조하세요.
모든 테스트를 실행하려면 다음을 실행하세요.
$./setup.py test
현재 디렉토리에 있습니다.
테스트나 doctest를 보다 세밀하게 실행하려면 bin/test
또는 각각 bin/doctest
사용하세요. 마스터 브랜치는 GitHub Actions에 의해 자동으로 테스트됩니다.
풀 요청을 테스트하려면 Sympy-bot을 사용하세요.
파서와 어휘 분석기는 sympy/parsing/latex/_antlr
의 ANTLR4 툴체인을 사용하여 생성되었으며 저장소에 체크인되었습니다. 현재 대부분의 사용자는 이러한 파일을 다시 생성할 필요가 없지만 이 기능을 사용하려면 antlr4
명령줄 도구가 필요합니다(그리고 해당 도구가 PATH
에 있는지 확인해야 합니다). 그것을 얻는 한 가지 방법은 다음과 같습니다.
$ conda install -c conda-forge antlr=4.11.1
또는 ANTLR 웹사이트의 지침에 따라 antlr-4.11.1-complete.jar
을 다운로드하세요. 그런 다음 지시에 따라 CLASSPATH
내보내고 antlr4
별칭으로 생성하는 대신 다음 내용이 포함된 실행 파일로 만듭니다.
#! /bin/bash
java -jar /usr/local/lib/antlr-4.11.1-complete.jar " $@ "
sympy/parsing/latex/LaTeX.g4
를 변경한 후 다음을 실행하세요.
$ ./setup.py antlr
모든 것을 정리하려면(따라서 저장소와 동일한 트리를 얻음):
$ git clean -Xdf
.gitignore
에 의해 무시된 모든 내용이 지워지고:
$ git clean -df
추적되지 않은 모든 파일을 삭제합니다. 다음을 사용하여 git의 가장 최근 변경 사항을 되돌릴 수 있습니다.
$ git reset --hard
경고: 위 명령은 사용자가 수행한 모든 변경 사항을 지우고 영구적으로 잃게 됩니다. 이러한 작업을 수행하기 전에 git status
, git diff
, git clean -Xn
및 git clean -n
으로 항목을 확인하세요.
이슈 트래커는 https://github.com/sympy/sympy/issues에 있습니다. 발견한 버그를 신고해 주세요. 또는 더 나은 방법은 GitHub에서 리포지토리를 포크하고 끌어오기 요청을 생성하는 것입니다. 우리는 크든 작든 모든 변화를 환영하며, Git을 처음 사용하는 경우 끌어오기 요청을 할 수 있도록 도와드리겠습니다(메일링 리스트나 Gitter 채널에서 문의하세요). 더 궁금한 점이 있으시면 Stack Overflow에서 Sympy 태그를 사용하여 답변을 찾아보실 수 있습니다.
SymPy는 2005년 Ondřej Certík에 의해 시작되었습니다. 그는 여름에 몇 가지 코드를 작성했고, 2006년 여름에 더 많은 코드를 작성했습니다. 2007년 2월에 Fabian Pedregosa가 프로젝트에 참여하여 많은 문제를 해결하는 데 도움을 주고 문서에 기여하여 다시 살아나게 했습니다. . 5명의 학생(Mateusz Paprocki, Brian Jorgensen, Jason Gedge, Robert Schwarz 및 Chris Wu)은 Google Summer of Code의 일환으로 2007년 여름 동안 SymPy를 놀라울 정도로 향상시켰습니다. Pearu Peterson은 2007년 여름에 개발에 합류했으며 코어를 처음부터 다시 작성하여 SymPy를 10배에서 100배 더 빠르게 만들어 SymPy의 경쟁력을 더욱 향상시켰습니다. Jurjen NE Bos는 예쁜 인쇄 및 기타 패치에 기여했습니다. Fredrik Johansson은 mpmath를 작성하고 많은 패치에 기여했습니다.
SymPy는 2007년부터 매년 Google Summer of Code에 참가해 왔습니다. 자세한 내용은 https://github.com/sympy/sympy/wiki#google-summer-of-code를 참조하세요. 매년 SymPy가 엄청나게 향상되었습니다. SymPy 개발의 대부분은 Google Summer of Code 학생들로부터 나왔습니다.
2011년에 Ondřej Certík이 수석 개발자 자리에서 물러나고 Google Summer of Code 학생으로 시작한 Aaron Meurer가 그 자리를 대신했습니다. Ondřej Certík은 여전히 지역 사회에서 활동하고 있지만 일과 가족으로 인해 너무 바빠서 개발을 주도하는 역할을 맡을 수 없습니다.
그 이후로 훨씬 더 많은 사람들이 개발에 참여했고 일부 사람들도 떠났습니다. doc/src/aboutus.rst 또는 온라인에서 전체 목록을 볼 수 있습니다.
https://docs.sympy.org/dev/aboutus.html#sympy-development-team
git의 역사는 개발이 svn에서 hg로 옮겨졌던 2007년으로 거슬러 올라갑니다. 해당 시점 이전의 기록을 보려면 https://github.com/sympy/sympy-old를 참조하세요.
git을 사용하면 가장 큰 개발자를 볼 수 있습니다. 명령:
$ git shortlog -ns
프로젝트에 대한 커밋을 기준으로 정렬된 각 개발자를 표시합니다. 명령:
$ git shortlog -ns --since="1 year"
작년의 최고 개발자를 보여줍니다.
출판물에서 SymPy를 인용하려면 다음을 사용하세요.
Meurer A, Smith CP, Paprocki M, Certík O, Kirpichev SB, Rocklin M, Kumar A, Ivanov S, Moore JK, Singh S, Rathnayake T, Vig S, Granger BE, Muller RP, Bonazzi F, Gupta H, Vats S , Johansson F, Pedregosa F, Curry MJ, Terrel AR, Roučka Š, Saboo A, Fernando I, Kulal S, Cimrman R, Scopatz A. (2017) SymPy: Python의 기호 컴퓨팅. PeerJ 컴퓨터 과학 3:e103 https://doi.org/10.7717/peerj-cs.103
LaTeX 사용자를 위한 BibTeX 항목은 다음과 같습니다.
@article { 10.7717/peerj-cs.103 ,
title = { SymPy: symbolic computing in Python } ,
author = { Meurer, Aaron and Smith, Christopher P. and Paprocki, Mateusz and v{C}ert'{i}k, Ondv{r}ej and Kirpichev, Sergey B. and Rocklin, Matthew and Kumar, Amit and Ivanov, Sergiu and Moore, Jason K. and Singh, Sartaj and Rathnayake, Thilina and Vig, Sean and Granger, Brian E. and Muller, Richard P. and Bonazzi, Francesco and Gupta, Harsh and Vats, Shivam and Johansson, Fredrik and Pedregosa, Fabian and Curry, Matthew J. and Terrel, Andy R. and Rouv{c}ka, v{S}tv{e}p'{a}n and Saboo, Ashutosh and Fernando, Isuru and Kulal, Sumith and Cimrman, Robert and Scopatz, Anthony } ,
year = 2017 ,
month = Jan,
keywords = { Python, Computer algebra system, Symbolics } ,
abstract = {
SymPy is an open-source computer algebra system written in pure Python. It is built with a focus on extensibility and ease of use, through both interactive and programmatic applications. These characteristics have led SymPy to become a popular symbolic library for the scientific Python ecosystem. This paper presents the architecture of SymPy, a description of its features, and a discussion of select submodules. The supplementary material provides additional examples and further outlines details of the architecture and features of SymPy.
} ,
volume = 3 ,
pages = { e103 } ,
journal = { PeerJ Computer Science } ,
issn = { 2376-5992 } ,
url = { https://doi.org/10.7717/peerj-cs.103 } ,
doi = { 10.7717/peerj-cs.103 }
}
SymPy는 BSD 라이선스를 받았기 때문에 재배포할 경우 BSD 설명을 복사하기만 하면 학문적, 상업적, 포크 또는 파생물 생성 등 원하는 대로 자유롭게 사용할 수 있습니다(자세한 내용은 LICENSE 파일 참조). 즉, SymPy 라이센스에서 요구하는 것은 아니지만 귀하에게 편리한 경우 작업에 SymPy를 사용할 때 SymPy를 인용하고 모든 변경 사항을 다시 제공하는 것도 고려해 보십시오. 끝.