https://github.com/zachpinto/faker-streamlit
An interactive Streamlit GUI for the Faker library
https://github.com/zachpinto/faker-streamlit
faker streamlit
Last synced: about 1 month ago
JSON representation
An interactive Streamlit GUI for the Faker library
- Host: GitHub
- URL: https://github.com/zachpinto/faker-streamlit
- Owner: zachpinto
- Created: 2025-05-04T16:30:41.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-04T19:09:13.000Z (about 1 year ago)
- Last Synced: 2025-05-07T18:13:16.695Z (about 1 year ago)
- Topics: faker, streamlit
- Language: Python
- Homepage: https://faker-python.streamlit.app/
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Faker Streamlit App
**A clean, interactive Streamlit GUI for the [Faker](https://github.com/joke2k/faker) library — generate fake datasets easily and export them as CSV.**
---
## Web App
Try a GUI version of Faker using the Streamlit web app: [Launch App](https://faker-streamlit.streamlit.app)
---
## Features
- ⚙️ Configure number of rows and columns
- 🧬 Per-column data type selection from Faker or manual format (e.g. `$###,###.##`)
- 🔁 Optionally restrict each field to a number of unique values
- 📄 Preview and download data as CSV
- 🧠 Uses the powerful [Faker](https://faker.readthedocs.io/) library for realistic fake data generation
---
## Screenshot

## Installation
```bash
git clone https://github.com/zachpinto/faker-streamlit.git
cd faker-streamlit
pip install -r requirements.txt
streamlit run app.py
```
## Requirements
- Python 3.8+
- Streamlit 1.45.0+
- Faker
- pandas
See [`requirements.txt`](./requirements.txt) for specific version constraints.
---
## About Faker
This app is built on top of the official [Faker](https://github.com/joke2k/faker) Python library.
Faker generates fake but realistic-looking data for a wide range of use cases, including:
- Personal identity: names, addresses, emails, phone numbers
- Internet and tech: usernames, IP addresses, domains, MACs
- Financial: credit cards, currencies, prices
- Location and datetime: cities, zip codes, datetimes
- Job and company info: job titles, employers, business jargon
Faker is especially useful for:
- Bootstrapping test databases
- Anonymizing production data
- Stress testing apps with large fake datasets
📚 Full docs here: [https://faker.readthedocs.io/](https://faker.readthedocs.io/)
---
## Supported Formats
You can define fields in one of two ways:
### 1. **Faker Built-in Types (Dropdown)**
Choose from 100+ Faker methods, like:
- `name`, `address`, `email`, `company`, `job`
- `ipv4`, `iban`, `phone_number`, `credit_card_number`
Each row will call the selected method once to generate data for that column.
### 2. **Manual Pattern Format**
Use `#` for digits, `?` for uppercase letters, and include any literal characters you want.
**Examples**:
- `$###,###.##` → `$452,990.14`
- `??-####` → `AZ-9842`
- `Order-####-??` → `Order-1023-KL`
You can also limit each column to a fixed number of unique values (e.g. 10 departments, 50 zip codes).
---
## Example Use Cases
- Prototyping mock datasets for machine learning
- Populating UI components with realistic data
- Creating sample JSON APIs for demos
- Teaching data pipelines, visualization, or testing
- Filling out dashboards or Excel models quickly
---
## License
The underlying [Faker library](https://github.com/joke2k/faker/LICENSE) is also released under the MIT License.
---
## Acknowledgements
- Built with [Faker](https://github.com/joke2k/faker) by [@joke2k](https://github.com/joke2k)
- GUI powered by [Streamlit](https://streamlit.io/)