Faker is a Go library that generates fake data for you.

Overview

Faker is a Go library that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.

Faker is heavily inspired by PHP"s Faker

Faker requires Go >= 1.11

Buy Me A Coffee

PkgGoDev Build Status Coverage Status Go Report Card Gitpod ready-to-code Codacy Badge

Test it in Go Playground

Start at https://play.golang.org/p/JpTagDGBaHK

Installation

Add this to your Go file

import "github.com/jaswdr/faker"

And run go get or dep ensure to get the package.

Basic Usage

Use faker.New() to create and initialize a faker generator, which can generate data by accessing properties named after the type of data you want.

import "github.com/jaswdr/faker"

func main() {
    faker := faker.New()

    faker.Person().Name()
    // Lucy Cechtelar

    faker.Address().Address()
    // 426 Jordy Lodge

    faker.Lorem().Text()
    // Dolores sit sint laboriosam dolorem culpa et autem. Beatae nam sunt fugit
    // et sit et mollitia sed.
    // Fuga deserunt tempora facere magni omnis. Omnis quia temporibus laudantium
    // sit minima sint.
}

Even if this example shows a method access, each call to faker.Name() yields a different (random) result.

p := faker.Person()

for i:=0; i < 10; i++ {
  fmt.Println(p.Name())
}
  // Adaline Reichel
  // Dr. Santa Prosacco DVM
  // Noemy Vandervort V
  // Lexi O"Conner
  // Gracie Weber
  // Roscoe Johns
  // Emmett Lebsack
  // Keegan Thiel
  // Wellington Koelpin II
  // Ms. Karley Kiehn V

Generate fake data using Structs

type ExampleStruct struct {
	SimpleStringField string
	SimpleNumber int
	SimpleBool bool
	SomeFormatedString string `fake:"??? ###"`
	SomeStringArray [5]string `fake:"????"`
}

example := ExampleStruct{}
f.Struct().Fill(&example)
fmt.Printf("%+v", example)
//{SimpleStringField:87576a01c2a547b2bbf9b7c736d1db40 SimpleNumber:9223372036854775807 SimpleBool:false SomeFormatedString:cxo 321 SomeStringArray:[effr swxp ldnj obcs nvlg]}

See more formatters in docs

Get involved

Have a question? Use the Discussions page.

Development

Create a fork and get the code.

$ go get github.com/jaswdr/faker

Do your changes, add tests, run the tests.

$ go test
PASS
ok      github.com/jaswdr/faker 0.010s

Push to your fork and send a new pull request from your fork to this repository.

License

Faker is released under the MIT Licence. See the bundled LICENSE file for details.

Issues
  • [BUG] Flaking tests around time.

    [BUG] Flaking tests around time.

    Some of the tests are flaky and failing randomly - mainly related to TestUNIXTime and the like. I've noticed 3 of them randomly failing so far and am opening this issue to investigate at a later stage. This should not be related to any changes in the crypto feature that I was writing as these are in completely different files and non-overlapping.

    Edit: Managed to get the verbose output.

    === RUN   TestRFC1123
        time_test.go:74: 
            Expected: (int) 29 
            Got:      (int) 31
    --- FAIL: TestRFC1123 (0.00s)
    
    === RUN   TestUnixDate
        time_test.go:43: 
            Expected: (int) 28 
            Got:      (int) 30
    --- FAIL: TestUnixDate (0.00s)
    
    === RUN   TestRFC822
        time_test.go:55: 
            Expected: (int) 19 
            Got:      (int) 21
    --- FAIL: TestRFC822 (0.00s)
    
    bug 
    opened by xlanor 6
  • Add implementation of binary string generator for Faker

    Add implementation of binary string generator for Faker

    Description

    Added a binary string generator for faker.

    Are you trying to fix an existing issue?

    No

    Go Version

    $ go version
    go version go1.17.1 windows/amd64
    

    Go Tests

    $ go test
    PASS
    ok      github.com/jaswdr/faker 12.114s
    
    opened by bhatipradeep 5
  • Fix replacing whitespaces about company name for email address

    Fix replacing whitespaces about company name for email address

    Description

    Fix replacing whitespaces about company name for email address.

    Are you trying to fix an existing issue?

    No.

    Go Version

    $ go version
    go version go1.16 darwin/amd64
    

    Go Tests

    $ go test
    ok  	github.com/jaswdr/faker	4.834s
    
    opened by matsuyoshi30 5
  • 31: fix IntBetween generator

    31: fix IntBetween generator

    Description

    Fixes issue #31. While this is a sample fix, it doesn't fix failing tests yet.

    Are you trying to fix an existing issue?

    https://github.com/jaswdr/faker/issues/31

    Go Version

    $ go version
    go version go1.15.2 linux/amd64
    

    Go Tests

    $ go test -v
    # replace this line with the output
    
    invalid 
    opened by ab22 5
  • [FEATURE] Have 100% of test coverage

    [FEATURE] Have 100% of test coverage

    Is your feature request related to a problem? Please describe. This is an improvement on our current test coverage.

    Describe the solution you'd like Recently we have added the test coverage report, considering that this project is focused in generate fake data for tests, is good to have 100% of test coverage.

    Describe alternatives you've considered For normal projects, it's common knowledge that 100% don't guarantee quality, but in this case this project is focused on tests, so is important to us to have at minimum a good test coverage.

    Additional context The confirmation that we reach this goal is having 100% in coveralls

    Important! Use the full-tests-coverage branch as target of pull requests.

    enhancement hacktoberfest 
    opened by jaswdr 5
  • [BUG] Uint() is panicking

    [BUG] Uint() is panicking

    Hi! First and foremost, I'd like to thank You an amazing work :) I've been on PHP's side for a long time, where I was using Faker a lot. After switching to Go world, this faker is definitely the easiest and most convenient to use. I haven't seen any issue reported regarding Uint(), so here is what I found out.

    Describe the bug Calling Faker.Uint() panics.

    To Reproduce

    import (
    	"fmt"
    	"testing"
    
    	"github.com/jaswdr/faker"
    )
    
    func TestUint(t *testing.T) {
    	fakerInstance := faker.New()
    
    	t.Run("It is panicking", func(t *testing.T) {
    		//userId := uint(fakerInstance.Int()) // Temporary workaround
    		userId := fakerInstance.UInt()
    
    		fmt.Println(userId)
    	})
    }
    

    Expected behavior UInt() returns a random uint value.

    Screenshots obraz

    obraz obraz

    Desktop (please complete the following information):

    • OS: macOS 12.2
    • go version output: go version go1.17.6 darwin/amd64

    Additional context I was able to debug, that UInt() calls IntBetween(0, maxValueOf_int_type), and IntBetween() is later calling f.Generator.Intn(diff+1). The diff+1 is the problem here since it overflows int type max value and, in the end, when rand.Intn() receives negative value, it panics.

    I'm also attaching a few screenshots from debugging chain.

    bug 
    opened by donatorsky 4
  • person.go: 100% test coverage

    person.go: 100% test coverage

    Description

    100% test coverage for person.go.

    Are you trying to fix an existing issue?

    Includes partial fixes for #28.

    Go Version

    $ go version
    go version go1.15.2 linux/amd64
    

    Go Tests

    $ go test -v
    === RUN   TestCityPrefix
    --- PASS: TestCityPrefix (0.00s)
    === RUN   TestSecondaryAddress
    --- PASS: TestSecondaryAddress (0.00s)
    === RUN   TestState
    --- PASS: TestState (0.00s)
    === RUN   TestStateAbbr
    --- PASS: TestStateAbbr (0.00s)
    === RUN   TestCitySuffix
    --- PASS: TestCitySuffix (0.00s)
    === RUN   TestStreetSuffix
    --- PASS: TestStreetSuffix (0.00s)
    === RUN   TestBuildingNumber
    --- PASS: TestBuildingNumber (0.00s)
    === RUN   TestCity
    --- PASS: TestCity (0.00s)
    === RUN   TestStreetName
    --- PASS: TestStreetName (0.00s)
    === RUN   TestStreetAddress
    --- PASS: TestStreetAddress (0.00s)
    === RUN   TestPostCode
    --- PASS: TestPostCode (0.00s)
    === RUN   TestAddress
    --- PASS: TestAddress (0.00s)
    === RUN   TestCountry
    --- PASS: TestCountry (0.00s)
    === RUN   TestLatitude
    --- PASS: TestLatitude (0.00s)
    === RUN   TestLongitude
    --- PASS: TestLongitude (0.00s)
    === RUN   TestBooleanBool
    --- PASS: TestBooleanBool (0.00s)
    === RUN   TestBooleanBoolWithChance
    --- PASS: TestBooleanBoolWithChance (0.00s)
    === RUN   TestBooleanInt
    --- PASS: TestBooleanInt (0.00s)
    === RUN   TestBooleanString
    --- PASS: TestBooleanString (0.00s)
    === RUN   TestHex
    --- PASS: TestHex (0.00s)
    === RUN   TestRGB
    --- PASS: TestRGB (0.00s)
    === RUN   TestRGBAsArray
    --- PASS: TestRGBAsArray (0.00s)
    === RUN   TestCSS
    --- PASS: TestCSS (0.00s)
    === RUN   TestSafeColorName
    --- PASS: TestSafeColorName (0.00s)
    === RUN   TestColorName
    --- PASS: TestColorName (0.00s)
    === RUN   TestCompanyCatchPhrase
    --- PASS: TestCompanyCatchPhrase (0.00s)
    === RUN   TestCompanyBS
    --- PASS: TestCompanyBS (0.00s)
    === RUN   TestCompanySuffix
    --- PASS: TestCompanySuffix (0.00s)
    === RUN   TestCompanyName
    --- PASS: TestCompanyName (0.00s)
    === RUN   TestCompanyJobTitle
    --- PASS: TestCompanyJobTitle (0.00s)
    === RUN   TestNew
    --- PASS: TestNew (0.00s)
    === RUN   TestNewWithSeed
    --- PASS: TestNewWithSeed (0.00s)
    === RUN   TestRandomDigit
    --- PASS: TestRandomDigit (0.00s)
    === RUN   TestRandomDigitNot
    --- PASS: TestRandomDigitNot (0.00s)
    === RUN   TestRandomDigitNotNull
    --- PASS: TestRandomDigitNotNull (0.00s)
    === RUN   TestRandomNumber
    --- PASS: TestRandomNumber (0.00s)
    === RUN   TestInt
    --- PASS: TestInt (0.00s)
    === RUN   TestInt64
    --- PASS: TestInt64 (0.00s)
    === RUN   TestInt32
    --- PASS: TestInt32 (0.00s)
    === RUN   TestIntBetween
    --- PASS: TestIntBetween (0.00s)
    === RUN   TestRandomFloat
    --- PASS: TestRandomFloat (0.00s)
    === RUN   TestLetter
    --- PASS: TestLetter (0.00s)
    === RUN   TestRandomLetter
    --- PASS: TestRandomLetter (0.00s)
    === RUN   TestRandomIntElement
    --- PASS: TestRandomIntElement (0.00s)
    === RUN   TestShuffleString
    --- PASS: TestShuffleString (0.00s)
    === RUN   TestNumerify
    --- PASS: TestNumerify (0.00s)
    === RUN   TestLexify
    --- PASS: TestLexify (0.00s)
    === RUN   TestBothify
    --- PASS: TestBothify (0.00s)
    === RUN   TestAsciify
    --- PASS: TestAsciify (0.00s)
    === RUN   TestBool
    --- PASS: TestBool (0.00s)
    === RUN   TestBoolWithChance
    --- PASS: TestBoolWithChance (0.00s)
    === RUN   TestExtension
    --- PASS: TestExtension (0.00s)
    === RUN   TestFileWithExtension
    --- PASS: TestFileWithExtension (0.00s)
    === RUN   TestImage
    --- PASS: TestImage (0.00s)
    === RUN   TestUser
    --- PASS: TestUser (0.00s)
    === RUN   TestDomain
    --- PASS: TestDomain (0.00s)
    === RUN   TestEmail
    --- PASS: TestEmail (0.00s)
    === RUN   TestFreeEmail
    --- PASS: TestFreeEmail (0.00s)
    === RUN   TestSafeEmail
    --- PASS: TestSafeEmail (0.00s)
    === RUN   TestCompanyEmail
    --- PASS: TestCompanyEmail (0.00s)
    === RUN   TestPassword
    --- PASS: TestPassword (0.00s)
    === RUN   TestTLD
    --- PASS: TestTLD (0.00s)
    === RUN   TestSlug
    --- PASS: TestSlug (0.00s)
    === RUN   TestURL
    --- PASS: TestURL (0.00s)
    === RUN   TestIpv4
    --- PASS: TestIpv4 (0.00s)
    === RUN   TestLocalIpv4
    --- PASS: TestLocalIpv4 (0.00s)
    === RUN   TestIpv6
    --- PASS: TestIpv6 (0.00s)
    === RUN   TestMacAddress
    --- PASS: TestMacAddress (0.00s)
    === RUN   TestHTTPMethod
    --- PASS: TestHTTPMethod (0.00s)
    === RUN   TestQuery
    --- PASS: TestQuery (0.00s)
    === RUN   TestLorem
    --- PASS: TestLorem (0.00s)
    === RUN   TestWord
    --- PASS: TestWord (0.00s)
    === RUN   TestWords
    --- PASS: TestWords (0.00s)
    === RUN   TestSentence
    --- PASS: TestSentence (0.00s)
    === RUN   TestSentences
    --- PASS: TestSentences (0.00s)
    === RUN   TestParagraph
    --- PASS: TestParagraph (0.00s)
    === RUN   TestParagraphs
    --- PASS: TestParagraphs (0.00s)
    === RUN   TestText
    --- PASS: TestText (0.00s)
    === RUN   TestBytes
    --- PASS: TestBytes (0.00s)
    === RUN   TestMimeType
    --- PASS: TestMimeType (0.00s)
    === RUN   TestCreditCardType
    --- PASS: TestCreditCardType (0.00s)
    === RUN   TestCreditCardNumber
    --- PASS: TestCreditCardNumber (0.00s)
    === RUN   TestCreditCardExpirationDateString
    --- PASS: TestCreditCardExpirationDateString (0.00s)
    === RUN   TestTitleMale
    --- PASS: TestTitleMale (0.00s)
    === RUN   TestTitleFemale
    --- PASS: TestTitleFemale (0.00s)
    === RUN   TestTitle
    --- PASS: TestTitle (0.00s)
    === RUN   TestSuffix
    --- PASS: TestSuffix (0.00s)
    === RUN   TestFirstNameMale
    --- PASS: TestFirstNameMale (0.00s)
    === RUN   TestFirstNameFemale
    --- PASS: TestFirstNameFemale (0.00s)
    === RUN   TestFirstName
    --- PASS: TestFirstName (0.00s)
    === RUN   TestLastName
    --- PASS: TestLastName (0.00s)
    === RUN   TestName
    --- PASS: TestName (0.00s)
    === RUN   TestGender
    --- PASS: TestGender (0.00s)
    === RUN   TestGenderMale
    --- PASS: TestGenderMale (0.00s)
    === RUN   TestGenderFemale
    --- PASS: TestGenderFemale (0.00s)
    === RUN   TestNameAndGender
    --- PASS: TestNameAndGender (0.00s)
    === RUN   TestAreaCode
    --- PASS: TestAreaCode (0.00s)
    === RUN   TestExchangeCode
    --- PASS: TestExchangeCode (0.00s)
    === RUN   TestNumber
    --- PASS: TestNumber (0.00s)
    === RUN   TestTollFreeAreaCode
    --- PASS: TestTollFreeAreaCode (0.00s)
    === RUN   TestTollFreeNumber
    --- PASS: TestTollFreeNumber (0.00s)
    === RUN   TestE164Number
    --- PASS: TestE164Number (0.00s)
    === RUN   TestTimeUnix
    --- PASS: TestTimeUnix (0.00s)
    === RUN   TestTimeTime
    --- PASS: TestTimeTime (0.00s)
    === RUN   TestISO8601
    --- PASS: TestISO8601 (0.00s)
    === RUN   TestANSIC
    --- PASS: TestANSIC (0.00s)
    === RUN   TestUnixDate
    --- PASS: TestUnixDate (0.00s)
    === RUN   TestRubyDate
    --- PASS: TestRubyDate (0.00s)
    === RUN   TestRFC822
    --- PASS: TestRFC822 (0.00s)
    === RUN   TestRFC822Z
    --- PASS: TestRFC822Z (0.00s)
    === RUN   TestRFC850
    --- PASS: TestRFC850 (0.00s)
    === RUN   TestRFC1123
    --- PASS: TestRFC1123 (0.00s)
    === RUN   TestRFC1123Z
    --- PASS: TestRFC1123Z (0.00s)
    === RUN   TestRFC3339
    --- PASS: TestRFC3339 (0.00s)
    === RUN   TestRFC3339Nano
    --- PASS: TestRFC3339Nano (0.00s)
    === RUN   TestKitchen
    --- PASS: TestKitchen (0.00s)
    === RUN   TestTimeBetween
    --- PASS: TestTimeBetween (0.00s)
    === RUN   TestAmPm
    --- PASS: TestAmPm (0.00s)
    === RUN   TestDayOfMonth
    --- PASS: TestDayOfMonth (0.00s)
    === RUN   TestDayOfWeek
    --- PASS: TestDayOfWeek (0.00s)
    === RUN   TestMonth
    --- PASS: TestMonth (0.00s)
    === RUN   TestMonthName
    --- PASS: TestMonthName (0.00s)
    === RUN   TestYear
    --- PASS: TestYear (0.00s)
    === RUN   TestCentury
    --- PASS: TestCentury (0.00s)
    === RUN   TestTimezone
    --- PASS: TestTimezone (0.00s)
    === RUN   TestInternetExplorer
    --- PASS: TestInternetExplorer (0.00s)
    === RUN   TestOpera
    --- PASS: TestOpera (0.00s)
    === RUN   TestSafari
    --- PASS: TestSafari (0.00s)
    === RUN   TestFirefox
    --- PASS: TestFirefox (0.00s)
    === RUN   TestChrome
    --- PASS: TestChrome (0.00s)
    === RUN   TestUserAgent
    --- PASS: TestUserAgent (0.00s)
    === RUN   TestUUIDv4
    --- PASS: TestUUIDv4 (0.00s)
    === RUN   TestUUIDV4UniqueInSequence
    --- PASS: TestUUIDV4UniqueInSequence (0.00s)
    === RUN   TestGenerateVideoID
    --- PASS: TestGenerateVideoID (0.00s)
    === RUN   TestGenerateFullURL
    --- PASS: TestGenerateFullURL (0.00s)
    === RUN   TestGenerateShareURL
    --- PASS: TestGenerateShareURL (0.00s)
    === RUN   TestGenerateEmbededURL
    --- PASS: TestGenerateEmbededURL (0.00s)
    PASS
    ok  	github.com/jaswdr/faker	0.013s
    === RUN   TestFakeGenerator
    --- PASS: TestFakeGenerator (0.00s)
    PASS
    ok  	github.com/jaswdr/faker/internal/test	(cached)
    
    opened by ab22 4
  • add template docstring

    add template docstring

    background: I am experimenting with my AST-based GoDoc generator tool for this, the current template goes like this

    1. struct -> [struct_name] is a faker struct for [struct_name]
    2. methods -> [function_name] returns a fake [function_name] for [struct_name]

    feel free to:

    1. close the PR if you're looking for better docs
    2. suggest a better template comment if you think this way is fine

    P.S some of the files are not commented because of a bug in my tool which I'm still trying to figure out

    opened by ronaudinho 4
  • Make project compatible with new versions of Go

    Make project compatible with new versions of Go

    Our tests are failing for new versions of Go for all operational systems, see https://travis-ci.org/github/jaswdr/faker/builds/733533193

    We need to fix this to make the library compatible and reliable with all new Go versions.

    hacktoberfest 
    opened by jaswdr 4
  • Sort the list of words to prevent empty Text() result

    Sort the list of words to prevent empty Text() result

    At the moment Lorem().Text(N) returns empty string for N < 5. This is kinda expected from the code - the first word in the list is "alias", which is 5 symbols long, but there are shorter words in the list, so this looks like a bug to me. Let's just sort the list of words by their length, I believe this should not affect anything, at least it passes all the tests alright. I went ahead, sorted the list and added a tests to make sure that Text(N) never returns an empty string for N > 0.

    opened by tony2001 3
  • feat: added ethereum address

    feat: added ethereum address

    Description

    Added Eth address as well as a random bitcoin (picks randomly between the 3 types avaliable). Also renamed a getBitcoinAscii to better reflect generic purpose as the same function can be used for ethereum

    Are you trying to fix an existing issue?

    #78

    Go Version

    [email protected]:~/workspace/oss/faker$ go test ./...
    ok      github.com/jaswdr/faker 5.457s
    

    Go Tests

    [email protected]:~/workspace/oss/faker$ go version
    go version go1.17.3 linux/amd64
    
    opened by xlanor 3
  • [BUG] ...

    [BUG] ...

    Describe the bug goroutine stack exceeds 1000000000-byte limit

    To Reproduce

    type A struct {
    children []*A
    }
    tmp := A{}
    f.Struct().Fill(&tmp)
    

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots image

    Desktop (please complete the following information):

    • OS: macOS 12.2.1
    • go version output: go version go1.17.3 darwin/amd64
    bug 
    opened by bigfoot31 0
  • refactor: allow random to be mocked

    refactor: allow random to be mocked

    Description

    This uses an interface of GeneratorInterface type that implements Intn and Int (previously used directly from the rand package.

    By doing this, we can now reliably mock rand by inserting expected values to test certain logic flows which may not have been fully covered.

    This includes changes that are in the existing ethereum PR (#91) as I wrote the sample test code based on a method that was renamed in that PR.

    If this style is approved I will push somemore commits to explicitly test the logic flow for RandomBitcoin

    Are you trying to fix an existing issue?

    #92

    Go Version

    [email protected]:~/workspace/oss/faker$ go version
    go version go1.17.3 linux/amd64
    

    Go Tests

    [email protected]:~/workspace/oss/faker$ go test ./...
    ok      github.com/jaswdr/faker 3.833s
    [email protected]:~/workspace/oss/faker$ 
    
    opened by xlanor 9
  • [FEATURE] Generator should be wrapped by a Interface to allow mocking

    [FEATURE] Generator should be wrapped by a Interface to allow mocking

    Is your feature request related to a problem? Please describe. Currently, the generator utilises random.randInt.

    This becomes a problem further down the line, for example, when randoming a number between 0-2 to decide a choice of what to return in functions with a wider scope.

    Describe the solution you'd like Instead of directly utilising rand, we can use an interface that exposes the methods that we want to use from rand. This allows for the replacement of rand with a mock during unit tests,

    enhancement 
    opened by xlanor 1
  • [FEATURE] Add a mechanism to generate a fake data json

    [FEATURE] Add a mechanism to generate a fake data json

    Is your feature request related to a problem? Please describe. Currently we have several generators available in Faker. But what if we have a mechanism which takes a format as input and returns a data with same format completely generated by the generators of faker. The format will contain multiple data fields and nested complexity. This can be useful for generating multiple test scenarios in one go.

    Describe the solution you'd like You recursive search and build of data using faker generators.

    enhancement 
    opened by bhatipradeep 1
Releases(v1.11.1)
  • v1.11.1(Jun 23, 2022)

    What's Changed

    • Prevent Lorem.Text to return empty string result by @tony2001 in https://github.com/jaswdr/faker/pull/95

    New Contributors

    • @tony2001 made their first contribution in https://github.com/jaswdr/faker/pull/95

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.11.0...v1.11.1

    Source code(tar.gz)
    Source code(zip)
  • v1.11.0(Jun 21, 2022)

    What's Changed

    • Added Bitcoin address generation by @xlanor in https://github.com/jaswdr/faker/pull/86
    • Added Ethereum address by @xlanor in https://github.com/jaswdr/faker/pull/91
    • Improved code coverage by @jaswdr in https://github.com/jaswdr/faker/pull/90

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.10.2...v1.11.0

    Source code(tar.gz)
    Source code(zip)
  • v1.10.2(Jan 31, 2022)

    What's Changed

    • Handling edge case in IntBetween when using MaxInt by @jaswdr in https://github.com/jaswdr/faker/pull/88

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.10.1...v1.10.2

    Source code(tar.gz)
    Source code(zip)
  • v1.10.1(Jan 27, 2022)

    What's Changed

    • Fixing #83 by handling invalid e-mail names by @jaswdr in https://github.com/jaswdr/faker/pull/84

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.10.0...v1.10.1

    Source code(tar.gz)
    Source code(zip)
  • v1.10.0(Jan 24, 2022)

    What's Changed

    • Allowing empty string in code generated by Currency generator by @jaswdr in https://github.com/jaswdr/faker/pull/80
    • feat: added RandomStringWithLength by @xlanor in https://github.com/jaswdr/faker/pull/82

    New Contributors

    • @xlanor made their first contribution in https://github.com/jaswdr/faker/pull/82

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.9.0...v1.10.0

    Source code(tar.gz)
    Source code(zip)
  • v1.9.0(Jan 16, 2022)

    What's Changed

    • Adding Currency generator by @jaswdr in https://github.com/jaswdr/faker/pull/79

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.8.0...v1.9.0

    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Oct 18, 2021)

    What's Changed

    • Add implementation of hash algorithms based faker data generator by @bhatipradeep in https://github.com/jaswdr/faker/pull/75
    • Fix binarysearch tests to be proper incase in case of failure. by @bhatipradeep in https://github.com/jaswdr/faker/pull/76

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.7.0...v1.8.0

    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Oct 15, 2021)

    What's Changed

    • Enable tests for Go 1.17 by @jaswdr in https://github.com/jaswdr/faker/pull/73
    • Create a music faker by @caioeverest in https://github.com/jaswdr/faker/pull/74

    New Contributors

    • @caioeverest made their first contribution in https://github.com/jaswdr/faker/pull/74

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.6.0...v1.7.0

    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Oct 11, 2021)

    What's Changed

    • Add implementation of binary string generator for Faker by @bhatipradeep in https://github.com/jaswdr/faker/pull/72

    New Contributors

    • @bhatipradeep made their first contribution in https://github.com/jaswdr/faker/pull/72

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.5.0...v1.6.0

    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Oct 10, 2021)

    What's Changed

    • Fix of #69, fix color RGB test, create .gitignore and RandomStringMapKey and RandomStringMapValue by @jaswdr in https://github.com/jaswdr/faker/pull/71

    Full Changelog: https://github.com/jaswdr/faker/compare/v1.4.4...v1.5.0

    Source code(tar.gz)
    Source code(zip)
  • v1.4.4(Oct 9, 2021)

  • v1.4.3(Oct 6, 2021)

  • v1.4.2(May 6, 2021)

  • v1.4.1(May 3, 2021)

  • v1.4.0(May 3, 2021)

    New features

    1. Added LoremFlickr generator to create random images using the https://loremflickr.com/ remote service
    2. Added ProfileIMage generator to generator random profile pictures with faces using the https://thispersondoesnotexist.com/ remote service

    Bug's fixed

    1. Fixed a bug in Int() that makes it always generate a max(int) value
    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Dec 23, 2020)

    New generators:

    • Add Person Contact generator
    • Add Struct generator
    • Add Map generator
    • Add CountryAbbr generator to Address
    • Add Gamer generator with Tag method
    • Add Language struct generator
    • Add LanguageAbbr and ProgrammingLanguage to Language generator
    • Add Beer struct generator
    • Add Car struct generator
    • Add Fruit struct generator
    • Add StatusCode generator to Internet and improved UserAgent generator with more random one
    • Add App struct generator
    • Add Pet struct generator
    • Add Emoji struct generator

    Fixes

    • Fixed issue #31 where IntBetween method was not generating the first value
    Source code(tar.gz)
    Source code(zip)
  • v1.2.1(Oct 9, 2020)

  • v1.2.0(Oct 7, 2020)

    faker.BoolWithChance(int) method allow you to generate boolean values based on a percentage of chance of the value be true, lower values will generate false more frequently, higher values will generate true more frequently.

    You can use values from 0 to 100 for the chance, any value lower or equals to 0 will always generate false, any value higher or equal to 100 will generate always true.

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Aug 10, 2018)

    Changed features:

    • All generators are now "thread safe" and will not use memory address (akka: func (p Person) instead of func(p *Person))
    • Added UUID v4 generator
    Source code(tar.gz)
    Source code(zip)
  • v0.0.1(May 14, 2018)

Owner
Jonathan Schweder
System Development Engineer, Linux Developer, Go and Python Developer, Kernel Enthusiastic, Speaker, DevOps
Jonathan Schweder
Go-banner-printer - This library is to simply print a ASCII banner when you start the application

This library is to simply print a ASCII banner when you start the application.

Sathesh Sivashanmugam 1 Jan 18, 2022
This service will help you detect any waste of resources in your AWS account

Frugal-Hero This service will help you detect any waste of resources in your AWS account. The policy is: if it is not useful, delete it! Requirements

null 3 Jan 31, 2022
Extract structured data from web sites. Web sites scraping.

Dataflow kit Dataflow kit ("DFK") is a Web Scraping framework for Gophers. It extracts data from web pages, following the specified CSS Selectors. You

Dmitry Narizhnykh 532 Jun 27, 2022
Encoding and decoding for fixed-width formatted data

fixedwidth Package fixedwidth provides encoding and decoding for fixed-width formatted Data. go get github.com/ianlopshire/go-fixedwidth Usage Struct

Ian Lopshire 63 May 8, 2022
Gotabulate - Easily pretty-print your tabular data with Go

Gotabulate - Easily pretty-print tabular data Summary Go-Tabulate - Generic Go Library for easy pretty-printing of tabular data. Installation go get g

Vadim Kravcenko 283 Jun 29, 2022
ByNom is a Go package for parsing byte sequences, suitable for parsing text and binary data

ByNom is a Go package for parsing byte sequences. Its goal is to provide tools to build safe byte parsers without compromising the speed or memo

Andrew Bashkatov 4 May 5, 2021
Parse data and test fixtures from markdown files, and patch them programmatically, too.

go-testmark Do you need test fixtures and example data for your project, in a language agnostic way? Do you want it to be easy to combine with documen

Eric Myhre 17 Jun 17, 2022
Easily to convert JSON data to Markdown Table

Easily to convert JSON data to Markdown Table

蛮吉是魁拔 1 Jan 21, 2022
Auto-gen fuzzing wrappers from normal code. Automatically find buggy call sequences, including data races & deadlocks. Supports rich signature types.

fzgen fzgen auto-generates fuzzing wrappers for Go 1.18, optionally finds problematic API call sequences, can automatically wire outputs to inputs acr

thepudds 72 Jun 24, 2022
Build "Dictionary of the Old Norwegian Language" into easier-to-use data formats

Old Norwegian Dictionary Builder Build "Dictionary of the Old Norwegian Language" into easier-to-use data formats. Available formats: JSON DSL XML Usa

Sampo Silvennoinen 0 Jan 13, 2022
A fast, easy-of-use and dependency free custom mapping from .csv data into Golang structs

csvparser This package provides a fast and easy-of-use custom mapping from .csv data into Golang structs. Index Pre-requisites Installation Examples C

João Duarte 20 May 10, 2022
A general purpose application and library for aligning text.

align A general purpose application that aligns text The focus of this application is to provide a fast, efficient, and useful tool for aligning text.

John Moore 75 Mar 24, 2022
A NMEA parser library in pure Go

go-nmea This is a NMEA library for the Go programming language (Golang). Features Parse individual NMEA 0183 sentences Support for sentences with NMEA

Adrián Moreno 178 Jun 7, 2022
Go library for the TOML language

go-toml Go library for the TOML format. This library supports TOML version v1.0.0-rc.3 Features Go-toml provides the following features for using data

Thomas Pelletier 1.3k Jun 27, 2022
A Go library to parse and format vCard

go-vcard A Go library to parse and format vCard. Usage f, err := os.Open("cards.vcf") if err != nil { log.Fatal(err) } defer f.Close() dec := vcard.

Simon Ser 72 Jun 29, 2022
A declarative struct-tag-based HTML unmarshaling or scraping package for Go built on top of the goquery library

goq Example import ( "log" "net/http" "astuart.co/goq" ) // Structured representation for github file name table type example struct { Title str

Andrew Stuart 217 May 30, 2022
omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc.

omniparser Omniparser is a native Golang ETL parser that ingests input data of various formats (CSV, txt, fixed length/width, XML, EDI/X12/EDIFACT, JS

JF Technology 462 Jun 22, 2022
The Go library for working with delimited separated value (DSV).

Package dsv is a Go library for working with delimited separated value (DSV). NOTE: This package has been deprecated. See https://github.com/shuLhan/s

Shulhan 28 Sep 15, 2021
Upskirt markdown library bindings for Go

Goskirt Package goskirt provides Go-bindings for the excellent Sundown Markdown parser. (F/K/A Upskirt). To use goskirt, create a new Goskirt-value wi

Jukka-Pekka Kekkonen 31 Nov 12, 2021