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.
<p>OpenEverest is an open-source cloud-native database platform that helps developers deploy and manage PostgreSQL, MySQL, MongoDB, and other databases on Kubernetes. Currently, `everestctl` serves primarily as an installation tool for deploying and deleting OpenEverest itself. However, users increasingly need a powerful command-line interface to manage their databases, clusters, and integrations directly from the terminal. This project aims to transform `everestctl` from a basic deployment tool into a comprehensive CLI for managing OpenEverest resources. The mentee will design and implement a modern, user-friendly CLI experience that allows users to provision databases, manage Kubernetes clusters, interact with OpenEverest plugins, and automate database operations — all without leaving their terminal. The project will involve working with Go, Kubernetes APIs, OpenEverest's plugin architecture, and modern CLI frameworks like Cobra.</p><p><br></p><p>Expected Outcome:</p><p><br></p><ul><li>Core database management commands: `everestctl db list`, `create`, `delete`, `get`, `logs` for PostgreSQL, MySQL, and MongoDB</li><li>Cluster management: `everestctl cluster list`, `register`, `status` for managing Kubernetes clusters</li><li>Plugin integration: `everestctl plugin list`, `install`, `configure` for OpenEverest plugins</li><li>Shell completion scripts (bash, zsh, fish)</li><li>Unit and integration tests with >80% coverage</li><li>Comprehensive documentation with usage examples</li></ul>
Benchmarking sampler implementations for Bayesian inference is hard — the algorithms are inherently stochastic, and often produce only Monte Carlo samples of some distribution of interest. As a result, Bayesian inference lags other areas of machine learning in the availability of common benchmarks. To help solve this, the Stan team put together posteriordb, described as: "a set of posteriors, i.e. Bayesian statistical models and data sets, reference implementations in probabilistic programming languages, and reference posterior inferences." (posteriordb Github readme). This proposal would add Turing implementations for most of these models, facilitating easier sampler benchmarking in Turing. This database would also serve as a set of examples of Turing best practices. The project will result in a database of 120+ varied Bayesian models written in Turing, representing translations of a database of corresponding Stan models. Regarding deliverables, the proposal pdf contains a detailed and complete schedule, directly blocking out time for 130+ of the posteriors, with some additional stretch goals included. As a summary, (1) Initial weeks are spent getting familiar with Turing best practices while building out 50+ of the simplest models (mostly, variants of Bayesian regression). (2) Weeks leading up to the midterm assessment are blocked off for GLMMs and Bayesian ODEs. (3) Weeks following the midterm assessment are dedicated to two types of discrete models — first, models with a discrete structure amenable to simply summing out the discrete components (e.g. mixture models). Second, I'll implement HMMs, which require some specific algorithms to match the Stan posteriors. (4) Chip away at remaining models that don't neatly fit into a specific category, for example, neural networks, splines, and gaussian processes. If a week ends with models incomplete, I'll move on to the next week, ensuring a varied selection of models make it into the database.
<p>Probabilistic models, which more naturally quantify uncertainty when compared to their deterministic counterparts, are often difficult and tedious to implement. Probabilistic programming languages (PPLs) have greatly increased productivity of probabilistic modelers, allowing practitioners to focus on modeling, as opposed to the implementing algorithms for probabilistic (e.g. Bayesian) inference. Turing is a PPL developed entirely in Julia and is both expressive and fast due partly to Julia’s just-in-time (JIT) compiler being implemented in LLVM. Consequently, Turing has a more manageable code base and has the potential to be more extensible when compared to more established PPLs like STAN. One thing that may lead to the adoption of Turing is more benchmarks and feature comparisons of Turing to other mainstream PPLs. The aim of this project is to provide a more systematic approach to comparing execution times and features among several PPLs, including STAN, Pyro, nimble, and Tensorflow probability for a variety of Bayesian nonparametric (BNP) models, which are a class of models that provide a much modeling flexibility and often allow model complexity to increase with data size.</p>
Overall, the proposal is about adding a few missing features in the package, like addition of new models, some metaprogramming, lazy evaluation, testing, documentation and linting. Currently, the package only supports four regression models (Linear, Logistic, Poisson and Negative Binomial regression). There is a huge scope of adding many more models to the package. To start with, we can add the Gamma and Inverse Gaussian regression models, and the ARIMA model for time series. Over time, more models can be added to the package. There is also a scope of adding new macros to the package to make the syntax more clean. An example of this is in the fitmodel function of the package (and is explained via a code snippet in the proposal). From the documentation, it can also be seen that any model has many attributes which are computed when the fit function is called. When working on big data, it is possible that not all the attribute values are needed, so it is currently inefficient to compute every attribute. Instead, one can compute the attributes lazily, i.e as and when they are needed. Rigorous unit testing should be added to the package to ensure code correctness. Also, the package code can use a lot of help with its documentation and code coverage. All of these can be implemented using CI/CD. Finally, in its current state, the package lacks strict code conventions (like variable names, commit message rules etc). These are essential to ensure good quality code and to make the job easier for future contributors. To enforce this, linting can be added to the code along with Git hooks to enforce these conventions. Also, a well defined API should be documented for the models, so that new models can be added at ease.
JuliaBUGS is a modern Julia implementation of the classic Bayesian Inference using Gibbs Sampling — BUGS language for Bayesian modeling, combining BUGS’s intuitive model specification with Julia’s high-performance sampling methods like Hamiltonian Monte Carlo. This project proposes a browser-based graphical model editor for JuliaBUGS, enabling users to visually construct probabilistic graphical models by adding nodes and drawing arrows, instead of writing code. Built using React with TypeScript and React Flow, the web interface will support adding, connecting, grouping, and editing random variables and deterministic nodes via an interactive canvas. Users can specify probability distributions and hyperparameters through intuitive forms. The editor will export model structures to JSON and generate valid JuliaBUGS (or BUGS) code. The GSoC project will focus entirely on delivering a polished, user-friendly frontend with clear usage examples and tutorials. Inspired by tools like DoodleBUGS (for WinBUGS or MultiBUGS), shinystan, and the R Package causact, this editor aims to make model specification more accessible and streamline the Bayesian modeling workflow.
Survey.jl is a Julia package for survey analysis inspired by the R package 'survey'. It aims to address the unique challenges associated with the analysis of large survey datasets, such as weighting, clustering, and stratification. I will be completing the implementation of generalized linear models, adding support for more complex survey types, creating helper functions as needed, and helping to refactor parts of the codebase.
<p>The project aims to grow the TensorFlow.js model garden with five new low-latency, low-power, high-accuracy applications controlled via an interactive dashboard, providing a proof of concept for the mobile-first paradigm of machine learning.</p>
The Project aims at doing work on planned features around the UserTopic model. The other area I am planning to work on is API documentation. Zulip has a nice framework for writing API documentation based on the OpenAPI standard with built-in automated tests, but there are around 40 endpoints that are missing, several of which are quite important.
<p>Julia is a dynamic programming language that, over the past few years, gained interest in the open-source community, especially in the field of scientific computing. Julia programs are executed by a virtual machine that translates the source code, during run-time, to machine code based on the LLVM compiler framework. LLVM provides a variety of analyses and transformation capabilities that are leveraged to optimize programs and facilitate efficient execution. More recently, LLVM was enhanced by a new optimization framework, namely Polly, that supports automatic parallelization and data-locality optimizations based on the polyhedral model. Polly is able to speed up compute kernels significantly, especially in the context of dense linear algebra and iterative stencil computations. In the course of this project I plan to integrate Polly into Julia to enable polyhedral optimizations for Julia programs.</p>
<p><strong>Create a retraining Machine Learning Classification Model strategy for Kindly to end cyberbullying</strong></p><p>The deadline to create an initial application has passed for the December 2021 Outreachy internship cohort. We are no longer accepting initial applications for internships. We encourage you to sign up for the announcements mailing list to get an email when the next round opens. Why apply to Outreachy? > Start your initial application > December 2021 Outreachy internship cohort > UNICEF Innovation Community details are hidden until you are approved to participate as a mentor or coordinator.</p><p><br></p><p><strong>Mentorship Cohort:</strong> 2021</p>
Toolkit for Multivariate Analysis (TMVA) is a multi-purpose machine learning toolkit integrated into the ROOT scientific software framework, used in many particle physics data analysis and applications. Since it is part of the ROOT data analysis framework, it comes with an automatically generated Python interface, which closely follows the C++ interface. The goal of this project is to develop a generator in C++ and Python to read data from the ROOT I/O and input them to the Python machine learning tools such as Tensorflow/Keras and PyTorch. The main aim of the generator is to efficiently input data from the ROOT I/O system to train machine learning models, and keep in memory only the data required to train a batch of events and not all the data set.
<p>At present, the Kthena router provides robust support for routing within the cluster. However, during discussions with customers, some users have expressed a need for the ability to integrate with external large language model APIs. Consequently, the Kthena community plans to use this LFX to enable the router to access third-party LLM APIs.</p><p><br></p><p>Expected OUtcome:</p><p> 1. Proposal</p><p> 2. Code(Include unit test. It would be even better if end-to-end testing were included. However, external LLM APIs are unlikely to offer stable, long-term free access, so end-to-end testing is not a prerequisite.)</p><p> 3. User Guide and related documents.</p><p><br></p>
<p>This project leads to the creation of the Sentometrics package that is designed to do time series analysis based on textual sentiment. Time series modeling using sentiment from text requires its own package because of the intrinsic challenge that for a given text we can compute sentiment in hundreds of different ways, as well as the large number of possibilities to pool sentiment across text and time. This additional layer of manipulation does not exist in standard time series analysis. The package aims to derive the optimal sentiment extraction and aggregation for the forecasting task. Aggregation can be optimized across several dimensions, for example word term weighting schemes or time lag structures. The package created therefore integrates the qualification of sentiment from text, the aggregation into different sentiment measures and the optimized forecasting based on these measures. No such integrated textual sentiment forecasting approach exists in any R package. The goal is to provide an automated means to measure the impact of sentiment in texts on a given variable, obtaining readily interpretable and useful outputs and an object to play with, when using this package.</p>
The goal of this project is to improve the tooling surrounding embedded machine learning on the BeagleBone Black(BBB)/Bela to aid its community in experimenting with machine learning applications for their projects. The specific developer tools chosen for this project are an inference benchmarking tool as well as a perf-based profiler developed for the BBB/Bela platform.
I am proposing the use of Convex Inner Approximations to plan the trajectories. The Convex Inner Approximation method finds kinodynamically feasible trajectories that guarantees collision avoidance. It also finds the trajectories in fewer iterations and as a result is much faster than traditional obstacle avoidance constraints.
<p>Neural Tangents (Infinite-width NNs) migration and reconstruction for TensorFlow 2.x, originally based on JAX (<a href="https://github.com/google/neural-tangents" target="_blank">https://github.com/google/neural-tangents</a>). The basic idea is when the width of the NNs approaches infinity, the dynamics is very similar to a Gaussian Process, which enables better understanding of Deep Learning. We hope with the help of enriched TF ecosystems, this can potentially power more SOTA research in explainable AI and assist in building trustworthy machine learning systems.</p> <p>We welcome any thoughts and ideas - zhibozhang@cs.toronto.edu</p>
<p>Development of a generic and dynamic system for interconversion of the already implemented coordinate systems.</p>
<p>Interpreting genomic data largely relies on simulation software. One important family of software simulates population-level diversity over the course of evolution as a function of selection and demography. The ∂a∂i open-source package, developed by Ryan Gutenkunst (<a href="http://gutengroup.mcb.arizona.edu" target="_blank">http://gutengroup.mcb.arizona.edu</a>), is the leading software in the field, but is limited when handling large datasets.</p> <p>This project aims to overhaul the computational engine of the ∂a∂i software by implementing a recently developed approach for solving partial differential equations. The project will use ∂a∂i's interface and code-base, but introduce a new spectrum simulation engine. Using a moment-based approach will improve performance and reduce numerical uncertainty, offering the genetics community with a general-purpose simulation tool that can address larger and more complex datasets than previously possible.</p> <p>A prototype version of the computational engine is already running. The goal of this project will be to optimize the engine and embed it efficiently in the existing code-base.</p>
<p>I hope to develop a package, ParallelGraphs, that enables the analysis and manipulation of massive graphs in a distributed environment. The package will adhere to two separate computing models; The first being the vertex centric Pregel model that relies on Bulk Synchronous Parallel infrastructure. The second model is a combinatorial approach that involves matrix operations such multiplication and vector indexing on distributed sparse matrices. ParallelGraphs will enable users to process graphs using sequential algorithms on smaller graphs. This will be accomplished by providing compatibility with LightGraphs.jl. The package will also experiment will CPU/GPU parallel algorithms with an aim of unifying all graph computation models in a single package.</p>
<p>Surrogate modeling has become a staple in large-scale scientific computing applications like aerospace and chemical engineering where full evaluations of the model are too expensive to be directly utilized within analysis contexts. However, with the recent advent of pervasive deep learning through differentiable programming, the ability to mix surrogate techniques with neural network code has become a practical issue. Surrogates.jl is a new surrogate modeling library hosted under the DiffEq umbrella which supports differentiable programming to allow for accelerated deep learning. It is compatible with forward and reverse mode automatic differentiation.</p> <p>My plan is to develop more surrogates methods, such as but not limited to: Compactly supported surrogates, Polynomial expansions, Regularized minimal-energy tensor-product splines, Variable fidelity modeling, Mixture of experts and DENSE.</p>
<p>Differential equation models are widely used in many scientific fields that include engineering, physics and biomedical sciences. The so-called “forward problem” that is the problem of solving differential equations for given parameter values in the differential equation models has been extensively studied by mathematicians, physicists, and engineers. However, the “inverse problem”, the problem of parameter estimation based on the measurements of output variables, has not been well explored using modern optimization and statistical methods. Parameter estimation aims to find the unknown parameters of the model which give the best fit to a set of experimental data. In this way, parameters which cannot be measured directly will be determined in order to ensure the best fit of the model with the experimental results. This will be done by globally minimizing an objective function which measures the quality of the fit. This inverse problem usually considers a cost function to be optimized (such as maximum likelihood). This problem has applications in systems biology, HIV-AIDS study.</p>
<p>Machine learning models have demonstrably achieved significant success in data classification and prediction across innumerable industries and applications. Today, rolling out a new model has become ever easier with the popularization of open-source frameworks such as scikit-learn and MLJ. Despite the unprecedented accessibility, designing effective models with appropriate hyperparameters remains obscure for the common user without high-level technical understanding and expert intuition. In an effort to automate the process of tweaking hyperparameters, MLJ has introduced a unified interface for tuning models, providing support for widely used strategies like grid and random search. The available schemes, however, primarily perform exhaustive testings on selected hyperparameter combinations. In this proposal, I present a plan to implement a new strategy, particle swarm optimization (PSO), which utilizes information from past attempts to improve hyperparameter search. The first section offers a summary of the method and existing implementations, while the second sketches the technical details of a PSO algorithm for MLJ and a tentative timeline to deliver the project’s goals.</p>
Fine-tuning LLMs like Gemma requires deep ML expertise and complex setups, slowing down adoption of SLMs in various industries and communities despite their rapid advancements. Existing resources like Colab notebooks aren’t scalable for real-world workflows. Facet AI solves this with a no-code web platform that streamlines the entire fine-tuning process—from dataset curation to model deployment. It supports multiple post-training methods, including full fine-tuning, PEFT, SFT, and RFT, with built-in evaluation and export tools. Powered by Google Cloud, Facet AI removes technical hurdles so teams can focus on building innovative text and multimodal applications.
<p>Grimoirelab is an open-source toolset for software development analytics. Grimoirelab provides a set of tools to collect, analyze and visualize software development metrics from a variety of sources like Git, Jira, Confluence, Slack, etc. In order to manage the identities of people across these different sources, Grimoirelab developed Sorting Hat. Sorting Hat manages the identities of people and related metadata.</p> <p>As part of the metadata collected around identities, Sorting Hat stores organizational information such as the name and domains related to the organization. This project aims to add to this information by extending the existing Organization model to capture the internal structure of organizations such as departments, sub-organizations, and teams. This will help in annotating the identity information more meaningfully.</p>