Skip to content

Kizuna's Package Registry hosts packages for multiple ecosystems. Publish private packages and cache public ones.

Supported Formats ​

FormatExtensionTool
npm.tgznpm publish
Python (PyPI).whl, .tar.gztwine upload
Maven.jar, .pommvn deploy
RubyGems.gemgem push
Go Modules—go mod
Cargo.cratecargo publish
NuGet.nupkgnuget 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/npm

Or create .npmrc:

registry=https://kizuna.example.com/api/v1/packages/npm
//kizuna.example.com/api/v1/packages/npm:_authToken=${KIZUNA_TOKEN}

Publish:

bash
npm publish

Installing ​

bash
npm install @myorg/package-name \
  --registry https://kizuna.example.com/api/v1/packages/npm

Or in .npmrc:

@myorg:registry=https://kizuna.example.com/api/v1/packages/npm

Python Packages ​

Publishing ​

Configure ~/.pypirc:

ini
[kizuna]
repository = https://kizuna.example.com/api/v1/packages/pypi
username = __token__
password = YOUR_KIZUNA_TOKEN

Publish:

bash
python -m build
twine upload --repository kizuna dist/*

Installing ​

bash
pip install package-name \
  --index-url https://kizuna.example.com/api/v1/packages/pypi

Or in pip.conf:

ini
[global]
index-url = https://kizuna.example.com/api/v1/packages/pypi

Maven 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 deploy

Package 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.0

Delete 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/stats

Scoped Packages ​

npm Scopes ​

bash
# Publish scoped package
npm publish --access restricted

# Install scoped package
npm install @myorg/package-name

Maven Groups ​

xml
<groupId>com.myorg</groupId>
<artifactId>my-library</artifactId>

API Access ​

List Packages ​

bash
curl /api/v1/repos/org/repo/packages

Get Package ​

bash
curl /api/v1/repos/org/repo/packages/npm/@myorg/utils

Upload 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.