https://github.com/alexykn/sp
Rust based package manager for macOS
https://github.com/alexykn/sp
brew homebrew macos package-management package-manager rust
Last synced: 29 days ago
JSON representation
Rust based package manager for macOS
- Host: GitHub
- URL: https://github.com/alexykn/sp
- Owner: alexykn
- License: bsd-3-clause
- Created: 2025-04-12T09:12:20.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-04-26T20:10:15.000Z (29 days ago)
- Last Synced: 2025-04-26T21:19:34.613Z (29 days ago)
- Topics: brew, homebrew, macos, package-management, package-manager, rust
- Language: Rust
- Homepage:
- Size: 1.04 MB
- Stars: 1,439
- Watchers: 1
- Forks: 16
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-starred - alexykn/sp - Rust based package manager for macOS (Rust)
README
# sp
> [!WARNING]
> **ALPHA SOFTWARE**
> sp is experimental, under heavy development, and may be unstable. Use at your own risk!
>
> Uninstalling a cask with brew then reinstalling it with sp will have it installed with slightly different paths, your user settings etc. will not be migrated automatically.sp is a next‑generation, Rust‑powered package manager inspired by Homebrew. It installs and manages:
- **Formulae:** command‑line tools, libraries, and languages
- **Casks:** desktop applications and related artifacts on macOS> _ARM only for now, might add x86 support eventually_
---
## ⚙️ Project Structure
- **sp‑core** Core library: fetching, dependency resolution, archive extraction, artifact handling (apps, binaries, pkg installers, fonts, plugins, zap/preflight/uninstall stanzas, etc.)
- **sp‑cli** Command‑line interface: `sp` executable wrapping the core library.
---
## 🚧 Current Status
- Bottle installation and uninstallation
- Cask installation and uninstallation
- Parallel downloads and installs for speed
- Automatic dependency resolution and installation
- Building Formulae from source (very early impl)---
## 🚀 Roadmap
1. **Upgrade** command to update installed packages
2. **Cleanup** old downloads, versions, caches
3. **Reinstall** command for quick re‑pours
4. **Prefix isolation:** support `/opt/sp` as standalone layout
5. **`sp init`** helper to bootstrap your environment
6. **Ongoing** Bug fixes and stability improvements---
> I know this does not follow one defined style yet. Still thinking about how I actually want it to look so... we'll get there
---
## 📦 Usage
```sh
# Print help
sp --help# Update metadata
sp update# Search for packages
sp search# Get package info
sp info# Install bottles or casks
sp install# Build and install a formula from source
sp install --build-from-source# Uninstall
sp uninstall# (coming soon)
sp upgrade [--all]
sp cleanup
sp init
```-----
## 🏗️ Building from Source
**Prerequisites:** Rust toolchain (stable).
```sh
git clone
cd sp
cargo build --release
```The `sp` binary will be at `target/release/sp`. Add it to your `PATH`.
-----
## 🤝 Contributing
sp lives and grows by your feedback and code\! We’re particularly looking for:
- Testing and bug reports for Cask & Bottle installation + `--build-from-source`
- Test coverage for core and cask modules
- CLI UI/UX improvements
- See [CONTRIBUTING.md](CONTRIBUTING.md)Feel free to open issues or PRs. Every contribution helps\!
-----
## 📄 License
- **sp:** BSD‑3‑Clause - see [LICENSE.md](LICENSE.md)
- Inspired by Homebrew BSD‑2‑Clause — see [NOTICE.md](NOTICE.md)-----
> *Alpha software. No guarantees. Use responsibly.*