
Active-Alchemy is a framework agnostic wrapper for SQLAlchemy that makes it really easy to use by implementing a simple active record like api, while it still uses the db.session underneath. Inspired by Flask-SQLAlchemy
Active-Alchemy is an innovative wrapper around SQLAlchemy designed to streamline the use of models in an active record-like manner, while still leveraging the robust functionality of SQLAlchemy's underlying session management. This tool is especially useful for developers looking to utilize SQLAlchemy within Flask applications without relying on Flask-SQLAlchemy. The simplicity of creating and managing database connections, along with built-in features, makes it a compelling choice for both seasoned developers and newcomers alike.
With Active-Alchemy, gone are the days of complex database management. The tool simplifies operations like creating, querying, updating, and deleting records through a clean and intuitive interface. It not only automates many routine tasks but also enhances model management for better efficiency and performance.
Automatic Session Creation: Instantiating ActiveAlchemy() sets up the session and model configuration automatically, saving developers from needing to manually configure these components.
Comprehensive CRUD Methods: Easily perform create, read, update, and delete operations with convenient methods like create(), query(), update(), and delete(), simplifying database interactions.
Primary Key Management: Automatically generates a primary key for each table created, ensuring that each entry can be uniquely identified without extra configuration.
Built-in Timestamps: Columns for created_at, updated_at, and soft delete tracking (is_deleted, deleted_at) are automatically added to each model, enhancing data management.
Soft Delete Feature: Instead of permanently deleting records, the delete() method performs a soft delete, allowing records to be restored if needed, aiding in data retention and recovery.
DateTime Management with Arrow: Utilizes the Arrow library for datetime management, saving timestamps in UTC format to standardize date and time operations.
Extended Data Types: Includes additional data types like JSONType and EmailType, leveraging SQLAlchemy-Utils for better data handling within your models.
User-Friendly Model Declaration: Create model classes easily by extending db.Model, which includes helpful configurations and automatic table naming based on class names, simplifying the development process.
