awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ramda avatar

ramda/ramda

0
View on GitHub↗
24,072 stars·1,432 forks·JavaScript·MIT·19 viewsramdajs.com↗

Ramda

Ramda is a functional JavaScript standard library and toolset for immutable data transformation and composition. It provides a comprehensive suite of pure utility functions designed to enable declarative data processing pipelines.

The library is distinguished by its use of automatic function currying and a data-last argument order. These design patterns allow multi-argument functions to be partially applied, simplifying the construction of processing chains where data is passed through a sequence of operations.

The toolkit covers broad data manipulation capabilities, including list processing, complex object transformations such as flattening and renaming keys, and tabular data pivoting. It also supports relational operations like SQL-style object joins and numerical range scaling.

The project provides tree-shakable module exports to facilitate bundle size optimization and dead code elimination.

Features

  • Functional Programming - Serves as a comprehensive library for declarative data transformation and functional programming patterns in JavaScript.
  • Immutable Data Structures - Ensures data structures are transformed without mutation to prevent side effects in application state.
  • Object Utilities - Provides tools for deep-merging, flattening, and querying complex JavaScript objects.
  • Argument Reordering - Uses a data-last argument order to optimize utility functions for chaining and functional composition.
  • Functional Utility Libraries - Offers a specialized collection of functional programming primitives and collection manipulation tools.
  • Functional - Implements functional paradigms that produce new data structures instead of mutating existing ones.
  • Function Currying - Implements automatic function currying to allow partial application of multi-argument utility functions.
  • Functional Data Pipelines - Enables the construction of sequences that transform data using immutable functions and declarative logic.
  • Data-Last Argument Structuring - Implements a data-last argument order to facilitate easier function composition and partial application.
  • Functional Pipelines - Provides patterns for chaining data transformations using pure, side-effect-free functions.
  • Function Composition - Merges multiple small, pure functions into a single composite operation for immutable processing.
  • Data Joins - Implements SQL-style inner, outer, left, and right joins to combine lists of objects.
  • Key Renaming - Renames object keys using mapping objects or transformation functions.
  • Index-Based Extraction - Extracts specific elements from lists using a provided set of index positions.
  • Overlap Detection - Checks for overlapping elements between multiple lists to identify common items.
  • Quantile Division - Splits sorted lists into equal-sized groups based on a custom comparator.
  • Object Flattening - Converts deeply nested objects into flat structures using dot-separated keys.
  • Predicate Property Filtering - Removes object properties based on a predicate function evaluating keys and values.
  • Identifier-Based Lookups - Locates specific objects within lists using unique identifiers.
  • Pivot Table Aggregators - Transforms lists of key-value pairs into pivoted table formats to reorganize data.
  • Table Unpivoting - Converts pivoted tables back into normalized lists of attribute-value pairs.
  • Bundle Size Optimization - Allows for the creation of custom builds containing only required utilities to minimize final bundle size.
  • Dead Code Elimination - Supports the removal of unused code from production bundles through tree-shaking and partial builds.
  • JavaScript Utility Libraries - Extends JavaScript capabilities with a comprehensive set of helper functions for common programming tasks.
  • Numerical Range Scaling - Transforms numerical values from one specific range to another proportionally.
  • Boolean Predicates - Provides higher-order functions that use boolean predicates to filter elements or object properties.
  • Tree-Shakable Architectures - Organizes utility functions as independent exports to enable dead-code elimination via tree-shaking.
  • Data Utilities and Libraries - Practical functional programming library for JavaScript.
  • Functional Programming - Functional utility library focused on composition.
  • Functional Utility Libraries - Practical functional library designed for pipelines and immutability.

Star history

Star history chart for ramda/ramdaStar history chart for ramda/ramda

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does ramda/ramda do?

Ramda is a functional JavaScript standard library and toolset for immutable data transformation and composition. It provides a comprehensive suite of pure utility functions designed to enable declarative data processing pipelines.

What are the main features of ramda/ramda?

The main features of ramda/ramda are: Functional Programming, Immutable Data Structures, Object Utilities, Argument Reordering, Functional Utility Libraries, Functional, Function Currying, Functional Data Pipelines.

What are some open-source alternatives to ramda/ramda?

Open-source alternatives to ramda/ramda include: lodash/lodash — Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions… dry-python/returns — Returns is a functional programming library for Python that provides type-safe containers for managing state, error… stdlib-js/stdlib. getify/functional-light-js — Functional-Light-JS is a JavaScript functional programming library designed to implement functional patterns within… ankurp/dollar — Dollar is a functional programming library for Swift that provides a comprehensive toolkit for collection… remeda/remeda — Remeda is a type-safe functional utility library for TypeScript designed for building data transformation pipelines.…

Open-source alternatives to Ramda

Similar open-source projects, ranked by how many features they share with Ramda.
  • lodash/lodashlodash avatar

    lodash/lodash

    61,235View on GitHub↗

    Lodash is a JavaScript utility library and data manipulation toolkit. It provides a collection of modular functions for transforming, filtering, and validating arrays, objects, strings, and numbers. The project functions as a functional programming toolkit, offering capabilities for function composition, currying, and lazy evaluation. It includes mechanisms for execution control, such as debouncing and throttling, to manage the timing and frequency of function invocations. The library covers a broad surface of data operations, including deep cloning and merging of complex nested structures,

    JavaScriptjavascriptlodashmodules
    View on GitHub↗61,235
  • dry-python/returnsdry-python avatar

    dry-python/returns

    4,310View on GitHub↗

    Returns is a functional programming library for Python that provides type-safe containers for managing state, error handling, and optionality. It serves as a monadic container library and a type-safe error handling framework, replacing traditional try-catch blocks and null checks with Result and Optional containers to treat exceptions as data. The project is distinguished by its use of a specialized Mypy static analysis plugin to validate functional pipelines and emulate higher kinded types. It provides mechanisms for isolating side effects through IO containers and offers a framework for typ

    Python
    View on GitHub↗4,310
  • stdlib-js/stdlibstdlib-js avatar

    stdlib-js/stdlib

    5,735View on GitHub↗
    JavaScriptjavascriptjslibrary
    View on GitHub↗5,735
  • getify/functional-light-jsgetify avatar

    getify/Functional-Light-JS

    16,763View on GitHub↗

    Functional-Light-JS is a JavaScript functional programming library designed to implement functional patterns within JavaScript applications. It serves as a toolkit for declarative data processing, immutable data management, and the construction of complex logic through higher-order functions. The library focuses on a pragmatic implementation of functional programming, providing utilities for curried argument application and function composition. It emphasizes the use of pure functions to calculate state updates and manage application data without side effects. The project covers broad capabi

    JavaScript
    View on GitHub↗16,763
See all 30 alternatives to Ramda→