Repository: Anselmoo/spectrafit

Issue:
[Docs]: Using builtin release drafter
### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Missing Information in the Docs

https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes

### Anything else?

_No response_

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct


Discussion:
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.


Resolving patch:
diff --git a/spectrafit/__init__.py b/spectrafit/__init__.py
--- a/spectrafit/__init__.py
+++ b/spectrafit/__init__.py
@@ -1,2 +1,2 @@
 """SpectraFit, fast command line tool for fitting data."""
-__version__ = "0.16.3"
+__version__ = "0.16.4"
diff --git a/spectrafit/api/models_model.py b/spectrafit/api/models_model.py
--- a/spectrafit/api/models_model.py
+++ b/spectrafit/api/models_model.py
@@ -176,7 +176,7 @@ class GaussianAPI(BaseModel):
 
     amplitude: AmplitudeAPI = AmplitudeAPI()
     center: CenterAPI = CenterAPI()
-    sigma: SigmaAPI = SigmaAPI()
+    fwhmg: FwhmgAPI = FwhmgAPI()
 
 
 class LorentzianAPI(BaseModel):
@@ -224,27 +224,80 @@ class ConstantAPI(BaseModel):
     amplitude: AmplitudeAPI = AmplitudeAPI()
 
 
-class StepAPI(BaseModel):
+class ErfAPI(BaseModel):
+    """Definition of the Step of the models distributions."""
+
+    amplitude: AmplitudeAPI = AmplitudeAPI()
+    center: CenterAPI = CenterAPI()
+    sigma: SigmaAPI = SigmaAPI()
+
+
+class HeavisideAPI(BaseModel):
+    """Definition of the Step of the models distributions."""
+
+    amplitude: AmplitudeAPI = AmplitudeAPI()
+    center: CenterAPI = CenterAPI()
+    sigma: SigmaAPI = SigmaAPI()
+
+
+class AtanAPI(BaseModel):
+    """Definition of the Step of the models distributions."""
+
+    amplitude: AmplitudeAPI = AmplitudeAPI()
+    center: CenterAPI = CenterAPI()
+    sigma: SigmaAPI = SigmaAPI()
+
+
+class LogAPI(BaseModel):
     """Definition of the Step of the models distributions."""
 
     amplitude: AmplitudeAPI = AmplitudeAPI()
     center: CenterAPI = CenterAPI()
     sigma: SigmaAPI = SigmaAPI()
-    kind: str = Field(default="step", description="Kind of step function.")
+
+
+class CGaussAPI(BaseModel):
+    """Definition of the CGauss of the models distributions."""
+
+    amplitude: AmplitudeAPI = AmplitudeAPI()
+    center: CenterAPI = CenterAPI()
+    fwhmg: FwhmgAPI = FwhmgAPI()
+
+
+class CLorentzAPI(BaseModel):
+    """Definition of the CLorentz of the models distributions."""
+
+    amplitude: AmplitudeAPI = AmplitudeAPI()
+    center: CenterAPI = CenterAPI()
+    fwhml: FwhmlAPI = FwhmlAPI()
+
+
+class CVoigtAPI(BaseModel):
+    """Definition of the CVoigt of the models distributions."""
+
+    center: CenterAPI = CenterAPI()
+    fwhmv: FwhmvAPI = FwhmvAPI()
+    gamma: GammaAPI = GammaAPI()
 
 
 class DistributionModelAPI(BaseModel):
     """Definition of the models distributions."""
 
-    pseudovoigt: PseudovoigtAPI = PseudovoigtAPI()
     gaussian: GaussianAPI = GaussianAPI()
     lorentzian: LorentzianAPI = LorentzianAPI()
     voigt: VoigtAPI = VoigtAPI()
-    exponent: ExponentAPI = ExponentAPI()
+    pseudovoigt: PseudovoigtAPI = PseudovoigtAPI()
+    exponential: ExponentialAPI = ExponentialAPI()
     power: PowerAPI = PowerAPI()
     linear: LinearAPI = LinearAPI()
     constant: ConstantAPI = ConstantAPI()
-    step: StepAPI = StepAPI()
+    erf: ErfAPI = ErfAPI()
+    heaviside: HeavisideAPI = HeavisideAPI()
+    atan: AtanAPI = AtanAPI()
+    log: LogAPI = LogAPI()
+    cgauss: CGaussAPI = CGaussAPI()
+    clorentz: CLorentzAPI = CLorentzAPI()
+    cvoigt: CVoigtAPI = CVoigtAPI()
 
 
 class ConfIntervalAPI(BaseModel):
diff --git a/spectrafit/models.py b/spectrafit/models.py
--- a/spectrafit/models.py
+++ b/spectrafit/models.py
@@ -20,6 +20,7 @@
 from scipy.special import erf
 from scipy.special import wofz
 from scipy.stats import hmean
+from spectrafit.api.models_model import DistributionModelAPI
 from spectrafit.api.tools_model import AutopeakAPI
 from spectrafit.api.tools_model import GlobalFittingAPI
 from spectrafit.api.tools_model import SolverModelsAPI
@@ -498,11 +499,7 @@ def cvoigt(
 class ReferenceKeys:
     """Reference keys for model fitting and peak detection."""
 
-    __models__ = [
-        func
-        for func in dir(DistributionModels)
-        if callable(getattr(DistributionModels, func)) and not func.startswith("_")
-    ]
+    __models__ = list(DistributionModelAPI.schema()["properties"].keys())
 
     __automodels__ = [
         "gaussian",


Test patch: