Contents

🔖 Development tools for Julia

Developement tools, compilers, debuggers 1

See also

  • 🏚️ means the package may not support current versions of Julia.
  • 🏗️ means the package may be a WIP.

Debugger

  • Debugger.jl :: Julia debugger using the @enter macro.
  • Rebugger.jl :: An expression-level debugger for Julia, sans the ability to interact with or manipulate call stacks (see Gallium), but it can trace execution via the manipulation of Julia expressions.
  • Suppressor.jl :: Julia macros for suppressing output (STDOUT), warnings (STDERR) or both streams at the same time.
  • ToggleableAsserts.jl :: Assertions that can be turned on or off with a switch, without runtime penalty when they’re off.
  • Traceur.jl :: codified version of the Julia performance tips.
WIP or may not work

Documentation

  • CommonMark.jl :: A CommonMark-compliant parser for Julia.
  • DocStringExtensions.jl :: Extensions for Julia’s docsystem.
  • Documenter.jl :: Official documentation generator for Julia.
  • Literate.jl :: literate programming in Julia.
  • Remark.jl :: A Julia package to create presentations from markdown using Remark.
  • sphinx-julia :: Documenting Julia projects with Sphinx.
  • Weave.jl :: A scientific report generator/literate programming tool for Julia based on Pweave and resembles Knitr and Sweave.
WIP or may not work
  • 🏚️ Docile.jl :: Experimental Julia package documentation system.
  • 🏚️ Doxygen :: A branch providing support for documenting in Julia using Doxygen and doxyfilter.jl tools.
  • 🏚️ HelpTestbed.jl :: package is for exploring options for help when you add a Julia package - when used from the REPL, the @help macro fetches, say, the signature of a function call, which can be used to find the package.
  • 🏚️ Judo.jl :: is a Julia document generator, which takes documents written in pandoc markdown and converts them into html, but differs from general purpose markdown tools in a few ways.
  • 🏚️ Lexicon.jl :: Julia package documentation generator that provides access to the documentation created by the @doc macro from Docile.jl. It allows querying of package documentation from the Julia REPL and building HTML documentation.
  • 🏚️ Publish.jl :: A package for publishing code - uses Latex to create a pdf with your code and output.
  • 🏚️ Report.jl :: A Markdown report writer for Julia.
  • 🏚️ Roxygen.jl :: A Roxygen-like documentation package for automatically generating documentation from Julia source files.
  • 🏚️ Tuxedo.jl :: Dressing up your algorithms with documentation-driven development.

IDE

Integrated development environment.

See Julia editor suport team.

  • CSSUtil
  • jEdit-julia :: A jEdit mode for Julia.
  • Julia VSCode :: A powerful, free IDE for the Julia language.
  • Julia.tmbundle :: Julia language support for TextMate 2 (and Sublime Text).
  • Liclipse :: LiClipse, Eclipse plus some customizations, supports Julia.
  • OhMyREPL.jl :: Syntax highlighting and other enhancements for the Julia REPL.
  • Reminisce :: Sublime-style saving of tabs and content for Light Table.
  • WebIO.jl : WebIO provides a simple abstraction for displaying and interacting with web content.
WIP or may not work
  • 🏚️ Acorn.jl :: A pure julia text editor.
  • 🏚️ BlinkEditor.jl :: A simple Blink editor based on Mike Innes' JuliaCon 2015 presentation.
  • 🏚️ InteractNext.jl :: is a lot like Interact.jl, except that as well as running in IJulia, it also works in the Atom/Juno IDE, in a desktop window with Blink.jl, and served in a webpage via Mux.jl.
  • 🏚️ Jewel.jl :: IDE backend for Julia.
  • 🏚️ julia-ide :: YAJI.
  • 🏚️ Julia-LT :: Julia plugin for Light Table based on the Jewel.jl editor backend.
  • 🏚️ JuliaDT.jl :: Julia Development Toolkit for Eclipse.
  • 🏚️ Julietta.jl :: An integrated developement environment (IDE) for the programming language Julia.
  • 🏚️ June-LT :: The June themes for Light Table.
  • 🏚️ Juno-LT :: A Julia environment built on Light Table. JunoLab.
  • 🏚️ JunoLTDistro :: Juno-LT Distribution & Installer.
  • 🏚️ Sublime-Julia :: Sublime Syntax, Build, Snippets, and REPL for the Julia language. 🏚️ JuliaCompletions

Atom

Currently in maintenance mode
  • Atom.jl :: Julia Client for Atom. Maintenance-only mode.
  • atom-language-julia :: A Julia language support package for the Atom editor.
  • atom-julia-client :: Julia Eval in Atom.
  • 🏚️ Electron.jl :: Provides easy access to atom/electron from Julia.
  • 🏚️ Jude :: A set of development extensions for Julia in the Atom editor to improve developer productivity. Currently, it provides autocomplete and jump to definition.

Emacs

Vim

Jupyter

Jupyter

WIP or may not work
  • 🏗️ WeavePynb.jl :: Simple package to convert markdown files to IJulia notebooks.
  • 🏚️ Autoreload.jl :: A package for autoreloading files for interactive work in IJulia.
  • 🏚️ Colaboratory :: Create and store notebooks in Google Drive and allow for collaborative editing of notebooks.
  • 🏚️ ErrorLineNumber.jl :: Address line number bug in Julia 0.4 error reporting.
  • 🏚️ Hydra.jl :: Hosted Multi-user IJulia distribution.
  • 🏚️ IJuliaWidgets.jl :: Interactive widgets for IJulia.
  • 🏚️ jlbox :: uses node.js to provide a mechanism for automatically reloading julia source and test files via gulp.js and a ZMQ socket.

Web IDE

📖 web IDE

See also

Packages

  • CodeTools.jl :: A collection of tools for handling Julia code (evaluation, autocompletion etc.), designed to be used as a backend library for IDE support.
  • DevTools.jl :: provides a couple of useful graphical tools for working with Julia, built on top of Blink.jl.
  • Hiccup.jl :: A super-simple library designed to make making HTML easy in Julia. It’s heavily inspired by Clojure’s Hiccup DSL.
  • LanguageServer.jl :: An implementation of the Microsoft Language Server Protocol for the julia language.
  • LNR.jl :: Line numbering reader.
WIP or may not work
  • 🏚️ Media.jl :: A display system which enables the user handle multiple input/output devices and decide what media types get displayed where. (No Project.toml)
  • 🏚️ JuliaWebRepl.jl
  • 🏚️ OpenStack.jl :: Access the OpenStack API using Julia.

GUI

Widget toolkits and other graphical user interfaces for desktops.

WIP or may not work
  • 🏚️ Canvas.jl :: Composable UIs in Julia.
  • 🏚️ JGUI.jl :: Simplified interface for making GUI’s in Julia.
  • 🏚️ Julietta.jl :: A toolkit for viewing Julia packages, modules, etc….
  • 🏚️ Table.jl :: Display Tables in plain text, HTML, LaTex.
  • 🏚️ XClipboard.jl :: Xlib clipboard bindings to drag and drop in X11(X-Window System for bitmap displays).

Qt

  • QML.jl :: Small example for starting an interface to Qt5 QML.
WIP or may not work
  • 🏚️ PySide.jl :: A julia interface for accessing Qt via PyCall and PySide.
  • 🏚️ Qt5.jl :: A wrapper around C++ library Qt5.

GTK

  • Gtk.jl :: Julia interface to the GTK windowing toolkit.
  • GtkApps.jl :: GTK Apps by @tknopp.
WIP or may not work
  • 🏚️ GI.jl :: Julia bindings using libgobject-introspection.
  • 🏚️ GtkInteract.jl :: Part of Interact.jl functionality with Gtk.

  1. Julia.jl is under COPYRIGHT © 2012-Now SVAKSHA, dual-licensed for the data (ODbL-v1.0+) and the software (AGPLv3+), respectively. ↩︎