An unofficial open-source package manager for Odin. It is vendor-first and keeps installs local to vendor/.
Current versions:
- odpkg:
v0.6.1 - Odin used for build/tests:
dev-2026-01:f7901cffc
Principles:
- GitHub-only (v0.1)
- Vendoring-first
- Records
odin_versiononodpkg initand warns on mismatch duringadd/install/update
- Fixed a startup crash in some Linux environments (segmentation fault on
--help/ normal launch) caused by incorrect temporary string cleanup in update-check formatting. odpkg initnow records the Odin compiler version inodpkg.tomlasodin_version.odpkg add,odpkg install, andodpkg updatenow show a soft warning if your current Odin version differs from the project'sodin_version.odpkg installnow also shows a soft warning when an installed package's ownodpkg.tomldeclares a differentodin_version.- odpkg now checks for newer releases on startup and shows a soft "update available" notice when a newer version exists.
odpkg init
odpkg add github.com/owner/repo@v1.0.0
odpkg installgitin PATHlibcurlinstalled (and TLS deps likembedtls) for registry list/search andodpkg add --registry
- Dependency names are validated and must be simple (no path separators).
- Installs are restricted to the configured
vendor_dir. - Lockfile commits are validated and verified after checkout.
- HTTPS registry fetch uses libcurl with certificate verification enabled.
git clone https://github.com/bymehul/odpkg
cd odpkg
odin build src -out:odpkg
./odpkg --helpLinux/macOS:
VERSION=v0.6.1
ASSET=odpkg-ubuntu-latest
curl -L -o odpkg "https://github.com/bymehul/odpkg/releases/download/${VERSION}/${ASSET}"
chmod +x odpkg
./odpkg --helpWindows (PowerShell):
$version = "v0.6.1"
$asset = "odpkg-windows-latest.exe"
Invoke-WebRequest -Uri "https://github.com/bymehul/odpkg/releases/download/$version/$asset" -OutFile "odpkg.exe"
.\odpkg.exe --helpLinux/macOS (current session):
export PATH="$PWD:$PATH"Linux/macOS (permanent):
mkdir -p "$HOME/.local/bin"
mv odpkg "$HOME/.local/bin/odpkg"
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrcWindows (PowerShell, current session):
$env:Path = "$PWD;" + $env:PathWindows (permanent, PowerShell):
[Environment]::SetEnvironmentVariable("Path", "$env:Path;$PWD", "User")odpkg init [name]
odpkg add <repo[@ref]> [alias]
odpkg add --registry <slug> [alias]
odpkg remove <alias>
odpkg install
odpkg update
odpkg list [--registry | --deps] [--refresh]
odpkg search <query> [--refresh]
odpkg versionodpkg list --registry fetches the public registry and caches it.
odpkg search <query> filters registry packages by name or description.
Online docs: docs
Source docs: docs.md
Licensed under the zlib License.