Git Product home page Git Product logo

sagenb's Introduction

This is the standalone Sage Notebook.

Most of the notebook does not depend on having Sage installed. Only a few miscellaneous functions are imported from Sage. We welcome help in making the notebook completely independent from Sage, or indeed, any other help with the Sage notebook. Sage notebook development discussions happen on the sage-notebook mailing list.

Installation

Install Sage, then do sage -python setup.py install in the current directory. Then run the notebook from within Sage as follows:

sage: import sagenb.notebook.notebook_object as nb
sage: nb.notebook(directory="mynotebook")

This will create a directory mynotebook.sagenb, and all notebook data is stored in that directory.

SSL support

SSL is required for OpenID and accessing HTTPS from the Sage shell. Your Sage install should usually support SSL out of the box, but if you compiled it from source on a machine without the libssl headers, it may not. You can check for SSL support by running import ssl in the Sage console. If you get an error, then do the following.

  1. Install the libssl headers on your system. On Debian-based systems, one way to do this is to run sudo apt-get install libssl-dev.
  2. Recompile Sage's internal Python interpreter by running sage -f python.

Development

See the Sage Developer's guide, part of the Sage documentation, for instructions.

Miscellaneous Release Instructions

The following advice for release managers of sagenb is taken from the old SPKG.txt file that was sitting around. Most of it is probably outdated, but here it is anyway. It is modified slightly to cause it to make sense in some cases.

To cut a new release of sagenb, make sure that:

  • All changes are committed.
  • .gitignore and MANIFEST.in are current.
  • The notebook runs.
  • The doctests pass: sage -t --sagenb
  • The notebook will be possible to install from the new SPKG without an internet connection.
    • Any dependencies that must be downloaded can be added in util/fetch_deps.py and inserted in setup.py. Dependencies of dependencies need not be put in setup.py, but need to be put in util/fetch_deps.py (until we can make it smarter).
  • The Selenium tests pass (optional, for now).
  • The localization file sagenb.pot is up-to-date.
    • Run pybabel extract -F /path/to/babel.cfg /path/to/project -o /path/to/sagenb.po (get pybabel with easy_install pybabel).
    • Copy the headers from the existing sagenb.pot.
    • Replace sagenb.pot with sagenb.po.
    • Then, update the version in setup.py and commit this change.
    • Run dist.sh, optionally with a -g argument to package the git repo too.
    • Copy the newly generated dist/ directory from the sagenb repo to the SPKG's root directory and rename it src/ , replacing the src/ directory that is currently there
    • Pack up the SPKG with sage --pkg --no-compress (because everything in src/ is already compressed)
    • Install and test the new spkg: sage -f sagenb-*.spkg
    • Don't forget to push all changes in the sagenb repo to github.

Stylesheets (CSS): see sass/readme.txt.

To add a locale to an existing install:

  • Create a new locale, or download one from http://wiki.sagemath.org/i18n . To create a new locale:
  • Compile your copy via msgfmt sagenb.pot -o sagenb.mo
  • Copy sagenb.mo to sagenb/locale/xx_YY/LC_MESSAGES/, where xx_YY is a locale code (en_US, pt_BR, en_UK, etc.)

sagenb's People

Contributors

acleone avatar alexjuarez avatar alfredoport avatar dandrake avatar dimpase avatar gutow avatar gvol avatar hemmecke avatar jasongrout avatar jdemeyer avatar jhpalmieri avatar jsyeo avatar kini avatar kramer314 avatar mhampton avatar mwhansen avatar nathancarter avatar nbruin avatar nexttime avatar nthiery avatar pab137 avatar ppurka avatar qed777 avatar rkirov avatar robertwb avatar seblabbe avatar simon-king-jena avatar timdumol avatar williamstein avatar wjp avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.