Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
c9b32fe
Create the SampleModel file structure
damskii9992 Jul 14, 2026
3d4823b
Add AtomSite class and start on Lattice class, also small start on do…
damskii9992 Jul 14, 2026
79bdb7b
rename Lattice attributes
damskii9992 Jul 14, 2026
b89eb26
Add initial Lattice class
damskii9992 Jul 16, 2026
e711d6c
Add Debye temperature to atom_site and add cubic class method
damskii9992 Jul 26, 2026
1b18a39
Add temperature to Lattice
damskii9992 Jul 27, 2026
94154ab
Ruff
damskii9992 Jul 27, 2026
77896fa
add normalize_fractions to mixture class
damskii9992 Jul 30, 2026
6ef851b
Add auto-normalize capability
damskii9992 Jul 31, 2026
ea55e88
Add add/remove component methods to Mixture
damskii9992 Jul 31, 2026
6698289
Move Mixture to seperate branch
damskii9992 Aug 3, 2026
ba19495
remove temperature parameter from Lattice
damskii9992 Aug 3, 2026
2ca2f62
Create Atoms enum
damskii9992 Aug 4, 2026
9bfcf17
Fix changes to new enum and add FCC, diamond and zincblende construct…
damskii9992 Aug 4, 2026
85b7e76
add hexagonal and HCP convenience methods
damskii9992 Aug 5, 2026
c82b32a
Claude unit tests and update pixi
damskii9992 Sep 21, 2026
dfc7669
update test_atom_site
damskii9992 Sep 24, 2026
7a1318d
Finish atom_site and atoms unit tests
damskii9992 Sep 24, 2026
694fbbf
Finish Lattice unit tests
damskii9992 Sep 25, 2026
ab0929d
Lint and format checks
damskii9992 Sep 25, 2026
757e00c
Update crystals tests
damskii9992 Sep 28, 2026
05fcb3d
Add claude docstrings to docs
damskii9992 Sep 28, 2026
4079be2
Add Lattice type validation and tests
damskii9992 Sep 29, 2026
668e24f
Update python versions supported
damskii9992 Sep 29, 2026
184fd8a
update pixi dependencies
damskii9992 Sep 29, 2026
11ed841
potentially update all python version references?
damskii9992 Sep 29, 2026
614d281
update pixi lock
damskii9992 Sep 29, 2026
314ecc7
made a whoopsie
damskii9992 Sep 29, 2026
e4d7eb0
Update Lattice class docstring and summary, next is Attributes and Me…
damskii9992 Sep 29, 2026
1877182
Update Lattice docstrings and rename fract coords in AtomSite
damskii9992 Sep 30, 2026
709eb7a
Make Lattice possible to_dict and from_dict
damskii9992 Oct 9, 2026
2449ca6
Merge branch 'MWP_sample_model_2' of https://github.com/easyscience/i…
damskii9992 Oct 9, 2026
6121534
Fix default unique_names for crystal methods.
damskii9992 Oct 9, 2026
f83eccd
Update Hexagonal and cubic to lock angles
damskii9992 Oct 13, 2026
bc5f2ed
Fix linting
damskii9992 Oct 13, 2026
aa3faab
Add inherited methods and attributes to overwrite docstrings and add …
damskii9992 Oct 14, 2026
ca4870f
Fix broken overwritten setters and run pixi fix
damskii9992 Oct 14, 2026
2217382
Fix docs broken by prettier
damskii9992 Oct 14, 2026
c646b6b
Finish docstrings
damskii9992 Oct 16, 2026
308cde9
Make Atoms frozen
damskii9992 Oct 16, 2026
c3ea138
Fix Debye temperatuer claude bug
damskii9992 Oct 19, 2026
8f1ee6d
Fix more claude bugs
damskii9992 Oct 19, 2026
30899fc
Final claude bug and change to new logging system
damskii9992 Oct 20, 2026
7afdc71
Minor DRY changes
damskii9992 Oct 20, 2026
4429886
Lint
damskii9992 Oct 20, 2026
ccfd5c4
update pixi and remove deprecit css stylesheet
damskii9992 Oct 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ concurrency:
# Set the environment variables to be used in all jobs defined in this workflow
env:
CI_BRANCH: ${{ github.head_ref || github.ref_name }}
PY_VERSIONS: '3.11 3.13'
PIXI_ENVS: 'py-311-env py-313-env'
PY_VERSIONS: '3.12 3.14'
PIXI_ENVS: 'py-312-env py-314-env'

jobs:
# Job 1: Set up environment variables
Expand Down Expand Up @@ -149,7 +149,7 @@ jobs:
echo
echo "🔹🔸🔹🔸🔹 Python: $py_ver 🔹🔸🔹🔸🔹"

env="py-$(echo $py_ver | tr -d .)-env" # Converts 3.11 -> py-311-env
env="py-$(echo $py_ver | tr -d .)-env" # Converts 3.12 -> py-312-env

echo "Building wheel in environment: $env"
pixi run --environment $env dist-build
Expand Down
17 changes: 14 additions & 3 deletions docs/docs/api-reference/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,20 @@ icon: material/code-braces-box
This section contains the reference detailing the functions and modules
available in EasyImaging.

- [Measurement](measurement/measurement.md) - Loads and inspects
- [measurement](measurement/measurement.md) - Loads and inspects
measurement data.
- [regions_of_interest](regions_of_interest/index.md) - This module
contains all types of Regions Of Interests (ROIs) available:
- [regions_of_interest](regions_of_interest/index.md) - The module
containing all types of Regions Of Interests (ROIs) available:
- [RectangleROI](regions_of_interest/rectangle_roi.md) - A rectangular
ROI. The most basic and common type of ROI
- [sample_model](sample_model/index.md) - The module containing the
classes and functions related to creating a model of the sample:
- [Lattice](sample_model/lattice.md) - The crystallographic unit cell
of the sample model.
- [AtomSite](sample_model/atom_site.md) - The atomic sites of a
crystallographic lattice.
- [Atoms](sample_model/atoms.md) - The atomic species occupying an
atomic site.
- [crystals](sample_model/crystals.md) - A module containing
convenience functions to easily create and occupy common
crystallographic lattices.
1 change: 1 addition & 0 deletions docs/docs/api-reference/sample_model/atom_site.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
::: easyimaging.sample_model.AtomSite
23 changes: 23 additions & 0 deletions docs/docs/api-reference/sample_model/atoms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
::: easyimaging.sample_model.atoms.Atom

options:
heading_level: 2

::: easyimaging.sample_model.atoms.Atoms

options:
heading_level: 2

The full list of pre-defined
[`Atom`][easyimaging.sample_model.atoms.Atom] instances in the
[`Atoms`][easyimaging.sample_model.atoms.Atoms] enum is listed below.
<br> Isotopes with `nan` values indicate the natually occuring abundant
isotope.

```python exec="true"
from easyimaging.sample_model import Atoms
import pandas as pd
names = [f'**{atom.name}**' for atom in list(Atoms)]
pretty_table = pd.DataFrame(list(Atoms), index=names).drop('enum_id', axis=1)
print(pretty_table.rename_axis('name').to_markdown())
```
4 changes: 4 additions & 0 deletions docs/docs/api-reference/sample_model/crystals.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
::: easyimaging.sample_model.crystals

options:
group_by_category: false
16 changes: 16 additions & 0 deletions docs/docs/api-reference/sample_model/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
icon: material/puzzle
---

# :fontawesome-solid-puzzle-piece: Sample Model

This module contains all the objects which makes up the model of the
physical sample.

- [Lattice](lattice.md) - The crystallographic unit cell of the sample
model.
- [AtomSite](atom_site.md) - The atomic sites of a crystallographic
lattice.
- [Atoms](atoms.md) - The atomic species occupying an atomic site.
- [crystals](crystals.md) - A module containing convenience functions to
easily create and occupy common crystallographic lattices.
1 change: 1 addition & 0 deletions docs/docs/api-reference/sample_model/lattice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
::: easyimaging.sample_model.Lattice
33 changes: 0 additions & 33 deletions docs/docs/assets/stylesheets/extra.css
Original file line number Diff line number Diff line change
Expand Up @@ -364,36 +364,3 @@ h1 .label-experiment {
.label-experiment:hover {
color: white !important;
}

/*
* FontAwesome 5 icon fix for Jupyter widget toolbars (ipympl / plopp)
* This is a temporary workaround until this is fixed on Plopps side
*
* Comment on the issue from Claude:
* embed-amd.js injects FA5 SVG-framework CSS inline, which intentionally sets
* content:"" on all icon classes (expecting FA5 JS to replace elements with SVGs).
* Since FA5 JS conflicts with RequireJS (breaking widget rendering), we instead:
* 1. Load FA5 webfonts via <link> in overrides/main.html so the font file is available.
* 2. Use !important below to override the content:"" with the correct FA5 Solid glyphs.
*/
.fa::before {
font-family: "Font Awesome 5 Free" !important;
font-weight: 900 !important;
}
.fa-home::before { content: "\f015" !important; }
.fa-save::before { content: "\f0c7" !important; }
.fa-camera::before { content: "\f030" !important; }
.fa-cube::before { content: "\f1b2" !important; }
.fa-arrows-alt::before { content: "\f0b2" !important; }
.fa-arrows::before { content: "\f0b2" !important; } /* FA5 equivalent: arrows-alt */
.fa-times::before { content: "\f00d" !important; }
.fa-plus::before { content: "\f067" !important; }
.fa-minus::before { content: "\f068" !important; }
.fa-search-plus::before { content: "\f00e" !important; }
.fa-crosshairs::before { content: "\f05b" !important; }
.fa-arrow-left::before { content: "\f060" !important; }
.fa-arrow-right::before { content: "\f061" !important; }
.fa-expand::before { content: "\f065" !important; }
.fa-compress::before { content: "\f066" !important; }
/* fa-arrows-v was removed in FA5; map to arrows-alt-v (\f338) */
.fa-arrows-v::before { content: "\f338" !important; }
Loading
Loading