Kizuna's Package Registry hosts packages for multiple ecosystems. Publish private packages and cache public ones.
Supported Formats
| Format | Extension | Tool |
|---|---|---|
| npm | .tgz | npm publish |
| Python (PyPI) | .whl, .tar.gz | twine upload |
| Maven | .jar, .pom | mvn deploy |
| RubyGems | .gem | gem push |
| Go Modules | — | go mod |
| Cargo | .crate | cargo publish |
| NuGet | .nupkg | nuget push |
npm Packages
Publishing
Configure npm:
bash
npm config set registry https://kizuna.example.com/api/v1/packages/npm
npm login --registry https://kizuna.example.com/api/v1/packages/npmOr create .npmrc:
registry=https://kizuna.example.com/api/v1/packages/npm
//kizuna.example.com/api/v1/packages/npm:_authToken=${KIZUNA_TOKEN}Publish:
bash
npm publishInstalling
bash
npm install @myorg/package-name \
--registry https://kizuna.example.com/api/v1/packages/npmOr in .npmrc:
@myorg:registry=https://kizuna.example.com/api/v1/packages/npmPython Packages
Publishing
Configure ~/.pypirc:
ini
[kizuna]
repository = https://kizuna.example.com/api/v1/packages/pypi
username = __token__
password = YOUR_KIZUNA_TOKENPublish:
bash
python -m build
twine upload --repository kizuna dist/*Installing
bash
pip install package-name \
--index-url https://kizuna.example.com/api/v1/packages/pypiOr in pip.conf:
ini
[global]
index-url = https://kizuna.example.com/api/v1/packages/pypiMaven Packages
Publishing
Configure ~/.m2/settings.xml:
xml
<settings>
<servers>
<server>
<id>kizuna</id>
<username>__token__</username>
<password>YOUR_KIZUNA_TOKEN</password>
</server>
</servers>
</settings>In pom.xml:
xml
<distributionManagement>
<repository>
<id>kizuna</id>
<name>Kizuna Packages</name>
<url>https://kizuna.example.com/api/v1/packages/maven</url>
</repository>
</distributionManagement>Publish:
bash
mvn deployPackage Management
View Packages
Navigate to Packages in repository sidebar.
Package Details
@myorg/utils
├── v1.2.3 (latest)
├── v1.2.2
├── v1.2.1
└── v1.2.0Delete Package
bash
curl -X DELETE /api/v1/repos/org/repo/packages/npm/@myorg/utils/versions/1.2.3 \
-H "Authorization: Bearer $TOKEN"Download Statistics
bash
curl /api/v1/repos/org/repo/packages/npm/@myorg/utils/statsScoped Packages
npm Scopes
bash
# Publish scoped package
npm publish --access restricted
# Install scoped package
npm install @myorg/package-nameMaven Groups
xml
<groupId>com.myorg</groupId>
<artifactId>my-library</artifactId>API Access
List Packages
bash
curl /api/v1/repos/org/repo/packagesGet Package
bash
curl /api/v1/repos/org/repo/packages/npm/@myorg/utilsUpload Package
bash
curl -X POST /api/v1/repos/org/repo/packages/npm \
-H "Authorization: Bearer $TOKEN" \
-F "[email protected]"Summary
The Package Registry provides:
- Multi-format support — npm, PyPI, Maven, etc.
- Private hosting — Secure internal packages
- Version management — Track all releases
- Download tracking — Usage analytics
It's your single source for all packages.