Sneact is a python library for building user interfaces
Project description
Sneact
Sneact is a python library for building user interfaces.
That's so draft.
Hot new features!
Conditions!
from sneact import Sneact, s, _
from sneact.cond import when, when_not, then
from sneact.html import div, p
scope = {
"ok_text": "Hello!",
"not_text": "Hello not!",
"show_text": True
}
page = (+Sneact(scope)
<<div>>_
@when(s.show_text, +then
<<p>> s.ok_text <<-p>>_
)
@when_not(s.show_text, +then
<<p>> s.not_text <<-p>>_
)
<<-div>>_
)
Result:
<div>
<p>Hello!</p>
</div>
Loops!
from sneact import Sneact, s, _
from sneact.html import div, img
from sneact.loop import for_each, do, item
scope = {
"images": ["cat.png", "dog.png", "frog.png"]
}
page = (+Sneact(scope)
<<div>>_
@for_each(s.images, +do
<<img(src=item)>>_
)
<<-div>>_
)
Result:
<div>
<img src=cat.png>
<img src=dog.png>
<img src=frog.png>
</div>
Example 1
Python code
from sneact import Sneact, s, _
from sneact.html import div, p, img
scope = {
"title": "Tiger",
"subtitle": "About tigers",
"image": '"tiger.png"',
}
home_page = (+Sneact(scope)
<<div>>_
<<p>> s.title <<-p>>_
<<p>> s.subtitle <<-p>>_
<<div>>_
<<p>> s.text <<-p>>_
<<img(src=s.image)>>_
<<-div>>_
<<-div>>_
)
scope["text"] = "Hello tigers. We love Tigers."
result = home_page.as_html()
Resulting html
<div>
<p>Tiger</p>
<p>About tigers</p>
<div>
<p>Hello tigers. We love Tigers.</p>
<img src="tiger.png">
</div>
</div>
Example 2
Python code
from sneact import Sneact, s, _
from sneact.html import p, h1, header, footer
scope = {}
page = (+Sneact(scope)
<<header>>_
**s.header
<<-header>>_
<<p>> "Lorem you know" <<-p>>_
<<footer>>_
**s.footer
<<-footer>>_
)
scope["header"] = (+Sneact(scope)
<<h1>> "Page" <<-h1>>_
)
scope["footer"] = (+Sneact(scope)
<<p>> "Copyright Kiselev Nikolay 2020" <<-p>>_
)
result = page.as_html()
Resulting html
<header>
<h1>Page</h1>
</header>
<p>Lorem you know</p>
<footer>
<p>Copyright Kiselev Nikolay 2020</p>
</footer>
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
sneact-0.1.1.tar.gz
(6.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sneact-0.1.1.tar.gz.
File metadata
- Download URL: sneact-0.1.1.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.8.5 Linux/5.8.0-7630-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
105a42055092e68074c290f1195ceb5a1ceb48e73be679ea6ca38f7492c82cc9
|
|
| MD5 |
02f4fef170404405f5b0a75b03a257b5
|
|
| BLAKE2b-256 |
df54b81d21d2f3cda8e64821f64d199c0a092214ba1f1773e3204e666d4939dd
|
File details
Details for the file sneact-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sneact-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.8.5 Linux/5.8.0-7630-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07c5c21a44e5fc88884694dacb54755dd087e984629321b88b5a31af5dc00a7c
|
|
| MD5 |
789e722337443e202325c9ba8c0a6dc2
|
|
| BLAKE2b-256 |
827c2eb83a17080a1e58d40fb657c410763086b3d21c829ac0939a7577e7469b
|