boto3, botocore, subprocess, datetime import subprocess
import boto3
import datetime
from botocore.exceptions import NoCredentialsError
# Configuration
DB_HOST = 'localhost'
DB_USER = 'your_db_user'
DB_PASSWORD = 'your_db_password'
DB_NAME = 'your_db_name'
S3_BUCKET_NAME = 'your-s3-bucket-name'
S3_REGION = 'us-west-2'
def backup_database():
timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
backup_file = f"{DB_NAME}_backup_{timestamp}.sql"
dump_command = f"mysqldump -h {DB_HOST} -u {DB_USER} -p{DB_PASSWORD} {DB_NAME} > {backup_file}"
process = subprocess.Popen(dump_command, shell=True)
process.wait()
if process.returncode == 0:
print(f"Database backup successful: {backup_file}")
upload_to_s3(backup_file)
else:
print("Database backup failed.")
def upload_to_s3(file_name):
s3 = boto3.client('s3', region_name=S3_REGION)
try:
s3.upload_file(file_name, S3_BUCKET_NAME, file_name)
print(f"Backup file uploaded to S3: s3://{S3_BUCKET_NAME}/{file_name}")
except FileNotFoundError:
print("The backup file was not found.")
except NoCredentialsError:
print("AWS credentials not available.")
if __name__ == "__main__":
backup_database()
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥3
ormarАсинхронный (async/await) — идеально для современных API
Модели основаны на pydantic — автоматическая валидация
Простой синтаксис, похож на Django ORM
pip install ormar
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥2
piccolo 🟠 Асинхронный, быстрый и лёгкий🟠 Встроенная система миграций🟠 Поддержка FastAPI🟠 Удобный CLI (piccolo команды)
pip install piccolo
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥2😁1
ssl, socket, datetimeimport ssl
import socket
from datetime import datetime
def check_ssl_expiry(hostname):
context = ssl.create_default_context()
with socket.create_connection((hostname, 443)) as conn:
with context.wrap_socket(conn, server_hostname=hostname) as sock:
cert = sock.getpeercert()
expiry_date = datetime.strptime(cert['notAfter'], '%b %d %H:%M:%S %Y %Z')
days_to_expiry = (expiry_date - datetime.now()).days
print(f"SSL Certificate for {hostname} expires in {days_to_expiry} days.")
if __name__ == "__main__":
check_ssl_expiry("example.com")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍4❤2🥰2
paramikoimport paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("your_server_ip", username="user", password="pass")
stdin, stdout, stderr = ssh.exec_command("ls -l")
print(stdout.read().decode())
ssh.close()
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍3🔥1😁1
peewee
🟠 Очень простой и понятный синтаксис🟠 Поддержка миграций (pwiz, playhouse.migrate)🟠 Поддерживает связи (ForeignKey, ManyToMany)🟠 Есть расширения (playhouse) для кэша, сигналов, миграций и др.
pip install peewee
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥2
pandas, matplotlib, seaborn, ydata-profilingfrom sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
def train_evaluate_models(X, y):
# Split the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Initialize models
models = {
'Random Forest': RandomForestClassifier(),
'Logistic Regression': LogisticRegression()
}
results = {}
# Train and evaluate each model
for name, model in models.items():
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
results[name] = {
'accuracy': accuracy_score(y_test, y_pred),
'precision': precision_score(y_test, y_pred, average='weighted'),
'recall': recall_score(y_test, y_pred, average='weighted'),
'f1': f1_score(y_test, y_pred, average='weighted')
}
return results
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥4😁3
wapiti 🟠 Обнаруживает десятки уязвимостей🟠 Работает через spidering или с предоставленным URL-списком🟠 Поддержка cookie, прокси, POST-запросов🟠 Можно использовать как CLI, так и через Python-код
pip install wapiti3
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥5👍3
dnspython, argparse, socket git clone https://github.com/mschwager/fierce.git
cd fierce
pip install dnspython==1.16.0
from fierce import Fierce
f = Fierce(domain="example.com", traverse=10, wide=True, subdomains=["www","mail","api"])
f.run()
print("\n".join(f.all_hosts))
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤2🥰2
🟠 Предназначен для pre‑scanner фаз (как подбор адресов перед nmap, nessus).🟠 Работает через прямой DNS‑брютфорс, попытки zone‑transfer.🟠 Можно сканить соседние IP‑сети (--traverse, --wide), фильтровать домены (--search).🟠 Поддерживает опции HTTP‑подключения (--connect) к найденным хостам.🟠 CLI-инструмент, но встроен в экосистему Python (установлен через pip).
pip install fierce
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥3👍2
autogui🟠 Позволяет симулировать нажатия клавиш, клики, drag & drop.🟠 Может находить изображения на экране и взаимодействовать с ними.🟠 Работает кроссплатформенно: Windows, macOS, Linux.🟠 Есть защита от «залипания»: pyautogui.FAILSAFE = True (переместите мышь в угол экрана — скрипт остановится).🟠 Идеально подходит для автоматизации рутины и визуального тестирования.
pip install pyautogui
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥3🎉1
openai, colorama, pydantic, rich, typerautochatscript \
"Сделай телеграм-бота, который принимает фото и ищет его в Google Картинках" \
--model gpt-4 \
--temperature 0.4 \
--system-prompt "Ты профессиональный Python-разработчик, пиши чистый код и объясняй комментариями" \
--save-path "projects/photo_search_bot" \
--regen 2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥6👍3
struct (стандартная библиотека), memoryview, ctypesimport struct
from functools import partial
FORMAT = '=5if255s'
struct_len = struct.calcsize(FORMAT)
struct_unpack = struct.Struct(FORMAT).unpack_from
def read_chunks(f, length):
while True:
chunk = f.read(length)
if not chunk:
break
yield chunk
def parse_binary_file(filename):
results = []
with open(filename, 'rb') as f:
for chunk in read_chunks(f, struct_len):
year, a, b, c, d, pop, name_bytes = struct_unpack(chunk)
name = name_bytes.split(b'\0', 1)[0].decode('utf-8', errors='ignore')
results.append({
'year': year,
'values': (a, b, c, d),
'population': pop,
'name': name
})
return results
if __name__ == '__main__':
data = parse_binary_file('metro_areas.bin')
for rec in data[:5]:
print(rec)
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍3🔥2
construct🟠 Поддержка описания сложных вложенных структур (ethernet → IP → TCP и т.д.)🟠 Обеспечивает симметрию: схемы для парсинга подходят и для сериализации🟠 Работает на уровне битов, байтов, с разным порядком следования (big-/little‑endian)🟠 Благодаря декларативному стилю код проще тестировать и сопровождать🟠 Идеальна для работы с бинарными сетевыми протоколами, файлами с низкоуровневыми структурами, устройствами и микроконтроллерами
pip install construct
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥3👍2
os, argparse (стандартная библиотека)import os
import argparse
def bulk_rename(directory, prefix, extension=None, start_number=1):
files = sorted(os.listdir(directory))
count = start_number
for file in files:
path = os.path.join(directory, file)
if not os.path.isfile(path):
continue
ext = os.path.splitext(file)[1]
if extension and ext.lower() != extension.lower():
continue
new_name = f"{prefix}{count}{ext}"
os.rename(path, os.path.join(directory, new_name))
print(f"Renamed: {file} → {new_name}")
count += 1
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Bulk rename files in a directory.")
parser.add_argument("directory", type=str, help="Путь к папке с файлами")
parser.add_argument("prefix", type=str, help="Новый префикс для имен")
parser.add_argument("--extension", type=str, help="Переименовывать только файлы с этим расширением", default=None)
parser.add_argument("--start", type=int, help="Стартовый номер", default=1)
args = parser.parse_args()
bulk_rename(args.directory, args.prefix, args.extension, args.start)
🟠 Сортирует файлы по имени🟠 Фильтрует по расширению, если указан аргумент --extension🟠 Переименовывает в соответствии с шаблоном и увеличивает счётчик🟠 Работает через CLI, без графики — удобно вставить в cron, CI или запускать вручную
#скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤14🔥3👍2
netmiko🟠 Поддержка множества производителей (Cisco, Juniper, HP, Arista и др.).🟠 Автоматическое управление переходами в режимы конфигурирования (например, configure terminal).🟠 Интеграция с парсинг-системами типа TextFSM и Genie для получения структурированных данных.🟠 Обработаны нюансы prompt и ожидания — не нужно вручную работать с таймерами.🟠 Работает через pip install netmiko, легко интегрируется в скрипты и CI/CD пайплайны.
pip install netmiko
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥4👍2
simpy🟠 Использует знакомую модель: процессы и окружение (Environment), таймеры timeout, событийное ожидание🟠 Поддерживает моделирование ресурсов, очередей, приоритетов, ограниченного числа каналов🟠 Позволяет запускать симуляцию "быстрее реального времени" или с управляемыми шагами🟠 Полезна для симуляции систем массового обслуживания, сетевых очередей, транспортных потоков, диспетчеризации задач🟠 🟠 Кроссплатформенная, лицензия MIT, активно развивается (последняя версия 4.1.1 — ноябрь 2023)
⚙️ Установка:
pip install simpy
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤3👍3
Dirty-Launderer-main.zip
766.4 KB
💻 ЯП: Python 3.11+🐍
💾 Модули: python-telegram-bot, requests
📂 База данных: -
Особенности:
🧹 Очистка URL : Автоматически удаляет параметры отслеживания (UTM, fbclid и т. д.)
👥 Поддержка групп : работает как в личных чатах, так и в групповых беседах.
⚙️ Настраиваемые параметры : выберите, какие службы и параметры следует очистить
🤫 Нулевое ведение журнала : не сохраняются пользовательские данные или очищенные URL-адреса
🏠 Возможность самостоятельного размещения : запустите собственный экземпляр для максимальной конфиденциальности
🌐 Поддержка нескольких сред : отдельные конфигурации для разработки и производства
#telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤7👍4
msgspec🟠 Очень быстрая сериализация/десериализация JSON или MessagePack🟠 Встроенный механизм msgspec.Struct — легкая альтернатива Pydantic для валидации🟠 Отличается компактным двоичным представлением (MessagePack)🟠 Подходит для межпроцессного обмена, сетевого взаимодействия, микросервисов с минимальными накладными расходами
⚙️ Установка:
pip install msgspec
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍3🔥3
albumentations🟠 Поддержка различных типов данных: изображения, маски, bounding boxes, ключевые точки.🟠 Высокая производительность благодаря использованию OpenCV.🟠 Простота интеграции с другими библиотеками, такими как PyTorch и TensorFlow.🟠 Широкий набор трансформаций с возможностью комбинирования их в пайплайны.
⚙️ Установка:
pip install albumentations
#библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5👍4