Skip to main content

๐Ÿฅท Mock Jutsu

Stop mocking with random strings. Start generating cryptographically valid test data.

Tests Python Data Types Locales Zero Dependencies License: MIT PyPI Docker Hub JMeter Plugin Postman Product Hunt AlternativeTo

DISCLAIMER โ€” FOR TESTING PURPOSES ONLY All data generated by this library is algorithmically synthesized and entirely fictitious. Designed exclusively for software testing, QA automation, and load testing. Generated values (identity numbers, IBANs, card numbers, passport numbers, etc.) must never be used for fraud, identity theft, financial crime, or any other illegal activity. The authors accept no liability for misuse. By using this software you agree to these terms.

Traditional Mockers give you a random 16-digit string and call it a credit card number.
Mock Jutsu runs Luhn. Every. Single. Time.

Installation โ€ข Why Mock Jutsu? โ€ข Usage Guide โ€ข 390 Types


๐Ÿš€ The Ultimate Algorithmic Mock Data Engine

QA engineers, Data Scientists, and Fintech developers are tired of test data failing at the validation layer. Mock Jutsu is built differently. It treats every identifier as a strict technical specification. If an algorithm defines a checksum, Mock Jutsu computes it. No shortcuts.

๐Ÿ”ฅ Features That Will Blow Your Mind

  • Zero External Dependencies: The core data engine uses pure Python standard library for maximum speed, security, and zero bloat.
  • 5998 Automated Tests: We don't guess. We verify. Every single format and locale is rigorously tested against real-world algorithmic specifications.
  • Multi-Interface: Use it as a rich Python SDK, a blazing-fast CLI, or a FastAPI REST endpoint.
  • Export Anywhere: Directly export structured records as JSON, CSV, or SQL INSERT statements with thousands of rows in milliseconds.
  • Context-Aware Profiles: Generate a person, and their email, phone, national ID, and IBAN will inherently match their locale and name.

๐Ÿค” Why Mock Jutsu?

Mock Jutsu โ€” checksum-valid test data for Fintech Developers, QA Testers, and Everyone Else.

Traditional mockers produce values that merely look correct; Mock Jutsu generates national IDs, IBANs, and card numbers that pass real validation โ€” every checksum computed to spec, and independently verified against third-party libraries rather than our own test suite. Use it for Unit Tests, Integration Tests, or UAT.

Capability Mock Jutsu ๐Ÿฅท Traditional Mockers
Card Numbers (Luhn Valid) โœ… 9 Networks Validated โŒ Random digits
IBANs (MOD-97 Valid) โœ… Country-specific โŒ Format-only
National IDs โœ… Real algorithms (6 countries) โš ๏ธ Partial / Random
Telecom (IMEI, ICCID, IMSI) โœ… 3GPP / ITU-T Valid โŒ None
Securities (ISIN, LEI, SEDOL) โœ… Checksum Validated โŒ None
Crypto (BTC, ETH addresses) โœ… Base58Check / Keccak-256 โŒ None
Payment QRs (EMVCo/SEPA) โœ… CRC-16 Checksum / BCD Format โŒ None
Barcodes (EAN, ISBN, GS1) โœ… GS1 v24.0 Valid โŒ None
Tracking (USPS/UPS/FedEx) โœ… Pub.97 Luhn / Mod-11 โŒ None
Banking Routing Codes โœ… Valid ABA/Sort/BIC โš ๏ธ Format-only
RFID & NFC Data โœ… EPC SGTIN-96, NDEF URI/Text โŒ None
Context-Aware Profiles โœ… Linked Name โ†” Email โ†” Phone โš ๏ธ Disconnected randoms
SQL/CSV Direct Export โœ… Native Support โŒ Manual generation
Schema/Template Generation โœ… jutsu.template() for complex dictionaries โŒ Manual object mapping
Built-in CLI Tool โœ… Out-of-the-box (mockjutsu generate) โŒ Requires custom scripts
Built-in REST API โœ… 1 command (mockjutsu start-api) โŒ Requires custom wrapper
Reverse Regex Generation โœ… Pattern โ†’ valid string (stdlib only) โŒ None
External Dependencies โœ… Zero (Pure Python) โŒ Relies on external files
Regulation-Aware Masking โœ… PCI DSS ยท GDPR ยท KVKK ยท HIPAA ยท GLBA ยท UK GDPR ยท LGPD ยท PDPA ยท PIPL ยท PSD2 ยท BSA ยท FATF โŒ None

๐ŸŽฌ See It In Action

Mock Jutsu Demo


โš™๏ธ Installation

Python Package

Requires Python 3.9+.

# Standard Installation
pip install mockjutsu

# Isolated CLI Installation (recommended for macOS/Linux)
pipx install mockjutsu

# For Developers (Editable Mode)
git clone https://github.com/altansayan/mock-jutsu-api.git
cd mock-jutsu-api
pip install -e .

REST API โ€” Docker (Recommended)

Run the full REST API locally with a single command. No Python required.

Docker Hub

# Pull and run (port 8000)
docker run -p 8000:8000 altansezerayan/mock-jutsu:latest

# With custom worker count
docker run -p 8000:8000 -e GRANIAN_WORKERS=8 altansezerayan/mock-jutsu:latest

# Run in background
docker run -d -p 8000:8000 --name mock-jutsu altansezerayan/mock-jutsu:latest

Once running:

  • Swagger UI: http://localhost:8000/docs
  • API: http://localhost:8000/generate/{type}

๐ŸŒ REST API โ€” Built-in CLI (Local, Optional)

If you have the Python package installed, you can also spin up the API directly via CLI โ€” no Docker needed.

$ mockjutsu start-api --port 8000
GET http://localhost:8000/generate/cardnum?network=visa
GET http://localhost:8000/profile?locale=DE&count=3

# Interactive Swagger UI automatically available at http://localhost:8000/docs

๐Ÿ”ง JMeter Plugin

Use Mock Jutsu types directly inside JMeter test plans as native custom functions โ€” no scripting, no CSV, no subprocess required.

JMeter Plugin

${__mockjutsu_identity(tckn|TR)}                  โ†’ 46396909916
${__mockjutsu_financial(iban|DE)}                 โ†’ DE89370400440532013000
${__mockjutsu_financial(cardnum:visa|TR|mask)}    โ†’ 4155 56** **** 3399
${__mockjutsu_contact(email|US)}                  โ†’ john.doe@example.com

โ†’ mock-jutsu-jmeter on GitHub ยท Download JAR v1.0.0

๐Ÿ“ฌ Postman Collection

390 ready-to-run requests organized by category. Import and hit Send.

Postman

# Collection is bundled in this repo โ€” import directly in Postman:
# .postman/collections/mock-jutsu.postman_collection.json

โ†’ View Collection


๐Ÿ’ป Usage

Whether you are writing automated tests, working in the terminal, or spinning up a mock API, Mock Jutsu is ready.

๐Ÿ 1. Python SDK

from mockjutsu.core import jutsu

# 1. Complete, internally-consistent profiles
person = jutsu.profile(locale='DE')
print(person['nationalid']) # -> "86094599602" (Steuer-ID: ISO 7064 MOD 11,10 โœ…)
print(person['iban'])       # -> "DE89370400440532013000" (ISO 13616 MOD-97 โœ…)

# 2. Individual precise data types
card = jutsu.generate('cardnum', network='amex') # -> "376956063521007" (Luhn โœ…)
btc = jutsu.generate('btc_address')              # -> "1BvBMSEYstWet..." (Base58Check SHA256d โœ…)

# 3. ๐ŸŽฏ Fully Customizable Templates
# Define your own schema and generate a list of dictionaries instantly
users = jutsu.template(
    {'user_id': 'uuid', 'name': 'fullname', 'wallet': 'crypto_address'},
    count=100, locale='UK'
)

# 4. Generate thousands of records & export directly to SQL
sql = jutsu.export(
    {'id': 'uuid', 'name': 'fullname', 'card': 'cardnum', 'bank_account': 'iban'},
    count=5000, format='sql', table='users', locale='TR'
)

โšก 2. Beautiful CLI

Generate valid test data straight from your terminal.

# Get single values instantly
$ mockjutsu generate tckn
$ mockjutsu generate iban --locale FR
$ mockjutsu generate cardnum --network troy

# Need an array of valid US phone numbers?
$ mockjutsu bulk phone --count 500 --locale US

# Generate CSV datasets and save to a file
$ mockjutsu template uuid fullname crypto_address --count 100 --format csv > users.csv

# Generate SQL seed files and save to a text file
$ mockjutsu template uuid fullname crypto_address --count 500 --format sql --table USERS > data.txt

๐Ÿงฑ 4. Template Generation via CLI

Combine multiple data types into a structured JSON record directly from your terminal.

$ mockjutsu template uuid fullname crypto_address --count 2 --locale US
[
  {
    "uuid": "5ae780dd-1e26-4317-bc87-495eb53563aa",
    "fullname": "Holly Brandt",
    "crypto_address": "13gSozPBVaQMfFvVrRB7AQ3Fe6ZLDXErUh"
  },
  {
    "uuid": "76706c3e-3eaa-4afd-a749-e4002764d275",
    "fullname": "Brooke Lyons",
    "crypto_address": "1GPuQvEVjYfy7C4fdxtY2Y1q76Awngsk9n"
  }
]

๐ŸŒ 6 Locales. 100% Real Algorithms.

We don't just localize names; we localize mathematics.

Locale Country National ID Internal Algorithm Executed
๐Ÿ‡น๐Ÿ‡ท TR TCKN Dual MOD-10 checksum, 11 digits
๐Ÿ‡บ๐Ÿ‡ธ US SSN / EIN ABA Routing MOD-10
๐Ÿ‡ฌ๐Ÿ‡ง UK NIN / UTR HMRC prefix restrictions
๐Ÿ‡ฉ๐Ÿ‡ช DE Steuer-ID ISO 7064 MOD 11,10
๐Ÿ‡ซ๐Ÿ‡ท FR SIREN / TVA Luhn + MOD-97
๐Ÿ‡ท๐Ÿ‡บ RU INN / SNILS Weighted checksum arrays, MOD-101

๐Ÿ“ฆ 390 Supported Data Types

We cover everything from standard identities to complex financial market identifiers.

๐Ÿ‘ค Identity & Demographic (42 types)
tckn ssn ein nin siren siret tva inn snils ogrn passport license +20 more
๐Ÿ’ณ Financial & Banking (53 types)
cardnum cardnetwork iban sepa_qr emv_qr_p2p emv_qr_atm emv_qr_pos bic sort_code +18 more
๐Ÿ“ก Telecom & IoT (19 types)
imei iccid imsi msisdn rfid_uid epc nfc_uid ndef_uri apdu ir_nec +10 more
๐Ÿ’น Securities & Crypto (38 types)
isin cusip sedol lei btc_address eth_address tx_hash block_hash
๐Ÿ“ฆ E-Commerce & Barcodes (20 types)
ean13 upca isbn13 gs1_128 tracking_number sku order_id +5 more

(See our interactive guides for the full list of 390 types: ๐Ÿ‡น๐Ÿ‡ท TR | ๐Ÿ‡บ๐Ÿ‡ธ EN | ๐Ÿ‡ฌ๐Ÿ‡ง UK | ๐Ÿ‡ฉ๐Ÿ‡ช DE | ๐Ÿ‡ซ๐Ÿ‡ท FR | ๐Ÿ‡ท๐Ÿ‡บ RU)


๐Ÿค Contributing

Mock Jutsu thrives on community contributions. Found a checksum we're not validating? A locale we're missing? We'd love your help!

๐Ÿšจ Strict TDD & Performance Mandate To maintain our enterprise-grade quality, this repository mechanically enforces Test-Driven Development (TDD).

  • Every new generator must be fully tested mathematically.
  • Every new generator must pass the < 1.5ms performance baseline.
  • GitHub Actions will automatically block any Pull Request that lacks passing tests.

Please read our full CONTRIBUTING.md guide before starting your work.

Quick Start for Contributors

  1. Fork the Project & clone it locally.
  2. Install the pre-push safety hook: python scripts/setup-hooks.py
  3. Write your test first, then implement your algorithm.
  4. Commit your changes and open a Pull Request!

โš–๏ธ Legal Disclaimer

Generated data is entirely synthetic and for development/testing environments only.

  • Do not submit to real financial, government, or telecom production systems.
  • Generated IBANs, card numbers, and national IDs are mathematically valid but do not belong to real entities.


๐Ÿ’– Support Mock Jutsu

Mock Jutsu is free and open-source. If it saved you hours of debugging, consider buying me a coffee โ˜•


"Every cup of coffee = one more data type." ๐Ÿฅท


NetworkAddress
ฮž Ethereum (ETH)0x8D2fF0a795E3a19D41758Cb9b4451C39D528BbAF

This section will be updated with our sponsors.


If mock-jutsu saved you from debugging a "valid-looking but broken" test ID, please leave a โญ!

Released under the MIT License โ€ข Copyright ยฉ 2026 Altan Sezer Ayan โ€” A.S.A

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mockjutsu-1.1.3.tar.gz (397.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mockjutsu-1.1.3-py3-none-any.whl (259.3 kB view details)

Uploaded Python 3

File details

Details for the file mockjutsu-1.1.3.tar.gz.

File metadata

  • Download URL: mockjutsu-1.1.3.tar.gz
  • Upload date:
  • Size: 397.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for mockjutsu-1.1.3.tar.gz
Algorithm Hash digest
SHA256 8414df488602ee04263b2c41d7aa0edf5867df0ed6f8b5afd83e6be735a9a5f8
MD5 e21f4602542c49b3470f000fdf9d7ee1
BLAKE2b-256 ebb6f8b594e9270285c1f932debbb28f5a53898edadf10556c0ff43f2c17f175

See more details on using hashes here.

Provenance

The following attestation bundles were made for mockjutsu-1.1.3.tar.gz:

Publisher: publish-pypi.yml on altansayan/mock-jutsu-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mockjutsu-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: mockjutsu-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 259.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for mockjutsu-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5af1675206247314b6d8aae1833c6fd51c130a4c0713259426c33d2c77349c94
MD5 dd45a62ec5dcb18b9142a01f03d966f6
BLAKE2b-256 fcc29668abbd86d096f6cb1acbe9ca4adb4c56655ef1441c0429c96c82ae5885

See more details on using hashes here.

Provenance

The following attestation bundles were made for mockjutsu-1.1.3-py3-none-any.whl:

Publisher: publish-pypi.yml on altansayan/mock-jutsu-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page