diff --git a/doc/_modules/openfisca_core/commons/formulas.html b/doc/_modules/openfisca_core/commons/formulas.html index d1300482..207804eb 100644 --- a/doc/_modules/openfisca_core/commons/formulas.html +++ b/doc/_modules/openfisca_core/commons/formulas.html @@ -140,10 +140,7 @@

Source code for openfisca_core.commons.formulas

< choices: A list of the possible values to choose from. Returns: - Array[numpy.float32]: A list of the values chosen. - - Raises: - AssertionError: When thresholds and choices are incompatible. + ndarray[float32]: A list of the values chosen. Examples: >>> input = numpy.array([4, 5, 6, 7, 8]) @@ -153,7 +150,6 @@

Source code for openfisca_core.commons.formulas

< array([10, 10, 15, 15, 20]) """ - condlist: list[t.Array[numpy.bool_] | bool] condlist = [input <= threshold for threshold in thresholds] @@ -175,8 +171,8 @@

Source code for openfisca_core.commons.formulas

<
[docs] def concat( - this: t.Array[numpy.str_] | t.ArrayLike[str], - that: t.Array[numpy.str_] | t.ArrayLike[str], + this: t.Array[numpy.str_] | t.ArrayLike[object], + that: t.Array[numpy.str_] | t.ArrayLike[object], ) -> t.Array[numpy.str_]: """Concatenate the values of two arrays. @@ -185,7 +181,7 @@

Source code for openfisca_core.commons.formulas

< that: Another array to concatenate. Returns: - Array[numpy.str_]: An array with the concatenated values. + ndarray[str_]: An array with the concatenated values. Examples: >>> this = ["this", "that"] @@ -194,10 +190,16 @@

Source code for openfisca_core.commons.formulas

< array(['this1.0', 'that2.5']...) """ - if isinstance(this, numpy.ndarray) and not numpy.issubdtype(this.dtype, numpy.str_): + if not isinstance(this, numpy.ndarray): + this = numpy.array(this) + + if not numpy.issubdtype(this.dtype, numpy.str_): this = this.astype("str") - if isinstance(that, numpy.ndarray) and not numpy.issubdtype(that.dtype, numpy.str_): + if not isinstance(that, numpy.ndarray): + that = numpy.array(that) + + if not numpy.issubdtype(that.dtype, numpy.str_): that = that.astype("str") return numpy.char.add(this, that)
@@ -207,7 +209,7 @@

Source code for openfisca_core.commons.formulas

<
[docs] def switch( - conditions: t.Array[numpy.float32], + conditions: t.Array[numpy.float32] | t.ArrayLike[float], value_by_condition: Mapping[float, float], ) -> t.Array[numpy.float32]: """Mimick a switch statement. @@ -220,10 +222,7 @@

Source code for openfisca_core.commons.formulas

< value_by_condition: Values to replace for each condition. Returns: - Array: An array with the replaced values. - - Raises: - AssertionError: When ``value_by_condition`` is empty. + ndarray[float32]: An array with the replaced values. Examples: >>> conditions = numpy.array([1, 1, 1, 2]) diff --git a/doc/_modules/openfisca_core/commons/misc.html b/doc/_modules/openfisca_core/commons/misc.html index c35de20d..589bd1cc 100644 --- a/doc/_modules/openfisca_core/commons/misc.html +++ b/doc/_modules/openfisca_core/commons/misc.html @@ -129,7 +129,7 @@

Source code for openfisca_core.commons.misc

         original: An object to clone.
 
     Returns:
-        The cloned, empty, object.
+        object: The cloned, empty, object.
 
     Examples:
         >>> Foo = type("Foo", (list,), {})
@@ -169,7 +169,7 @@ 

Source code for openfisca_core.commons.misc

         array: An array.
 
     Returns:
-        str: "None" if the ``array`` is None.
+        str: ``"None"`` if the ``array`` is ``None``.
         str: The stringified ``array`` otherwise.
 
     Examples:
@@ -190,7 +190,6 @@ 

Source code for openfisca_core.commons.misc

         "[<class 'list'>, {}, <function stringify_array...]"
 
     """
-
     if array is None:
         return "None"
 
@@ -209,7 +208,7 @@ 

Source code for openfisca_core.commons.misc

         expression: An expression to evaluate.
 
     Returns:
-        Array: The result of the evaluation.
+        ndarray: The result of the evaluation.
         str: The expression if it couldn't be evaluated.
 
     Examples:
@@ -220,7 +219,6 @@ 

Source code for openfisca_core.commons.misc

         'salary'
 
     """
-
     try:
         return numexpr.evaluate(expression)
 
diff --git a/doc/_modules/openfisca_core/commons/rates.html b/doc/_modules/openfisca_core/commons/rates.html
index c3e781be..ffb8ec9a 100644
--- a/doc/_modules/openfisca_core/commons/rates.html
+++ b/doc/_modules/openfisca_core/commons/rates.html
@@ -123,7 +123,7 @@ 

Source code for openfisca_core.commons.rates

[docs]
 def average_rate(
     target: t.Array[numpy.float32],
-    varying: t.ArrayLike[float],
+    varying: t.Array[numpy.float32] | t.ArrayLike[float],
     trim: None | t.ArrayLike[float] = None,
 ) -> t.Array[numpy.float32]:
     """Compute the average rate of a target net income.
@@ -141,9 +141,9 @@ 

Source code for openfisca_core.commons.rates

        trim: The lower and upper bounds of the average rate.
 
     Returns:
-        Array[numpy.float32]: The average rate for each target. When ``trim``
+        ndarray[float32]: The average rate for each target. When ``trim``
             is provided, values that are out of the provided bounds are
-            replaced by :any:`numpy.nan`.
+            replaced by :obj:`numpy.nan`.
 
     Examples:
         >>> target = numpy.array([1, 2, 3])
@@ -153,8 +153,9 @@ 

Source code for openfisca_core.commons.rates

        array([ nan,  0. , -0.5])
 
     """
+    if not isinstance(varying, numpy.ndarray):
+        varying = numpy.array(varying, dtype=numpy.float32)
 
-    average_rate: t.Array[numpy.float32]
     average_rate = 1 - target / varying
 
     if trim is not None:
@@ -178,7 +179,7 @@ 

Source code for openfisca_core.commons.rates

[docs]
 def marginal_rate(
     target: t.Array[numpy.float32],
-    varying: t.Array[numpy.float32],
+    varying: t.Array[numpy.float32] | t.ArrayLike[float],
     trim: None | t.ArrayLike[float] = None,
 ) -> t.Array[numpy.float32]:
     """Compute the marginal rate of a target net income.
@@ -196,9 +197,9 @@ 

Source code for openfisca_core.commons.rates

        trim: The lower and upper bounds of the marginal rate.
 
     Returns:
-        Array[numpy.float32]: The marginal rate for each target. When ``trim``
-        is provided, values that are out of the provided bounds are replaced by
-        :any:`numpy.nan`.
+        ndarray[float32]: The marginal rate for each target. When ``trim``
+            is provided, values that are out of the provided bounds are
+            replaced by :class:`numpy.nan`.
 
     Examples:
         >>> target = numpy.array([1, 2, 3])
@@ -208,8 +209,9 @@ 

Source code for openfisca_core.commons.rates

        array([nan, 0.5])
 
     """
+    if not isinstance(varying, numpy.ndarray):
+        varying = numpy.array(varying, dtype=numpy.float32)
 
-    marginal_rate: t.Array[numpy.float32]
     marginal_rate = +1 - (target[:-1] - target[1:]) / (varying[:-1] - varying[1:])
 
     if trim is not None:
diff --git a/doc/_modules/openfisca_core/indexed_enums/enum.html b/doc/_modules/openfisca_core/indexed_enums/enum.html
index e5065ed9..c8d6adfb 100644
--- a/doc/_modules/openfisca_core/indexed_enums/enum.html
+++ b/doc/_modules/openfisca_core/indexed_enums/enum.html
@@ -114,100 +114,247 @@ 

Navigation

Source code for openfisca_core.indexed_enums.enum

 from __future__ import annotations
 
-import enum
+from collections.abc import Sequence
 
 import numpy
 
-from .config import ENUM_ARRAY_DTYPE
+from . import types as t
+from ._enum_type import EnumType
+from ._errors import EnumEncodingError, EnumMemberNotFoundError
+from ._guards import (
+    _is_enum_array,
+    _is_enum_array_like,
+    _is_int_array,
+    _is_int_array_like,
+    _is_str_array,
+    _is_str_array_like,
+)
+from ._utils import _enum_to_index, _int_to_index, _str_to_index
 from .enum_array import EnumArray
 
 
 
[docs] -class Enum(enum.Enum): - """Enum based on `enum34 <https://pypi.python.org/pypi/enum34/>`_, whose items - have an index. +class Enum(t.Enum, metaclass=EnumType): + """Enum based on `enum34 <https://pypi.python.org/pypi/enum34/>`_. + + Its items have an :class:`int` index, useful and performant when running + :mod:`~openfisca_core.simulations` on large :mod:`~openfisca_core.populations`. + + Examples: + >>> from openfisca_core import indexed_enums as enum + + >>> class Housing(enum.Enum): + ... OWNER = "Owner" + ... TENANT = "Tenant" + ... FREE_LODGER = "Free lodger" + ... HOMELESS = "Homeless" + + >>> repr(Housing) + "<enum 'Housing'>" + + >>> repr(Housing.TENANT) + 'Housing.TENANT' + + >>> str(Housing.TENANT) + 'Housing.TENANT' + + >>> dict([(Housing.TENANT, Housing.TENANT.value)]) + {Housing.TENANT: 'Tenant'} + + >>> list(Housing) + [Housing.OWNER, Housing.TENANT, Housing.FREE_LODGER, Housing.HOMELESS] + + >>> Housing["TENANT"] + Housing.TENANT + + >>> Housing("Tenant") + Housing.TENANT + + >>> Housing.TENANT in Housing + True + + >>> len(Housing) + 4 + + >>> Housing.TENANT == Housing.TENANT + True + + >>> Housing.TENANT != Housing.TENANT + False + + >>> Housing.TENANT.index + 1 + + >>> Housing.TENANT.name + 'TENANT' + + >>> Housing.TENANT.value + 'Tenant' + """ - # Tweak enums to add an index attribute to each enum item - def __init__(self, name: str) -> None: - # When the enum item is initialized, self._member_names_ contains the - # names of the previously initialized items, so its length is the index - # of this item. + #: The :attr:`index` of the :class:`.Enum` member. + index: int + + def __init__(self, *__args: object, **__kwargs: object) -> None: + """Tweak :class:`enum.Enum` to add an :attr:`.index` to each enum item. + + When the enum is initialised, ``_member_names_`` contains the names of + the already initialized items, so its length is the index of this item. + + Args: + *__args: Positional arguments. + **__kwargs: Keyword arguments. + + Examples: + >>> import numpy + + >>> from openfisca_core import indexed_enums as enum + + >>> Housing = enum.Enum("Housing", "owner tenant") + >>> Housing.tenant.index + 1 + + >>> class Housing(enum.Enum): + ... OWNER = "Owner" + ... TENANT = "Tenant" + + >>> Housing.TENANT.index + 1 + + >>> array = numpy.array([[1, 2], [3, 4]]) + >>> array[Housing.TENANT.index] + array([3, 4]) + + Note: + ``_member_names_`` is undocumented in upstream :class:`enum.Enum`. + + """ self.index = len(self._member_names_) - # Bypass the slow Enum.__eq__ - __eq__ = object.__eq__ + def __repr__(self) -> str: + return f"{self.__class__.__name__}.{self.name}" + + def __hash__(self) -> int: + return object.__hash__(self.__class__.__name__ + self.name) + + def __eq__(self, other: object) -> bool: + if ( + isinstance(other, Enum) + and self.__class__.__name__ == other.__class__.__name__ + ): + return self.index == other.index + return NotImplemented - # In Python 3, __hash__ must be defined if __eq__ is defined to stay - # hashable. - __hash__ = object.__hash__ + def __ne__(self, other: object) -> bool: + if ( + isinstance(other, Enum) + and self.__class__.__name__ == other.__class__.__name__ + ): + return self.index != other.index + return NotImplemented
[docs] @classmethod - def encode( - cls, - array: EnumArray | numpy.int32 | numpy.float32 | numpy.object_, - ) -> EnumArray: - """Encode a string numpy array, an enum item numpy array, or an int numpy - array into an :any:`EnumArray`. See :any:`EnumArray.decode` for - decoding. - - :param numpy.ndarray array: Array of string identifiers, or of enum - items, to encode. - - :returns: An :any:`EnumArray` encoding the input array values. - :rtype: :any:`EnumArray` - - For instance: - - >>> string_identifier_array = asarray(["free_lodger", "owner"]) - >>> encoded_array = HousingOccupancyStatus.encode(string_identifier_array) - >>> encoded_array[0] - 2 # Encoded value - - >>> free_lodger = HousingOccupancyStatus.free_lodger - >>> owner = HousingOccupancyStatus.owner - >>> enum_item_array = asarray([free_lodger, owner]) - >>> encoded_array = HousingOccupancyStatus.encode(enum_item_array) - >>> encoded_array[0] - 2 # Encoded value + def encode(cls, array: t.VarArray | t.ArrayLike[object]) -> t.EnumArray: + """Encode an encodable array into an :class:`.EnumArray`. + + Args: + array: :class:`~numpy.ndarray` to encode. + + Returns: + EnumArray: An :class:`.EnumArray` with the encoded input values. + + Examples: + >>> import numpy + + >>> from openfisca_core import indexed_enums as enum + + >>> class Housing(enum.Enum): + ... OWNER = "Owner" + ... TENANT = "Tenant" + + # EnumArray + + >>> array = numpy.array([1]) + >>> enum_array = enum.EnumArray(array, Housing) + >>> Housing.encode(enum_array) + EnumArray([Housing.TENANT]) + + # Array of Enum + + >>> array = numpy.array([Housing.TENANT]) + >>> enum_array = Housing.encode(array) + >>> enum_array == Housing.TENANT + array([ True]) + + # Array of integers + + >>> array = numpy.array([1]) + >>> enum_array = Housing.encode(array) + >>> enum_array == Housing.TENANT + array([ True]) + + # Array of strings + + >>> array = numpy.array(["TENANT"]) + >>> enum_array = Housing.encode(array) + >>> enum_array == Housing.TENANT + array([ True]) + + # Array of bytes + + >>> array = numpy.array([b"TENANT"]) + >>> enum_array = Housing.encode(array) + Traceback (most recent call last): + EnumEncodingError: Failed to encode "[b'TENANT']" of type 'bytes... + + .. seealso:: + :meth:`.EnumArray.decode` for decoding. + """ if isinstance(array, EnumArray): return array + if len(array) == 0: + return EnumArray(numpy.asarray(array, t.EnumDType), cls) + if isinstance(array, Sequence): + return cls._encode_array_like(array) + return cls._encode_array(array)
+ + + @classmethod + def _encode_array(cls, value: t.VarArray) -> t.EnumArray: + if _is_int_array(value): + indices = _int_to_index(cls, value) + elif _is_str_array(value): # type: ignore[unreachable] + indices = _str_to_index(cls, value) + elif _is_enum_array(value) and cls.__name__ is value[0].__class__.__name__: + indices = _enum_to_index(value) + else: + raise EnumEncodingError(cls, value) + if indices.size != len(value): + raise EnumMemberNotFoundError(cls) + return EnumArray(indices, cls) + + @classmethod + def _encode_array_like(cls, value: t.ArrayLike[object]) -> t.EnumArray: + if _is_int_array_like(value): + indices = _int_to_index(cls, value) + elif _is_str_array_like(value): # type: ignore[unreachable] + indices = _str_to_index(cls, value) + elif _is_enum_array_like(value): + indices = _enum_to_index(value) + else: + raise EnumEncodingError(cls, value) + if indices.size != len(value): + raise EnumMemberNotFoundError(cls) + return EnumArray(indices, cls)
+ - # String array - if isinstance(array, numpy.ndarray) and array.dtype.kind in {"U", "S"}: - array = numpy.select( - [array == item.name for item in cls], - [item.index for item in cls], - ).astype(ENUM_ARRAY_DTYPE) - - # Enum items arrays - elif isinstance(array, numpy.ndarray) and array.dtype.kind == "O": - # Ensure we are comparing the comparable. The problem this fixes: - # On entering this method "cls" will generally come from - # variable.possible_values, while the array values may come from - # directly importing a module containing an Enum class. However, - # variables (and hence their possible_values) are loaded by a call - # to load_module, which gives them a different identity from the - # ones imported in the usual way. - # - # So, instead of relying on the "cls" passed in, we use only its - # name to check that the values in the array, if non-empty, are of - # the right type. - if len(array) > 0 and cls.__name__ is array[0].__class__.__name__: - cls = array[0].__class__ - - array = numpy.select( - [array == item for item in cls], - [item.index for item in cls], - ).astype(ENUM_ARRAY_DTYPE) - - return EnumArray(array, cls)
-
+__all__ = ["Enum"]
diff --git a/doc/_modules/openfisca_core/indexed_enums/enum_array.html b/doc/_modules/openfisca_core/indexed_enums/enum_array.html index 23091911..943d0348 100644 --- a/doc/_modules/openfisca_core/indexed_enums/enum_array.html +++ b/doc/_modules/openfisca_core/indexed_enums/enum_array.html @@ -114,65 +114,243 @@

Navigation

Source code for openfisca_core.indexed_enums.enum_array

 from __future__ import annotations
 
-import typing
-from typing import Any, NoReturn
+from typing import NoReturn
+from typing_extensions import Self
 
 import numpy
 
 from . import types as t
 
-if typing.TYPE_CHECKING:
-    from openfisca_core.indexed_enums import Enum
-
 
 
[docs] -class EnumArray(numpy.ndarray): - """NumPy array subclass representing an array of enum items. +class EnumArray(t.EnumArray): + """A subclass of :class:`~numpy.ndarray` of :class:`.Enum`. + + :class:`.Enum` arrays are encoded as :class:`int` to improve performance. + + Note: + Subclassing :class:`~numpy.ndarray` is a little tricky™. To read more + about the :meth:`.__new__` and :meth:`.__array_finalize__` methods + below, see `Subclassing ndarray`_. + + Examples: + >>> import numpy + + >>> from openfisca_core import indexed_enums as enum, variables + + >>> class Housing(enum.Enum): + ... OWNER = "Owner" + ... TENANT = "Tenant" + ... FREE_LODGER = "Free lodger" + ... HOMELESS = "Homeless" + + >>> array = numpy.array([1], dtype=numpy.int16) + >>> enum_array = enum.EnumArray(array, Housing) + + >>> repr(enum.EnumArray) + "<class 'openfisca_core.indexed_enums.enum_array.EnumArray'>" + + >>> repr(enum_array) + 'EnumArray([Housing.TENANT])' + + >>> str(enum_array) + "['TENANT']" + + >>> list(map(int, enum_array)) + [1] + + >>> int(enum_array[0]) + 1 + + >>> enum_array[0] in enum_array + True + + >>> len(enum_array) + 1 + + >>> enum_array = enum.EnumArray(list(Housing), Housing) + Traceback (most recent call last): + AttributeError: 'list' object has no attribute 'view' + + >>> class OccupancyStatus(variables.Variable): + ... value_type = enum.Enum + ... possible_values = Housing + + >>> enum.EnumArray(array, OccupancyStatus.possible_values) + EnumArray([Housing.TENANT]) + + .. _Subclassing ndarray: + https://numpy.org/doc/stable/user/basics.subclassing.html - EnumArrays are encoded as ``int`` arrays to improve performance """ - # Subclassing ndarray is a little tricky. - # To read more about the two following methods, see: - # https://docs.scipy.org/doc/numpy-1.13.0/user/basics.subclassing.html#slightly-more-realistic-example-attribute-added-to-existing-array. + #: Enum type of the array items. + possible_values: None | type[t.Enum] + def __new__( cls, - input_array: t.Array[numpy.int16], - possible_values: type[Enum] | None = None, - ) -> EnumArray: - obj = numpy.asarray(input_array).view(cls) + input_array: t.IndexArray, + possible_values: type[t.Enum], + ) -> Self: + """See comment above.""" + obj = input_array.view(cls) obj.possible_values = possible_values return obj - # See previous comment - def __array_finalize__(self, obj: numpy.int32 | None) -> None: + def __array_finalize__(self, obj: None | t.EnumArray | t.VarArray) -> None: + """See comment above.""" if obj is None: return - self.possible_values = getattr(obj, "possible_values", None) - def __eq__(self, other: object) -> bool: - # When comparing to an item of self.possible_values, use the item index - # to speed up the comparison. - if other.__class__.__name__ is self.possible_values.__name__: - # Use view(ndarray) so that the result is a classic ndarray, not an - # EnumArray. - return self.view(numpy.ndarray) == other.index + def __eq__(self, other: object) -> t.BoolArray: # type: ignore[override] + """Compare equality with the item's :attr:`~.Enum.index`. + + When comparing to an item of :attr:`.possible_values`, use the + item's :attr:`~.Enum.index`. to speed up the comparison. + + Whenever possible, use :any:`numpy.ndarray.view` so that the result is + a classic :class:`~numpy.ndarray`, not an :obj:`.EnumArray`. + + Args: + other: Another :class:`object` to compare to. + + Returns: + bool: When ??? + ndarray[bool_]: When ??? + + Examples: + >>> import numpy + + >>> from openfisca_core import indexed_enums as enum - return self.view(numpy.ndarray) == other + >>> class Housing(enum.Enum): + ... OWNER = "Owner" + ... TENANT = "Tenant" - def __ne__(self, other: object) -> bool: + >>> array = numpy.array([1]) + >>> enum_array = enum.EnumArray(array, Housing) + + >>> enum_array == Housing + array([False, True]) + + >>> enum_array == Housing.TENANT + array([ True]) + + >>> enum_array == 1 + array([ True]) + + >>> enum_array == [1] + array([ True]) + + >>> enum_array == [2] + array([False]) + + >>> enum_array == "1" + array([False]) + + >>> enum_array is None + False + + >>> enum_array == enum.EnumArray(numpy.array([1]), Housing) + array([ True]) + + Note: + This breaks the `Liskov substitution principle`_. + + .. _Liskov substitution principle: + https://en.wikipedia.org/wiki/Liskov_substitution_principle + + """ + result: t.BoolArray + + if self.possible_values is None: + return NotImplemented + if other is None: + return NotImplemented + if ( + isinstance(other, type(t.Enum)) + and other.__name__ is self.possible_values.__name__ + ): + result = ( + self.view(numpy.ndarray) + == self.possible_values.indices[ + self.possible_values.indices <= max(self) + ] + ) + return result + if ( + isinstance(other, t.Enum) + and other.__class__.__name__ is self.possible_values.__name__ + ): + result = self.view(numpy.ndarray) == other.index + return result + # For NumPy >=1.26.x. + if isinstance(is_equal := self.view(numpy.ndarray) == other, numpy.ndarray): + return is_equal + # For NumPy <1.26.x. + return numpy.array([is_equal], dtype=t.BoolDType) + + def __ne__(self, other: object) -> t.BoolArray: # type: ignore[override] + """Inequality. + + Args: + other: Another :class:`object` to compare to. + + Returns: + bool: When ??? + ndarray[bool_]: When ??? + + Examples: + >>> import numpy + + >>> from openfisca_core import indexed_enums as enum + + >>> class Housing(enum.Enum): + ... OWNER = "Owner" + ... TENANT = "Tenant" + + >>> array = numpy.array([1]) + >>> enum_array = enum.EnumArray(array, Housing) + + >>> enum_array != Housing + array([ True, False]) + + >>> enum_array != Housing.TENANT + array([False]) + + >>> enum_array != 1 + array([False]) + + >>> enum_array != [1] + array([False]) + + >>> enum_array != [2] + array([ True]) + + >>> enum_array != "1" + array([ True]) + + >>> enum_array is not None + True + + Note: + This breaks the `Liskov substitution principle`_. + + .. _Liskov substitution principle: + https://en.wikipedia.org/wiki/Liskov_substitution_principle + + """ return numpy.logical_not(self == other) - def _forbidden_operation(self, other: Any) -> NoReturn: + @staticmethod + def _forbidden_operation(*__args: object, **__kwds: object) -> NoReturn: msg = ( "Forbidden operation. The only operations allowed on EnumArrays " "are '==' and '!='." ) - raise TypeError( - msg, - ) + raise TypeError(msg) __add__ = _forbidden_operation __mul__ = _forbidden_operation @@ -185,42 +363,78 @@

Source code for openfisca_core.indexed_enums.enum_array

[docs] - def decode(self) -> numpy.object_: - """Return the array of enum items corresponding to self. + def decode(self) -> t.ObjArray: + """Decode itself to a normal array. + + Returns: + ndarray[Enum]: The items of the :obj:`.EnumArray`. + + Raises: + TypeError: When the :attr:`.possible_values` is not defined. - For instance: + Examples: + >>> import numpy - >>> enum_array = household("housing_occupancy_status", period) - >>> enum_array[0] - >>> 2 # Encoded value - >>> enum_array.decode()[0] - <HousingOccupancyStatus.free_lodger: 'Free lodger'> + >>> from openfisca_core import indexed_enums as enum + + >>> class Housing(enum.Enum): + ... OWNER = "Owner" + ... TENANT = "Tenant" + + >>> array = numpy.array([1]) + >>> enum_array = enum.EnumArray(array, Housing) + >>> enum_array.decode() + array([Housing.TENANT], dtype=object) - Decoded value: enum item """ - return numpy.select( - [self == item.index for item in self.possible_values], - list(self.possible_values), - )
+ result: t.ObjArray + if self.possible_values is None: + msg = ( + f"The possible values of the {self.__class__.__name__} are " + f"not defined." + ) + raise TypeError(msg) + array = self.reshape(1).astype(t.EnumDType) if self.ndim == 0 else self + result = self.possible_values.enums[array] + return result
[docs] - def decode_to_str(self) -> numpy.str_: - """Return the array of string identifiers corresponding to self. + def decode_to_str(self) -> t.StrArray: + """Decode itself to an array of strings. + + Returns: + ndarray[str_]: The string values of the :obj:`.EnumArray`. - For instance: + Raises: + TypeError: When the :attr:`.possible_values` is not defined. + + Examples: + >>> import numpy + + >>> from openfisca_core import indexed_enums as enum + + >>> class Housing(enum.Enum): + ... OWNER = "Owner" + ... TENANT = "Tenant" + + >>> array = numpy.array([1]) + >>> enum_array = enum.EnumArray(array, Housing) + >>> enum_array.decode_to_str() + array(['TENANT'], dtype='<U6') - >>> enum_array = household("housing_occupancy_status", period) - >>> enum_array[0] - >>> 2 # Encoded value - >>> enum_array.decode_to_str()[0] - 'free_lodger' # String identifier """ - return numpy.select( - [self == item.index for item in self.possible_values], - [item.name for item in self.possible_values], - )
+ result: t.StrArray + if self.possible_values is None: + msg = ( + f"The possible values of the {self.__class__.__name__} are " + f"not defined." + ) + raise TypeError(msg) + array = self.reshape(1).astype(t.EnumDType) if self.ndim == 0 else self + result = self.possible_values.names[array] + return result
def __repr__(self) -> str: @@ -229,6 +443,9 @@

Source code for openfisca_core.indexed_enums.enum_array

def __str__(self) -> str: return str(self.decode_to_str())
+ + +__all__ = ["EnumArray"]
diff --git a/doc/_modules/openfisca_core/simulations/simulation.html b/doc/_modules/openfisca_core/simulations/simulation.html index d6b05e7c..08a2561d 100644 --- a/doc/_modules/openfisca_core/simulations/simulation.html +++ b/doc/_modules/openfisca_core/simulations/simulation.html @@ -117,7 +117,11 @@

Source code for openfisca_core.simulations.simulation

from collections.abc import Mapping from typing import NamedTuple -from openfisca_core.types import Population, TaxBenefitSystem, Variable +from openfisca_core.types import ( + CorePopulation as Population, + TaxBenefitSystem, + Variable, +) import tempfile import warnings diff --git a/doc/_modules/openfisca_core/types.html b/doc/_modules/openfisca_core/types.html index 3a7a7515..664b6a95 100644 --- a/doc/_modules/openfisca_core/types.html +++ b/doc/_modules/openfisca_core/types.html @@ -115,26 +115,59 @@

Source code for openfisca_core.types

 from __future__ import annotations
 
 from collections.abc import Iterable, Sequence, Sized
-from numpy.typing import NDArray
-from typing import Any, NewType, TypeVar, Union
-from typing_extensions import Protocol, TypeAlias
+from numpy.typing import DTypeLike, NDArray
+from typing import NewType, TypeVar, Union
+from typing_extensions import Protocol, Self, TypeAlias
+
+import abc
+import enum
 
 import numpy
 import pendulum
 
-_N_co = TypeVar("_N_co", bound=numpy.generic, covariant=True)
+#: Generic covariant type var.
+_T_co = TypeVar("_T_co", covariant=True)
+
+# Commons
+
+#: Type var for numpy arrays.
+_N_co = TypeVar("_N_co", covariant=True, bound="DTypeGeneric")
 
 #: Type representing an numpy array.
 Array: TypeAlias = NDArray[_N_co]
 
+#: Type var for array-like objects.
 _L = TypeVar("_L")
 
 #: Type representing an array-like object.
 ArrayLike: TypeAlias = Sequence[_L]
 
-#: Generic type vars.
-_T_co = TypeVar("_T_co", covariant=True)
+#: Type for bool arrays.
+DTypeBool: TypeAlias = numpy.bool_
+
+#: Type for int arrays.
+DTypeInt: TypeAlias = numpy.int32
+
+#: Type for float arrays.
+DTypeFloat: TypeAlias = numpy.float32
+
+#: Type for string arrays.
+DTypeStr: TypeAlias = numpy.str_
 
+#: Type for bytes arrays.
+DTypeBytes: TypeAlias = numpy.bytes_
+
+#: Type for Enum arrays.
+DTypeEnum: TypeAlias = numpy.uint8
+
+#: Type for date arrays.
+DTypeDate: TypeAlias = numpy.datetime64
+
+#: Type for "object" arrays.
+DTypeObject: TypeAlias = numpy.object_
+
+#: Type for "generic" arrays.
+DTypeGeneric: TypeAlias = numpy.generic
 
 # Entities
 
@@ -198,14 +231,46 @@ 

Source code for openfisca_core.types

 
 
 
+# Indexed enums
+
+
+
+[docs] +class EnumType(enum.EnumMeta): + indices: Array[DTypeEnum] + names: Array[DTypeStr] + enums: Array[DTypeObject]
+ + + +
+[docs] +class Enum(enum.Enum, metaclass=EnumType): + index: int + _member_names_: list[str]
+ + + +
+[docs] +class EnumArray(Array[DTypeEnum], metaclass=abc.ABCMeta): + possible_values: None | type[Enum] + + @abc.abstractmethod + def __new__( + cls, input_array: Array[DTypeEnum], possible_values: type[Enum] + ) -> Self: ...
+ + + # Holders
[docs] class Holder(Protocol): - def clone(self, population: Any, /) -> Holder: ... - def get_memory_usage(self, /) -> Any: ...
+ def clone(self, population: CorePopulation, /) -> Holder: ... + def get_memory_usage(self, /) -> dict[str, object]: ...
@@ -276,6 +341,7 @@

Source code for openfisca_core.types

     def size(self, /) -> int: ...
     @property
     def stop(self, /) -> Instant: ...
+    def contains(self, other: Period, /) -> bool: ...
     def offset(self, offset: str | int, unit: None | DateUnit = None, /) -> Period: ...
@@ -283,12 +349,24 @@

Source code for openfisca_core.types

 # Populations
 
 
-
-[docs] -class Population(Protocol): - entity: Any +
+[docs] +class CorePopulation(Protocol): ...
- def get_holder(self, variable_name: VariableName, /) -> Any: ...
+ + +
+[docs] +class SinglePopulation(CorePopulation, Protocol): + entity: SingleEntity + + def get_holder(self, variable_name: VariableName, /) -> Holder: ...
+ + + +
+[docs] +class GroupPopulation(CorePopulation, Protocol): ...
@@ -298,10 +376,16 @@

Source code for openfisca_core.types

 
[docs] class Simulation(Protocol): - def calculate(self, variable_name: VariableName, period: Any, /) -> Any: ... - def calculate_add(self, variable_name: VariableName, period: Any, /) -> Any: ... - def calculate_divide(self, variable_name: VariableName, period: Any, /) -> Any: ... - def get_population(self, plural: None | str, /) -> Any: ...
+ def calculate( + self, variable_name: VariableName, period: Period, / + ) -> Array[DTypeGeneric]: ... + def calculate_add( + self, variable_name: VariableName, period: Period, / + ) -> Array[DTypeGeneric]: ... + def calculate_divide( + self, variable_name: VariableName, period: Period, / + ) -> Array[DTypeGeneric]: ... + def get_population(self, plural: None | str, /) -> CorePopulation: ...
@@ -311,7 +395,7 @@

Source code for openfisca_core.types

 
[docs] class TaxBenefitSystem(Protocol): - person_entity: Any + person_entity: SingleEntity def get_variable( self, @@ -331,7 +415,7 @@

Source code for openfisca_core.types

 
[docs] class Variable(Protocol): - entity: Any + entity: CoreEntity name: VariableName
@@ -344,11 +428,11 @@

Source code for openfisca_core.types

     def __call__(
self, - population: Population, + population: CorePopulation, instant: Instant, params: Params, /, - ) -> Array[Any]: ...
+ ) -> Array[DTypeGeneric]: ...
@@ -360,6 +444,9 @@

Source code for openfisca_core.types

     def __call__(self, instant: Instant, /) -> ParameterNodeAtInstant: ...
+ + +__all__ = ["DTypeLike"]
diff --git a/doc/genindex.html b/doc/genindex.html index aab987d3..8bf82296 100644 --- a/doc/genindex.html +++ b/doc/genindex.html @@ -226,10 +226,10 @@

C

  • (openfisca_core.entities.GroupEntity method)
  • - - + - + + - - +
  • GroupPopulation (class in openfisca_core.populations) + +
  • @@ -418,6 +452,8 @@

    H

    I

    @@ -921,6 +957,8 @@

    S

  • (in module openfisca_core.entities)
  • +
  • SinglePopulation (class in openfisca_core.types) +
  • SituationParsingError (class in openfisca_core.errors)
  • SpiralError (class in openfisca_core.errors) diff --git a/doc/objects.inv b/doc/objects.inv index 7cd737f9..1028d7c0 100644 Binary files a/doc/objects.inv and b/doc/objects.inv differ diff --git a/doc/openfisca-python-api/commons.html b/doc/openfisca-python-api/commons.html index ddbeaa7a..e2d04628 100644 --- a/doc/openfisca-python-api/commons.html +++ b/doc/openfisca-python-api/commons.html @@ -143,55 +143,6 @@

    Navigation

    Commons¶

    Common tools for contributors and users.

    -

    The tools in this sub-package are intended, to help both contributors -to OpenFisca Core and to country packages.

    -
    -
    Official Public API:
    -
    -
    Deprecated:
    -
    -
    -
    -

    Note

    -

    The deprecated imports are transitional, in order to ensure non-breaking -changes, and could be removed from the codebase in the next -major release.

    -
    -
    -

    Note

    -

    How imports are being used today:

    -
    from openfisca_core.commons import *  # Bad
    -from openfisca_core.commons.formulas import switch  # Bad
    -from openfisca_core.commons.decorators import deprecated  # Bad
    -
    -
    -

    The previous examples provoke cyclic dependency problems, that prevent us -from modularizing the different components of the library, which would make -them easier to test and to maintain.

    -

    How they could be used in a future release:

    -
    from openfisca_core import commons
    -from openfisca_core.commons import deprecated
    -
    -deprecated()  # Good: import classes as publicly exposed
    -commons.switch()  # Good: use functions as publicly exposed
    -
    -
    - -
    class openfisca_core.commons.Dummy[source]¶
    @@ -217,19 +168,16 @@

    Navigation

    Parameters:
      -
    • input (ndarray[Any, dtype[float32]]) – A list of inputs to make a choice from.

    • -
    • thresholds (Sequence[float]) – A list of thresholds to choose.

    • -
    • choices (Sequence[float]) – A list of the possible values to choose from.

    • +
    • input (ndarray[Any, dtype[float32]]) – A list of inputs to make a choice from.

    • +
    • thresholds (Sequence[float]) – A list of thresholds to choose.

    • +
    • choices (Sequence[float]) – A list of the possible values to choose from.

    Returns:
    -

    Array[numpy.float32] – A list of the values chosen.

    -
    -
    Raises:
    -

    AssertionError – When thresholds and choices are incompatible.

    +

    ndarray[float32] – A list of the values chosen.

    -
    Return type:
    -

    ndarray[Any, dtype[float32]]

    +
    Return type:
    +

    ndarray[Any, dtype[float32]]

    Examples

    @@ -256,18 +204,18 @@

    Navigation

    Parameters:
    Returns:
    -

    Array[numpy.float32] – The average rate for each target. When trim +

    ndarray[float32] – The average rate for each target. When trim is provided, values that are out of the provided bounds are -replaced by numpy.nan.

    +replaced by numpy.nan.

    Return type:
    -

    ndarray[Any, dtype[float32]]

    +

    ndarray[Any, dtype[float32]]

    Examples

    @@ -287,15 +235,15 @@

    Navigation

    Parameters:
    Returns:
    -

    Array[numpy.str_] – An array with the concatenated values.

    +

    ndarray[str_] – An array with the concatenated values.

    Return type:
    -

    ndarray[Any, dtype[str_]]

    +

    ndarray[Any, dtype[str_]]

    Examples

    @@ -313,13 +261,13 @@

    Navigation

    Create an empty instance of the same class of the original object.

    Parameters:
    -

    original (object) – An object to clone.

    +

    original (object) – An object to clone.

    Returns:
    -

    The cloned, empty, object.

    +

    object – The cloned, empty, object.

    Return type:
    -

    object

    +

    object

    Examples

    @@ -346,16 +294,16 @@

    Navigation

    Evaluate a string expression to a numpy array.

    Parameters:
    -

    expression (str) – An expression to evaluate.

    +

    expression (str) – An expression to evaluate.

    Returns:
      -
    • Array – The result of the evaluation.

    • +
    • ndarray – The result of the evaluation.

    • str – The expression if it couldn’t be evaluated.

    Return type:
    -

    str | ndarray[Any, dtype[bool_]] | ndarray[Any, dtype[int32]] | ndarray[Any, dtype[float32]]

    +

    str | ndarray[Any, dtype[bool_]] | ndarray[Any, dtype[int32]] | ndarray[Any, dtype[float32]]

    Examples

    @@ -383,20 +331,18 @@

    Navigation

    Parameters:
    Returns:
    -
      -
    • Array[numpy.float32] – The marginal rate for each target. When trim

    • -
    • is provided, values that are out of the provided bounds are replaced by

    • -
    • :any:`numpy.nan`.

    • -
    +

    ndarray[float32] – The marginal rate for each target. When trim +is provided, values that are out of the provided bounds are +replaced by numpy.nan.

    Return type:
    -

    ndarray[Any, dtype[float32]]

    +

    ndarray[Any, dtype[float32]]

    Examples

    @@ -415,16 +361,16 @@

    Navigation

    Generate a clean string representation of a numpy array.

    Parameters:
    -

    array (None | ndarray[Any, dtype[generic]]) – An array.

    +

    array (None | ndarray[Any, dtype[generic]]) – An array.

    Returns:
      -
    • str – “None” if the array is None.

    • +
    • str – "None" if the array is None.

    • str – The stringified array otherwise.

    Return type:
    -

    str

    +

    str

    Examples

    @@ -459,18 +405,15 @@

    Navigation

    Parameters:
    Returns:
    -

    Array – An array with the replaced values.

    -
    -
    Raises:
    -

    AssertionError – When value_by_condition is empty.

    +

    ndarray[float32] – An array with the replaced values.

    -
    Return type:
    -

    ndarray[Any, dtype[float32]]

    +
    Return type:
    +

    ndarray[Any, dtype[float32]]

    Examples

    diff --git a/doc/openfisca-python-api/entities.html b/doc/openfisca-python-api/entities.html index 67525030..0eddb4c1 100644 --- a/doc/openfisca-python-api/entities.html +++ b/doc/openfisca-python-api/entities.html @@ -149,10 +149,10 @@

    Navigation

    Parameters:
      -
    • key (str) – A key to identify the Entity.

    • -
    • plural (str) – The key pluralised.

    • -
    • label (str) – A summary description.

    • -
    • doc (str) – A full description.

    • +
    • key (str) – A key to identify the Entity.

    • +
    • plural (str) – The key pluralised.

    • +
    • label (str) – A summary description.

    • +
    • doc (str) – A full description.

    @@ -162,13 +162,13 @@

    Navigation

    Check if role is an instance of Role.

    Parameters:
    -

    role (object) – Any object.

    +

    role (object) – Any object.

    Raises:
    -

    ValueError – When role is not a Role.

    +

    ValueError – When role is not a Role.

    Return type:
    -

    None

    +

    None

    @@ -179,7 +179,7 @@

    Navigation

    Check if variable_name is defined for self.

    Parameters:
    -

    variable_name (NewType(VariableName, str)) – The Variable to be found.

    +

    variable_name (NewType(VariableName, str)) – The Variable to be found.

    Returns:
      @@ -188,18 +188,18 @@

      Navigation

    Raises:
    -

    ValueError – When the Variable exists but is defined +

    ValueError – When the Variable exists but is defined for another Entity.

    Return type:
    -

    None

    +

    None

    -doc: str¶
    +doc: str¶

    A full description.

    @@ -210,8 +210,8 @@

    Navigation

    Parameters:
      -
    • variable_name (NewType(VariableName, str)) – The Variable to be found.

    • -
    • check_existence (bool) – Was the Variable found?

    • +
    • variable_name (NewType(VariableName, str)) – The Variable to be found.

    • +
    • check_existence (bool) – Was the Variable found?

    Returns:
    @@ -221,36 +221,36 @@

    Navigation

    Raises:
    -

    ValueError – When check_existence is True and +

    ValueError – When check_existence is True and the Variable doesn’t exist.

    Return type:
    -

    Variable | None

    +

    Variable | None

    -is_person: ClassVar[bool] = True¶
    +is_person: ClassVar[bool] = True¶

    Whether the Entity is a person or not.

    -key: NewType(EntityKey, str)¶
    +key: NewType(EntityKey, str)¶

    A key to identify the Entity.

    -label: str¶
    +label: str¶

    A summary description.

    -plural: NewType(EntityPlural, str)¶
    +plural: NewType(EntityPlural, str)¶

    The key pluralised.

    @@ -260,7 +260,7 @@

    Navigation

    A _CoreEntity belongs to a TaxBenefitSystem.

    Return type:
    -

    None

    +

    None

    @@ -276,12 +276,12 @@

    Navigation

    Parameters:
      -
    • key (str) – A key to identify the GroupEntity.

    • -
    • plural (str) – The key pluralised.

    • -
    • label (str) – A summary description.

    • -
    • doc (str) – A full description.

    • -
    • roles (Sequence[RoleParams]) – The list of roles of the group entity.

    • -
    • containing_entities (Iterable[str]) – The list of keys of group entities whose members +

    • key (str) – A key to identify the GroupEntity.

    • +
    • plural (str) – The key pluralised.

    • +
    • label (str) – A summary description.

    • +
    • doc (str) – A full description.

    • +
    • roles (Sequence[RoleParams]) – The list of roles of the group entity.

    • +
    • containing_entities (Iterable[str]) – The list of keys of group entities whose members are guaranteed to be a superset of this group’s entities.

    @@ -292,13 +292,13 @@

    Navigation

    Check if role is an instance of Role.

    Parameters:
    -

    role (object) – Any object.

    +

    role (object) – Any object.

    Raises:
    -

    ValueError – When role is not a Role.

    +

    ValueError – When role is not a Role.

    Return type:
    -

    None

    +

    None

    @@ -309,7 +309,7 @@

    Navigation

    Check if variable_name is defined for self.

    Parameters:
    -

    variable_name (NewType(VariableName, str)) – The Variable to be found.

    +

    variable_name (NewType(VariableName, str)) – The Variable to be found.

    Returns:
      @@ -318,18 +318,18 @@

      Navigation

    Raises:
    -

    ValueError – When the Variable exists but is defined +

    ValueError – When the Variable exists but is defined for another Entity.

    Return type:
    -

    None

    +

    None

    -doc: str¶
    +doc: str¶

    A full description.

    @@ -340,8 +340,8 @@

    Navigation

    Parameters:
      -
    • variable_name (NewType(VariableName, str)) – The Variable to be found.

    • -
    • check_existence (bool) – Was the Variable found?

    • +
    • variable_name (NewType(VariableName, str)) – The Variable to be found.

    • +
    • check_existence (bool) – Was the Variable found?

    Returns:
    @@ -351,42 +351,42 @@

    Navigation

    Raises:
    -

    ValueError – When check_existence is True and +

    ValueError – When check_existence is True and the Variable doesn’t exist.

    Return type:
    -

    Variable | None

    +

    Variable | None

    -is_person: ClassVar[bool] = False¶
    +is_person: ClassVar[bool] = False¶

    Whether the entity is a person or not.

    -key: NewType(EntityKey, str)¶
    +key: NewType(EntityKey, str)¶

    A key to identify the Entity.

    -label: str¶
    +label: str¶

    A summary description.

    -plural: NewType(EntityPlural, str)¶
    +plural: NewType(EntityPlural, str)¶

    The key pluralised.

    -roles: Iterable[Role]¶
    +roles: Iterable[Role]¶

    The list of roles of the GroupEntity.

    @@ -396,7 +396,7 @@

    Navigation

    A _CoreEntity belongs to a TaxBenefitSystem.

    Return type:
    -

    None

    +

    None

    @@ -453,7 +453,7 @@

    Navigation

    -property doc: None | str¶
    +property doc: None | str¶

    A full description, non-indented.

    @@ -471,25 +471,25 @@

    Navigation

    -property label: None | str¶
    +property label: None | str¶

    A summary description.

    -max: None | int = None¶
    +max: None | int = None¶

    Max number of members.

    -property plural: None | RolePlural¶
    +property plural: None | RolePlural¶

    The key pluralised.

    -subroles: None | Iterable[Role] = None¶
    +subroles: None | Iterable[Role] = None¶

    A list of subroles.

    @@ -508,15 +508,15 @@

    Navigation

    Parameters:
      -
    • key (str) – Key to identify the Entity or GroupEntity.

    • -
    • plural (str) – The key pluralised.

    • -
    • label (str) – A summary description.

    • -
    • doc (str) – A full description.

    • -
    • roles (None | Sequence[RoleParams]) – A list of roles —if it’s a GroupEntity.

    • -
    • is_person (bool) – If is an individual, or not.

    • -
    • class_override (object) –

      ?

      +
    • key (str) – Key to identify the Entity or GroupEntity.

    • +
    • plural (str) – The key pluralised.

    • +
    • label (str) – A summary description.

    • +
    • doc (str) – A full description.

    • +
    • roles (None | Sequence[RoleParams]) – A list of roles —if it’s a GroupEntity.

    • +
    • is_person (bool) – If is an individual, or not.

    • +
    • class_override (object) –

      ?

    • -
    • containing_entities (Sequence[str]) – Keys of contained entities.

    • +
    • containing_entities (Sequence[str]) – Keys of contained entities.

    Returns:
    @@ -526,7 +526,7 @@

    Navigation

    Raises:
    -

    NotImplementedError – If roles is None.

    +

    NotImplementedError – If roles is None.

    Return type:

    SingleEntity | GroupEntity

    @@ -578,9 +578,9 @@

    Navigation

    Parameters:
      -
    • roles (Iterable[Role]) – The roles to search.

    • -
    • key (NewType(RoleKey, str)) – The key of the role to find.

    • -
    • total (None | int) – The max attribute of the role to find.

    • +
    • roles (Iterable[Role]) – The roles to search.

    • +
    • key (NewType(RoleKey, str)) – The key of the role to find.

    • +
    • total (None | int) – The max attribute of the role to find.

    Returns:
    @@ -590,7 +590,7 @@

    Navigation

    Return type:
    -

    None | Role

    +

    None | Role

    Examples

    diff --git a/doc/openfisca-python-api/enum_array.html b/doc/openfisca-python-api/enum_array.html index 9afe3aa3..d8baea1e 100644 --- a/doc/openfisca-python-api/enum_array.html +++ b/doc/openfisca-python-api/enum_array.html @@ -144,84 +144,298 @@

    Navigation

    Enum & EnumArray¶

    -class openfisca_core.indexed_enums.Enum(name)[source]¶
    -

    Enum based on enum34, whose items -have an index.

    +class openfisca_core.indexed_enums.Enum(*_Enum__args, **_Enum__kwargs)[source]¶ +

    Enum based on enum34.

    +

    Its items have an int index, useful and performant when running +simulations on large populations.

    +

    Examples

    +
    >>> from openfisca_core import indexed_enums as enum
    +
    +
    +
    >>> class Housing(enum.Enum):
    +...     OWNER = "Owner"
    +...     TENANT = "Tenant"
    +...     FREE_LODGER = "Free lodger"
    +...     HOMELESS = "Homeless"
    +
    +
    +
    >>> repr(Housing)
    +"<enum 'Housing'>"
    +
    +
    +
    >>> repr(Housing.TENANT)
    +'Housing.TENANT'
    +
    +
    +
    >>> str(Housing.TENANT)
    +'Housing.TENANT'
    +
    +
    +
    >>> dict([(Housing.TENANT, Housing.TENANT.value)])
    +{Housing.TENANT: 'Tenant'}
    +
    +
    +
    >>> list(Housing)
    +[Housing.OWNER, Housing.TENANT, Housing.FREE_LODGER, Housing.HOMELESS]
    +
    +
    +
    >>> Housing["TENANT"]
    +Housing.TENANT
    +
    +
    +
    >>> Housing("Tenant")
    +Housing.TENANT
    +
    +
    +
    >>> Housing.TENANT in Housing
    +True
    +
    +
    +
    >>> len(Housing)
    +4
    +
    +
    +
    >>> Housing.TENANT == Housing.TENANT
    +True
    +
    +
    +
    >>> Housing.TENANT != Housing.TENANT
    +False
    +
    +
    +
    >>> Housing.TENANT.index
    +1
    +
    +
    +
    >>> Housing.TENANT.name
    +'TENANT'
    +
    +
    +
    >>> Housing.TENANT.value
    +'Tenant'
    +
    +
    classmethod encode(array)[source]¶
    -

    Encode a string numpy array, an enum item numpy array, or an int numpy -array into an EnumArray. See EnumArray.decode for -decoding.

    +

    Encode an encodable array into an EnumArray.

    Parameters:
    -

    array (numpy.ndarray) – Array of string identifiers, or of enum -items, to encode.

    +

    array (ndarray[Any, dtype[generic]] | Sequence[object]) – ndarray to encode.

    Returns:
    -

    An EnumArray encoding the input array values.

    +

    EnumArray – An EnumArray with the encoded input values.

    Return type:
    -

    EnumArray

    +

    EnumArray

    -

    For instance:

    -
    >>> string_identifier_array = asarray(["free_lodger", "owner"])
    ->>> encoded_array = HousingOccupancyStatus.encode(string_identifier_array)
    ->>> encoded_array[0]
    -2  # Encoded value
    +

    Examples

    +
    >>> import numpy
    +
    +
    +
    >>> from openfisca_core import indexed_enums as enum
    +
    +
    +
    >>> class Housing(enum.Enum):
    +...     OWNER = "Owner"
    +...     TENANT = "Tenant"
    +
    +
    +

    # EnumArray

    +
    >>> array = numpy.array([1])
    +>>> enum_array = enum.EnumArray(array, Housing)
    +>>> Housing.encode(enum_array)
    +EnumArray([Housing.TENANT])
    +
    +
    +

    # Array of Enum

    +
    >>> array = numpy.array([Housing.TENANT])
    +>>> enum_array = Housing.encode(array)
    +>>> enum_array == Housing.TENANT
    +array([ True])
    +
    +
    +

    # Array of integers

    +
    >>> array = numpy.array([1])
    +>>> enum_array = Housing.encode(array)
    +>>> enum_array == Housing.TENANT
    +array([ True])
    +
    +
    +

    # Array of strings

    +
    >>> array = numpy.array(["TENANT"])
    +>>> enum_array = Housing.encode(array)
    +>>> enum_array == Housing.TENANT
    +array([ True])
     
    -
    >>> free_lodger = HousingOccupancyStatus.free_lodger
    ->>> owner = HousingOccupancyStatus.owner
    ->>> enum_item_array = asarray([free_lodger, owner])
    ->>> encoded_array = HousingOccupancyStatus.encode(enum_item_array)
    ->>> encoded_array[0]
    -2  # Encoded value
    +

    # Array of bytes

    +
    >>> array = numpy.array([b"TENANT"])
    +>>> enum_array = Housing.encode(array)
    +Traceback (most recent call last):
    +EnumEncodingError: Failed to encode "[b'TENANT']" of type 'bytes...
     
    +
    +

    See also

    +

    EnumArray.decode() for decoding.

    +
    +
    + +
    +
    +index: int¶
    +

    The index of the Enum member.

    -class openfisca_core.indexed_enums.EnumArray(input_array: t.Array[numpy.int16], possible_values: type[Enum] | None = None)[source]¶
    -

    NumPy array subclass representing an array of enum items.

    -

    EnumArrays are encoded as int arrays to improve performance

    +class openfisca_core.indexed_enums.EnumArray(input_array: ndarray[Any, dtype[uint8]], possible_values: type[Enum])[source]¶ +

    A subclass of ndarray of Enum.

    +

    Enum arrays are encoded as int to improve performance.

    +
    +

    Note

    +

    Subclassing ndarray is a little tricky™. To read more +about the __new__() and __array_finalize__() methods +below, see Subclassing ndarray.

    +
    +

    Examples

    +
    >>> import numpy
    +
    +
    +
    >>> from openfisca_core import indexed_enums as enum, variables
    +
    +
    +
    >>> class Housing(enum.Enum):
    +...     OWNER = "Owner"
    +...     TENANT = "Tenant"
    +...     FREE_LODGER = "Free lodger"
    +...     HOMELESS = "Homeless"
    +
    +
    +
    >>> array = numpy.array([1], dtype=numpy.int16)
    +>>> enum_array = enum.EnumArray(array, Housing)
    +
    +
    +
    >>> repr(enum.EnumArray)
    +"<class 'openfisca_core.indexed_enums.enum_array.EnumArray'>"
    +
    +
    +
    >>> repr(enum_array)
    +'EnumArray([Housing.TENANT])'
    +
    +
    +
    >>> str(enum_array)
    +"['TENANT']"
    +
    +
    +
    >>> list(map(int, enum_array))
    +[1]
    +
    +
    +
    >>> int(enum_array[0])
    +1
    +
    +
    +
    >>> enum_array[0] in enum_array
    +True
    +
    +
    +
    >>> len(enum_array)
    +1
    +
    +
    +
    >>> enum_array = enum.EnumArray(list(Housing), Housing)
    +Traceback (most recent call last):
    +AttributeError: 'list' object has no attribute 'view'
    +
    +
    +
    >>> class OccupancyStatus(variables.Variable):
    +...     value_type = enum.Enum
    +...     possible_values = Housing
    +
    +
    +
    >>> enum.EnumArray(array, OccupancyStatus.possible_values)
    +EnumArray([Housing.TENANT])
    +
    +
    decode()[source]¶
    -

    Return the array of enum items corresponding to self.

    -

    For instance:

    -
    >>> enum_array = household("housing_occupancy_status", period)
    ->>> enum_array[0]
    ->>> 2  # Encoded value
    -:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~numpy.object\_\``
    +

    Decode itself to a normal array.

    +
    +
    Returns:
    +

    ndarray[Enum] – The items of the EnumArray.

    +
    +
    Raises:
    +

    TypeError – When the possible_values is not defined.

    +
    +
    Return type:
    +

    ndarray[Any, dtype[object_]]

    +
    +
    +

    Examples

    +
    >>> import numpy
    +
    +
    +
    >>> from openfisca_core import indexed_enums as enum
    +
    +
    +
    >>> class Housing(enum.Enum):
    +...     OWNER = "Owner"
    +...     TENANT = "Tenant"
     
    -
    >>> enum_array.decode()[0]
    -<HousingOccupancyStatus.free_lodger: 'Free lodger'>
    +
    >>> array = numpy.array([1])
    +>>> enum_array = enum.EnumArray(array, Housing)
    +>>> enum_array.decode()
    +array([Housing.TENANT], dtype=object)
     
    -

    Decoded value: enum item

    decode_to_str()[source]¶
    -

    Return the array of string identifiers corresponding to self.

    -

    For instance:

    -
    >>> enum_array = household("housing_occupancy_status", period)
    ->>> enum_array[0]
    ->>> 2  # Encoded value
    -:rtype: :sphinx_autodoc_typehints_type:`\:py\:class\:\`\~numpy.str\_\``
    +

    Decode itself to an array of strings.

    +
    +
    Returns:
    +

    ndarray[str_] – The string values of the EnumArray.

    +
    +
    Raises:
    +

    TypeError – When the possible_values is not defined.

    +
    +
    Return type:
    +

    ndarray[Any, dtype[str_]]

    +
    +
    +

    Examples

    +
    >>> import numpy
     
    -
    >>> enum_array.decode_to_str()[0]
    -'free_lodger'  # String identifier
    +
    >>> from openfisca_core import indexed_enums as enum
     
    +
    >>> class Housing(enum.Enum):
    +...     OWNER = "Owner"
    +...     TENANT = "Tenant"
    +
    +
    +
    >>> array = numpy.array([1])
    +>>> enum_array = enum.EnumArray(array, Housing)
    +>>> enum_array.decode_to_str()
    +array(['TENANT'], dtype='<U6')
    +
    +
    +
    + +
    +
    +possible_values: None | type[Enum]¶
    +

    Enum type of the array items.

    diff --git a/doc/openfisca-python-api/holder.html b/doc/openfisca-python-api/holder.html index 30336b0e..362b9b58 100644 --- a/doc/openfisca-python-api/holder.html +++ b/doc/openfisca-python-api/holder.html @@ -165,7 +165,7 @@

    Navigation

    If period is not None, only remove all values for any period included in period (e.g. if period is “2017”, values for “2017-01”, “2017-07”, etc. would be removed)

    Return type:
    -

    None

    +

    None

    @@ -246,14 +246,14 @@

    Navigation

    Parameters:
    • period (Period) – The period at which the value is set.

    • -
    • array (ndarray | Sequence[Any]) – The input value for the variable.

    • +
    • array (ndarray | Sequence[Any]) – The input value for the variable.

    Returns:

    The set input array.

    Return type:
    -

    ndarray | None

    +

    ndarray | None

    @@ -306,7 +306,7 @@

    Navigation

    To read more about set_input attributes, check the documentation.

    Return type:
    -

    None

    +

    None

    @@ -319,7 +319,7 @@

    Navigation

    To read more about set_input attributes, check the documentation.

    Return type:
    -

    None

    +

    None

    diff --git a/doc/openfisca-python-api/index.html b/doc/openfisca-python-api/index.html index 1f7a6f4f..583ee97c 100644 --- a/doc/openfisca-python-api/index.html +++ b/doc/openfisca-python-api/index.html @@ -347,11 +347,13 @@

    OpenFisca Python APIEnum & EnumArray @@ -404,14 +406,28 @@

    OpenFisca Python APIArrayLike

  • Container
  • CoreEntity
  • +
  • CorePopulation
  • +
  • DTypeBool
  • +
  • DTypeBytes
  • +
  • DTypeDate
  • +
  • DTypeEnum
  • +
  • DTypeFloat
  • +
  • DTypeGeneric
  • +
  • DTypeInt
  • +
  • DTypeObject
  • +
  • DTypeStr
  • DateUnit
  • EntityKey
  • EntityPlural
  • +
  • Enum
  • +
  • EnumArray
  • +
  • EnumType
  • Formula
  • GroupEntity
  • +
  • GroupPopulation
  • Holder
  • Indexable
  • Instant
  • @@ -423,12 +439,12 @@

    OpenFisca Python APIPeriod
  • PeriodStr
  • -
  • Population
  • Role
  • RoleKey
  • RolePlural
  • Simulation
  • SingleEntity
  • +
  • SinglePopulation
  • TaxBenefitSystem
  • Variable
  • VariableName
  • diff --git a/doc/openfisca-python-api/parameters.html b/doc/openfisca-python-api/parameters.html index cc70cf2a..5a12afdb 100644 --- a/doc/openfisca-python-api/parameters.html +++ b/doc/openfisca-python-api/parameters.html @@ -162,9 +162,9 @@

    Navigation

    Parameters:
      -
    • name (str) – Name of the parameter, e.g. “taxes.some_tax.some_param”.

    • -
    • data (dict) – Data loaded from a YAML file.

    • -
    • file_path (str | None) – File the parameter was loaded from.

    • +
    • name (str) – Name of the parameter, e.g. “taxes.some_tax.some_param”.

    • +
    • data (dict) – Data loaded from a YAML file.

    • +
    • file_path (str | None) – File the parameter was loaded from.

    @@ -199,7 +199,7 @@

    Navigation

    Return type:
    -

    None

    +

    None

    @@ -228,7 +228,7 @@

    Navigation

    Return type:
    -

    None

    +

    None

    @@ -246,7 +246,7 @@

    Navigation

    In case of child name conflict, the other node child will replace the current node child.

    Return type:
    -

    None

    +

    None

    @@ -282,7 +282,7 @@

    Navigation

    Check that a node can be casted to a vectorial node, in order to be able to use fancy indexing.

    Return type:
    -

    None

    +

    None

    diff --git a/doc/openfisca-python-api/periods.html b/doc/openfisca-python-api/periods.html index cffa7ad7..5212ffeb 100644 --- a/doc/openfisca-python-api/periods.html +++ b/doc/openfisca-python-api/periods.html @@ -153,7 +153,7 @@

    Navigation

    Either year, month, day or eternity.

    Type:
    -

    str

    +

    str

    @@ -175,14 +175,14 @@

    Navigation

    The amount of unit, starting at start, at least 1.

    Type:
    -

    int

    +

    int

    Parameters:
    -

    (tuple (tuple(str, .Instant, int))) – The unit, start, and size, accordingly.

    +

    (tuple (tuple(str, .Instant, int))) – The unit, start, and size, accordingly.

    Examples

    @@ -303,7 +303,7 @@

    Navigation

    For instance, period(2015) contains period(2015-01).

    Return type:
    -

    bool

    +

    bool

    @@ -331,7 +331,7 @@

    Navigation

    -property days: int
    +property days: int

    Same as size_in_days.

    @@ -352,7 +352,7 @@

    Navigation

    Return the list of periods of unit unit contained in self.

    Return type:
    -

    Sequence[Period]

    +

    Sequence[Period]

    Examples

    @@ -672,7 +672,7 @@

    Navigation

    -property size: int
    +property size: int

    The size of the Period.

    Example

    >>> instant = Instant((2021, 10, 1))
    @@ -685,7 +685,7 @@ 

    Navigation

    -property size_in_days: int
    +property size_in_days: int

    The size of the Period in days.

    Examples

    >>> instant = Instant((2019, 10, 1))
    @@ -705,7 +705,7 @@ 

    Navigation

    -property size_in_months: int
    +property size_in_months: int

    The size of the Period in months.

    Examples

    >>> instant = Instant((2021, 10, 1))
    @@ -726,7 +726,7 @@ 

    Navigation

    -property size_in_weekdays: int
    +property size_in_weekdays: int

    The size of the Period in weekdays.

    Examples

    >>> instant = Instant((2019, 10, 1))
    @@ -746,7 +746,7 @@ 

    Navigation

    -property size_in_weeks: int
    +property size_in_weeks: int

    The size of the Period in weeks.

    Examples

    >>> instant = Instant((2019, 10, 1))
    @@ -766,7 +766,7 @@ 

    Navigation

    -property size_in_years: int
    +property size_in_years: int

    The size of the Period in years.

    Examples

    >>> instant = Instant((2021, 10, 1))
    @@ -951,13 +951,13 @@ 

    Navigation

    Build a new instant, aka a triple of integers (year, month, day).

    Parameters:
    -

    value (object) – An instant-like object.

    +

    value (object) – An instant-like object.

    Returns:

    :obj:`.Instant` – A new instant.

    Raises:
    -

    ValueError – When the arguments were invalid, like “2021-32-13”.

    +

    ValueError – When the arguments were invalid, like “2021-32-13”.

    Return type:

    Instant

    @@ -1013,7 +1013,7 @@

    Navigation

    Returns the date representation of an Instant.

    Parameters:
    -

    instant (None | Instant) – An Instant.

    +

    instant (None | Instant) – An Instant.

    Returns:
      @@ -1022,7 +1022,7 @@

      Navigation

    Return type:
    -

    None | date

    +

    None | date

    Examples

    @@ -1045,7 +1045,7 @@

    Navigation

    :obj:`str` – A string.

    Return type:
    -

    str

    +

    str

    Examples

    @@ -1070,13 +1070,13 @@

    Navigation

    Build a new period, aka a triple (unit, start_instant, size).

    Parameters:
    -

    value (object) – A period-like object.

    +

    value (object) – A period-like object.

    Returns:

    :obj:`.Period` – A period.

    Raises:
    -

    ValueError – When the arguments were invalid, like “2021-32-13”.

    +

    ValueError – When the arguments were invalid, like “2021-32-13”.

    Return type:

    Period

    @@ -1131,7 +1131,7 @@

    Navigation

    Retrieves a specific date unit weight.

    Return type:
    -

    int

    +

    int

    Examples

    @@ -1147,7 +1147,7 @@

    Navigation

    Assign weights to date units.

    Return type:
    -

    dict[DateUnit, int]

    +

    dict[DateUnit, int]

    Examples

    diff --git a/doc/openfisca-python-api/populations.html b/doc/openfisca-python-api/populations.html index f2bd371b..f5ef3362 100644 --- a/doc/openfisca-python-api/populations.html +++ b/doc/openfisca-python-api/populations.html @@ -154,7 +154,7 @@

    Navigation

    >>> array([300.0])

    Return type:
    -

    ndarray[Any, dtype[float]] | None

    +

    ndarray[Any, dtype[float]] | None

    Returns:

    A numpy array containing the result of the calculation

    @@ -193,7 +193,7 @@

    Navigation

    >>> array([False])

    Return type:
    -

    ndarray[Any, dtype[bool]] | None

    +

    ndarray[Any, dtype[bool]] | None

    diff --git a/doc/openfisca-python-api/simulation_generator.html b/doc/openfisca-python-api/simulation_generator.html index f2a0737e..9f721ff8 100644 --- a/doc/openfisca-python-api/simulation_generator.html +++ b/doc/openfisca-python-api/simulation_generator.html @@ -181,7 +181,7 @@

    Navigation

    >>> simulation.calculate(“revenu_disponible”, 2017)

    Return type:
    -

    None

    +

    None

    diff --git a/doc/openfisca-python-api/simulations.html b/doc/openfisca-python-api/simulations.html index 2c8578dc..fb74db05 100644 --- a/doc/openfisca-python-api/simulations.html +++ b/doc/openfisca-python-api/simulations.html @@ -206,7 +206,7 @@

    Navigation

    Parameters:
    Returns:
    @@ -309,7 +309,7 @@

    Navigation

    Parameters:
    Returns:
    @@ -346,7 +346,7 @@

    Navigation

    single-entity shortcut.

    Return type:
    -

    dict[str, dict[str, Union[dict[str, Union[str, Iterable[str]]], dict[str, Union[dict[str, object], dict[str, dict[str, object]]]]]]]

    +

    dict[str, dict[str, Union[dict[str, Union[str, Iterable[str]]], dict[str, Union[dict[str, object], dict[str, dict[str, object]]]]]]]

    Examples

    @@ -392,14 +392,14 @@

    Navigation

    Parameters:
    • params (ParamsWithoutAxes) – Simulation parameters.

    • -
    • entities (Iterable[str]) – List of entities in plural form.

    • +
    • entities (Iterable[str]) – List of entities in plural form.

    Raises:

    SituationParsingError – If there are entities that are not in the system.

    Return type:
    -

    None

    +

    None

    Examples

    @@ -433,14 +433,14 @@

    Navigation

    Parameters:
    • params (ParamsWithoutAxes) – Simulation parameters.

    • -
    • entities (Iterable[str]) – List of entities in plural form.

    • +
    • entities (Iterable[str]) – List of entities in plural form.

    Returns:

    bool – True if the input contains entities that are not in the system.

    Return type:
    -

    bool

    +

    bool

    Examples

    diff --git a/doc/openfisca-python-api/tax-benefit-system.html b/doc/openfisca-python-api/tax-benefit-system.html index 864e4a9b..eb539ec4 100644 --- a/doc/openfisca-python-api/tax-benefit-system.html +++ b/doc/openfisca-python-api/tax-benefit-system.html @@ -156,7 +156,7 @@

    Navigation

    Parameters:
    -

    entities (Sequence[Entity]) – Entities used by the tax benefit system.

    +

    entities (Sequence[Entity]) – Entities used by the tax benefit system.

    @@ -183,7 +183,7 @@

    Navigation

    See also add_variable

    Return type:
    -

    None

    +

    None

    @@ -194,7 +194,7 @@

    Navigation

    Recursively explores a directory, and adds all OpenFisca variables found there to the tax and benefit system.

    Return type:
    -

    None

    +

    None

    @@ -205,7 +205,7 @@

    Navigation

    Adds all OpenFisca variables contained in a given file to the tax and benefit system.

    Return type:
    -

    None

    +

    None

    @@ -217,7 +217,7 @@

    Navigation

    The current tax and benefit system is not mutated.

    Parameters:
    -

    reform_path (str) – The reform to apply. Must respect the format installed_package.sub_module.reform

    +

    reform_path (str) – The reform to apply. Must respect the format installed_package.sub_module.reform

    Returns:

    TaxBenefitSystem – A reformed tax and benefit system.

    @@ -241,7 +241,7 @@

    Navigation

    A dictionary with the country package metadata

    Return type:
    -

    dict[str, str]

    +

    dict[str, str]

    Example

    @@ -262,13 +262,13 @@

    Navigation

    Get the parameters of the legislation at a given instant.

    Parameters:
    -

    instant (str | int | Period | Instant) – str formatted “YYYY-MM-DD” or Instant.

    +

    instant (str | int | Period | Instant) – str formatted “YYYY-MM-DD” or Instant.

    Returns:

    The parameters of the legislation at a given instant.

    Return type:
    -

    ParameterNodeAtInstant | None

    +

    ParameterNodeAtInstant | None

    @@ -280,12 +280,12 @@

    Navigation

    Parameters:
      -
    • variable_name (str) – Name of the requested variable.

    • -
    • check_existence (bool) – If True, raise an error if the requested variable does not exist.

    • +
    • variable_name (str) – Name of the requested variable.

    • +
    • check_existence (bool) – If True, raise an error if the requested variable does not exist.

    Return type:
    -

    Variable | None

    +

    Variable | None

    @@ -296,13 +296,13 @@

    Navigation

    Gets all variables contained in a tax and benefit system.

    Parameters:
    -

    entity (Entity | None) – If set, returns the variable defined for the given entity.

    +

    entity (Entity | None) – If set, returns the variable defined for the given entity.

    Returns:

    A dictionary, indexed by variable names.

    Return type:
    -

    dict[str, Variable]

    +

    dict[str, Variable]

    @@ -313,10 +313,10 @@

    Navigation

    Loads an extension to the tax and benefit system.

    Parameters:
    -

    extension (str) – The extension to load. Can be an absolute path pointing to an extension directory, or the name of an OpenFisca extension installed as a pip package.

    +

    extension (str) – The extension to load. Can be an absolute path pointing to an extension directory, or the name of an OpenFisca extension installed as a pip package.

    Return type:
    -

    None

    +

    None

    @@ -330,7 +330,7 @@

    Navigation

    path_to_yaml_dir – Absolute path towards the YAML parameter directory.

    Return type:
    -

    None

    +

    None

    Example: @@ -345,7 +345,7 @@

    Navigation

    Trying to set inputs for a neutralized variable has no effect except raising a warning.

    Return type:
    -

    None

    +

    None

    @@ -362,7 +362,7 @@

    Navigation

    variable (Variable) – The variable to replace.

    Return type:
    -

    None

    +

    None

    diff --git a/doc/openfisca-python-api/test_runner.html b/doc/openfisca-python-api/test_runner.html index 3dab3ef9..0092c1b3 100644 --- a/doc/openfisca-python-api/test_runner.html +++ b/doc/openfisca-python-api/test_runner.html @@ -207,7 +207,7 @@

    Navigation

    Parameters:
    • tax_benefit_system (TaxBenefitSystem) – the tax-benefit system to use to run the tests.

    • -
    • paths (str | Sequence[str]) – A path, or a list of paths, towards the files or directories containing the tests to run. If a path is a directory, subdirectories will be recursively explored.

    • +
    • paths (str | Sequence[str]) – A path, or a list of paths, towards the files or directories containing the tests to run. If a path is a directory, subdirectories will be recursively explored.

    • options (Options) – See more details below.

    @@ -215,10 +215,10 @@

    Navigation

    The number of successful tests executed.

    Raises:
    -

    AssertionError – if a test does not pass.

    +

    AssertionError – if a test does not pass.

    Return type:
    -

    int

    +

    int

    Testing options:

    diff --git a/doc/openfisca-python-api/tracer.html b/doc/openfisca-python-api/tracer.html index d0735a6e..bb87694e 100644 --- a/doc/openfisca-python-api/tracer.html +++ b/doc/openfisca-python-api/tracer.html @@ -159,7 +159,7 @@

    Navigation

    vectors up to a depth of max_depth.

    Return type:
    -

    None

    +

    None

    diff --git a/doc/openfisca-python-api/types.html b/doc/openfisca-python-api/types.html index 91f011c0..78c11df9 100644 --- a/doc/openfisca-python-api/types.html +++ b/doc/openfisca-python-api/types.html @@ -146,14 +146,14 @@

    Navigation

    openfisca_core.types.Array¶

    Type representing an numpy array.

    -

    alias of ndarray[Any, dtype[_N_co]]

    +

    alias of ndarray[Any, dtype[_N_co]]

    openfisca_core.types.ArrayLike¶

    Type representing an array-like object.

    -

    alias of Sequence[_L]

    +

    alias of Sequence[_L]

    @@ -166,6 +166,65 @@

    Navigation

    class openfisca_core.types.CoreEntity(*args, **kwargs)[source]¶
    +
    +
    +class openfisca_core.types.CorePopulation(*args, **kwargs)[source]¶
    +
    + +
    +
    +openfisca_core.types.DTypeBool¶
    +

    Type for bool arrays.

    +
    + +
    +
    +openfisca_core.types.DTypeBytes¶
    +

    Type for bytes arrays.

    +
    + +
    +
    +openfisca_core.types.DTypeDate¶
    +

    Type for date arrays.

    +
    + +
    +
    +openfisca_core.types.DTypeEnum¶
    +

    Type for Enum arrays.

    +
    + +
    +
    +openfisca_core.types.DTypeFloat¶
    +

    Type for float arrays.

    +
    + +
    +
    +openfisca_core.types.DTypeGeneric¶
    +

    Type for “generic” arrays.

    +
    + +
    +
    +openfisca_core.types.DTypeInt¶
    +

    Type for int arrays.

    +
    + +
    +
    +openfisca_core.types.DTypeObject¶
    +

    Type for “object” arrays.

    +
    + +
    +
    +openfisca_core.types.DTypeStr¶
    +

    Type for string arrays.

    +
    +
    class openfisca_core.types.DateUnit(*args, **kwargs)[source]¶
    @@ -175,16 +234,31 @@

    Navigation

    class openfisca_core.types.EntityKey¶

    For example “person”.

    -

    alias of str

    +

    alias of str

    class openfisca_core.types.EntityPlural¶

    For example “persons”.

    -

    alias of str

    +

    alias of str

    +
    +
    +class openfisca_core.types.Enum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
    +
    + +
    +
    +class openfisca_core.types.EnumArray(input_array: ndarray[Any, dtype[uint8]], possible_values: type[Enum])[source]¶
    +
    + +
    +
    +class openfisca_core.types.EnumType(cls, bases, classdict, *, boundary=None, _simple=False, **kwds)[source]¶
    +
    +
    class openfisca_core.types.Formula(*args, **kwargs)[source]¶
    @@ -194,7 +268,7 @@

    Navigation

    Call self as a function.

    Return type:
    -

    ndarray[Any, dtype[Any]]

    +

    ndarray[Any, dtype[generic]]

    @@ -206,6 +280,11 @@

    Navigation

    class openfisca_core.types.GroupEntity(*args, **kwargs)[source]¶
    +
    +
    +class openfisca_core.types.GroupPopulation(*args, **kwargs)[source]¶
    +
    +
    class openfisca_core.types.Holder(*args, **kwargs)[source]¶
    @@ -225,7 +304,7 @@

    Navigation

    class openfisca_core.types.InstantStr¶

    For example “2000-01”.

    -

    alias of str

    +

    alias of str

    @@ -258,14 +337,9 @@

    Navigation

    class openfisca_core.types.PeriodStr¶

    For example “1:2000-01-01:day”.

    -

    alias of str

    +

    alias of str

    -
    -
    -class openfisca_core.types.Population(*args, **kwargs)[source]¶
    -
    -
    class openfisca_core.types.Role(*args, **kwargs)[source]¶
    @@ -275,14 +349,14 @@

    Navigation

    class openfisca_core.types.RoleKey¶

    For example “principal”.

    -

    alias of str

    +

    alias of str

    class openfisca_core.types.RolePlural¶

    For example “parents”.

    -

    alias of str

    +

    alias of str

    @@ -295,6 +369,11 @@

    Navigation

    class openfisca_core.types.SingleEntity(*args, **kwargs)[source]¶
    +
    +
    +class openfisca_core.types.SinglePopulation(*args, **kwargs)[source]¶
    +
    +
    class openfisca_core.types.TaxBenefitSystem(*args, **kwargs)[source]¶
    @@ -309,7 +388,7 @@

    Navigation

    class openfisca_core.types.VariableName¶

    For example “salary”.

    -

    alias of str

    +

    alias of str

    diff --git a/doc/openfisca-python-api/variables.html b/doc/openfisca-python-api/variables.html index 8ee2e3af..7fccfd31 100644 --- a/doc/openfisca-python-api/variables.html +++ b/doc/openfisca-python-api/variables.html @@ -268,13 +268,13 @@

    Navigation

    returns the oldest formula.

    Parameters:
    -

    period (None | Instant | Period | str | int) – The period to get the formula.

    +

    period (None | Instant | Period | str | int) – The period to get the formula.

    Returns:

    Formula used to compute the variable.

    Return type:
    -

    None | Formula

    +

    None | Formula

    diff --git a/doc/searchindex.js b/doc/searchindex.js index 98f9f3de..595f46ac 100644 --- a/doc/searchindex.js +++ b/doc/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"1 - Use an available country package or roll your own": [[25, "use-an-available-country-package-or-roll-your-own"]], "1) Identify the country package": [[28, "identify-the-country-package"]], "1. Install Git": [[35, "install-git"]], "2 - Identify the input data you need": [[25, "identify-the-input-data-you-need"]], "2) Clarify use case": [[28, "clarify-use-case"]], "2. Install Python": [[35, "install-python"]], "3 - Run Simulations": [[25, "run-simulations"]], "3. Install OpenFisca": [[35, "install-openfisca"]], "4. Install atom": [[35, "install-atom"]], "5. Write and run your own scripts": [[35, "write-and-run-your-own-scripts"]], " Architecture of OpenFisca": [[0, "architecture-of-openfisca"]], " Running a simulation": [[71, "running-a-simulation"]], " Licence": [[44, "licence"]], " OpenFisca web API": [[67, "openfisca-web-api"]], " Getting started": [[28, "getting-started"]], " OpenFisca Python API": [[51, "openfisca-python-api"]], " Contribute": [[18, "contribute"]], " To find help": [[24, "to-find-help"]], " Before you start": [[25, "before-you-start"]], " Key concepts": [[36, "key-concepts"]], " Manifesto & history": [[45, "manifesto-history"]], " From law to code": [[8, "from-law-to-code"]], "API endpoints": [[66, "api-endpoints"]], "Abbreviations": [[23, "abbreviations"]], "About this documentation": [[15, "about-this-documentation"]], "Access a country\u2019s source code": [[26, "access-a-country-s-source-code"]], "Access a parameter for a specific period": [[10, "access-a-parameter-for-a-specific-period"]], "Access a parameter for all periods": [[10, "access-a-parameter-for-all-periods"]], "Acronyms": [[23, "acronyms"]], "Activating the simulation tracer": [[70, "activating-the-simulation-tracer"]], "Add a new value to this parameter": [[5, "add-a-new-value-to-this-parameter"]], "Add new parameters": [[11, "add-new-parameters"]], "Add new parameters dynamically": [[11, "add-new-parameters-dynamically"]], "Adding axes: parallel axes": [[73, "adding-axes-parallel-axes"]], "Adding axes: perpendicular axes": [[73, "adding-axes-perpendicular-axes"]], "Adding information to entities": [[68, "adding-information-to-entities"]], "Additional arguments": [[52, "additional-arguments"]], "Additional documentation": [[8, "additional-documentation"]], "Advanced example: enumerations (enum)": [[2, "advanced-example-enumerations-enum"]], "Advanced uses": [[10, "advanced-uses"]], "Aggregation": [[6, "aggregation"]], "Analysing or debugging a simulation": [[70, "analysing-or-debugging-a-simulation"]], "Analysing simulation steps": [[70, "analysing-simulation-steps"]], "Application: analyse disposable income calculation for one person": [[69, "application-analyse-disposable-income-calculation-for-one-person"]], "Application: calculate households total taxes from a CSV file": [[74, "application-calculate-households-total-taxes-from-a-csv-file"]], "Application: calculate persons income tax from a CSV file": [[74, "application-calculate-persons-income-tax-from-a-csv-file"]], "Application: calculate two households housing allowances": [[74, "application-calculate-two-households-housing-allowances"]], "Application: how to calculate a variable": [[41, "application-how-to-calculate-a-variable"]], "Arithmetic operations": [[3, "arithmetic-operations"]], "Automatically process variable inputs defined for periods not matching the definition_period": [[4, "automatically-process-variable-inputs-defined-for-periods-not-matching-the-definition-period"]], "Avoid mixing suffixed and non-suffixed versions of a similarly named variables": [[23, "avoid-mixing-suffixed-and-non-suffixed-versions-of-a-similarly-named-variables"]], "Bad naming": [[23, "bad-naming"], [23, "id2"], [23, "id4"], [23, "id6"], [23, "id8"]], "Basic Example": [[1, "basic-example"]], "Basic use": [[52, "basic-use"], [53, "basic-use"]], "Behaviour-based analysis": [[25, "behaviour-based-analysis"]], "Beware of context": [[72, "beware-of-context"]], "Boolean operations": [[3, "boolean-operations"]], "Bootstraping a new country package": [[7, "bootstraping-a-new-country-package"]], "Build it yourself": [[15, "build-it-yourself"]], "Caching further": [[72, "caching-further"]], "Calculate dependencies for a period different than the variable\u2019s definition_period": [[4, "calculate-dependencies-for-a-period-different-than-the-variable-s-definition-period"]], "Calculate dependencies for a specific period": [[4, "calculate-dependencies-for-a-specific-period"]], "Call an existing web API": [[27, "call-an-existing-web-api"]], "Changes": [[44, "changes"]], "Channels and Naming conventions": [[24, "channels-and-naming-conventions"]], "Check Python installation": [[32, "check-python-installation"]], "Check if a person has a given role": [[6, "check-if-a-person-has-a-given-role"]], "Coding a formula": [[1, "coding-a-formula"]], "Collaborative editing": [[15, "collaborative-editing"]], "Commit messages": [[13, "commit-messages"]], "Common keys": [[12, "common-keys"]], "Commons": [[46, "module-openfisca_core.commons"]], "Complete the implementation of the French tax and benefit system": [[18, "complete-the-implementation-of-the-french-tax-and-benefit-system"]], "Complex conditions": [[3, "complex-conditions"]], "Computation results": [[44, "computation-results"]], "Computing a parameter that depends on a variable (fancy indexing)": [[10, "computing-a-parameter-that-depends-on-a-variable-fancy-indexing"]], "Computing a variable": [[68, "computing-a-variable"]], "Computing variables": [[41, "computing-variables"]], "Conditions": [[67, "conditions"]], "Contact": [[24, "contact"]], "Continuous deployment": [[20, "continuous-deployment"]], "Continuous integration": [[17, "continuous-integration"], [22, "continuous-integration"]], "Contributing to the code": [[17, "contributing-to-the-code"]], "Contributing to the rules": [[28, "contributing-to-the-rules"]], "Contributing to the rules (Git)": [[32, "contributing-to-the-rules-git"]], "Contributor guidelines": [[17, "contributor-guidelines"]], "Control structures": [[3, "control-structures"]], "Core": [[0, "core"]], "Country Packages": [[0, "country-packages"]], "Country package (e.g. openfisca-france)": [[21, "country-package-e-g-openfisca-france"]], "Country-specific repositories": [[19, "country-specific-repositories"]], "Creating scales": [[10, "creating-scales"]], "Data": [[74, "data"]], "Debugging code": [[14, "debugging-code"]], "Default values": [[43, "default-values"]], "Defining and using an enumeration variable": [[2, "defining-and-using-an-enumeration-variable"]], "Defining parameter nodes in a YAML file": [[10, "defining-parameter-nodes-in-a-yaml-file"]], "Definition": [[41, "definition"], [42, "definition"]], "Demonstration API": [[67, "demonstration-api"]], "Deprecating": [[13, "deprecating"]], "Describing entities": [[68, "describing-entities"]], "Describing the situation": [[68, "describing-the-situation"]], "Developer guide": [[14, "developer-guide"]], "Differences between reforms and extensions": [[40, "differences-between-reforms-and-extensions"]], "Do\u2019s and don\u2019ts": [[23, "do-s-and-don-ts"]], "Edge Case: Offline environment": [[33, "edge-case-offline-environment"]], "Edge Case: Windows (not administrator)": [[35, "edge-case-windows-not-administrator"]], "Edge cases": [[28, "edge-cases"]], "Elevate the bottleneck": [[72, "elevate-the-bottleneck"]], "Ending a parameter at a specific date": [[5, "ending-a-parameter-at-a-specific-date"]], "Ending a scale at a specific date": [[5, "ending-a-scale-at-a-specific-date"]], "Ending a variable at a specific date": [[5, "ending-a-variable-at-a-specific-date"]], "English": [[44, "english"], [44, "id1"]], "Enhance other projects linked to OpenFisca": [[18, "enhance-other-projects-linked-to-openfisca"]], "Entities": [[6, "entities"], [47, "module-openfisca_core.entities"]], "Entities and roles are instance specific": [[39, "entities-and-roles-are-instance-specific"]], "Enum & EnumArray": [[48, "module-openfisca_core.indexed_enums"]], "Error margin": [[53, "error-margin"]], "Errors": [[49, "module-openfisca_core.errors"]], "Example": [[12, "example"]], "Example use cases": [[67, "example-use-cases"]], "Example with legislation parameters": [[1, "example-with-legislation-parameters"]], "Examples": [[23, "examples"], [52, "examples"], [53, "examples"]], "Examples in OpenFisca context": [[21, "examples-in-openfisca-context"]], "Extension architecture": [[16, "extension-architecture"]], "Extensions": [[53, "extensions"]], "Extensions Packages": [[0, "extensions-packages"]], "Feeling lost?": [[25, "feeling-lost"]], "Find the bottleneck": [[72, "find-the-bottleneck"]], "Follow the breadcrumbs": [[72, "follow-the-breadcrumbs"]], "Follow to the core": [[72, "follow-to-the-core"]], "Formula evolution": [[5, "formula-evolution"]], "Formula introduction": [[5, "formula-introduction"]], "Formulas": [[43, "formulas"]], "Formulas always return vectors": [[3, "formulas-always-return-vectors"]], "Fran\u00e7ais": [[44, "francais"], [44, "id2"]], "General philosophy": [[23, "general-philosophy"]], "Generate the flame graph": [[72, "generate-the-flame-graph"]], "Good naming": [[23, "good-naming"], [23, "id1"], [23, "id3"], [23, "id5"], [23, "id7"], [23, "id9"]], "Group entities": [[39, "group-entities"]], "Group entity composition": [[6, "group-entity-composition"]], "Holders": [[50, "module-openfisca_core.holders"]], "Hosting an API instance": [[44, "hosting-an-api-instance"], [67, "hosting-an-api-instance"]], "How to contribute?": [[18, "how-to-contribute"]], "How to find the Python version of a model": [[32, "how-to-find-the-python-version-of-a-model"]], "How to navigate the parameters in Python": [[10, "how-to-navigate-the-parameters-in-python"]], "How to run a simulation": [[74, "how-to-run-a-simulation"]], "How to run a simulation on a test case": [[74, "how-to-run-a-simulation-on-a-test-case"]], "How to run a simulation on data": [[74, "how-to-run-a-simulation-on-data"]], "How to update a parameter": [[5, "how-to-update-a-parameter"]], "How to update parameters in python": [[10, "how-to-update-parameters-in-python"]], "How to write a new parameter": [[10, "how-to-write-a-new-parameter"]], "Human decisions": [[25, "human-decisions"]], "Identify a slow simulation": [[72, "identify-a-slow-simulation"]], "Inferences": [[9, "inferences"]], "Input variables": [[43, "input-variables"]], "Install OpenFisca in a Docker container": [[31, "install-openfisca-in-a-docker-container"]], "Install OpenFisca-Country-Template packaged library": [[29, "install-openfisca-country-template-packaged-library"]], "Install Python": [[32, "install-python"]], "Install a Python version": [[32, "install-a-python-version"]], "Install a country package": [[29, "install-a-country-package"]], "Install a country web API": [[30, "install-a-country-web-api"]], "Install with Docker": [[31, "install-with-docker"]], "Installation requirements": [[32, "installation-requirements"]], "Instructions": [[34, "instructions"]], "Introducing": [[13, "introducing"]], "Introducing an input variable": [[2, "introducing-an-input-variable"]], "Isolate the bottleneck": [[72, "isolate-the-bottleneck"]], "Known issues": [[9, "known-issues"]], "Language": [[19, "language"]], "Legacy": [[23, "legacy"]], "Legislation evolutions": [[5, "legislation-evolutions"]], "Magical legislation parsing": [[25, "magical-legislation-parsing"]], "Major": [[21, "major"]], "Merging a Pull Request": [[17, "merging-a-pull-request"]], "Minor": [[21, "minor"]], "Multiples conditions": [[3, "multiples-conditions"]], "Name filter": [[53, "name-filter"]], "Named Arguments": [[52, "named-arguments"], [53, "named-arguments"]], "Naming conventions and reserved words": [[10, "naming-conventions-and-reserved-words"]], "Next steps": [[12, "next-steps"]], "On the machine with Internet access": [[33, "on-the-machine-with-internet-access"]], "On the server": [[33, "on-the-server"]], "Open the file where the parameter is described": [[5, "open-the-file-where-the-parameter-is-described"]], "Open the flame graph": [[72, "open-the-flame-graph"]], "OpenAPI specification configuration": [[65, "openapi-specification-configuration"]], "OpenFisca country APIs": [[67, "openfisca-country-apis"]], "OpenFisca extensions": [[16, "openfisca-extensions"]], "OpenFisca variables: naming guidelines": [[23, "openfisca-variables-naming-guidelines"]], "Opening a Pull Request": [[17, "opening-a-pull-request"]], "Opening issues": [[17, "opening-issues"]], "Parameter evolution": [[5, "parameter-evolution"]], "Parameters": [[10, "parameters"], [37, "parameters"], [54, "module-openfisca_core.parameters"]], "Parametric reforms": [[11, "parametric-reforms"]], "Patch": [[21, "patch"]], "Peer reviews": [[17, "peer-reviews"]], "Periods": [[4, "periods"], [55, "module-openfisca_core.periods"]], "Periods in formulas": [[4, "periods-in-formulas"]], "Periods in variable definitions": [[4, "periods-in-variable-definitions"]], "Periods, Instants": [[38, "periods-instants"]], "Person": [[39, "person"]], "Person, entities, role": [[39, "person-entities-role"]], "Populations": [[56, "module-openfisca_core.populations"]], "Positional Arguments": [[53, "positional-arguments"]], "Profiling a simulation\u2019s performance": [[72, "profiling-a-simulation-s-performance"]], "Profiling code": [[14, "profiling-code"]], "Projection": [[6, "projection"]], "Python API": [[28, "python-api"]], "Python API in the browser": [[34, "python-api-in-the-browser"]], "Real examples": [[11, "real-examples"]], "Recommendations for Windows users": [[32, "recommendations-for-windows-users"]], "Reforms": [[11, "reforms"], [40, "reforms"], [53, "reforms"], [57, "module-openfisca_core.reforms"]], "Release process": [[20, "release-process"]], "Renaming": [[13, "renaming"]], "Replicating a situation along axes": [[73, "replicating-a-situation-along-axes"]], "Roles": [[39, "roles"]], "Run and call a local web API": [[30, "run-and-call-a-local-web-api"]], "Run tests": [[22, "run-tests"]], "Running a test": [[12, "running-a-test"]], "Scopes and prefixes": [[23, "scopes-and-prefixes"]], "Semantic versioning guidelines": [[21, "semantic-versioning-guidelines"]], "Serving extensions": [[52, "serving-extensions"]], "Serving reforms": [[52, "serving-reforms"]], "Setting a default value": [[2, "setting-a-default-value"]], "Simulation generator": [[58, "module-openfisca_core.scripts.simulation_generator"]], "Simulation, Computation": [[41, "simulation-computation"]], "Simulations": [[59, "module-openfisca_core.simulations"]], "Slack": [[24, "slack"]], "Source code repositories": [[14, "source-code-repositories"]], "String concatenation": [[3, "string-concatenation"]], "Syntax": [[12, "syntax"]], "Targeting individuals": [[73, "targeting-individuals"]], "Tax and Benefit System": [[42, "tax-and-benefit-system"]], "TaxBenefitSystem": [[60, "module-openfisca_core.taxbenefitsystems"]], "Templates": [[0, "templates"]], "Ternaries": [[3, "ternaries"]], "Test and report errors (web API)": [[18, "test-and-report-errors-web-api"]], "Test cases": [[74, "test-cases"]], "Testing a formula": [[1, "testing-a-formula"]], "Testing a variable using a reform": [[12, "testing-a-variable-using-a-reform"]], "Testing changes on \u201cready to use\u201d situations": [[26, "testing-changes-on-ready-to-use-situations"]], "Testing formulas by giving a test case": [[12, "testing-formulas-by-giving-a-test-case"]], "Testing formulas by giving input variables": [[12, "testing-formulas-by-giving-input-variables"]], "Testing formulas using variables defined for multiple periods": [[12, "testing-formulas-using-variables-defined-for-multiple-periods"]], "Tests": [[22, "tests"]], "Textual comparisons": [[25, "textual-comparisons"]], "The formula": [[1, "the-formula"]], "The variable attributes": [[1, "the-variable-attributes"]], "The variable name": [[1, "the-variable-name"]], "Tracer": [[62, "module-openfisca_core.tracers"]], "Track your API": [[67, "track-your-api"]], "Tutorial": [[8, "tutorial"]], "Types": [[63, "module-openfisca_core.types"]], "Understanding the result": [[68, "understanding-the-result"]], "Update the value of a parameter": [[11, "update-the-value-of-a-parameter"]], "Use a suffix if it is necessary to distinguish between versions of a variable at the level of different entities": [[23, "use-a-suffix-if-it-is-necessary-to-distinguish-between-versions-of-a-variable-at-the-level-of-different-entities"]], "Use the API and direct its development": [[18, "use-the-api-and-direct-its-development"]], "Usecases": [[2, "usecases"]], "Using a configuration file": [[52, "using-a-configuration-file"]], "Using a reform in Python": [[11, "using-a-reform-in-python"]], "Using gunicorn directly": [[52, "using-gunicorn-directly"]], "Using periods in a simulation": [[4, "using-periods-in-a-simulation"]], "Using the /calculate endpoint": [[68, "using-the-calculate-endpoint"]], "Using the /trace endpoint": [[69, "using-the-trace-endpoint"]], "Utilising existing rules": [[28, "utilising-existing-rules"]], "Variable name changes": [[13, "variable-name-changes"]], "Variables": [[64, "module-openfisca_core.variables"]], "Variables and formulas": [[43, "variables-and-formulas"]], "Vectorial computing": [[3, "vectorial-computing"]], "Way to use OpenFisca": [[25, "way-to-use-openfisca"]], "Web API": [[28, "web-api"]], "Web API version number": [[17, "web-api-version-number"]], "What OpenFisca will not do for you": [[25, "what-openfisca-will-not-do-for-you"]], "What happens if you don\u2019t return a vector": [[3, "what-happens-if-you-don-t-return-a-vector"]], "What is OpenFisca": [[25, "what-is-openfisca"]], "Who uses OpenFisca": [[25, "who-uses-openfisca"]], "Why contribute to OpenFisca?": [[18, "why-contribute-to-openfisca"]], "With base_function": [[9, "with-base-function"]], "Wrap up": [[72, "wrap-up"]], "Write reforms": [[18, "write-reforms"]], "Write some legislation": [[18, "write-some-legislation"]], "Writing YAML tests": [[12, "writing-yaml-tests"]], "Writing a reform": [[11, "writing-a-reform"]], "Writing code": [[17, "writing-code"]], "YAML tests": [[22, "yaml-tests"]], "Zero effort modelling": [[25, "zero-effort-modelling"]], "if / else": [[3, "if-else"]], "ipdb debugger": [[22, "ipdb-debugger"]], "openfisca serve": [[52, "openfisca-serve"]], "openfisca test": [[53, "openfisca-test"]], "tools.test_runner": [[61, "module-openfisca_core.tools.test_runner"]]}, "docnames": ["architecture", "coding-the-legislation/10_basic_example", "coding-the-legislation/20_input_variables", "coding-the-legislation/25_vectorial_computing", "coding-the-legislation/35_periods", "coding-the-legislation/40_legislation_evolutions", "coding-the-legislation/50_entities", "coding-the-legislation/bootstrapping_a_new_country_package", "coding-the-legislation/index", "coding-the-legislation/inferences", "coding-the-legislation/legislation_parameters", "coding-the-legislation/reforms", "coding-the-legislation/writing_yaml_tests", "contribute/commit-messages", "contribute/developer-guide", "contribute/documentation", "contribute/extensions", "contribute/guidelines", "contribute/index", "contribute/language", "contribute/release-process", "contribute/semver", "contribute/tests", "contribute/variables-naming", "find-help", "index", "installation/access-countrys-source-code", "installation/call-existing-web-api", "installation/index", "installation/install-country-package", "installation/install-country-web-api", "installation/install-with-docker", "installation/installation-requirements", "installation/offline-environment", "installation/python-api-browser", "installation/windows-no-admin", "key-concepts/index", "key-concepts/parameters", "key-concepts/periods_instants", "key-concepts/person_entities_role", "key-concepts/reforms", "key-concepts/simulation", "key-concepts/tax_and_benefit_system", "key-concepts/variables", "license", "manifest-history", "openfisca-python-api/commons", "openfisca-python-api/entities", "openfisca-python-api/enum_array", "openfisca-python-api/errors", "openfisca-python-api/holder", "openfisca-python-api/index", "openfisca-python-api/openfisca_serve", "openfisca-python-api/openfisca_test", "openfisca-python-api/parameters", "openfisca-python-api/periods", "openfisca-python-api/populations", "openfisca-python-api/reforms", "openfisca-python-api/simulation_generator", "openfisca-python-api/simulations", "openfisca-python-api/tax-benefit-system", "openfisca-python-api/test_runner", "openfisca-python-api/tracer", "openfisca-python-api/types", "openfisca-python-api/variables", "openfisca-web-api/config-openapi", "openfisca-web-api/endpoints", "openfisca-web-api/index", "openfisca-web-api/input-output-data", "openfisca-web-api/trace-simulation", "simulate/analyse-simulation", "simulate/index", "simulate/profile-simulation", "simulate/replicate-simulation-inputs", "simulate/run-simulation", "summary"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["architecture.md", "coding-the-legislation/10_basic_example.md", "coding-the-legislation/20_input_variables.md", "coding-the-legislation/25_vectorial_computing.md", "coding-the-legislation/35_periods.md", "coding-the-legislation/40_legislation_evolutions.md", "coding-the-legislation/50_entities.md", "coding-the-legislation/bootstrapping_a_new_country_package.md", "coding-the-legislation/index.md", "coding-the-legislation/inferences.md", "coding-the-legislation/legislation_parameters.md", "coding-the-legislation/reforms.md", "coding-the-legislation/writing_yaml_tests.md", "contribute/commit-messages.md", "contribute/developer-guide.md", "contribute/documentation.md", "contribute/extensions.md", "contribute/guidelines.md", "contribute/index.md", "contribute/language.md", "contribute/release-process.md", "contribute/semver.md", "contribute/tests.md", "contribute/variables-naming.md", "find-help.md", "index.md", "installation/access-countrys-source-code.md", "installation/call-existing-web-api.md", "installation/index.md", "installation/install-country-package.md", "installation/install-country-web-api.md", "installation/install-with-docker.md", "installation/installation-requirements.md", "installation/offline-environment.md", "installation/python-api-browser.md", "installation/windows-no-admin.md", "key-concepts/index.md", "key-concepts/parameters.md", "key-concepts/periods_instants.md", "key-concepts/person_entities_role.md", "key-concepts/reforms.md", "key-concepts/simulation.md", "key-concepts/tax_and_benefit_system.md", "key-concepts/variables.md", "license.md", "manifest-history.md", "openfisca-python-api/commons.rst", "openfisca-python-api/entities.rst", "openfisca-python-api/enum_array.rst", "openfisca-python-api/errors.rst", "openfisca-python-api/holder.rst", "openfisca-python-api/index.md", "openfisca-python-api/openfisca_serve.rst", "openfisca-python-api/openfisca_test.rst", "openfisca-python-api/parameters.rst", "openfisca-python-api/periods.rst", "openfisca-python-api/populations.rst", "openfisca-python-api/reforms.rst", "openfisca-python-api/simulation_generator.rst", "openfisca-python-api/simulations.rst", "openfisca-python-api/tax-benefit-system.rst", "openfisca-python-api/test_runner.rst", "openfisca-python-api/tracer.rst", "openfisca-python-api/types.rst", "openfisca-python-api/variables.rst", "openfisca-web-api/config-openapi.md", "openfisca-web-api/endpoints.md", "openfisca-web-api/index.md", "openfisca-web-api/input-output-data.md", "openfisca-web-api/trace-simulation.md", "simulate/analyse-simulation.md", "simulate/index.md", "simulate/profile-simulation.md", "simulate/replicate-simulation-inputs.md", "simulate/run-simulation.md", "summary.rst"], "indexentries": {"__call__() (openfisca_core.populations.population method)": [[56, "openfisca_core.populations.Population.__call__", false]], "__call__() (openfisca_core.types.formula method)": [[63, "openfisca_core.types.Formula.__call__", false]], "__call__() (openfisca_core.types.params method)": [[63, "openfisca_core.types.Params.__call__", false]], "add_child() (openfisca_core.parameters.parameternode method)": [[54, "openfisca_core.parameters.ParameterNode.add_child", false]], "add_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.add_variable", false]], "add_variables() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.add_variables", false]], "add_variables_from_directory() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.add_variables_from_directory", false]], "add_variables_from_file() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.add_variables_from_file", false]], "all() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.all", false]], "any() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.any", false]], "apply_reform() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.apply_reform", false]], "apply_thresholds() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.apply_thresholds", false]], "array (in module openfisca_core.types)": [[63, "openfisca_core.types.Array", false]], "arraylike (in module openfisca_core.types)": [[63, "openfisca_core.types.ArrayLike", false]], "atinstantlike (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.AtInstantLike", false]], "average_rate() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.average_rate", false]], "baseline_variable (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.baseline_variable", false]], "build_default_simulation() (openfisca_core.simulations.simulationbuilder static method)": [[59, "openfisca_core.simulations.SimulationBuilder.build_default_simulation", false]], "build_entity() (in module openfisca_core.entities)": [[47, "openfisca_core.entities.build_entity", false]], "build_from_dict() (openfisca_core.simulations.simulationbuilder method)": [[59, "openfisca_core.simulations.SimulationBuilder.build_from_dict", false]], "build_from_entities() (openfisca_core.simulations.simulationbuilder method)": [[59, "openfisca_core.simulations.SimulationBuilder.build_from_entities", false]], "build_from_variables() (openfisca_core.simulations.simulationbuilder method)": [[59, "openfisca_core.simulations.SimulationBuilder.build_from_variables", false]], "calculate() (openfisca_core.simulations.simulation method)": [[59, "openfisca_core.simulations.Simulation.calculate", false]], "check_node_vectorisable() (openfisca_core.parameters.vectorialparameternodeatinstant static method)": [[54, "openfisca_core.parameters.VectorialParameterNodeAtInstant.check_node_vectorisable", false]], "check_role_validity() (openfisca_core.entities.entity static method)": [[47, "openfisca_core.entities.Entity.check_role_validity", false]], "check_role_validity() (openfisca_core.entities.groupentity static method)": [[47, "openfisca_core.entities.GroupEntity.check_role_validity", false]], "check_unexpected_entities() (in module openfisca_core.simulations.helpers)": [[59, "openfisca_core.simulations.helpers.check_unexpected_entities", false]], "check_variable_defined_for_entity() (openfisca_core.entities.entity method)": [[47, "openfisca_core.entities.Entity.check_variable_defined_for_entity", false]], "check_variable_defined_for_entity() (openfisca_core.entities.groupentity method)": [[47, "openfisca_core.entities.GroupEntity.check_variable_defined_for_entity", false]], "clone() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.clone", false]], "collect() (openfisca_core.tools.test_runner.yamlfile method)": [[61, "openfisca_core.tools.test_runner.YamlFile.collect", false]], "computationlog (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.ComputationLog", false]], "concat() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.concat", false]], "config (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.config", false]], "container (class in openfisca_core.types)": [[63, "openfisca_core.types.Container", false]], "coreentity (class in openfisca_core.types)": [[63, "openfisca_core.types.CoreEntity", false]], "cycleerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.CycleError", false]], "dateunit (class in openfisca_core.types)": [[63, "openfisca_core.types.DateUnit", false]], "decode() (openfisca_core.indexed_enums.enumarray method)": [[48, "openfisca_core.indexed_enums.EnumArray.decode", false]], "decode_to_str() (openfisca_core.indexed_enums.enumarray method)": [[48, "openfisca_core.indexed_enums.EnumArray.decode_to_str", false]], "default_array() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.default_array", false]], "default_value (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.default_value", false]], "definition_period (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.definition_period", false]], "delete_arrays() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.delete_arrays", false]], "description (openfisca_core.entities.role attribute)": [[47, "openfisca_core.entities.Role.description", false]], "doc (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.doc", false]], "doc (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.doc", false]], "doc (openfisca_core.entities.role property)": [[47, "openfisca_core.entities.Role.doc", false]], "documentation (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.documentation", false]], "dtype (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.dtype", false]], "dummy (class in openfisca_core.commons)": [[46, "openfisca_core.commons.Dummy", false]], "empty_clone() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.empty_clone", false]], "emptyargumenterror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.EmptyArgumentError", false]], "encode() (openfisca_core.indexed_enums.enum class method)": [[48, "openfisca_core.indexed_enums.Enum.encode", false]], "end (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.end", false]], "entity (class in openfisca_core.entities)": [[47, "openfisca_core.entities.Entity", false]], "entity (openfisca_core.entities.role attribute)": [[47, "openfisca_core.entities.Role.entity", false]], "entity (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.entity", false]], "entitykey (class in openfisca_core.types)": [[63, "openfisca_core.types.EntityKey", false]], "entityplural (class in openfisca_core.types)": [[63, "openfisca_core.types.EntityPlural", false]], "enum (class in openfisca_core.indexed_enums)": [[48, "openfisca_core.indexed_enums.Enum", false]], "enumarray (class in openfisca_core.indexed_enums)": [[48, "openfisca_core.indexed_enums.EnumArray", false]], "errormargin (class in openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.ErrorMargin", false]], "eval_expression() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.eval_expression", false]], "explicit_singular_entities() (openfisca_core.simulations.simulationbuilder method)": [[59, "openfisca_core.simulations.SimulationBuilder.explicit_singular_entities", false]], "find_role() (in module openfisca_core.entities)": [[47, "openfisca_core.entities.find_role", false]], "flattrace (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.FlatTrace", false]], "formula (class in openfisca_core.types)": [[63, "openfisca_core.types.Formula", false]], "formulas (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.formulas", false]], "fulltracer (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.FullTracer", false]], "get_annualized_variable() (in module openfisca_core.variables.helpers)": [[64, "openfisca_core.variables.helpers.get_annualized_variable", false]], "get_array() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.get_array", false]], "get_array() (openfisca_core.simulations.simulation method)": [[59, "openfisca_core.simulations.Simulation.get_array", false]], "get_descendants() (openfisca_core.parameters.parameternode method)": [[54, "openfisca_core.parameters.ParameterNode.get_descendants", false]], "get_formula() (openfisca_core.variables.variable method)": [[64, "openfisca_core.variables.Variable.get_formula", false]], "get_holder() (openfisca_core.simulations.simulation method)": [[59, "openfisca_core.simulations.Simulation.get_holder", false]], "get_known_periods() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.get_known_periods", false]], "get_memory_usage() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.get_memory_usage", false]], "get_memory_usage() (openfisca_core.simulations.simulation method)": [[59, "openfisca_core.simulations.Simulation.get_memory_usage", false]], "get_neutralized_variable() (in module openfisca_core.variables.helpers)": [[64, "openfisca_core.variables.helpers.get_neutralized_variable", false]], "get_package_metadata() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.get_package_metadata", false]], "get_parameters_at_instant() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.get_parameters_at_instant", false]], "get_rank() (openfisca_core.populations.population method)": [[56, "openfisca_core.populations.Population.get_rank", false]], "get_variable() (openfisca_core.entities.entity method)": [[47, "openfisca_core.entities.Entity.get_variable", false]], "get_variable() (openfisca_core.entities.groupentity method)": [[47, "openfisca_core.entities.GroupEntity.get_variable", false]], "get_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.get_variable", false]], "get_variables() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.get_variables", false]], "groupentity (class in openfisca_core.entities)": [[47, "openfisca_core.entities.GroupEntity", false]], "groupentity (class in openfisca_core.types)": [[63, "openfisca_core.types.GroupEntity", false]], "grouppopulation (class in openfisca_core.populations)": [[56, "openfisca_core.populations.GroupPopulation", false]], "has_role() (openfisca_core.populations.population method)": [[56, "openfisca_core.populations.Population.has_role", false]], "has_unexpected_entities() (in module openfisca_core.simulations.helpers)": [[59, "openfisca_core.simulations.helpers.has_unexpected_entities", false]], "holder (class in openfisca_core.holders)": [[50, "openfisca_core.holders.Holder", false]], "holder (class in openfisca_core.types)": [[63, "openfisca_core.types.Holder", false]], "indexable (class in openfisca_core.types)": [[63, "openfisca_core.types.Indexable", false]], "instant (class in openfisca_core.periods)": [[55, "openfisca_core.periods.Instant", false]], "instant (class in openfisca_core.types)": [[63, "openfisca_core.types.Instant", false]], "instant() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.instant", false]], "instant_date() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.instant_date", false]], "instantstr (class in openfisca_core.types)": [[63, "openfisca_core.types.InstantStr", false]], "is_input_variable() (openfisca_core.variables.variable method)": [[64, "openfisca_core.variables.Variable.is_input_variable", false]], "is_neutralized (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.is_neutralized", false]], "is_person (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.is_person", false]], "is_person (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.is_person", false]], "json_type (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.json_type", false]], "key (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.key", false]], "key (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.key", false]], "key (openfisca_core.entities.role property)": [[47, "openfisca_core.entities.Role.key", false]], "key_period_size() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.key_period_size", false]], "label (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.label", false]], "label (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.label", false]], "label (openfisca_core.entities.role property)": [[47, "openfisca_core.entities.Role.label", false]], "label (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.label", false]], "load_extension() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.load_extension", false]], "load_parameter_file() (in module openfisca_core.parameters.helpers)": [[54, "openfisca_core.parameters.helpers.load_parameter_file", false]], "load_parameters() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.load_parameters", false]], "make_simulation() (in module openfisca_core.scripts.simulation_generator)": [[58, "openfisca_core.scripts.simulation_generator.make_simulation", false]], "marginal_rate() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.marginal_rate", false]], "max (openfisca_core.entities.role attribute)": [[47, "openfisca_core.entities.Role.max", false]], "max() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.max", false]], "max_length (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.max_length", false]], "merge() (openfisca_core.parameters.parameternode method)": [[54, "openfisca_core.parameters.ParameterNode.merge", false]], "min() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.min", false]], "modify_parameters() (openfisca_core.reforms.reform method)": [[57, "openfisca_core.reforms.Reform.modify_parameters", false]], "module": [[46, "module-openfisca_core.commons", false], [47, "module-openfisca_core.entities", false], [48, "module-openfisca_core.indexed_enums", false], [48, "module-openfisca_core.indexed_enums.config", false], [49, "module-openfisca_core.errors", false], [50, "module-openfisca_core.holders", false], [50, "module-openfisca_core.holders.helpers", false], [54, "module-openfisca_core.parameters", false], [54, "module-openfisca_core.parameters.config", false], [54, "module-openfisca_core.parameters.helpers", false], [55, "module-openfisca_core.periods", false], [55, "module-openfisca_core.periods.config", false], [55, "module-openfisca_core.periods.helpers", false], [56, "module-openfisca_core.populations", false], [56, "module-openfisca_core.populations.config", false], [57, "module-openfisca_core.reforms", false], [58, "module-openfisca_core.scripts.simulation_generator", false], [59, "module-openfisca_core.simulations", false], [59, "module-openfisca_core.simulations.helpers", false], [60, "module-openfisca_core.taxbenefitsystems", false], [61, "module-openfisca_core.tools.test_runner", false], [62, "module-openfisca_core.tracers", false], [63, "module-openfisca_core.types", false], [64, "module-openfisca_core.variables", false], [64, "module-openfisca_core.variables.config", false], [64, "module-openfisca_core.variables.helpers", false]], "name (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.name", false]], "name (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.name", false]], "nancreationerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.NaNCreationError", false]], "nb_persons() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.nb_persons", false]], "neutralize_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.neutralize_variable", false]], "openfisca_core.commons": [[46, "module-openfisca_core.commons", false]], "openfisca_core.entities": [[47, "module-openfisca_core.entities", false]], "openfisca_core.errors": [[49, "module-openfisca_core.errors", false]], "openfisca_core.holders": [[50, "module-openfisca_core.holders", false]], "openfisca_core.holders.helpers": [[50, "module-openfisca_core.holders.helpers", false]], "openfisca_core.indexed_enums": [[48, "module-openfisca_core.indexed_enums", false]], "openfisca_core.indexed_enums.config": [[48, "module-openfisca_core.indexed_enums.config", false]], "openfisca_core.parameters": [[54, "module-openfisca_core.parameters", false]], "openfisca_core.parameters.config": [[54, "module-openfisca_core.parameters.config", false]], "openfisca_core.parameters.helpers": [[54, "module-openfisca_core.parameters.helpers", false]], "openfisca_core.periods": [[55, "module-openfisca_core.periods", false]], "openfisca_core.periods.config": [[55, "module-openfisca_core.periods.config", false]], "openfisca_core.periods.helpers": [[55, "module-openfisca_core.periods.helpers", false]], "openfisca_core.populations": [[56, "module-openfisca_core.populations", false]], "openfisca_core.populations.config": [[56, "module-openfisca_core.populations.config", false]], "openfisca_core.reforms": [[57, "module-openfisca_core.reforms", false]], "openfisca_core.scripts.simulation_generator": [[58, "module-openfisca_core.scripts.simulation_generator", false]], "openfisca_core.simulations": [[59, "module-openfisca_core.simulations", false]], "openfisca_core.simulations.helpers": [[59, "module-openfisca_core.simulations.helpers", false]], "openfisca_core.taxbenefitsystems": [[60, "module-openfisca_core.taxbenefitsystems", false]], "openfisca_core.tools.test_runner": [[61, "module-openfisca_core.tools.test_runner", false]], "openfisca_core.tracers": [[62, "module-openfisca_core.tracers", false]], "openfisca_core.types": [[63, "module-openfisca_core.types", false]], "openfisca_core.variables": [[64, "module-openfisca_core.variables", false]], "openfisca_core.variables.config": [[64, "module-openfisca_core.variables.config", false]], "openfisca_core.variables.helpers": [[64, "module-openfisca_core.variables.helpers", false]], "options (class in openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.Options", false]], "parameter (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.Parameter", false]], "parameteratinstant (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterAtInstant", false]], "parameternode (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterNode", false]], "parameternodeatinstant (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterNodeAtInstant", false]], "parameternodeatinstant (class in openfisca_core.types)": [[63, "openfisca_core.types.ParameterNodeAtInstant", false]], "parameternotfounderror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.ParameterNotFoundError", false]], "parameterparsingerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.ParameterParsingError", false]], "parameters (openfisca_core.taxbenefitsystems.taxbenefitsystem attribute)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.parameters", false]], "parameterscale (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterScale", false]], "parameterscalebracket (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterScaleBracket", false]], "params (class in openfisca_core.types)": [[63, "openfisca_core.types.Params", false]], "parent (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.parent", false]], "parse_formula_name() (openfisca_core.variables.variable method)": [[64, "openfisca_core.variables.Variable.parse_formula_name", false]], "path (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.path", false]], "performancelog (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.PerformanceLog", false]], "period (class in openfisca_core.types)": [[63, "openfisca_core.types.Period", false]], "period() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.period", false]], "periodmismatcherror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.PeriodMismatchError", false]], "periodstr (class in openfisca_core.types)": [[63, "openfisca_core.types.PeriodStr", false]], "plural (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.plural", false]], "plural (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.plural", false]], "plural (openfisca_core.entities.role property)": [[47, "openfisca_core.entities.Role.plural", false]], "population (class in openfisca_core.populations)": [[56, "openfisca_core.populations.Population", false]], "population (class in openfisca_core.types)": [[63, "openfisca_core.types.Population", false]], "possible_values (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.possible_values", false]], "print_log() (openfisca_core.tracers.computationlog method)": [[62, "openfisca_core.tracers.ComputationLog.print_log", false]], "randomly_init_variable() (in module openfisca_core.scripts.simulation_generator)": [[58, "openfisca_core.scripts.simulation_generator.randomly_init_variable", false]], "reference (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.reference", false]], "reform (class in openfisca_core.reforms)": [[57, "openfisca_core.reforms.Reform", false]], "replace_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.replace_variable", false]], "role (class in openfisca_core.entities)": [[47, "openfisca_core.entities.Role", false]], "role (class in openfisca_core.types)": [[63, "openfisca_core.types.Role", false]], "rolekey (class in openfisca_core.types)": [[63, "openfisca_core.types.RoleKey", false]], "roleplural (class in openfisca_core.types)": [[63, "openfisca_core.types.RolePlural", false]], "roles (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.roles", false]], "run_tests() (in module openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.run_tests", false]], "session (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.session", false]], "set_input (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.set_input", false]], "set_input() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.set_input", false]], "set_input_dispatch_by_period() (in module openfisca_core.holders.helpers)": [[50, "openfisca_core.holders.helpers.set_input_dispatch_by_period", false]], "set_input_divide_by_period() (in module openfisca_core.holders.helpers)": [[50, "openfisca_core.holders.helpers.set_input_divide_by_period", false]], "set_tax_benefit_system() (openfisca_core.entities.entity method)": [[47, "openfisca_core.entities.Entity.set_tax_benefit_system", false]], "set_tax_benefit_system() (openfisca_core.entities.groupentity method)": [[47, "openfisca_core.entities.GroupEntity.set_tax_benefit_system", false]], "simpletracer (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.SimpleTracer", false]], "simulation (class in openfisca_core.simulations)": [[59, "openfisca_core.simulations.Simulation", false]], "simulation (class in openfisca_core.types)": [[63, "openfisca_core.types.Simulation", false]], "simulationbuilder (class in openfisca_core.simulations)": [[59, "openfisca_core.simulations.SimulationBuilder", false]], "singleentity (class in openfisca_core.types)": [[63, "openfisca_core.types.SingleEntity", false]], "singleentity (in module openfisca_core.entities)": [[47, "openfisca_core.entities.SingleEntity", false]], "situationparsingerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.SituationParsingError", false]], "spiralerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.SpiralError", false]], "stringify_array() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.stringify_array", false]], "subroles (openfisca_core.entities.role attribute)": [[47, "openfisca_core.entities.Role.subroles", false]], "sum() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.sum", false]], "switch() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.switch", false]], "taxbenefitsystem (class in openfisca_core.taxbenefitsystems)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem", false]], "taxbenefitsystem (class in openfisca_core.types)": [[63, "openfisca_core.types.TaxBenefitSystem", false]], "test (class in openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.Test", false]], "tracenode (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.TraceNode", false]], "tracingparameternodeatinstant (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.TracingParameterNodeAtInstant", false]], "unit (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.unit", false]], "unit_weight() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.unit_weight", false]], "unit_weights() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.unit_weights", false]], "update() (openfisca_core.parameters.parameter method)": [[54, "openfisca_core.parameters.Parameter.update", false]], "update_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.update_variable", false]], "value_type (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.value_type", false]], "values_list (openfisca_core.parameters.parameter attribute)": [[54, "openfisca_core.parameters.Parameter.values_list", false]], "variable (class in openfisca_core.types)": [[63, "openfisca_core.types.Variable", false]], "variable (class in openfisca_core.variables)": [[64, "openfisca_core.variables.Variable", false]], "variablename (class in openfisca_core.types)": [[63, "openfisca_core.types.VariableName", false]], "variablenameconflicterror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.VariableNameConflictError", false]], "variablenotfounderror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.VariableNotFoundError", false]], "vectorialparameternodeatinstant (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.VectorialParameterNodeAtInstant", false]], "yamlfile (class in openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.YamlFile", false]]}, "objects": {"openfisca_core": [[46, 0, 0, "-", "commons"], [47, 0, 0, "-", "entities"], [49, 0, 0, "-", "errors"], [50, 0, 0, "-", "holders"], [48, 0, 0, "-", "indexed_enums"], [54, 0, 0, "-", "parameters"], [55, 0, 0, "-", "periods"], [56, 0, 0, "-", "populations"], [57, 0, 0, "-", "reforms"], [59, 0, 0, "-", "simulations"], [60, 0, 0, "-", "taxbenefitsystems"], [62, 0, 0, "-", "tracers"], [63, 0, 0, "-", "types"], [64, 0, 0, "-", "variables"]], "openfisca_core.commons": [[46, 1, 1, "", "Dummy"], [46, 2, 1, "", "apply_thresholds"], [46, 2, 1, "", "average_rate"], [46, 2, 1, "", "concat"], [46, 2, 1, "", "empty_clone"], [46, 2, 1, "", "eval_expression"], [46, 2, 1, "", "marginal_rate"], [46, 2, 1, "", "stringify_array"], [46, 2, 1, "", "switch"]], "openfisca_core.entities": [[47, 1, 1, "", "Entity"], [47, 1, 1, "", "GroupEntity"], [47, 1, 1, "", "Role"], [47, 4, 1, "", "SingleEntity"], [47, 2, 1, "", "build_entity"], [47, 2, 1, "", "find_role"]], "openfisca_core.entities.Entity": [[47, 3, 1, "", "check_role_validity"], [47, 3, 1, "", "check_variable_defined_for_entity"], [47, 4, 1, "", "doc"], [47, 3, 1, "", "get_variable"], [47, 4, 1, "", "is_person"], [47, 4, 1, "", "key"], [47, 4, 1, "", "label"], [47, 4, 1, "", "plural"], [47, 3, 1, "", "set_tax_benefit_system"]], "openfisca_core.entities.GroupEntity": [[47, 3, 1, "", "check_role_validity"], [47, 3, 1, "", "check_variable_defined_for_entity"], [47, 4, 1, "", "doc"], [47, 3, 1, "", "get_variable"], [47, 4, 1, "", "is_person"], [47, 4, 1, "", "key"], [47, 4, 1, "", "label"], [47, 4, 1, "", "plural"], [47, 4, 1, "", "roles"], [47, 3, 1, "", "set_tax_benefit_system"]], "openfisca_core.entities.Role": [[47, 4, 1, "", "description"], [47, 5, 1, "", "doc"], [47, 4, 1, "", "entity"], [47, 5, 1, "", "key"], [47, 5, 1, "", "label"], [47, 4, 1, "", "max"], [47, 5, 1, "", "plural"], [47, 4, 1, "", "subroles"]], "openfisca_core.errors": [[49, 1, 1, "", "CycleError"], [49, 1, 1, "", "EmptyArgumentError"], [49, 1, 1, "", "NaNCreationError"], [49, 1, 1, "", "ParameterNotFoundError"], [49, 1, 1, "", "ParameterParsingError"], [49, 1, 1, "", "PeriodMismatchError"], [49, 1, 1, "", "SituationParsingError"], [49, 1, 1, "", "SpiralError"], [49, 1, 1, "", "VariableNameConflictError"], [49, 1, 1, "", "VariableNotFoundError"]], "openfisca_core.holders": [[50, 1, 1, "", "Holder"], [50, 0, 0, "-", "helpers"]], "openfisca_core.holders.Holder": [[50, 3, 1, "", "clone"], [50, 3, 1, "", "default_array"], [50, 3, 1, "", "delete_arrays"], [50, 3, 1, "", "get_array"], [50, 3, 1, "", "get_known_periods"], [50, 3, 1, "", "get_memory_usage"], [50, 3, 1, "", "set_input"]], "openfisca_core.holders.helpers": [[50, 2, 1, "", "set_input_dispatch_by_period"], [50, 2, 1, "", "set_input_divide_by_period"]], "openfisca_core.indexed_enums": [[48, 1, 1, "", "Enum"], [48, 1, 1, "", "EnumArray"], [48, 0, 0, "-", "config"]], "openfisca_core.indexed_enums.Enum": [[48, 3, 1, "", "encode"]], "openfisca_core.indexed_enums.EnumArray": [[48, 3, 1, "", "decode"], [48, 3, 1, "", "decode_to_str"]], "openfisca_core.parameters": [[54, 1, 1, "", "AtInstantLike"], [54, 1, 1, "", "Parameter"], [54, 1, 1, "", "ParameterAtInstant"], [54, 1, 1, "", "ParameterNode"], [54, 1, 1, "", "ParameterNodeAtInstant"], [54, 1, 1, "", "ParameterScale"], [54, 1, 1, "", "ParameterScaleBracket"], [54, 1, 1, "", "VectorialParameterNodeAtInstant"], [54, 0, 0, "-", "config"], [54, 0, 0, "-", "helpers"]], "openfisca_core.parameters.Parameter": [[54, 3, 1, "", "update"], [54, 4, 1, "", "values_list"]], "openfisca_core.parameters.ParameterNode": [[54, 3, 1, "", "add_child"], [54, 3, 1, "", "get_descendants"], [54, 3, 1, "", "merge"]], "openfisca_core.parameters.VectorialParameterNodeAtInstant": [[54, 3, 1, "", "check_node_vectorisable"]], "openfisca_core.parameters.helpers": [[54, 2, 1, "", "load_parameter_file"]], "openfisca_core.periods": [[55, 1, 1, "", "Instant"], [55, 0, 0, "-", "config"], [55, 0, 0, "-", "helpers"]], "openfisca_core.periods.helpers": [[55, 2, 1, "", "instant"], [55, 2, 1, "", "instant_date"], [55, 2, 1, "", "key_period_size"], [55, 2, 1, "", "period"], [55, 2, 1, "", "unit_weight"], [55, 2, 1, "", "unit_weights"]], "openfisca_core.populations": [[56, 1, 1, "", "GroupPopulation"], [56, 1, 1, "", "Population"], [56, 0, 0, "-", "config"]], "openfisca_core.populations.GroupPopulation": [[56, 3, 1, "", "all"], [56, 3, 1, "", "any"], [56, 3, 1, "", "max"], [56, 3, 1, "", "min"], [56, 3, 1, "", "nb_persons"], [56, 3, 1, "", "sum"]], "openfisca_core.populations.Population": [[56, 3, 1, "", "__call__"], [56, 3, 1, "", "get_rank"], [56, 3, 1, "", "has_role"]], "openfisca_core.reforms": [[57, 1, 1, "", "Reform"]], "openfisca_core.reforms.Reform": [[57, 3, 1, "", "modify_parameters"]], "openfisca_core.scripts": [[58, 0, 0, "-", "simulation_generator"]], "openfisca_core.scripts.simulation_generator": [[58, 2, 1, "", "make_simulation"], [58, 2, 1, "", "randomly_init_variable"]], "openfisca_core.simulations": [[59, 1, 1, "", "Simulation"], [59, 1, 1, "", "SimulationBuilder"], [59, 0, 0, "-", "helpers"]], "openfisca_core.simulations.Simulation": [[59, 3, 1, "", "calculate"], [59, 3, 1, "", "get_array"], [59, 3, 1, "", "get_holder"], [59, 3, 1, "", "get_memory_usage"]], "openfisca_core.simulations.SimulationBuilder": [[59, 3, 1, "", "build_default_simulation"], [59, 3, 1, "", "build_from_dict"], [59, 3, 1, "", "build_from_entities"], [59, 3, 1, "", "build_from_variables"], [59, 3, 1, "", "explicit_singular_entities"]], "openfisca_core.simulations.helpers": [[59, 2, 1, "", "check_unexpected_entities"], [59, 2, 1, "", "has_unexpected_entities"]], "openfisca_core.taxbenefitsystems": [[60, 1, 1, "", "TaxBenefitSystem"]], "openfisca_core.taxbenefitsystems.TaxBenefitSystem": [[60, 3, 1, "", "add_variable"], [60, 3, 1, "", "add_variables"], [60, 3, 1, "", "add_variables_from_directory"], [60, 3, 1, "", "add_variables_from_file"], [60, 3, 1, "", "apply_reform"], [60, 3, 1, "", "get_package_metadata"], [60, 3, 1, "", "get_parameters_at_instant"], [60, 3, 1, "", "get_variable"], [60, 3, 1, "", "get_variables"], [60, 3, 1, "", "load_extension"], [60, 3, 1, "", "load_parameters"], [60, 3, 1, "", "neutralize_variable"], [60, 4, 1, "", "parameters"], [60, 3, 1, "", "replace_variable"], [60, 3, 1, "", "update_variable"]], "openfisca_core.tools": [[61, 0, 0, "-", "test_runner"]], "openfisca_core.tools.test_runner": [[61, 1, 1, "", "ErrorMargin"], [61, 1, 1, "", "Options"], [61, 1, 1, "", "Test"], [61, 1, 1, "", "YamlFile"], [61, 2, 1, "", "run_tests"]], "openfisca_core.tools.test_runner.YamlFile": [[61, 3, 1, "", "collect"], [61, 4, 1, "", "config"], [61, 4, 1, "", "name"], [61, 4, 1, "", "parent"], [61, 4, 1, "", "path"], [61, 4, 1, "", "session"]], "openfisca_core.tracers": [[62, 1, 1, "", "ComputationLog"], [62, 1, 1, "", "FlatTrace"], [62, 1, 1, "", "FullTracer"], [62, 1, 1, "", "PerformanceLog"], [62, 1, 1, "", "SimpleTracer"], [62, 1, 1, "", "TraceNode"], [62, 1, 1, "", "TracingParameterNodeAtInstant"]], "openfisca_core.tracers.ComputationLog": [[62, 3, 1, "", "print_log"]], "openfisca_core.types": [[63, 6, 1, "", "Array"], [63, 6, 1, "", "ArrayLike"], [63, 1, 1, "", "Container"], [63, 1, 1, "", "CoreEntity"], [63, 1, 1, "", "DateUnit"], [63, 1, 1, "", "EntityKey"], [63, 1, 1, "", "EntityPlural"], [63, 1, 1, "", "Formula"], [63, 1, 1, "", "GroupEntity"], [63, 1, 1, "", "Holder"], [63, 1, 1, "", "Indexable"], [63, 1, 1, "", "Instant"], [63, 1, 1, "", "InstantStr"], [63, 1, 1, "", "ParameterNodeAtInstant"], [63, 1, 1, "", "Params"], [63, 1, 1, "", "Period"], [63, 1, 1, "", "PeriodStr"], [63, 1, 1, "", "Population"], [63, 1, 1, "", "Role"], [63, 1, 1, "", "RoleKey"], [63, 1, 1, "", "RolePlural"], [63, 1, 1, "", "Simulation"], [63, 1, 1, "", "SingleEntity"], [63, 1, 1, "", "TaxBenefitSystem"], [63, 1, 1, "", "Variable"], [63, 1, 1, "", "VariableName"]], "openfisca_core.types.Formula": [[63, 3, 1, "", "__call__"]], "openfisca_core.types.Params": [[63, 3, 1, "", "__call__"]], "openfisca_core.variables": [[64, 1, 1, "", "Variable"], [64, 0, 0, "-", "config"], [64, 0, 0, "-", "helpers"]], "openfisca_core.variables.Variable": [[64, 4, 1, "", "baseline_variable"], [64, 4, 1, "", "default_value"], [64, 4, 1, "", "definition_period"], [64, 4, 1, "", "documentation"], [64, 4, 1, "", "dtype"], [64, 4, 1, "", "end"], [64, 4, 1, "", "entity"], [64, 4, 1, "", "formulas"], [64, 3, 1, "", "get_formula"], [64, 3, 1, "", "is_input_variable"], [64, 4, 1, "", "is_neutralized"], [64, 4, 1, "", "json_type"], [64, 4, 1, "", "label"], [64, 4, 1, "", "max_length"], [64, 4, 1, "", "name"], [64, 3, 1, "", "parse_formula_name"], [64, 4, 1, "", "possible_values"], [64, 4, 1, "", "reference"], [64, 4, 1, "", "set_input"], [64, 4, 1, "", "unit"], [64, 4, 1, "", "value_type"]], "openfisca_core.variables.helpers": [[64, 2, 1, "", "get_annualized_variable"], [64, 2, 1, "", "get_neutralized_variable"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "function", "Python function"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:function", "3": "py:method", "4": "py:attribute", "5": "py:property", "6": "py:data"}, "terms": {"": [1, 2, 3, 5, 6, 7, 8, 10, 11, 15, 18, 24, 25, 27, 28, 29, 30, 33, 35, 38, 39, 41, 42, 43, 46, 47, 50, 53, 55, 64, 68, 69, 70, 71, 73, 74], "0": [1, 2, 3, 4, 5, 6, 10, 12, 14, 18, 33, 43, 44, 46, 48, 50, 52, 53, 55, 56, 57, 58, 59, 60, 62, 67, 69, 70, 72, 73, 74], "00": 69, "000": [4, 12, 74], "00002": 74, "00003": 74, "0001": [5, 64], "01": [1, 2, 4, 5, 10, 11, 12, 41, 43, 50, 54, 55, 56, 63, 64, 68, 69, 70, 74], "02": [10, 12, 55, 68, 72], "03": [5, 12, 68, 72, 74], "04": [4, 5, 56, 68], "05": [4, 5, 53, 68], "06": [4, 5, 10, 68], "07": [10, 50, 68], "08": 68, "09": [43, 55, 68], "0x7f7eb8e88d10": 14, "1": [3, 4, 5, 10, 11, 14, 33, 46, 47, 55, 56, 59, 63, 72, 74, 75], "10": [2, 31, 32, 35, 46, 53, 55, 59, 68, 72, 73, 74], "100": [2, 3, 4, 6, 10, 55, 58, 72], "1000": [3, 5, 10, 53, 57, 70, 72, 73, 74], "100000": 4, "100_1": 55, "101": 72, "101270": 72, "1028": 72, "103938": 72, "1054648": 72, "1067": 72, "1082": 72, "1092": 55, "1096": 55, "11": [31, 32, 33, 35, 59, 68, 73, 74], "1100": 74, "113": 72, "117": 72, "1181": 12, "1192": 72, "12": [4, 5, 10, 12, 50, 55, 68, 72, 74], "120": 10, "1200": 74, "12000": [5, 59], "1214": 72, "1215246": 72, "1226506": 72, "1247258": 72, "127": 14, "1271": 72, "1282607": 72, "12th": 4, "13": 55, "1300": 74, "13000": 59, "1302427": 72, "132300": 72, "1333": 73, "134": 72, "1354815": 72, "14": [50, 55, 72, 74], "141": 72, "1418229": 72, "148": 72, "14th": 4, "15": [4, 46, 69, 72], "150": [10, 70, 72], "1500": [3, 10, 56], "1534376": 72, "156": 55, "15th": [4, 38], "16": [55, 72, 73], "1600": 74, "1615270": 72, "16337": 72, "1666": [4, 73], "1672": 72, "17": [60, 72], "1700": 10, "177": 72, "1787843": 72, "18": [35, 69, 73], "180": [10, 72, 74], "1800": 56, "1809954": 72, "195": 74, "1950": 10, "1951692": 72, "196150": 72, "1972": 12, "1980": 69, "199": 72, "1993": 10, "1aj": 12, "1st": [4, 5, 10, 38, 56], "2": [3, 4, 5, 10, 12, 46, 47, 48, 50, 55, 56, 59, 60, 68, 72, 74, 75], "20": [5, 10, 12, 25, 46, 72], "200": [3, 6, 53], "2000": [1, 10, 12, 14, 53, 56, 59, 63, 73], "20000": 12, "2005": 5, "2009": [10, 12], "2010": [4, 5, 10, 55], "2011": [4, 55, 70, 74], "2012": [4, 12, 55], "2013": [4, 5, 12, 55], "2013423": 72, "2014": [4, 43, 55], "2015": [4, 5, 10, 11, 38, 41, 43, 53, 54, 55, 68], "2016": [4, 5, 10, 11, 54, 59, 68], "2017": [1, 2, 4, 5, 10, 43, 50, 55, 56, 58, 69, 72], "2018": [3, 17, 50, 56, 59, 73, 74], "2019": [4, 55, 74], "202": 72, "2020": [10, 55], "2021": [12, 55, 72], "2022": [5, 55], "2024": 55, "2043730": 72, "2064": 72, "21": 55, "210": 72, "2108": 72, "212": 72, "213": 72, "21971": 72, "22": 72, "220": 10, "2208": 72, "22186": 72, "223427": 72, "224": 72, "23": [72, 74], "23172": 72, "2333": 73, "24": [33, 44, 73], "240": 74, "25": [1, 3, 5, 10, 46, 72], "250": 10, "2500": 12, "25082": 72, "2532": 72, "2579118": 72, "261": [55, 72], "264976": 72, "265682": 72, "2659102": 72, "2666": 73, "2674322": 72, "2694": 74, "27": [55, 72, 74], "2701246": 72, "2702072": 72, "2720": 74, "2746777": 72, "2757742": 72, "2763749": 72, "28": [55, 72, 74], "285": 72, "2884": 74, "29": 55, "2929": 74, "2nd": [4, 5, 10], "3": [2, 3, 4, 5, 10, 18, 31, 32, 44, 46, 50, 55, 56, 62, 67, 72, 73, 74, 75], "30": 55, "300": [56, 70, 74], "3000": [10, 59, 73], "300_3": 55, "30th": 4, "31": [5, 55, 72, 73, 74], "311": 72, "31st": [4, 5], "31th": 4, "32": [1, 35, 55, 56, 72], "33": 72, "332": 72, "333": 73, "3333": 73, "33334": 73, "3334": 73, "33651": 72, "337": 72, "338": 72, "3386": 74, "339": 72, "34": [46, 56, 72], "340": 72, "341": 72, "342": 72, "343": 72, "3433186": 72, "344": 72, "3446413": 72, "345": 72, "346": 72, "347": 72, "348": 72, "3488880": 72, "349": 72, "35": [12, 74], "350": 72, "3500": [12, 56, 68], "351": 72, "3518928": 72, "352": 72, "353": 72, "354": 72, "354557": 72, "355": 72, "356": 72, "357": 72, "35756": 72, "359388": 72, "36": [55, 72], "360": 72, "360294": 72, "36199": 72, "365": 55, "37": [69, 70, 72, 74], "3732": 72, "377": 72, "38": [72, 73, 74], "3815": 14, "3865": 74, "388": 4, "39": 74, "3920": 69, "4": [2, 33, 46, 52, 55, 56, 72, 73, 74], "40": [72, 73, 74], "400": [55, 58], "4000": [11, 52, 68, 69], "401": 72, "404": 74, "40660": 72, "408": 74, "40874": 72, "41": [3, 33, 72], "4124": 72, "416": [4, 72], "42": 3, "421208": 72, "421350": 72, "4254": 72, "429057": 72, "43": 74, "432": 74, "4351": 72, "439": 74, "44": [72, 73, 74], "44100": 72, "442069": 72, "449850": 72, "45": [3, 74], "46": 72, "478": 72, "48": 72, "480": 72, "49": 72, "49117": 72, "49999": 12, "5": [4, 12, 33, 46, 50, 55, 70, 72, 74], "50": [3, 10, 12, 72, 74], "500": [1, 3, 6, 12, 74], "50000": 58, "50679": 72, "507": 74, "50839": 72, "509": 72, "5094": 72, "51": [14, 73], "52": [12, 14, 72], "525": 68, "53": 14, "54": 72, "54550": 72, "55": 12, "550": 54, "5520": 72, "5535": 72, "556": 72, "57": [68, 72], "570": 68, "579": 74, "58": [72, 73], "583017": 72, "59": 72, "596129": 72, "6": [38, 46, 72, 74], "60": [4, 10, 53], "600": [10, 53, 54, 69], "60000": 4, "606": 72, "61": 72, "61375": 72, "617": 72, "621": 72, "63": 72, "635": 72, "64": [35, 73, 74], "644779": 72, "65": 72, "66": 72, "666": 73, "6666": [4, 73], "6667": [4, 73], "67": 72, "675518": 72, "68": 74, "681341": 72, "69": 72, "69381": 12, "696812": 72, "6th": 4, "7": [33, 35, 46, 55, 72, 74], "700": 74, "71": 73, "72826": 72, "73": 72, "737": 72, "74": 72, "75": [10, 46, 70, 72, 74], "750": 74, "76": 72, "76860": 72, "77": 72, "777545": 72, "78": [72, 73], "780": 53, "784194": 72, "785874": 72, "790": 53, "795": 53, "8": [46, 53, 56, 70, 72, 74], "80": [10, 46, 53, 69], "800": 53, "80162": 72, "810869": 72, "81401": 72, "820912": 72, "82468": 72, "84": 72, "840": 74, "84675": 72, "857364": 72, "87": 72, "886367": 72, "8889": 4, "89": 72, "891440": 72, "8th": 74, "9": [12, 32, 35, 55, 72, 74], "90": 46, "90002": 74, "900415": 72, "91": 72, "915592": 72, "919247": 72, "92": 55, "921249": 72, "92290": 72, "96": 72, "97": 72, "97584": 72, "98": 72, "983": 72, "99": 72, "A": [2, 3, 5, 10, 11, 23, 31, 35, 37, 39, 40, 41, 42, 43, 46, 47, 50, 54, 55, 56, 57, 60, 61, 64, 65, 72, 74], "And": [3, 10, 72, 74], "As": [2, 3, 4, 5, 26, 27, 69, 73, 74], "At": 35, "Be": [52, 73], "But": [3, 5, 72], "By": [4, 10, 25, 39, 64, 67], "For": [0, 2, 3, 4, 5, 6, 10, 11, 12, 14, 19, 24, 27, 31, 35, 37, 40, 41, 43, 47, 48, 55, 63, 64, 65, 68, 70, 72, 73, 74], "If": [2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 17, 18, 21, 22, 24, 25, 28, 29, 30, 32, 33, 35, 43, 44, 47, 50, 52, 53, 54, 56, 58, 59, 60, 61, 62, 64, 67, 69, 70], "In": [3, 5, 9, 10, 11, 12, 17, 19, 22, 23, 31, 32, 35, 38, 39, 43, 50, 52, 53, 54, 57, 68, 71, 72, 74], "It": [1, 3, 4, 5, 10, 11, 13, 15, 17, 21, 25, 27, 29, 32, 33, 35, 37, 40, 41, 43, 55, 60, 65, 67, 69, 70, 71, 72, 73, 74], "Its": [26, 42, 67], "NOT": 3, "No": [1, 13, 33, 35, 67], "Not": 25, "On": [5, 15, 31], "One": [23, 72], "Or": 47, "Such": [10, 40], "That": [3, 67, 72], "The": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 50, 53, 54, 55, 56, 59, 60, 61, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74], "Then": [2, 4, 10, 12, 14, 15, 25, 31, 35, 72], "There": [3, 14, 34, 59], "These": [0, 4, 9, 14, 23, 24, 26, 29, 30, 31, 32, 40, 68, 69], "To": [1, 4, 5, 10, 11, 12, 13, 14, 17, 18, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 40, 41, 42, 43, 50, 66, 68, 70, 71, 72, 73, 74, 75], "With": [1, 4, 25, 28, 69, 72, 73], "_": [10, 48, 52, 69], "_2005_06": 5, "__call__": [51, 56, 63, 75], "__file__": 11, "__future__": 72, "__init__": [16, 72], "__qualname__": 72, "__root__": 61, "_blank": 44, "_coreent": 47, "_descript": 47, "_error": 55, "_get_at_inst": 72, "_l": 63, "_n_co": 63, "_p": 72, "_parameters_at_instant_cach": 72, "_tax_benefit_system": 47, "aaaa": 4, "aah": 72, "aah_bas": 72, "aah_base_ressourc": 72, "aah_base_ressources_activite_eval_trimestriel": 72, "aah_base_ressources_activite_milieu_proteg": 72, "aah_i": 72, "abc": 72, "abid": 44, "abil": 27, "abl": [4, 10, 18, 23, 26, 29, 31, 42, 43, 50, 54], "about": [1, 5, 7, 16, 17, 18, 23, 24, 37, 38, 41, 43, 44, 50, 59, 66, 72], "abov": [33, 34, 52, 72, 73], "absenc": 23, "absolut": [53, 60], "absolute_error_margin": [12, 53, 61], "academ": 2, "accept": [15, 23, 50], "access": [1, 6, 27, 28, 29, 32, 54, 66, 67, 74], "accident": 3, "accommod": 2, "accommodation_s": [2, 68, 74], "accomod": [2, 10], "accomodation_s": 2, "accomplish": 24, "accord": [10, 17, 46, 56, 74], "accordingli": 55, "account": [25, 40, 56, 70], "accross": 2, "accur": 3, "achiev": [32, 33, 35, 71], "across": [5, 14, 17], "action": 40, "activ": [5, 18, 31, 33, 35, 71], "actual": [1, 3, 53, 72], "ad": [0, 1, 2, 5, 11, 17, 21, 23, 25, 49, 60, 72, 74], "adapt": [3, 17, 26, 35], "add": [0, 4, 10, 12, 16, 17, 21, 25, 35, 41, 54, 57, 60, 67, 70, 72, 74], "add_child": [11, 51, 54, 57, 75], "add_vari": [51, 57, 60, 75], "add_variables_from_directori": [51, 60, 75], "add_variables_from_fil": [51, 60, 75], "addit": [23, 25, 51, 73, 75], "address": [31, 40], "adjust": 5, "administr": [25, 28], "adult": [6, 68, 73], "advanc": 26, "advis": [9, 27, 32, 37], "af": 41, "affero": 67, "after": [5, 21, 22, 50, 68, 72], "ag": [3, 12, 37, 39, 56, 69, 73], "again": [72, 73], "against": [34, 67], "age_of_major": 69, "agent": 40, "agff_salari": 72, "aggreg": [23, 53, 62, 70, 71, 74], "agpl": [18, 44, 67], "agpl3": 44, "agreement": 67, "aid": 23, "aim": [0, 25], "aka": 55, "al": 23, "algebra": 3, "algorithm": 72, "alia": [47, 63], "alicia": [59, 69], "all": [1, 3, 4, 5, 6, 7, 11, 12, 14, 16, 17, 19, 20, 22, 23, 24, 27, 32, 35, 41, 42, 43, 44, 50, 51, 53, 54, 56, 57, 58, 60, 61, 67, 68, 69, 73, 74, 75], "alloc": 23, "allow": [4, 5, 6, 9, 13, 16, 17, 18, 35, 37, 38, 41, 54, 64, 70, 71, 73], "almost": 3, "along": [17, 71], "alongsid": 23, "alreadi": [18, 25, 27, 28, 32, 33, 41, 74], "alreai": 59, "als_etudi": 23, "also": [0, 3, 4, 5, 6, 10, 11, 17, 18, 22, 23, 28, 29, 31, 32, 35, 38, 60, 61, 67, 71, 72, 73], "alt": 44, "alter": 5, "altern": [3, 11, 28, 31], "alwai": [4, 5, 9, 19, 37, 53, 60, 64], "ambigu": [3, 23, 25], "ambit": 18, "among": 58, "amount": [5, 6, 10, 37, 41, 43, 55], "amount_by_zon": 10, "amyotroph": 23, "an": [0, 1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 16, 21, 22, 23, 24, 28, 30, 31, 32, 34, 35, 38, 40, 41, 43, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 57, 59, 60, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75], "anaconda": 32, "analys": [3, 66, 71], "analysi": [44, 70, 75], "ani": [3, 4, 6, 12, 16, 17, 18, 24, 25, 26, 29, 31, 33, 37, 41, 42, 44, 46, 47, 50, 51, 52, 53, 56, 59, 63, 67, 70, 72, 74, 75], "annot": 72, "annual": 64, "annualization_period": 64, "anoth": [1, 4, 5, 10, 12, 15, 16, 17, 35, 40, 43, 44, 46, 47, 54, 64, 72, 73], "answer": 25, "anymor": [5, 13], "anyon": 67, "anyth": [4, 9, 27, 34, 54, 64, 67], "anywai": [11, 18], "anywher": 34, "aotearoa": 39, "apart": 68, "apgl": 44, "api": [0, 12, 14, 21, 23, 25, 26, 46, 52, 65, 68, 69, 70, 74, 75], "app": [52, 67], "appdata": 35, "appear": [5, 13, 33, 35, 65, 68], "append": 72, "appli": [2, 3, 5, 10, 11, 12, 21, 23, 24, 25, 32, 39, 40, 46, 50, 52, 53, 54, 57, 60, 70, 72], "applic": [25, 27, 28, 31, 36, 37, 52, 67, 72], "apply_reform": [51, 60, 75], "apply_threshold": [46, 51, 75], "approach": [23, 28, 31, 34, 71, 74], "appropri": [3, 5, 23, 28, 31, 32, 35, 50, 72], "april": 4, "aptitud": 14, "ar": [0, 1, 2, 3, 4, 5, 6, 9, 10, 12, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 40, 42, 43, 44, 46, 47, 48, 49, 53, 56, 59, 60, 64, 65, 67, 68, 69, 71, 72, 73, 74], "arbitrari": [3, 65], "architectur": 75, "archiv": 35, "are_entities_fully_specifi": 59, "are_entities_short_form": 59, "are_entities_specifi": 59, "arg": 63, "arg_nam": 49, "arg_valu": 49, "argument": [3, 4, 49, 51, 55, 72, 75], "ari": [70, 73, 74], "aris": 23, "arisen": 23, "arithmet": [12, 25, 43], "around": [19, 24], "arrai": [3, 12, 41, 46, 48, 50, 51, 56, 63, 73, 74, 75], "arraylik": [51, 63, 75], "articl": 44, "asarrai": 48, "ask": [2, 18, 24, 25, 28, 35, 43, 57, 68], "aspect": 55, "assert": 72, "assertionerror": [46, 61], "assess": 25, "assign": [3, 5, 55], "associ": [2, 12, 59, 74], "assum": [2, 4, 5, 6, 10, 11, 12, 23, 33, 43, 53, 56, 64, 74], "assumpt": 3, "atinstantlik": [51, 54, 72, 75], "atom": [17, 38, 55], "attempt": [52, 53], "attribut": [2, 3, 4, 5, 10, 47, 50, 60, 64], "attribute_nam": 64, "august": 38, "authent": 52, "author": 17, "autom": [17, 25], "automat": [9, 13, 17, 20, 22, 25, 37, 52, 53, 64, 65, 67], "autr": 39, "avail": [1, 4, 18, 26, 27, 32, 44, 45, 53, 67, 72, 75], "averag": [46, 62, 70], "average_r": [46, 51, 75], "avg": [53, 70], "avoid": [9, 13, 17, 29, 72], "ax": [59, 71], "axi": [59, 71, 73], "ayant": 12, "b": [5, 11, 74], "b4t_direct": 72, "bachelor": 2, "back": [44, 72], "background": 25, "backward": [4, 17, 21], "bad": [17, 46], "bank": 47, "bar": 46, "barem": 72, "bareme_nam": 72, "barrier": 19, "bart": 59, "base": [2, 9, 16, 18, 40, 44, 46, 48, 54, 64, 68, 72, 73, 75], "base_ressource_activite_demandeur": 72, "base_ressource_eval_trim": 72, "baselin": [12, 57], "baseline_vari": [51, 64, 75], "bash": [31, 35], "bashrc": 35, "basi": [4, 74], "basic": [3, 6, 8, 40, 41, 43, 51, 75], "basic_bro": 10, "basic_incom": [6, 10, 43, 69], "basic_test_cas": 74, "becam": 68, "becaus": [1, 4, 9, 22, 73], "becom": [5, 24, 74], "been": [2, 5, 10, 17, 28, 43, 46, 49, 50, 54, 59, 60, 64, 68, 70], "befor": [4, 5, 10, 17, 21, 22, 24, 27, 32, 53, 69, 70, 72, 75], "begin": [10, 17], "behalf": 25, "behav": 3, "behaviour": [3, 4, 9, 17, 75], "being": [13, 14, 16, 18, 23, 25, 26, 36, 46, 67], "belong": [47, 68, 69, 74], "below": [12, 13, 23, 28, 61], "benefit": [0, 1, 3, 4, 5, 6, 10, 11, 12, 16, 19, 23, 24, 25, 26, 36, 37, 39, 40, 41, 49, 53, 60, 61, 69, 71, 74, 75], "best": [25, 28], "better": [12, 23, 24, 35, 72], "between": [4, 12, 34, 50, 58, 70, 73], "beyond": 10, "big": 33, "bill": [17, 68], "bin": 33, "binari": 72, "bind": 52, "birth": [1, 4, 38, 43, 69], "bisect_right": 72, "bit": [1, 35], "block": 9, "bob": 68, "boilerpl": [0, 7], "bool": [1, 2, 47, 55, 56, 59, 60, 61, 64], "bool_": 46, "boolean": [1, 2], "bootstrap": [8, 28], "both": [0, 5, 11, 31, 40, 42, 46, 73, 74], "bottom": 70, "bound": 46, "boundari": 12, "bracket": [5, 10, 11, 54, 73], "branch": [10, 17, 20, 72], "break": [13, 17, 46, 67], "breakpoint": [22, 72], "briefli": 17, "bring": 17, "broader": 0, "broadli": 23, "brows": [23, 67], "browser": [28, 72], "budget": 25, "bug": [17, 21], "build": [10, 11, 18, 25, 31, 47, 55, 59, 67, 74], "build_default_simul": [51, 59, 74, 75], "build_ent": [47, 51, 75], "build_from_dict": [51, 59, 75], "build_from_ent": [51, 59, 70, 73, 74, 75], "build_from_vari": [51, 59, 75], "build_tax_benefit_system": 52, "builder": 74, "built": [1, 10, 25, 59, 65, 70], "builtin": 72, "bulk": [71, 73], "bundl": [44, 67], "busi": 44, "c": [5, 11, 33, 35, 52, 53, 74], "c3": 72, "cach": [41, 59, 64], "calc": [10, 72], "calcul": [0, 1, 2, 3, 5, 6, 9, 10, 11, 18, 25, 27, 37, 38, 39, 40, 43, 44, 47, 50, 51, 53, 55, 56, 58, 59, 64, 65, 66, 67, 70, 71, 72, 73, 75], "calculate_output": 9, "calcult": 10, "calcul\u00e9": 44, "calendar": 4, "call": [1, 3, 4, 5, 10, 11, 12, 14, 26, 28, 29, 47, 49, 53, 55, 57, 59, 63, 64, 69, 70, 72], "campfir": 24, "can": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 16, 17, 18, 19, 22, 24, 25, 26, 27, 32, 33, 35, 38, 39, 40, 41, 42, 43, 44, 46, 47, 50, 52, 54, 55, 57, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74], "cannot": [16, 49], "capabl": 0, "care": [2, 52, 73], "case": [3, 5, 10, 11, 17, 18, 19, 22, 23, 25, 29, 30, 31, 32, 34, 50, 53, 54, 70, 71, 72, 73, 75], "cast": [4, 54, 72], "categorie_salari": 72, "categorie_salarie_typ": 72, "caus": [4, 23], "cd": [31, 33], "cell": 10, "cell_siz": 50, "centralis": 24, "certain": [6, 11], "chain": 11, "chang": [2, 3, 4, 5, 10, 11, 17, 21, 24, 25, 27, 31, 37, 38, 40, 46, 52, 54, 67, 73, 75], "changelog": 17, "channel": [17, 75], "charact": [5, 24], "characterist": 43, "chart": 73, "check": [1, 7, 15, 17, 26, 27, 29, 30, 31, 33, 34, 35, 40, 45, 47, 50, 54, 56, 59, 66], "check_exist": [47, 60], "check_node_vectoris": [51, 54, 75], "check_role_valid": [47, 51, 75], "check_unexpected_ent": [51, 59, 75], "check_variable_defined_for_ent": [47, 51, 75], "chevron": 70, "child": [6, 10, 39, 47, 54, 56, 68, 73, 74], "children": [6, 10, 12, 37, 39, 47, 61, 62, 68, 70, 73, 74], "choic": [35, 46, 73], "chomage_impos": 72, "choos": [35, 42, 46, 72], "choosealicens": [44, 67], "chosen": [12, 31, 46], "chronolog": 54, "citi": 0, "citizen": 2, "clarifi": 75, "clariti": 24, "class": [1, 2, 4, 5, 6, 11, 46, 47, 48, 49, 50, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 70, 72], "class_nam": 49, "class_overrid": 47, "classifi": 32, "classmethod": [48, 55], "classvar": 47, "clean": 46, "cleanup": 17, "clear": 17, "click": [15, 35], "clone": [31, 32, 46, 50, 51, 64, 75], "closer": 72, "closest": 9, "cluster": 39, "cmd": 31, "code": [0, 2, 3, 4, 5, 7, 13, 16, 18, 22, 25, 28, 29, 31, 32, 34, 37, 40, 42, 44, 49, 67, 70, 72, 73, 74, 75], "codebas": [17, 46], "codifi": 25, "coeff_furnish": 10, "coeffici": 10, "coher": 72, "collabor": [19, 24, 25], "collect": [23, 33, 47, 51, 61, 75], "collector": 61, "colleg": 6, "college_scholarship": 6, "colour": 35, "column": 74, "com": [5, 14, 31, 32, 44, 60, 67], "combin": [12, 25, 72, 73], "come": [4, 31, 35, 66, 67, 72, 74], "command": [12, 22, 26, 29, 30, 31, 32, 33, 35, 52, 53], "comment": [18, 19], "commit": 17, "common": [1, 11, 19, 28, 44, 51, 75], "commun": [0, 17, 18, 23, 24, 25, 27, 28, 31, 44], "compani": [23, 25, 39, 47], "compar": [40, 72], "comparison": [2, 3, 5, 75], "compat": [0, 17, 21, 67], "complet": [7, 25, 29, 31, 33, 65, 75], "complex": [7, 10, 72, 73], "compli": 25, "compliant": 23, "complic": 26, "compon": [0, 46], "compos": [68, 69], "composit": 10, "comput": [4, 5, 8, 9, 11, 23, 36, 43, 46, 60, 62, 64, 67, 70, 71, 73, 74, 75], "computationlog": [51, 62, 75], "concat": [3, 46, 51, 75], "concaten": 46, "concept": [9, 75], "concern": [1, 2, 23, 44], "concurr": 24, "conda": [32, 35], "condit": [10, 46, 56, 58, 75], "condition_ag": 3, "condition_handicap": 3, "condition_salari": 3, "config": [51, 52, 61, 72, 75], "configur": [27, 51, 74, 75], "configuration_fil": 52, "confirm": 33, "conflict": [29, 54], "confus": [16, 23, 40], "conjoint": [12, 39], "consid": [3, 5, 6, 9, 17, 23, 28, 32, 55, 70], "consist": [9, 38, 46], "consol": [31, 35, 61, 74], "constant": [4, 6, 38], "constitut": 10, "constrain": 1, "constraint": 3, "construct": 0, "consum": 72, "consumpt": 40, "contact": [18, 27, 32, 75], "contain": [2, 3, 4, 6, 10, 11, 16, 35, 42, 43, 47, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 63, 64, 69, 73, 75], "containing_ent": 47, "content": [10, 35, 65, 72, 74], "context": [0, 23, 38, 47, 64], "continu": [28, 72], "contribut": [5, 12, 19, 21, 25, 29, 31, 42, 44, 75], "contributor": [18, 19, 21, 23, 24, 30, 44, 46], "control": [26, 32, 73], "conveni": [4, 10], "convent": [1, 12, 16, 21, 23, 64, 75], "convert": 35, "copi": [9, 11, 22, 33, 35, 50, 73], "core": [14, 17, 32, 33, 35, 39, 42, 44, 46, 67, 75], "coreent": [51, 63, 75], "correct": [21, 35], "correctli": [33, 35], "correspond": [4, 10, 12, 42, 48, 64, 68, 74], "cost": 72, "cotisations_salarial": 72, "cotisations_salariales_contribut": 72, "cotisations_sociales_simulateur_ipp": 12, "could": [1, 3, 9, 34, 35, 46, 47, 54, 65, 67, 72, 74], "couldn": 46, "council": 0, "count": [50, 59, 73], "countri": [8, 10, 12, 14, 16, 17, 23, 24, 27, 31, 32, 33, 34, 35, 39, 40, 42, 43, 44, 46, 52, 53, 60, 65, 66, 68, 69, 72, 74, 75], "country_packag": [52, 53], "country_package_nam": 52, "country_templ": 33, "countrytaxbenefitsystem": [10, 11, 33, 34, 35, 58, 70, 74], "coupl": [10, 65, 72], "cours": 1, "cover": 71, "cprofil": 14, "cpstd": 23, "crash": 9, "crd": 72, "crds_i": 72, "crds_pfam": 72, "creat": [0, 1, 2, 3, 12, 13, 15, 17, 18, 25, 29, 31, 33, 35, 37, 41, 42, 46, 58, 71, 72, 74], "create_app": 52, "create_ent": 74, "creation": [31, 74], "credit": [44, 67], "criteria": 56, "crucial": 21, "cryptographi": 23, "csg_deductible_chomag": 72, "csv": [26, 53, 71, 73], "culprit": 72, "cultur": 0, "curiou": 23, "currenc": [5, 10], "current": [4, 23, 33, 54, 55, 60, 72], "cycleerror": [49, 51, 75], "cyclic": [46, 72], "c\u00e9libatair": 12, "d": [18, 53, 74], "daemon": 31, "dai": [4, 5, 12, 38, 55, 63, 64, 72], "damag": 59, "data": [1, 14, 17, 26, 41, 42, 50, 54, 56, 59, 71, 72, 73, 75], "data_household": 74, "data_person": 74, "databas": 74, "datafram": 74, "dataset": [3, 25, 71], "date": [1, 4, 10, 38, 43, 55, 64, 67, 72], "date_naiss": 12, "datetim": [55, 72], "dateunit": [50, 51, 55, 63, 64, 75], "dawn": 5, "dd": [4, 5, 60, 64, 72], "de": [12, 23, 72], "deal": 25, "debian": 14, "debug": 22, "debugg": [14, 53, 72], "dec": 5, "decemb": [4, 5], "decid": 41, "decis": [17, 24, 75], "declar": [1, 2, 6, 12, 39, 50], "declare_ent": 74, "declare_person_ent": 74, "decod": [48, 51, 75], "decode_to_str": [48, 51, 75], "decor": [46, 72], "decote_seuil_celib": 11, "decote_seuil_coupl": 11, "decreas": 72, "decrement": 55, "dedic": [24, 25, 36], "deduct": 6, "def": [1, 2, 3, 4, 5, 6, 10, 11, 57, 72], "default": [4, 5, 9, 10, 12, 21, 31, 32, 35, 50, 53, 59, 60, 62, 64, 68], "default_arrai": [50, 51, 75], "default_valu": [2, 51, 64, 75], "defin": [0, 1, 5, 6, 9, 11, 16, 19, 38, 39, 41, 43, 47, 49, 53, 55, 59, 60, 64, 65, 68, 71, 72, 74], "definit": [36, 49, 50, 68, 69, 72, 74], "definition_period": [1, 2, 5, 6, 49, 50, 51, 64, 72, 75], "degre": 2, "delet": 17, "delete_arrai": [50, 51, 75], "demandeur": [58, 72], "demo": 67, "demograph": 25, "demonstr": [0, 27, 32, 66, 75], "depcom_entrepris": 12, "depend": [0, 2, 17, 18, 25, 29, 31, 32, 35, 39, 42, 43, 46, 47, 69, 70], "deploi": 67, "deprec": [17, 21, 46], "depth": [53, 62], "describ": [1, 10, 11, 17, 25, 27, 28, 30, 32, 37, 39, 59, 64, 66, 69, 73, 74], "descript": [0, 2, 5, 10, 12, 47, 51, 54, 61, 64, 69, 75], "desir": 31, "desktop": [28, 31], "destin": [35, 44, 72], "detail": [1, 17, 18, 61, 70, 71], "detect": [52, 53], "determin": [21, 35, 40], "dev": 72, "develop": [19, 25, 27, 44, 67, 75], "dict": [46, 54, 55, 59, 60, 65], "dictionari": [12, 55, 59, 60], "did": [17, 46], "didn": 69, "differ": [0, 1, 2, 10, 12, 18, 24, 26, 32, 35, 36, 38, 39, 46, 47, 67, 68, 72, 73], "digit": [42, 44], "dimens": 56, "dir": 60, "dir_path": 11, "direct": [28, 72, 75], "directli": [3, 12, 16, 18, 28, 34, 44, 51, 75], "directori": [10, 11, 16, 31, 33, 35, 53, 54, 60, 61], "directory_path": 54, "dirnam": 11, "disabl": [3, 14, 23], "disambigu": 4, "disappear": [5, 64], "discourag": 23, "discover": [24, 67], "discret": 1, "discuss": [17, 23, 24, 44], "dispatch": [12, 74], "displai": 22, "dispon": 67, "dispos": 40, "disposable_incom": [65, 69], "distinct": 74, "distribut": [14, 32], "divid": [4, 9, 50], "do": [2, 3, 4, 12, 35, 40, 43, 44, 53, 70, 72, 75], "doc": [15, 33, 47, 51, 61, 75], "docker": [28, 32], "doctor": 2, "document": [0, 1, 4, 11, 12, 14, 18, 19, 26, 27, 28, 29, 32, 40, 50, 51, 64, 65, 66, 67, 70, 74, 75], "doe": [2, 3, 5, 25, 27, 53, 59, 60, 61, 64, 72, 73], "doesn": [3, 4, 25, 35, 40, 47, 49, 53, 69], "dog": 59, "domain": [0, 23, 39, 42], "don": [35, 41, 56], "done": [5, 32, 65, 67], "dont": 44, "dot": 54, "doubl": 70, "download": [33, 35], "drop": [14, 22, 25, 53], "dsl": [0, 25], "dtype": [46, 50, 51, 56, 63, 64, 73, 74, 75], "du": 67, "due": [17, 68], "dummi": [46, 51, 75], "dump_stat": 14, "durat": 72, "dure": 21, "dynam": [14, 25], "e": [1, 2, 3, 9, 10, 12, 16, 23, 25, 33, 34, 38, 40, 43, 47, 50, 52, 53, 54, 56, 60, 65, 66, 67, 68, 69, 72, 74], "each": [2, 3, 4, 10, 12, 14, 15, 17, 22, 23, 39, 42, 43, 46, 47, 59, 62, 66, 67, 68, 70, 72, 73, 74], "earn": [2, 4, 5, 69], "eas": 24, "easier": [32, 35, 46, 72, 73], "easiest": 44, "easili": [5, 67], "ebitda": 23, "echo": 35, "ecologi": 42, "econom": 40, "economist": [18, 25], "edg": [10, 75], "edit": [31, 35, 72], "editor": [22, 35], "effect": [10, 11, 25, 53, 60, 72], "effectu\u00e9": 67, "effici": 72, "effort": [23, 75], "effortlessli": 25, "either": [3, 25, 31, 33, 44, 55, 68, 72, 73], "elast": 25, "eldest": 56, "element": [3, 25, 55, 68], "elif": 72, "elig": [12, 25], "eligibility_multipli": 3, "els": [47, 72], "email": 24, "emploi": 24, "employe": 2, "empti": [16, 46, 49], "empty_clon": [46, 51, 75], "emptyargumenterror": [49, 51, 75], "en": [10, 42, 67], "enabl": [0, 14, 18, 72], "encod": [48, 51, 75], "encoded_arrai": 48, "encount": 17, "encourag": [15, 18, 24], "end": [1, 19, 31, 51, 62, 64, 72, 75], "endpoint": [14, 27, 67, 70], "enfant": [12, 39], "enfant1": 12, "enfant2": 12, "engin": [23, 25, 39, 40, 42, 67], "english": [19, 23, 75], "enhanc": 75, "enough": [5, 24, 50], "ensur": [17, 25, 46], "enter": [4, 22], "entir": [53, 62], "entiti": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 36, 37, 41, 43, 50, 51, 56, 59, 60, 64, 66, 69, 72, 73, 74, 75], "entitiesdescript": 69, "entitl": [6, 37, 71], "entitykei": [47, 51, 63, 75], "entityplur": [47, 51, 63, 75], "entri": [10, 19, 36, 73], "enum": [1, 51, 64, 75], "enum34": 48, "enum_arrai": 48, "enum_item_arrai": 48, "enumarrai": [51, 75], "enumer": [1, 25], "environ": [14, 28, 29, 30, 31, 32, 35, 52, 53], "equal": [4, 10, 12, 73], "equival": [3, 4, 5], "error": [3, 4, 5, 10, 21, 22, 23, 29, 31, 33, 35, 51, 59, 60, 73, 75], "errormargin": [51, 61, 75], "especi": 0, "essenti": 32, "est": 44, "establish": [28, 32, 41], "estim": [4, 40], "et": 67, "etc": [18, 25, 39, 50, 71, 73, 74], "etern": [1, 4, 38, 55, 64, 69], "eur": [5, 10], "eval_express": [46, 51, 75], "evalu": [4, 5, 34, 40, 46, 69, 72], "even": [3, 35, 43, 72], "everi": [3, 4, 6, 10, 15, 59, 68, 72, 74], "everyon": [14, 24, 60], "everyth": [33, 35], "everytim": 26, "evolut": [8, 10], "evolv": [4, 5, 23], "ex": 31, "exact": 22, "exampl": [0, 4, 5, 6, 7, 8, 10, 14, 17, 18, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 38, 39, 43, 44, 46, 47, 50, 51, 55, 56, 57, 58, 59, 60, 62, 63, 65, 68, 69, 70, 72, 73, 74, 75], "excel": 73, "except": [14, 23, 49, 60], "excess": 23, "exclud": 5, "execut": [3, 4, 14, 22, 25, 43, 53, 61], "exercis": 17, "exist": [2, 5, 10, 12, 16, 23, 25, 26, 29, 31, 42, 47, 56, 60, 73, 75], "expect": [1, 3, 9, 10, 12, 17, 26, 72], "expens": [3, 72], "experiment": 11, "expert": [18, 19, 23], "explain": [1, 15], "explan": [17, 18], "explicit": 59, "explicit_singular_ent": [51, 59, 75], "explicitli": [2, 60, 68], "explor": [14, 18, 60, 61, 65], "export": 35, "expos": [0, 46, 65], "express": [3, 12, 46, 74], "ext": 24, "extend": [0, 44, 71], "extens": [24, 25, 33, 44, 51, 60, 61, 75], "extension_nam": 16, "extern": 23, "extra": [2, 72], "extract": [13, 35, 74], "f": [11, 52, 72], "fact": [5, 72, 73], "factor": 72, "factori": [61, 62], "fail": [22, 53], "failur": [22, 53], "fals": [2, 3, 43, 47, 53, 55, 56, 59, 60, 62], "famil": [12, 39, 58, 72], "famili": [1, 6, 12, 37, 39, 41, 43, 47, 58], "family_allow": 41, "fanci": 54, "fashion": [3, 23], "favorit": 22, "favourit": 72, "feasibl": 17, "featur": [3, 17, 18, 22, 71], "feedback": 24, "feel": [18, 75], "few": [5, 18], "field": [12, 64, 73], "figur": 72, "file": [1, 2, 11, 12, 14, 15, 16, 18, 31, 32, 33, 35, 49, 51, 53, 54, 60, 61, 68, 71, 72, 75], "file_path": [11, 54, 57, 60, 72], "filesystem": 61, "fill": 50, "filter": [51, 75], "final": [12, 28, 72], "financ": [17, 40], "find": [4, 10, 12, 18, 25, 42, 47, 75], "find_rol": [47, 51, 75], "findabl": 23, "fine": [9, 73, 74], "first": [2, 3, 4, 5, 10, 12, 23, 25, 29, 31, 32, 33, 35, 36, 38, 55, 59, 72, 73, 74], "first_dai": 55, "first_month": [4, 55], "first_par": [47, 74], "first_reform": 12, "fiscal": [5, 67], "fiscaladministr": 10, "fit": 10, "fix": [11, 17, 18, 21], "flag": 53, "flat": 5, "flat_tax_on_salari": [1, 5], "flattrac": [51, 62, 75], "flax": 1, "float": [1, 2, 3, 4, 5, 6, 46, 56, 64, 72], "float32": [1, 46, 73, 74], "flow": 17, "focu": [41, 47, 71], "folder": [16, 35], "follow": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 16, 17, 18, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 35, 41, 44, 67, 68, 69, 70, 73, 74], "fonctionnair": 72, "foo": 46, "footer": 44, "forev": 4, "forget": [3, 25, 41], "fork": [18, 44], "form": [23, 35, 59, 71], "formalis": 13, "format": [3, 4, 5, 25, 26, 52, 60, 64, 68, 72, 74], "former": 5, "former_nam": 13, "formula": [2, 6, 8, 9, 10, 11, 16, 18, 21, 22, 23, 25, 37, 40, 46, 51, 56, 59, 63, 64, 69, 70, 72, 75], "formula_2005_06": 5, "formula_2017": 5, "formula_2017_01_01": 5, "formula_yyyi": 64, "formula_yyyy_mm": 64, "formula_yyyy_mm_dd": 64, "found": [5, 10, 11, 14, 18, 23, 32, 47, 49, 60, 67, 72], "four": 12, "fourni": 44, "foyer_fisc": 72, "foyers_fiscaux": [12, 39], "fr": [67, 72], "fraction": 5, "fragil": 9, "fragment": 72, "frame": 41, "framework": 25, "franc": [0, 11, 14, 17, 18, 19, 23, 24, 35, 39, 41, 60, 72], "fran\u00e7ai": 75, "free": [2, 18, 31, 44, 48, 64, 67], "free_lodg": [2, 48], "freelanc": 2, "freeli": 18, "french": [0, 2, 7, 10, 17, 19, 23, 36, 67, 75], "french_citizen": 2, "friendli": [1, 22], "from": [0, 1, 4, 5, 6, 9, 10, 11, 14, 16, 17, 18, 19, 23, 25, 29, 33, 34, 35, 39, 40, 41, 43, 46, 47, 50, 52, 54, 57, 58, 59, 60, 61, 64, 68, 69, 70, 71, 72, 73, 75], "full": [24, 47, 69], "full_kei": 14, "full_trac": 62, "fulli": 59, "fulltrac": [51, 62, 75], "function": [0, 1, 3, 6, 11, 21, 25, 35, 43, 46, 50, 57, 63, 64, 72, 74], "functool": 72, "furnish": 10, "further": [27, 41, 73], "futur": [4, 18, 46], "g": [1, 2, 3, 9, 10, 11, 12, 16, 23, 25, 34, 35, 38, 40, 43, 47, 50, 52, 54, 56, 60, 65, 66, 68, 69, 72], "gain": 32, "gather": [18, 24], "gdpr": 25, "gener": [4, 14, 16, 17, 18, 24, 26, 40, 46, 51, 54, 60, 69, 73, 75], "get": [3, 4, 6, 7, 10, 11, 17, 23, 25, 31, 32, 35, 43, 44, 47, 50, 52, 56, 59, 60, 64, 72, 75], "get_annualized_vari": [51, 64, 75], "get_arrai": [50, 51, 59, 75], "get_at_inst": 72, "get_cached_composed_reform": 14, "get_descend": [51, 54, 75], "get_formula": [51, 64, 75], "get_hold": [51, 59, 75], "get_known_period": [50, 51, 75], "get_memory_usag": [50, 51, 59, 75], "get_neutralized_vari": [51, 64, 75], "get_package_metadata": [51, 60, 75], "get_parameters_at_inst": [51, 60, 72, 75], "get_rank": [51, 56, 75], "get_subperiod": 55, "get_vari": [47, 51, 60, 75], "getting_start": 11, "git": [14, 22, 26, 31, 72], "gitforwindow": 35, "github": [14, 15, 17, 18, 20, 24, 28, 31, 32, 44, 60, 67], "gitpod": 34, "give": [3, 4, 17, 22, 27, 41, 70, 72], "given": [1, 2, 4, 5, 10, 18, 21, 24, 25, 43, 46, 50, 53, 54, 55, 56, 58, 60, 64, 70, 72, 74], "global": [9, 23, 72], "gmt": 69, "gnu": 14, "go": [18, 25, 32, 35, 71, 72], "goal": [0, 19, 28, 42], "goe": 74, "good": [9, 10, 17, 36, 46], "got": 72, "gouv": 24, "gov": 54, "govern": [10, 25], "gpl": 67, "grain": 73, "grandchildren": 10, "grant": [3, 6], "graph": 53, "graphic": 25, "great": 72, "greater": 74, "greet": 72, "grep": [33, 72], "gross": 46, "gross_salari": 53, "group": [1, 12, 23, 24, 41, 43, 47, 58, 59, 68, 69, 73, 74], "group_ent": 47, "groupent": [47, 51, 56, 63, 75], "grouppopul": [51, 56, 75], "grown": 23, "guarante": [47, 67], "gui": 14, "guid": [25, 28, 29, 35], "guidelin": [18, 25, 44], "gunicorn": [51, 75], "gz": 33, "h": [52, 53], "ha": [2, 4, 5, 10, 17, 21, 22, 29, 32, 39, 41, 43, 46, 47, 49, 50, 53, 54, 55, 56, 59, 60, 64, 67, 68, 70, 72], "hackathon": 21, "had": [4, 5, 10], "half": 4, "handi": 72, "handicap": 3, "handl": [3, 5, 38, 41, 55, 59], "happen": [4, 17, 24, 73], "happi": 44, "hard": 37, "has_household_basic_incom": 6, "has_rol": [6, 51, 56, 58, 75], "has_unexpected_ent": [51, 59, 75], "hashabl": 72, "have": [1, 2, 3, 4, 5, 10, 16, 18, 23, 24, 25, 26, 27, 28, 32, 33, 34, 35, 36, 40, 42, 44, 47, 48, 50, 56, 60, 67, 68, 70, 72, 74], "header": 74, "hei": 72, "height": 44, "help": [3, 17, 18, 25, 35, 46, 52, 69, 75], "helper": [50, 54, 55, 59, 64], "here": [4, 8, 9, 12, 14, 18, 21, 22, 23, 29, 30, 32, 35, 38, 44, 45, 68, 69, 72, 74], "hide": 22, "hierarch": 1, "high": 2, "higher": [31, 42], "highest": 2, "hint": [22, 41], "hit": 72, "holder": [51, 59, 63, 75], "home": 2, "homeless": 2, "homeown": 68, "homogen": 10, "hood": [52, 64], "host": [15, 25, 27, 52, 75], "hous": [2, 5, 10, 23, 25, 38, 68], "housea": 59, "houseb": 59, "household": [1, 2, 3, 6, 10, 11, 23, 37, 39, 40, 43, 47, 48, 56, 59, 64, 68, 69, 70, 73], "household_1": [68, 70, 73, 74], "household_2": [68, 70, 73, 74], "household_id": 74, "household_inst": 74, "households_id": 74, "housing_allow": [4, 5, 10, 70, 74], "housing_benefit": [10, 54], "housing_occupancy_statu": [2, 48, 68], "housing_tax": [2, 68], "housing_tax_nb_par": 23, "housingoccupancystatu": [2, 48], "how": [1, 3, 4, 14, 17, 25, 29, 33, 40, 46, 65, 66, 67, 69, 70, 71, 72, 73, 75], "howev": [1, 3, 4, 5, 6, 10, 23, 65, 68], "href": [44, 67], "html": [10, 44, 53, 72], "http": [0, 5, 10, 14, 29, 31, 32, 35, 42, 44, 54, 60, 67, 72], "human": [1, 75], "hundr": 3, "hypothesi": [5, 72], "i": [1, 2, 3, 4, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 46, 47, 49, 50, 53, 54, 55, 56, 58, 59, 60, 61, 62, 64, 65, 68, 69, 70, 72, 73, 74, 75], "id": [12, 31, 52, 74], "idea": [18, 23], "ident": [64, 68, 72, 74], "identifi": [18, 24, 32, 39, 47, 48, 74, 75], "idsit": 52, "ignor": [53, 74], "ignore_vari": 53, "illustr": [5, 36], "imag": [31, 32], "imagin": [6, 10], "imaginari": 1, "img": 44, "imp": 72, "impact": [4, 11, 25, 34, 40, 72], "imper": 17, "implement": [3, 5, 10, 25, 37, 38, 54, 55, 57, 72, 73, 75], "implic": [18, 44], "implicitli": 4, "import": [2, 10, 11, 14, 16, 22, 23, 28, 31, 33, 34, 35, 43, 46, 47, 50, 52, 57, 58, 70, 72, 74], "impot_revenu_restant_a_pay": 41, "impots_direct": 72, "improv": [15, 18, 23, 25, 48, 65, 72], "imp\u00f4t": 72, "inaccuraci": 18, "inact": 5, "includ": [0, 4, 5, 10, 12, 17, 18, 25, 28, 32, 47, 50, 65, 66, 67], "inclus": [4, 5], "incom": [1, 4, 5, 6, 10, 11, 12, 25, 37, 38, 40, 41, 43, 46, 54, 68], "income_tax": [4, 11, 54, 68, 69, 74], "income_tax_nb_par": 23, "income_tax_r": [65, 69], "income_tax_reform": 11, "incompat": [4, 17, 21, 46], "incomplet": 18, "increas": [11, 24, 40, 44, 53], "increase_cotis": 53, "increase_minimum_wag": 11, "increment": [17, 21, 55, 73], "inde": 72, "indemnite_resid": 72, "indemnit\u00e9": 72, "indent": [47, 50, 70], "independ": [0, 13, 39, 41, 73], "index": [48, 51, 54, 60, 63, 72, 73, 75], "indexed_enum": 48, "indic": [29, 35, 68, 70, 72, 73], "individu": [1, 5, 6, 12, 23, 47, 68, 72, 74], "indivis": 55, "industri": 17, "infer": [8, 59], "inform": [4, 13, 18, 25, 27, 29, 32, 41, 43, 66, 67, 70, 74], "infrastructur": 42, "ingest": 25, "ini": 14, "initi": 2, "initialis": [58, 65, 74], "inner": [53, 73], "input": [1, 8, 9, 10, 41, 46, 48, 49, 50, 53, 59, 60, 61, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75], "input_arrai": 48, "input_dict": 59, "inquiri": 24, "insert": 68, "insid": [10, 16, 39], "insight": 44, "inspect": [14, 18, 70], "instal": [14, 17, 22, 26, 27, 28, 33, 34, 44, 52, 53, 60, 67, 72, 74], "installed_packag": 60, "instanc": [1, 2, 3, 4, 5, 6, 10, 11, 12, 16, 19, 25, 27, 35, 37, 40, 42, 43, 46, 47, 48, 54, 55, 64, 72, 73, 74, 75], "instant": [4, 36, 51, 54, 55, 60, 63, 64, 72, 75], "instant_": [55, 72], "instant_1": 72, "instant_2": 72, "instant_3": 72, "instant_d": [51, 55, 75], "instant_pattern": 72, "instant_str": [49, 54, 72], "instanterror": 55, "instanti": [42, 54, 74], "instantstr": [51, 63, 75], "instead": [3, 5, 10, 12, 22, 26, 32, 53, 71, 72, 73], "instig": 33, "instruct": [7, 26, 29, 30, 31, 32, 33, 67], "int": [1, 47, 48, 50, 55, 56, 60, 61, 64, 72], "int16": 48, "int32": [46, 50, 73], "int64": 74, "integ": [1, 55, 72], "integr": [18, 20], "intend": [23, 28, 29, 46], "intent": [17, 29, 31], "interact": [0, 27, 65, 73], "interest": [0, 1, 4, 5, 42], "interfac": [25, 27, 67, 69, 70], "interfer": 54, "intermedi": [10, 23, 70], "intern": 4, "interpret": 25, "interv": [10, 55], "introduc": [5, 8, 21, 40, 64], "invalid": 55, "inversion_revenu": 60, "invit": 67, "involv": 28, "io": 35, "ipdb": 14, "ipython": 72, "ir_prets_participatifs_2016": 72, "irpp": 12, "irpp_prets_participatif": 72, "irrelev": 72, "is_adult": 6, "is_child": [6, 56], "is_coupl": 10, "is_input_vari": [51, 64, 75], "is_neutr": [51, 64, 75], "is_person": [47, 51, 75], "is_stud": 6, "is_unemploi": 4, "isf_ifi": 72, "isf_ifi_apres_plaf": 72, "isf_ifi_i": 72, "isinst": [46, 72], "isn": [26, 32, 74], "isod": 33, "isol": [17, 23, 31], "issu": [10, 18, 19, 24, 35, 44], "item": [2, 46, 48, 61, 74], "iter": [47, 55, 59, 74], "iter_cotis": 72, "its": [2, 3, 4, 5, 6, 9, 17, 22, 23, 25, 26, 27, 29, 31, 38, 43, 44, 47, 49, 50, 53, 56, 60, 64, 67, 69, 70, 71, 74, 75], "itself": 33, "jan": [5, 69], "janet": 68, "januari": [4, 5, 64], "javier": [59, 70, 73, 74], "join": [11, 14, 24, 25, 74], "join_with_person": 74, "jointli": 47, "journei": 72, "json": [0, 18, 25, 26, 64, 65, 68, 69, 74], "json_typ": [51, 64, 75], "judgement": 25, "juli": [4, 38], "jump": 15, "june": [4, 5, 38, 68], "jupyt": 8, "jupyterlab": 34, "jurisdict": [0, 14, 28, 39, 42, 67], "just": [1, 15, 22, 26, 28, 50, 72], "keep": [16, 18, 35, 40, 50], "kei": [2, 18, 47, 50, 51, 55, 61, 75], "kept": [36, 67, 74], "kernprof": 72, "key_period_s": [51, 55, 75], "keyword": [10, 12, 53, 61], "kind": [12, 74], "know": [6, 17, 18, 35, 41, 72], "known": [23, 40, 50, 65, 74], "kwarg": [58, 61, 63], "l": 72, "label": [1, 2, 4, 5, 6, 11, 47, 51, 64, 72, 75], "labour": 23, "lack": 23, "languag": [0, 23, 25, 32, 35], "larg": [9, 24, 25, 26, 28, 62, 70, 71, 72], "larger": 50, "largest": 38, "last": [3, 4, 5, 12, 35, 36, 47, 55, 59, 72], "last_3_month": [4, 55], "last_month": [4, 55], "last_year": [4, 55], "later": [5, 23, 25, 35], "latest": [27, 29, 32, 67], "launch": 22, "law": [0, 1, 10, 11, 25, 27, 37, 75], "lawmak": 25, "lawyer": 25, "layer": 44, "le": [44, 67], "lead": [17, 23, 72, 73], "learn": [1, 24, 25, 66], "least": [12, 17, 55], "left": [3, 10, 70], "legal": [0, 2, 25, 44], "legisl": [2, 7, 8, 10, 11, 14, 26, 36, 37, 39, 40, 42, 43, 54, 55, 57, 60, 64, 65, 67, 72, 74, 75], "leila": [70, 73, 74], "len": [55, 72, 73, 74], "length": [3, 4, 12, 50, 55, 64, 74], "less": [3, 9], "let": [1, 2, 3, 4, 5, 6, 8, 10, 11, 38, 43, 53, 67, 69, 72], "letter": [10, 23], "level": [2, 42, 67, 74], "leverag": 74, "li": 72, "libr": 67, "librari": [25, 31, 46, 74], "licenc": [25, 67, 75], "licens": [18, 44, 67], "life": 72, "like": [5, 17, 18, 23, 32, 35, 38, 39, 47, 55, 63, 72, 74], "likewis": 70, "limit": [2, 17, 24, 28, 64], "line": [12, 13, 14, 22, 25, 35, 52, 53, 67, 69, 71, 72, 74], "line_profil": 72, "linear": 72, "link": [15, 17, 42, 44, 67, 74, 75], "linux": [14, 31, 35], "list": [1, 12, 18, 25, 26, 29, 31, 32, 33, 37, 46, 47, 50, 52, 54, 55, 59, 60, 61, 69, 72, 74], "live": [2, 10, 25, 43, 68], "ll": [15, 22, 25, 72], "load": [11, 16, 17, 52, 53, 54, 60, 74], "load_extens": [16, 51, 60, 75], "load_paramet": [51, 60, 75], "load_parameter_fil": [11, 51, 54, 57, 75], "loan": 47, "local": [10, 16, 23, 28, 31, 32, 34, 35, 39, 40, 67], "locat": [10, 16, 60], "lockstep": 73, "lodger": [2, 48], "log": [9, 22, 62, 72], "logder": 2, "logement": 23, "logic": [3, 59], "logo": 44, "lone": 12, "long": [4, 23, 24, 44, 74], "longer": [23, 45, 73], "look": [14, 25, 27, 28, 35, 38, 72, 74], "lookup": 72, "loop": [3, 72], "lose": 40, "lost": 75, "lot": [34, 72], "love": 18, "low": 72, "lower": [3, 46, 53], "lowercas": 10, "lowest": 10, "lru_cach": 72, "ly": 25, "m": [33, 72], "mac": 31, "machin": [25, 28, 31, 34, 35], "maco": 35, "made": [5, 19, 23, 27, 31, 44, 67], "magic": [53, 75], "magnitud": 18, "mai": [1, 4, 6, 10, 11, 18, 23, 31, 35, 40, 50, 53, 74], "mail": 24, "main": [2, 4, 6, 14, 16, 17, 19, 24, 40, 64], "main_declar": 6, "maintain": [0, 18, 23, 24, 27, 32, 42, 46], "mainten": 44, "major": [17, 46], "make": [0, 1, 3, 9, 17, 18, 21, 22, 24, 25, 26, 31, 35, 44, 46, 57, 65, 67, 73], "make_simul": [51, 58, 75], "manag": [9, 14, 26, 32, 42, 74], "mandatori": [2, 12, 17], "mani": [3, 5, 10, 12, 14, 39, 41], "manner": 21, "manual": [16, 22], "map": 46, "march": [4, 68], "margin": [5, 10, 37, 46, 51, 54, 75], "marginal_amount": 10, "marginal_r": [10, 46, 51, 75], "marginalratetaxscal": 72, "markdown": 15, "master": [2, 17, 20], "match": [9, 10, 46, 49, 50, 64, 72], "matrix": 36, "matter": 3, "max": [3, 6, 47, 51, 53, 56, 59, 64, 70, 73, 75], "max_": [3, 6], "max_depth": [53, 62], "max_length": [51, 64, 75], "max_nb_cycl": 9, "max_spiral_loop": 61, "max_valu": 58, "maxim": 53, "maximis": 19, "maximum": [37, 56, 62, 70], "maxsiz": 72, "md": 17, "mean": [3, 4, 12, 17, 23, 41, 43, 44, 67, 72, 73], "mechan": [5, 16, 23, 40], "medium": 47, "meet": 18, "member": [6, 12, 47, 56, 72, 74], "memori": [1, 50, 59], "memoryusag": 50, "menag": [12, 39, 72], "mention": 17, "menu": 35, "merg": [20, 21, 51, 54, 75], "messag": [17, 33, 35, 49, 52], "met": 3, "metadata": [5, 10, 54, 60, 64], "meter": 2, "method": [4, 6, 11, 16, 28, 49, 50, 57, 59, 64, 70], "method_nam": 49, "micro": 25, "microsimul": 40, "microsoft": 32, "mid": 4, "might": [18, 23, 25, 27, 32, 67, 68, 69], "migrat": [23, 27], "million": [3, 71], "mimick": 46, "min": [3, 6, 51, 53, 56, 59, 70, 73, 75], "min_": [3, 5], "mind": 28, "miniconda": [32, 35], "miniconda2": 35, "miniconda_path": 35, "minim": [17, 18, 29, 31, 32, 64, 65, 74], "minimum": [11, 37, 56, 62, 65, 70], "minimum_ag": 10, "miss": 18, "mistak": 3, "mkdir": 33, "mkstemp": 14, "mm": [4, 5, 60, 64, 72], "mode": [62, 72], "model": [0, 3, 12, 14, 16, 17, 23, 24, 26, 27, 29, 35, 37, 39, 42, 43, 65, 69, 71, 74, 75], "modern": 35, "modif": [11, 35, 40, 57], "modifi": [4, 11, 16, 17, 18, 24, 26, 31, 40, 44, 50, 54, 57, 72], "modifier_funct": [11, 57], "modify_my_paramet": 57, "modify_paramet": [11, 51, 57, 75], "modul": [11, 12, 24, 51, 53, 67], "modular": 46, "month": [1, 2, 3, 4, 5, 6, 9, 38, 43, 55, 64, 68, 72], "monthli": [1, 2, 4, 5, 68, 74], "monthly_tax": 4, "more": [1, 3, 4, 5, 7, 10, 16, 17, 18, 22, 23, 27, 29, 35, 37, 38, 41, 42, 44, 50, 61, 62, 64, 65, 66, 70, 72, 73], "most": [0, 3, 5, 23, 28, 32, 38, 47, 55, 59, 65, 72], "moteur": 67, "much": [4, 9, 18, 23, 35], "multilin": [12, 64], "multipl": [18, 32, 67, 74], "multipli": [3, 73], "multivari": 73, "must": [3, 5, 10, 11, 13, 17, 54, 56, 57, 60, 68, 73], "mutat": 60, "my": [31, 35], "myreform": 57, "myvari": 50, "n": [3, 4, 35, 53, 72], "n_2": [4, 55, 72], "naiv": 72, "name": [2, 4, 5, 11, 12, 14, 15, 16, 17, 22, 31, 35, 48, 49, 54, 57, 59, 60, 61, 62, 64, 69, 72, 73, 74, 75], "name_filt": [53, 61, 72], "namespac": 23, "nan": [46, 50], "nancreationerror": [49, 51, 75], "nativ": [2, 3, 19, 23], "navig": [1, 24], "nb": 23, "nb_adult": 6, "nb_arrai": 50, "nb_cells_by_arrai": 50, "nb_children": [6, 10], "nb_group": 58, "nb_par": 23, "nb_parent": 23, "nb_parents_housing_tax": 23, "nb_person": [6, 51, 56, 58, 75], "ndarrai": [46, 48, 50, 56, 63, 74], "necessari": [2, 11, 18], "necessarili": [23, 28], "nedd": 52, "need": [3, 4, 7, 9, 12, 18, 22, 23, 26, 33, 68, 69, 71, 72, 74, 75], "neg": 41, "nest": [12, 73], "net": [4, 46], "net_salari": 53, "network": 44, "neutral": [0, 60, 64], "neutralis": 16, "neutralize_vari": [51, 60, 75], "never": [4, 9, 64], "new": [0, 1, 8, 12, 13, 16, 17, 18, 21, 23, 24, 25, 28, 29, 31, 32, 33, 40, 50, 54, 55, 57, 60, 64], "new_nam": 13, "new_paramet": 57, "new_tax": [11, 16], "newsroom": 24, "newtyp": 47, "next": [1, 46, 69, 70, 72], "nice": 72, "node": [54, 61], "nologcaptur": 22, "non": [17, 46, 47], "none": [5, 10, 11, 46, 47, 48, 49, 50, 54, 55, 56, 58, 59, 60, 61, 62, 64, 65, 72], "noopen": 44, "nor": [9, 16], "nose": 22, "nosetest": 22, "not_": 3, "notat": [1, 6, 10], "note": [1, 5, 6, 11, 17, 24, 31, 32, 35, 40, 42, 43, 53, 65, 68, 69, 72, 73, 74], "notebook": [8, 11, 73], "noth": [46, 64], "notic": 3, "notifi": [13, 44], "notimplementederror": 47, "now": [2, 3, 4, 8, 33, 35, 53, 72, 74], "null": [5, 65, 68, 69], "number": [3, 6, 12, 21, 23, 25, 26, 35, 37, 47, 55, 56, 61, 72, 73, 74], "numer": 2, "numpi": [1, 3, 46, 48, 50, 56, 63, 64, 71, 73, 74], "o": [11, 31, 53, 72], "obj": 55, "object": [4, 11, 14, 25, 46, 47, 48, 55, 57, 59, 61, 63, 70, 72, 73, 74], "observ": 73, "obtain": 5, "obviou": 25, "occup": 2, "occur": [14, 22], "oecd": 25, "offer": [3, 8, 10, 25, 34], "offici": [18, 20, 22, 24, 32, 35, 46], "offlin": [28, 35], "offset": [4, 55], "often": [3, 23, 24, 25, 27, 67], "ok": 23, "old": [17, 35], "older": [17, 32], "oldest": 64, "omit": 4, "onc": [41, 42, 68, 72, 73], "one": [0, 2, 3, 4, 5, 9, 10, 11, 12, 13, 19, 23, 25, 30, 32, 33, 35, 38, 39, 40, 46, 49, 59, 60, 67, 68, 71, 72, 73, 74], "one_month_salari": 4, "ones": [1, 16, 23, 40], "onli": [1, 2, 3, 5, 10, 12, 16, 17, 39, 40, 43, 44, 50, 53, 56, 58, 62, 64, 67, 69, 72], "onlin": [23, 27, 28, 34], "only_vari": 53, "open": [25, 31, 35, 42, 44, 67], "open_api_config": 65, "openapi": 66, "openfica_fr": 11, "openfisca": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 22, 24, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 60, 61, 64, 65, 66, 68, 69, 71, 72, 73, 74, 75], "openfisca_cor": [4, 11, 22, 46, 47, 48, 49, 50, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 70, 72, 74], "openfisca_country_templ": [10, 31, 33, 34, 70, 74], "openfisca_fr": [16, 22, 35, 52, 53, 58, 60, 72], "openfisca_pari": [52, 53], "openfisca_web_api": [14, 52], "oper": [25, 28, 31, 32, 43, 54, 72], "opportun": [24, 34, 44], "opportunist": 23, "opposit": 4, "option": [0, 4, 10, 12, 16, 22, 28, 35, 46, 51, 53, 56, 61, 70, 71, 72, 75], "order": [10, 22, 40, 46, 54, 55, 56, 68, 72, 74], "org": [10, 24, 26, 29, 31, 35, 42, 44, 67, 72], "organ": [10, 23], "organis": 24, "origin": [9, 11, 40, 46, 50, 67, 73], "other": [3, 12, 13, 17, 23, 25, 26, 27, 29, 31, 32, 33, 35, 39, 43, 47, 53, 54, 55, 64, 72, 74, 75], "other_formula": 16, "otherwis": [3, 23, 28, 33, 46, 55], "our": [1, 5, 7, 10, 11, 18, 25, 44, 53, 72], "out": [1, 3, 25, 31, 45, 46, 66, 69, 72], "outer": 73, "outlin": 72, "output": [1, 2, 4, 5, 10, 12, 25, 26, 41, 53, 61, 66, 70], "outweight": 11, "ouvert": 67, "over": [0, 3, 4, 5, 9, 12, 23, 37, 38, 44, 54, 73, 74], "overal": 72, "overlap": 38, "overrid": 12, "overridden": 60, "overview": 8, "overwritten": 14, "own": [2, 7, 9, 12, 17, 26, 27, 28, 42, 67, 75], "owner": [2, 39, 48, 68], "ownership": 39, "p": [10, 52, 53, 55], "packag": [8, 10, 16, 17, 20, 22, 23, 26, 27, 30, 31, 32, 33, 34, 35, 40, 42, 44, 46, 52, 53, 60, 65, 66, 67, 68, 69, 71, 72, 75], "page": [3, 10, 15, 17, 18, 32, 44, 45, 67, 72], "pai": [2, 41, 43], "paid": [1, 2, 4, 5, 6, 23], "paje": 72, "paje_cmg": 72, "panda": 74, "par": [44, 67], "param": [51, 59, 63, 72, 75], "paramet": [0, 3, 4, 8, 9, 16, 18, 21, 23, 25, 34, 36, 38, 42, 46, 47, 48, 49, 50, 51, 52, 55, 57, 59, 60, 61, 62, 64, 65, 66, 69, 70, 72, 75], "parameter_exampl": 65, "parameter_node_at_inst": 62, "parameteratinst": [51, 54, 72, 75], "parameternod": [11, 51, 54, 57, 75], "parameternodeatinst": [51, 54, 60, 63, 72, 75], "parameternotfounderror": [5, 49, 51, 75], "parameterparsingerror": [49, 51, 75], "parameters_at_inst": 72, "parameterscal": [51, 54, 75], "parameterscalebracket": [51, 54, 75], "paramswithoutax": 59, "parent": [12, 39, 47, 51, 56, 59, 61, 62, 63, 68, 69, 70, 73, 74, 75], "parent1": 12, "parent2": 12, "pari": [0, 14, 24, 43], "paris_housing_benefit": 53, "pars": [49, 75], "parse_formula_nam": [51, 64, 75], "parse_frag": 72, "part": [1, 11, 18, 23, 24, 61], "partial": [42, 53], "particip": [15, 18], "particular": [17, 23], "particularli": 73, "partner": [6, 39, 47], "pass": [17, 53, 61, 72], "past": [4, 9, 22, 25, 35], "paster": 14, "patch": 18, "path": [11, 12, 31, 35, 49, 51, 53, 60, 61, 72, 75], "path_to_yaml_dir": 60, "path_to_yaml_fil": 57, "pathlib": 61, "pattern": 10, "paul": [70, 73, 74], "payload": 12, "pdb": [22, 53, 72], "pdf": 22, "peopl": [6, 44, 74], "pep484": 72, "pep563": 72, "pep8": 46, "per": [3, 6, 10, 13, 27, 37, 39, 72], "per_child": 10, "per_children": 10, "perceiv": 4, "percentag": 10, "perfect": 72, "perform": [11, 14, 43, 48, 53, 71], "performance_graph": [53, 72], "performancelog": [51, 62, 75], "period": [1, 2, 3, 5, 6, 8, 9, 11, 36, 37, 41, 43, 48, 49, 50, 51, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 68, 69, 70, 72, 73, 74, 75], "period_": 55, "periodmismatcherror": [49, 51, 75], "periodstr": [51, 63, 75], "person": [1, 2, 3, 4, 5, 10, 12, 25, 36, 37, 41, 43, 47, 56, 58, 59, 60, 63, 64, 68, 70, 71, 73], "person_ag": 74, "person_id": 74, "person_role_in_household": 74, "person_salari": 74, "personne_de_refer": [12, 39], "personnes_a_charg": [12, 39], "persons_household": 74, "persons_households_rol": 74, "persons_id": 74, "pick": 35, "pictur": 33, "pid": 14, "piec": [1, 18], "pip": [14, 17, 26, 29, 31, 32, 33, 35, 60, 72, 74], "pivot": 74, "place": [9, 44, 67], "plafond_securite_social": 72, "platform": [31, 44], "pleas": [8, 14, 17, 18, 25, 29, 35, 44, 67, 70, 72], "plf": 17, "plf2015": 52, "plf2016": 11, "plot": 25, "plu": 73, "plugin": 22, "plural": [47, 51, 59, 75], "pluralis": 47, "podman": 31, "point": [5, 10, 18, 35, 60], "polici": [25, 40, 71], "poorest": 25, "popul": [9, 25, 50, 51, 59, 62, 63, 70, 71, 73, 74, 75], "port": 52, "portion": 14, "posit": [41, 42, 51, 73, 75], "possibl": [0, 1, 2, 4, 5, 9, 10, 11, 18, 23, 27, 31, 33, 41, 46, 64, 70, 71, 72, 73, 74], "possible_valu": [2, 48, 51, 64, 75], "postpon": 72, "power": 44, "pprint": 50, "pr": [14, 17], "practic": [3, 8, 9, 10, 11, 17, 25], "pre": 32, "preced": 4, "precis": [4, 5, 13, 68], "predict": 9, "prefer": [17, 23], "prefix": 24, "preprocess": 59, "present": [4, 17, 23, 36, 73], "prevent": [14, 46], "previou": [1, 4, 5, 9, 10, 46, 70], "previous": [6, 41, 59, 60], "primes_fonction_publiqu": 12, "princip": [39, 47, 63], "principl": 8, "print": [3, 4, 33, 34, 35, 62, 70, 74], "print_computation_log": 70, "print_log": [51, 62, 75], "privileg": 35, "probabilist": 25, "problem": [18, 35, 46], "proce": 72, "proceed": 32, "process": [25, 28, 31, 33, 35, 64, 71], "produc": 25, "product": [9, 67], "program": [25, 32, 35, 44], "programm": 3, "progress": [5, 23], "progressive_income_tax": 5, "project": [17, 25, 29, 32, 44, 75], "promis": [44, 72], "properti": [4, 6, 37, 39, 43, 47, 50, 55], "proportionn": 2, "propos": [17, 18, 72], "protect": 17, "protocol": 54, "prototyp": [67, 73], "provid": [0, 2, 3, 4, 7, 12, 17, 18, 24, 25, 26, 27, 43, 44, 46, 49, 52, 53, 56, 58, 65, 67, 68, 69, 71, 73], "provis": 18, "provok": 46, "public": [10, 25, 44, 46], "public_sector": 10, "publicli": [25, 46], "publish": [18, 20, 25, 29, 31, 32, 42, 44], "pull": [15, 18, 19, 20, 24], "purchas": 25, "purpos": [23, 40, 67, 71], "push": 22, "pwd": 31, "py": [14, 16, 17, 22, 32, 35, 48, 52, 56, 72], "pypi": [20, 29, 31, 32], "pyproject": [17, 32], "pytest": 61, "pytest_addopt": 72, "python": [0, 1, 2, 3, 5, 12, 16, 17, 25, 26, 29, 30, 31, 33, 52, 53, 59, 64, 65, 70, 72, 74, 75], "python3": 33, "qualifi": 12, "quantit": [11, 40], "quantiti": [4, 6, 38], "queri": [0, 49], "question": [17, 72], "quick": 24, "quickli": [7, 8, 18, 23], "quit": [26, 72], "r": [33, 52, 53, 72], "rais": [3, 4, 5, 10, 46, 47, 49, 55, 59, 60, 61, 73], "raise_error": 72, "random": 58, "randomli": 58, "randomly_init_vari": [51, 58, 75], "rang": [71, 72, 73], "rank": 56, "rate": [1, 4, 5, 10, 16, 46, 54], "rate_unit": [5, 10], "rather": [3, 9, 22, 23, 28, 34, 37], "rbg": 72, "re": [5, 25, 72], "reach": [5, 25], "read": [3, 5, 8, 10, 16, 23, 25, 27, 37, 38, 41, 44, 50, 70], "read_csv": 74, "readabl": 3, "reader": 15, "readi": 29, "readm": [15, 26, 30], "real": 31, "reason": [5, 52, 72], "rebate_threshold": 3, "receiv": [3, 41], "recent": [5, 32, 47, 55, 59], "recip": 35, "recipi": 6, "recognis": 23, "recommend": [1, 10, 12, 27, 29], "recur": 10, "recurs": [54, 60, 61, 72], "redefin": [0, 11], "redesign": 40, "reduc": [1, 72], "refactor": 72, "refer": [1, 3, 4, 5, 10, 11, 18, 23, 26, 39, 40, 51, 53, 54, 64, 72, 75], "referenc": 4, "reflect": [31, 73], "reform": [3, 8, 16, 17, 21, 25, 34, 36, 44, 51, 60, 61, 64, 71, 72, 75], "reform_kei": 14, "reform_nam": 57, "reform_parameters_subtre": 11, "reform_path": 60, "reform_period": 11, "reformed_tax_benefit_system": 11, "regard": 67, "region": 37, "regist": 26, "registr": 39, "regress": 17, "regul": [23, 25], "regular": 53, "regularli": 5, "reiter": 25, "rel": [4, 17, 44, 53, 60, 70], "relat": [12, 23, 39, 47, 71, 73], "relationship": 73, "relative_error_margin": [12, 53, 61], "releas": 46, "relev": [1, 3, 12, 15, 23, 26, 30, 32, 65], "reli": [9, 32], "reload": [14, 52], "rememb": 67, "remov": [46, 50, 54], "renam": [17, 21, 23], "rent": [2, 5, 10, 59, 70, 74], "repeat": 72, "repl": 34, "replac": [3, 5, 10, 46, 54, 57, 60, 64, 68], "replace_vari": [51, 60, 75], "replic": 71, "report": 75, "repositori": [15, 17, 18, 24, 26, 28, 31, 32, 35], "repository_url": 60, "repr": [47, 55], "repres": [1, 4, 23, 25, 42, 47, 48, 55, 59, 60, 63, 65, 73], "represent": [46, 55], "reproduc": [17, 18, 31], "request": [9, 10, 15, 18, 19, 20, 24, 26, 27, 43, 54, 60, 69, 73], "requestedcalcul": 69, "requir": [4, 17, 21, 26, 27, 28, 29, 30, 31, 34, 35, 36, 42, 44, 72, 74], "research": [23, 71], "reshap": 73, "resid": 2, "resort": 3, "respect": [5, 10, 12, 13, 16, 18, 23, 56, 60, 68, 73], "respons": [31, 68, 69], "ressourc": 72, "ressources_a_inclur": 72, "rest": 3, "restrict": 35, "result": [1, 2, 4, 6, 14, 17, 18, 23, 25, 26, 31, 32, 34, 35, 40, 41, 46, 53, 56, 64, 70, 71, 72, 73, 75], "retir": 2, "retriev": [37, 55], "retro": 40, "retroact": 25, "return": [1, 2, 4, 5, 6, 9, 10, 11, 23, 32, 43, 46, 47, 48, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 68, 69, 70, 72], "reus": 23, "rev_cat_tspr": 72, "revenu": 12, "revenu_assimile_salair": 72, "revenu_assimile_salaire_apres_abatt": 72, "revenu_categoriel": 72, "revenu_categoriel_tspr": 72, "revenu_dispon": [58, 72], "revers": [10, 54, 56], "revis": [29, 32, 35], "rewrit": 26, "rewritten": 1, "rfr": 72, "ricarda": 68, "right": [10, 28, 31, 35, 37, 53, 70], "rm": 31, "rng": 72, "rni": 72, "role": [36, 47, 51, 56, 59, 61, 63, 68, 74, 75], "rolekei": [47, 51, 63, 75], "roleparam": 47, "roleplur": [47, 51, 63, 75], "roll": [4, 75], "root": [32, 52], "rough": 23, "round": 3, "round_": 3, "round_base_decim": 72, "rout": [17, 65, 66], "rsa": 23, "rtype": [48, 56, 72], "rule": [0, 5, 6, 17, 23, 25, 31, 39, 43, 68, 75], "run": [1, 4, 5, 7, 26, 28, 29, 31, 32, 33, 34, 40, 41, 47, 50, 52, 53, 61, 66, 68, 69, 70, 72, 75], "run_test": [51, 61, 75], "runsnakerun": 14, "r\u00e9sidenc": 72, "safeguard": 3, "sai": [3, 33, 69], "salaire_brut": 12, "salaire_de_bas": 12, "salaire_impos": [12, 72], "salaire_net": 58, "salaire_super_brut": 12, "salari": [1, 2, 3, 4, 5, 6, 10, 39, 46, 54, 56, 59, 63, 65, 68, 69, 70, 73, 74], "salariaux": 12, "salary_above_1000": 5, "salary_last_3_month": 4, "salary_last_year": 4, "salary_net_of_tax": 4, "salary_past_year": 4, "same": [2, 3, 4, 5, 6, 10, 16, 23, 33, 35, 40, 41, 43, 46, 49, 55, 57, 60, 68, 70, 71, 72, 73, 74], "sampl": 10, "save": [15, 22, 26, 35], "sb": 74, "scalar": 3, "scale": [37, 54, 73], "scan": [52, 53], "scenario": [28, 72], "scenario_arguments11": 72, "scenario_arguments12": 72, "scholarship": 6, "school": 2, "scienc": 25, "sclerosi": 23, "scope": [17, 61], "scp": 33, "scratch": 25, "script": [51, 52, 58], "search": [23, 47, 72], "second": [3, 4, 5, 10, 23, 73], "second_par": [47, 74], "second_reform": 12, "secondari": 64, "section": [1, 26, 27, 28, 29, 30, 36, 41, 69, 70, 71, 74], "sector": 10, "secur": 5, "sed": 35, "see": [1, 3, 4, 7, 10, 11, 12, 17, 18, 22, 25, 28, 32, 33, 41, 44, 48, 52, 60, 61, 64, 65, 66, 67, 69, 70, 72, 74], "seem": [9, 25, 72], "seen": 23, "select": [3, 42, 46], "self": [11, 47, 48, 55, 57, 60, 63, 65, 72], "semant": [3, 17], "send": [17, 18, 24, 68], "senegales": 7, "sent": [26, 65, 69], "separ": [12, 13, 16, 40], "septemb": 68, "sequenc": [46, 47, 50, 55, 60, 61, 63], "sequenti": 71, "serv": [14, 30, 44, 51, 67, 75], "server": [14, 17, 20], "servic": [25, 34, 44, 52, 67, 71], "session": [51, 61, 75], "set": [1, 3, 4, 10, 11, 22, 31, 32, 35, 40, 43, 47, 49, 50, 53, 54, 58, 59, 60, 62, 65, 66, 70, 73, 74], "set_input": [4, 9, 50, 51, 64, 72, 74, 75], "set_input_dispatch_by_period": [4, 50, 51, 64, 75], "set_input_divide_by_period": [4, 50, 51, 64, 72, 75], "set_tax_benefit_system": [47, 51, 75], "set_trac": 22, "setup": [17, 31, 32, 52], "setuptool": 31, "seven": 71, "sever": [0, 6, 10, 13, 23, 24, 38, 39, 47, 53, 64, 72, 73], "share": [14, 18, 24, 25, 35, 74], "shell": [22, 35], "shine": 25, "shoot": 71, "short": [23, 70], "shortcut": 59, "shorten": [4, 24], "shorter": 32, "should": [3, 4, 9, 10, 12, 16, 17, 18, 19, 23, 25, 26, 29, 30, 31, 32, 33, 35, 54, 57, 65, 67, 68, 72, 73, 74], "show": [33, 73], "showcas": 67, "side": [70, 72], "signatur": 1, "signific": 25, "significantli": 5, "similar": [2, 3, 6, 32], "similarli": [6, 71], "simpl": [3, 5, 71], "simplest": 12, "simpletrac": [51, 62, 75], "simpli": [5, 60], "simul": [2, 3, 7, 9, 10, 11, 14, 17, 28, 29, 33, 34, 36, 38, 40, 42, 43, 49, 50, 51, 56, 62, 63, 65, 66, 68, 69, 73, 75], "simulation_build": [70, 73, 74], "simulation_exampl": 65, "simulation_gener": 58, "simulationbuild": [51, 59, 70, 73, 74, 75], "sinc": [5, 10, 23, 25, 46, 55, 72, 73], "singl": [3, 10, 25, 59, 71, 72, 73], "single_amount": 10, "singleent": [47, 51, 63, 75], "site": [14, 28, 52], "situat": [0, 2, 3, 25, 43, 49, 66, 69, 71, 74], "situation_parsing_error": 59, "situationparsingerror": [49, 51, 59, 75], "size": [2, 4, 46, 55], "size_in_dai": 55, "size_in_month": 55, "size_in_week": 55, "size_in_weekdai": 55, "size_in_year": 55, "skip": 32, "sla": 67, "slack": 75, "slightli": [1, 4], "slowest": 72, "small": [47, 71, 73, 74], "smallest": 38, "snippet": [22, 34, 44, 72], "so": [1, 3, 18, 19, 23, 24, 25, 28, 34, 38, 43, 47, 55, 56, 65, 70, 72], "social": [5, 18, 23, 25, 40, 67], "social_security_contribut": [5, 69], "softwar": [18, 25, 26, 35, 36, 44, 67], "solut": 74, "solv": [10, 18], "some": [3, 4, 5, 6, 9, 11, 14, 17, 19, 22, 23, 24, 25, 28, 32, 34, 35, 37, 38, 39, 43, 53, 60, 65, 75], "some_formula": 16, "some_other_vari": 57, "some_param": [54, 57], "some_period": 57, "some_reform": 11, "some_tax": [54, 57], "some_vari": 57, "someon": [17, 18, 39], "someth": [7, 72], "sometim": [4, 10, 16, 23, 26, 40], "somewher": 35, "sort": [22, 55, 56], "sortedcontain": [33, 72], "sorteddict": 72, "sou": 44, "sound": 72, "sourc": [1, 5, 9, 15, 18, 25, 28, 29, 31, 32, 33, 35, 42, 44, 46, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 67], "space": [12, 24], "span": 44, "speak": [23, 25, 41, 71], "spec": [65, 66], "specif": [0, 1, 3, 12, 14, 17, 22, 23, 24, 25, 27, 28, 30, 31, 32, 33, 34, 37, 42, 43, 55, 66, 69, 72, 74], "specifi": [4, 5, 12, 22, 39, 52, 53, 56, 59], "sphinx_autodoc_typehints_typ": [48, 56], "spiralerror": [49, 51, 75], "split": [4, 10, 72], "spot": 72, "spous": 47, "spread": 58, "sq": 2, "sqm": 68, "squar": 73, "src": 44, "ssh": 32, "stabl": [2, 67], "stai": [5, 60, 68], "stand": 23, "standard": [13, 18, 23, 25, 35, 65], "start": [1, 4, 5, 10, 12, 14, 32, 34, 35, 38, 43, 54, 55, 62, 64, 69, 72, 75], "start_inst": 55, "state": [41, 42, 67], "statement": 46, "static": [25, 40, 47, 54, 59], "statist": 72, "statu": [2, 72], "std": 72, "step": [2, 18, 23, 26, 28, 29, 32, 33, 35, 69, 74], "stick": 33, "still": [4, 21], "stop": [25, 54, 55], "store": [1, 4, 18, 33, 60], "str": [1, 46, 47, 48, 54, 55, 59, 60, 61, 63, 64, 72], "str_": 46, "straightforward": 3, "strategi": 72, "strenum": 33, "strictli": 3, "string": [1, 4, 5, 12, 25, 46, 48, 55, 64, 72], "string_identifier_arrai": 48, "stringifi": 46, "stringify_arrai": [46, 51, 75], "strong": 25, "structur": [1, 4, 10, 11, 21, 32, 36, 59, 68, 71, 72, 73, 74], "stuck": 3, "student": [2, 6, 23, 43], "studi": [11, 40], "styleguid": 46, "sub": [46, 69], "sub_modul": 60, "subclass": [48, 57, 60], "subdirectori": [35, 61], "submit": 17, "subnod": 10, "subperiod": 50, "subrol": [47, 51, 75], "subscript": 47, "subset": [0, 25], "substitut": [26, 30, 31], "success": [22, 33, 53, 61], "successfulli": [33, 35], "suffix": [5, 24], "suggest": [18, 23], "suit": [22, 25, 62, 72], "suitabl": [28, 73], "sum": [4, 6, 9, 10, 35, 51, 56, 72, 75], "sum_salari": 6, "summar": 17, "summari": 47, "superset": 47, "suppli": [69, 72], "support": [3, 24, 25, 32, 67], "sur": 67, "sure": [1, 17, 18, 25, 35, 44], "surpris": 13, "survei": [14, 25, 74], "sustain": 44, "svg": 44, "swagger": [27, 65, 66, 67, 69], "swap": 31, "switch": [3, 46, 51, 75], "syndic": 47, "syntax": [1, 2, 3, 4, 11, 13, 16, 35], "system": [1, 5, 10, 11, 12, 16, 19, 23, 24, 25, 26, 31, 32, 35, 36, 39, 40, 49, 53, 59, 60, 61, 67, 68, 71, 74, 75], "syst\u00e8m": 67, "t": [4, 9, 11, 25, 26, 32, 35, 40, 41, 43, 44, 46, 47, 48, 49, 53, 55, 56, 69, 72, 74], "tabl": [4, 53, 72], "tabular": [73, 74], "tackl": 72, "tag": 20, "take": [2, 3, 9, 10, 11, 12, 14, 25, 40, 57, 64, 68, 72, 73], "taken": [56, 70, 71, 72], "tar": 33, "target": [25, 44, 46], "task": 18, "taux_csg_remplac": 72, "tax": [1, 2, 4, 5, 10, 11, 12, 16, 19, 23, 24, 25, 26, 36, 37, 38, 39, 40, 41, 43, 47, 49, 53, 54, 57, 60, 61, 65, 68, 69, 71, 75], "tax_benefit_system": [5, 10, 11, 14, 34, 47, 49, 52, 58, 59, 60, 61, 70, 73, 74], "tax_on_salari": [10, 11], "tax_reb": 3, "tax_scal": 10, "taxable_income_household": 23, "taxbenefitsystem": [14, 41, 47, 49, 50, 51, 57, 59, 61, 63, 65, 72, 75], "taxe_habit": 39, "taxpay": 47, "tb": [50, 58], "team": [27, 42, 44], "technic": [23, 24, 36, 41, 67, 71], "tell": [4, 18], "tempfil": 14, "templat": [7, 10, 12, 14, 26, 27, 30, 31, 32, 33, 34, 65, 67, 68, 69, 74, 75], "tenanc": 39, "tenant": [2, 39, 68], "tend": [5, 9], "tendenc": 3, "tens": 17, "term": [23, 27, 68, 71], "termin": [29, 31, 32, 35], "terminologi": 12, "test": [0, 2, 4, 8, 10, 16, 17, 23, 25, 27, 46, 51, 61, 70, 71, 72, 73, 75], "test_2": 53, "test_3": 53, "test_4": 53, "test_5": 53, "test_6": 53, "test_bas": 72, "test_cas": [70, 74], "test_linear_average_rate_tax_scal": 22, "test_marginal_tax_r": 72, "test_paramet": 22, "test_plf2016_ayrault_muet": 72, "test_runn": [51, 75], "test_tax_r": 72, "test_tax_scal": 22, "text": [1, 17, 22, 35, 39, 64], "textual": 75, "than": [3, 9, 16, 17, 22, 23, 28, 34, 35, 37, 60, 72], "thank": [18, 43], "that2": 46, "thei": [0, 3, 4, 5, 9, 10, 16, 17, 18, 23, 26, 36, 39, 42, 44, 46, 50, 59, 65, 68, 69, 71, 73, 74], "them": [1, 3, 5, 9, 11, 18, 25, 26, 33, 40, 46, 70], "theoret": 72, "therefor": [3, 4], "thi": [0, 1, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 39, 40, 41, 43, 44, 45, 46, 47, 50, 52, 53, 54, 55, 57, 59, 61, 62, 65, 67, 69, 70, 71, 72, 73, 74], "thing": 5, "think": [8, 72], "third": [1, 53, 73], "this1": 46, "this_month": 4, "this_year": [4, 55], "those": [0, 14, 32, 41, 44, 74], "thought": 55, "thousand": 3, "three": [3, 4, 10, 23, 69], "three_previous_month": 72, "threshold": [5, 10, 11, 12, 46], "threshold_unit": [5, 10], "through": [0, 4, 9, 17, 24, 25, 27, 32, 35, 44], "throughout": [0, 14, 19], "thu": [1, 2, 3, 9, 17, 21, 37, 69, 70], "time": [3, 4, 5, 9, 14, 32, 33, 37, 38, 54, 55, 67, 68, 71, 72, 73, 74], "timefram": 27, "timeit": 72, "timeout": 52, "titl": [39, 67], "tla": 23, "todai": 46, "token": 52, "tom": 59, "toml": [17, 32], "tomorrow": 25, "too": [0, 12, 24, 36, 72], "tool": [0, 10, 12, 22, 25, 32, 35, 44, 46, 51, 75], "toolbox": 55, "top": [44, 70], "topic": 44, "total": 47, "total_impots_plafonnement_isf_ifi": 72, "total_nb_byt": 50, "total_tax": 74, "toward": [9, 17, 60, 61], "town": 0, "trace": [53, 66, 70, 71], "traceback": [47, 49, 55, 59], "tracenod": [51, 62, 75], "tracer": [51, 75], "tracingparameternodeatinst": [51, 62, 75], "track": [50, 52, 75], "tracker": [52, 67], "tracker_idsit": 52, "tracker_token": 52, "tracker_url": 52, "traitement_indiciaire_brut": 12, "traitements_salaires_pensions_rent": 72, "transit": 46, "translat": [4, 25], "tree": [1, 10, 21, 54], "tri": [49, 72], "trigger": [17, 59], "trim": 46, "tripl": 55, "troubl": 71, "true": [2, 3, 10, 12, 46, 47, 55, 56, 58, 59, 60, 62, 64, 70, 74], "trustworthi": 1, "truth": 3, "try": [4, 5, 8, 17, 18, 25, 60, 69, 72], "tspr_i": 72, "tue": 69, "tunisian": 7, "tupl": [55, 72], "turn": 23, "tutori": [35, 41, 73, 75], "twenti": 46, "twitter": 24, "two": [0, 4, 5, 6, 12, 14, 22, 25, 28, 40, 46, 49, 55, 56, 68, 70, 71, 72, 73], "type": [1, 2, 3, 4, 6, 10, 14, 33, 34, 35, 39, 46, 47, 48, 50, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 72, 74, 75], "typeerror": 47, "typic": [73, 74], "u": [1, 2, 4, 5, 6, 11, 14, 18, 25, 46, 70, 72], "unambigu": 23, "unchang": 60, "undefin": [9, 10, 55], "under": [11, 14, 18, 44, 52, 64, 67], "underli": 23, "underscor": [5, 10], "understand": [18, 23, 36, 69, 70], "unemploi": [2, 12], "unemploy": 4, "unemployment_benefit": 4, "unexpect": 13, "unidimension": 3, "union": 59, "uniqu": [6, 39, 61, 74], "unique_rol": 6, "unit": [4, 5, 10, 22, 38, 39, 51, 55, 64, 75], "unit_weight": [51, 55, 75], "univers": [10, 23, 40], "universal_incom": 10, "unix": 31, "unknown": 74, "unless": 23, "unlik": [37, 59, 72], "unread": 24, "until": [5, 68, 72], "up": [4, 10, 23, 31, 32, 35, 53, 62, 67], "updat": [17, 31, 44, 51, 54, 55, 57, 60, 72, 75], "update_vari": [11, 51, 57, 60, 75], "upfront": 25, "upgrad": [33, 44, 74], "upper": 46, "uppercas": 6, "url": [1, 52], "us": [0, 1, 3, 5, 7, 8, 13, 14, 16, 17, 19, 22, 24, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46, 51, 54, 55, 56, 59, 60, 61, 64, 65, 66, 70, 71, 72, 73, 74, 75], "usag": [1, 28, 44, 50, 52, 53, 59, 64], "usb": 33, "user": [0, 13, 15, 17, 18, 22, 23, 25, 30, 31, 33, 35, 46, 52, 67], "usual": [1, 3, 4, 11, 12, 31, 43, 46, 65, 72, 74], "utf": [70, 74], "utilis": [13, 32, 33, 35, 71, 72, 75], "utilis\u00e9": 44, "v": [31, 35, 53, 72], "valid": [3, 4, 32, 55, 59, 64, 69, 70], "validated_yaml": 11, "valu": [1, 3, 4, 6, 9, 10, 12, 21, 23, 25, 32, 37, 38, 46, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 62, 64, 65, 68, 69, 70, 72, 73, 74], "value_at_inst": 72, "value_by_condit": 46, "value_typ": [1, 2, 4, 5, 6, 50, 51, 64, 72, 75], "valueerror": [3, 47, 55], "values_dict": 72, "values_list": [51, 54, 72, 75], "vari": [46, 73], "variabl": [0, 3, 6, 8, 9, 11, 16, 17, 18, 21, 25, 27, 36, 37, 38, 39, 42, 47, 49, 50, 51, 53, 56, 57, 58, 59, 60, 63, 65, 66, 69, 70, 71, 72, 73, 74, 75], "variable_exampl": 65, "variable_nam": [6, 47, 49, 56, 58, 59, 60, 72], "variablenam": [47, 51, 63, 75], "variablenameconflicterror": [49, 51, 60, 75], "variablenotfounderror": [49, 51, 75], "varianc": 34, "variant": [4, 73], "variat": 73, "varieti": [25, 67], "variou": [28, 54], "vat": 23, "vat_on_export": 23, "vat_sub1": 23, "ve": [3, 72], "vector": [54, 58, 62, 70, 71], "vectori": [1, 8, 10, 54], "vectorialparameternodeatinst": [51, 54, 75], "venv": 33, "verb": 17, "verbos": [53, 61], "veri": [2, 3, 18, 44, 72], "verifi": [18, 25], "versa": 31, "version": [20, 24, 26, 27, 31, 33, 35, 42, 44, 46, 60, 67, 74], "via": [17, 32, 33, 38, 71], "vice": 31, "view": [14, 18, 72], "virtual": [29, 33, 50, 59], "virtualenv": 33, "visibl": [17, 31, 44, 69], "visit": [52, 67], "visual": 18, "w": 31, "wa": [2, 5, 10, 33, 47, 54, 61, 69, 70], "wage": [10, 11, 37, 65], "wai": [1, 3, 6, 11, 12, 18, 32, 33, 35, 39, 43, 44, 67, 71, 72, 73, 74, 75], "want": [3, 4, 6, 7, 8, 11, 17, 18, 22, 25, 31, 39, 53, 65, 67, 68, 69], "warn": [35, 60], "we": [2, 3, 4, 5, 11, 12, 13, 18, 23, 25, 35, 36, 38, 44, 65, 69, 72], "web": [0, 12, 23, 25, 26, 65, 66, 68, 69, 70, 71, 72, 74, 75], "websit": [18, 26, 35], "week": [38, 55], "weekdai": [38, 55], "weight": 55, "welcom": [18, 44, 52], "welcome_messag": 52, "welfar": 40, "well": [3, 12, 23, 65, 74], "were": [17, 35, 55, 68], "what": [0, 1, 17, 28, 40, 41, 44, 72, 73, 74, 75], "whatev": 10, "wheel": 31, "when": [0, 2, 3, 4, 5, 9, 12, 13, 14, 17, 20, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 37, 43, 46, 47, 49, 52, 55, 60, 64, 68, 69, 70, 71, 74], "where": [3, 9, 10, 23, 24, 31, 32, 54, 59, 61, 64, 68, 70, 72, 74], "whether": [2, 6, 21, 28, 43, 47], "which": [0, 1, 3, 9, 10, 11, 12, 15, 23, 24, 25, 26, 29, 37, 38, 46, 47, 50, 52, 53, 54, 55, 58, 65, 70, 71, 72, 73], "whichev": 17, "while": [0, 3, 4, 5, 10, 16, 25, 35, 40, 43], "whl": 33, "who": [1, 2, 6, 10, 18, 23, 40, 56, 75], "whole": [1, 4, 22, 25, 70, 72, 74], "whom": 41, "whose": [3, 6, 44, 47, 48], "why": [72, 73, 75], "wide": [23, 67, 71], "wider": 42, "wiki": 72, "wikipedia": 72, "win": 40, "window": [28, 31], "wise": 72, "wish": [10, 68], "with_ax": 73, "with_parallel_ax": 73, "with_perpendicular_ax": 73, "within": [10, 12, 16, 37, 39, 40, 42, 46, 47, 53, 56, 61], "without": [3, 5, 23, 25, 28, 29, 31, 33, 34, 35, 36, 50, 53, 54, 59, 67], "won": [3, 4, 9, 11, 40, 43], "word": [3, 52, 53], "work": [1, 2, 3, 6, 7, 12, 17, 21, 24, 26, 31, 33, 35, 66, 71, 72, 73], "work_income_individu": 23, "workaround": 9, "worker": 52, "world": [19, 42], "wors": 72, "worth": [3, 25, 53], "would": [2, 9, 10, 11, 18, 21, 23, 35, 40, 44, 46, 50, 68, 70, 72, 74], "wow": 72, "wrap": [14, 44], "write": [1, 3, 8, 25, 32, 34, 40, 68, 75], "written": [1, 14, 15, 19, 21, 33, 35], "www": 5, "x": [3, 72], "y": 3, "yai": 3, "yaml": [1, 2, 4, 5, 11, 16, 26, 53, 54, 57, 60, 61, 72], "yamlfil": [51, 61, 75], "ye": 35, "year": [1, 2, 4, 5, 10, 12, 23, 38, 43, 50, 55, 64, 72], "yearli": [4, 68], "yet": [18, 25], "yield": [9, 72], "yml": 10, "you": [0, 1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 22, 24, 27, 31, 33, 35, 39, 42, 44, 47, 52, 65, 66, 67, 68, 69, 71, 72, 74, 75], "your": [0, 7, 10, 12, 17, 18, 21, 22, 23, 27, 28, 30, 31, 37, 42, 44, 52, 53, 65, 68, 72, 73, 74, 75], "yourselv": 8, "yyyi": [5, 60, 64, 72], "zero": 75, "zipcod": 54, "zone": 10, "zone_1": 10, "zone_2": 10, "zone_3": 10}, "titles": [" Architecture of OpenFisca", "Coding a formula", "Introducing an input variable", "Vectorial computing", "Periods", "Legislation evolutions", "Entities", "Bootstraping a new country package", " From law to code", "Inferences", "Parameters", "Reforms", "Writing YAML tests", "Commit messages", "Developer guide", "About this documentation", "OpenFisca extensions", "Contributor guidelines", " Contribute", "Language", "Release process", "Semantic versioning guidelines", "Tests", "OpenFisca variables: naming guidelines", " To find help", " Before you start", "Access a country\u2019s source code", "Call an existing web API", " Getting started", "Install a country package", "Install a country web API", "Install with Docker", "Installation requirements", "Edge Case: Offline environment", "Python API in the browser", "Edge Case: Windows (not administrator)", " Key concepts", "Parameters", "Periods, Instants", "Person, entities, role", "Reforms", "Simulation, Computation", "Tax and Benefit System", "Variables and formulas", " Licence", " Manifesto & history", "Commons", "Entities", "Enum & EnumArray", "Errors", "Holders", " OpenFisca Python API", "openfisca serve", "openfisca test", "Parameters", "Periods", "Populations", "Reforms", "Simulation generator", "Simulations", "TaxBenefitSystem", "tools.test_runner", "Tracer", "Types", "Variables", "OpenAPI specification configuration", "API endpoints", " OpenFisca web API", "Using the /calculate endpoint", "Using the /trace endpoint", "Analysing or debugging a simulation", " Running a simulation", "Profiling a simulation\u2019s performance", "Replicating a situation along axes", "How to run a simulation", "<no title>"], "titleterms": {"": [4, 23, 26, 72], "1": [25, 28, 35], "2": [25, 28, 35], "3": [25, 35], "4": 35, "5": 35, "On": 33, "The": 1, "To": 24, "With": 9, "abbrevi": 23, "about": 15, "access": [10, 26, 33], "acronym": 23, "activ": 70, "ad": [68, 73], "add": [5, 11], "addit": [8, 52], "administr": 35, "advanc": [2, 10], "aggreg": 6, "all": 10, "allow": 74, "along": 73, "alwai": 3, "an": [2, 25, 27, 44, 67], "analys": [69, 70], "analysi": 25, "api": [17, 18, 27, 28, 30, 34, 44, 51, 66, 67], "applic": [41, 69, 74], "ar": 39, "architectur": [0, 16], "argument": [52, 53], "arithmet": 3, "atom": 35, "attribut": 1, "automat": 4, "avail": 25, "avoid": 23, "ax": 73, "bad": 23, "base": 25, "base_funct": 9, "basic": [1, 52, 53], "befor": 25, "behaviour": 25, "benefit": [18, 42], "between": [23, 40], "bewar": 72, "boolean": 3, "bootstrap": 7, "bottleneck": 72, "box": 0, "brace": 67, "breadcrumb": 72, "browser": 34, "build": 15, "cach": 72, "calcul": [4, 41, 68, 69, 74], "call": [27, 30], "case": [12, 28, 33, 35, 67, 74], "chang": [13, 26, 44], "channel": 24, "check": [6, 32], "clarifi": 28, "code": [1, 8, 14, 17, 26], "cog": 71, "collabor": 15, "commit": 13, "common": [12, 46], "comparison": 25, "complet": 18, "complex": 3, "composit": 6, "comput": [3, 10, 41, 44, 68], "concaten": 3, "concept": 36, "condit": [3, 67], "configur": [52, 65], "contact": 24, "contain": 31, "context": [21, 72], "continu": [17, 20, 22], "contribut": [17, 18, 28, 32], "contributor": 17, "control": 3, "convent": [10, 24], "copyleft": 44, "core": [0, 72], "countri": [0, 7, 19, 21, 25, 26, 28, 29, 30, 67], "creat": 10, "csv": 74, "curli": 67, "data": [25, 74], "date": 5, "debug": [14, 70], "debugg": 22, "decis": 25, "default": [2, 43], "defin": [2, 4, 10, 12], "definit": [4, 41, 42], "definition_period": 4, "demonstr": 67, "depend": [4, 10], "deploy": 20, "deprec": 13, "describ": [5, 68], "develop": [14, 18], "differ": [4, 23, 40], "direct": 18, "directli": 52, "dispos": 69, "distinguish": 23, "do": [23, 25], "docker": 31, "document": [8, 15], "don": [3, 23], "download": 28, "dynam": 11, "e": 21, "edg": [28, 33, 35], "edit": 15, "effort": 25, "elev": 72, "els": 3, "end": 5, "endpoint": [66, 68, 69], "english": 44, "enhanc": 18, "entiti": [6, 23, 39, 47, 68], "enum": [2, 48], "enumarrai": 48, "enumer": 2, "environ": 33, "error": [18, 49, 53], "evolut": 5, "exampl": [1, 2, 11, 12, 21, 23, 52, 53, 67], "exist": [27, 28], "extens": [0, 16, 40, 52, 53], "fanci": 10, "feel": 25, "file": [5, 10, 52, 74], "filter": 53, "find": [24, 32, 72], "flame": 72, "follow": 72, "formula": [1, 3, 4, 5, 12, 43], "franc": 21, "fran\u00e7ai": 44, "french": 18, "from": [8, 74], "function": 51, "further": 72, "g": 21, "gener": [23, 58, 72], "get": 28, "git": [18, 32, 35], "give": 12, "given": 6, "good": 23, "graph": 72, "group": [6, 39], "guid": 14, "guidelin": [17, 21, 23], "gunicorn": 52, "ha": 6, "handshak": 24, "happen": 3, "heart": 24, "help": 24, "histori": 45, "holder": 50, "home": 25, "host": [44, 67], "hous": 74, "household": 74, "how": [5, 10, 18, 32, 41, 74], "human": 25, "i": [0, 5, 8, 18, 23, 24, 25, 28, 36, 44, 45, 51, 67, 71], "icon": [0, 8, 18, 24, 25, 28, 36, 44, 45, 51, 67, 71], "identifi": [25, 28, 72], "implement": 18, "incom": [69, 74], "index": 10, "individu": 73, "infer": 9, "inform": 68, "input": [2, 4, 12, 25, 43], "instal": [29, 30, 31, 32, 35], "instanc": [39, 44, 67], "instant": 38, "instruct": 34, "integr": [17, 22], "internet": 33, "introduc": [2, 13], "introduct": 5, "ipdb": 22, "isol": 72, "issu": [9, 17], "its": 18, "kei": [12, 36], "known": 9, "languag": 19, "law": 8, "legaci": 23, "legisl": [1, 5, 18, 25], "level": 23, "librari": 29, "licenc": 44, "lightbulb": 36, "link": 18, "local": 30, "lost": 25, "machin": 33, "magic": 25, "major": 21, "manifesto": 45, "margin": 53, "match": 4, "merg": [17, 18], "messag": 13, "minor": 21, "mix": 23, "model": [25, 32], "multipl": [3, 12], "name": [0, 1, 8, 10, 13, 18, 23, 24, 25, 28, 36, 44, 45, 51, 52, 53, 67, 71], "navig": 10, "necessari": 23, "need": 25, "new": [5, 7, 10, 11], "next": 12, "node": 10, "non": 23, "number": 17, "offlin": 33, "one": 69, "open": [5, 17, 72], "openapi": 65, "openfisca": [0, 16, 18, 21, 23, 25, 29, 31, 35, 51, 52, 53, 67], "oper": 3, "other": 18, "own": [25, 35], "packag": [0, 7, 21, 25, 28, 29], "parallel": 73, "paramet": [1, 5, 10, 11, 37, 54], "parametr": 11, "pars": 25, "patch": 21, "peer": 17, "perform": 72, "period": [4, 10, 12, 38, 55], "perpendicular": 73, "person": [6, 39, 69, 74], "philosophi": 23, "popul": 56, "posit": 53, "prefix": 23, "process": [4, 20], "profil": [14, 72], "project": [6, 18], "pull": 17, "python": [10, 11, 28, 32, 34, 35, 51], "readi": 26, "real": 11, "recommend": 32, "reform": [11, 12, 18, 40, 52, 53, 57], "releas": 20, "renam": 13, "replic": 73, "report": 18, "repositori": [14, 19], "request": 17, "requir": 32, "reserv": 10, "result": [44, 68], "return": 3, "review": 17, "role": [6, 39], "roll": 25, "rule": [28, 32], "run": [12, 22, 25, 30, 35, 71, 74], "scale": [5, 10], "scope": 23, "script": 35, "semant": 21, "serv": 52, "server": 33, "set": 2, "similarli": 23, "simul": [4, 25, 41, 58, 59, 70, 71, 72, 74], "situat": [26, 68, 73], "slack": 24, "slow": 72, "smile": 45, "some": 18, "sourc": [14, 26], "specif": [4, 5, 10, 19, 39, 65], "squar": 51, "start": [25, 28], "step": [12, 70], "string": 3, "structur": 3, "suffix": 23, "syntax": 12, "system": [18, 42], "t": [3, 23], "target": 73, "tax": [18, 42, 74], "taxbenefitsystem": 60, "templat": [0, 29], "termin": 8, "ternari": 3, "test": [1, 12, 18, 22, 26, 53, 74], "test_runn": 61, "textual": 25, "than": 4, "thi": [5, 15], "tool": 61, "total": 74, "trace": 69, "tracer": [62, 70], "track": 67, "tutori": 8, "two": 74, "type": 63, "understand": 68, "up": 72, "updat": [5, 10, 11], "us": [2, 4, 10, 11, 12, 18, 23, 25, 26, 28, 52, 53, 67, 68, 69], "usecas": 2, "user": 32, "utilis": 28, "valu": [2, 5, 11, 43], "variabl": [1, 2, 4, 5, 10, 12, 13, 23, 41, 43, 64, 68], "vector": 3, "vectori": 3, "version": [17, 21, 23, 32], "wai": 25, "web": [17, 18, 27, 28, 30, 67], "what": [3, 25], "where": 5, "who": 25, "why": 18, "window": [32, 35], "word": 10, "wrap": 72, "write": [10, 11, 12, 17, 18, 35], "yaml": [10, 12, 22], "you": [3, 25], "your": [25, 35, 67], "yourself": 15, "zero": 25}}) \ No newline at end of file +Search.setIndex({"alltitles": {"1 - Use an available country package or roll your own": [[25, "use-an-available-country-package-or-roll-your-own"]], "1) Identify the country package": [[28, "identify-the-country-package"]], "1. Install Git": [[35, "install-git"]], "2 - Identify the input data you need": [[25, "identify-the-input-data-you-need"]], "2) Clarify use case": [[28, "clarify-use-case"]], "2. Install Python": [[35, "install-python"]], "3 - Run Simulations": [[25, "run-simulations"]], "3. Install OpenFisca": [[35, "install-openfisca"]], "4. Install atom": [[35, "install-atom"]], "5. Write and run your own scripts": [[35, "write-and-run-your-own-scripts"]], " Architecture of OpenFisca": [[0, "architecture-of-openfisca"]], " Running a simulation": [[71, "running-a-simulation"]], " Licence": [[44, "licence"]], " OpenFisca web API": [[67, "openfisca-web-api"]], " Getting started": [[28, "getting-started"]], " OpenFisca Python API": [[51, "openfisca-python-api"]], " Contribute": [[18, "contribute"]], " To find help": [[24, "to-find-help"]], " Before you start": [[25, "before-you-start"]], " Key concepts": [[36, "key-concepts"]], " Manifesto & history": [[45, "manifesto-history"]], " From law to code": [[8, "from-law-to-code"]], "API endpoints": [[66, "api-endpoints"]], "Abbreviations": [[23, "abbreviations"]], "About this documentation": [[15, "about-this-documentation"]], "Access a country\u2019s source code": [[26, "access-a-country-s-source-code"]], "Access a parameter for a specific period": [[10, "access-a-parameter-for-a-specific-period"]], "Access a parameter for all periods": [[10, "access-a-parameter-for-all-periods"]], "Acronyms": [[23, "acronyms"]], "Activating the simulation tracer": [[70, "activating-the-simulation-tracer"]], "Add a new value to this parameter": [[5, "add-a-new-value-to-this-parameter"]], "Add new parameters": [[11, "add-new-parameters"]], "Add new parameters dynamically": [[11, "add-new-parameters-dynamically"]], "Adding axes: parallel axes": [[73, "adding-axes-parallel-axes"]], "Adding axes: perpendicular axes": [[73, "adding-axes-perpendicular-axes"]], "Adding information to entities": [[68, "adding-information-to-entities"]], "Additional arguments": [[52, "additional-arguments"]], "Additional documentation": [[8, "additional-documentation"]], "Advanced example: enumerations (enum)": [[2, "advanced-example-enumerations-enum"]], "Advanced uses": [[10, "advanced-uses"]], "Aggregation": [[6, "aggregation"]], "Analysing or debugging a simulation": [[70, "analysing-or-debugging-a-simulation"]], "Analysing simulation steps": [[70, "analysing-simulation-steps"]], "Application: analyse disposable income calculation for one person": [[69, "application-analyse-disposable-income-calculation-for-one-person"]], "Application: calculate households total taxes from a CSV file": [[74, "application-calculate-households-total-taxes-from-a-csv-file"]], "Application: calculate persons income tax from a CSV file": [[74, "application-calculate-persons-income-tax-from-a-csv-file"]], "Application: calculate two households housing allowances": [[74, "application-calculate-two-households-housing-allowances"]], "Application: how to calculate a variable": [[41, "application-how-to-calculate-a-variable"]], "Arithmetic operations": [[3, "arithmetic-operations"]], "Automatically process variable inputs defined for periods not matching the definition_period": [[4, "automatically-process-variable-inputs-defined-for-periods-not-matching-the-definition-period"]], "Avoid mixing suffixed and non-suffixed versions of a similarly named variables": [[23, "avoid-mixing-suffixed-and-non-suffixed-versions-of-a-similarly-named-variables"]], "Bad naming": [[23, "bad-naming"], [23, "id2"], [23, "id4"], [23, "id6"], [23, "id8"]], "Basic Example": [[1, "basic-example"]], "Basic use": [[52, "basic-use"], [53, "basic-use"]], "Behaviour-based analysis": [[25, "behaviour-based-analysis"]], "Beware of context": [[72, "beware-of-context"]], "Boolean operations": [[3, "boolean-operations"]], "Bootstraping a new country package": [[7, "bootstraping-a-new-country-package"]], "Build it yourself": [[15, "build-it-yourself"]], "Caching further": [[72, "caching-further"]], "Calculate dependencies for a period different than the variable\u2019s definition_period": [[4, "calculate-dependencies-for-a-period-different-than-the-variable-s-definition-period"]], "Calculate dependencies for a specific period": [[4, "calculate-dependencies-for-a-specific-period"]], "Call an existing web API": [[27, "call-an-existing-web-api"]], "Changes": [[44, "changes"]], "Channels and Naming conventions": [[24, "channels-and-naming-conventions"]], "Check Python installation": [[32, "check-python-installation"]], "Check if a person has a given role": [[6, "check-if-a-person-has-a-given-role"]], "Coding a formula": [[1, "coding-a-formula"]], "Collaborative editing": [[15, "collaborative-editing"]], "Commit messages": [[13, "commit-messages"]], "Common keys": [[12, "common-keys"]], "Commons": [[46, "module-openfisca_core.commons"]], "Complete the implementation of the French tax and benefit system": [[18, "complete-the-implementation-of-the-french-tax-and-benefit-system"]], "Complex conditions": [[3, "complex-conditions"]], "Computation results": [[44, "computation-results"]], "Computing a parameter that depends on a variable (fancy indexing)": [[10, "computing-a-parameter-that-depends-on-a-variable-fancy-indexing"]], "Computing a variable": [[68, "computing-a-variable"]], "Computing variables": [[41, "computing-variables"]], "Conditions": [[67, "conditions"]], "Contact": [[24, "contact"]], "Continuous deployment": [[20, "continuous-deployment"]], "Continuous integration": [[17, "continuous-integration"], [22, "continuous-integration"]], "Contributing to the code": [[17, "contributing-to-the-code"]], "Contributing to the rules": [[28, "contributing-to-the-rules"]], "Contributing to the rules (Git)": [[32, "contributing-to-the-rules-git"]], "Contributor guidelines": [[17, "contributor-guidelines"]], "Control structures": [[3, "control-structures"]], "Core": [[0, "core"]], "Country Packages": [[0, "country-packages"]], "Country package (e.g. openfisca-france)": [[21, "country-package-e-g-openfisca-france"]], "Country-specific repositories": [[19, "country-specific-repositories"]], "Creating scales": [[10, "creating-scales"]], "Data": [[74, "data"]], "Debugging code": [[14, "debugging-code"]], "Default values": [[43, "default-values"]], "Defining and using an enumeration variable": [[2, "defining-and-using-an-enumeration-variable"]], "Defining parameter nodes in a YAML file": [[10, "defining-parameter-nodes-in-a-yaml-file"]], "Definition": [[41, "definition"], [42, "definition"]], "Demonstration API": [[67, "demonstration-api"]], "Deprecating": [[13, "deprecating"]], "Describing entities": [[68, "describing-entities"]], "Describing the situation": [[68, "describing-the-situation"]], "Developer guide": [[14, "developer-guide"]], "Differences between reforms and extensions": [[40, "differences-between-reforms-and-extensions"]], "Do\u2019s and don\u2019ts": [[23, "do-s-and-don-ts"]], "Edge Case: Offline environment": [[33, "edge-case-offline-environment"]], "Edge Case: Windows (not administrator)": [[35, "edge-case-windows-not-administrator"]], "Edge cases": [[28, "edge-cases"]], "Elevate the bottleneck": [[72, "elevate-the-bottleneck"]], "Ending a parameter at a specific date": [[5, "ending-a-parameter-at-a-specific-date"]], "Ending a scale at a specific date": [[5, "ending-a-scale-at-a-specific-date"]], "Ending a variable at a specific date": [[5, "ending-a-variable-at-a-specific-date"]], "English": [[44, "english"], [44, "id1"]], "Enhance other projects linked to OpenFisca": [[18, "enhance-other-projects-linked-to-openfisca"]], "Entities": [[6, "entities"], [47, "module-openfisca_core.entities"]], "Entities and roles are instance specific": [[39, "entities-and-roles-are-instance-specific"]], "Enum & EnumArray": [[48, "module-openfisca_core.indexed_enums"]], "Error margin": [[53, "error-margin"]], "Errors": [[49, "module-openfisca_core.errors"]], "Example": [[12, "example"]], "Example use cases": [[67, "example-use-cases"]], "Example with legislation parameters": [[1, "example-with-legislation-parameters"]], "Examples": [[23, "examples"], [52, "examples"], [53, "examples"]], "Examples in OpenFisca context": [[21, "examples-in-openfisca-context"]], "Extension architecture": [[16, "extension-architecture"]], "Extensions": [[53, "extensions"]], "Extensions Packages": [[0, "extensions-packages"]], "Feeling lost?": [[25, "feeling-lost"]], "Find the bottleneck": [[72, "find-the-bottleneck"]], "Follow the breadcrumbs": [[72, "follow-the-breadcrumbs"]], "Follow to the core": [[72, "follow-to-the-core"]], "Formula evolution": [[5, "formula-evolution"]], "Formula introduction": [[5, "formula-introduction"]], "Formulas": [[43, "formulas"]], "Formulas always return vectors": [[3, "formulas-always-return-vectors"]], "Fran\u00e7ais": [[44, "francais"], [44, "id2"]], "General philosophy": [[23, "general-philosophy"]], "Generate the flame graph": [[72, "generate-the-flame-graph"]], "Good naming": [[23, "good-naming"], [23, "id1"], [23, "id3"], [23, "id5"], [23, "id7"], [23, "id9"]], "Group entities": [[39, "group-entities"]], "Group entity composition": [[6, "group-entity-composition"]], "Holders": [[50, "module-openfisca_core.holders"]], "Hosting an API instance": [[44, "hosting-an-api-instance"], [67, "hosting-an-api-instance"]], "How to contribute?": [[18, "how-to-contribute"]], "How to find the Python version of a model": [[32, "how-to-find-the-python-version-of-a-model"]], "How to navigate the parameters in Python": [[10, "how-to-navigate-the-parameters-in-python"]], "How to run a simulation": [[74, "how-to-run-a-simulation"]], "How to run a simulation on a test case": [[74, "how-to-run-a-simulation-on-a-test-case"]], "How to run a simulation on data": [[74, "how-to-run-a-simulation-on-data"]], "How to update a parameter": [[5, "how-to-update-a-parameter"]], "How to update parameters in python": [[10, "how-to-update-parameters-in-python"]], "How to write a new parameter": [[10, "how-to-write-a-new-parameter"]], "Human decisions": [[25, "human-decisions"]], "Identify a slow simulation": [[72, "identify-a-slow-simulation"]], "Inferences": [[9, "inferences"]], "Input variables": [[43, "input-variables"]], "Install OpenFisca in a Docker container": [[31, "install-openfisca-in-a-docker-container"]], "Install OpenFisca-Country-Template packaged library": [[29, "install-openfisca-country-template-packaged-library"]], "Install Python": [[32, "install-python"]], "Install a Python version": [[32, "install-a-python-version"]], "Install a country package": [[29, "install-a-country-package"]], "Install a country web API": [[30, "install-a-country-web-api"]], "Install with Docker": [[31, "install-with-docker"]], "Installation requirements": [[32, "installation-requirements"]], "Instructions": [[34, "instructions"]], "Introducing": [[13, "introducing"]], "Introducing an input variable": [[2, "introducing-an-input-variable"]], "Isolate the bottleneck": [[72, "isolate-the-bottleneck"]], "Known issues": [[9, "known-issues"]], "Language": [[19, "language"]], "Legacy": [[23, "legacy"]], "Legislation evolutions": [[5, "legislation-evolutions"]], "Magical legislation parsing": [[25, "magical-legislation-parsing"]], "Major": [[21, "major"]], "Merging a Pull Request": [[17, "merging-a-pull-request"]], "Minor": [[21, "minor"]], "Multiples conditions": [[3, "multiples-conditions"]], "Name filter": [[53, "name-filter"]], "Named Arguments": [[52, "named-arguments"], [53, "named-arguments"]], "Naming conventions and reserved words": [[10, "naming-conventions-and-reserved-words"]], "Next steps": [[12, "next-steps"]], "On the machine with Internet access": [[33, "on-the-machine-with-internet-access"]], "On the server": [[33, "on-the-server"]], "Open the file where the parameter is described": [[5, "open-the-file-where-the-parameter-is-described"]], "Open the flame graph": [[72, "open-the-flame-graph"]], "OpenAPI specification configuration": [[65, "openapi-specification-configuration"]], "OpenFisca country APIs": [[67, "openfisca-country-apis"]], "OpenFisca extensions": [[16, "openfisca-extensions"]], "OpenFisca variables: naming guidelines": [[23, "openfisca-variables-naming-guidelines"]], "Opening a Pull Request": [[17, "opening-a-pull-request"]], "Opening issues": [[17, "opening-issues"]], "Parameter evolution": [[5, "parameter-evolution"]], "Parameters": [[10, "parameters"], [37, "parameters"], [54, "module-openfisca_core.parameters"]], "Parametric reforms": [[11, "parametric-reforms"]], "Patch": [[21, "patch"]], "Peer reviews": [[17, "peer-reviews"]], "Periods": [[4, "periods"], [55, "module-openfisca_core.periods"]], "Periods in formulas": [[4, "periods-in-formulas"]], "Periods in variable definitions": [[4, "periods-in-variable-definitions"]], "Periods, Instants": [[38, "periods-instants"]], "Person": [[39, "person"]], "Person, entities, role": [[39, "person-entities-role"]], "Populations": [[56, "module-openfisca_core.populations"]], "Positional Arguments": [[53, "positional-arguments"]], "Profiling a simulation\u2019s performance": [[72, "profiling-a-simulation-s-performance"]], "Profiling code": [[14, "profiling-code"]], "Projection": [[6, "projection"]], "Python API": [[28, "python-api"]], "Python API in the browser": [[34, "python-api-in-the-browser"]], "Real examples": [[11, "real-examples"]], "Recommendations for Windows users": [[32, "recommendations-for-windows-users"]], "Reforms": [[11, "reforms"], [40, "reforms"], [53, "reforms"], [57, "module-openfisca_core.reforms"]], "Release process": [[20, "release-process"]], "Renaming": [[13, "renaming"]], "Replicating a situation along axes": [[73, "replicating-a-situation-along-axes"]], "Roles": [[39, "roles"]], "Run and call a local web API": [[30, "run-and-call-a-local-web-api"]], "Run tests": [[22, "run-tests"]], "Running a test": [[12, "running-a-test"]], "Scopes and prefixes": [[23, "scopes-and-prefixes"]], "Semantic versioning guidelines": [[21, "semantic-versioning-guidelines"]], "Serving extensions": [[52, "serving-extensions"]], "Serving reforms": [[52, "serving-reforms"]], "Setting a default value": [[2, "setting-a-default-value"]], "Simulation generator": [[58, "module-openfisca_core.scripts.simulation_generator"]], "Simulation, Computation": [[41, "simulation-computation"]], "Simulations": [[59, "module-openfisca_core.simulations"]], "Slack": [[24, "slack"]], "Source code repositories": [[14, "source-code-repositories"]], "String concatenation": [[3, "string-concatenation"]], "Syntax": [[12, "syntax"]], "Targeting individuals": [[73, "targeting-individuals"]], "Tax and Benefit System": [[42, "tax-and-benefit-system"]], "TaxBenefitSystem": [[60, "module-openfisca_core.taxbenefitsystems"]], "Templates": [[0, "templates"]], "Ternaries": [[3, "ternaries"]], "Test and report errors (web API)": [[18, "test-and-report-errors-web-api"]], "Test cases": [[74, "test-cases"]], "Testing a formula": [[1, "testing-a-formula"]], "Testing a variable using a reform": [[12, "testing-a-variable-using-a-reform"]], "Testing changes on \u201cready to use\u201d situations": [[26, "testing-changes-on-ready-to-use-situations"]], "Testing formulas by giving a test case": [[12, "testing-formulas-by-giving-a-test-case"]], "Testing formulas by giving input variables": [[12, "testing-formulas-by-giving-input-variables"]], "Testing formulas using variables defined for multiple periods": [[12, "testing-formulas-using-variables-defined-for-multiple-periods"]], "Tests": [[22, "tests"]], "Textual comparisons": [[25, "textual-comparisons"]], "The formula": [[1, "the-formula"]], "The variable attributes": [[1, "the-variable-attributes"]], "The variable name": [[1, "the-variable-name"]], "Tracer": [[62, "module-openfisca_core.tracers"]], "Track your API": [[67, "track-your-api"]], "Tutorial": [[8, "tutorial"]], "Types": [[63, "module-openfisca_core.types"]], "Understanding the result": [[68, "understanding-the-result"]], "Update the value of a parameter": [[11, "update-the-value-of-a-parameter"]], "Use a suffix if it is necessary to distinguish between versions of a variable at the level of different entities": [[23, "use-a-suffix-if-it-is-necessary-to-distinguish-between-versions-of-a-variable-at-the-level-of-different-entities"]], "Use the API and direct its development": [[18, "use-the-api-and-direct-its-development"]], "Usecases": [[2, "usecases"]], "Using a configuration file": [[52, "using-a-configuration-file"]], "Using a reform in Python": [[11, "using-a-reform-in-python"]], "Using gunicorn directly": [[52, "using-gunicorn-directly"]], "Using periods in a simulation": [[4, "using-periods-in-a-simulation"]], "Using the /calculate endpoint": [[68, "using-the-calculate-endpoint"]], "Using the /trace endpoint": [[69, "using-the-trace-endpoint"]], "Utilising existing rules": [[28, "utilising-existing-rules"]], "Variable name changes": [[13, "variable-name-changes"]], "Variables": [[64, "module-openfisca_core.variables"]], "Variables and formulas": [[43, "variables-and-formulas"]], "Vectorial computing": [[3, "vectorial-computing"]], "Way to use OpenFisca": [[25, "way-to-use-openfisca"]], "Web API": [[28, "web-api"]], "Web API version number": [[17, "web-api-version-number"]], "What OpenFisca will not do for you": [[25, "what-openfisca-will-not-do-for-you"]], "What happens if you don\u2019t return a vector": [[3, "what-happens-if-you-don-t-return-a-vector"]], "What is OpenFisca": [[25, "what-is-openfisca"]], "Who uses OpenFisca": [[25, "who-uses-openfisca"]], "Why contribute to OpenFisca?": [[18, "why-contribute-to-openfisca"]], "With base_function": [[9, "with-base-function"]], "Wrap up": [[72, "wrap-up"]], "Write reforms": [[18, "write-reforms"]], "Write some legislation": [[18, "write-some-legislation"]], "Writing YAML tests": [[12, "writing-yaml-tests"]], "Writing a reform": [[11, "writing-a-reform"]], "Writing code": [[17, "writing-code"]], "YAML tests": [[22, "yaml-tests"]], "Zero effort modelling": [[25, "zero-effort-modelling"]], "if / else": [[3, "if-else"]], "ipdb debugger": [[22, "ipdb-debugger"]], "openfisca serve": [[52, "openfisca-serve"]], "openfisca test": [[53, "openfisca-test"]], "tools.test_runner": [[61, "module-openfisca_core.tools.test_runner"]]}, "docnames": ["architecture", "coding-the-legislation/10_basic_example", "coding-the-legislation/20_input_variables", "coding-the-legislation/25_vectorial_computing", "coding-the-legislation/35_periods", "coding-the-legislation/40_legislation_evolutions", "coding-the-legislation/50_entities", "coding-the-legislation/bootstrapping_a_new_country_package", "coding-the-legislation/index", "coding-the-legislation/inferences", "coding-the-legislation/legislation_parameters", "coding-the-legislation/reforms", "coding-the-legislation/writing_yaml_tests", "contribute/commit-messages", "contribute/developer-guide", "contribute/documentation", "contribute/extensions", "contribute/guidelines", "contribute/index", "contribute/language", "contribute/release-process", "contribute/semver", "contribute/tests", "contribute/variables-naming", "find-help", "index", "installation/access-countrys-source-code", "installation/call-existing-web-api", "installation/index", "installation/install-country-package", "installation/install-country-web-api", "installation/install-with-docker", "installation/installation-requirements", "installation/offline-environment", "installation/python-api-browser", "installation/windows-no-admin", "key-concepts/index", "key-concepts/parameters", "key-concepts/periods_instants", "key-concepts/person_entities_role", "key-concepts/reforms", "key-concepts/simulation", "key-concepts/tax_and_benefit_system", "key-concepts/variables", "license", "manifest-history", "openfisca-python-api/commons", "openfisca-python-api/entities", "openfisca-python-api/enum_array", "openfisca-python-api/errors", "openfisca-python-api/holder", "openfisca-python-api/index", "openfisca-python-api/openfisca_serve", "openfisca-python-api/openfisca_test", "openfisca-python-api/parameters", "openfisca-python-api/periods", "openfisca-python-api/populations", "openfisca-python-api/reforms", "openfisca-python-api/simulation_generator", "openfisca-python-api/simulations", "openfisca-python-api/tax-benefit-system", "openfisca-python-api/test_runner", "openfisca-python-api/tracer", "openfisca-python-api/types", "openfisca-python-api/variables", "openfisca-web-api/config-openapi", "openfisca-web-api/endpoints", "openfisca-web-api/index", "openfisca-web-api/input-output-data", "openfisca-web-api/trace-simulation", "simulate/analyse-simulation", "simulate/index", "simulate/profile-simulation", "simulate/replicate-simulation-inputs", "simulate/run-simulation", "summary"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1}, "filenames": ["architecture.md", "coding-the-legislation/10_basic_example.md", "coding-the-legislation/20_input_variables.md", "coding-the-legislation/25_vectorial_computing.md", "coding-the-legislation/35_periods.md", "coding-the-legislation/40_legislation_evolutions.md", "coding-the-legislation/50_entities.md", "coding-the-legislation/bootstrapping_a_new_country_package.md", "coding-the-legislation/index.md", "coding-the-legislation/inferences.md", "coding-the-legislation/legislation_parameters.md", "coding-the-legislation/reforms.md", "coding-the-legislation/writing_yaml_tests.md", "contribute/commit-messages.md", "contribute/developer-guide.md", "contribute/documentation.md", "contribute/extensions.md", "contribute/guidelines.md", "contribute/index.md", "contribute/language.md", "contribute/release-process.md", "contribute/semver.md", "contribute/tests.md", "contribute/variables-naming.md", "find-help.md", "index.md", "installation/access-countrys-source-code.md", "installation/call-existing-web-api.md", "installation/index.md", "installation/install-country-package.md", "installation/install-country-web-api.md", "installation/install-with-docker.md", "installation/installation-requirements.md", "installation/offline-environment.md", "installation/python-api-browser.md", "installation/windows-no-admin.md", "key-concepts/index.md", "key-concepts/parameters.md", "key-concepts/periods_instants.md", "key-concepts/person_entities_role.md", "key-concepts/reforms.md", "key-concepts/simulation.md", "key-concepts/tax_and_benefit_system.md", "key-concepts/variables.md", "license.md", "manifest-history.md", "openfisca-python-api/commons.rst", "openfisca-python-api/entities.rst", "openfisca-python-api/enum_array.rst", "openfisca-python-api/errors.rst", "openfisca-python-api/holder.rst", "openfisca-python-api/index.md", "openfisca-python-api/openfisca_serve.rst", "openfisca-python-api/openfisca_test.rst", "openfisca-python-api/parameters.rst", "openfisca-python-api/periods.rst", "openfisca-python-api/populations.rst", "openfisca-python-api/reforms.rst", "openfisca-python-api/simulation_generator.rst", "openfisca-python-api/simulations.rst", "openfisca-python-api/tax-benefit-system.rst", "openfisca-python-api/test_runner.rst", "openfisca-python-api/tracer.rst", "openfisca-python-api/types.rst", "openfisca-python-api/variables.rst", "openfisca-web-api/config-openapi.md", "openfisca-web-api/endpoints.md", "openfisca-web-api/index.md", "openfisca-web-api/input-output-data.md", "openfisca-web-api/trace-simulation.md", "simulate/analyse-simulation.md", "simulate/index.md", "simulate/profile-simulation.md", "simulate/replicate-simulation-inputs.md", "simulate/run-simulation.md", "summary.rst"], "indexentries": {"__call__() (openfisca_core.populations.population method)": [[56, "openfisca_core.populations.Population.__call__", false]], "__call__() (openfisca_core.types.formula method)": [[63, "openfisca_core.types.Formula.__call__", false]], "__call__() (openfisca_core.types.params method)": [[63, "openfisca_core.types.Params.__call__", false]], "add_child() (openfisca_core.parameters.parameternode method)": [[54, "openfisca_core.parameters.ParameterNode.add_child", false]], "add_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.add_variable", false]], "add_variables() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.add_variables", false]], "add_variables_from_directory() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.add_variables_from_directory", false]], "add_variables_from_file() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.add_variables_from_file", false]], "all() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.all", false]], "any() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.any", false]], "apply_reform() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.apply_reform", false]], "apply_thresholds() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.apply_thresholds", false]], "array (in module openfisca_core.types)": [[63, "openfisca_core.types.Array", false]], "arraylike (in module openfisca_core.types)": [[63, "openfisca_core.types.ArrayLike", false]], "atinstantlike (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.AtInstantLike", false]], "average_rate() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.average_rate", false]], "baseline_variable (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.baseline_variable", false]], "build_default_simulation() (openfisca_core.simulations.simulationbuilder static method)": [[59, "openfisca_core.simulations.SimulationBuilder.build_default_simulation", false]], "build_entity() (in module openfisca_core.entities)": [[47, "openfisca_core.entities.build_entity", false]], "build_from_dict() (openfisca_core.simulations.simulationbuilder method)": [[59, "openfisca_core.simulations.SimulationBuilder.build_from_dict", false]], "build_from_entities() (openfisca_core.simulations.simulationbuilder method)": [[59, "openfisca_core.simulations.SimulationBuilder.build_from_entities", false]], "build_from_variables() (openfisca_core.simulations.simulationbuilder method)": [[59, "openfisca_core.simulations.SimulationBuilder.build_from_variables", false]], "calculate() (openfisca_core.simulations.simulation method)": [[59, "openfisca_core.simulations.Simulation.calculate", false]], "check_node_vectorisable() (openfisca_core.parameters.vectorialparameternodeatinstant static method)": [[54, "openfisca_core.parameters.VectorialParameterNodeAtInstant.check_node_vectorisable", false]], "check_role_validity() (openfisca_core.entities.entity static method)": [[47, "openfisca_core.entities.Entity.check_role_validity", false]], "check_role_validity() (openfisca_core.entities.groupentity static method)": [[47, "openfisca_core.entities.GroupEntity.check_role_validity", false]], "check_unexpected_entities() (in module openfisca_core.simulations.helpers)": [[59, "openfisca_core.simulations.helpers.check_unexpected_entities", false]], "check_variable_defined_for_entity() (openfisca_core.entities.entity method)": [[47, "openfisca_core.entities.Entity.check_variable_defined_for_entity", false]], "check_variable_defined_for_entity() (openfisca_core.entities.groupentity method)": [[47, "openfisca_core.entities.GroupEntity.check_variable_defined_for_entity", false]], "clone() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.clone", false]], "collect() (openfisca_core.tools.test_runner.yamlfile method)": [[61, "openfisca_core.tools.test_runner.YamlFile.collect", false]], "computationlog (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.ComputationLog", false]], "concat() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.concat", false]], "config (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.config", false]], "container (class in openfisca_core.types)": [[63, "openfisca_core.types.Container", false]], "coreentity (class in openfisca_core.types)": [[63, "openfisca_core.types.CoreEntity", false]], "corepopulation (class in openfisca_core.types)": [[63, "openfisca_core.types.CorePopulation", false]], "cycleerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.CycleError", false]], "dateunit (class in openfisca_core.types)": [[63, "openfisca_core.types.DateUnit", false]], "decode() (openfisca_core.indexed_enums.enumarray method)": [[48, "openfisca_core.indexed_enums.EnumArray.decode", false]], "decode_to_str() (openfisca_core.indexed_enums.enumarray method)": [[48, "openfisca_core.indexed_enums.EnumArray.decode_to_str", false]], "default_array() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.default_array", false]], "default_value (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.default_value", false]], "definition_period (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.definition_period", false]], "delete_arrays() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.delete_arrays", false]], "description (openfisca_core.entities.role attribute)": [[47, "openfisca_core.entities.Role.description", false]], "doc (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.doc", false]], "doc (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.doc", false]], "doc (openfisca_core.entities.role property)": [[47, "openfisca_core.entities.Role.doc", false]], "documentation (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.documentation", false]], "dtype (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.dtype", false]], "dtypebool (in module openfisca_core.types)": [[63, "openfisca_core.types.DTypeBool", false]], "dtypebytes (in module openfisca_core.types)": [[63, "openfisca_core.types.DTypeBytes", false]], "dtypedate (in module openfisca_core.types)": [[63, "openfisca_core.types.DTypeDate", false]], "dtypeenum (in module openfisca_core.types)": [[63, "openfisca_core.types.DTypeEnum", false]], "dtypefloat (in module openfisca_core.types)": [[63, "openfisca_core.types.DTypeFloat", false]], "dtypegeneric (in module openfisca_core.types)": [[63, "openfisca_core.types.DTypeGeneric", false]], "dtypeint (in module openfisca_core.types)": [[63, "openfisca_core.types.DTypeInt", false]], "dtypeobject (in module openfisca_core.types)": [[63, "openfisca_core.types.DTypeObject", false]], "dtypestr (in module openfisca_core.types)": [[63, "openfisca_core.types.DTypeStr", false]], "dummy (class in openfisca_core.commons)": [[46, "openfisca_core.commons.Dummy", false]], "empty_clone() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.empty_clone", false]], "emptyargumenterror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.EmptyArgumentError", false]], "encode() (openfisca_core.indexed_enums.enum class method)": [[48, "openfisca_core.indexed_enums.Enum.encode", false]], "end (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.end", false]], "entity (class in openfisca_core.entities)": [[47, "openfisca_core.entities.Entity", false]], "entity (openfisca_core.entities.role attribute)": [[47, "openfisca_core.entities.Role.entity", false]], "entity (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.entity", false]], "entitykey (class in openfisca_core.types)": [[63, "openfisca_core.types.EntityKey", false]], "entityplural (class in openfisca_core.types)": [[63, "openfisca_core.types.EntityPlural", false]], "enum (class in openfisca_core.indexed_enums)": [[48, "openfisca_core.indexed_enums.Enum", false]], "enum (class in openfisca_core.types)": [[63, "openfisca_core.types.Enum", false]], "enumarray (class in openfisca_core.indexed_enums)": [[48, "openfisca_core.indexed_enums.EnumArray", false]], "enumarray (class in openfisca_core.types)": [[63, "openfisca_core.types.EnumArray", false]], "enumtype (class in openfisca_core.types)": [[63, "openfisca_core.types.EnumType", false]], "errormargin (class in openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.ErrorMargin", false]], "eval_expression() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.eval_expression", false]], "explicit_singular_entities() (openfisca_core.simulations.simulationbuilder method)": [[59, "openfisca_core.simulations.SimulationBuilder.explicit_singular_entities", false]], "find_role() (in module openfisca_core.entities)": [[47, "openfisca_core.entities.find_role", false]], "flattrace (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.FlatTrace", false]], "formula (class in openfisca_core.types)": [[63, "openfisca_core.types.Formula", false]], "formulas (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.formulas", false]], "fulltracer (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.FullTracer", false]], "get_annualized_variable() (in module openfisca_core.variables.helpers)": [[64, "openfisca_core.variables.helpers.get_annualized_variable", false]], "get_array() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.get_array", false]], "get_array() (openfisca_core.simulations.simulation method)": [[59, "openfisca_core.simulations.Simulation.get_array", false]], "get_descendants() (openfisca_core.parameters.parameternode method)": [[54, "openfisca_core.parameters.ParameterNode.get_descendants", false]], "get_formula() (openfisca_core.variables.variable method)": [[64, "openfisca_core.variables.Variable.get_formula", false]], "get_holder() (openfisca_core.simulations.simulation method)": [[59, "openfisca_core.simulations.Simulation.get_holder", false]], "get_known_periods() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.get_known_periods", false]], "get_memory_usage() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.get_memory_usage", false]], "get_memory_usage() (openfisca_core.simulations.simulation method)": [[59, "openfisca_core.simulations.Simulation.get_memory_usage", false]], "get_neutralized_variable() (in module openfisca_core.variables.helpers)": [[64, "openfisca_core.variables.helpers.get_neutralized_variable", false]], "get_package_metadata() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.get_package_metadata", false]], "get_parameters_at_instant() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.get_parameters_at_instant", false]], "get_rank() (openfisca_core.populations.population method)": [[56, "openfisca_core.populations.Population.get_rank", false]], "get_variable() (openfisca_core.entities.entity method)": [[47, "openfisca_core.entities.Entity.get_variable", false]], "get_variable() (openfisca_core.entities.groupentity method)": [[47, "openfisca_core.entities.GroupEntity.get_variable", false]], "get_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.get_variable", false]], "get_variables() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.get_variables", false]], "groupentity (class in openfisca_core.entities)": [[47, "openfisca_core.entities.GroupEntity", false]], "groupentity (class in openfisca_core.types)": [[63, "openfisca_core.types.GroupEntity", false]], "grouppopulation (class in openfisca_core.populations)": [[56, "openfisca_core.populations.GroupPopulation", false]], "grouppopulation (class in openfisca_core.types)": [[63, "openfisca_core.types.GroupPopulation", false]], "has_role() (openfisca_core.populations.population method)": [[56, "openfisca_core.populations.Population.has_role", false]], "has_unexpected_entities() (in module openfisca_core.simulations.helpers)": [[59, "openfisca_core.simulations.helpers.has_unexpected_entities", false]], "holder (class in openfisca_core.holders)": [[50, "openfisca_core.holders.Holder", false]], "holder (class in openfisca_core.types)": [[63, "openfisca_core.types.Holder", false]], "index (openfisca_core.indexed_enums.enum attribute)": [[48, "openfisca_core.indexed_enums.Enum.index", false]], "indexable (class in openfisca_core.types)": [[63, "openfisca_core.types.Indexable", false]], "instant (class in openfisca_core.periods)": [[55, "openfisca_core.periods.Instant", false]], "instant (class in openfisca_core.types)": [[63, "openfisca_core.types.Instant", false]], "instant() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.instant", false]], "instant_date() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.instant_date", false]], "instantstr (class in openfisca_core.types)": [[63, "openfisca_core.types.InstantStr", false]], "is_input_variable() (openfisca_core.variables.variable method)": [[64, "openfisca_core.variables.Variable.is_input_variable", false]], "is_neutralized (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.is_neutralized", false]], "is_person (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.is_person", false]], "is_person (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.is_person", false]], "json_type (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.json_type", false]], "key (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.key", false]], "key (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.key", false]], "key (openfisca_core.entities.role property)": [[47, "openfisca_core.entities.Role.key", false]], "key_period_size() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.key_period_size", false]], "label (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.label", false]], "label (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.label", false]], "label (openfisca_core.entities.role property)": [[47, "openfisca_core.entities.Role.label", false]], "label (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.label", false]], "load_extension() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.load_extension", false]], "load_parameter_file() (in module openfisca_core.parameters.helpers)": [[54, "openfisca_core.parameters.helpers.load_parameter_file", false]], "load_parameters() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.load_parameters", false]], "make_simulation() (in module openfisca_core.scripts.simulation_generator)": [[58, "openfisca_core.scripts.simulation_generator.make_simulation", false]], "marginal_rate() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.marginal_rate", false]], "max (openfisca_core.entities.role attribute)": [[47, "openfisca_core.entities.Role.max", false]], "max() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.max", false]], "max_length (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.max_length", false]], "merge() (openfisca_core.parameters.parameternode method)": [[54, "openfisca_core.parameters.ParameterNode.merge", false]], "min() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.min", false]], "modify_parameters() (openfisca_core.reforms.reform method)": [[57, "openfisca_core.reforms.Reform.modify_parameters", false]], "module": [[46, "module-openfisca_core.commons", false], [47, "module-openfisca_core.entities", false], [48, "module-openfisca_core.indexed_enums", false], [48, "module-openfisca_core.indexed_enums.config", false], [49, "module-openfisca_core.errors", false], [50, "module-openfisca_core.holders", false], [50, "module-openfisca_core.holders.helpers", false], [54, "module-openfisca_core.parameters", false], [54, "module-openfisca_core.parameters.config", false], [54, "module-openfisca_core.parameters.helpers", false], [55, "module-openfisca_core.periods", false], [55, "module-openfisca_core.periods.config", false], [55, "module-openfisca_core.periods.helpers", false], [56, "module-openfisca_core.populations", false], [56, "module-openfisca_core.populations.config", false], [57, "module-openfisca_core.reforms", false], [58, "module-openfisca_core.scripts.simulation_generator", false], [59, "module-openfisca_core.simulations", false], [59, "module-openfisca_core.simulations.helpers", false], [60, "module-openfisca_core.taxbenefitsystems", false], [61, "module-openfisca_core.tools.test_runner", false], [62, "module-openfisca_core.tracers", false], [63, "module-openfisca_core.types", false], [64, "module-openfisca_core.variables", false], [64, "module-openfisca_core.variables.config", false], [64, "module-openfisca_core.variables.helpers", false]], "name (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.name", false]], "name (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.name", false]], "nancreationerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.NaNCreationError", false]], "nb_persons() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.nb_persons", false]], "neutralize_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.neutralize_variable", false]], "openfisca_core.commons": [[46, "module-openfisca_core.commons", false]], "openfisca_core.entities": [[47, "module-openfisca_core.entities", false]], "openfisca_core.errors": [[49, "module-openfisca_core.errors", false]], "openfisca_core.holders": [[50, "module-openfisca_core.holders", false]], "openfisca_core.holders.helpers": [[50, "module-openfisca_core.holders.helpers", false]], "openfisca_core.indexed_enums": [[48, "module-openfisca_core.indexed_enums", false]], "openfisca_core.indexed_enums.config": [[48, "module-openfisca_core.indexed_enums.config", false]], "openfisca_core.parameters": [[54, "module-openfisca_core.parameters", false]], "openfisca_core.parameters.config": [[54, "module-openfisca_core.parameters.config", false]], "openfisca_core.parameters.helpers": [[54, "module-openfisca_core.parameters.helpers", false]], "openfisca_core.periods": [[55, "module-openfisca_core.periods", false]], "openfisca_core.periods.config": [[55, "module-openfisca_core.periods.config", false]], "openfisca_core.periods.helpers": [[55, "module-openfisca_core.periods.helpers", false]], "openfisca_core.populations": [[56, "module-openfisca_core.populations", false]], "openfisca_core.populations.config": [[56, "module-openfisca_core.populations.config", false]], "openfisca_core.reforms": [[57, "module-openfisca_core.reforms", false]], "openfisca_core.scripts.simulation_generator": [[58, "module-openfisca_core.scripts.simulation_generator", false]], "openfisca_core.simulations": [[59, "module-openfisca_core.simulations", false]], "openfisca_core.simulations.helpers": [[59, "module-openfisca_core.simulations.helpers", false]], "openfisca_core.taxbenefitsystems": [[60, "module-openfisca_core.taxbenefitsystems", false]], "openfisca_core.tools.test_runner": [[61, "module-openfisca_core.tools.test_runner", false]], "openfisca_core.tracers": [[62, "module-openfisca_core.tracers", false]], "openfisca_core.types": [[63, "module-openfisca_core.types", false]], "openfisca_core.variables": [[64, "module-openfisca_core.variables", false]], "openfisca_core.variables.config": [[64, "module-openfisca_core.variables.config", false]], "openfisca_core.variables.helpers": [[64, "module-openfisca_core.variables.helpers", false]], "options (class in openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.Options", false]], "parameter (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.Parameter", false]], "parameteratinstant (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterAtInstant", false]], "parameternode (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterNode", false]], "parameternodeatinstant (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterNodeAtInstant", false]], "parameternodeatinstant (class in openfisca_core.types)": [[63, "openfisca_core.types.ParameterNodeAtInstant", false]], "parameternotfounderror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.ParameterNotFoundError", false]], "parameterparsingerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.ParameterParsingError", false]], "parameters (openfisca_core.taxbenefitsystems.taxbenefitsystem attribute)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.parameters", false]], "parameterscale (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterScale", false]], "parameterscalebracket (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.ParameterScaleBracket", false]], "params (class in openfisca_core.types)": [[63, "openfisca_core.types.Params", false]], "parent (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.parent", false]], "parse_formula_name() (openfisca_core.variables.variable method)": [[64, "openfisca_core.variables.Variable.parse_formula_name", false]], "path (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.path", false]], "performancelog (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.PerformanceLog", false]], "period (class in openfisca_core.types)": [[63, "openfisca_core.types.Period", false]], "period() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.period", false]], "periodmismatcherror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.PeriodMismatchError", false]], "periodstr (class in openfisca_core.types)": [[63, "openfisca_core.types.PeriodStr", false]], "plural (openfisca_core.entities.entity attribute)": [[47, "openfisca_core.entities.Entity.plural", false]], "plural (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.plural", false]], "plural (openfisca_core.entities.role property)": [[47, "openfisca_core.entities.Role.plural", false]], "population (class in openfisca_core.populations)": [[56, "openfisca_core.populations.Population", false]], "possible_values (openfisca_core.indexed_enums.enumarray attribute)": [[48, "openfisca_core.indexed_enums.EnumArray.possible_values", false]], "possible_values (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.possible_values", false]], "print_log() (openfisca_core.tracers.computationlog method)": [[62, "openfisca_core.tracers.ComputationLog.print_log", false]], "randomly_init_variable() (in module openfisca_core.scripts.simulation_generator)": [[58, "openfisca_core.scripts.simulation_generator.randomly_init_variable", false]], "reference (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.reference", false]], "reform (class in openfisca_core.reforms)": [[57, "openfisca_core.reforms.Reform", false]], "replace_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.replace_variable", false]], "role (class in openfisca_core.entities)": [[47, "openfisca_core.entities.Role", false]], "role (class in openfisca_core.types)": [[63, "openfisca_core.types.Role", false]], "rolekey (class in openfisca_core.types)": [[63, "openfisca_core.types.RoleKey", false]], "roleplural (class in openfisca_core.types)": [[63, "openfisca_core.types.RolePlural", false]], "roles (openfisca_core.entities.groupentity attribute)": [[47, "openfisca_core.entities.GroupEntity.roles", false]], "run_tests() (in module openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.run_tests", false]], "session (openfisca_core.tools.test_runner.yamlfile attribute)": [[61, "openfisca_core.tools.test_runner.YamlFile.session", false]], "set_input (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.set_input", false]], "set_input() (openfisca_core.holders.holder method)": [[50, "openfisca_core.holders.Holder.set_input", false]], "set_input_dispatch_by_period() (in module openfisca_core.holders.helpers)": [[50, "openfisca_core.holders.helpers.set_input_dispatch_by_period", false]], "set_input_divide_by_period() (in module openfisca_core.holders.helpers)": [[50, "openfisca_core.holders.helpers.set_input_divide_by_period", false]], "set_tax_benefit_system() (openfisca_core.entities.entity method)": [[47, "openfisca_core.entities.Entity.set_tax_benefit_system", false]], "set_tax_benefit_system() (openfisca_core.entities.groupentity method)": [[47, "openfisca_core.entities.GroupEntity.set_tax_benefit_system", false]], "simpletracer (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.SimpleTracer", false]], "simulation (class in openfisca_core.simulations)": [[59, "openfisca_core.simulations.Simulation", false]], "simulation (class in openfisca_core.types)": [[63, "openfisca_core.types.Simulation", false]], "simulationbuilder (class in openfisca_core.simulations)": [[59, "openfisca_core.simulations.SimulationBuilder", false]], "singleentity (class in openfisca_core.types)": [[63, "openfisca_core.types.SingleEntity", false]], "singleentity (in module openfisca_core.entities)": [[47, "openfisca_core.entities.SingleEntity", false]], "singlepopulation (class in openfisca_core.types)": [[63, "openfisca_core.types.SinglePopulation", false]], "situationparsingerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.SituationParsingError", false]], "spiralerror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.SpiralError", false]], "stringify_array() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.stringify_array", false]], "subroles (openfisca_core.entities.role attribute)": [[47, "openfisca_core.entities.Role.subroles", false]], "sum() (openfisca_core.populations.grouppopulation method)": [[56, "openfisca_core.populations.GroupPopulation.sum", false]], "switch() (in module openfisca_core.commons)": [[46, "openfisca_core.commons.switch", false]], "taxbenefitsystem (class in openfisca_core.taxbenefitsystems)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem", false]], "taxbenefitsystem (class in openfisca_core.types)": [[63, "openfisca_core.types.TaxBenefitSystem", false]], "test (class in openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.Test", false]], "tracenode (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.TraceNode", false]], "tracingparameternodeatinstant (class in openfisca_core.tracers)": [[62, "openfisca_core.tracers.TracingParameterNodeAtInstant", false]], "unit (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.unit", false]], "unit_weight() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.unit_weight", false]], "unit_weights() (in module openfisca_core.periods.helpers)": [[55, "openfisca_core.periods.helpers.unit_weights", false]], "update() (openfisca_core.parameters.parameter method)": [[54, "openfisca_core.parameters.Parameter.update", false]], "update_variable() (openfisca_core.taxbenefitsystems.taxbenefitsystem method)": [[60, "openfisca_core.taxbenefitsystems.TaxBenefitSystem.update_variable", false]], "value_type (openfisca_core.variables.variable attribute)": [[64, "openfisca_core.variables.Variable.value_type", false]], "values_list (openfisca_core.parameters.parameter attribute)": [[54, "openfisca_core.parameters.Parameter.values_list", false]], "variable (class in openfisca_core.types)": [[63, "openfisca_core.types.Variable", false]], "variable (class in openfisca_core.variables)": [[64, "openfisca_core.variables.Variable", false]], "variablename (class in openfisca_core.types)": [[63, "openfisca_core.types.VariableName", false]], "variablenameconflicterror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.VariableNameConflictError", false]], "variablenotfounderror (class in openfisca_core.errors)": [[49, "openfisca_core.errors.VariableNotFoundError", false]], "vectorialparameternodeatinstant (class in openfisca_core.parameters)": [[54, "openfisca_core.parameters.VectorialParameterNodeAtInstant", false]], "yamlfile (class in openfisca_core.tools.test_runner)": [[61, "openfisca_core.tools.test_runner.YamlFile", false]]}, "objects": {"openfisca_core": [[46, 0, 0, "-", "commons"], [47, 0, 0, "-", "entities"], [49, 0, 0, "-", "errors"], [50, 0, 0, "-", "holders"], [48, 0, 0, "-", "indexed_enums"], [54, 0, 0, "-", "parameters"], [55, 0, 0, "-", "periods"], [56, 0, 0, "-", "populations"], [57, 0, 0, "-", "reforms"], [59, 0, 0, "-", "simulations"], [60, 0, 0, "-", "taxbenefitsystems"], [62, 0, 0, "-", "tracers"], [63, 0, 0, "-", "types"], [64, 0, 0, "-", "variables"]], "openfisca_core.commons": [[46, 1, 1, "", "Dummy"], [46, 2, 1, "", "apply_thresholds"], [46, 2, 1, "", "average_rate"], [46, 2, 1, "", "concat"], [46, 2, 1, "", "empty_clone"], [46, 2, 1, "", "eval_expression"], [46, 2, 1, "", "marginal_rate"], [46, 2, 1, "", "stringify_array"], [46, 2, 1, "", "switch"]], "openfisca_core.entities": [[47, 1, 1, "", "Entity"], [47, 1, 1, "", "GroupEntity"], [47, 1, 1, "", "Role"], [47, 4, 1, "", "SingleEntity"], [47, 2, 1, "", "build_entity"], [47, 2, 1, "", "find_role"]], "openfisca_core.entities.Entity": [[47, 3, 1, "", "check_role_validity"], [47, 3, 1, "", "check_variable_defined_for_entity"], [47, 4, 1, "", "doc"], [47, 3, 1, "", "get_variable"], [47, 4, 1, "", "is_person"], [47, 4, 1, "", "key"], [47, 4, 1, "", "label"], [47, 4, 1, "", "plural"], [47, 3, 1, "", "set_tax_benefit_system"]], "openfisca_core.entities.GroupEntity": [[47, 3, 1, "", "check_role_validity"], [47, 3, 1, "", "check_variable_defined_for_entity"], [47, 4, 1, "", "doc"], [47, 3, 1, "", "get_variable"], [47, 4, 1, "", "is_person"], [47, 4, 1, "", "key"], [47, 4, 1, "", "label"], [47, 4, 1, "", "plural"], [47, 4, 1, "", "roles"], [47, 3, 1, "", "set_tax_benefit_system"]], "openfisca_core.entities.Role": [[47, 4, 1, "", "description"], [47, 5, 1, "", "doc"], [47, 4, 1, "", "entity"], [47, 5, 1, "", "key"], [47, 5, 1, "", "label"], [47, 4, 1, "", "max"], [47, 5, 1, "", "plural"], [47, 4, 1, "", "subroles"]], "openfisca_core.errors": [[49, 1, 1, "", "CycleError"], [49, 1, 1, "", "EmptyArgumentError"], [49, 1, 1, "", "NaNCreationError"], [49, 1, 1, "", "ParameterNotFoundError"], [49, 1, 1, "", "ParameterParsingError"], [49, 1, 1, "", "PeriodMismatchError"], [49, 1, 1, "", "SituationParsingError"], [49, 1, 1, "", "SpiralError"], [49, 1, 1, "", "VariableNameConflictError"], [49, 1, 1, "", "VariableNotFoundError"]], "openfisca_core.holders": [[50, 1, 1, "", "Holder"], [50, 0, 0, "-", "helpers"]], "openfisca_core.holders.Holder": [[50, 3, 1, "", "clone"], [50, 3, 1, "", "default_array"], [50, 3, 1, "", "delete_arrays"], [50, 3, 1, "", "get_array"], [50, 3, 1, "", "get_known_periods"], [50, 3, 1, "", "get_memory_usage"], [50, 3, 1, "", "set_input"]], "openfisca_core.holders.helpers": [[50, 2, 1, "", "set_input_dispatch_by_period"], [50, 2, 1, "", "set_input_divide_by_period"]], "openfisca_core.indexed_enums": [[48, 1, 1, "", "Enum"], [48, 1, 1, "", "EnumArray"], [48, 0, 0, "-", "config"]], "openfisca_core.indexed_enums.Enum": [[48, 3, 1, "", "encode"], [48, 4, 1, "", "index"]], "openfisca_core.indexed_enums.EnumArray": [[48, 3, 1, "", "decode"], [48, 3, 1, "", "decode_to_str"], [48, 4, 1, "", "possible_values"]], "openfisca_core.parameters": [[54, 1, 1, "", "AtInstantLike"], [54, 1, 1, "", "Parameter"], [54, 1, 1, "", "ParameterAtInstant"], [54, 1, 1, "", "ParameterNode"], [54, 1, 1, "", "ParameterNodeAtInstant"], [54, 1, 1, "", "ParameterScale"], [54, 1, 1, "", "ParameterScaleBracket"], [54, 1, 1, "", "VectorialParameterNodeAtInstant"], [54, 0, 0, "-", "config"], [54, 0, 0, "-", "helpers"]], "openfisca_core.parameters.Parameter": [[54, 3, 1, "", "update"], [54, 4, 1, "", "values_list"]], "openfisca_core.parameters.ParameterNode": [[54, 3, 1, "", "add_child"], [54, 3, 1, "", "get_descendants"], [54, 3, 1, "", "merge"]], "openfisca_core.parameters.VectorialParameterNodeAtInstant": [[54, 3, 1, "", "check_node_vectorisable"]], "openfisca_core.parameters.helpers": [[54, 2, 1, "", "load_parameter_file"]], "openfisca_core.periods": [[55, 1, 1, "", "Instant"], [55, 0, 0, "-", "config"], [55, 0, 0, "-", "helpers"]], "openfisca_core.periods.helpers": [[55, 2, 1, "", "instant"], [55, 2, 1, "", "instant_date"], [55, 2, 1, "", "key_period_size"], [55, 2, 1, "", "period"], [55, 2, 1, "", "unit_weight"], [55, 2, 1, "", "unit_weights"]], "openfisca_core.populations": [[56, 1, 1, "", "GroupPopulation"], [56, 1, 1, "", "Population"], [56, 0, 0, "-", "config"]], "openfisca_core.populations.GroupPopulation": [[56, 3, 1, "", "all"], [56, 3, 1, "", "any"], [56, 3, 1, "", "max"], [56, 3, 1, "", "min"], [56, 3, 1, "", "nb_persons"], [56, 3, 1, "", "sum"]], "openfisca_core.populations.Population": [[56, 3, 1, "", "__call__"], [56, 3, 1, "", "get_rank"], [56, 3, 1, "", "has_role"]], "openfisca_core.reforms": [[57, 1, 1, "", "Reform"]], "openfisca_core.reforms.Reform": [[57, 3, 1, "", "modify_parameters"]], "openfisca_core.scripts": [[58, 0, 0, "-", "simulation_generator"]], "openfisca_core.scripts.simulation_generator": [[58, 2, 1, "", "make_simulation"], [58, 2, 1, "", "randomly_init_variable"]], "openfisca_core.simulations": [[59, 1, 1, "", "Simulation"], [59, 1, 1, "", "SimulationBuilder"], [59, 0, 0, "-", "helpers"]], "openfisca_core.simulations.Simulation": [[59, 3, 1, "", "calculate"], [59, 3, 1, "", "get_array"], [59, 3, 1, "", "get_holder"], [59, 3, 1, "", "get_memory_usage"]], "openfisca_core.simulations.SimulationBuilder": [[59, 3, 1, "", "build_default_simulation"], [59, 3, 1, "", "build_from_dict"], [59, 3, 1, "", "build_from_entities"], [59, 3, 1, "", "build_from_variables"], [59, 3, 1, "", "explicit_singular_entities"]], "openfisca_core.simulations.helpers": [[59, 2, 1, "", "check_unexpected_entities"], [59, 2, 1, "", "has_unexpected_entities"]], "openfisca_core.taxbenefitsystems": [[60, 1, 1, "", "TaxBenefitSystem"]], "openfisca_core.taxbenefitsystems.TaxBenefitSystem": [[60, 3, 1, "", "add_variable"], [60, 3, 1, "", "add_variables"], [60, 3, 1, "", "add_variables_from_directory"], [60, 3, 1, "", "add_variables_from_file"], [60, 3, 1, "", "apply_reform"], [60, 3, 1, "", "get_package_metadata"], [60, 3, 1, "", "get_parameters_at_instant"], [60, 3, 1, "", "get_variable"], [60, 3, 1, "", "get_variables"], [60, 3, 1, "", "load_extension"], [60, 3, 1, "", "load_parameters"], [60, 3, 1, "", "neutralize_variable"], [60, 4, 1, "", "parameters"], [60, 3, 1, "", "replace_variable"], [60, 3, 1, "", "update_variable"]], "openfisca_core.tools": [[61, 0, 0, "-", "test_runner"]], "openfisca_core.tools.test_runner": [[61, 1, 1, "", "ErrorMargin"], [61, 1, 1, "", "Options"], [61, 1, 1, "", "Test"], [61, 1, 1, "", "YamlFile"], [61, 2, 1, "", "run_tests"]], "openfisca_core.tools.test_runner.YamlFile": [[61, 3, 1, "", "collect"], [61, 4, 1, "", "config"], [61, 4, 1, "", "name"], [61, 4, 1, "", "parent"], [61, 4, 1, "", "path"], [61, 4, 1, "", "session"]], "openfisca_core.tracers": [[62, 1, 1, "", "ComputationLog"], [62, 1, 1, "", "FlatTrace"], [62, 1, 1, "", "FullTracer"], [62, 1, 1, "", "PerformanceLog"], [62, 1, 1, "", "SimpleTracer"], [62, 1, 1, "", "TraceNode"], [62, 1, 1, "", "TracingParameterNodeAtInstant"]], "openfisca_core.tracers.ComputationLog": [[62, 3, 1, "", "print_log"]], "openfisca_core.types": [[63, 6, 1, "", "Array"], [63, 6, 1, "", "ArrayLike"], [63, 1, 1, "", "Container"], [63, 1, 1, "", "CoreEntity"], [63, 1, 1, "", "CorePopulation"], [63, 4, 1, "", "DTypeBool"], [63, 4, 1, "", "DTypeBytes"], [63, 4, 1, "", "DTypeDate"], [63, 4, 1, "", "DTypeEnum"], [63, 4, 1, "", "DTypeFloat"], [63, 4, 1, "", "DTypeGeneric"], [63, 4, 1, "", "DTypeInt"], [63, 4, 1, "", "DTypeObject"], [63, 4, 1, "", "DTypeStr"], [63, 1, 1, "", "DateUnit"], [63, 1, 1, "", "EntityKey"], [63, 1, 1, "", "EntityPlural"], [63, 1, 1, "", "Enum"], [63, 1, 1, "", "EnumArray"], [63, 1, 1, "", "EnumType"], [63, 1, 1, "", "Formula"], [63, 1, 1, "", "GroupEntity"], [63, 1, 1, "", "GroupPopulation"], [63, 1, 1, "", "Holder"], [63, 1, 1, "", "Indexable"], [63, 1, 1, "", "Instant"], [63, 1, 1, "", "InstantStr"], [63, 1, 1, "", "ParameterNodeAtInstant"], [63, 1, 1, "", "Params"], [63, 1, 1, "", "Period"], [63, 1, 1, "", "PeriodStr"], [63, 1, 1, "", "Role"], [63, 1, 1, "", "RoleKey"], [63, 1, 1, "", "RolePlural"], [63, 1, 1, "", "Simulation"], [63, 1, 1, "", "SingleEntity"], [63, 1, 1, "", "SinglePopulation"], [63, 1, 1, "", "TaxBenefitSystem"], [63, 1, 1, "", "Variable"], [63, 1, 1, "", "VariableName"]], "openfisca_core.types.Formula": [[63, 3, 1, "", "__call__"]], "openfisca_core.types.Params": [[63, 3, 1, "", "__call__"]], "openfisca_core.variables": [[64, 1, 1, "", "Variable"], [64, 0, 0, "-", "config"], [64, 0, 0, "-", "helpers"]], "openfisca_core.variables.Variable": [[64, 4, 1, "", "baseline_variable"], [64, 4, 1, "", "default_value"], [64, 4, 1, "", "definition_period"], [64, 4, 1, "", "documentation"], [64, 4, 1, "", "dtype"], [64, 4, 1, "", "end"], [64, 4, 1, "", "entity"], [64, 4, 1, "", "formulas"], [64, 3, 1, "", "get_formula"], [64, 3, 1, "", "is_input_variable"], [64, 4, 1, "", "is_neutralized"], [64, 4, 1, "", "json_type"], [64, 4, 1, "", "label"], [64, 4, 1, "", "max_length"], [64, 4, 1, "", "name"], [64, 3, 1, "", "parse_formula_name"], [64, 4, 1, "", "possible_values"], [64, 4, 1, "", "reference"], [64, 4, 1, "", "set_input"], [64, 4, 1, "", "unit"], [64, 4, 1, "", "value_type"]], "openfisca_core.variables.helpers": [[64, 2, 1, "", "get_annualized_variable"], [64, 2, 1, "", "get_neutralized_variable"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "function", "Python function"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:function", "3": "py:method", "4": "py:attribute", "5": "py:property", "6": "py:data"}, "terms": {"": [1, 2, 3, 5, 6, 7, 8, 10, 11, 15, 18, 24, 25, 27, 28, 29, 30, 33, 35, 38, 39, 41, 42, 43, 47, 50, 53, 55, 64, 68, 69, 70, 71, 73, 74], "0": [1, 2, 3, 4, 5, 6, 10, 12, 14, 18, 33, 43, 44, 46, 48, 50, 52, 53, 55, 56, 57, 58, 59, 60, 62, 67, 69, 70, 72, 73, 74], "00": 69, "000": [4, 12, 74], "00002": 74, "00003": 74, "0001": [5, 64], "01": [1, 2, 4, 5, 10, 11, 12, 41, 43, 50, 54, 55, 56, 63, 64, 68, 69, 70, 74], "02": [10, 12, 55, 68, 72], "03": [5, 12, 68, 72, 74], "04": [4, 5, 56, 68], "05": [4, 5, 53, 68], "06": [4, 5, 10, 68], "07": [10, 50, 68], "08": 68, "09": [43, 55, 68], "0x7f7eb8e88d10": 14, "1": [3, 4, 5, 10, 11, 14, 33, 46, 47, 48, 55, 56, 59, 63, 72, 74, 75], "10": [2, 31, 32, 35, 46, 53, 55, 59, 68, 72, 73, 74], "100": [2, 3, 4, 6, 10, 55, 58, 72], "1000": [3, 5, 10, 53, 57, 70, 72, 73, 74], "100000": 4, "100_1": 55, "101": 72, "101270": 72, "1028": 72, "103938": 72, "1054648": 72, "1067": 72, "1082": 72, "1092": 55, "1096": 55, "11": [31, 32, 33, 35, 59, 68, 73, 74], "1100": 74, "113": 72, "117": 72, "1181": 12, "1192": 72, "12": [4, 5, 10, 12, 50, 55, 68, 72, 74], "120": 10, "1200": 74, "12000": [5, 59], "1214": 72, "1215246": 72, "1226506": 72, "1247258": 72, "127": 14, "1271": 72, "1282607": 72, "12th": 4, "13": 55, "1300": 74, "13000": 59, "1302427": 72, "132300": 72, "1333": 73, "134": 72, "1354815": 72, "14": [50, 55, 72, 74], "141": 72, "1418229": 72, "148": 72, "14th": 4, "15": [4, 46, 69, 72], "150": [10, 70, 72], "1500": [3, 10, 56], "1534376": 72, "156": 55, "15th": [4, 38], "16": [55, 72, 73], "1600": 74, "1615270": 72, "16337": 72, "1666": [4, 73], "1672": 72, "17": [60, 72], "1700": 10, "177": 72, "1787843": 72, "18": [35, 69, 73], "180": [10, 72, 74], "1800": 56, "1809954": 72, "195": 74, "1950": 10, "1951692": 72, "196150": 72, "1972": 12, "1980": 69, "199": 72, "1993": 10, "1aj": 12, "1st": [4, 5, 10, 38, 56], "2": [3, 4, 5, 10, 12, 46, 47, 50, 55, 56, 59, 60, 68, 72, 74, 75], "20": [5, 10, 12, 25, 46, 72], "200": [3, 6, 53], "2000": [1, 10, 12, 14, 53, 56, 59, 63, 73], "20000": 12, "2005": 5, "2009": [10, 12], "2010": [4, 5, 10, 55], "2011": [4, 55, 70, 74], "2012": [4, 12, 55], "2013": [4, 5, 12, 55], "2013423": 72, "2014": [4, 43, 55], "2015": [4, 5, 10, 11, 38, 41, 43, 53, 54, 55, 68], "2016": [4, 5, 10, 11, 54, 59, 68], "2017": [1, 2, 4, 5, 10, 43, 50, 55, 56, 58, 69, 72], "2018": [3, 17, 50, 56, 59, 73, 74], "2019": [4, 55, 74], "202": 72, "2020": [10, 55], "2021": [12, 55, 72], "2022": [5, 55], "2024": 55, "2043730": 72, "2064": 72, "21": 55, "210": 72, "2108": 72, "212": 72, "213": 72, "21971": 72, "22": 72, "220": 10, "2208": 72, "22186": 72, "223427": 72, "224": 72, "23": [72, 74], "23172": 72, "2333": 73, "24": [33, 44, 73], "240": 74, "25": [1, 3, 5, 10, 46, 72], "250": 10, "2500": 12, "25082": 72, "2532": 72, "2579118": 72, "261": [55, 72], "264976": 72, "265682": 72, "2659102": 72, "2666": 73, "2674322": 72, "2694": 74, "27": [55, 72, 74], "2701246": 72, "2702072": 72, "2720": 74, "2746777": 72, "2757742": 72, "2763749": 72, "28": [55, 72, 74], "285": 72, "2884": 74, "29": 55, "2929": 74, "2nd": [4, 5, 10], "3": [2, 3, 4, 5, 10, 18, 31, 32, 44, 46, 50, 55, 56, 62, 67, 72, 73, 74, 75], "30": 55, "300": [56, 70, 74], "3000": [10, 59, 73], "300_3": 55, "30th": 4, "31": [5, 55, 72, 73, 74], "311": 72, "31st": [4, 5], "31th": 4, "32": [1, 35, 55, 56, 72], "33": 72, "332": 72, "333": 73, "3333": 73, "33334": 73, "3334": 73, "33651": 72, "337": 72, "338": 72, "3386": 74, "339": 72, "34": [46, 56, 72], "340": 72, "341": 72, "342": 72, "343": 72, "3433186": 72, "344": 72, "3446413": 72, "345": 72, "346": 72, "347": 72, "348": 72, "3488880": 72, "349": 72, "35": [12, 74], "350": 72, "3500": [12, 56, 68], "351": 72, "3518928": 72, "352": 72, "353": 72, "354": 72, "354557": 72, "355": 72, "356": 72, "357": 72, "35756": 72, "359388": 72, "36": [55, 72], "360": 72, "360294": 72, "36199": 72, "365": 55, "37": [69, 70, 72, 74], "3732": 72, "377": 72, "38": [72, 73, 74], "3815": 14, "3865": 74, "388": 4, "39": 74, "3920": 69, "4": [2, 33, 46, 48, 52, 55, 56, 72, 73, 74], "40": [72, 73, 74], "400": [55, 58], "4000": [11, 52, 68, 69], "401": 72, "404": 74, "40660": 72, "408": 74, "40874": 72, "41": [3, 33, 72], "4124": 72, "416": [4, 72], "42": 3, "421208": 72, "421350": 72, "4254": 72, "429057": 72, "43": 74, "432": 74, "4351": 72, "439": 74, "44": [72, 73, 74], "44100": 72, "442069": 72, "449850": 72, "45": [3, 74], "46": 72, "478": 72, "48": 72, "480": 72, "49": 72, "49117": 72, "49999": 12, "5": [4, 12, 33, 46, 50, 55, 70, 72, 74], "50": [3, 10, 12, 72, 74], "500": [1, 3, 6, 12, 74], "50000": 58, "50679": 72, "507": 74, "50839": 72, "509": 72, "5094": 72, "51": [14, 73], "52": [12, 14, 72], "525": 68, "53": 14, "54": 72, "54550": 72, "55": 12, "550": 54, "5520": 72, "5535": 72, "556": 72, "57": [68, 72], "570": 68, "579": 74, "58": [72, 73], "583017": 72, "59": 72, "596129": 72, "6": [38, 46, 72, 74], "60": [4, 10, 53], "600": [10, 53, 54, 69], "60000": 4, "606": 72, "61": 72, "61375": 72, "617": 72, "621": 72, "63": 72, "635": 72, "64": [35, 73, 74], "644779": 72, "65": 72, "66": 72, "666": 73, "6666": [4, 73], "6667": [4, 73], "67": 72, "675518": 72, "68": 74, "681341": 72, "69": 72, "69381": 12, "696812": 72, "6th": 4, "7": [33, 35, 46, 55, 72, 74], "700": 74, "71": 73, "72826": 72, "73": 72, "737": 72, "74": 72, "75": [10, 46, 70, 72, 74], "750": 74, "76": 72, "76860": 72, "77": 72, "777545": 72, "78": [72, 73], "780": 53, "784194": 72, "785874": 72, "790": 53, "795": 53, "8": [46, 53, 56, 70, 72, 74], "80": [10, 46, 53, 69], "800": 53, "80162": 72, "810869": 72, "81401": 72, "820912": 72, "82468": 72, "84": 72, "840": 74, "84675": 72, "857364": 72, "87": 72, "886367": 72, "8889": 4, "89": 72, "891440": 72, "8th": 74, "9": [12, 32, 35, 55, 72, 74], "90": 46, "90002": 74, "900415": 72, "91": 72, "915592": 72, "919247": 72, "92": 55, "921249": 72, "92290": 72, "96": 72, "97": 72, "97584": 72, "98": 72, "983": 72, "99": 72, "A": [2, 3, 5, 10, 11, 23, 31, 35, 37, 39, 40, 41, 42, 43, 46, 47, 48, 50, 54, 55, 56, 57, 60, 61, 64, 65, 72, 74], "And": [3, 10, 72, 74], "As": [2, 3, 4, 5, 26, 27, 69, 73, 74], "At": 35, "Be": [52, 73], "But": [3, 5, 72], "By": [4, 10, 25, 39, 64, 67], "For": [0, 2, 3, 4, 5, 6, 10, 11, 12, 14, 19, 24, 27, 31, 35, 37, 40, 41, 43, 47, 55, 63, 64, 65, 68, 70, 72, 73, 74], "If": [2, 3, 5, 6, 7, 8, 10, 12, 13, 14, 17, 18, 21, 22, 24, 25, 28, 29, 30, 32, 33, 35, 43, 44, 47, 50, 52, 53, 54, 56, 58, 59, 60, 61, 62, 64, 67, 69, 70], "In": [3, 5, 9, 10, 11, 12, 17, 19, 22, 23, 31, 32, 35, 38, 39, 43, 50, 52, 53, 54, 57, 68, 71, 72, 74], "It": [1, 3, 4, 5, 10, 11, 13, 15, 17, 21, 25, 27, 29, 32, 33, 35, 37, 40, 41, 43, 55, 60, 65, 67, 69, 70, 71, 72, 73, 74], "Its": [26, 42, 48, 67], "NOT": 3, "No": [1, 13, 33, 35, 67], "Not": 25, "On": [5, 15, 31], "One": [23, 72], "Or": 47, "Such": [10, 40], "That": [3, 67, 72], "The": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 48, 50, 53, 54, 55, 56, 59, 60, 61, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74], "Then": [2, 4, 10, 12, 14, 15, 25, 31, 35, 72], "There": [3, 14, 34, 59], "These": [0, 4, 9, 14, 23, 24, 26, 29, 30, 31, 32, 40, 68, 69], "To": [1, 4, 5, 10, 11, 12, 13, 14, 17, 18, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 40, 41, 42, 43, 48, 50, 66, 68, 70, 71, 72, 73, 74, 75], "With": [1, 4, 25, 28, 69, 72, 73], "_": [10, 52, 69], "_2005_06": 5, "__array_finalize__": 48, "__call__": [51, 56, 63, 75], "__file__": 11, "__future__": 72, "__init__": [16, 72], "__new__": 48, "__qualname__": 72, "__root__": 61, "_blank": 44, "_coreent": 47, "_descript": 47, "_enum__arg": 48, "_enum__kwarg": 48, "_error": 55, "_get_at_inst": 72, "_l": 63, "_n_co": 63, "_p": 72, "_parameters_at_instant_cach": 72, "_simpl": 63, "_tax_benefit_system": 47, "aaaa": 4, "aah": 72, "aah_bas": 72, "aah_base_ressourc": 72, "aah_base_ressources_activite_eval_trimestriel": 72, "aah_base_ressources_activite_milieu_proteg": 72, "aah_i": 72, "abc": 72, "abid": 44, "abil": 27, "abl": [4, 10, 18, 23, 26, 29, 31, 42, 43, 50, 54], "about": [1, 5, 7, 16, 17, 18, 23, 24, 37, 38, 41, 43, 44, 48, 50, 59, 66, 72], "abov": [33, 34, 52, 72, 73], "absenc": 23, "absolut": [53, 60], "absolute_error_margin": [12, 53, 61], "academ": 2, "accept": [15, 23, 50], "access": [1, 6, 27, 28, 29, 32, 54, 66, 67, 74], "accident": 3, "accommod": 2, "accommodation_s": [2, 68, 74], "accomod": [2, 10], "accomodation_s": 2, "accomplish": 24, "accord": [10, 17, 46, 56, 74], "accordingli": 55, "account": [25, 40, 56, 70], "accross": 2, "accur": 3, "achiev": [32, 33, 35, 71], "across": [5, 14, 17], "action": 40, "activ": [5, 18, 31, 33, 35, 71], "actual": [1, 3, 53, 72], "ad": [0, 1, 2, 5, 11, 17, 21, 23, 25, 49, 60, 72, 74], "adapt": [3, 17, 26, 35], "add": [0, 4, 10, 12, 16, 17, 21, 25, 35, 41, 54, 57, 60, 67, 70, 72, 74], "add_child": [11, 51, 54, 57, 75], "add_vari": [51, 57, 60, 75], "add_variables_from_directori": [51, 60, 75], "add_variables_from_fil": [51, 60, 75], "addit": [23, 25, 51, 73, 75], "address": [31, 40], "adjust": 5, "administr": [25, 28], "adult": [6, 68, 73], "advanc": 26, "advis": [9, 27, 32, 37], "af": 41, "affero": 67, "after": [5, 21, 22, 50, 68, 72], "ag": [3, 12, 37, 39, 56, 69, 73], "again": [72, 73], "against": [34, 67], "age_of_major": 69, "agent": 40, "agff_salari": 72, "aggreg": [23, 53, 62, 70, 71, 74], "agpl": [18, 44, 67], "agpl3": 44, "agreement": 67, "aid": 23, "aim": [0, 25], "aka": 55, "al": 23, "algebra": 3, "algorithm": 72, "alia": [47, 63], "alicia": [59, 69], "all": [1, 3, 4, 5, 6, 7, 11, 12, 14, 16, 17, 19, 20, 22, 23, 24, 27, 32, 35, 41, 42, 43, 44, 50, 51, 53, 54, 56, 57, 58, 60, 61, 67, 68, 69, 73, 74, 75], "alloc": 23, "allow": [4, 5, 6, 9, 13, 16, 17, 18, 35, 37, 38, 41, 54, 64, 70, 71, 73], "almost": 3, "along": [17, 71], "alongsid": 23, "alreadi": [18, 25, 27, 28, 32, 33, 41, 74], "alreai": 59, "als_etudi": 23, "also": [0, 3, 4, 5, 6, 10, 11, 17, 18, 22, 23, 28, 29, 31, 32, 35, 38, 60, 61, 67, 71, 72, 73], "alt": 44, "alter": 5, "altern": [3, 11, 28, 31], "alwai": [4, 5, 9, 19, 37, 53, 60, 64], "ambigu": [3, 23, 25], "ambit": 18, "among": 58, "amount": [5, 6, 10, 37, 41, 43, 55], "amount_by_zon": 10, "amyotroph": 23, "an": [0, 1, 3, 4, 5, 6, 8, 10, 11, 12, 14, 16, 21, 22, 23, 24, 28, 30, 31, 32, 34, 35, 38, 40, 41, 43, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 57, 59, 60, 63, 64, 65, 66, 68, 70, 71, 72, 73, 74, 75], "anaconda": 32, "analys": [3, 66, 71], "analysi": [44, 70, 75], "ani": [3, 4, 6, 12, 16, 17, 18, 24, 25, 26, 29, 31, 33, 37, 41, 42, 44, 46, 47, 48, 50, 51, 52, 53, 56, 59, 63, 67, 70, 72, 74, 75], "annot": 72, "annual": 64, "annualization_period": 64, "anoth": [1, 4, 5, 10, 12, 15, 16, 17, 35, 40, 43, 44, 46, 47, 54, 64, 72, 73], "answer": 25, "anymor": [5, 13], "anyon": 67, "anyth": [4, 9, 27, 34, 54, 64, 67], "anywai": [11, 18], "anywher": 34, "aotearoa": 39, "apart": 68, "apgl": 44, "api": [0, 12, 14, 21, 23, 25, 26, 52, 65, 68, 69, 70, 74, 75], "app": [52, 67], "appdata": 35, "appear": [5, 13, 33, 35, 65, 68], "append": 72, "appli": [2, 3, 5, 10, 11, 12, 21, 23, 24, 25, 32, 39, 40, 46, 50, 52, 53, 54, 57, 60, 70, 72], "applic": [25, 27, 28, 31, 36, 37, 52, 67, 72], "apply_reform": [51, 60, 75], "apply_threshold": [46, 51, 75], "approach": [23, 28, 31, 34, 71, 74], "appropri": [3, 5, 23, 28, 31, 32, 35, 50, 72], "april": 4, "aptitud": 14, "ar": [0, 1, 2, 3, 4, 5, 6, 9, 10, 12, 14, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 40, 42, 43, 44, 46, 47, 48, 49, 53, 56, 59, 60, 64, 65, 67, 68, 69, 71, 72, 73, 74], "arbitrari": [3, 65], "architectur": 75, "archiv": 35, "are_entities_fully_specifi": 59, "are_entities_short_form": 59, "are_entities_specifi": 59, "arg": 63, "arg_nam": 49, "arg_valu": 49, "argument": [3, 4, 49, 51, 55, 72, 75], "ari": [70, 73, 74], "aris": 23, "arisen": 23, "arithmet": [12, 25, 43], "around": [19, 24], "arrai": [3, 12, 41, 46, 48, 50, 51, 56, 63, 73, 74, 75], "arraylik": [51, 63, 75], "articl": 44, "ask": [2, 18, 24, 25, 28, 35, 43, 57, 68], "aspect": 55, "assert": 72, "assertionerror": 61, "assess": 25, "assign": [3, 5, 55], "associ": [2, 12, 59, 74], "assum": [2, 4, 5, 6, 10, 11, 12, 23, 33, 43, 53, 56, 64, 74], "assumpt": 3, "atinstantlik": [51, 54, 72, 75], "atom": [17, 38, 55], "attempt": [52, 53], "attribut": [2, 3, 4, 5, 10, 47, 48, 50, 60, 64], "attribute_nam": 64, "attributeerror": 48, "august": 38, "authent": 52, "author": 17, "autom": [17, 25], "automat": [9, 13, 17, 20, 22, 25, 37, 52, 53, 64, 65, 67], "autr": 39, "avail": [1, 4, 18, 26, 27, 32, 44, 45, 53, 67, 72, 75], "averag": [46, 62, 70], "average_r": [46, 51, 75], "avg": [53, 70], "avoid": [9, 13, 17, 29, 72], "ax": [59, 71], "axi": [59, 71, 73], "ayant": 12, "b": [5, 11, 48, 74], "b4t_direct": 72, "bachelor": 2, "back": [44, 72], "background": 25, "backward": [4, 17, 21], "bad": 17, "bank": 47, "bar": 46, "barem": 72, "bareme_nam": 72, "barrier": 19, "bart": 59, "base": [2, 9, 16, 18, 40, 44, 46, 48, 54, 63, 64, 68, 72, 73, 75], "base_ressource_activite_demandeur": 72, "base_ressource_eval_trim": 72, "baselin": [12, 57], "baseline_vari": [51, 64, 75], "bash": [31, 35], "bashrc": 35, "basi": [4, 74], "basic": [3, 6, 8, 40, 41, 43, 51, 75], "basic_bro": 10, "basic_incom": [6, 10, 43, 69], "basic_test_cas": 74, "becam": 68, "becaus": [1, 4, 9, 22, 73], "becom": [5, 24, 74], "been": [2, 5, 10, 17, 28, 43, 46, 49, 50, 54, 59, 60, 64, 68, 70], "befor": [4, 5, 10, 17, 21, 22, 24, 27, 32, 53, 69, 70, 72, 75], "begin": [10, 17], "behalf": 25, "behav": 3, "behaviour": [3, 4, 9, 17, 75], "being": [13, 14, 16, 18, 23, 25, 26, 36, 67], "belong": [47, 68, 69, 74], "below": [12, 13, 23, 28, 48, 61], "benefit": [0, 1, 3, 4, 5, 6, 10, 11, 12, 16, 19, 23, 24, 25, 26, 36, 37, 39, 40, 41, 49, 53, 60, 61, 69, 71, 74, 75], "best": [25, 28], "better": [12, 23, 24, 35, 72], "between": [4, 12, 34, 50, 58, 70, 73], "beyond": 10, "big": 33, "bill": [17, 68], "bin": 33, "binari": 72, "bind": 52, "birth": [1, 4, 38, 43, 69], "bisect_right": 72, "bit": [1, 35], "block": 9, "bob": 68, "boilerpl": [0, 7], "bool": [1, 2, 47, 55, 56, 59, 60, 61, 63, 64], "bool_": 46, "boolean": [1, 2], "bootstrap": [8, 28], "both": [0, 5, 11, 31, 40, 42, 73, 74], "bottom": 70, "bound": 46, "boundari": [12, 63], "bracket": [5, 10, 11, 54, 73], "branch": [10, 17, 20, 72], "break": [13, 17, 67], "breakpoint": [22, 72], "briefli": 17, "bring": 17, "broader": 0, "broadli": 23, "brows": [23, 67], "browser": [28, 72], "budget": 25, "bug": [17, 21], "build": [10, 11, 18, 25, 31, 47, 55, 59, 67, 74], "build_default_simul": [51, 59, 74, 75], "build_ent": [47, 51, 75], "build_from_dict": [51, 59, 75], "build_from_ent": [51, 59, 70, 73, 74, 75], "build_from_vari": [51, 59, 75], "build_tax_benefit_system": 52, "builder": 74, "built": [1, 10, 25, 59, 65, 70], "builtin": 72, "bulk": [71, 73], "bundl": [44, 67], "busi": 44, "byte": [48, 63], "c": [5, 11, 33, 35, 52, 53, 74], "c3": 72, "cach": [41, 59, 64], "calc": [10, 72], "calcul": [0, 1, 2, 3, 5, 6, 9, 10, 11, 18, 25, 27, 37, 38, 39, 40, 43, 44, 47, 50, 51, 53, 55, 56, 58, 59, 64, 65, 66, 67, 70, 71, 72, 73, 75], "calculate_output": 9, "calcult": 10, "calcul\u00e9": 44, "calendar": 4, "call": [1, 3, 4, 5, 10, 11, 12, 14, 26, 28, 29, 47, 48, 49, 53, 55, 57, 59, 63, 64, 69, 70, 72], "campfir": 24, "can": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 14, 16, 17, 18, 19, 22, 24, 25, 26, 27, 32, 33, 35, 38, 39, 40, 41, 42, 43, 44, 46, 47, 50, 52, 54, 55, 57, 60, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 74], "cannot": [16, 49], "capabl": 0, "care": [2, 52, 73], "case": [3, 5, 10, 11, 17, 18, 19, 22, 23, 25, 29, 30, 31, 32, 34, 50, 53, 54, 70, 71, 72, 73, 75], "cast": [4, 54, 72], "categorie_salari": 72, "categorie_salarie_typ": 72, "caus": [4, 23], "cd": [31, 33], "cell": 10, "cell_siz": 50, "centralis": 24, "certain": [6, 11], "chain": 11, "chang": [2, 3, 4, 5, 10, 11, 17, 21, 24, 25, 27, 31, 37, 38, 40, 52, 54, 67, 73, 75], "changelog": 17, "channel": [17, 75], "charact": [5, 24], "characterist": 43, "chart": 73, "check": [1, 7, 15, 17, 26, 27, 29, 30, 31, 33, 34, 35, 40, 45, 47, 50, 54, 56, 59, 66], "check_exist": [47, 60], "check_node_vectoris": [51, 54, 75], "check_role_valid": [47, 51, 75], "check_unexpected_ent": [51, 59, 75], "check_variable_defined_for_ent": [47, 51, 75], "chevron": 70, "child": [6, 10, 39, 47, 54, 56, 68, 73, 74], "children": [6, 10, 12, 37, 39, 47, 61, 62, 68, 70, 73, 74], "choic": [35, 46, 73], "chomage_impos": 72, "choos": [35, 42, 46, 72], "choosealicens": [44, 67], "chosen": [12, 31, 46], "chronolog": 54, "citi": 0, "citizen": 2, "cl": 63, "clarifi": 75, "clariti": 24, "class": [1, 2, 4, 5, 6, 11, 46, 47, 48, 49, 50, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 70, 72], "class_nam": 49, "class_overrid": 47, "classdict": 63, "classifi": 32, "classmethod": [48, 55], "classvar": 47, "clean": 46, "cleanup": 17, "clear": 17, "click": [15, 35], "clone": [31, 32, 46, 50, 51, 64, 75], "closer": 72, "closest": 9, "cluster": 39, "cmd": 31, "code": [0, 2, 3, 4, 5, 7, 13, 16, 18, 22, 25, 28, 29, 31, 32, 34, 37, 40, 42, 44, 49, 67, 70, 72, 73, 74, 75], "codebas": 17, "codifi": 25, "coeff_furnish": 10, "coeffici": 10, "coher": 72, "collabor": [19, 24, 25], "collect": [23, 33, 47, 51, 61, 75], "collector": 61, "colleg": 6, "college_scholarship": 6, "colour": 35, "column": 74, "com": [5, 14, 31, 32, 44, 60, 67], "combin": [12, 25, 72, 73], "come": [4, 31, 35, 66, 67, 72, 74], "command": [12, 22, 26, 29, 30, 31, 32, 33, 35, 52, 53], "comment": [18, 19], "commit": 17, "common": [1, 11, 19, 28, 44, 51, 75], "commun": [0, 17, 18, 23, 24, 25, 27, 28, 31, 44], "compani": [23, 25, 39, 47], "compar": [40, 72], "comparison": [2, 3, 5, 75], "compat": [0, 17, 21, 67], "complet": [7, 25, 29, 31, 33, 65, 75], "complex": [7, 10, 72, 73], "compli": 25, "compliant": 23, "complic": 26, "compon": 0, "compos": [68, 69], "composit": 10, "comput": [4, 5, 8, 9, 11, 23, 36, 43, 46, 60, 62, 64, 67, 70, 71, 73, 74, 75], "computationlog": [51, 62, 75], "concat": [3, 46, 51, 75], "concaten": 46, "concept": [9, 75], "concern": [1, 2, 23, 44], "concurr": 24, "conda": [32, 35], "condit": [10, 46, 56, 58, 75], "condition_ag": 3, "condition_handicap": 3, "condition_salari": 3, "config": [51, 52, 61, 72, 75], "configur": [27, 51, 74, 75], "configuration_fil": 52, "confirm": 33, "conflict": [29, 54], "confus": [16, 23, 40], "conjoint": [12, 39], "consid": [3, 5, 6, 9, 17, 23, 28, 32, 55, 70], "consist": [9, 38, 46], "consol": [31, 35, 61, 74], "constant": [4, 6, 38], "constitut": 10, "constrain": 1, "constraint": 3, "construct": 0, "consum": 72, "consumpt": 40, "contact": [18, 27, 32, 75], "contain": [2, 3, 4, 6, 10, 11, 16, 35, 42, 43, 47, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 63, 64, 69, 73, 75], "containing_ent": 47, "content": [10, 35, 65, 72, 74], "context": [0, 23, 38, 47, 64], "continu": [28, 72], "contribut": [5, 12, 19, 21, 25, 29, 31, 42, 44, 75], "contributor": [18, 19, 21, 23, 24, 30, 44, 46], "control": [26, 32, 73], "conveni": [4, 10], "convent": [1, 12, 16, 21, 23, 64, 75], "convert": 35, "copi": [9, 11, 22, 33, 35, 50, 73], "core": [14, 17, 32, 33, 35, 39, 42, 44, 67, 75], "coreent": [51, 63, 75], "corepopul": [51, 63, 75], "correct": [21, 35], "correctli": [33, 35], "correspond": [4, 10, 12, 42, 64, 68, 74], "cost": 72, "cotisations_salarial": 72, "cotisations_salariales_contribut": 72, "cotisations_sociales_simulateur_ipp": 12, "could": [1, 3, 9, 34, 35, 47, 54, 65, 67, 72, 74], "couldn": 46, "council": 0, "count": [50, 59, 73], "countri": [8, 10, 12, 14, 16, 17, 23, 24, 27, 31, 32, 33, 34, 35, 39, 40, 42, 43, 44, 52, 53, 60, 65, 66, 68, 69, 72, 74, 75], "country_packag": [52, 53], "country_package_nam": 52, "country_templ": 33, "countrytaxbenefitsystem": [10, 11, 33, 34, 35, 58, 70, 74], "coupl": [10, 65, 72], "cours": 1, "cover": 71, "cprofil": 14, "cpstd": 23, "crash": 9, "crd": 72, "crds_i": 72, "crds_pfam": 72, "creat": [0, 1, 2, 3, 12, 13, 15, 17, 18, 25, 29, 31, 33, 35, 37, 41, 42, 46, 58, 71, 72, 74], "create_app": 52, "create_ent": 74, "creation": [31, 74], "credit": [44, 67], "criteria": 56, "crucial": 21, "cryptographi": 23, "csg_deductible_chomag": 72, "csv": [26, 53, 71, 73], "culprit": 72, "cultur": 0, "curiou": 23, "currenc": [5, 10], "current": [4, 23, 33, 54, 55, 60, 72], "cycleerror": [49, 51, 75], "cyclic": 72, "c\u00e9libatair": 12, "d": [18, 53, 74], "daemon": 31, "dai": [4, 5, 12, 38, 55, 63, 64, 72], "damag": 59, "data": [1, 14, 17, 26, 41, 42, 50, 54, 56, 59, 71, 72, 73, 75], "data_household": 74, "data_person": 74, "databas": 74, "datafram": 74, "dataset": [3, 25, 71], "date": [1, 4, 10, 38, 43, 55, 63, 64, 67, 72], "date_naiss": 12, "datetim": [55, 72], "dateunit": [50, 51, 55, 63, 64, 75], "dawn": 5, "dd": [4, 5, 60, 64, 72], "de": [12, 23, 72], "deal": 25, "debian": 14, "debug": 22, "debugg": [14, 53, 72], "dec": 5, "decemb": [4, 5], "decid": 41, "decis": [17, 24, 75], "declar": [1, 2, 6, 12, 39, 50], "declare_ent": 74, "declare_person_ent": 74, "decod": [48, 51, 75], "decode_to_str": [48, 51, 75], "decor": 72, "decote_seuil_celib": 11, "decote_seuil_coupl": 11, "decreas": 72, "decrement": 55, "dedic": [24, 25, 36], "deduct": 6, "def": [1, 2, 3, 4, 5, 6, 10, 11, 57, 72], "default": [4, 5, 9, 10, 12, 21, 31, 32, 35, 50, 53, 59, 60, 62, 64, 68], "default_arrai": [50, 51, 75], "default_valu": [2, 51, 64, 75], "defin": [0, 1, 5, 6, 9, 11, 16, 19, 38, 39, 41, 43, 47, 48, 49, 53, 55, 59, 60, 64, 65, 68, 71, 72, 74], "definit": [36, 49, 50, 68, 69, 72, 74], "definition_period": [1, 2, 5, 6, 49, 50, 51, 64, 72, 75], "degre": 2, "delet": 17, "delete_arrai": [50, 51, 75], "demandeur": [58, 72], "demo": 67, "demograph": 25, "demonstr": [0, 27, 32, 66, 75], "depcom_entrepris": 12, "depend": [0, 2, 17, 18, 25, 29, 31, 32, 35, 39, 42, 43, 46, 47, 69, 70], "deploi": 67, "deprec": [17, 21, 46], "depth": [53, 62], "describ": [1, 10, 11, 17, 25, 27, 28, 30, 32, 37, 39, 59, 64, 66, 69, 73, 74], "descript": [0, 2, 5, 10, 12, 47, 51, 54, 61, 64, 69, 75], "desir": 31, "desktop": [28, 31], "destin": [35, 44, 72], "detail": [1, 17, 18, 61, 70, 71], "detect": [52, 53], "determin": [21, 35, 40], "dev": 72, "develop": [19, 25, 27, 44, 67, 75], "dict": [46, 48, 54, 55, 59, 60, 65], "dictionari": [12, 55, 59, 60], "did": [17, 46], "didn": 69, "differ": [0, 1, 2, 10, 12, 18, 24, 26, 32, 35, 36, 38, 39, 47, 67, 68, 72, 73], "digit": [42, 44], "dimens": 56, "dir": 60, "dir_path": 11, "direct": [28, 72, 75], "directli": [3, 12, 16, 18, 28, 34, 44, 51, 75], "directori": [10, 11, 16, 31, 33, 35, 53, 54, 60, 61], "directory_path": 54, "dirnam": 11, "disabl": [3, 14, 23], "disambigu": 4, "disappear": [5, 64], "discourag": 23, "discover": [24, 67], "discret": 1, "discuss": [17, 23, 24, 44], "dispatch": [12, 74], "displai": 22, "dispon": 67, "dispos": 40, "disposable_incom": [65, 69], "distinct": 74, "distribut": [14, 32], "divid": [4, 9, 50], "do": [2, 3, 4, 12, 35, 40, 43, 44, 53, 70, 72, 75], "doc": [15, 33, 47, 51, 61, 75], "docker": [28, 32], "doctor": 2, "document": [0, 1, 4, 11, 12, 14, 18, 19, 26, 27, 28, 29, 32, 40, 50, 51, 64, 65, 66, 67, 70, 74, 75], "doe": [2, 3, 5, 25, 27, 53, 59, 60, 61, 64, 72, 73], "doesn": [3, 4, 25, 35, 40, 47, 49, 53, 69], "dog": 59, "domain": [0, 23, 39, 42], "don": [35, 41, 56], "done": [5, 32, 65, 67], "dont": 44, "dot": 54, "doubl": 70, "download": [33, 35], "drop": [14, 22, 25, 53], "dsl": [0, 25], "dtype": [46, 48, 50, 51, 56, 63, 64, 73, 74, 75], "dtypebool": [51, 63, 75], "dtypebyt": [51, 63, 75], "dtyped": [51, 63, 75], "dtypeenum": [51, 63, 75], "dtypefloat": [51, 63, 75], "dtypegener": [51, 63, 75], "dtypeint": [51, 63, 75], "dtypeobject": [51, 63, 75], "dtypestr": [51, 63, 75], "du": 67, "due": [17, 68], "dummi": [46, 51, 75], "dump_stat": 14, "durat": 72, "dure": 21, "dynam": [14, 25], "e": [1, 2, 3, 9, 10, 12, 16, 23, 25, 33, 34, 38, 40, 43, 47, 50, 52, 53, 54, 56, 60, 65, 66, 67, 68, 69, 72, 74], "each": [2, 3, 4, 10, 12, 14, 15, 17, 22, 23, 39, 42, 43, 46, 47, 59, 62, 66, 67, 68, 70, 72, 73, 74], "earn": [2, 4, 5, 69], "eas": 24, "easier": [32, 35, 72, 73], "easiest": 44, "easili": [5, 67], "ebitda": 23, "echo": 35, "ecologi": 42, "econom": 40, "economist": [18, 25], "edg": [10, 75], "edit": [31, 35, 72], "editor": [22, 35], "effect": [10, 11, 25, 53, 60, 72], "effectu\u00e9": 67, "effici": 72, "effort": [23, 75], "effortlessli": 25, "either": [3, 25, 31, 33, 44, 55, 68, 72, 73], "elast": 25, "eldest": 56, "element": [3, 25, 55, 68], "elif": 72, "elig": [12, 25], "eligibility_multipli": 3, "els": [47, 72], "email": 24, "emploi": 24, "employe": 2, "empti": [16, 46, 49], "empty_clon": [46, 51, 75], "emptyargumenterror": [49, 51, 75], "en": [10, 42, 67], "enabl": [0, 14, 18, 72], "encod": [48, 51, 75], "encount": 17, "encourag": [15, 18, 24], "end": [1, 19, 31, 51, 62, 64, 72, 75], "endpoint": [14, 27, 67, 70], "enfant": [12, 39], "enfant1": 12, "enfant2": 12, "engin": [23, 25, 39, 40, 42, 67], "english": [19, 23, 75], "enhanc": 75, "enough": [5, 24, 50], "ensur": [17, 25], "enter": [4, 22], "entir": [53, 62], "entiti": [0, 1, 2, 3, 4, 5, 8, 10, 11, 12, 36, 37, 41, 43, 50, 51, 56, 59, 60, 64, 66, 69, 72, 73, 74, 75], "entitiesdescript": 69, "entitl": [6, 37, 71], "entitykei": [47, 51, 63, 75], "entityplur": [47, 51, 63, 75], "entri": [10, 19, 36, 73], "enum": [1, 51, 63, 64, 75], "enum34": 48, "enum_arrai": 48, "enumarrai": [51, 63, 75], "enumencodingerror": 48, "enumer": [1, 25], "enumtyp": [51, 63, 75], "environ": [14, 28, 29, 30, 31, 32, 35, 52, 53], "equal": [4, 10, 12, 73], "equival": [3, 4, 5], "error": [3, 4, 5, 10, 21, 22, 23, 29, 31, 33, 35, 51, 59, 60, 73, 75], "errormargin": [51, 61, 75], "especi": 0, "essenti": 32, "est": 44, "establish": [28, 32, 41], "estim": [4, 40], "et": 67, "etc": [18, 25, 39, 50, 71, 73, 74], "etern": [1, 4, 38, 55, 64, 69], "eur": [5, 10], "eval_express": [46, 51, 75], "evalu": [4, 5, 34, 40, 46, 69, 72], "even": [3, 35, 43, 72], "everi": [3, 4, 6, 10, 15, 59, 68, 72, 74], "everyon": [14, 24, 60], "everyth": [33, 35], "everytim": 26, "evolut": [8, 10], "evolv": [4, 5, 23], "ex": 31, "exact": 22, "exampl": [0, 4, 5, 6, 7, 8, 10, 14, 17, 18, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 38, 39, 43, 44, 46, 47, 48, 50, 51, 55, 56, 57, 58, 59, 60, 62, 63, 65, 68, 69, 70, 72, 73, 74, 75], "excel": 73, "except": [14, 23, 49, 60], "excess": 23, "exclud": 5, "execut": [3, 4, 14, 22, 25, 43, 53, 61], "exercis": 17, "exist": [2, 5, 10, 12, 16, 23, 25, 26, 29, 31, 42, 47, 56, 60, 73, 75], "expect": [1, 3, 9, 10, 12, 17, 26, 72], "expens": [3, 72], "experiment": 11, "expert": [18, 19, 23], "explain": [1, 15], "explan": [17, 18], "explicit": 59, "explicit_singular_ent": [51, 59, 75], "explicitli": [2, 60, 68], "explor": [14, 18, 60, 61, 65], "export": 35, "expos": [0, 65], "express": [3, 12, 46, 74], "ext": 24, "extend": [0, 44, 71], "extens": [24, 25, 33, 44, 51, 60, 61, 75], "extension_nam": 16, "extern": 23, "extra": [2, 72], "extract": [13, 35, 74], "f": [11, 52, 72], "fact": [5, 72, 73], "factor": 72, "factori": [61, 62], "fail": [22, 48, 53], "failur": [22, 53], "fals": [2, 3, 43, 47, 48, 53, 55, 56, 59, 60, 62, 63], "famil": [12, 39, 58, 72], "famili": [1, 6, 12, 37, 39, 41, 43, 47, 58], "family_allow": 41, "fanci": 54, "fashion": [3, 23], "favorit": 22, "favourit": 72, "feasibl": 17, "featur": [3, 17, 18, 22, 71], "feedback": 24, "feel": [18, 75], "few": [5, 18], "field": [12, 64, 73], "figur": 72, "file": [1, 2, 11, 12, 14, 15, 16, 18, 31, 32, 33, 35, 49, 51, 53, 54, 60, 61, 68, 71, 72, 75], "file_path": [11, 54, 57, 60, 72], "filesystem": 61, "fill": 50, "filter": [51, 75], "final": [12, 28, 72], "financ": [17, 40], "find": [4, 10, 12, 18, 25, 42, 47, 75], "find_rol": [47, 51, 75], "findabl": 23, "fine": [9, 73, 74], "first": [2, 3, 4, 5, 10, 12, 23, 25, 29, 31, 32, 33, 35, 36, 38, 55, 59, 72, 73, 74], "first_dai": 55, "first_month": [4, 55], "first_par": [47, 74], "first_reform": 12, "fiscal": [5, 67], "fiscaladministr": 10, "fit": 10, "fix": [11, 17, 18, 21], "flag": 53, "flat": 5, "flat_tax_on_salari": [1, 5], "flattrac": [51, 62, 75], "flax": 1, "float": [1, 2, 3, 4, 5, 6, 46, 56, 63, 64, 72], "float32": [1, 46, 73, 74], "flow": 17, "focu": [41, 47, 71], "folder": [16, 35], "follow": [1, 2, 3, 4, 5, 6, 8, 10, 11, 12, 13, 16, 17, 18, 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 35, 41, 44, 67, 68, 69, 70, 73, 74], "fonctionnair": 72, "foo": 46, "footer": 44, "forev": 4, "forget": [3, 25, 41], "fork": [18, 44], "form": [23, 35, 59, 71], "formalis": 13, "format": [3, 4, 5, 25, 26, 52, 60, 64, 68, 72, 74], "former": 5, "former_nam": 13, "formula": [2, 6, 8, 9, 10, 11, 16, 18, 21, 22, 23, 25, 37, 40, 51, 56, 59, 63, 64, 69, 70, 72, 75], "formula_2005_06": 5, "formula_2017": 5, "formula_2017_01_01": 5, "formula_yyyi": 64, "formula_yyyy_mm": 64, "formula_yyyy_mm_dd": 64, "found": [5, 10, 11, 14, 18, 23, 32, 47, 49, 60, 67, 72], "four": 12, "fourni": 44, "foyer_fisc": 72, "foyers_fiscaux": [12, 39], "fr": [67, 72], "fraction": 5, "fragil": 9, "fragment": 72, "frame": 41, "framework": 25, "franc": [0, 11, 14, 17, 18, 19, 23, 24, 35, 39, 41, 60, 72], "fran\u00e7ai": 75, "free": [2, 18, 31, 44, 48, 64, 67], "free_lodg": [2, 48], "freelanc": 2, "freeli": 18, "french": [0, 2, 7, 10, 17, 19, 23, 36, 67, 75], "french_citizen": 2, "friendli": [1, 22], "from": [0, 1, 4, 5, 6, 9, 10, 11, 14, 16, 17, 18, 19, 23, 25, 29, 33, 34, 35, 39, 40, 41, 43, 46, 47, 48, 50, 52, 54, 57, 58, 59, 60, 61, 64, 68, 69, 70, 71, 72, 73, 75], "full": [24, 47, 69], "full_kei": 14, "full_trac": 62, "fulli": 59, "fulltrac": [51, 62, 75], "function": [0, 1, 3, 6, 11, 21, 25, 35, 43, 46, 50, 57, 63, 64, 72, 74], "functool": 72, "furnish": 10, "further": [27, 41, 73], "futur": [4, 18, 46], "g": [1, 2, 3, 9, 10, 11, 12, 16, 23, 25, 34, 35, 38, 40, 43, 47, 50, 52, 54, 56, 60, 65, 66, 68, 69, 72], "gain": 32, "gather": [18, 24], "gdpr": 25, "gener": [4, 14, 16, 17, 18, 24, 26, 40, 46, 48, 51, 54, 60, 63, 69, 73, 75], "get": [3, 4, 6, 7, 10, 11, 17, 23, 25, 31, 32, 35, 43, 44, 47, 50, 52, 56, 59, 60, 64, 72, 75], "get_annualized_vari": [51, 64, 75], "get_arrai": [50, 51, 59, 75], "get_at_inst": 72, "get_cached_composed_reform": 14, "get_descend": [51, 54, 75], "get_formula": [51, 64, 75], "get_hold": [51, 59, 75], "get_known_period": [50, 51, 75], "get_memory_usag": [50, 51, 59, 75], "get_neutralized_vari": [51, 64, 75], "get_package_metadata": [51, 60, 75], "get_parameters_at_inst": [51, 60, 72, 75], "get_rank": [51, 56, 75], "get_subperiod": 55, "get_vari": [47, 51, 60, 75], "getting_start": 11, "git": [14, 22, 26, 31, 72], "gitforwindow": 35, "github": [14, 15, 17, 18, 20, 24, 28, 31, 32, 44, 60, 67], "gitpod": 34, "give": [3, 4, 17, 22, 27, 41, 70, 72], "given": [1, 2, 4, 5, 10, 18, 21, 24, 25, 43, 46, 50, 53, 54, 55, 56, 58, 60, 64, 70, 72, 74], "global": [9, 23, 72], "gmt": 69, "gnu": 14, "go": [18, 25, 32, 35, 71, 72], "goal": [0, 19, 28, 42], "goe": 74, "good": [9, 10, 17, 36], "got": 72, "gouv": 24, "gov": 54, "govern": [10, 25], "gpl": 67, "grain": 73, "grandchildren": 10, "grant": [3, 6], "graph": 53, "graphic": 25, "great": 72, "greater": 74, "greet": 72, "grep": [33, 72], "gross": 46, "gross_salari": 53, "group": [1, 12, 23, 24, 41, 43, 47, 58, 59, 68, 69, 73, 74], "group_ent": 47, "groupent": [47, 51, 56, 63, 75], "grouppopul": [51, 56, 63, 75], "grown": 23, "guarante": [47, 67], "gui": 14, "guid": [25, 28, 29, 35], "guidelin": [18, 25, 44], "gunicorn": [51, 75], "gz": 33, "h": [52, 53], "ha": [2, 4, 5, 10, 17, 21, 22, 29, 32, 39, 41, 43, 46, 47, 48, 49, 50, 53, 54, 55, 56, 59, 60, 64, 67, 68, 70, 72], "hackathon": 21, "had": [4, 5, 10], "half": 4, "handi": 72, "handicap": 3, "handl": [3, 5, 38, 41, 55, 59], "happen": [4, 17, 24, 73], "happi": 44, "hard": 37, "has_household_basic_incom": 6, "has_rol": [6, 51, 56, 58, 75], "has_unexpected_ent": [51, 59, 75], "hashabl": 72, "have": [1, 2, 3, 4, 5, 10, 16, 18, 23, 24, 25, 26, 27, 28, 32, 33, 34, 35, 36, 40, 42, 44, 47, 48, 50, 56, 60, 67, 68, 70, 72, 74], "header": 74, "hei": 72, "height": 44, "help": [3, 17, 18, 25, 35, 52, 69, 75], "helper": [50, 54, 55, 59, 64], "here": [4, 8, 9, 12, 14, 18, 21, 22, 23, 29, 30, 32, 35, 38, 44, 45, 68, 69, 72, 74], "hide": 22, "hierarch": 1, "high": 2, "higher": [31, 42], "highest": 2, "hint": [22, 41], "hit": 72, "holder": [51, 59, 63, 75], "home": 2, "homeless": [2, 48], "homeown": 68, "homogen": 10, "hood": [52, 64], "host": [15, 25, 27, 52, 75], "hous": [2, 5, 10, 23, 25, 38, 48, 68], "housea": 59, "houseb": 59, "household": [1, 2, 3, 6, 10, 11, 23, 37, 39, 40, 43, 47, 56, 59, 64, 68, 69, 70, 73], "household_1": [68, 70, 73, 74], "household_2": [68, 70, 73, 74], "household_id": 74, "household_inst": 74, "households_id": 74, "housing_allow": [4, 5, 10, 70, 74], "housing_benefit": [10, 54], "housing_occupancy_statu": [2, 68], "housing_tax": [2, 68], "housing_tax_nb_par": 23, "housingoccupancystatu": 2, "how": [1, 3, 4, 14, 17, 25, 29, 33, 40, 65, 66, 67, 69, 70, 71, 72, 73, 75], "howev": [1, 3, 4, 5, 6, 10, 23, 65, 68], "href": [44, 67], "html": [10, 44, 53, 72], "http": [0, 5, 10, 14, 29, 31, 32, 35, 42, 44, 54, 60, 67, 72], "human": [1, 75], "hundr": 3, "hypothesi": [5, 72], "i": [1, 2, 3, 4, 6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 46, 47, 48, 49, 50, 53, 54, 55, 56, 58, 59, 60, 61, 62, 64, 65, 68, 69, 70, 72, 73, 74, 75], "id": [12, 31, 52, 74], "idea": [18, 23], "ident": [64, 68, 72, 74], "identifi": [18, 24, 32, 39, 47, 74, 75], "idsit": 52, "ignor": [53, 74], "ignore_vari": 53, "illustr": [5, 36], "imag": [31, 32], "imagin": [6, 10], "imaginari": 1, "img": 44, "imp": 72, "impact": [4, 11, 25, 34, 40, 72], "imper": 17, "implement": [3, 5, 10, 25, 37, 38, 54, 55, 57, 72, 73, 75], "implic": [18, 44], "implicitli": 4, "import": [2, 10, 11, 14, 16, 22, 23, 28, 31, 33, 34, 35, 43, 46, 47, 48, 50, 52, 57, 58, 70, 72, 74], "impot_revenu_restant_a_pay": 41, "impots_direct": 72, "improv": [15, 18, 23, 25, 48, 65, 72], "imp\u00f4t": 72, "inaccuraci": 18, "inact": 5, "includ": [0, 4, 5, 10, 12, 17, 18, 25, 28, 32, 47, 50, 65, 66, 67], "inclus": [4, 5], "incom": [1, 4, 5, 6, 10, 11, 12, 25, 37, 38, 40, 41, 43, 46, 54, 68], "income_tax": [4, 11, 54, 68, 69, 74], "income_tax_nb_par": 23, "income_tax_r": [65, 69], "income_tax_reform": 11, "incompat": [4, 17, 21], "incomplet": 18, "increas": [11, 24, 40, 44, 53], "increase_cotis": 53, "increase_minimum_wag": 11, "increment": [17, 21, 55, 73], "inde": 72, "indemnite_resid": 72, "indemnit\u00e9": 72, "indent": [47, 50, 70], "independ": [0, 13, 39, 41, 73], "index": [48, 51, 54, 60, 63, 72, 73, 75], "indexed_enum": 48, "indic": [29, 35, 68, 70, 72, 73], "individu": [1, 5, 6, 12, 23, 47, 68, 72, 74], "indivis": 55, "industri": 17, "infer": [8, 59], "inform": [4, 13, 18, 25, 27, 29, 32, 41, 43, 66, 67, 70, 74], "infrastructur": 42, "ingest": 25, "ini": 14, "initi": 2, "initialis": [58, 65, 74], "inner": [53, 73], "input": [1, 8, 9, 10, 41, 46, 48, 49, 50, 53, 59, 60, 61, 64, 65, 66, 68, 69, 70, 71, 73, 74, 75], "input_arrai": [48, 63], "input_dict": 59, "inquiri": 24, "insert": 68, "insid": [10, 16, 39], "insight": 44, "inspect": [14, 18, 70], "instal": [14, 17, 22, 26, 27, 28, 33, 34, 44, 52, 53, 60, 67, 72, 74], "installed_packag": 60, "instanc": [1, 2, 3, 4, 5, 6, 10, 11, 12, 16, 19, 25, 27, 35, 37, 40, 42, 43, 46, 47, 54, 55, 64, 72, 73, 74, 75], "instant": [4, 36, 51, 54, 55, 60, 63, 64, 72, 75], "instant_": [55, 72], "instant_1": 72, "instant_2": 72, "instant_3": 72, "instant_d": [51, 55, 75], "instant_pattern": 72, "instant_str": [49, 54, 72], "instanterror": 55, "instanti": [42, 54, 74], "instantstr": [51, 63, 75], "instead": [3, 5, 10, 12, 22, 26, 32, 53, 71, 72, 73], "instig": 33, "instruct": [7, 26, 29, 30, 31, 32, 33, 67], "int": [1, 47, 48, 50, 55, 56, 60, 61, 63, 64, 72], "int16": 48, "int32": [46, 50, 73], "int64": 74, "integ": [1, 48, 55, 72], "integr": [18, 20], "intend": [23, 28, 29], "intent": [17, 29, 31], "interact": [0, 27, 65, 73], "interest": [0, 1, 4, 5, 42], "interfac": [25, 27, 67, 69, 70], "interfer": 54, "intermedi": [10, 23, 70], "intern": 4, "interpret": 25, "interv": [10, 55], "introduc": [5, 8, 21, 40, 64], "invalid": 55, "inversion_revenu": 60, "invit": 67, "involv": 28, "io": 35, "ipdb": 14, "ipython": 72, "ir_prets_participatifs_2016": 72, "irpp": 12, "irpp_prets_participatif": 72, "irrelev": 72, "is_adult": 6, "is_child": [6, 56], "is_coupl": 10, "is_input_vari": [51, 64, 75], "is_neutr": [51, 64, 75], "is_person": [47, 51, 75], "is_stud": 6, "is_unemploi": 4, "isf_ifi": 72, "isf_ifi_apres_plaf": 72, "isf_ifi_i": 72, "isinst": [46, 72], "isn": [26, 32, 74], "isod": 33, "isol": [17, 23, 31], "issu": [10, 18, 19, 24, 35, 44], "item": [2, 46, 48, 61, 74], "iter": [47, 55, 59, 74], "iter_cotis": 72, "its": [2, 3, 4, 5, 6, 9, 17, 22, 23, 25, 26, 27, 29, 31, 38, 43, 44, 47, 49, 50, 53, 56, 60, 64, 67, 69, 70, 71, 74, 75], "itself": [33, 48], "jan": [5, 69], "janet": 68, "januari": [4, 5, 64], "javier": [59, 70, 73, 74], "join": [11, 14, 24, 25, 74], "join_with_person": 74, "jointli": 47, "journei": 72, "json": [0, 18, 25, 26, 64, 65, 68, 69, 74], "json_typ": [51, 64, 75], "judgement": 25, "juli": [4, 38], "jump": 15, "june": [4, 5, 38, 68], "jupyt": 8, "jupyterlab": 34, "jurisdict": [0, 14, 28, 39, 42, 67], "just": [1, 15, 22, 26, 28, 50, 72], "keep": [16, 18, 35, 40, 50], "kei": [2, 18, 47, 50, 51, 55, 61, 75], "kept": [36, 67, 74], "kernprof": 72, "key_period_s": [51, 55, 75], "keyword": [10, 12, 53, 61], "kind": [12, 74], "know": [6, 17, 18, 35, 41, 72], "known": [23, 40, 50, 65, 74], "kwarg": [58, 61, 63], "kwd": 63, "l": 72, "label": [1, 2, 4, 5, 6, 11, 47, 51, 64, 72, 75], "labour": 23, "lack": 23, "languag": [0, 23, 25, 32, 35], "larg": [9, 24, 25, 26, 28, 48, 62, 70, 71, 72], "larger": 50, "largest": 38, "last": [3, 4, 5, 12, 35, 36, 47, 48, 55, 59, 72], "last_3_month": [4, 55], "last_month": [4, 55], "last_year": [4, 55], "later": [5, 23, 25, 35], "latest": [27, 29, 32, 67], "launch": 22, "law": [0, 1, 10, 11, 25, 27, 37, 75], "lawmak": 25, "lawyer": 25, "layer": 44, "le": [44, 67], "lead": [17, 23, 72, 73], "learn": [1, 24, 25, 66], "least": [12, 17, 55], "left": [3, 10, 70], "legal": [0, 2, 25, 44], "legisl": [2, 7, 8, 10, 11, 14, 26, 36, 37, 39, 40, 42, 43, 54, 55, 57, 60, 64, 65, 67, 72, 74, 75], "leila": [70, 73, 74], "len": [48, 55, 72, 73, 74], "length": [3, 4, 12, 50, 55, 64, 74], "less": [3, 9], "let": [1, 2, 3, 4, 5, 6, 8, 10, 11, 38, 43, 53, 67, 69, 72], "letter": [10, 23], "level": [2, 42, 67, 74], "leverag": 74, "li": 72, "libr": 67, "librari": [25, 31, 74], "licenc": [25, 67, 75], "licens": [18, 44, 67], "life": 72, "like": [5, 17, 18, 23, 32, 35, 38, 39, 47, 55, 63, 72, 74], "likewis": 70, "limit": [2, 17, 24, 28, 64], "line": [12, 13, 14, 22, 25, 35, 52, 53, 67, 69, 71, 72, 74], "line_profil": 72, "linear": 72, "link": [15, 17, 42, 44, 67, 74, 75], "linux": [14, 31, 35], "list": [1, 12, 18, 25, 26, 29, 31, 32, 33, 37, 46, 47, 48, 50, 52, 54, 55, 59, 60, 61, 69, 72, 74], "littl": 48, "live": [2, 10, 25, 43, 68], "ll": [15, 22, 25, 72], "load": [11, 16, 17, 52, 53, 54, 60, 74], "load_extens": [16, 51, 60, 75], "load_paramet": [51, 60, 75], "load_parameter_fil": [11, 51, 54, 57, 75], "loan": 47, "local": [10, 16, 23, 28, 31, 32, 34, 35, 39, 40, 67], "locat": [10, 16, 60], "lockstep": 73, "lodger": [2, 48], "log": [9, 22, 62, 72], "logder": 2, "logement": 23, "logic": [3, 59], "logo": 44, "lone": 12, "long": [4, 23, 24, 44, 74], "longer": [23, 45, 73], "look": [14, 25, 27, 28, 35, 38, 72, 74], "lookup": 72, "loop": [3, 72], "lose": 40, "lost": 75, "lot": [34, 72], "love": 18, "low": 72, "lower": [3, 46, 53], "lowercas": 10, "lowest": 10, "lru_cach": 72, "ly": 25, "m": [33, 72], "mac": 31, "machin": [25, 28, 31, 34, 35], "maco": 35, "made": [5, 19, 23, 27, 31, 44, 67], "magic": [53, 75], "magnitud": 18, "mai": [1, 4, 6, 10, 11, 18, 23, 31, 35, 40, 50, 53, 74], "mail": 24, "main": [2, 4, 6, 14, 16, 17, 19, 24, 40, 64], "main_declar": 6, "maintain": [0, 18, 23, 24, 27, 32, 42], "mainten": 44, "major": 17, "make": [0, 1, 3, 9, 17, 18, 21, 22, 24, 25, 26, 31, 35, 44, 46, 57, 65, 67, 73], "make_simul": [51, 58, 75], "manag": [9, 14, 26, 32, 42, 74], "mandatori": [2, 12, 17], "mani": [3, 5, 10, 12, 14, 39, 41], "manner": 21, "manual": [16, 22], "map": [46, 48], "march": [4, 68], "margin": [5, 10, 37, 46, 51, 54, 75], "marginal_amount": 10, "marginal_r": [10, 46, 51, 75], "marginalratetaxscal": 72, "markdown": 15, "master": [2, 17, 20], "match": [9, 10, 46, 49, 50, 64, 72], "matrix": 36, "matter": 3, "max": [3, 6, 47, 51, 53, 56, 59, 64, 70, 73, 75], "max_": [3, 6], "max_depth": [53, 62], "max_length": [51, 64, 75], "max_nb_cycl": 9, "max_spiral_loop": 61, "max_valu": 58, "maxim": 53, "maximis": 19, "maximum": [37, 56, 62, 70], "maxsiz": 72, "md": 17, "mean": [3, 4, 12, 17, 23, 41, 43, 44, 67, 72, 73], "mechan": [5, 16, 23, 40], "medium": 47, "meet": 18, "member": [6, 12, 47, 48, 56, 72, 74], "memori": [1, 50, 59], "memoryusag": 50, "menag": [12, 39, 72], "mention": 17, "menu": 35, "merg": [20, 21, 51, 54, 75], "messag": [17, 33, 35, 49, 52], "met": 3, "metadata": [5, 10, 54, 60, 64], "meter": 2, "method": [4, 6, 11, 16, 28, 48, 49, 50, 57, 59, 64, 70], "method_nam": 49, "micro": 25, "microsimul": 40, "microsoft": 32, "mid": 4, "might": [18, 23, 25, 27, 32, 67, 68, 69], "migrat": [23, 27], "million": [3, 71], "mimick": 46, "min": [3, 6, 51, 53, 56, 59, 70, 73, 75], "min_": [3, 5], "mind": 28, "miniconda": [32, 35], "miniconda2": 35, "miniconda_path": 35, "minim": [17, 18, 29, 31, 32, 64, 65, 74], "minimum": [11, 37, 56, 62, 65, 70], "minimum_ag": 10, "miss": 18, "mistak": 3, "mkdir": 33, "mkstemp": 14, "mm": [4, 5, 60, 64, 72], "mode": [62, 72], "model": [0, 3, 12, 14, 16, 17, 23, 24, 26, 27, 29, 35, 37, 39, 42, 43, 65, 69, 71, 74, 75], "modern": 35, "modif": [11, 35, 40, 57], "modifi": [4, 11, 16, 17, 18, 24, 26, 31, 40, 44, 50, 54, 57, 72], "modifier_funct": [11, 57], "modify_my_paramet": 57, "modify_paramet": [11, 51, 57, 75], "modul": [11, 12, 24, 51, 53, 63, 67], "month": [1, 2, 3, 4, 5, 6, 9, 38, 43, 55, 64, 68, 72], "monthli": [1, 2, 4, 5, 68, 74], "monthly_tax": 4, "more": [1, 3, 4, 5, 7, 10, 16, 17, 18, 22, 23, 27, 29, 35, 37, 38, 41, 42, 44, 48, 50, 61, 62, 64, 65, 66, 70, 72, 73], "most": [0, 3, 5, 23, 28, 32, 38, 47, 48, 55, 59, 65, 72], "moteur": 67, "much": [4, 9, 18, 23, 35], "multilin": [12, 64], "multipl": [18, 32, 67, 74], "multipli": [3, 73], "multivari": 73, "must": [3, 5, 10, 11, 13, 17, 54, 56, 57, 60, 68, 73], "mutat": 60, "my": [31, 35], "myreform": 57, "myvari": 50, "n": [3, 4, 35, 53, 72], "n_2": [4, 55, 72], "naiv": 72, "name": [2, 4, 5, 11, 12, 14, 15, 16, 17, 22, 31, 35, 48, 49, 54, 57, 59, 60, 61, 62, 63, 64, 69, 72, 73, 74, 75], "name_filt": [53, 61, 72], "namespac": 23, "nan": [46, 50], "nancreationerror": [49, 51, 75], "nativ": [2, 3, 19, 23], "navig": [1, 24], "nb": 23, "nb_adult": 6, "nb_arrai": 50, "nb_cells_by_arrai": 50, "nb_children": [6, 10], "nb_group": 58, "nb_par": 23, "nb_parent": 23, "nb_parents_housing_tax": 23, "nb_person": [6, 51, 56, 58, 75], "ndarrai": [46, 48, 50, 56, 63, 74], "necessari": [2, 11, 18], "necessarili": [23, 28], "nedd": 52, "need": [3, 4, 7, 9, 12, 18, 22, 23, 26, 33, 68, 69, 71, 72, 74, 75], "neg": 41, "nest": [12, 73], "net": [4, 46], "net_salari": 53, "network": 44, "neutral": [0, 60, 64], "neutralis": 16, "neutralize_vari": [51, 60, 75], "never": [4, 9, 64], "new": [0, 1, 8, 12, 13, 16, 17, 18, 21, 23, 24, 25, 28, 29, 31, 32, 33, 40, 50, 54, 55, 57, 60, 64], "new_nam": 13, "new_paramet": 57, "new_tax": [11, 16], "newsroom": 24, "newtyp": 47, "next": [1, 69, 70, 72], "nice": 72, "node": [54, 61], "nologcaptur": 22, "non": [17, 47], "none": [5, 10, 11, 46, 47, 48, 49, 50, 54, 55, 56, 58, 59, 60, 61, 62, 63, 64, 65, 72], "noopen": 44, "nor": [9, 16], "normal": 48, "nose": 22, "nosetest": 22, "not_": 3, "notat": [1, 6, 10], "note": [1, 5, 6, 11, 17, 24, 31, 32, 35, 40, 42, 43, 53, 65, 68, 69, 72, 73, 74], "notebook": [8, 11, 73], "noth": [46, 64], "notic": 3, "notifi": [13, 44], "notimplementederror": 47, "now": [2, 3, 4, 8, 33, 35, 53, 72, 74], "null": [5, 65, 68, 69], "number": [3, 6, 12, 21, 23, 25, 26, 35, 37, 47, 55, 56, 61, 72, 73, 74], "numer": 2, "numpi": [1, 3, 46, 48, 50, 56, 63, 64, 71, 73, 74], "o": [11, 31, 53, 72], "obj": 55, "object": [4, 11, 14, 25, 46, 47, 48, 55, 57, 59, 61, 63, 70, 72, 73, 74], "object_": 48, "observ": 73, "obtain": 5, "obviou": 25, "occup": 2, "occupancystatu": 48, "occur": [14, 22], "oecd": 25, "offer": [3, 8, 10, 25, 34], "offici": [18, 20, 22, 24, 32, 35], "offlin": [28, 35], "offset": [4, 55], "often": [3, 23, 24, 25, 27, 67], "ok": 23, "old": [17, 35], "older": [17, 32], "oldest": 64, "omit": 4, "onc": [41, 42, 68, 72, 73], "one": [0, 2, 3, 4, 5, 9, 10, 11, 12, 13, 19, 23, 25, 30, 32, 33, 35, 38, 39, 40, 46, 49, 59, 60, 67, 68, 71, 72, 73, 74], "one_month_salari": 4, "ones": [1, 16, 23, 40], "onli": [1, 2, 3, 5, 10, 12, 16, 17, 39, 40, 43, 44, 50, 53, 56, 58, 62, 64, 67, 69, 72], "onlin": [23, 27, 28, 34], "only_vari": 53, "open": [25, 31, 35, 42, 44, 67], "open_api_config": 65, "openapi": 66, "openfica_fr": 11, "openfisca": [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 22, 24, 26, 27, 28, 30, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 60, 61, 64, 65, 66, 68, 69, 71, 72, 73, 74, 75], "openfisca_cor": [4, 11, 22, 46, 47, 48, 49, 50, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 70, 72, 74], "openfisca_country_templ": [10, 31, 33, 34, 70, 74], "openfisca_fr": [16, 22, 35, 52, 53, 58, 60, 72], "openfisca_pari": [52, 53], "openfisca_web_api": [14, 52], "oper": [25, 28, 31, 32, 43, 54, 72], "opportun": [24, 34, 44], "opportunist": 23, "opposit": 4, "option": [0, 4, 10, 12, 16, 22, 28, 35, 46, 51, 53, 56, 61, 70, 71, 72, 75], "order": [10, 22, 40, 54, 55, 56, 68, 72, 74], "org": [10, 24, 26, 29, 31, 35, 42, 44, 67, 72], "organ": [10, 23], "organis": 24, "origin": [9, 11, 40, 46, 50, 67, 73], "other": [3, 12, 13, 17, 23, 25, 26, 27, 29, 31, 32, 33, 35, 39, 43, 47, 53, 54, 55, 64, 72, 74, 75], "other_formula": 16, "otherwis": [3, 23, 28, 33, 46, 55], "our": [1, 5, 7, 10, 11, 18, 25, 44, 53, 72], "out": [1, 3, 25, 31, 45, 46, 66, 69, 72], "outer": 73, "outlin": 72, "output": [1, 2, 4, 5, 10, 12, 25, 26, 41, 53, 61, 66, 70], "outweight": 11, "ouvert": 67, "over": [0, 3, 4, 5, 9, 12, 23, 37, 38, 44, 54, 73, 74], "overal": 72, "overlap": 38, "overrid": 12, "overridden": 60, "overview": 8, "overwritten": 14, "own": [2, 7, 9, 12, 17, 26, 27, 28, 42, 67, 75], "owner": [2, 39, 48, 68], "ownership": 39, "p": [10, 52, 53, 55], "packag": [8, 10, 16, 17, 20, 22, 23, 26, 27, 30, 31, 32, 33, 34, 35, 40, 42, 44, 52, 53, 60, 65, 66, 67, 68, 69, 71, 72, 75], "page": [3, 10, 15, 17, 18, 32, 44, 45, 67, 72], "pai": [2, 41, 43], "paid": [1, 2, 4, 5, 6, 23], "paje": 72, "paje_cmg": 72, "panda": 74, "par": [44, 67], "param": [51, 59, 63, 72, 75], "paramet": [0, 3, 4, 8, 9, 16, 18, 21, 23, 25, 34, 36, 38, 42, 46, 47, 48, 49, 50, 51, 52, 55, 57, 59, 60, 61, 62, 64, 65, 66, 69, 70, 72, 75], "parameter_exampl": 65, "parameter_node_at_inst": 62, "parameteratinst": [51, 54, 72, 75], "parameternod": [11, 51, 54, 57, 75], "parameternodeatinst": [51, 54, 60, 63, 72, 75], "parameternotfounderror": [5, 49, 51, 75], "parameterparsingerror": [49, 51, 75], "parameters_at_inst": 72, "parameterscal": [51, 54, 75], "parameterscalebracket": [51, 54, 75], "paramswithoutax": 59, "parent": [12, 39, 47, 51, 56, 59, 61, 62, 63, 68, 69, 70, 73, 74, 75], "parent1": 12, "parent2": 12, "pari": [0, 14, 24, 43], "paris_housing_benefit": 53, "pars": [49, 75], "parse_formula_nam": [51, 64, 75], "parse_frag": 72, "part": [1, 11, 18, 23, 24, 61], "partial": [42, 53], "particip": [15, 18], "particular": [17, 23], "particularli": 73, "partner": [6, 39, 47], "pass": [17, 53, 61, 72], "past": [4, 9, 22, 25, 35], "paster": 14, "patch": 18, "path": [11, 12, 31, 35, 49, 51, 53, 60, 61, 72, 75], "path_to_yaml_dir": 60, "path_to_yaml_fil": 57, "pathlib": 61, "pattern": 10, "paul": [70, 73, 74], "payload": 12, "pdb": [22, 53, 72], "pdf": 22, "peopl": [6, 44, 74], "pep484": 72, "pep563": 72, "per": [3, 6, 10, 13, 27, 37, 39, 72], "per_child": 10, "per_children": 10, "perceiv": 4, "percentag": 10, "perfect": 72, "perform": [11, 14, 43, 48, 53, 71], "performance_graph": [53, 72], "performancelog": [51, 62, 75], "period": [1, 2, 3, 5, 6, 8, 9, 11, 36, 37, 41, 43, 49, 50, 51, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 68, 69, 70, 72, 73, 74, 75], "period_": 55, "periodmismatcherror": [49, 51, 75], "periodstr": [51, 63, 75], "person": [1, 2, 3, 4, 5, 10, 12, 25, 36, 37, 41, 43, 47, 56, 58, 59, 60, 63, 64, 68, 70, 71, 73], "person_ag": 74, "person_id": 74, "person_role_in_household": 74, "person_salari": 74, "personne_de_refer": [12, 39], "personnes_a_charg": [12, 39], "persons_household": 74, "persons_households_rol": 74, "persons_id": 74, "pick": 35, "pictur": 33, "pid": 14, "piec": [1, 18], "pip": [14, 17, 26, 29, 31, 32, 33, 35, 60, 72, 74], "pivot": 74, "place": [9, 44, 67], "plafond_securite_social": 72, "platform": [31, 44], "pleas": [8, 14, 17, 18, 25, 29, 35, 44, 67, 70, 72], "plf": 17, "plf2015": 52, "plf2016": 11, "plot": 25, "plu": 73, "plugin": 22, "plural": [47, 51, 59, 75], "pluralis": 47, "podman": 31, "point": [5, 10, 18, 35, 60], "polici": [25, 40, 71], "poorest": 25, "popul": [9, 25, 48, 50, 51, 59, 62, 63, 70, 71, 73, 74, 75], "port": 52, "portion": 14, "posit": [41, 42, 51, 73, 75], "possibl": [0, 1, 2, 4, 5, 9, 10, 11, 18, 23, 27, 31, 33, 41, 46, 64, 70, 71, 72, 73, 74], "possible_valu": [2, 48, 51, 63, 64, 75], "postpon": 72, "power": 44, "pprint": 50, "pr": [14, 17], "practic": [3, 8, 9, 10, 11, 17, 25], "pre": 32, "preced": 4, "precis": [4, 5, 13, 68], "predict": 9, "prefer": [17, 23], "prefix": 24, "preprocess": 59, "present": [4, 17, 23, 36, 73], "prevent": 14, "previou": [1, 4, 5, 9, 10, 70], "previous": [6, 41, 59, 60], "primes_fonction_publiqu": 12, "princip": [39, 47, 63], "principl": 8, "print": [3, 4, 33, 34, 35, 62, 70, 74], "print_computation_log": 70, "print_log": [51, 62, 75], "privileg": 35, "probabilist": 25, "problem": [18, 35], "proce": 72, "proceed": 32, "process": [25, 28, 31, 33, 35, 64, 71], "produc": 25, "product": [9, 67], "program": [25, 32, 35, 44], "programm": 3, "progress": [5, 23], "progressive_income_tax": 5, "project": [17, 25, 29, 32, 44, 75], "promis": [44, 72], "properti": [4, 6, 37, 39, 43, 47, 50, 55], "proportionn": 2, "propos": [17, 18, 72], "protect": 17, "protocol": 54, "prototyp": [67, 73], "provid": [0, 2, 3, 4, 7, 12, 17, 18, 24, 25, 26, 27, 43, 44, 46, 49, 52, 53, 56, 58, 65, 67, 68, 69, 71, 73], "provis": 18, "public": [10, 25, 44], "public_sector": 10, "publicli": 25, "publish": [18, 20, 25, 29, 31, 32, 42, 44], "pull": [15, 18, 19, 20, 24], "purchas": 25, "purpos": [23, 40, 67, 71], "push": 22, "pwd": 31, "py": [14, 16, 17, 22, 32, 35, 52, 56, 72], "pypi": [20, 29, 31, 32], "pyproject": [17, 32], "pytest": 61, "pytest_addopt": 72, "python": [0, 1, 2, 3, 5, 12, 16, 17, 25, 26, 29, 30, 31, 33, 52, 53, 59, 64, 65, 70, 72, 74, 75], "python3": 33, "qualifi": 12, "qualnam": 63, "quantit": [11, 40], "quantiti": [4, 6, 38], "queri": [0, 49], "question": [17, 72], "quick": 24, "quickli": [7, 8, 18, 23], "quit": [26, 72], "r": [33, 52, 53, 72], "rais": [3, 4, 5, 10, 47, 48, 49, 55, 59, 60, 61, 73], "raise_error": 72, "random": 58, "randomli": 58, "randomly_init_vari": [51, 58, 75], "rang": [71, 72, 73], "rank": 56, "rate": [1, 4, 5, 10, 16, 46, 54], "rate_unit": [5, 10], "rather": [3, 9, 22, 23, 28, 34, 37], "rbg": 72, "re": [5, 25, 72], "reach": [5, 25], "read": [3, 5, 8, 10, 16, 23, 25, 27, 37, 38, 41, 44, 48, 50, 70], "read_csv": 74, "readabl": 3, "reader": 15, "readi": 29, "readm": [15, 26, 30], "real": 31, "reason": [5, 52, 72], "rebate_threshold": 3, "receiv": [3, 41], "recent": [5, 32, 47, 48, 55, 59], "recip": 35, "recipi": 6, "recognis": 23, "recommend": [1, 10, 12, 27, 29], "recur": 10, "recurs": [54, 60, 61, 72], "redefin": [0, 11], "redesign": 40, "reduc": [1, 72], "refactor": 72, "refer": [1, 3, 4, 5, 10, 11, 18, 23, 26, 39, 40, 51, 53, 54, 64, 72, 75], "referenc": 4, "reflect": [31, 73], "reform": [3, 8, 16, 17, 21, 25, 34, 36, 44, 51, 60, 61, 64, 71, 72, 75], "reform_kei": 14, "reform_nam": 57, "reform_parameters_subtre": 11, "reform_path": 60, "reform_period": 11, "reformed_tax_benefit_system": 11, "regard": 67, "region": 37, "regist": 26, "registr": 39, "regress": 17, "regul": [23, 25], "regular": 53, "regularli": 5, "reiter": 25, "rel": [4, 17, 44, 53, 60, 70], "relat": [12, 23, 39, 47, 71, 73], "relationship": 73, "relative_error_margin": [12, 53, 61], "relev": [1, 3, 12, 15, 23, 26, 30, 32, 65], "reli": [9, 32], "reload": [14, 52], "rememb": 67, "remov": [46, 50, 54], "renam": [17, 21, 23], "rent": [2, 5, 10, 59, 70, 74], "repeat": 72, "repl": 34, "replac": [3, 5, 10, 46, 54, 57, 60, 64, 68], "replace_vari": [51, 60, 75], "replic": 71, "report": 75, "repositori": [15, 17, 18, 24, 26, 28, 31, 32, 35], "repository_url": 60, "repr": [47, 48, 55], "repres": [1, 4, 23, 25, 42, 47, 55, 59, 60, 63, 65, 73], "represent": [46, 55], "reproduc": [17, 18, 31], "request": [9, 10, 15, 18, 19, 20, 24, 26, 27, 43, 54, 60, 69, 73], "requestedcalcul": 69, "requir": [4, 17, 21, 26, 27, 28, 29, 30, 31, 34, 35, 36, 42, 44, 72, 74], "research": [23, 71], "reshap": 73, "resid": 2, "resort": 3, "respect": [5, 10, 12, 13, 16, 18, 23, 56, 60, 68, 73], "respons": [31, 68, 69], "ressourc": 72, "ressources_a_inclur": 72, "rest": 3, "restrict": 35, "result": [1, 2, 4, 6, 14, 17, 18, 23, 25, 26, 31, 32, 34, 35, 40, 41, 46, 53, 56, 64, 70, 71, 72, 73, 75], "retir": 2, "retriev": [37, 55], "retro": 40, "retroact": 25, "return": [1, 2, 4, 5, 6, 9, 10, 11, 23, 32, 43, 46, 47, 48, 50, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 68, 69, 70, 72], "reus": 23, "rev_cat_tspr": 72, "revenu": 12, "revenu_assimile_salair": 72, "revenu_assimile_salaire_apres_abatt": 72, "revenu_categoriel": 72, "revenu_categoriel_tspr": 72, "revenu_dispon": [58, 72], "revers": [10, 54, 56], "revis": [29, 32, 35], "rewrit": 26, "rewritten": 1, "rfr": 72, "ricarda": 68, "right": [10, 28, 31, 35, 37, 53, 70], "rm": 31, "rng": 72, "rni": 72, "role": [36, 47, 51, 56, 59, 61, 63, 68, 74, 75], "rolekei": [47, 51, 63, 75], "roleparam": 47, "roleplur": [47, 51, 63, 75], "roll": [4, 75], "root": [32, 52], "rough": 23, "round": 3, "round_": 3, "round_base_decim": 72, "rout": [17, 65, 66], "rsa": 23, "rtype": [56, 72], "rule": [0, 5, 6, 17, 23, 25, 31, 39, 43, 68, 75], "run": [1, 4, 5, 7, 26, 28, 29, 31, 32, 33, 34, 40, 41, 47, 48, 50, 52, 53, 61, 66, 68, 69, 70, 72, 75], "run_test": [51, 61, 75], "runsnakerun": 14, "r\u00e9sidenc": 72, "safeguard": 3, "sai": [3, 33, 69], "salaire_brut": 12, "salaire_de_bas": 12, "salaire_impos": [12, 72], "salaire_net": 58, "salaire_super_brut": 12, "salari": [1, 2, 3, 4, 5, 6, 10, 39, 46, 54, 56, 59, 63, 65, 68, 69, 70, 73, 74], "salariaux": 12, "salary_above_1000": 5, "salary_last_3_month": 4, "salary_last_year": 4, "salary_net_of_tax": 4, "salary_past_year": 4, "same": [2, 3, 4, 5, 6, 10, 16, 23, 33, 35, 40, 41, 43, 46, 49, 55, 57, 60, 68, 70, 71, 72, 73, 74], "sampl": 10, "save": [15, 22, 26, 35], "sb": 74, "scalar": 3, "scale": [37, 54, 73], "scan": [52, 53], "scenario": [28, 72], "scenario_arguments11": 72, "scenario_arguments12": 72, "scholarship": 6, "school": 2, "scienc": 25, "sclerosi": 23, "scope": [17, 61], "scp": 33, "scratch": 25, "script": [51, 52, 58], "search": [23, 47, 72], "second": [3, 4, 5, 10, 23, 73], "second_par": [47, 74], "second_reform": 12, "secondari": 64, "section": [1, 26, 27, 28, 29, 30, 36, 41, 69, 70, 71, 74], "sector": 10, "secur": 5, "sed": 35, "see": [1, 3, 4, 7, 10, 11, 12, 17, 18, 22, 25, 28, 32, 33, 41, 44, 48, 52, 60, 61, 64, 65, 66, 67, 69, 70, 72, 74], "seem": [9, 25, 72], "seen": 23, "select": [3, 42, 46], "self": [11, 47, 55, 57, 60, 63, 65, 72], "semant": [3, 17], "send": [17, 18, 24, 68], "senegales": 7, "sent": [26, 65, 69], "separ": [12, 13, 16, 40], "septemb": 68, "sequenc": [46, 47, 48, 50, 55, 60, 61, 63], "sequenti": 71, "serv": [14, 30, 44, 51, 67, 75], "server": [14, 17, 20], "servic": [25, 34, 44, 52, 67, 71], "session": [51, 61, 75], "set": [1, 3, 4, 10, 11, 22, 31, 32, 35, 40, 43, 47, 49, 50, 53, 54, 58, 59, 60, 62, 65, 66, 70, 73, 74], "set_input": [4, 9, 50, 51, 64, 72, 74, 75], "set_input_dispatch_by_period": [4, 50, 51, 64, 75], "set_input_divide_by_period": [4, 50, 51, 64, 72, 75], "set_tax_benefit_system": [47, 51, 75], "set_trac": 22, "setup": [17, 31, 32, 52], "setuptool": 31, "seven": 71, "sever": [0, 6, 10, 13, 23, 24, 38, 39, 47, 53, 64, 72, 73], "share": [14, 18, 24, 25, 35, 74], "shell": [22, 35], "shine": 25, "shoot": 71, "short": [23, 70], "shortcut": 59, "shorten": [4, 24], "shorter": 32, "should": [3, 4, 9, 10, 12, 16, 17, 18, 19, 23, 25, 26, 29, 30, 31, 32, 33, 35, 54, 57, 65, 67, 68, 72, 73, 74], "show": [33, 73], "showcas": 67, "side": [70, 72], "signatur": 1, "signific": 25, "significantli": 5, "similar": [2, 3, 6, 32], "similarli": [6, 71], "simpl": [3, 5, 71], "simplest": 12, "simpletrac": [51, 62, 75], "simpli": [5, 60], "simul": [2, 3, 7, 9, 10, 11, 14, 17, 28, 29, 33, 34, 36, 38, 40, 42, 43, 48, 49, 50, 51, 56, 62, 63, 65, 66, 68, 69, 73, 75], "simulation_build": [70, 73, 74], "simulation_exampl": 65, "simulation_gener": 58, "simulationbuild": [51, 59, 70, 73, 74, 75], "sinc": [5, 10, 23, 25, 46, 55, 72, 73], "singl": [3, 10, 25, 59, 71, 72, 73], "single_amount": 10, "singleent": [47, 51, 63, 75], "singlepopul": [51, 63, 75], "site": [14, 28, 52], "situat": [0, 2, 3, 25, 43, 49, 66, 69, 71, 74], "situation_parsing_error": 59, "situationparsingerror": [49, 51, 59, 75], "size": [2, 4, 46, 55], "size_in_dai": 55, "size_in_month": 55, "size_in_week": 55, "size_in_weekdai": 55, "size_in_year": 55, "skip": 32, "sla": 67, "slack": 75, "slightli": [1, 4], "slowest": 72, "small": [47, 71, 73, 74], "smallest": 38, "snippet": [22, 34, 44, 72], "so": [1, 3, 18, 19, 23, 24, 25, 28, 34, 38, 43, 47, 55, 56, 65, 70, 72], "social": [5, 18, 23, 25, 40, 67], "social_security_contribut": [5, 69], "softwar": [18, 25, 26, 35, 36, 44, 67], "solut": 74, "solv": [10, 18], "some": [3, 4, 5, 6, 9, 11, 14, 17, 19, 22, 23, 24, 25, 28, 32, 34, 35, 37, 38, 39, 43, 53, 60, 65, 75], "some_formula": 16, "some_other_vari": 57, "some_param": [54, 57], "some_period": 57, "some_reform": 11, "some_tax": [54, 57], "some_vari": 57, "someon": [17, 18, 39], "someth": [7, 72], "sometim": [4, 10, 16, 23, 26, 40], "somewher": 35, "sort": [22, 55, 56], "sortedcontain": [33, 72], "sorteddict": 72, "sou": 44, "sound": 72, "sourc": [1, 5, 9, 15, 18, 25, 28, 29, 31, 32, 33, 35, 42, 44, 46, 47, 48, 49, 50, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 67], "space": [12, 24], "span": 44, "speak": [23, 25, 41, 71], "spec": [65, 66], "specif": [0, 1, 3, 12, 14, 17, 22, 23, 24, 25, 27, 28, 30, 31, 32, 33, 34, 37, 42, 43, 55, 66, 69, 72, 74], "specifi": [4, 5, 12, 22, 39, 52, 53, 56, 59], "sphinx_autodoc_typehints_typ": 56, "spiralerror": [49, 51, 75], "split": [4, 10, 72], "spot": 72, "spous": 47, "spread": 58, "sq": 2, "sqm": 68, "squar": 73, "src": 44, "ssh": 32, "stabl": [2, 67], "stai": [5, 60, 68], "stand": 23, "standard": [13, 18, 23, 25, 35, 65], "start": [1, 4, 5, 10, 12, 14, 32, 34, 35, 38, 43, 54, 55, 62, 63, 64, 69, 72, 75], "start_inst": 55, "state": [41, 42, 67], "statement": 46, "static": [25, 40, 47, 54, 59], "statist": 72, "statu": [2, 72], "std": 72, "step": [2, 18, 23, 26, 28, 29, 32, 33, 35, 69, 74], "stick": 33, "still": [4, 21], "stop": [25, 54, 55], "store": [1, 4, 18, 33, 60], "str": [1, 46, 47, 48, 54, 55, 59, 60, 61, 63, 64, 72], "str_": [46, 48], "straightforward": 3, "strategi": 72, "strenum": 33, "strictli": 3, "string": [1, 4, 5, 12, 25, 46, 48, 55, 63, 64, 72], "stringifi": 46, "stringify_arrai": [46, 51, 75], "strong": 25, "structur": [1, 4, 10, 11, 21, 32, 36, 59, 68, 71, 72, 73, 74], "stuck": 3, "student": [2, 6, 23, 43], "studi": [11, 40], "sub": 69, "sub_modul": 60, "subclass": [48, 57, 60], "subdirectori": [35, 61], "submit": 17, "subnod": 10, "subperiod": 50, "subrol": [47, 51, 75], "subscript": 47, "subset": [0, 25], "substitut": [26, 30, 31], "success": [22, 33, 53, 61], "successfulli": [33, 35], "suffix": [5, 24], "suggest": [18, 23], "suit": [22, 25, 62, 72], "suitabl": [28, 73], "sum": [4, 6, 9, 10, 35, 51, 56, 72, 75], "sum_salari": 6, "summar": 17, "summari": 47, "superset": 47, "suppli": [69, 72], "support": [3, 24, 25, 32, 67], "sur": 67, "sure": [1, 17, 18, 25, 35, 44], "surpris": 13, "survei": [14, 25, 74], "sustain": 44, "svg": 44, "swagger": [27, 65, 66, 67, 69], "swap": 31, "switch": [3, 46, 51, 75], "syndic": 47, "syntax": [1, 2, 3, 4, 11, 13, 16, 35], "system": [1, 5, 10, 11, 12, 16, 19, 23, 24, 25, 26, 31, 32, 35, 36, 39, 40, 49, 53, 59, 60, 61, 67, 68, 71, 74, 75], "syst\u00e8m": 67, "t": [4, 9, 11, 25, 26, 32, 35, 40, 41, 43, 44, 46, 47, 49, 53, 55, 56, 69, 72, 74], "tabl": [4, 53, 72], "tabular": [73, 74], "tackl": 72, "tag": 20, "take": [2, 3, 9, 10, 11, 12, 14, 25, 40, 57, 64, 68, 72, 73], "taken": [56, 70, 71, 72], "tar": 33, "target": [25, 44, 46], "task": 18, "taux_csg_remplac": 72, "tax": [1, 2, 4, 5, 10, 11, 12, 16, 19, 23, 24, 25, 26, 36, 37, 38, 39, 40, 41, 43, 47, 49, 53, 54, 57, 60, 61, 65, 68, 69, 71, 75], "tax_benefit_system": [5, 10, 11, 14, 34, 47, 49, 52, 58, 59, 60, 61, 70, 73, 74], "tax_on_salari": [10, 11], "tax_reb": 3, "tax_scal": 10, "taxable_income_household": 23, "taxbenefitsystem": [14, 41, 47, 49, 50, 51, 57, 59, 61, 63, 65, 72, 75], "taxe_habit": 39, "taxpay": 47, "tb": [50, 58], "team": [27, 42, 44], "technic": [23, 24, 36, 41, 67, 71], "tell": [4, 18], "tempfil": 14, "templat": [7, 10, 12, 14, 26, 27, 30, 31, 32, 33, 34, 65, 67, 68, 69, 74, 75], "tenanc": 39, "tenant": [2, 39, 48, 68], "tend": [5, 9], "tendenc": 3, "tens": 17, "term": [23, 27, 68, 71], "termin": [29, 31, 32, 35], "terminologi": 12, "test": [0, 2, 4, 8, 10, 16, 17, 23, 25, 27, 51, 61, 70, 71, 72, 73, 75], "test_2": 53, "test_3": 53, "test_4": 53, "test_5": 53, "test_6": 53, "test_bas": 72, "test_cas": [70, 74], "test_linear_average_rate_tax_scal": 22, "test_marginal_tax_r": 72, "test_paramet": 22, "test_plf2016_ayrault_muet": 72, "test_runn": [51, 75], "test_tax_r": 72, "test_tax_scal": 22, "text": [1, 17, 22, 35, 39, 64], "textual": 75, "than": [3, 9, 16, 17, 22, 23, 28, 34, 35, 37, 60, 72], "thank": [18, 43], "that2": 46, "thei": [0, 3, 4, 5, 9, 10, 16, 17, 18, 23, 26, 36, 39, 42, 44, 50, 59, 65, 68, 69, 71, 73, 74], "them": [1, 3, 5, 9, 11, 18, 25, 26, 33, 40, 70], "theoret": 72, "therefor": [3, 4], "thi": [0, 1, 3, 4, 9, 10, 11, 12, 13, 14, 17, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 39, 40, 41, 43, 44, 45, 46, 47, 50, 52, 53, 54, 55, 57, 59, 61, 62, 65, 67, 69, 70, 71, 72, 73, 74], "thing": 5, "think": [8, 72], "third": [1, 53, 73], "this1": 46, "this_month": 4, "this_year": [4, 55], "those": [0, 14, 32, 41, 44, 74], "thought": 55, "thousand": 3, "three": [3, 4, 10, 23, 69], "three_previous_month": 72, "threshold": [5, 10, 11, 12, 46], "threshold_unit": [5, 10], "through": [0, 4, 9, 17, 24, 25, 27, 32, 35, 44], "throughout": [0, 14, 19], "thu": [1, 2, 3, 9, 17, 21, 37, 69, 70], "time": [3, 4, 5, 9, 14, 32, 33, 37, 38, 54, 55, 67, 68, 71, 72, 73, 74], "timefram": 27, "timeit": 72, "timeout": 52, "titl": [39, 67], "tla": 23, "token": 52, "tom": 59, "toml": [17, 32], "tomorrow": 25, "too": [0, 12, 24, 36, 72], "tool": [0, 10, 12, 22, 25, 32, 35, 44, 46, 51, 75], "toolbox": 55, "top": [44, 70], "topic": 44, "total": 47, "total_impots_plafonnement_isf_ifi": 72, "total_nb_byt": 50, "total_tax": 74, "toward": [9, 17, 60, 61], "town": 0, "trace": [53, 66, 70, 71], "traceback": [47, 48, 49, 55, 59], "tracenod": [51, 62, 75], "tracer": [51, 75], "tracingparameternodeatinst": [51, 62, 75], "track": [50, 52, 75], "tracker": [52, 67], "tracker_idsit": 52, "tracker_token": 52, "tracker_url": 52, "traitement_indiciaire_brut": 12, "traitements_salaires_pensions_rent": 72, "translat": [4, 25], "tree": [1, 10, 21, 54], "tri": [49, 72], "tricki": 48, "trigger": [17, 59], "trim": 46, "tripl": 55, "troubl": 71, "true": [2, 3, 10, 12, 46, 47, 48, 55, 56, 58, 59, 60, 62, 64, 70, 74], "trustworthi": 1, "truth": 3, "try": [4, 5, 8, 17, 18, 25, 60, 69, 72], "tspr_i": 72, "tue": 69, "tunisian": 7, "tupl": [55, 72], "turn": 23, "tutori": [35, 41, 73, 75], "twenti": 46, "twitter": 24, "two": [0, 4, 5, 6, 12, 14, 22, 25, 28, 40, 46, 49, 55, 56, 68, 70, 71, 72, 73], "type": [1, 2, 3, 4, 6, 10, 14, 33, 34, 35, 39, 46, 47, 48, 50, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 72, 74, 75], "typeerror": [47, 48], "typic": [73, 74], "u": [1, 2, 4, 5, 6, 11, 14, 18, 25, 70, 72], "u6": 48, "uint8": [48, 63], "unambigu": 23, "unchang": 60, "undefin": [9, 10, 55], "under": [11, 14, 18, 44, 52, 64, 67], "underli": 23, "underscor": [5, 10], "understand": [18, 23, 36, 69, 70], "unemploi": [2, 12], "unemploy": 4, "unemployment_benefit": 4, "unexpect": 13, "unidimension": 3, "union": 59, "uniqu": [6, 39, 61, 74], "unique_rol": 6, "unit": [4, 5, 10, 22, 38, 39, 51, 55, 64, 75], "unit_weight": [51, 55, 75], "univers": [10, 23, 40], "universal_incom": 10, "unix": 31, "unknown": 74, "unless": 23, "unlik": [37, 59, 72], "unread": 24, "until": [5, 68, 72], "up": [4, 10, 23, 31, 32, 35, 53, 62, 67], "updat": [17, 31, 44, 51, 54, 55, 57, 60, 72, 75], "update_vari": [11, 51, 57, 60, 75], "upfront": 25, "upgrad": [33, 44, 74], "upper": 46, "uppercas": 6, "url": [1, 52], "us": [0, 1, 3, 5, 7, 8, 13, 14, 16, 17, 19, 22, 24, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 48, 51, 54, 55, 56, 59, 60, 61, 64, 65, 66, 70, 71, 72, 73, 74, 75], "usag": [1, 28, 44, 50, 52, 53, 59, 64], "usb": 33, "user": [0, 13, 15, 17, 18, 22, 23, 25, 30, 31, 33, 35, 46, 52, 67], "usual": [1, 3, 4, 11, 12, 31, 43, 46, 65, 72, 74], "utf": [70, 74], "utilis": [13, 32, 33, 35, 71, 72, 75], "utilis\u00e9": 44, "v": [31, 35, 53, 72], "valid": [3, 4, 32, 55, 59, 64, 69, 70], "validated_yaml": 11, "valu": [1, 3, 4, 6, 9, 10, 12, 21, 23, 25, 32, 37, 38, 46, 48, 49, 50, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 68, 69, 70, 72, 73, 74], "value_at_inst": 72, "value_by_condit": 46, "value_typ": [1, 2, 4, 5, 6, 48, 50, 51, 64, 72, 75], "valueerror": [3, 47, 55], "values_dict": 72, "values_list": [51, 54, 72, 75], "vari": [46, 73], "variabl": [0, 3, 6, 8, 9, 11, 16, 17, 18, 21, 25, 27, 36, 37, 38, 39, 42, 47, 48, 49, 50, 51, 53, 56, 57, 58, 59, 60, 63, 65, 66, 69, 70, 71, 72, 73, 74, 75], "variable_exampl": 65, "variable_nam": [6, 47, 49, 56, 58, 59, 60, 72], "variablenam": [47, 51, 63, 75], "variablenameconflicterror": [49, 51, 60, 75], "variablenotfounderror": [49, 51, 75], "varianc": 34, "variant": [4, 73], "variat": 73, "varieti": [25, 67], "variou": [28, 54], "vat": 23, "vat_on_export": 23, "vat_sub1": 23, "ve": [3, 72], "vector": [54, 58, 62, 70, 71], "vectori": [1, 8, 10, 54], "vectorialparameternodeatinst": [51, 54, 75], "venv": 33, "verb": 17, "verbos": [53, 61], "veri": [2, 3, 18, 44, 72], "verifi": [18, 25], "versa": 31, "version": [20, 24, 26, 27, 31, 33, 35, 42, 44, 46, 60, 67, 74], "via": [17, 32, 33, 38, 71], "vice": 31, "view": [14, 18, 48, 72], "virtual": [29, 33, 50, 59], "virtualenv": 33, "visibl": [17, 31, 44, 69], "visit": [52, 67], "visual": 18, "w": 31, "wa": [2, 5, 10, 33, 47, 54, 61, 69, 70], "wage": [10, 11, 37, 65], "wai": [1, 3, 6, 11, 12, 18, 32, 33, 35, 39, 43, 44, 67, 71, 72, 73, 74, 75], "want": [3, 4, 6, 7, 8, 11, 17, 18, 22, 25, 31, 39, 53, 65, 67, 68, 69], "warn": [35, 60], "we": [2, 3, 4, 5, 11, 12, 13, 18, 23, 25, 35, 36, 38, 44, 65, 69, 72], "web": [0, 12, 23, 25, 26, 65, 66, 68, 69, 70, 71, 72, 74, 75], "websit": [18, 26, 35], "week": [38, 55], "weekdai": [38, 55], "weight": 55, "welcom": [18, 44, 52], "welcome_messag": 52, "welfar": 40, "well": [3, 12, 23, 65, 74], "were": [17, 35, 55, 68], "what": [0, 1, 17, 28, 40, 41, 44, 72, 73, 74, 75], "whatev": 10, "wheel": 31, "when": [0, 2, 3, 4, 5, 9, 12, 13, 14, 17, 20, 21, 22, 23, 24, 26, 27, 28, 29, 31, 32, 37, 43, 46, 47, 48, 49, 52, 55, 60, 64, 68, 69, 70, 71, 74], "where": [3, 9, 10, 23, 24, 31, 32, 54, 59, 61, 64, 68, 70, 72, 74], "whether": [2, 6, 21, 28, 43, 47], "which": [0, 1, 3, 9, 10, 11, 12, 15, 23, 24, 25, 26, 29, 37, 38, 47, 50, 52, 53, 54, 55, 58, 65, 70, 71, 72, 73], "whichev": 17, "while": [0, 3, 4, 5, 10, 16, 25, 35, 40, 43], "whl": 33, "who": [1, 2, 6, 10, 18, 23, 40, 56, 75], "whole": [1, 4, 22, 25, 70, 72, 74], "whom": 41, "whose": [3, 6, 44, 47], "why": [72, 73, 75], "wide": [23, 67, 71], "wider": 42, "wiki": 72, "wikipedia": 72, "win": 40, "window": [28, 31], "wise": 72, "wish": [10, 68], "with_ax": 73, "with_parallel_ax": 73, "with_perpendicular_ax": 73, "within": [10, 12, 16, 37, 39, 40, 42, 46, 47, 53, 56, 61], "without": [3, 5, 23, 25, 28, 29, 31, 33, 34, 35, 36, 50, 53, 54, 59, 67], "won": [3, 4, 9, 11, 40, 43], "word": [3, 52, 53], "work": [1, 2, 3, 6, 7, 12, 17, 21, 24, 26, 31, 33, 35, 66, 71, 72, 73], "work_income_individu": 23, "workaround": 9, "worker": 52, "world": [19, 42], "wors": 72, "worth": [3, 25, 53], "would": [2, 9, 10, 11, 18, 21, 23, 35, 40, 44, 50, 68, 70, 72, 74], "wow": 72, "wrap": [14, 44], "write": [1, 3, 8, 25, 32, 34, 40, 68, 75], "written": [1, 14, 15, 19, 21, 33, 35], "www": 5, "x": [3, 72], "y": 3, "yai": 3, "yaml": [1, 2, 4, 5, 11, 16, 26, 53, 54, 57, 60, 61, 72], "yamlfil": [51, 61, 75], "ye": 35, "year": [1, 2, 4, 5, 10, 12, 23, 38, 43, 50, 55, 64, 72], "yearli": [4, 68], "yet": [18, 25], "yield": [9, 72], "yml": 10, "you": [0, 1, 2, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 21, 22, 24, 27, 31, 33, 35, 39, 42, 44, 47, 52, 65, 66, 67, 68, 69, 71, 72, 74, 75], "your": [0, 7, 10, 12, 17, 18, 21, 22, 23, 27, 28, 30, 31, 37, 42, 44, 52, 53, 65, 68, 72, 73, 74, 75], "yourselv": 8, "yyyi": [5, 60, 64, 72], "zero": 75, "zipcod": 54, "zone": 10, "zone_1": 10, "zone_2": 10, "zone_3": 10}, "titles": [" Architecture of OpenFisca", "Coding a formula", "Introducing an input variable", "Vectorial computing", "Periods", "Legislation evolutions", "Entities", "Bootstraping a new country package", " From law to code", "Inferences", "Parameters", "Reforms", "Writing YAML tests", "Commit messages", "Developer guide", "About this documentation", "OpenFisca extensions", "Contributor guidelines", " Contribute", "Language", "Release process", "Semantic versioning guidelines", "Tests", "OpenFisca variables: naming guidelines", " To find help", " Before you start", "Access a country\u2019s source code", "Call an existing web API", " Getting started", "Install a country package", "Install a country web API", "Install with Docker", "Installation requirements", "Edge Case: Offline environment", "Python API in the browser", "Edge Case: Windows (not administrator)", " Key concepts", "Parameters", "Periods, Instants", "Person, entities, role", "Reforms", "Simulation, Computation", "Tax and Benefit System", "Variables and formulas", " Licence", " Manifesto & history", "Commons", "Entities", "Enum & EnumArray", "Errors", "Holders", " OpenFisca Python API", "openfisca serve", "openfisca test", "Parameters", "Periods", "Populations", "Reforms", "Simulation generator", "Simulations", "TaxBenefitSystem", "tools.test_runner", "Tracer", "Types", "Variables", "OpenAPI specification configuration", "API endpoints", " OpenFisca web API", "Using the /calculate endpoint", "Using the /trace endpoint", "Analysing or debugging a simulation", " Running a simulation", "Profiling a simulation\u2019s performance", "Replicating a situation along axes", "How to run a simulation", "<no title>"], "titleterms": {"": [4, 23, 26, 72], "1": [25, 28, 35], "2": [25, 28, 35], "3": [25, 35], "4": 35, "5": 35, "On": 33, "The": 1, "To": 24, "With": 9, "abbrevi": 23, "about": 15, "access": [10, 26, 33], "acronym": 23, "activ": 70, "ad": [68, 73], "add": [5, 11], "addit": [8, 52], "administr": 35, "advanc": [2, 10], "aggreg": 6, "all": 10, "allow": 74, "along": 73, "alwai": 3, "an": [2, 25, 27, 44, 67], "analys": [69, 70], "analysi": 25, "api": [17, 18, 27, 28, 30, 34, 44, 51, 66, 67], "applic": [41, 69, 74], "ar": 39, "architectur": [0, 16], "argument": [52, 53], "arithmet": 3, "atom": 35, "attribut": 1, "automat": 4, "avail": 25, "avoid": 23, "ax": 73, "bad": 23, "base": 25, "base_funct": 9, "basic": [1, 52, 53], "befor": 25, "behaviour": 25, "benefit": [18, 42], "between": [23, 40], "bewar": 72, "boolean": 3, "bootstrap": 7, "bottleneck": 72, "box": 0, "brace": 67, "breadcrumb": 72, "browser": 34, "build": 15, "cach": 72, "calcul": [4, 41, 68, 69, 74], "call": [27, 30], "case": [12, 28, 33, 35, 67, 74], "chang": [13, 26, 44], "channel": 24, "check": [6, 32], "clarifi": 28, "code": [1, 8, 14, 17, 26], "cog": 71, "collabor": 15, "commit": 13, "common": [12, 46], "comparison": 25, "complet": 18, "complex": 3, "composit": 6, "comput": [3, 10, 41, 44, 68], "concaten": 3, "concept": 36, "condit": [3, 67], "configur": [52, 65], "contact": 24, "contain": 31, "context": [21, 72], "continu": [17, 20, 22], "contribut": [17, 18, 28, 32], "contributor": 17, "control": 3, "convent": [10, 24], "copyleft": 44, "core": [0, 72], "countri": [0, 7, 19, 21, 25, 26, 28, 29, 30, 67], "creat": 10, "csv": 74, "curli": 67, "data": [25, 74], "date": 5, "debug": [14, 70], "debugg": 22, "decis": 25, "default": [2, 43], "defin": [2, 4, 10, 12], "definit": [4, 41, 42], "definition_period": 4, "demonstr": 67, "depend": [4, 10], "deploy": 20, "deprec": 13, "describ": [5, 68], "develop": [14, 18], "differ": [4, 23, 40], "direct": 18, "directli": 52, "dispos": 69, "distinguish": 23, "do": [23, 25], "docker": 31, "document": [8, 15], "don": [3, 23], "download": 28, "dynam": 11, "e": 21, "edg": [28, 33, 35], "edit": 15, "effort": 25, "elev": 72, "els": 3, "end": 5, "endpoint": [66, 68, 69], "english": 44, "enhanc": 18, "entiti": [6, 23, 39, 47, 68], "enum": [2, 48], "enumarrai": 48, "enumer": 2, "environ": 33, "error": [18, 49, 53], "evolut": 5, "exampl": [1, 2, 11, 12, 21, 23, 52, 53, 67], "exist": [27, 28], "extens": [0, 16, 40, 52, 53], "fanci": 10, "feel": 25, "file": [5, 10, 52, 74], "filter": 53, "find": [24, 32, 72], "flame": 72, "follow": 72, "formula": [1, 3, 4, 5, 12, 43], "franc": 21, "fran\u00e7ai": 44, "french": 18, "from": [8, 74], "function": 51, "further": 72, "g": 21, "gener": [23, 58, 72], "get": 28, "git": [18, 32, 35], "give": 12, "given": 6, "good": 23, "graph": 72, "group": [6, 39], "guid": 14, "guidelin": [17, 21, 23], "gunicorn": 52, "ha": 6, "handshak": 24, "happen": 3, "heart": 24, "help": 24, "histori": 45, "holder": 50, "home": 25, "host": [44, 67], "hous": 74, "household": 74, "how": [5, 10, 18, 32, 41, 74], "human": 25, "i": [0, 5, 8, 18, 23, 24, 25, 28, 36, 44, 45, 51, 67, 71], "icon": [0, 8, 18, 24, 25, 28, 36, 44, 45, 51, 67, 71], "identifi": [25, 28, 72], "implement": 18, "incom": [69, 74], "index": 10, "individu": 73, "infer": 9, "inform": 68, "input": [2, 4, 12, 25, 43], "instal": [29, 30, 31, 32, 35], "instanc": [39, 44, 67], "instant": 38, "instruct": 34, "integr": [17, 22], "internet": 33, "introduc": [2, 13], "introduct": 5, "ipdb": 22, "isol": 72, "issu": [9, 17], "its": 18, "kei": [12, 36], "known": 9, "languag": 19, "law": 8, "legaci": 23, "legisl": [1, 5, 18, 25], "level": 23, "librari": 29, "licenc": 44, "lightbulb": 36, "link": 18, "local": 30, "lost": 25, "machin": 33, "magic": 25, "major": 21, "manifesto": 45, "margin": 53, "match": 4, "merg": [17, 18], "messag": 13, "minor": 21, "mix": 23, "model": [25, 32], "multipl": [3, 12], "name": [0, 1, 8, 10, 13, 18, 23, 24, 25, 28, 36, 44, 45, 51, 52, 53, 67, 71], "navig": 10, "necessari": 23, "need": 25, "new": [5, 7, 10, 11], "next": 12, "node": 10, "non": 23, "number": 17, "offlin": 33, "one": 69, "open": [5, 17, 72], "openapi": 65, "openfisca": [0, 16, 18, 21, 23, 25, 29, 31, 35, 51, 52, 53, 67], "oper": 3, "other": 18, "own": [25, 35], "packag": [0, 7, 21, 25, 28, 29], "parallel": 73, "paramet": [1, 5, 10, 11, 37, 54], "parametr": 11, "pars": 25, "patch": 21, "peer": 17, "perform": 72, "period": [4, 10, 12, 38, 55], "perpendicular": 73, "person": [6, 39, 69, 74], "philosophi": 23, "popul": 56, "posit": 53, "prefix": 23, "process": [4, 20], "profil": [14, 72], "project": [6, 18], "pull": 17, "python": [10, 11, 28, 32, 34, 35, 51], "readi": 26, "real": 11, "recommend": 32, "reform": [11, 12, 18, 40, 52, 53, 57], "releas": 20, "renam": 13, "replic": 73, "report": 18, "repositori": [14, 19], "request": 17, "requir": 32, "reserv": 10, "result": [44, 68], "return": 3, "review": 17, "role": [6, 39], "roll": 25, "rule": [28, 32], "run": [12, 22, 25, 30, 35, 71, 74], "scale": [5, 10], "scope": 23, "script": 35, "semant": 21, "serv": 52, "server": 33, "set": 2, "similarli": 23, "simul": [4, 25, 41, 58, 59, 70, 71, 72, 74], "situat": [26, 68, 73], "slack": 24, "slow": 72, "smile": 45, "some": 18, "sourc": [14, 26], "specif": [4, 5, 10, 19, 39, 65], "squar": 51, "start": [25, 28], "step": [12, 70], "string": 3, "structur": 3, "suffix": 23, "syntax": 12, "system": [18, 42], "t": [3, 23], "target": 73, "tax": [18, 42, 74], "taxbenefitsystem": 60, "templat": [0, 29], "termin": 8, "ternari": 3, "test": [1, 12, 18, 22, 26, 53, 74], "test_runn": 61, "textual": 25, "than": 4, "thi": [5, 15], "tool": 61, "total": 74, "trace": 69, "tracer": [62, 70], "track": 67, "tutori": 8, "two": 74, "type": 63, "understand": 68, "up": 72, "updat": [5, 10, 11], "us": [2, 4, 10, 11, 12, 18, 23, 25, 26, 28, 52, 53, 67, 68, 69], "usecas": 2, "user": 32, "utilis": 28, "valu": [2, 5, 11, 43], "variabl": [1, 2, 4, 5, 10, 12, 13, 23, 41, 43, 64, 68], "vector": 3, "vectori": 3, "version": [17, 21, 23, 32], "wai": 25, "web": [17, 18, 27, 28, 30, 67], "what": [3, 25], "where": 5, "who": 25, "why": 18, "window": [32, 35], "word": 10, "wrap": 72, "write": [10, 11, 12, 17, 18, 35], "yaml": [10, 12, 22], "you": [3, 25], "your": [25, 35, 67], "yourself": 15, "zero": 25}}) \ No newline at end of file diff --git a/doc/summary.html b/doc/summary.html index 07983114..2af45e17 100644 --- a/doc/summary.html +++ b/doc/summary.html @@ -369,11 +369,13 @@

    Navigation

  • Enum & EnumArray @@ -426,14 +428,28 @@

    Navigation

  • ArrayLike
  • Container
  • CoreEntity
  • +
  • CorePopulation
  • +
  • DTypeBool
  • +
  • DTypeBytes
  • +
  • DTypeDate
  • +
  • DTypeEnum
  • +
  • DTypeFloat
  • +
  • DTypeGeneric
  • +
  • DTypeInt
  • +
  • DTypeObject
  • +
  • DTypeStr
  • DateUnit
  • EntityKey
  • EntityPlural
  • +
  • Enum
  • +
  • EnumArray
  • +
  • EnumType
  • Formula
  • GroupEntity
  • +
  • GroupPopulation
  • Holder
  • Indexable
  • Instant
  • @@ -445,12 +461,12 @@

    Navigation

  • Period
  • PeriodStr
  • -
  • Population
  • Role
  • RoleKey
  • RolePlural
  • Simulation
  • SingleEntity
  • +
  • SinglePopulation
  • TaxBenefitSystem
  • Variable
  • VariableName
  • instant() (in module openfisca_core.periods.helpers) -
  • -
  • instant_date() (in module openfisca_core.periods.helpers)
  • Population (class in openfisca_core.populations) +
  • +
  • possible_values (openfisca_core.indexed_enums.EnumArray attribute)
  • -
  • possible_values (openfisca_core.variables.Variable attribute) -
  • print_log() (openfisca_core.tracers.ComputationLog method)