Metadata-Version: 2.1
Name: visagepy
Version: 0.1.1
Summary: A Python library for building declarative web GUIs
Home-page: https://github.com/sl1dee36/visagepy
Author: Nazaryan Artem Karapetovich
Author-email: spanishiwasc2@gmail.com
License: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: User Interfaces
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Framework :: Django
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: pyyaml

# VisagePy: Declarative Web GUI Builder for Python

VisagePy is a Python library that simplifies the process of creating web-based graphical user interfaces (GUIs) using a declarative approach. With VisagePy, you can define your GUI structure in a clear and concise way, without getting bogged down in complex layout code.

## Features

* **Declarative GUI Definition:** Define your GUI using a simple YAML or JSON structure, making it easy to read and understand.
* **Automatic Layout:** VisagePy takes care of the layout and positioning of your GUI elements, freeing you from manual adjustments.
* **Interactive Widgets:** Includes a variety of interactive widgets like buttons, text fields, dropdowns, and more.
* **Event Handling:** Easily handle user interactions and trigger actions based on events like clicks, changes, and submissions.
* **Python Integration:** Seamlessly integrate your GUI with Python code, allowing you to control and manipulate its behavior.
* **Extensible:** Create custom widgets and extend the functionality of VisagePy to meet your specific needs.

## Installation

```bash
pip install visagepy
```

## Getting Started

```python
from visagepy.api import VisagePyAPI

# Define your GUI structure (YAML example)
gui_description = """
elements:
  - type: label
    name: My Label
    attributes:
      text: Hello, VisagePy!
  - type: button
    name: My Button
"""

# Create a VisagePy API instance
api = VisagePyAPI(gui_description)

# Render the HTML
html = api.render_html()

# Print the HTML
print(html)
```

## Documentation

[Full documentation coming soon!](link-to-documentation)

## License

This project is licensed under the MIT License.
