Featured Project

Python Package · PyPI

DBWarden

The SQL-first database toolkit for SQLAlchemy.

DBWarden is a SQL-first migration system for SQLAlchemy that replaces Python-based migration workflows with explicit, reviewable SQL generated directly from your models. Unlike script-based migration tools, DBWarden does not introduce a migration runtime or require executing generated Python migration code. It produces plain SQL files that can be reviewed, versioned, and executed directly against any environment.

SQL-first

Migrations are plain SQL. No runtime required.

Rollback included

Every migration carries upgrade + rollback SQL.

Schema snapshots

Checksummed JSON after every migration for deterministic diffs.

Column-level diffing

Type, nullability, default, and comment changes.

Impact analysis

AST-based scan to detect breaking changes before deploy.

Offline mode

Export model state, generate migrations anywhere, no DB needed.

FastAPI integration

Startup validation, health checks, runtime lifecycle.

5 DB dialects

PostgreSQL, MySQL, MariaDB, SQLite, ClickHouse.

12stars
829tests
31K+LOC
5DB dialects
15+CLI commands
Python Package

PyPI

schemap

Automatic Pydantic v2 schemas from SQLAlchemy 2.0 ORM models. Define your model once, schemap generates Create, Update, Public, and Full schemas automatically, with field-level type mapping, nullability handling, and configurable exclusions.

Supports AutoBase inheritance and @auto_schema decorator, with built-in TimestampMixin and SoftDeleteMixin. Eliminates repetitive schema boilerplate.

Pydantic v2SQLAlchemy 2.0PyPI
schemap.py
@auto_schema
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
name = Column(String(100))
email = Column(String(255), unique=True)
 
# CreateUser, UpdateUser,
# PublicUser, FullUser
PyPI Utilities

seoslug

Python

Deterministic SEO payload generation: canonical URLs, Open Graph, Twitter Cards, and JSON-LD. Same input always produces the same output. Testable, cacheable, predictable.

detrack

Python

Strip tracking parameters from URLs. Deterministically. Zero dependencies. 60+ default patterns, case-insensitive, pure functions, metadata returned.

acrresolv

Python

Acronym resolver for Python. Converts natural language phrases to acronyms. Zero dependencies, CLI and library usage. Being expanded with ML.

More Projects

crxml

Rust

PyPI package

Fast streaming parser for Crystal Reports XML exports with Rust acceleration. Streams row-by-row without loading the full document into memory, handling files of any size. Built-in pipeline stages: rename, cast types, filter, and drop fields, all chained with | operators for composable transformations. Parallel mode distributes batches across worker processes using Python's multiprocessing, achieving near-linear speedups on multi-core systems. Outputs DataFrames via pandas, CSV files, or lists of dicts. The pandas import is lazy, only loaded when you actually convert, keeping the CLI lightweight.

PythonRustXMLpandas

vigil

Prefect

Prefect flow

Personal GitHub activity monitoring workflow built with Prefect. Fetches events, commits, and PR activity via PyGithub, then stores structured records in ClickHouse through dbwarden's migration framework. Designed for automated periodic execution: the flow runs on a cron schedule, collects the latest activity since the last run, and inserts it into the warehouse. Structured logging captures each pipeline stage, and errors surface through Prefect's native notification system instead of failing silently. A simple dashboard query gives you a timeline of your open source contribution activity without relying on GitHub's own graphs.

PythonPrefectPyGithubClickHouse

mapcreator

React

Web application

Tile-based building map editor built with React and Canvas. Draw multi-floor building layouts with a grid-based editor; place walls, designate rooms, and connect them with doors, stairs, and elevators. Each floor is a separate layer, and the A* pathfinding system can route from any room to any other across floors, automatically selecting stairs or elevators. The canvas renders at 60fps with virtual scrolling for large maps. State is managed entirely through React hooks, making it easy to undo, redo, or export the map data as JSON for use in other tools. No external mapping libraries or APIs required.

ReactTypeScriptCanvasA* Pathfinding