Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.


These are all the Python files that generate

Requires Python 3.7.x. You will need to define a file which contains 3 strings; ftp_url, ftp_user, and ftp_pass.

Primary .py Files:

Crafting -- The main file.

MakeGuide -- Calculated the actual guides based on prices and recipes.

MyPrices -- Gathers pricing data for generating the guides. Primary resource is GW2 API. Replace "u'cost':sitem[u'sells'][u'unit_price']" with "u'cost':sitem[u'buys'][u'unit_price'] if sitem[u'buys'][u'unit_price'] > Items.ilist[item][u'vendor_value'] else sitem[u'sells'][u'unit_price']" on line 197 to create guides based on buy orders of materials instead of lowest sale price.

MyPrint -- Functions for generating human readable output.

Globals -- Initializes a couple global variables and provides a global function.

Gen_ifn -- generates the localized FAQ, nav and index pages.

Localxx -- Localized language files. Need to be updated by hand.

Create_recipes -- creates all the secondary .py files you will need. A recent snapshot of those files is included.

Secondary .py Files:

Armorsmith, Artificer, Chef, Chef_karma, Huntsman, Jeweler, Leatherworker, Tailor -- Contain all recipes used by indexed by itemid(int).

Items_xx -- Contains itemid:name pairs for outputting item names in the correct language.

Items -- contains item_id indexed dictionary of thumbnail url, item count, rarity, vendor value, type, and if the item is discovered.


Update recipes:

Run and when it finished you will have updated recipes for

Setup guide output:

If you want to upload the guides to AWS, create a file with the variables amakey and amasec. Both variables should be strings.

If you want to output the guides locally, rather than uploading, open and comment out this line:

from output_aws import write_file		# For uploading files to AWS

and uncomment this line:

#from output_local import write_file	# For writing files to disk

If you want to upload the guides via FTP, comment out the same AWS line in, and uncomment this line:

#from output_ftp import write_file		# For uploading files via FTP

Additionally, create a file with the variables ftp_url, ftp_user, and ftp_pass. All 3 variables should be strings.

Generate guides:

Run, this step is much faster if you use pypy, and it will generate your guides.


Driving force behind gw2crafts







Sponsor this project