{"categories":[{"label":"Database","url":"https://skillfed.io/packages/category/database/4"}],"enrichment":{"capability":"Upserts pandas DataFrames into PostgreSQL, MySQL, and SQLite databases using primary or unique keys, with optional automatic table and schema creation.","skillfed_tags":["pandas-sql-integration","upsert-operations","async-database"],"use_cases":["Incrementally load data from pandas into a production database without duplicating rows or manually managing upsert logic.","Automatically create and evolve SQL table schemas from DataFrame structure without writing DDL.","Build data pipelines that idempotently write results to PostgreSQL, MySQL, or SQLite using the same code.","Insert JSON objects (dicts, lists) into existing JSON columns in PostgreSQL, which pandas to_sql does not support.","Async-first applications that need to upsert DataFrames without blocking, using aiosqlite, asyncpg, or aiomysql."],"what_it_does":"Pangres bridges pandas DataFrames and SQL databases by implementing upsert operations (insert-or-update) that pandas' native to_sql does not support. It works with PostgreSQL, MySQL, and SQLite, handling ON CONFLICT DO NOTHING and ON CONFLICT DO UPDATE semantics based on primary or unique keys. The package can automatically create missing tables and schemas, add new columns to existing tables, and alter column types when safe\u2014features that simplify data pipeline workflows where you need idempotent writes without manual schema management.\n\nThe library includes optional JSON column support, SQL injection protection through parameterized queries, and asynchronous engine support for async/await patterns. It depends on pandas, sqlalchemy, alembic, and packaging. However, the package has been dormant for over 1000 days; the last release was in November 2023 and the last commit in December 2023, raising questions about ongoing maintenance and compatibility with current dependency versions.","worth_installing":"Yes, if you are locked into an older dependency ecosystem and need upsert semantics for pandas DataFrames. No, if you require active maintenance or compatibility with the latest sqlalchemy/alembic versions\u2014the package is dormant and may break with dependency updates. Consider alternatives if you need ongoing support or are starting a new project."},"id":"pangres","links":{"html":"https://skillfed.io/packages/pangres","md":"https://skillfed.io/packages/pangres.md","pypi":"https://pypi.org/project/pangres/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2023-11-05","license_spdx":null,"license_treatment":"permissive","name":"pangres","python_support":"unspecified","summary":"Postgres insert update with pandas DataFrames."},"popularity":{"monthly_downloads":130215,"position":11650,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.2.1"}
