{"id":16613053,"url":"https://github.com/craftspider/department","last_synced_at":"2025-03-16T21:31:06.422Z","repository":{"id":37653904,"uuid":"398565900","full_name":"CraftSpider/department","owner":"CraftSpider","description":"An implementation of the Storage API in Rust","archived":false,"fork":false,"pushed_at":"2024-09-08T07:07:51.000Z","size":190,"stargazers_count":9,"open_issues_count":4,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-27T14:46:25.192Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CraftSpider.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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}},"created_at":"2021-08-21T13:32:56.000Z","updated_at":"2024-09-08T07:07:54.000Z","dependencies_parsed_at":"2024-09-08T07:45:45.894Z","dependency_job_id":"08c5828c-8ef6-402e-91d5-49158a596124","html_url":"https://github.com/CraftSpider/department","commit_stats":{"total_commits":117,"total_committers":1,"mean_commits":117.0,"dds":0.0,"last_synced_commit":"0f74166696e29dace762f50a1e718507666bc06f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CraftSpider%2Fdepartment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CraftSpider%2Fdepartment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CraftSpider%2Fdepartment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CraftSpider%2Fdepartment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CraftSpider","download_url":"https://codeload.github.com/CraftSpider/department/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830949,"owners_count":20354854,"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-10-12T01:45:51.629Z","updated_at":"2025-03-16T21:31:06.151Z","avatar_url":"https://github.com/CraftSpider.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Department\n\n[![crates.io](https://img.shields.io/crates/v/department.svg)](https://crates.io/crates/department)\n[![Documentation](https://docs.rs/department/badge.svg)](https://docs.rs/department)\n[![MIT/Apache-2 licensed](https://img.shields.io/crates/l/department.svg)](./LICENSE-APACHE)\n\nA Rust library hosting a possible implementation of the proposed Storages API,\nas well as several of the standard `std` collections implemented with it.\n\nInspired by [storage-poc](https://github.com/matthieu-m/storage-poc), re-implemented\nand built upon to provide (hopefully) release-ready functionality.\n\n## Features\n\nBy default, all features are turned on - but they can be disabled if you only\nwant specific storages and collections\n\n- `std`: Whether to include std error support and other std-only features\n- `all_storages`: Enable all storage features\n  - `inline`: Inline on-the-stack storages\n  - `heap`: Virtual heap-like storage, can be used on the stack or in a static\n  - `static`: Storages backed by static memory, stored in the binary\n  - `alloc`: Storages backed by a standard allocator. Requires the `alloc` crate to be available\n  - `fallback`: Storage which attempts to store something in one, then falls back to a second storage\n  - `debug`: Storage which wraps another, and provides a number of runtime checks which panic on certain forms of\n             UB or incorrect usages.\n- `all_collections`: Enable all collection types\n  - `box`: Include the `Box` type\n  - `rc`: Include the `Rc` and `Weak` types\n  - `vec`: Include the `Vec` type\n  - `string`: Include the `String` type, requires `vec`\n\n## Future Work\n\nIn the future, more types of storages and collections need to be added, hopefully\nup to `std` parity. Tests should be added for all storage types, with coverage for most\nedge cases (ZST, alignment requirements, etc).\n\n### Missing Collections\n\n- `btree`, an implementation of a `BTreeMap` and `BTreeSet`\n- `hash`, an implementation of a `HashMap` and `HashSet`\n- `arc`, implementation for atomically ref-counted items\n- `os/path`, implementations of `OsString` and `PathBuf`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraftspider%2Fdepartment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcraftspider%2Fdepartment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraftspider%2Fdepartment/lists"}