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.
<p>It is tough for a new user to quickly grasp and start using the settings provided by coala. The user needs to be aware of the bears he might possibly need for his project and also the settings provided by the bears. Many of them directly opting for individual linting softwares when coala can provide a unified environment for them. This way many are never able to unleash the true power of coala. The first runs of coala should involve as less user interaction as possible, so that new users can realize how hassle free it is to use coala <strong>over</strong> a collection of linting technologies. Quickstart should be able to learn the bear settings from the project.</p> <p>This project adds the capabilities to coala-quickstart by making smart analysis, depending upon the format already followed by the users, may it be separate formatting used for separate files or for a separate group of files (eg. grouped in a specific folder) or for different language files.</p> <p>Many major communities don't use a fixed coding styles that the bears provide. The quickstart should be able to adapt itself and generate a config file which matches as closely to the codebase as it possibly can for easy and quick adoption.</p>
<p>This project is part of adding the 'aspect' functionality to coala-bears.</p> <p>Through this functionality coala users will no longer have to worry about searching for the bear or remembering the name of the bear appropriate for their work. They will be able to fix their code with the help of an ‘aspect’, which is nothing but a keyword that relates to the action they want the bear to perform on their code.</p> <p>This project aims at adding the aspect support to at least five more bears. Plus having properly defined and documented aspects for the same bears. After this project, these bears will get executed by using their respective aspects.</p>
<h4>GitMate for all!</h4> <p>This time with user configurable plugins!</p> <h3>About the product</h3> <p><strong>GitHub</strong>, <strong>GitLab</strong> and <strong>BitBucket</strong> support webhooks for common events like opening/closing/commenting on Merge Requests, creating Issues, etc. These webhooks could be configured for automated response using their own API's for comments, tests/integrations, etc. <strong>GitMate</strong> merely acts as a tunnel for these events and responds accordingly. The interface for these API's is held by its wrapper library, IGitt.</p> <h3>Aim of the project</h3> <p>This project is aimed at extending the support for <strong>GitMate</strong> to <strong>GitLab</strong> and <strong>BitBucket</strong> repositories. This adds up to unified and automated code analysis and maintenance on the big three code hosting platforms.</p> <h3>Implementation</h3> <p>This project consists of implementing <strong>GitLab</strong> and <strong>BitBucket</strong> interfaces in <strong>IGitt</strong>, following the already implemented <strong>GitHub</strong>'s convention, while simultaneously creating webhook responders and tasks for the same on <strong>gitmate-2</strong>.</p> <p>Extending plugins is quite easy on <strong>gitmate-2</strong> following <code>gitmate_testplugin</code> as an example, thanks to its plugin-based architecture.</p>
<p>coala currently has few generic bears which are not very useful or are not maintained well. The objective of the project is to get most of the generic bears in a working state so that they can be used in production.</p> <p>Apart from the current bear, this project brings many new generic bears which have been requested by the community from a long time but they were not worked upon. Such bears include <code>OutdatedDependencyBear</code>, <code>FileModeBear</code>, <code>FileExistsBear</code>, <code>RequirementsCheckBear</code>, etc. Apart from these, there are several improvements to <code>PEP8Bear</code> and <code>PycodestyleBear</code>. All of the bears are to be well tested and documented. This project also aims to bring a few improvements to coala core and upstream repositories.</p>
<p>vulture is a tool which detects and reports dead (unused) code and coala is an automatic linter. The motivation of this proposal is to:</p> <ul> <li><strong>Extend vulture as an API</strong> which respects the Bear's Input Output method</li> <li><strong>Refactor VultureBear</strong> such as to use the new API - this would highly optimize it's performance.</li> <li><strong>Enhance python whitelist</strong> and making it <strong>default</strong> for every run.</li> <li>Implement a method to <strong>acquire the source range of dead code</strong> - currently, only the beginning of the dead code is reported.</li> <li>Revamp vulture's scavenging property by additional <em>detection of the cases which render the <strong>code unreachable</strong> </em>.</li> <li>Implement a <strong>confidence value with results</strong> - this would be necessary when implementing <em>auto</em> removal, as we would need a proportion of surety or certainty with which we report dead code.</li> </ul>
<p>The project focuses on improving coala's dependency management for installing bear and their dependencies on multiple platforms. Specifically, the core focus is on trying to automate dependency management using Ansible playbooks and roles. Additionally, improving the existing dependency management API by introducing a <code>PlatformRequirement</code> class for system specific package managers and fixing and improving the exiting cib install bears tool which uses the dependency management API by adding complete test coverage.</p>
<p>The aim of the project is to create easy-to-use APIs for the hardware on the BB Blue. This would consist of developing/improving kernel drivers for the on-board devices and then re-implementing the Strawson APIs to use these kernel drivers. These APIs will then be used by real-time applications which can be run on BB Blue. In the later phase of the project, support for BB Blue will be added in Ardupilot and ROS will be ported to BB Blue using these APIs.</p>
<p>GitMate.io is an automation tool for developers. While it works well, there are a number of plugins which saves a lot of time of our community(for example automatically close PR's from master). Many of them are general plugins, which are required by every org, but we need more plugins which support coala development workflow(Like gitmate coala linter plugin). This project adds more automations and plugins like auto-review, auto-reject PR’s, assign, mark plugins, etc.</p>
<p>Many applications require mechanisms for high speed, real time and continuous data acquisition from a sensor that is essentially an ADC. Most hobbyists would want to use simple devices, rather than high end converters with differential serial interfaces to communicate as these high end devices can be expensive. The typical serial data communication protocols used for this are somewhat limited in terms of speed, while parallel data communication definitely has an advantage of higher speed data transfers.</p> <p>This GSoC project aims to utilize the two PRUs present in the PRUSS2 subsystem and their low latency architecture to get a fast, generic, parallel analog converter interface, in the form of parallel bus, ready for various applications. The project will provide a ready to use firmware, user-space library, kernel driver, and the subsystem to manage all the parallel data transactions. This will further allow developers to build some cool applications like function generators, oscilloscopes, voltmeter etc.</p>
This project contain two parts which are Bb-Config Improvement and GPIO Benchmarking. For bb-config improvement, I will implement some new features on top of it making more user interactive and functionable. For GPIOs benchmark, We needed data to help ourselves and developers to decide which method accessing GPIOs suit them better. We compare the latency performance of different methods to access GPIOs.
<p>This project aims to implement a library that integrates with the existing coala code and allows writing native bears for coala that can leverage the power of ANTLR and enable them to advanced linting routines based on the parse-tree of a language with a given grammar.</p>
<p>SPI slave driver implementation. The task is to create a driver controlling SPI hardware controller in slave mode, and to ensure optimal performance through the use of DMA and interrupt. Creating an easy to implement realization of SPI slave would definitely help the BeagleBone community members to write applications based on SPI much more easily. The first implementation of my protocol driver is going to example of a bidirectional data exchange. This application will provide the BeagleBone community with valuable experience and will be a good example of SPI slave. Hardware limitations make it impossible to perform any realization of the device using SPI slave. Sending away data to the master during one transaction is not possible. One transaction is enough to receive data by slave device. To receive and send back data, two transactions are needed. The data received from master device in a single transaction is transferred to the user after completing the transaction. The user's reply to received data is sent in the next transaction.</p>
<p>Adding firmware support for FX2 so that libftdi drivers can be used to talk to the device</p>
<p>This project aims to create a tool that allows anyone to become a market gardener, given some space. As a first step, a user will merely sign up and enter the amount of space that they want to use. The system will then trigger tasks the user has to do to farm on his space efficiently. Those tasks are triggered by simple rules and may depend on weather events, dates, and later also other triggers. Thus, anyone can be a market gardener, and this tool will be beneficial and easy to use.</p>
Building upon the work done in GSoC 2021 to make programming the PRU easier for beginners, this project aims to add tests, features, and more compatibility for simpPRU, the simple Python-like language that compiles to PRU C and runs natively on the PRU. I will be adding assignment,bitwise operators which increase the efficiency of usage and write testcases for it, adding the compiler flags for generated C code and document their outcomes,the python test would be added to github actions for testsuite,I will be adding support for return statements,calling C from simpPRU,enhance error handling in parser,adding additional testcases for the features present. I will be writing a research paper on simpPRU quoting its need,implementation done and its preferable usage.This will make the overall language more robust and efficient, which will help beginners who are learning to use the PRU or experienced users prototyping something on the PRU.
<p>The goal of project meta-review is to track emoji responses to review comments. These responses would be collected, processed and displayed. This project builds a meta-review system on the community site and gh-board to display score ranking statistics and meta-reviews in need, respectively, and encourage people to do meta-review.</p>
<p>Bitbanging an SPI or/an I2C device in Linux leads to a lot of problems.It consumes a lot of valuable CPU cycles.And since Linux is an non-preemptive OS(And not an RTOS),once we start bitbanging,other important tasks that require CPU time would suffer.Thus,there are a lot of software overheads in doing the same. To avoid this on the BBB,we could offload the task of bitbanging I2C,SPI,UART, to the PRU.The PRU is a separate core and,hence,not affected by the Linux Scheduler. Hence the motivation for exposing the PRU as an I2C,SPI,UART device comes from the fact that they would be no software overheads in doing it and hence,we would gain extra serial interfaces without wasting valuable CPU cycles in bitabanging.</p> <p>This project involves writing Device Tree Overlays,Device Drivers and PRU firmware code for Bitbanging I2C,SPI and UART.</p>
<p>The main purpose of this project is to make the text-editors of coala more robust and active. This will be done through ensuring that the plugins are up-to-date with proper tests and continuous integration, to make maintenance more simplified for contributors in the future. This project will be completed through the use of several open-source tools. Further, the completion of this project will lead to other developers having the freedom to use coala in their favourite text editors. The ease of usage in different text editors may also help potentially serve as a way to popularize coala.</p>
<p>The idea of this project is to make the same user space examples work with both BeagleBone Black and BeagleBone AI, using the same references to drivers for peripherals assigned to the same pins between BeagleBone Black and BeagleBone AI.</p>
<p>This proposes a new action system which will allow bears to define their own actions, hence make bears more useful. Implementation of such a system makes providing support for bears which can suggest multiple patches, which is a part of Improve Diff Handling project, easy.</p>
BeagleMind is an AI-powered documentation copilot for BeagleBoard that uses Retrieval-Augmented Generation (RAG) and tool calling to assist contributors and developers. The assistant retrieves precise, context-aware answers from a vector database built from official BeagleBoard documentation, ensuring accurate and citation-backed support. With integrated tool-use capabilities, it can help users explore documentation, generate code, and automate development tasks. The MVP will be released as a Python package on the Python Package Index (PyPI), providing a lightweight command-line interface for seamless access. By streamlining access to technical knowledge and tools, BeagleMind will reduce friction in the development process and empower the BeagleBoard community.
<p>coala is a linting and code fixing tool with support for many languages. Having a configuration file is essential to make full use of coala. Having a standardised configuration format like TOML helps. coala currently has an INI style configuration. Also, INI style configuration has certain limitations when it comes to custom sub-level parsing. The LineParser and ConfParser becomes complex and error-prone. This project will allow developers to quickly implement new features and will allow users to write configuration files in a format that they are already familiar with.</p> <p>This project would focus on :</p> <ol> <li>Allowing the user to create configuration files in TOML</li> <li>Providing coala with the functionality to create TOML configuration files from sections</li> <li>Creating a tool to convert .coafile to TOML configuration file</li> <li>Allowing coala-quickstart to generate configuration files in TOML as well.</li> <li>Creation of TOMLLintBear and a repository of good configuration files to allow users to easily bootstrap their projects.</li> </ol>
<h3>git-bug</h3> <p>git-bug is a distributed bug tracker imbedded in git.</p> <h3>Current state</h3> <p>Currently the project provides a large set of tools and functionalities (command line, web UI, and terminal UI) to deal with issues locally and supports Github and launchpad issues imports.</p> <h3>GSoC program</h3> <p>During the GSoC program this project aim mainly to:</p> <ul> <li>Complete bidirectional syncing with Github by implementing it exporter. </li> <li>Support bidirectional syncing with Gitlab by implementing it exporter and importer.</li> </ul>