{"id":13420641,"url":"https://github.com/twitter/libwatchman","last_synced_at":"2025-07-09T22:43:12.918Z","repository":{"id":15936807,"uuid":"18678902","full_name":"twitter/libwatchman","owner":"twitter","description":"A C interface to watchman","archived":false,"fork":false,"pushed_at":"2019-06-07T00:45:31.000Z","size":141,"stargazers_count":45,"open_issues_count":1,"forks_count":32,"subscribers_count":120,"default_branch":"master","last_synced_at":"2024-07-31T22:56:08.373Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twitter.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}},"created_at":"2014-04-11T15:29:28.000Z","updated_at":"2024-06-14T13:59:15.000Z","dependencies_parsed_at":"2022-09-24T05:50:44.755Z","dependency_job_id":null,"html_url":"https://github.com/twitter/libwatchman","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/twitter/libwatchman","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Flibwatchman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Flibwatchman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Flibwatchman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Flibwatchman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twitter","download_url":"https://codeload.github.com/twitter/libwatchman/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Flibwatchman/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264504616,"owners_count":23618831,"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":[],"created_at":"2024-07-30T22:01:38.073Z","updated_at":"2025-07-09T22:43:12.902Z","avatar_url":"https://github.com/twitter.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"readme":"# libwatchman [![Build Status](https://secure.travis-ci.org/twitter/libwatchman.png)](http://travis-ci.org/twitter/libwatchman)\n\nThis is a C interface to watchman: https://www.github.com/facebook/watchman\n\nYou'll need jansson installed in order to use it, and check installed\nto run the tests.\n\nWatchman is a wrapper around inotify, kevents, etc.  \n\nUsing libwatchman is very straightforward: establish a connection with\nwatchman_connect, do some commands, then disconnect with\nwatchman_connection_close. These functions handle memory\nmanagement for you.\n\nTo set up a watch on a directory, use watchman_watch.\n\nTo make a query, first construct an expression using the\nwatchman_*_expression functions, then use watchman_do_query. It's OK\nto pass in a NULL value for the query parameter.  You have to free\nexpressions yourself, using watchman_free_expression, but freeing an\nexpression will free all of its child expressions.\n\nA word of warning: stat fields are only valid for results returned\nfrom watchman.  You can choose these results by specifying flags for\nthe query.  If you do not specify flags for the query, then you will\nonly get the default fields: name, exists, newer, size, mode\n\nMemory management:\n\nWatchman makes copies of all strings it has been given. Using the\nwatchman_free_* functions will free these (as well as any other data\nthat watchman has allocated).  Watchman never frees anything that it\nhasn't created.\n\n## License\nCopyright 2014-2015 Twitter, Inc and other contributors\n\nLicensed under the MIT license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter%2Flibwatchman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwitter%2Flibwatchman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter%2Flibwatchman/lists"}