A tool to create DIM (Destiny Item Manager) wishlists from Google Sheets data by matching weapons and perks with Bungie API.
- Python 3.10 or higher
- pip (Python package installer)
- API Keys:
- Bungie API Key (register at https://www.bungie.net/en/Application)
- Google Sheets API Key (get from Google Cloud Console)
- Clone the repository:
git clone https://github.com/mitonj/dim-wishlist-builder.git
cd dim-wishlist-builder
- Create and activate virtual environment:
# On macOS/Linux
python3 -m venv venv
source venv/bin/activate
# On Windows
python -m venv venv
.\venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Configure API keys:
# Copy example config
cp config/config.example.env .env
# Edit .env file with your API keys
# Use your favorite text editor (nano, vim, etc.)
nano .env
Add your API keys to the .env file:
BUNGIE_API_KEY=your_bungie_api_key_here
GOOGLE_SHEETS_API_KEY=your_google_sheets_api_key_here
- Run the main script:
python src/main.py
- Follow the interactive prompts:
Select tiers to include in wishlist:
1. S tier only
2. S and A tiers
3. S, A, and B tiers
4. All tiers
Enter your choice (1-4):
For each selected tier, choose perk configuration:
1. Only combinations with perks in both columns
2. Combinations with at least one perk
3. Include weapon even without perks
- The script will:
- Process all weapons from the spreadsheet
- Match weapons and perks with Bungie API
- Generate wishlist based on your configuration
- Save the result to
dim_wishlist.txt
The generated dim_wishlist.txt
will contain entries in this format:
Weapon Name - Tier: S
dimwishlist:item=123456 # Base weapon (if option 3)
dimwishlist:item=123456&perks=789 # Single perk (if option 2 or 3)
dimwishlist:item=123456&perks=789,012 # Perk combination (all options)
-
Bungie API Key:
- Go to https://www.bungie.net/en/Application
- Sign in with your Bungie account
- Click "Create New App"
- Fill in the form:
- App Name: "DIM Wishlist Builder"
- Website: (can be blank)
- OAuth Client Type: "Confidential"
- Copy the API Key
-
Google Sheets API Key:
- Go to https://console.cloud.google.com/
- Create a new project
- Enable Google Sheets API
- Go to Credentials
- Create an API key
- Copy the API Key
- API Key Issues:
Error: BUNGIE_API_KEY not found in environment variables
- Make sure you've created the
.env
file - Check that your API keys are correctly formatted
- No quotes needed around the keys in
.env
- Cache Issues:
# If you get cache-related errors, delete the cache:
rm bungie_cache.json
- Python Version:
# Check your Python version
python --version # Should be 3.10 or higher
- Virtual Environment:
# Make sure you're in the virtual environment
# Your prompt should show (venv)
# If not, activate it:
source venv/bin/activate # macOS/Linux
.\venv\Scripts\activate # Windows
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request