No project description provided
Project description
tomlpatch
Do you want to patch your toml file structurally like modifying a nested python dictionary? This is a tool for you.
Description
Sometimes, you want to edit/patch a toml file, but you don't want to use the diff between two source files to patch the toml file since it may introduce conflicts that requires human intervention to resolve.
For example, Cargo.toml
is used by Rust projects, and this tool can be used to patch the Cargo.toml
file with an external JSON file that contains the structural patch information so that you don't need to manually resolve the Cargo.toml
file.
Installation
pip install tomlpatch
Usage
tomlpatch original_toml_file patch_json_file
Example
Suppose you have a Cargo.toml
file like this:
[package]
name = "my_package"
version = "0.0.1"
liberssl = { version = "0.10.42", default-features = false, features=["vendered"] }
sources = ["s1", "s2"]
targets = ["t1", "t2", "t3"]
And you want to patch the Cargo.toml
file with a JSON file like this:
{
"patch": {
"package.version": "0.0.2",
"package.liberssl.features": null
},
"extend": {
"package.sources": ["s4", "s5"]
},
"remove": {
"package.targets": ["t2"]
}
}
Then you can use the following command to patch the Cargo.toml
file:
tomlpatch Cargo.toml patch.json
After the patch, the Cargo.toml
file will be like this:
[package]
name = "my_package"
version = "0.0.2"
sources = [
"s1",
"s2",
"s4",
"s5",
]
targets = [
"t1",
"t3",
]
[package.liberssl]
version = "0.10.42"
default-features = false
TODO
- Switch to tomkit for style preserving patching
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file tomlpatch-0.2.0.tar.gz
.
File metadata
- Download URL: tomlpatch-0.2.0.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06d0ddfa0926c62ce79102c029b7470a3fe7bb88421e58d10e21b1269404f953 |
|
MD5 | 60888a5e3c94bed9bae25c9b568cceba |
|
BLAKE2b-256 | b7a189807aae493395b8e2df42450313ae06a859506ed0bbfe1eadca19db56a5 |
File details
Details for the file tomlpatch-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: tomlpatch-0.2.0-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cf62ca99a78ba97eab56f6a68d735c680a74ead99faf97ede82d79abcb7a6d9 |
|
MD5 | 4146dfb6b44a0d95d8b370f00ee40a63 |
|
BLAKE2b-256 | 4023f31a584d9449a14f6e9e993acd66588b99b35c0e0c1b03ab1309b0876e64 |