Awesome-Julia

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.

Github Umbrella

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 Languages

Calling other functions of other languages from Julia

Packages

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.

Software

Installation, IDE's

Installation

Frameworks

  • Morsel -Sinatra like Microframework for Julia.
  • Factcheck- Testing Framework for Julia.

IDE

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 Julia

Learning Resources for Julia.

Resources

Other Resources for learning Julia

Community

Learn more about Julia by connecting with the community

Motivation

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.


LICENSE

  • 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.

CONTRIBUTE

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:

Guidelines

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.

Status

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.