Skip to main content

PyVibe

https://www.pyvibe.com/ | Examples | Use With Flask | Live Playground | Component Reference |

PyVibe logo with sample code

Easily create styled web pages with Python

import pyvibe as pv

page = pv.Page()

page.add_header("Welcome to PyVibe!")

page.add_text("PyVibe is an open source Python library for creating UI components for web apps without the need to write HTML code.")

See all components

Interactive playground

What is PyVibe?

PyVibe is a Python library for creating web pages. It is designed to be a quick way for Python developers to build front-ends.

PyVibe uses a component-based approach to building web pages. This means that you can create a page by combining components together.

How do I use PyVibe?

PyVibe is a Python library that simplifies UI development for web apps by providing semantic Python components that compile into HTML and can be used with any web framework.

Fundamentally, PyVibe returns an HTML string that can be used with:

  • Static Pages: Using .to_html()
  • Flask: Inside a Flask function
  • Pyodide: For dynamic client-side rendered pages (experimental)

What can you build with PyVibe?

More Examples

Designed for Autocomplete

PyVibe is designed to be used with autocomplete. This means that you can type page.add_ and autocomplete will show you all the components that you can add to your page along with documentation about the component.

Example showing how autocomplete works

Themes

PyVibe is meant to be a generic framework. While the default theme uses Flowbite, which are components that use TailwindCSS, we envision including many themes and CSS frameworks in the future.

How does PyVibe compare to Streamlit, Plotly Dash, Pynecone, Anvil, NiceGUI, etc?

PyVibe is not a web server -- it produces styled HTML that can be used with any web server.

Getting Started

  • To get started with PyVibe, simply install the library using pip:
pip install pyvibe

Once installed, you can begin creating UI components by creating a new Page object and adding components to it using the .add_* methods. You can then return the page as HTML by calling page.to_html().

For example, to create a new page with a header and a paragraph of text, you could use the following code:

import pyvibe as pv

page = pv.Page()
page.add_header("Welcome to PyVibe!")
page.add_text("PyVibe is a Python library for creating UI components for web apps without the need to write HTML code.")
print(page.to_html())

This will output the following HTML (simplified for readability but it also includes the rest of the HTML document including a navbar, footer, head tag, etc):

<div id="page-container" class="container px-5 my-5 mx-auto">
    <p class="mb-4 font-extrabold leading-none tracking-tight text-gray-900 dark:text-white  text-xl sm:text-5xl ">Welcome to PyVibe!</p>
<p class="mb-6 text-lg font-normal text-gray-500 lg:text-xl dark:text-gray-400">PyVibe is a Python library for creating UI components for web apps without the need to write HTML code.</p> 
</div>

Contributions

PyVibe is an open-source library, and contributions are welcome! If you have an idea for a new feature or theme, or if you find a bug and want to submit a fix, feel free to open a pull request.

Thanks for considering PyVibe!

Release files for pyvibe 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyvibe 0.0.5
File Size Uploaded
pyvibe-0.0.5.tar.gz 21.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyvibe 0.0.5
File Interpreter ABI Platform
pyvibe-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 41.6 kB

Release files / pyvibe-0.0.5.tar.gz

Download URL pyvibe-0.0.5.tar.gz
Size 21.5 kB
Tags Source
SHA-256 checksum
How to use checksums
834cc33ce324cac7a43ef564328de9bc36d951d6aa5d3f534df4ef8d8c978323
BLAKE2b-256 checksum
How to use checksums
b23a9184ec3f5fe74c6785059f46b679ddb3e0dc698719238feda9a48fe4d881
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / pyvibe-0.0.5-py3-none-any.whl

Download URL pyvibe-0.0.5-py3-none-any.whl
Size 20.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eee7bd0491c215da90586476bff3c3ec4655c5de78110ec7d5e1ed6578734c8e
BLAKE2b-256 checksum
How to use checksums
c6f2c7a8db3e9b97fc6f8dbd96d2451bce37dcdfc2b1078fb04193be72f37803
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page