{"categories":[{"label":"Database","url":"https://skillfed.io/packages/category/database/2"}],"enrichment":{"capability":"Provides mutation-tracked JSON column types for SQLAlchemy that detect and persist changes to JSON data at the top level or nested within objects and arrays.","skillfed_tags":["sqlalchemy-extension","json-mutation-tracking"],"use_cases":["Store and modify social media handles or metadata objects in a single JSON column without reassigning the entire column on each edit.","Track reference counts or nested statistics that change frequently without triggering full-column rewrites.","Use PostgreSQL JSONB or other database-specific JSON types while maintaining change-tracking behavior.","Serialize and track changes to non-JSON formats (e.g., custom string-encoded data) by providing a custom TypeDecorator.","Persist top-level or deeply nested list modifications (e.g., tags, keywords) as a single atomic column."],"what_it_does":"sqlalchemy-json extends SQLAlchemy with two mutation-tracked JSON column types: MutableJson for top-level changes and NestedMutableJson for changes anywhere in nested objects or arrays. When you modify a JSON column value in memory, the package detects that change and ensures SQLAlchemy generates the correct UPDATE statement on commit, rather than requiring you to manually flag the column as dirty or reassign the entire value.\n\nThe package wraps SQLAlchemy's native JSON type and provides custom tracking containers (dicts and lists) that bubble modifications up to the column level. You can also use the mutable_json_type utility to customize the backing database type\u2014for example, to use PostgreSQL's JSONB or to serialize to a non-JSON format. It has one runtime dependency: sqlalchemy.","worth_installing":"Yes, if you need automatic change tracking for JSON columns in SQLAlchemy. The package is stable and has no known vulnerabilities. However, maintenance is dormant\u2014last release was over two years ago\u2014so verify compatibility with your specific SQLAlchemy and Python versions before adopting it in new projects. For existing codebases already using it, the low install friction and permissive license make it safe to keep."},"id":"sqlalchemy-json","links":{"html":"https://skillfed.io/packages/sqlalchemy-json","md":"https://skillfed.io/packages/sqlalchemy-json.md","pypi":"https://pypi.org/project/sqlalchemy-json/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2023-08-30","license_spdx":null,"license_treatment":"permissive","name":"sqlalchemy-json","python_support":"supports_current","summary":"JSON type with nested change tracking for SQLAlchemy"},"popularity":{"monthly_downloads":1805778,"position":3536,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.7.0"}
