Variables#
The policyengine_core.variables
module contains the definition of Variable
, which can have a value for each entity instance in a simulation, for each period in a simulation, dependent on the parameters in that period, as well as other entity instances.
Variable#
- class policyengine_core.variables.variable.Variable(baseline_variable=None)[source]#
Bases:
object
A variable of the legislation.
- adds: List[str] = None#
List of variables that are added to the variable. Alternatively, can be a parameter name.
- baseline_variable: str#
//openfisca.org/doc/key-concepts/reforms.html>`_ to replace another variable, baseline_variable is the replaced variable.
- Type:
If the variable has been introduced in a `reform <https
- default_value: object#
//openfisca.org/doc/key-concepts/variables.html#default-values>`_ of the variable.
- Type:
`Default value <https
- defined_for: str = None#
The name of another variable, nonzero values of which are used to define the set of entities for which this variable is defined.
- definition_period: str#
MONTH
,YEAR
,ETERNITY
.- Type:
`Period <https
- Type:
//openfisca.org/doc/coding-the-legislation/35_periods.html>`_ the variable is defined for. Possible value
- documentation: str#
Free multilines text field describing the variable context and usage.
- dtype: dtype#
//docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.dtype.html>`_ used under the hood for the variable.
- Type:
Numpy `dtype <https
- end: date#
//openfisca.org/doc/coding-the-legislation/40_legislation_evolutions.html#variable-end>`_ when the variable disappears from the legislation.
- Type:
`Date <https
- entity: Entity#
Person
,Household
.- Type:
`Entity <https
- Type:
//openfisca.org/doc/key-concepts/person,_entities,_role.html>`_ the variable is defined for. For instance
- exhaustive_parameter_dependencies: List[str] = None#
If these parameters (plus the dataset, branch and period) haven’t changed, Core will use caching on this variable.
- formulas: List[Callable]#
Formulas used to calculate the variable
- get_formula(period=None)[source]#
Returns the formula used to compute the variable at the given period.
If no period is given and the variable has several formula, return the oldest formula.
- Returns:
Formula used to compute the variable
- classmethod get_introspection_data(tax_benefit_system)[source]#
Get instrospection data about the code of the variable.
- Returns:
(comments, source file path, source code, start line number)
- Return type:
tuple
Whether the variable is hidden from the input screen entirely on PolicyEngine.
- index_in_module: int = None#
Index of the variable in the module it is defined in.
- is_neutralized: bool#
True if the variable is neutralized. Neutralized variables never use their formula, and only return their default values when calculated.
- json_type: str#
JSON type corresponding to the variable.
- label: str#
Description of the variable
- max_length: int#
If the value type of the variable is
str
, max length of the string allowed.None
if there is no limit.
- max_value: (<class 'float'>, <class 'int'>) = None#
Maximum value of the variable.
- metadata: dict = None#
Free dictionary field used to store any metadata.
- min_value: (<class 'float'>, <class 'int'>) = None#
Minimum value of the variable.
- module_name: str = None#
The name of the module it is defined in.
- name: str#
Name of the variable
- parse_formula_name(attribute_name)[source]#
Returns the starting date of a formula based on its name.
Valid dated name formats are : ‘formula’, ‘formula_YYYY’, ‘formula_YYYY_MM’ and ‘formula_YYYY_MM_DD’ where YYYY, MM and DD are a year, month and day.
- By convention, the starting date of:
formula is 0001-01-01 (minimal date in Python)
formula_YYYY is YYYY-01-01
formula_YYYY_MM is YYYY-MM-01
- possible_values: EnumArray#
If the value type of the variable is
Enum
, contains the values the variable can take.
- quantity_type: str#
Categorical attribute describing whether the variable is a stock or a flow.
- reference: str#
Legislative reference describing the variable.
- requires_computation_after: str = None#
Name of a variable that must be computed before this variable.
- set_input: Callable#
//openfisca.org/doc/coding-the-legislation/35_periods.html#set-input-automatically-process-variable-inputs-defined-for-periods-not-matching-the-definition-period>`_. Possible values are
set_input_dispatch_by_period
,set_input_divide_by_period
, or nothing.- Type:
Function used to automatically process variable inputs defined for periods not matching the definition_period of the variable. See more on the `documentation <https
- subtracts: List[str] = None#
List of variables that are subtracted from the variable. Alternatively, can be a parameter name.
- unit: str#
Free text field describing the unit of the variable. Only used as metadata.
- uprating: str = None#
Name of a parameter used to uprate the variable.
- value_type: type#
The value type of the variable. Possible value types in OpenFisca are
int
float
bool
str
date
andEnum
.