{"id":13547297,"url":"https://github.com/serpro69/kotlin-faker","last_synced_at":"2026-03-06T10:08:39.782Z","repository":{"id":35608788,"uuid":"174969439","full_name":"serpro69/kotlin-faker","owner":"serpro69","description":"Port of a popular ruby faker gem written in kotlin. Generate realistically looking fake data such as names, addresses, banking details, and many more, that can be used for testing and data anonymization purposes.","archived":false,"fork":false,"pushed_at":"2025-03-30T17:40:58.000Z","size":38602,"stargazers_count":482,"open_issues_count":21,"forks_count":45,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T23:07:02.671Z","etag":null,"topics":["android","android-development","android-testing","anonymisation","anonymization","anonymizer","data","faker","faker-gem","faker-generator","faker-library","faker-libs","java","jvm","kotlin","kotlin-faker","kotlin-library","test-automation","testing","testing-tools"],"latest_commit_sha":null,"homepage":"https://serpro69.github.io/kotlin-faker/","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serpro69.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.adoc","contributing":"CONTRIBUTING.adoc","funding":".github/FUNDING.yml","license":"LICENSE.adoc","code_of_conduct":null,"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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":"serpro69","custom":null}},"created_at":"2019-03-11T09:41:12.000Z","updated_at":"2025-03-20T09:42:00.000Z","dependencies_parsed_at":"2023-10-15T14:50:00.879Z","dependency_job_id":"6ab56d5c-feec-410e-a820-6d93861cfa73","html_url":"https://github.com/serpro69/kotlin-faker","commit_stats":null,"previous_names":[],"tags_count":121,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpro69%2Fkotlin-faker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpro69%2Fkotlin-faker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpro69%2Fkotlin-faker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpro69%2Fkotlin-faker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serpro69","download_url":"https://codeload.github.com/serpro69/kotlin-faker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247569118,"owners_count":20959760,"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":["android","android-development","android-testing","anonymisation","anonymization","anonymizer","data","faker","faker-gem","faker-generator","faker-library","faker-libs","java","jvm","kotlin","kotlin-faker","kotlin-library","test-automation","testing","testing-tools"],"created_at":"2024-08-01T12:00:53.530Z","updated_at":"2026-03-06T10:08:39.724Z","avatar_url":"https://github.com/serpro69.png","language":"Kotlin","funding_links":["https://buymeacoffee.com/serpro69"],"categories":["Kotlin","测试","Examples"],"sub_categories":[],"readme":"[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct-single.svg)](https://stand-with-ukraine.pp.ua)\n\n\u003e [!IMPORTANT]\n\u003e **Are you considering supporting the project by donating to me? Please DO NOT!!!**\n\u003e\n\u003e **Please visit the above banner link and make a small donation to help the people in Ukraine. A small donation goes a long way.** 💙💛\n\n\u003ca href=\"https://github.com/serpro69/kotlin-faker\"\u003e \u003cimg src=./logo/name.png alt=\"kotlin-faker\"/\u003e \u003c/a\u003e\n\n\u003e **Generate realistically-looking fake data for Kotlin, Android, Java and JVM**  \n\u003e Use kotlin-faker during development and testing to ensure your application data looks as if it was real, just like this *really* fake logo, but not quite so.\n\u003e\n\u003e \u003cimg src=./logo/kotlin_faker.png height=\"144\" alt=\"fake-logo\"/\u003e\n\u003e\n\u003e *Kotlin-faker is a kotlin port of a popular [ruby faker](https://github.com/stympy/faker) gem.*\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/serpro69/kotlin-faker/build.yml?branch=master\u0026logo=github\u0026style=for-the-badge)](https://github.com/serpro69/kotlin-faker/actions/workflows/build.yml)\n[![Maven Central](https://img.shields.io/maven-central/v/io.github.serpro69/kotlin-faker?style=for-the-badge)](https://search.maven.org/artifact/io.github.serpro69/kotlin-faker)\n[![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/io.github.serpro69/kotlin-faker?label=snapshot-version\u0026server=https%3A%2F%2Foss.sonatype.org\u0026style=for-the-badge\u0026color=yellow)](#downloading)\n[![Issues](https://img.shields.io/github/issues/serpro69/kotlin-faker.svg?logo=GitHub\u0026style=for-the-badge\u0026color=lightblue)](https://github.com/serpro69/kotlin-faker/issues)\n![GitHub Top Lang](https://img.shields.io/github/languages/top/serpro69/kotlin-faker.svg?logo=Kotlin\u0026logoColor=white\u0026color=A97BFF\u0026style=for-the-badge)\n[![Awesome Kotlin](https://img.shields.io/badge/awesome-kotlin-orange?logo=Awesome-Lists\u0026style=for-the-badge)](https://kotlin.link/resources?q=kotlin-faker)\n[![Licence](https://img.shields.io/github/license/serpro69/kotlin-faker.svg?style=for-the-badge)](LICENSE.adoc)\n\n## ToC\n\n\u003c!--toc:start--\u003e\n- [ToC](#toc)\n- [About](#about)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n  - [Install with Gradle](#install-with-gradle)\n  - [Install with Maven](#install-with-maven)\n  - [BOM](#bom)\n  - [Additional Fakers](#additional-fakers)\n  - [Third-Party Extensions](#third-party-extensions)\n- [Usage](#usage)\n  - [Generating data](#generating-data)\n- [CLI](#cli)\n- [Test](#test)\n- [Build and Deploy](#build-and-deploy)\n  - [Bumping versions](#bumping-versions)\n    - [Pre-releases](#pre-releases)\n    - [Releases](#releases)\n    - [Make targets](#make-targets)\n- [Contributing](#contributing)\n- [Thanks](#thanks)\n- [License](#license)\n\u003c!--toc:end--\u003e\n\n## About\n\n**kotlin-faker: the ultimate fake data generation library for development and testing**\n\nKotlin-faker is a comprehensive data-generation library for the JVM. It is most suitable for development, testing, and data anonymization purposes, and can be used with Kotlin, Java, Android, Scala, and other JVM-based projects. Kotlin-faker provides realistic-looking, fake data generation capabilities in various domains like *names* 📇, *addresses* 🏡, *internet* 🌐, *banking* 💸, *books* 📖, *games* 🎮, and [many more](https://serpro69.github.io/kotlin-faker/wiki/data-providers/).\n\nIn fact, kotlin-faker is so good at generating fake data, it almost fooled us into thinking it was real! 😱 From names that sound like they belong to secret agents 🕴️, to addresses where superheroes 🦸 might live.\n\n---\n\n⚠️  P.S. *All names, addresses, bank accounts, and other data generated by this library - even those based on real strings - are entirely fictional.* 🦹 *All produced data is fake and generated... poorly* 💩 *The data is completely made up, but the problems that it tries to solve are real* 👽 *We take no responsibility for any existential crises caused by the eerily convincing fake data. Use with caution!* ⚠️\n\n## Prerequisites\n\n- Faker libraries depend on java 8 and kotlin 1.9.x for runtime\n- Building faker from source requires 3 jdk distributions: jdk 8 (temurin is recommended, but any vendor should work), jdk 11 (for [`docs`](docs) module) and jdk 17 (graalvm-ce distribution, for [`cli-bot`](cli-bot) module). See [CONTRIBUTING](CONTRIBUTING.adoc) for more details.\n\n## Installation\n\nLatest releases are always available on maven central.\n\n### Install with Gradle\n\n```groovy\ndependencies {\n    implementation 'io.github.serpro69:kotlin-faker:$version'\n}\n```  \n\n### Install with Maven\n\n```xml\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eio.github.serpro69\u003c/groupId\u003e\n        \u003cartifactId\u003ekotlin-faker\u003c/artifactId\u003e\n        \u003cversion\u003e${version}\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```  \n\n***Snapshots are also available using the following repository: `https://oss.sonatype.org/content/repositories/snapshots/`***\n\n**With gradle**\n```groovy\nrepositories {\n    maven {\n        url = 'https://oss.sonatype.org/content/repositories/snapshots/'\n    }\n}\n```\n\n**With maven**\n```xml\n\u003crepositories\u003e\n    \u003crepository\u003e\n        \u003cid\u003esonatype-snapshot\u003c/id\u003e\n        \u003cname\u003eSonatype Snapshot\u003c/name\u003e\n        \u003curl\u003ehttps://oss.sonatype.org/content/repositories/snapshots/\u003c/url\u003e\n    \u003c/repository\u003e\n\u003c/repositories\u003e\n```\n\n### BOM\n\nKotlin-faker provides a [Bill-of-Materials](https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms) that simplifies dependency management.\n\nSee [bom/README.md](bom/README.md) for more details.\n\n### Additional Fakers\n\nExtra fakers covering a wide range of domains are available as separate dependencies. See [faker](faker) submodules in this repo for more details about each faker.\n\n### Third-Party Extensions\n\nFaker provides extensions for some third-party testing libraries. See [extension](extension) submodules in this repo for more details about each extension.\n\n## Usage\n\nFull usage documentation for kotlin-faker is available at [serpro69.github.io/kotlin-faker/](https://serpro69.github.io/kotlin-faker/).\n\n_NB! The documentation website is currently not versioned and always reflects `master` rather than the last stable version._\n\n\u003e [!WARNING]\n\u003e **kotlin-faker 2.0** is coming, which, apart from new features, also means breaking changes.\n\u003e\n\u003e More details on currently added breaking changes and migration can be found in [#220](https://github.com/serpro69/kotlin-faker/issues/220)\n\n### Generating data\n\n```kotlin\nval faker = faker { }\n\nfaker.name.firstName() // =\u003e Ana\nfaker.address.city() // =\u003e New York\n```\n\n## CLI\n\nCommand line application can be used for a quick lookup of faker functions. See [faker-bot README](cli-bot/README.md)\nfor installation and usage details.\n\n## Test\n\nTo run unit tests: `./gradlew clean test`\n\nTo run integration tests: `./gradlew clean integrationTest`\n\n## Build and Deploy\n\nTo deploy to OSS Sonatype repo:\n\n- set the following properties in `~/.gradle/gradle.properties`\n    - `signing.keyId=\u003ckey_id\u003e`\n    - `signing.password=\u003ckey_passphrase\u003e`\n    - `signing.secretKeyRingFile=/home/user/.gnupg/secring.gpg`\n    - `sonatypeUsername=\u003coss_user_token\u003e`\n    - `sonatypePassword=\u003coss_password_token\u003e`\n    - `stagingProfileId=\u003coss_staging_profile_id\u003e`\n- running `publishFakerCorePublicationToSonatypeRepository` will publish the artifacts to either staging release repo or to snapshots repo, depending on the current version\n\n### Bumping versions\n\nVersions need to be bumped manually through a tag with the next release version that has to follow the\n[semver](https://semver.org/) rules, and the tag has to be pushed to origin.\n\nCreating the tag can be either done manually with `git tag` or by using `gradlew tag` task.\n\n#### Pre-releases\n\nTo create a new pre-release version (new release candidate)\nthe following can be used: `./gradlew clean tag -Prelease -PnewPreRelease -PbumpComponent={comp}`, where `comp` can be\none of the following values: `major`, `minor`, or `patch`.\n\nTo bump an existing pre-release to the next version (next release candidate for the same release version)\nthe following can be used: `./gradlew clean tag -Prelease -PpreRelease`.\n\n#### Releases\n\nTo promote a pre-release to a release version the following can be used:\n`./gradlew clean tag -Prelease -PpromoteToRelease`,\n\nTo create a new release version the following can be used:\n`./gradlew clean tag -Prelease -PbumpComponent={comp}`, where `comp` can be one of the following values: `major`\n, `minor`, or `patch`.\n\n#### Make targets\n\nAlternatively to the above targets from [Makefile](Makefile) can be used for the same purposes.\n\n## Contributing\n\nThe [CONTRIBUTING](CONTRIBUTING.adoc) guidelines should help in getting you started on how to contribute to this project.\n\n## Thanks\n\nMany thanks to these awesome tools that help us in creating open-source software:  \n[![Intellij IDEA](https://cloud.google.com/tools/images/icon_IntelliJIDEA.png)](http://www.jetbrains.com/idea)\n[![YourKit Java profiler](https://www.yourkit.com/images/yklogo.png)](https://www.yourkit.com/features/)\n\n## License\n\nThis code is free to use under the terms of the MIT license. See [LICENSE](LICENSE.adoc).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserpro69%2Fkotlin-faker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserpro69%2Fkotlin-faker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserpro69%2Fkotlin-faker/lists"}