{"id":3495325,"name":"github.com/syncthing/notify","ecosystem":"go","description":"Package notify implements access to filesystem events.\n\nNotify is a high-level abstraction over filesystem watchers like inotify,\nkqueue, FSEvents, FEN or ReadDirectoryChangesW. Watcher implementations are\nsplit into two groups: ones that natively support recursive notifications\n(FSEvents and ReadDirectoryChangesW) and ones that do not (inotify, kqueue, FEN).\nFor more details see watcher and recursiveWatcher interfaces in watcher.go\nsource file.\n\nOn top of filesystem watchers notify maintains a watchpoint tree, which provides\na strategy for creating and closing filesystem watches and dispatching filesystem\nevents to user channels.\n\nAn event set is just an event list joint using bitwise OR operator\ninto a single event value.\nBoth the platform-independent (see Constants) and specific events can be used.\nRefer to the event_*.go source files for information about the available\nevents.\n\nA filesystem watch or just a watch is platform-specific entity which represents\na single path registered for notifications for specific event set. Setting a watch\nmeans using platform-specific API calls for creating / initializing said watch.\nFor each watcher the API call is:\n\nTo rewatch means to either shrink or expand an event set that was previously\nregistered during watch operation for particular filesystem watch.\n\nA watchpoint is a list of user channel and event set pairs for particular\npath (watchpoint tree's node). A single watchpoint can contain multiple\ndifferent user channels registered to listen for one or more events. A single\nuser channel can be registered in one or more watchpoints, recursive and\nnon-recursive ones as well.","homepage":"https://github.com/syncthing/notify","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/syncthing/notify","keywords_array":[],"namespace":"github.com/syncthing","versions_count":2,"first_release_published_at":"2021-06-16T19:05:10.000Z","latest_release_published_at":"2025-05-28T14:49:37.000Z","latest_release_number":"v0.0.0-20250528144937-c7027d4f7465","last_synced_at":"2026-06-01T06:00:26.130Z","created_at":"2022-04-10T19:33:07.061Z","updated_at":"2026-06-01T06:00:26.131Z","registry_url":"https://pkg.go.dev/github.com/syncthing/notify","install_command":"go get github.com/syncthing/notify","documentation_url":"https://pkg.go.dev/github.com/syncthing/notify#section-documentation","metadata":{},"repo_metadata":{"uuid":"125185199","full_name":"syncthing/notify","owner":"syncthing","description":"File system event notification library on steroids.","archived":false,"fork":true,"pushed_at":"2021-06-16T19:05:36.000Z","size":778,"stargazers_count":26,"open_issues_count":0,"forks_count":13,"subscribers_count":22,"default_branch":"main","last_synced_at":"2023-03-17T12:04:41.722Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"rjeczalik/notify","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"logo_url":null,"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}},"created_at":"2018-03-14T09:08:55.000Z","updated_at":"2023-03-16T08:28:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/syncthing/notify","commit_stats":null,"repository_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncthing%2Fnotify","tags_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncthing%2Fnotify/tags","manifests_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syncthing%2Fnotify/manifests","owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syncthing","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":108921946,"host_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names"},"owner_record":{"login":"syncthing","name":"The Syncthing Project","uuid":"7628018","kind":"organization","description":"","email":"security@syncthing.net","website":"https://syncthing.net/","location":null,"twitter":null,"company":null,"avatar_url":"https://avatars.githubusercontent.com/u/7628018?v=4","repositories_count":22,"last_synced_at":"2023-02-19T18:05:02.920Z","metadata":{"has_sponsors_listing":true},"owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syncthing"},"tags":[]},"repo_metadata_updated_at":"2023-03-21T18:38:33.240Z","dependent_packages_count":24,"downloads":null,"downloads_period":null,"dependent_repos_count":109,"rankings":{"downloads":null,"dependent_repos_count":0.5805340589756269,"dependent_packages_count":1.0009940166869413,"stargazers_count":7.243782845274175,"forks_count":5.775307735634032,"docker_downloads_count":0.19637644008546723,"average":2.959399019331248},"purl":"pkg:golang/github.com/syncthing/notify","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/syncthing/notify","docker_dependents_count":135,"docker_downloads_count":278998505,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/syncthing/notify","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/syncthing/notify/dependencies","status":null,"funding_links":["https://github.com/sponsors/syncthing"],"critical":null,"issue_metadata":{"last_synced_at":"2023-05-29T00:46:38.680Z","issues_count":0,"pull_requests_count":3,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":21271.666666666668,"issues_closed_count":0,"pull_requests_closed_count":3,"pull_request_authors_count":1,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":2.0,"merged_pull_requests_count":2,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsyncthing%2Fnotify/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsyncthing%2Fnotify/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsyncthing%2Fnotify/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsyncthing%2Fnotify/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsyncthing%2Fnotify/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsyncthing%2Fnotify/codemeta","maintainers":[]}