CLI Tool for quickly updating values across your project/machine.
Project description
xet CLI Usage Guide
Overview
xet is a command-line tool for managing and modifying values in multiple files using a configuration file (.xet). It supports various methods of identifying and modifying values, including tags, line/column positions, and regular expressions.
You can create presets and change between them on the fly.
Installation
pipx install xet
or
pip install xet
Commands
Configuration
Initialize Configuration
xet init
- Options:
-g, --global: Global Mode. Creates a.xetfile in the XDG_CONFIG_HOME folder instead of locally.
Creates an empty .xet if it does not already exist.
Any xet command will use the .xet file in the immediate directory, if there is no local .xet the global .xet file will be used instead. You can force the usage of the global .xet using the -g, --global flag.
Open .xet in editor
xet edit
- Options:
-g, --global: Edit the global.xetinstead of the local one.
Opens .xet in your standard editor or nano.
Clarify .xet directory
xet which
Shows the absolute path to the default .xet that will be used if any xet command is run.
Print .xet entries
xet show [options]
Options:
-e, --except <flags>: Exclude entries with specified flags.-o, --only <flags>: Include only entries with specified flags.-n, --names <names>: Include only entries with specified names.-p, --path <path>: Include only entries with specified path.-g, --global: Use the global.xet.
Shows the .xet entries with the given optional filters applied.
Add Entries to Configuration
Add a Tag-Based Entry
xet add tag <name> <filepath> <tag> [options]
<name>: Identifier for the entry inxet.cfg.<filepath>: Path to the target file.<tag>: The string identifying the line to modify.- Options:
-f, --flags <flags>: Optional flags for filtering.-w, --wrapper <char>: Wrap the value with a character (e.g., quotes), also gets stripped in get mode.-o, --occurences <index or slice>: Specify which occurrences to modify (string formatted like a list index in python, can be slices).-e, --end <str>: Will get appended in the line after value and wrappers, also gets stripped in get mode.-p, --preset <str> <str>: Name and value of preset, option can be repeated to add multiple presets.-s, --ssh <str>: Hostname of ssh-host the file is found at, as found in openSSH config file.-g, --global: Add the entry to the global.xet.
Add a Line/Column-Based Entry
xet add lc <name> <filepath> <line> <column> [options]
<line>: Line number<column>: Column position after which the value is placed.- Options:
-f, --flags <flags>: Optional flags for filtering.-w, --wrapper <char>: Wrap the value with a character (e.g., quotes), also gets stripped in get mode.-e, --end <str>: Will get appended in the line after value and wrappers, also gets stripped in get mode.-p, --preset <str> <str>: Name and value of preset, option can be repeated to add multiple presets.-s, --ssh <str>: Hostname of ssh-host the file is found at, as found in openSSH config file.-g, --global: Add the entry to the global.xet.
Add a Regex-Based Entry
xet add regex <name> <filepath> <regex> [options]
<regex>: Regular expression to match values.- Options:
-f, --flags <flags>: Optional flags for filtering.-c, --capture-group <int>: Capture group number to update.-o, --occurences <index or slice>: Specify which occurrences to modify (string formatted like a list index in python, can be slices).-w, --wrapper <char>: Wrap the value with a character (e.g., quotes), also gets stripped in get mode.-p, --preset <str> <str>: Name and value of preset, option can be repeated to add multiple presets.-s, --ssh <str>: Hostname of ssh-host the file is found at, as found in openSSH config file.-g, --global: Add the entry to the global.xet.
Update Entries
xet update <key> <value> [options]
<key>: The key of the property to update ('name' will update the key of the entry).<value>: The new value for the property. Options:-e, --except <flags>: Exclude entries with specified flags.-o, --only <flags>: Include only entries with specified flags.-n, --names <names>: Include only entries with specified names.-p, --path <path>: Include only entries with specified path.-g, --global: Use the global.xet.
Updates the value of a property across filtered entries in the .xet.
Remove Entries
xet remove [options]
Options:
-e, --except <flags>: Exclude entries with specified flags.-o, --only <flags>: Include only entries with specified flags.-n, --names <names>: Include only entries with specified names.-p, --path <path>: Include only entries with specified path.-g, --global: Use the global.xet.
Removes the specified entries from the .xet.
Snapshot
xet snapshot <preset> [options]
<preset>: The name of the new preset. Options:--first: When there is divergent values in seperate occurences in an entry, use the first value for the preset.-e, --except <flags>: Exclude entries with specified flags.-o, --only <flags>: Include only entries with specified flags.-n, --names <names>: Include only entries with specified names.-p, --path <path>: Include only entries with specified path.-g, --global: Use the global.xet.
Adds a preset to the filtered entries using their current values.
Modifying Values
Get Values from Configured Files
xet get [options]
Options:
-e, --except <flags>: Exclude entries with specified flags.-o, --only <flags>: Include only entries with specified flags.-n, --names <names>: Include only entries with specified names.-p, --path <path>: Include only entries with specified path.-g, --global: Use the global.xet.
Set Values in Configured Files
xet set <value> [options]
<value>: The new value to be set. Options:-e, --except <flags>: Exclude entries with specified flags.-o, --only <flags>: Include only entries with specified flags.-n, --names <names>: Include only entries with specified names.-p, --path <path>: Include only entries with specified path.-g, --global: Use the global.xet.
Set Values to Preset
xet preset <preset>
<preset>: Name of the preset to be set.- Options:
-g, --global: Use the global.xet.
History
Undo
xet undo
Undoes the changes of the last command.
Redo
xet redo
Redoes the last undone changes.
Forget
xet forget
Reset history file.
Example Usage
-
Initialize Configuration:
xet init -
Add a Tag-Based Entry:
xet add tag version ./config.txt VERSION= -w '"'
-
Get Values:
xet get -
Set a New Value:
xet set "2.0.1"
-
Remove an Entry:
xet remove version
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xet-1.3.0-py3-none-any.whl.
File metadata
- Download URL: xet-1.3.0-py3-none-any.whl
- Upload date:
- Size: 23.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fb1dbe6219cd8eca612cd188c37368bcf904613473aa3da31fc3926aa4efe5e
|
|
| MD5 |
7cde9fd2dea0017b21f1d5de7cc44e59
|
|
| BLAKE2b-256 |
75de92b8f9d59dba9808002c0ee5b78e0540cf9489a7f0e4793f28fde285c451
|
Provenance
The following attestation bundles were made for xet-1.3.0-py3-none-any.whl:
Publisher:
python-publish.yml on GeraldIr/xet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xet-1.3.0-py3-none-any.whl -
Subject digest:
0fb1dbe6219cd8eca612cd188c37368bcf904613473aa3da31fc3926aa4efe5e - Sigstore transparency entry: 331254699
- Sigstore integration time:
-
Permalink:
GeraldIr/xet@bc0f2198e16526f9f9ad91f097ffa4869f585015 -
Branch / Tag:
refs/tags/1.3.0 - Owner: https://github.com/GeraldIr
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@bc0f2198e16526f9f9ad91f097ffa4869f585015 -
Trigger Event:
release
-
Statement type: