AnswerDotAI / AnswerDotAI/nbdev

nbdev with fasthtml

Đang mở
#1,502 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.