Voir le fichier AUTHORS pour la liste des auteurs.
Et bien d'autres personnes ont aidé sur la liste de diffusion SymPy, ont signalé des bugs, ont aidé à organiser la participation de SymPy au Google Summer of Code, au concours de participation hautement ouvert de Google, à Google Code-In, ont écrit et blogué sur SymPy...
Licence : la nouvelle licence BSD (voir le fichier LICENSE pour plus de détails) couvre tous les fichiers du référentiel sympy, sauf indication contraire.
Notre liste de diffusion se trouve sur https://groups.google.com/forum/?fromgroups#!forum/sympy.
Nous avons une discussion communautaire sur Gitter. N'hésitez pas à nous demander n'importe quoi là-bas. Nous avons une communauté très accueillante et serviable.
La méthode d'installation recommandée est via Anaconda, https://www.anaconda.com/products/distribution
Vous pouvez également obtenir la dernière version de SymPy sur https://pypi.python.org/pypi/sympy/
Pour obtenir la version git, faites
$ git clone https://github.com/sympy/sympy.git
Pour d'autres options (archives tar, debs, etc.), voir https://docs.sympy.org/dev/install.html.
Pour des instructions détaillées sur l'installation et la création de la documentation, consultez le Guide de style de documentation SymPy.
Tout est à :
https://docs.sympy.org/
Vous pouvez tout générer sur le site ci-dessus dans votre copie locale de SymPy en :
$ cd doc
$ make html
Ensuite, la documentation sera dans _build/html . Si vous ne voulez pas lire cela, voici un bref usage :
Depuis ce répertoire, démarrez Python et :
> >> 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 est également livré avec une console qui est un simple wrapper autour de la console Python classique (ou IPython si disponible) qui charge l'espace de noms SymPy et exécute certaines commandes courantes pour vous.
Pour le démarrer, lancez :
$ bin/isympy
depuis ce répertoire, si SymPy n'est pas installé ou simplement :
$ isympy
si SymPy est installé.
Pour installer SymPy à l'aide de PyPI, exécutez la commande suivante :
$ pip install sympy
Pour installer SymPy à l'aide d'Anaconda, exécutez la commande suivante :
$ conda install -c anaconda sympy
Pour installer SymPy à partir de la source GitHub, clonez d'abord SymPy en utilisant git
:
$ git clone https://github.com/sympy/sympy.git
Ensuite, dans le dépôt sympy
que vous avez cloné, exécutez simplement :
$ pip install .
Voir https://docs.sympy.org/dev/install.html pour plus d'informations.
Nous acceptons les contributions de tous, même si vous êtes nouveau dans l'open source. Veuillez lire notre page Introduction à la contribution et le guide de style de documentation SymPy. Si vous êtes nouveau et que vous cherchez un moyen de contribuer, un bon point de départ est d'examiner les problèmes étiquetés Facile à résoudre.
Veuillez noter que tous les participants à ce projet doivent suivre notre code de conduite. En participant à ce projet, vous acceptez d'en respecter les termes. Voir CODE_OF_CONDUCT.md.
Pour exécuter tous les tests, exécutez :
$./setup.py test
dans le répertoire courant.
Pour une exécution plus fine des tests ou des doctests, utilisez bin/test
ou respectivement bin/doctest
. La branche principale est automatiquement testée par GitHub Actions.
Pour tester les demandes d'extraction, utilisez sympy-bot.
L'analyseur et le lexer ont été générés avec la chaîne d'outils ANTLR4 dans sympy/parsing/latex/_antlr
et archivés dans le dépôt. Actuellement, la plupart des utilisateurs ne devraient pas avoir besoin de régénérer ces fichiers, mais si vous envisagez de travailler sur cette fonctionnalité, vous aurez besoin de l'outil de ligne de commande antlr4
(et vous devez vous assurer qu'il se trouve dans votre PATH
). Une façon de l'obtenir est :
$ conda install -c conda-forge antlr=4.11.1
Vous pouvez également suivre les instructions sur le site Web ANTLR et télécharger le antlr-4.11.1-complete.jar
. Exportez ensuite le CLASSPATH
comme indiqué et au lieu de créer antlr4
comme alias, faites-en un fichier exécutable avec le contenu suivant :
#! /bin/bash
java -jar /usr/local/lib/antlr-4.11.1-complete.jar " $@ "
Après avoir apporté des modifications à sympy/parsing/latex/LaTeX.g4
, exécutez :
$ ./setup.py antlr
Pour tout nettoyer (obtenant ainsi le même arbre que dans le dépôt) :
$ git clean -Xdf
ce qui effacera tout ce qui est ignoré par .gitignore
, et :
$ git clean -df
pour effacer tous les fichiers non suivis. Vous pouvez annuler les modifications les plus récentes dans git avec :
$ git reset --hard
AVERTISSEMENT : les commandes ci-dessus effaceront toutes les modifications que vous avez pu apporter et vous les perdrez pour toujours. Assurez-vous de vérifier les choses avec git status
, git diff
, git clean -Xn
et git clean -n
avant de faire quoi que ce soit.
Notre outil de suivi des problèmes se trouve sur https://github.com/sympy/sympy/issues. Veuillez signaler tous les bugs que vous trouvez. Ou, mieux encore, créez le référentiel sur GitHub et créez une pull request. Nous acceptons tous les changements, grands ou petits, et nous vous aiderons à faire la pull request si vous êtes nouveau sur git (il suffit de le demander sur notre liste de diffusion ou sur Gitter Channel). Si vous avez d'autres questions, vous pouvez trouver des réponses sur Stack Overflow en utilisant la balise sympy.
SymPy a été lancé par Ondřej Čertík en 2005, il a écrit du code pendant l'été, puis il a écrit encore du code au cours de l'été 2006. En février 2007, Fabian Pedregosa a rejoint le projet et a aidé à corriger de nombreuses choses, a contribué à la documentation et l'a redonné vie. . 5 étudiants (Mateusz Paprocki, Brian Jorgensen, Jason Gedge, Robert Schwarz et Chris Wu) ont incroyablement amélioré SymPy au cours de l'été 2007 dans le cadre du Google Summer of Code. Pearu Peterson a rejoint le développement au cours de l'été 2007 et il a rendu SymPy beaucoup plus compétitif en réécrivant le noyau à partir de zéro, ce qui l'a rendu 10x à 100x plus rapide. Jurjen NE Bos a contribué aux jolies impressions et à d'autres correctifs. Fredrik Johansson a écrit mmath et a contribué à de nombreux correctifs.
SymPy a participé à chaque Google Summer of Code depuis 2007. Vous pouvez consulter https://github.com/sympy/sympy/wiki#google-summer-of-code pour plus de détails. Chaque année, SymPy s’est considérablement amélioré. La majeure partie du développement de SymPy est venue des étudiants du Google Summer of Code.
En 2011, Ondřej Čertík a quitté son poste de développeur principal, et Aaron Meurer, qui a également débuté en tant qu'étudiant au Google Summer of Code, a pris sa place. Ondřej Čertík est toujours actif dans la communauté mais est trop occupé par son travail et sa famille pour jouer un rôle de premier plan dans le développement.
Depuis lors, beaucoup plus de personnes ont rejoint le développement et certaines personnes sont également parties. Vous pouvez consulter la liste complète dans doc/src/aboutus.rst ou en ligne sur :
https://docs.sympy.org/dev/aboutus.html#sympy-development-team
L'histoire de Git remonte à 2007, lorsque le développement est passé de svn à hg. Pour voir l'historique avant ce point, consultez https://github.com/sympy/sympy-old.
Vous pouvez utiliser git pour voir les plus grands développeurs. La commande :
$ git shortlog -ns
affichera chaque développeur, trié par engagements dans le projet. La commande :
$ git shortlog -ns --since="1 year"
montrera les meilleurs développeurs de l'année dernière.
Pour citer SymPy dans les publications, utilisez
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 : calcul symbolique en Python. PeerJ Informatique 3:e103 https://doi.org/10.7717/peerj-cs.103
Une entrée BibTeX pour les utilisateurs de LaTeX est
@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 est sous licence BSD, vous êtes donc libre de l'utiliser comme vous le souhaitez, que ce soit académique, commercial, pour créer des forks ou des dérivés, à condition de copier l'instruction BSD si vous la redistribuez (voir le fichier LICENSE pour plus de détails). Cela dit, bien que cela ne soit pas requis par la licence SymPy, si cela vous convient, veuillez citer SymPy lorsque vous l'utilisez dans votre travail et envisagez également de contribuer toutes vos modifications, afin que nous puissions l'incorporer et que nous puissions tous en bénéficier dans le fin.