<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://wuff.dyndns.org/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://wuff.dyndns.org/feed.php">
        <title>Wulf&#039;s Various Things - python</title>
        <description></description>
        <link>http://wuff.dyndns.org/</link>
        <image rdf:resource="http://wuff.dyndns.org/lib/exe/fetch.php?media=logo.png" />
       <dc:date>2026-04-27T20:10:10+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:codebox&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:cover-downloader&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:cpu-ram-usage&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:deezer-album-tracker&amp;rev=1713726310&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:gpt-patcher&amp;rev=1762532800&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:kodistubs&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:mjpeg-server-from-webcam&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:mp3-id3-lyrics-tag-move&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:plotly-example&amp;rev=1723133813&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:pycharm&amp;rev=1724863766&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:python-mysql-examples&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:python-upgrade&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:python-venv&amp;rev=1723133844&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:service&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:standalone-python-app&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:start&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:systray&amp;rev=1685357735&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=python:ui&amp;rev=1685357735&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://wuff.dyndns.org/lib/exe/fetch.php?media=logo.png">
        <title>Wulf's Various Things</title>
        <link>http://wuff.dyndns.org/</link>
        <url>http://wuff.dyndns.org/lib/exe/fetch.php?media=logo.png</url>
    </image>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:codebox&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python Sandbox</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:codebox&amp;rev=1685357735&amp;do=diff</link>
        <description>Python Sandbox

Python Codebox/Sandbox:

&lt;https://pythonsandbox.com/&gt;</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:cover-downloader&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Smart Automatic Cover Art Downloader</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:cover-downloader&amp;rev=1685357735&amp;do=diff</link>
        <description>Smart Automatic Cover Art Downloader

&lt;https://github.com/desbma/sacad&gt;

SACAD is a multi platform command line tool to download album covers without manual intervention, ideal for integration in scripts, audio players, etc.

Since version 1.6, SACAD also provides a new command line tool, sacad_r, to scan a music library, read metadata from audio tags, and download missing covers automatically, optionally embedding the image into audio audio files (since version 1.9).</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:cpu-ram-usage&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CPU/RAM usage</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:cpu-ram-usage&amp;rev=1685357735&amp;do=diff</link>
        <description>CPU/RAM usage

&lt;https://stackoverflow.com/questions/276052/how-to-get-current-cpu-and-ram-usage-in-python&gt;</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:deezer-album-tracker&amp;rev=1713726310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-21T19:05:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Deezer Album Tracker</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:deezer-album-tracker&amp;rev=1713726310&amp;do=diff</link>
        <description>Deezer Album Tracker

This script uses the deezer public api to provide a list of albums released the past half year of artists in the configuration file. Configuration file will be created if it doesn&#039;t exist. Adding/removing artists can be done using command line options. The output can be emailed for easy use from cron with customisable subject line.</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:gpt-patcher&amp;rev=1762532800&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-07T16:26:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GPT Patcher</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:gpt-patcher&amp;rev=1762532800&amp;do=diff</link>
        <description>GPT Patcher

ChatGPT can provide a unified patch as output for code related changes (project instructions or prompt example &#039;return diffs of the changes proposed for ease of applying them.&#039;). These unified patches are in a format not understood by git or the patch command. They do not contain specific line numbers but context surrounding the changes. To avoid issues with GPT hallucinations, strict checks need to be performed.</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:kodistubs&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Kodistubs</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:kodistubs&amp;rev=1685357735&amp;do=diff</link>
        <description>Kodistubs

The main purpose of Kodistubs is to help to write Kodi addon code in various IDEs by providing code completion, quick access to Kodi Python API docstrings, and code inspection (linting) in IDEs that provide this feature.

&lt;https://romanvm.github.io/Kodistubs/using.html&gt;

#Kodi 18 release stubs:</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:mjpeg-server-from-webcam&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>mjpeg stream server from webcam</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:mjpeg-server-from-webcam&amp;rev=1685357735&amp;do=diff</link>
        <description>mjpeg stream server from webcam

&lt;https://gist.github.com/n3wtron/4624820&gt;

Requires:


pip3 install opencv-python pillow


Usage:


Define camera in line 72 cv2.VideoCapture(2) refers to /dev/video2
Define resolution in lines 73/74
Define port in line 88

Browser with embedded live feed: http://ip:1339/index.html
Direct live feed: http://ip:1339/cam.mjpg
Snapshot image: http://ip:1339/still.jpg</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:mp3-id3-lyrics-tag-move&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>MP3 ID3 Lyrics tag move</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:mp3-id3-lyrics-tag-move&amp;rev=1685357735&amp;do=diff</link>
        <description>MP3 ID3 Lyrics tag move

Move LYRICS text tag to USLT (Unsynchronised Lyrics Tag) tag of MP3 files recursively in current directory or any given target directory. The script retains the modification time of files.

Requires mutagen python3 module. 


#!/usr/bin/python3

import os, sys
import re
from pathlib import Path
import subprocess
from mutagen.id3 import ID3, USLT
import argparse

parser = argparse.ArgumentParser(description=&#039;Convert LYRICS tag to USLT tag of mp3 files.&#039;)
parser.add_argume…</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:plotly-example&amp;rev=1723133813&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-08-08T16:16:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Plotly example</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:plotly-example&amp;rev=1723133813&amp;do=diff</link>
        <description>Plotly example

The following sets up a python virtual environment, installs some modules and uses plotly with yfanance to create a website with a graph.


sudo apt install python3-venv
python -m venv test
cd test/bin/  
source activate  

#note to leave venv type in &#039;deactivate&#039;

pip install yfinance pandas plotly


cat &gt; test2.py &lt;&lt;&quot;EOF&quot;
import yfinance as yf
import pandas as pd
import plotly.graph_objects as go
from datetime import datetime, timedelta

# Define the start and end dates for the…</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:pycharm&amp;rev=1724863766&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-08-28T16:49:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>PyCharm IDE</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:pycharm&amp;rev=1724863766&amp;do=diff</link>
        <description>PyCharm IDE

PyCharm Linux Community edition:
&lt;https://www.jetbrains.com/pycharm/download/other.html&gt;
&lt;https://download.jetbrains.com/python/pycharm-community-2023.3.3.tar.gz&gt;


wget https://download.jetbrains.com/python/pycharm-community-2023.3.3.tar.gz
tar -xvzf pycharm-community-2023.3.3.tar.gz
sudo mv pycharm-community-2023.3.3 /opt/pycharm
/opt/pycharm/bin/pycharm


Add to menu and cinnamon panel launcher</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:python-mysql-examples&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python MySQL Examples</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:python-mysql-examples&amp;rev=1685357735&amp;do=diff</link>
        <description>Python MySQL Examples

&lt;https://pynative.com/python-mysql-select-query-to-fetch-data/&gt;</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:python-upgrade&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python upgrade</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:python-upgrade&amp;rev=1685357735&amp;do=diff</link>
        <description>Python upgrade

Upgrading python froom 3.8 to 3.9 on mint 20:


sudo apt-get install python3.9
pip3 freeze --path /home/wuff/.local/lib/python3.8/site-packages/ &gt; python3.8_requirements.txt 
pip3 install -r python3.8_requirements.txt
sudo pip install --upgrade $(pip list --outdated --format freeze | cut --fields=1 --delimiter=&quot;=&quot;)</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:python-venv&amp;rev=1723133844&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-08-08T16:17:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python venv</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:python-venv&amp;rev=1723133844&amp;do=diff</link>
        <description>Python venv

To start a virtual python environment for testing, development and installation of packages/modules with pip separate from the os or user level, follow these instructions:

Main installation of venv if not already installed:


sudo apt install python3-venv</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:service&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Py Win service</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:service&amp;rev=1685357735&amp;do=diff</link>
        <description>Py Win service

&lt;https://stackoverflow.com/questions/32404/how-do-you-run-a-python-script-as-a-service-in-windows&gt;

&lt;http://code.activestate.com/recipes/551780/&gt;

&lt;http://docs.activestate.com/activepython/2.4/pywin32/win32service.html&gt;</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:standalone-python-app&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Standalone Python app</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:standalone-python-app&amp;rev=1685357735&amp;do=diff</link>
        <description>Standalone Python app

PyInstaller bundles a Python application and all its dependencies into a single package. The user can run the packaged app without installing a Python interpreter or any modules. PyInstaller supports Python 2.7 and Python 3.5+, and correctly bundles the major Python packages such as numpy, PyQt, Django, wxPython, and others.</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:start&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:start&amp;rev=1685357735&amp;do=diff</link>
        <description>Python

Python Requests timeout/retries/hooks:
&lt;https://findwork.dev/blog/advanced-usage-python-requests-timeouts-retries-hooks/#combining-timeouts-and-retries&gt;</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:systray&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Py Systray</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:systray&amp;rev=1685357735&amp;do=diff</link>
        <description>Py Systray

&lt;https://stackoverflow.com/questions/47095129/pystray-systray-icon&gt;

&lt;https://stackoverflow.com/questions/9494739/how-to-build-a-systemtray-app-for-windows&gt;

&lt;https://pystray.readthedocs.io/en/latest/index.html&gt;

&lt;https://github.com/moses-palmer/pystray&gt;

&lt;https://github.com/PySimpleGUI/PySimpleGUI/tree/master/PySimpleGUIWx&gt;
&lt;https://www.reddit.com/r/Python/comments/a9t466/system_tray_icon_get_status_launch_programs_popup/&gt;

Example:


pip install pystray pillow



#!/usr/bin/python
…</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=python:ui&amp;rev=1685357735&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Py UI</title>
        <link>http://wuff.dyndns.org/doku.php?id=python:ui&amp;rev=1685357735&amp;do=diff</link>
        <description>Py UI

&lt;https://towardsdatascience.com/learn-how-to-quickly-create-uis-in-python-a97ae1394d5&gt;</description>
    </item>
</rdf:RDF>
