Install packages

The canonical commands are:

pip install eve-iac
npm install @eve-iac/sdk
import "github.com/eve-iac/eve-iac/sdk/go/eveiac"

Those names do not change. They are not on the public Python index, the public npm index, or a public Go module proxy. CI must not upload there.

Distribution for this repository is GitLab (gitlab.com/eve-ng-dev/eve-iac): Package Registry plus a Release on each git tag. CI never uploads to public indexes, Debian archives, or the VS Code Marketplace.

Local equivalents: make pack-sdk writes out/python/, out/npm/, and out/go/. make deb vsix writes the agent .deb and the VSIX into out/.

Agent / VSIX

sudo dpkg -i eve-iac-agent_0.4.2-2_amd64.deb

Install eve-iac-client-0.4.2.vsix with Install from VSIX. Both files come from the GitLab Release (or out/ after make deb vsix). Not a Debian archive, not the Marketplace. Operator steps: Install VS Code / Cursor.

Python / CLI

pip install eve-iac
eve-iac --help

Point pip at this GitLab project (private projects need a token):

pip install eve-iac --index-url https://gitlab.com/api/v4/projects/eve-ng-dev%2Feve-iac/packages/pypi/simple

Or install a Release / out/python/ wheel:

pip install eve_iac-0.4.2-py3-none-any.whl

Same wheel: from eveiac import EveIacClient and the eve-iac CLI.

TypeScript / Node

npm install @eve-iac/sdk
npm config set @eve-iac:registry https://gitlab.com/api/v4/projects/eve-ng-dev%2Feve-iac/packages/npm/
npm install @eve-iac/sdk

Or npm install ./eve-iac-sdk-0.4.2.tgz from a Release / out/npm/.

Go

Module identity (not a live GitHub Homepage):

github.com/eve-iac/eve-iac/sdk/go

Until that path exists on a public git remote, consume the Go SDK tarball from the GitLab Release or this generic URL (not out/ on your laptop):

curl -fsSL -O https://gitlab.com/api/v4/projects/eve-ng-dev%2Feve-iac/packages/generic/eve-iac/0.4.2/eve-iac-sdk-go-0.4.2.tar.gz
tar xzf eve-iac-sdk-go-0.4.2.tar.gz
go mod edit -replace github.com/eve-iac/eve-iac/sdk/go=./eve-iac-sdk-go-0.4.2
go get github.com/eve-iac/eve-iac/sdk/go@v0.0.0

go get …@v0.0.0 after replace records the require without fetching GitHub. GOPROXY=off avoids a public module proxy.

Do not change go.mod in this repository to a GitLab module path. Optional git rewrite if you fetch this GitLab repo as if it were the GitHub identity:

git config url.git@gitlab.com:eve-ng-dev/eve-iac.git.insteadOf https://github.com/eve-iac/eve-iac

Subdirectory modules then need a tag of the form sdk/go/vX.Y.Z. The tarball + replace path does not.

What a tag publishes

The packages GitLab CI job (tags only) uploads:

Artifact Registry
eve-iac-agent_<X.Y.Z-R>_amd64.deb generic eve-iac
eve-iac-client-<X.Y.Z>.vsix generic eve-iac
eve_iac-<X.Y.Z>-py3-none-any.whl and sdist (SDK and eve-iac CLI) GitLab PyPI + generic eve-iac
eve-iac-sdk-<X.Y.Z>.tgz GitLab npm + generic
eve-iac-sdk-go-<X.Y.Z>.tar.gz generic (Go has no public proxy tag)

and creates a GitLab Release with those links. Not Marketplace, not a Debian archive, not public Python/npm indexes.