{"_id":"@abhay557/indian-fakedata","_rev":"18-fa297d6b81588dae3b4477c6fe784077","name":"@abhay557/indian-fakedata","dist-tags":{"latest":"2.1.0"},"versions":{"2.0.0":{"name":"@abhay557/indian-fakedata","version":"2.0.0","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.0","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"0a868dbfa02b994cd29b091380c17821e06e1577","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.0.tgz","fileCount":79,"integrity":"sha512-Fe7IxVWHnQ9GnDffGMErnxs6bEK3ry4fxJv92/eZus4UId8IRFyrTJAEq3M672aVaVcg1Q6JVatI6FQaM8UP9w==","signatures":[{"sig":"MEYCIQDxV/7NPCGIX2XaILEfyt8V3uPSVi3g6dg3bw66nTjg3gIhAI2fP3tU2l5rwEkN6wYncnksUoNpZpI7jtuGkLhdMS/I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1806571},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","compile-census":"tsx scripts/compile-census.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"10.9.3","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.0_1780001238535_0.08068609073134758","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@abhay557/indian-fakedata","version":"2.0.1","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.1","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"3adb13c7941f0032fe592381ae93aa9608564904","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.1.tgz","fileCount":79,"integrity":"sha512-WHWLHt3UM+W0wBZVObv4rS5kAXfTEibeP+yy/kY46nam0ca8eavC3P7DnANOfovx9Y1fTIb+NjRfk/FtfXhzxw==","signatures":[{"sig":"MEYCIQD4ZSobeVt8N6UoQqlB+0J+AaCJYEJ8hk2/UD54nORTBAIhANMBsnmlWyG3eKntoETG2qcTDRFi2yub5ms8eAeDS1vB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1817082},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","compile-census":"tsx scripts/compile-census.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"10.9.3","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"22.20.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.1_1783874193900_0.4402962436401072","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@abhay557/indian-fakedata","version":"2.0.2","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.2","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"3febca8599b272965ed3cd314293443cbb469a50","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.2.tgz","fileCount":87,"integrity":"sha512-MCphaVLIAKaGCGM076f65la3wgAWFtL1x1lcKgSfTv9wLB8Wjp9p1dzrXiN7788VhP9tuicoo7uK8AqGVNtuUg==","signatures":[{"sig":"MEQCIEX5I7jJbygBIPVcPogXbCTkZGeVAsox4UsHxBRFt7hEAiAfNvi1rcWrWcgHos5yR2nt3YmqOHGQ0uldqBFJIWPEIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1848776},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f10c6031f951ce8b41002557780cb1c8a1495788","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build","download-census":"node scripts/download-census.js"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"11.16.0","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.2_1785778939265_0.012782915591509791","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@abhay557/indian-fakedata","version":"2.0.3","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.3","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"6527eb19b89a2e1dab606a5802447d1e9e3ebd8b","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.3.tgz","fileCount":95,"integrity":"sha512-Iwd5KVm4ORJ42+AHKs+wE2FL9MEa8VPuyo5dAVQGKU9FUOTlNJXpC3yp9eaoavyY9e113ETnK1pobIYWxiSAfw==","signatures":[{"sig":"MEUCIEhlYEoHXTgzd1cZusoiuctYOQz08sIEko26nAAcvt45AiEAl6u7UJ82HAsltbgkMw7Qm37RcFFeVY9kwNpvm7WZmY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1920510},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f4afb4c9222b7b8a6a336b044b6e211607013016","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build","download-census":"node scripts/download-census.js"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"11.16.0","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.3_1786879733830_0.3329749964289219","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@abhay557/indian-fakedata","version":"2.0.4","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.4","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"362eed105c651811278389e8c932f29db56bed52","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.4.tgz","fileCount":95,"integrity":"sha512-M8LG2K/fP1TPclmm7PYRPGwVQWSLJlc+B/l74/kC8ZJDtD1qtlTeAyyY5YpnNoAMNt1pFgdatjsPizInMGsjVw==","signatures":[{"sig":"MEUCIQCSDr5y5wItKUMMRi5vMwH7Pi7P/dUlkS3gsGpnd858wAIgfqn6k0oAlSF+Bko7vcYqmJHrnzoOOWUkScz6mFKPWdc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2132880},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4e69c15e04c0c550b3e5dca0a9a7fe2fe3b1cf79","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build","download-census":"node scripts/download-census.js"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"11.16.0","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.4_1787423812255_0.2740366801620826","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@abhay557/indian-fakedata","version":"2.0.5","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.5","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"f633b9723fbcef773fb649349a43c7aa578c03bc","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.5.tgz","fileCount":95,"integrity":"sha512-DDmjdcWUWFtbLm2EJe3qfuV2QALdM3OKN1ahZik7c4WLGBRX88yAG2v/hXS1GHR2tDb4bjLd2kAZbMfrmPxUuA==","signatures":[{"sig":"MEQCIBMVpyWLmFKrzxGza7vqdWe93B6Im5T/KZi/bzSGa75KAiAlmp01aroj/i1314ZCynwUDzM3/9JI4qCOACCEfvuHUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2134751},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"e5a3e2c650ec393f6af427c958edc196cda13d92","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build","download-census":"node scripts/download-census.js"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"11.16.0","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.5_1787431329978_0.6672393121827194","host":"s3://npm-registry-packages-npm-production"}},"2.0.6":{"name":"@abhay557/indian-fakedata","version":"2.0.6","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.6","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"d9a8078a505cc8b28185568a812004d7c55e919e","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.6.tgz","fileCount":99,"integrity":"sha512-mW0qsJ/S6ZZcxA+kX19fas8rTVXPsWK4hUcG6MpT3vF1sSfQHqqOxGNZyeKwX76OSD3jxq6UQ1lFjVluGAhc9A==","signatures":[{"sig":"MEQCIHfSinbgUXMenZOfRD76HpnSLEnNSS89lIrKhttOpbOVAiB4ErZ7BA2tYxzHcQDu/yLvFjqNjS9xy4/9CUFbTwhdAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2136101},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"33fba79f4ab659cbba76f73a4bd65c90bf933dbf","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build","download-census":"node scripts/download-census.js"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"11.16.0","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.6_1787432285051_0.3924087598750541","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"@abhay557/indian-fakedata","version":"2.0.7","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.7","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"9f74e97523ae1d4036eef9ae0ce27d00a26488fe","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.7.tgz","fileCount":99,"integrity":"sha512-L+osKlO1yXe2PTdPOKBe1OXiZs4Dp8lOOJokPZjFQWYxn2amhfa4uU8J1OCUcgY9mt+r14a2k9qJMJJCgfpXkg==","signatures":[{"sig":"MEQCIGOG9A/AzJ++YwFrirrfvEAHL21aWatqzjI9BmVVsTCnAiBQPbgegQdsV4Sy+OpUHqOCIHc0oMDCqrEChsRz9lHfjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2137478},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"fd7145d09ce042e6031045fd11d78f56fe51f3ff","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build","download-census":"node scripts/download-census.js"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"11.16.0","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.7_1787485179592_0.656789634007912","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@abhay557/indian-fakedata","version":"2.0.8","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.8","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"383102599f13b86b83d4aec3cb722b23118aaa4a","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.8.tgz","fileCount":103,"integrity":"sha512-PKQZOzTYSjSQXiDDUo9tIEkyxQu2ofD38V4KDJF/XEpRYx9ptH3XqZg5ZCFiT0cilPTY8G/DL2lPm20vPku1kw==","signatures":[{"sig":"MEUCIHV9m1sm1ay1UcyALxzRHDGyTCtsT76OvZL+JY1N5qbjAiEA8yq92cXqbSHKS307NibK7k2B4xUpSXn48LFeWMJLNaE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2163201},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"36fb98a5373d23210f2d8926ca09e11dd57481d9","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build","download-census":"node scripts/download-census.js"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"11.16.0","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"24.18.1","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.8_1788179286726_0.5977065379557989","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"@abhay557/indian-fakedata","version":"2.0.9","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"author":{"name":"Abhay Mourya"},"license":"MIT","_id":"@abhay557/indian-fakedata@2.0.9","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"76e41fc8f86831a3654d7b4c8b0c1bea80e2f657","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.0.9.tgz","fileCount":119,"integrity":"sha512-LC41CNEo0+P83vjkLS/mn2YeCf5/QNwfMXISvq32xtRkPbSBY2HxRyr3Kae69SzpoABi88pSDq/bbTtSKEcrhA==","signatures":[{"sig":"MEQCIETYOJbSJorBCP0H3H0HTOMhgTWlFZLdjmznx2JMKJxvAiAZ6sW4aFzeBzh1H6Cdkad6PEqUu7ZZspIsXmkdD40tJA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDXS7I05LR2TtPUgvFmZRSc1Ybx6BhlWldNT2cqShI5XwIhAIInFNxXlgTqZFFUEcBluipQNilUK1SpeoxmUu+xkJM/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2264766},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b62d1b0f9e53ae70f5ddafb3da89612c0a475a57","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build","download-census":"node scripts/download-census.js"},"_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"_npmVersion":"11.19.0","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"_nodeVersion":"26.7.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/indian-fakedata_2.0.9_1790241353514_0.9169180927598257","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"_id":"@abhay557/indian-fakedata@2.1.0","bin":{"indian-fakedata":"dist/cli.js"},"dist":{"shasum":"d835175baddd83684b130361bc8284230f3ce1d0","tarball":"https://registry.npmjs.org/@abhay557/indian-fakedata/-/indian-fakedata-2.1.0.tgz","fileCount":151,"integrity":"sha512-4rF0pMpTjOqwMvt0J/0gJESBuK8JXKLWFh5PyQoHDTnMuGhmZRu9XnqReURGaibDOywX6m31uvG7POo2dyOOFg==","signatures":[{"sig":"MEUCIFcLvpL9SJU0lEElAsXIWbIXxR9YriKfPk06OK01od14AiEA22g3Cq6zap0TbacCHogmEC/fS/QOlOgsx3/OB72txBU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC7mbQ/OVNC5Pp7iUfSl9hIVbztlfmwqlkpyo03BU22fgIgFRssqmGAx90fejJevKUKRL098QtcU+CM54e1sQ3FpbE="}],"unpackedSize":2432872},"main":"dist/index.js","name":"@abhay557/indian-fakedata","type":"module","types":"dist/index.d.ts","author":{"name":"Abhay Mourya"},"module":"dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"b7f8685a2c6d86fb752843e3094d0db2f6863dd3","license":"MIT","scripts":{"cli":"tsx src/cli.ts","dev":"tsx src/index.ts","demo":"tsx scripts/demo.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc","test:watch":"vitest","prepublishOnly":"npm run build","download-census":"node scripts/download-census.js"},"version":"2.1.0","_npmUser":{"name":"abhay557","email":"legacyagentsof@gmail.com"},"keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"_npmVersion":"11.19.0","description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","directories":{},"maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"_nodeVersion":"26.7.0","_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.3","xlsx":"^0.18.5","vitest":"^4.1.7","typescript":"^6.0.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/indian-fakedata_2.1.0_1790334634706_0.2524526477730906"}}},"time":{"created":"2026-05-28T20:47:18.410Z","modified":"2026-09-25T11:10:34.991Z","1.0.0":"2026-05-28T18:13:02.664Z","1.0.1":"2026-05-28T18:18:40.729Z","1.0.2":"2026-05-28T19:24:54.228Z","2.0.0":"2026-05-28T20:47:18.713Z","2.0.1":"2026-07-12T16:36:34.092Z","2.0.2":"2026-08-03T17:42:19.451Z","2.0.3":"2026-08-16T11:28:53.990Z","2.0.4":"2026-08-22T18:36:52.401Z","2.0.5":"2026-08-22T20:42:10.135Z","2.0.6":"2026-08-22T20:58:05.229Z","2.0.7":"2026-08-23T11:39:39.739Z","2.0.8":"2026-08-31T12:28:06.919Z","2.0.9":"2026-09-24T09:15:53.596Z","2.1.0":"2026-09-25T11:10:34.805Z"},"author":{"name":"Abhay Mourya"},"license":"MIT","keywords":["fake-data","synthetic-data","demographic","census","india","abhay557","mock-data","testing","ai-training","data-generation","population-simulator"],"description":"A generator for realistic Indian demographic data based on Census 2011 statistics.","maintainers":[{"name":"abhay557","email":"legacyagentsof@gmail.com"}],"readme":"<center>\r\n\r\n# Indian Fake Data Generator \r\n\r\n</center>\r\n\r\n<p align=\"center\">\r\n<img src=\"hero.png\" alt=\"Indian Fake Data Generator\" />\r\n</p>\r\n\r\nA library that generates culturally accurate, statistically consistent mock Indian demographic profiles backed by **Census 2011** data.\r\n\r\nThis repository provides **two native implementations**:\r\n1. A **Node.js / TypeScript** package (`@abhay557/indian-fakedata`)\r\n2. A **Python** package (`indian-fakedata`)\r\n\r\nUnlike traditional mock generators that produce impossible demographic combinations (such as a *Sikh* named *Mohammed Sharma* from *Mizoram*), this library correctly links variables together so that every generated person makes logical sense based on real-world statistical correlations.\r\n\r\n[![NPM Version](https://img.shields.io/npm/v/@abhay557/indian-fakedata?logo=npm&color=brightgreen)](https://www.npmjs.com/package/@abhay557/indian-fakedata)\r\n[![PyPI Version](https://img.shields.io/pypi/v/indian-fakedata?logo=pypi&color=blue)](https://pypi.org/project/indian-fakedata/)\r\n[![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org/) \r\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/) \r\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\r\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1VWYsjM0f6CxEi7pZ6uOa1i9Hfh7tsH8s?usp=sharing)\r\n\r\n---\r\n\r\n## Output Sample (one profile, `seed = 7`)\r\n\r\n> Sample generated by the **Python implementation**. The TypeScript implementation\r\n> is independently deterministic: the same seed is reproducible within one\r\n> implementation, but the two runtimes draw RNG streams differently.\r\n\r\n```json\r\n{\r\n  \"id\": \"d6e2a61e-e297-4eb4-9866-5fb355fbc2ea\",\r\n  \"synthetic\": true,\r\n  \"generator\": \"indian-fakedata@2.1.0\",\r\n  \"firstName\": \"Sarwan\",\r\n  \"lastName\": \"Das\",\r\n  \"fatherName\": \"Shetan Das\",\r\n  \"motherName\": \"Girijarani Kumari\",\r\n  \"spouseName\": \"Kishan Das\",\r\n  \"gender\": \"female\",\r\n  \"age\": 40,\r\n  \"dateOfBirth\": \"1986-01-05\",\r\n  \"bloodGroup\": \"B+\",\r\n  \"heightCm\": 144.0,\r\n  \"weightKg\": 44.1,\r\n  \"bmi\": 21.3,\r\n  \"appearance\": {\r\n    \"heightCm\": 144.0,\r\n    \"build\": \"average\",\r\n    \"faceShape\": \"round\",\r\n    \"skinTone\": \"deep_brown\",\r\n    \"noseType\": \"button\",\r\n    \"eyeColor\": \"dark_brown\",\r\n    \"eyeShape\": \"almond\",\r\n    \"hairColor\": \"black\",\r\n    \"hairTexture\": \"wavy\",\r\n    \"hairLength\": \"medium\",\r\n    \"facialHair\": null\r\n  },\r\n  \"aadhaarNumber\": \"839128189565\",\r\n  \"panNumber\": \"FMMPD7406C\",\r\n  \"voterIdNumber\": \"YSR0818288\",\r\n  \"phoneNumber\": \"9444448053\",\r\n  \"email\": \"sarwan.das645@gmail.com\",\r\n  \"nativeScript\": {\r\n    \"script\": \"Telugu\",\r\n    \"language\": \"Telugu\",\r\n    \"firstName\": \"సర్వన\",\r\n    \"lastName\": \"దస\",\r\n    \"district\": \"గుంతుర\",\r\n    \"addressLine\": \"492/గ, జయనగర, గుంతుర\"\r\n  },\r\n  \"state\": \"Andhra Pradesh\",\r\n  \"stateCode\": \"AP\",\r\n  \"district\": \"Guntur\",\r\n  \"areaType\": \"urban\",\r\n  \"addressLine\": \"492/G, Jayanagar, Guntur\",\r\n  \"locality\": \"Jayanagar\",\r\n  \"pinCode\": \"500766\",\r\n  \"geo\": {\r\n    \"latitude\": 15.7495,\r\n    \"longitude\": 80.2038\r\n  },\r\n  \"religion\": \"Hindu\",\r\n  \"caste\": \"Madiga\",\r\n  \"socialCategory\": \"SC\",\r\n  \"motherTongue\": \"Telugu\",\r\n  \"secondLanguage\": \"Hindi\",\r\n  \"education\": \"graduate\",\r\n  \"occupation\": \"other_worker\",\r\n  \"employmentTimeline\": [\r\n    {\r\n      \"jobTitle\": \"Receptionist\",\r\n      \"sector\": \"private\",\r\n      \"occupation\": \"other_worker\",\r\n      \"employerType\": \"private\",\r\n      \"startYear\": 2007,\r\n      \"status\": \"completed\",\r\n      \"monthlyWageINR\": 48000,\r\n      \"location\": \"Guntur\",\r\n      \"endYear\": 2009\r\n    },\r\n    {\r\n      \"jobTitle\": \"Sales Executive\",\r\n      \"sector\": \"private\",\r\n      \"occupation\": \"other_worker\",\r\n      \"employerType\": \"private\",\r\n      \"startYear\": 2009,\r\n      \"status\": \"completed\",\r\n      \"monthlyWageINR\": 74200,\r\n      \"location\": \"Guntur\",\r\n      \"endYear\": 2022\r\n    },\r\n    {\r\n      \"jobTitle\": \"IT Support Executive\",\r\n      \"sector\": \"private\",\r\n      \"occupation\": \"other_worker\",\r\n      \"employerType\": \"private\",\r\n      \"startYear\": 2022,\r\n      \"status\": \"current\",\r\n      \"monthlyWageINR\": 102900,\r\n      \"location\": \"Guntur\"\r\n    }\r\n  ],\r\n  \"employmentSector\": \"private\",\r\n  \"maritalStatus\": \"married\",\r\n  \"annualIncomeINR\": 1235000,\r\n  \"monthlyExpenditureINR\": 89100,\r\n  \"numberOfChildren\": 1,\r\n  \"dietaryPreference\": \"non_vegetarian\",\r\n  \"disability\": \"none\",\r\n  \"isMigrant\": true,\r\n  \"migrationOriginState\": \"Karnataka\",\r\n  \"bankIFSC\": \"KKBK0682206\",\r\n  \"bankName\": \"Kotak Mahindra Bank\",\r\n  \"bankAccountNumber\": \"50991831492\",\r\n  \"rationCardType\": \"APL\",\r\n  \"healthInsurance\": \"none\",\r\n  \"landOwnershipAcres\": 0,\r\n  \"vehicleRegistration\": \"AP 28 SF 4832\",\r\n  \"vehicleType\": \"two_wheeler\",\r\n  \"hasInternetAccess\": true,\r\n  \"hasSmartphone\": true,\r\n  \"usesSocialMedia\": false,\r\n  \"upiId\": \"9444448053@apl\",\r\n  \"personality\": {\r\n    \"openness\": 59,\r\n    \"conscientiousness\": 36,\r\n    \"extraversion\": 64,\r\n    \"agreeableness\": 49,\r\n    \"neuroticism\": 57\r\n  },\r\n  \"personalityTraits\": {\r\n    \"summary\": \"An outgoing, people-oriented person who is open-minded, easy-going and assertive. They feel things deeply and care about those around them.\",\r\n    \"strengths\": [\r\n      \"creative and curious\",\r\n      \"adapts to change quickly\",\r\n      \"stands their ground\"\r\n    ],\r\n    \"weaknesses\": [\r\n      \"worries about small things\",\r\n      \"needs company to feel energised\",\r\n      \"procrastinates under pressure\"\r\n    ],\r\n    \"traitLabels\": [\r\n      \"open-minded\",\r\n      \"easy-going\",\r\n      \"outgoing\",\r\n      \"assertive\",\r\n      \"sensitive\"\r\n    ],\r\n    \"communicationStyle\": \"expressive\",\r\n    \"decisionStyle\": \"intuitive\",\r\n    \"socialBehavior\": \"outgoing\"\r\n  },\r\n  \"politicalLeaning\": \"regionalist\",\r\n  \"religiosity\": \"somewhat_religious\",\r\n  \"cognitiveProfile\": {\r\n    \"aptitudeScore\": 75,\r\n    \"numeracyScore\": 58,\r\n    \"literacyScore\": 88,\r\n    \"digitalLiteracyScore\": 84,\r\n    \"financialLiteracyScore\": 75\r\n  },\r\n  \"interests\": {\r\n    \"primarySport\": \"hockey\",\r\n    \"petPreference\": \"cats\",\r\n    \"entertainment\": [\r\n      \"Bollywood\",\r\n      \"TV Serials\",\r\n      \"Cricket Matches\",\r\n      \"Religious Programs\"\r\n    ],\r\n    \"readingHabit\": \"rare\",\r\n    \"musicPreference\": \"Bollywood\",\r\n    \"preferredSocialMedia\": \"Facebook\"\r\n  },\r\n  \"habits\": {\r\n    \"tobaccoUse\": \"none\",\r\n    \"alcoholUse\": \"none\",\r\n    \"exerciseFrequency\": \"daily\",\r\n    \"avgSleepHours\": 6.7,\r\n    \"cooksAtHome\": true,\r\n    \"chronotype\": \"moderate\"\r\n  },\r\n  \"educationDetails\": {\r\n    \"fieldOfStudy\": \"Computer Science/IT\",\r\n    \"institutionType\": \"government\",\r\n    \"mediumOfInstruction\": \"English\",\r\n    \"qualificationYear\": 2008,\r\n    \"competitiveExamPercentile\": null\r\n  },\r\n  \"educationTimeline\": [\r\n    {\r\n      \"level\": \"primary\",\r\n      \"stageName\": \"Primary School\",\r\n      \"institutionName\": \"Government Primary School, Guntur\",\r\n      \"institutionType\": \"government\",\r\n      \"boardOrUniversity\": \"AP State Board\",\r\n      \"startYear\": 1991,\r\n      \"endYear\": 1997,\r\n      \"status\": \"completed\",\r\n      \"score\": \"52.8%\"\r\n    },\r\n    {\r\n      \"level\": \"middle\",\r\n      \"stageName\": \"Middle School\",\r\n      \"institutionName\": \"Government Middle School, Guntur\",\r\n      \"institutionType\": \"government\",\r\n      \"boardOrUniversity\": \"AP State Board\",\r\n      \"startYear\": 1997,\r\n      \"endYear\": 2000,\r\n      \"status\": \"completed\",\r\n      \"score\": \"56.7%\"\r\n    },\r\n    {\r\n      \"level\": \"secondary\",\r\n      \"stageName\": \"Secondary School\",\r\n      \"institutionName\": \"Government High School, Guntur\",\r\n      \"institutionType\": \"government\",\r\n      \"boardOrUniversity\": \"AP State Board\",\r\n      \"startYear\": 2000,\r\n      \"endYear\": 2002,\r\n      \"status\": \"completed\",\r\n      \"score\": \"61.0%\"\r\n    },\r\n    {\r\n      \"level\": \"higher_secondary\",\r\n      \"stageName\": \"Higher Secondary School\",\r\n      \"institutionName\": \"Government Higher Secondary School, Guntur\",\r\n      \"institutionType\": \"government\",\r\n      \"boardOrUniversity\": \"AP State Board\",\r\n      \"startYear\": 2002,\r\n      \"endYear\": 2004,\r\n      \"status\": \"completed\",\r\n      \"stream\": \"PCM\",\r\n      \"score\": \"52.8%\"\r\n    },\r\n    {\r\n      \"level\": \"graduate\",\r\n      \"stageName\": \"Bachelor's Degree\",\r\n      \"institutionName\": \"Government Post Graduate College, Guntur\",\r\n      \"institutionType\": \"government\",\r\n      \"boardOrUniversity\": \"University of Andhra Pradesh\",\r\n      \"startYear\": 2004,\r\n      \"endYear\": 2008,\r\n      \"status\": \"completed\",\r\n      \"fieldOfStudy\": \"Computer Science/IT\",\r\n      \"score\": \"56.5%\"\r\n    }\r\n  ],\r\n  \"moviePreferences\": {\r\n    \"genres\": [\r\n      \"Drama\",\r\n      \"Sports drama/Biopic\",\r\n      \"Family drama\"\r\n    ],\r\n    \"favoriteLanguages\": [\r\n      \"Telugu\",\r\n      \"Hindi\"\r\n    ],\r\n    \"anime\": false,\r\n    \"animePreferences\": null,\r\n    \"favoriteAnimeTitles\": null,\r\n    \"primaryPlatform\": \"television\",\r\n    \"watchFrequency\": \"occasional\"\r\n  },\r\n  \"culturalProfile\": {\r\n    \"entrepreneurialScore\": 37,\r\n    \"academicOrientation\": 32,\r\n    \"artisticInclination\": 40,\r\n    \"militaryTradition\": 8,\r\n    \"agriculturalRootedness\": 15,\r\n    \"artisanTradition\": 22,\r\n    \"bureaucraticOrientation\": 5,\r\n    \"socialActivism\": 86,\r\n    \"communityBonding\": 63,\r\n    \"migrationTendency\": 38,\r\n    \"careerPreference\": \"teaching\",\r\n    \"familyStructure\": \"extended_family\",\r\n    \"savingsOrientation\": 21,\r\n    \"riskAppetite\": 15\r\n  },\r\n  \"householdSize\": 1,\r\n  \"householdAssets\": {\r\n    \"hasRadioTransistor\": false,\r\n    \"hasTelevision\": true,\r\n    \"hasComputer\": true,\r\n    \"hasPhone\": true,\r\n    \"hasBicycle\": false,\r\n    \"hasScooter\": true,\r\n    \"hasCar\": false,\r\n    \"bankingService\": true,\r\n    \"treatedWaterSource\": true,\r\n    \"latrineFacility\": true,\r\n    \"numberOfRooms\": 5,\r\n    \"roofMaterial\": \"metal_sheet\",\r\n    \"wallMaterial\": \"burnt_brick\",\r\n    \"cookingFuel\": \"lpg\",\r\n    \"lightingSource\": \"electricity\",\r\n    \"drinkingWaterSource\": \"handpump\"\r\n  },\r\n  \"probabilityMetrics\": {\r\n    \"nationalReligionFreq\": 0.803301791826052,\r\n    \"stateGivenReligionProb\": 0.04704225981630054,\r\n    \"casteGivenContextProb\": 0.09917355371900827,\r\n    \"lastNameGivenCasteProb\": 0.2857142857142857,\r\n    \"socialCategoryProb\": 0.19834710743801653,\r\n    \"educationProb\": 0.14598540145985403,\r\n    \"occupationProb\": 0.4087193460490463,\r\n    \"jointProbability\": 6.388948194089085e-05\r\n  },\r\n  \"generatedAt\": \"2026-09-25T15:55:52.859912\",\r\n  \"seed\": 7,\r\n  \"skills\": {\r\n    \"technical\": [\r\n      \"Commercial Cooking\"\r\n    ],\r\n    \"soft\": [\r\n      \"Teamwork\",\r\n      \"Time Management\"\r\n    ],\r\n    \"certifications\": [],\r\n    \"languages\": [\r\n      {\r\n        \"language\": \"Telugu\",\r\n        \"speaking\": \"native\",\r\n        \"reading\": \"fluent\",\r\n        \"writing\": \"fluent\"\r\n      },\r\n      {\r\n        \"language\": \"Hindi\",\r\n        \"speaking\": \"intermediate\",\r\n        \"reading\": \"intermediate\",\r\n        \"writing\": \"intermediate\"\r\n      },\r\n      {\r\n        \"language\": \"English\",\r\n        \"speaking\": \"intermediate\",\r\n        \"reading\": \"intermediate\",\r\n        \"writing\": \"intermediate\"\r\n      }\r\n    ]\r\n  },\r\n  \"lifeEvents\": [\r\n    {\r\n      \"year\": 1986,\r\n      \"event\": \"born\",\r\n      \"detail\": \"Born in Guntur.\"\r\n    },\r\n    {\r\n      \"year\": 2004,\r\n      \"event\": \"migrated\",\r\n      \"detail\": \"Migrated from Karnataka to Andhra Pradesh.\"\r\n    },\r\n    {\r\n      \"year\": 2007,\r\n      \"event\": \"job_started\",\r\n      \"detail\": \"Started working as Receptionist.\"\r\n    },\r\n    {\r\n      \"year\": 2009,\r\n      \"event\": \"job_changed\",\r\n      \"detail\": \"Changed job to Sales Executive.\"\r\n    },\r\n    {\r\n      \"year\": 2009,\r\n      \"event\": \"married\",\r\n      \"detail\": \"Married Kishan Das.\"\r\n    },\r\n    {\r\n      \"year\": 2010,\r\n      \"event\": \"child_born\",\r\n      \"detail\": \"Birth of child 1.\"\r\n    },\r\n    {\r\n      \"year\": 2022,\r\n      \"event\": \"job_changed\",\r\n      \"detail\": \"Changed job to IT Support Executive.\"\r\n    }\r\n  ],\r\n  \"householdEconomy\": {\r\n    \"monthlyBudget\": {\r\n      \"food\": 46324,\r\n      \"housing\": 19007,\r\n      \"transport\": 8691,\r\n      \"education\": 6372,\r\n      \"health\": 8706,\r\n      \"other\": 0\r\n    },\r\n    \"loans\": [],\r\n    \"creditHistory\": {\r\n      \"score\": 782,\r\n      \"activeLoans\": 0,\r\n      \"missedPayments12m\": 0,\r\n      \"oldestAccountYears\": 0\r\n    }\r\n  }\r\n}\r\n```\r\n---\r\n\r\n## Installation\r\n\r\n### Node.js / TypeScript\r\n```bash\r\nnpm install @abhay557/indian-fakedata\r\n```\r\n*Requires **Node.js >= 18**.*\r\n\r\n### Python\r\n```bash\r\npip install indian-fakedata\r\n```\r\n*Requires **Python 3.8+**.*\r\n\r\n---\r\n\r\n## CLI Usage (Both Languages)\r\n\r\nBoth packages ship with the `indian-fakedata` CLI binary. The arguments are identical across both versions!\r\n\r\n```bash\r\n# Node.js\r\nnpx @abhay557/indian-fakedata [options]\r\n\r\n# Python (or globally installed Node package)\r\nindian-fakedata [options]\r\n```\r\n\r\nRun with no arguments to display the full help menu.\r\n\r\n### Core Options\r\n\r\n| Flag | Alias | Description | Default |\r\n|------|-------|-------------|---------|\r\n| `--count <n>` | `-c` | Number of profiles to generate | `100` |\r\n| `--output <path>` | `-o` | File path to save output | stdout |\r\n| `--format <fmt>` | `-f` | Output format: `json`, `jsonl`, `csv` | `json` |\r\n| `--seed <value>` | `-s` | Reproducibility seed (number or string, e.g. `011`) | random |\r\n| `--no-metrics` | | Exclude probability metrics from output | included |\r\n| `--family` | | Generate a full family (head + spouse + parents + children + siblings) from one seed | off |\r\n| `--help` | `-h` | Show help screen | |\r\n\r\n### Demographic Constraints\r\n\r\nFilter generated profiles to specific demographic slices:\r\n\r\n| Flag | Values |\r\n|------|--------|\r\n| `--religion <string>` | `Hindu`, `Muslim`, `Christian`, `Sikh`, `Buddhist`, `Jain` |\r\n| `--state <string>` | e.g. `Maharashtra`, `Tamil Nadu`, `Punjab` |\r\n| `--gender <gender>` | `male`, `female`, `other` |\r\n| `--caste <string>` | e.g. `Brahmin`, `Maratha`, `Jat` |\r\n| `--socialCategory <cat>` | `SC`, `ST`, `OBC`, `General` |\r\n| `--areaType <type>` | `urban`, `rural` |\r\n| `--minAge <n>` | Minimum age (0–100) |\r\n| `--maxAge <n>` | Maximum age (0–100) |\r\n| `--education <level>` | `illiterate`, `primary`, `secondary`, `graduate`, etc. |\r\n| `--occupation <sector>` | `cultivator`, `other_worker`, `non_worker`, etc. |\r\n| `--maritalStatus <status>` | `never_married`, `married`, `widowed`, etc. |\r\n\r\n### Enrichment Layers (Progressive Depth)\r\n\r\n| Flag | Description |\r\n|------|-------------|\r\n| `--enrich` | Enable ALL enrichment layers (outcomes + narrative:all + persona) |\r\n| `--outcomes` | **[Layer 2]** Add credit score, health risk, employment outcome, education attainment |\r\n| `--bias <0-1>` | Bias dial for outcome simulation. `0.0` = pure meritocracy, `1.0` = max historical discrimination. Default: `0.3` |\r\n| `--narrative <type>` | **[Layer 3]** Generate realistic Indian text documents. Repeat for multiple types: `loan_application`, `medical_consultation`, `school_enrollment`, `ration_card_application`, `hinglish_conversation`, `all` |\r\n| `--persona` | **[Layer 4]** Generate LLM-ready agent persona (system prompt + full roleplay prompt, beliefs, memory seeds) |\r\n\r\n### Quick Examples\r\n\r\n```bash\r\n# 1000 profiles as CSV\r\nindian-fakedata -c 1000 -f csv -o profiles.csv\r\n\r\n# 50K Tamil Nadu Hindus as JSONL\r\nindian-fakedata -c 50000 -f jsonl -o tn_data.jsonl --state \"Tamil Nadu\" --religion Hindu\r\n\r\n# All enrichment layers with moderate bias\r\nindian-fakedata -c 100 --enrich --bias 0.3 -f jsonl -o enriched.jsonl\r\n\r\n# SC community fairness audit\r\nindian-fakedata -c 5000 --outcomes --bias 0.5 --socialCategory SC -f jsonl -o sc_bias.jsonl\r\n```\r\n\r\n---\r\n\r\n## Programmatic API\r\n\r\n### User / Family / Persona (faker-style)\r\n\r\nBoth runtimes expose ergonomic entry points built on top of `generate`:\r\n\r\n```typescript\r\nimport { generateUser, generateUsers, generateFamily, generatePersona } from '@abhay557/indian-fakedata';\r\n\r\n// One user — same shape as the \"Output Sample\" above. Seed may be a\r\n// number (7) or string ('011'); string seeds are hashed deterministically.\r\nconst user = generateUser({ seed: 7 });\r\n\r\n// Many users driven by a single seed\r\nconst users = generateUsers({ count: 5, seed: '011' });\r\n\r\n// A highly educated female IT professional from Karnataka\r\nconst dev = generateUser({ highlyEducated: true, gender: 'female', constraints: { state: 'Karnataka' } });\r\n\r\n// Full relational household from one seed — spouse, parents, children,\r\n// siblings all share the head's state/religion/caste/surname and keep\r\n// age-consistent relationships. Fully reproducible for the same seed.\r\nconst family = generateFamily({ seed: '011' });\r\nfamily.spouse?.lastName;   // === family.head.lastName\r\nfamily.children.map(c => c.age); // younger than head\r\n\r\n// User + LLM-ready agent persona (system prompt, beliefs, memory seeds)\r\nconst { user: u, persona } = generatePersona({ seed: '011' });\r\npersona.systemPrompt; // ready to inject into any LLM system role\r\npersona.fullPrompt;   // complete self-contained roleplay prompt: identity,\r\n                      // education timeline, personality traits, movie/anime\r\n                      // preferences, habits, beliefs, behaviour rules\r\n```\r\n\r\n```python\r\nfrom indian_fakedata import generate_user, generate_users, generate_family, generate_persona\r\n\r\nuser = generate_user(seed=7)\r\nusers = generate_users(count=5, seed=\"011\")\r\ndev = generate_user(highly_educated=True, gender=\"female\", constraints={\"state\": \"Karnataka\"})\r\nfamily = generate_family(seed=\"011\")\r\nout = generate_persona(seed=\"011\")   # {\"user\": ..., \"persona\": ...}\r\nout[\"persona\"][\"fullPrompt\"]         # complete roleplay prompt (see above)\r\n```\r\n\r\n### Core Node.js / TypeScript\r\n```typescript\r\nimport { generate, generateEnriched } from '@abhay557/indian-fakedata';\r\n\r\nconst profiles = generate({ count: 10 });\r\nconst enriched = generateEnriched({ count: 5, includeOutcomes: true });\r\n```\r\n\r\n### Core Python\r\n```python\r\nfrom indian_fakedata import generate, generate_enriched\r\n\r\nprofiles = generate(count=10)\r\nenriched = generate_enriched(count=5, include_outcomes=True)\r\n```\r\n\r\nSee **[TUTORIAL.md](./TUTORIAL.md)** for comprehensive, side-by-side code snippets including data exporting, streams, and narratives. Section 6 covers everything new in 2.0.9 with copy-paste examples.\r\n\r\n---\r\n\r\n## Data Sources & Real-World Accuracy\r\n\r\nThe generator is calibrated against publicly available survey data. The\r\nbundled distributions are **approximations derived from published reports**,\r\nnot raw census tables — actual census microdata (`team/data/*.xlsx`) is\r\nprovided for reference but is not compiled into the package at build time.\r\n\r\n1. **Census of India 2011 (D-Series & C-Series Tables):** Reference material for religion shares, state populations, and mother tongue frequencies; distributions are hand-calibrated approximations.\r\n2. **National Family Health Survey (NFHS-5):** Dietary preferences, BMI, blood groups, height/weight-by-age published statistics.\r\n3. **MSME Census:** Community-level occupational sectors, vocational rates, industry divisions.\r\n4. **UIDAI & RTO Records:** Structural syntax for Aadhaar, Voter ID, PAN, IFSC, and RTO registrations (Aadhaar uses a true Verhoeff checksum; PAN's 10th character is self-consistent but **not** the official check digit).\r\n5. **CSDS/Lokniti Election Studies:** Political leanings and religiosity index biases.\r\n\r\n> **Note:** All data is synthetic mock data. Names, IDs, and numbers are randomly\r\n> generated and do not correspond to any real individuals.\r\n\r\n### v2.0.4 data expansion\r\n\r\n- **760 districts** across all 36 states/UTs (UP has all 75, Tamil Nadu all 38) — was 369\r\n- **471 surnames** keyed to 48 communities (Jain, Buddhist/navayana fully covered) — was 211\r\n- **+566 first names** for Jain (previously empty), Buddhist, Muslim and Christian pools\r\n- **130+ anime titles**, 21 anime genres, 25 movie genres, 34 state cinema languages\r\n- **120 urban / 60 rural locality patterns** for addresses\r\n\r\nBecause pool sizes changed, a given seed may resolve to a different person than in <= 2.0.3.\r\nReproducibility within one version is guaranteed.\r\n\r\n### v2.0.5 fixes\r\n\r\n- `generateEnriched` / `generateEnrichedStream` (Python: `generate_enriched` /\r\n  `generate_enriched_stream`) crashed with a `TypeError` when given string seeds\r\n  such as `\"011\"` — string seeds now work everywhere, as documented.\r\n\r\n### v2.0.6 — provenance markers\r\n\r\nEvery generated profile carries self-labeling fields (`\"synthetic\": true`,\r\n`\"generator\": \"indian-fakedata@...\"`) so data stays identifiable as fake\r\nwherever it travels. Aligned with the Acceptable Use policy above.\r\n\r\n### v2.0.7 — correctness release\r\n\r\n- **Python RNG bias fixed.** The JS→Python port of the mulberry32 PRNG used\r\n  signed shifts; `rng.next()` never returned values >= 0.5, so every weighted\r\n  choice in Python was skewed toward options listed early in the tables.\r\n  All Python distributions are now statistically correct. All seeds produce\r\n  different output than <= 2.0.6 in Python.\r\n- **DOB/age drift fixed (both runtimes).** ~1/3 of profiles previously had a\r\n  `dateOfBirth` whose real calendar age was off by one from `age`.\r\n\r\n### v2.0.8 — appearance attribute\r\n\r\nEvery profile now carries a nested `appearance` object describing physical\r\ntraits: `faceShape`, `skinTone`, `noseType`, `eyeColor`, `eyeShape`,\r\n`hairColor`, `hairTexture`, `hairLength`, `facialHair` and `build`.\r\n\r\n- **Regional variation.** Adult height is shifted by broad geographic region\r\n  (North-West tallest, South and North-East shorter), so a seeded profile's\r\n  `heightCm` now reflects where they live. Existing seeds resolve to slightly\r\n  different heights than <= 2.0.7.\r\n- **Skin tone buckets** use named, descriptive values: `fair`, `wheatish`,\r\n  `brown`, `deep_brown` and `dark`.\r\n- **Agent personas** automatically describe each person's appearance in the\r\n  generated system prompt.\r\n- The `appearance` block is appended at the end of generation, so every other\r\n  field for a given seed stays stable.\r\n\r\n### v2.0.9 — work history, skills and more\r\n\r\nSee [CHANGELOG.md](CHANGELOG.md) for the full 2.0.9 list.\r\n\r\n- **Employment timeline.** Every profile now carries `employmentTimeline`: a\r\n  chronological list of job spells (`jobTitle`, `sector`, `occupation`,\r\n  `employerType`, `startYear`, `endYear`, `status`, `monthlyWageINR`,\r\n  `location`). Wages progress towards the current income; students, the\r\n  unemployed and children get an empty timeline, retirees get completed-only\r\n  history. Attached after profile assembly, so `id` and every <= 2.0.8 field\r\n  for a given seed stay byte-identical.\r\n- **Skills and languages.** Every profile now carries `skills`: `technical`\r\n  and `soft` skill lists, `certifications`, and per-language\r\n  speaking/reading/writing levels (`basic` / `intermediate` / `fluent` /\r\n  `native`). Pools follow education and occupation; children get languages\r\n  only. Same isolated-stream guarantee as the employment timeline.\r\n- **New narrative documents.** Layer 3 gains `resume` (CV grounded in the\r\n  education timeline, work history and skills) and `customer_support_chat`\r\n  (Hinglish bank helpline dialogue, phone masked). Both work via\r\n  `generateNarrative`, `--narrative` and `generateAllNarratives`, which\r\n  appends them at the end so existing document order is unchanged.\r\n- **Hindi/Hinglish personas.** Layer 4 personas accept a `language` option\r\n  (`english` / `hindi` / `hinglish`): `generateAgentPersona(profile,\r\n  { language: 'hindi' })`, `generateEnriched({ ..., agentPersonaLanguage:\r\n  'hinglish' })`, or CLI `--persona --persona-lang hindi`. Hindi renders the\r\n  system prompt in Devanagari with Hindi section headers; Hinglish uses roman\r\n  script. Default `english` output is unchanged.\r\n- **CLI field selection and stats.** `--fields firstName,state,\r\n  appearance.skinTone` outputs only those fields (dot paths allowed,\r\n  repeatable, works for json/jsonl/csv). `--stats` prints a distribution\r\n  summary (religion/state/gender/area/education/occupation) to stderr.\r\n- **Schema and validation.** `getProfileSchema()` exports a versioned JSON\r\n  Schema for the profile shape; `validateProfile(profile)` returns\r\n  `{ valid, errors }` checking required fields, enums and the `synthetic` /\r\n  `generator` provenance markers. Zero dependencies, works on plain JSON.\r\n  The canonical schema is also committed as `schema/profile-2.0.9.json`.\r\n- **PII stripping.** `stripPII(profile)` returns a share-safe copy with\r\n  Aadhaar, PAN, voter ID, phone, email, bank account, UPI ID and the street\r\n  address emptied (same shape, `piiStripped: true` marker, provenance kept).\r\n  `maskNames: true` reduces names to initials. Validate before stripping.\r\n- **CLI privacy.** `--strip-pii` empties identifiers in CLI output (profile\r\n  fields only, not narrative/persona text); `--mask-names` reduces names\r\n  to initials.\r\n- **CLI validation.** `--validate` checks every full profile and exits 1\r\n  with errors on stderr for the first invalid record. Runs before any\r\n  shaping, so it composes with `--strip-pii` and `--fields`.\r\n\r\n### v2.1.0 — timeline follows occupation\r\n\r\n- **Occupation now follows education (breaking).** Occupation used to be\r\n  sampled independently of schooling, so graduates routinely rolled farm\r\n  jobs. Weights are now conditioned on education: graduates skew strongly\r\n  white-collar, the unschooled toward farm work. Same draw count, so the\r\n  stream layout is intact, but occupation-driven fields resolve differently\r\n  than 2.0.9 for the same seed. Explicit `occupation` constraints still win.\r\n- **Employment timeline fix.** Stages used to pick titles from the\r\n  employment sector, so a cultivator could show up as \"Kirana Shop Owner\".\r\n  Titles and occupation labels now follow the profile's own `occupation`;\r\n  only `non_worker` histories fall back to a sampled past sector. `sector`\r\n  still mirrors `employmentSector`, so the two always agree. The\r\n  `employmentTimeline` key now sits right below `occupation` instead of at\r\n  the end of the profile.\r\n- **Jobs match the degree.** The current job title now follows the profile's\r\n  field of study (a BTech graduate works as an engineer, a B.Ed graduate\r\n  teaches; doctor titles need a professional degree), and every sector pool\r\n  grew with more titles. Education and employment timelines finally agree.\r\n- **Native script output.** Every profile carries `nativeScript` with names,\r\n  district and address transliterated into the mother-tongue script\r\n  (Devanagari, Bengali, Gujarati, Gurmukhi, Kannada, Malayalam, Tamil,\r\n  Telugu, Odia; Latin passthrough otherwise). `transliterate()` and\r\n  `scriptForLanguage()` are exported for prompts and free text.\r\n- **Life events timeline.** Every profile carries `lifeEvents` with dated\r\n  birth, marriage, children, migration, job-switch and retirement events,\r\n  cross-checked against age, marital status, child count, migration flag\r\n  and both existing timelines.\r\n- **Household economy kit.** Every profile carries `householdEconomy` with\r\n  a monthly budget split summing exactly to expenditure, 0-2 affordable\r\n  loans with real EMI math (total EMI capped at 60% of income), and a\r\n  credit history whose score bands track missed payments.\r\n- **Festival calendar.** Personas, chats and QA derive dated observances\r\n  on demand from religion and state instead of storing them on the\r\n  profile: pan-Indian festivals from the family's religion plus regional\r\n  ones that stay in their states (Pongal, Bihu, Onam, Durga Puja, Chhath,\r\n  Teej, Baisakhi, Ganesh Chaturthi). Everyone shares one stream per\r\n  profile, so memories and chats always agree. Lunisolar dates are\r\n  typical, not exact.\r\n- **SFT pair builder.** `buildSFTPairs()` turns a profile (plus optional\r\n  narratives) into grounded instruction/response pairs, exported as JSONL\r\n  with `sftPairsToJsonl()`.\r\n- **Grounded QA pairs.** `buildQAPairs()` turns a profile into\r\n  question/answer pairs for retrieval and comprehension evaluation. Every\r\n  answer is templated from profile fields and carries `citations`, the\r\n  exact field paths it was built from.\r\n- **Eval harness.** `evaluateDataset()` scores any batch with one quality\r\n  number built from census drift, schema validity and internal\r\n  consistency, plus an `indian-fakedata --eval file.jsonl` command.\r\n- **Geospatial points.** Every profile carries `geo` with an approximate\r\n  latitude/longitude around the state capital, tighter for urban profiles\r\n  and clamped inside the state bounding box. District-approximate, not\r\n  rooftop-accurate.\r\n\r\n---\r\n\r\n## The 4 Data Layers\r\n\r\n| Layer | Name | Description |\r\n|-------|------|-------------|\r\n| 1 | **Core Demographics** | State, gender, religion, caste, names, languages, biological markers, address |\r\n| 2 | **Socio-Economic Outcomes** | CIBIL credit score, health risk, literacy, employment vulnerability (configurable bias) |\r\n| 3 | **Narrative Documents** | Loan applications, OPD records, Hinglish WhatsApp chats, school admissions |\r\n| 4 | **Agent Persona Prompts** | LLM-ready system prompts + full roleplay prompts (education timeline, personality traits, movie/anime preferences), worldview beliefs, stress responses, memory seeds |\r\n\r\n---\r\n\r\n## Scripts (For Contributors)\r\n\r\n| Command | Description |\r\n|---------|-------------|\r\n| `npm run build` | Compile TypeScript to `dist/` |\r\n| `npm run dev` | Run `src/index.ts` via tsx |\r\n| `npm run cli` | Run `src/cli.ts` via tsx |\r\n| `npm test` | Run vitest test suite |\r\n| `npm run demo` | Run demo script |\r\n| `npm run lint` | Type-check without emitting |\r\n\r\n---\r\n\r\n## For AI Agents\r\n\r\n[`SKILL.md`](SKILL.md) teaches AI coding agents how to correctly use this\r\nlibrary: install commands, the full API matrix (TS/Python), CLI reference, seed\r\nsemantics, output shape, verification assertions, and common mistakes.\r\n\r\n---\r\n\r\n## Acceptable Use\r\n\r\nThis library generates **synthetic** mock data intended for software testing,\r\ndevelopment, ML/AI research, education, and simulation. By using it you agree\r\n**not** to use it, or data derived from it, for:\r\n\r\n- Creating fake identity documents, or bypassing KYC / identity / age verification systems\r\n- Operating fake accounts, bots, or personas that interact with real people —\r\n  including social-media manipulation, astroturfing, and fake reviews\r\n- Disinformation, impersonation, harassment, spam, or scam content of any kind\r\n- Presenting generated profiles or statistics as real data about real individuals,\r\n  or publishing datasets derived from this library without clearly labeling them synthetic\r\n- Any purpose that is illegal under applicable law\r\n\r\nAll identifiers (Aadhaar, PAN, voter ID, phone, email) are fabricated and exist in no\r\ngovernment or commercial database. Every profile is fictional; any resemblance to a\r\nreal person is coincidental. **You are responsible for how you deploy the output of\r\nthis library.** If you are unsure whether your use case is acceptable, it probably isn't.\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT &copy; Abhay Mourya (abhay557)\r\n","readmeFilename":"README.md"}