Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
The main objective of this project is to update the existing UI system without impacting the current functionality, while also creating tests for each new change to ensure reliability. The project will focus on several key areas including Layout Management, Creating Scrollbar as an individual element, Completing Tree UI implementation, Spin Box Implementation, and Improving the Border Implementation. Additionally, the project will include fixing multiple UI elements such as ComboBox, TabUI, Filedialog, and Tree UI. Furthermore, the project will involve exploring a new framework with the existing UI element, which will enable selecting them together. Overall, the project aims to enhance the UI system while ensuring that it remains stable and reliable.
<p>The current Python's development process is very complicated for core developers. When an external contributor uploads a patch for a certain issue, the core developer needs to download the patch and then apply the patch and run the tests manually to make sure it works properly. Also, the core developers review the code on the forked version of Rietveld code review tool which is not being maintained. Once the patch is correct, the changes are committed manually. This is a manual and burdensome process for core developers. On <a href="https://mail.python.org/pipermail/core-workflow/2016-January/000345.html" target="_blank">1st January 2016</a>, Brett Cannon decided to migrate from Mercurial on hg.python.org to Git on GitHub.</p> <p>So, my project is about migrating to Git/Github. I will be working on creating pull requests on Github whenever a patch is submitted on the issue tracker (<a href="https://bugs.python.org" target="_blank">https://bugs.python.org</a>) and integrating various bots to maintain linear history of commits, auto-close of issues, enforce CLA, etc. Towards the end of the GSoC period, I will work on patch-related improvements.</p>
PyZombis is a community course to teach Python to the spanish-speaking community. It is based on a Brazilian MOOC Python para Zumbis. The idea is to make an improved version of the course in Spanish, with an interactive environment for the students, that allows them to visualize and try active code on the site (made possible thanks to the Runestone library). Currently some of the lectures in the course are not interactive due to the limitations of the Skulpt interpreter. I propose to make these exercises interactive by using the recently added Brython interpreter and other libraries that can used to mock the libraries used to teach the lectures. Apart from this I also plan to add interactive web development intro lectures using web2py framework, that can greatly benefit the students who may use this course.
Currently the existing structure for the package data parsers is very haphazard and scattered in nature, on further inspection it is obvious that various commonalities emerge amongst them. I propose to use Object Oriented Programming Paradigm in order to properly structure these parsers on the basis of class method overriding. Once all the present parsers are refactored, an API wrapper could be employed over them which would simply take in a file format and internally handle the parsing, hence further improving upon the layer of abstraction and providing convenience for the users. As the tool is trying to improve its support to various new formats which were not supported earlier, I propose to incorporate support for popular languages and package managers and improve upon the language support that are currently present.
The main purpose of this project is to build a C++ library that allows efficient computation of sparse matrices stored in different formats such as COO, CSR, DIA etc. The library would be able to generate code that unifies different formats and generate optimized loops to aid in computation. The library will implement 6 level formats which can be used to represent any of the common tensor storage formats. The library will also implement a code generation algorithm that will allow efficient computations between disparate formats at compile time, thereby improving performance.
<p>DIPY currently uses non-local means approach for denoising MR data, in which we need to estimate the noise variance of the signal which is often a bit troublesome, also it does not make the full use of the directional information in dMRI datasets. This project proposes to use a more robust and efficient method for automatically denoising diffusion MRI and structural MR datasets, using Local-PCA. Along with an accurate implementation of L-PCA and its adaptation to Rician noise, the project will also aim at optimising the implementation of L-PCA using Cython. After implementing L-PCA, a method for robust brain extraction needs to be developed. DIPY’s median OTSU based implementation is known not work so well with non-echo planar diffusion imaging (non-EPI dMRI) data. There are few possible ways to improve this, one is to generate labels and have weighted median OTSU. Another idea involves using some version of patch based segmentation using image library constructed from previously annotated images and using it as a reference for the subsequent extraction.</p>
<p>The estimation of camera motion plays an important role in visual effects (VFX) industry, which enables the interaction between the virtual and the reality. Currently Blender only supports solving camera motion from a single view, which sometimes does not give satisfactory solutions. In this project, I will implement a generic-purpose multi-view tracking system that incorporates witness cameras to strengthen the estimation result. This project is composed of a front-end UI integration mainly for users to specify matched marks across cameras, and back-end optimization engine that operates on the user input. This multi-view reconstruction system will increase the stability of the camera tracking solver and help artists create high-quality visual works.</p>
<p>This project will add a package manager to Blender’s current addon system with the goal of providing functionality similar to that found in <a href="https://atom.io" target="_blank">Atom</a> (the text editor).</p>
We are surrounded by deformable objects that can’t be accurately simulated in Blender yet. It is proposed in this project to build a new solver that would take as input a surface mesh and simulate the object as a soft body. The goal is to build a modular pipeline that will convert a surface mesh into a volumetric tetrahedral mesh using “Incremental Delaunay Method” that will be passed to the “Extended Position Based Dynamics (XPBD)” solver to simulate soft bodies.
The EGI-MFF reader in MNE-Python uses an old internal parser that’s pretty hard to maintain and often runs into timing drifts or memory issues. My plan for GSoC is to completely modernize this by switching the backend over to the 'mffpy' library. I’m going to build a wrapper that keeps everything backward-compatible while fixing those annoying 1-sample errors and array mismatches that have been blocking users for years. By the end of the summer, I’ll have delivered a refactored read_raw_egi module that supports O(1) memory mapping, so researchers can stream huge files without crashing. I'm also making sure we get proper support for PNS channel mapping and automated bad-channel detection. Most importantly, I’ll be building a solid regression test suite to make sure the event timing stays microsecond-accurate, which is crucial for the neuroscience work this library supports.
<p>Frontera is a distributed web crawling framework, it acts as a crawl frontier, dealing with the crawling strategy to be followed. The goal of this project is to port frontera to python 2/python 3 dual compatibility, and improving test coverage and other improvements along the way.</p>
This project extends the capabilities of MNE-Python's databrowser to include features such as alternating between variations of a timeseries (such as different referencing schemes), single channel annotations and syncing between multiple databrowser window instances.
The project aims to significantly enhance the user interface of the Mission Support System (MSS) - MSUI - by implementing a comprehensive set of usability and functionality improvements, tailored to streamline user interaction and optimize the overall user experience. This project will focus on several areas of UI enhancement, which would include : 1. Integrating small user images for personalized login and chat experiences. 2. Implementing real-time visualization of concurrent users working on an operation. 3. Enhancing chat functionality by adding a server message channel.
<p>The project is a demo for the Hydra draft proposed by the W3C. It aims to build a smart client and server that is able to exchange information in an efficient manner over a RESTful API using a Hydra based vocabulary. A smart client is able to communicate with the server even without previously knowing the supported methods of the server. This is made possible using Hydra's API documentation method. Hydra is a push towards the idea of semantic web and it's potential as a mean of communication is demonstrated in this project. This project lays the foundation for a larger project that showcases Hydra's full potential.</p>
<p>The EOS User Story project aims at providing a user-friendly and interactive platform for users to sign in and request new icons & report bugs for EOS Icons. Also users can track the progress of their issues and vote & comment on issues that are of interest to them. The admins can then review, resolve, close or assign a status to the issues. It serves as an efficient feedback mechanism for organisations, which is necessary for the development of different products. Hence, it is a reusable project for EOS that can be used by any other organisations as well.</p> <p>In this project I aim to improve EOS User Story by adding some essential features and expanding the test coverage of the project. I will also be working on fixing some existing issues in the application. The features that I will be adding as part of the project include:</p> <ol> <li>Request templates</li> <li>Shareable Links for stories</li> <li>Implementing search of stories</li> <li>Shareable search results</li> <li>Integrating OAuth for logging in</li> </ol> <p>For expanding the test coverage I will be using Cypress for unit as well as end-to-end tests, which can then be deployed to run on Github Actions and thus will prevent any regressions from being introduced in the codebase.</p>
<p>Curves in blender have been subject to a number of user requests for improvement from several different aspects. One such request was a new tool that makes the workflow for dealing with curves much smoother by enabling the editing of curves using simple and intuitive shortcuts instead of taking multiple steps to achieve the same. Another suggestion was the ability to create bevels at bends of a curve. The goal of this project is to address and develop solutions for these suggestions.</p>
In Blender, geometry nodes provide the user with a visual scripting interface to manipulate 3D geometry, allowing the creation of custom modifiers and procedural tools. In most cases, the input of geometry nodes is the source geometry to which the geometry node is attached. File import nodes would allow more source data to be fed into geometry nodes, expanding the use case for geometry nodes. Currently, Blender has source nodes for primitive shapes, allowing the user to inject more geometric data into the geometry nodes graph. The user can inject data into the geometry node graph with dedicated file import nodes. Dynamically loading file formats like STL, OBJ, Alembic, and CSV with a geometry node would simplify everyday data visualization tasks. Also, it would reduce memory consumption on disks because the data would not have to be stored in a .blend file. As part of this year's Google Summer of Code, I'll be aiming to deliver the following 1) Multiple file import nodes for STL, OBJ, Alembic, PLY, and CSV formats 2) Refactoring for existing bf_io_* projects to expose Mesh loading functions 3) New importer project for CSV import support 4) Technical and user documentation Integrated tests
The holidays library currently embeds translated holiday names directly within country-specific Python modules, causing significant data redundancy and high barriers for non-developer translators. This project introduces a centralized, Gettext-based architecture that extracts these strings into dedicated .po files one per language loaded lazily at runtime. How I plan to solve it Develop an AST-powered extraction script to identify all self.tr() calls across 100+ country modules. Implement a LocaleRegistry class to manage lazy loading and en_US fallback logic. Migrate the existing codebase to this decoupled architecture to enable easier integration with tools like Weblate. Key Deliverables: A Python CLI utility for automated string extraction. A centralized /holidays/locale/ directory structure. A fully integrated LocaleRegistry with backward compatibility support. A "Translation Contributor’s Guide" for future community volunteers.
The Borg Collective offers essential Python-based backup tools like Borg, Borgmatic, and Vorta, which help users with secure, efficient, and reliable data backups. Vorta provides a user-friendly desktop GUI for Borg, while Borgmatic serves as a command-line interface for managing backups. This proposal outlines four projects designed to improve the functionality, security, and usability of both Vorta and Borgmatic. For the first project aims to add a new feature to the Vorta GUI that lets users change their repository passphrase. Changing a Borg repository passphrase is a feature that’s often requested but hasn’t been fully implemented yet within Vorta. This would make security management more accessible and eliminate the need for users to use Borg directly for such tasks. The second project aims to develop a custom file selector with PyQt6 FileDialog, which will handle multiple file and directory selections in one window. At the moment, Vorta has separate dialogs for selecting files and directories. This allows users to select both files and directories in a single window. The third project aims to introduce a much-needed improvement by adding a file selector dialog that allows users to pick files and directories to exclude directly through the UI. Right now, users who want to exclude certain files or directories from their backup have to manually type in paths or use patterns. This will allow users to eliminate the need for manual match expressions and reducing errors. These enhancements will make Vorta and user-friendly and feature-complete, ultimately improving the quality of backup process for users across different platforms.
Generics are a common functionality found in statically typed programming languages, allowing easier maintenance of programs which differ only in their types. However, generics are not yet supported in the statically-typed LPython. Generics in LPython can be implemented similar to the approach taken by C++ templates. We can regard generic functions as functions with type parameters, whose parameters are made concrete and checked by function calls on AST level. The end result of the project would be generic function support for LPython with option for specialization, along with sufficient integration tests and documentations.
<p>The project consists of implementing in Scipy an interior-point method for nonlinear problems. The main goal is to implement a constrained optimization algorithm able to deal with a large (and possibly sparse) problems for which the constrained optimization methods currently implemented in Scipy (namely SLSQP and COBYLA) are largely inappro- priate to deal with. Implement benchmark problems and integrate quasi-Newton (namely BFGS, SR1 and L-BFGS) and finite differences (using graph coloring schemes to deal with sparse structures) approximations to the method are also part of the project.</p>
<p>Spidermon is a monitoring tool created to help Scrapy users. It helps by creating monitors to be checked when Scrapy spiders run, like tests, and perform actions to notify Scrapy users that the spider could have any problem during run. Today an user can be notified via email and Slack, but anyone can create actions to be performed if you have an integration. Today, Spidermon uses manual configuration to setup projects, which is good for experienced users, but it’s not helpful for whom wants to have a quick setup. Also, Scrapy already have this feature, together with a good documentation. My idea for this project is to create a robust CLI for Spidermon setup. A user would be able to enable and configure Spidermon monitors, actions and item validations, and be presented with a detailed help menu upon request.</p>
<p>In Pharo almost every project uses SUnit and because of that working in enhancing SUnit and provide a user interface is valuable for everyone.</p> <h3>Working in DrTests</h3> <p>DrTests project aims to provide a plugin-based UI to deal with tests in Pharo. It will provide the same features as the actual SUnit UI (i.e., running tests, profiling tests and computing code-coverage) but will allow to plug additional analysis on unit tests. The project is still on work and the link is: <a href="https://github.com/juliendelplanque/DrTests/" target="_blank">https://github.com/juliendelplanque/DrTests/</a></p> <h3>New SUnit Layer</h3> <p>Introduce a common Pharo's Sunit layer instead of different layer doing the same (for example, the SUnit UI, Jenkins tools and the system browser define 3 different ways to collect tests defined in a package).</p> <p>The goal is:</p> <ul> <li>Have DrTests working with 5 plugins. </li> <li>New Layer for Pharo's SUnit. </li> <li>Integrate SUnit changes in DrTest project. </li> <li>Finally make a pull request in Pharo.</li> </ul>
<p>PyZombis is a community course to teach Python to the spanish-speaking community. It is based on a brazilian MOOC Python para Zumbis. The idea is to make an improved version of the course in spanish, with an interactive environment for the students, that allows them to visualize and try active code on the site (made possible thanks to the Runestone library). Currently PyZombis is using Skulpt as its Python’s online interpreter. It has not been possible to put some of the advance PyZombis exercises interactive on the web for the students because of Skulpt limitations. It could be improved by changing the interpreter to Brython. This interpreter offers more tools as the scripting language for the Web. This is where I want to help! Also, as an extra, I can offer my help in other minor fixes in the aesthetic of the course to make it more attractive and easy-to-use for students.</p>