{"id":25024061,"url":"https://github.com/guiyomh/charlatan","last_synced_at":"2025-04-13T09:35:19.425Z","repository":{"id":34737111,"uuid":"151565853","full_name":"guiyomh/charlatan","owner":"guiyomh","description":"Relying on brianvoe/gofakeit, Charlatan allows you to create a ton of fixtures/fake data for use while developing or testing your project. It is inspired by nelmio/alice.It gives you a few essential tools to make it very easy to generate complex data in a readable and easy to edit way, so that everyone on your team can tweak the fixtures if needed.","archived":false,"fork":false,"pushed_at":"2023-08-30T14:14:41.000Z","size":79,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T01:06:35.232Z","etag":null,"topics":["database","expression-language","faker","fixture","fixtures","golang","testing"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guiyomh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-04T12:10:16.000Z","updated_at":"2024-03-15T16:27:48.000Z","dependencies_parsed_at":"2025-02-05T15:40:01.232Z","dependency_job_id":"7c4182b0-c760-4d24-a7b1-1f7ae8c106f8","html_url":"https://github.com/guiyomh/charlatan","commit_stats":null,"previous_names":["guiyomh/go-faker-fixtures"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guiyomh%2Fcharlatan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guiyomh%2Fcharlatan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guiyomh%2Fcharlatan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guiyomh%2Fcharlatan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guiyomh","download_url":"https://codeload.github.com/guiyomh/charlatan/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248691309,"owners_count":21146325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","expression-language","faker","fixture","fixtures","golang","testing"],"created_at":"2025-02-05T15:38:54.225Z","updated_at":"2025-04-13T09:35:19.385Z","avatar_url":"https://github.com/guiyomh.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/guiyomh/charlatan/actions/workflows/ci.yaml/badge.svg)](https://github.com/guiyomh/charlatan/actions/workflows/ci.yaml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/guiyomh/charlatan)](https://goreportcard.com/report/github.com/guiyomh/charlatan)\n[![codecov](https://codecov.io/gh/guiyomh/charlatan/branch/main/graph/badge.svg?token=klkJyfMnUB)](https://codecov.io/gh/guiyomh/charlatan)\n\n\n# Charlatan - Expressive fixtures generator\n\nRelying on [brianvoe/gofakeit](https://github.com/brianvoe/gofakeit), Charlatan allows you to create a ton of fixtures/fake data for use while developing or testing your project.\nIt is inspired by [nelmio/alice](https://github.com/nelmio/alice).It gives you a few essential tools to make it very easy to generate complex data in a readable and easy to edit way,\nso that everyone on your team can tweak the fixtures if needed.\n\n## Table of content\n\n1. [Installation](#Installation)\n2. [Example](#Example)\n3. [Complete Reference](doc/reference.md)\n4. [Handling Relations](doc/handling-relations.md)\n5. [Data generator](https://github.com/brianvoe/gofakeit/blob/master/README.md#120-functions)\n\n## Installation\n\nFirst, get it:\n\n```shell\ngo get -u github.com/guiyomh/charlatan\n```\n## Example\nHere is a complete example of a declaration:\n\n```yaml\nuser:\n    user_tpl (template):\n        first_name: '{firstname}'\n        last_name: '{lastname}'\n        pseudo: '{username}'\n        password: '{words:2,true}'\n        email : '{email}'\n    admin_1:\n        first_name: 'William'\n        last_name: 'Wallace'\n        pseudo: 'WW'\n        password: 'freedommmmmmm'\n        email : 'freedom@gouv.co.uk'\n        isAdmin: true\n    admin_{2..5} (extends user_tpl):\n        isAdmin: true\n    user_{bob,harry,george} (extends user_tpl):\n        isAdmin: false\n```\nYou can then load them easily with:\n\n```bash\ncharlatan load --fixtures ./fixtures --user=\u003cyour_db_user\u003e --dbname=\u003cyour_dbname\u003e --pass=\u003cyour_db_pass\u003e\n```\n## Compatible databases\n\n* MySQL / MariaDB\n* PostgreSQL (in progress)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguiyomh%2Fcharlatan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguiyomh%2Fcharlatan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguiyomh%2Fcharlatan/lists"}