Skip to main content

Lightweight data-centric framework for working with scientific data

Project description

DLite

A lightweight data-centric framework for semantic interoperability

PyPi CI tests Documentation DOI

DLite is a C implementation of the SINTEF Open Framework and Tools (SOFT), which is a set of concepts and tools for using data models (aka Metadata) to efficiently describe and work with scientific data.

DLite overview

The core of DLite is a framework for formalised representation of data described by data models (called Metadata or Entity in DLite). On top of this, DLite has a plugin system for various representations of the data in different formats and storages, as well as bindings to popular languages like Python, mappings to ontological concepts for enhanced semantics and a set of tools.

Documentation

The official documentation for DLite can be found on https://sintef.github.io/dlite/.

Installation

DLite is available on PyPI and can be installed with pip

pip install dlite-python[full]

The bracket [full] is optional, but ensures that you install all optional dependencies together with DLite. Without [full] you get a minimal DLite installation that only depends on NumPy. This would disable most storage plugins, except for the built-in "json", "bson" and "rdf" (when compiled against Redland librdf). For alternative installation methods, see the installation instructions.

Usage

All data in DLite is represented by a instance, which is described by a simple data model (aka Metadata). An Instance is identified by a unique UUID and have a set of named dimensions and properties. The dimensions are used to describe the shape of multi-dimensional properties.

DLite Metadata are identified by an URI and have an (optional) human readable description. Each dimension is given a name and description (optional) and each property is given a name, type, shape (optional), unit (optional) and description (optional). The shape of a property refers to the named dimensions. Foe example, a Metadata for a person serialised in YAML may look like:

uri: http://onto-ns.com/meta/0.1/Person
description: A person.
dimensions:
  nskills: Number of skills.
properties:
  name:
    type: string
    description: Full name.
  age:
    type: float32
    unit: year
    description: Age of person.
  skills:
    type: string
    shape: [nskills]
    description: List of skills.

Assume that you have file Person.yaml with this content. In Python, you can load this Metadata with

import dlite
Person = dlite.Instance.from_location("yaml", "Person.yaml", options="mode=r")

where the first argument is the "driver", i.e. the name of storage plugin to use for loading the Metadata. The options argument is optional. By providing "mode=r" you specify that the storage is opened in read-only mode.

You can verify that Person is a Metadata

>>> isinstance(Person, dlite.Metadata)
True

We can create an instance of Person with

homes = Person(
    dimensions={"nskills": 4},
    properties={
      "name": "Sherlock Homes",
      "skills": ["observing", "chemistry", "violin", "boxing"],
    }
)

The dimensions argument must be supplied when a Metadata is instantiated. It ensures that the shape of all properties are initialised consistently. The properties argument is optional. By specifying it, we initialise the properties to the provided values (otherwise, they will be initialised to zero).

In this case we didn't initialised the age

>>> homes.age
0.0
>>> homes.age = 34  # Assign the age

We can view (a JSON representation of) the instance with

>>> print(homes)
{
  "uuid": "314ac1ad-4a7e-477b-a56c-939121355112",
  "meta": "http://onto-ns.com/meta/0.1/Person",
  "dimensions": {
    "nskills": 4
  },
  "properties": {
    "Sherlock Holmes" {
      "age": 34.0,
      "skills": [
        "observing",
        "chemistry",
        "violin",
        "boxing"
      ]
    }
  }
}

The instance can also be stored using the save() method

homes.save("yaml", "homes.yaml", "mode=w")

which will produce the a YAML file with the following content

8cbd4c09-734d-4532-b35a-1e0dd5c3e8b5:
  meta: http://onto-ns.com/meta/0.1/Person
  dimensions:
    nskills: 4
  properties:
    Sherlock Holmes:
      age: 34.0
      skills:
      - observing
      - chemistry
      - violin
      - boxind

This was just a brief example. There is much more to DLite as will be revealed in the documentation.

License

DLite is licensed under the MIT license. However, it include a few third party source files with other permissive licenses. All of these should allow dynamic and static linking against open and propritary codes. A full list of included licenses can be found in LICENSES.txt.

Acknowledgment

In addition from internal funding from SINTEF and NTNU this work has been supported by several projects, including:

  • AMPERE (2015-2020) funded by Forskningsrådet and Norwegian industry partners.
  • FICAL (2015-2020) funded by Forskningsrådet and Norwegian industry partners.
  • Rational alloy design (ALLDESIGN) (2018-2022) NTNU internally funded project.
  • SFI Manufacturing (2015-2023) funded by Forskningsrådet and Norwegian industry partners.
  • SFI PhysMet (2020-2028) funded by Forskningsrådet and Norwegian industry partners.
  • OntoTrans (2020-2024) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 862136.
  • OpenModel (2021-2025) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 953167.
  • DOME 4.0 (2021-2025) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 953163.
  • VIPCOAT (2021-2025) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 952903.
  • MEDIATE (2022-2025) that receives funding from the RCN, Norway; FNR, Luxenburg; SMWK Germany via the M-era.net programme, project9557,
  • MatCHMaker (2022-2026) that receives funding from the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement n. 101091687.

DLite is developed with the hope that it will be a delight to work with.

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

DLite-Python-0.4.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distributions

DLite_Python-0.4.0-cp311-cp311-win_amd64.whl (369.0 kB view details)

Uploaded CPython 3.11 Windows x86-64

DLite_Python-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

DLite_Python-0.4.0-cp310-cp310-win_amd64.whl (368.8 kB view details)

Uploaded CPython 3.10 Windows x86-64

DLite_Python-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

DLite_Python-0.4.0-cp39-cp39-win_amd64.whl (369.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

DLite_Python-0.4.0-cp39-cp39-musllinux_1_1_i686.whl (391.0 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

DLite_Python-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

DLite_Python-0.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (15.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

DLite_Python-0.4.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

DLite_Python-0.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (7.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

DLite_Python-0.4.0-cp38-cp38-win_amd64.whl (368.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

DLite_Python-0.4.0-cp38-cp38-musllinux_1_1_i686.whl (390.9 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

DLite_Python-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

DLite_Python-0.4.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (15.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

DLite_Python-0.4.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

DLite_Python-0.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (7.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

DLite_Python-0.4.0-cp37-cp37m-win_amd64.whl (367.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

DLite_Python-0.4.0-cp37-cp37m-musllinux_1_1_i686.whl (391.7 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

DLite_Python-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

DLite_Python-0.4.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (15.7 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

DLite_Python-0.4.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

DLite_Python-0.4.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl (7.0 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

File details

Details for the file DLite-Python-0.4.0.tar.gz.

File metadata

  • Download URL: DLite-Python-0.4.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.4

File hashes

Hashes for DLite-Python-0.4.0.tar.gz
Algorithm Hash digest
SHA256 192620afface7043d318978570b90ff56c1f140f111dec9bf237d14cc79bf2f3
MD5 9a321d5a740a7b8bb8bf3b357f276324
BLAKE2b-256 a448bba1cc41c11b1df52f2814503139eaa7ebbe136cc02c13f0a535f3428058

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c4582ece8dea0c5744c323ecf675f29ee1589e95116b2a8acef1c7dfb1141427
MD5 2988f86b7322fae94b8f0b74660fe2b0
BLAKE2b-256 d1303df72f8f3960edbc8ef49db60a6c67147255fc4c10147b292b3413b69ad3

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4df79f65096d78cda073fd88a1bbac35c55ce2ebcbe0123ef1d1fbff917d77b3
MD5 d2dd2d5529c2431a250951cccbd30968
BLAKE2b-256 40c8db30d0f95b299be86cbb1f2fb8f347db81151cd093ce8b8c70f49fcd889d

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5a8bf79c93616f28e4444dd0fd7589bbd15c9354b14359a1a6f3d0c59e77ed36
MD5 ef2a1fbd13193c76bfa9119be1dee75d
BLAKE2b-256 3d4043f41007c2c055dd666b7f9cdd83c31cabbc01056299d19e2040d7b9c299

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb91d53271b6f21a8b4dd961a3077fd2da66132c8324c1a7628d75701e449cee
MD5 2304014391a60877c9c4129bec415849
BLAKE2b-256 a79d38eb729c4ab77b330c63f8021732634ea90f4fc0f3123e6d240df86f8eff

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 699ac0febd98b804f3637a873c2aafb99a9b38e685aa2b176490889ccbbe74af
MD5 fb2fe40aeab3a11cbeab752d0e4e1c2f
BLAKE2b-256 05cd330876320b09e8c7b7979de71b1e8c7164c506cd252a51e9c09405dd7411

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 88d96cceabadbd1b1bda3a1db8fb0d15df12288f01065bf88ff72c4cc79ebccf
MD5 6127a43d48de0313408c3007cecc7e4e
BLAKE2b-256 999f207b659e1dcf37089e618af782d47b2b418a8fe25dc029c3836a64cb5f70

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21dce8ef0c2dc83de65c9ab8fd26c7feb431a06dcec090dbff575d5a02d93af5
MD5 981e1c84f30f08898c2253c81a2f1e93
BLAKE2b-256 950431bcf489d7d4676970051dc37996bf4f5229b01edc9802d4b3313d5fcd39

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 eb72bdd74b756d6d14f7f64a23f16baa5633fd934c90f6e392a34b8443327fd3
MD5 dd92a24be33bcd40fece2e166252b285
BLAKE2b-256 73a148ff8973dfef79fa70ceb75ca2841a3856331ff2fd88888285fc85b1c118

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d4732b57720ecd98b51c6396571b6582a3a934055e106454ce54fa7e46cb4ecc
MD5 10c2b7c892f2716d88631dabda465d95
BLAKE2b-256 0835b76f8da94f7e002c69286c5ebf75c682f0fec850fe0c35eea443b05636fc

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 facac0c47f371377f6596d9ef896affd35e71535e8b342a648cbca03f7f218af
MD5 05f3368135c04da37f67c64c5331e0a8
BLAKE2b-256 01e228cb9c2e238589e89a0bd447ce974c9e8a0fb4bfb3a52bf62df75a6ce95c

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4dc6e55b5c63107e829a8d0ea83fdd7631b1b3f1e8720ae3e7ee39b2d7982a77
MD5 b187fa820ec8bff11a20c4c2d77fa27d
BLAKE2b-256 6ba5aa9470144ed0030eb77219191b8152a04f614928d7feb9ea432beb2dfea0

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 bedc8a3f2ca903d2fbbd5c6048cdc5adda66eed90696bb448c388e2e50aaccf3
MD5 59e37ca3b448e146dfea7848abd6ab7f
BLAKE2b-256 88802f879e9fa824a83354c2651bbb8342e8044cf36880359b260c628bf93549

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 92f56f5f2f3ae01aabffa928fd95408b794dd2a54413bbf13172bd09c0c28ccc
MD5 7215d7f5616b65a249d3f9d8129681ab
BLAKE2b-256 6a5e0eaee6df703bc83863d3e0d29eb9bc66b7a2c52eb89139869d768a740db3

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 11a71c22a82e323440391ff3b098f502bfc83fb8916d29398de9bc0447103e22
MD5 ecd8b1238257bfd6ec8bca2f2d472828
BLAKE2b-256 bdd166e3f84fd987b44efbba4dc6b9d378341392d38aa257f6d1598ffe7d692d

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 20d51d6145ef9616d8ee333d03f18c45d3db94c2101093928c41c72c13de19c4
MD5 ff335fcb3a6fd2e4d30b0e950dc24f3c
BLAKE2b-256 ae64a21c4a7d7a3d8d3e82defe69a0f271bd23c1b6b2c1df091724f4c8a21a59

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 69ec63b88a31f3390bd82f7830c41576e4dbf7204218025ca8bafedb2c331961
MD5 4943be82ff7a9b59407f4ec930e6491d
BLAKE2b-256 1df157ddc6fc837c8b8ab173730572b0509998f61950fc27dfb9e31a80fd480b

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 c930c48149ec68b1bb565ec6b7423323556f6875c45acf089293c62cc99ef300
MD5 d169aa4f246a83d391f263a8f7b9d7cb
BLAKE2b-256 75c5ac1233e7a7fb7f03b7b6c7a157c230eb6bdc92436dce5e2b101cc583ec41

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp37-cp37m-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 77a4a77f32591545ac78abef710e6e47a8ae3a956b5581bb9daab9223a79b950
MD5 19ace907cf7dfae9298b989bab45fd31
BLAKE2b-256 c5a52c03af61c1203a8d3212e7a1a9f57c0d89dc9c5f3cfad1ba28fb40f771b3

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c5171ce426ed60b9daf49e972431462feee93047a5cc949bf80b49ad2b61d86
MD5 33fd3e0283fbbc84d043f40a9b64bf8f
BLAKE2b-256 7525e8240cc835175e27127f3cb3cac52a93e848682414ff39e3c8457a657318

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 48335e19f5fad149db2c8a6b16e4710e3a1f239fa4992dee052733b376b0497a
MD5 f33257c3607465aa551c730faca2756b
BLAKE2b-256 9000a63d2667283fbf492e780c550d9a38298561f12c7868341a3417096cbda0

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b7de18c50dbaf17f97feec5fb31d374100ddbc938c03c1521f3754237f3cdc6f
MD5 5940433bfcd55e0e42bee443da7fc599
BLAKE2b-256 fab2944163006c692468127cb7df76c85958ab60cec9e79f88e9c241828a20a2

See more details on using hashes here.

File details

Details for the file DLite_Python-0.4.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for DLite_Python-0.4.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 44dab9920d1cd9443b9d8d1715d524012c7e0a89ef0e0227e6d157eb2279b663
MD5 73b02368a798b6303a00d4d3cf60aa0c
BLAKE2b-256 31fa1edf5a7c82c0d6d560b2d0c63910a5228a462e331188e1a4896c5e458ec2

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