Skip to main content

A toolkit for building composable interactive data driven applications.

Project description

Weave Logo

Weave - Interactive Data Exploration Toolkit by Weights & Biases


Hello ๐Ÿ‘‹ and welcome to Weave!

Weave, developed by the team at Weights and Biases, is a new open-source toolkit designed for performant, interactive data exploration. Our mission is to equip Machine Learning practitioners with the best tools to turn data into insights quickly and easily.

Whether you are a seasoned data scientist, an aspiring ML practitioner, or just a tech enthusiast eager to play with data, Weave is for you.

๐Ÿ”† Join the W&B Prompts Feedback Sprint - Sep 29th - Oct 22nd ๐Ÿ”†

Try W&B Prompts, share your thoughts, win swag!

The W&B engineering team want your feedback on how our new LLM tool, LLM Monitoring, can be tailored to your specific use cases. The programme closes Sunday, October 22nd 2023, click here to participate and be in for a chance to win some W&B swag.

Getting Started with Weave

Run in a Google Colab -> Run in a Jupyter notebook ->

Install via pip install weave, import weave in your notebook, and explore your data with one line of code!

1. View a dataframe

import weave
from sklearn.datasets import load_iris

# use any existing dataframe, here we load the iris data and visualize the labels
iris = load_iris(as_frame=True)
df = iris.data.assign(target=iris.target_names[iris.target])

weave.show(df)

2. Add a plot

3. Create and share dashboards

๐Ÿ‘ฉโ€๐Ÿซ Example Notebooks

Weave has example notebooks demonstrating common usage patterns. To use the notebooks, clone this repository and install the examples' dependencies:

pip install '.[examples]'

then run through the notebooks in the examples directory

๐ŸŽ‰ Why Weave?

  • ๐Ÿš€ Performant: Weave is built with performance in mind. It's designed to handle large datasets smoothly so you can focus on what matters - exploring data and finding insights. Under the hood we optimize execution plans and parallelize computation using Arrow.
  • ๐ŸŽจ Interactive: Weave is all about making data exploration fun and interactive. It empowers you to engage with your data and discover patterns that static graphs can't reveal - without learning complicated APIs! Beautiful and interactive plots to bring your data to life.
  • ๐Ÿงฉ Modular Ecosystem: Weave's architecture & compute language is build on Types, Ops, and Panels. Combine different components to build your customized data exploration toolkit, and publish reusable components into the ecosystem for others to use!
  • ๐Ÿ’ป Open-Source: We believe in the power of open-source. Weave is built by the community, for the community. We are excited to see how you use it and what you build with it.

๐Ÿ“š Getting Started

Before you dive in, make sure you have the required software installed. You'll find all the details in our Installation Guide.

After installation, check out our Quick Start Guide to get a feel for Weave. For deeper dives, we recommend our Example Notebooks, which are packed with detailed explanations, examples, and even some data exploration wizardry!


๐ŸŽ Feature Statuses

Important: Weave is newly open sourced and the APIs are subject to change. Please report any issues to https://github.com/wandb/weave/issues.

Statuses:

  • โœ…: Available: The feature is relatively stable and ready for use
  • ๐Ÿ’ก: Preview: The feature is code-complete, but may have some rough edges
  • ๐Ÿšง: In Development:: The feature is still in active development - while usable, expect changes.
  • ๐Ÿ“: Todo:: The feature has not entered development
Category Feature Status
API
weave.save โœ…
weave.show โœ…
weave.publish ๐Ÿ’ก
Custom Objects
Custom Types via @weave.type decorator ๐Ÿ’ก
Custom Ops via @weave.op decorator ๐Ÿ’ก
Custom Panels via weave.panels.Panel subclass ๐Ÿšง
Persistence
Publish & Save Data โœ…
Publish & Save Custom Python Objects (eg. Models) ๐Ÿ’ก
Publish & Save Configured Dashboards ๐Ÿ’ก
Publish & Save Panels, Ops, & Types ๐Ÿšง
UX
Tables โœ…
Plots โœ…
Dashboard Editor ๐Ÿ’ก
Core Component Library ๐Ÿ’ก
Code Export ๐Ÿ’ก
Media Types ๐Ÿšง
Version Navigation ๐Ÿšง
Implementation
Language Bindings (Python, JS) โœ…
Tests/Code coverage โœ…
Core Language Spec (Types, Ops, Panels) ๐Ÿ’ก
Benchmarks ๐Ÿ“
Materials
Examples โœ…
Documentation (API Reference, Guides) ๐Ÿšง

๐Ÿ‘ฉโ€๐Ÿ’ป Contribution

Are you passionate about data exploration and open-source projects? Awesome! Weave's community is always looking for contributors. Check out our Contribution Guide to learn how you can make Weave even better!

๐Ÿ“ข Community

Join our thriving community Discord. It's the perfect place to ask questions, share your projects, or just chat about data exploration.

๐Ÿ’– Thanks

Special thanks to everyone who has contributed to Weave, from submitting bug reports and feature requests to contributing code and documentation. Weave wouldn't be what it is today without you!


Happy Weaving! ๐ŸŽ‰

Made with ๐Ÿ’œ by Weights and Biases

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weave-0.30.0.tar.gz (26.2 MB view hashes)

Uploaded Source

Built Distribution

weave-0.30.0-py3-none-any.whl (26.8 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page