Metadata-Version: 1.1
Name: codebook
Version: 1.1.0
Summary: Emacs minor mode for generating and interacting with jupyter notebooks
Home-page: http://github.com/ebanner/pynt
Author: Edward Banner
Author-email: edward.banner@gmail.com
License: MIT
Description-Content-Type: UNKNOWN
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
        -----------
        
        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
        ------------
        
        -  *On-the-fly notebook creation*
        
           -  Simply start pynt-mode on a python file and a new notebook will be
              created for you to interact with (provided you have set the
              variable ``pynt-start-jupyter-server-on-startup`` to ``t``)
        
        -  *Dump a region of python code into a jupyter notebook*
        
           -  Selectable regions include functions, methods, and code at the
              module level (i.e. outside of any function or class)
        
        -  *Scroll the resulting jupyter notebook with the code buffer*
        
           -  Alignment between code and cells are preserved even when cells are
              added and deleted
        
        -  *Generate web-browser-based jupyter notebooks*
        
           -  Because pynt generates
              `EIN <http://millejoh.github.io/emacs-ipython-notebook/>`__
              notebooks you can hit ``C-x C-s`` on the generated notebook which
              can be `opened up <#jupyter-notebook-web-browser-client>`__ by a
              jupyter notebook web browser client
        
        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
        
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)
