Quick Start Guide
This guide will help you get started with the Simulchip library.
Installation
Install from source:
git clone https://github.com/dfiru/simulchip.git
cd simulchip
pip install -e .
Or install as a dependency:
pip install git+https://github.com/dfiru/simulchip.git
Using the CLI
The quickest way to get started is with the CLI:
# Initialize a new collection
simulchip collect init
# Interactive pack management
simulchip collect packs
# Interactive card management
simulchip collect cards
# Generate proxies for a deck
simulchip proxy https://netrunnerdb.com/en/decklist/7a9e2d43-bd55-45d0-bd2c-99cad2d17d4c
Basic Library Usage
Initialize Components
from pathlib import Path
from simulchip.api.netrunnerdb import NetrunnerDBAPI
from simulchip.collection.operations import get_or_create_manager
from simulchip.comparison import DecklistComparer
from simulchip.pdf.generator import ProxyPDFGenerator
# Initialize API and collection
api = NetrunnerDBAPI()
collection_path = Path("my_collection.toml")
collection = get_or_create_manager(collection_path, api, all_cards=False)
Managing Your Collection
Add entire packs to your collection:
# Add packs
collection.add_pack("sg") # System Gateway
collection.add_pack("core") # Core Set
# Modify individual card quantities
collection.modify_card_quantity("30010", 1) # Add 1 copy
collection.modify_card_quantity("30010", -1) # Remove 1 copy
# Set absolute quantities
collection.set_card_quantity("30010", 2) # Set to exactly 2 copies
# Save changes
collection.save_collection()
Comparing Decklists
Compare a NetrunnerDB decklist against your collection:
comparer = DecklistComparer(api, collection)
result = comparer.compare_decklist("7a9e2d43-bd55-45d0-bd2c-99cad2d17d4c")
print(f"Missing {result.stats.missing_cards} cards from {result.decklist_name}")
print(f"Identity: {result.identity.title}")
print(f"Completion: {result.stats.completion_percentage:.1f}%")
Generating PDF Proxies
Generate proxy PDFs for missing cards:
if result.stats.missing_cards > 0:
pdf_gen = ProxyPDFGenerator(api)
proxy_cards = comparer.get_proxy_cards_for_generation(result, all_cards=False)
pdf_gen.generate_proxy_pdf(
proxy_cards,
Path("proxies.pdf"),
download_images=True,
group_by_pack=True,
interactive_printing_selection=False
)
CLI Reference
Collection Management Commands:
# Initialize collection
simulchip collect init
# Interactive pack management
simulchip collect packs
# Interactive card management
simulchip collect cards
# Show collection statistics
simulchip collect stats
# Reset collection data
simulchip collect reset
Proxy Generation Commands:
# Generate proxies
simulchip proxy URL
simulchip proxy URL --alternate-prints
simulchip proxy URL --all --no-images
# Compare decks (no PDF generation)
simulchip proxy URL --compare-only
New Library Features
The library now includes several new modules:
cli_utils - CLI business logic
display - Display and formatting utilities
filters - Filtering and search functions
interactive - Interactive interface management
models - Data models and wrappers
paths - Path management utilities
platform - Platform-specific utilities
collection.operations - Collection operation helpers
Building Custom Tools
Example using new utilities:
from simulchip.filters import filter_packs_raw
from simulchip.display import get_completion_color
# Filter packs with search
filtered_packs = filter_packs_raw(all_packs, "core")
# Get color coding for completion percentages
color = get_completion_color(75.0) # Returns "yellow"
See the API reference for complete documentation of all modules and functions.