Code Monkey home page Code Monkey logo

carefree-drawboard's Introduction

carefree-drawboard 🎨

Stable Diffusion

This is the screenshot I used for the Stable Diffusion example and I don't know what should be the proper banner, help!

PyPI version Checks License Open In Colab

Installation

carefree-drawboard 🎨 requires the following to get started:

To be exact, we need ^14.13.1 || ^16 || >=18 because of the [email protected] package.

pip install carefree-drawboard
npm install --global yarn

Although we'll always try to help you install the frontend packages, it is recommended to install them beforehands because you can receive much more verbose:

cfdraw install

If you are interested in the latest features, you may use pip to install from source as well:

git clone https://github.com/carefree0910/carefree-drawboard.git
cd carefree-drawboard
pip install -e .

Your first carefree-drawboard 🎨 App

Create a folder (e.g., my_fancy_app) wherever you like, get into it, and run

cfdraw init

When you run this command for the first time, we will use yarn to install the JavaScript dependencies for you, which may be quite slow!

This command will write two files to your folder (my_fancy_app). After which you can run the app in development mode:

cfdraw run

And you should see your app running at http://localhost:5123. Now you can play with the generated app.py file and see warm reload (yeah, not hot enough because we rely on the reload provided by uvicorn 🤣).

Notice that the generated template implements a GaussianBlur plugin, which requires an image to pop up. You can upload an image either by dropping on directly to the drawboard 🎨, or by clicking the Plus button at the top right corner and select Upload Image.

20230415-131404.mp4

Examples

  • Getting Started, which is a more detailed tutorial to guide you step by step.
  • Image Processing, which implements three common image processing plugins with carefree-drawboard 🎨.
  • Stable Diffusion, which utilizes the famous diffusers library and implements two common Stable Diffusion plugins with carefree-drawboard 🎨.
  • Caption & Diffusion, which shows how can we combine two different kinds of models (Image Captioning & Stable Diffusion) and make them work together.
  • Stable Diffusion Inpainting, which shows how can we implement complicated plugins like StableDiffusionInpainting very easily with carefree-drawboard 🎨.
  • Stable Diffusion ControlNet, which shows how can we decouple complicated workflows like ControlNet into separate, lightweight, and reusable plugins very easily with carefree-drawboard 🎨.

Documentation

Check the Wiki page for documentation!

Status

carefree-drawboard 🎨 is at a VERY early stage. It is launched in April 2023, and is not production ready (yet).

But we will rapidly update this project and launch new features every week (or, even everyday), so ⭐ star and 👀 watch this repository to stay up to date!

Contributing

Contributions are truly welcomed! Here are some good (common) ways to get started:

  • GitHub Discussions: Currently the best way to chat around.
  • GitHub Issues: Bugs! Fixes! PRs!.

Apart from these:

  • If you are truly an enthusiast, you may check out our Roadmap, pick up what you are interested, and create the corresponding PR!
  • If you are familiar with React, you may check out the Customizations documentation and try to customize your own plugins and have fun!

It is also recommended to start from the Development Guide!

Style Guide

If you are still interested: carefree-drawboard 🎨 adopted black and mypy to stylize its codes, so you may need to check the format, coding style and type hint with them before your codes could actually be merged.

Q&A

Where are my creations stored?

They are stored on your local machine, so you're 100% privacy secured!

The default dir is ~/.cache/carefree-draw, but you can change it manually

Why Using 🎨 All Around?

Good question, so I asked GPT-4, it said:

🎨 (Artist Palette) - This emoji represents creativity, design, and artistic expression, which are all key aspects of the carefree-drawboard 🎨 platform.

Cool!

Will there be a Discord Community?

Unfortunately I'm Chinese and I can hardly access to Discord. 🤣 Even if there are someone kindly enough to build one up for me, I can hardly connect to it so it will be impossible for me to stay tuned.

If you are kind enough please use the GitHub Discussions, or maybe there are other Discord replacements? I don't know, help!!!

如果有热心观众对这个项目感兴趣并愿意帮忙建立一个中文社区,欢迎联系我,我会非常感激的!!

Why do you build this project?

Also check Design Philosophy.

In short, I believe that:

  • Infinite Drawboard can unleash Infinite possibilities.
  • If we can use Python to interact with it and even craft new plugins for it, it will be even better.

So here comes the carefree-drawboard 🎨, which is a Python interactible/customizable Infinite Drawboard. 🎉

My another motivation is that I love HuggingFace 🤗 models, and would love to use most if not all of them in one, single, integrated space. This actually inspires me the following idea: to build an 'AI Operation System' which can drive all the 'Softwares' (the AI models) and make them work together seamlessly.

See Brainstorm 🧠 for more details!

My final goal is to make carefree-drawboard 🎨 a platform which can be used to build all kinds of AI applications. I know it will be a long journey but it is definitely worth trying.

And the middle-term goal is to make 🤗 & 🎨 appear together more often. We may think 🤗🎨 as HuggingFace models using a powerful palette to create the world (with AI)!

Credits

carefree-drawboard's People

Contributors

carefree0910 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.