Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    What’s The Average Lifespan Of A Jet Engine?

    As an NBN expert, I can’t believe how affordable Kogan Internet’s NBN 500 plan is — and it’s just scored another price drop

    Xiaomi’s Watch 5 has just launched globally, and it could be an affordable Google Pixel Watch 4 rival

    Facebook X (Twitter) Instagram
    • Artificial Intelligence
    • Business Technology
    • Cryptocurrency
    • Gadgets
    • Gaming
    • Health
    • Software and Apps
    • Technology
    Facebook X (Twitter) Instagram Pinterest Vimeo
    Tech AI Verse
    • Home
    • Artificial Intelligence

      What the polls say about how Americans are using AI

      February 27, 2026

      Tensions between the Pentagon and AI giant Anthropic reach a boiling point

      February 21, 2026

      Read the extended transcript: President Donald Trump interviewed by ‘NBC Nightly News’ anchor Tom Llamas

      February 6, 2026

      Stocks and bitcoin sink as investors dump software company shares

      February 4, 2026

      AI, crypto and Trump super PACs stash millions to spend on the midterms

      February 2, 2026
    • Business

      These ultra-budget laptops “include” 1.2TB storage, but most of it is OneDrive trial space

      March 1, 2026

      FCC approves the merger of cable giants Cox and Charter

      February 28, 2026

      Finding value with AI and Industry 5.0 transformation

      February 28, 2026

      How Smarsh built an AI front door for regulated industries — and drove 59% self-service adoption

      February 24, 2026

      Where MENA CIOs draw the line on AI sovereignty

      February 24, 2026
    • Crypto

      Bitcoin Bear Market Could Get Worse Despite the Latest Relief Rally

      March 1, 2026

      Crypto Scammers Have Been Quiet in February, Hacks Fall by 90%

      March 1, 2026

      Vitalik Buterin Signals Major Ethereum Wallet Overhaul

      March 1, 2026

      Why is Hyperliquid Price Rallying Amid the US-Iran War

      March 1, 2026

      Arbitrum Price Under Pressure: 60 Million ARB Whale Sale Sparks ATL Fear

      March 1, 2026
    • Technology

      What’s The Average Lifespan Of A Jet Engine?

      March 3, 2026

      As an NBN expert, I can’t believe how affordable Kogan Internet’s NBN 500 plan is — and it’s just scored another price drop

      March 3, 2026

      Xiaomi’s Watch 5 has just launched globally, and it could be an affordable Google Pixel Watch 4 rival

      March 3, 2026

      Amazon Sells Surprisingly Cheap Socket Sets, But Are They Any Good?

      March 3, 2026

      What is the release date for The Pitt season 2 episode 9 on HBO Max?

      March 3, 2026
    • Others
      • Gadgets
      • Gaming
      • Health
      • Software and Apps
    Check BMI
    Tech AI Verse
    You are at:Home»Technology»Fun with uv and PEP 723
    Technology

    Fun with uv and PEP 723

    TechAiVerseBy TechAiVerseJune 24, 2025No Comments2 Mins Read2 Views
    Facebook Twitter Pinterest Telegram LinkedIn Tumblr Email Reddit
    Fun with uv and PEP 723
    Share
    Facebook Twitter LinkedIn Pinterest WhatsApp Email

    Fun with uv and PEP 723

    Fun with uv and PEP 723 June 24, 2025

    For the longest time, I have been frustrated with Python because I couldn’t use it for one-off scripts. I had to first ensure it was running in an environment where it could find the right Python version and the dependencies installed. That is now a thing of the past.

    If you are not a Pythonista (or one possibly living under a rock), uv is an extremely fast Python package and project manager, written in Rust.

    uv also provides this nifty tool called uvx (kinda like npx from the Node/NPM ecosystem for Javascript/Typescript packages) which can be used to invoke a Python tool inside a package. uvx takes care of creating a (cached) disposable virtual environment, setting up the right Python version and installing all the dependencies before running.

    For example

    $ uvx ruff --version
    Installed 1 package in 5ms
    ruff 0.12.0

    PEP 723 is a Python Enhancement Proposal that specifies a metadata format that can be embedded in single-file Python scripts to assist launchers, IDEs and other external tools which may need to interact with such scripts.

    Here is the example directly lifted from the proposal:

    # /// script
    # requires-python = ">=3.11"
    # dependencies = [
    #   "requests<3",
    #   "rich",
    # ]
    # ///
    
    import requests
    from rich.pretty import pprint
    
    resp = requests.get("https://peps.python.org/api/peps.json")
    data = resp.json()
    pprint([(k, v["title"]) for k, v in data.items()][:10])

    Combining uv and the PEP-723 metadata inside a Python script, we can run the script in the previous section as follows:

    $ uv run pep.py
    Installed 9 packages in 24ms
    [
    │   ('1', 'PEP Purpose and Guidelines'),
    │   ('2', 'Procedure for Adding New Modules'),
    │   ('3', 'Guidelines for Handling Bug Reports'),
    │   ('4', 'Deprecation of Standard Modules'),
    │   ('5', 'Guidelines for Language Evolution'),
    │   ('6', 'Bug Fix Releases'),
    │   ('7', 'Style Guide for C Code'),
    │   ('8', 'Style Guide for Python Code'),
    │   ('9', 'Sample Plaintext PEP Template'),
    │   ('10', 'Voting Guidelines')
    ]

    We can combine things we covered in the previous sections to create a simple executable script that can extract YouTube transcripts.

    First we create a Python script with a shebang and inline metadata.

    #!/usr/bin/env -S uv run --script
    # /// script
    # requires-python = ">=3.8"
    # dependencies = [
    #     "youtube-transcript-api",
    # ]
    # ///
    
    import sys
    import re
    from youtube_transcript_api import YouTubeTranscriptApi
    from youtube_transcript_api.formatters import TextFormatter
    
    if len(sys.argv) < 2:
        print('Usage: provide YouTube URL or video_id as argument', file=sys.stderr)
        sys.exit(1)
    
    url_or_id = sys.argv[1]
    
    # Extract video ID from URL if it's a full URL
    video_id_match = re.search(r'(?:v=|/)([a-zA-Z0-9_-]{11})', url_or_id)
    if video_id_match:
        video_id = video_id_match.group(1)
    else:
        # Assume it's already a video ID
        video_id = url_or_id
    
    try:
        ytt_api = YouTubeTranscriptApi()
        transcript = ytt_api.fetch(video_id)
        formatter = TextFormatter()
        print(formatter.format_transcript(transcript))
    except Exception as e:
        print(f'Error: {e}', file=sys.stderr)
        sys.exit(1)

    Note the shebang line: #!/usr/bin/env -S uv run --script. It is important to specify uv run with the --script flag when used on the shebang line.

    We save this script as ytt and then make it executable with chmod +x ytt.

    We can now run the script like:

    $ ./ytt https://www.youtube.com/watch?v=zgSQr0d5EVg
    Installed 7 packages in 10ms
    hey it's Matt here and today I'm going
    to show you how to use UV not only to
    install packages in your python projects
    but to manage entire projects to create
    virtual environments and even how to
    manage entire versions of python with UV
    uh and hopefully you'll understand by
    any of this video UV is a dropin
    
    ……

    Fun times

    This opens up a lot of possibilities for running Python code more seamlessly. Before this I used to prefer Go for one-off scripts because it was easy to create a self-contained binary executable. But now that I could use uv, I coded up a quick MCP server in Python for extracting YouTube transcripts. Check it out on Github at cottongeeks/ytt-mcp.

    More resources

    • Running scripts | uv
    • Tools | uv
    • Using uv as an installer | aider
    Share. Facebook Twitter Pinterest LinkedIn Reddit WhatsApp Telegram Email
    Previous ArticleMy “Are you presuming most people are stupid?” test
    Next Article Bridging Cinematic Principles and Generative AI for Automated Film Generation
    TechAiVerse
    • Website

    Jonathan is a tech enthusiast and the mind behind Tech AI Verse. With a passion for artificial intelligence, consumer tech, and emerging innovations, he deliver clear, insightful content to keep readers informed. From cutting-edge gadgets to AI advancements and cryptocurrency trends, Jonathan breaks down complex topics to make technology accessible to all.

    Related Posts

    What’s The Average Lifespan Of A Jet Engine?

    March 3, 2026

    As an NBN expert, I can’t believe how affordable Kogan Internet’s NBN 500 plan is — and it’s just scored another price drop

    March 3, 2026

    Xiaomi’s Watch 5 has just launched globally, and it could be an affordable Google Pixel Watch 4 rival

    March 3, 2026
    Leave A Reply Cancel Reply

    Top Posts

    Ping, You’ve Got Whale: AI detection system alerts ships of whales in their path

    April 22, 2025702 Views

    Lumo vs. Duck AI: Which AI is Better for Your Privacy?

    July 31, 2025285 Views

    6.7 Cummins Lifter Failure: What Years Are Affected (And Possible Fixes)

    April 14, 2025164 Views

    6 Best MagSafe Phone Grips (2025), Tested and Reviewed

    April 6, 2025124 Views
    Don't Miss
    Technology March 3, 2026

    What’s The Average Lifespan Of A Jet Engine?

    What’s The Average Lifespan Of A Jet Engine? Dushlik/Getty Images The dawn of the jet…

    As an NBN expert, I can’t believe how affordable Kogan Internet’s NBN 500 plan is — and it’s just scored another price drop

    Xiaomi’s Watch 5 has just launched globally, and it could be an affordable Google Pixel Watch 4 rival

    Amazon Sells Surprisingly Cheap Socket Sets, But Are They Any Good?

    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    About Us
    About Us

    Welcome to Tech AI Verse, your go-to destination for everything technology! We bring you the latest news, trends, and insights from the ever-evolving world of tech. Our coverage spans across global technology industry updates, artificial intelligence advancements, machine learning ethics, and automation innovations. Stay connected with us as we explore the limitless possibilities of technology!

    Facebook X (Twitter) Pinterest YouTube WhatsApp
    Our Picks

    What’s The Average Lifespan Of A Jet Engine?

    March 3, 20262 Views

    As an NBN expert, I can’t believe how affordable Kogan Internet’s NBN 500 plan is — and it’s just scored another price drop

    March 3, 20262 Views

    Xiaomi’s Watch 5 has just launched globally, and it could be an affordable Google Pixel Watch 4 rival

    March 3, 20262 Views
    Most Popular

    7 Best Kids Bikes (2025): Mountain, Balance, Pedal, Coaster

    March 13, 20250 Views

    VTOMAN FlashSpeed 1500: Plenty Of Power For All Your Gear

    March 13, 20250 Views

    Best TV Antenna of 2025

    March 13, 20250 Views
    © 2026 TechAiVerse. Designed by Divya Tech.
    • Home
    • About Us
    • Contact Us
    • Privacy Policy
    • Terms & Conditions

    Type above and press Enter to search. Press Esc to cancel.