Registry / RepositoryTypeScriptRustPython
Rollpie
TypeScriptRustPython

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

Install

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

curl -o rollpie https://rollpie.dev/rollpie
chmod +x rollpie
sudo mv rollpie /usr/local/bin/

Download

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

rollpie get rust/suki
rollpie get rust/suki@0.2.0

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

[dependencies]
suki = {path = "rollpie/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

rollpie search json
rollpie show rust/suki
rollpie list

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

Token

Publishing needs a token linked to your Rollpie account. Downloading and searching do not.

rollpie login
rollpie logout

rollpie login asks for the token, checks it with rollpie.dev, and saves it in ~/.rollpie/credential, which only you can read. rollpie logout deletes it. Tokens cannot be issued on this site yet.

Publish

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

{
	"name": "hello",
	"language": "rust",
	"version": "0.1.0",
	"copyright": ["Your Name"],
	"dependency": ["rust/suki@0.2.0"],
	"file": ["Cargo.toml", "src", "README.md"]
}
rollpie create

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.