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.