Skip to main content

A Pythonic wrapper for Valheim Save Tools - manipulate Valheim save files programmatically

Project description

Valheim Save Tools Python API

Python 3.8+ License: MIT Documentation

A Pythonic wrapper for Valheim Save Tools, providing an intuitive API to manipulate Valheim save files programmatically.

Features

File Conversion - Convert between binary formats (.db, .fwl, .fch) and JSON
Global Keys Management - Add, remove, or list global keys (boss defeats, events)
Structure Cleaning - Remove abandoned structures with configurable thresholds
World Reset - Reset world to initial state while preserving progress
Method Chaining - Fluent API for complex operations
Context Manager - Automatic cleanup and resource management

Installation

pip install valheim-save-tools-py

Quick Start

from valheim_save_tools_py import ValheimSaveTools

vst = ValheimSaveTools()

# Convert to JSON and get data
data = vst.to_json("world.db")
print(f"World version: {data['version']}")

# Add boss defeat
vst.add_global_key("world.db", "defeated_eikthyr")

# Clean and reset with method chaining
vst.process("world.db") \
   .clean_structures(threshold=30) \
   .reset_world() \
   .save("cleaned_world.db")

# Context manager for automatic cleanup
with vst.process("world.db") as p:
    p.clean_structures()
    p.reset_world()

Documentation

Common Use Cases

Convert Save Files

# Binary to JSON - returns parsed data
data = vst.to_json("world.db")
print(f"World has {len(data.get('globalKeys', []))} global keys")

# Also save to file
data = vst.to_json("world.db", "backup.json")

# JSON to Binary
vst.from_json("backup.json", "world.db")

Manage Boss Defeats

# List all global keys
keys = vst.list_global_keys("world.db")

# Add boss defeats
vst.add_global_key("world.db", "defeated_eikthyr")
vst.add_global_key("world.db", "defeated_gdking")

Clean Structures

# Clean with default threshold (25)
vst.clean_structures("world.db")

# Clean with custom threshold
vst.clean_structures("world.db", threshold=50)

Requirements

  • Python 3.8 or higher
  • Java 17 or higher (for running the bundled JAR)

License

This project is licensed under the MIT License - see the LICENSE file for details.

Credits

This is a Python wrapper for Valheim Save Tools by kakoen. Big shout-out for creating such a cool tool 🙏.

I encourage you to contribute to the Valheim Save Tools project!

Project details


Download files

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

Source Distribution

valheim_save_tools_py-0.3.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

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

valheim_save_tools_py-0.3.0-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file valheim_save_tools_py-0.3.0.tar.gz.

File metadata

  • Download URL: valheim_save_tools_py-0.3.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for valheim_save_tools_py-0.3.0.tar.gz
Algorithm Hash digest
SHA256 8335d20b1329002741d3eb3d909a1c10d9ca004453e013cab7559eca571fee99
MD5 7ec9fbdcb40bee59ddf1e103c7704d58
BLAKE2b-256 cfbe8fa87681df149b960981cb5245d361ec81d6aa1bc5eec619cd6f73e769de

See more details on using hashes here.

File details

Details for the file valheim_save_tools_py-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for valheim_save_tools_py-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d7150a8a9b1b2468da6d8ff1eefd96814166e9dce1e8bda1b79798121423063
MD5 6c1be2aa81cf30ad1a6d3d8ce5a37b82
BLAKE2b-256 85b3180dd55a2e018983b4941b9cb0663e893ebd05f852fb7747ed9ac1e81406

See more details on using hashes here.

Supported by

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