Metadata-Version: 2.4
Name: jprint2
Version: 0.1.2
Summary: Simple json printer for python
Author-email: Mark Lidenberg <marklidenberg@gmail.com>
License: MIT
License-File: LICENSE
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.8
Requires-Dist: jsons>=1.6.3
Requires-Dist: pygments>=2.19.1
Provides-Extra: dev
Requires-Dist: better-exceptions>=0.3.3; extra == 'dev'
Requires-Dist: build>=1.2.2.post1; extra == 'dev'
Requires-Dist: load-dotenv>=0.1.0; extra == 'dev'
Requires-Dist: questionary>=2.1.0; extra == 'dev'
Requires-Dist: twine>=6.1.0; extra == 'dev'
Description-Content-Type: text/markdown

# jprint2

A drop-in replacement for `print` that formats output as JSON using [jsons](https://github.com/ramonhagenaars/jsons) and colorizes it with [pygments](https://pygments.org/).

![Example](docs/example.png)

## Usage

```python
>>> from jprint2 import jprint
>>> jprint("a", "b", "c")
[
  "a",
  "b",
  "c"
]
>>> jprint({"name": "Mark", "mood": 10})
{
  "name": "Mark",
  "mood": 10
}
>>> jprint("Mark")
Mark
>>> jprint('{"name": "Mark"}')
{
  "name": "Mark"
}
>>> import jprint2.replace_print_with_jprint  # replace built-in print
>>> print("Hello", "friend!")
[
  "Hello",
  "friend!"
]
>>> from jprint2 import set_defaults  # configure defaults
>>> set_defaults(indent=2, sort_keys=True)
>>> from jprint2 import jformat  # format JSON to string
>>> my_json_string = jformat({"name": "Mark", "age": 30})

```

## License

MIT License

## Author

Mark Lidenberg [marklidenberg@gmail.com](mailto:marklidenberg@gmail.com)