Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
5d62a99
first changes
damskii9992 Mar 5, 2025
8b319d5
Merge branch '10-dependent-parameters' into issue111_Dependent_Parame…
damskii9992 Apr 1, 2025
e27d595
Add Observer pattern to DescriptorNumber
damskii9992 Apr 1, 2025
df1d138
rename and move observer methods
damskii9992 Apr 2, 2025
7b61c5c
Add the dependency_interpreter to the global_object
damskii9992 Apr 2, 2025
6fd5d7a
implement the _update method
damskii9992 Apr 2, 2025
2d41091
Update constructor to accept strings as values
damskii9992 Apr 3, 2025
78532cd
Disable setters when parameter is dependent
damskii9992 Apr 7, 2025
5ec44a5
Allow unique_names in dependency expression
damskii9992 Apr 8, 2025
cb4d2c3
Allow symbols from the global scope in the dependency expression
damskii9992 Apr 10, 2025
addac0c
Change symbol names to come from a dependency_map dict input rather t…
damskii9992 Apr 15, 2025
047568c
Allow dependencies of dependent parameters. Check for cyclic dependen…
damskii9992 Apr 16, 2025
878293c
Make method for making a parameter dependent after initialization. Mo…
damskii9992 Apr 23, 2025
51bd9c4
Add make_dependent method
damskii9992 Apr 23, 2025
b285ef1
Add dependency property getters
damskii9992 Apr 23, 2025
e3fad22
Remove old constraints and fix failing unit tests. Also fix small bug…
damskii9992 Apr 25, 2025
9a770fe
Fix integration tests
damskii9992 Apr 25, 2025
30f19e3
rename property_stack_deco and make_dependent
damskii9992 Apr 25, 2025
0115eb7
Pr comments
damskii9992 Apr 25, 2025
b94ad0c
First batch of tests with related fixes
damskii9992 Apr 30, 2025
0801ce2
Fix logical dependencies and remaining unittests
damskii9992 Apr 30, 2025
23b03dd
Remove unused code from ComponentSerializer class and associated test…
damskii9992 May 1, 2025
915e39f
rename core.py to component_serializer.py
damskii9992 May 1, 2025
c3a6769
Finally remove xarray
damskii9992 May 1, 2025
f62526c
finally remove pint
damskii9992 May 1, 2025
05252b8
remove borg alias for global_object
damskii9992 May 1, 2025
4abb6c5
move io folder one level up
damskii9992 May 1, 2025
dff1025
Remove ridiculous test
damskii9992 May 1, 2025
c507043
Re-organize source code folders to new structure
damskii9992 May 2, 2025
73c6fcb
Getting rid of auther annotation on files
damskii9992 May 2, 2025
e31dfef
Fix confusing type hints
damskii9992 May 2, 2025
23dfa04
Fix imports and cyclic imports from the source code structure change
damskii9992 May 5, 2025
0ec2c31
move BaseCollection into base_classes and InterfaceFactoryTemplate in…
damskii9992 May 5, 2025
6014a98
Push changes to lowercase in filenames
damskii9992 May 5, 2025
2e8abb1
Missed the BaseCollections test for the move
damskii9992 May 5, 2025
06cac5d
Delete src/easyscience/Utils directory
damskii9992 May 5, 2025
7522f14
Delete tests/integration_tests/Fitting directory
damskii9992 May 5, 2025
b6c568d
Delete tests/unit_tests/Fitting directory
damskii9992 May 5, 2025
b2f3d13
move functions into class in BaseEncoderDecoder
damskii9992 May 5, 2025
16affae
Deprecate the XMLSerializer
damskii9992 May 6, 2025
48e3fee
deprecate JsonDataSerializer
damskii9992 May 6, 2025
c7e523f
Deprecate DataDictSerializer and exclude legacy folder from wheel
damskii9992 May 6, 2025
4ce9ffe
Depreacte JsonSerializer
damskii9992 May 6, 2025
c9aa588
Re-name BaseEncoderDecover to SerializerBase and re-name files and fi…
damskii9992 May 6, 2025
5467c9f
Re-name tests
damskii9992 May 6, 2025
6b9a725
Remove Line model
damskii9992 May 6, 2025
c49bbd3
First changes to Polynomial model
damskii9992 May 6, 2025
671c86c
Revert first changes to Polynomial model
damskii9992 May 7, 2025
8559a6c
Rename serializers to suffixes
damskii9992 May 7, 2025
2b6151f
Rename base_classes to suffixes
damskii9992 May 7, 2025
10c76bc
Reorganize imports
damskii9992 May 7, 2025
705c865
Small PR reviews
damskii9992 May 12, 2025
d309f83
Merge branch 'issue34_Dependent_Parameters' into issue118_and_issue11…
damskii9992 May 12, 2025
98f2165
Bring critical classes to the front and utilize these imports in tests
damskii9992 May 12, 2025
4cf604a
Merge branch 'develop' into issue118_and_issue116_major_clean_up
damskii9992 May 12, 2025
5f55564
remove _get_class_module from SerializerBase
damskii9992 May 12, 2025
7a3eccf
Properly revert Parameters to previous state when make_dependent_on f…
damskii9992 May 16, 2025
7ab4149
Implement the ping system for detecting cyclic dependencies
damskii9992 May 16, 2025
fcb42f4
Ruff
damskii9992 May 16, 2025
a955691
PR Comments
damskii9992 May 19, 2025
35e8213
Update copyright year to 2025
damskii9992 May 19, 2025
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
2 changes: 1 addition & 1 deletion Examples/base/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
Subclassing Examples
------------------------

This section gathers examples which correspond to subclassing the :class:`easyscience.Objects.Base.BaseObj` class.
This section gathers examples which correspond to subclassing the :class:`easyscience.base_classes.ObjBase` class.
12 changes: 6 additions & 6 deletions Examples/base/plot_baseclass1.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""
Subclassing BaseObj - Simple Pendulum
Subclassing ObjBase - Simple Pendulum
=====================================
This example shows how to subclass :class:`easyscience.Objects.Base.BaseObj` with parameters from
:class:`EasyScience.Objects.Base.Parameter`. For this example a simple pendulum will be modeled.
This example shows how to subclass :class:`easyscience.base_classes.ObjBase` with parameters from
:class:`EasyScience.variable.Parameter`. For this example a simple pendulum will be modeled.

.. math::
y = A \sin (2 \pi f t + \phi )
Expand All @@ -17,8 +17,8 @@
import matplotlib.pyplot as plt
import numpy as np

from easyscience.Objects.ObjectClasses import BaseObj
from easyscience.Objects.ObjectClasses import Parameter
from easyscience.base_classes import ObjBase
from easyscience.variable import Parameter

# %%
# Subclassing
Expand All @@ -29,7 +29,7 @@
# embedded rST text block:


class Pendulum(BaseObj):
class Pendulum(ObjBase):
def __init__(self, A: Parameter, f: Parameter, p: Parameter):
super(Pendulum, self).__init__('SimplePendulum', A=A, f=f, p=p)

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
BSD 3-Clause License

Copyright (c) 2024, Easyscience contributors (https://github.com/EasyScience)
Copyright (c) 2025, Easyscience contributors (https://github.com/EasyScience)
All rights reserved.

Redistribution and use in source and binary forms, with or without
Expand Down
4 changes: 1 addition & 3 deletions docs/src/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,7 @@

intersphinx_mapping = {
'python': ('https://docs.python.org/3', None),
'numpy': ('https://numpy.org/doc/stable/', None),
'pint': ('https://pint.readthedocs.io/en/stable/', None),
'xarray': ('https://xarray.pydata.org/en/stable/', None)
'numpy': ('https://numpy.org/doc/stable/', None)
}

# -- General configuration ---------------------------------------------------
Expand Down
23 changes: 5 additions & 18 deletions docs/src/reference/base.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ Parameters and Objects
Descriptors
===========

.. autoclass:: easyscience.Objects.Variable.Descriptor
.. autoclass:: easyscience.variable.Descriptor
:members:

Parameters
==========

.. autoclass:: easyscience.Objects.Variable.Parameter
.. autoclass:: easyscience.variable.Parameter
:members:
:inherited-members:

Expand All @@ -22,30 +22,17 @@ Super Classes and Collections
Super Classes
=============

.. autoclass:: easyscience.Objects.ObjectClasses.BasedBase
.. autoclass:: easyscience.base_classes.BasedBase
:members:
:inherited-members:

.. autoclass:: easyscience.Objects.ObjectClasses.BaseObj
.. autoclass:: easyscience.base_classes.ObjBase
:members: +_add_component
:inherited-members:

Collections
===========

.. autoclass:: easyscience.Objects.Groups.BaseCollection
.. autoclass:: easyscience.CollectionBase
:members:
:inherited-members:

===============
Data Containers
===============

.. autoclass:: easyscience.Datasets.xarray.EasyScienceDataarrayAccessor
:members:
:inherited-members:

.. autoclass:: easyscience.Datasets.xarray.EasyScienceDatasetAccessor
:members:
:inherited-members:

2 changes: 1 addition & 1 deletion examples_old/example4.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

from easyscience import global_object
from easyscience.fitting import Fitter
from easyscience.Objects.core import ComponentSerializer
from easyscience.Objects.component_serializer import ComponentSerializer
from easyscience.Objects.ObjectClasses import BaseObj
from easyscience.Objects.ObjectClasses import Parameter

Expand Down
2 changes: 1 addition & 1 deletion examples_old/example5_broken.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from easyscience.fitting import Fitter
from easyscience.Objects.Base import BaseObj
from easyscience.Objects.Base import Parameter
from easyscience.Objects.core import ComponentSerializer
from easyscience.Objects.component_serializer import ComponentSerializer

# from easyscience.Objects.Base import LoggedProperty
from easyscience.Objects.Inferface import InterfaceFactoryTemplate
Expand Down
2 changes: 1 addition & 1 deletion examples_old/example6_broken.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from easyscience.fitting import Fitter
from easyscience.Objects.ObjectClasses import BaseObj
from easyscience.Objects.Variable import Parameter
from easyscience.Objects.core import ComponentSerializer
from easyscience.Objects.component_serializer import ComponentSerializer
from easyscience.Objects.Inferface import InterfaceFactoryTemplate

# This is a much more complex case where we have calculators, interfaces, interface factory and an
Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ dependencies = [
"lmfit",
"numpy",
"uncertainties",
"xarray",
"pint", # Only to ensure that unit is reported as dimensionless rather than empty string
"scipp"
]

Expand Down Expand Up @@ -75,6 +73,7 @@ packages = ["src"]

[tool.hatch.build.targets.wheel]
packages = ["src/easyscience"]
exclude = ["src/easyscience/legacy"]

[tool.coverage.run]
source = ["src/easyscience"]
Expand Down
2 changes: 0 additions & 2 deletions resources/scripts/generate_html.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
__author__ = 'github.com/wardsimon'
__version__ = '0.0.1'

import sys

Expand Down
6 changes: 0 additions & 6 deletions src/easyscience/Datasets/__init__.py

This file was deleted.

Loading
Loading