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.
gccrs still lacks support for Rust’s Drop trait, which is a core part of Rust’s resource management model. Without it, values that require cleanup cannot be handled correctly at scope exit, which makes gccrs incomplete with respect to important Rust semantics. This project proposes an incremental implementation of Drop support in gccrs, starting from a narrow and testable subset rather than attempting full drop elaboration at once. The first stage focuses on scope-exit destructor insertion for simple non-generic local variables using existing backend cleanup machinery. From there, the implementation will be extended to support multiple locals, correct reverse drop order (LIFO), and, if feasible, initial nested-scope cleanup. More advanced cases such as moved values, temporaries, partially initialized values, and generic Drop will be treated as later-stage or stretch work. The main deliverables are: an initial implementation of scope-exit Drop support for a restricted subset of local variables, support for correct LIFO drop ordering, regression tests covering the supported behavior, and documentation describing the implementation approach, supported subset, and current limitations.
<p>The project idea is to work on the development of the Containers library and to develop, collect, clean, test and document alternate collections and data-structures. It is important that each package is modular so that users can only load the collection they need without 100 of related collections, and thus significantly reduce the image size (modular design is of vital importance).</p> <p>Main project goals: Document, refactor and test existing collections and migrate them to the Containers library (if needed). Develop new collections (with appropriate tests and documentations) and include them in the library.</p>
A library management add-on for managing Different online-offline FreeCAD components is a utility application for FreeCAD which allows an easy and structured management of components/models available online or offline and to easily be inserted into the FreeCAD document. Its basic functionalities is to facilitate individual component from the online repository to be able to browsed, downloaded, and extended by already available local components. For a Library management system, a robust repository of data and an local storage structure is must. This is important as user need to brows through the all the existing models which are the part of the repository and download only selective models. A structured local storage will not only also allow users to easily add their own models to the local library management system, but also to the online repository open to public. For maintaining the metadata of these, a well defined storage structure is required. All this need to have an proper interface to be operable. The interface for the above will be developed as both a Graphical Interface and module for python scripting.
**Pwndbg** is a debugger extension that enhances the debugging experience. It currently supports only GDB and LLDB on Linux and macOS. This project introduces Windows support for Pwndbg. Initially, only WinDbg will be supported, but a generic interface could enable support for other debuggers (GDB, LLDB, x64dbg, etc.). The goal is to bring Pwndbg enhancements to the WinDbg console — providing a similar experience to using it with GDB or LLDB. End users should be able to access all native WinDbg features while also using Pwndbg commands and context windows. The project leverages WinDbg’s `wdbgexts` or `DbgEng` to interface with Pwndbg. This requires either an RPC client-server protocol or native integration of Pwndbg on Windows. Pwndbg needs to hook into WinDbg states (registers, memory, etc.) and respond to all command calls from WinDbg.
This project will significantly enhance the PyLadiesCon Sponsorship Portal, a Django-based Python web application, by introducing advanced backend and frontend capabilities to better support sponsor engagement, tracking, and design team collaboration. Key features include an admin sponsorship review workflow with role-based access control, an automated notification system using Django signals and SendGrid, and a secure media upload portal utilizing Pillow, django-storages, and Amazon Web Services S3. A dynamic dashboard will also be implemented with real-time filtering and tracking of contract and payment status using Django ORM, PostgreSQL, and interactive frontend behavior powered by HTMX. To ensure a maintainable and scalable system, the project will adopt containerized development with Docker and maintain robust test coverage using pytest-django and coverage.py. The result will be a highly functional and production-ready platform that streamlines sponsorship operations and improves transparency across teams.
Pwndbg has supported LLDB internally since 2024, and in general availability as of the 2025.01.20 release. That support is, however, still in its infancy. Currently, all the test code in Pwndbg is still strongly tied to GDB, meaning that, aside from manual checks, there is nothing keeping changes to the codebase from silently breaking the LLDB subsystem. And, while there is support for attaching to and debugging programs running on platforms other than Linux, there are not as many features catering to the specifics of those platforms as there are for traditional Linux distributions. In particular, the process by which mobile debugging is done is still poorly documented, intricate, and not thoroughly tested. These shortcomings hold back LLDB Pwndbg from being as useful to its users as it can be.
<p>A package manager is a programming language's tool to create environments for projects and easily use external dependencies. It allows users or developers to package their projects and publish them which can be used by others. Hence, easy implementation, hassle free experience, fast builds, least bugs while using a package manager tool. This project aims to improve the user experience of Mason command line interface and the Mason registry by solving known bugs, adding new features, while writing tests and documentation.</p>
<p>The aim of this project is to create a module to import geometric data acquired from terrestrial laser scanners. It will focus on developing a method to directly model real objects and topographies without entering their geometries manually. The information gathered by the laser scanner in the form of ‘Point Cloud Data’ will be used to create a full 3D model of the object. The data from the 3D model is required to be mapped/converted/translated onto the Finite-Difference Time-Domain (FDTD) grid upon which gprMax is based.</p>
<p>The current shader framework for fury is based on VTK and lacks documentation to get started which can be overwhelming for new users . The objective of this project is to enable users to be easily able to understand and use the shader framework to render stunning visual representations of data. The project involves programming vertex and fragment shaders to generate effects for more immersive visualization .</p>
<p>This project aims to support the use of RISC-V in education by providing a simulator to step through assembly programs. This is a similar concept to how MARS (<a href="http://courses.missouristate.edu/KenVollmar/mars/" target="_blank">http://courses.missouristate.edu/KenVollmar/mars/</a>) is currently used in education. By making a simulator that supports RISC-V, educators will have more variety in what they can teach leading to better learning outcomes of the students and will provide a path into working with RISC-V rather than simply working with MIPS.</p> <p>The first steps that will be taken to make this simulator will be surveying existing simulators to find pitfalls and potential strengths early. Additionally, the survey could potentially find an existing codebase that can be built upon easily to support RISC-V and allow this project to support more features.</p>
<p>The project aims at building stunning visualization tools using GLSL. Visualization of brain images and other datasets will be super fast using Shaders. Shaders communicate with the GPU and accelerates the display of data. The project requires us to program Vertex and Fragment Shaders code and test it on datasets of interest.</p>
<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>
Enhance the C++ LSP server to support parallel file re-indexing during live editor typing in large monorepos.
<p><strong>Abstract</strong>: Scrapy is one of the most popular web crawling and web scraping framework. It’s written in Python and known by its good performance, simplicity, and powerful API. However, it’s only possible to write Scrapy’s Spiders using the Python Language. The goal of this project is to provide an interface that allows developers to write spiders using any programming language, using json objects to make requests, parse web contents, get data, and more. Also, a helper library will be available for Java, JS, and R.</p>
<p>Panda3D is an open source framework for 3D rendering and games. It combines the speed of C++ with the ease of use of Python in order to provide users a fast rate of development without sacrificing on performance. The project I wish to work upon is Integration of Navigation-mesh Toolset for Games in Panda3D. Recast and Detour are tools/libraries for building navigation meshes and performing pathfinding. Once these tools/libraries are successfully integrated with Panda3D, it would be possible for a Panda3D actor to move from the source to the destination avoiding collisions with the walls and inappropriate paths.</p>
gprMax is CLI interface software which is used to solve electrodynamics problems by solving Maxwell's Equations using FDTD method. It is also used to simulate Ground Penetrating Radar for various industry and academia purpose. But it's installation can become a bit cumbersome and nowadays people prefer a GUI interface. Hence I helped to develop a custom gprMax kernel which can be used to build and run models in Jupyter Notebooks. I also developed a python function that can be used to visualize the 3D geometry of the models in notebook environment.
Implement a Keyframe animation system for FURY with public API that has the following functionalities: Play, pause, rewind, and reverse play the timeline. Add or remove keyframes at any specific time. Interpolate position, scale, rotation (using SLERP), and opacity for the animated actors or camera using linear and non-linear methods. Visualize the motion path of the translation.
This proposal focuses on developing two essential tools using Flutter: the Unicode Character Visualizer App and the Multilingual Text Rendering Tester App. Problem Statement Many developers, designers, and linguists lack accessible tools to browse Unicode characters, view detailed metadata, and compare how multilingual text is rendered across devices and fonts. Text rendering inconsistencies often arise across platforms, impacting accessibility and readability. Solution Unicode Character Visualizer App: Provide a comprehensive and interactive platform to search and visualize Unicode characters. Display essential metadata such as codepoints, descriptions, and language support. Offer font rendering previews for accurate character representation. Multilingual Text Rendering Tester App: Allow users to input multilingual text and visualize rendering differences across various fonts and devices. Benchmark rendering performance and identify inconsistencies. Deliverables Fully functional Unicode Character Visualizer App with search, character details, and font rendering features. Multilingual Text Rendering Tester App with input comparison, font analysis, and reporting functionalities. Comprehensive documentation, including user guides and API integration manuals. Well-tested codebase with unit, widget, and integration tests. This project will contribute to Unicode, Inc. by providing essential tools for ensuring Unicode character accuracy, supporting linguistic diversity, and improving cross-platform text rendering. I am excited about the opportunity to collaborate and contribute to the Unicode ecosystem.
<p>Scrapy currently uses Python's inbuilt RobotFileParser which is not fully compliant, but the more compliant alternatives are difficult to package and use within Scrapy’s pure-python development tree. This project is about introducing a new interface for robots.txt parsers in scrapy, allowing users of scrapy to substitute a different robots.txt parser. The stretch goal of the project is to create a pure python parser for robots.txt files.</p>
This proposal aims to develop an information theoretic approach to filter out artificial information from real information in geospatial datasets. The project will use the bitinformation framework to distinguish between real and false information, where real information is defined as the mutual information between adjacent bits. The proposed algorithm will filter out artificial information, which is a consequence of prior compression, from real information, which reflects the underlying signal. The project will involve a theoretical review, test case generation, algorithm development, evaluation, and integration into xbitinfo, a software package that implements the bitinformation framework. The resulting artificial information filter will provide a valuable tool for users who may not have access to high-precision/uncompressed data, and it will enhance the accuracy and reliability of geospatial data analysis. As a participant in the Google Summer of Code, I am excited about the opportunity to work on this project and contribute to the development of an open-source software tool that will benefit the scientific community.
<p>The admin center would be pivotal in utilizing the autogen functions and a configuration file editor would make it easy for the end user to edit conf files. Elasticsearch integration would enable a user to store his database models in the search index for fast and efficient searches. Luagoogle can be used to get Google results programatically in lua at the backend itself.</p>
<p>Current strace filtering syntax allows to debug simple applications. But it has no support for advanced filtering. For example, it is impossible to combine filters. Moreover, strace supports very few filters (syscall filtering, path filtering, number of invocation filtering). My implementation of a new filtering mechanism will include:</p> <ul> <li>filtering language support</li> <li>an extensible mechanism for filtering by syscall arguments</li> <li>support of adding new actions</li> <li>new syscall classes, based on filtering aspects.</li> </ul>
<p>The current implementation of many algorithms, such as Stochastic Gradient Descent, Coordinate Descent, etc. only allow input with float64 and int64 dtypes due to the adoption of Cython fused types may result in explosion of the generated C code. However, since scikit-learn has removed Cython files from the repo and re-generate them from every build, it provides a good chance to refactor the ".pyx" files by introducing Cython fused types. This will allow those algorithms to support float32 and int32 dtypes data, which is currently casted into float64 and int64 respectively, and therefore reduce the waste of memory space.</p>