Skip to main content

pyrecli

Command line utilities for DiamondFire templates

Installation

Run the following command in a terminal:

pip install pyrecli

Commands

  • scan: Scan all templates on the plot and dump them to a text file (requires CodeClient)
  • send: Send template items to DiamondFire (requires CodeClient)
  • rename: Rename all occurences of a variable (including text codes)
  • script: Generate python scripts from template data
  • grabinv: Save all templates in your Minecraft inventory to a file (requires CodeClient)
  • docs: Generate markdown documentation from template data
  • slice: Slice a template into multiple smaller templates
  • cctoken: Get a reusable CodeClient authentication token

What is this useful for?

  • Backing up a plot
  • Getting an accurate text representation of DF code
  • Open sourcing
  • Version control
  • Large scale refactoring

Example Command Usages

Scan

[Requires CodeClient]

Grabs all of the templates on your current plot and saves them to a file. You will need to run /auth in-game to authorize this action.

Example:

# Dumps all template data into templates.dfts
pyrecli scan templates.dfts

Send

[Requires CodeClient]

Sends all templates in a file back to your inventory.

Example:

pyrecli send templates.dfts

Rename

Renames all occurences of a variable in a list of templates. You can run this command on a single template, or on an entire plot if a variable is used in many places.

This command still requires thorough testing, so make sure you have a backup of your plot before using this command on a large scale.

Example:

# Changes all variables named `foo` to `bar`, then saves the new templates to 'renamed.dfts'.
pyrecli rename templates.dfts renamed.dfts foo bar

# You can also target a specific scope.
# This changes all occurences of the game variable `plotData` to `gameData`.
pyrecli rename templates.dfts renamed.dfts plotData gameData -s game

Script

Generates Python scripts from template data.

Example:

# Convert templates into individual scripts and store them in directory `plot_templates`
pyrecli script templates.dfts plot_templates

# Convert templates into scripts and put them into a single file `plot_templates.py`
pyrecli script templates.dfts plot_templates.py --onefile

Grabinv

[Requires CodeClient]

Scans your inventory for templates and saves them to a file.

Example:

# Save inventory templates to `templates.dfts`
pyrecli grabinv templates.dfts

Docs

Generates a Markdown documentation file for a list of templates.

Example:

# Generate documentation and save it to `plot_docs.md`
pyrecli docs templates.dfts plot_docs.md "My Plot Docs"

Slice

Slices a single template into multiple smaller templates. This is useful for resizing templates to fit on a smaller plot.

If multiple templates are passed, only the first one will be used.

NOTE: This feature is not fully implemented yet. Any templates with Control::Return blocks may not work properly if sliced.

Example:

# Slices the first template in `templates.dfts` with a target length of 50 and stores them in `sliced_templates.dfts`
pyrecli slice templates.dfts sliced_templates.dfts 50

CCToken

Returns a CodeClient authentication token that can be used in commands that require CodeClient authorization. This is useful for reducing the amount of times you need to run /auth.

Example:

# Get a token with the read_plot and inventory scopes
pyrecli cctoken mytoken.txt "read_plot inventory"

Command Chaining

You can combine the pipe operator (|) with hyphen (-) file paths to chain multiple commands together.

Example:

# Scans the plot, renames a variable, then sends renamed templates back to DiamondFire
pyrecli scan - | pyrecli rename - foo bar | pyrecli send -

Metadata

Release files for pyrecli 0.3.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyrecli 0.3.9
File Size Uploaded
pyrecli-0.3.9.tar.gz 9.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyrecli 0.3.9
File Interpreter ABI Platform
pyrecli-0.3.9-py3-none-any.whl Python 3 none any Details

Total release size: 22.5 kB

Release files / pyrecli-0.3.9.tar.gz

Download URL pyrecli-0.3.9.tar.gz
Size 9.9 kB
Tags Source
SHA-256 checksum
How to use checksums
241ff4224c33376b04b6bd6235b02e7b8904984fb1e393fa2775503752e4f115
BLAKE2b-256 checksum
How to use checksums
e8fee5ac0db57bdf4637154e2aebfd43c78a763f2d659456a26d9d47740db304
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / pyrecli-0.3.9-py3-none-any.whl

Download URL pyrecli-0.3.9-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce88a568480bcc474996c414d7010141da31eb3ccd87a52d5da9bb10f3f028fc
BLAKE2b-256 checksum
How to use checksums
36626ca42733ac6475dcadfe773c1215496e0117f470a5cf5da32e685fc00c9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.3.9 This release

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

1 release file

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page