{"crate":{"id":"async-lock","name":"async-lock","updated_at":"2025-12-21T16:24:46.954239Z","versions":[1894841,1669827,1161875,1009652,974291,965766,960482,952964,933885,868252,739622,649688,502504,367388,291667,286561,284120,280878,277868,277867,276813,276810,274510,255455,255430,245843,245308,245285,243526,242407,242399,152085],"keywords":["barrier","lock","mutex","rwlock","semaphore"],"categories":["asynchronous","concurrency"],"badges":[],"created_at":"2019-05-22T20:50:55.568552Z","downloads":311210411,"recent_downloads":67279334,"default_version":"3.4.2","num_versions":32,"yanked":false,"max_version":"3.4.2","newest_version":"3.4.2","max_stable_version":"3.4.2","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","links":{"version_downloads":"/api/v1/crates/async-lock/downloads","versions":null,"owners":"/api/v1/crates/async-lock/owners","owner_team":"/api/v1/crates/async-lock/owner_team","owner_user":"/api/v1/crates/async-lock/owner_user","reverse_dependencies":"/api/v1/crates/async-lock/reverse_dependencies"},"exact_match":false,"trustpub_only":false},"versions":[{"id":1894841,"crate":"async-lock","num":"3.4.2","dl_path":"/api/v1/crates/async-lock/3.4.2/download","readme_path":"/api/v1/crates/async-lock/3.4.2/readme","updated_at":"2025-12-21T16:24:46.954239Z","created_at":"2025-12-21T16:24:46.954239Z","downloads":88455268,"features":{"default":["std"],"loom":["event-listener/loom","dep:loom"],"std":["event-listener/std","event-listener-strategy/std"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/3.4.2/dependencies","version_downloads":"/api/v1/crates/async-lock/3.4.2/downloads","authors":"/api/v1/crates/async-lock/3.4.2/authors"},"crate_size":39826,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2025-12-21T16:24:46.954239Z"}],"checksum":"290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311","rust_version":"1.85","has_lib":true,"bin_names":[],"edition":"2021","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2406,"comment_lines":251,"files":8}},"total_code_lines":2406,"total_comment_lines":251}},{"id":1669827,"crate":"async-lock","num":"3.4.1","dl_path":"/api/v1/crates/async-lock/3.4.1/download","readme_path":"/api/v1/crates/async-lock/3.4.1/readme","updated_at":"2025-08-03T21:34:17.279002Z","created_at":"2025-08-03T21:34:17.279002Z","downloads":31913501,"features":{"default":["std"],"loom":["event-listener/loom","dep:loom"],"std":["event-listener/std","event-listener-strategy/std"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/3.4.1/dependencies","version_downloads":"/api/v1/crates/async-lock/3.4.1/downloads","authors":"/api/v1/crates/async-lock/3.4.1/authors"},"crate_size":40981,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2025-08-03T21:34:17.279002Z"}],"checksum":"5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc","rust_version":"1.60","has_lib":true,"bin_names":[],"edition":"2021","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2434,"comment_lines":251,"files":8}},"total_code_lines":2434,"total_comment_lines":251}},{"id":1161875,"crate":"async-lock","num":"3.4.0","dl_path":"/api/v1/crates/async-lock/3.4.0/download","readme_path":"/api/v1/crates/async-lock/3.4.0/readme","updated_at":"2024-06-01T14:37:52.663679Z","created_at":"2024-06-01T14:37:52.663679Z","downloads":69625403,"features":{"default":["std"],"loom":["event-listener/loom","dep:loom"],"std":["event-listener/std","event-listener-strategy/std"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/3.4.0/dependencies","version_downloads":"/api/v1/crates/async-lock/3.4.0/downloads","authors":"/api/v1/crates/async-lock/3.4.0/authors"},"crate_size":34446,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2024-06-01T14:37:52.663679Z"}],"checksum":"ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18","rust_version":"1.60","has_lib":true,"bin_names":[],"edition":"2021","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2433,"comment_lines":249,"files":8}},"total_code_lines":2433,"total_comment_lines":249}},{"id":1009652,"crate":"async-lock","num":"3.3.0","dl_path":"/api/v1/crates/async-lock/3.3.0/download","readme_path":"/api/v1/crates/async-lock/3.3.0/readme","updated_at":"2024-01-10T04:53:42.641208Z","created_at":"2024-01-10T04:53:42.641208Z","downloads":19673857,"features":{"default":["std"],"std":["event-listener/std","event-listener-strategy/std"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/3.3.0/dependencies","version_downloads":"/api/v1/crates/async-lock/3.3.0/downloads","authors":"/api/v1/crates/async-lock/3.3.0/authors"},"crate_size":33286,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2024-01-10T04:53:42.641208Z"}],"checksum":"d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b","rust_version":"1.60","has_lib":true,"bin_names":[],"edition":"2021","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2364,"comment_lines":244,"files":8}},"total_code_lines":2364,"total_comment_lines":244}},{"id":974291,"crate":"async-lock","num":"3.2.0","dl_path":"/api/v1/crates/async-lock/3.2.0/download","readme_path":"/api/v1/crates/async-lock/3.2.0/readme","updated_at":"2023-12-02T19:10:05.213805Z","created_at":"2023-12-02T19:10:05.213805Z","downloads":6104206,"features":{"default":["std"],"std":["event-listener/std","event-listener-strategy/std"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/3.2.0/dependencies","version_downloads":"/api/v1/crates/async-lock/3.2.0/downloads","authors":"/api/v1/crates/async-lock/3.2.0/authors"},"crate_size":33101,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2023-12-02T19:10:05.213805Z"}],"checksum":"7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c","rust_version":"1.59","has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2349,"comment_lines":242,"files":8}},"total_code_lines":2349,"total_comment_lines":242}},{"id":965766,"crate":"async-lock","num":"3.1.2","dl_path":"/api/v1/crates/async-lock/3.1.2/download","readme_path":"/api/v1/crates/async-lock/3.1.2/readme","updated_at":"2023-11-24T15:52:25.346227Z","created_at":"2023-11-24T15:52:25.346227Z","downloads":468719,"features":{"default":["std"],"std":["event-listener/std","event-listener-strategy/std"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/3.1.2/dependencies","version_downloads":"/api/v1/crates/async-lock/3.1.2/downloads","authors":"/api/v1/crates/async-lock/3.1.2/authors"},"crate_size":32741,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2023-11-24T15:52:25.346227Z"}],"checksum":"dea8b3453dd7cc96711834b75400d671b73e3656975fa68d9f277163b7f7e316","rust_version":"1.59","has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2316,"comment_lines":242,"files":8}},"total_code_lines":2316,"total_comment_lines":242}},{"id":960482,"crate":"async-lock","num":"3.1.1","dl_path":"/api/v1/crates/async-lock/3.1.1/download","readme_path":"/api/v1/crates/async-lock/3.1.1/readme","updated_at":"2023-11-19T17:37:29.538193Z","created_at":"2023-11-19T17:37:29.538193Z","downloads":298002,"features":{"default":["std"],"std":["event-listener/std","event-listener-strategy/std"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/3.1.1/dependencies","version_downloads":"/api/v1/crates/async-lock/3.1.1/downloads","authors":"/api/v1/crates/async-lock/3.1.1/authors"},"crate_size":32714,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2023-11-19T17:37:29.538193Z"}],"checksum":"655b9c7fe787d3b25cc0f804a1a8401790f0c5bc395beb5a64dc77d8de079105","rust_version":"1.59","has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2319,"comment_lines":242,"files":8}},"total_code_lines":2319,"total_comment_lines":242}},{"id":952964,"crate":"async-lock","num":"3.1.0","dl_path":"/api/v1/crates/async-lock/3.1.0/download","readme_path":"/api/v1/crates/async-lock/3.1.0/readme","updated_at":"2023-11-13T00:18:24.029745Z","created_at":"2023-11-13T00:18:24.029745Z","downloads":535341,"features":{"default":["std"],"std":["event-listener/std","event-listener-strategy/std"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/3.1.0/dependencies","version_downloads":"/api/v1/crates/async-lock/3.1.0/downloads","authors":"/api/v1/crates/async-lock/3.1.0/authors"},"crate_size":32125,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2023-11-13T00:18:24.029745Z"}],"checksum":"deb2ab2aa8a746e221ab826c73f48bc6ba41be6763f0855cb249eb6d154cf1d7","rust_version":"1.59","has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2319,"comment_lines":242,"files":8}},"total_code_lines":2319,"total_comment_lines":242}},{"id":933885,"crate":"async-lock","num":"3.0.0","dl_path":"/api/v1/crates/async-lock/3.0.0/download","readme_path":"/api/v1/crates/async-lock/3.0.0/readme","updated_at":"2023-10-24T15:12:36.607622Z","created_at":"2023-10-24T15:12:36.607622Z","downloads":206964,"features":{"default":["std"],"std":["event-listener/std","event-listener-strategy/std"]},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/3.0.0/dependencies","version_downloads":"/api/v1/crates/async-lock/3.0.0/downloads","authors":"/api/v1/crates/async-lock/3.0.0/authors"},"crate_size":32088,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2023-10-24T15:12:36.607622Z"}],"checksum":"45e900cdcd39bb94a14487d3f7ef92ca222162e6c7c3fe7cb3550ea75fb486ed","rust_version":"1.59","has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2313,"comment_lines":241,"files":8}},"total_code_lines":2313,"total_comment_lines":241}},{"id":868252,"crate":"async-lock","num":"2.8.0","dl_path":"/api/v1/crates/async-lock/2.8.0/download","readme_path":"/api/v1/crates/async-lock/2.8.0/readme","updated_at":"2023-08-10T02:16:12.320503Z","created_at":"2023-08-10T02:16:12.320503Z","downloads":59567832,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.8.0/dependencies","version_downloads":"/api/v1/crates/async-lock/2.8.0/downloads","authors":"/api/v1/crates/async-lock/2.8.0/authors"},"crate_size":29944,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2023-08-10T02:16:12.320503Z"}],"checksum":"287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b","rust_version":"1.48","has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":2059,"comment_lines":187,"files":8}},"total_code_lines":2059,"total_comment_lines":187}},{"id":739622,"crate":"async-lock","num":"2.7.0","dl_path":"/api/v1/crates/async-lock/2.7.0/download","readme_path":"/api/v1/crates/async-lock/2.7.0/readme","updated_at":"2023-03-02T16:47:58.970956Z","created_at":"2023-03-02T16:47:58.970956Z","downloads":14127082,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.7.0/dependencies","version_downloads":"/api/v1/crates/async-lock/2.7.0/downloads","authors":"/api/v1/crates/async-lock/2.7.0/authors"},"crate_size":23631,"published_by":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"audit_actions":[{"action":"publish","user":{"id":69526,"login":"notgull","name":"John Nunley","avatar":"https://avatars.githubusercontent.com/u/19805233?v=4","url":"https://github.com/notgull","github_username_matches":true,"created_at":"2016-06-07T18:53:48Z"},"time":"2023-03-02T16:47:58.970956Z"}],"checksum":"fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7","rust_version":"1.48","has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":1448,"comment_lines":145,"files":6}},"total_code_lines":1448,"total_comment_lines":145}},{"id":649688,"crate":"async-lock","num":"2.6.0","dl_path":"/api/v1/crates/async-lock/2.6.0/download","readme_path":"/api/v1/crates/async-lock/2.6.0/readme","updated_at":"2022-10-25T16:39:39.565969Z","created_at":"2022-10-25T16:39:39.565969Z","downloads":6137238,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.6.0/dependencies","version_downloads":"/api/v1/crates/async-lock/2.6.0/downloads","authors":"/api/v1/crates/async-lock/2.6.0/authors"},"crate_size":20497,"published_by":{"id":33035,"login":"taiki-e","name":"Taiki Endo","avatar":"https://avatars.githubusercontent.com/u/43724913?v=4","url":"https://github.com/taiki-e","github_username_matches":true,"created_at":"2018-09-30T14:12:50Z"},"audit_actions":[{"action":"publish","user":{"id":33035,"login":"taiki-e","name":"Taiki Endo","avatar":"https://avatars.githubusercontent.com/u/43724913?v=4","url":"https://github.com/taiki-e","github_username_matches":true,"created_at":"2018-09-30T14:12:50Z"},"time":"2022-10-25T16:39:39.565969Z"}],"checksum":"c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685","rust_version":"1.43","has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":1047,"comment_lines":121,"files":6}},"total_code_lines":1047,"total_comment_lines":121}},{"id":502504,"crate":"async-lock","num":"2.5.0","dl_path":"/api/v1/crates/async-lock/2.5.0/download","readme_path":"/api/v1/crates/async-lock/2.5.0/readme","updated_at":"2022-02-19T10:32:57.973078Z","created_at":"2022-02-19T10:32:57.973078Z","downloads":6864507,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.5.0/dependencies","version_downloads":"/api/v1/crates/async-lock/2.5.0/downloads","authors":"/api/v1/crates/async-lock/2.5.0/authors"},"crate_size":15656,"published_by":{"id":33035,"login":"taiki-e","name":"Taiki Endo","avatar":"https://avatars.githubusercontent.com/u/43724913?v=4","url":"https://github.com/taiki-e","github_username_matches":true,"created_at":"2018-09-30T14:12:50Z"},"audit_actions":[{"action":"publish","user":{"id":33035,"login":"taiki-e","name":"Taiki Endo","avatar":"https://avatars.githubusercontent.com/u/43724913?v=4","url":"https://github.com/taiki-e","github_username_matches":true,"created_at":"2018-09-30T14:12:50Z"},"time":"2022-02-19T10:32:57.973078Z"}],"checksum":"e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6","rust_version":"1.43","has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":null,"documentation":null,"repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":729,"comment_lines":70,"files":5}},"total_code_lines":729,"total_comment_lines":70}},{"id":367388,"crate":"async-lock","num":"2.4.0","dl_path":"/api/v1/crates/async-lock/2.4.0/download","readme_path":"/api/v1/crates/async-lock/2.4.0/readme","updated_at":"2021-04-16T15:23:10.873638Z","created_at":"2021-04-16T15:23:10.873638Z","downloads":5181354,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.4.0/dependencies","version_downloads":"/api/v1/crates/async-lock/2.4.0/downloads","authors":"/api/v1/crates/async-lock/2.4.0/authors"},"crate_size":16144,"published_by":{"id":33035,"login":"taiki-e","name":"Taiki Endo","avatar":"https://avatars.githubusercontent.com/u/43724913?v=4","url":"https://github.com/taiki-e","github_username_matches":true,"created_at":"2018-09-30T14:12:50Z"},"audit_actions":[{"action":"publish","user":{"id":33035,"login":"taiki-e","name":"Taiki Endo","avatar":"https://avatars.githubusercontent.com/u/43724913?v=4","url":"https://github.com/taiki-e","github_username_matches":true,"created_at":"2018-09-30T14:12:50Z"},"time":"2021-04-16T15:23:10.873638Z"}],"checksum":"e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":"https://github.com/smol-rs/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/smol-rs/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":721,"comment_lines":70,"files":5}},"total_code_lines":721,"total_comment_lines":70}},{"id":291667,"crate":"async-lock","num":"2.3.0","dl_path":"/api/v1/crates/async-lock/2.3.0/download","readme_path":"/api/v1/crates/async-lock/2.3.0/readme","updated_at":"2020-10-09T12:03:24.884392Z","created_at":"2020-10-09T12:03:24.884392Z","downloads":1699130,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.3.0/dependencies","version_downloads":"/api/v1/crates/async-lock/2.3.0/downloads","authors":"/api/v1/crates/async-lock/2.3.0/authors"},"crate_size":15977,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-10-09T12:03:24.884392Z"}],"checksum":"1996609732bde4a9988bc42125f55f2af5f3c36370e27c778d5191a4a1b63bfb","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":694,"comment_lines":70,"files":5}},"total_code_lines":694,"total_comment_lines":70}},{"id":286561,"crate":"async-lock","num":"2.2.0","dl_path":"/api/v1/crates/async-lock/2.2.0/download","readme_path":"/api/v1/crates/async-lock/2.2.0/readme","updated_at":"2020-09-22T22:00:50.318345Z","created_at":"2020-09-22T22:00:50.318345Z","downloads":59569,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.2.0/dependencies","version_downloads":"/api/v1/crates/async-lock/2.2.0/downloads","authors":"/api/v1/crates/async-lock/2.2.0/authors"},"crate_size":7190,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-09-22T22:00:50.318345Z"}],"checksum":"76000290eb3c67dfe4e2bdf6b6155847f8e16fc844377a7bd0b5e97622656362","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":4,"comment_lines":0,"files":1}},"total_code_lines":4,"total_comment_lines":0}},{"id":284120,"crate":"async-lock","num":"2.1.3","dl_path":"/api/v1/crates/async-lock/2.1.3/download","readme_path":"/api/v1/crates/async-lock/2.1.3/readme","updated_at":"2020-09-15T22:21:59.323986Z","created_at":"2020-09-15T22:21:59.323986Z","downloads":11143,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.1.3/dependencies","version_downloads":"/api/v1/crates/async-lock/2.1.3/downloads","authors":"/api/v1/crates/async-lock/2.1.3/authors"},"crate_size":7072,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-09-15T22:21:59.323986Z"}],"checksum":"ab3ad7fb4345397e57c19566844b0eba274b92e5d2d2791bb0664cc441697b95","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":4,"comment_lines":0,"files":1}},"total_code_lines":4,"total_comment_lines":0}},{"id":280878,"crate":"async-lock","num":"2.1.2","dl_path":"/api/v1/crates/async-lock/2.1.2/download","readme_path":"/api/v1/crates/async-lock/2.1.2/readme","updated_at":"2020-09-07T14:27:21.901541Z","created_at":"2020-09-07T14:27:21.901541Z","downloads":9376,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.1.2/dependencies","version_downloads":"/api/v1/crates/async-lock/2.1.2/downloads","authors":"/api/v1/crates/async-lock/2.1.2/authors"},"crate_size":7044,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-09-07T14:27:21.901541Z"}],"checksum":"2b123db9bf64e4c4840d5b1985fdb4f69fbe50a4fc95e895d11ff49931ce9802","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":3,"comment_lines":0,"files":1}},"total_code_lines":3,"total_comment_lines":0}},{"id":277868,"crate":"async-lock","num":"2.1.1","dl_path":"/api/v1/crates/async-lock/2.1.1/download","readme_path":"/api/v1/crates/async-lock/2.1.1/readme","updated_at":"2020-08-29T13:19:44.605367Z","created_at":"2020-08-29T13:19:44.605367Z","downloads":6965,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.1.1/dependencies","version_downloads":"/api/v1/crates/async-lock/2.1.1/downloads","authors":"/api/v1/crates/async-lock/2.1.1/authors"},"crate_size":7036,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-08-29T13:19:44.605367Z"}],"checksum":"cd7ffacc3ef2d598b07148706964f7a9b256926d5f9531c35126e8b8bb417ac5","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Async synchronization primitives","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":3,"comment_lines":0,"files":1}},"total_code_lines":3,"total_comment_lines":0}},{"id":277867,"crate":"async-lock","num":"2.1.0","dl_path":"/api/v1/crates/async-lock/2.1.0/download","readme_path":"/api/v1/crates/async-lock/2.1.0/readme","updated_at":"2020-08-29T13:17:19.388226Z","created_at":"2020-08-29T13:17:19.388226Z","downloads":3045,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.1.0/dependencies","version_downloads":"/api/v1/crates/async-lock/2.1.0/downloads","authors":"/api/v1/crates/async-lock/2.1.0/authors"},"crate_size":7038,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-08-29T13:17:19.388226Z"}],"checksum":"c7571a7451c8ec1746ab2ffe200dab397b85b2c995b0dec52e6bf99a09f734ab","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Async locking primitives","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":3,"comment_lines":0,"files":1}},"total_code_lines":3,"total_comment_lines":0}},{"id":276813,"crate":"async-lock","num":"2.0.1","dl_path":"/api/v1/crates/async-lock/2.0.1/download","readme_path":"/api/v1/crates/async-lock/2.0.1/readme","updated_at":"2020-08-26T21:48:42.894703Z","created_at":"2020-08-26T21:48:42.894703Z","downloads":3767,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.0.1/dependencies","version_downloads":"/api/v1/crates/async-lock/2.0.1/downloads","authors":"/api/v1/crates/async-lock/2.0.1/authors"},"crate_size":6932,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-08-26T21:48:42.894703Z"}],"checksum":"e66970bb4458806db01f1c27eea79ca159ced6836bd02ff123372506d046de62","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Async locking primitives","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":6,"comment_lines":0,"files":1}},"total_code_lines":6,"total_comment_lines":0}},{"id":276810,"crate":"async-lock","num":"2.0.0","dl_path":"/api/v1/crates/async-lock/2.0.0/download","readme_path":"/api/v1/crates/async-lock/2.0.0/readme","updated_at":"2020-08-26T21:44:33.268087Z","created_at":"2020-08-26T21:44:33.268087Z","downloads":3198,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/2.0.0/dependencies","version_downloads":"/api/v1/crates/async-lock/2.0.0/downloads","authors":"/api/v1/crates/async-lock/2.0.0/authors"},"crate_size":6930,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-08-26T21:44:33.268087Z"}],"checksum":"600bab218821af384fd1221c1f6db223ce69fb94baa35cbf0486994efb036a2d","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":6,"comment_lines":0,"files":1}},"total_code_lines":6,"total_comment_lines":0}},{"id":274510,"crate":"async-lock","num":"1.1.5","dl_path":"/api/v1/crates/async-lock/1.1.5/download","readme_path":"/api/v1/crates/async-lock/1.1.5/readme","updated_at":"2020-08-20T13:29:23.088798Z","created_at":"2020-08-20T13:29:23.088798Z","downloads":25811,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/1.1.5/dependencies","version_downloads":"/api/v1/crates/async-lock/1.1.5/downloads","authors":"/api/v1/crates/async-lock/1.1.5/authors"},"crate_size":12062,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-08-20T13:29:23.088798Z"}],"checksum":"117d4be0a137f89e69f660884684a2d5c9fc543de28bd26523219668c877b7bd","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":103,"comment_lines":0,"files":1}},"total_code_lines":103,"total_comment_lines":0}},{"id":255455,"crate":"async-lock","num":"1.1.4","dl_path":"/api/v1/crates/async-lock/1.1.4/download","readme_path":"/api/v1/crates/async-lock/1.1.4/readme","updated_at":"2020-06-24T00:25:03.318843Z","created_at":"2020-06-24T00:25:03.318843Z","downloads":10799,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/1.1.4/dependencies","version_downloads":"/api/v1/crates/async-lock/1.1.4/downloads","authors":"/api/v1/crates/async-lock/1.1.4/authors"},"crate_size":12673,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-06-24T00:25:03.318843Z"}],"checksum":"142abcf01ff9d47d1e88d7d1515a4af4a940e18668d862754b858abfd949b86c","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":156,"comment_lines":27,"files":1}},"total_code_lines":156,"total_comment_lines":27}},{"id":255430,"crate":"async-lock","num":"1.1.3","dl_path":"/api/v1/crates/async-lock/1.1.3/download","readme_path":"/api/v1/crates/async-lock/1.1.3/readme","updated_at":"2020-06-23T23:45:09.670153Z","created_at":"2020-06-23T23:45:09.670153Z","downloads":3012,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/1.1.3/dependencies","version_downloads":"/api/v1/crates/async-lock/1.1.3/downloads","authors":"/api/v1/crates/async-lock/1.1.3/authors"},"crate_size":12632,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-06-23T23:45:09.670153Z"}],"checksum":"b00efb403520dc650af27ed3f46980d94f2a53326b2b1d2a1adc9845aae77d29","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":155,"comment_lines":27,"files":1}},"total_code_lines":155,"total_comment_lines":27}},{"id":245843,"crate":"async-lock","num":"1.1.2","dl_path":"/api/v1/crates/async-lock/1.1.2/download","readme_path":"/api/v1/crates/async-lock/1.1.2/readme","updated_at":"2020-05-26T23:05:26.060474Z","created_at":"2020-05-26T23:05:26.060474Z","downloads":4165,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/1.1.2/dependencies","version_downloads":"/api/v1/crates/async-lock/1.1.2/downloads","authors":"/api/v1/crates/async-lock/1.1.2/authors"},"crate_size":13755,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-05-26T23:05:26.060474Z"}],"checksum":"f375939949ac63cfe11de0f407b727605d3100386f09c640ba44ad149f70211e","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":155,"comment_lines":27,"files":1}},"total_code_lines":155,"total_comment_lines":27}},{"id":245308,"crate":"async-lock","num":"1.1.1","dl_path":"/api/v1/crates/async-lock/1.1.1/download","readme_path":"/api/v1/crates/async-lock/1.1.1/readme","updated_at":"2020-05-25T20:35:40.105318Z","created_at":"2020-05-25T20:35:40.105318Z","downloads":2999,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/1.1.1/dependencies","version_downloads":"/api/v1/crates/async-lock/1.1.1/downloads","authors":"/api/v1/crates/async-lock/1.1.1/authors"},"crate_size":13652,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-05-25T20:35:40.105318Z"}],"checksum":"5995a60b5bfd55842c7fae2052868c1f66643b2a88c44a5e0fcdf6ca005fd851","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":150,"comment_lines":24,"files":1}},"total_code_lines":150,"total_comment_lines":24}},{"id":245285,"crate":"async-lock","num":"1.1.0","dl_path":"/api/v1/crates/async-lock/1.1.0/download","readme_path":"/api/v1/crates/async-lock/1.1.0/readme","updated_at":"2020-05-25T20:07:37.552996Z","created_at":"2020-05-25T20:07:37.552996Z","downloads":3000,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/1.1.0/dependencies","version_downloads":"/api/v1/crates/async-lock/1.1.0/downloads","authors":"/api/v1/crates/async-lock/1.1.0/authors"},"crate_size":13645,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-05-25T20:07:37.552996Z"}],"checksum":"21d2ffc67b1633ae2d9b9f121cdb8c8830117ff3c6c593f19c007062bb2f5ed8","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":150,"comment_lines":24,"files":1}},"total_code_lines":150,"total_comment_lines":24}},{"id":243526,"crate":"async-lock","num":"1.0.2","dl_path":"/api/v1/crates/async-lock/1.0.2/download","readme_path":"/api/v1/crates/async-lock/1.0.2/readme","updated_at":"2020-05-20T19:25:47.169214Z","created_at":"2020-05-20T19:25:47.169214Z","downloads":3589,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/1.0.2/dependencies","version_downloads":"/api/v1/crates/async-lock/1.0.2/downloads","authors":"/api/v1/crates/async-lock/1.0.2/authors"},"crate_size":8673,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-05-20T19:25:47.169214Z"}],"checksum":"62db7645b761556d0554f9c9f26e6e2ca277773cc176215b7f3da832f1434663","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":107,"comment_lines":2,"files":1}},"total_code_lines":107,"total_comment_lines":2}},{"id":242407,"crate":"async-lock","num":"1.0.1","dl_path":"/api/v1/crates/async-lock/1.0.1/download","readme_path":"/api/v1/crates/async-lock/1.0.1/readme","updated_at":"2020-05-17T16:06:27.311924Z","created_at":"2020-05-17T16:06:27.311924Z","downloads":2936,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/1.0.1/dependencies","version_downloads":"/api/v1/crates/async-lock/1.0.1/downloads","authors":"/api/v1/crates/async-lock/1.0.1/authors"},"crate_size":8302,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-05-17T16:06:27.311924Z"}],"checksum":"2e8951ea898dbb094e2d9d68407175d383de479d3fc93adcee9b7b3a80c3f397","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":107,"comment_lines":2,"files":1}},"total_code_lines":107,"total_comment_lines":2}},{"id":242399,"crate":"async-lock","num":"1.0.0","dl_path":"/api/v1/crates/async-lock/1.0.0/download","readme_path":"/api/v1/crates/async-lock/1.0.0/readme","updated_at":"2020-05-17T15:50:07.397870Z","created_at":"2020-05-17T15:50:07.397870Z","downloads":2984,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0 OR MIT","links":{"dependencies":"/api/v1/crates/async-lock/1.0.0/dependencies","version_downloads":"/api/v1/crates/async-lock/1.0.0/downloads","authors":"/api/v1/crates/async-lock/1.0.0/authors"},"crate_size":8291,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[{"action":"publish","user":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"time":"2020-05-17T15:50:07.397870Z"}],"checksum":"ccc0f0f0558ee6efdbf14fe79df07e068cb4ee7a92117601680fbb4125e91418","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Reference-counted async lock","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":107,"comment_lines":2,"files":1}},"total_code_lines":107,"total_comment_lines":2}},{"id":152085,"crate":"async-lock","num":"0.1.0","dl_path":"/api/v1/crates/async-lock/0.1.0/download","readme_path":"/api/v1/crates/async-lock/0.1.0/readme","updated_at":"2019-05-22T20:50:55.568552Z","created_at":"2019-05-22T20:50:55.568552Z","downloads":3095,"features":{},"yanked":false,"yank_message":null,"lib_links":null,"license":"Apache-2.0/MIT","links":{"dependencies":"/api/v1/crates/async-lock/0.1.0/dependencies","version_downloads":"/api/v1/crates/async-lock/0.1.0/downloads","authors":"/api/v1/crates/async-lock/0.1.0/authors"},"crate_size":1147,"published_by":{"id":5153,"login":"ghost_5153","name":"Stjepan Glavina","avatar":null,"url":"https://crates.io/users/ghost_5153","github_username_matches":false,"created_at":null},"audit_actions":[],"checksum":"1ab86ee898bb6d5d0118270acaa8536c59885231ca6f653b4c35a148f8ee6235","rust_version":null,"has_lib":true,"bin_names":[],"edition":"2018","description":"Asynchronous locks","homepage":"https://github.com/stjepang/async-lock","documentation":"https://docs.rs/async-lock","repository":"https://github.com/stjepang/async-lock","trustpub_data":null,"linecounts":{"languages":{"Rust":{"code_lines":7,"comment_lines":0,"files":1}},"total_code_lines":7,"total_comment_lines":0}}],"keywords":[{"id":"barrier","keyword":"barrier","created_at":"2017-06-02T23:31:00.577510Z","crates_cnt":13},{"id":"lock","keyword":"lock","created_at":"2015-03-09T21:06:51.686561Z","crates_cnt":165},{"id":"mutex","keyword":"mutex","created_at":"2015-03-28T03:41:00.181134Z","crates_cnt":187},{"id":"rwlock","keyword":"rwlock","created_at":"2015-07-02T08:08:39.252133Z","crates_cnt":76},{"id":"semaphore","keyword":"semaphore","created_at":"2015-08-05T19:50:42.838846Z","crates_cnt":41}],"categories":[{"id":"asynchronous","category":"Asynchronous","slug":"asynchronous","description":"Crates to help you deal with events independently of the main program flow, using techniques like futures, promises, waiting, or eventing.","created_at":"2017-01-17T19:13:05.112025Z","crates_cnt":11842},{"id":"concurrency","category":"Concurrency","slug":"concurrency","description":"Crates for implementing concurrent and parallel computation.","created_at":"2017-01-17T19:13:05.112025Z","crates_cnt":3829}]}