Merge

Open-source projects categorized as Merge
Topics: Golang Git JSON Sort Diff

Top 23 Merge Open-Source Projects

  • winmerge

    WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.

  • sahi

    Framework agnostic sliced/tiled inference + interactive ui + error analysis plots

  • Project mention: Small-Object Detection using YOLOv8 | /r/computervision | 2023-08-15

    Hi All, I am trying to detect defects in the images using YOLOv8where some of the classes (defectType1, defectType2) have very small bounding boxes and some of them have large bounding boxes associated with the, (defectType3, defectType4). Also, real-time operation is desired (at least 5Hz on Jetson Xavier) What I have done till now: I am primarily trying to use the SAHI technique (Slicing Aided Hyper Inference)

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • pdfsam

    PDFsam, a desktop application to split, merge, mix, rotate PDF files and extract pages

  • Project mention: pdfsam VS cpdf-binaries - a user suggested alternative | libhunt.com/r/pdfsam | 2023-08-18
  • mergo

    Mergo: merging Go structs and maps since 2013

  • nbdime

    Tools for diffing and merging of Jupyter notebooks.

  • Project mention: Stuff I Learned during Hanukkah of Data 2023 | dev.to | 2023-12-18

    I remember hearing about nbdime and thinking it sounded useful, but I've never really needed it since I rarely use Jupyter in the first place. But then I made some changes to my Hanukkah of Data 2023 notebook to work with the follow-up "speed run" challenge (a new dataset and slightly tweaked clues), and the native Git diff was too noisy to be useful. nbdime came to the rescue! Here are the changes I had to make for days 2 and 3 during the speed run:

  • quadsort

    Quadsort is a branchless stable adaptive mergesort faster than quicksort.

  • Project mention: 10~17x faster than what? A performance analysis of Intel x86-SIMD-sort (AVX-512) | news.ycombinator.com | 2023-06-10

    https://github.com/scandum/quadsort/blob/f171a0b26cf6bd6f6dc...

    As you can see, quadsort 1.1.4.1 used 2 instead of 4 writes in the bi-directional parity merges. This was in June 2021, and would have compiled as branchless with clang, but as branched with gcc.

    When I added a compile time check to use ternary operations for clang I was not adapting your work. I was well aware that clang compiled ternary operations as branchless, but I wasn't aware that rust did as well. I added the compile time check to use ternary operations for a fair performance comparison against glidesort.

    https://raw.githubusercontent.com/scandum/fluxsort/main/imag...

    As for ipnsort's small sort, it is very similar to quadsort's small sort, which uses stable sorting networks, instead of unstable sorting networks. From my perspective it's not exactly novel. I didn't go for unstable sorting networks in crumsort to increase code reuse, and to not reduce adaptivity.

  • git-machete

    Probably the sharpest git repository organizer & rebase/merge workflow automation tool you've ever seen

  • Project mention: Git Machete | news.ycombinator.com | 2024-03-30
  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • blitsort

    Blitsort is an in-place stable adaptive rotate mergesort / quicksort.

  • clawPDF

    Open Source Virtual (Network) Printer for Windows that allows you to create PDFs, OCR text, and print images, with advanced features usually available only in enterprise solutions.

  • goerli

    the goerli/prater testnet configurations.

  • default-composer

    A tiny (~500B) JavaScript library that allows you to set default values for nested objects

  • Project mention: 👋 Say Goodbye to Spread Operator: Use Default Composer | dev.to | 2023-06-05

    Original article: https://aralroca.com/blog/default-composer When working with objects in JavaScript, it is common to need to set default values for empty strings/objects/arrays, null, or undefined properties. When dealing with nested objects, this can become even more complicated and require complex programming logic. However, with the "default-composer" library, this task becomes simple and easy. What is "default-composer"? "default-composer" is a lightweight (~300B) JavaScript library that allows you to set default values for nested objects. The library replaces empty strings/arrays/objects, null, or undefined values in an existing object with the defined default values, which helps simplify programming logic and reduce the amount of code needed to set default values. Default Composer logo Benefits over Spread Operator and Object.assign While ...spread operator and Object.assign() can also be used to set default values for objects, "default-composer" provides several benefits over these methods. Works with nested objects, whereas the spread operator and Object.assign() only work with shallow objects. More concise and easier to read than spread operator or Object.assign(). The code required to set default values with these methods can become very verbose and difficult to read, especially when dealing with nested objects. More granular control over which properties should be set to default values. With spread operator and Object.assign(). Imagine we have this original object: const original = { name: "", score: null, address: { street: "", city: "", state: "", zip: "", }, emails: [], hobbies: [], another: "anotherValue" }; Enter fullscreen mode Exit fullscreen mode And these are the defaults: const defaults = { name: "John Doe", score: 5, address: { street: "123 Main St", city: "Anytown", state: "CA", zip: "12345", }, emails: ["[email protected]"], hobbies: ["reading", "traveling"], }; Enter fullscreen mode Exit fullscreen mode We want to merge these objects replacing the original values that are "", null, [], undefined and {} to the default value. So the idea is to get: console.log(results) /** * { * "name": "John Doe", * "score": 5, * "address": { * "street": "123 Main St", * "city": "Anytown", * "state": "CA", * "zip": "12345" * }, * "emails": [ * "[email protected]" * ], * "hobbies": [ * "reading", * "traveling" * ], * "another": "anotherValue" **/ Enter fullscreen mode Exit fullscreen mode Probably with spread operator we will have to do something like that: const results = { ...defaults, ...original, name: original.name || defaults.name, score: original.score ?? defaults.score, // "??" beacause 0 is valid address: { ...defaults.address, ...original.address, street: original.address.street || defaults.address.street, city: original.address.city || defaults.address.city, state: original.address.state || defaults.address.state, zip: original.address.zip || defaults.address.zip, }, emails: original.emails.length ? original.emails : defaults.emails, hobbies: original.hobbies.length ? original.hobbies : defaults.hobbies, }; Enter fullscreen mode Exit fullscreen mode and with Object.assign something like this: const results = Object.assign({}, defaults, original, { name: original.name || defaults.name, score: original.score ?? defaults.score, // "??" beacause 0 is valid address: Object.assign({}, defaults.address, original.address, { street: original.address.street || defaults.address.street, city: original.address.city || defaults.address.city, state: original.address.state || defaults.address.state, zip: original.address.zip || defaults.address.zip, }), emails: original.emails.length ? original.emails : defaults.emails, hobbies: original.hobbies.length ? original.hobbies : defaults.hobbies, }); Enter fullscreen mode Exit fullscreen mode Maintaining this can be very tidious, especially with huge, heavily nested objects. Headache... With defaultComposer we could only use this: import defaultComposer from 'default-composer'; // 300B // ... const results = defaultComposer(defaults, original); Enter fullscreen mode Exit fullscreen mode Easier to maintain, right? 😉 Happier an easier What happens if in our project there is a special property that works differently from the others and we want another replacement logic? Well, although defaultComposer has by default a configuration to detect the defautable values, you can configure it as you like. import { defaultComposer, setConfig } from 'default-composer'; setConfig({ // This function is executed for each value of each key that exists in // both the original object and the defaults object. isDefaultableValue: ( // - key: key of original or default object // - value: value in the original object // - defaultableValue: pre-calculed boolean, you can use or not, // depending if all the rules of the default-composer library are correct // for your project or you need a totally different ones. { key, value, defaultableValue } ) => { if (key === 'rare-key') { return defaultableValue || value === 'EMPTY' } return defaultableValue; }, }); Enter fullscreen mode Exit fullscreen mode Conclusions I've introduced the "default-composer" library as a solution for setting default values for nested objects in JavaScript. The library is lightweight and provides more concise and easier-to-read code than the spread operator and Object.assign methods. It also offers more granular control over which properties should be set to default values. In this article I provide examples of how to use the library and how it simplifies the code for maintaining nested objects. Finally, I explain how the library can be configured to handle special cases where a different replacement logic is required. Overall, "default-composer" is a useful library for simplifying the task of setting default values for nested objects in JavaScript.

  • konfig

    konfig helps to merge, split or import kubeconfig files (by corneliusweig)

  • Project mention: Kubeconfig-Merger - Dumb script that merge 2 kubeconfig | /r/kubernetes | 2023-04-25

    There is also https://github.com/corneliusweig/konfig which allows to merge, split or export kubeconfig.

  • sepolia

    the sepolia/bepolia testnet configurations.

  • go-sstables

    Go library for protobuf compatible sstables, a skiplist, a recordio format and other database building blocks like a write-ahead log. Ships now with an embedded key-value store.

  • mergi

    go library for image programming (merge, crop, resize, watermark, animate, ease, transit)

  • deepmerge-ts

    Deeply merge 2 or more objects respecting type information.

  • joincap

    Merge multiple pcap files together, gracefully.

  • functional-go

    This library is inspired by functional programming - Clojure

  • PSWritePDF

    PowerShell Module to create, edit, split, merge PDF files on Windows / Linux and MacOS

  • webgrabplus-siteinipack

    Official user supported WebGrab+Plus Siteini.pack repo

  • Merge-Stable-Diffusion-models-without-distortion

    Adaptation of the merging method described in the paper - Git Re-Basin: Merging Models modulo Permutation Symmetries (https://arxiv.org/abs/2209.04836) for Stable Diffusion

  • ftools

    Fast Stata commands for large datasets

  • mergoo

    A library for easily merging multiple LLM experts, and efficiently train the merged LLM.

  • Project mention: A Library to build MoE from HF models | news.ycombinator.com | 2024-04-08

    https://github.com/Leeroo-AI/mergoo

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-04-08.

Merge related posts

Index

What are some of the best open-source Merge projects? This list will help you:

Project Stars
1 winmerge 5,698
2 sahi 3,534
3 pdfsam 3,064
4 mergo 2,704
5 nbdime 2,593
6 quadsort 2,104
7 git-machete 830
8 blitsort 699
9 clawPDF 610
10 goerli 544
11 default-composer 459
12 konfig 331
13 sepolia 259
14 go-sstables 251
15 mergi 216
16 deepmerge-ts 210
17 joincap 202
18 functional-go 179
19 PSWritePDF 170
20 webgrabplus-siteinipack 156
21 Merge-Stable-Diffusion-models-without-distortion 133
22 ftools 127
23 mergoo 127
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com