A curated list of awesome julia libraries, softwares and tutorials. Inspired by awesome-php. Many of these resources were originally collected and curated by @svashka,@melvin0008 and others – thank you for the hard work.
Curated list of Julia Projects and Libraries
- Julia Lang-the language - The core language and other libraries in Julia.
- Julia Stats- Statistic and Machine learning enthusiasts.
- Julia Opt- Solutions and libraries for Mathematical Optimization.
- Julia Parallel-Various models of Parallel Programming in Julia.
- Julia Astro - Astronomy and Astrophysics packages for Julia.
- Julia Quant -Quantitative Finance Libraries in Julia.
- Julia Quantum - Julia Libraries for Quantum Science and Technology.
- Julia Sparse -Sparse Matrix and Graph Partioning libraries.
- Julia Diff - Differential Tools in Julia.
- Julia GPU - GPU computing for Julia
- Julia Web - Libraries for the web . Includes sockets, requests, curl, GeoIP and much more.
- Julia CI - Continous Integration support for Julia. Includes Travis Builds and Tests.
- BioJulia - -Bioinformatics Research.
- JuliaBox - Code Julia on the go using a browser.
Calling other functions of other languages from Julia
- Embedding Julia - Embedding C.
- Objective-C - Objective-C bridge for Julia.
- Python - Python bridge for Julia.
- Java - Java bridge fo Julia.
Curated list of packages category wise
- Official Julia Packages - All registered packages for the Julia programming language.
- Julia.jl - Aggregates and curates decibans of resources for the Julia language.
Installation, IDE's
- Installation and Downloads - Three ways to install Julia.
List of IDE's
- Sublime-IJulia- Sublime-IJulia provides a frontend to the IJulia backend kernel within the popular text editor, Sublime Text.
- Juno - Free Environment for Julia Language
- Julia-vim - Vim support for Julia
- Julia.tmbundle - Julia language support for TextMate 2.
- IJulia - Julia Language Backend.
- Kate - InBuilt support for Julia. Highlighting from this link .
- Notepad++ - Support for Notepad++
Learning Resources for Julia.
- Julia Express - A simple exposition of the Julia language.
- Julia Studio Tutorials - Learn Julia using Julia Studio.
- Learn Julia in XY Minutes - Beginners tutorial to Julia.
- Learn Julia the hard way - Just what the name says.
- Basic tutorial on IPython - Basic tutorial on IPython .
- Julia Economics - Tutorial Series for economists learning to program in Julia.
- Getting started with JuliaBox Get started to code Julia in the browser
- Rosetta-Julia Rosetta solutions in Julia.
- Video Tutorials
- Youtube Videos - A list of lectures and video tutorials at youtube.
- Tutorial at SciPy 2014 - Great video tutorial for starters.
- PyCon 2014 - Playlist of tutorials at PyCon 2014.
- MIT Tutorials - Playlist of Julia tutorials at MIT.Code
- IPython Tutorial Series - List of tutorials to get familiar with IPython
Other Resources for learning Julia
- Julia Docs - Julia Documentation.
- Julia Publications - Reading published papers give a good insight into working and features of Julia.
- Julia Cheatsheet - A list of basic math functions.
- Julia Bloggers - Great way to be upto date with the latest development in Julia
- Julia Standard Library List of standard libraries for v3.0
Learn more about Julia by connecting with the community
-
- Julia Users - Discussion around the usage of julia. New users of julia can ask their questions here.
- Julia Dev - Discussion related to the development of julia itself.
- Julia Stats - Discussions related to statistical programming with julia.
- Julia Opt - Discussions related to numerical optimization in julia.
- Julia Box - Discussions related to running Julia in the so called cloud.
- Julia Users Es - Discussions around the usage of Julia in the spanish language.
My motivation for awesome-julia
Julia.jl is a well curated list of packages but is suitable for developers who have a lot of experience. awesome-julia on the other hand is for newbies and developers with less experience. I also curated awesome-julia with another intention of having julia under the awesome-* lists. Developers directly look for awesome appended by the language they are looking for. So awesome julia does that.
- COPYRIGHT © 2012-Now Greister, All Rights Reserved.
- This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License - (CC BY-NC-SA 4.0) as detailed in the LICENSE.md file and ALL references, citations, copies and forks of this work must retain the Copyright, Licence (LICENSE.md file), this permission notice and must attribute credit.
Contributions to l
are welcome in the form of pull requests (PR). Here are some guidelines and tips on how to submit a Bug Report (BR) and/or PR:
The Julia community has ethical guidelines aimed at respecting Copyright, Licenses and attribution standards{1} and {2} which you are requested to follow while submitting materials to be listed. Additionally, if you find any material (or code repos) that violates these ethical standards, please file a bug report for their removal from Julia.jl
.
- References :
These comments led to a BR discussing the addition of metadata tags that will enable programmers and package users to easily distinguish the status of various Julia packages that are under various stages of development. Currently, METADATA has a tag system but not all package authors use it, making it harder for lay users to know if the package maintenance is active or not.
Lets experiment with asking package authors and core-commiters to tag their Julia packages on the following criteria :
On a scale of 1 to 5 (1=lowest,..5=highest), please rank your package for,
Usability
: Does the package do what it says it does? is it easy to figure out? Is the package production-ready and actively maintained (issues/PRs are responded and resolved in a timely manner, and maintenance and testing is at par with Julia release cycles).Quality
: Does the package have tests? are there lots of bugs? Do you have good documentation? Can it be used in production environments that expect prompt security patches?Activity
: Should a 3rd party user bother to use your library, or is it really only intended to be used by the package author? Let's say, an experimental "throw-away toy repo" whose development has now been abandoned.