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.
Clad is a Clang library which allows automatic differentiation (AD) of functions. Clang provides the necessary facilities for code transformation. The AD library can differentiate non-trivial functions, to find a partial derivative for trivial cases. Newer C++ versions provide the constexpr and consteval specifiers, but currently Clad does not abide by them. The aim of this proposal is to ensure that Clad generated derivative functions follow the semantics of the original functions. Adding support will likely require a new interface for CladFunction's and changes in clad::differentiate and clad::gradient.
<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>
Devfiles are YAML files that define development environment running in the cloud. The main part of a Devfile is the components section and specify the containers required to code, build and test an application. The Devfile can either include those containers defintions or reference external files such as Dockerfiles or Kubernetes manifests. The Compose file is a popular format in open source development projects to define runtime environments for testing the application but those cannot be referenced by a Devfile yet. The goal is to update the API specification to allow referencing a Compose file from a Devfile and to implement the support in the Devfile library.
<p>Ensemble methods combine predictions of base models in order to improve performance or generalizability over a single model. To this end, there are many approaches that either use averaging or voting over base model predictions. The main objective is to integrate ensemble support for the existing flow of the WSO2 Machine Learner. Implementation will include following tasks: Implement an ensemble method(s), to combine multiple algorithms (particularly Stacking, Boosting and Bagging) Create a UI to include the end to end flow of training the algorithm. Integrate it to the WSO2 Machine Learner.</p>
<p>Recently a C based implementation of the kafka() destination was added to replace the older Java based one for performance. One feature that the Java implementation supported and the current C based one does not is support for the template syntax in the topic() parameter.</p> <p>The goal of this idea is to implement support for the standard syslog-ng template syntax in this parameter, allowing the use of multiple kafka topics, depending on the value of a syslog-ng name-value pair</p>
In database design, composite primary keys are often necessary for the partitioning and sharding of database tables. - Citus is a PostgreSQL extension that transforms PostgreSQL into a distributed database. - django-multitenant is a library by Citus which enables developers to build multi-tenant applications in Django. In Citus, composite primary keys are required. So, in order to use these tools with Django, the developers must work around the Django ORM. To make building multi-tenant apps easier, I propose adding composite primary key support to the Django ORM. https://gist.github.com/csirmazbendeguz/de1fdf88bf9df0dfba837f8e88c35df6
Lima(LInux MAchines) is a tool that helps to run Linux Virtual Machines on macOS and other hosts, with a focus on running containers on them with auto file sharing and port forwarding. Lima's internal virtual machine backend drivers are tightly connected with the main binary, making maintenance difficult and cluttering the main binary. This makes it difficult to incorporate different virtual machine backends. This project seeks to construct and develop a plugin subsystem or framework that offers support for multiple virtual machine backends that can be integrated into the main Lima application via gRPC or built into the main binary.
<p>The following modules are to be integrated with caMicroscope:</p> <ul> <li>Creating a workflow to allow model developers to allow their model to be run on a selected image or region of interest by the client, to identify cellular features or cancer.</li> <li>Add the latest deep learning models researched in the area of digital pathology to caMicroscope to help the pathologists.</li> <li>Improve the segmentation app.</li> <li>A tutorial to enable users to make models compatible with caMicroscope.</li> </ul> <p>The motto of this project is to make the recent research in deep learning more accessible</p>
<p>Newt is a web-based tool to analyze biological maps in standard formats such as PD and AF languages of SBGN, SBML, and SIF.</p> <p>This project aims to provide database support for Newt. SGBN maps stored on the database using Newt must be stored in an integrated manner ( i.e. fit like a puzzle with the existing database ).</p> <p>Furthermore, Newt must also provide the functionality to query the database for maps of interest, based on genes of interest using algorithms such as shortest path between entities, k-neighborhood, upstream/downstream of an entity, etc.</p>
<p>On MusicBrainz, URLs are external links attached to entities; relationships define their role and include metadata like date period, they provide extra information about the entity and inspire users to explore further.</p> <p>Currently, the URL relationship editor on MusicBrainz has many shortcomings. Though it is a relationship, the URL editor has a different UI from other editors. Automatic rules were built to ease the effort, but outdated and buggy rules make them an obstacle in some situations. For better user experience, we would like to enhance the URL relationship editor, to support multiple relationship types for a single link, to provide a unified appearance, better user experience and more flexibility.</p>
The p5.js Web Editor has no end-to-end tests. As the team works through a TypeScript migration and backend refactor, regressions in core user flows can go undetected and only surface through manual review. This project builds a complete E2E testing suite using Playwright, integrated into GitHub Actions so every PR into the develop branch is automatically validated against real user behaviour. The three deliverables are a working CI pipeline that runs the E2E suite on every PR, a set of prioritised user flows covering unauthenticated, authenticated, and state-transition scenarios, and contributor documentation so the suite can be extended after GSoC without the original author present.
<p>LibreCAD V3 Beziers and File I/O Support project involves further development of the LibreCAD v3 Kernel and LibreCAD Software itself.</p> <p>LibreCAD at the moment is at very beginning stage of its development and lacks many features to be a robust kernel and a Solid Usable Software.</p> <p>LibreCAD v3 Evolution considers this issue and tends to implement 3 featues in this kernel.</p> <ol> <li>Input Output to the Drawing Files ( DXF Format )</li> <li>bezier implementation in kernel ( Quadratic )</li> <li>bezier splitting operation</li> <li>bezier bounding box</li> <li>bezier intersections</li> </ol>
<p>With the number of sequenced and annotated genomes continuously increasing, there is a need for new algorithms and tools for comparative analyses both at the nucleotide and genic levels. The Genome Context Viewer (GCV) is an OSS tool that enables comparative genomics by using gene families as a unit of search and comparison. It currently uses Chado as a reference implementation for its data services and can be integrated with other GMOD components via a service layer/API. This work will create an extension module that will integrate new and existing pan-genomics algorithms into GCV while leveraging the existing UI for visualization purposes. This will help to serve communities facing the challenges of having multiple reference genomes within a single species, as well as improving GCV’s utility for clade-oriented resources.</p>
<p>digiKam is KDE desktop application for photos management. In digiKam, tags on photos are strongly supported for the sake of providing users with a natural workflow of searching and arranging photos in their collections. Since many of our photos contain faces, face tag has apparently emerged as an essential property for any photos management software, also with the fact that user has to tag thousand of their photos manually. Being aware of that, digiKam team has put a lot of efforts to develop face engine, capable of scanning photos and suggesting face tags automatically basing on pre-tagged photos by users. However, that functionality is currently deactivated in digiKam, as it is slow while not adequately accurate. Thus, this project aims to improve the performance and accuracy of facial recognition in digiKam by exploiting state-of-the-art neural network models in AI and machine learning.</p>
Valhalla is a routing engine built on OpenStreetMap data, that allows for high flexibility by providing diverse routing modes and routing filters. Initially, Valhalla received transit data from Transitland API, which converts GTFS (General Transit Feed Specification) data into a database. However, Transitland data is no longer compatible with Valhalla due to their internal updates. To bring back transit routing support to Valhalla and make it less reliant on third-party software, it can receive transit data from GTFS directly. There are downsides of simply updating the code for Transitland: (a) it is dependent on OpenstreetMap, making Valhalla heavier, while GTFS can be independent, (b) Valhalla is still vulnerable to future changes in Transitland code that may break the code. Therefore, this proposal is for an independent integration of transit data from RAW GTFS, rather than being dependent on a third-party platform.
CurveBS currently use etcd as metadata storage but etcd has limited scalability, and the amount of metadata that can be stored is limited.So i plan to add a MySQL database as one of the storage engines and let user choose whether the metadata is stored in the kv engine or the sql engine through the configuration file. Deliverables: 1.A new SQL storage client implementation for metadata in CurveBS. 2.Configuration options to choose between kv engine and SQL engine for metadata storage. 3.Modifications to the leader election process to support the new SQL storage client. 4.Documentation on how to configure and use the new SQL storage client. 5.Tests to ensure the new SQL storage client works as expected and is compatible with existing functionality. 6.Release notes detailing the changes and improvements made to CurveBS with the addition of the new SQL storage client.
<p><code>aiida-core</code> uses <code>plumpy</code> as its workflow backend and uses <code>circus</code> to daemonize its workflow manager process. However, the <code>plumpy</code> workflow library, and the circus process & socket manager have not kept up with recent developments, forcing libraries of AiiDA ecosystem to run with outdated versions of <code>tornado</code>, and making it incompatible with the latest python web technology. In this project, I will replace <code>tornado</code> dependencies of <code>plumpy</code> and <code>aiida-core</code> by <code>asyncio</code> to enable full support of <code>asyncio</code> in <code>aiida-core</code>. If the goals and deliverables are reached before the end of the project, I will also migrate <code>circus</code>, which is also used by many other open-source projects besides AiiDA, from <code>tornado</code> to <code>asyncio</code>.</p>
<p>Many problems in applied sciences are posed as convex optimization problems over the complex field such as MaxCut, Phase retrieval from sparse signals, designing a FIR filter given desired frequency response.</p> <p>The present approach is to manually convert the complex-domain problems to real-domain problems, then use domain specific languages like Convex.jl, cvx or cvxpy to get the solution of the corresponding real-domain problem and finally combine the solution from these languages to get the complex-domain solution. This process can be time-consuming and non-intuitive sometimes. The correct approach to such problems is to make our existing packages deal with complex-domain problems directly.</p> <p>The aim of the project is to add the support for solving complex-domain linear programs, second order conic programs as well as complex semidefinite programs (SDP) in Convex.jl (a Julia package for Disciplined Convex Programming).</p>
This project addresses the inverse problem of estimating physiological parameters that characterize the permeability of the blood-brain barrier (BBB) from MRI data. These parameters cannot be measured directly and must be inferred from signal progression over time in techniques such as Dynamic Contrast-Enhanced MRI (DCE-MRI) and Arterial Spin Labeling (ASL). The estimation is complicated by measurement noise, model ambiguity, and the sensitivity of parameter estimates to small variations in the data. To improve robustness and accuracy, this project will implement a Bayesian framework that incorporates prior physiological knowledge and observed MRI signals to estimate the posterior distribution of the parameters. For the pharmacokinetic modeling the Tofts model for DCE-MRI and perfusion modeling for ASL will be used. Markov Chain (MCMC) sampling and gradient-based optimization methods may improve the robustness of the reconstruction. Deliverables include: --- An extensible implementation of the BBB modeling pipeline using OSIPI tools --- Support for both DCE-MRI and ASL data --- Parameter estimation via Bayesian inference and optimization --- Comprehensive documentation and integration into the OSIPI project.
Bowtie is a meta-validator for the JSON Schema specification, giving users a way to execute and compare how different implementations behave against the official test suite. Currently, Bowtie only supports validating instances on a simple pass/fail basis, comparing implementations solely on their correctness regarding strict schema validation. However, the JSON Schema specification also defines "Annotations"—rich metadata attached to schemas like descriptions, deprecation notices, and default values. This project primarily focuses on integrating the official Annotation Test Suite into Bowtie's architecture. This involves upgrading Bowtie's core protocol and updating numerous language-specific test harnesses to successfully extract and transmit this annotation data natively. By building a dedicated interactive dashboard within the Bowtie website, this project will allow users to easily visualize annotation compliance across languages. Ultimately, this gives users another crucial dimension to evaluate different implementations, ensuring the ecosystem correctly surfaces important specification metadata alongside standard validation results.
<p>The current representation of reference genomes is as a sequence of nucleotides akin to a long string. Intuitively, this doesn’t represent a genome but rather a consensus. A workaround used today is holding variation data in VCF files that don’t update the reference meaning the reference will always represent the genome as it <strong>was</strong> not as it <strong>is</strong> or as it’s <strong>evolving</strong>. It’s clear that the current method of representing genomes is not ideal. There is a need for a representing the reference in a data structure that contains its inherent variation. Different methods have been tried and the variant graph is a promising one. The way the graph works is by representing the variation within the genome as alternative paths one can traverse the graph through and conserved regions as nodes without alternative paths to the get to the next node; we then index the nodes for querying and alignment. Moreover, variation graphs hold an advantage with rapidly evolving genomes and short read data that could get thrown out when it doesn’t have a place to align to in the reference; with the variant graph short reads should reads could align to alternative nodes.</p>
<p>Pallene is a statically typed, ahead-of-time-compiled sister language to Lua, with a focus on performance. Programmers can use Pallene instead of C modules and LuaJIT to improve and gain a predictable run-time performance. Pallene achieves this by translating a statically typed compilation unit into a C source file, which is implicitly compiled in the background.</p> <p>However, there are situations where removal of type annotations are useful.</p> <ul> <li>The main premise of Pallene is that it is compatible with Lua. This compatibility is defined as removing type annotations from a Pallene program results in transforming it into a Lua program. A Pallene to Lua translator will allow us to check whether this property is still valid. </li> <li>Provides greater portability, interoperability and integration with existing Lua codebase and tools.</li> <li>The Pallene developers could check if the unit tests are obeying the "gradual guarantee".</li> <li>In the benchmarks that do not use LuaJIT features, we could generate the Lua version of the code from the Pallene version.</li> </ul> <p>With the help of the Pallene to Lua translator, users can remove Pallene type annotations to generate plain Lua.</p>
<p>Many users of Open Ephys are using optogenetic tools to manipulate activity in genetically defined neural circuits, but there is currently no way to control these tools from the Open Ephys GUI. <a href="http://www.open-ephys.org/cyclops/" target="_blank">Cyclops</a> is a high-precision LED driver designed for precise optogenetic stimulation. Setting up a controlled closed-loop experiments, <em>where neurons can be stimulated based on real-time acquired neural data</em>, would be greatly simplified if a plugin to communicate with Cyclops is built into the GUI.</p> <p>A typical scenario would be to upload or stream waveforms to Cyclops and trigger their deployment <em>(or transformations)</em> based on events detected in GUI. An <strong>open communication protocol</strong> needs to be defined for this and also <strong>special programable processors</strong> that can generate feedback signals and control Cyclops <em>(via the protocol)</em>.<br> After configuring the processors in the pipeline, the GUI would program Cyclops and the experiment can be launched.</p> <p>In addition to this, a more powerful and upgraded Cyclops that uses a <a href="http://www.pjrc.com/teensy/" target="_blank">Teensy</a> board will be released. Cyclops and Open Ephys would still support the Arduino version though.</p>
<p><strong><em><a href="https://github.com/rails/web-console" target="_blank">Web Console</a></em></strong> is a debugging tool for the web apps built with Ruby on Rails. In order to debug, it provides an interactive Ruby session to the developers. The console is displayed in the current page of the browser, and its session stores context of running code of the web app. It allows us to debug the web apps interactively.</p> <p>This project aims to make a better user experience for Web Console as a whole, and the main focus is to support <strong><em>"auto-completion"</em></strong> feature, which is to help us typing commands speedy and quickly on the console.</p> <p>And also, this project is getting into ways to extend Web Console. The other goal of the project is to create <strong><em>"built-in commands"</em></strong> and its architecture, which makes Web Console more extendable, and it can open the door to yet another contributors.</p> <p>A point worthy of special mention is that the above features are working on the inner of console, and it basically does not need new things for the HTML view of Web Console.</p> <p>Details: <a href="https://github.com/sh19910711/google-summer-of-code-2016" target="_blank">https://github.com/sh19910711/google-summer-of-code-2016</a></p>