You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+47-14Lines changed: 47 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ All information displayed has been authorized to been shown.
11
11
Documentation for the project can be found be appended /docs to the url
12
12
All HTML requests that are sent in the project can be seen by appending /swag
13
13
14
-
This project uses Python, [FastAPI](https://fastapi.tiangolo.com/), HTML/CSS, and Javascript.
14
+
This project uses Python, [FastAPI](https://fastapi.tiangolo.com/), [UV](https://docs.astral.sh/uv/), HTML/CSS, and Javascript.
15
15
See it live [here](https://jumpstart.csh.rit.edu)!
16
16
17
17
## Installing
@@ -43,26 +43,59 @@ Jumpstart also has support for Docker Compose, a extended version of docker that
43
43
44
44
(This is a really cool thing! If you use docker often, check it out!)
45
45
```
46
-
docker compose up
46
+
docker compose up --build
47
47
```
48
48
49
-
## Development
49
+
## Local Development
50
50
51
-
### Setup
52
-
1. Install uv on your system if not already on it (this just makes it easy)
53
-
2. Run: `uv venv .venv`
54
-
3. Activate the virtual environment
51
+
### NOTE: MAKE SURE TO USE `uv add` IN THIS PROJECT TO KEEP `pyproject.toml` and `uv.lock` UPDATED!
52
+
## UV Setup
53
+
54
+
Install UV on your system if not already on it. If you already have it installed, you can skip down to the Project Setup page
55
+
56
+
UV is a blazingly fast python package manager written in Rust. The Jumpstart project uses UV for speed and simplicity. Run the linked install command for your operating system
__uv sync__: UV sync serves to replace pip install -r requirements.txt. This command syncs your virtual environment to match the `pyproject.toml` file. By default, it will only copy the default dependencies for the project (found in dependencies)
71
+
72
+
__uv sync --group $GROUP__: UV sync with the added group flag will ALSO install all dependencies found in that group ALONG with the default dependencies.
73
+
74
+
__uv sync --frozen__: When reading the UV Sync, it reads ONLY the `uv.lock` file, and does not attempt to make any modifications, and failing instead. This is incredibly useful for reproducibility, which is why its used in the docker file.
75
+
76
+
__uv sync --all-groups__: UV sync, along with installing dependencies of every group
77
+
78
+
__uv add $PACKAGE__: UV serves to replace pip install $PACKAGE. It installs the most recent version of the inserted package, and adds it to the projects default dependencies
79
+
80
+
__uv add --group $GROUP $PACKAGE__: Same as UV add, but adds the package to the group instead of the default project dependencies.
81
+
82
+
## UV Groups Used in this Project
83
+
__dev__: Dependencys needed for testing locally
84
+
85
+
__docs__: Dependencys used for creating the statically generated website on /docs
86
+
87
+
__tests__: Dependencys used for running the unit tests.
0 commit comments