Python + bash
Если вам часто требуется запускать shell команды из Python-кода, какой способ вы используете?
Самый низкоуровневый это функция os.system(), либо os.popen(). Рекомендованный способ это subprocess.call(). Но это всё еще достаточно неудобно.
Советую обратить своё внимание на очень крутую библиотеку sh.
Что она умеет?
🔸 удобный синтаксис вызова команд как функций
# os
import os
os.system("tar cvf demo.tar ~/")
# subprocess
import subprocess
subprocess.call(['tar', 'cvf', 'demo.tar', '~/'])
# sh
import sh
sh.tar('cvf', 'demo.tar', "~/")
🔸 простое создание функции-алиаса для длинной команды
fn = sh.lsof.bake('-i', '-P', '-n')
output = sh.grep(fn(), 'LISTEN')
в этом примере также задействован пайпинг
🔸 удобный вызов команд от sudo
with sh.contrib.sudo:
print(ls("/root"))
Такой запрос спросит пароль. Чтобы это работало нужно соответствующим способом настроить юзера.
А вот вариант с вводом пароля через код.
password = "secret"
sudo = sh.sudo.bake("-S", _in=password+"\n")
print(sudo.ls("/root"))
Это не все фишки. Больше интересных примеров смотрите в документации.
Специально для Windows💀 юзеров
#libs#linux
#rust#caldav#carddav#imap#jmap#mail#pop3#rust#server#smtp#webdav
Stalwart is a secure, fast, and scalable open-source mail and collaboration server supporting all major email protocols (IMAP, SMTP, JMAP, POP3) plus calendar, contacts, and file sharing. It offers strong built-in spam and phishing protection, advanced message authentication (DMARC, DKIM, SPF), and flexible storage options. Designed for high availability and fault tolerance, it can scale from small setups to thousands of nodes without complex proxies. Its web-based admin interface and automation tools simplify management. Using Stalwart helps you control your email securely, improve collaboration, and reduce reliance on big tech, making your communication more private and reliable.
https://github.com/stalwartlabs/stalwart
#go#dovecot#email#email_marketing#mail#mailserver#newsletter#newsletters#postfix#rspamd#server#smtp
BillionMail is a free, open-source mail server and email marketing tool that lets you send newsletters, promotions, and transactional emails with full control and privacy. You can install it in about eight minutes, connect your own domain, and start campaigns easily. It offers advanced analytics, unlimited sending, customizable templates, and keeps your data secure on your own server. This means you avoid expensive fees, hidden costs, and third-party tracking, making it ideal for businesses and individuals who want powerful, private, and flexible email marketing[2][3][4].
https://github.com/aaPanel/BillionMail