uv

$ uv self update
info: Checking for updates...

# Install a package using the pypi name
$ uv tool install DefaultCreds_cheat_sheet
Resolved 11 packages in 1.28s
      Built fire==0.7.0
Prepared 7 packages in 384ms
Installed 11 packages in 25ms
 + certifi==2025.4.26
 + charset-normalizer==3.4.2
 + defaultcreds-cheat-sheet==0.5.3.0
 + fire==0.7.0
 + idna==3.10
 + prettytable==3.16.0
 + requests==2.32.3
 + termcolor==3.1.0
 + tinydb==4.8.2
 + urllib3==2.4.0
 + wcwidth==0.2.13
Installed 1 executable: creds

# Run the tool
$ uv run creds search tomcat

# List available Python versions
$ uv python list

# Install a tool with a specific Python version
$ uv tool install --python 3.13 creds

# Uninstall the specified Python version
$ uv python uninstall 3.13
# Clone the tool's repo
$ sudo git clone https://github.com/ShutdownRepo/targetedKerberoast

# List contents
$ ls targetedKerberoast/
kerberoastables.txt  LICENSE  README.md  requirements.txt  targetedKerberoast.py

# Add the script
$ uv add --script targetedKerberoast.py -r requirements.txt
Updated `targetedKerberoast.py`

# The above step added the dependencies metadata within the main script
$ cat targetedKerberoast.py
#!/usr/bin/env python3
# /// script
# requires-python = ">=3.13"
# dependencies = [
#     "impacket",
#     "ldap3",
#     "pyasn1",
#     "pycryptodome",
#     "rich",
# ]
# ///

# Run the tool
$ uv run targetedKerberoast.py

We can edit the shebang to make it easier to run with uv:

$ head -n1 targetedKerberoast.py
#!/usr/bin/env python3

$ head -n1 targetedKerberoast.py
#!/usr/bin/env -S uv run --script

$ ./targetedKerberoast.py

$ cp targetedKerberoast.py ~/.local/bin

$ targetedKerberoast.py

Resources

Last updated

Was this helpful?