Skip to main content

Toml sorting library

Project description

toml-sort

A command line utility to sort your toml files. Requires Python 3.6 or greater.

Motivation

I wrote this library because I couldn't find any "good" sorting utilities for TOML files. This library strives to sort TOML files by providing the following features:

  • Preserve inline comments
  • Sort tables / arrays of Tables
  • Option to sort table keys, or not
  • Standardize top-level whitespace and indentation (generally removes it; this library is opinionated here)
  • Preserve top-level comments (in progress; really hard and maybe unachievable)

Installation

pip install toml-sort

Usage

This project can be used as either a Python library or a command line utility. I will document the Python library interface in the future when it stabilizes. The command line interface should remain fairly stable.

Command line interface

Read from stdin, write to stdout:

cat input.toml | toml-sort

Read from file on disk, write to file on disk:

toml-sort -o output.toml input.toml

Read from file on disk, write to stdout

toml-sort input.toml

Read from stdin, write to file on disk

cat input.toml | toml-sort -o output.toml

Only sort the top-level tables / arrays of tables

cat input.toml | toml-sort -i
cat input.toml | toml-sort --ignore-non-tables

Local Development

Local development for this project is quite simple.

Dependencies

Install the following tools manually.

Recommended

Set up development environment

make setup

Run Tests

make test

Written by

Samuel Roeca samuel.roeca@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

toml-sort-0.11.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

toml_sort-0.11.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file toml-sort-0.11.0.tar.gz.

File metadata

  • Download URL: toml-sort-0.11.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/4.15.0-55-generic

File hashes

Hashes for toml-sort-0.11.0.tar.gz
Algorithm Hash digest
SHA256 c48158e0ae6d230ea33efb3ba426a666ed5fb8979e821793ca4532a17323c4fc
MD5 eb2c63008e46ad3b06626d41c08af1bc
BLAKE2b-256 d5c0939e47019dd713322e102c576eea724e5e5646d04968fe8a741b6bbf637b

See more details on using hashes here.

File details

Details for the file toml_sort-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: toml_sort-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/4.15.0-55-generic

File hashes

Hashes for toml_sort-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 356e7d508a81e6c9e5f0af9e917e0aa8982f9b20dea71e92ec88b2292b6c3680
MD5 cbc6756a6100f671d3a4069a378e645f
BLAKE2b-256 dce097855d9a9bf9f0dba9044e602f599b6da8725474f7249e0d3891f2fb4db6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page