| Crates.io | workspacer-workspace |
| lib.rs | workspacer-workspace |
| version | 0.1.2 |
| created_at | 2025-04-01 04:46:57.241936+00 |
| updated_at | 2025-07-13 00:26:41.409318+00 |
| description | Asynchronous Rust workspace management crate, facilitating crate discovery and manipulation in Rust workspaces with thread-safe operations. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1614403 |
| size | 162,809 |
workspacer-workspace is a powerful Rust crate designed to facilitate the management and interaction with Rust workspaces asynchronously. At its core, this crate provides an abstraction over workspace handling, allowing for efficient crate discovery and management within a workspace defined by a Cargo.toml containing a [workspace] section.
This crate makes use of:
Arc<AsyncMutex<H>> to provide safe shared access and mutation capabilities.For technical users, it offers interfaces for extending crate handling functionalities through trait implementations.
To utilize workspacer-workspace, ensure your Rust edition is 2024. Import this crate and instantiate a Workspace with your custom CrateHandleInterface. Leverage the provided async methods like find_items, new, validate_integrity, and more to interact with and manage your workspace effectively.
// Example usage of workspacer-workspace
use workspacer_workspace::{Workspace,WorkspaceError};
// Define or import your crate handling type `H` that implements `CrateHandleInterface`
// Instantiate and manage your workspace asynchronously
async fn manage_workspace() -> Result<(), WorkspaceError> {
let workspace = Workspace::new("/path/to/rust/workspace").await?;
let crate_names = workspace.get_all_crate_names().await;
for name in crate_names {
println!("Crate: {}", name);
}
Ok(())
}
workspacer-workspace is ideal for projects requiring programmatic Rust workspace manipulation while maintaining full asynchronous capabilities for high performance.