Veja o arquivo AUTHORS para a lista de autores.
E muito mais pessoas ajudaram na lista de discussão do SymPy, relataram bugs, ajudaram a organizar a participação do SymPy no Google Summer of Code, no Google Highly Open Participation Contest, no Google Code-In, escreveram e blogaram sobre o SymPy...
Licença: A nova licença BSD (veja o arquivo LICENSE para detalhes) cobre todos os arquivos no repositório sympy, salvo indicação em contrário.
Nossa lista de e-mails está em https://groups.google.com/forum/?fromgroups#!forum/sympy.
Temos um bate-papo da comunidade no Gitter. Fique à vontade para nos perguntar qualquer coisa lá. Temos uma comunidade muito acolhedora e prestativa.
O método de instalação recomendado é através do Anaconda, https://www.anaconda.com/products/distribution
Você também pode obter a versão mais recente do SymPy em https://pypi.python.org/pypi/sympy/
Para obter a versão git faça
$ git clone https://github.com/sympy/sympy.git
Para outras opções (tarballs, debs, etc.), consulte https://docs.sympy.org/dev/install.html.
Para obter instruções detalhadas sobre instalação e construção da documentação, consulte o SymPy Documentation Style Guide.
Tudo está em:
https://docs.sympy.org/
Você pode gerar tudo no site acima em sua cópia local do SymPy:
$ cd doc
$ make html
Então os documentos estarão em _build/html . Se você não quiser ler isso, aqui está um breve uso:
Neste diretório, inicie o Python e:
> >> 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 também vem com um console que é um wrapper simples em torno do console python clássico (ou IPython quando disponível) que carrega o namespace SymPy e executa alguns comandos comuns para você.
Para iniciá-lo, emita:
$ bin/isympy
deste diretório, se o SymPy não estiver instalado ou simplesmente:
$ isympy
se SymPy estiver instalado.
Para instalar SymPy usando PyPI, execute o seguinte comando:
$ pip install sympy
Para instalar o SymPy usando Anaconda, execute o seguinte comando:
$ conda install -c anaconda sympy
Para instalar o SymPy da fonte GitHub, primeiro clone o SymPy usando git
:
$ git clone https://github.com/sympy/sympy.git
Então, no repositório sympy
que você clonou, basta executar:
$ pip install .
Consulte https://docs.sympy.org/dev/install.html para obter mais informações.
Aceitamos contribuições de qualquer pessoa, mesmo que você seja novo no código aberto. Leia nossa página Introdução à contribuição e o Guia de estilo de documentação do SymPy. Se você é novo e está procurando alguma forma de contribuir, um bom lugar para começar é examinar os problemas marcados como Fácil de corrigir.
Observe que todos os participantes deste projeto devem seguir nosso Código de Conduta. Ao participar deste projeto você concorda em cumprir seus termos. Consulte CODE_OF_CONDUCT.md.
Para executar todos os testes, execute:
$./setup.py test
no diretório atual.
Para uma execução mais refinada de testes ou doctests, use bin/test
ou respectivamente bin/doctest
. O branch master é testado automaticamente pelo GitHub Actions.
Para testar solicitações pull, use sympy-bot.
O analisador e o lexer foram gerados com o conjunto de ferramentas ANTLR4 em sympy/parsing/latex/_antlr
e verificados no repositório. Atualmente, a maioria dos usuários não precisa gerar novamente esses arquivos, mas se você planeja trabalhar nesse recurso, precisará da ferramenta de linha de comando antlr4
(e deve garantir que ela esteja em seu PATH
). Uma maneira de conseguir isso é:
$ conda install -c conda-forge antlr=4.11.1
Como alternativa, siga as instruções no site do ANTLR e baixe antlr-4.11.1-complete.jar
. Em seguida, exporte o CLASSPATH
conforme as instruções e em vez de criar antlr4
como um alias, torne-o um arquivo executável com o seguinte conteúdo:
#! /bin/bash
java -jar /usr/local/lib/antlr-4.11.1-complete.jar " $@ "
Depois de fazer alterações em sympy/parsing/latex/LaTeX.g4
, execute:
$ ./setup.py antlr
Para limpar tudo (obtendo assim a mesma árvore do repositório):
$ git clean -Xdf
que limpará tudo ignorado por .gitignore
e:
$ git clean -df
para limpar todos os arquivos não rastreados. Você pode reverter as alterações mais recentes no git com:
$ git reset --hard
AVISO: Os comandos acima limparão todas as alterações que você possa ter feito e você as perderá para sempre. Certifique-se de verificar as coisas com git status
, git diff
, git clean -Xn
e git clean -n
antes de fazer qualquer um deles.
Nosso rastreador de problemas está em https://github.com/sympy/sympy/issues. Por favor, relate quaisquer bugs que você encontrar. Ou, melhor ainda, bifurque o repositório no GitHub e crie uma solicitação pull. Aceitamos todas as alterações, grandes ou pequenas, e ajudaremos você a fazer a solicitação de pull se você for novo no git (basta perguntar em nossa lista de e-mails ou no canal Gitter). Se você tiver alguma dúvida, poderá encontrar respostas no Stack Overflow usando a tag sympy.
SymPy foi iniciado por Ondřej Čertík em 2005, ele escreveu alguns códigos durante o verão, depois escreveu mais alguns códigos durante o verão de 2006. Em fevereiro de 2007, Fabian Pedregosa juntou-se ao projeto e ajudou a consertar muitas coisas, contribuiu com documentação e o tornou vivo novamente . 5 alunos (Mateusz Paprocki, Brian Jorgensen, Jason Gedge, Robert Schwarz e Chris Wu) melhoraram incrivelmente o SymPy durante o verão de 2007 como parte do Google Summer of Code. Pearu Peterson juntou-se ao desenvolvimento durante o verão de 2007 e tornou o SymPy muito mais competitivo ao reescrever o núcleo do zero, o que o tornou 10x a 100x mais rápido. Jurjen NE Bos contribuiu com estampas bonitas e outros patches. Fredrik Johansson escreveu mpmath e contribuiu com muitos patches.
SymPy participou de todos os Google Summer of Code desde 2007. Você pode ver https://github.com/sympy/sympy/wiki#google-summer-of-code para obter detalhes completos. A cada ano o SymPy melhorou bastante. A maior parte do desenvolvimento do SymPy veio de alunos do Google Summer of Code.
Em 2011, Ondřej Čertík deixou o cargo de desenvolvedor líder, com Aaron Meurer, que também começou como aluno do Google Summer of Code, assumindo seu lugar. Ondřej Čertík ainda está activo na comunidade, mas está demasiado ocupado com o trabalho e a família para desempenhar um papel de liderança no desenvolvimento.
Desde então, muito mais pessoas aderiram ao empreendimento e algumas pessoas também saíram. Você pode ver a lista completa em doc/src/aboutus.rst ou online em:
https://docs.sympy.org/dev/aboutus.html#sympy-development-team
A história do git remonta a 2007, quando o desenvolvimento passou do svn para o hg. Para ver a história antes desse ponto, consulte https://github.com/sympy/sympy-old.
Você pode usar o git para ver os maiores desenvolvedores. O comando:
$ git shortlog -ns
mostrará cada desenvolvedor, classificado por commits no projeto. O comando:
$ git shortlog -ns --since="1 year"
mostrará os principais desenvolvedores do ano passado.
Para citar SymPy em publicações use
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: computação simbólica em Python. PeerJ Ciência da Computação 3:e103 https://doi.org/10.7717/peerj-cs.103
Uma entrada BibTeX para usuários 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 é licenciado pelo BSD, então você é livre para usá-lo como quiser, seja acadêmico, comercial, criando forks ou derivados, desde que copie a instrução BSD se redistribuí-la (consulte o arquivo LICENSE para obter detalhes). Dito isto, embora não seja exigido pela licença do SymPy, se for conveniente para você, cite o SymPy ao usá-lo em seu trabalho e também considere contribuir com todas as suas alterações, para que possamos incorporá-lo e todos nós nos beneficiaremos no fim.