Metadata-Version: 2.4
Name: literalizer-cli
Version: 2026.3.23.5
Summary: CLI for literalizer - convert data structures to native language literal syntax.
Author-email: Adam Dangoor <adamdangoor@gmail.com>
License-Expression: MIT
Project-URL: Documentation, https://adamtheturtle.github.io/literalizer-cli/
Project-URL: Source, https://github.com/adamtheturtle/literalizer-cli
Keywords: cli,literal,literalizer,syntax
Classifier: Development Status :: 3 - Alpha
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: click<8.4.0,>=8.3.0
Requires-Dist: literalizer
Provides-Extra: dev
Requires-Dist: actionlint-py==1.7.11.24; extra == "dev"
Requires-Dist: check-manifest==0.51; extra == "dev"
Requires-Dist: deptry==0.25.1; extra == "dev"
Requires-Dist: furo==2025.12.19; extra == "dev"
Requires-Dist: mypy[faster-cache]==1.19.1; extra == "dev"
Requires-Dist: mypy-strict-kwargs==2026.1.12; extra == "dev"
Requires-Dist: prek==0.3.8; extra == "dev"
Requires-Dist: pyproject-fmt==2.20.0; extra == "dev"
Requires-Dist: pyrefly==0.57.1; extra == "dev"
Requires-Dist: pyright==1.1.408; extra == "dev"
Requires-Dist: pytest==9.0.2; extra == "dev"
Requires-Dist: pytest-cov==7.1.0; extra == "dev"
Requires-Dist: pytest-regressions==2.10.0; extra == "dev"
Requires-Dist: pyyaml==6.0.3; extra == "dev"
Requires-Dist: ruff==0.15.7; extra == "dev"
Requires-Dist: shellcheck-py==0.11.0.1; extra == "dev"
Requires-Dist: shfmt-py==3.12.0.2; extra == "dev"
Requires-Dist: sphinx>=8.1.3; extra == "dev"
Requires-Dist: sphinx-click==6.2.0; extra == "dev"
Requires-Dist: sphinx-copybutton==0.5.2; extra == "dev"
Requires-Dist: sphinx-lint==1.0.2; extra == "dev"
Requires-Dist: sphinx-pyproject==0.3.0; extra == "dev"
Requires-Dist: sphinx-substitution-extensions==2026.1.12; extra == "dev"
Requires-Dist: sphinxcontrib-spelling==8.0.2; extra == "dev"
Requires-Dist: ty==0.0.24; extra == "dev"
Requires-Dist: uv==0.10.12; extra == "dev"
Requires-Dist: yamlfix==1.19.1; extra == "dev"
Requires-Dist: zizmor==1.23.1; extra == "dev"
Provides-Extra: release
Requires-Dist: check-wheel-contents==0.6.3; extra == "release"
Requires-Dist: homebrew-pypi-poet==0.10; extra == "release"
Requires-Dist: setuptools<82,>=70; extra == "release"
Dynamic: license-file

|Build Status| |PyPI|

literalizer-cli
================

CLI for literalizer - convert data structures to native language literal syntax.

.. contents::
   :local:

Installation
------------

With ``pip``
^^^^^^^^^^^^

Requires Python |minimum-python-version|\+.

.. code-block:: shell

   pip install literalizer-cli

With Homebrew (macOS, Linux, WSL)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Requires `Homebrew`_.

.. code-block:: shell

   brew tap adamtheturtle/literalizer-cli
   brew install literalizer-cli

.. _Homebrew: https://docs.brew.sh/Installation

With winget (Windows)
^^^^^^^^^^^^^^^^^^^^^

Requires `winget`_.

.. code-block:: shell

   winget install --id adamtheturtle.literalizer-cli --source winget --exact

The winget package may not be the latest version.

.. _winget: https://learn.microsoft.com/en-us/windows/package-manager/winget/

Pre-built Linux (x86) binaries
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code-block:: console

   $ curl --fail -L https://github.com/adamtheturtle/literalizer-cli/releases/download/2024.01.01/literalize-linux -o /usr/local/bin/literalize &&
       chmod +x /usr/local/bin/literalize

Pre-built macOS (ARM) binaries
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code-block:: console

   $ curl --fail -L https://github.com/adamtheturtle/literalizer-cli/releases/download/2024.01.01/literalize-macos -o /usr/local/bin/literalize &&
       chmod +x /usr/local/bin/literalize

You may need to remove the quarantine attribute to run the binary:

.. code-block:: console

   $ xattr -d com.apple.quarantine /usr/local/bin/literalize

Pre-built Windows binaries
^^^^^^^^^^^^^^^^^^^^^^^^^^

Download the Windows executable from the `latest release`_ and place it in a directory on your ``PATH``.

.. _latest release: https://github.com/adamtheturtle/literalizer-cli/releases/latest

With Docker
^^^^^^^^^^^

.. code-block:: console

   $ docker run --rm -i ghcr.io/adamtheturtle/literalizer-cli:latest literalize --help

With Nix
^^^^^^^^

Requires `Nix`_.

.. code-block:: shell

   nix --extra-experimental-features 'nix-command flakes' run "github:adamtheturtle/literalizer-cli/2024.01.01" -- --help

To avoid passing ``--extra-experimental-features`` every time, `enable flakes`_ permanently.

.. _Nix: https://nixos.org/download/
.. _enable flakes: https://wiki.nixos.org/wiki/Flakes#Enabling_flakes_permanently

Or add to your flake inputs:

.. code-block:: nix

   {
     inputs.literalizer-cli.url = "github:adamtheturtle/literalizer-cli";
   }

Using ``literalize`` as a pre-commit hook
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

To run ``literalize`` with `pre-commit`_, add hooks like the following to your ``.pre-commit-config.yaml``:

.. code-block:: yaml

   -   repo: https://github.com/adamtheturtle/literalizer-cli-pre-commit
       rev: v2024.1.1
       hooks:
       -   id: literalize
           args: ["--language", "python"]

.. _pre-commit: https://pre-commit.com

Usage example
-------------

.. code-block:: shell

   # Convert JSON on stdin to a Python literal
   echo '{"name": "Alice", "age": 30}' | literalize --language python

   # Convert to multiple languages
   echo '[1, 2, 3]' | literalize --language rust
   echo '{"key": "value"}' | literalize --language go

Full documentation
------------------

See the `full documentation <https://adamtheturtle.github.io/literalizer-cli/>`__.

.. |Build Status| image:: https://github.com/adamtheturtle/literalizer-cli/actions/workflows/ci.yml/badge.svg?branch=main
   :target: https://github.com/adamtheturtle/literalizer-cli/actions
.. |PyPI| image:: https://badge.fury.io/py/literalizer-cli.svg
   :target: https://badge.fury.io/py/literalizer-cli
.. |minimum-python-version| replace:: 3.12
