Guidelines for Publishing in JSAGE
- License: All software that is published in JSAGE must
be licensed under a "GPL v2 or later"-compatible license.
- Copyright: Authors are encouraged to keep the copyright
on their work.
- Languages: Software published in
JSAGE may be written using any of the following
programming languages:
- Python (and/or Cython)
- C, C++
- Common Lisp (clisp)
- Fortran 95
- GP/PARI
- Singular
- GAP
- Maxima
- Library Dependencies: Software included in SAGE
must depend only on the following libraries:
- Python libraries: matplotlib, networkx, numpy, pexpect,
pycrypto, pyopensll, pysqlite, sage, twisted, weave, and zodb.
- C/C++ libraries: bzip2, cddlib, givaro, gmp, gsl,
libgd, linbox, mpfi, mpfr, ntl, pari, openssl, and sqlite.
- Dependencies on other libraries will be considered
in exceptional cases.
- Documentation:
- Docstrings should be formatted as explained in the
SAGE programming guide.
- Every function that could be used interactively must
contain at least one example illustrating its usage, and preferably
more. These should be in a section of the docstrings labeled
EXAMPLES.
- Additional testing code may also be included
in a section labeled TESTS.
- When applicable, a few paragraphs explaining the idea and
background of a module should be included.
|