avatar-everywhere-cli


Nameavatar-everywhere-cli JSON
Version 1.0.2 PyPI version JSON
download
home_pagehttps://github.com/Supercoolkayy/avatar-everywhere-cli
SummaryPortable Sandbox Identity Toolkit - NFT verification and VRM avatar conversion
upload_time2025-08-03 19:45:29
maintainerNone
docs_urlNone
authorAbdulkareem Oyeneye/Dapps over Apps.
requires_python>=3.10
licenseMIT
keywords sandbox avatar nft vrm metaverse polygon walletconnect
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Avatar Everywhere CLI - Portable Sandbox Identity Toolkit

**Milestone 1:** NFT Ownership Verification + Avatar Export to VRM

Convert your Sandbox avatars to VRM format for use across metaverse platforms like Unity, VRChat, and more. Includes blockchain-based ownership verification to ensure you own the avatar NFT before conversion.

## Features

- **NFT Ownership Verification**: Verify Sandbox avatar NFT ownership on Polygon network
- **Avatar Format Conversion**: Convert `.glb` and `.vox` avatar files to VRM 1.0 format
- **Cross-Platform Compatibility**: Output VRM files work with Unity, VRChat, and other VRM-compatible platforms
- **CLI Interface**: Simple command-line tools for batch processing and automation
- **WalletConnect v2 Integration**: Seamless wallet connection for NFT verification
- **Performance Testing**: Automated benchmarking for large file handling
- **Unity Integration**: Comprehensive VRM testing with UniVRM
- **Real Network Testing**: Polygon mainnet NFT verification procedures

## System Requirements

| Component | Version  | Status             |
| --------- | -------- | ------------------ |
| Python    | 3.11+    | Required           |
| Node.js   | 16+      | Required           |
| UniVRM    | 0.121+   | For Unity testing  |
| Unity     | 2022 LTS | For VRM validation |

## Installation

### Option 1: Install via PyPI (Recommended)

```bash
# Install the CLI globally (recommended)
pip install avatar-everywhere-cli

# Set up global command access
./setup_global.sh

# After install, use the global command:
avatar-everywhere --help
avatar-everywhere convert avatar.glb --output my_avatar.vrm

# Install with development dependencies
pip install avatar-everywhere-cli[dev]

# Install with performance monitoring
pip install avatar-everywhere-cli[performance]
```

**Note**: After installation, the `avatar-everywhere` command is available globally. If you get "command not found", run `./setup_global.sh` or add `~/.local/bin` to your PATH manually.

### Option 2: Install via npm

```bash
# Install the Node.js components
npm install avatar-everywhere-cli

# Install globally for CLI access
npm install -g avatar-everywhere-cli
```

### Option 3: Manual Installation (for development)

```bash
# Clone repository
git clone https://github.com/Supercoolkayy/avatar-everywhere-cli
cd avatar-everywhere-cli

# Install Python dependencies
pip install -r requirements.txt

# Install Node.js dependencies
npm install

# Install the CLI globally from source
pip install .

# After install, use the global command:
avatar-everywhere --help
avatar-everywhere convert avatar.glb --output my_avatar.vrm

# Verify installation
avatar-everywhere list-requirements
```

### Post-Installation Setup

After installation, you may need to:

1. **Set up WalletConnect** (for NFT verification):

   ```bash
   # Create .env file with your WalletConnect Project ID
   echo "WALLETCONNECT_PROJECT_ID=your_project_id_here" > .env
   ```

2. **Verify installation**:
   ```bash
   # Test the CLI
   avatar-everywhere --help
   # or
   python main.py --help
   ```

## Usage

After installation (via PyPI or source), you can use the CLI globally:

```bash
# Using the installed global command
avatar-everywhere --help
avatar-everywhere convert avatar.glb --output my_avatar.vrm

# Or using the Python module (advanced/dev only)
python main.py --help
```

### NFT Ownership Verification

Verify that you own a Sandbox avatar NFT before converting:

```bash
# Verify ownership with wallet address
avatar-everywhere verify \
  --contract 0x1234567890abcdef1234567890abcdef12345678 \
  --token 123 \
  --wallet 0xabcdef1234567890abcdef1234567890abcdef12

# Verify ownership with WalletConnect v2
avatar-everywhere verify-wc \
  --contract 0x1234567890abcdef1234567890abcdef12345678 \
  --token 123

# Verify ownership (will prompt for WalletConnect)
avatar-everywhere verify --contract 0x... --token 123
```

**Parameters:**

- `--contract, -c`: NFT contract address on Polygon
- `--token, -t`: NFT token ID
- `--wallet, -w`: Wallet address (optional, triggers WalletConnect if not provided)
- `--auto-connect`: Automatically connect wallet (WalletConnect mode)

### Avatar Conversion

Convert Sandbox avatar files to VRM format:

```bash
# Convert with ownership verification
avatar-everywhere convert avatar.glb \
  --output my_avatar.vrm \
  --contract 0x1234567890abcdef1234567890abcdef12345678 \
  --token 123

# Convert without verification (testing)
avatar-everywhere convert avatar.glb --skip-verify

# Convert VOX file
avatar-everywhere convert avatar.vox --output avatar.vrm
```

**Parameters:**

- `input_file`: Path to `.glb` or `.vox` avatar file
- `--output, -o`: Output VRM file path (optional, defaults to input name with .vrm extension)
- `--contract, -c`: NFT contract address for verification
- `--token, -t`: NFT token ID for verification
- `--skip-verify`: Skip NFT ownership verification

### File Analysis

Get information about avatar files:

```bash
# Analyze GLB file
avatar-everywhere info avatar.glb

# Analyze VOX file
avatar-everywhere info avatar.vox
```

### Performance Testing

Run automated performance benchmarks:

```bash
# Run comprehensive performance tests
python benchmark_performance.py

# Test specific file conversion
avatar-everywhere convert test_assets/large_avatar.glb --output output/large_test.vrm

# Monitor memory usage
python -m memory_profiler avatar-everywhere convert test_assets/medium_avatar.glb
```

### Unity Integration Testing

Test VRM files in Unity with UniVRM:

```bash
# Follow the Unity integration guide
# See unity_integration_test.md for detailed instructions

# 1. Install UniVRM in Unity
# 2. Import VRM files from output/ directory
# 3. Validate import success and runtime functionality
```

### Real Network Testing

Test NFT verification on Polygon mainnet:

```bash
# Test with real Sandbox NFTs
python main.py verify \
  --contract 0x5cc5e64ab764a0f1e97f23984e20fd4528826c79 \
  --token 12345 \
  --wallet 0x1234567890123456789012345678901234567890

# Test network resilience
python main.py verify \
  --contract 0x5cc5e64ab764a0f1e97f23984e20fd4528826c79 \
  --token 12345 \
  --rpc-url https://rpc-mainnet.maticvigil.com
```

## Examples

### Complete Workflow

```bash
# 1. Verify you own the NFT
avatar-everywhere verify \
  --contract 0xa342f5d851e866e18ff98f351f2c6637f4478db5 \
  --token 12345 \
  --wallet 0x742d35cc6634c0532925a3b8d0e97b4b0d2d4aad

# 2. Convert avatar with verification
avatar-everywhere convert sandbox_avatar.glb \
  --output my_metaverse_avatar.vrm \
  --contract 0xa342f5d851e866e18ff98f351f2c6637f4478db5 \
  --token 12345

# 3. Check the output file
avatar-everywhere info my_metaverse_avatar.vrm
```

### Batch Processing

```bash
# Process multiple avatars
for file in assets/*.glb; do
  avatar-everywhere convert "$file" --skip-verify
done
```

## File Structure

```
avatar-everywhere-cli/
├── main.py                 # Main entry point
├── cli.py                  # CLI commands and interface
├── converters/
│   └── sandbox_to_vrm.py   # GLB/VOX to VRM converter
├── wallet/
│   └── verify_owner.js     # NFT ownership verification
├── vox_parser/
│   └── extract_vox.py      # VOX file parser
├── test_assets/
│   ├── sample_avatar.glb   # Sample test files
│   ├── sample_voxel.vox    # Sample test files
│   └── README.md           # Test assets documentation
├── package.json            # Node.js dependencies
├── requirements.txt        # Python dependencies
├── benchmark_performance.py # Performance testing script
├── unity_integration_test.md # Unity testing guide
├── nft_verification_test.md # NFT testing guide
├── performance_testing.md   # Performance testing guide
├── walletconnect_integration.md # WalletConnect guide
├── VALIDATION_SUMMARY.md   # Validation summary
└── README.md              # This file
```

## Development and Distribution

### Building Packages

To build packages for distribution:

```bash
# Build both Python and npm packages
python build_distribution.py

# Build Python package only
python -m build

# Build npm package only
npm run build
```

### Publishing to Package Registries

```bash
# Publish to PyPI
python -m twine upload dist/*

# Publish to npm
npm publish
```

### Local Testing

```bash
# Test Python package locally
pip install dist/*.whl
avatar-everywhere --help

# Test npm package locally
npm pack
npm install avatar-everywhere-cli-1.0.0.tgz
```

## Testing and Validation

The project includes comprehensive testing and validation capabilities:

### Automated Testing

- **Performance Benchmarks**: `benchmark_performance.py` for automated performance testing
- **Memory Monitoring**: Built-in memory usage tracking
- **CPU Profiling**: Performance analysis tools

### Manual Testing Guides

- **Unity Integration**: `unity_integration_test.md` for VRM testing in Unity
- **NFT Verification**: `nft_verification_test.md` for real network testing
- **Performance Testing**: `performance_testing.md` for large file handling
- **WalletConnect**: `walletconnect_integration.md` for wallet integration

### Validation Procedures

- **Unity VRM Testing**: Import and validate VRM files in Unity with UniVRM
- **Real Network Testing**: Test NFT verification on Polygon mainnet
- **Performance Validation**: Test with various file sizes and complexities
- **WalletConnect Testing**: Test wallet connection and verification

## Supported Avatar Formats

### Input Formats

- **GLB**: Binary glTF files exported from VoxEdit or Sandbox
- **VOX**: MagicaVoxel files (experimental support)

### Output Format

- **VRM 1.0**: Ready for Unity, VRChat, and other metaverse platforms

## VRM Compatibility

The generated VRM files include:

- SUCCESS: Mesh geometry and materials
- SUCCESS: Basic humanoid bone mapping
- SUCCESS: VRM 1.0 metadata
- SUCCESS: Material properties (MToon shader)
- WARNING: Limited animation support (basic skeleton only)
- WARNING: Simplified bone detection for voxel avatars

## Troubleshooting

### Common Issues

**"Node.js not found"**

```bash
# Install Node.js (Ubuntu/Debian)
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# Install Node.js (macOS)
brew install node

# Install Node.js (Windows)
# Download from https://nodejs.org
```

**"Contract call failed"**

- Verify the contract address is correct
- Ensure the token ID exists
- Check your internet connection (Polygon RPC access required)

**"VRM file doesn't load in Unity"**

- Install UniVRM 0.121+ in Unity
- Check Unity console for specific errors
- Verify the GLB file is valid before conversion

### Debug Mode

Add `--verbose` to any command for detailed output:

```bash
python main.py convert avatar.glb --verbose
```

## Development

### Running Tests

```bash
# Test with sample files
avatar-everywhere convert test_assets/avatar01.glb --skip-verify

# Test NFT verification (requires valid contract/token)
avatar-everywhere verify --contract 0x... --token 123
```

### Code Quality

```bash
# Format code
black .
isort .

# Type checking
mypy .
```

## Polygon Network Details

- **Network**: Polygon Mainnet
- **Chain ID**: 137
- **RPC URLs**:
  - https://polygon-rpc.com
  - https://rpc-mainnet.matic.network
  - https://matic-mainnet.chainstacklabs.com

## License

MIT License - See LICENSE file for details

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request

## Support

- **Issues**: GitHub Issues
- **Documentation**: This README
- **Community**: Discord (link TBD)

---

**Avatar Everywhere** - Bringing your digital identity everywhere you go.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Supercoolkayy/avatar-everywhere-cli",
    "name": "avatar-everywhere-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "\"Abdulkareem Oyeneye/Dapps over Apps.\" <team@dappsoverapps.com>",
    "keywords": "sandbox, avatar, nft, vrm, metaverse, polygon, walletconnect",
    "author": "Abdulkareem Oyeneye/Dapps over Apps.",
    "author_email": "\"Abdulkareem Oyeneye/Dapps over Apps.\" <team@dappsoverapps.com>",
    "download_url": "https://files.pythonhosted.org/packages/9d/2b/560fd6b782d26c7409573c136469d4840b5398a16fe57cb56dad5ec7716a/avatar_everywhere_cli-1.0.2.tar.gz",
    "platform": null,
    "description": "# Avatar Everywhere CLI - Portable Sandbox Identity Toolkit\n\n**Milestone 1:** NFT Ownership Verification + Avatar Export to VRM\n\nConvert your Sandbox avatars to VRM format for use across metaverse platforms like Unity, VRChat, and more. Includes blockchain-based ownership verification to ensure you own the avatar NFT before conversion.\n\n## Features\n\n- **NFT Ownership Verification**: Verify Sandbox avatar NFT ownership on Polygon network\n- **Avatar Format Conversion**: Convert `.glb` and `.vox` avatar files to VRM 1.0 format\n- **Cross-Platform Compatibility**: Output VRM files work with Unity, VRChat, and other VRM-compatible platforms\n- **CLI Interface**: Simple command-line tools for batch processing and automation\n- **WalletConnect v2 Integration**: Seamless wallet connection for NFT verification\n- **Performance Testing**: Automated benchmarking for large file handling\n- **Unity Integration**: Comprehensive VRM testing with UniVRM\n- **Real Network Testing**: Polygon mainnet NFT verification procedures\n\n## System Requirements\n\n| Component | Version  | Status             |\n| --------- | -------- | ------------------ |\n| Python    | 3.11+    | Required           |\n| Node.js   | 16+      | Required           |\n| UniVRM    | 0.121+   | For Unity testing  |\n| Unity     | 2022 LTS | For VRM validation |\n\n## Installation\n\n### Option 1: Install via PyPI (Recommended)\n\n```bash\n# Install the CLI globally (recommended)\npip install avatar-everywhere-cli\n\n# Set up global command access\n./setup_global.sh\n\n# After install, use the global command:\navatar-everywhere --help\navatar-everywhere convert avatar.glb --output my_avatar.vrm\n\n# Install with development dependencies\npip install avatar-everywhere-cli[dev]\n\n# Install with performance monitoring\npip install avatar-everywhere-cli[performance]\n```\n\n**Note**: After installation, the `avatar-everywhere` command is available globally. If you get \"command not found\", run `./setup_global.sh` or add `~/.local/bin` to your PATH manually.\n\n### Option 2: Install via npm\n\n```bash\n# Install the Node.js components\nnpm install avatar-everywhere-cli\n\n# Install globally for CLI access\nnpm install -g avatar-everywhere-cli\n```\n\n### Option 3: Manual Installation (for development)\n\n```bash\n# Clone repository\ngit clone https://github.com/Supercoolkayy/avatar-everywhere-cli\ncd avatar-everywhere-cli\n\n# Install Python dependencies\npip install -r requirements.txt\n\n# Install Node.js dependencies\nnpm install\n\n# Install the CLI globally from source\npip install .\n\n# After install, use the global command:\navatar-everywhere --help\navatar-everywhere convert avatar.glb --output my_avatar.vrm\n\n# Verify installation\navatar-everywhere list-requirements\n```\n\n### Post-Installation Setup\n\nAfter installation, you may need to:\n\n1. **Set up WalletConnect** (for NFT verification):\n\n   ```bash\n   # Create .env file with your WalletConnect Project ID\n   echo \"WALLETCONNECT_PROJECT_ID=your_project_id_here\" > .env\n   ```\n\n2. **Verify installation**:\n   ```bash\n   # Test the CLI\n   avatar-everywhere --help\n   # or\n   python main.py --help\n   ```\n\n## Usage\n\nAfter installation (via PyPI or source), you can use the CLI globally:\n\n```bash\n# Using the installed global command\navatar-everywhere --help\navatar-everywhere convert avatar.glb --output my_avatar.vrm\n\n# Or using the Python module (advanced/dev only)\npython main.py --help\n```\n\n### NFT Ownership Verification\n\nVerify that you own a Sandbox avatar NFT before converting:\n\n```bash\n# Verify ownership with wallet address\navatar-everywhere verify \\\n  --contract 0x1234567890abcdef1234567890abcdef12345678 \\\n  --token 123 \\\n  --wallet 0xabcdef1234567890abcdef1234567890abcdef12\n\n# Verify ownership with WalletConnect v2\navatar-everywhere verify-wc \\\n  --contract 0x1234567890abcdef1234567890abcdef12345678 \\\n  --token 123\n\n# Verify ownership (will prompt for WalletConnect)\navatar-everywhere verify --contract 0x... --token 123\n```\n\n**Parameters:**\n\n- `--contract, -c`: NFT contract address on Polygon\n- `--token, -t`: NFT token ID\n- `--wallet, -w`: Wallet address (optional, triggers WalletConnect if not provided)\n- `--auto-connect`: Automatically connect wallet (WalletConnect mode)\n\n### Avatar Conversion\n\nConvert Sandbox avatar files to VRM format:\n\n```bash\n# Convert with ownership verification\navatar-everywhere convert avatar.glb \\\n  --output my_avatar.vrm \\\n  --contract 0x1234567890abcdef1234567890abcdef12345678 \\\n  --token 123\n\n# Convert without verification (testing)\navatar-everywhere convert avatar.glb --skip-verify\n\n# Convert VOX file\navatar-everywhere convert avatar.vox --output avatar.vrm\n```\n\n**Parameters:**\n\n- `input_file`: Path to `.glb` or `.vox` avatar file\n- `--output, -o`: Output VRM file path (optional, defaults to input name with .vrm extension)\n- `--contract, -c`: NFT contract address for verification\n- `--token, -t`: NFT token ID for verification\n- `--skip-verify`: Skip NFT ownership verification\n\n### File Analysis\n\nGet information about avatar files:\n\n```bash\n# Analyze GLB file\navatar-everywhere info avatar.glb\n\n# Analyze VOX file\navatar-everywhere info avatar.vox\n```\n\n### Performance Testing\n\nRun automated performance benchmarks:\n\n```bash\n# Run comprehensive performance tests\npython benchmark_performance.py\n\n# Test specific file conversion\navatar-everywhere convert test_assets/large_avatar.glb --output output/large_test.vrm\n\n# Monitor memory usage\npython -m memory_profiler avatar-everywhere convert test_assets/medium_avatar.glb\n```\n\n### Unity Integration Testing\n\nTest VRM files in Unity with UniVRM:\n\n```bash\n# Follow the Unity integration guide\n# See unity_integration_test.md for detailed instructions\n\n# 1. Install UniVRM in Unity\n# 2. Import VRM files from output/ directory\n# 3. Validate import success and runtime functionality\n```\n\n### Real Network Testing\n\nTest NFT verification on Polygon mainnet:\n\n```bash\n# Test with real Sandbox NFTs\npython main.py verify \\\n  --contract 0x5cc5e64ab764a0f1e97f23984e20fd4528826c79 \\\n  --token 12345 \\\n  --wallet 0x1234567890123456789012345678901234567890\n\n# Test network resilience\npython main.py verify \\\n  --contract 0x5cc5e64ab764a0f1e97f23984e20fd4528826c79 \\\n  --token 12345 \\\n  --rpc-url https://rpc-mainnet.maticvigil.com\n```\n\n## Examples\n\n### Complete Workflow\n\n```bash\n# 1. Verify you own the NFT\navatar-everywhere verify \\\n  --contract 0xa342f5d851e866e18ff98f351f2c6637f4478db5 \\\n  --token 12345 \\\n  --wallet 0x742d35cc6634c0532925a3b8d0e97b4b0d2d4aad\n\n# 2. Convert avatar with verification\navatar-everywhere convert sandbox_avatar.glb \\\n  --output my_metaverse_avatar.vrm \\\n  --contract 0xa342f5d851e866e18ff98f351f2c6637f4478db5 \\\n  --token 12345\n\n# 3. Check the output file\navatar-everywhere info my_metaverse_avatar.vrm\n```\n\n### Batch Processing\n\n```bash\n# Process multiple avatars\nfor file in assets/*.glb; do\n  avatar-everywhere convert \"$file\" --skip-verify\ndone\n```\n\n## File Structure\n\n```\navatar-everywhere-cli/\n\u251c\u2500\u2500 main.py                 # Main entry point\n\u251c\u2500\u2500 cli.py                  # CLI commands and interface\n\u251c\u2500\u2500 converters/\n\u2502   \u2514\u2500\u2500 sandbox_to_vrm.py   # GLB/VOX to VRM converter\n\u251c\u2500\u2500 wallet/\n\u2502   \u2514\u2500\u2500 verify_owner.js     # NFT ownership verification\n\u251c\u2500\u2500 vox_parser/\n\u2502   \u2514\u2500\u2500 extract_vox.py      # VOX file parser\n\u251c\u2500\u2500 test_assets/\n\u2502   \u251c\u2500\u2500 sample_avatar.glb   # Sample test files\n\u2502   \u251c\u2500\u2500 sample_voxel.vox    # Sample test files\n\u2502   \u2514\u2500\u2500 README.md           # Test assets documentation\n\u251c\u2500\u2500 package.json            # Node.js dependencies\n\u251c\u2500\u2500 requirements.txt        # Python dependencies\n\u251c\u2500\u2500 benchmark_performance.py # Performance testing script\n\u251c\u2500\u2500 unity_integration_test.md # Unity testing guide\n\u251c\u2500\u2500 nft_verification_test.md # NFT testing guide\n\u251c\u2500\u2500 performance_testing.md   # Performance testing guide\n\u251c\u2500\u2500 walletconnect_integration.md # WalletConnect guide\n\u251c\u2500\u2500 VALIDATION_SUMMARY.md   # Validation summary\n\u2514\u2500\u2500 README.md              # This file\n```\n\n## Development and Distribution\n\n### Building Packages\n\nTo build packages for distribution:\n\n```bash\n# Build both Python and npm packages\npython build_distribution.py\n\n# Build Python package only\npython -m build\n\n# Build npm package only\nnpm run build\n```\n\n### Publishing to Package Registries\n\n```bash\n# Publish to PyPI\npython -m twine upload dist/*\n\n# Publish to npm\nnpm publish\n```\n\n### Local Testing\n\n```bash\n# Test Python package locally\npip install dist/*.whl\navatar-everywhere --help\n\n# Test npm package locally\nnpm pack\nnpm install avatar-everywhere-cli-1.0.0.tgz\n```\n\n## Testing and Validation\n\nThe project includes comprehensive testing and validation capabilities:\n\n### Automated Testing\n\n- **Performance Benchmarks**: `benchmark_performance.py` for automated performance testing\n- **Memory Monitoring**: Built-in memory usage tracking\n- **CPU Profiling**: Performance analysis tools\n\n### Manual Testing Guides\n\n- **Unity Integration**: `unity_integration_test.md` for VRM testing in Unity\n- **NFT Verification**: `nft_verification_test.md` for real network testing\n- **Performance Testing**: `performance_testing.md` for large file handling\n- **WalletConnect**: `walletconnect_integration.md` for wallet integration\n\n### Validation Procedures\n\n- **Unity VRM Testing**: Import and validate VRM files in Unity with UniVRM\n- **Real Network Testing**: Test NFT verification on Polygon mainnet\n- **Performance Validation**: Test with various file sizes and complexities\n- **WalletConnect Testing**: Test wallet connection and verification\n\n## Supported Avatar Formats\n\n### Input Formats\n\n- **GLB**: Binary glTF files exported from VoxEdit or Sandbox\n- **VOX**: MagicaVoxel files (experimental support)\n\n### Output Format\n\n- **VRM 1.0**: Ready for Unity, VRChat, and other metaverse platforms\n\n## VRM Compatibility\n\nThe generated VRM files include:\n\n- SUCCESS: Mesh geometry and materials\n- SUCCESS: Basic humanoid bone mapping\n- SUCCESS: VRM 1.0 metadata\n- SUCCESS: Material properties (MToon shader)\n- WARNING: Limited animation support (basic skeleton only)\n- WARNING: Simplified bone detection for voxel avatars\n\n## Troubleshooting\n\n### Common Issues\n\n**\"Node.js not found\"**\n\n```bash\n# Install Node.js (Ubuntu/Debian)\ncurl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -\nsudo apt-get install -y nodejs\n\n# Install Node.js (macOS)\nbrew install node\n\n# Install Node.js (Windows)\n# Download from https://nodejs.org\n```\n\n**\"Contract call failed\"**\n\n- Verify the contract address is correct\n- Ensure the token ID exists\n- Check your internet connection (Polygon RPC access required)\n\n**\"VRM file doesn't load in Unity\"**\n\n- Install UniVRM 0.121+ in Unity\n- Check Unity console for specific errors\n- Verify the GLB file is valid before conversion\n\n### Debug Mode\n\nAdd `--verbose` to any command for detailed output:\n\n```bash\npython main.py convert avatar.glb --verbose\n```\n\n## Development\n\n### Running Tests\n\n```bash\n# Test with sample files\navatar-everywhere convert test_assets/avatar01.glb --skip-verify\n\n# Test NFT verification (requires valid contract/token)\navatar-everywhere verify --contract 0x... --token 123\n```\n\n### Code Quality\n\n```bash\n# Format code\nblack .\nisort .\n\n# Type checking\nmypy .\n```\n\n## Polygon Network Details\n\n- **Network**: Polygon Mainnet\n- **Chain ID**: 137\n- **RPC URLs**:\n  - https://polygon-rpc.com\n  - https://rpc-mainnet.matic.network\n  - https://matic-mainnet.chainstacklabs.com\n\n## License\n\nMIT License - See LICENSE file for details\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## Support\n\n- **Issues**: GitHub Issues\n- **Documentation**: This README\n- **Community**: Discord (link TBD)\n\n---\n\n**Avatar Everywhere** - Bringing your digital identity everywhere you go.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Portable Sandbox Identity Toolkit - NFT verification and VRM avatar conversion",
    "version": "1.0.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/Supercoolkayy/avatar-everywhere-cli/issues",
        "Documentation": "https://github.com/Supercoolkayy/avatar-everywhere-cli#readme",
        "Homepage": "https://github.com/Supercoolkayy/avatar-everywhere-cli",
        "Repository": "https://github.com/Supercoolkayy/avatar-everywhere-cli"
    },
    "split_keywords": [
        "sandbox",
        " avatar",
        " nft",
        " vrm",
        " metaverse",
        " polygon",
        " walletconnect"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "95df81f0644ccd1f2233afdef7d829fa42f6b2dc3e3e3eb46dc6a5aa77b3d30b",
                "md5": "8749c5cc1e988e8e073f27764f9b3c14",
                "sha256": "20c3c5ab30593be06b49d13d80e23cf6b0cf1d0ce087bdaa60f36ffec2cc8812"
            },
            "downloads": -1,
            "filename": "avatar_everywhere_cli-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8749c5cc1e988e8e073f27764f9b3c14",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 4660686,
            "upload_time": "2025-08-03T19:45:23",
            "upload_time_iso_8601": "2025-08-03T19:45:23.909051Z",
            "url": "https://files.pythonhosted.org/packages/95/df/81f0644ccd1f2233afdef7d829fa42f6b2dc3e3e3eb46dc6a5aa77b3d30b/avatar_everywhere_cli-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9d2b560fd6b782d26c7409573c136469d4840b5398a16fe57cb56dad5ec7716a",
                "md5": "c179b80f4f5a4f144c8448fea2df5f5b",
                "sha256": "2fcacb9d7feeeabf78242ad3e7d239c8da3475b80117c9d311f87529a62c240d"
            },
            "downloads": -1,
            "filename": "avatar_everywhere_cli-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "c179b80f4f5a4f144c8448fea2df5f5b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 4193091,
            "upload_time": "2025-08-03T19:45:29",
            "upload_time_iso_8601": "2025-08-03T19:45:29.258947Z",
            "url": "https://files.pythonhosted.org/packages/9d/2b/560fd6b782d26c7409573c136469d4840b5398a16fe57cb56dad5ec7716a/avatar_everywhere_cli-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-03 19:45:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Supercoolkayy",
    "github_project": "avatar-everywhere-cli",
    "github_not_found": true,
    "lcname": "avatar-everywhere-cli"
}
        
Elapsed time: 2.20939s