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
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 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
|