In case you haven’t heard, UV is a relatively new python package and project manager.
UV allows for you to define package dependencies and the Python version to run the python script right in the Python file itself. Then when you run the script using UV, UV handles all of the virtual environment details so you don’t have to.
What this means is you can have a script like this which creates a summary html file of a csv file:

# /// script
# requires-python = "==3.12"
# dependencies = [
# "sweetviz",
# "pandas",
# "setuptools",
# "numpy<2"
# ]
# ///
import sweetviz as sv
import pandas as pd
import sys
# Get the two file paths as command line arguments
file1_path = sys.argv[1]
# ensure the file path refers to a CSV file
if not file1_path.endswith('.csv'):
raise ValueError("The file path must refer to a CSV file.")
# Read in the CSV file as dataframes
df1 = pd.read_csv(file1_path)
# Create the summary report
report = sv.analyze(df1)
# Save the report to an HTML file and open it in the default browser
report.show_html('sv_summary_report.html')
Which can be run as follows (passing the file path of a csv file in as an argument:
uv run create_summary.py 'a_csv_file.csv'