finds.dev← search

// the find

benavlabs/fastcrud

★ 1,521 · Python · MIT · updated Jun 2026

FastCRUD is a Python package for FastAPI, offering robust async CRUD operations and flexible endpoint creation utilities.

FastCRUD generates async CRUD endpoints for FastAPI + SQLAlchemy 2.0 apps. You give it a model and some Pydantic schemas, it gives you a full REST API with filtering, sorting, offset and cursor pagination, and join support. Aimed at developers who want to skip the boilerplate on standard data models without switching to a full admin framework.

Auto-detected join conditions across models is genuinely useful — most ORMs make you spell this out every time. Cursor-based pagination is included out of the box, which most similar tools skip. The two-tier usage model (auto-generated router vs. direct CRUD object in custom endpoints) is the right design: you can scaffold fast and still drop down when the auto-generated route doesn't fit. Test coverage is thorough — separate test suites for SQLAlchemy and SQLModel, with specific regression tests for cartesian product bugs in joins.

The auto-generated endpoints are schema-agnostic, so access control is your problem entirely — there's no hook for row-level permissions or ownership filters short of writing custom endpoints. The sqlalchemy-utils warning about NotImplementedError on non-native column types is a real footgun that you'll hit the moment you add something like UUID or CIDR from that package. Multi-step or transactional operations (create parent + children atomically) don't fit the model at all — you're back to writing it yourself. Stars-to-contributor ratio (1500 stars, 112 forks) suggests lots of people evaluate it but not many build on top of it, which may say something about stickiness in larger codebases.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →