{"id":13483018,"url":"https://github.com/askn/faker","last_synced_at":"2026-03-10T19:30:53.364Z","repository":{"id":3321584,"uuid":"49072101","full_name":"askn/faker","owner":"askn","description":"Faker is a Crystal library that generates fake data for you","archived":false,"fork":false,"pushed_at":"2024-04-21T23:34:08.000Z","size":155,"stargazers_count":153,"open_issues_count":0,"forks_count":17,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-03T11:12:48.779Z","etag":null,"topics":["crystal","fake"],"latest_commit_sha":null,"homepage":null,"language":"Crystal","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/askn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2016-01-05T14:49:18.000Z","updated_at":"2025-03-02T18:05:54.000Z","dependencies_parsed_at":"2024-06-20T12:58:05.991Z","dependency_job_id":"dcac1d72-cd9e-448a-9839-5de833542eb3","html_url":"https://github.com/askn/faker","commit_stats":{"total_commits":58,"total_committers":13,"mean_commits":4.461538461538462,"dds":"0.48275862068965514","last_synced_commit":"458aed064ea36cd98024a8922dfc85a6b40151cd"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/askn/faker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askn%2Ffaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askn%2Ffaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askn%2Ffaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askn%2Ffaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/askn","download_url":"https://codeload.github.com/askn/faker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/askn%2Ffaker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30350016,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["crystal","fake"],"created_at":"2024-07-31T17:01:07.516Z","updated_at":"2026-03-10T19:30:53.344Z","avatar_url":"https://github.com/askn.png","language":"Crystal","funding_links":[],"categories":["Data Generators"],"sub_categories":[],"readme":"# faker\n\n[![Build Status](https://travis-ci.org/askn/faker.svg?branch=master)](https://travis-ci.org/askn/faker)\n\nThis shard is a port of [Faker](https://github.com/stympy/faker) gem that generates fake data.\n\n\n## Installation\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndependencies:\n  faker:\n    github: askn/faker\n```\n\n## Usage\n\n```crystal\nrequire \"faker\"\n\nFaker::Name.name\n```\n\n### Faker.seed\n\nIf you wish to seed the random data, you can call `Faker.seed number` and then all subsequent calls will be deterministic.\n\n### Faker::Address\n\n```crystal\nFaker::Address.city #=\u003e \"Imogeneborough\"\n\nFaker::Address.street_name #=\u003e \"Larkin Fork\"\n\nFaker::Address.street_address #=\u003e \"282 Kevin Brook\"\n\nFaker::Address.secondary_address #=\u003e \"Apt. 672\"\n\nFaker::Address.building_number #=\u003e \"7304\"\n\nFaker::Address.zip_code #=\u003e \"58517\"\n\nFaker::Address.postcode #=\u003e \"58517\"\n\nFaker::Address.time_zone #=\u003e \"Asia/Yakutsk\"\n\nFaker::Address.street_suffix #=\u003e \"Street\"\n\nFaker::Address.city_suffix #=\u003e \"fort\"\n\nFaker::Address.city_prefix #=\u003e \"Lake\"\n\nFaker::Address.state #=\u003e \"California\"\n\nFaker::Address.state_abbr #=\u003e \"AP\"\n\n\nFaker::Address.country #=\u003e \"French Guiana\"\n\nFaker::Address.country_code #=\u003e \"IT\"\n\nFaker::Address.latitude #=\u003e \"-58.17256227443719\"\n\nFaker::Address.longitude #=\u003e \"-156.65548382095133\"\n```\n\n### Faker::Business\n\n```crystal\n\nFaker::Business.credit_card_number #=\u003e \"1228-1221-1221-1431\"\n\nFaker::Business.credit_card_expiry_date #=\u003e \u003cTime: 2015-11-11\u003e\n\nFaker::Business.credit_card_type #=\u003e \"visa\"\n\n```\n\n\n### Faker::Code\n\n```crystal\n\nFaker::Code.isbn #=\u003e \"640354399-7\"\n\nFaker::Code.imei #=\u003e \"531691246033652\"\n\n```\n\n\n### Faker::Commerce\n\n```crystal\n\nFaker::Commerce.color #=\u003e \"lavender\"\n\n# Optional arguments max=3, fixed_amount=false\nFaker::Commerce.department #=\u003e \"Grocery, Health \u0026 Beauty\"\nFaker::Commerce.department(5) #=\u003e \"Grocery, Books, Health \u0026 Beauty\"\nFaker::Commerce.department(2, true) #=\u003e \"Books \u0026 Tools\"\n\nFaker::Commerce.product_name #=\u003e \"Practical Granite Shirt\"\n\nFaker::Commerce.price #=\u003e \"44.6\"\n\nFaker::Commerce.material #=\u003e \"Plastic\"\n```\n\n### Faker::Company\n\n```crystal\n\nFaker::Company.name #=\u003e \"Hirthe-Ritchie\"\n\nFaker::Company.suffix #=\u003e \"Group\"\n\n# Get a random company logo url in PNG format.\nFaker::Company.logo #=\u003e \"https://pigment.github.com/fake-logos/logos/medium/color/5.png\"\n```\n\n\n### Faker::Date\n\n```crystal\n\nFaker::Date.birthday.to_s(\"%Y-%m-%d\") #=\u003e \"1993-03-09\"\n\nFaker::Date.between(\"2020-01-01\", \"2020-08-15\").to_s(\"%Y-%m-%d\") #=\u003e \"2020-03-29\"\n\nFaker::Date.between_except(\"2020-01-01\", \"2020-08-15\", \"2020-05-10\").to_s(\"%Y-%m-%d\") #=\u003e \"2020-03-29\"\n\nFaker::Date.forward(days: 30).to_s(\"%Y-%m-%d\") #=\u003e \"2022-02-09\"\n\nFaker::Date.backward(days: 30).to_s(\"%Y-%m-%d\") #=\u003e \"2021-12-12\"\n\nFaker::Date.in_date_period(year: 2005).to_s(\"%Y-%m-%d\") #=\u003e \"2005-02-12\"\n```\n\n\n### Faker::Internet\n\n```crystal\n# Optional argument name=nil\nFaker::Internet.email #=\u003e \"eliza@mann.net\"\n\nFaker::Internet.email('Nancy') #=\u003e \"nancy@terry.biz\"\n\n# Optional argument name=nil\nFaker::Internet.free_email #=\u003e \"freddy@gmail.com\"\n\nFaker::Internet.free_email('Nancy') #=\u003e \"nancy@yahoo.com\"\n\n# Optional argument name=nil\nFaker::Internet.safe_email #=\u003e \"christelle@example.org\"\n\nFaker::Internet.safe_email('Nancy') #=\u003e \"nancy@example.net\"\n\n# Optional arguments specifier=nil, separators=%w(. _)\nFaker::Internet.user_name #=\u003e \"alexie\"\n\nFaker::Internet.user_name('Nancy') #=\u003e \"nancy\"\n\nFaker::Internet.user_name('Nancy Johnson', %w(. _ -)) #=\u003e \"johnson-nancy\"\n\n# Optional arguments: min_length=8, max_length=16\nFaker::Internet.password #=\u003e \"vg5msvy1uerg7\"\n\nFaker::Internet.password(8) #=\u003e \"yfgjik0hgzdqs0\"\n\nFaker::Internet.password(10, 20) #=\u003e \"eoc9shwd1hwq4vbgfw\"\n\nFaker::Internet.password(10, 20, true) #=\u003e \"3k5qS15aNmG\"\n\nFaker::Internet.password(10, 20, true, true) #=\u003e \"*%NkOnJsH4\"\n\nFaker::Internet.domain_name #=\u003e \"effertz.info\"\n\nFaker::Internet.domain_word #=\u003e \"haleyziemann\"\n\nFaker::Internet.domain_suffix #=\u003e \"info\"\n\nFaker::Internet.ip_v4_address #=\u003e \"24.29.18.175\"\n\nFaker::Internet.ip_v6_address #=\u003e \"ac5f:d696:3807:1d72:2eb5:4e81:7d2b:e1df\"\n\n# Optional argument prefix=''\nFaker::Internet.mac_address #=\u003e \"e6:0d:00:11:ed:4f\"\nFaker::Internet.mac_address('55:44:33') #=\u003e \"55:44:33:02:1d:9b\"\n\n# Optional arguments: host=domain_name, path=\"/#{user_name}\"\nFaker::Internet.url #=\u003e \"http://thiel.com/chauncey_simonis\"\nFaker::Internet.url('example.com') #=\u003e \"http://example.com/clotilde.swift\"\nFaker::Internet.url('example.com', '/foobar.html') #=\u003e \"http://example.com/foobar.html\"\n\n# Optional arguments: words=nil, glue=nil\nFaker::Internet.slug #=\u003e \"pariatur_laudantium\"\nFaker::Internet.slug('foo bar') #=\u003e \"foo.bar\"\nFaker::Internet.slug('foo bar', '-') #=\u003e \"foo-bar\"\n\n```\n\n### Faker::Lorem\n\n```crystal\n\nFaker::Lorem.word #=\u003e \"repellendus\"\n\n# Optional arguments: num=3, supplemental=false\nFaker::Lorem.words #=\u003e [\"dolores\", \"adipisci\", \"nesciunt\"]\nFaker::Lorem.words(4) #=\u003e [\"culpa\", \"recusandae\", \"aut\", \"omnis\"]\nFaker::Lorem.words(4, true) #=\u003e [\"colloco\", \"qui\", \"vergo\", \"deporto\"]\n\n# Optional arguments: char_count=255\nFaker::Lorem.characters #=\u003e \"uw1ep04lhs0c4d931n1jmrspprf5wrj85fefue0y7y6m56b6omquh7br7dhqijwlawejpl765nb1716idmp3xnfo85v349pzy2o9rir23y2qhflwr71c1585fnynguiphkjm8p0vktwitcsm16lny7jzp9t4drwav3qmhz4yjq4k04x14gl6p148hulyqioo72tf8nwrxxcclfypz2lc58lsibgfe5w5p0xv95peafjjmm2frkhdc6duoky0aha\"\nFaker::Lorem.characters(10) #=\u003e \"ang9cbhoa8\"\n\n# Optional arguments: word_count=4, supplemental=false, random_words_to_add=6\nFaker::Lorem.sentence #=\u003e \"Dolore illum animi et neque accusantium.\"\nFaker::Lorem.sentence(3) #=\u003e \"Commodi qui minus deserunt sed vero quia.\"\nFaker::Lorem.sentence(3, true) #=\u003e \"Inflammatio denego necessitatibus caelestis autus illum.\"\nFaker::Lorem.sentence(3, false, 4) #=\u003e \"Aut voluptatem illum fugit ut sit.\"\nFaker::Lorem.sentence(3, true, 4) #=\u003e \"Accusantium tantillus dolorem timor.\"\n\n# Optional arguments: sentence_count=3, supplemental=false\nFaker::Lorem.sentences #=\u003e [\"Vero earum commodi soluta.\", \"Quaerat fuga cumque et vero eveniet omnis ut.\", \"Cumque sit dolor ut est consequuntur.\"]\nFaker::Lorem.sentences(1) #=\u003e [\"Ut perspiciatis explicabo possimus doloribus enim quia.\"]\nFaker::Lorem.sentences(1, true) #=\u003e [\"Quis capillus curo ager veritatis voro et ipsum.\"]\n\n# Optional arguments: sentence_count=3, supplemental=false, random_sentences_to_add=3\nFaker::Lorem.paragraph #=\u003e \"Neque dicta enim quasi. Qui corrupti est quisquam. Facere animi quod aut. Qui nulla consequuntur consectetur sapiente.\"\nFaker::Lorem.paragraph(2) #=\u003e \"Illo qui voluptas. Id sit quaerat enim aut cupiditate voluptates dolorum. Porro necessitatibus numquam dolor quia earum.\"\nFaker::Lorem.paragraph(2, true) #=\u003e \"\"\nFaker::Lorem.paragraph(2, false, 4) #=\u003e \"Neque aut et nemo aut incidunt voluptates. Dolore cum est sint est. Vitae assumenda porro odio dolores fugiat. Est voluptatum quia rerum.\"\nFaker::Lorem.paragraph(2, true, 4) #=\u003e \"Vomito unde uxor annus. Et patior utilis sursum.\"\n\n# Optional arguments: paragraph_count=3, supplemental=false\nFaker::Lorem.paragraphs #=\u003e \"\"\nFaker::Lorem.paragraphs(1) #=\u003e \"\"\nFaker::Lorem.paragraphs(1, true) #=\u003e \"\"\n\n```\n\n### Faker::Name\n\n```crystal\nFaker::Name.name #=\u003e \"Tyshawn Johns Sr.\"\n\nFaker::Name.first_name #=\u003e \"Kaci\"\n\nFaker::Name.last_name #=\u003e \"Ernser\"\n\nFaker::Name.prefix #=\u003e \"Mr.\"\n\nFaker::Name.suffix #=\u003e \"IV\"\n\nFaker::Name.title #=\u003e \"Legacy Creative Director\"\n\n```\n\n### Faker::Number\n\n```crystal\n\n# Required parameter: digits\nFaker::Number.number(10) #=\u003e \"1968353479\"\n\n# Required parameter: l_digits\nFaker::Number.decimal(2) #=\u003e \"11.88\"\n\nFaker::Number.decimal(2, 3) #=\u003e \"18.843\"\n\n# Required parameter: digits\nFaker::Number.hexadecimal(3) #=\u003e \"e74\"\n\nFaker::Number.between(1, 10) #=\u003e 7\n\nFaker::Number.positive #=\u003e 235.59238499107653\n\nFaker::Number.negative #=\u003e -4480.042585669558\n\nFaker::Number.digit #=\u003e \"1\"\n\n```\n\n### Faker::PhoneNumber\n\n```crystal\n\nFaker::PhoneNumber.phone_number #=\u003e \"397.693.1309\"\n\n```\n\n\n### Faker::Hacker\n---------------------\nAre you having trouble writing tech-savvy dialogue for your latest screenplay?\nWorry not! Hollywood-grade technical talk is ready to fill out any form where you need to look smart.\n\n```crystal\n# Full Phrase\nFaker::Hacker.say_something_smart #=\u003e \"Try to compress the SQL interface, maybe it will program the back-end hard drive!\"\n\n# Short technical abbreviations\nFaker::Hacker.abbreviation  #=\u003e \"RAM\"\n\n# Hacker centric adjectives\nFaker::Hacker.adjective   #=\u003e \"open-source\"\n\n# Only the best hacker related nouns\nFaker::Hacker.noun   #=\u003e \"bandwidth\"\n\n# Actions that hackers take\nFaker::Hacker.verb  #=\u003e \"bypass\"\n\n# Verbs that end in -ing\nFaker::Hacker.ingverb #=\u003e \"synthesizing\"\n```\n\n### Faker::Team\n\n```crystal\n\n# Random Team Creature\nFaker::Team.creature #=\u003e \"gooses\"\n\n# Random Team Name created from random US State (Faker::Address.state) prepended to a random Team Creature\nFaker::Team.name #=\u003e \"Oregon vixens\"\n\n# Random Team State\nFaker::Team.state #=\u003e \"Oregon\"\n\n```\n\n## Contributing\n\n1. Fork it ( https://github.com/askn/faker/fork )\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Commit your changes (git commit -am \"Add some feature\")\n4. Push to the branch (git push origin my-new-feature)\n5. Create a new Pull Request\n\n## Contributors\n\n- [askn](https://github.com/askn) Aşkın Gedik - creator, maintainer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faskn%2Ffaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faskn%2Ffaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faskn%2Ffaker/lists"}