Registry / RepositoryTypeScriptRustPython
Rollpie
TypeScriptRustPython

Packages for TypeScript, Rust, and Python. The iroha command downloads and publishes them.

Install

iroha is a single shell script. It needs sh, curl, tar, awk, and sha256sum or shasum. Node.js and npm are not needed.

Run this in a terminal on Linux or macOS. On Windows, run it in Git Bash, which comes with Git for Windows, or in WSL.

curl -fsSL https://rollpie.dev/install | sh

The installer puts iroha in ~/.iroha/bin and adds that directory to PATH in your shell's startup file, such as ~/.zshrc or ~/.bashrc. Open a new terminal to use it. Run the same command again to update iroha. To uninstall, run iroha uninstall. It deletes ~/.iroha and removes the PATH line.

To install by hand, run these and add ~/.iroha/bin to PATH yourself.

mkdir -p ~/.iroha/bin
curl -o ~/.iroha/bin/iroha https://rollpie.dev/iroha
chmod +x ~/.iroha/bin/iroha

Download

A package is named <language>/<name>. Without a version, you get the latest one.

iroha get rust/suki
iroha get rust/[email protected]

The archive is checked against its SHA-256 checksum and extracted into iroha/<language>/<name>/ in the current directory. Its dependencies are downloaded as well. In Rust, point Cargo.toml at that directory.

[dependencies]
suki = {path = "iroha/rust/suki"}

Each package page also has a Download button. The archive is at https://rollpie.dev/<language>/<name>/<version>.tar.gz, and latest.tar.gz is the latest version.

Search

iroha search json
iroha show rust/suki
iroha list

search finds packages by name. show lists the versions of a package. list shows the packages downloaded into iroha/.

Publish

Put iroha.json in the directory of your package and run iroha create there.

{
	"name": "hello",
	"language": "rust",
	"version": "0.1.0",
	"copyright": ["Your Name"],
	"dependency": ["rust/[email protected]"],
	"file": ["Cargo.toml", "src", "README.md"]
}
iroha create

iroha create shows a URL and a code. Open the URL in a browser where you are signed in to Rollpie, check that the code and the package are the same as in your terminal, and approve. Then confirm in the terminal. An approval works for that one version only and expires in 10 minutes. Publishing needs a Rollpie account; downloading and searching do not.

name uses lowercase letters, digits, - and _, and starts with a letter. The first person to publish a name owns it. language is typescript, rust, or python. version is three numbers, such as 0.1.0. A published version cannot be replaced; publish a new version instead.

file lists the files and directories to put in the archive. Nothing else goes in. copyright (up to 8 holders) and dependency (up to 32, each already published) can be left out. A README.md at the top is shown on the package page.

The archive must be 8 MB or less, and 64 MB or less with no more than 4,096 entries once extracted. It can contain only regular files and directories.