<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://pa8mm.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://pa8mm.net/feed.php">
        <title>pa8mm.net - python</title>
        <description></description>
        <link>http://pa8mm.net/</link>
        <image rdf:resource="http://pa8mm.net/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-07-12T13:25:50+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://pa8mm.net/doku.php?id=python:asyncio&amp;rev=1765803738&amp;do=diff"/>
                <rdf:li rdf:resource="http://pa8mm.net/doku.php?id=python:datetime&amp;rev=1772808048&amp;do=diff"/>
                <rdf:li rdf:resource="http://pa8mm.net/doku.php?id=python:uv&amp;rev=1776423450&amp;do=diff"/>
                <rdf:li rdf:resource="http://pa8mm.net/doku.php?id=python:workout&amp;rev=1774351911&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://pa8mm.net/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>pa8mm.net</title>
        <link>http://pa8mm.net/</link>
        <url>http://pa8mm.net/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="http://pa8mm.net/doku.php?id=python:asyncio&amp;rev=1765803738&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-15T13:02:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>asyncio</title>
        <link>http://pa8mm.net/doku.php?id=python:asyncio&amp;rev=1765803738&amp;do=diff</link>
        <description>ASYNCIO

Asyncio uses cooperative multitasking to achieve concurrency. When our application reaches a point where it could wait a while for a result to come back, we explicitly mark this in code.

async - let us to define a coroutine.

await - let us pause our coroutine when we have a long-running operation. Blocking operation.</description>
    </item>
    <item rdf:about="http://pa8mm.net/doku.php?id=python:datetime&amp;rev=1772808048&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-06T14:40:48+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>datetime</title>
        <link>http://pa8mm.net/doku.php?id=python:datetime&amp;rev=1772808048&amp;do=diff</link>
        <description>DATETIME

TIME DELTA


from datetime import datetime, timedelta

delta = timedelta(weeks=1, days=4, hours=1, minutes=48)
now = datetime.now()
difference = now - delta</description>
    </item>
    <item rdf:about="http://pa8mm.net/doku.php?id=python:uv&amp;rev=1776423450&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-17T10:57:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>uv</title>
        <link>http://pa8mm.net/doku.php?id=python:uv&amp;rev=1776423450&amp;do=diff</link>
        <description>UV

Setting up new project:


mkdir eos-automation
uv init --package
uv venv

uv add scrapli pydantic     # Add dependencies
uv add --dev ruff pytest    # Add dev dependencies


WORKSPACE

A workspace is a collection of one or more packages, called workspace members, that are managed together.</description>
    </item>
    <item rdf:about="http://pa8mm.net/doku.php?id=python:workout&amp;rev=1774351911&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-24T11:31:51+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>workout</title>
        <link>http://pa8mm.net/doku.php?id=python:workout&amp;rev=1774351911&amp;do=diff</link>
        <description>NOTES FROM PYTHON WORKOUT BOOK

SPLAT OPERATOR

Splat operator (aka *) allows a function to receive any number or arguments.


def mysum(*numbers):
    print(type(numbers))  # tuple
    
mysum(1,2,3,4,5)     # passing arbitrary number of arguments
mysum(*[2,3,4,5,6])  # unpacking an iterable</description>
    </item>
</rdf:RDF>
