The Malloy Publisher is a basic semantic model server and application. The aim of the project are:
- Create a local development environment for Malloy data app development.
- Develop & standardize Malloy's package format and serving APIs.
- Activate the Malloy open source community!
The diagram below illustrates the Publisher's basic components: Publisher Web App, Publisher SDK, and Publisher Server.
The Publisher app allows you to browse packages, their contents, and generate code snippets that can be embedded in an application. See the screenshots below.
The Publisher is a data app composed of a set React components. The React components form an SDK that can be embedded in other data applications. The SDK's React components call the Publisher server's APIs to fetch package metadata and query results.
The Publisher server is a simple semantic layer. While its primary purpose is to facilitate local data app development, it can easily be bundled with a set of Malloy packages in docker image in order to serve Malloy models and packages (coming soon).
As mentioned above, one goal of the Publisher project is to develop and standardize a Malloy package format. Currently, a Malloy package consists of a set of files in a directory with a publisher.json file. The publisher.json only supports two fields at the moment (name & description). We intend to add more fields as we build out Publisher functionality.
Browse loaded packagesExplore a package's contents
Explore Malloy models and notebooks
To build and run the package server, first load the malloy-samples.
git submodule init
git submodule update
Then build and run the package server:
npm run build
npm run start
NOTE: Note that the Publisher repository currently points to a fork of the malloy-samples repo. The fork contains minor changes to turn each Malloy sample directory into a package. Once the package format solidifies, we intend to merge the changes into the main malloy-samples repo.
- Developer mode that automatically recompiles models and refreshes the publisher app as you make changes.
- Scheduled transform pipelines
- Scheduled report generation
- Dockerfile
- Join our Malloy Slack Community! Use this community to ask questions, meet other Malloy users, and share ideas with one another.
- Use GitHub issues in this Repo to provide feedback, suggest improvements, report bugs, and start new discussions.
Documentation:
- Malloy Language - A quick introduction to the language
- eCommerce Example Analysis - a walkthrough of the basics on an ecommerce dataset (BigQuery public dataset)
- Modeling Walkthrough - introduction to modeling via the Iowa liquor sales public data set (BigQuery public dataset)
- YouTube - Watch demos / walkthroughs of Malloy