aind_behavior_services.task_logic package¶
Submodules¶
aind_behavior_services.task_logic.distributions module¶
- pydantic model aind_behavior_services.task_logic.distributions.BetaDistribution[source]¶
Bases:
DistributionBase
A beta probability distribution.
Continuous distribution bounded between 0 and 1. Commonly used for modeling probabilities and proportions.
Show JSON schema
{ "title": "BetaDistribution", "description": "A beta probability distribution.\n\nContinuous distribution bounded between 0 and 1. Commonly used\nfor modeling probabilities and proportions.", "type": "object", "properties": { "family": { "const": "Beta", "default": "Beta", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/BetaDistributionParameters", "default": { "family": "Beta", "alpha": 5.0, "beta": 5.0 }, "description": "Parameters of the distribution" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "BetaDistributionParameters": { "description": "Parameters for a beta distribution.\n\nDefined by alpha and beta shape parameters.", "properties": { "family": { "const": "Beta", "default": "Beta", "title": "Family", "type": "string" }, "alpha": { "default": 5, "description": "Alpha parameter of the distribution", "minimum": 0, "title": "Alpha", "type": "number" }, "beta": { "default": 5, "description": "Beta parameter of the distribution", "minimum": 0, "title": "Beta", "type": "number" } }, "title": "BetaDistributionParameters", "type": "object" }, "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" } } }
- Fields:
- field distribution_parameters: BetaDistributionParameters = BetaDistributionParameters(family=<DistributionFamily.BETA: 'Beta'>, alpha=5, beta=5)[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.BetaDistributionParameters[source]¶
Bases:
DistributionParametersBase
Parameters for a beta distribution.
Defined by alpha and beta shape parameters.
Show JSON schema
{ "title": "BetaDistributionParameters", "description": "Parameters for a beta distribution.\n\nDefined by alpha and beta shape parameters.", "type": "object", "properties": { "family": { "const": "Beta", "default": "Beta", "title": "Family", "type": "string" }, "alpha": { "default": 5, "description": "Alpha parameter of the distribution", "minimum": 0, "title": "Alpha", "type": "number" }, "beta": { "default": 5, "description": "Beta parameter of the distribution", "minimum": 0, "title": "Beta", "type": "number" } } }
- Fields:
- pydantic model aind_behavior_services.task_logic.distributions.BinomialDistribution[source]¶
Bases:
DistributionBase
A binomial probability distribution.
Models the number of successes in a fixed number of independent Bernoulli trials with constant success probability.
Show JSON schema
{ "title": "BinomialDistribution", "description": "A binomial probability distribution.\n\nModels the number of successes in a fixed number of independent\nBernoulli trials with constant success probability.", "type": "object", "properties": { "family": { "const": "Binomial", "default": "Binomial", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/BinomialDistributionParameters", "default": { "family": "Binomial", "n": 1, "p": 0.5 }, "description": "Parameters of the distribution" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "BinomialDistributionParameters": { "description": "Parameters for a binomial distribution.\n\nDefined by number of trials (n) and success probability (p).", "properties": { "family": { "const": "Binomial", "default": "Binomial", "title": "Family", "type": "string" }, "n": { "default": 1, "description": "Number of trials", "minimum": 0, "title": "N", "type": "integer" }, "p": { "default": 0.5, "description": "Probability of success", "maximum": 1, "minimum": 0, "title": "P", "type": "number" } }, "title": "BinomialDistributionParameters", "type": "object" }, "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" } } }
- Fields:
- field distribution_parameters: BinomialDistributionParameters = BinomialDistributionParameters(family=<DistributionFamily.BINOMIAL: 'Binomial'>, n=1, p=0.5)[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.BinomialDistributionParameters[source]¶
Bases:
DistributionParametersBase
Parameters for a binomial distribution.
Defined by number of trials (n) and success probability (p).
Show JSON schema
{ "title": "BinomialDistributionParameters", "description": "Parameters for a binomial distribution.\n\nDefined by number of trials (n) and success probability (p).", "type": "object", "properties": { "family": { "const": "Binomial", "default": "Binomial", "title": "Family", "type": "string" }, "n": { "default": 1, "description": "Number of trials", "minimum": 0, "title": "N", "type": "integer" }, "p": { "default": 0.5, "description": "Probability of success", "maximum": 1, "minimum": 0, "title": "P", "type": "number" } } }
- Fields:
- pydantic model aind_behavior_services.task_logic.distributions.DistributionBase[source]¶
Bases:
BaseModel
Base class for all distribution models. This class should not be instantiated directly.
Combines distribution parameters with optional truncation and scaling transformations for flexible probability distributions.
Show JSON schema
{ "title": "DistributionBase", "description": "Base class for all distribution models. This class should not be instantiated directly.\n\nCombines distribution parameters with optional truncation and scaling\ntransformations for flexible probability distributions.", "type": "object", "properties": { "family": { "$ref": "#/$defs/DistributionFamily", "description": "Family of the distribution" }, "distribution_parameters": { "$ref": "#/$defs/DistributionParameters" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "BetaDistributionParameters": { "description": "Parameters for a beta distribution.\n\nDefined by alpha and beta shape parameters.", "properties": { "family": { "const": "Beta", "default": "Beta", "title": "Family", "type": "string" }, "alpha": { "default": 5, "description": "Alpha parameter of the distribution", "minimum": 0, "title": "Alpha", "type": "number" }, "beta": { "default": 5, "description": "Beta parameter of the distribution", "minimum": 0, "title": "Beta", "type": "number" } }, "title": "BetaDistributionParameters", "type": "object" }, "BinomialDistributionParameters": { "description": "Parameters for a binomial distribution.\n\nDefined by number of trials (n) and success probability (p).", "properties": { "family": { "const": "Binomial", "default": "Binomial", "title": "Family", "type": "string" }, "n": { "default": 1, "description": "Number of trials", "minimum": 0, "title": "N", "type": "integer" }, "p": { "default": 0.5, "description": "Probability of success", "maximum": 1, "minimum": 0, "title": "P", "type": "number" } }, "title": "BinomialDistributionParameters", "type": "object" }, "DistributionFamily": { "description": "Enumeration of supported probability distribution families.\n\nDefines all available statistical distributions that can be used\nfor sampling random values in the task logic system.", "enum": [ "Scalar", "Normal", "LogNormal", "Uniform", "Exponential", "Gamma", "Binomial", "Beta", "Poisson", "Pdf" ], "title": "DistributionFamily", "type": "string" }, "DistributionParameters": { "description": "Parameters of the distribution", "discriminator": { "mapping": { "Beta": "#/$defs/BetaDistributionParameters", "Binomial": "#/$defs/BinomialDistributionParameters", "Exponential": "#/$defs/ExponentialDistributionParameters", "Gamma": "#/$defs/GammaDistributionParameters", "LogNormal": "#/$defs/LogNormalDistributionParameters", "Normal": "#/$defs/NormalDistributionParameters", "Pdf": "#/$defs/PdfDistributionParameters", "Poisson": "#/$defs/PoissonDistributionParameters", "Scalar": "#/$defs/ScalarDistributionParameter", "Uniform": "#/$defs/UniformDistributionParameters" }, "propertyName": "family" }, "oneOf": [ { "$ref": "#/$defs/ScalarDistributionParameter" }, { "$ref": "#/$defs/NormalDistributionParameters" }, { "$ref": "#/$defs/LogNormalDistributionParameters" }, { "$ref": "#/$defs/ExponentialDistributionParameters" }, { "$ref": "#/$defs/UniformDistributionParameters" }, { "$ref": "#/$defs/PoissonDistributionParameters" }, { "$ref": "#/$defs/BinomialDistributionParameters" }, { "$ref": "#/$defs/BetaDistributionParameters" }, { "$ref": "#/$defs/GammaDistributionParameters" }, { "$ref": "#/$defs/PdfDistributionParameters" } ], "title": "DistributionParameters" }, "ExponentialDistributionParameters": { "description": "Parameters for an exponential distribution.\n\nDefined by the rate parameter (inverse of mean).", "properties": { "family": { "const": "Exponential", "default": "Exponential", "title": "Family", "type": "string" }, "rate": { "default": 0, "description": "Rate parameter of the distribution", "minimum": 0, "title": "Rate", "type": "number" } }, "title": "ExponentialDistributionParameters", "type": "object" }, "GammaDistributionParameters": { "description": "Parameters for a gamma distribution.\n\nDefined by shape (k) and rate (\u03b8\u207b\u00b9) parameters.", "properties": { "family": { "const": "Gamma", "default": "Gamma", "title": "Family", "type": "string" }, "shape": { "default": 1, "description": "Shape parameter of the distribution", "minimum": 0, "title": "Shape", "type": "number" }, "rate": { "default": 1, "description": "Rate parameter of the distribution", "minimum": 0, "title": "Rate", "type": "number" } }, "title": "GammaDistributionParameters", "type": "object" }, "LogNormalDistributionParameters": { "description": "Parameters for a log-normal distribution.\n\nDefined by the mean and standard deviation of the underlying normal distribution.", "properties": { "family": { "const": "LogNormal", "default": "LogNormal", "title": "Family", "type": "string" }, "mean": { "default": 0, "description": "Mean of the distribution", "title": "Mean", "type": "number" }, "std": { "default": 0, "description": "Standard deviation of the distribution", "title": "Std", "type": "number" } }, "title": "LogNormalDistributionParameters", "type": "object" }, "NormalDistributionParameters": { "description": "Parameters for a normal (Gaussian) distribution.\n\nDefined by mean (center) and standard deviation (spread).", "properties": { "family": { "const": "Normal", "default": "Normal", "title": "Family", "type": "string" }, "mean": { "default": 0, "description": "Mean of the distribution", "title": "Mean", "type": "number" }, "std": { "default": 0, "description": "Standard deviation of the distribution", "title": "Std", "type": "number" } }, "title": "NormalDistributionParameters", "type": "object" }, "PdfDistributionParameters": { "description": "Parameters for a custom probability density function distribution.\n\nDefined by explicit probability values and their corresponding indices.\nProbabilities are automatically normalized to sum to 1.", "properties": { "family": { "const": "Pdf", "default": "Pdf", "title": "Family", "type": "string" }, "pdf": { "default": [ 1 ], "description": "The probability density function", "items": { "minimum": 0, "type": "number" }, "title": "Pdf", "type": "array" }, "index": { "default": [ 0 ], "description": "The index of the probability density function", "items": { "type": "number" }, "title": "Index", "type": "array" } }, "title": "PdfDistributionParameters", "type": "object" }, "PoissonDistributionParameters": { "description": "Parameters for a Poisson distribution.\n\nDefined by the rate parameter (average number of events).", "properties": { "family": { "const": "Poisson", "default": "Poisson", "title": "Family", "type": "string" }, "rate": { "default": 1, "description": "Rate parameter of the Poisson process that generates the distribution", "minimum": 0, "title": "Rate", "type": "number" } }, "title": "PoissonDistributionParameters", "type": "object" }, "ScalarDistributionParameter": { "description": "Parameters for a scalar (constant) distribution.\n\nRepresents a deterministic value that always returns the same number.", "properties": { "family": { "const": "Scalar", "default": "Scalar", "title": "Family", "type": "string" }, "value": { "default": 0, "description": "The static value of the distribution", "title": "Value", "type": "number" } }, "title": "ScalarDistributionParameter", "type": "object" }, "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" }, "UniformDistributionParameters": { "description": "Parameters for a uniform distribution.\n\nDefined by minimum and maximum bounds of the distribution.", "properties": { "family": { "const": "Uniform", "default": "Uniform", "title": "Family", "type": "string" }, "min": { "default": 0, "description": "Minimum value of the distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the distribution", "title": "Max", "type": "number" } }, "title": "UniformDistributionParameters", "type": "object" } }, "required": [ "family", "distribution_parameters" ] }
- Fields:
- field distribution_parameters: DistributionParameters [Required][source]¶
Parameters of the distribution
- field family: DistributionFamily [Required][source]¶
Family of the distribution
- field scaling_parameters: ScalingParameters | None = None[source]¶
Scaling parameters of the distribution
- field truncation_parameters: TruncationParameters | None = None[source]¶
Truncation parameters of the distribution
- class aind_behavior_services.task_logic.distributions.DistributionFamily(*values)[source]¶
Bases:
str
,Enum
Enumeration of supported probability distribution families.
Defines all available statistical distributions that can be used for sampling random values in the task logic system.
- pydantic model aind_behavior_services.task_logic.distributions.DistributionParametersBase[source]¶
Bases:
BaseModel
Base class for all distribution parameter models. This class should not be instantiated directly.
Provides common family field for discriminated union validation.
Show JSON schema
{ "title": "DistributionParametersBase", "description": "Base class for all distribution parameter models. This class should not be instantiated directly.\n\nProvides common family field for discriminated union validation.", "type": "object", "properties": { "family": { "$ref": "#/$defs/DistributionFamily", "description": "Family of the distribution" } }, "$defs": { "DistributionFamily": { "description": "Enumeration of supported probability distribution families.\n\nDefines all available statistical distributions that can be used\nfor sampling random values in the task logic system.", "enum": [ "Scalar", "Normal", "LogNormal", "Uniform", "Exponential", "Gamma", "Binomial", "Beta", "Poisson", "Pdf" ], "title": "DistributionFamily", "type": "string" } }, "required": [ "family" ] }
- field family: DistributionFamily [Required][source]¶
Family of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.ExponentialDistribution[source]¶
Bases:
DistributionBase
An exponential probability distribution.
Models time between events in a Poisson process. Commonly used for wait times and inter-event intervals.
Show JSON schema
{ "title": "ExponentialDistribution", "description": "An exponential probability distribution.\n\nModels time between events in a Poisson process. Commonly used\nfor wait times and inter-event intervals.", "type": "object", "properties": { "family": { "const": "Exponential", "default": "Exponential", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/ExponentialDistributionParameters", "default": { "family": "Exponential", "rate": 0.0 }, "description": "Parameters of the distribution" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "ExponentialDistributionParameters": { "description": "Parameters for an exponential distribution.\n\nDefined by the rate parameter (inverse of mean).", "properties": { "family": { "const": "Exponential", "default": "Exponential", "title": "Family", "type": "string" }, "rate": { "default": 0, "description": "Rate parameter of the distribution", "minimum": 0, "title": "Rate", "type": "number" } }, "title": "ExponentialDistributionParameters", "type": "object" }, "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" } } }
- Fields:
- field distribution_parameters: ExponentialDistributionParameters = ExponentialDistributionParameters(family=<DistributionFamily.EXPONENTIAL: 'Exponential'>, rate=0)[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.ExponentialDistributionParameters[source]¶
Bases:
DistributionParametersBase
Parameters for an exponential distribution.
Defined by the rate parameter (inverse of mean).
Show JSON schema
{ "title": "ExponentialDistributionParameters", "description": "Parameters for an exponential distribution.\n\nDefined by the rate parameter (inverse of mean).", "type": "object", "properties": { "family": { "const": "Exponential", "default": "Exponential", "title": "Family", "type": "string" }, "rate": { "default": 0, "description": "Rate parameter of the distribution", "minimum": 0, "title": "Rate", "type": "number" } } }
- Fields:
- pydantic model aind_behavior_services.task_logic.distributions.GammaDistribution[source]¶
Bases:
DistributionBase
A gamma probability distribution.
Generalizes the exponential distribution. Used for modeling positive continuous variables with right-skewed distributions.
Show JSON schema
{ "title": "GammaDistribution", "description": "A gamma probability distribution.\n\nGeneralizes the exponential distribution. Used for modeling\npositive continuous variables with right-skewed distributions.", "type": "object", "properties": { "family": { "const": "Gamma", "default": "Gamma", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/GammaDistributionParameters", "default": { "family": "Gamma", "shape": 1.0, "rate": 1.0 }, "description": "Parameters of the distribution" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "GammaDistributionParameters": { "description": "Parameters for a gamma distribution.\n\nDefined by shape (k) and rate (\u03b8\u207b\u00b9) parameters.", "properties": { "family": { "const": "Gamma", "default": "Gamma", "title": "Family", "type": "string" }, "shape": { "default": 1, "description": "Shape parameter of the distribution", "minimum": 0, "title": "Shape", "type": "number" }, "rate": { "default": 1, "description": "Rate parameter of the distribution", "minimum": 0, "title": "Rate", "type": "number" } }, "title": "GammaDistributionParameters", "type": "object" }, "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" } } }
- Fields:
- field distribution_parameters: GammaDistributionParameters = GammaDistributionParameters(family=<DistributionFamily.GAMMA: 'Gamma'>, shape=1, rate=1)[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.GammaDistributionParameters[source]¶
Bases:
DistributionParametersBase
Parameters for a gamma distribution.
Defined by shape (k) and rate (θ⁻¹) parameters.
Show JSON schema
{ "title": "GammaDistributionParameters", "description": "Parameters for a gamma distribution.\n\nDefined by shape (k) and rate (\u03b8\u207b\u00b9) parameters.", "type": "object", "properties": { "family": { "const": "Gamma", "default": "Gamma", "title": "Family", "type": "string" }, "shape": { "default": 1, "description": "Shape parameter of the distribution", "minimum": 0, "title": "Shape", "type": "number" }, "rate": { "default": 1, "description": "Rate parameter of the distribution", "minimum": 0, "title": "Rate", "type": "number" } } }
- Fields:
- pydantic model aind_behavior_services.task_logic.distributions.LogNormalDistribution[source]¶
Bases:
DistributionBase
A log-normal probability distribution.
Distribution where the logarithm of the variable is normally distributed. Always produces positive values and is right-skewed.
Show JSON schema
{ "title": "LogNormalDistribution", "description": "A log-normal probability distribution.\n\nDistribution where the logarithm of the variable is normally distributed.\nAlways produces positive values and is right-skewed.", "type": "object", "properties": { "family": { "const": "LogNormal", "default": "LogNormal", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/LogNormalDistributionParameters", "default": { "family": "LogNormal", "mean": 0.0, "std": 0.0 }, "description": "Parameters of the distribution" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "LogNormalDistributionParameters": { "description": "Parameters for a log-normal distribution.\n\nDefined by the mean and standard deviation of the underlying normal distribution.", "properties": { "family": { "const": "LogNormal", "default": "LogNormal", "title": "Family", "type": "string" }, "mean": { "default": 0, "description": "Mean of the distribution", "title": "Mean", "type": "number" }, "std": { "default": 0, "description": "Standard deviation of the distribution", "title": "Std", "type": "number" } }, "title": "LogNormalDistributionParameters", "type": "object" }, "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" } } }
- Fields:
- field distribution_parameters: LogNormalDistributionParameters = LogNormalDistributionParameters(family=<DistributionFamily.LOGNORMAL: 'LogNormal'>, mean=0, std=0)[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.LogNormalDistributionParameters[source]¶
Bases:
DistributionParametersBase
Parameters for a log-normal distribution.
Defined by the mean and standard deviation of the underlying normal distribution.
Show JSON schema
{ "title": "LogNormalDistributionParameters", "description": "Parameters for a log-normal distribution.\n\nDefined by the mean and standard deviation of the underlying normal distribution.", "type": "object", "properties": { "family": { "const": "LogNormal", "default": "LogNormal", "title": "Family", "type": "string" }, "mean": { "default": 0, "description": "Mean of the distribution", "title": "Mean", "type": "number" }, "std": { "default": 0, "description": "Standard deviation of the distribution", "title": "Std", "type": "number" } } }
- Fields:
- pydantic model aind_behavior_services.task_logic.distributions.NormalDistribution[source]¶
Bases:
DistributionBase
A normal (Gaussian) probability distribution.
Bell-shaped distribution symmetric around the mean, commonly used for modeling naturally occurring random variables.
Show JSON schema
{ "title": "NormalDistribution", "description": "A normal (Gaussian) probability distribution.\n\nBell-shaped distribution symmetric around the mean, commonly used\nfor modeling naturally occurring random variables.", "type": "object", "properties": { "family": { "const": "Normal", "default": "Normal", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/NormalDistributionParameters", "default": { "family": "Normal", "mean": 0.0, "std": 0.0 }, "description": "Parameters of the distribution" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "NormalDistributionParameters": { "description": "Parameters for a normal (Gaussian) distribution.\n\nDefined by mean (center) and standard deviation (spread).", "properties": { "family": { "const": "Normal", "default": "Normal", "title": "Family", "type": "string" }, "mean": { "default": 0, "description": "Mean of the distribution", "title": "Mean", "type": "number" }, "std": { "default": 0, "description": "Standard deviation of the distribution", "title": "Std", "type": "number" } }, "title": "NormalDistributionParameters", "type": "object" }, "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" } } }
- Fields:
- field distribution_parameters: NormalDistributionParameters = NormalDistributionParameters(family=<DistributionFamily.NORMAL: 'Normal'>, mean=0, std=0)[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.NormalDistributionParameters[source]¶
Bases:
DistributionParametersBase
Parameters for a normal (Gaussian) distribution.
Defined by mean (center) and standard deviation (spread).
Show JSON schema
{ "title": "NormalDistributionParameters", "description": "Parameters for a normal (Gaussian) distribution.\n\nDefined by mean (center) and standard deviation (spread).", "type": "object", "properties": { "family": { "const": "Normal", "default": "Normal", "title": "Family", "type": "string" }, "mean": { "default": 0, "description": "Mean of the distribution", "title": "Mean", "type": "number" }, "std": { "default": 0, "description": "Standard deviation of the distribution", "title": "Std", "type": "number" } } }
- Fields:
- pydantic model aind_behavior_services.task_logic.distributions.PdfDistribution[source]¶
Bases:
DistributionBase
A custom probability density function distribution.
Allows defining arbitrary discrete distributions by specifying probability values and their corresponding indices.
Show JSON schema
{ "title": "PdfDistribution", "description": "A custom probability density function distribution.\n\nAllows defining arbitrary discrete distributions by specifying\nprobability values and their corresponding indices.", "type": "object", "properties": { "family": { "const": "Pdf", "default": "Pdf", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/PdfDistributionParameters", "default": { "family": "Pdf", "pdf": [ 1.0 ], "index": [ 0.0 ] }, "description": "Parameters of the distribution" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "PdfDistributionParameters": { "description": "Parameters for a custom probability density function distribution.\n\nDefined by explicit probability values and their corresponding indices.\nProbabilities are automatically normalized to sum to 1.", "properties": { "family": { "const": "Pdf", "default": "Pdf", "title": "Family", "type": "string" }, "pdf": { "default": [ 1 ], "description": "The probability density function", "items": { "minimum": 0, "type": "number" }, "title": "Pdf", "type": "array" }, "index": { "default": [ 0 ], "description": "The index of the probability density function", "items": { "type": "number" }, "title": "Index", "type": "array" } }, "title": "PdfDistributionParameters", "type": "object" }, "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" } } }
- Fields:
- field distribution_parameters: PdfDistributionParameters = PdfDistributionParameters(family=<DistributionFamily.PDF: 'Pdf'>, pdf=[1], index=[0])[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.PdfDistributionParameters[source]¶
Bases:
DistributionParametersBase
Parameters for a custom probability density function distribution.
Defined by explicit probability values and their corresponding indices. Probabilities are automatically normalized to sum to 1.
Show JSON schema
{ "title": "PdfDistributionParameters", "description": "Parameters for a custom probability density function distribution.\n\nDefined by explicit probability values and their corresponding indices.\nProbabilities are automatically normalized to sum to 1.", "type": "object", "properties": { "family": { "const": "Pdf", "default": "Pdf", "title": "Family", "type": "string" }, "pdf": { "default": [ 1 ], "description": "The probability density function", "items": { "minimum": 0, "type": "number" }, "title": "Pdf", "type": "array" }, "index": { "default": [ 0 ], "description": "The index of the probability density function", "items": { "type": "number" }, "title": "Index", "type": "array" } } }
- Fields:
- Validators:
validate_matching_length
»all fields
- field pdf: List[Annotated[float, Ge(ge=0)]] = [1][source]¶
The probability density function
- Validated by:
- pydantic model aind_behavior_services.task_logic.distributions.PoissonDistribution[source]¶
Bases:
DistributionBase
A Poisson probability distribution.
Models the number of events occurring in a fixed interval of time or space when events occur independently at a constant rate.
Show JSON schema
{ "title": "PoissonDistribution", "description": "A Poisson probability distribution.\n\nModels the number of events occurring in a fixed interval of time or space\nwhen events occur independently at a constant rate.", "type": "object", "properties": { "family": { "const": "Poisson", "default": "Poisson", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/PoissonDistributionParameters", "default": { "family": "Poisson", "rate": 1.0 }, "description": "Parameters of the distribution" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "PoissonDistributionParameters": { "description": "Parameters for a Poisson distribution.\n\nDefined by the rate parameter (average number of events).", "properties": { "family": { "const": "Poisson", "default": "Poisson", "title": "Family", "type": "string" }, "rate": { "default": 1, "description": "Rate parameter of the Poisson process that generates the distribution", "minimum": 0, "title": "Rate", "type": "number" } }, "title": "PoissonDistributionParameters", "type": "object" }, "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" } } }
- Fields:
- field distribution_parameters: PoissonDistributionParameters = PoissonDistributionParameters(family=<DistributionFamily.POISSON: 'Poisson'>, rate=1)[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.PoissonDistributionParameters[source]¶
Bases:
DistributionParametersBase
Parameters for a Poisson distribution.
Defined by the rate parameter (average number of events).
Show JSON schema
{ "title": "PoissonDistributionParameters", "description": "Parameters for a Poisson distribution.\n\nDefined by the rate parameter (average number of events).", "type": "object", "properties": { "family": { "const": "Poisson", "default": "Poisson", "title": "Family", "type": "string" }, "rate": { "default": 1, "description": "Rate parameter of the Poisson process that generates the distribution", "minimum": 0, "title": "Rate", "type": "number" } } }
- Fields:
- pydantic model aind_behavior_services.task_logic.distributions.Scalar[source]¶
Bases:
DistributionBase
A scalar distribution that returns a constant value.
Useful for fixed parameters that don’t vary across trials or samples.
Show JSON schema
{ "title": "Scalar", "description": "A scalar distribution that returns a constant value.\n\nUseful for fixed parameters that don't vary across trials or samples.", "type": "object", "properties": { "family": { "const": "Scalar", "default": "Scalar", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/ScalarDistributionParameter", "default": { "family": "Scalar", "value": 0.0 }, "description": "Parameters of the distribution" }, "truncation_parameters": { "const": null, "default": null, "title": "Truncation Parameters", "type": "null" }, "scaling_parameters": { "const": null, "default": null, "title": "Scaling Parameters", "type": "null" } }, "$defs": { "ScalarDistributionParameter": { "description": "Parameters for a scalar (constant) distribution.\n\nRepresents a deterministic value that always returns the same number.", "properties": { "family": { "const": "Scalar", "default": "Scalar", "title": "Family", "type": "string" }, "value": { "default": 0, "description": "The static value of the distribution", "title": "Value", "type": "number" } }, "title": "ScalarDistributionParameter", "type": "object" } } }
- Fields:
- field distribution_parameters: ScalarDistributionParameter = ScalarDistributionParameter(family=<DistributionFamily.SCALAR: 'Scalar'>, value=0)[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.ScalarDistributionParameter[source]¶
Bases:
DistributionParametersBase
Parameters for a scalar (constant) distribution.
Represents a deterministic value that always returns the same number.
Show JSON schema
{ "title": "ScalarDistributionParameter", "description": "Parameters for a scalar (constant) distribution.\n\nRepresents a deterministic value that always returns the same number.", "type": "object", "properties": { "family": { "const": "Scalar", "default": "Scalar", "title": "Family", "type": "string" }, "value": { "default": 0, "description": "The static value of the distribution", "title": "Value", "type": "number" } } }
- Fields:
- pydantic model aind_behavior_services.task_logic.distributions.ScalingParameters[source]¶
Bases:
BaseModel
Parameters for scaling and offsetting sampled distribution values. Scaling is applied as (value * scale + offset).
Applies linear transformation: result = (value * scale) + offset.
Show JSON schema
{ "title": "ScalingParameters", "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "type": "object", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } } }
- Fields:
- pydantic model aind_behavior_services.task_logic.distributions.TruncationParameters[source]¶
Bases:
BaseModel
Parameters for truncating a distribution to a specified range. Truncation should be applied after sampling and scaling.
Used to constrain sampled values within minimum and maximum bounds.
Show JSON schema
{ "title": "TruncationParameters", "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "type": "object", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } } }
- Fields:
- Validators:
validate_min_less_than_max
»all fields
- pydantic model aind_behavior_services.task_logic.distributions.UniformDistribution[source]¶
Bases:
DistributionBase
A uniform probability distribution.
All values between min and max have equal probability of being sampled.
Show JSON schema
{ "title": "UniformDistribution", "description": "A uniform probability distribution.\n\nAll values between min and max have equal probability of being sampled.", "type": "object", "properties": { "family": { "const": "Uniform", "default": "Uniform", "title": "Family", "type": "string" }, "distribution_parameters": { "$ref": "#/$defs/UniformDistributionParameters", "default": { "family": "Uniform", "min": 0.0, "max": 0.0 }, "description": "Parameters of the distribution" }, "truncation_parameters": { "anyOf": [ { "$ref": "#/$defs/TruncationParameters" }, { "type": "null" } ], "default": null, "description": "Truncation parameters of the distribution" }, "scaling_parameters": { "anyOf": [ { "$ref": "#/$defs/ScalingParameters" }, { "type": "null" } ], "default": null, "description": "Scaling parameters of the distribution" } }, "$defs": { "ScalingParameters": { "description": "Parameters for scaling and offsetting sampled distribution values.\nScaling is applied as (value * scale + offset).\n\nApplies linear transformation: result = (value * scale) + offset.", "properties": { "scale": { "default": 1, "description": "Scaling factor to apply on the sampled distribution", "title": "Scale", "type": "number" }, "offset": { "default": 0, "description": "Offset factor to apply on the sampled distribution", "title": "Offset", "type": "number" } }, "title": "ScalingParameters", "type": "object" }, "TruncationParameters": { "description": "Parameters for truncating a distribution to a specified range. Truncation should\nbe applied after sampling and scaling.\n\nUsed to constrain sampled values within minimum and maximum bounds.", "properties": { "min": { "default": 0, "description": "Minimum value of the sampled distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the sampled distribution", "title": "Max", "type": "number" } }, "title": "TruncationParameters", "type": "object" }, "UniformDistributionParameters": { "description": "Parameters for a uniform distribution.\n\nDefined by minimum and maximum bounds of the distribution.", "properties": { "family": { "const": "Uniform", "default": "Uniform", "title": "Family", "type": "string" }, "min": { "default": 0, "description": "Minimum value of the distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the distribution", "title": "Max", "type": "number" } }, "title": "UniformDistributionParameters", "type": "object" } } }
- Fields:
- field distribution_parameters: UniformDistributionParameters = UniformDistributionParameters(family=<DistributionFamily.UNIFORM: 'Uniform'>, min=0, max=0)[source]¶
Parameters of the distribution
- pydantic model aind_behavior_services.task_logic.distributions.UniformDistributionParameters[source]¶
Bases:
DistributionParametersBase
Parameters for a uniform distribution.
Defined by minimum and maximum bounds of the distribution.
Show JSON schema
{ "title": "UniformDistributionParameters", "description": "Parameters for a uniform distribution.\n\nDefined by minimum and maximum bounds of the distribution.", "type": "object", "properties": { "family": { "const": "Uniform", "default": "Uniform", "title": "Family", "type": "string" }, "min": { "default": 0, "description": "Minimum value of the distribution", "title": "Min", "type": "number" }, "max": { "default": 0, "description": "Maximum value of the distribution", "title": "Max", "type": "number" } } }
- Fields:
Module contents¶
- pydantic model aind_behavior_services.task_logic.AindBehaviorTaskLogicModel[source]¶
Bases:
Task
Show JSON schema
{ "title": "AindBehaviorTaskLogicModel", "type": "object", "properties": { "name": { "description": "Name of the task.", "title": "Name", "type": "string" }, "description": { "default": "", "description": "Description of the task.", "title": "Description", "type": "string" }, "task_parameters": { "$ref": "#/$defs/TaskParameters", "description": "Parameters of the task logic" }, "version": { "description": "task schema version", "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$", "title": "Version", "type": "string" }, "stage_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Optional stage name the `Task` object instance represents.", "title": "Stage Name" } }, "$defs": { "TaskParameters": { "additionalProperties": true, "properties": { "rng_seed": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Seed of the random number generator", "title": "Rng Seed" }, "aind_behavior_services_pkg_version": { "const": "0.12.2-rc1", "default": "0.12.2-rc1", "title": "aind_behavior_services package version", "type": "string" } }, "title": "TaskParameters", "type": "object" } }, "additionalProperties": false, "required": [ "name", "task_parameters", "version" ] }
- Config:
extra: str = forbid
validate_assignment: bool = True
validate_default: bool = True
strict: bool = True
str_strip_whitespace: bool = True
- Fields:
- Validators:
- field stage_name: str | None = None[source]¶
Optional stage name the Task object instance represents.
- field task_parameters: TaskParameters [Required][source]¶
Parameters of the task logic
- pydantic model aind_behavior_services.task_logic.TaskParameters[source]¶
Bases:
AindBehaviorModelExtra
Show JSON schema
{ "title": "TaskParameters", "type": "object", "properties": { "rng_seed": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Seed of the random number generator", "title": "Rng Seed" }, "aind_behavior_services_pkg_version": { "const": "0.12.2-rc1", "default": "0.12.2-rc1", "title": "aind_behavior_services package version", "type": "string" } }, "additionalProperties": true }
- Config:
extra: str = allow
validate_assignment: bool = True
validate_default: bool = True
strict: bool = True
str_strip_whitespace: bool = True
- Fields:
- Validators:
- field aind_behavior_services_pkg_version: Literal['0.12.2-rc1'] = '0.12.2-rc1'[source]¶
- Constraints:
pattern = ^(0|[1-9]d*).(0|[1-9]d*).(0|[1-9]d*)(?:-((?:0|[1-9]d*|d*[a-zA-Z-][0-9a-zA-Z-]*)(?:.(?:0|[1-9]d*|d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:+([0-9a-zA-Z-]+(?:.[0-9a-zA-Z-]+)*))?$
- Validated by:
- validator coerce_version » aind_behavior_services_pkg_version[source]¶
- Parameters:
v (str)
- Return type:
str