{"adoption": {"forks": 114, "observed_at": "2026-08-28T04:05:57.079297+00:00", "stars": 1937}, "canonical_url": "https://ross.abutalabs.com/products/piccolo-orm-piccolo", "card": {"archived": false, "artifact_type": "library", "description": "A fast, user friendly ORM and query builder which supports asyncio.", "domain": ["databases", "web-development", "backend", "developer-tools"], "enriched": true, "function": ["orm", "database", "auth", "middleware"], "health_score": 98, "homepage": "https://piccolo-orm.com/", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["piccolo-orm/piccolo"], "name": "piccolo-orm/piccolo", "platform": ["python", "cross-platform"], "pushed_at": "2026-08-07T20:47:27+00:00", "repo": "piccolo-orm/piccolo", "stars": 1937, "tags": ["asyncio", "query-builder", "postgresql", "sqlite", "asgi", "fastapi", "migrations", "type-annotated"], "topics": ["piccolo", "asyncio", "python", "python3", "orm", "postgresql", "asgi", "database", "query-builder", "sqlite", "fastapi", "starlette", "hacktoberfest"], "urls": [], "use_cases": ["query a postgres database with async python", "orm for fastapi app", "build a web app with sqlite and asyncio", "manage database migrations in python", "type-annotated query builder for python", "add user authentication to a python backend", "scaffold an asgi web app with an orm"], "what_it_is": "Piccolo is a fast, user-friendly ORM and query builder for Python with first-class asyncio support. It includes batteries like migrations, a User model, authentication, and integrates with ASGI frameworks such as FastAPI and Starlette.", "when_to_avoid": ["you need databases other than Postgres, SQLite, or CockroachDB", "your team is heavily invested in Django ORM or SQLAlchemy ecosystems", "you need a synchronous-only, minimal ORM without extra batteries"], "when_to_choose": ["you need async or sync database access in Python with Postgres or SQLite", "you want a modern, fully type-annotated ORM with tab completion", "you're building an ASGI web app (FastAPI, Starlette, Litestar, etc.) and want an integrated ORM with migrations and auth"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/piccolo-orm-piccolo", "repo": "piccolo-orm/piccolo", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:57.079297+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:08:24.605311+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "375e50fc07f095e5b6019d4b790c45d6464da121ef63c69e83a0d6cdaa54efcd", "fetched_at": "2026-08-28T04:05:57.079297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/piccolo-orm/piccolo"}, {"content_hash": "35506d280c60cec42af5efcbe3e0164af22619fbb3208f1c38c398c34ebd0610", "fetched_at": "2026-08-29T10:47:37.314679+00:00", "kind": "homepage", "missing": false, "url": "https://piccolo-orm.com/"}, {"content_hash": "40cce5b357d80313983cf8b3989aaf4ac678e7468739d90fda796e0d0ff41123", "fetched_at": "2026-08-29T10:47:37.323619+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/piccolo/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 95}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2867, "days_push": 26, "days_rel": 37, "gap_med": 14.0, "n_releases_24m": 25}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}