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.
In this project, my job is to extend the existing Dace Distributed framework to support MPI4PY syntax. This will mainly involve extending the existing Dace parser to support MPI4PY syntax, as well as implementing MPI I/O and Comm World functionality. The entire implementation will be validated through a series of unit tests and mentor evaluations.
<p>A lot of parents tend to buy their kids tablet devices to help them learn new things through educational apps. Oppia is one of them, but it doesn't support tablet designs yet. And this project meets this problem.<br> Supporting tablet interfaces for the Oppia android application will give the users a better experience.</p>
This project aims to improve the Raspberry Pi 4B (RPi4B) BSP support on RTEMS. Last year, RPi4B BSP support added GPIO, six UARTs, I2C, and IO interrupt. Although SPI and SD card were planned, they could not be supported due to time reasons. This project intends to add the following support to the RPi4B BSP: SPI support, Watchdog support and SD card support. Watchdogs are essential in remote, automated systems such as Mars Exploration Rover.
<p>Apache AsterixDB is a scalable, open source Big Data Management System (BDMS). It currently supports many data types in the Asterix Data Model (ADM). This project aims to support all standard spatial object internally and to parse/format the spatial object by using either or both well-known format or/and geojson format.</p>
Copacetic currently doesn't support vulnerability scan reports by Wiz scanning. This mentorship project will extend Copa's support to cover this new scanning schema using a pre-existing template. Expected Outcome: The mentee will produce the following i. Design doc for Wiz Scanning ii. Wiz Plugin Integration iii. End to End integration tests
The project aims to enhance the LORIS web platform, a widely used tool in neuroimaging research with databases utilized by research teams in 22 countries, by improving its data ingestion, storage, and processing capabilities for neural information. The approach includes familiarizing with the LORIS platform, exploring its source code, assessing and enhancing existing modules, and introducing new modules to augment and enhance functionality. The project will involve rigorous implementation and testing of code updates, documentation of changes, and integration of feedback from the LORIS community. Deliverables include improvements to the existing code, development of features for EEG modules, development of visualization and data pipelines, and comprehensive documentation and tutorials for new features. This enhancement will streamline research efforts for the global user base of LORIS, making the platform more efficient and user-friendly.
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.
<p>The relevance of ARM processors is rising. Especially since ARM recently started targeting the servers and desktop market, thus going beyond the mobile devices. That’s why malware targeting ARM is becoming an even bigger threat every day. On the other hand, it is still the x86 architecture for which most reverse engineering tools are developed. This Google Summer of Code (GSoC) project aims to add ARM support for both the dynamic analysis framework DRAKVUF and the virtual machine introspection (VMI) library libvmi. The idea is to base our project upon the result of an earlier GSoC project which added altp2m support for Xen on ARM. The altp2m subsystem defines different views on the guest’s physical memory and allows to dynamically switch among them. With altp2m and DRAKVUF we are able to build a stealthy VMI framework. In summary, the goal of the GSoC project is to add support for DRAKVUF for ARM and thus provide more options for reverse engineering on the ARM architecture.</p>
<p>The motive is enable support for large binary file formats in Genoverse, a genome browser that is written in javascript. This project would involve writing javascript parsers for BigWig, BigBed and VCF file formats. Once this support is added, Genoverse could be adopted by Ensembl for use in their genome browser. This would let Ensembl to process the files on client side and reduce load on server, letting it handle the large amount of genome data Ensembl hosts.</p>
Thanos (https://thanos.io) has its own PromQL (Prometheus (https://prometheus.io) querying language) engine. The original PromQL engine recently added support for new aggregations. We are missing support for them in the Thanos PromQL engine (https://github.com/thanos-io/promql-engine). In this project you will implement support for limitk and limit_ratio. See issue (thanos-io/promql-engine#515). This will unblock users who need this functionality. The project is interesting because you will learn how query engines are implemented, about distributed query execution. Expected Outcome: limitk, limit_ratio are supported in the Thanos PromQL engine (local & distributed modes), tests are written for them
<p>As Scala.js is Scala compiled to JavaScript, it seems only fitting that it can also compile Java code. One of the things that make Scala so popular is its seamless integration with existing Java libraries and codebases. Enabling Scala.js to compile Java would greatly enhance its functionality and make it even more attractive to developers wanting to run their code in the browser, at the same time not being limited to using JavaScript or its derivatives.</p> <p>Over the course of the few months it is possible to extend the compiler to a point where it can handle most Java code used in day-to-day development.</p> <p>The idea, as stated in the project title, is to compile Java to Scala.js Intermediate Representation (IR). Then the existing compilation pipeline can be reused to produce JavaScript code from the IR. The key to this project is that, as complex as it may be, it would reuse a lot of great code. Reusing an existing Java parser and typechecker as well as the whole JavaScript generation framework will allow me to focus on converting the AST into IR efficiently and covering as many Java constructs as possible.</p>
<p>“p5.js 2021 Showcase: The Love Ethic” is a proposal for the continued development of the p5.js showcase, but with a particular focus on the softness of the programming language and its ability to be a radical community with values rooted in social justice and accessibility.</p> <p>This showcase will, as said so beautifully by @sailorhj, “put the soft in software” and be heavily influenced on bell hooks’ writing philosophy of living by the “love ethic.” This will be implemented through the design, tone, and process of curation for the showcase.</p>
JITLink is LLVM’s new JIT linker designed to support a variety of new features, which includes full static initializer, thread local storage, and small code model, that were not possible in RuntimeDyld, the old JIT linker API. JITLink’s generic linker algorithm needs to be specialized to support the target object format (COFF, ELF, MachO), and architecture (arm, arm64, i386, x86-64). This project aims to implement the JITLink specialization for ELF/aarch64 and COFF/x86-64.
This project aims to modernize the HPX parallel computing library by introducing C++20 Modules, addressing compilation performance and code organization challenges. I develop a comprehensive conversion strategy using a Python-based tracking system to analyze dependencies, create module interfaces, and ensure backward compatibility. The project will deliver a modularized HPX library with improved build system integration, enhanced symbol visibility, and detailed documentation, ultimately providing developers with a more efficient and maintainable parallel computing framework.
In this project, I aim to improve and expand the functionalities of the physics control module. This module was introduced to SymPy 2 years ago. The work done is commendable but has a good scope for improvement. There are many incomplete areas and there is a lot of potential for new implementations. I plan to learn the relevant theoretical aspects of control systems required to complete this project by referring to course textbooks and other CST packages available in the open literature. By the end of this summer SymPy will have a complete Control toolkit, so that it can match the functionalities of MATLAB and other popular software toolkits in this domain.
<p>This Google Summer of Code 2020 project aims to increase support for circular and discrete variables in the ArviZ library. ArviZ currently provides tools and diagnosis for Bayesian data analysis and it is very well supported for continuous variables. However, there is plenty of space for new developments when it comes to discrete and circular variables. As a result of this project, several new plots will be incorporated into ArviZ, for example: mosaic plot, agreement plot, circular KDE, circular histogram. On the other hand, ArviZ current implementations will be revised and extended for the circular and discrete variable setting.</p>
When it comes to modern baremetal environments as well as second generation Virtual Machines, Unikraft's ability to print debugging logs to the screen is limited. The aim of this project is to support the modern UEFI GOP interface in Unikraft, which allows drawing fonts directly to the screen, thus enabling the printing of logs. UEFI GOP supports multiple rendering resolutions and color depths, ensuring close compatibility with all hardware systems. Implementing logging with UEFI GOP will greatly improve the development experience of Unikraft on UEFI-enabled targets, particularly targets where serial port consoles are unavailable.
This project is related to two stages. Its aim is to make Kworkflow Stronger. The first stage is to fix bugs as many as possible and the next stage is adding another distribution support.
Vitess is a database clustering system for horizontal scaling of MySQL. One of the key goals of Vitess is to emulate MySQL behavior even while running multiple MySQL instances so that ORMs and frameworks work seamlessly. Vitess has its own in-built SQL-parser which it uses to understand the query and represent as structs for further processing. As of now, a lot of MySQL constructs are not parsed and result in syntax errors. For example, we do not have complete support to parse [partition constructs](https://dev.mysql.com/doc/refman/5.7/en/partitioning-overview.html). Parsing for a lot of the newer features in MySQL 8.0 is also missing. The task of the mentee would be to add parsing support for such constructs.
<p>Through this project, I wish to improve the chat-ops capabilities of Zulip by adding support for slash commands and outgoing webhooks. Outgoing webhooks are integrations which send data to third party services from Zulip on being triggered. Slash commands enable users to make use of services through chat messages. Example: change topic, archive messages, etc. I wish to build an outgoing webhook system which will enable users to easily add outgoing webhooks into their Zulip realm through UI. Users can also use their own code by adding it to the codebase for complex uses. I also wish to add support for slash commands which can be enabled, disabled and managed by users.</p>
Inkscape’s support for Adobe Illustrator (.ai) files is limited, especially for files that include raster images, masks, filters, and other advanced features. This project aims to improve Inkscape’s .ai import by handling more of the format’s structure and content. Key focus areas include support for clips and masks, stroke styles, symbols, filters, text on path, and live shapes with multiple radii. Some optional goals are reading metadata and object properties. The solution involves parsing PDF-compatible data and extending Inkscape’s import logic to produce accurate SVGs. Progress will be measured using a set of .ai test files that render correctly in Inkscape.
The project aims to extend API Dash with Git-backed collections, a visual workflow builder, and a collection dashboard. This will enable developers to version and share API collections, design and execute multi-step API flows, and monitor API health and performance within a single unified tool. Problem Being Solved: API Dash currently stores requests in a flat local structure without version control or collaboration support. The existing load-all/manual-save model limits reliable syncing, introduces risk of data loss, and prevents building higher-level features like analytics and workflows. Additionally, users lack visibility into API performance and have no structured way to define multi-step API interactions. Proposed Solution: 1. A refactored persistence layer using request-level autosave (Hive LazyBox) for reliable and granular data storage. 2. A GitHub integration layer to enable version control, sharing, and collaboration on collections. 3. A visual workflow builder with a node-based interface to define and execute multi-step API flows. 4. An execution engine to handle request chaining, conditions, and shared data flow between steps. 5. A dashboard system to aggregate and visualize API and workflow performance metrics. Key Deliverables: 1. Request-level autosave system replacing the current bulk-save model. 2. Git support for collections (connect, import/export, push/pull, commit history, rollback). 3. Visual workflow builder with execution support, run history, and DashBot-assisted workflow generation from natural-language prompts. 4. Collection and workflow dashboards showing success rates, failures, and latency signals. 5. Production-ready documentation, testing, and UX polish for real-world usage.
<p>Ambiguous patterns are ones that more than one transfer rule could be applied to. Apertium resolves this ambiguity by applying the left-to-right longest match (LRLM) rule, and that is not adequate with all the word/s that follow that pattern/s. To improve this resolution, a new module was introduced to assign weights to these transfer rules for the word/s that follow the ambiguous pattern, and this is done by training a corpus to generate maximum entropy models (models with weighted rules), then these models are used to choose the best (highest weighted) transfer rule to apply.</p> <p>The weighted transfer rules module was built to apply only chunker transfer rules (patterns of words). And this project is to improve it by modify some of the methods used and then to extend it to be applied to interchunk and postchunk transfer rules (patterns of chunks) too.</p>
<p>RethinkDB is a popular implementation for document store which is being used extensively in modern real time applications. Detailed technical comparison between RethinkDB and MongoDB as a document persistent store solution is available on reference. [1] There are a number of benefits of RethinkDB as it developed focusing on developer oriented and operations oriented mindset. [2] Apache Gora currently supports MongoDB and CouchDB as document stores, this project is aimed to further extend the datastore support for RethinkDB. [1] <a href="https://rethinkdb.com/docs/comparison-tables/" target="_blank">https://rethinkdb.com/docs/comparison-tables/</a> [2] <a href="https://rethinkdb.com/blog/mongodb-biased-comparison/" target="_blank">https://rethinkdb.com/blog/mongodb-biased-comparison/</a></p>