{"categories":[{"label":"Python Modules","url":"https://skillfed.io/packages/category/software-development-libraries-python-modules/13"},{"label":"Database","url":"https://skillfed.io/packages/category/database/3"}],"enrichment":{"capability":"Integrates SQLAlchemy sessions with Zope's transaction manager, allowing database operations to participate in Zope's distributed transaction protocol.","skillfed_tags":["transaction-management","zope-framework","web-framework-integration"],"use_cases":["Integrate SQLAlchemy ORM into a Zope application where transactions must be coordinated across multiple resources","Use Pyramid with pyramid_tm to manage SQLAlchemy session commits alongside other transactional operations","Implement two-phase commit for SQLAlchemy sessions in distributed transaction scenarios","Manage long-lived or scoped sessions in WSGI applications using repoze.tm2 for automatic transaction handling","Coordinate raw SQL operations with Zope transactions by explicitly marking sessions as changed"],"what_it_does":"zope.sqlalchemy is a lightweight bridge between SQLAlchemy's session management and Zope's transaction system. It registers SQLAlchemy sessions as participants in Zope's distributed transaction protocol, so that session commits and rollbacks are coordinated with the broader transaction context\u2014useful in Zope-based applications, Pyramid web frameworks using pyramid_tm, and WSGI applications using repoze.tm2. The package does not attempt to define a Zope-specific way to configure engines; it only provides a data manager that hooks into SQLAlchemy's event system via a register() function.\n\nThe integration handles both simple commits and two-phase commits. Sessions default to an 'active' state on first use and move to 'changed' when ORM writes occur, avoiding unnecessary database commits. For raw SQL operations, you can manually mark the session as changed or configure it to start in 'changed' state. The package supports scoped sessions (required for threaded web servers) and allows fine-grained control over session lifecycle and transaction boundaries.","worth_installing":"Yes, if you are building or maintaining a Zope or Pyramid application that requires SQLAlchemy and distributed transaction support. The package is stable and has no known vulnerabilities, but maintenance is aging (262 days since last release). Install only if you understand both SQLAlchemy and Zope transactions; it is not a general-purpose ORM integration and adds no abstraction layer. Verify ZPL-2.1 license compatibility with your project first."},"id":"zope-sqlalchemy","links":{"html":"https://skillfed.io/packages/zope-sqlalchemy","md":"https://skillfed.io/packages/zope-sqlalchemy.md","pypi":"https://pypi.org/project/zope-sqlalchemy/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2025-11-25","license_spdx":null,"license_treatment":"unclear","name":"zope.sqlalchemy","python_support":"supports_current","summary":"Minimal Zope/SQLAlchemy transaction integration"},"popularity":{"monthly_downloads":344530,"position":7372,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.1"}
