Skip to main content

Easily create styled web pages with Python

Project description

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!

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

pyvibe-0.0.3.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyvibe-0.0.3-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file pyvibe-0.0.3.tar.gz.

File metadata

  • Download URL: pyvibe-0.0.3.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pyvibe-0.0.3.tar.gz
Algorithm Hash digest
SHA256 0c06218134a32cb504d76be7e56b378207e2a84552eaa35733db5594d4c358d9
MD5 cd4eb97883cf373e3b72fa604d03def8
BLAKE2b-256 9dd9874fed28896e2ac3c7a3bf693e34c055110f2ecab0b874dc23c3a8ebd521

See more details on using hashes here.

File details

Details for the file pyvibe-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pyvibe-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for pyvibe-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5c46c6dd9fc45facc4ad5a727cf2bcf4b2c98e87c1c65bc846b47ee19831bbd9
MD5 b3e6240513a299cb859c05d7f3a7cfb3
BLAKE2b-256 153e1d025193c72b1eed1c0469d229430e8bd2905d38175a94aefd3238a08df8

See more details on using hashes here.

Supported by

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