AnswerDotAI / AnswerDotAI/nbdev
nbdev with fasthtml
- Ngôn ngữ chính
- Jupyter Notebook
- Star
- 5.3k
- Fork
- 513
- Merge trung bình
- 2 ngày 30 phút
- Pull request đã merge (30 ngày)
- 8
Mô tả
Should there be a way to use nbdev to develop a package that uses fasthtml?
I'm trying to port the fasthtml 3d-component example to run in nbdev to understand the framework but getting stuck on paths and importers
This is related to my bigger issue which is I can't figure out how to reference static files so that they resolve in Jupyter, exported python package and docs.
I can resolve Jupyter and exported python package, using the following to use .parent in the exported python file and .cwd in Jupyter but can't find any docs on how to rewrite file_path to support nbdev_docs (which crashes not being able to resolve this file).
```
try:
file_path = Path(__file__).parent/f"../nbs/static/data/csv/Mandarin vocab lists - hsk{config['hsk_level']}.csv"
except NameError:
file_path = Path.cwd()/f"static/data/csv/Mandarin vocab lists - hsk{config['hsk_level']}.csv"
vocab = pd.read_csv(file_path)
```
I'm suspecting that nbdev & fasthtml (or any ASGI service) aren't compatible because I can happily run exported files in my editable package
```
python -m hao.flashcards
```
but the ported 3d-components one (renamed https://github.com/AnswerDotAI/fasthtml-example/blob/main/3d-component/main.py to component.py) will start and then complain about the module as below
```
$ uv run python -m hao.component
Link: http://localhost:5001
INFO: Will watch for changes in these directories: ['/home/XXX/src/hao']
INFO: Uvicorn running on http://0.0.0.0:5001 (Press CTRL+C to quit)
INFO: Started reloader process [10395] using WatchFiles
ERROR: Error loading ASGI app. Could not import module "component".
```
Any advice?
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện hành vi được báo cáo với component.py và lệnh `uv run python -m hao.component`, sau đó so sánh việc phân giải đường dẫn trong Jupyter, package đã export và nbdev_docs. Xem xét ví dụ static-file và hành vi import của nbdev_docs; công việc được xem là hoàn tất khi workflow fasthtml được hỗ trợ và các quy tắc đường dẫn static-file được ghi lại, hoặc khi khoảng trống tương thích được xác định rõ ràng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- jupyter, jupyter-notebook, python
- Lĩnh vực
- developer-experience, documentation
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 30/100