This project provides standalone scripts to generate a comprehensive JSON database of Apple device specifications (iPhone and iPad models) by combining data from public sources.
- Fetches device specs (chip, RAM, SKU) from TheAppleWiki and local Xcode resources
- Merges and standardizes the data into JSON files
- No dependencies on other scripts or files—just run the scripts you need
-
Install dependencies:
pip install -r requirements.txt
-
Run the scripts:
# For iPhone data python src/generate_apple_device_specs.py # For iPad data python src/generate_ipad_device_specs.py
This will create or update the respective JSON files in the
apple/
directory.
- Python 3.7+
- pandas
- requests
apple/iPhone.json
: Contains structured iPhone device dataapple/iPad.json
: Contains structured iPad device data
- The scripts are fully standalone. You do not need any other files to generate the data.
- Each script focuses on a specific device type (iPhone or iPad).
- The data is filtered to include only recent devices:
- iPhones: iPhone XR/XS and newer models
- iPads: Models with A12 chip or newer
- The Apple Wiki for device specifications
- Xcode (for device SKU information)
{
"date_generated": "YYYY-MM-DDTHH:MM:SS.SSSSSS",
"xcode_version": "Version X.Y.Z (XXXXX)",
"total_menu": {
"device_name": {
"sku": "device_sku",
"chip": "chip_name",
"ram": "X GB"
}
}
}
{
"date_generated": "YYYY-MM-DDTHH:MM:SS.SSSSSS",
"xcode_version": "Version X.Y.Z (XXXXX)",
"total_menu": {
"device_name": {
"sku": ["sku1", "sku2"], // List of SKUs for different variants
"chip": "chip_name",
"ram": "X GB"
}
}
}
.
├── README.md
├── LICENSE
├── requirements.txt
├── android/ # Future support for Android devices
├── apple/
│ ├── iPhone.json # iPhone specifications
│ └── iPad.json # iPad specifications
└── src/
├── generate_apple_device_specs.py # iPhone data generator
└── generate_ipad_device_specs.py # iPad data generator
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- The Apple Wiki for device specifications
- Xcode for device SKU information