Skip to content

New easycore support#93

Open
rozyczko wants to merge 8 commits intodevelopfrom
new_core
Open

New easycore support#93
rozyczko wants to merge 8 commits intodevelopfrom
new_core

Conversation

@rozyczko
Copy link
Copy Markdown
Member

Migrated EasyCrystallography
from the old corelib architecture (ObjBase, CollectionBase) to the new
architecture (ModelBase, ModelCollection, CalculatorFactoryBase).

Current Architecture (Before Migration)

ObjBase (corelib - deprecated)
├── Lattice (Components/Lattice.py)
│   └── PeriodicLattice
├── Site (Components/Site.py)
│   └── PeriodicSite
├── AdpBase (Components/AtomicDisplacement.py)
│   ├── Anisotropic
│   ├── Isotropic
│   ├── AnisotropicBij
│   └── IsotropicB
├── AtomicDisplacement (Components/AtomicDisplacement.py)
├── SpaceGroup (Components/SpaceGroup.py)
├── MSPBase (Components/Susceptibility.py)
│   ├── Cani
│   └── Ciso
├── MagneticSusceptibility (Components/Susceptibility.py)
└── Phase (Structures/Phase.py)

CollectionBase (corelib - deprecated)
├── Atoms (Components/Site.py)
│   └── PeriodicAtoms
└── Phases (Structures/Phase.py)

Other Classes (no migration needed):
├── Specie (extends DescriptorStr)
├── Twin (plain Python class)
├── SymmOp (extends SerializerComponent)
├── SymmetryGroup/PointGroup/SpaceGroup (Symmetry groups - abstract/metaclass)
└── IO classes (template, parser, star classes)

Target Architecture (After Migration)

ModelBase (corelib - new)
├── BaseCore (new compatibility layer)
│   ├── Lattice
│   │   └── PeriodicLattice
│   ├── Site
│   │   └── PeriodicSite
│   ├── AdpBase
│   │   ├── Anisotropic
│   │   ├── Isotropic
│   │   ├── AnisotropicBij
│   │   └── IsotropicB
│   ├── AtomicDisplacement
│   ├── SpaceGroup
│   ├── MSPBase
│   │   ├── Cani
│   │   └── Ciso
│   ├── MagneticSusceptibility
│   └── Phase

ModelCollection (corelib - new)
├── BaseCollection (new compatibility layer)
│   ├── Atoms
│   │   └── PeriodicAtoms
│   └── Phases

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request does not contain a valid label. Please add one of the following labels: ['enhancement', 'bug', 'chore', 'documentation', 'refactor']

@rozyczko rozyczko added [scope] significant Breaking or major changes (MAJOR.minor.patch) [priority] high Should be prioritized soon labels Dec 13, 2025
@rozyczko rozyczko added the chore Changes to the build process or auxiliary tools and libraries such as documentation generation label Dec 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Changes to the build process or auxiliary tools and libraries such as documentation generation [priority] high Should be prioritized soon [scope] significant Breaking or major changes (MAJOR.minor.patch)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant