{"id":15677045,"url":"https://github.com/dunglas/go-fswatch","last_synced_at":"2025-04-30T23:48:24.361Z","repository":{"id":252939116,"uuid":"841965016","full_name":"dunglas/go-fswatch","owner":"dunglas","description":"Go bindings for libfswatch","archived":false,"fork":false,"pushed_at":"2024-08-20T15:58:04.000Z","size":17,"stargazers_count":26,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-30T23:48:20.170Z","etag":null,"topics":["cgo-bindings","change-monitor","event-notifications","fswatch","golang","inotify","kqueue"],"latest_commit_sha":null,"homepage":"https://dunglas.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dunglas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"dunglas"}},"created_at":"2024-08-13T11:57:55.000Z","updated_at":"2025-04-20T07:32:35.000Z","dependencies_parsed_at":"2024-08-13T15:02:22.759Z","dependency_job_id":"6a935de8-d775-4c9b-96af-d3e21c962600","html_url":"https://github.com/dunglas/go-fswatch","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"888450fb7f150deb48c38c4bc06aee0262215c66"},"previous_names":["dunglas/go-fswatch"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dunglas%2Fgo-fswatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dunglas%2Fgo-fswatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dunglas%2Fgo-fswatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dunglas%2Fgo-fswatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dunglas","download_url":"https://codeload.github.com/dunglas/go-fswatch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251801086,"owners_count":21645968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cgo-bindings","change-monitor","event-notifications","fswatch","golang","inotify","kqueue"],"created_at":"2024-10-03T16:08:16.798Z","updated_at":"2025-04-30T23:48:24.339Z","avatar_url":"https://github.com/dunglas.png","language":"Go","funding_links":["https://github.com/sponsors/dunglas"],"categories":[],"sub_categories":[],"readme":"# go-fswatch: Go bindings for `libfswatch`\n\n[![Go Reference](https://pkg.go.dev/badge/github.com/dunglas/go-fswatch.svg)](https://pkg.go.dev/github.com/dunglas/go-fswatch)\n\n[Go](https://go.dev) bindings for [`libfswatch`](https://github.com/emcrisostomo/fswatch/blob/master/README.libfswatch.md).\n\n`libfswatch` provides comprehensive, cross-platform file change monitoring capabilities.\n\n## Features\n\ngo-fswatch exposes all features provided by `fswatch` and `libfswatch` through an idiomatic Go API:\n\n* cross-platform: inotify (Linux), FSEvents (macOS), Windows, kqueue (*BSD), File Events Notification (Solaris) and polling\n* watch files and directories\n* recursive watching\n* file and directory filtering (using regular expressions)\n* events filtering\n\n## Install\n\nFirst, install `libfswatch`:\n\n1. [Download the latest release (`fswatch-\u003cversion\u003e.tar.gz`)](https://github.com/emcrisostomo/fswatch/releases)\n2. Compile and install `libfswatch`:\n\n```console\ntar xzf fswatch-*.tar.gz\ncd fswatch-*\n./configure\nmake\nsudo make install\n```\n\nThen, you can use this Go module as usual:\n\n```console\ngo get github.com/dunglas/go-fswatch\n```\n\n## Usage and Examples\n\nSee [the documentation](https://pkg.go.dev/github.com/dunglas/go-fswatch).\n\n## Cgo\n\nThis package depends on [cgo](https://go.dev/blog/cgo).\nIf you are looking for non-cgo alternatives, see:\n\n* [fsnotify](https://github.com/fsnotify/fsnotify) (doesn't support FSEvents nor polling)\n* [notify](https://github.com/rjeczalik/notify) (doesn't support include/exclude filters)\n\n## Credits\n\nCreated by [Kévin Dunglas](https://dunglas.dev) and sponsored by [Les-Tilleuls.coop](https://les-tilleuls.coop).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdunglas%2Fgo-fswatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdunglas%2Fgo-fswatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdunglas%2Fgo-fswatch/lists"}