{"id":27717968,"url":"https://github.com/alexykn/sp","last_synced_at":"2025-04-27T04:01:28.818Z","repository":{"id":287531807,"uuid":"965035800","full_name":"alexykn/sp","owner":"alexykn","description":"Rust based package manager for macOS","archived":false,"fork":false,"pushed_at":"2025-04-26T20:10:15.000Z","size":1088,"stargazers_count":1439,"open_issues_count":4,"forks_count":16,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-26T21:19:34.613Z","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-04-26T21:14:38.000Z","dependencies_parsed_at":"2025-04-12T10:25:46.450Z","dependency_job_id":"0985fc21-a233-4d3a-84d4-ec97b5066af8","html_url":"https://github.com/alexykn/sp","commit_stats":null,"previous_names":["alexykn/sapphire","alexykn/spm","alexykn/sp"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexykn%2Fsp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexykn%2Fsp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexykn%2Fsp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexykn%2Fsp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexykn","download_url":"https://codeload.github.com/alexykn/sp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251085198,"owners_count":21533842,"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-04-27T04:00:58.233Z","updated_at":"2025-04-27T04:01:28.781Z","avatar_url":"https://github.com/alexykn.png","language":"Rust","readme":"# sp\n\n\u003e [!WARNING]\n\u003e **ALPHA SOFTWARE**\n\u003e sp 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 sp will have it installed with slightly different paths, your user settings etc. will not be migrated automatically.\n\nsp is 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- **sp‑core** Core library: fetching, dependency resolution, archive extraction, artifact handling (apps, binaries, pkg installers, fonts, plugins, zap/preflight/uninstall stanzas, etc.)\n\n- **sp‑cli** Command‑line interface: `sp` executable wrapping the core library.\n\n---\n\n## 🚧 Current Status\n\n- Bottle installation and uninstallation  \n- Cask installation and uninstallation\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\n1. **Upgrade** command to update installed packages  \n2. **Cleanup** old downloads, versions, caches  \n3. **Reinstall** command for quick re‑pours  \n4. **Prefix isolation:** support `/opt/sp` as standalone layout  \n5. **`sp init`** helper to bootstrap your environment\n6. **Ongoing** Bug fixes and stability improvements\n\n---\n\n\u003cimg width=\"856\" alt=\"Screenshot 2025-04-26 at 22 09 41\" src=\"https://github.com/user-attachments/assets/bd4a39ed-d4b3-4d19-9b1c-2edcba5f472d\" /\u003e\n\n\u003e 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\n\n---\n\n## 📦 Usage\n\n```sh\n# Print help\nsp --help\n\n# Update metadata\nsp update\n\n# Search for packages\nsp search \u003cformula/cask\u003e\n\n# Get package info\nsp info \u003cformula/cask\u003e\n\n# Install bottles or casks\nsp install \u003cformula/cask\u003e\n\n# Build and install a formula from source\nsp install --build-from-source \u003cformula\u003e\n\n# Uninstall\nsp uninstall \u003cformula/cask\u003e\n\n# (coming soon)\nsp upgrade [--all] \u003cname\u003e\nsp cleanup\nsp init\n```\n\n-----\n\n## 🏗️ Building from Source\n\n**Prerequisites:** Rust toolchain (stable).\n\n```sh\ngit clone \u003crepo-url\u003e\ncd sp\ncargo build --release\n```\n\nThe `sp` binary will be at `target/release/sp`. Add it to your `PATH`.\n\n-----\n\n## 🤝 Contributing\n\nsp 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  - **sp:** 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"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexykn%2Fsp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexykn%2Fsp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexykn%2Fsp/lists"}