Add ruvnet/midstream (AIMDS real-time inference) and ruvnet/sublinear-time-solver (sublinear optimization algorithms) as vendored dependencies under vendor/.
7.9 KiB
🎉 MidStream Core Crates Now Published on crates.io!
Big News!
All 5 core MidStream crates are now publicly available on crates.io!
You can now use MidStream's powerful real-time processing capabilities in your Rust projects with just a few lines in your Cargo.toml.
Published Crates
1. temporal-compare v0.1.x
Pattern matching and temporal sequence comparison
[dependencies]
temporal-compare = "0.1"
2. nanosecond-scheduler v0.1.x
Ultra-low-latency real-time task scheduler
[dependencies]
nanosecond-scheduler = "0.1"
3. temporal-attractor-studio v0.1.x
Dynamical systems and strange attractors analysis
[dependencies]
temporal-attractor-studio = "0.1"
4. temporal-neural-solver v0.1.x
Temporal logic verification with neural reasoning
[dependencies]
temporal-neural-solver = "0.1"
5. strange-loop v0.1.x
Self-referential systems and meta-learning
[dependencies]
strange-loop = "0.1"
Quick Start
1. Create a New Project
cargo new my-midstream-app
cd my-midstream-app
2. Add MidStream Crates
Edit Cargo.toml:
[dependencies]
# All published MidStream crates
temporal-compare = "0.1"
nanosecond-scheduler = "0.1"
temporal-attractor-studio = "0.1"
temporal-neural-solver = "0.1"
strange-loop = "0.1"
# Common dependencies
tokio = { version = "1.42", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
3. Build and Run
cargo build --release
cargo run
That's it! No cloning, no path dependencies, no hassle.
Example Usage
use temporal_compare::{Sequence, SequenceComparator, TemporalElement};
use nanosecond_scheduler::{Scheduler, Task, Priority};
use temporal_attractor_studio::AttractorAnalyzer;
use strange_loop::{MetaLearner, Experience};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Pattern matching
let seq1 = Sequence {
elements: vec![
TemporalElement { value: 1, timestamp: 0 },
TemporalElement { value: 2, timestamp: 100 },
]
};
let comparator = SequenceComparator::new();
let distance = comparator.dtw_distance(&seq1, &seq2)?;
println!("DTW distance: {}", distance);
// Real-time scheduling
let scheduler = Scheduler::new(4);
scheduler.schedule(Task {
priority: Priority::High,
/* ... */
})?;
// Dynamical systems
let analyzer = AttractorAnalyzer::new();
let attractor = analyzer.detect_attractor(&states)?;
// Meta-learning
let mut learner = MetaLearner::new();
learner.update(&experience)?;
Ok(())
}
Why Use Published Crates?
✅ Easy Installation
No repository cloning needed - just add to Cargo.toml
✅ Automatic Updates
cargo update keeps you on the latest compatible version
✅ Stable Versions
Semantic versioning guarantees API stability
✅ CI/CD Ready
Works in any Rust build environment
✅ Full Documentation
Every crate has comprehensive docs on docs.rs
✅ Production Ready
- 139+ tests passing
-
85% code coverage
- Comprehensive benchmarks
- Security audited (A+ rating)
Platform Support
All crates support multiple platforms:
| Platform | Status |
|---|---|
| Linux (x86_64, ARM64) | ✅ Full |
| macOS (Intel, Apple Silicon) | ✅ Full |
| Windows (x64) | ✅ Full |
| WASM (selected crates) | ✅ Full |
Performance
Built for production with excellent performance:
| Crate | Key Metric | Performance |
|---|---|---|
| temporal-compare | DTW (n=100) | ~8ms |
| nanosecond-scheduler | Task scheduling | <100ns |
| temporal-attractor-studio | Lyapunov (1K pts) | ~9ms |
| temporal-neural-solver | LTL verification | ~1ms |
| strange-loop | Policy update | ~3ms |
Documentation
Each crate has comprehensive documentation:
- 📖 Complete Guide - Full MidStream documentation
- 🚀 Quick Start - Get started in 5 minutes
- 📊 Crate Status - Detailed crate information
- 📚 Published Crates Guide - In-depth usage guide
Resources
Documentation
- Main README: README.md
- Quick Start: docs/QUICK_START.md
- Crate Status: docs/CRATE_STATUS.md
- API Reference: docs/api-reference.md
Links
- 🏠 Homepage: https://github.com/ruvnet/midstream
- 📦 Crates.io: https://crates.io/search?q=temporal
- 📚 Documentation: https://docs.rs
- 💬 Discussions: https://github.com/ruvnet/midstream/discussions
- 🐛 Issues: https://github.com/ruvnet/midstream/issues
What's Next?
For Users
- ✅ Add crates to your project
- 📖 Read the documentation
- 💡 Try the examples
- 🚀 Build amazing real-time applications!
For Contributors
We welcome contributions! See CONTRIBUTING.md for guidelines.
Roadmap
- 🔄 Additional LLM provider integrations
- 🔄 Enhanced WASM optimizations
- 🔄 Mobile SDK (iOS/Android)
- 🔄 Cloud-native deployment guides
- 🔜 quic-multistream crate publication
Migration from Local Development
If you were using local path dependencies:
Before:
[dependencies]
temporal-compare = { path = "crates/temporal-compare" }
After:
[dependencies]
temporal-compare = "0.1"
No code changes required!
Support
Getting Help
- 📖 Check the documentation
- 💬 Join GitHub Discussions
- 🐛 Report issues on GitHub
Community
- ⭐ Star the project on GitHub
- 🐦 Follow updates on Twitter
- 📧 Subscribe to the newsletter
License
All crates are licensed under Apache License 2.0 - see LICENSE for details.
Acknowledgments
Thanks to:
- The Rust community for incredible tooling
- All contributors and early adopters
- Everyone who provided feedback
Summary
🎉 All 5 core MidStream crates are now published on crates.io!
📦 Easy Installation: Just add to Cargo.toml 🚀 Production Ready: Tested, documented, and optimized 🌍 Cross-Platform: Linux, macOS, Windows, WASM 📚 Well Documented: Full docs.rs documentation ✅ High Quality: >85% coverage, 139+ tests passing
Get started today!
cargo new my-app && cd my-app
[dependencies]
temporal-compare = "0.1"
nanosecond-scheduler = "0.1"
temporal-attractor-studio = "0.1"
temporal-neural-solver = "0.1"
strange-loop = "0.1"
cargo build --release
Created by rUv 🚀
Real-time introspection for the AI age
Browse all published crates: https://crates.io/search?q=temporal