Skip to main content

python-tf2-utilities

A fast, reliable, and easy-to-use Python library for accessing detailed Team Fortress 2 (TF2) data, including items, skins, effects, and more. Built for developers, this library simplifies retrieving and managing TF2 assets, with minimal setup and optimized performance.

Inspired by TF2autobot's node-tf2-schema and TF2autobot's node-tf2-sku, this library supports a wide range of TF2-related applications.

Key Features

  • Item Management: Easily convert between item SKUs, names, and object formats.
  • Schema Integration: Access and manipulate detailed TF2 schema data, such as item attributes, qualities, and effects.
  • Comprehensive Tools: Work with unusual effects, paint kits, skins, crate series, crafting recipes, and trade configurations.
  • Lightweight Mode: Optimize performance by only loading essential schema data for resource-constrained applications.
  • Automatic Updates: Automatically stay up to date with schema changes through configurable update intervals.
  • User-Friendly API: Simplify development with clean, consistent, and intuitive methods.

Installation

Install the library using pip:

pip install tf2-utilities

Prerequisites:

  • Python 3.10 or later
  • A Steam Web API key (obtain it from here)

Getting Started

Initialize the Library

To initialize the schema, you’ll need your Steam Web API key:

from tf2utilities.main import TF2

# Initialize the TF2 utilities with your Steam API key and settings
schema = TF2(
    api_key="your_steam_api_key",  # Your Steam Web API key
    auto_update=True,           # Enable automatic schema updates
    update_time=86400,          # Update interval in seconds (default: 1 day)
    lite=False                  # Enable lightweight mode (default: False)
).schema

Common Use Cases

  • Convert Item SKU to Item Name
item_name = schema.get_name_from_sku("5021;6")
print(item_name)  # Output: "Mann Co. Supply Crate Key"
  • Convert Item Name to Item SKU
item_sku = schema.get_sku_from_name("Mann Co. Supply Crate Key")
print(item_sku)  # Output: "5021;6"
  • Retrieve TF2 Schema as JSON
schema_data = schema.to_json()
print(schema_data) # Output: JSON representation of the schema data

SKU Utilities

  • Convert Item SKU to Item Object
from tf2utilities.sku import SKU

item_object = SKU.from_string("5021;6")
print(item_object) # Output: Item object representing the SKU
  • Convert Item Object to Item SKU
item_object = {
    "defindex": 5021,
    "quality": 6,
    "craftable": True,
    "tradable": True,
    "killstreak": 0,
    "australium": False,
    "effect": None,
    "festive": False,
    "paintkit": None,
    "wear": None,
    "quality2": None,
    "craftnumber": None,
    "crateseries": None,
    "target": None,
    "output": None,
    "outputQuality": None,
    "paint": None
}
item_sku = SKU.from_object(item_object)
print(item_sku) # Output: "5021;6"
  • Convert Steam Inventory API Data to Item SKU

SKU.from_API converts an item description object from the Steam Community inventory endpoint (e.g. https://steamcommunity.com/inventory/<steamid>/440/2?l=english) into a SKU.

schema = TF2(api_key="your_steam_api_key").schema

# item is one entry from the inventory response's "descriptions" array
item_sku = SKU.from_API(item, schema)
print(item_sku) # Output: SKU based on the inventory item

Configuration

Parameter Description Default
api_key Your Steam Web API key. None
auto_update Enable or disable automatic schema updates. False
update_time Time interval (in seconds) between schema updates. 86400 (1 day)
lite Enable lightweight mode for reduced memory usage. False

Contributing

We welcome contributions! If you’d like to improve the library, fix bugs, or add features, please fork the repository, create a branch, and submit a pull request. For ideas or issues, feel free to open an issue on GitHub.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Download files

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

Source Distribution

tf2_utilities-4.0.0.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

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

tf2_utilities-4.0.0-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file tf2_utilities-4.0.0.tar.gz.

File metadata

  • Download URL: tf2_utilities-4.0.0.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tf2_utilities-4.0.0.tar.gz
Algorithm Hash digest
SHA256 7c76304f78a5de551f030d53a8e6250a21cddd1d030fa30f25a55712aa6086cc
MD5 92409983fcf8dfa719f04c8095241c21
BLAKE2b-256 b9219919eef03cb8420713701b806a1dde6fcdcd033fe82213c19187edf22576

See more details on using hashes here.

Provenance

The following attestation bundles were made for tf2_utilities-4.0.0.tar.gz:

Publisher: python-publish.yml on dixon2004/python-tf2-utilities

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tf2_utilities-4.0.0-py3-none-any.whl.

File metadata

  • Download URL: tf2_utilities-4.0.0-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tf2_utilities-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 284f06106b585e067a7c292f5f724c67619d9c6d1f9a747c93b6bb74abefb59b
MD5 78b534203384dfa2120fea8215dbaa86
BLAKE2b-256 d5abec6100bcaa590e39bc92a157e52d16f0d2119fa0457c99443c2914c0fe2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tf2_utilities-4.0.0-py3-none-any.whl:

Publisher: python-publish.yml on dixon2004/python-tf2-utilities

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

4.2.0

2 files

4.1.0

2 files

This release

4.0.0 This release

2 files

3.1.1

2 files

3.1.0

2 files

3.0.0

2 files

2.3.0

2 files

2.2.0

2 files

2.1.1

2 files

2.1.0

2 files

2.0.5

2 files

2.0.4

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.0.0

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.4.0

2 files

0.3.4

2 files

0.3.3

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page