Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
501 changes: 358 additions & 143 deletions Cargo.lock

Large diffs are not rendered by default.

160 changes: 81 additions & 79 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,79 +1,81 @@
[workspace]
default-members = ["rspace"]
members = [
"rspace",
"core",
"traits",
]
resolver = "3"

[workspace.package]
authors = [
"FL03 <joe@pzzld.org> (https://github.com/FL03)",
]
categories = []
description = "rspace focuses on establishing a robust foundation for exploring and utilitizing containers, spaces, fields, and other abstractions in Rust."
edition = "2024"
homepage = "https://github.com/FL03/rspace/wiki"
keywords = ["containers", "hkt", "space", "mathematics", "science"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/FL03/rspace.git"
rust-version = "1.85.0"
version = "0.0.9"

[workspace.dependencies]
rspace = { default-features = false, path = "rspace", version = "0.0.9" }
rspace-core = { default-features = false, path = "core", version = "0.0.9" }
rspace-traits = { default-features = false, path = "traits", version = "0.0.9" }
# development & benchmarking
criterion = { version = "0.8" }
# data structures
hashbrown = { default-features = false, version = "0.16" }
ndarray = { default-features = false, version = "0.17" }
# error handling
anyhow = { default-features = false, version = "1" }
thiserror = { default-features = false, version = "2" }
# logging
tracing = { default-features = false, features = ["attributes"], version = "0.1" }
tracing-subscriber = { version = "0.3" }
# math
num-complex = { default-features = false, version = "0.4" }
num-traits = { default-features = false, version = "0.2" }
# random
getrandom = { default-features = false, version = "0.3" }
rand = { default-features = false, version = "0.9" }
rand_distr = { default-features = false, version = "0.5" }
# serialization
serde = { default-features = false, features = ["derive"], version = "1" }
serde_derive = { default-features = false, version = "1" }
serde_json = { default-features = false, version = "1" }
# macros & utilities
paste = { version = "1" }
# WebAssembly
wasm-bindgen = { default-features = false, version = "0.2" }

# ********* Profiles *********
[profile.dev]
codegen-units = 256
debug = true
debug-assertions = true
incremental = true
lto = "thin"
opt-level = 2
overflow-checks = true
panic = "abort"
rpath = false
strip = false

[profile.release]
codegen-units = 16
debug = false
debug-assertions = false
incremental = false
lto = "fat"
opt-level = "z"
overflow-checks = false
panic = "abort"
rpath = false
strip = "debuginfo"
[workspace]
default-members = ["rspace"]
members = [
"rspace",
"core",
"traits",
]
resolver = "3"

[workspace.package]
authors = [
"FL03 <joe@pzzld.org> (https://github.com/FL03)",
]
categories = []
description = "rspace focuses on establishing a robust foundation for exploring and utilitizing containers, spaces, fields, and other abstractions in Rust."
edition = "2024"
homepage = "https://github.com/FL03/rspace/wiki"
keywords = ["containers", "hkt", "space", "mathematics", "science"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/FL03/rspace.git"
rust-version = "1.93.0"
version = "0.1.0"

[workspace.dependencies]
rspace = { default-features = false, path = "rspace", version = "0.1.0" }
rspace-core = { default-features = false, path = "core", version = "0.1.0" }
rspace-traits = { default-features = false, path = "traits", version = "0.1.0" }
# development & benchmarking
criterion = { version = "0.8" }
# data structures
hashbrown = { default-features = false, version = "0.16" }
ndarray = { default-features = false, version = "0.17" }
# error handling
anyhow = { default-features = false, version = "1" }
thiserror = { default-features = false, version = "2" }
# logging
tracing = { default-features = false, features = ["attributes"], version = "0.1" }
tracing-subscriber = { version = "0.3" }
# math
num-complex = { default-features = false, version = "0.4" }
num-traits = { default-features = false, version = "0.2" }
# random
getrandom = { default-features = false, version = "0.4" }
rand = { default-features = false, version = "0.10" }
rand_distr = { default-features = false, version = "0.6" }
# serialization
serde = { default-features = false, features = ["derive"], version = "1" }
serde_derive = { default-features = false, version = "1" }
serde_json = { default-features = false, version = "1" }
# macros & utilities
paste = { version = "1" }
smart-default = { default-features = false, version = "0.7" }
strum = { default-features = false, features = ["derive"], version = "0.28" }
# WebAssembly
wasm-bindgen = { default-features = false, version = "0.2" }

# ********* Profiles *********
[profile.dev]
codegen-units = 256
debug = true
debug-assertions = true
incremental = true
lto = "thin"
opt-level = 2
overflow-checks = true
panic = "abort"
rpath = false
strip = false

[profile.release]
codegen-units = 16
debug = false
debug-assertions = false
incremental = false
lto = "fat"
opt-level = "z"
overflow-checks = false
panic = "abort"
rpath = false
strip = "debuginfo"
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,30 @@

***

_**The library is currently in the early stages of development and is not yet ready for production use.**_

rspace is a library dedicated to providing robust abstractions for creating and working with containers (or spaces) within Rust. It aims to offer a flexible solution for managing collections of items, with a focus on safety, efficiency, and ease of use.

## Features

- [x] `RawSpace` - The core abstraction for defining spaces.
- [x] `Container<T>` - A higher-kinded trait for defining containers.
- [x] `Store<T>` - A trait for defining key-value stores.
- [x] `Container<T>` - A higher-kinded trait establishing a common interface for all container types.

## Getting Started

Add this to your `Cargo.toml`:
To get started using `rspace`, you can run the following command to add it to your project:

```bash
cargo add rspace
```

or, you can manually add it to your `Cargo.toml`:

```toml
[dependencies.rspace]
features = []
version = "0.0.1"
```

### Examples

#### _Basic Usage_
### Basic Usage

```rust
extern crate rspace;
Expand Down
6 changes: 3 additions & 3 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ Checkout the current and supported packages below

| Version | Supported |
|:-----------------|:--------------------|
| 0.0.7 (latest) | :white_check_mark: |
| >0.0.1,<=0.0.6 | :white_check_mark: |
| 0.0.0 | :x: |
| 0.1.0 (latest) | :white_check_mark: |
| >0.0.6,<=0.0.9 | :white_check_mark: |
| <0.0.5 | :x: |

## Reporting a Vulnerability

Expand Down
2 changes: 1 addition & 1 deletion clippy.toml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
msrv = "1.85.0"
msrv = "1.93.0"
Loading
Loading