Skip to main content

A function to print arrays in a concise way

Project description

aprint

A Python print package for those who don't care the actual elements of array-like data (e.g. numpy.array, torch.tensor) within a complex data structure.

Background

By default, print will display the actual elements in array-like data, such as numpy.array or torch.tensor, which is not very friendly for those who don't care about the actual elements. Inspired by the leading scientific computing language Julia, this package will print the type and shape of the data structure, as well as the type and shape of the elements within the data structure.

Installation

pip install aprint

For the latest version, you can install from github:

pip install git+https://github.com/huangyxi/aprint.git

Usage

>>> import numpy as np
>>> import torch
>>> from aprint import aprint

>>> aprint(np.array([1, 2, 3]))
int64[3] numpy.ndarray

>>> aprint({'a': torch.zeros(16, 32).cuda(), 2: [np.array([1, 2]), (torch.zeros(2).to_sparse(), torch.zeros(2,3).to_sparse_csr(), torch.zeros(2,3,4).to_sparse_csc()), {'5', 6, 7.}]}, indent_str='| ')
{ # dict with len=2
| 'a': float32[16×32] torch.Tensor at 'cuda:0' with grad=False,
| 2: [ # list with len=3
| | int64[2] numpy.ndarray,
| | ( # tuple with len=3
| | | float32[2] torch.Tensor at 'cpu' with layout='COO', grad=False,
| | | float32[2×3] torch.Tensor at 'cpu' with layout='CSR', grad=False,
| | | float32[2×3×4] torch.Tensor at 'cpu' with layout='CSC', grad=False,
| | ),
| | { # set with len=3
| | | '5',
| | | 6,
| | | 7.0,
| | },
| ],
}

>>> aprint([1, [2, [3, [4, [5]]]]], max_depth=3, indent_str="⋮ ") # default max_depth=5
[ # list with len=2
 1,
 [ # list with len=2
  2,
  [ # list with len=2
   3,
   [ # list with len=2 ... ],
  ],
 ],
]

>>> torch.tensor([1, 2]) | aprint # pipeline print (only for torch.Tensor and built-in iterators)
int64[2] torch.Tensor at 'cpu' with grad=False

Roadmap

  • pipeline support for torch.Tensor
  • continuous integration
  • support class inheritance
    • support iterators' classes
    • support objects' classes
  • support more types
    • torch.nn.parameter.Parameter
  • colorful output
  • glance of the data

License

MIT License

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

aprint-0.0.2.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

aprint-0.0.2-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file aprint-0.0.2.tar.gz.

File metadata

  • Download URL: aprint-0.0.2.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for aprint-0.0.2.tar.gz
Algorithm Hash digest
SHA256 456d5becdff385f7cda4403c8ea2eb6996863ddbf88db88b2d12b6b48d0cd4d2
MD5 6996d5044db74b425fc7855165966c11
BLAKE2b-256 b5b4d27c186df8bc99c8c420a79e0fea26bb3bbd513455a3ca9be51ac43e3c20

See more details on using hashes here.

File details

Details for the file aprint-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: aprint-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for aprint-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ec68ded59528c191791e4152e0715609835ad8f4bfcff45ce756883a6954911b
MD5 cfbefdc249c19c64631e86c50ebe96bc
BLAKE2b-256 3b331cc9aca98a21dca98c6896bafd9a7a1e61257d712220a9f7d962547ed9ac

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