{"id":27812366,"url":"https://github.com/alexykn/sps","last_synced_at":"2026-01-20T02:21:48.324Z","repository":{"id":287531807,"uuid":"965035800","full_name":"alexykn/sps","owner":"alexykn","description":"Rust based package manager for macOS","archived":false,"fork":false,"pushed_at":"2025-05-13T07:49:28.000Z","size":1345,"stargazers_count":1796,"open_issues_count":4,"forks_count":18,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-13T14:21:36.885Z","etag":null,"topics":["brew","homebrew","macos","package-management","package-manager","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexykn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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,"zenodo":null}},"created_at":"2025-04-12T09:12:20.000Z","updated_at":"2025-05-13T13:22:15.000Z","dependencies_parsed_at":"2025-04-12T10:25:46.450Z","dependency_job_id":"0985fc21-a233-4d3a-84d4-ec97b5066af8","html_url":"https://github.com/alexykn/sps","commit_stats":null,"previous_names":["alexykn/sapphire","alexykn/spm","alexykn/sp","alexykn/sps","alexykn/sph"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexykn%2Fsps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexykn%2Fsps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexykn%2Fsps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexykn%2Fsps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexykn","download_url":"https://codeload.github.com/alexykn/sps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110374,"owners_count":22016391,"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":["brew","homebrew","macos","package-management","package-manager","rust"],"created_at":"2025-05-01T12:01:09.709Z","updated_at":"2026-01-20T02:21:48.285Z","avatar_url":"https://github.com/alexykn.png","language":"Rust","readme":"# sps\n\n\u003e [!WARNING]\n\u003e **ALPHA SOFTWARE**\n\u003e sps is experimental, under heavy development, and may be unstable. Use at your own risk!\n\u003e\n\u003e Uninstalling a cask with brew then reinstalling it with sps will have it installed with slightly different paths, your user settings etc. will not be migrated automatically.\n\nsps his a next‑generation, Rust‑powered package manager inspired by Homebrew. It installs and manages:\n\n- **Formulae:** command‑line tools, libraries, and languages  \n- **Casks:** desktop applications and related artifacts on macOS\n\n\u003e _ARM only for now, might add x86 support eventually_\n\n---\n\n## ⚙️ Project Structure\n\n- **sps‑core** Core library: fetching, dependency resolution, archive extraction, artifact handling (apps, binaries, pkg installers, fonts, plugins, zap/preflight/uninstall stanzas, etc.)\n\n- **sps‑cli** Command‑line interface: `sps` executable wrapping the core library.\n\n---\n\n## 🚧 Current Status\n\n- Bottle installation and uninstallation  \n- Cask installation and uninstallation\n- Reinstall command for reinstalls\n- Upgrade command for updates (very careful. I ran into no system breakers, my Perl install got nuked though)\n- Parallel downloads and installs for speed  \n- Automatic dependency resolution and installation\n- Building Formulae from source (very early impl)\n\n---\n\n## 🚀 Roadmap\n\n- **Cleanup** old downloads, versions, caches  \n- **Prefix isolation:** support `/opt/sps` as standalone layout  \n- **`sps init`** helper to bootstrap your environment\n- **Ongoing** Bug fixes and stability improvements\n\n---\n\n## Trying it out:\n\n```bash\ncargo install sps\n```\n\u003e due too the amount of work keeping the crates up to date with every change would entail the crates.io published version will only be updated after major changes or fixes (if there are none expect once a week)\n---\n\n\u003cimg width=\"932\" alt=\"Screenshot 2025-04-28 at 23 43 35\" src=\"https://github.com/user-attachments/assets/473347a7-210c-41a3-bb49-e233cfa43c46\" /\u003e\n\n---\n\n## 📦 Usage\n\n```sh\n# Print help\nsps --help\n\n# Update metadata\nsps update\n\n# List all installed packages\nsps list\n\n# List only installed formulae\nsps list --formula\n\n# List only installed casks\nsps list --cask\n\n# Search for packages\nsps search \u003cformula/cask\u003e\n\n# Get package info\nsps info \u003cformula/cask\u003e\n\n# Install bottles or casks\nsps install \u003cformula/cask\u003e\n\n# Build and install a formula from source\nsps install --build-from-source \u003cformula\u003e\n\n# Uninstall\nsps uninstall \u003cformula/cask\u003e\n\n# Reinstall\nsps reinstall \u003cformula/cask\u003e\n\n#Upgrade\nsps upgrade \u003cformula/cask\u003e or --all\n\n# (coming soon)\nsps cleanup\nsps init\n```\n\n-----\n\n## 🏗️ Building from Source\n\n**Prerequisites:** Rust toolchain (stable).\n\n```sh\ngit clone \u003crepo-url\u003e\ncd sps\ncargo build --release\n```\n\nThe `sps` binary will be at `target/release/sps`. Add it to your `PATH`.\n\n\n-----\n\n## 📥 Using the Latest Nightly Build\n\nYou can download the latest nightly build from [`actions/workflows/rust.yml`](../../actions/workflows/rust.yml) inside this repository (select a successful build and scroll down to `Artifacts`).\n\nBefore running the downloaded binary, remove the quarantine attribute:\n\n```sh\nxattr -d com.apple.quarantine ./sps\n```\n\nThen, you can run the binary directly:\n\n```sh\n./sps --help\n```\n\n\n-----\n\n## 🤝 Contributing\n\nsps lives and grows by your feedback and code\\! We’re particularly looking for:\n\n  - Testing and bug reports for Cask \u0026 Bottle installation + `--build-from-source`\n  - Test coverage for core and cask modules\n  - CLI UI/UX improvements\n  - See [CONTRIBUTING.md](CONTRIBUTING.md)\n\nFeel free to open issues or PRs. Every contribution helps\\!\n\n-----\n\n## 📄 License\n\n  - **sps:** BSD‑3‑Clause - see [LICENSE.md](LICENSE.md)\n  - Inspired by Homebrew BSD‑2‑Clause — see [NOTICE.md](NOTICE.md)\n\n-----\n\n\u003e *Alpha software. No guarantees. Use responsibly.*\n","funding_links":[],"categories":["Rust","homebrew"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexykn%2Fsps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexykn%2Fsps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexykn%2Fsps/lists"}