Skip to main content

exprint helps you explore data quickly by pretty-printing values with a flexible API

Project description

exprint

exprint helps you explore data quickly by pretty-printing values with a flexible API.

Features

  • Automatic indentation and colored output (test it in your terminal)
from exprint import exprint

seq = [
    index + 1.174298 if index == 10 or index == 9 or index == 8 else float(index + 1)
    for index in range(1000)
]
exprint(seq)
[
        1.0,  2.0,  3.0,  4.0,  5.0,  6.0,  7.0,  8.0, 9.174298, 10.174298,
  11.174298, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0,     19.0,      20.0,
       21.0, 22.0, 23.0, 24.0, 25.0, 26.0, 27.0, 28.0,     29.0,      30.0,
       31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 38.0,     39.0,      40.0,
       41.0, 42.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0,     49.0,      50.0,
       51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0,     59.0,      60.0,
       61.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 68.0,     69.0,      70.0,
       71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0,     79.0,      80.0,
       81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0,     89.0,      90.0,
       91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0,     99.0,     100.0,
  ... 900 more items
]
  • Flexible API
from exprint import Format, Formatter, dispatch_obj, exprint

class Example:
    __slots__ = "foo", "bar"

    def __init__(self, foo: str, bar: int):
        self.foo = foo
        self.bar = bar


def format_example(obj: Example, f: Formatter) -> Format:
    return f.format_class("Example").field("foo", obj.foo).field("bar", obj.bar)

# Assiocate the format function to its type
dispatch_obj(Example, format_example)

exprint(Example("Hello", 10))
# Output:
# Example { foo: 'Hello', bar: 10 }

Example

import json
from exprint import exprint

# https://github.com/topojson/us-atlas?tab=readme-ov-file#counties-10m.json
with open("./counties-10m.json") as file:
    data = json.load(file)

exprint(data, max_elements=10)

In your terminal, you will have a colored output.

{
  'type': 'Topology',
  'bbox': [ -179.14733999999999, -14.552548999999999, 179.77847, 71.352561 ],
  'transform': {
    'scale': [ 0.003589293992939929, 0.0008590596905969058 ],
    'translate': [ -179.14733999999999, -14.552548999999999 ],
  },
  'objects': {
    'counties': { 'type': 'GeometryCollection', 'geometries': [list] },
    'states': { 'type': 'GeometryCollection', 'geometries': [list] },
    'nation': { 'type': 'GeometryCollection', 'geometries': [list] },
  },
  'arcs': [
    [ [list], [list] ],
    [ [list], [list], [list] ],
    [ [list], [list] ],
    [ [list], [list], [list], [list] ],
    [ [list], [list] ],
    [ [list], [list] ],
    [ [list], [list] ],
    [ [list], [list], [list], [list], [list], [list], [list], [list], [list], [list] ],
    [ [list], [list] ],
    [ [list], [list], [list], [list], [list], [list], [list], [list], [list], [list] ],
    ... 9859 more items
  ],
}

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

exprint-0.1.1.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

exprint-0.1.1-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file exprint-0.1.1.tar.gz.

File metadata

  • Download URL: exprint-0.1.1.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for exprint-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5a7dee8b729599a2834fadc56c212388ec949d05626b05d046514ed4b1b24090
MD5 43a186dea6684f28727b31d69e2eb865
BLAKE2b-256 36b8957a6fe77fd472aceaf4138d18bfab02a9a0b23f94407ab74dc3db26e0f8

See more details on using hashes here.

File details

Details for the file exprint-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: exprint-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for exprint-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 23d8263546e28f8473775babf66c1bea7825b404f9bc534928e720186eb29341
MD5 cafab232d56c14ef2a49bd2fa1c6fba6
BLAKE2b-256 f2bb23ac62481a70cefc87ab05b3d88287ed21752c61fe98a720c7409f10ab87

See more details on using hashes here.

Supported by

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