Make is easy to use matplotlib in FastHTML
Project description
fh-matplotlib
Making it easier to show matplotlib charts in FastHTML.
Usage
You can install this tool by running:
python -m pip install fh-matplotlib
After this step, it is ready for use! At the moment this package merely contains a decorator. You can use it to wrap any function that generates a matplotlib chart in order for it to return an Img for FastHTML to render. In, short you would typically use it like this:
import numpy as np
import matplotlib.pylab as plt
from fh_matplotlib import matplotlib2fasthtml
# This function will return a proper Img that can be rendered
@matplotlib2fasthtml
def matplotlib_function():
plt.plot(np.arange(25), np.random.exponential(1, size=25))
Want to see a full example that you could copy and paste directly?
from fh_matplotlib import matplotlib2fasthtml
from fasthtml.common import *
import numpy as np
import matplotlib.pylab as plt
app, rt = fast_app()
count = 0
plotdata = []
@matplotlib2fasthtml
def generate_chart():
global plotdata
plt.plot(range(len(plotdata)), plotdata)
@app.get("/")
def home():
return Title("Matplotlib Demo"), Main(
H1("Matplotlib Demo"),
P("Nothing too fancy, but still kind of fancy."),
Div(f"You have pressed the button {count} times.", id="chart"),
Button("Increment", hx_get="/increment", hx_target="#chart", hx_swap="innerHTML"),
style="margin: 20px"
)
@app.get("/increment/")
def increment():
global plotdata, count
count += 1
plotdata.append(np.random.exponential(1))
return Div(
generate_chart(),
P(f"You have pressed the button {count} times."),
)
serve()
Roadmap
This repository is originally meant to be simple helper, but if there are more advanced use-cases to consider I will gladly consider them. Please start a conversation by opening up an issue before starting a PR though.
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
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 fh-matplotlib-0.0.4.tar.gz.
File metadata
- Download URL: fh-matplotlib-0.0.4.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55c47c94ae5705decf01ba71cfc3fd55b5f1af2382410d08c8fc2fc2a37b560b
|
|
| MD5 |
55575adfead03d596418a0cd3acf464a
|
|
| BLAKE2b-256 |
427e5643d69ab4a6eaa7d0ce7121f180ced64fc1cc87e2d76587b5aacfc7b0db
|
File details
Details for the file fh_matplotlib-0.0.4-py2.py3-none-any.whl.
File metadata
- Download URL: fh_matplotlib-0.0.4-py2.py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61922185ddd36b0273675bb453bece3d6d73ebf621c907083d157bf487556d11
|
|
| MD5 |
233e267bf2ff0480c72f6476446f3af7
|
|
| BLAKE2b-256 |
4c4c87034946a9b868ee0fe92c19082064eb10bcb268923efa0159dfb2a726ca
|