All Projects → astahlman → Ob Async

astahlman / Ob Async

Asynchronous src_block execution for org-babel

Projects that are alternatives of or similar to Ob Async

Writingwithemacs
Tips, Examples, and Resources for Writing with Emacs
Stars: ✭ 150 (-39.76%)
Mutual labels:  emacs, org-mode
Evil Org Mode
Supplemental evil-mode keybindings to emacs org-mode
Stars: ✭ 241 (-3.21%)
Mutual labels:  emacs, org-mode
Org Msg
OrgMsg is a GNU/Emacs global minor mode mixing up Org mode and Message mode to compose and reply to emails in a Outlook HTML friendly style.
Stars: ✭ 153 (-38.55%)
Mutual labels:  emacs, org-mode
Novels.org
Novels.org - Your Novels in Plain Text (Emacs . org-mode)
Stars: ✭ 120 (-51.81%)
Mutual labels:  emacs, org-mode
Emacs Easy Hugo
Emacs major mode for managing hugo
Stars: ✭ 235 (-5.62%)
Mutual labels:  emacs, org-mode
Org Graph View
View Org buffers as a clickable, graphical mind-map
Stars: ✭ 141 (-43.37%)
Mutual labels:  emacs, org-mode
Org Pdftools
A custom org link type for pdf-tools
Stars: ✭ 165 (-33.73%)
Mutual labels:  emacs, org-mode
Org Brain
Org-mode wiki + concept-mapping
Stars: ✭ 1,512 (+507.23%)
Mutual labels:  emacs, org-mode
Org Books
Reading list management with org mode
Stars: ✭ 186 (-25.3%)
Mutual labels:  emacs, org-mode
Go Org
Org mode parser with html & pretty printed org rendering. also shitty static site generator.
Stars: ✭ 177 (-28.92%)
Mutual labels:  emacs, org-mode
Walkman
Write HTTP requests in Org mode and replay them at will using cURL
Stars: ✭ 120 (-51.81%)
Mutual labels:  emacs, org-mode
Verb
Organize and send HTTP requests from Emacs
Stars: ✭ 205 (-17.67%)
Mutual labels:  emacs, org-mode
Cheatsheet
Pretty cheat sheets, or ``reference cards'', obtainable from Org files.
Stars: ✭ 116 (-53.41%)
Mutual labels:  emacs, org-mode
Org Fragtog
Automatically toggle Org mode LaTeX fragment previews as the cursor enters and exits them
Stars: ✭ 149 (-40.16%)
Mutual labels:  emacs, org-mode
Emacs Gtd
Get Things Done with Emacs
Stars: ✭ 111 (-55.42%)
Mutual labels:  emacs, org-mode
Hexo Renderer Org
Hexo renderer plugin for emacs org-mode
Stars: ✭ 157 (-36.95%)
Mutual labels:  emacs, org-mode
Ox Rst
reStructuredText Back-End for Org-Mode Export Engine
Stars: ✭ 94 (-62.25%)
Mutual labels:  emacs, org-mode
Weblorg
Static Site Generator for Emacs
Stars: ✭ 103 (-58.63%)
Mutual labels:  emacs, org-mode
Orgro
An org-mode file viewer for iOS and Android
Stars: ✭ 175 (-29.72%)
Mutual labels:  emacs, org-mode
Toc Org
toc-org is an Emacs utility to have an up-to-date table of contents in the org files without exporting (useful primarily for readme files on GitHub)
Stars: ✭ 202 (-18.88%)
Mutual labels:  emacs, org-mode

Build Status MELPA Stable MELPA

ob-async enables asynchronous execution of org-babel src blocks, like this:

Demo of async sh execution

ob-async isn't tied to src blocks in a specific org-babel language. Simply add the keyword :async to the header-args of any org-babel src block and invoke ob-async-org-babel-execute-src-block.

Installation

ob-async is available in MELPA. If you'd rather install from source, make sure ob-async.el is on your load-path, like this.

(add-to-list 'load-path "$PATH_TO_OB_ASYNC_ROOT_DIR")

Require the package and ob-async will handle any source block which includes :async in its header-args.

(require 'ob-async)

Configuration

ob-async should work with no additional setup for most languages. However, there are a few known edge-cases which require extra configuration.

ob-async-no-async-languages-alist

Some org-babel languages (e.g., ob-python) define their own :async keyword that conflicts with ob-async. ob-async will ignore any languages in this blacklist, even if the :async keywords is present. Note that the -alist suffix is misleading; this variable actually represents a plain list and will be renamed in a future release.

Example:

(setq ob-async-no-async-languages-alist '("ipython"))

For additional context, see https://github.com/astahlman/ob-async/pull/35.

ob-async-pre-execute-src-block-hook

Some org-babel languages require additional user configuration. For example, ob-julia requires inferior-julia-program-name to be defined. Normally you would define such variables in your init.el, but src block execution occurs in an Emacs subprocess which does not evaluate init.el on startup. Instead, you can place initialization logic in ob-async-pre-execute-src-block-hook, which runs before execution of every src block.

Example:

(add-hook 'ob-async-pre-execute-src-block-hook
        '(lambda ()
           (setq inferior-julia-program-name "/usr/local/bin/julia")))

For additional context, see https://github.com/astahlman/ob-async/issues/37 and https://github.com/jwiegley/emacs-async/pull/73.

Development

Cask manages dependencies and runs tests. Once Cask is installed, you can make test.

Troubleshooting

First, go through the troubleshooting checklist, troubleshooting.org. It's an org-mode file in this repository that's designed to diagnose issues with ob-async. If that doesn't solve your problem, include a copy of the entire file (which will include your #+RESULTS blocks) in a Github issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].