An open API service indexing awesome lists of open source software.

https://github.com/tamnd/kaggle-cli

Browse Kaggle datasets, competitions, and notebook metadata as structured records
https://github.com/tamnd/kaggle-cli

cli data-science dataset golang json kaggle machine-learning

Last synced: about 23 hours ago
JSON representation

Browse Kaggle datasets, competitions, and notebook metadata as structured records

Awesome Lists containing this project

README

          

# kaggle

Browse Kaggle datasets and competitions

`kaggle` is a single pure-Go binary. It speaks to kaggle over plain
HTTPS, shapes the responses into clean records, and pipes into the rest of your
tools. No API key, nothing to run alongside it.

## Install

```bash
go install github.com/tamnd/kaggle-cli/cmd/kaggle@latest
```

Or grab a prebuilt binary from the [releases](https://github.com/tamnd/kaggle-cli/releases), or run
the container image:

```bash
docker run --rm ghcr.io/tamnd/kaggle:latest --help
```

## Usage

```bash
kaggle --help
kaggle version
```

This is a fresh scaffold. The command tree starts with `version`; build out the
real commands in `cli/` on top of the `kaggle` library package.

## Development

```
cmd/kaggle/ thin main, wires cli.Root into fang
cli/ the cobra command tree
kaggle/ the library: HTTP client and data models
docs/ tago documentation site
```

```bash
make build # ./bin/kaggle
make test # go test ./...
make vet # go vet ./...
```

## Releasing

Push a version tag and GitHub Actions runs GoReleaser, which builds the
archives, Linux packages, the multi-arch GHCR image, checksums, SBOMs, and a
cosign signature:

```bash
git tag v0.1.0
git push --tags
```

The Homebrew and Scoop steps self-disable until their tokens exist, so the first
release works with no extra secrets.

## License

Apache-2.0. See [LICENSE](LICENSE).