ดูรายชื่อผู้เขียนในไฟล์ AUTHORS
และผู้คนอีกมากมายที่ช่วยเหลือรายชื่อผู้รับจดหมายของ SymPy, รายงานข้อบกพร่อง, ช่วยจัดระเบียบการมีส่วนร่วมของ SymPy ใน Google Summer of Code, การประกวด Google Highly Open Participation, Google Code-In, เขียนและเขียนบล็อกเกี่ยวกับ SymPy...
ใบอนุญาต: ใบอนุญาต BSD ใหม่ (ดูรายละเอียดในไฟล์ใบอนุญาต) ครอบคลุมไฟล์ทั้งหมดในที่เก็บ Sympy เว้นแต่จะระบุไว้เป็นอย่างอื่น
รายชื่ออีเมลของเราอยู่ที่ https://groups.google.com/forum/?fromgroups#!forum/sympy
เรามีการแชทในชุมชนที่ Gitter อย่าลังเลที่จะถามเราอะไรก็ได้ที่นั่น เรามีชุมชนที่เป็นมิตรและช่วยเหลือดีมาก
วิธีการติดตั้งที่แนะนำคือผ่าน Anaconda https://www.anaconda.com/products/distribution
คุณยังสามารถรับ SymPy เวอร์ชันล่าสุดได้จากhttps://pypi.python.org/pypi/sympy/
เพื่อให้ได้เวอร์ชัน git ทำ
$ git clone https://github.com/sympy/sympy.git
สำหรับตัวเลือกอื่นๆ (tarballs, debs ฯลฯ) โปรดดู https://docs.sympy.org/dev/install.html
สำหรับคำแนะนำเชิงลึกเกี่ยวกับการติดตั้งและการสร้างเอกสาร โปรดดูที่ SymPy Documentation Style Guide
ทุกอย่างอยู่ที่:
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 ยังมาพร้อมกับคอนโซลที่ห่อหุ้มคอนโซล python แบบคลาสสิก (หรือ IPython หากมี) ซึ่งจะโหลดเนมสเปซ SymPy และดำเนินการคำสั่งทั่วไปบางอย่างให้กับคุณ
ในการเริ่มต้น ให้ออกประเด็น:
$ bin/isympy
จากไดเร็กทอรีนี้ หากไม่ได้ติดตั้ง SymPy หรือเพียงแค่:
$ isympy
หากติดตั้ง SymPy แล้ว
หากต้องการติดตั้ง SymPy โดยใช้ PyPI ให้รันคำสั่งต่อไปนี้:
$ pip install sympy
หากต้องการติดตั้ง SymPy โดยใช้ Anaconda ให้รันคำสั่งต่อไปนี้:
$ conda install -c anaconda sympy
หากต้องการติดตั้ง SymPy จากแหล่ง GitHub ให้โคลน SymPy ก่อนโดยใช้ git
:
$ 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
parser และ lexer ถูกสร้างขึ้นด้วย ANTLR4 toolchain ใน sympy/parsing/latex/_antlr
และเช็คอินใน repo ในปัจจุบัน ผู้ใช้ส่วนใหญ่ไม่จำเป็นต้องสร้างไฟล์เหล่านี้ใหม่ แต่หากคุณวางแผนที่จะใช้งานฟีเจอร์นี้ คุณจะต้องใช้เครื่องมือบรรทัดคำสั่ง 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 Channel ของเรา) หากคุณมีข้อสงสัยใดๆ เพิ่มเติม คุณสามารถค้นหาคำตอบได้ใน Stack Overflow โดยใช้แท็ก sympy
SymPy เริ่มต้นโดย Ondřej Šertík ในปี 2548 เขาเขียนโค้ดบางส่วนในช่วงฤดูร้อน จากนั้นเขาก็เขียนโค้ดเพิ่มเติมในช่วงฤดูร้อนปี 2549 ในเดือนกุมภาพันธ์ ปี 2550 Fabian Pedregosa เข้าร่วมโครงการนี้และช่วยแก้ไขหลายสิ่งหลายอย่าง สนับสนุนเอกสาร และทำให้มันกลับมามีชีวิตชีวาอีกครั้ง . นักเรียน 5 คน (Mateusz Paprocki, Brian Jorgensen, Jason Gedge, Robert Schwarz และ Chris Wu) ปรับปรุง SymPy อย่างเหลือเชื่อในช่วงฤดูร้อนปี 2550 โดยเป็นส่วนหนึ่งของ Google Summer of Code Pearu Peterson เข้าร่วมการพัฒนาในช่วงฤดูร้อนปี 2550 และเขาได้ทำให้ SymPy มีความสามารถในการแข่งขันมากขึ้นด้วยการเขียนคอร์ใหม่ตั้งแต่เริ่มต้น ซึ่งทำให้เร็วขึ้นจาก 10 เท่าเป็น 100 เท่า Jurjen NE Bos ได้สนับสนุนการพิมพ์ที่สวยงามและแพทช์อื่นๆ Fredrik Johansson ได้เขียน mpmath และมีส่วนช่วยแก้ไขมากมาย
SymPy เข้าร่วม Google Summer of Code ทุกครั้งตั้งแต่ปี 2550 คุณสามารถดู https://github.com/sympy/sympy/wiki#google-summer-of-code เพื่อดูรายละเอียดทั้งหมด ในแต่ละปีมีการปรับปรุง SymPy อย่างก้าวกระโดด การพัฒนาของ SymPy ส่วนใหญ่มาจากนักเรียน Google Summer of Code
ในปี 2011 Ondřej Šertík ลาออกจากตำแหน่งหัวหน้านักพัฒนา โดยมี Aaron Meurer ผู้ซึ่งเริ่มต้นจากการเป็นนักเรียน Google Summer of Code เข้ามาแทนที่ Ondřej Šertík ยังคงกระตือรือร้นในชุมชนแต่ยุ่งกับงานและครอบครัวเกินกว่าจะมีบทบาทเป็นผู้นำในการพัฒนา
ตั้งแต่นั้นมา มีคนเข้าร่วมการพัฒนามากขึ้น และบางคนก็ออกไปด้วย คุณสามารถดูรายการทั้งหมดได้ใน doc/src/aboutus.rst หรือทางออนไลน์ที่:
https://docs.sympy.org/dev/aboutus.html#sympy-development-team
ประวัติ git ย้อนกลับไปในปี 2550 เมื่อการพัฒนาย้ายจาก svn เป็น hg หากต้องการดูประวัติก่อนหน้านั้น ดูที่ https://github.com/sympy/sympy-old
คุณสามารถใช้ git เพื่อดูนักพัฒนาที่ใหญ่ที่สุดได้ คำสั่ง:
$ git shortlog -ns
จะแสดงนักพัฒนาแต่ละคน เรียงตามความมุ่งมั่นต่อโครงการ คำสั่ง:
$ git shortlog -ns --since="1 year"
จะแสดงนักพัฒนาชั้นนำจากปีที่แล้ว
หากต้องการอ้างอิง SymPy ในสื่อสิ่งพิมพ์ให้ใช้
เมอเรอร์ เอ, สมิธ ซีพี, ปาปร็อคกี้ เอ็ม, เคอร์ติค โอ, เคอร์ปิเชฟ เอสบี, ร็อคลิน เอ็ม, คูมาร์ เอ, อิวานอฟ เอส, มัวร์ เจเค, ซิงห์ เอส, รัธนายาเก ที, วีก เอส, เกรนเจอร์ บีอี, มุลเลอร์ RP, โบนาซซี เอฟ, กุปต้า เอช, วัตส์ เอส , โยฮันส์สัน เอฟ, เปเดรโกซา เอฟ, เคอร์รี่ เอ็มเจ, เทอร์เรล อาร์อาร์, รูชกา Š, ซาบู เอ, เฟอร์นันโด ไอ, Kulal S, Cimrman R, Scopatz A. (2017) SymPy: การคำนวณเชิงสัญลักษณ์ใน Python PeerJ วิทยาการคอมพิวเตอร์ 3:e103 https://doi.org/10.7717/peerj-cs.103
รายการ BibTeX สำหรับผู้ใช้ LaTeX คือ
@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 เมื่อใช้งานในงานของคุณและยังพิจารณาสนับสนุนการเปลี่ยนแปลงทั้งหมดของคุณกลับคืนมาด้วย เพื่อที่เราจะสามารถรวมเข้ากับมันได้ และเราทุกคนจะได้รับประโยชน์ในการ จบ.