@@ -1094,7 +1094,12 @@ def _warn_on_ignored_requirements(directory: str, requirements_file_name: str):
10941094 "-r" ,
10951095 type = click .Path (dir_okay = False ),
10961096 default = "requirements.txt" ,
1097- help = "Path to requirements file listing the project dependencies. Must be inside the notebook directory." ,
1097+ help = (
1098+ "Path to requirements file listing the project dependencies. "
1099+ "Any file compatible with requirements.txt format or uv.lock is accepted, "
1100+ "a requirements.txt.lock retrieved with 'rsconnect content get-lockfile' is also supported. "
1101+ "Must be inside the project directory."
1102+ ),
10981103)
10991104@click .option (
11001105 "--package-installer" ,
@@ -1270,7 +1275,12 @@ def deploy_notebook(
12701275 "-r" ,
12711276 type = click .Path (dir_okay = False ),
12721277 default = "requirements.txt" ,
1273- help = "Path to requirements file listing the project dependencies. Must be inside the notebook directory." ,
1278+ help = (
1279+ "Path to requirements file listing the project dependencies. "
1280+ "Any file compatible with requirements.txt format or uv.lock is accepted, "
1281+ "a requirements.txt.lock retrieved with 'rsconnect content get-lockfile' is also supported. "
1282+ "Must be inside the project directory."
1283+ ),
12741284)
12751285@click .option (
12761286 "--package-installer" ,
@@ -1522,7 +1532,12 @@ def deploy_manifest(
15221532 "-r" ,
15231533 type = click .Path (dir_okay = False ),
15241534 default = "requirements.txt" ,
1525- help = "Path to requirements file listing the project dependencies. Must be inside the project directory." ,
1535+ help = (
1536+ "Path to requirements file listing the project dependencies. "
1537+ "Any file compatible with requirements.txt format or uv.lock is accepted, "
1538+ "a requirements.txt.lock retrieved with 'rsconnect content get-lockfile' is also supported. "
1539+ "Must be inside the project directory."
1540+ ),
15261541)
15271542@click .option (
15281543 "--package-installer" ,
@@ -1947,7 +1962,12 @@ def generate_deploy_python(app_mode: AppMode, alias: str, min_version: str, desc
19471962 "--requirements-file" ,
19481963 "-r" ,
19491964 type = click .Path (dir_okay = False ),
1950- help = "Path to requirements file listing the project dependencies. Must be inside the deployment directory." ,
1965+ help = (
1966+ "Path to requirements file listing the project dependencies. "
1967+ "Any file compatible with requirements.txt format or uv.lock is accepted, "
1968+ "a requirements.txt.lock retrieved with 'rsconnect content get-lockfile' is also supported. "
1969+ "Must be inside the project directory."
1970+ ),
19511971 )
19521972 @click .option (
19531973 "--package-installer" ,
@@ -2163,8 +2183,10 @@ def write_manifest():
21632183 "-r" ,
21642184 type = click .Path (dir_okay = False ),
21652185 help = (
2166- "Path to requirements file to record in the manifest instead of detecting the environment. "
2167- "Must be inside the notebook directory."
2186+ "Path to requirements file listing the project dependencies. "
2187+ "Any file compatible with requirements.txt format or uv.lock is accepted, "
2188+ "a requirements.txt.lock retrieved with 'rsconnect content get-lockfile' is also supported. "
2189+ "Must be inside the project directory."
21682190 ),
21692191)
21702192@click .option (
@@ -2280,8 +2302,10 @@ def write_manifest_notebook(
22802302 "-r" ,
22812303 type = click .Path (exists = True , dir_okay = False ),
22822304 help = (
2283- "Path to requirements file to record in the manifest instead of detecting the environment. "
2284- "Must be inside the notebook directory. Use 'none' to capture via pip freeze."
2305+ "Path to requirements file listing the project dependencies. "
2306+ "Any file compatible with requirements.txt format or uv.lock is accepted, "
2307+ "a requirements.txt.lock retrieved with 'rsconnect content get-lockfile' is also supported. "
2308+ "Must be inside the project directory."
22852309 ),
22862310)
22872311@click .option (
@@ -2433,7 +2457,9 @@ def write_manifest_voila(
24332457 "-r" ,
24342458 type = click .Path (dir_okay = False ),
24352459 help = (
2436- "Path to requirements file to record in the manifest instead of detecting the environment. "
2460+ "Path to requirements file listing the project dependencies. "
2461+ "Any file compatible with requirements.txt format or uv.lock is accepted, "
2462+ "a requirements.txt.lock retrieved with 'rsconnect content get-lockfile' is also supported. "
24372463 "Must be inside the project directory."
24382464 ),
24392465)
@@ -2647,7 +2673,12 @@ def generate_write_manifest_python(app_mode: AppMode, alias: str, desc: Optional
26472673 "--requirements-file" ,
26482674 "-r" ,
26492675 type = click .Path (dir_okay = False ),
2650- help = "Path to requirements file listing the project dependencies. Must be inside the application directory." ,
2676+ help = (
2677+ "Path to requirements file listing the project dependencies. "
2678+ "Any file compatible with requirements.txt format or uv.lock is accepted, "
2679+ "a requirements.txt.lock retrieved with 'rsconnect content get-lockfile' is also supported. "
2680+ "Must be inside the project directory."
2681+ ),
26512682 )
26522683 @click .option (
26532684 "--package-installer" ,
0 commit comments