Skip to main content

A CLI tool to migrate Excel data to AWS Amplify

Project description

Amplify Excel Migrator

A CLI tool to migrate data from Excel files to AWS Amplify GraphQL API. Developed for the MECO project - https://github.com/sworgkh/meco-observations-amplify

Installation

From GitHub

Install directly from GitHub:

pip install git+https://github.com/EyalPoly/amplify-excel-migrator.git

From Source

Clone the repository and install:

git clone https://github.com/EyalPoly/amplify-excel-migrator.git
cd amplify-excel-migrator
pip install .

For Development

Install with development dependencies:

pip install -e ".[dev]"

This installs the package in editable mode with pytest and other development tools.

Usage

The tool has three subcommands:

1. Configure (First Time Setup)

Save your AWS Amplify configuration:

amplify-migrator config

This will prompt you for:

  • Excel file path
  • AWS Amplify API endpoint
  • AWS Region
  • Cognito User Pool ID
  • Cognito Client ID
  • Admin username

Configuration is saved to ~/.amplify-migrator/config.json (passwords are never saved).

2. Show Configuration

View your current saved configuration:

amplify-migrator show

3. Run Migration

Run the migration using your saved configuration:

amplify-migrator migrate

You'll only be prompted for your password (for security, passwords are never cached).

Quick Start

# First time: configure the tool
amplify-migrator config

# View current configuration
amplify-migrator show

# Run migration (uses saved config)
amplify-migrator migrate

# View help
amplify-migrator --help

Example: Configuration

╔════════════════════════════════════════════════════╗
║        Amplify Migrator - Configuration Setup      ║
╚════════════════════════════════════════════════════╝

📋 Configuration Setup:
------------------------------------------------------
Excel file path [data.xlsx]: my-data.xlsx
AWS Amplify API endpoint: https://xxx.appsync-api.us-east-1.amazonaws.com/graphql
AWS Region [us-east-1]:
Cognito User Pool ID: us-east-1_xxxxx
Cognito Client ID: your-client-id
Admin Username: admin@example.com

✅ Configuration saved successfully!
💡 You can now run 'amplify-migrator migrate' to start the migration.

Example: Migration

╔════════════════════════════════════════════════════╗
║             Migrator Tool for Amplify              ║
╠════════════════════════════════════════════════════╣
║   This tool requires admin privileges to execute   ║
╚════════════════════════════════════════════════════╝

🔐 Authentication:
------------------------------------------------------
Admin Password: ********

Requirements

  • Python 3.8+
  • AWS Amplify GraphQL API
  • AWS Cognito User Pool
  • Admin access to the Cognito User Pool

Features

  • Configuration caching - Save your setup, reuse it for multiple migrations
  • Interactive prompts - Easy step-by-step configuration
  • Custom types and enums - Full support for Amplify custom types
  • Duplicate detection - Automatically skips existing records
  • Async uploads - Fast parallel uploads for better performance
  • MFA support - Works with multi-factor authentication
  • Automatic type parsing - Smart field type detection and conversion

Excel File Format

The Excel file should have:

  • One sheet per Amplify model (sheet name must match model name)
  • Column names matching the model field names
  • First row as headers

Example Excel Structure

Sheet: User

name email age
John john@example.com 30
Jane jane@example.com 25

Sheet: Post

title content userId
First Post Hello World john@example.com

License

MIT

Project details


Download files

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

Source Distribution

amplify_excel_migrator-1.0.0.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

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

amplify_excel_migrator-1.0.0-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file amplify_excel_migrator-1.0.0.tar.gz.

File metadata

  • Download URL: amplify_excel_migrator-1.0.0.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for amplify_excel_migrator-1.0.0.tar.gz
Algorithm Hash digest
SHA256 12884054b8475d790fabaa1262e5e3cea6c41317729c8b9ae841fde5b54df26e
MD5 468284f4e2ff0916e5d3e2b76936b179
BLAKE2b-256 eb051aed26b224444e96ea643fd000ecd828e707a8cb8750e6e2499b33cf5428

See more details on using hashes here.

File details

Details for the file amplify_excel_migrator-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for amplify_excel_migrator-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65201b8157986f7d9f8789a7b4286f5dff4b8013599c09bde60fc9b54290ae52
MD5 50a4750bfdfa58935877a4e2b7cf91c6
BLAKE2b-256 1639c5d0abd3a71267f489c9e2ff2ee95a8b0756126dd63e8b20b242cfbeed44

See more details on using hashes here.

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