class_docstr: Describes how a :class:`jax.Array` is laid out across devices.
    
class_docstr_tok: ["Describes","how","a",":","class",":","`","jax.Array","`","is","laid","out","across","devices","."]
docstr: Returns the shape of the data on each device.
  
  The shard shape returned by this function is calculated from
  ``global_shape`` and the properties of the sharding.
docstr_tok: ["Returns","the","shape","of","the","data","on","each","device",".","The","shard","shape","returned","by","this","function","is","calculated","from","``","global_shape","``","and","the","properties","of","the","sharding","."]
code: def shard_shape(self, global_shape: Shape) -> Shape:
      """Returns the shape of the data on each device.
  
      The shard shape returned by this function is calculated from
      ``global_shape`` and the properties of the sharding.
      """
      raise NotImplementedError(
          "Subclasses should implement this method."
      )
  
file_path: jax/jax/_src/sharding.py
imports: from __future__ import annotations
  from collections.abc import Mapping, Sequence
  import functools
  from jax._src import util
  from jax._src import xla_bridge
  from jax._src.lib import xla_client
label_desc: Use image node_id 3 for calling the Sharding obj's underlying member method code with example usage: obj.shard_shape(global_shape) without return types