Управление базой данных в Python с Alembic и SQLAlchemy
Сегодня мы поговорим о том, как можно эффективно управлять структурой вашей базы данных в Python с использованием библиотек Alembic и SQLAlchemy. Эта связка инструментов позволяет легко мигрировать схему базы данных, управлять версиями и обеспечивает удобный способ разработки и поддержки приложений.
Что такое Alembic и SQLAlchemy?
SQLAlchemy - это мощная библиотека для работы с базами данных в Python. Она предоставляет ORM (Object-Relational Mapping), что делает работу с базой данных более Pythonic. Вы можете определять модели данных, выполнять запросы и манипулировать данными, используя чистый Python.
Alembic - это инструмент для управления миграциями базы данных. Он позволяет создавать и применять миграции для изменения структуры базы данных, такие как создание таблиц, добавление столбцов или изменение индексов.
Пример использования Alembic и SQLAlchemy:
1. Установка библиотек:
pip install sqlalchemy alembic
2. Инициализация Alembic:
alembic init my_migration
3. Определение моделей данных в SQLAlchemy:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
4. Создание миграции:
alembic revision --autogenerate -m "Create user table"
5. Применение миграции:
alembic upgrade head
Теперь вы можете легко управлять структурой базы данных, создавать новые миграции и применять их, чтобы обновить вашу базу данных.
Полезные ссылки:
- SQLAlchemy: https://www.sqlalchemy.org/
- Alembic: https://alembic.sqlalchemy.org/
#python#sqlalchemy#alembic#базаданных#миграции
Друзья,
если вы хотите научиться программированию на Python, то не упустите свой шанс! На базе Amity University Tashkent запускается партнёрский курс "Python Basic" от Skillbox Uzbekistan, который поможет вам получить необходимые навыки и знания для работы с этим языком.
Регистрируйтесь на сайте Skillbox Uzbekistan https://skillbox.uz/course/ru/python-basic/?utm_source=leflet&utm_medium=social&utm_campaign=409_python-basic_leflet_social_post_course_uz_code_offline_school_leflet прямо сейчас и начинайте свой путь в мир программирования!
#skillboxuzbekistan#pythonbasic#программирование#python#новые_навыки#образование
#вакансия#dataengineer#remote#fulltime#Python#NoSQL
Вакансия: Data Engineer/Backend-разработчик (Middle)
Компания: АО «Антиплагиат»
Формат работы: удалёнка
Занятость: полная занятость
Вилка: 255 000 (+/-) gross оклад + годовой бонус
Работа в EdTech компании, в команде инженеров данных.
Ищем Data Engineer/Python dev (Middle), умеющего организовывать автоматизированный сбор данных из различных источников (интернет, API клиентов), а также контролировать качество получаемых данных.
В работе нужно писать краулеры сайтов, разрабатывать службы для получения данных из клиентских API; 80% задач с данными и 20% на разработку.
Ожидания от кандидата:
📌2+ года коммерческого опыта работы с Python.
📌Уверенное знание Python
📌Умение обернуть написанный код в Docker-контейнер
📌Опыт работы с SQL/NoSQL БД
📌Опыт использования Linux. Применяем Debian/Ubuntu
Что предлагает компания?
🔅Аккредитованная IT- компания и дружный коллектив, объединенный в профессиональный комьюнити
🔅Удаленный формат работы
🔅Конкурентная заработная плата (оклад+ годовой бонус)
🔅Ежегодный Performance Review
🔅Обучение, посещение конференций и курсов
🔅ДМС со стоматологией
🔅Скидки и партнёрские программы
Со мной можно связаться:
@UmraSvet
+7 910 457-77-75
🐼 Pandas тормозит на больших данных?
NVIDIA показала, как ускорить его в 40 раз — без переписывания кода.
Команда NVIDIA провела эксперимент с 18 миллионами строк данных с фондовых рынков: они выполнили типичный анализ данных с помощью pandas на CPU, а затем тоже самое — на GPU, используя cudf.pandas.
Для примеры были взяты:
📉 Скользящие средние (50D и 200D)
📅 Недельная статистика закрытия рынков
🧊 В общей сложности ~18M строк
Результат впечатляет : удалось добиться**ускорения обработки данных в 20–40 раз
Код скрипта не менялся вообще — тот же pandas, но на GPU.
Это один из примеров, где ускорение достигается без переписывания логики кода.
🟡 Потестить самому можно в Colab
🟡 Другие примеры с кодом — здесь
@ai_machinelearning_big_data
#datascience#ml#nvidia#gpu#pandas#python
#Вакансия#job#Аналитик#Remote#Data#SQL#Python
🔎 Вакансия: Product Data Analyst (SQL + Python)
💰 ЗП: 3000-3500$ (до вычета)
🌍 Формат: Full time, удаленно из любой точки мира
📍 Локация компании: Сербия
📌Компания CyberYozh - разработка ПО, обучающих материалов и решений для защиты данных в сети
📋 Основные задачи:
- Анализировать данные проектов для выявления ключевых показателей и трендов
- Настраивать систему получения и обработки данных (SQL, API)
- Выявлять аномалии и готовить аналитические отчёты
- Работать с дашбордами (Looker Studio, GA, Яндекс Метрика)
- Проверять гипотезы и A/B-тесты
🛠 Требования:
- Опыт написания оптимизированных SQL-запросов (PostgreSQL, MySQL)
- Владение Python для анализа данных (pandas, numpy) и автоматизации процессов
- Опыт работы с API и автоматизацией отчётности
- Навыки настройки аналитических систем и построения дашбордов
- Умение работать с метриками, когортами, retention, LTV
🎯 Мы предлагаем:
- Гибкий график и удаленную работу из любой точки мира
- Долгосрочный проект и своевременные выплаты.
- 28 дней оплачиваемого отпуска.
- Минимум бюрократии.
- Регулярные performance review с возможностью роста з/п.
- Сильная команда и здоровая рабочая атмосфера.
📩 Контакт для связи: @hr_olga_osipova
#вакансия#backend#python#senior#удаленно#Сербия
Middle + / Senior Backend разработчик
(удаленно / гибрид, офисы в Белграде и Бангкоке)
О компании
Graphlogic – продуктовая IT-компания. Мы разрабатываем экосистему Conversational AI продуктов – чат-боты, голосовые боты, аватары, ASR & TTS as APIs, LLM – объединенных на единой платформе.
🚀 Развиваем международное направление при поддержке швейцарского инвестора и партнёра. В команду ищем опытного Middle+ / Senior Backend разработчика – того, кто хочет делать коммерческий продукт, который будет использоваться бизнесом по миру.
Чем предстоит заниматься
– Проектировать и разрабатывать компоненты платформы
– Участвовать в проектировании решений с момента разработки концепта и составления плана реализации
– Отвечать за конечную реализацию фич в срок, включая разрешение блокеров, своевременную эскалацию проблем и запрос дополнительных ресурсов
– Улучшать масштабируемость, производительность и надежность продукта
– Взаимодействовать с проектной командой по реализации требований для повышения функциональности и UX платформы.
Стек: Python, asyncio, aiohttp, GraphQL, PostgreSQL, RabbitMQ, Docker, Kubernetes, Gitlab (VCS, CI/CD, Registry).
Навыки, которые мы ожидаем увидеть
– Опыт работы на стеке от 3 лет
– Уверенное владение английским
– Разработка архитектуры системы – обязательный уклон в микросервисы, понимание горизонтально масштабируемых систем
– Разработка архитектуры БД
– Глубокое понимание принципов объектно-ориентированного подхода
Минимальные требования по опыту
– Асинхронный питон, микросервисы, postgres – 3 года
– RabbitMQ – 1 год
– Общий опыт работы разработчиком – от 5 лет.
Работа у нас – это:
– Гибкий график
– Официальное трудоустройство, административная и юридическая поддержка
– Офисы в Белграде и Бангкоке или полностью удалённый формат
– Больничные без справок - 3 оплачиваемых wellness дня в год
– Участие в конференциях и митапах.
По всем вопросам и для резюме: @dpmorozova