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
gobwas avatar

gobwas/glob

0
View on GitHub↗
1,020 stars·79 forks·Go·MIT·13 views

Glob

Glob is a pattern matching library for Go that compiles wildcard strings and file paths into optimized matchers for high-throughput string validation and filtering. It evaluates text and file paths against character sets, ranges, and alternatives to determine if candidate inputs fit specific criteria.

The library parses raw glob strings into structured syntax nodes before translating them into bytecode instruction sequences upfront. This compilation process enables finite state machine evaluations and zero-allocation path matching during runtime execution, preventing garbage collection pressure during high-frequency checks.

Features

  • Globbing Pattern Matching - Filters filesystem paths and directory listings using standard wildcard rules and patterns in Go programs.
  • Wildcard Pattern Matching - Evaluates candidate text against compiled wildcard rules supporting single-character wildcards, character sets, ranges, and alternatives.
  • Path-Optimized Matchers - Evaluates text and file paths against character sets, ranges, and alternatives using optimized path matching engines.
  • Bytecode Compilation - Compiles wildcard strings into optimized bytecode instruction sequences upfront to maximize runtime execution performance.
  • Finite State Machine Engines - Processes string matching operations through deterministic finite state machine evaluations to handle complex wildcard patterns efficiently.
  • Pattern Matching Libraries - Provides a high-performance pattern matching library that compiles wildcard and path patterns into optimized matchers in Go.
  • Path Matchers - Executes string validations without allocating heap memory to prevent garbage collection pressure during high-frequency checks.
  • String Pattern Validators - Provides fast string validation by compiling wildcard rules to repeatedly check candidate inputs against specific patterns.

Star history

Star history chart for gobwas/globStar history chart for gobwas/glob

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. 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

Frequently asked questions

What does gobwas/glob do?

Glob is a pattern matching library for Go that compiles wildcard strings and file paths into optimized matchers for high-throughput string validation and filtering. It evaluates text and file paths against character sets, ranges, and alternatives to determine if candidate inputs fit specific criteria.

What are the main features of gobwas/glob?

The main features of gobwas/glob are: Globbing Pattern Matching, Wildcard Pattern Matching, Path-Optimized Matchers, Bytecode Compilation, Finite State Machine Engines, Pattern Matching Libraries, Path Matchers, String Pattern Validators.

What are some open-source alternatives to gobwas/glob?

Open-source alternatives to gobwas/glob include: lunet-io/scriban — Scriban is a .NET text templating engine and embedded scripting language used for dynamic text generation. It… statelyai/xstate — XState is a statechart logic library and finite state machine framework used to model complex application behavior. It… pytransitions/transitions — Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid… jakesgordon/javascript-state-machine — This library is a finite state machine framework for JavaScript designed to manage application states and valid… gvergnaud/ts-pattern — This library provides a declarative approach to conditional logic in TypeScript, replacing imperative branching with… alibaba/qlexpress — QLExpress is a dynamic scripting engine and expression language for the Java platform. It functions as a runtime…

Curated searches featuring Glob

Hand-picked collections where Glob appears.
  • Glob pattern matching

Open-source alternatives to Glob

Similar open-source projects, ranked by how many features they share with Glob.
  • lunet-io/scribanlunet-io avatar

    lunet-io/scriban

    3,905View on GitHub↗

    Scriban is a .NET text templating engine and embedded scripting language used for dynamic text generation. It functions as an abstract syntax tree manipulation tool and a template parser, allowing for the conversion of scripts into visitable trees for analysis, modification, and rendering. The engine is specifically designed for Native AOT compatibility, utilizing a reflection-free API to execute templates in trimmed environments. It also provides a dedicated parser and conversion system for Liquid templates, enabling the migration and execution of Liquid scripts within .NET. The project cov

    C#
    View on GitHub↗3,905
  • pytransitions/transitionspytransitions avatar

    pytransitions/transitions

    6,548View on GitHub↗

    Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid states and the logic for moving between them, including implementations for asynchronous state machines and thread-safe state managers. The library supports hierarchical state machines that allow states to be nested to organize complex subtasks and logical contexts. It includes tools for generating visual diagrams of states and transitions to document machine logic. The project covers state management primitives such as lifecycle callbacks, conditional transition guarding, an

    Python
    View on GitHub↗6,548
  • jakesgordon/javascript-state-machinejakesgordon avatar

    jakesgordon/javascript-state-machine

    8,751View on GitHub↗

    This library is a finite state machine framework for JavaScript designed to manage application states and valid transitions. It provides a system for executing state changes with lifecycle hooks, conditional guards, and transition cancellation. The project is distinguished by its ability to inject state machine logic and transition capabilities directly into existing JavaScript class instances or objects. It also includes a visualization tool that exports state configurations into Graphviz DOT language for auditing system logic. The framework covers asynchronous transition execution and paus

    JavaScript
    View on GitHub↗8,751
  • statelyai/xstatestatelyai avatar

    statelyai/xstate

    29,734View on GitHub↗

    XState is a statechart logic library and finite state machine framework used to model complex application behavior. It provides a system for defining states, events, and transitions to govern how a system responds to inputs through a formal schema. The project includes a visual state machine editor that allows for the design of state machine diagrams which automatically generate the corresponding logic and code. It implements an actor model to manage independent concurrent entities that communicate via asynchronous events to coordinate behavioral flows. The framework covers event-driven stat

    TypeScriptbackground-jobsfinite-state-machinefsm
    View on GitHub↗29,734
See all 30 alternatives to Glob→