A unit-informed, assumption-driven material ontology.
Use the material. Sustain the assumptions.
Reduce uncertainty by making every assumption explicit.
Overview
PicoMats is an assumption-driven material ontology that sustains assumptions throughout your pipeline. It provides unit-informed material definitions with accompanying assumptions.
[!important]
Features:
- Follows a computational ontology called
Abstract-Fundamental Ontology.- Uses
UnitValuesandPicoUnitsfor encoding typed numerical definitions.- Tracks assumptions alongside material definitions to reduce model uncertainty.
What is the Abstract-Fundamental Ontology?
Abstract-Fundamental Ontology is a computational abstraction for both reductionist and pragmatist applications.
The model is based on two categories:
Abstract: Defined by what it does (measured properties).
Fundamental: Defined by what it is (atomic structure).
The ontology emerges from this simple thought experiment:
Let's model a ball rolling down a ramp.
↓
What forces act on the ball?
↓
Gravity, electromagnetic repulsion, and friction.
↓
How do we model friction?
↓
A coefficient? Isn't that arbitrary?
↓
Why not just model it?
↓
What exactly is friction?
↓
Oh, random microscopic interactions...
It's a mistake to assume it's impossible to model, but computational cost is prohibitive for most applications. Hence, you abstract it via empirical methods to measure friction, losing all but the necessary information.
But abstract isn't always the right model...
I want to research superconductors.
↓
Oh, my temperature range is 0 K to 200 K.
↓
Where do I get material definitions for that range?
↓
I'll just interpolate the standard Niobium definition.
↓
Actually, how were these measurements obtained?
When asking such a fundamental question, wouldn't it be best to derive the relations from what the material fundamentally is? Hence, you use fundamental, which describes what the material is, and build the necessary properties without measurement-implicit assumptions.
[!IMPORTANT]
PicoMats does not calculate material properties from the fundamental characteristics of the elements. It is up to the user to compute them via custom modelling or external frameworks.
[!NOTE]
Both
abstractandfundamentalalso make a good semantic boundary for model development. For example,material.abstract.copperandmaterial.fundamental.copperexplicitly denote the reality of their origin.
Proposed workflow
PicoMats is still under development for v0.1-alpha. Implementation details and some abstractions may change.
from picomats import mm
from picomats import Materials
# Pulls materials into the simulation
copper = Materials.abstract.pure.copper
density = copper.density
volume = 100 * mm ** 3
mass = volume * density
# > Output: 0.896 m(kg)
copper.assumptions.density
# > Output:
# >└── Method
# > ├── Hydrostatic Balance (Archimedes' Principle)
# > └── Media Type: Distilled Water
# >└── Assumptions
# > ├── Lack of air bubbles within media
# > └── Media temperature stability
Installation
Until release, this only installs the overview page and related files:
pip install PicoMats
Documentation
All internal documentation can be found within this repo's issues.
Metadata
Release files for picomats 0.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| picomats-0.0.0.tar.gz | 4.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| picomats-0.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.8 kB
Release files / picomats-0.0.0.tar.gz
| Download URL | picomats-0.0.0.tar.gz |
|---|---|
| Size | 4.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b005654b387b8b7f2c3569d57af05de2a9a2fa7154bf4091a751e29b11aceaba
|
|
BLAKE2b-256 checksum How to use checksums |
f93753c365cdef58b64c3f753146178d479ca1ec8d93840757bf9f72b06995ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.
Transparency logRelease files / picomats-0.0.0-py3-none-any.whl
| Download URL | picomats-0.0.0-py3-none-any.whl |
|---|---|
| Size | 4.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
240cc795bfae6540b8f9660a43d61cc4fed76f0050c1e474cb9d55c72feeb71f
|
|
BLAKE2b-256 checksum How to use checksums |
c04e704195c4b50f77c4f9cc2a915963cb60954dabd66daeb2c123b3df2728f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.
Transparency log