Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
The objective of this project is to implement a class imbalance package in Julia with algorithms to correct for class imbalance. The package is expected to integrate well with other packages such as MLJ and to provide any useful resampling algorithms to handle the imbalance issue.
<p>Implementation of mid-level features - specifically routing, load-balancing, cookie/session handling, and authentication.</p>
<p>A leap forward in the accuracy of forecasting problems in chaotic time series has been recently obtained using Echo State Networks (ESN). This is a novel kind of recurrent neural network with a randomly connected hidden layer, called the reservoir, and an adaptable output layer trained using a simple regression algorithm. This architecture has the advantage of faster computation and presents less parameter tuning then a standard neural network. Since their inception there has been a lot of effort towards the improvement of the model and applications have been found in several fields of study: anomaly detections in geophysics , short term predictions in astrophysics and reconstruction of chaotic attractors among others.</p> <p>This project aims to build a comprehensive Julia package in which are implemented the majority of the variations of the ESNs presented in the literature. Such an effort would represent the first attempt to create a library for this kind of models in any programming language, and would reap benefits not only for the consequent simplicity of application, but also for showing the actual state of the art in a family of models that has yet to go mainstream.</p>
<h3>Parallel Graph development</h3> <p>I am interested in working on parallel graph algorithms and an efficient data structure to represent Graphs, which take advantage of Julia’s parallel environment. The data structure would be based on LightGraphs and all algorithms that I intend to code would be an addition to LightGraphs.jl . The algorithms would be Implementation of various research papers published and data structure would be such that it minimises overheads in parallel computations .</p>
Bring the most recent classical and deep learning methods for categorical encoding to Julia to better support the presence of categorical variables in machine learning problems. This will at least include target encoding, entity embedding, potentially other methods and improvements on existing ones. The methods will be implemented in pure Julia and easy-to-use interfaces for them will be exposed to the community.
Density functional theory (DFT) is an established method to compute the electronic structure of matter, with applications ranging from the development of catalysts to the discovery of new drugs. DFT finds an approximation of the Schrödinger equation corresponding to the studied system: this approximation comes to solving coupled non-linear partial differential equations. To deal with this method of simulation, the DFTK package is being developed in Julia. To reduce runtime, we wish to develop the use of a local GPU to offload computations. However, the goal is to minimize the amount of code which needs to be adapted: having two different versions of the code existing at the same time (one for CPU and one for GPU) can be difficult to maintain in an open-source framework. This also makes the implementation of new algorithms difficult, and can deter newcomers from getting involved in the project. Since GPU algorithms for DFT already exist, the main challenge is to orchestrate the overall flow of data between CPU and GPU. We believe expanding the DFTK package will showcase the possibilities the Julia programming language offers and bring together many different communities involved in molecular simulation. I aim to produce an alternate version of code of the DFTK package using GPU framework by clearly highlighting the differences with the CPU version and keeping code changes as low as possible.
This projects aims to bring the well known ColBERTv2.0 information retrieval system to Julia! In this project, we aim to implement various components of the ColBERT model, with the major focus on indexing and search. Being a late-interaction retrieval system, ColBERT isolates all the computations between the queries and documents to enable pre-computing the document embeddings offline. Combined with a RAG pipeline as an embedding and retrieval backend, ColBERT can make the usage of existing AI tools really powerful. As part of the project, we also aim to apply this model to Julia's own extensive documentation (over thousands of packages), and integrate ColBERT with AIHelpMe.jl and PromptingTools.jl. Combine this with a locally hosted LLM, all Julia users get a powerful, modular, and easily hackable local AI assistant, allowing them to integrate ColBERT with their own RAG pipelines. The main deliverable of the project will be a new package (called ColBERT.jl), with the implementation design inspired from the original Python implementation of ColBERTv2.0 (i.e the centroids + residuals compression method). The project will also have an extensive number of addons, including, but not limited to, implementing the training module for this package, which will allow users to train their own ColBERT models instead of relying on pretrained checkpoints, and distributed training (using existing art like DaggerFlux.jl).
<p>General-purpose statistical modeling tools such as OpenBugs and Stan allow using easy-to-build modular likelihood models to fit models to data through MCMC or other techniques. Crucial to the efficiency of such tools, especially as parameter dimensions increase, are tools like HMC, which allow use differentiation and/or conjugacy for continuous parameters, so that fitting is not solely a matter of getting lucky with random Metropolis-Hastings proposals. Yet some models, especially nonparametric ones, also require discrete parameters and/or hand-written jump steps; and existing tools for HMC generally don't play well with discrete parameters. My project is intended to generally improve the Julia toolchain for MCMC when there is a mix of continuous and discrete parameters. My work will be based on Mamba.jl; though when I can make something that will be useful to Klara.jl too, even better. To make that plan concrete, I'll be implementing CrossCat, a general-purpose nonparametric model for "medium-size" tabular data including missingness and various data types. (Roughly speaking, "medium-size" might mean p<1e3, n<1e5).</p>
<p>DifferentialEquations is a Julia package for solving differential equations in a highly performant manner within an underlying unified user interface. Recently, new promising classes of high-order methods for the weak approximation of stochastic differential equations were introduced and those solvers are yet to be implemented in the library. On top of that, Julia currently lacks adjoint sensitivity methods for stochastic differential equations. Adding these tools to the broader ecosystem of DifferentialEquations will attract researchers that seek to simulate (or even control) the dynamics as generated by stochastic differential equations. Possible fields of application range from the simulation of (bio-)chemical processes over financial modeling to quantum mechanics.</p>
<p>Image Segmentation is described as one of the most important aspects of image processing. Image segmentation is the process of partitioning an image by essentially assigning every pixel to a specific set based on the properties of this pixel and its neighborhood and henceforth dividing the image into segments and getting a more meaningful representation of the image. It is generally used to detect boundaries and high-level features and as a preprocessing step for compression and object detection algorithms which are impractical if applied directly on the whole image. The proposal primarily concerns implementing many of the popular image segmentation algorithms in pure Julia in the existing module <code>ImageFeatures.jl</code> (or a new module). A proper documentation and a few tutorials showing the usage of these algorithms shall also be developed.</p>
Classical force fields in molecular dynamics are fast but cannot capture bond breaking, charge transfer, or complex many-body chemistry. Machine learning potentials (MLPs) close this gap — offering near-quantum accuracy at a fraction of ab initio cost. Molly.jl currently supports MLPs only through a Python bridge (ASECalculator), which requires a Python runtime and bypasses Julia's differentiable programming stack entirely. This project delivers native Julia support for four widely-used MLP families: ANI (neural network potential for organic molecules), ACE (linear body-ordered basis expansion), NequIP, and Allegro (E(3)-equivariant graph neural networks). ANI is implemented from scratch in pure Julia using Lux.jl, with pre-trained ANI-1x/ANI-2x weights loaded from HDF5. ACE is integrated via the mature ACEpotentials.jl package. NequIP and Allegro are wrapped from TorchScript-exported models via PythonCall, following the existing ASECalculator pattern. All four potentials plug into Molly.jl's general_inters dispatch loop with zero changes to core simulation code. Pure-Julia models (ANI, ACE) are fully differentiable via Enzyme reverse-mode AD and GPU-accelerated via KernelAbstractions. The result: researchers can run differentiable, ML-accelerated molecular dynamics entirely within Julia — no Python, no overhead, composable with the full SciML ecosystem.
<p>Virtually all properties of interest arise from electronic interactions between the atoms of a crystal.</p> <p>The work I propose aims to develop a physics-informed graph convolutional neural network architecture, inspired by the <a href="https://en.wikipedia.org/wiki/Tight_binding" target="_blank">Tight-Binding model</a> formalism. This would help us initialise weights with information from the Slater-Koster tables made available as a priori, which would theoretically help derive a more realistic, accurate and data-efficient representation.</p> <p>In addition to this, I also aim to help design and develop essential parts of <a href="https://github.com/Chemellia" target="_blank">Chemellia</a>; primarily <a href="https://github.com/Chemellia/ChemistryFeaturization.jl" target="_blank">ChemistryFeaturization.jl</a>.</p>
Advanced magnetic resonance imaging techniques, such as RF pulse optimization, increasingly rely on complex, high-performance physical simulations like those defined in KomaMRI.jl. Currently, integrating these simulations into optimization loops is bottlenecked by the lack of native gradient propagation. This project aims to unlock gradient-based optimization within the Koma ecosystem by enabling reverse-mode automatic differentiation (AD) as a first-class feature. By systematically integrating state-of-the-art AD tools, specifically Enzyme.jl and Reactant.jl, this project will make both the standard BlochSimple method and the highly optimized, custom Bloch GPU kernels fully differentiable. Core deliverables include establishing AD correctness baselines against FiniteDifferences.jl, designing a memory-efficient Simulation data structure to minimize device-host transfers, and resolving low-level upstream compatibility issues with CUDA.jl and Enzyme. Ultimately, this project will provide the Julia MRI community with a robust, fully differentiable simulation stack, culminating in an interactive tutorial for 1D RF pulse optimization.
<p>Neural Networks (NN) is one of the most fundamental building blocks of modern Computer vision and it has found its relevance in multiple domains like image, text, audio, and many more. Various operations, convolution operation in analysing images to recurrent neural networks used to process text uses the principle of NN. Also, researchers have come up with novel deep learning architecture to analyse and find high-order patterns in domains like 3D structure.</p> <p>However, it is not easy to implement domains like 3D computer vision with essential utilities of NN library (which is primarily focused on classic computer vision). Implementation can generally become complicated and confusing. Also, it's no longer deemed necessary among deep learning enthusiasts to know the traditional computer vision algorithm from the implementation point of view, but they are beneficial from the understanding point of view. Therefore a framework which can unifies and ease the task of 3D vision will be useful to the community.</p>
KomaMRI.jl is a high-performance Julia package for MRI simulation and differentiable workflows, but its use is currently limited to the Julia ecosystem, creating a barrier for the broader Python-based scientific computing and machine learning community. This project introduces komamripy, a lightweight Python wrapper that exposes KomaMRI’s core simulation and differentiable capabilities through a minimal, intuitive API. The approach leverages Julia–Python interoperability to map data structures between environments, incorporates Julia-side precompilation to reduce first-use latency, and enables flexible GPU backend support across CUDA, AMDGPU, Metal, and oneAPI. The project will deliver a pip-installable Python package with CI-tested builds and automated releases, precompiled simulation and autodiff workflows, cross-platform GPU backend selection, and a validated end-to-end example demonstrating differentiable RF pulse optimization using JAX, along with supporting documentation and example scripts.
This project adds a new package to JuliaStats, covering complex survey analysis. The package is inspired by the `survey` package in R. Specifically, a part of the R package is ported to Julia. The completed project will consist of added support for survey analysis, along with the associated documentation.
<p>Aim is to build all the portions of the FastAI.jl package, inspired by the fastai Python library, which will provide high-level components that can quickly and easily provide state-of-the-art results for tabular tasks, and provide low-level components that can be mixed and matched to build new approaches.</p> <p>This will include handling tabular data of all kinds of format, performing transformations on it if required, creating a model using best practices and entity embeddings, and being able to train the created model.</p> <p>All this will be done without compromising in ease of use, flexibility, or performance, due to the benefits Julia provides, along with the well designed three layered architecture.</p>
<p>Juno as an IDE (and, since the introduction of JuliaPro, the quasi-standard IDE for Julia) has matured quite a bit during the last years, but the integration of documentation facilities is still somewhat lacking. In particular, there is no way to search for docstrings and displaying them is limited to the console and inline documentation. This proposal aims at implementing documentation search for local packages and improving their display in Juno.</p>
<p>Bridge the gap between Python community and the Julia community for the state of the art natural language processing models.</p>
<p>Machine learning models are being used to assess loan and job applications, in bail, sentencing and parole decisions, and in an increasing number of impactful decisions. Unfortunately, due to both bias in the training data and training methods, machine learning models can unfairly discriminate against individuals or groups. While there are many statistical methods to alleviate unfairness, there’s a growing awareness that any account of fairness must take causality into account. This project aims to implement causality-based tools for checking and forcing fairness into the Julia ecosystem of machine learning tools. Specifically, we intend to extend the packages Fairness.jl and MLJ.jl to include methods that implement counterfactual fairness, a recent definition of fairness. We will do so building upon principles of causal graphical models and causal probabilistic programming, as implemented in languages such as Omega.jl and CausalInference.jl.</p>
<p>Documentation, essential for any software project, needs to be as easy as possible to write and publish. For Julia packages, you can use the <a href="https://github.com/JuliaDocs/Documenter.jl" target="_blank">Documenter package</a>, which automatically generates and publishes package manuals as a web page or a PDF.</p> <p>It is important for Documenter to be modern and flexible. This project aims to revitalize Documenter, by upgrading the generated HTML front end and making it easier for documentation authors to customize. This will make sure that Documenter will keep meeting the needs of the community for years to come.</p>
Implement methods to find roots for symbolic polynomial systems. This involves providing analytical solution for polynomials of degree less than or equal to 4 and handling higher order polynomials equations using Groebner bases. Handle cases where symbolic solving fails and provide solutions with high accuracy using numerical methods.
Problem: Installing Julia, opening a terminal, running Julia REPL, then opening the package manager, adding Pluto package, running Pluto, and then going to the browser to run it. How many steps was it? 7. Seems quite uninviting. Now think of a person who has never touched any terminal in his life. Seems like an even more daunting task. A person who is only interested in running a Pluto Notebook and running Julia on it may or may not know how to do any of these steps, and since these can be automated, why keep this task to the end user? My Plan to solve: This is where this app comes in, bundles all these steps, runs this in the background, and then only shows the user their notebook running inside the app itself, no browser required. Deliverable: An Electron app that can perform the following tasks: 1. Install Julia and pluto on the first run. 2. Show the pluto view inside the app. 3. Allow the view to interact with the server. 4. Support the native file system features of Pluto. 5. Support running more than one instance of Pluto views. 6. Support light and dark modes. 7. Be responsive (allow different screen sizes). 8. Show the Julia Package Page inside the app itself to refer to some documentation when and if required. 9. It should also have proper comments and documentation for future reference.
MedEye3D.jl aims to enhance medical imaging visualization within the Julia language ecosystem. The current proposal addresses the need for improved functionality in windowing, support for the display of super voxels, faster load times, and robust viewing of multiple images. By leveraging Rocket.jl and ModernGL.jl, the proposal plans to implement features like enhanced windowing for MRI and PET data, support for the display of super voxels, and high-level functions for improved user experience. The project aims to streamline visualization processes and provide essential tools for 3D medical imaging workflows. The main deliverables include: Supporting simultaneous visualization of multiple registered medical images, with linked scrolling, cursor highlighting, and connecting lines between annotated points across images. Implementing automatic windowing and colormaps for common MRI and PET imaging modalities to provide consistent visualizations mimicking other medical imaging software. Adding support for visualizing supervoxel segmentations with boundary detection using techniques like the Sobel filter. Improving startup time by precompiling critical components of the package. Implementing high-level functions to simplify basic usage by abstracting away low-level details of image loading, rendering, and visualization. By enhancing MedEye3D.jl with these features, the project aims to provide a more comprehensive and user-friendly tool for 3D medical image visualization and analysis within the Julia ecosystem. The improvements will facilitate better integration into medical imaging workflows and enable more efficient exploration and interpretation of data across different modalities.