Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/qri-io/starlib
qri's standard library for starlark
https://github.com/qri-io/starlib
Last synced: 6 days ago
JSON representation
qri's standard library for starlark
- Host: GitHub
- URL: https://github.com/qri-io/starlib
- Owner: qri-io
- License: mit
- Created: 2018-09-16T02:07:38.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-12-04T04:13:57.000Z (11 months ago)
- Last Synced: 2024-06-18T13:53:00.103Z (5 months ago)
- Language: Go
- Homepage:
- Size: 575 KB
- Stars: 108
- Watchers: 7
- Forks: 29
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starlark - Starlib
- awesome-starlark - Starlib
README
Starlib - Starlark's Missing standard Library.
[![Qri](https://img.shields.io/badge/made%20by-qri-magenta.svg?style=flat-square)](https://qri.io) [![GoDoc](https://godoc.org/github.com/qri-io/starlib?status.svg)](http://godoc.org/github.com/qri-io/starlib) [![License](https://img.shields.io/github/license/qri-io/starlib.svg?style=flat-square)](./LICENSE) [![Codecov](https://img.shields.io/codecov/c/github/qri-io/starlib.svg?style=flat-square)](https://codecov.io/gh/qri-io/starlib) [![CI](https://img.shields.io/circleci/project/github/qri-io/starlib.svg?style=flat-square)](https://circleci.com/gh/qri-io/starlib)
## Welcome
This is a community-driven project to bring a standard library to the starlark programming dialect. We here at Qri need a standard library, and we thought it might benefit others to structure this library in a reusable way. We are a little biased towards our needs, and will be shaping the library primarily toward's Qri's use case.
| Question | Answer |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| "What's starlark?" | It's a python-like scripting language open-sourced by Google. [Here are the docs](https://docs.bazel.build/versions/master/skylark/language.html) |
| "What's the use-case for this?" | [We're building it for Qri ('query')](https://qri.io) |
| "I want to play with starlib outside of Qri" | [Checkout the starlark playground](https://github.com/qri-io/skypg) |
| "I have a question" | [Create an issue](https://github.com/qri-io/starlib/issues) |
| "I found a bug" | [Create an issue](https://github.com/qri-io/starlib/issues) |
| "I would like to propose a new package" | You should think about [creating an RFC](https://github.com/qri-io/rfcs) |## Packages
The following is a list of the packages currently in the standard library
| Package | Go Docs | Description |
| ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- |
| [`bsoup`](https://github.com/qri-io/starlib/tree/master/bsoup) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/bsoup?status.svg)](https://godoc.org/github.com/qri-io/starlib/bsoup) | a beautiful-soup-like API for working with HTML |
| [`encoding/base64`](https://github.com/qri-io/starlib/tree/master/encoding/base64) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/encoding/base64?status.svg)](https://godoc.org/github.com/qri-io/starlib/encoding/base64) | base64 de/serialization |
| [`encoding/csv`](https://github.com/qri-io/starlib/tree/master/encoding/csv) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/encoding/csv?status.svg)](https://godoc.org/github.com/qri-io/starlib/encoding/csv) | csv de/serialization |
| [`encoding/json`](https://github.com/qri-io/starlib/tree/master/encoding/json) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/encoding/json?status.svg)](https://godoc.org/github.com/qri-io/starlib/encoding/json) | alias for [go.starlark.net/starlarkjson](https://github.com/google/starlark-go/blob/master/starlarkjson/json.go) |
| [`encoding/yaml`](https://github.com/qri-io/starlib/tree/master/encoding/yaml) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/encoding/yaml?status.svg)](https://godoc.org/github.com/qri-io/starlib/encoding/yaml) | yaml de/serialization |
| [`geo`](https://github.com/qri-io/starlib/tree/master/geo) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/geo?status.svg)](https://godoc.org/github.com/qri-io/starlib/geo) | 2d geographic operations |
| [`hash`](https://github.com/qri-io/starlib/tree/master/hash) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/hash?status.svg)](https://godoc.org/github.com/qri-io/starlib/hash) | hash operations (md5/sha1/sha256) |
| [`html`](https://github.com/qri-io/starlib/tree/master/html) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/html?status.svg)](https://godoc.org/github.com/qri-io/starlib/html) | html text processing |
| [`http`](https://github.com/qri-io/starlib/tree/master/http) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/http?status.svg)](https://godoc.org/github.com/qri-io/starlib/http) | http client operations |
| [`math`](https://pkg.go.dev/go.starlark.net/lib/math) | [![Go Docs](https://godoc.org/github.com/go.starlark.net/lib/math?status.svg)](https://pkg.go.dev/go.starlark.net/lib/math) | mathematical functions & values [upstreamed into go-starlark](https://github.com/google/starlark-go/pull/357) |
| [`re`](https://github.com/qri-io/starlib/tree/master/re) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/re?status.svg)](https://godoc.org/github.com/qri-io/starlib/re) | regular expressions |
| [`time`](https://github.com/google/starlark-go/blob/master/lib/time/time.go) | [![Go Docs](https://godoc.org/go.starlark.net/lib/time?status.svg)](https://pkg.go.dev/go.starlark.net/lib/time) | time operations, [upstreamed into go-starlark](https://github.com/google/starlark-go/pull/327) |
| [`xlsx`](https://github.com/qri-io/starlib/tree/master/xlsx) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/xlsx?status.svg)](https://godoc.org/github.com/qri-io/starlib/xlsx) | xlsx file format reading |
| [`zipfile`](https://github.com/qri-io/starlib/tree/master/zipfile) | [![Go Docs](https://godoc.org/github.com/qri-io/starlib/zipfile?status.svg)](https://godoc.org/github.com/qri-io/starlib/zipfile) | support for zip archives |###### This documentation has been adapted from the [Cycle.js](https://github.com/cyclejs/cyclejs) documentation.