{"id":13599846,"url":"https://github.com/PumpkinSeed/fakeit","last_synced_at":"2025-04-10T17:32:36.245Z","repository":{"id":44591186,"uuid":"186679637","full_name":"PumpkinSeed/fakeit","owner":"PumpkinSeed","description":"Fake data generator library with 130+ functions written in Rust","archived":false,"fork":false,"pushed_at":"2023-10-03T13:40:24.000Z","size":150,"stargazers_count":148,"open_issues_count":7,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-24T13:28:13.237Z","etag":null,"topics":["faker","faker-generator","hacktoberfest","random-generator","randomizer","rust-library"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/PumpkinSeed.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}},"created_at":"2019-05-14T18:38:27.000Z","updated_at":"2024-04-19T13:43:43.000Z","dependencies_parsed_at":"2024-01-14T04:44:13.810Z","dependency_job_id":"f8567eb9-ff84-4fef-83bb-e096c468641f","html_url":"https://github.com/PumpkinSeed/fakeit","commit_stats":{"total_commits":53,"total_committers":3,"mean_commits":"17.666666666666668","dds":"0.037735849056603765","last_synced_commit":"f9960a757004c177136e78d3a001f0cf157c333f"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumpkinSeed%2Ffakeit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumpkinSeed%2Ffakeit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumpkinSeed%2Ffakeit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PumpkinSeed%2Ffakeit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PumpkinSeed","download_url":"https://codeload.github.com/PumpkinSeed/fakeit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223292272,"owners_count":17121106,"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":["faker","faker-generator","hacktoberfest","random-generator","randomizer","rust-library"],"created_at":"2024-08-01T17:01:13.663Z","updated_at":"2024-11-07T01:31:04.259Z","avatar_url":"https://github.com/PumpkinSeed.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# fakeit\n\n[![Latest Version](https://img.shields.io/crates/v/fakeit.svg)](https://crates.io/crates/fakeit)\n![Minimum rustc version](https://img.shields.io/badge/rustc-1.31.0+-green.svg)\n\nPort of the famous [Go fakeit](https://github.com/brianvoe/gofakeit) library for Rust with more than 130 functions.\n\n### Warning\n\nv1.2.0 breaks the backward compatibility with the previous versions. The `chrono` package have been completely removed, so the following functions returns simplified structs:\n\n- `datetime::date_range(\"RFC3339\", \"RFC3339\");`\n- `datetime::date();`\n\nThere is the workaround to get the same behaviour as before: \n\n```rust\nextern crate fakeit;\nextern crate chrono;\n\nuse fakeit::datetime;\nuse chrono::{DateTime, NaiveDateTime, Utc};\n\nfn main() {\n    let data = datetime::date_range(\"RFC3339\", \"RFC3339\");\n    // OR\n    let data = datetime::date();\n\n    let datetime = NaiveDateTime::from_timestamp_opt(data.secs, data.nsecs)\n        .expect(\"invalid or out-of-range datetime\");\n    let dt = DateTime::\u003cUtc\u003e::from_utc(datetime, Utc);\n    println!(\"{}\", dt.to_rfc3339());\n}\n```\n\n### Usage\n\n- [Crates.io/fakeit](https://crates.io/crates/fakeit)\n- [docs.rs](https://docs.rs/fakeit)\n\n### Functions \n\n- [address](#address-16-functions)\n- [animal](#animal-6-functions)\n- [beer](#beer-8-functions)\n- [bool](#bool-1-functions)\n- [color](#color-4-functions)\n- [company](#company-4-functions)\n- [contact](#contact-4-functions)\n- [currency](#currency-4-functions)\n- [datetime](#datetime-14-functions)\n- [file](#file-2-functions)\n- [generator](#generator-1-function)\n- [hacker](#hacker-6-functions)\n- [hipster](#hipster-3-functions)\n- [image](#image-1-function)\n- [internet](#internet-7-functions)\n- [job](#job-4-functions)\n- [language](#language-3-functions)\n- [log-level](#log-level-3-functions)\n- [name](#name-5-functions)\n- [password](#password-1-function)\n- [payment](#payment-6-functions)\n- [person](#person-3-functions)\n- [status code](#status-code-2-functions)\n- [unique](#unique-2-functions)\n- [user agent](#user-agent-8-functions)\n- [vehicle](#vehicle-6-functions)\n- [words](#words-6-functions)\n\n##### address (16 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::address;\n\nfn main() {\n    let data = address::info(); // address::Info struct\n    let data = address::street(); // street: 1128 South North Dakota borough\n    let data = address::street_number(); // street_number: 3155\n    let data = address::street_prefix(); // street_prefix: Port\n    let data = address::street_name(); // street_name: Kansas\n    let data = address::street_suffix(); // street_suffix: mouth\n    let data = address::city(); // city: Schmelerburgh\n    let data = address::state(); // state: Kentucky\n    let data = address::state_abr(); // state_abr: WA\n    let data = address::zip(); // zip: 75221\n    let data = address::country(); // country: Romania\n    let data = address::country_abr(); // country_abr: BI\n    let data = address::latitude(); // latitude: -69.14192\n    let data = address::latitude_in_range(-30 as f64, 30 as f64); // latitude_in_range: -18.35571\n    let data = address::longitude(); // longitude: 113.12952\n    let data = address::longitude_in_range(-30 as f64, 30 as f64); // longitude_in_range: -16.484156\n}\n```\n\n##### animal (6 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::animal;\n\nfn main() {\n    let data = animal::pet_name(); // pet_name: Squeakers\n    let data = animal::animal(); // animal: salmon\n    let data = animal::type_of(); // type_of: fish\n    let data = animal::farm(); // farm: Sheep\n    let data = animal::cat(); // cat: Oriental Shorthair\n    let data = animal::dog(); // dog: Rottweiler\n}\n```\n\n##### beer (8 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::beer;\n\nfn main() {\n    let data = beer::name(); // name: Sierra Nevada Bigfoot Barleywine Style Ale\n    let data = beer::style(); // style: Porter\n    let data = beer::hop(); // hop: Equinox\n    let data = beer::yeast(); // yeast: 1084 - Irish Ale\n    let data = beer::malt(); // malt: Roasted barley\n    let data = beer::ibu(); // ibu: 75 IBU\n    let data = beer::alcohol(); // alcohol: 2.943696 %\n    let data = beer::blg(); // blg: 7.4607124°Blg\n}\n```\n\n##### bool (1 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::bool;\n\nfn main() {\n    let data = bool::bool(); // true / false\n}\n```\n\n##### color (4 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::color;\n\nfn main() {\n    let data = color::full(); // full: LightYellow\n    let data = color::hex(); // hex: #662461\n    let data = color::safe(); // safe: black\n    let data = color::rgb(); // rgb: [162, 98, 22]\n}\n```\n\n##### company (4 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::company;\n\nfn main() {\n    let data = company::company(); // company: Rowe-Schoen\n    let data = company::company_suffix(); // company_suffix: Inc\n    let data = company::buzzword(); // buzzword: systemic\n    let data = company::bs(); // bs: strategic\n}\n```\n\n##### contact (4 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::contact;\n\nfn main() {\n    let data = contact::info(); // contect::Info\n    let data = contact::phone(); // phone: 5173757868\n    let data = contact::phone_formatted(); // phone_formatted: 382.450.6544\n    let data = contact::email(); // email: benkuvalis@marks.org\n}\n```\n\n##### currency (4 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::currency;\n\nfn main() {\n    let data = currency::compact(); // currency::Info\n    let data = currency::short(); // short: SRD\n    let data = currency::long(); // long: Burundi Franc\n    let data = currency::price(1 as f64, 123 as f64); // price: 53.7\n}\n```\n\n##### datetime (14 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::datetime;\n\nfn main() {\n    let data = datetime::month(); // month: 10\n    let data = datetime::day(); // day: 10\n    let data = datetime::week_day(); // week_day: 6\n    let data = datetime::year(); // year: 1986\n    let data = datetime::hour(); // hour: 10\n    let data = datetime::minute(); // minute: 10\n    let data = datetime::second(); // second: 10\n    let data = datetime::nanosecond(); // nanosecond: 959678991\n    let data = datetime::timezone(); // timezone: SA Pacific Standard Time\n    let data = datetime::timezone_full(); // timezone_full: (UTC-04:00) Atlantic Time (Canada)\n    let data = datetime::timezone_abv(); // timezone_abv: BST\n    let data = datetime::timezone_offset(); // timezone_offset: 13\n    let data = datetime::date_range(\"RFC3339\", \"RFC3339\"); // secs/nsecs to create chrono Datetime\n    let data = datetime::date(); // secs/nsecs to create chrono Datetime\n}\n```\n\n##### file (2 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::file;\n\nfn main() {\n    let data = file::mime_type(); // mime_type: text/x-fortran\n    let data = file::extension(); // extension: aspx\n}\n```\n\n##### generator (1 function)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::generator;\n\nfn main() {\n    let data = generator::generate(\"{person.first} {person.last} {contact.email} #?#?#?\".to_string()); // data: Watson Connelly baileeprosacco@smitham.biz 6d0e0a\n    // More details about this later\n}\n```\n\n##### hacker (6 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::hacker;\n\nfn main() {\n    let data = hacker::phrase(); // phrase: parsing the sensor won't do anything, we need to bypass the open-source AGP sensor!\n    let data = hacker::abbreviation(); // abbreviation: PCI\n    let data = hacker::adjective(); // adjective: bluetooth\n    let data = hacker::noun(); // noun: protocol\n    let data = hacker::verb(); // verb: copy\n    let data = hacker::ingverb(); // ingverb: transmitting\n}\n```\n\n##### hipster (3 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::hipster;\n\nfn main() {\n    let data = hipster::word(); // word: fingerstache\n    let data = hipster::sentence(12); // sentence: Itaque aliquid id ex repudiandae adipisci quibusdam excepturi deleniti qui alias animi.\n    let data = hipster::paragraph(3, 4, 40, \" \".to_string()); // paragraph: Voluptas minima delectus voluptatibus earum rerum accusamus consequatur sunt....\n}\n```\n\n##### image (1 function)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::image;\n\nfn main() {\n    let data = image::url(500, 500); // url: https://picsum.photos/500/500\n}\n```\n\n##### internet (7 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::internet;\n\nfn main() {\n    let data = internet::domain_name(); // domain_name: productvisualize.net\n    let data = internet::http_method(); // http_method: DELETE\n    let data = internet::domain_suffix(); // domain_suffix: biz\n    let data = internet::ipv4_address(); // ipv4_address: 196.140.182.201\n    let data = internet::ipv6_address(); // ipv6_address: 2001:cafe:1248:1dc7:17dd:19f4:8798:621d\n    let data = internet::mac_address(); // mac_address: 2D:3F:7E:5D:61:C1\n    let data = internet::username(); // username: Nienow1881\n}\n```\n\n##### job (4 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::job;\n\nfn main() {\n    let data = job::info(); // job::Info\n    let data = job::title(); // title: Executive\n    let data = job::descriptor(); // descriptor: International\n    let data = job::level(); // level: Solutions\n}\n```\n\n##### language (3 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::language;\n\nfn main() {\n    let data = language::random(); // random: Tatar\n    let data = language::abbreviation(); // abbreviation: co\n    let data = language::programming(); // programming: Rust\n}\n```\n\n##### log-level (3 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::log_level;\n\nfn main() {\n    let data = log_level::general(); // general: info\n    let data = log_level::syslog(); // syslog: crit\n    let data = log_level::apache(); // apache: debug\n}\n```\n\n##### name (5 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::name;\n\nfn main() {\n    let data = name::full(); // full: Keyshawn Auer\n    let data = name::first(); // first: Brycen\n    let data = name::last(); // last: Hartmann\n    let data = name::prefix(); // prefix: Mr.\n    let data = name::suffix(); // suffix: PhD\n}\n```\n\n##### password (1 function)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::password;\n\nfn main() {\n    let data = password::generate(upper, numeric, special, num); // #9e1Vv5s\u0026Ng8L-#9@=!6+s1+0@R\n}\n```\n\n##### payment (6 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::payment;\n\nfn main() {\n    let data = payment::credit_card(); // payment::CreditCard\n    let data = payment::credit_card_type(); // credit_card_type: Discover\n    let data = payment::credit_card_number(); // credit_card_number: 341545247171534\n    let data = payment::credit_card_luhn_number(); // @TODO\n    let data = payment::credit_card_exp(); // credit_card_exp: 04/21\n    let data = payment::credit_card_cvv(); // credit_card_cvv: 537\n}\n```\n\n##### person (3 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::person;\n\nfn main() {\n    let data = person::info(); // person::Info\n    let data = person::ssn(); // ssn: 792671651\n    let data = person::gender(); // gender: male\n}\n```\n\n##### status code (2 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::status_code;\n\nfn main() {\n    let data = status_code::simple(); // simple: 404\n    let data = status_code::general(); // general: 400\n}\n```\n\n##### unique (2 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::unique;\n\nfn main() {\n    let data = unique::uuid_v1(); // uuid_v1: 13be40a6-1dd2-11b2-802a-010203040506\n    let data = unique::uuid_v4(); // uuid_v4: a474961e-936a-4897-966a-15fcff7bbc87\n}\n```\n\n##### user agent (8 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::user_agent;\n\nfn main() {\n    let data = user_agent::chrome(); // chrome: Mozilla/5.0 (X11; Linux i686) AppleWebKit/532 (KHTML, like Gecko) Chrome/36.0.861.0 Mobile Safari/532\n    let data = user_agent::firefox(); // firefox: Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/2005-5-27 Firefox/36.0\n    let data = user_agent::safari(); // safari: Mozilla/5.0 (Windows; U; Windows NT 6.2) AppleWebKit/531.23.3 (KHTML, like Gecko) Version/4.0 Safari/531.23.3\n    let data = user_agent::opera(); // opera: Opera/8.22 (Macintosh; PPC Mac OS X 10_6_8; en-US) Presto/2.11.181 Version/12.00\n    let data = user_agent::linux_platform_token(); // linux_platform_token: X11; Linux x86_64\n    let data = user_agent::mac_platform_token(); // mac_platform_token: Macintosh; U; PPC Mac OS X 10_6_2\n    let data = user_agent::windows_platform_token(); // windows_platform_token: Windows 98; Win 9x 4.90\n    let data = user_agent::random_platform(); // random_platform: Macintosh; Intel Mac OS X 10_7_5\n}\n```\n\n##### vehicle (6 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::vehicle;\n\nfn main() {\n    let data = vehicle::info(); // vehicle::Info\n    let data = vehicle::vehicle_type(); // vehicle_type: Passenger car mini\n    let data = vehicle::fuel(); // fuel: Electric\n    let data = vehicle::transmission_gear(); // transmission_gear: Automatic\n    let data = vehicle::car_maker(); // car_maker: Chevrolet\n    let data = vehicle::car_model(); // car_model: Gti\n}\n```\n\n##### words (6 functions)\n\n```rust\nextern crate fakeit;\n\nuse fakeit::words;\n\nfn main() {\n    let data = words::word(); // word: saepe\n    let data = words::sentence(word_count); // sentence: Nemo vitae rerum consequuntur vero animi incidunt esse doloribus eos.\n    let data = words::paragraph(count, sentence_count, word_count, separator); // paragraph: Minima aut numquam nihil rerum commodi pariatur dolores...\n    let data = words::question(); // question: Placeat voluptatem at ut eveniet suscipit similique dicta quis?\n    let data = words::quote(); // quote: \"Dignissimos dolorem quam tempore excepturi facere dicta.\" - Willy Kihn\n    \n    let opts = words::ParagraphOpts {\n        count: 5,\n        sentence_count: 4,\n        word_count: 11,\n        separator: \"\\n\".to_string(),\n    };\n    let data = words::paragraph_generator(opts, \u0026words::sentence); // paragraph_generator: Quisquam aut consequuntur nobis voluptas porro...\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPumpkinSeed%2Ffakeit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPumpkinSeed%2Ffakeit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPumpkinSeed%2Ffakeit/lists"}