Back to Programs

Science and medicine

NumFOCUS

NumFOCUS promotes open source scientific software.

c++juliapythonr

Participation history

11 GSoC years

2026

27 projects

Official year page

Numba Optimized Implementations for scikit bio Performance Critical Functions

scikit-bio relies on Cython extensions for performance-critical distance and ordination operations, but these cannot accept GPU arrays. This project...

Lumen + Xarray Integration

Lumen handles tabular data through DuckDB but cannot work with N-dimensional scientific formats like NetCDF, Zarr, and HDF5. This project brings...

Serialization Of Map and Model Classes into ASDF format

Gammapy currently serializes its data products across multiple data formats, which creates a fragmented workflow with poor metadata handling. This...

pvlib: Standardizing Diffuse Irradiance Components and Extending ModelChain's Optical Loss Modeling

This project aims to improve the handling of transposed diffuse irradiance and optical loss modeling in the pvlib-python package. Currently, pvlib’s...

Large Scale HEOM Solver Using PETSc

This project aims to scale QuTiP's HEOM solver beyond single-node limitations by integrating PETSc to distribute ODE integration across multiple MPI...

Predictively Oriented Posteriors in PyMC

Standard Bayesian posteriors degrade under model misspecification by collapsing to point estimates. This project implements Predictively Oriented...

Native Julia ODE, SDE, DAE, DDE, and (S)PDE Solvers

OrdinaryDiffEq.jl contains over 18 IMEX Runge–Kutta implementations that share identical stepping logic but have bespoke per-method perform_step!...

Reduced Order Modelling with Neural Operators in Gridap.jl

THE PROBLEM: Solving partial differential equations (PDEs) for parametrical studies is a fundamental part of scientific research, but traditional...

Distributed Linear Solvers in LinearSolve.jl

This project will add distributed linear solver support to LinearSolve.jl by expanding and hardening PETSc.jl integration. The goal is to let SciML...

AiiDA Copilot: AiiDA Natural Language Interface Using Multi-Agent AI

AiiDA workflows currently require manual Python scripting. This project builds a multi-agent AI system that lets scientists interact with AiiDA...

Stateless API for Scalable and Composable Inference in sbi

This project redesigns sbi's potential function API to eliminate stateful behavior, inconsistent IID handling, and device management bugs. The new...

Parallelizing r.proj and Raster Processing Modules in GRASS

r.proj and r.param.scale are widely used GRASS raster modules that run entirely on a single core, leaving modern multi-core hardware idle. This...

Supporting Input Convex Neural Networks in MathOptAI.jl

MathOptAI.jl is a Julia package for embedding machine learning models into optimization problems built using JuMP. These embeddings work as...

QuTiP: GPU-enabled circuit simulation in qutip-qip

The current gate-level circuit simulator in qutip-qip utilizes a full sparse Qobj representation of each gate, expanding local gates to the Hilbert...

DevOps improvement and standardization

This project focuses on improving the development and testing infrastructure across the ArviZ ecosystem (arviz-base, arviz-stats, and arviz-plots)....

Add Spatio-Temporal Datasets Support to GRASS Data Catalog GUI

Currently, the GRASS Data Catalog only queries standard spatial maps and bypasses the temporal database and STDS's entirely. As a result, Space Time...

DeepForest P_2: Recovering Historical Image Data Using Automated OrthoRegistration and ImageMatching

The U.S. Forest Service's Aerial Detection Survey (ADS) program has produced tens of thousands of hand-drawn polygons marking forest health damage...

Neural Network Builder API Refactor

The sbi (Simulation-Based Inference) library currently constructs neural density estimators via opaque factory functions that accept loose keyword...

PySal: Implementation of Geographically Weighted Matrix Decomposition Algorithms in gwlearn

Standard PCA assumes a globally stationary covariance structure, missing spatial heterogeneity in geographic data. This project implements...

Panel / HoloViews MCP Integration

Panel and HoloViews are powerful Python visualization libraries but they have no MCP integration today. AI agents can write visualization code but...

Trainite: A Reusable Toolbox for Training Language Models

Every time a researcher wants to train a language model, they end up rewriting the same infrastructure: data loading, optimizer setup, training...

Succinct Data Structure for Efficient Operations on Trees in Scikit-bio

Scikit-bio offers a great toolkit for working with biological data that has a tree-like structure. Although the current implementation, TreeNode, can...

SciML Comprehensive Non Uniform Grid Support for MethodOfLines

This project aims to deliver comprehensive, end-to-end non-uniform grid support for MethodOfLines.jl. Currently, basic advection schemes lack...

DeepForest: Recovering computer vision annotations from historical airborne imagery monitoring

After the 2010 Deepwater Horizon oil spill, airborne surveys produced 18,304 images with 2.6 million birds individually marked using a point-counting...

Matplotlib Overlay Layer API for Smooth Interactive Tools

I propose to implement the Overlay Layer API for Matplotlib’s interactive backends. Currently, tools like the Cursor widget force a full figure...

Parallelizing loo

The `loo` package is a widely used R package in the Stan ecosystem which exposes a clean API to cross-validate (CV) Bayesian models. Currently, some...

PyMC Streaming Variational Inference for Large Datasets

PyMC's variational inference stack — including ADVI and Pathfinder — assumes all data fits in memory. Real-world applications such as financial tick...

2025

31 projects

Official year page

From "Stringly Typed" to "Strongly Typed" Arguments in sbi

sbi is an open-source Python package used for simulation-based inference. It provides an interface for running algorithms that are used to identify...

Adding embarrassingly parallel graph algorithms in nx-parallel

Expanded and enhanced nx-parallel, a parallel backend for NetworkX that leverages joblib to parallelize graph algorithms. I implemented several...

State-Space Models: Dynamic Factor Models

State-space models (SSMs) provide a flexible framework for modeling dynamic systems where latent states evolve over time. In econometrics, Dynamic...

Versioning System for DISCOVER Cookbook

This project focuses on implementing a versioning system for the DISCOVER Cookbook, enabling seamless navigation across distinct documentation...

Multidimensional SDE PINN solvers

Stochastic dynamical systems play an important role in scientific and engineering domains, particularly in systems governed by Brownian motion or...

SubOrganization: Aeon Project #3: Forecasting – Deep Learning for Forecasting

Time series forecasting is paramount in many domains, including finance, healthcare, energy, and climate science. This project suggests incorporating...

Community detection guide with igraph

Community detection is one of the most commonly used network analysis techniques. It is the process of grouping nodes of a network together based on...

Creating New Plots with Bayesplot (Stan)

The bayesplot package is a key tool in the Stan ecosystem for visualizing Bayesian analysis results. However, it currently lacks specialized...

Adding Translation System for DISCOVER Cookbook

Currently, the Cookbook has multiple resources that can help any event became inclusive and accessible to everyone. However, its accessibility...

LiftOver2D: A Tool for Converting Hi-C Matrices Across Assemblies and Binning Schemes

The LiftOver2D project aims to develop a high-performance tool for converting Hi-C matrices between different genome assemblies and binning schemes....

[PYSAL] - Produce Routing Engine for `spopt`

In the Python Spatial Analysis Library (pysal), the spopt package is concerned with the formulation and solving of various spatial optimization...

Adding More Optimizer Interfaces to optimagic

optimagic is a optimization library which aims to provide a unified interface to optimizers from SciPy, NlOpt and many other widely used packages....

Benchmarking and Profiling in toqito

This project aims to test the performance of |toqito⟩ and compare it with other quantum computing libraries. It is divided into three parts: (1)...

Extending ONNX-mlpack Translator with Advanced Model Support

This project aims to extend the capabilities of the ONNX-to-mlpack converter by adding support for more advanced and diverse model architectures. The...

Adding More Optimizer Interfaces to optimagic

This project integrates optimizers from bayesian-optimization, PyGAD, and PySwarms into optimagic, a Python package that offers a unified interface...

Implementing the Simformer for sbi

sbi is a Python package providing simulation-based inference tools for researchers and practitioners; given simulation results, sbi aims to infer the...

Implementing RUBI (Rule-based Integrator) in the Julia package Symbolics.jl

This project aims to implement the RUBI integration system - a powerful, open source, rule-based integration system developed for the computational...

PyBaMM - Adding a Dispatching Mechanism for Third Party Models.

This project will make the addition and sharing of third-party battery models easier in PyBaMM. It is an extension of the PyBaMM cookiecutter project...

Implementing Integrated Nested Laplace Approximations (INLA)

A key component of Bayesian inference is integrating over prior distributions to obtain posteriors. In practice however, these distributions are...

Create and Add to an Example Gallery for toqito

This project addresses the need for enhanced usability and learning resources within the toqito quantum information library by creating a...

Developing an Active Learning Module for DeepForest

This project aims to enhance DeepForest by integrating and extending the active learning capabilities from Weecology/BOEM into its training pipeline....

Finite Volume Method Implementation for TNL

Template Numerical Library (TNL) already includes several solvers for partial differential equations, such as the Finite Element Method (FEM),...

Add support for 3D thermal simulations in PyBaMM

Seeing the current increasing demand of high performance batteries, accurate thermal modelling of battery behaviour is essential. This project...

Data Retriever: Creating a multi-sensor airborne benchmark for Tree Species classification

This project aims to create a benchmark dataset for tree species classification using multi-sensor airborne data (RGB, HSI, and LiDAR) from the...

Integrating DeepForest Object Detection with LLM for Automated Ecological Image Analysis

This project attempts to integrate DeepForest's object detection models into Large Language Models (LLMs) so that ecological images can be queried...

ArviZ Plots Feature Parity

ArviZ is a Python library for the exploratory analysis of Bayesian inference models. It is currently undergoing a major refactor into a modular...

aeon - Implementing and Evaluating Machine Learning Forecasters

This project will investigate algorithms for forecasting based on traditional machine learning (tree based) and time series machine learning...

Hamiltonian Library for QuTiP

This project aims to develop a comprehensive Hamiltonian Library for QuTiP (Quantum Toolbox in Python). Currently, QuTiP users must frequently...

Extending the loo Package

The `loo` package is a widely used R package in the Stan ecosystem which exposes a clean API to cross-validate (CV) Bayesian models. As new CV...

igraph | Degree-Constrained Null Models & Graph Construction

Graphs are powerful tools for understanding relationships and structures — from social media connections to brain networks. Often, we want to study...

Proposal for PYSAL– SPOPT

This project aims to extend PySAL's spatial optimisation library (spopt) by implementing flow-based facility location models, specifically the Flow...

2024

35 projects

Official year page

Implementation of Physics-Informed Point Networks for Simulation in Irregular Geometries

The goal of this project is to implement Physics-Informed Point Networks (PIPNs) in Julia to solve partial differential equations (PDEs) on irregular...

ArviZ Plotting Refactoring Python

ArviZ is a package for the exploratory analysis of bayesian inference models. The current Python release of ArviZ involves three major modules that...

Developing an Advanced Image Recognition Model for Bird Nest Detection in UAV Imagery

The Everglades, a vital habitat for vulnerable and endangered bird species, requires accurate monitoring of nesting patterns for effective...

Explore the Aiida Node graph in the browser

The project aims to create an intuitive tool in React for browsing AiiDA graphs, replacing the outdated AiiDA Provenance Browser in Materials Cloud...

Improve user experience using the Jupyter toolkit

The UI Toolkit serves as a component library tailored for crafting web interfaces within the Jupyter ecosystem, encompassing platforms such as...

PyMC - Add PyTorch backend to PyTensor

PyTensor is a Python library that allows you to define, optimize/rewrite, and evaluate mathematical expressions involving multi-dimensional arrays...

ArviZ: Prior Elicitation

PreliZ is a Python package aimed at helping practitioners choose prior distributions by offering a set of tools for various facets of prior...

PyBaMM - Migrate to scikit-build-core

This project aims to enhance PyBaMM's packaging infrastructure by migrating from setuptools and wheel to scikit-build-core, providing improved...

aeon - Developing Deep Learning Framework and Implementations for Time Series Clustering

Time series clustering involves grouping similar time series data together based on specific features or patterns. Deep learning algorithms have...

Enhancing solar energy modelling: implementing new spectral corrections in pvlib python

Accounting for spectral effects in photovoltaic (PV) performance models is critical for accurate and reliable performance forecasts. Variation in the...

GOSST: Implement OSSF Scorecard Action and Remediating Score Across Multiple NumFOCUS Projects

This proposal outlines a project aimed at enhancing the security posture of NumFOCUS affiliate projects by implementing the OSSF Scorecard action and...

Control ML Optimization

The Gradient Ascent Pulse Engineering (GRAPE) algorithm has been implemented in QuTiP, facilitating a model-based approach to quantum optimal...

Open Science Labs: PyDataStructs: Add a C++ Backend for tree data structures and their algorithms

PyDataStructs aims to be a Python package for various data structures and algorithms (including their parallel implementations). My project involves...

CB-GeoMPM: 3D Gaussian Splat to enable Physics-Driven MPM Simulations from Videos

This project would integrate the current state-of-the-art 3D reconstruction method in computer graphics namely "Gaussian splatting" with existing...

PyMC - Improve PyTensor linear algebra support using graph rewrites

PyMC uses PyTensor as its computational backend, which allows efficient optimisation, rewrites and evaluation of mathematical operations. Using a...

Make the Plugin System Data-Based

The JupyterLab application relies heavily on plugins sourced from the Lumino project. Currently, all plugins load at startup, significantly...

Checkpointing in DOLFINx using ADIOS2

Large scale simulation of scientific and engineering problems requires high performance and distributed memory systems. Computing resources and time...

NetworkX: Revisiting and expanding nx-parallel

Expanded and enhanced the nx-parallel project, a newly developed parallel backend for NetworkX utilizing joblib to parallelize graph algorithms. Key...

aeon - Machine learning from EEG with aeon-neuro

Develop aeon-neuro to provide structured tools for machine learning from neural data. This project will focus on implementing algorithms for EEG...

Open Science Labs | noWorkFlow: Verify the reproducibility of an experiment

This project focuses on extending the noWorkflow scientific workflow library by introducing new features that enhance its ability to analyze...

Bivariate Colormaps

Multivariate data visualization is useful when grappling with correlated data that naturally arises in a number of scientific fields, such as...

QuTiP: Enhanced Quantum Circuit Diagrams

The project aims to improve the quantum circuit visualization capabilities of QuTiP-QIP by introducing a new framework for circuit rendering that...

Pathfinder Variational Inference

I propose the implementation of the Pathfinder algorithm for variational inference in PyMC. The Pathfinder algorithm is a recent advancement in the...

Build and publish PyBaMM-cookiecutter as a template for new PyBaMM-based projects

The project aims to build and publish python-cookiecutter templates for new PyBaMM-based projects. It is designed to simplify the setup process of...

Multigrid for FEniCSx

Multigrid methods shape the method of choice when a self containing family of triangulations of a FEM discretization is at hand to achieve an optimal...

Data Retriever - Advancing Bird Detection and Classification in Hand-Held Airborne Imagery

DeepForest is a library for training and deploying deep learning models for forestry tasks. The library is built on top of the PyTorch deep learning...

Floating Solar - Enabling modeling of floating PV with pvlib

Accurate modeling of cell temperature is essential for estimating the performance of PV systems. However, very few models exist for calculating cell...

Improve PyBaMM's testing infrastructure.

Goal of this project is to improve PyBaMM's test suite by migrating from Unittest to Pytest. This would include but is not limited to : rewriting all...

Parallel Algebraic Multigrid for Structural Mechanics in Julia with PartitionedArrays.jl

Algebraic multigrid (AMG) methods are one of the most popular techniques to solve systems of linear equations in structural mechanics. Parallel AMGs...

Swiss Army Knife Builder CLI

The builder tooling of JupyterLab is directly integrated in the core codebase. This causes maintenance to become a burden for both core developers...

pvlib python improvements on shading and spectral research and modeling

This proposal aims to add a variety of scientific utilities to the pvlib python project that will focus on new models and research tools regarding...

Feature enhacments in NeuralPDE.jl and LuxNeuralOperators.jl

NeuralPDE.jl is a high performance Julia package to solve differential equations using neural networks. This proposal aims to improve the sampling...

aeon - Implement Proximity Forest for Time Series Classification

This project will implement and benchmark the Proximity Forest Algorithm for Time Series Classification in aeon. With the ever-increasing data, the...

QuTiP Project: Integrating Auto-differentiation with QuTiP Solvers Using JAX

The project aims to seamlessly integrate JAX's jit and auto-differentiation functionalities into QuTiP, a quantum computing simulation library,...

Taskflow's Worker Specific Notification Module

Our project aims to enhance Taskflow's work-stealing scheduler by implementing a worker-specific notification module. This will provide finer control...

2023

24 projects

Official year page

[PyBaMM] - Documentation - Agriya Khetarpal

This project aims to enhance the documentation infrastructure for PyBaMM and consolidate all of it in one place, which includes but will not be...

Ranking system for AiiDA plugin registry

AiiDA has a flexible plugin system that allows extending most aspects of the code. This project aims to add several functionalities to the AiiDA...

Dockerizing & Simplifying PyBaMM's Installation

PyBaMM has a tedious installation process for development , which proves to be difficult for developers & researchers or anyone who wants to develop...

Adding structured Lagrangian support to CVXPY

Optimality conditions are a key aspect of mathematical optimization. The Karush-Kuhn-Tucker (KKT) conditions in particular are a really powerful...

Modernization of the conda-forge.org website

The project aims to modernize the conda-forge website by redesigning the landing page and creating a style guide for other conda-forge’s web-based...

Open Science Labs-Improve Scientific Python Cookiecutter Project

Cookiecutter is a powerful command-line utility that generates project templates. Open science lab has developed a template that aims to provide the...

NumFocus & SciML, PDEs on Graphs

I propose to implement a common interface to deploy the power of SciML to dynamical systems on graphs. In achieving this, one new package will be...

Expand support for spatial models in PyMC

This project would implement the Besag, York, Mollie (BYM) model in PyMC. BYM is a highly flexible model for studying spatial data and is used widely...

Better tools to interpret complex Bambi regression models

Bayesian modeling has increased significantly in academia and industry over the past years thanks to the development of high quality and user...

PyBaMM Techno-Economic Analysis Library

A very interesting and nice thing during the development of batteries are back-of-the-envelope estimations. An example might be to estimate an areal...

nx_parallel: a parallel backend for NetworkX + nx-guides Contributor Guide and Traversal Notebook

NetworkX is a Python package offering a large set of algorithms and tools for the study and manipulation of graphs. Users have requested parallel...

SciML: Integrating PubChem Closely into Catalyst and SciML

The project will involve the creation of a new package that will provide an interface to query for chemical species and enzymes using the PubChem...

Taskflow: Creating Parallel Algorithm Primitives

The C++ Standard Template Library (STL) provides many algorithms to sort, search, and perform a variety of operations on numerous data structures in...

Adaptive MIRK BVP solvers

Boundary value problems (BVPs) are mathematical models that arise in a variety of fields, such as economics and chemistry. BVPs are essentially...

Matplotlib: Improvements to MathTeX

Matplotlib is a popular data visualization library that is used in multiple academic and industrial projects. LaTeX is a common tool for formatting...

PyLops: MPI backend for distributed inverse problems

Pylops has been developed to solve large-scale inverse problems. Keeping in mind the memory size of a single machine, there is a need to perform the...

[PySAL - spopt Development] P-Median Model with Near-Far Cost Allocation: Guided by Tobler's Law

For now spopt has implemented several basic facility location models, providing the free open source for researcher, or organizations to use....

CB Geo: Differentiable Programming in MPM

CB Geo-Material Point Method is used to simulate particulate and fluid systems. In this method, particles are mapped to a background mesh, and...

Extending the data structures and algorithms along with providing C++ backend.

PyDataStructs is a high-performance python package for data structures and algorithms providing C++ backend via Python C-API as well as a parallel...

Data Retriever: Tree health and mortality from NEON data

The project aims to build a new function that populates the NEON field and remote sensing data for deepforest which will help us build a baseline...

Benchmark tooling for common models and operations

FluxML is a deep learning stack built in 100% Julia code, which aims to provide high-speed and light-weight abstraction of GPU, auto-differentiation...

QuTiP Virtual Lab

Simulating quantum physics in QuTiP provides an excellent educational tool. However, using QuTiP requires writing Python code, which may present an...

Boosting canonicalization performance by replacing N-dimensional sparse tensor representation

(This project is for CVXPY) The performance of canonicalization procedures for optimization problems is an important metric for CVXPY users....

Visualization with QuTiP

QuTiP has a lot of visualization functions, but they are sometimes not user-friendly in that colors are unchangeable and arguments are not organized....

2022

37 projects

Official year page

Registry for Zarr codecs

Each compression algorithm used by Zarr is assigned an identifier by the Numcodecs library. To make these identifiers useful in other programming...

Data Retriever: Data retrieval using NeonVegWrangler

The National Ecological Observatory Network (NEON) collects and provides long-term, open-access ecological data. The NEON Data API provides access to...

qutip-qip as a Qiskit Backend

qutip-qip currently does not perform optimisation and scheduling at gate-level in quantum circuits. Allowing circuits to be imported from qiskit will...

Implement projection predictive variable selection for Bambi-fitted GLMs

Projection predictive inference is a decision theoretic Bayesian approach that decouples model estimation from decision making. Given a reference...

Improve CVXPY’s capabilities for quantum information modeling

CVXPY is a Python-embedded modeling language for convex optimization problems. In this project, I aim to add support for new advancements in...

Optimizing SciML Packages With SimpleChains.jl

This project aims to develop interfaces for the SimpleChains.jl library for use with SciML packages, so that the former’s non-allocating and high...

[pysal] Morphological Street Network Simplification

The study of urban morphology relies on clever abstractions of the built environment into computationally tractable models. One such model, the...

Street Network Simplification: A combined approach

The project aims to fill the current gap in the creation of a baseline urban grid that allows for network analysis of the morphology of street...

PyMC - Fast Exact Gaussian Processes

Gaussian Processes (GPs) are a flexible class of probabilistic models which can automatically fit quite complex functions. In addition, GPs provide a...

Expanding FEniCSx electromagnetic demos

Electromagnetic devices have become ubiquitous in our lives due to their limitless applications. For designing and optimizing such devices,...

FastAI.jl Time Series Development

Time Series models constitute an integral part of the machine learning stack. Time series tasks can span a wide range of tasks such as...

Qutip Benchmarks

Quantum systems are very costly to simulate on a classical computer which can result in exceptionally long computation times. This projects aims to...

Increase Support for Batched Multivariate Distributions

Several multivariate distributions in PyMC, such as MvNormal, MvStudentT, and others, are constrained to working with 2D inputs and do not function...

Model Order Reduction in Julia SciML

For simulating a system that contains many variables and/or equations, traditionally computational engineers tend to focus on utilizing an...

QuantumNLDiffEq.jl and Makie recipes for SciML

This project focuses on porting Plots recipes for SciML to Makie and adding to QuantumNLDiffEq.jl. Completion of the former would allow users to...

Add Gen converter to ArviZ.jl (Julia)

ArviZ's purpose is to provide backend-agnostic tools for exploratory analysis of Bayesian models. To do so, we transform data from probabilistic...

Improve Surrogates.jl

The purpose of this project is to improve Surrogates.jl by adding two new surrogate models - GEKPLS and GENN - and to make fixes and updates to...

Create a Model class for easier deployment of PyMC models

As the project title describes the main goal is to create a model class that builds, saves, loads, predict and fit user created models. This can be...

Facility Location Modeling (spopt) Package Development

Facility location modeling, a set of geoanalytic methods, is a critical problem solving tool leveraged in public and private sector decision making...

FluxML - Metalhead.jl development

This project aims to improve the existing deep learning for computer vision ecosystem in Julia, especially by adding more models that users can use...

Interfaces for consistent statistical analysis in the Python Spatial Analysis Library (PySAL)

For many users of statistical software, the most important aspect of a statistical software package is convenience. Therefore, it is important to...

[Data Retriever] High-performance parallel computing for model fitting and prediction

The aim of this project is to make the currently running forecasting system capable of parallelization. This is needed because the forecasting system...

NetworkX VF2++ Implementation

Graph Isomorphism is an exciting topic regarding networks, but also a fairly complex problem to solve. The goal of the project is the full...

CB-GeoMPM-NumFOCUS-XR Simulations-for-Natural-Hazards

The project would involve creating a pipeline from data acquisition to simulation to overlaying the visualisation in an extended reality (XR)...

Benchmarks for PyBaMM

This project aims to improve and populate the existing benchmark framework of PyBaMM. This will be achieved by - 1. Adding new benchmarks for...

Differentiable Rendering

Implement the “Modular Primitives for High-Performance Differentiable Rendering” paper in Julia, making use of JuliaGPU. Allowing us to compare the...

Text Development for FastAI.jl

The aim is to build the textual portions of the FastAI.jl package, inspired by the fastai Python library, which will provide high-level components...

Fast Exact Gaussian Processes

Currently, exact inference for Gaussian processes within PyMC makes heavy use of Cholesky decompositions that have a cubic asymptotic time...

Multi-output Gaussian Processes in PyMC

Multi-output Gaussian processes (MOGPs), a type of Bayesian nonparametric models, have recently gained strong attention from researchers, and become...

Notebook Enhancements for QuTiP 5

QuTiP uses Jupyter Notebooks to demonstrate its functionality in the field of quantum physics and offers guidance to new users. While QuTiP is...

ArviZ Dashboards

Arviz, which is designed to be a backend-agnostic tool for diagnostics and visualization of Bayesian inference in Python, has encountered a number of...

Improve CVXPY’s performance benchmarks with continuous integration.

A small benchmark suite already exists for CVXPY. The suite measures both the time to compile a problem into the solver standard form, and the time...

[Data Retriever] DeepForest Multi-class Training and Prediction

This project aims to make the model which would already be trained for the classification of species and detection of alive and dead, trees or birds...

Enhance Taskflow's Pipeline Infrastructure

This project is to add a layer of data abstraction on top of taskflow's original pipeline, so that users can either choose to prepare the data buffer...

A PyMC Dirichlet Process Submodule via AePPL Enhancements

In Bayesian statistics, one way to circumvent positing parametric assumptions is to use Dirichlet Processes (DP) as priors for probability...

Solving Heterogeneous Agent Macroeconomic Models

This project aims to implement the sequence space jacobian methods of Auclert et al. (2021) into the Heterogeneous Agents Resources and toolKit...

CuPy coverage of SciPy functions

The project aims to enhance the coverage of SciPy functions in CuPy. The stretch goal is to introduce interpolate module in CuPy. I'm excited about...

2021

45 projects

Official year page

New Version Refactoring

PyMC is currently developing the new PyMC3 4.x version. Core changes involve the use of the new RandomVariable class to simplify/speed up random...

Adding Integro Differential Equations and Improving symbolic representation of geometry in PINNs

NeuralPDE.jl is a Julia package that employs neural networks to obtain a solution of high dimensional differential equations and hence overcoming the...

Increase support for time-series and regressions (Python)

ArviZ is a Python package for exploratory analysis of Bayesian models, intending to provide backend-agnostic tools for diagnostics and visualizations...

Competing destination for Spatial Interaction models, SpInt/PySal

Competing Destination (CD) models, which are an extension of Spatial Interaction (SI) models, has been around since 1980's and are often used...

Colour-Science for python

My project is divided into three parts: What is the Space of Spectral Sensitivity Functions for Digital Color Cameras Implementation of new...

SciML : Discretizations of partial differential equations

The SciML DiffEqOperators.jl library allows to solve PDEs by transforming them into ODEs via finite difference discretizations and carries support...

GSoC Proposal: Multi-Start Optimization Methods

GSoC Proposal: Multi-Start Optimization Methods

Implementing a multiscalar segregation metric | PySAL

This project is focused on incorporating a multiscalar segregation metric into the Python Spatial Analysis Library (PySAL) toolset. Following on from...

Automated Twitter bot to run PyBaMM Simulations

This project aims to build an automated Twitter bot, using PyBaMM's wide range of abilities, that Generates battery degradation simulations with...

CuPy: Extending CuPy coverage of SciPy functions

Scipy is the fundamental library in Python for scientific and technical computation. CuPy is currently supporting many functions provided by SciPy....

Equadratures: Web Application based on Uncertainty Quantification

Equadratures is a powerful open-source library assisting the user to make the use of orthogonal polynomials for uncertainty quantification, machine...

GPU backend for QuTip

QuTiP's data layer provides the mathematical operations needed to work with quantum states and operators, i.e. Qobjs,. As part of Google Summer of...

PySal: Open Source Facility Location Modeling (spopt) Development

The goal of this project is to develop a facility location modeling module that supports various distance measures and returns an optimal solution to...

GSOC Stan Proposal - Bayesian Computation Benchmark

Under guidance from the mentors, the student will develop a suite of models for benchmarking Bayesian computation. That involves gathering...

Supporting Arrays and Allocatables in LFortran

This project aims to add support for arrays and allocatables in LFortran. Specifically, features to be added for arrays are as follows, Declaring...

Extending Time-Series Models

PyMC3 is a probabilistic programming language that uses Bayesian statistics to specify models and estimate unknown quantities. PyMC3 has about seven...

A Full-featured Web Dashboard for Optuna to Monitor Optimization History

The fastly developing hyperparameter tuning framework Optuna has gained much attention in the machine learning community due to its high flexibility...

Visualizing the Performance Characteristics of Computations (Dask)

Dask's primary job is building task graphs and optimizing them before decorating the functions to operate lazily. Task graphs are a visual...

Parameter Identifiability with ModelingToolkit.jl

The problem of identifiability is ubiquitous among experimental scientific research. The core idea is in one's ability to recover parameter values...

Extending the AiiDA REST API towards workflow management

AiiDA currently has a REST API, built on the flask framework, to provide access to the provenance graphs in the database. The REST API is limited to...

Matplotlib: Revisiting Text/Font Handling

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations, which has become a de-facto Python plotting...

Quantum Gate Decomposition for QuTip

A known quantum gate can be decomposed into an already declared sequence of universal quantum gates in QuTip. If the desired decomposition is...

Expanding support for the solution of bilevel optimization problems in JuMP.

This GSOC will add support for the solution of a much wider class of bilevel optimization problems to JuMP. Currently, support for bilevel...

[PyMC3] Make SMC-ABC faster and more flexible

PyMC3 provides state-of-the-art tools to specify rich mathematical probabilistic models and algorithms to efficiently approximate the posterior...

COLOUR: Adding new colour models

Colour is an open-source python package providing a comprehensive number of algorithms and datasets for colour-science. It also has support for...

PyBaMM - Printing Formatted Equations

PyBaMM offers a way to compare new models by implementing models as expression trees that can be specified independently of the user's preference....

[Gridap] Visualizing PDE approximations in Julia with Gridap.jl and Makie.jl

This project aims to integrate the Makie plotting ecosystem for the Julia programming language within the library Gridap, used to approximate partial...

[NetworkX] Pedagogical Interactive Notebooks for Algorithms Implemented in NetworkX

NetworkX has a wide variety of algorithms implemented. Although the algorithms are well documented, explanations of the ideas behind the algorithms...

TensorFlow data backend for QuTiP

Qutip is a python package that presents a comprehensive toolbox to simulate the dynamics of open quantum systems. Its core class is Qobj and it is...

Making pvlib python a one-stop source for solar resource data

Solar resource data is fundamental to designing and assessing solar energy systems, however, accessing such data is often a complex and...

NetworkX - Louvain Community Detection Algorithm

NetworkX is a Python library used for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. One very...

NetworkX: Implementing the Asadpour Asymmetric Traveling Salesman Problem Algorithm

This project seems to implement the asymmetric traveling salesman problem developed by Asadpour et al, originally published in 2010 and revised in...

PyTorch-Ignite: Development of a Higher-level API

In this project we are trying to provide a High-level API for the Deep Learning engineers and researchers to help them train their models faster, and...

Extend available models and default priors in Bambi

This project aims to work on two related problems. On one hand, I would like to implement new family of generalized linear models, such as beta...

[Data Retriever]: Support for Login/API

The Data Retriever is a package manager for publicly accessible data. The Data retriever automatically finds, downloads, and pre-processes publicly...

Adding New Plots to ArviZ

ArviZ is a python package for exploratory analysis of Bayesian models. It is designed as a backend agnostic tool and supports different backends for...

Geopandas - Dask bridge to scale geospatial analysis

Geopandas is one of the most popular Python projects for handling geographic problems and data. Whilst Geopandas is useful for handling small data...

pymc3.dp: Bayesian Stati-sticks for Summer 2021

Bayesian nonparametric (BNP) methods offer more modelling flexibility by relaxing parametric assumptions at the cost of more daunting theoretical...

Adding Interactive Notebooks for Algorithms Implemented in NetworkX

There are many algorithms implemented in NetworkX some of them being simple and some of them being very complex. Understanding the algorithm that we...

Efficient Spatial Simulations in DiffEqJump

Jump processes are a fundamental component in stochastic models throughout engineering, medicine and the sciences. DiffEqJump is a part of SciML,...

Improve Metric Module

PyTorch-Ignite is a great library built on top of pytorch. It provides an extremely simple engine and event system to work with, which work really...

[Data Retriever] Adding Spatial Dataset Support - Kush Kothari

A major requirement for the current status of the dashboard is the implementation of a download and install pipeline for tables having spatial data...

Lambert W Distributions in Stan

Real-world data generating processes often don't produce normally-distributed data, in particular the skewness/kurtosis/tail index parameters are...

A fast finite element interpolator in Gridap.jl

The project aims to implement a fast finite element interpolation algorithm in Gridap.jl for any two functions belonging to finite element spaces...

Neural Hybrid Differential Equations and Adjoint Sensitivity Analysis

DiffEqSensitivity.jl is a Julia package within the SciML ecosystem for computing (adjoint) sensitivities for various kinds of differential equations...

2020

28 projects

Official year page

Increase support for circular and discrete variables in ArviZ

This Google Summer of Code 2020 project aims to increase support for circular and discrete variables in the ArviZ library. ArviZ currently provides...

Optimization problem differentiation

Differentiable optimization is a promising field of convex optimization and has many potential applications in game theory, control theory and...

Extend InferenceData Capabilities

ArviZ is a Python package for exploratory analysis of Bayesian models, intending to provide backend-agnostic tools for diagnostics and visualizations...

Reproducible computing with nteract play

This project aims to support reproducible computing using nteract and Binder—the ability to start an interactive session via a unique URL, with...

Baseline Images Problem

This is a proposal to help with the difficulty in adding/modifying tests which require a baseline image. The idea is to actually not store baseline...

Data Retriever: Add support for more raw data formats

The Data Retriever is a package manager for data. The Data retriever automatically finds, downloads and pre-processes publicly available datasets and...

AiiDA: Full support of asyncio in aiida-core

aiida-core uses plumpy as its workflow backend and uses circus to daemonize its workflow manager process. However, the plumpy workflow library, and...

Add Variational Inference Interface to PyMC4

Variational Inference is a powerful algorithm that turns the task of computing the posterior(p(z|x)) into an optimization problem. This project is...

Colour suborganization - The Need for Speed

Colour, an affiliated project of NumFOCUS, a 501(c)(3) nonprofit in the United States currently uses NumPy for most of its calculations, while NumPy...

GSoC: Machine Learning with QuTiP

Proposal to add machine learning modules in QuTiP

Signac: Improve Sync Data Structures

Signac is a data management framework named after the painter Paul Signac, whose colourful pointillist style resembles a collection of data "points"....

EconArk Proposal

Initial GPU support for HARK models

New Spectral Upsampling Methods

Traditional rendering is based on the idea that light can be decomposed into three basic components: red, green and blue (RGB). In some areas this is...

Implementing polynomial regression trees in Effective Quadratures

Effective Quadratures is an open source library used to generate polynomials for parametric computational studies. Among the applications of the...

Quantum Circuits Improvement for QUTIP

The primary motivation of the project is to enhance quantum circuit (qutip.qip.circuit) and noise simulation capabilities of the QuTIP package. By...

Raster awareness in PySAL

PySAL was designed with the focus of performing vector-based spatial analysis and therefore it didn't have tools to handle input-output of large...

Adding Gaussian Processes and Optimization Methods in PyMC4

My goal for GSoC 2020 is to implement, test, and maintain a higher-level API for Gaussian Processes in PyMC4 using TensorFlow and TensorFlow...

Developing a 0-D Steady-State Combustion Solver for Cantera

Combustion has enabled our technologies in electricity production, heating, transportation, and industry. Advancements in combustion technologies...

PySAL ESDA Enhancements: Local join count and LOSH statistics

The goal of this project is to add several recently developed spatial estimators to the exploratory spatial data analysis (esda) submodule of PySAL,...

Support more than one sampler in PyMC4

The project is to add more comprehensive support for mcmc sampler methods in PyMC4. Currently there is no support for discrete distributions in...

Aggregation: Workflows on Groups of Jobs (signac-flow)

This project enhances the workflow system of the signac framework by allowing the users to aggreagate over group(s) of jobs.

Adding parameters to JuMP and MathOptInterface

The idea is to update ParameterJuMP.jl to enable users to add parameters to JuMP arithmetics in linear mode. By doing so, users will be able to...

CuPy coverage of NumPy functions

Implementing the polynomial set of NumPy functions that are not yet supported in CuPy with a better performance and speedup. These functions are...

Abstraction of Linear Algebra Data Structures in QuTiP

The core Qobj class in QuTiP specifically uses a custom scipy-derived sparse-matrix format for data storage, which allows simulation and...

Improved automatic maintenance of conda-forge

Conda-forge, an umbrella project of NumFOCUS, is a community effort that provides conda packages for a wide range of software. As an important part...

testbook - unit test framework for Jupyter notebooks

testbook is a unit testing framework extension for testing code in Jupyter Notebooks. Previous attempts at unit testing notebooks involved writing...

PySAL Project on Panel Data Spatial Econometrics

This project aims to extend the functionality of pysal.spreg to deal with panel data econometric models. Spatial panels refer to data containing time...

LUT IO Improvements

The lookup table (LUT) is supported by Colour-Science fairly well. However, there are several improvements which can be made to its input and output...

2019

19 projects

Official year page

Retriever Provenance

The Data Retriever is a package manager for data. It downloads, cleans, and stores publicly available data, so that analysts spend less time cleaning...

Development of Qutip Functions for analysis of Bosonic/Fermionic Lattices

The following functionality is aimed at: Choice of Model (lattice dimensionality, Boson/Fermion, Hubbard, XXZ, Boundary conditions etc.)....

Information criteria and convergence assessment tools for ArviZ

ArviZ is a Python package for exploratory analysis of Bayesian models, from diagnostics to visualization. It is designed as a backend-agnostic tool...

Bayesian Additive Regression Trees in PyMC3

Bayesian Additive Regression Trees (BART) is a Bayesian nonparametric approach to estimating functions using regression trees. A BART model consist...

QuTiP Project: Noise Models in QIP Module

QuTiP is best known for solving open quantum system dynamics. At the same time, it also has a Quantum Information Processing (QIP) submodule...

Expand ChainerX Ops: Differentiable Linear Algebra

ChainerX is a versatile ndarray implementation with special support of deep learning-specific operations. Therefore, it is important to support many...

Ordinary Differential Equations

Parameter estimation and uncertainty propagation are salient aspects of applied dynamical systems of practical interest. Both parameter estimation...

Data Retriever: Extract Scripts into Separate System

The Data Retriever is a package manager for data. The Data Retriever automatically finds, downloads and pre-processes publicly available datasets and...

Effect Plot and PCA Visualizer

YellowBricks is an open source python data visualization library aiding both exploratory data analysis and machine learning tasks. As my Google...

Better Periodic Boundary Handling

Molecular simulations are predominantly ran under periodic boundary conditions, i.e., upon leaving one face of the simulation volume, you re-enter in...

Recurrent Neural Networks for ChainerX

In this project, I propose to add Recurrent Neural Networks to ChainerX. RNNs are a very integral part of deep learning research. ChainerX is faster...

CuPy automatic fallback to NumPy

NumPy is the fundamental and most widely used library in Python for scientific computation. But it is executed over CPU only. So, we have CuPy with...

GMsh/XDMF/DOLFIN mesh processing pipeline

Finite element methods require a discretization of a domain into small elements, called a mesh. Typically, users of DOLFIN use an external mesh...

Symbolic PyMC and PyMC4 Integration

The pymc project is an open source collaboration that focuses on providing Bayesian modeling as well as probabilistic machine learning. The current...

Extending Elichika & ch2o: Parsing jump statements and more

Elichika and ch2o are python to ONNX experimental compilers for Chainer ML framework (Elichika would eventually replace ch2o). Given a Chainer model,...

Ecosystem Improvements and a JuMPTutorials.jl Package

Ecosystem issues such as improvements to tutorials and examples are an important milestone on the road map to JuMP 1.0. This project aims to improve...

Apply Numba Project Wide

Numba is a JIT(just in time) compiler that compiles a given section of the code(specified by the user) at a given time instead of compiling the...

JuMP Automatic Dualization

We will implement a MathOptInterface feature that allows JuMP to take an optimization problem in its primal form and return the dual form in terms of...

Interface to KaHIP partitioner

One of the main ingredients in DOLFIN’s native support of parallel computations is the mesh partitioner. The mesh partitioner seeks to ensure a load...

2018

40 projects

Official year page

Guaranteed Root Finding and Global Optimization with Intervals

Interval arithmetic provides a way to perform computations with continuous sets of real numbers or vectors, for example to bound the range of a...

A modern tool for data exploration based on JuliaDB and WebIO

We will combine the JuliaDB.jl package, for tabular data manipulations in Julia, with WebIO.jl and InteractNext.jl to build a user-friendly web-based...

Speech recognition for the Flux model zoo

Details of deep learning models and their performance are, unfortunately, often published without accompanying implementation code. Those models that...

Computer Vision using Flux.jl

Currently, FluxML/model-zoo has very few examples demonstrating the usage of Flux. In this project, I propose to implement several Convolutional...

Accessing SPH data and interpolating onto grids

yt is a package for analyzing and visualizing volumetric data. The current infrastructure of yt is designed to deal with adaptive mesh refinement...

Conda-Forge Bot for Automatic Updates of Recipes

Conda-forge is a collection of recipes, build infrastructure, and distributions for the conda package manager that makes it easy for developers to...

Implementing Eigenvalue Problem Solvers for Sparse Matrices in Julia

The aim of this project is to implement eigenvalue problem solvers for sparse matrices in Julia in order to reduce the dependency of Julia language...

Compiling Julia to WebAssembly

This project would bring the mathematical prowess of Julia to the web with the near native performance of WebAssembly. The expected outcome of this...

Alternative computational engines for PyMC3

PyMC3 is based on Theano, and uses it for creating and computing the graph that comprises the probabilistic model. Given the discontinuation of...

Stiffness Detection and Automatic Switching Algorithms for OrdinaryDiffEq.jl and Tooling for ModelingToolkit.jl

Stiff ordinary differential equations (ODEs) and differential algebraic equations (DAEs) with high index number are problems present in physical...

Inside the Black Box

Shogun Machine Learning Toolbox aims at offering a wide range of efficient and unified machine learning algorithms with great accessibility. In this...

Tooling for N-body Simulations in Julia

A large number of interacting bodies is the key component in explanation of many physical phenomena. From the gravitational interaction of stars and...

Status Server and Dashboard

Data retriever provides a number of publicly available datasets. These datasets are not stored at a single location but are downloaded from various...

Improve Test Coverage and Test Performance

This project focuses to improve yt's test framework. At present, yt's Python code coverage is only 25% (unit and answer testing) and the test runtime...

Neural Networks for Similarity Learning

Reseachers and Industry experts alike turn to gensim for easy-to-pick up and production ready code. Recently, Deep Learning techniques have taken the...

Makie.jl – GSoC 2018 Proposal

Makie.jl is a new plotting library for Julia, providing an interface for GLVisualize, with emphasis on interactivity and speed. The current...

Synchronize R API with the Python Data Retriever API and improve usability of R package

Augment R API for Data Retriever with a versatile install function, robust Python detection and visualization widgets.

Complex Number support in FEniCS

In many fields of science and engineering (such as electrodynamics, acoustics, and quantum mechanics), the partial differential equations (PDEs) can...

Native Julia Implementation of Exponential Runge-Kutta Integrators

Exponential integrators have received a lot of attention in recent years as a viable alternative to implicit schemes for stiff systems. In...

Improve Distance Search Methods in MDAnalysis

With the capability of multiple MD codes to easily handle milions of atoms, a major roadblock to analysis of this vast amount of data corresponding...

Module for Approximate Bayesian Computation

Module for Approximate Bayesian Computation Approximate Bayesian Computation (ABC) algorithms, also called likelihood free inference techniques, are...

Implement a Plug Flow Reactor Model with Surface Chemistry

In this proposal, the governing equations and boundary conditions of the plug flow reactor with surface chemistry are discussed (Details see Section...

Performance Linting for Juno

Julia is capable of delivering very good performance (in many cases on par with optimized C), but some of the concepts that enable this performance...

Model Import, Export and Computer Vision in Julia

In the upcoming summers, I aim to achieve six objectives in three different fields. These are: 1. Model Import : I plan on making a reader for...

Iterative Hard thresholding for Genetic Analysis

Recent advances in molecular biotechnologies demand fast and innovative algorithms to analyze them effectively. One promising proximal-type algorithm...

Continuous Detoxification

Shogun is a powerful machine learning toolkit. The project has a long history and a huge codebase. Some parts are very outdated and not...

Extending Gaussian Process Functionality in PyMC3

This main focus of this project will be to extend the functionality of the PyMC3 Gaussian process module. I plan to focus my contribution on...

Enriching Model Zoo of Flux.jl

I propose to add a wide variety of models in the model zoo of Flux. Currently, the model zoo lacks the latest architectures and algorithms in...

Parameter estimation for nonlinear dynamical models.

A differential equation model of a dynamical system is a nonlinear parameterized model that is created to match realistic scenarios and occasionally...

FluxJS Demos

FluxJS is a tool to export Flux models to javascript using deeplearn.js. Since Flux is a new library, it is essential to have lots of examples...

A FEniCS wrapper in Julia

We continue work done on a FEniCS wrapper in Julia. We further optimize it, and add more functionality, so users can access a richer API, and solve...

[fenics] Maximizing performance on modern architectures with data-level parallelism

In the solution process of problems discretized using FEM, the assembly of element level tensors to the global matrix often contributes a significant...

Native Julia solvers for ordinary differential equations and algebraic differential equations

I propose to implement Variable Step Size Multistep Methods, Variable Order Variable Step Size Multistep Methods, IMEX Multistep Methods and IMEX...

Implementing on-the-fly coordinate transformations

Implement trajectory transformations on the MDAnalysis API, to be called on-the-fly by the user, eliminating the requirement for multiple...

Object Tracking in Julia

Object tracking is the process of locating a moving object (or multiple objects) over time using a camera. It has a variety of uses, some of which...

Multi-stream API

Gensim is an NLP library which claims to be highly effective during training and produce linear performance growth with increasing the number of...

Fast Extremal Eigenvalue Iterative Solver with Preconditioners

In this project, I will implement the locally optimal block preconditioned conjugate gradient (LOBPCG) algorithm for finding extremal generalized...

Improvements for JuliaNLSolvers

Improvements for JuliaNLSolvers could be made in three parts: documentation, benchmarks and functionality. Currently, LsqFit.jl, and NLsolve.jl only...

Julia package for Minecraft API

A package which uses the Minecraft Pi API and corresponding mod for Java version to build cool stuff. Accompanied with documentation and tutorials to...

Parallel Graph Development

LightGraphs is a Julia package that implements several commonly used graph algorithms. The objective of the package is to provide the functionality...

2017

10 projects

Official year page

Matplotlib Serialization & PythreeJS

Serialization is the process in which a data structure or object is translated and stored in the format of a file compatible in memory then...

Develop XDMF format for visualisation and checkpointing

XDMF is a file format which is designed for very large simulation datasets. The main file is XML, but there is provision for the "heavy data" to be...

2d Color Maps

All of the color mapping in Matplotlib is currently derived fromScalerMappable which as the name suggests maps scalers from R^1 ->R^4 RGBA color...

Develop assembly of finite element forms on quadrilateral and hexahedral meshes [FEniCS]

One of the first steps in the finite element method (FEM) is splitting the domain on which the partial differential equation (PDE) is solved into...

Python and Julia Interface for Data Retriever

Data Retriever automates the tasks of finding, downloading, and cleaning up publicly available data, and then stores them in a local database or as...

Gensim : Gensim integration with scikit-learn and Keras

Gensim[1] is a topic-modeling package in Python for unsupervised learning. This implies that to be able to usefully apply it to a real business...

Training and Topic Visualizations

Knowing about the progress and performance of a model, as we train them, could be very helpful in understanding it’s learning process and makes it...

Port to pytest

Testing is crucial to the development of any software and MDAnalysis currently uses nose to test their code. Unfortunately, nose is no longer under...

Extend Variational Inference Methods in PyMC3

Variational inference is a great approach for doing really complex, often intractable Bayesian inference in approximate form. Common methods (e.g....

Single Precision Support and Gaussian Process Functionality

PyMC3 contains a rich suite of building blocks for probabilistic modeling and inference. This proposal contains two parts: first is finishing...

2016

7 projects

Official year page

Manage workflow for Software/Data Carpentry instructor training

Software Carpentry (SWC) has a workflow for Instructor Trainings. Currently, it uses Etherpads and Google Docs spreadsheets, which slows down SWC...

Presolve Routines for LP and SDP within Convex.jl

Pre-solving is the process of detecting redundancies in an optimization problem and removing them so that the problems that are fed to solvers are...

Improving the state of Optim.jl

The purpose of this GSoC project is to work on a variety of loose ends in, and general improvements to, the optimization package Optim.jl. Optim.jl...

Categorical Axis

While matplotlib 1.5 added direct support for plotting data frames, there are still a few related tasks yet to be done. An important one is...

Result-aggregation server for the installation-test scripts

Software Carpentry has been teaching researchers in science, engineering, medicine, and related disciplines the computing skills they need to get...

Upgrade to datapackage.json standard

One of the ways the Retriever makes it easy to add new datasets is by allowing datasets to be added using simple plain text descriptions of the data...

Dynamic Topic Models - Gensim

Dynamic Topic Models are used to model the evolution of topics in a corpus, over time. The Dynamic Topic Model is part of a class of probabilistic...