Skip to main content

Run any Python script with automatic environment setup, fast package resolution via uv, and reproducible lockfile generation

Project description

Python Package PyPI PyPI Downloadst

smartrun

Run any Python script in a clean, disposable virtual environment — automatically.

smartrun 🚀

Run Python and Jupyter files with zero setup, zero pollution. Just run it. smartrun scans your script or notebook, detects the required third-party packages, creates (or reuses) an isolated environment, installs what’s missing — and runs your code. ✅ No more ModuleNotFoundError
✅ No more cluttered global site-packages
✅ Just clean, reproducible execution — every time

Features

  • 🧪 Supports both .py and .ipynb files
  • 🔍 Automatically detects and resolves imports
  • 🛠️ Uses venv or fast uv environments (if available)
  • 📦 Installs only what's needed, only when needed
  • 💡 Reuses environments smartly to save time

Installation

🔹 Basic usage

pip install smartrun

This includes support for:

  • Running standard Python scripts
  • Automatic environment setup
  • Fast dependency resolution with uv
  • Reproducible installs via pip-tools 🔹 With Jupyter notebook support If you want to run .ipynb notebook files using smartrun, install the optional jupyter dependencies:
pip install "smartrun[jupyter]"

🔹 Development install (optional) For contributors and development work, install with:

pip install "smartrun[dev,jupyter]"

Requires Python 3.10+


Usage

smartrun your_script.py

Notebook

smartrun your_notebook.ipynb

Example file that we want to run

#some_file.py
import numpy as np
import pandas as pd
from rich import print 
df = pd.DataFrame(np.random.randn(5, 3), columns=list("ABC"))
print("Data:")
print(df, end="\n\n")
print("Column means:")
print(df.mean())

Create an environment

✅ Create an environment : Windows / macOS / Linux

smartrun env .venv

✅ Activate the environment: Windows

 .venv\Scripts\activate
🐧 macOS/Linux ✅ Activate the environment: macOS/Linux ```bash source .venv/bin/activate ```
🪟 Windows ✅ Activate the environment: Windows ```bash .venv\Scripts\activate ```
Tip: smartrun will automatically create and manage a virtual environment if none is activated — but you're always free to bring your own. ✅ Run the script: Windows / macOS / Linux ```bash smartrun some_file.py ``` ✅ Run the jupyter file: Windows / macOS / Linux ```bash smartrun some_file.ipynb ``` ### Data Science Examples
🌸 Iris dataset analysis ```python # iris.py import seaborn as sns import pandas as pd import matplotlib.pyplot as plt # Load data df = sns.load_dataset('iris') # Show first few rows and summary print(df.head(), end="\n\n") print(df.describe(), end="\n\n") # Plot pairwise relationships sns.pairplot(df, hue='species') plt.savefig('iris_pairplot.png') ``` ```bash smartrun iris.py ```
🐼 Titanic Dataset demo ```python # titanic.ipynb import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # Load dataset from GitHub url = 'https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv' df = pd.read_csv(url) # Basic stats print(df[['Survived', 'Pclass', 'Sex']].groupby(['Pclass', 'Sex']).mean()) # Plot survival by class sns.countplot(data=df, x='Pclass', hue='Survived') plt.title('Survival Count by Passenger Class') plt.savefig('titanic_survival_by_class.png') print("Saved plot → titanic_survival_by_class.png") ``` ```bash smartrun titanic.ipynb ```
If the dependencies aren’t installed yet, `smartrun` will fetch them automatically. ## Why smartrun? Because setup should never block you from running great code. Whether you're experimenting, prototyping, or sharing — smartrun ensures your script runs smoothly, without dependency drama. ## Contributing Contributions are welcome! 🧑‍💻 If you’ve got ideas, bug fixes, or improvements — feel free to open an issue or a pull request. Let’s make smartrun even smarter together. ## License BSD 3‑Clause — see `LICENSE` for details. ---

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smartrun-0.2.36.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smartrun-0.2.36-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file smartrun-0.2.36.tar.gz.

File metadata

  • Download URL: smartrun-0.2.36.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.1

File hashes

Hashes for smartrun-0.2.36.tar.gz
Algorithm Hash digest
SHA256 06fc6c9abfd405b3b560a14df19e494b74a9517a13edb208b8c1022e2387298e
MD5 a4580e7049f1a2890d02191ab68858c4
BLAKE2b-256 3fbb3d72642fb1767e16c7517c1db958cb8e831de83f7ae0525b9957cfe1492a

See more details on using hashes here.

File details

Details for the file smartrun-0.2.36-py3-none-any.whl.

File metadata

  • Download URL: smartrun-0.2.36-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.1

File hashes

Hashes for smartrun-0.2.36-py3-none-any.whl
Algorithm Hash digest
SHA256 526cc4fc29b360e3ac2ae48bf26c5f8628c28a3d7c3a7f14bc7ad1034d77b089
MD5 1d58aa7272a37a2af70e794aafab50a8
BLAKE2b-256 108c6029f2c0074bf477ac22445993cf562bb26eedd0d46edc83119ed1f88d0d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page