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.
Install weave
using pip install weave
.
Then start exploring your existing datasets with 1 line of code!:
import weave
# ... use any existing dataframe
weave.show(pandas_df)
For example:
1. View a dataframe (in this case the Iris dataset)
2. Interactively derive insights
3. Create and share dashboards
- 🚀 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.
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!
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) | 🚧 |
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!
Join our thriving community Discord. It's the perfect place to ask questions, share your projects, or just chat about data exploration.
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