| Sub organizations | IDEAS LIST | Student guides |
NumFOCUS will be applying again as an umbrella mentoring organization for Google Summer of Code 2022. NumFOCUS supports and promotes world-class, innovative, open source scientific software.
NumFOCUS is committed to promoting and sustaining a professional and ethical community. Our Code of Conduct is our effort to uphold these values and it provides a guideline and some of the tools and resources necessary to achieve this.
Google Summer of Code is an annual open source internship program sponsored by Google. This repository contains information specific to NumFOCUS' participation in GSoC. For general information about the competition, including this year's application timeline and key phases involved, please see the GSoC website
This Git repository stores information about NumFOCUS' application for Google Summer of Code in the current and previous years.
Table of Contents
- Students
- Sub Organizations
- Organizations Confirmed Under NumFOCUS Umbrella
- NumFOCUS Projects
- About GSoC
NumFOCUS is participating as a umbrella organization. This means that you will need to identify a specific project to apply to under the NumFOCUS umbrella. (Projects are listed below.)
Read this document to learn how to apply for the GSoC program with NumFOCUS. Please also check out our ideas list.
For any questions, please open an issue in our issue tracker or send a email to [email protected], our mailing list address. Please also consider subscribing to the mailing list at https://groups.google.com/a/numfocus.org/forum/#!forum/gsoc.
If you want to participate as a sub organization of NumFOCUS please read this guide.
In alphabetic order.
AiiDA is a python framework for managing computational science workflows, with roots in computational materials science. It helps researchers manage large numbers of simulations (10k, 100k, 1M, ...) and complex workflows involving multiple executables. At the same time, it records the provenance of the entire simulation pipeline with the aim to make it fully reproducible. |
|
ArviZ, is a project dedicated to promote and build tools for exploratory analysis of Bayesian models. It currently has a Python and a Julia interface. ArviZ aims to integrate seamlessly with established probabilistic programming languages like PyStan, PyMC (3 and 4), Turing, Soss, emcee or Pyro. Where the aim of the probabilistic programming languages is to make it easy to build and solve Bayesian models, the aim of the ArviZ libraries is to make it easy to process and analyze the results from those Bayesian models. |
|
CB-Geo MPM is an HPC-enabled Material Point Method solver for large-deformation modeling. It supports isoparametric elements to model complex geometries and creates photo-realistic rendering. |
|
Colour is an open-source Python package providing a comprehensive number of algorithms and datasets for colour science. It is freely available under the New BSD License terms. Website | Ideas List | Contact | Source Code |
|
CuPy is a NumPy/SciPy-compatible array library for GPU-accelerated computing with Python. CuPy acts as a drop-in replacement to run existing NumPy/SciPy code on NVIDIA CUDA or AMD ROCm platforms. Website | Ideas List | Chat on Gitter | Contact | Source Code |
|
CVXPY is an open source Python-embedded modeling language for convex optimization problems. It lets you express your problem in a natural way that follows the math, rather than in the restrictive standard form required by solvers. |
|
The Data Retriever ecosystem improves reproducible research through data product management. The platform takes advantage of freely available data sources in a variety of formats, standardizes them, and makes them available to scientists in a form that is ready to analyze. Data sources range from tabular data, spatial data packages and APIs. Several data packages use the ecosystems, and many projects support or rely on the ecosystem. |
|
FEniCS is an automated finite element library used to solve equations used in modeling, featuring a domain-specific language and automated code generation. Users input a problem that looks very much like mathematical notation; FEniCS then translates that into computer code. It solves problems for which there is no analytical (exact) solution numerically. |
|
FluxML is a 100%-pure Julia machine learning stack built on top of Julia's native automatic differentiation and GPU support. Our organization maintains packages for building and training neural networks, data pre-processing pipelines, standard deep learning models, automatic differentiation, and more. By writing our complete toolchain in Julia, we aim to make machine learning simple, extensible, and performant. Website | Ideas List | Contact (Slack or Zulip) | Source Code |
|
GeoPandas is an open-source project that makes it easier to work with geospatial data in Python. GeoPandas combines the capabilities of pandas and shapely (python interface to the GEOS library), providing geospatial operations in pandas and a high-level and performant interface to multiple geometries to shapely. GeoPandas enables you to easily do operations in Python that would otherwise require desktop applications like ArcGIS or QGIS or a spatial database such as PostGIS. |
|
Gridap is a new generation, open-source, finite element (FE) library implemented in the Julia programming language. Gridap aims at adopting a more modern programming style than existing FE applications written in C/C++ or Fortran. |
|
JuMP is a modeling language and supporting packages for mathematical optimization in Julia. JuMP makes it easy to formulate and solve linear programming, semidefinite programming, integer programming, convex optimization, constrained nonlinear optimization, and related classes of optimization problems. Website | Developers chat on Gitter | Ideas Page | Source Code |
|
LFortran is a modern open-source (BSD licensed) interactive Fortran compiler built on top of LLVM. It can execute user’s code interactively to allow exploratory work (much like Python, MATLAB or Julia) as well as compile to binaries with the goal to run user’s code on modern architectures such as multi-core CPUs and GPUs. Website | Developers chat on Zulip | Ideas Page | Source Code |
|
Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Matplotlib makes easy things easy and hard things possible. Website | Ideas List | Gitter | Source Code |
|
NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks. Website | Ideas Page | Contact (GitHub Discussions) | Source Code |
|
Optuna is an open source hyperparameter optimization framework to automate hyperparameter search. Optuna provides eager search spaces for automated search for optimal hyperparameters using Python conditionals, loops, and syntax, state-of-the-art algorithms to efficiently search large spaces and prune unpromising trials for faster results, and easy parallelization for hyperparameter searches over multiple threads or processes without modifying code. Website | Developers chat on Gitter | Ideas Page | Source Code |
|
pvlib python provides a set of functions and classes for simulating the performance of photovoltaic energy systems. |
|
PyBaMM (Python Battery Mathematical Modelling) solves physics-based electrochemical DAE models by using state-of-the-art automatic differentiation and numerical solvers. Website | Contact | Ideas Page | Source Code |
|
PyLops is an open-source Python library focused on providing a backend-agnostic, idiomatic, matrix-free library of linear operators and related computations. It is inspired by the iconic MATLAB Spot – A Linear-Operator Toolbox project. Website | Slack | Ideas Page | Source Code |
|
PyMC is a python module for Bayesian statistical modeling and model fitting which focuses on advanced Markov chain Monte Carlo and variational fitting algorithms. Its flexibility and extensibility make it applicable to a large suite of problems. |
|
PySAL is an open source cross-platform library for geospatial data science. It supports many different areas of statistics and geographical analyses, such as the detection of spatial clusters, hotspots, and outliers; the construction of graphs from geographic data; Bayesian and Maximum Likelihood spatial regression and statistical modelling for geographical networks; spatial econometrics; space-time Markov modelling; and distribution dynamics for segregation and inequality. Website | Contact (Gitter chat room) | Ideas Page | Source Code |
|
PyTorch-Ignite is a high-level library to help with training neural networks in PyTorch Website | Discord | GitHub Discussions | Ideas Page | Source Code |
|
QuTiP is a software for simulating quantum systems. QuTiP aims to provide tools for user-friendly and efficient numerical simulations of open quantum systems. It can be used to simulate a wide range of physical phenomenon in areas such as quantum optics, trapped ions, superconducting circuits and quantum nanomechanical resonators. In addition, it contains a number of other modules to simplify the numerical simulation and study of many topics in quantum physics such as quantum optimal control, quantum information, and computing. Website | Contact | Ideas Page | Source Code |
|
SciML is an open source software organization created to unify the packages for scientific machine learning. This includes the development of modular scientific simulation support software, such as differential equation solvers, along with the methodologies for inverse problems and automated model discovery. By providing a diverse set of tools with a common interface, we provide a modular, easily-extendable, and highly performant ecosystem for handling a wide variety of scientific simulations. |
|
The signac framework is a complete solution for managing workflows operating on file-based data designed to scale to HPC systems. |
|
Parallel and heterogeneous programming with high performance and simultaneous high productivity Website | Contact | Ideas Page | Source Code |
|
Zarr is a format for the storage of chunked, compressed, N-dimensional arrays. These documents describe the Zarr format and its Python implementation. Website | Gitter | Ideas Page | Source Code |