Thanks to Ihor Radchenko and Liu Hui for valuable feedback on this patch. * lisp/ob-python.el (org-babel-execute:python): Parse graphics-file from params, and pass it to `org-babel-python-evaluate'. (org-babel-python--output-graphics-wrapper): New constant. Python code to save graphical output. (org-babel-python--def-format-value): New constant. Python function to format and save value results to file. Includes handling for graphics, dataframes, and arrays. (org-babel-python-table-or-string): Prevent `org-babel-script-escape' from mangling dict results. (org-babel-python--setup-session): New function to run setup code within Python session. (org-babel-python-initiate-session-by-key): Replace lambda with `org-babel-python--setup-session' in `python-shell-first-prompt-hook', or run it directly if the session was started outside Org. (org-babel-python-wrapper-method): Removed. Instead use part of the string directly in `org-babel-python-evaluate-external-process'. (org-babel-python-pp-wrapper-method): Removed. Pretty printing is now handled by `org-babel-python--def-format-value'. (org-babel-python--exec-tmpfile): Removed. Instead use the raw string directly in `org-babel-python-evaluate-session'. (org-babel-python-format-session-value): Updated to use `org-babel-python--def-format-value' for formatting value result. (org-babel-python-evaluate): New parameter graphics-file. Pass graphics-file onto downstream helper functions. (org-babel-python-evaluate-external-process): New parameter graphics-file. Use `org-babel-python--output-graphics-wrapper' for graphical output. For value result, use `org-babel-python--def-format-value'. Don't call `org-trim' on results, to prevent misalignment of pandas DataFrames. (org-babel-python-evaluate-session): New parameter graphics-file. Use `org-babel-python--output-graphics-wrapper' for graphical output. Replace the removed constant `org-babel-python--exec-tmpfile' with the string directly. Rename local variable tmp-results-file to results-file, which may take the value of graphics-file when provided. (org-babel-python-async-evaluate-session): New parameter graphics-file. Use `org-babel-python--output-graphics-wrapper' for graphical output. Rename local variable tmp-results-file to results-file, which may take the value of graphics-file when provided. |
||
---|---|---|
doc | ||
etc | ||
lisp | ||
mk | ||
testing | ||
.dir-locals.el | ||
.gitignore | ||
.gitmodules | ||
CONTRIBUTE.org | ||
COPYING | ||
Makefile | ||
README.org |
This is a distribution of Org Mode, a major mode for keeping notes, authoring documents, computational notebooks, literate programming, maintaining to-do lists, planning projects, and more — in a fast and effective plain text system.
Check the Org Mode website for more.
Install Org
Org is part of GNU Emacs: you probably don't need to install it.
To install a more recent version, please do it from GNU ELPA by
running this command: M-x package-install RET org RET
Join the GNU Project
Org is part of GNU Emacs and GNU Emacs is part of the GNU Operating System, developed by the GNU Project.
If you are the author of an awesome program and want to join us in writing Free (libre) Software, please consider making it an official GNU program and become a GNU Maintainer. Instructions on how to do this are here http://www.gnu.org/help/evaluation.
Don't have a program to contribute? Look at all the other ways to help: https://www.gnu.org/help/help.html.
And to learn more about Free (libre) Software in general, please read and share this page: https://gnu.org/philosophy/free-sw.html
License
Org-mode is published under the GNU GPLv3 license or any later version, the same as GNU Emacs.
Org-mode is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Org mode. If not, see https://www.gnu.org/licenses/.