Yamark
Yamark formats YAML, Markdown, Markdown files with YAML front matter,
and explicit embedded Markdown targets in Python and R source files. It
rewrites supported regions and preserves unsupported input. Pass
--verify to reparse changed YAML and reject invalid or value-changing
output.
Install
Run Yamark from PyPI without installing it:
uvx yamark format config.yaml docs/
Install the command from PyPI:
uv tool install yamark
Build and install the binary from a checkout:
cargo build --bin yamark
cargo install --path .
Build a Python wheel from a checkout for local testing:
uvx maturin build --release
Usage
Format one or more files or directories in place:
yamark format config.yaml docs/
Format the current directory:
yamark format
Check whether files are already formatted without writing changes:
yamark format --check docs/
Show a unified diff without writing changes:
yamark format --diff docs/
Format stdin for editor and CI integrations:
yamark format --stdin-file-path config.yaml < config.yaml
Directory traversal respects .gitignore, .ignore, and global Git
ignore files by default.
Development
Run the Rust test suite with:
cargo test
Run formatting and lint checks with:
cargo fmt --check
cargo clippy --all-targets --all-features -- -D warnings
Run the external CLI test suite with:
uv run external-tests/run.py
Run the VS Code extension tests with:
cd editors/vscode
npm test
The YAML test-suite roundtrip integration test runs automatically when
tests/yaml-test-suite/data exists. Populate that fixture directory
with:
tools/bootstrap-yaml-test-suite-data.py --source ~/github/posit-dev/r-yaml12/tests/testthat/yaml-test-suite
Use website/reference.qmd and the public CLI tests as behavior
references.
Release
Update the package versions in Cargo.toml, pyproject.toml, and
editors/vscode/package.json, refresh Cargo.lock and uv.lock, then
push a matching vX.Y.Z tag:
git tag v0.2.0
git push origin v0.2.0
The release workflow validates the tag, builds binary archives and Python distributions, smoke-tests each wheel, creates the GitHub release with generated release notes, and publishes the Python distributions to PyPI.
Editor Integrations
The VS Code and Positron formatter extension lives in editors/vscode/;
see editors/vscode/README.md for install and local development
instructions.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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 yamark-0.2.0.tar.gz.
File metadata
- Download URL: yamark-0.2.0.tar.gz
- Upload date:
- Size: 401.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
362b4b7b0c32e9c9f520a1999ebcdcc694a664a906aac1941dc41468da63d1a3
|
|
| MD5 |
5fda7bfb53c64439ff00e9b1df96f36b
|
|
| BLAKE2b-256 |
a16f906525ef997ce5cb24aeaa65584984e81b8d4a308d490e0d8284908e0d32
|
Provenance
The following attestation bundles were made for yamark-0.2.0.tar.gz:
Publisher:
release.yml on t-kalinowski/yamark
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yamark-0.2.0.tar.gz -
Subject digest:
362b4b7b0c32e9c9f520a1999ebcdcc694a664a906aac1941dc41468da63d1a3 - Sigstore transparency entry: 2370466005
- Sigstore integration time:
-
Permalink:
t-kalinowski/yamark@052e725403ac202c72b6f0205b725eb52d3c993c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/t-kalinowski
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@052e725403ac202c72b6f0205b725eb52d3c993c -
Trigger Event:
push
-
Statement type:
File details
Details for the file yamark-0.2.0-py3-none-win_amd64.whl.
File metadata
- Download URL: yamark-0.2.0-py3-none-win_amd64.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a15b710d501ece425a160cc977003acd5f6bce24904e372a20606866f858c902
|
|
| MD5 |
1622bc86a6846767a3ba42235b83c5e7
|
|
| BLAKE2b-256 |
cf52f4014bd3e8e3411baf79e99b47240719e376af39af0102b0dc0dd70e897c
|
Provenance
The following attestation bundles were made for yamark-0.2.0-py3-none-win_amd64.whl:
Publisher:
release.yml on t-kalinowski/yamark
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yamark-0.2.0-py3-none-win_amd64.whl -
Subject digest:
a15b710d501ece425a160cc977003acd5f6bce24904e372a20606866f858c902 - Sigstore transparency entry: 2370466036
- Sigstore integration time:
-
Permalink:
t-kalinowski/yamark@052e725403ac202c72b6f0205b725eb52d3c993c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/t-kalinowski
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@052e725403ac202c72b6f0205b725eb52d3c993c -
Trigger Event:
push
-
Statement type:
File details
Details for the file yamark-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: yamark-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c1bacf47ff17982d3ed8666ebf7f50b342fc7bd65264d72ea85f8bb2c070657
|
|
| MD5 |
ba442b3915c409257e0921fac0e97ed1
|
|
| BLAKE2b-256 |
60c03fb9be9b92e11f2e8217f204e9d9928147c843d78e498893d63c1bb89620
|
Provenance
The following attestation bundles were made for yamark-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on t-kalinowski/yamark
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yamark-0.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
7c1bacf47ff17982d3ed8666ebf7f50b342fc7bd65264d72ea85f8bb2c070657 - Sigstore transparency entry: 2370466013
- Sigstore integration time:
-
Permalink:
t-kalinowski/yamark@052e725403ac202c72b6f0205b725eb52d3c993c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/t-kalinowski
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@052e725403ac202c72b6f0205b725eb52d3c993c -
Trigger Event:
push
-
Statement type:
File details
Details for the file yamark-0.2.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: yamark-0.2.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
89a3cb13726d1bb634d496b295e4dffd2310a486772f4363b40cb5c0f3b51678
|
|
| MD5 |
419d091aee573b3176bc8a63b1c755fc
|
|
| BLAKE2b-256 |
e7fcd35acc170e0181e4ae06aef88c72bfe9ebc7bf551d4ccb4f8d74a4f86e72
|
Provenance
The following attestation bundles were made for yamark-0.2.0-py3-none-macosx_11_0_arm64.whl:
Publisher:
release.yml on t-kalinowski/yamark
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yamark-0.2.0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
89a3cb13726d1bb634d496b295e4dffd2310a486772f4363b40cb5c0f3b51678 - Sigstore transparency entry: 2370466025
- Sigstore integration time:
-
Permalink:
t-kalinowski/yamark@052e725403ac202c72b6f0205b725eb52d3c993c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/t-kalinowski
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@052e725403ac202c72b6f0205b725eb52d3c993c -
Trigger Event:
push
-
Statement type:
File details
Details for the file yamark-0.2.0-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: yamark-0.2.0-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3db552da244672966e8ded7c90e98d569d34cefe38177373b4ebf7f79b301ce9
|
|
| MD5 |
d79ca7a9a1d0751b7472313f7aa8de27
|
|
| BLAKE2b-256 |
0e8b8a7fba22588e8051b66b26c623e336c0fc2c33e7876886de7a05cc2bf384
|
Provenance
The following attestation bundles were made for yamark-0.2.0-py3-none-macosx_10_12_x86_64.whl:
Publisher:
release.yml on t-kalinowski/yamark
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yamark-0.2.0-py3-none-macosx_10_12_x86_64.whl -
Subject digest:
3db552da244672966e8ded7c90e98d569d34cefe38177373b4ebf7f79b301ce9 - Sigstore transparency entry: 2370466047
- Sigstore integration time:
-
Permalink:
t-kalinowski/yamark@052e725403ac202c72b6f0205b725eb52d3c993c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/t-kalinowski
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@052e725403ac202c72b6f0205b725eb52d3c993c -
Trigger Event:
push
-
Statement type: