Commit 0b21681
authored
Refactor core objects, improve validation, and update API (#106)
* Simplifies branch processing and installs badgery
* Adds flag for unit test coverage in .badgery.yaml
* Updates dependencies and easydiffraction shortcuts
* Adds dashboard build trigger post-tutorial tests
* Updates tutorial command names in workflow script
* Simplifies installation by using all extras
* Adds dashboard build trigger after PyPI tests
* Refactors sample model creation architecture
* Updates sample model API in tests
* Updates sample model API in tutorials
* Refactors argument validation and simplifies CIF reading
* Update SampleModel API and adjust linked phases check
* Increase McCabe complexity limit and add dependency
* Fixes dev-install command in pixi.toml
* Adds centralized logging utility
* Adds function to parse CIF-style numeric strings to ufloat
* Refactors core object model for improved structure
* Refactors ID attributes to use entry_name consistently
* Refactors alias and constraint classes
* Refactors core objects to enhance category handling
* Refactors core components and structures for enhanced clarity
* Adds CIF alias utility functions to enhance data handling
* Add test suite for SampleModels components and fix imports
* Updates package versions in dependency lock file
* Introduce allowed attributes and update collection initialization
* Adds allowed attributes to mixins for parameter handling
* Refactors CIF conversion by removing method calls
* Enhances attribute validation in CryspyCalculator
* Allow editing of uncertainty and free attributes
* Refines CIF data parsing and handling logic
* Modifies model initialization and linking
* Refines instrument and peak attribute handling
* Fixes bug in parameter setting logic
* Refactors parameter attributes and access methods
* Enhances background and model flexibility
* Rename error handling methods and adjust datablock management
* Refactors entry name handling in core classes
* Standardizes 'entry_name' to 'category_entry_name'
* Enhances sample model and plotting configuration
* Enhances item management in CategoryCollection
* Adds allowed attributes to SingleCrystalExperiment
* Replaces human-readable ID generation with property access
* Comments out unit test step from pre-push hook
* Disables physical parameter bounds
* Refines physical constraints and simplifies code
* Refactors method calls to use add_from_args for clarity
* Refactors method calls and updates numeric constants
* Updates parameter bound handling and method naming
* Refactors method calls to improve clarity
* Refines attribute access and updates test methods
* Refactors item addition in CategoryCollection
* Refactors unit tests to use full_cif_names
* Refactors parameter access and method calls
* Refines attribute naming for clarity in background model
* Adjusts default renderer for PyCharm environment
* Updates attribute checks, adds data files, renames scripts
* Adds extra test configuration and refines unit tests
* Refactors attribute access and control logic
* Enhances logging and error handling mechanism
* Simplifies error handling in logging with 'raise from'
* Refactors core objects for modular design
* Improves logging behavior during pytest
* Simplifies py-format-fix command
* Refactors parameter descriptor hierarchy
* Enhances logging and documents parameter abstraction
* Refactors test cases to align with new API and data structures
* Cleans up test imports and simplifies assertions
* Refactors singleton tests for consistency
* Refines descriptor/parameter handling logic
* First attempt to add CifMixin to parameter classes
* Updates CifMixin.cif_uid to use full_name
* Refactors parameter abstraction layer
* Enhances Logger configuration with environment variables
* Refactors lazy loading in __init__.py for efficiency
* Consolidates attribute guard mixins and refactors logic
* Move mixins to guarded base class
* Refactors core component architecture
* Replace enforce_type with typeguard for runtime type checking
* Remove legacy signature from add method and update tests
* Enhances category item renaming logic (ugly temporary workaround)
* Refactors attribute handling in parameter classes
* Enhances Project class with type-checking and encapsulation
* Refines __str__ method and fixes super call
* Enhances collection handling by implementing AbstractCollection
* Enhances type safety with generics for collections
* Add SPDX license headers to source files
* Initialize base class in CollectionBase constructor
* Refactors parameter access for consistency
* Removes unnecessary Generic typing
* Work in progress
* Enhances identity resolution and string representation
* Improves parameter retrieval in collections
* Adds `full_name` property to multiple classes
* Simplifies attribute handling in GuardedBase
* Renames full_name property to unique_name
* Refines validation logging messages
* Adds configurable error reaction in Logger
* Enhances type error diagnostics in checktype decorator
* Giant refactoring
* Refactors parameter handling in FitResults
* Refactors descriptor properties and enhances validation
* Removes unused TODO comments and corrects assertions
* Adds SPDX license headers to source files
* Enhances space group validation logic
* Refactors validation logic for atom site properties
* Adds missing newline in atom_sites.py
* Refactors CIF conversion and updates test format
* Reformats code for consistency and clarity
* Refines parameter handling and improves validation
* Refactors tests to improve readability and maintainability
* Enhances atom site configuration in tutorials
* Enhances x-axis data selection for plotting
* Refactors atom site addition for clarity and consistency
* Fixes parameter limit handling
* Fixes attribute assignment and model access
* Refactors data extraction with list comprehensions
* Refactors constraint handling and data access methods
* Enhances peak profile type handling in experiments
* Removes unused public attributes method
* Improves logging settings and Python path resolution
* Refines validators with enhanced logging
* Adds parameter validation and logging enhancements
* Replaces diagnostics and validators with an enhanced implementation
* Adds Diagnostics for Type Override and Enhances Collections
* Enhances validation and logging mechanisms
* Refactors validator and identity handling
* Replaces RegexValidator with AttributeSpec for validation
* Maintain parent linkage for nested objects
* Corrects attribute access in identity resolution
* Refactors validation types to use DataTypes enum
* Refines type validation logic in diagnostics
* Replace UUID with secure random UID generation
* Refines atom site validations and logging
* Enhances validation logic and diagnostics handling
* Relocates CifHandler to new IO module for clarity
* Refactors experiment enums structure
* Updates peak mixin imports for better organization
* Refactors instrument setup for improved modularity
* Refactors background module implementation
* Refactors CIF serialization methods
* Refactors CIF serialization to centralized functions
* Removes obsolete CIF conversion methods
* Restructures experiment type classes for modular design
* Refactors instrument handling and restructures sample models
* Reorganizes import paths to category_items
* Refactors component naming for better clarity
* Refactors code to categorize collections
* Reorganizes import paths to use category_collections modules
* Refactors background type handling for clarity
* Refactors background handling and reorganizes enums
* Refactors background and instrument modules organization
* Refactors instrument and peak base class imports
* Refactors argument validation in ExperimentFactory
* Refactors import paths for consistency
* Refactors datastore architecture for segregation of types
* Fixes property getter for uncertainty
* Add and update SPDX license headers across files
* Adds package structure documentation generator
* Renames datastore type modules for clarity
* Refactors package structure for clarity
* Renames and restructures package directories for clarity
* Renames core modules for consistency
* New unit tests
* Refactors factory method usage in test suite
* Add unit tests for various components in easydiffraction
* Adds unit test for crystallographic and experimental data
* Enables macOS h5py dependency for validation
* Replaces scaffold tests with concrete test implementations
* Replaces test scaffolds with concrete tests
* Adds comprehensive test coverage for core modules
* Format tests
* Enhances SPDX header update for tests directory
* Cleans up tests and refines pytest configuration
* Refines config and reorganizes files for tmp exclusion
* Adds comprehensive docstrings to Analysis classes and descriptors
* Enhances experiment class documentation
* Updates .gitignore for test and linter caches
* Removes Python cache before packaging artifacts
* Updates python_socketio and mkdocs-jupyter dependencies
* Adds multiple Python cache removal steps
* Adds dev-install step in GitHub workflow
* Removes redundant dev-install command from workflow
* Reorganizes dependency configuration
* Refactors Python cache removal in workflow
* Refactors to use Factory classes for model and experiment creation
* Enhances enums with descriptive methods
* Enhances documentation with docstrings
* Add missing documentation for core modules
* Adds docstrings for improved code documentation
* Updates pytest configuration for test management
* Refactors CryspyCalculator and updates SPDX compliance
* Remove commented code and add documentation placeholders
* Adds environment variable for CI branch1 parent 93e8534 commit 0b21681
File tree
281 files changed
+23700
-12917
lines changed- .github/workflows
- docs/architecture
- src/easydiffraction
- analysis
- calculators
- categories
- collections
- fit_helpers
- minimizers
- core
- crystallography
- experiments
- categories
- background
- instrument
- peak
- collections
- components
- datastore
- experiment
- io/cif
- plotting
- plotters
- project
- sample_models
- categories
- collections
- components
- sample_model
- summary
- utils
- tests
- functional/fitting
- unit
- analysis
- calculators
- collections
- minimizers
- core
- easydiffraction
- analysis
- calculators
- categories
- fit_helpers
- minimizers
- core
- crystallography
- experiments
- categories
- background
- instrument
- peak
- datastore
- experiment
- io/cif
- plotting
- plotters
- project
- sample_models
- categories
- sample_model
- summary
- utils
- experiments
- collections
- components
- sample_models
- collections
- components
- tmp
- data
- tools
- tutorials
- data
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
281 files changed
+23700
-12917
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| 55 | + | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
45 | 47 | | |
46 | 48 | | |
47 | 49 | | |
48 | 50 | | |
49 | 51 | | |
50 | | - | |
| 52 | + | |
51 | 53 | | |
52 | 54 | | |
53 | 55 | | |
54 | | - | |
| 56 | + | |
55 | 57 | | |
56 | 58 | | |
57 | | - | |
| 59 | + | |
58 | 60 | | |
59 | | - | |
| 61 | + | |
60 | 62 | | |
61 | | - | |
| 63 | + | |
62 | 64 | | |
63 | | - | |
| 65 | + | |
64 | 66 | | |
65 | 67 | | |
66 | 68 | | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 58 | + | |
| 59 | + | |
61 | 60 | | |
62 | 61 | | |
63 | 62 | | |
| |||
70 | 69 | | |
71 | 70 | | |
72 | 71 | | |
73 | | - | |
74 | | - | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
150 | 154 | | |
151 | 155 | | |
152 | 156 | | |
| |||
156 | 160 | | |
157 | 161 | | |
158 | 162 | | |
| 163 | + | |
159 | 164 | | |
160 | 165 | | |
161 | 166 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
25 | 29 | | |
| 30 | + | |
26 | 31 | | |
27 | 32 | | |
28 | 33 | | |
| |||
60 | 65 | | |
61 | 66 | | |
62 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
7 | 13 | | |
8 | 14 | | |
9 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
10 | 19 | | |
11 | 20 | | |
12 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
0 commit comments