WebP conversion scriptDevelopment & Customization

A Python script that converts the JPEG and PNG pictures of your site to light WebP files in one run

Usually ready in 15 minutesRevisions includedQuality check
Packages
Payment protectionDetails
  • Revisions within the package are free.
  • If you do not respond within 3 days of delivery, the work is accepted automatically.

The money is reserved when you pay and released only once you accept the work.

A Python script that converts the JPEG and PNG pictures of your site to light WebP files in one run

Example result

Example for the Standard package

Merging the monthly sales files of 9 shops into one Excel report

How it is run

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN  shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO  Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")

Settings, not code

The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:

[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price

A part of the code

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Reads one shop's file and gives it the report's column names."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: no column for '{name}' (looked for {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.

Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.

The client and all details are made up.

About this service

WebP pictures are usually noticeably lighter than JPEG or PNG at a similar look, so pages load faster. This Python script converts the pictures in a folder, such as your site's uploads folder copied to your computer, into WebP: photos with the quality you choose, logos and graphics with transparency kept or without any loss. It keeps the folder layout and file names, skips pictures already converted and, from Standard, writes how much space each file saved. Send us the folder layout and a few sample pictures. You run the script yourself on your computer or server. It makes the files; pointing your site's pages to them (or a plugin that does it) is a separate step the README explains.

What is included

  • What you getA ZIP archive with the Python script, a README with step-by-step instructions and, from Standard, a settings file with folders and quality; the code is also shown on the order page.
  • JPEG and PNG inAlso GIF and BMP without animation
  • Transparency keptLogos and icons stay clean on any background
  • Same names and foldersphoto.jpg becomes photo.webp in the same place
  • Originals keptNothing is deleted or overwritten
  • Readable codeWith comments, easy to change quality later

How it works

  1. 1
    TaskYou describe the folders and send a few sample pictures
  2. 2
    CodeWe write the script and the guide to running it
  3. 3
    Try itYou convert a copy of the folder and compare the pictures
  4. 4
    ChangesYou ask for changes within your package and send any error message

What we need from you

Where the pictures are (a folder on your computer, or a folder on your server you can reach yourself), roughly how many there are and of what kinds: photos, logos, screenshots. Whether WebP files should sit next to the originals or in a separate folder, the quality you want or a sample picture to judge by, and what your site runs on, if it matters for the file paths. Your system: Windows, macOS or Linux.

We will ask you:

  • Where are the pictures?
  • What kinds of pictures are they?
  • Where should the WebP files go?
  • Where will it run?

Compare packages

PackagesBasicFolder to WebP$16StandardWebP with settings$33PremiumWebP tool$67
Deadline1 day2 days3 days
Revisions123
Codeup to 150 linesup to 400 linesup to 1,000 lines
Files of code1up to 3up to 8
Settings fileNoYesYes
Clear error messages and a logNoYesYes
Run options and a guide to running it on a scheduleNoNoYes
Guide to installing and running it (README)YesYesYes
LanguagePythonPythonPython
Order BasicOrder StandardOrder Premium

Payment protection

You pay when you order, but the money is released only for accepted work.

  • Fixed priceThe package price does not change after you pay.
  • The money is reservedWhen you pay, the amount is only reserved. It is released to the service once you accept the work.
  • Checked before deliveryEvery result goes through a quality check before it reaches you, and you see it on the order page before accepting it.
  • Free revisionsAsk for changes within your brief as many times as the package allows.
  • Acceptance after 3 daysIf within 3 days of delivery you neither accept the work nor ask for changes, it is accepted automatically. If you write in the order chat after delivery, the order waits; once we answer, we may start the 3 days again and will say so in the chat.
  • Redo or a full refundIf the result does not match your brief and the revisions did not fix it, or the work takes more than twice its deadline, write in the order chat: we will redo the work or refund the payment in full.
How it works →

Questions and answers

Will my site show WebP after this?

Not by itself. The script makes the files; the pages still need to point to them, or your site's platform or a plugin has to serve them. The README explains the usual ways, and Premium adds a list of old and new paths to help with it.

Can it run on my hosting?

Yes, if your hosting lets you run Python and install a library, which many plans with SSH access do. Otherwise download the folder, run it on your computer and upload the WebP files back.

Do all browsers show WebP?

All the current major browsers do. Keeping the original JPEG and PNG next to them lets very old browsers fall back to those.

Will you log in to my site and do it?

No. We never log in to your site or hosting. You run the script yourself, and the README explains every step.

Did not find your answer?

Packages