Metadata-Version: 1.1
Name: codebook
Version: 1.2.0
Summary: Emacs minor mode for generating EIN notebooks
Home-page: http://github.com/ebanner/pynt
Author: Edward Banner
Author-email: edward.banner@gmail.com
License: MIT
Description: PYNT (PYthon iNTeractive)
        =========================
        
        Emacs minor mode for generating and interacting with jupyter notebooks.
        
        |MELPA| |PyPI version| |Built with Spacemacs|
        
        -  `🎥 Feature Tour (YouTube) <https://youtu.be/wtVF5cMhBjg>`__
        
        .. figure:: /img/demo.gif
           :alt: Demo
        
           Demo
        
        Quick Start
        -----------
        
        First install the codebook module `from
        PyPI <https://pypi.python.org/pypi/codebook>`__ with
        `pip <https://pip.pypa.io/en/stable/>`__.
        
        ::
        
            pip install codebook
        
        pynt is `available <https://melpa.org/#/pynt>`__ for download through
        `MELPA <https://melpa.org/>`__. Once you have
        `configured <https://melpa.org/#/getting-started>`__ emacs to use MELPA
        then run the following commands in emacs.
        
        ::
        
            M-x package-install RET pynt
            C-x C-f my-python-file.py
            M-x pynt-mode
        
        Feature List
        ------------
        
        -  *Jupyter notebook server management*
        
           -  A jupyter notebook server will be started in your home directory
              when you start emacs so you don’t have to. |alt text|
        
        -  *On-the-fly notebook creation*
        
           -  Every code region gets its own jupyter notebook and these jupyter
              notebooks are generated automatically.
        
        -  *Attach a jupyter notebook to a running process*
        
           -  Launch a process from the command line which hits the code region.
              Restart the kernel in the notebook to attach to that process.
        
        -  *Dump code into jupyter notebooks*
        
           -  No more copy and pasting from code into jupyter notebooks. Each
              expression gets its own cell. Assignment expressions are further
              transformed so that when you evaluate its cell the value of the
              target is displayed.
        
        -  *Loop rewriting*
        
           -  Unroll the first pass of loops for easy interaction in a notebook.
        
        -  *Scroll the resulting jupyter notebook with the code buffer*
        
           -  Scrolling the code buffer scrolls the notebook along with it, even
              when cells are modified.
        
        -  *Multiple notebooks in one window*
        
           -  Put code and tests on top of each other and have their
              corresponding notebooks alongside.
        
        Using pynt
        ----------
        
        Once you have opened a python file and pynt mode is active you should
        select the region of code you would like to dump into a jupyter notebook
        by typing ``C-c C-s`` and cycling though the resulting code regions.
        Once you have made a selection hit ``C-c C-e`` to dump that code region
        into a jupyter notebook.
        
        It is recommended at this point to enable ``pynt-scroll-mode`` which
        scrolls (i.e. aligns) the notebook cells with the code lines. You can
        activate ``pynt-scroll-mode`` with ``M-x pynt-scroll-mode RET``.
        
        EIN Tweaks
        ----------
        
        There are a few tweaks to EIN that make the pynt/EIN experience nicer
        IMO.
        
        -  Have ``C-<return>`` and ``S-<return>`` behave `as they would in a
           jupyter web browser
           client <https://github.com/ebanner/dotfiles/blob/deed94b024612ca1ed9c1e98f8e98ade793208a2/spacemacs#L473-L476>`__
        -  `Arrow through the
           worksheets <https://github.com/ebanner/dotfiles/blob/deed94b024612ca1ed9c1e98f8e98ade793208a2/spacemacs#L479-L480>`__
           in a EIN notebook buffer (warning:
           `evil <https://github.com/emacs-evil/evil>`__-specific)
        -  Prevent jupyter from `popping open a new
           tab <https://github.com/ebanner/dotfiles/blob/deed94b024612ca1ed9c1e98f8e98ade793208a2/spacemacs#L496>`__
           in your web browser on startup
        
        Related Projects
        ----------------
        
        pynt is a tool that truly `stands on the shoulders of
        giants <https://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants>`__.
        Here are some projects where if they had not existed, then pynt would
        not have been possible.
        
        -  `Jupyter <http://jupyter.org/>`__
        
           -  `Emacs IPython
              Notebook <http://millejoh.github.io/emacs-ipython-notebook/>`__
        
        -  `Emacs <https://www.gnu.org/software/emacs/>`__
        
           -  `Spacemacs <http://spacemacs.org/>`__
        
        -  `Python <https://www.python.org/>`__
        -  `SLIME <https://common-lisp.net/project/slime/>`__
        
           -  `vim-slime <https://github.com/jpalardy/vim-slime>`__
        
        Screenshots
        -----------
        
        Jupyter Notebook Web Browser Client
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        .. figure:: /img/browser.png
           :alt: Browser
        
           Browser
        
        Emacs IPython Notebook Client
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        .. figure:: /img/ein.png
           :alt: EIN
        
           EIN
        
        .. |MELPA| image:: https://melpa.org/packages/pynt-badge.svg
           :target: https://melpa.org/#/pynt
        .. |PyPI version| image:: https://badge.fury.io/py/codebook.svg
           :target: https://badge.fury.io/py/codebook
        .. |Built with Spacemacs| image:: https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg
           :target: http://spacemacs.org
        .. |alt text| image:: https://github.com/ebanner/pynt-assets/blob/master/img/jupyter-server.png
        
        
Keywords: interactive programming jupyter ipython emacs
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: MacOS X
Classifier: Programming Language :: Python :: 3.6
Classifier: Framework :: IPython
Classifier: Framework :: Jupyter
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Topic :: Education
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Code Generators
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Software Development :: Documentation
Classifier: Topic :: Text Editors
Classifier: Topic :: Text Editors :: Emacs
Classifier: Topic :: Text Editors :: Integrated Development Environments (IDE)
