Metadata-Version: 2.4
Name: trailhead-edu
Version: 0.4.0
Summary: A local web environment for learning and exploring Python programs
Author-email: Kris Jordan <kris@cs.unc.edu>
License-Expression: MIT
Project-URL: Homepage, https://github.com/KrisJordan/trailhead
Project-URL: Issues, https://github.com/KrisJordan/trailhead/issues
Project-URL: Repository, https://github.com/KrisJordan/trailhead.git
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cachetools<7,>=5.3
Requires-Dist: fastapi<1,>=0.108
Requires-Dist: pydantic<3,>=2.5
Requires-Dist: pytest<10,>=7.4
Requires-Dist: uvicorn<1,>=0.25
Requires-Dist: watchdog<7,>=3
Requires-Dist: websockets<17,>=12
Provides-Extra: student
Requires-Dist: ipykernel>=6.28; extra == "student"
Requires-Dist: matplotlib>=3.8; extra == "student"
Requires-Dist: numpy>=1.26; extra == "student"
Requires-Dist: pandas>=2.1; extra == "student"
Requires-Dist: pillow>=10.1; extra == "student"
Requires-Dist: seaborn>=0.13; extra == "student"
Requires-Dist: six>=1.16; extra == "student"
Requires-Dist: svgwrite>=1.4; extra == "student"
Dynamic: license-file

# Trailhead server

Trailhead is a local FastAPI server for exploring and running Python modules in
a browser. It supports Python 3.11 or newer on macOS, Windows, and Linux. The
PyPI distribution is named `trailhead-edu`; the import package and command remain
`trailhead`.

Install the command from PyPI in an isolated tool environment with:

```console
uv tool install trailhead-edu
```

For repository development, synchronize the locked environment from the
repository root:

```console
uv sync --project server --locked --extra student
```

The `student` extra supplies the optional data-science and teaching libraries;
the base installation contains only Trailhead's server runtime. Run a project
with:

```console
trailhead --root demo
```

Use `trailhead --help` for host, port, reload, and log-level options. The web
client must be built before creating a release wheel so that `static/index.html`
and `static/assets/` are included as package data.
