Die Liste der Autoren finden Sie in der Datei AUTHORS.
Und viele weitere Leute halfen auf der SymPy-Mailingliste, meldeten Fehler, halfen bei der Organisation der Teilnahme von SymPy am Google Summer of Code, dem Google Highly Open Participation Contest, Google Code-In, schrieben und bloggten über SymPy ...
Lizenz: Die neue BSD-Lizenz (Einzelheiten finden Sie in der Datei LIZENZ) deckt alle Dateien im Sympy-Repository ab, sofern nicht anders angegeben.
Unsere Mailingliste finden Sie unter https://groups.google.com/forum/?fromgroups#!forum/sympy.
Wir haben einen Community-Chat bei Gitter. Dort können Sie uns gerne alles fragen. Wir haben eine sehr einladende und hilfsbereite Community.
Die empfohlene Installationsmethode ist Anaconda, https://www.anaconda.com/products/distribution
Sie können die neueste Version von SymPy auch unter https://pypi.python.org/pypi/sympy/ herunterladen.
Um die Git-Version zu erhalten, tun Sie dies
$ git clone https://github.com/sympy/sympy.git
Weitere Optionen (Tarballs, Debs usw.) finden Sie unter https://docs.sympy.org/dev/install.html.
Ausführliche Anweisungen zur Installation und Erstellung der Dokumentation finden Sie im SymPy Documentation Style Guide.
Alles ist unter:
https://docs.sympy.org/
Sie können alles auf der oben genannten Seite in Ihrer lokalen Kopie von SymPy generieren, indem Sie:
$ cd doc
$ make html
Dann befinden sich die Dokumente in _build/html . Wenn Sie das nicht lesen möchten, finden Sie hier eine kurze Verwendung:
Starten Sie Python aus diesem Verzeichnis und:
> >> 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 wird außerdem mit einer Konsole geliefert, die ein einfacher Wrapper um die klassische Python-Konsole (oder IPython, sofern verfügbar) ist, die den SymPy-Namespace lädt und einige allgemeine Befehle für Sie ausführt.
Um es zu starten, geben Sie Folgendes ein:
$ bin/isympy
aus diesem Verzeichnis, wenn SymPy nicht installiert ist oder einfach:
$ isympy
wenn SymPy installiert ist.
Um SymPy mit PyPI zu installieren, führen Sie den folgenden Befehl aus:
$ pip install sympy
Um SymPy mit Anaconda zu installieren, führen Sie den folgenden Befehl aus:
$ conda install -c anaconda sympy
Um SymPy von der GitHub-Quelle zu installieren, klonen Sie SymPy zunächst mit git
:
$ git clone https://github.com/sympy/sympy.git
Führen Sie dann in dem von Ihnen geklonten sympy
-Repository einfach Folgendes aus:
$ pip install .
Weitere Informationen finden Sie unter https://docs.sympy.org/dev/install.html.
Wir freuen uns über Beiträge von jedem, auch wenn Sie neu im Bereich Open Source sind. Bitte lesen Sie unsere Seite „Einführung in das Mitwirken“ und den SymPy Documentation Style Guide. Wenn Sie neu sind und nach einer Möglichkeit suchen, einen Beitrag zu leisten, ist ein Blick auf die mit „Einfach zu beheben“ gekennzeichneten Probleme ein guter Ausgangspunkt.
Bitte beachten Sie, dass von allen Teilnehmern dieses Projekts die Einhaltung unseres Verhaltenskodex erwartet wird. Durch die Teilnahme an diesem Projekt erklären Sie sich mit den Bedingungen einverstanden. Siehe CODE_OF_CONDUCT.md.
Um alle Tests auszuführen, führen Sie Folgendes aus:
$./setup.py test
im aktuellen Verzeichnis.
Für die detailliertere Ausführung von Tests oder Doctests verwenden Sie bin/test
bzw. bin/doctest
. Der Master-Zweig wird automatisch von GitHub Actions getestet.
Um Pull-Requests zu testen, verwenden Sie sympy-bot.
Der Parser und der Lexer wurden mit der ANTLR4-Toolchain in sympy/parsing/latex/_antlr
generiert und in das Repo eingecheckt. Derzeit sollten die meisten Benutzer diese Dateien nicht neu generieren müssen, aber wenn Sie planen, an dieser Funktion zu arbeiten, benötigen Sie das Befehlszeilentool antlr4
(und Sie müssen sicherstellen, dass es sich in Ihrem PATH
befindet). Eine Möglichkeit, es zu bekommen, ist:
$ conda install -c conda-forge antlr=4.11.1
Alternativ folgen Sie den Anweisungen auf der ANTLR-Website und laden Sie antlr-4.11.1-complete.jar
herunter. Exportieren Sie dann den CLASSPATH
wie angewiesen und erstellen Sie antlr4
nicht als Alias, sondern erstellen Sie daraus eine ausführbare Datei mit folgendem Inhalt:
#! /bin/bash
java -jar /usr/local/lib/antlr-4.11.1-complete.jar " $@ "
Nachdem Sie Änderungen an sympy/parsing/latex/LaTeX.g4
vorgenommen haben, führen Sie Folgendes aus:
$ ./setup.py antlr
Um alles zu bereinigen (und so den gleichen Baum wie im Repository zu erhalten):
$ git clean -Xdf
Dadurch wird alles gelöscht, was von .gitignore
ignoriert wurde, und:
$ git clean -df
um alle nicht verfolgten Dateien zu löschen. Sie können die letzten Änderungen in Git rückgängig machen mit:
$ git reset --hard
WARNUNG: Mit den oben genannten Befehlen werden alle von Ihnen vorgenommenen Änderungen gelöscht und gehen für immer verloren. Überprüfen Sie unbedingt die Dinge mit git status
, git diff
, git clean -Xn
und git clean -n
bevor Sie etwas davon tun.
Unser Issue-Tracker finden Sie unter https://github.com/sympy/sympy/issues. Bitte melden Sie alle Fehler, die Sie finden. Oder, noch besser, teilen Sie das Repository auf GitHub auf und erstellen Sie eine Pull-Anfrage. Wir freuen uns über alle Änderungen, ob groß oder klein, und helfen Ihnen bei der Erstellung der Pull-Anfrage, wenn Sie neu bei Git sind (fragen Sie einfach auf unserer Mailingliste oder im Gitter-Kanal nach). Wenn Sie weitere Fragen haben, können Sie mithilfe des Sympy-Tags Antworten auf Stack Overflow finden.
SymPy wurde 2005 von Ondřej Čertík ins Leben gerufen, er schrieb im Sommer etwas Code, dann schrieb er im Sommer 2006 noch mehr Code. Im Februar 2007 trat Fabian Pedregosa dem Projekt bei und half bei der Behebung vieler Probleme, steuerte Dokumentation bei und machte es wieder lebendig . Fünf Studenten (Mateusz Paprocki, Brian Jorgensen, Jason Gedge, Robert Schwarz und Chris Wu) haben SymPy im Sommer 2007 im Rahmen des Google Summer of Code unglaublich verbessert. Pearu Peterson beteiligte sich im Sommer 2007 an der Entwicklung und hat SymPy deutlich wettbewerbsfähiger gemacht, indem er den Kern von Grund auf neu geschrieben hat, was ihn von 10x auf 100x schneller gemacht hat. Jurjen NE Bos hat Pretty-Printing und andere Patches beigesteuert. Fredrik Johansson hat mpmath geschrieben und viele Patches beigesteuert.
SymPy nimmt seit 2007 an jedem Google Summer of Code teil. Ausführliche Informationen finden Sie unter https://github.com/sympy/sympy/wiki#google-summer-of-code. Jedes Jahr hat sich SymPy maßlos verbessert. Der Großteil der Entwicklung von SymPy stammt von Google Summer of Code-Studenten.
Im Jahr 2011 trat Ondřej Čertík als leitender Entwickler zurück und Aaron Meurer, der ebenfalls als Google Summer of Code-Student begann, trat an seine Stelle. Ondřej Čertík ist immer noch in der Gemeinde aktiv, ist aber zu sehr mit Beruf und Familie beschäftigt, um eine führende Rolle bei der Entwicklung zu spielen.
Seitdem haben sich viel mehr Menschen der Entwicklung angeschlossen und einige sind auch wieder gegangen. Die vollständige Liste finden Sie unter doc/src/aboutus.rst oder online unter:
https://docs.sympy.org/dev/aboutus.html#sympy-development-team
Die Git-Geschichte reicht bis ins Jahr 2007 zurück, als die Entwicklung von SVN auf HG umgestellt wurde. Um den Verlauf vor diesem Zeitpunkt anzuzeigen, schauen Sie sich https://github.com/sympy/sympy-old an.
Sie können Git verwenden, um die größten Entwickler zu sehen. Der Befehl:
$ git shortlog -ns
zeigt jeden Entwickler, sortiert nach Commits für das Projekt. Der Befehl:
$ git shortlog -ns --since="1 year"
zeigt die Top-Entwickler des letzten Jahres.
Um SymPy in Veröffentlichungen zu zitieren, verwenden Sie
Meurer A, Smith CP, Paprocki M, Čertí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: Symbolisches Rechnen in Python. PeerJ Informatik 3:e103 https://doi.org/10.7717/peerj-cs.103
Ein BibTeX-Eintrag für LaTeX-Benutzer ist
@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 ist BSD-lizenziert, Sie können es also beliebig nutzen, sei es akademisch, kommerziell, zum Erstellen von Forks oder Derivaten, solange Sie die BSD-Anweisung kopieren, wenn Sie es weitergeben (Einzelheiten finden Sie in der LICENSE-Datei). Obwohl die SymPy-Lizenz dies nicht vorschreibt, zitieren Sie bitte SymPy, wenn Sie es in Ihrer Arbeit verwenden, wenn es für Sie bequem ist, und erwägen Sie auch, alle Ihre Änderungen zurückzugeben, damit wir es integrieren können und wir alle davon profitieren Ende.