Sage
Developer's Guide
Previous:
Front Matter
Up:
Sage Developer's Guide
Next:
1 Writing Code for
Contents
1 Writing Code for Sage
1. Introduction
2. Conventions for Coding in Sage
2.1 Python Coding Conventions
2.2 File and Directory Names
2.3 Headings of Sage Library Code Files
2.4 Documentation Strings
2.4.1 Further Conventions for Automated Testing of Examples
2.5 Automated Testing
2.5.1 Testing .py, .pyx and .sage Files
2.5.2 Testing LaTeX Documentation
2.6 Randomized Testing
3. Coding in Python for Sage
3.1 Design
3.2 Special Sage Functions
3.2.1 LaTeX Representation
3.2.2 Print Representation
3.2.3 Matrix or Vector from Object
3.3 Sage Preparsing
3.4 The Sage Rules and Conventions for Coercion and Arithmetic
3.5 Mutability
3.6 The __hash__ Special Method
3.7 Exceptions
3.8 Importing
3.9 Using Optional Packages
4. Coding in Other Languages
4.1 Cython
4.1.1 Special Pragmas
4.1.2 Attaching or Loading .spyx Files
4.2 Other Languages
4.3 The PARI C-library Interface
4.4 GAP
4.5 Singular
4.6 Singular: Another Approach
4.7 Creating a new Pseudo-tty Interface
5. The Sage Manuals
2 Disseminating Code for Sage
6. Introduction
6.1 Inclusion Procedure for New Packages
7. Producing Patches with Mercurial
7.1 Quick Mercurial Tutorial for Sage
7.2 Using Mercurial with Other Sage Repositories
8. Producing New Sage Packages
8.1 Creating a New spkg File
9. The Sage Trac Server: Submitting Patches and Packages
9.1 Reporting Bugs
9.2 Guidelines for Opening Tickets
9.3 Patching Bugs/Working on Tickets
9.4 Reviewing Patches
9.5 Closing Tickets
A. Sage's License
A.1 License
A.1.1 The GNU General Public License
Index
Sage
Developer's Guide
Previous:
Front Matter
Up:
Sage Developer's Guide
Next:
1 Writing Code for
Release 2008.09.17, documentation updated on September 17, 2008.
See
About this document...
for information on suggesting changes.