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
duke-git avatar

duke-git/lancet

0
View on GitHub↗
5,295 stars·519 forks·Go·MIT·14 viewswww.golancet.cn/en↗

Lancet

Lancet is a comprehensive extension of the Go standard library, providing a collection of reusable functions and data structures designed to reduce boilerplate code in applications. It serves as a general-purpose toolkit across multiple domains, including concurrency, security, networking, and functional logic.

The project distinguishes itself through specialized toolkits for Go concurrency, such as keyed locking and channel-based stream processing, and a dedicated functional programming kit that supports currying and function composition. It also includes a dedicated cryptography library implementing symmetric and asymmetric encryption using AES, RSA, and SM standards.

The library covers a broad range of capability areas, including advanced data structures like LRU caches and binary search trees, mathematical computation for algebra and statistics, and operating system integration for process and file management. It further provides utilities for HTTP networking, date and time manipulation, and high-level data processing such as set algebra and lazy stream evaluation.

Features

  • Go Libraries - Provides a comprehensive extension of the Go standard library with reusable functions and data structures.
  • Channel Flatteners - Provides utilities to flatten a stream of nested channels into a single continuous stream of values.
  • Event Bus - Implements an event bus to decouple application components through a publish-subscribe mechanism.
  • Least Recently Used Caches - Provides an in-memory LRU cache that automatically evicts the least recently used items.
  • Go Generic Collections - Provides specialized Go data structures including LRU caches, priority queues, and thread-safe lists.
  • Go Concurrency Utilities - Implements advanced synchronization patterns and channel-based data streams for asynchronous workflows in Go.
  • Go Functional Programming Toolkits - Provides a toolkit for functional programming patterns such as currying and function composition in Go.
  • Higher-Order Function Toolkits - Provides a toolkit for higher-order function composition, including currying and pipelining for modular logic.
  • Channel Merging - Implements patterns for combining multiple Go data streams into a single output channel.
  • Consumption Limiters - Implements primitives that restrict the number of elements consumed from a Go channel before closing.
  • Channel Splitting - Implements primitives that duplicate a single input channel into multiple output channels for multiple consumers.
  • Value-Based Stream Generation - Creates channels populated with static values or results from repeatedly executed functions.
  • Asymmetric Encryption - Implements RSA asymmetric encryption and decryption including support for OAEP padding.
  • RSA Signing Implementations - Creates and verifies digital signatures using RSA private and public keys.
  • Cryptographic Hash Generation - Generates cryptographic digest values for strings, byte slices, or files using MD5, SHA, and SM3.
  • Go Cryptography Implementations - Implements symmetric and asymmetric encryption, digital signing, and hashing using AES, RSA, and SM standards.
  • HMAC Generation - Produces keyed-hash message authentication codes (HMAC) using MD5 and SHA algorithms.
  • Keyed Locking - Synchronizes shared resource access by associating specific mutexes with unique identifiers to reduce lock contention.
  • SM Standard Cryptography - Implements SM2 asymmetric encryption, SM3 hashing, and SM4 symmetric encryption.
  • Symmetric Encryption - Provides symmetric data encryption using AES, DES, and GCM algorithms with various modes.
  • Channel-Based Stream Processing - Implements lazy data pipelines using Go channels to manage asynchronous flow via fan-in and bridging patterns.
  • Channel Racing - Provides concurrency primitives to read from multiple channels and return the first available value.
  • Event Subscriptions - Manages event subscriptions with support for registering and removing listeners with priority and filtering.
  • Function Execution Utilities - Wraps functions to provide execution control including debouncing, throttling, currying, and scheduling.
  • File and Directory Operations - Provides a comprehensive set of functions to create, remove, copy, and manage files and directories.
  • Predicate-Based Element Filtering - Removes elements from collections based on a predicate function or comparison against another list.
  • CSV File Processing - Reads and writes tabular data between CSV files and slices or maps.
  • Unique Value Collections - Provides set collections that ensure every element is unique with methods for existence checks.
  • Enum Registries - Implements registries for named constants with validation and JSON marshaling support.
  • Enum Membership Validators - Provides rules for confirming that input values belong to a predefined enumeration class.
  • Insertion-Order Maps - Provides a map implementation that preserves the sequence of elements as they were inserted.
  • Concurrent Map Implementations - Provides a map implementation safe for concurrent use by multiple goroutines.
  • Parallel Stream Readers - Reads large files in chunks using parallel goroutines to stream lines into a channel.
  • Lazy Stream Processing - Creates lazy streams from slices or channels to perform mapping, filtering, and reduction.
  • List Set Algebra - Calculates union, intersection, and difference between lists, and checks for list equality.
  • Slice Sorting Algorithms - Orders elements in a slice using QuickSort, MergeSort, or BubbleSort algorithms.
  • Unique Identifier Generators - Implements RFC 4122 compliant version 4 universally unique identifier generation.
  • Base64 Encoders - Converts values into standard, URL-safe, or raw Base64 strings, including JSON serialization for complex structures.
  • Go Network Utilities - Offers lightweight helpers for HTTP requests, URL construction, and network interface discovery in Go.
  • Operating System Interfaces - Provides capabilities to execute shell commands, manage environment variables, and retrieve system process information.
  • Process Lifecycle Management - Provides utilities for starting, stopping, and monitoring system processes via PIDs and signals.
  • Zip Archive Management - Provides utilities for creating zip archives from files or directories and extracting zipped content.
  • Data Type Conversions - Transforms values between strings, booleans, integers, and floats with built-in error handling.
  • FIFO Queues - Implements FIFO queues using array, linked, or circular data structures.
  • File Read and Write Operations - Implements primitives for reading and writing file content as strings, bytes, or CSV formats.
  • Generic Collection Implementations - Provides standard data structures implemented via interfaces to achieve type flexibility across collections.
  • Slice and Map Type Converters - Transforms slices of structs into maps or maps into slices using custom iteratee functions.
  • Random Primitives - Provides utilities for generating random integers, strings, UUIDs, and boolean values.
  • LIFO Stacks - Implements LIFO stacks using array or linked-list backends.
  • Object Cloning Techniques - Creates complete independent deep copies of items, including nested structures and maps.
  • Binary Search Trees - Provides binary search tree structures for efficient data retrieval and sorted organization.
  • Linear Data Structures - Maintains ordered collections of elements with standard insertion, deletion, and retrieval utilities.
  • Function Currying - Transforms multi-argument functions into a series of single-argument functions through currying.
  • Functional Pipeline Composition - Creates execution pipelines where the output of one function is passed as the input to the next.
  • Slice Search Algorithms - Locates the index of a target value within a slice using linear or binary search.
  • Asymmetric Key Management - Provides utilities for generating and saving RSA public and private key pairs to files.
  • SM2 Key Management - Implements SM2 elliptic curve key pair generation for asymmetric encryption and decryption.
  • File Hashing Utilities - Computes SHA-1, SHA-256, or SHA-512 cryptographic checksums for files.
  • Copy-On-Write Lists - Manages lists using a copy-on-write strategy to ensure thread-safe reads and writes.
  • Copy-On-Write Collections - Ensures thread-safe concurrent access to collections by duplicating the underlying storage during write operations.
  • Error Wrapping Utilities - Provides enhanced error handling by wrapping errors with custom IDs, messages, and stack traces for better debugging.
  • Event Bus Architectures - Provides a publish-subscribe mechanism that routes payloads to registered listener functions to decouple system components.
  • Delayed Execution Utilities - Triggers functions to execute once after a specified duration has elapsed.
  • Execution Debouncing - Implements function debouncing to prevent execution until a specified delay has passed since the last invocation.
  • Function Retry Strategies - Executes tasks repeatedly until success or timeout using configurable linear or exponential backoff strategies.
  • Struct-to-Map Converters - Uses Go reflection to extract fields and tags for converting structured objects into generic map representations.
  • Panic Recovery Mechanisms - Implements a mechanism to catch and handle runtime panics similar to try-catch blocks.
  • Sharded Maps - Implements maps partitioned into multiple segments with independent locks to minimize contention during concurrent access.
  • Priority Queues - Implements priority queues for retrieving elements based on a specific priority.
  • String Manipulation - Provides advanced string operations including Camel, Snake, and Kebab case conversion, padding, and substring extraction.
  • Execution Duration Tracking - Captures the execution duration of functions to track performance and timing.
  • Function Execution Throttling - Provides a mechanism to ensure a function is executed at most once per specified time interval.

Star history

Star history chart for duke-git/lancetStar history chart for duke-git/lancet

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

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

Projects sharing features with Lancet

These projects share indexed features with Lancet. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sadanandpai/javascript-code-challengessadanandpai avatar

    sadanandpai/javascript-code-challenges

    4,451View on GitHub↗

    This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides reference implementations and educational examples designed to help developers master language fundamentals and prepare for technical interviews. The project covers a wide array of specialized implementations, including functional programming patterns like currying and partial application, as well as asynchronous patterns for concurrency control. It also includes practical examples of Document Object Model manipulation and the implementation of common data structures such as stacks

    MDXchallengescoding-interviewfrontend
    View on GitHub↗4,451
  • angus-c/justangus-c avatar

    angus-c/just

    6,204View on GitHub↗

    Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming, performance optimization, statistical analysis, and string processing. It provides a set of tools for deep cloning, filtering, and transforming complex objects and arrays. The project is structured as a series of zero-dependency modules, allowing utilities to be used independently to minimize bundle size. It implements functional programming patterns including currying, piping, and partial application, and provides execution control through memoization, debouncing, and throttling. The

    JavaScript
    View on GitHub↗6,204
  • google/end-to-endgoogle avatar

    google/end-to-end

    4,123View on GitHub↗

    This project is an OpenPGP cryptography library designed for encrypting, decrypting, and signing messages according to the OpenPGP standard for secure communication. It functions as an asymmetric encryption toolkit for securing data and managing digital identities through cryptographic operations. The library provides a cryptographic key manager to create and handle the public and private key pairs required for identity operations. It includes a digital signature implementation to ensure message authenticity and data integrity. The system covers a broad range of capabilities, including asymm

    JavaScriptcryptographyjavascriptopenpgp
    View on GitHub↗4,123
  • crazyguitar/pysheeetcrazyguitar avatar

    crazyguitar/pysheeet

    8,150View on GitHub↗

    pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns for advanced Python development, system integration, and high-performance computing. It serves as a comprehensive guide for implementing low-level network programming, native C extensions, and asynchronous and concurrent programming. The project provides specialized frameworks for the development and deployment of large language models, including tools for distributed GPU inference and high-performance serving. It also includes detailed patterns for high-performance computing

    Python
    View on GitHub↗8,150
Compare all 30 related projects→

Frequently asked questions

What does duke-git/lancet do?

Lancet is a comprehensive extension of the Go standard library, providing a collection of reusable functions and data structures designed to reduce boilerplate code in applications. It serves as a general-purpose toolkit across multiple domains, including concurrency, security, networking, and functional logic.

What are the main features of duke-git/lancet?

The main features of duke-git/lancet are: Go Libraries, Channel Flatteners, Event Bus, Least Recently Used Caches, Go Generic Collections, Go Concurrency Utilities, Go Functional Programming Toolkits, Higher-Order Function Toolkits.

Which projects share features with duke-git/lancet?

Projects with overlapping indexed features include: sadanandpai/javascript-code-challenges — This repository is a collection of JavaScript coding challenges and a comprehensive interview guide. It provides… angus-c/just — Just is a collection of JavaScript utility libraries designed for data manipulation, functional programming,… google/end-to-end — This project is an OpenPGP cryptography library designed for encrypting, decrypting, and signing messages according to… crazyguitar/pysheeet — pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns… chyingp/nodejs-learning-guide — This project is a learning guide and collection of study notes designed to teach Node.js backend development. It… grantjenks/python-diskcache — This project is a disk-backed key-value store and persistent data structure library for Python. It provides a…