✉️ Saņem šito visu e-pastā. Tā vietā, lai palaistu garām kaut ko no tā, ko es rakstu savā blogā, tagad vari pierakstīties un saņemt e-pastā visu, ko es te rakstu. Tas nav bieži.

← Uz sākumu

Python un uv

26. februārī, 2 komentāri

Šis ieraksts ir tehnisks. Tas var būt par datoriem, programmēšanu, lodēšanu un tamlīdzīgām ne pārāk populārām lietām. Ja tevi šāds saturs neinteresē, droši vari to nelasīt.

Laiku pa laikam sanāk atgriezties pie Python. Ne tā, ka ikdienā, bet pāris reizes gadā. Iepriekšējā iterācijā es piespiedu sevi apgūt venv. Pamatā tāpēc, ka vajadzēja reproducējamas piegādes uz vietām, kur ir ļoti dažādas pitona versijas.

Šī gada pitona jaunums man ir modernais un spīdīgais tā pakotņu pārvaldības rīks uv. Jā, kad par to pirmo reizi izdzirdēju, bija tieši tas viedoklis - kārtējais rastistu jociņš ar better because written in Rust. Pie kam, nosaukums, kā jau tanī pasaulē pieņemts, ir absolūti nesameklējams. Pagājušogad, kad garām skrienot uzmetu aci anonsam, loģiski izsecināju, ka tas noteikti ilgi nedzīvos. Labi, ka tā nenotika.

Pat, ja dari pitonu reti, iesaku uzmest aci. Patīkami, implementē visus, šķiet, nepieciešamos PEP un iespēju klāsts ir negaidīti brangs.

Neticamā kārtā tas tiktiešām ir labākais, kas ir noticis pitona pakotņu pārvaldībā kopš pip parādīšanās. Bet ne par to šodien stāsts. Vakar uzzināju, ka tam eksistē iespēja norādīt atkarības pašā pitona skriptā. Neizskatās eleganti, bet doma skaista. Tāds implicit go mod tidy.

# /// script
# requires-python = ">=3.12"
# dependencies = [
#   "requests",
# ]
# [tool.uv]
# exclude-newer = "2023-10-16T00:00:00Z"
# ///

OK, tas izskatās pēc jauna DSL (kas patiesībā ir TOML), bet ja paskatās uz problēmu, kuru tas viss risina, šis upuris ir nieks.

Tu atbildi augstāk redzamajam komentāram. Atcelt

Gravatar CaptSolo

26. februārī, plkst. 21:35

Iespēja scriptā norādīt tā atkarības patiesībā ir standartizēta:

... bet uv, protams, ir malači, ka ir to ātri ieviesuši.

Bija interesanti paklausīties arī Talk Python podcastu par uv : https://talkpython.fm/episodes/show/476/unified-python-packaging-with-uv

Gravatar Kaspars Autors

26. februārī, plkst. 21:37

Jā, es pēc šī ieraksta publicēšanas arī atklāju, ka uv ir PEP atbilstošs.