Name | weba JSON |
Version |
0.2.27
JSON |
| download |
home_page | None |
Summary | html framework |
upload_time | 2025-01-13 03:06:40 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <=3.13,>=3.11 |
license | None |
keywords |
weba
htmx
python
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# weba
[](https://img.shields.io/github/v/release/cj/weba)
[](https://github.com/cj/weba/actions/workflows/main.yml?query=branch%3Amain)
[](https://codecov.io/gh/cj/weba)
[](https://img.shields.io/github/commit-activity/m/cj/weba)
[](https://img.shields.io/github/license/cj/weba)
Weba is a Python library for building web user interfaces using a declarative,
component-based approach. It provides a clean API for creating HTML elements and
components with proper context management and type safety. The library extends
BeautifulSoup's functionality by adding a custom Tag class that supports modern web
development patterns, including HTMX integration, class list manipulation, and
comment-based selectors. It allows developers to create reusable UI components with
proper isolation, supports both synchronous and asynchronous contexts, and handles
attribute management (including JSON serialization) elegantly. The library emphasizes
type safety and follows clean code practices, making it particularly suitable for
building modern web applications in Python with a focus on maintainability and developer
experience.
## Configuration
The library supports the following environment variables for configuration:
- `WEBA_LRU_CACHE_SIZE`: Controls caching of parsed HTML templates and file contents:
- When set: Enables LRU caching with the specified maximum size
- When not set: Disables caching, templates and files are re-read on every access
Example:
```bash
export WEBA_LRU_CACHE_SIZE=256 # Enable caching with max 256 entries
unset WEBA_LRU_CACHE_SIZE # Disable caching completely
```
- **Github repository**: <https://github.com/cj/weba/>
- **Documentation** <https://weba.cj.io/>
Raw data
{
"_id": null,
"home_page": null,
"name": "weba",
"maintainer": null,
"docs_url": null,
"requires_python": "<=3.13,>=3.11",
"maintainer_email": null,
"keywords": "weba, htmx, python",
"author": null,
"author_email": "CJ Lazell <cjlazell@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/b8/45/3aad2e9f6f016ca36a0d89d7dd6c89dfc22bd61c6d81d8f3c00c07397d9c/weba-0.2.27.tar.gz",
"platform": null,
"description": "# weba\n\n[](https://img.shields.io/github/v/release/cj/weba)\n[](https://github.com/cj/weba/actions/workflows/main.yml?query=branch%3Amain)\n[](https://codecov.io/gh/cj/weba)\n[](https://img.shields.io/github/commit-activity/m/cj/weba)\n[](https://img.shields.io/github/license/cj/weba)\n\nWeba is a Python library for building web user interfaces using a declarative,\ncomponent-based approach. It provides a clean API for creating HTML elements and\ncomponents with proper context management and type safety. The library extends\nBeautifulSoup's functionality by adding a custom Tag class that supports modern web\ndevelopment patterns, including HTMX integration, class list manipulation, and\ncomment-based selectors. It allows developers to create reusable UI components with\nproper isolation, supports both synchronous and asynchronous contexts, and handles\nattribute management (including JSON serialization) elegantly. The library emphasizes\ntype safety and follows clean code practices, making it particularly suitable for\nbuilding modern web applications in Python with a focus on maintainability and developer\nexperience.\n\n## Configuration\n\nThe library supports the following environment variables for configuration:\n\n- `WEBA_LRU_CACHE_SIZE`: Controls caching of parsed HTML templates and file contents:\n - When set: Enables LRU caching with the specified maximum size\n - When not set: Disables caching, templates and files are re-read on every access\n\nExample:\n\n```bash\nexport WEBA_LRU_CACHE_SIZE=256 # Enable caching with max 256 entries\nunset WEBA_LRU_CACHE_SIZE # Disable caching completely\n```\n\n- **Github repository**: <https://github.com/cj/weba/>\n- **Documentation** <https://weba.cj.io/>\n",
"bugtrack_url": null,
"license": null,
"summary": "html framework",
"version": "0.2.27",
"project_urls": {
"Documentation": "https://cj.github.io/weba/",
"Homepage": "https://cj.github.io/weba/",
"Repository": "https://github.com/cj/weba"
},
"split_keywords": [
"weba",
" htmx",
" python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5daaa975e7b7728cc72c586985b7dff50af7c25068b0ba05f2a259e108190231",
"md5": "45d8b1fe48dcb561c26766a5df1b90f9",
"sha256": "5b9e39f02fb832771a3c5c93c7b71fd3f9fecb9b60fdb1b386798c0dc9cfeaeb"
},
"downloads": -1,
"filename": "weba-0.2.27-py3-none-any.whl",
"has_sig": false,
"md5_digest": "45d8b1fe48dcb561c26766a5df1b90f9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<=3.13,>=3.11",
"size": 17765,
"upload_time": "2025-01-13T03:06:37",
"upload_time_iso_8601": "2025-01-13T03:06:37.842238Z",
"url": "https://files.pythonhosted.org/packages/5d/aa/a975e7b7728cc72c586985b7dff50af7c25068b0ba05f2a259e108190231/weba-0.2.27-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b8453aad2e9f6f016ca36a0d89d7dd6c89dfc22bd61c6d81d8f3c00c07397d9c",
"md5": "081e9da8254287ee8dfa48f68e85279a",
"sha256": "b9b102cd6b543675da1548c6a4ca271519905fe7badda238300eaa6902e89957"
},
"downloads": -1,
"filename": "weba-0.2.27.tar.gz",
"has_sig": false,
"md5_digest": "081e9da8254287ee8dfa48f68e85279a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<=3.13,>=3.11",
"size": 30039,
"upload_time": "2025-01-13T03:06:40",
"upload_time_iso_8601": "2025-01-13T03:06:40.423851Z",
"url": "https://files.pythonhosted.org/packages/b8/45/3aad2e9f6f016ca36a0d89d7dd6c89dfc22bd61c6d81d8f3c00c07397d9c/weba-0.2.27.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-13 03:06:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "cj",
"github_project": "weba",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "weba"
}