راجع ملف المؤلفين للحصول على قائمة المؤلفين.
وقد ساعد العديد من الأشخاص في قائمة SymPy البريدية، وأبلغوا عن الأخطاء، وساعدوا في تنظيم مشاركة SymPy في Google Summer of Code، ومسابقة Google Highly Open المشاركة، و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
للحصول على خيارات أخرى (كرات القطران، debs، وما إلى ذلك)، راجع https://docs.sympy.org/dev/install.html.
للحصول على إرشادات متعمقة حول التثبيت وبناء الوثائق، راجع دليل أسلوب وثائق SymPy.
كل شيء موجود عند:
https://docs.sympy.org/
يمكنك إنشاء كل شيء في الموقع أعلاه في نسختك المحلية من SymPy عن طريق:
$ cd doc
$ make html
بعد ذلك ستكون المستندات بتنسيق _build/html . إذا كنت لا تريد قراءة ذلك، فإليك استخدامًا قصيرًا:
من هذا الدليل، ابدأ بايثون و:
> >> 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
في الدليل الحالي.
لإجراء اختبارات أو doctests بشكل أكثر دقة، استخدم bin/test
أو bin/doctest
على التوالي. يتم اختبار الفرع الرئيسي تلقائيًا بواسطة GitHub Actions.
لاختبار طلبات السحب، استخدم Sympy-bot.
تم إنشاء المحلل اللغوي والمترجم باستخدام سلسلة أدوات ANTLR4 في sympy/parsing/latex/_antlr
وتم تسجيلهما في الريبو. في الوقت الحالي، لا يحتاج معظم المستخدمين إلى إعادة إنشاء هذه الملفات، ولكن إذا كنت تخطط للعمل على هذه الميزة، فستحتاج إلى أداة سطر الأوامر 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 على يد Ondřej Čertík في عام 2005، حيث كتب بعض الأكواد البرمجية خلال فصل الصيف، ثم كتب المزيد من الأكواد البرمجية خلال صيف عام 2006. وفي فبراير 2007، انضم فابيان بيدريغوزا إلى المشروع وساعد في إصلاح العديد من الأشياء، وساهم في التوثيق، وأعاد المشروع إلى الحياة مرة أخرى. . قام 5 طلاب (ماتيوز بابروكي، وبريان جورجينسن، وجيسون جيدج، وروبرت شوارتز، وكريس وو) بتحسين SymPy بشكل لا يصدق خلال صيف 2007 كجزء من Google Summer of Code. انضم Pearu Peterson إلى التطوير خلال صيف 2007 وقد جعل SymPy أكثر قدرة على المنافسة من خلال إعادة كتابة النواة من الصفر، مما جعلها أسرع من 10x إلى 100x. ساهم Jurjen NE Bos بطباعة جميلة وتصحيحات أخرى. لقد كتب فريدريك جوهانسون mpmath وساهم في الكثير من التصحيحات.
شاركت SymPy في كل صيف للبرمجة من Google منذ عام 2007. يمكنك الاطلاع على https://github.com/sympy/sympy/wiki#google-summer-of-code للحصول على التفاصيل الكاملة. لقد تم تحسين SymPy كل عام إلى أبعد الحدود. معظم تطوير SymPy جاء من طلاب Google Summer of Code.
في عام 2011، تنحى Ondřej Čertík عن منصبه كمطور رئيسي، وحل مكانه آرون ميورر، الذي بدأ أيضًا كطالب في Google Summer of Code. لا يزال Ondřej Čertík نشطًا في المجتمع ولكنه مشغول جدًا بالعمل والأسرة بحيث لا يمكنه لعب دور تنموي رائد.
ومنذ ذلك الحين، انضم عدد أكبر بكثير من الأشخاص إلى التطوير وغادر بعض الأشخاص أيضًا. يمكنك الاطلاع على القائمة الكاملة في doc/src/aboutus.rst، أو عبر الإنترنت على:
https://docs.sympy.org/dev/aboutus.html#sympy-development-team
يعود تاريخ git إلى عام 2007 عندما انتقل التطوير من svn إلى hg. لرؤية السجل قبل تلك النقطة، انظر إلى https://github.com/sympy/sympy-old.
يمكنك استخدام git لرؤية أكبر المطورين. الأمر:
$ git shortlog -ns
سيُظهر كل مطور، مرتبة حسب الالتزامات بالمشروع. الأمر:
$ git shortlog -ns --since="1 year"
سوف تظهر أفضل المطورين من العام الماضي.
للاستشهاد بـ SymPy في استخدام المنشورات
ميرر A، سميث CP، بابروكي M، Čertík O، كيربيتشيف SB، روكلين M، كومار A، إيفانوف S، مور JK، سينغ S، Rathnayake T، Vig S، Granger BE، Muller RP، Bonazzi F، Gupta H، Vats S , يوهانسون إف، بيدريجوسا إف، كاري إم جي، تيريل إيه آر، روكا إس، سابو إيه، فرناندو I، Kulal S، Cimrman R، Scopatz A. (2017) SymPy: الحوسبة الرمزية في بايثون. 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 إذا قمت بإعادة توزيعه (راجع ملف الترخيص للحصول على التفاصيل). ومع ذلك، على الرغم من أن ترخيص SymPy ليس مطلوبًا، إذا كان ذلك مناسبًا لك، فيرجى الاستشهاد بـ SymPy عند استخدامه في عملك وفكر أيضًا في المساهمة بجميع تغييراتك مرة أخرى، حتى نتمكن من دمجه وسنستفيد جميعًا في نهاية.