Python Script with uv
Template
#!/usr/bin/env -S uv run --quiet --script
# /// script
# requires-python = ">=3.11"
# dependencies = ["dep1", "dep2"]
# ///
"""Brief description."""
import argparse
def main():
parser = argparse.ArgumentParser(description="Description")
# args...
args = parser.parse_args()
# implementation...
if __name__ == "__main__":
main()
Rules
- Shebang:
#!/usr/bin/env -S uv run --quiet --script - PEP 723 block with
requires-pythonanddependencies - Only list external dependencies (not stdlib)
- Use
argparsefor CLI - Always use
if __name__ == "__main__": main()