# wwwpy / develop web applications in Python quickly and easily

[![Test suite](https://github.com/www-py/wwwpy/actions/workflows/ci.yml/badge.svg)](https://github.com/www-py/wwwpy/actions/workflows/ci.yml)
![PyPI](https://img.shields.io/pypi/v/wwwpy)


Develop web applications quickly, Python all the way down.

The vision of wwwpy: 
- **Jumpstart Your Projects**: With just a couple of commands, get a head start on building web UIs, allowing you to focus on coding and scaling your application.
- **Build Web UIs**: Create web interfaces without the need to focus on the frontend. Everything is Python. You can avoid HTML/DOM/CSS/JavasScript, but you can use the full power of it, if you want. Use the drag-and-drop UI builder for rapid prototyping, while still being able to easily create, extend, and customize UIs as needed.
- **Integrated Development Environment**: use an intuitive UI building experience within the development environment, making it easy to edit properties and components as you go.
- **Direct Code Integration**: UI components are fully reflected in the source code, allowing for manual edits. Every change is versionable and seamlessly integrates with your source code repository.
- **Hot reload**: When in dev-mode, any change to the source code is immediately reflected in the running application.
- **Client-server**: Call server-side functions from the browser seamlessly, without the need to write api endpoints. Oh, you also can call the browser(s) from the server to push changes and information to it.
- **Versatile Scalability**: From quick UI prototypes to large-scale enterprise applications, wwwpy handles everything from simple interfaces to complex projects with external dependencies and integrations.

# How to Use

### Installation

```
pip install wwwpy
```

### Getting Started
To start developing:

```
wwwpy dev
```

If the current folder is empty, wwwpy will ask you to select a quickstart project to help you explore its features right away.


## Documentation

* [Introduction](docs/introduction.md): Learn about the project structure and how to get started.
* [Component Documentation](docs/component.md): Instructions on how to use and create components.
* [Seamless communication between server and browser(s)](docs/rpc.md): Learn about seamless communication between the server and browser(s).

