MontFerret/ferret

Declarative data automation language and Go runtime for structured extraction workflows.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 33 minutes ago
Added to GitGenius on September 11th, 2026
Created on August 23rd, 2018
Open Issues & Pull Requests: 13 (+0)
GitHub issues: Enabled
Number of forks: 324
Total Stargazers: 6,010 (+0)
Total Subscribers: 93 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 24.5 days
Mean response time: 579.5 days
90th percentile: 2475.7 days
Tracked items: 57

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 2% of issues opened in the past year have been closed. Three people close 100% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 9
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,892 days
Stale 30+ days: 9
Stale 90+ days: 5

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • type/enhancement (34)
  • help wanted (18)
  • area/runtime (17)
  • status/proposal (14)
  • hacktoberfest (11)
  • area/stdlib (10)
  • area/compiler (9)
  • area/parser (9)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Ferret is a declarative data automation language and Go runtime for structured extraction workflows.

Ferret addresses the challenge of extracting and transforming data from web sources by providing a domain-specific language designed specifically for data automation tasks. Rather than writing imperative scripts, developers write declarative queries that describe what data to extract and how to transform it. The runtime executes these queries against web pages and structured data, handling browser automation and data extraction through a unified language interface.

Teams should consider Ferret when building data extraction pipelines that need to be maintainable and readable across different skill levels. It suits projects where the extraction logic is complex enough to warrant a dedicated language but where the overhead of general-purpose programming would slow development. The declarative approach makes queries easier to understand and modify compared to imperative web scraping code, particularly valuable when extraction rules need frequent updates or when multiple team members maintain the same workflows.

The project shows consistent development activity with regular commits and ongoing refinement of the language and runtime. The maintainers actively address issues and incorporate feedback into the tool's design. Documentation and examples receive attention alongside core functionality improvements.