{"adoption": {"forks": 80, "observed_at": "2026-08-28T04:04:52.266176+00:00", "stars": 1489}, "canonical_url": "https://ross.abutalabs.com/products/gnomock", "card": {"archived": false, "artifact_type": "library", "description": "Test your code without writing mocks with ephemeral Docker containers 📦 Setup popular services with just a couple lines of code ⏱️ No bash, no yaml, only code 💻", "domain": ["testing", "developer-tools", "databases"], "enriched": true, "function": ["testing", "e2e-testing", "container-runtime"], "health_score": 79, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["orlangure/gnomock"], "name": "orlangure/gnomock", "platform": ["go", "cli"], "pushed_at": "2026-04-13T15:37:26+00:00", "repo": "orlangure/gnomock", "stars": 1489, "tags": ["integration-testing", "testcontainers", "ephemeral-containers", "presets", "no-mocks", "http-daemon", "containers", "docker"], "topics": ["go", "golang", "testing", "integration-testing", "end-to-end-testing", "docker", "kafka", "postgres", "mysql", "mongo", "rabbitmq", "splunk", "sql-server", "redis", "memcached", "elasticsearch", "mariadb", "kubernetes", "cockroachdb", "hacktoberfest"], "urls": [], "use_cases": ["spin up a throwaway postgres with schema for integration tests", "test against real redis instead of mocks", "seed test data into s3 or splunk during e2e tests", "run kafka in docker for consumer tests", "set up ephemeral mysql containers in go tests", "use gnomock daemon from python or node tests"], "what_it_is": "Gnomock is a Go integration and end-to-end testing toolkit that spins up ephemeral Docker containers for application dependencies with preconfigured initial state, then cleans them up automatically. It offers many official presets (Postgres, MySQL, Redis, Kafka, etc.) and can also run as an HTTP daemon for use from other languages.", "when_to_avoid": ["you need remote or orchestrated Docker hosts (experimental support only)", "your tests don't require real external dependencies", "you can't run a local Docker daemon"], "when_to_choose": ["you want integration tests against real services without writing mocks", "you need easy initial-state setup for databases and message brokers", "your project is in Go or can call an HTTP daemon"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gnomock", "repo": "orlangure/gnomock", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "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:04:52.266176+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:52.266176+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:33:41.612956+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26da3dae119d41f0370e4324616920e84013d5e2f39a8bdf7b8cfddc62798a73", "fetched_at": "2026-08-28T04:04:52.266176+00:00", "kind": "readme", "missing": false, "url": "https://github.com/orlangure/gnomock"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 77, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2406, "days_push": 142, "days_rel": 452, "gap_med": null, "n_releases_24m": 1}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}