{"id":29097421,"url":"https://github.com/lambdaisland/faker","last_synced_at":"2025-06-28T13:42:28.604Z","repository":{"id":57713546,"uuid":"474402053","full_name":"lambdaisland/faker","owner":"lambdaisland","description":"Port of the Ruby Faker gem","archived":false,"fork":false,"pushed_at":"2023-01-12T15:54:48.000Z","size":1383,"stargazers_count":20,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-25T07:35:35.236Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lambdaisland.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-26T16:22:42.000Z","updated_at":"2025-04-30T04:13:13.000Z","dependencies_parsed_at":"2023-02-09T12:45:56.555Z","dependency_job_id":null,"html_url":"https://github.com/lambdaisland/faker","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Ffaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Ffaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Ffaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Ffaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lambdaisland","download_url":"https://codeload.github.com/lambdaisland/faker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Ffaker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":257055607,"owners_count":22483150,"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":[],"created_at":"2025-06-28T13:42:18.453Z","updated_at":"2025-06-28T13:42:28.599Z","avatar_url":"https://github.com/lambdaisland.png","language":"Clojure","funding_links":["http://opencollective.com/lambda-island"],"categories":[],"sub_categories":[],"readme":"# faker\n\n\u003c!-- badges --\u003e\n[![cljdoc badge](https://cljdoc.org/badge/com.lambdaisland/faker)](https://cljdoc.org/d/com.lambdaisland/faker) [![Clojars Project](https://img.shields.io/clojars/v/com.lambdaisland/faker.svg)](https://clojars.org/com.lambdaisland/faker)\n\u003c!-- /badges --\u003e\n\nPort of the Faker Ruby gem\n\n## Features\n\n\u003c!-- installation --\u003e\n## Installation\n\nTo use the latest release, add the following to your `deps.edn` ([Clojure CLI](https://clojure.org/guides/deps_and_cli))\n\n```\ncom.lambdaisland/faker {:mvn/version \"0.2.8\"}\n```\n\nor add the following to your `project.clj` ([Leiningen](https://leiningen.org/))\n\n```\n[com.lambdaisland/faker \"0.2.8\"]\n```\n\u003c!-- /installation --\u003e\n\n## Rationale\n\nCreate fake values that look \"nice\", i.e. real-world-ish, so it's quick and easy\nto populate UIs to get a feel for how they behave.\n\nThe single `fake` function is the main interface, it can do a bunch of\nthings. You can pass it a \"path\" of something it knows about,\n\n- `(fake [:address :city])`\n- `(fake [:vehicle :vin])`\n\nA partial path will return a map of all nested fakers,\n\n- `(fake [:address])` `;;=\u003e {:country \"..\", :street_address \"...\", ....}`\n\nA regex will generate values that match the regex\n\n- `(fake #\"[A-Z0-9]{3}\")`\n\nA string is treated as a pattern, use #{} to nest faker paths, using dotted\nnotation, or \"#\" to put a digit.\n\n- `(fake \"#{company.name} GmbH\")`\n- `(fake \"##-####-##\")`\n\nUse a set to pick one of multiple choices\n\n- `(fake #{[:name :first-name] [:name :last-name]})`\n\nA map will generate values for each map value. Fakers that are invoked\nmultiple times are memoized. Since a lot of fakers are based on other fakers,\nthis allows you to generate related values.\n\n```\n(fake {:name [:name :name] :email [:internet :email]})\n;; =\u003e {:name \"Freiherrin Marlena Daimer\", :email \"marlenadaimer@daimerohg.com\"}\n```\n\nNot all fakers from the Ruby gem work, we mainly support the ones where a value\nis picked from a list, or a template is populated with values from other fakers.\nSome fakers rely on custom logic which often hasn't been ported. See the file\n[[supported_fakers.clj]] for all fakers that currently return a value, and\n[[unsupported_fakers.clj]] for the ones that return `nil` or throw an exception.\nNote that \"supported\" is defined loosely, e.g. the credit card faker currently\nreturns the pattern string rather than a valid number.\n  \n  \n\u003c!-- opencollective --\u003e\n## Lambda Island Open Source\n\n\u003cimg align=\"left\" src=\"https://github.com/lambdaisland/open-source/raw/master/artwork/lighthouse_readme.png\"\u003e\n\n\u0026nbsp;\n\nfaker is part of a growing collection of quality Clojure libraries created and maintained\nby the fine folks at [Gaiwan](https://gaiwan.co).\n\nPay it forward by [becoming a backer on our Open Collective](http://opencollective.com/lambda-island),\nso that we may continue to enjoy a thriving Clojure ecosystem.\n\nYou can find an overview of our projects at [lambdaisland/open-source](https://github.com/lambdaisland/open-source).\n\n\u0026nbsp;\n\n\u0026nbsp;\n\u003c!-- /opencollective --\u003e\n\n\u003c!-- contributing --\u003e\n## Contributing\n\nEveryone has a right to submit patches to faker, and thus become a contributor.\n\nContributors MUST\n\n- adhere to the [LambdaIsland Clojure Style Guide](https://nextjournal.com/lambdaisland/clojure-style-guide)\n- write patches that solve a problem. Start by stating the problem, then supply a minimal solution. `*`\n- agree to license their contributions as MPL 2.0.\n- not break the contract with downstream consumers. `**`\n- not break the tests.\n\nContributors SHOULD\n\n- update the CHANGELOG and README.\n- add tests for new functionality.\n\nIf you submit a pull request that adheres to these rules, then it will almost\ncertainly be merged immediately. However some things may require more\nconsideration. If you add new dependencies, or significantly increase the API\nsurface, then we need to decide if these changes are in line with the project's\ngoals. In this case you can start by [writing a pitch](https://nextjournal.com/lambdaisland/pitch-template),\nand collecting feedback on it.\n\n`*` This goes for features too, a feature needs to solve a problem. State the problem it solves, then supply a minimal solution.\n\n`**` As long as this project has not seen a public release (i.e. is not on Clojars)\nwe may still consider making breaking changes, if there is consensus that the\nchanges are justified.\n\u003c!-- /contributing --\u003e\n\n\u003c!-- license --\u003e\n## License\n\nCopyright \u0026copy; 2022 Arne Brasseur and Contributors\n\nLicensed under the term of the Mozilla Public License 2.0, see LICENSE.\n\u003c!-- /license --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdaisland%2Ffaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flambdaisland%2Ffaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdaisland%2Ffaker/lists"}