From 1639f6fb3ae93280f7101844c6aa6f2dfaf4efc5 Mon Sep 17 00:00:00 2001 From: nikhilwoodruff <35577657+nikhilwoodruff@users.noreply.github.com> Date: Tue, 19 Dec 2023 11:14:01 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20f3fae?= =?UTF-8?q?3430745b00353edccfd9e13479067e665af=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../changelog.yaml | 5 +++ .../simulations/simulation.html | 41 +++++++++++++++++- .../policyengine_core/variables/variable.html | 7 +++ genindex.html | 22 ++++++++-- objects.inv | Bin 4633 -> 4669 bytes python_api/simulations.html | 28 +++++++++++- python_api/variables.html | 6 +++ searchindex.js | 2 +- 8 files changed, 102 insertions(+), 9 deletions(-) diff --git a/_downloads/621e2c7711e8623173875c33222eddb6/changelog.yaml b/_downloads/621e2c7711e8623173875c33222eddb6/changelog.yaml index 96cc7600..e0b3147a 100644 --- a/_downloads/621e2c7711e8623173875c33222eddb6/changelog.yaml +++ b/_downloads/621e2c7711e8623173875c33222eddb6/changelog.yaml @@ -435,3 +435,8 @@ fixed: - Random seed fixed for each simulation. date: 2023-12-16 15:34:37 +- bump: patch + changes: + added: + - Tools for branching + date: 2023-12-19 11:12:24 diff --git a/_modules/policyengine_core/simulations/simulation.html b/_modules/policyengine_core/simulations/simulation.html index c834c316..dac266ad 100644 --- a/_modules/policyengine_core/simulations/simulation.html +++ b/_modules/policyengine_core/simulations/simulation.html @@ -299,6 +299,12 @@

Source code for policyengine_core.simulations.simulation

datasets: List[Dataset] = [] """The list of datasets available for this simulation.""" + baseline: "Simulation" = None + """The baseline simulation, if this simulation is a reform.""" + + is_over_dataset: bool = False + """Whether this simulation is built over a dataset.""" + def __init__( self, tax_benefit_system: "TaxBenefitSystem" = None, @@ -306,7 +312,9 @@

Source code for policyengine_core.simulations.simulation

situation: dict = None, dataset: Union[str, Type[Dataset]] = None, reform: Reform = None, + trace: bool = False, ): + self.is_over_dataset = dataset is not None reform_applied_after = False if tax_benefit_system is None: if ( @@ -338,8 +346,10 @@

Source code for policyengine_core.simulations.simulation

self.invalidated_caches = set() self.debug: bool = False - self.trace: bool = False - self.tracer: SimpleTracer = SimpleTracer() + self.trace: bool = trace + self.tracer: SimpleTracer = ( + SimpleTracer() if not trace else FullTracer() + ) self.opt_out_cache: bool = False # controls the spirals detection; check for performance impact if > 1 self.max_spiral_loops: int = 10 @@ -407,6 +417,18 @@

Source code for policyengine_core.simulations.simulation

hashed_input = hash(json.dumps(original_input)) % 1000000 np.random.seed(hashed_input) + if reform is not None: + self.baseline = self.get_branch("baseline") + self.baseline.trace = self.trace + self.baseline.tracer = self.tracer + self.baseline.tax_benefit_system = ( + self.default_tax_benefit_system_instance + ) + else: + self.baseline = None + + self.parent_branch = None +
[docs] def apply_reform(self, reform: Union[tuple, Reform]): if isinstance(reform, tuple): for subreform in reform: @@ -587,6 +609,8 @@

Source code for policyengine_core.simulations.simulation

variable_name, period, self.branch_name ) + np.random.seed(hash(variable_name + str(period)) % 1000000) + try: result = self._calculate(variable_name, period) if isinstance(result, EnumArray) and decode_enums: @@ -732,6 +756,18 @@

Source code for policyengine_core.simulations.simulation

if cached_array is not None: return cached_array + if variable.requires_computation_after is not None: + if variable.requires_computation_after not in [ + node.get("name") for node in self.tracer.stack + ]: + raise ValueError( + f"Variable {variable_name} requires {variable.requires_computation_after} to be requested first. The full stack is: " + + "\n".join( + f" - {node.get('name')} {node.get('period')}, {node.get('branch_name')}" + for node in self.tracer.stack + ) + ) + if variable.definition_period == MONTH and period.unit == YEAR: if variable.quantity_type == QuantityType.STOCK: contained_months = period.get_subperiods(MONTH) @@ -1349,6 +1385,7 @@

Source code for policyengine_core.simulations.simulation

branch = self.clone(clone_tax_benefit_system=clone_system) self.branches[name] = branch branch.branch_name = name + branch.parent_branch = self if self.trace: branch.trace = True branch.tracer = self.tracer diff --git a/_modules/policyengine_core/variables/variable.html b/_modules/policyengine_core/variables/variable.html index 72bc5bb1..6b955069 100644 --- a/_modules/policyengine_core/variables/variable.html +++ b/_modules/policyengine_core/variables/variable.html @@ -365,6 +365,9 @@

Source code for policyengine_core.variables.variable

hidden_input: bool = False """Whether the variable is hidden from the input screen entirely on PolicyEngine.""" + requires_computation_after: str = None + """Name of a variable that must be computed before this variable.""" + def __init__(self, baseline_variable=None): self.name = self.__class__.__name__ attr = { @@ -501,6 +504,10 @@

Source code for policyengine_core.variables.variable

attr, "hidden_input", allowed_type=bool, default=False ) + self.requires_computation_after = self.set( + attr, "requires_computation_after", allowed_type=str + ) + formulas_attr, unexpected_attrs = helpers._partition( attr, lambda name, value: name.startswith(config.FORMULA_NAME_PREFIX), diff --git a/genindex.html b/genindex.html index ea30b0c2..1eba6545 100644 --- a/genindex.html +++ b/genindex.html @@ -318,6 +318,12 @@

A

B

- +
@@ -1220,6 +1232,8 @@

R

  • remove() (policyengine_core.data.Dataset method)
  • replace_variable() (policyengine_core.taxbenefitsystems.tax_benefit_system.TaxBenefitSystem method) +
  • +
  • requires_computation_after (policyengine_core.variables.variable.Variable attribute)
  • restore() (policyengine_core.data_storage.on_disk_storage.OnDiskStorage method)
  • diff --git a/objects.inv b/objects.inv index ce91cfe4fa189ef2bde89dfd62334a9218e4b22e..f2cb0257c89420102b6f03423931b30dd370ce10 100644 GIT binary patch delta 4591 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 Z+nLQhirzUcs8@NF4B8^Q`9IGlQ_zvu|9t=e delta 4555 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 diff --git a/python_api/simulations.html b/python_api/simulations.html index 9cb7e6bf..ee18b4af 100644 --- a/python_api/simulations.html +++ b/python_api/simulations.html @@ -245,7 +245,7 @@

    Simulations#

    -class policyengine_core.simulations.simulation.Simulation(tax_benefit_system: TaxBenefitSystem = None, populations: Dict[str, policyengine_core.populations.population.Population] = None, situation: dict = None, dataset: Union[str, Type[policyengine_core.data.dataset.Dataset]] = None, reform: policyengine_core.reforms.reform.Reform = None)[source]#
    +class policyengine_core.simulations.simulation.Simulation(tax_benefit_system: TaxBenefitSystem = None, populations: Dict[str, policyengine_core.populations.population.Population] = None, situation: dict = None, dataset: Union[str, Type[policyengine_core.data.dataset.Dataset]] = None, reform: policyengine_core.reforms.reform.Reform = None, trace: bool = False)[source]#

    Bases: object

    Represents a simulation, and handles the calculation logic

    @@ -253,6 +253,12 @@

    Simulationapply_reform(reform: Union[tuple, policyengine_core.reforms.reform.Reform])[source]#

    +
    +
    +baseline: Simulation = None#
    +

    The baseline simulation, if this simulation is a reform.

    +
    +
    build_from_dataset() None[source]#
    @@ -532,6 +538,12 @@

    Simulationinvalidate_spiral_variables(variable: str) None[source]#

    +
    +
    +is_over_dataset: bool = False#
    +

    Whether this simulation is built over a dataset.

    +
    +
    @@ -601,7 +613,7 @@

    Simulation#

    -class policyengine_core.simulations.microsimulation.Microsimulation(tax_benefit_system: TaxBenefitSystem = None, populations: Dict[str, policyengine_core.populations.population.Population] = None, situation: dict = None, dataset: Union[str, Type[policyengine_core.data.dataset.Dataset]] = None, reform: policyengine_core.reforms.reform.Reform = None)[source]#
    +class policyengine_core.simulations.microsimulation.Microsimulation(tax_benefit_system: TaxBenefitSystem = None, populations: Dict[str, policyengine_core.populations.population.Population] = None, situation: dict = None, dataset: Union[str, Type[policyengine_core.data.dataset.Dataset]] = None, reform: policyengine_core.reforms.reform.Reform = None, trace: bool = False)[source]#

    Bases: policyengine_core.simulations.simulation.Simulation

    A Simulation whose entities use weights to represent larger populations.

    @@ -609,6 +621,12 @@

    Microsimulationapply_reform(reform: Union[tuple, policyengine_core.reforms.reform.Reform])#

    +
    +
    +baseline: Simulation = None#
    +

    The baseline simulation, if this simulation is a reform.

    +
    +
    branches: Dict[str, Simulation]#
    @@ -908,6 +926,12 @@

    Microsimulationinvalidate_spiral_variables(variable: str) None#

    +
    +
    +is_over_dataset: bool = False#
    +

    Whether this simulation is built over a dataset.

    +
    +
    diff --git a/python_api/variables.html b/python_api/variables.html index 7d9440ee..e0ff2274 100644 --- a/python_api/variables.html +++ b/python_api/variables.html @@ -463,6 +463,12 @@

    Variable +
    +requires_computation_after: str = None#
    +

    Name of a variable that must be computed before this variable.

    +

    +
    set_input: Callable#
    diff --git a/searchindex.js b/searchindex.js index c3e7ec23..7cdb1ec8 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["contributing/intro","intro","python_api/commons","python_api/country_template","python_api/data","python_api/data_storage","python_api/entities","python_api/enums","python_api/errors","python_api/experimental","python_api/extension_template","python_api/holders","python_api/parameters","python_api/periods","python_api/populations","python_api/projectors","python_api/reforms","python_api/scripts","python_api/simulations","python_api/taxbenefitsystems","python_api/taxscales","python_api/tools","python_api/tracers","python_api/types","python_api/variables","python_api/warnings","usage/charts","usage/cli","usage/country","usage/datasets","usage/parameters","usage/reforms","usage/simulation"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["contributing/intro.md","intro.md","python_api/commons.md","python_api/country_template.md","python_api/data.md","python_api/data_storage.md","python_api/entities.md","python_api/enums.md","python_api/errors.md","python_api/experimental.md","python_api/extension_template.md","python_api/holders.md","python_api/parameters.md","python_api/periods.md","python_api/populations.md","python_api/projectors.md","python_api/reforms.md","python_api/scripts.md","python_api/simulations.md","python_api/taxbenefitsystems.md","python_api/taxscales.md","python_api/tools.md","python_api/tracers.md","python_api/types.md","python_api/variables.md","python_api/warnings.md","usage/charts.ipynb","usage/cli.md","usage/country.ipynb","usage/datasets.ipynb","usage/parameters.md","usage/reforms.md","usage/simulation.ipynb"],objects:{"policyengine_core.commons.formulas":[[2,0,1,"","apply_thresholds"],[2,0,1,"","concat"],[2,0,1,"","switch"]],"policyengine_core.country_template":[[3,1,1,"","CountryTaxBenefitSystem"]],"policyengine_core.country_template.CountryTaxBenefitSystem":[[3,2,1,"","auto_carry_over_input_variables"],[3,2,1,"","entities"],[3,2,1,"","modelled_policies"],[3,2,1,"","parameters_dir"],[3,2,1,"","variables_dir"]],"policyengine_core.data":[[4,1,1,"","Dataset"]],"policyengine_core.data.Dataset":[[4,2,1,"","ARRAYS"],[4,2,1,"","TABLES"],[4,2,1,"","TIME_PERIOD_ARRAYS"],[4,2,1,"","data_format"],[4,3,1,"","download"],[4,4,1,"","exists"],[4,2,1,"","file_path"],[4,3,1,"","generate"],[4,2,1,"","label"],[4,3,1,"","load"],[4,3,1,"","load_dataset"],[4,2,1,"","name"],[4,3,1,"","remove"],[4,3,1,"","save"],[4,3,1,"","save_dataset"],[4,3,1,"","store_file"],[4,2,1,"","time_period"],[4,2,1,"","url"],[4,4,1,"","variables"]],"policyengine_core.data_storage.in_memory_storage":[[5,1,1,"","InMemoryStorage"]],"policyengine_core.data_storage.in_memory_storage.InMemoryStorage":[[5,3,1,"","clone"],[5,3,1,"","delete"],[5,3,1,"","get"],[5,3,1,"","get_known_branch_periods"],[5,3,1,"","get_known_periods"],[5,3,1,"","get_memory_usage"],[5,2,1,"","is_eternal"],[5,3,1,"","put"]],"policyengine_core.data_storage.on_disk_storage":[[5,1,1,"","OnDiskStorage"]],"policyengine_core.data_storage.on_disk_storage.OnDiskStorage":[[5,3,1,"","delete"],[5,3,1,"","get"],[5,3,1,"","get_known_branch_periods"],[5,3,1,"","get_known_periods"],[5,3,1,"","put"],[5,3,1,"","restore"]],"policyengine_core.data_structures":[[30,1,1,"","ParameterMetadata"],[30,1,1,"","ParameterNodeMetadata"],[30,1,1,"","Reference"],[30,1,1,"","Unit"],[30,5,0,"-","parameter_metadata"],[30,5,0,"-","parameter_node_metadata"]],"policyengine_core.data_structures.ParameterMetadata":[[30,2,1,"","description"],[30,2,1,"","documentation"],[30,2,1,"","label"],[30,2,1,"","name"],[30,2,1,"","reference"],[30,2,1,"","unit"],[30,2,1,"","uprating"]],"policyengine_core.data_structures.ParameterNodeMetadata":[[30,2,1,"","breakdown"],[30,2,1,"","label"],[30,2,1,"","name"],[30,2,1,"","propagate_metadata_to_children"],[30,2,1,"","reference"]],"policyengine_core.data_structures.Reference":[[30,2,1,"","href"],[30,2,1,"","label"],[30,2,1,"","type"]],"policyengine_core.data_structures.Unit":[[30,2,1,"","EUR"],[30,2,1,"","GBP"],[30,2,1,"","PERCENT"],[30,2,1,"","USD"]],"policyengine_core.data_structures.parameter_metadata":[[30,1,1,"","SelfUprating"],[30,1,1,"","UpratingIndex"],[30,1,1,"","UpratingRoundingConfig"],[30,1,1,"","UpratingSchema"]],"policyengine_core.data_structures.parameter_metadata.UpratingRoundingConfig":[[30,2,1,"","interval"],[30,2,1,"","type"]],"policyengine_core.data_structures.parameter_metadata.UpratingSchema":[[30,2,1,"","parameter"],[30,2,1,"","start_instant"],[30,2,1,"","type"]],"policyengine_core.data_structures.parameter_node_metadata":[[30,1,1,"","DynamicBreakdown"],[30,1,1,"","VariableBreakdown"]],"policyengine_core.entities.entity":[[6,1,1,"","Entity"]],"policyengine_core.entities.entity.Entity":[[6,3,1,"","check_role_validity"],[6,3,1,"","check_variable_defined_for_entity"],[6,3,1,"","get_variable"],[6,3,1,"","set_tax_benefit_system"]],"policyengine_core.entities.group_entity":[[6,1,1,"","GroupEntity"]],"policyengine_core.entities.helpers":[[6,0,1,"","build_entity"]],"policyengine_core.entities.role":[[6,1,1,"","Role"]],"policyengine_core.enums.enum":[[7,1,1,"","Enum"]],"policyengine_core.enums.enum.Enum":[[7,3,1,"","encode"]],"policyengine_core.enums.enum_array":[[7,1,1,"","EnumArray"]],"policyengine_core.enums.enum_array.EnumArray":[[7,3,1,"","decode"],[7,3,1,"","decode_to_str"]],"policyengine_core.errors.nan_creation_error":[[8,1,1,"","NaNCreationError"]],"policyengine_core.errors.parameter_not_found_error":[[8,1,1,"","ParameterNotFoundError"]],"policyengine_core.errors.parameter_parsing_error":[[8,1,1,"","ParameterParsingError"]],"policyengine_core.errors.period_mismatch_error":[[8,1,1,"","PeriodMismatchError"]],"policyengine_core.errors.situation_parsing_error":[[8,1,1,"","SituationParsingError"]],"policyengine_core.errors.spiral_error":[[8,1,1,"","SpiralError"]],"policyengine_core.errors.variable_name_conflict_error":[[8,1,1,"","VariableNameConflictError"]],"policyengine_core.errors.variable_not_found_error":[[8,1,1,"","VariableNotFoundError"]],"policyengine_core.experimental.memory_config":[[9,1,1,"","MemoryConfig"]],"policyengine_core.holders.helpers":[[11,0,1,"","set_input_dispatch_by_period"],[11,0,1,"","set_input_divide_by_period"]],"policyengine_core.holders.holder":[[11,1,1,"","Holder"]],"policyengine_core.holders.holder.Holder":[[11,3,1,"","clone"],[11,3,1,"","create_disk_storage"],[11,3,1,"","default_array"],[11,3,1,"","delete_arrays"],[11,3,1,"","get_array"],[11,3,1,"","get_known_branch_periods"],[11,3,1,"","get_known_periods"],[11,3,1,"","get_memory_usage"],[11,3,1,"","put_in_cache"],[11,3,1,"","set_input"]],"policyengine_core.parameters.at_instant_like":[[12,1,1,"","AtInstantLike"]],"policyengine_core.parameters.at_instant_like.AtInstantLike":[[12,3,1,"","get_at_instant"]],"policyengine_core.parameters.helpers":[[12,0,1,"","contains_nan"],[12,0,1,"","load_parameter_file"]],"policyengine_core.parameters.parameter":[[12,1,1,"","Parameter"]],"policyengine_core.parameters.parameter.Parameter":[[12,3,1,"","clone"],[12,3,1,"","get_descendants"],[12,3,1,"","update"],[12,2,1,"","values_list"]],"policyengine_core.parameters.parameter_at_instant":[[12,1,1,"","ParameterAtInstant"]],"policyengine_core.parameters.parameter_at_instant.ParameterAtInstant":[[12,3,1,"","clone"],[12,3,1,"","validate"]],"policyengine_core.parameters.parameter_node":[[12,1,1,"","ParameterNode"]],"policyengine_core.parameters.parameter_node.ParameterNode":[[12,3,1,"","add_child"],[12,3,1,"","attach_to_parent"],[12,3,1,"","clear_parent_cache"],[12,3,1,"","clone"],[12,3,1,"","get_descendants"],[12,3,1,"","merge"],[12,2,1,"","parent"]],"policyengine_core.parameters.parameter_node_at_instant":[[12,1,1,"","ParameterNodeAtInstant"]],"policyengine_core.parameters.parameter_node_at_instant.ParameterNodeAtInstant":[[12,3,1,"","add_child"]],"policyengine_core.parameters.parameter_scale":[[12,1,1,"","ParameterScale"]],"policyengine_core.parameters.parameter_scale.ParameterScale":[[12,3,1,"","clone"],[12,3,1,"","get_descendants"]],"policyengine_core.parameters.parameter_scale_bracket":[[12,1,1,"","ParameterScaleBracket"]],"policyengine_core.parameters.parameter_scale_bracket.ParameterScaleBracket":[[12,3,1,"","get_descendants"]],"policyengine_core.parameters.vectorial_parameter_node_at_instant":[[12,1,1,"","VectorialParameterNodeAtInstant"]],"policyengine_core.parameters.vectorial_parameter_node_at_instant.VectorialParameterNodeAtInstant":[[12,3,1,"","build_from_node"],[12,3,1,"","check_node_vectorisable"]],"policyengine_core.periods.helpers":[[13,0,1,"","instant"],[13,0,1,"","period"]],"policyengine_core.periods.instant_":[[13,1,1,"","Instant"]],"policyengine_core.periods.instant_.Instant":[[13,4,1,"","date"],[13,4,1,"","day"],[13,4,1,"","month"],[13,3,1,"","offset"],[13,3,1,"","period"],[13,4,1,"","year"]],"policyengine_core.periods.period_":[[13,1,1,"","Period"]],"policyengine_core.periods.period_.Period":[[13,3,1,"","contains"],[13,4,1,"","date"],[13,4,1,"","days"],[13,4,1,"","first_day"],[13,4,1,"","first_month"],[13,3,1,"","get_subperiods"],[13,3,1,"","intersection"],[13,4,1,"","last_3_months"],[13,4,1,"","last_month"],[13,4,1,"","last_year"],[13,4,1,"","n_2"],[13,3,1,"","offset"],[13,4,1,"","size"],[13,4,1,"","size_in_days"],[13,4,1,"","size_in_months"],[13,4,1,"","start"],[13,4,1,"","stop"],[13,4,1,"","this_year"],[13,4,1,"","unit"]],"policyengine_core.populations.group_population":[[14,1,1,"","GroupPopulation"]],"policyengine_core.populations.group_population.GroupPopulation":[[14,3,1,"","all"],[14,3,1,"","any"],[14,3,1,"","clone"],[14,3,1,"","get_role"],[14,3,1,"","max"],[14,4,1,"","members_entity_id"],[14,4,1,"","members_position"],[14,4,1,"","members_role"],[14,3,1,"","min"],[14,3,1,"","nb_persons"],[14,4,1,"","ordered_members_map"],[14,3,1,"","project"],[14,3,1,"","reduce"],[14,3,1,"","sum"],[14,3,1,"","value_from_first_person"],[14,3,1,"","value_from_person"],[14,3,1,"","value_nth_person"]],"policyengine_core.populations.population":[[14,1,1,"","Population"]],"policyengine_core.populations.population.Population":[[14,3,1,"","check_array_compatible_with_entity"],[14,3,1,"","check_period_validity"],[14,3,1,"","clone"],[14,3,1,"","empty_array"],[14,3,1,"","filled_array"],[14,3,1,"","get_holder"],[14,3,1,"","get_index"],[14,3,1,"","get_memory_usage"],[14,3,1,"","get_rank"],[14,3,1,"","has_role"],[14,3,1,"","value_from_partner"]],"policyengine_core.projectors":[[15,1,1,"","EntityToPersonProjector"],[15,1,1,"","FirstPersonToEntityProjector"],[15,1,1,"","Projector"],[15,1,1,"","UniqueRoleToEntityProjector"]],"policyengine_core.reforms":[[16,1,1,"","Reform"]],"policyengine_core.reforms.Reform":[[16,2,1,"","country_id"],[16,3,1,"","from_dict"],[16,3,1,"","modify_parameters"],[16,2,1,"","name"],[16,2,1,"","parameter_values"]],"policyengine_core.simulations.microsimulation":[[18,1,1,"","Microsimulation"]],"policyengine_core.simulations.microsimulation.Microsimulation":[[18,3,1,"","apply_reform"],[18,2,1,"","branches"],[18,3,1,"","build_from_dataset"],[18,3,1,"","build_from_populations"],[18,3,1,"","calculate"],[18,3,1,"","calculate_add"],[18,3,1,"","calculate_dataframe"],[18,3,1,"","calculate_divide"],[18,3,1,"","calculate_output"],[18,3,1,"","clone"],[18,3,1,"","create_shortcuts"],[18,4,1,"","data_storage_dir"],[18,2,1,"","dataset"],[18,2,1,"","datasets"],[18,2,1,"","debug"],[18,2,1,"","default_calculation_period"],[18,2,1,"","default_dataset"],[18,2,1,"","default_input_period"],[18,2,1,"","default_role"],[18,2,1,"","default_tax_benefit_system"],[18,2,1,"","default_tax_benefit_system_instance"],[18,3,1,"","delete_arrays"],[18,3,1,"","derivative"],[18,3,1,"","describe_entities"],[18,3,1,"","get_array"],[18,3,1,"","get_branch"],[18,3,1,"","get_entity"],[18,3,1,"","get_holder"],[18,3,1,"","get_known_periods"],[18,3,1,"","get_memory_usage"],[18,3,1,"","get_population"],[18,3,1,"","get_variable_population"],[18,3,1,"","get_weights"],[18,3,1,"","invalidate_cache_entry"],[18,3,1,"","invalidate_spiral_variables"],[18,3,1,"","link_to_entities_instances"],[18,3,1,"","map_result"],[18,2,1,"","max_spiral_loops"],[18,2,1,"","memory_config"],[18,2,1,"","opt_out_cache"],[18,3,1,"","purge_cache_of_invalid_values"],[18,3,1,"","set_input"],[18,4,1,"","trace"],[18,2,1,"","tracer"]],"policyengine_core.simulations.simulation":[[18,1,1,"","Simulation"]],"policyengine_core.simulations.simulation.Simulation":[[18,3,1,"","apply_reform"],[18,3,1,"","build_from_dataset"],[18,3,1,"","build_from_populations"],[18,3,1,"","calculate"],[18,3,1,"","calculate_add"],[18,3,1,"","calculate_dataframe"],[18,3,1,"","calculate_divide"],[18,3,1,"","calculate_output"],[18,3,1,"","clone"],[18,3,1,"","create_shortcuts"],[18,4,1,"","data_storage_dir"],[18,2,1,"","datasets"],[18,2,1,"","default_calculation_period"],[18,2,1,"","default_dataset"],[18,2,1,"","default_input_period"],[18,2,1,"","default_role"],[18,2,1,"","default_tax_benefit_system"],[18,2,1,"","default_tax_benefit_system_instance"],[18,3,1,"","delete_arrays"],[18,3,1,"","derivative"],[18,3,1,"","describe_entities"],[18,3,1,"","get_array"],[18,3,1,"","get_branch"],[18,3,1,"","get_entity"],[18,3,1,"","get_holder"],[18,3,1,"","get_known_periods"],[18,3,1,"","get_memory_usage"],[18,3,1,"","get_population"],[18,3,1,"","get_variable_population"],[18,3,1,"","invalidate_cache_entry"],[18,3,1,"","invalidate_spiral_variables"],[18,3,1,"","link_to_entities_instances"],[18,3,1,"","map_result"],[18,3,1,"","purge_cache_of_invalid_values"],[18,3,1,"","set_input"],[18,4,1,"","trace"]],"policyengine_core.simulations.simulation_builder":[[18,1,1,"","SimulationBuilder"]],"policyengine_core.simulations.simulation_builder.SimulationBuilder":[[18,3,1,"","add_default_group_entity"],[18,3,1,"","add_group_entity"],[18,3,1,"","add_parallel_axis"],[18,3,1,"","add_perpendicular_axis"],[18,3,1,"","add_person_entity"],[18,3,1,"","add_variable_value"],[18,3,1,"","build"],[18,3,1,"","build_default_simulation"],[18,3,1,"","build_from_dict"],[18,3,1,"","build_from_entities"],[18,3,1,"","build_from_variables"],[18,3,1,"","check_persons_to_allocate"],[18,3,1,"","create_entities"],[18,3,1,"","declare_entity"],[18,3,1,"","declare_person_entity"],[18,3,1,"","expand_axes"],[18,3,1,"","explicit_singular_entities"],[18,3,1,"","finalize_variables_init"],[18,3,1,"","get_count"],[18,3,1,"","get_ids"],[18,3,1,"","get_input"],[18,3,1,"","get_memberships"],[18,3,1,"","get_roles"],[18,3,1,"","get_variable_entity"],[18,3,1,"","init_variable_values"],[18,3,1,"","join_with_persons"],[18,3,1,"","nb_persons"],[18,3,1,"","raise_period_mismatch"],[18,3,1,"","register_variable"],[18,3,1,"","set_default_period"]],"policyengine_core.taxbenefitsystems.tax_benefit_system":[[19,1,1,"","TaxBenefitSystem"]],"policyengine_core.taxbenefitsystems.tax_benefit_system.TaxBenefitSystem":[[19,3,1,"","add_modelled_policy_metadata"],[19,3,1,"","add_variable"],[19,3,1,"","add_variable_metadata_from_folder"],[19,3,1,"","add_variables"],[19,3,1,"","add_variables_from_directory"],[19,3,1,"","add_variables_from_file"],[19,3,1,"","apply_reform"],[19,2,1,"","auto_carry_over_input_variables"],[19,2,1,"","basic_inputs"],[19,2,1,"","entities"],[19,3,1,"","get_package_metadata"],[19,3,1,"","get_parameters_at_instant"],[19,3,1,"","get_variable"],[19,3,1,"","get_variables"],[19,3,1,"","load_extension"],[19,3,1,"","load_parameters"],[19,2,1,"","modelled_policies"],[19,3,1,"","modify_parameters"],[19,3,1,"","neutralize_variable"],[19,2,1,"","parameters"],[19,2,1,"","parameters_dir"],[19,3,1,"","replace_variable"],[19,3,1,"","update_variable"],[19,2,1,"","variables_dir"]],"policyengine_core.taxscales.abstract_rate_tax_scale":[[20,1,1,"","AbstractRateTaxScale"]],"policyengine_core.taxscales.abstract_rate_tax_scale.AbstractRateTaxScale":[[20,3,1,"","bracket_indices"],[20,3,1,"","threshold_from_tax_base"]],"policyengine_core.taxscales.abstract_tax_scale":[[20,1,1,"","AbstractTaxScale"]],"policyengine_core.taxscales.amount_tax_scale_like":[[20,1,1,"","AmountTaxScaleLike"]],"policyengine_core.taxscales.linear_average_rate_tax_scale":[[20,1,1,"","LinearAverageRateTaxScale"]],"policyengine_core.taxscales.linear_average_rate_tax_scale.LinearAverageRateTaxScale":[[20,3,1,"","bracket_indices"],[20,3,1,"","threshold_from_tax_base"]],"policyengine_core.taxscales.marginal_amount_tax_scale":[[20,1,1,"","MarginalAmountTaxScale"]],"policyengine_core.taxscales.marginal_amount_tax_scale.MarginalAmountTaxScale":[[20,3,1,"","calc"]],"policyengine_core.taxscales.marginal_rate_tax_scale":[[20,1,1,"","MarginalRateTaxScale"]],"policyengine_core.taxscales.marginal_rate_tax_scale.MarginalRateTaxScale":[[20,3,1,"","bracket_indices"],[20,3,1,"","calc"],[20,3,1,"","inverse"],[20,3,1,"","marginal_rates"],[20,3,1,"","rate_from_bracket_indice"],[20,3,1,"","rate_from_tax_base"],[20,3,1,"","scale_tax_scales"],[20,3,1,"","threshold_from_tax_base"]],"policyengine_core.taxscales.rate_tax_scale_like":[[20,1,1,"","RateTaxScaleLike"]],"policyengine_core.taxscales.rate_tax_scale_like.RateTaxScaleLike":[[20,3,1,"","bracket_indices"],[20,3,1,"","threshold_from_tax_base"]],"policyengine_core.taxscales.single_amount_tax_scale":[[20,1,1,"","SingleAmountTaxScale"]],"policyengine_core.taxscales.single_amount_tax_scale.SingleAmountTaxScale":[[20,3,1,"","calc"]],"policyengine_core.taxscales.tax_scale_like":[[20,1,1,"","TaxScaleLike"]],"policyengine_core.tools.simulation_dumper":[[21,0,1,"","dump_simulation"],[21,0,1,"","restore_simulation"]],"policyengine_core.tools.test_runner":[[21,0,1,"","run_tests"]],"policyengine_core.tracers.computation_log":[[22,1,1,"","ComputationLog"]],"policyengine_core.tracers.computation_log.ComputationLog":[[22,3,1,"","print_log"]],"policyengine_core.tracers.flat_trace":[[22,1,1,"","FlatTrace"]],"policyengine_core.tracers.full_tracer":[[22,1,1,"","FullTracer"]],"policyengine_core.tracers.performance_log":[[22,1,1,"","PerformanceLog"]],"policyengine_core.tracers.simple_tracer":[[22,1,1,"","SimpleTracer"]],"policyengine_core.tracers.trace_node":[[22,1,1,"","TraceNode"]],"policyengine_core.tracers.tracing_parameter_node_at_instant":[[22,1,1,"","TracingParameterNodeAtInstant"]],"policyengine_core.variables.variable":[[24,1,1,"","Variable"]],"policyengine_core.variables.variable.Variable":[[24,2,1,"","adds"],[24,2,1,"","baseline_variable"],[24,2,1,"","default_value"],[24,2,1,"","defined_for"],[24,2,1,"","definition_period"],[24,2,1,"","documentation"],[24,2,1,"","dtype"],[24,2,1,"","end"],[24,2,1,"","entity"],[24,2,1,"","formulas"],[24,3,1,"","get_formula"],[24,3,1,"","get_introspection_data"],[24,2,1,"","hidden_input"],[24,2,1,"","index_in_module"],[24,3,1,"","is_input_variable"],[24,2,1,"","is_neutralized"],[24,2,1,"","json_type"],[24,2,1,"","label"],[24,2,1,"","max_length"],[24,2,1,"","metadata"],[24,2,1,"","module_name"],[24,2,1,"","name"],[24,3,1,"","parse_formula_name"],[24,2,1,"","possible_values"],[24,2,1,"","quantity_type"],[24,2,1,"","reference"],[24,2,1,"","set_input"],[24,2,1,"","subtracts"],[24,2,1,"","unit"],[24,2,1,"","uprating"],[24,2,1,"","value_type"]],"policyengine_core.warnings":[[25,1,1,"","LibYAMLWarning"],[25,1,1,"","MemoryConfigWarning"],[25,1,1,"","TempfileWarning"]],"policyengine_core.warnings.LibYAMLWarning":[[25,3,1,"","with_traceback"]],"policyengine_core.warnings.MemoryConfigWarning":[[25,3,1,"","with_traceback"]],"policyengine_core.warnings.TempfileWarning":[[25,3,1,"","with_traceback"]]},objnames:{"0":["py","function","Python function"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","property","Python property"],"5":["py","module","Python module"]},objtypes:{"0":"py:function","1":"py:class","2":"py:attribute","3":"py:method","4":"py:property","5":"py:module"},terms:{"0":[2,6,7,14,16,19,20,22,24,26,29,32],"00":30,"000003242492674":32,"0001":24,"001":32,"01":[11,12,13,14,24,26,29,30,31,32],"02":[13,30],"03":30,"04":[11,18,30],"05":[18,30],"07":11,"0f":[26,32],"1":[2,13,14,18,20,24,26,29,30,32],"10":[2,11,13,18,20,26,32],"100":[11,20,22,29,31],"1000":16,"10000":32,"100_000":32,"10400":11,"11":[18,26],"11666":32,"12":[11,13,18,26],"12000":18,"13":[18,24],"13333":32,"14":[11,18],"15":[2,32],"150":20,"1500":14,"15000":32,"16":32,"1666":32,"17":[19,32],"18":32,"1800":14,"19":[26,32],"1_000":20,"1_150":20,"1e6":[29,32],"1st":14,"2":[2,7,11,13,14,19,26,29,30,32],"20":[2,26,30],"200":[20,29],"2000":[14,18],"2010":13,"2011":13,"2012":13,"2013":13,"2014":13,"2015":[12,13],"2016":[12,18],"2017":[11,13],"2018":[11,14,18],"2019":[30,31,32],"2022":[4,29,32],"2023":26,"2028":26,"21":30,"22":30,"23":30,"24":[11,30],"25":[20,26],"250":20,"25000":4,"28":13,"29":[13,26],"2e6":29,"3":[13,14,22,30,32],"30":[13,26,32],"30000":4,"30_000":32,"31":[13,26],"32":14,"3333":32,"3335":32,"334":32,"34":14,"35":6,"3500":14,"35_period":24,"365":13,"366":13,"39":26,"3d":32,"4":[2,13,14,18,30,32],"40":26,"40_legislation_evolut":24,"450":20,"4500":32,"49":26,"4kb":11,"5":[2,18,20,30,32],"50":[20,26],"500":[20,32],"5000":32,"51":32,"550":12,"59":26,"6":[2,30,32],"60":26,"600":12,"64":11,"6666":32,"6667":32,"667":32,"668":32,"69":26,"7":[2,6,30],"70":26,"79":26,"8":[2,11,14,26],"80":2,"8333":32,"8b":11,"90":2,"byte":[5,11,12,14,18],"case":[11,12,18,28,29,30,31,32],"class":[2,3,4,5,6,7,8,9,11,12,13,14,15,16,18,19,20,22,23,24,25,26,28,29,30,31,32],"default":[4,5,11,14,18,19,22,24,26,27,28,29,31,32],"do":[0,27,29,31,32],"enum":[24,30],"export":26,"float":[2,5,9,11,12,14,18,20,22,24,30,31],"function":[1,2,4,6,11,12,14,16,17,18,19,20,21,24,26,29,30,31],"import":[16,18,20,26,28,29,31,32],"int":[5,7,11,12,13,14,18,20,24,29,30],"new":[3,4,9,10,11,12,13,16,19,20,28,31],"public":30,"return":[2,4,7,11,12,13,14,16,18,19,20,21,24,25,26,31,32],"short":[19,30],"static":[12,16],"throw":31,"true":[13,14,18,19,22,24,30],"try":19,"while":30,A:[1,2,3,4,6,11,12,13,16,18,19,21,24,29,30],As:32,By:24,For:[0,7,13,15,20,24,30,31,32],If:[0,4,11,12,14,18,19,20,21,22,24,27,30,31,32],In:[11,12,16,31],It:[1,3,4,19,31],That:0,The:[1,2,3,4,5,6,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],Then:[20,32],There:[11,18],These:26,To:[3,10,11,18,27,28,29,30,31,32],_:24,__init__:[28,32],__traceback__:25,_array_lik:[5,11,12,14,18],_entiti:24,_hl:4,_ndarrai:[2,18],_nested_sequ:[5,11,12,14,18],_nestedsequ:[5,11,12,14,18],_number:2,_object:[2,18],_role:24,_supportsarrai:[5,11,12,14,18],_type:[5,11,12,14,18],_unicod:2,abc:[12,20],abl:[11,12,18,29,31],about:[0,11,15,18,24,30],abov:[28,30],absolut:19,abstract_rate_tax_scal:20,abstract_tax_scal:20,accept:[11,18],access:[4,12],accord:14,account:14,accuraci:19,achiev:30,action:[0,27],actual:32,ad:[0,6,8,19,24,28,30],add:[0,12,16,18,19,24,29,30,31],add_bracket:20,add_child:[12,16],add_default_group_ent:18,add_group_ent:18,add_modelled_policy_metadata:19,add_parallel_axi:18,add_perpendicular_axi:18,add_person_ent:18,add_vari:[16,19,31],add_variable_metadata_from_fold:19,add_variable_valu:18,add_variables_from_directori:19,add_variables_from_fil:19,addit:27,address:0,after:[11,30],ag:[14,18,26,32],aggreg:[18,22,27],aka:13,all:[0,4,11,12,13,14,16,18,19,20,21,27,28,30,31],allow:[6,12,15,24],along:26,alreadi:31,alreai:18,also:[0,1,19,28,29,30,31,32],altern:24,alwai:19,amount:[20,30,31],amount_tax_scale_lik:20,an:[0,2,4,6,7,8,10,11,12,13,14,16,18,19,24,27,28,30,31,32],analys:26,ani:[0,1,2,5,6,10,11,12,14,16,18,20,24,27,30,32],anoth:[2,12,18,20,24,32],anyth:12,api:[16,28],appli:[11,12,16,19,20,26,27,28,30,31],apply_reform:[18,19],appropri:11,ar:[0,1,2,5,6,7,8,11,12,14,18,19,20,22,24,28,30,31],arbitrari:14,arbitrarili:28,aren:9,argument:31,around:12,arr:18,arrai:[2,4,7,11,14,18,20,22,32],arraylik:18,asarrai:7,ask:[0,15,16,19,32],assertionerror:[2,21],assign:18,associ:18,assum:[14,20],at_instant_lik:12,attach_to_par:12,attempt:27,attribut:[11,18,19,24],attribute_nam:24,attributeerror:8,auto_carry_over_input_vari:[3,19,28],automat:[0,3,4,19,24,27],avail:[18,27,28,29],averag:[11,20,22],avg:27,axi:18,b:32,back:0,bar_chart:26,base:[2,3,4,5,6,7,8,9,11,12,13,14,18,19,20,22,24,25,30],baselin:[16,26],baseline_incom:26,baseline_vari:24,basic:[19,30],basic_input:19,been:[4,8,11,12,18,19,24],befor:[0,30],below:[21,26],benefit:[1,3,8,15,18,21,30,31],better:30,between:[6,11,26,30],block:28,blue:[26,32],bool:[3,4,5,6,11,12,13,14,18,19,20,24,30],br:32,bracket:[12,20],bracket_indic:20,branch:18,branch_nam:[5,11,22],breakdown:[26,30],british:30,bucket:29,bug:0,build:[0,1,18],build_default_simul:18,build_from_dataset:18,build_from_dict:18,build_from_ent:18,build_from_nod:12,build_from_popul:18,build_from_vari:18,built:19,bump:0,c:[2,27],cach:[14,18],calc:20,calcul:[1,3,5,6,11,18,19,22,24,26,27,28,32],calculate_add:18,calculate_datafram:18,calculate_divid:18,calculate_output:18,call:[16,19,32],callabl:[14,16,19,24],can:[0,1,4,6,7,11,12,13,16,18,19,21,24,28,29,30,31,32],cannot:[8,32],cardin:26,carri:[3,19],cast:12,categor:[7,24],category_nam:26,caus:0,cell:[20,32],cell_siz:11,chang:[0,6,12,18,26,30,31,32],changelog_entri:0,chart:32,check:[4,11,12,14,18,28,32],check_array_compatible_with_ent:14,check_exist:[6,19],check_node_vectoris:12,check_period_valid:14,check_persons_to_alloc:18,check_role_valid:6,check_variable_defined_for_ent:6,child:[12,14,15,29,30],child_at_inst:12,child_benefit:[30,31],child_nam:12,children:[22,30],choic:[2,27],choos:2,chosen:2,chronolog:12,classmethod:[7,24],clear_parent_cach:12,clone:[5,11,12,14,18],clone_system:18,clone_tax_benefit_system:18,close:0,cloud:29,code:[3,8,10,24,26,27,28,30,32],collect:[4,30],color_discrete_map:26,color_discrete_sequ:32,com:19,combin:18,command:17,comment:24,common:[4,29,32],compar:29,complet:[0,4],complex:[5,11,12,14,18],compos:20,comput:[1,11,18,19,20,22,24,32],computation_log:22,concaten:2,concept:24,condit:[2,14],configur:30,conflict:12,consist:30,constant:[28,29],contain:[2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,30],containing_ent:6,content:[3,10],context:24,convent:24,convert:13,copi:[3,10,11,18,28],core:[1,3,4,18,26,27,28,29,32],coremicrosimul:28,coresimul:28,correct:4,correspond:[7,24],could:[12,32],count:[13,18,32],countri:[1,10,16,18,19,27,29,30,31,32],country_dir:[28,29],country_id:16,country_packag:27,country_templ:[3,18,28,29,32],country_template_dataset:[28,29],countrytaxbenefitsystem:[10,18,28],countrytemplatedataset:[28,29],coupl:28,cover:0,creat:[3,4,10,13,16,18,26],create_disk_storag:11,create_ent:18,create_shortcut:18,criteria:14,cross_section_bar_chart:26,csv:27,currenc:30,current:[1,12,19],custom:[1,25],d:[0,27],dai:[13,24],dark_grai:26,data:[1,7,11,12,18,19,21,24,26,28,29,30,32],data_format:[4,29],data_storag:[5,11],data_storage_dir:18,data_structur:30,data_typ:18,datafram:[4,18,26],dataset:[18,27,28,32],date:[0,13,24,30],datetim:[13,24],dd:[19,24],debug:18,debugg:27,decil:26,decile_impact:26,decim:20,declar:[11,32],declarant_princip:15,declare_ent:18,declare_person_ent:18,decod:[7,18],decode_enum:18,decode_to_str:7,decrement:13,def:[16,26,29,31],default_arrai:11,default_calculation_period:18,default_dataset:[18,28],default_input_period:18,default_rol:18,default_tax_benefit_system:[18,28],default_tax_benefit_system_inst:18,default_valu:24,defin:[1,3,4,6,8,10,12,13,14,18,19,24,28,29,30,31,32],defined_for:24,definit:[4,7,8,11,16,18,19,24,25,28,32],definition_period:[8,11,18,24,31],delet:[5,18],delete_arrai:[11,18],delta:18,demonstr:28,depend:[1,2,24],depth:[22,27],deriv:18,descend:30,describ:[0,3,18,19,24,29,30],describe_ent:18,descript:[0,6,12,18,24,30,32],design:1,detail:21,detect:27,develop:1,di:18,dict:[2,4,5,11,12,16,18,19,21,24,28,30,32],dictionari:[4,13,16,18,19,24,32],differ:[1,3,6,10,11,19,26,29,30],differenti:18,dimens:14,dir:19,directli:[4,28],directori:[3,11,12,19,21,27,28],directory_path:12,disappear:24,disk:[4,5,25],displai:30,display_fig:[26,32],distribut:26,divid:11,doc:[6,24,32],document:[0,1,11,18,24,30],doe:[1,4,14,18,19,21,28,31],doesn:8,dollar:30,don:[0,10,14,32],dot:12,doubt:0,down:18,download:[4,27,29],downward:30,drop:27,dtype:[5,11,12,14,18,24,32],dynam:29,dynamicbreakdown:30,e:[1,4,6,11,12,14,18,19,27,30,32],each:[0,1,2,11,18,22,24,28,30,32],earn:15,edit:16,effect:[19,27],either:[2,4,13,30],eldest:14,els:0,employe:30,employment_incom:4,empti:2,empty_arrai:14,enabl:[1,28],encod:7,encoded_arrai:7,end:[22,24],england:30,enough:[11,18],ensur:[30,31],enter:4,entir:[6,22,24,27,30],entiti:[1,3,11,14,15,18,19,24,28,30,31,32],entity_id:18,entity_nam:18,entity_plur:18,entity_singular:18,enum34:7,enum_arrai:[7,24],enum_item_arrai:7,enumarrai:24,enumer:7,environ:27,err:0,error:[19,27,31],essenti:31,etc:[6,11],etern:[24,29],eur:30,euro:30,eval:30,evalu:[12,30],everi:18,everyon:[19,32],everyth:[31,32],exampl:[0,2,11,13,14,15,16,18,19,22,26,28,30,31,32],example_data:4,excecut:21,except:[8,19,25],exclud:30,execut:27,exist:[4,10,14,18,19,31,32],expand_ax:18,experi:26,explicit:[18,19],explicit_singular_ent:18,explor:[19,21],express:[20,30,32],extens:[19,27],extension_templ:10,extra:32,extract:13,f:26,factor:20,factori:22,fail:0,failur:27,fals:[3,4,5,6,11,14,18,19,20,22,24,27,28,30],famil:15,famili:[15,30],fanci:12,featur:[0,4],feel:0,few:[29,32],field:[0,24,30],fig:32,file:[0,3,4,8,12,19,21,24,27,28,30],file_path:[4,12,16,19],filenam:4,filepath:[3,19],fill:11,filled_arrai:14,finalize_variables_init:18,find:[0,32],first:[13,18],first_dai:13,first_month:13,first_person:15,fit:20,fix:[0,30],flag:27,flat_tax:1,flat_trac:22,float32:32,float64:[7,11,20],float_:20,flow:24,focu:27,folder:[3,10,18,28,30],folder_path:29,follow:[28,30,32],fork:[1,4],form:[29,30],format:[4,13,19,24,29,32],format_fig:32,former:32,formula:[15,18,24,31],formula_yyyi:24,formula_yyyy_mm:24,formula_yyyy_mm_dd:24,forward:30,found:[0,8,19],frame:[4,18],framework:1,franc:19,free:[0,7,24],free_lodg:7,freeform:30,from:[2,3,4,7,10,12,13,16,18,19,20,21,24,26,28,29,31,32],from_dict:16,full:[6,30,32],full_trac:22,fulli:[9,18],further:30,futur:9,g:[1,4,6,11,12,14,19,32],gain:26,gbp:30,gener:[1,4,12,18,19,24,26,27,28,29,30,31,32],get:[5,11,14,18,19,24],get_arrai:[11,18],get_at_inst:12,get_branch:18,get_count:18,get_descend:12,get_ent:18,get_formula:24,get_hold:[14,18],get_id:18,get_index:14,get_input:18,get_introspection_data:24,get_known_branch_period:[5,11],get_known_period:[5,11,18],get_membership:18,get_memory_usag:[5,11,14,18],get_package_metadata:19,get_parameters_at_inst:19,get_popul:18,get_rank:14,get_rol:[14,18],get_subperiod:13,get_vari:[6,19],get_variable_ent:18,get_variable_popul:18,get_weight:18,github:[0,19],given:[2,4,11,12,13,14,18,19,20,24,27,29,30,32],global:1,googl:29,gov:[12,26,30],govern:30,grai:26,grandchildren:30,graph:27,great:30,gross:20,gross_revenu:20,group:[6,14,18,32],group_ent:[3,6],group_popul:[14,18],groupbi:26,groupent:[3,14],grouppopul:[15,18],guarante:6,h5:4,h5py:4,h:[26,27],ha:[0,4,8,11,12,14,18,19,24,27,28],handl:[5,13,18,32],has_rol:14,have:[0,1,7,10,11,14,19,24,30,32],hdfstore:4,hear:0,help:0,helper:[1,6,11,12,13],here:[28,29,30,31,32],hidden:24,hidden_input:24,histori:30,hmrc:26,hold:[28,30],holder:[14,18],home:3,hood:24,hous:9,household:[6,7,14,18,24,29],household_id:29,household_income_decil:26,household_net_incom:26,household_weight:29,housing_benefit:12,housing_occupancy_statu:7,housingoccupancystatu:7,hover_text_funct:26,hovertempl:32,how:[6,12,18,28,29,31,32],href:[30,32],html:[24,27],http:[12,19,24,30],i:[18,27,30],id:[14,16,32],identifi:[6,7,16,30],ignor:27,ignore_vari:27,impact:29,implement:[4,12,16,28,30],importerror:32,improv:7,in_memory_storag:5,includ:[0,1,11,17,21,29,31,32],incom:[12,26,32],income_tax:[1,12,26,30,32],increas:[27,30],increment:13,index:[7,12,18,19,24,26,30],index_in_modul:24,indexed_enum:7,indic:[20,30],indirectli:4,individu:[18,25],infer:18,infinitesim:18,inform:[16,30],inherit:[28,31,32],init_variable_valu:18,initi:18,initialis:[10,18],input:[2,3,7,8,11,18,19,20,24,32],input_arrai:7,input_dict:18,inspect:32,instal:[19,25,27],installed_packag:19,instanc:[6,7,11,12,13,15,16,18,19,20,24],instance_id:18,instance_index:18,instance_object:18,instances_json:18,instant:[12,18,19,26,30,31],instant_:[12,13,19],instant_str:[8,12],instanti:[4,12,28,29],instead:[1,14,28,31],instrospect:24,int32:18,int64:[7,20],int_:[7,20],integ:[13,18,20],intend:[3,10],interact:28,interfac:[17,32],interfer:12,intermedi:18,intersect:13,interv:[13,30],introduc:24,intuit:32,invalid:18,invalidate_cache_entri:18,invalidate_spiral_vari:18,invers:20,inversion_revenu:19,invert:20,involv:22,io:4,ipynb:32,is_child:14,is_etern:5,is_input_vari:24,is_neutr:24,is_person:6,isn:0,issu:0,item:[2,7],iter:[12,13,18],its:[8,11,14,19,24,30,31],javier:18,join_with_person:18,json:[18,24,28],json_typ:24,just:[11,18,29,32],keep:[11,20],kei:[4,6,13,18,24,32],keyword:27,known:[11,18],kwarg:21,label:[4,6,24,29,30,31],lambda:26,larg:[22,28],larger:[11,18],last:[13,30,32],last_3_month:13,last_month:13,last_year:13,later:21,latter:32,law:32,layperson:0,least:0,legend_i:26,legend_orient:26,legisl:[12,16,19,24,30],length:[11,24],less:[26,30],level:5,librari:2,libyaml:25,light_grai:26,like:[0,4],limit:24,line:[17,24,32],linear:20,linear_average_rate_tax_scal:20,link:30,link_to_entities_inst:18,list:[2,3,4,5,6,9,11,12,13,14,18,19,21,22,24,26,27,28,30,32],ll:[28,31,32],load:[4,12,19,27,29,32],load_dataset:4,load_extens:19,load_paramet:19,load_parameter_fil:16,locat:19,lodger:7,log:[4,22,28],logic:[1,18,19,28,29],longer:30,look:30,lose:26,low:5,lower:[4,26],lower_age_group:26,lowest:20,mai:[9,11,18],main:28,mainli:12,maintain:[0,1,30],make:[0,2,16,19],manag:27,mani:1,map:[14,18],map_result:18,map_to:[18,26],margin:[12,20],marginal_amount_tax_scal:20,marginal_r:20,marginal_rate_tax_scal:20,mask:14,match:[2,8,11,18,20,24],max:[14,24,27,32],max_depth:[22,27],max_length:24,max_memory_occup:9,max_spiral_loop:18,maxim:27,maximum:[14,22],md:19,mean:30,medium:19,medium_dark_grai:26,meet:32,member:[6,14,32],members_entity_id:14,members_posit:14,members_rol:14,memori:[5,11,18],memory_config:[9,18],memoryconfig:[18,25],merg:12,messag:8,metadata:[3,4,12,19,24,28,29],metatada:19,method:[4,11,14,16,18,29,30,31,32],microdatafram:18,microdf:[18,32],microseri:[18,32],microsimul:[1,4,26,28,29,32],might:[15,30,32],mimick:2,min:[14,27,32],minim:24,minimum:[14,22],miscellan:21,mm:[19,24],mode:[4,22],model:[1,3,4,10,18,19,26,29,32],modelled_polici:[3,19],modif:[16,19],modifi:[11,12,16,18],modifier_funct:[16,19],modify_my_paramet:16,modify_paramet:[16,19,26,31],modul:[2,3,4,5,6,10,12,13,15,16,17,18,19,20,21,22,23,24,25,28],module_nam:24,month:[13,18,24,29],more:[0,11,18,21,22,24,26],most:[18,28,29,31,32],move:[4,30],multilin:24,must:[10,12,14,16,19,28,29,30,31],mutat:19,myreform:16,n:[14,27],n_2:13,name:[3,4,8,10,12,16,18,19,20,22,24,29,30,31,32],name_filt:27,nan_creation_error:8,nation:4,national_insur:30,nb_arrai:11,nb_cells_by_arrai:11,nb_person:[14,18],nb_request:11,nb_requests_by_arrai:11,ndarrai:[2,7,14,18,20],nearest:30,necessari:0,need:[0,4,27,28,29,31,32],net:[20,26],neutral:[19,24,31],neutral_el:14,neutralize_vari:[19,31],never:24,new_paramet:16,new_vari:31,new_variable_class:31,nikhil:32,nikhilwoodruff:0,node:[12,20],none:[2,3,4,5,6,7,8,9,11,12,13,14,15,16,18,19,20,21,22,24,29],nonzero:24,note:[0,14],notebook:32,noth:24,notimplementederror:4,np:[4,18],nptype:[2,18],nth:14,number:[2,13,14,21,24],numer:20,numericalarrai:20,numpi:[2,4,5,7,11,12,14,18,20,24],o:27,object:[2,3,4,5,6,9,11,12,14,16,18,19,22,24,30,31],object_:7,offset:13,often:32,old:26,oldest:24,on_disk_storag:[5,11],ondiskstorag:11,one:[0,2,4,8,18,19,20,32],onli:[11,14,19,22,24,27,32],only_vari:27,open:[1,4],openfisca:[1,4,19,24,27],openfisca_fr:19,oper:12,opt_out_cach:18,option:[3,4,5,6,7,9,11,12,13,14,16,18,19,20,21,22,27,31,32],order:[12,14],ordered_members_map:14,org:24,organis:28,origin:[4,11,18],os:28,other:[1,4,6,12,13,24,25,28,32],our:[0,11,32],out:0,outcom:26,output:27,over:[3,12,19,30,31],overrid:31,overridden:[19,30],overriden:4,overriding_variable_class:31,overwrit:[4,18],owner:7,p:27,packag:[1,10,18,19,27,30,31,32],page:32,paid:30,pair:16,panda:[4,18,32],parallel:32,param:20,paramet:[1,2,3,4,6,7,8,11,16,18,19,20,21,22,24,26,28],parameter_at_inst:12,parameter_metadata:30,parameter_nod:[12,16,19],parameter_node_at_inst:[12,19,22],parameter_node_metadata:30,parameter_not_found_error:8,parameter_parsing_error:8,parameter_scal:12,parameter_scale_bracket:12,parameter_valu:16,parametermetadata:30,parameternod:[16,19,22,31],parameternodeatinst:19,parameternodemetadata:30,parameters_dir:[3,19,28],parent:[12,14,15,18,22,29],pars:8,parse_formula_nam:24,part:[0,29],partial:27,particular:[15,30,32],pass:[0,18,21,27,32],patch:0,path:[4,8,19,21,24,27,28],path_to_yaml_dir:19,path_to_yaml_fil:16,pathlib:[4,28],pattern:12,pd:[4,18],pdb:27,peopl:[14,18,32],per:[4,30],percent:[26,30],percentag:30,perform:[7,27],performance_graph:27,performance_log:22,period:[1,3,4,5,7,8,11,12,14,16,18,19,22,24,26,29,31,32],period_:[5,11,13,14,18],period_mismatch_error:8,period_str:18,perpendicular:32,person:[1,6,11,14,15,18,19,24,26,30,31,32],person_household_id:29,person_household_rol:29,person_id:[18,29],person_singular:18,personal_gain:26,persons_group_assign:18,persons_id:18,persons_plur:18,persons_to_alloc:18,piec:30,ping:0,pip:19,pleas:0,plotli:32,plugin:10,plural:[6,18,32],pluralis:6,point:[1,3,13,19,30],polici:[1,3,18,19,28,29],policyengin:[1,3,16,19,24,26,27,29,31,32],policyengine_cor:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32],policyengine_uk:26,popul:[0,11,15,18,22,28,29],posit:[14,18],posixpath:3,possibl:[2,24,27,30],possible_valu:[7,24],pound:30,power:[1,17,26],pre:18,preprocess:18,preserv:11,preserve_storage_dir:5,previous:[18,19],primarili:0,print:22,print_log:22,priority_vari:9,privat:29,privatedataset:29,process:[0,1,24,30],produc:30,project:[0,14],propag:30,propagate_metadata_to_children:30,properti:[1,4,11,13,14,18],protocol:12,provid:[1,4,8,14,18,26,27,32],publicdataset:29,publicli:29,purge_cache_of_invalid_valu:18,purpos:[28,32],put:5,put_in_cach:11,px:32,py:[28,32],pytabl:4,python:[1,3,17,18,19,24,27,28,30,31,32],quantity_typ:24,queri:8,question:15,quickli:28,r:[4,18,27],rais:[2,4,8,18,19,21,25],raise_period_mismatch:18,rang:[26,30],rank:14,rate:[1,12,20,26,30],rate_from_bracket_indic:20,rate_from_tax_bas:20,rate_tax_scale_lik:20,rather:10,raw:29,re:[0,18,32],read:[11,18],reader:4,readm:19,real:30,recent:32,recurs:[12,19,21],reduc:14,refer:[12,24,29],reform:[3,18,19,24,26,27,28],reform_nam:16,reform_path:19,reformed_incom:26,regener:4,region:30,register_vari:18,rel:19,relat:[6,15,28,30],relev:[20,30],remov:[3,4,9,10,11,12,27,31],renam:[3,7,10],replac:[2,12,16,19,24,28],replace_vari:19,repo:[3,10,18,30],repositori:32,repository_url:19,repres:[4,6,7,11,18,19,20,22,23,30,32],request:[11,12,19],requir:[1,15,18],respect:[1,14,18,19],respond:0,respons:[5,28,32],rest:2,restor:[5,21],result:[14,18,32],retriev:5,revenu:20,revers:[12,14],revolv:12,right:20,role:[14,15,18,32],role_id:18,role_nam:14,root:12,round:[20,30],round_base_decim:20,round_decim:20,run:[0,6,11,18,21,27],runner:[3,17],s:[1,4,6,11,15,18,19,28,29,30,31,32],safe:30,said:15,salari:[12,14,18,29,32],salary_time_period:29,same:[2,8,16,19,28,29,30,31,32],satur:18,save:4,save_dataset:4,save_variable_valu:29,scale:12,scale_tax_scal:20,scan:27,schema:30,scipi:24,screen:24,see:[0,7,14,19,21,24,26,29,32],select:2,self:[7,13,16,19,25,26,29,30,31],selfupr:30,send:0,sens:0,sentenc:30,sequenc:[2,3,4,18,19],seri:32,set:[1,8,11,12,14,18,19,20,22,24,25,26,27,28,30],set_default_period:18,set_input:[11,18,24],set_input_dispatch_by_period:24,set_input_divide_by_period:24,set_tax_benefit_system:6,sever:[6,24],shortcut:18,should:[0,4,12,16,18,19,28,30,31,32],show:[26,32],side:0,sim:32,simpl:32,simple_trac:22,simpletrac:18,simpli:[3,10,19],simplifi:1,simul:[1,4,5,8,11,14,21,22,24,28,29],simulation_build:18,simulation_dump:21,sinc:13,singl:[18,20,30,32],single_amount_tax_scal:20,singular:18,situat:[8,18,28,32],situation_exampl:28,situation_parsing_error:8,size:[2,13],size_in_dai:13,size_in_month:13,slice:26,slow:18,snake:30,so:[14,21,32],some:19,some_other_vari:16,some_param:[12,16],some_period:16,some_tax:[12,16],some_vari:16,someon:0,sometim:0,sort:14,sourc:[1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,18,19,20,21,22,24,25,30],source_ent:18,special:30,specif:[1,8,10,11,25,28,29],specifi:[7,14,18,27,29,31,32],speed:[18,26],spiral_error:8,stabl:9,stai:19,standalon:10,standardis:[4,29],start:[3,12,13,22,24,26,31],start_inst:[13,30],starter:[3,10],state:30,statement:2,sterl:30,stock:24,stop:[12,13,26,31],storag:[4,29],storage_dir:5,store:[4,5,11,18,19,24,29,30],store_fil:4,str:[2,3,4,5,6,9,11,12,13,14,16,18,19,20,21,22,24,30],str_:7,string:[7,18,24],string_identifier_arrai:7,structur:[18,28,30,32],style:26,sub_modul:19,subclass:[7,16,19,29],subdirectori:21,subnod:30,subperiod:11,subtract:24,sucess:21,suit:22,sum:[14,20,26,32],summari:6,superset:6,sure:[0,32],survei:[29,32],system:[1,3,8,18,21,31],t:[0,2,8,9,10,14,18,28,30,32],tabl:[4,27],take:[11,16,19,24,31],taken:14,target:18,target_ent:18,tax:[1,3,8,12,16,18,21,31,32],tax_bas:20,tax_benefit_system:[3,6,8,16,18,19,21,24],tax_scal:20,tax_scale_lik:20,taxbenefitsystem:[3,8,16,18,21,28],taxscal:20,tb:25,techniqu:29,tell:0,tempfil:25,templat:29,temporari:18,term:20,test:[0,17,21,28,29],test_runn:21,text:[24,30],text_format:26,than:[10,19,26,30],that2:2,thei:[11,30],thi:[0,1,2,4,6,11,12,14,16,18,19,22,24,27,28,29,30,31,32],this1:2,this_year:13,those:28,thousand:29,three:32,threshold:[2,20,30],threshold_from_tax_bas:20,throughout:2,time:[1,4,11,12,13,30,32],time_period:[4,32],time_period_arrai:[4,29],titl:[26,32],tool:27,toolbox:13,total_nb_byt:11,toward:[19,21],trace:[1,18,27],trace_nod:22,traceback:[8,32],tracer:18,tracing_parameter_node_at_inst:22,track:[11,22],treat:32,tree:[1,3,12,19,28,30,31],tri:8,trigger:18,tripl:13,tupl:[11,13,18,24],twice:11,two:[2,5,8,14,29,30],type:[1,2,4,6,7,11,12,16,18,19,20,22,24,28,30],u:18,uat:30,ui:16,uk:[1,26,30],unchang:19,under:[24,26,32],unicod:2,union:[2,4,5,7,11,12,14,18,30],uniqu:14,unit:[13,20,24],universal_credit:30,unknown:[18,32],unless:30,unlik:[10,18],up:[18,22,26,27],updat:[12,16,19,26,31],update_layout:32,update_trac:32,update_vari:[16,19,31],upload:[27,29],uprat:[24,30],upratingindex:30,upratingroundingconfig:30,upratingschema:30,upward:30,url:[4,29,30],us:[0,1,2,3,4,5,7,10,11,12,13,14,16,18,19,20,21,22,23,24,25,26,28,29,30,31,32],usabl:28,usag:[11,18,24,27,32],usd:30,use_weight:18,user:[1,28,32],userwarn:25,util:[21,26],v:27,valid:[12,24,29],valu:[1,2,4,5,7,8,11,12,13,14,16,18,19,20,22,24,26,27,28,31,32],value_by_condit:2,value_from_first_person:14,value_from_partn:14,value_from_person:14,value_nth_person:14,value_typ:[24,31],valueerror:[8,18],values_list:12,vari:32,variabl:[1,3,4,8,11,14,16,18,19,20,22,23,27,28,30,32],variable_nam:[6,8,14,18,19,31,32],variable_name_conflict_error:8,variable_not_found_error:8,variablebreakdown:30,variablenameconflicterror:19,variables_dir:[3,19,28],variables_to_drop:9,varieti:18,variou:[12,20],ve:0,vector:[5,12,14,22],vectori:12,vectorial_parameter_node_at_inst:12,verbos:27,version:[6,9,19],virtual:[11,18],visualis:26,vscode:32,w:18,wa:12,wai:31,wale:30,want:[28,31,32],warn:19,we:[29,32],week:0,weight:[18,29,32],weight_time_period:29,weightedsimul:32,welcom:0,well:[24,32],were:32,what:[0,14,32],when:[2,3,8,18,19,20,24,25,30],where:[12,13,18,24,30],whether:[3,4,18,19,24,30],which:[1,4,6,7,10,11,12,14,16,18,22,24,27,28,30,31,32],who:[14,32],whose:[6,7,11,14,18,20,30],why:0,window:0,with_traceback:25,within:[0,2,14,20],without:[0,11,12,18,27],won:28,word:27,work:[3,32],workflow:0,world:30,would:[11,32],write:[0,4,21,27],wrt:18,www:30,x11szmlszq:32,x:[26,30,32],xaxis_tickformat:[26,32],xaxis_tickprefix:32,xaxis_tickv:26,xaxis_titl:[26,32],y:[26,30,32],yaml:[0,3,12,16,19,21,27,30],yaxis_tickformat:[26,32],yaxis_tickprefix:32,yaxis_ticktext:26,yaxis_titl:[26,32],year:[4,13,24,26,29,31],yet:9,you:[0,4,18,28,31,32],your:[0,3,10,27],yourself:0,yyyi:[19,24],z:30,zero:31,zipcod:12},titles:["How to contribute","Introduction","Commons","Country template","Data","Data storage","Entities","Enums","Errors","Experimental features","Extension template","Holders","Parameters","Periods","Populations","Projectors","Reforms","Scripts","Simulations","Tax-benefit systems","Tax scales","Tools","Tracers","Types","Variables","Warnings","Charts","Using the command-line interface","Creating a country package","Writing datasets","Writing parameters","Writing reforms","Simulating policy"],titleterms:{"enum":7,"switch":2,abstractratetaxscal:20,abstracttaxscal:20,amounttaxscalelik:20,api:29,apply_threshold:2,argument:27,atinstantlik:12,ax:32,bar:26,benefit:19,build:28,build_ent:6,changelog:0,chart:26,command:27,common:2,computationlog:22,concat:2,contains_nan:12,contribut:0,countri:[3,28],countrytaxbenefitsystem:3,creat:28,cross:26,data:[4,5,27],dataset:[4,29],dump_simul:21,entiti:6,entitytopersonprojector:15,entri:0,enumarrai:7,error:8,exampl:29,experiment:9,extens:10,featur:9,firstpersontoentityprojector:15,flattrac:22,formula:2,fulltrac:22,groupent:6,grouppopul:14,holder:11,household:32,how:0,individu:32,inmemorystorag:5,instant:13,interfac:[27,28],introduct:1,libyamlwarn:25,line:27,linearaverageratetaxscal:20,load_parameter_fil:12,marginalamounttaxscal:20,marginalratetaxscal:20,memoryconfig:9,memoryconfigwarn:25,metadata:30,microsimul:18,modifi:31,name:27,nancreationerror:8,node:30,ondiskstorag:5,other:30,over:32,packag:28,paramet:[12,30,31],parameteratinst:12,parameternod:12,parameternodeatinst:12,parameternotfounderror:8,parameterparsingerror:8,parameterscal:12,parameterscalebracket:12,performancelog:22,period:13,periodmismatcherror:8,polici:32,popul:[14,32],posit:27,privatedataset:4,projector:15,publicdataset:4,pull:0,ratetaxscalelik:20,refer:30,reform:[16,31],repo:28,request:0,restore_simul:21,role:6,run_test:21,scale:20,script:17,section:26,set_input_dispatch_by_period:11,set_input_divide_by_period:11,simpletrac:22,simul:[18,32],simulationbuild:18,singleamounttaxscal:20,situationparsingerror:8,specif:30,specifi:30,spiralerror:8,storag:5,sub:27,system:19,tax:[19,20],taxbenefitsystem:19,taxscalelik:20,tempfilewarn:25,templat:[3,10],test:27,tool:21,tracenod:22,tracer:22,tracingparameternodeatinst:22,type:23,uniqueroletoentityprojector:15,unit:30,us:27,valu:30,variabl:[24,31],variablenameconflicterror:8,variablenotfounderror:8,vectorialparameternodeatinst:12,warn:25,write:[29,30,31]}}) \ No newline at end of file +Search.setIndex({docnames:["contributing/intro","intro","python_api/commons","python_api/country_template","python_api/data","python_api/data_storage","python_api/entities","python_api/enums","python_api/errors","python_api/experimental","python_api/extension_template","python_api/holders","python_api/parameters","python_api/periods","python_api/populations","python_api/projectors","python_api/reforms","python_api/scripts","python_api/simulations","python_api/taxbenefitsystems","python_api/taxscales","python_api/tools","python_api/tracers","python_api/types","python_api/variables","python_api/warnings","usage/charts","usage/cli","usage/country","usage/datasets","usage/parameters","usage/reforms","usage/simulation"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["contributing/intro.md","intro.md","python_api/commons.md","python_api/country_template.md","python_api/data.md","python_api/data_storage.md","python_api/entities.md","python_api/enums.md","python_api/errors.md","python_api/experimental.md","python_api/extension_template.md","python_api/holders.md","python_api/parameters.md","python_api/periods.md","python_api/populations.md","python_api/projectors.md","python_api/reforms.md","python_api/scripts.md","python_api/simulations.md","python_api/taxbenefitsystems.md","python_api/taxscales.md","python_api/tools.md","python_api/tracers.md","python_api/types.md","python_api/variables.md","python_api/warnings.md","usage/charts.ipynb","usage/cli.md","usage/country.ipynb","usage/datasets.ipynb","usage/parameters.md","usage/reforms.md","usage/simulation.ipynb"],objects:{"policyengine_core.commons.formulas":[[2,0,1,"","apply_thresholds"],[2,0,1,"","concat"],[2,0,1,"","switch"]],"policyengine_core.country_template":[[3,1,1,"","CountryTaxBenefitSystem"]],"policyengine_core.country_template.CountryTaxBenefitSystem":[[3,2,1,"","auto_carry_over_input_variables"],[3,2,1,"","entities"],[3,2,1,"","modelled_policies"],[3,2,1,"","parameters_dir"],[3,2,1,"","variables_dir"]],"policyengine_core.data":[[4,1,1,"","Dataset"]],"policyengine_core.data.Dataset":[[4,2,1,"","ARRAYS"],[4,2,1,"","TABLES"],[4,2,1,"","TIME_PERIOD_ARRAYS"],[4,2,1,"","data_format"],[4,3,1,"","download"],[4,4,1,"","exists"],[4,2,1,"","file_path"],[4,3,1,"","generate"],[4,2,1,"","label"],[4,3,1,"","load"],[4,3,1,"","load_dataset"],[4,2,1,"","name"],[4,3,1,"","remove"],[4,3,1,"","save"],[4,3,1,"","save_dataset"],[4,3,1,"","store_file"],[4,2,1,"","time_period"],[4,2,1,"","url"],[4,4,1,"","variables"]],"policyengine_core.data_storage.in_memory_storage":[[5,1,1,"","InMemoryStorage"]],"policyengine_core.data_storage.in_memory_storage.InMemoryStorage":[[5,3,1,"","clone"],[5,3,1,"","delete"],[5,3,1,"","get"],[5,3,1,"","get_known_branch_periods"],[5,3,1,"","get_known_periods"],[5,3,1,"","get_memory_usage"],[5,2,1,"","is_eternal"],[5,3,1,"","put"]],"policyengine_core.data_storage.on_disk_storage":[[5,1,1,"","OnDiskStorage"]],"policyengine_core.data_storage.on_disk_storage.OnDiskStorage":[[5,3,1,"","delete"],[5,3,1,"","get"],[5,3,1,"","get_known_branch_periods"],[5,3,1,"","get_known_periods"],[5,3,1,"","put"],[5,3,1,"","restore"]],"policyengine_core.data_structures":[[30,1,1,"","ParameterMetadata"],[30,1,1,"","ParameterNodeMetadata"],[30,1,1,"","Reference"],[30,1,1,"","Unit"],[30,5,0,"-","parameter_metadata"],[30,5,0,"-","parameter_node_metadata"]],"policyengine_core.data_structures.ParameterMetadata":[[30,2,1,"","description"],[30,2,1,"","documentation"],[30,2,1,"","label"],[30,2,1,"","name"],[30,2,1,"","reference"],[30,2,1,"","unit"],[30,2,1,"","uprating"]],"policyengine_core.data_structures.ParameterNodeMetadata":[[30,2,1,"","breakdown"],[30,2,1,"","label"],[30,2,1,"","name"],[30,2,1,"","propagate_metadata_to_children"],[30,2,1,"","reference"]],"policyengine_core.data_structures.Reference":[[30,2,1,"","href"],[30,2,1,"","label"],[30,2,1,"","type"]],"policyengine_core.data_structures.Unit":[[30,2,1,"","EUR"],[30,2,1,"","GBP"],[30,2,1,"","PERCENT"],[30,2,1,"","USD"]],"policyengine_core.data_structures.parameter_metadata":[[30,1,1,"","SelfUprating"],[30,1,1,"","UpratingIndex"],[30,1,1,"","UpratingRoundingConfig"],[30,1,1,"","UpratingSchema"]],"policyengine_core.data_structures.parameter_metadata.UpratingRoundingConfig":[[30,2,1,"","interval"],[30,2,1,"","type"]],"policyengine_core.data_structures.parameter_metadata.UpratingSchema":[[30,2,1,"","parameter"],[30,2,1,"","start_instant"],[30,2,1,"","type"]],"policyengine_core.data_structures.parameter_node_metadata":[[30,1,1,"","DynamicBreakdown"],[30,1,1,"","VariableBreakdown"]],"policyengine_core.entities.entity":[[6,1,1,"","Entity"]],"policyengine_core.entities.entity.Entity":[[6,3,1,"","check_role_validity"],[6,3,1,"","check_variable_defined_for_entity"],[6,3,1,"","get_variable"],[6,3,1,"","set_tax_benefit_system"]],"policyengine_core.entities.group_entity":[[6,1,1,"","GroupEntity"]],"policyengine_core.entities.helpers":[[6,0,1,"","build_entity"]],"policyengine_core.entities.role":[[6,1,1,"","Role"]],"policyengine_core.enums.enum":[[7,1,1,"","Enum"]],"policyengine_core.enums.enum.Enum":[[7,3,1,"","encode"]],"policyengine_core.enums.enum_array":[[7,1,1,"","EnumArray"]],"policyengine_core.enums.enum_array.EnumArray":[[7,3,1,"","decode"],[7,3,1,"","decode_to_str"]],"policyengine_core.errors.nan_creation_error":[[8,1,1,"","NaNCreationError"]],"policyengine_core.errors.parameter_not_found_error":[[8,1,1,"","ParameterNotFoundError"]],"policyengine_core.errors.parameter_parsing_error":[[8,1,1,"","ParameterParsingError"]],"policyengine_core.errors.period_mismatch_error":[[8,1,1,"","PeriodMismatchError"]],"policyengine_core.errors.situation_parsing_error":[[8,1,1,"","SituationParsingError"]],"policyengine_core.errors.spiral_error":[[8,1,1,"","SpiralError"]],"policyengine_core.errors.variable_name_conflict_error":[[8,1,1,"","VariableNameConflictError"]],"policyengine_core.errors.variable_not_found_error":[[8,1,1,"","VariableNotFoundError"]],"policyengine_core.experimental.memory_config":[[9,1,1,"","MemoryConfig"]],"policyengine_core.holders.helpers":[[11,0,1,"","set_input_dispatch_by_period"],[11,0,1,"","set_input_divide_by_period"]],"policyengine_core.holders.holder":[[11,1,1,"","Holder"]],"policyengine_core.holders.holder.Holder":[[11,3,1,"","clone"],[11,3,1,"","create_disk_storage"],[11,3,1,"","default_array"],[11,3,1,"","delete_arrays"],[11,3,1,"","get_array"],[11,3,1,"","get_known_branch_periods"],[11,3,1,"","get_known_periods"],[11,3,1,"","get_memory_usage"],[11,3,1,"","put_in_cache"],[11,3,1,"","set_input"]],"policyengine_core.parameters.at_instant_like":[[12,1,1,"","AtInstantLike"]],"policyengine_core.parameters.at_instant_like.AtInstantLike":[[12,3,1,"","get_at_instant"]],"policyengine_core.parameters.helpers":[[12,0,1,"","contains_nan"],[12,0,1,"","load_parameter_file"]],"policyengine_core.parameters.parameter":[[12,1,1,"","Parameter"]],"policyengine_core.parameters.parameter.Parameter":[[12,3,1,"","clone"],[12,3,1,"","get_descendants"],[12,3,1,"","update"],[12,2,1,"","values_list"]],"policyengine_core.parameters.parameter_at_instant":[[12,1,1,"","ParameterAtInstant"]],"policyengine_core.parameters.parameter_at_instant.ParameterAtInstant":[[12,3,1,"","clone"],[12,3,1,"","validate"]],"policyengine_core.parameters.parameter_node":[[12,1,1,"","ParameterNode"]],"policyengine_core.parameters.parameter_node.ParameterNode":[[12,3,1,"","add_child"],[12,3,1,"","attach_to_parent"],[12,3,1,"","clear_parent_cache"],[12,3,1,"","clone"],[12,3,1,"","get_descendants"],[12,3,1,"","merge"],[12,2,1,"","parent"]],"policyengine_core.parameters.parameter_node_at_instant":[[12,1,1,"","ParameterNodeAtInstant"]],"policyengine_core.parameters.parameter_node_at_instant.ParameterNodeAtInstant":[[12,3,1,"","add_child"]],"policyengine_core.parameters.parameter_scale":[[12,1,1,"","ParameterScale"]],"policyengine_core.parameters.parameter_scale.ParameterScale":[[12,3,1,"","clone"],[12,3,1,"","get_descendants"]],"policyengine_core.parameters.parameter_scale_bracket":[[12,1,1,"","ParameterScaleBracket"]],"policyengine_core.parameters.parameter_scale_bracket.ParameterScaleBracket":[[12,3,1,"","get_descendants"]],"policyengine_core.parameters.vectorial_parameter_node_at_instant":[[12,1,1,"","VectorialParameterNodeAtInstant"]],"policyengine_core.parameters.vectorial_parameter_node_at_instant.VectorialParameterNodeAtInstant":[[12,3,1,"","build_from_node"],[12,3,1,"","check_node_vectorisable"]],"policyengine_core.periods.helpers":[[13,0,1,"","instant"],[13,0,1,"","period"]],"policyengine_core.periods.instant_":[[13,1,1,"","Instant"]],"policyengine_core.periods.instant_.Instant":[[13,4,1,"","date"],[13,4,1,"","day"],[13,4,1,"","month"],[13,3,1,"","offset"],[13,3,1,"","period"],[13,4,1,"","year"]],"policyengine_core.periods.period_":[[13,1,1,"","Period"]],"policyengine_core.periods.period_.Period":[[13,3,1,"","contains"],[13,4,1,"","date"],[13,4,1,"","days"],[13,4,1,"","first_day"],[13,4,1,"","first_month"],[13,3,1,"","get_subperiods"],[13,3,1,"","intersection"],[13,4,1,"","last_3_months"],[13,4,1,"","last_month"],[13,4,1,"","last_year"],[13,4,1,"","n_2"],[13,3,1,"","offset"],[13,4,1,"","size"],[13,4,1,"","size_in_days"],[13,4,1,"","size_in_months"],[13,4,1,"","start"],[13,4,1,"","stop"],[13,4,1,"","this_year"],[13,4,1,"","unit"]],"policyengine_core.populations.group_population":[[14,1,1,"","GroupPopulation"]],"policyengine_core.populations.group_population.GroupPopulation":[[14,3,1,"","all"],[14,3,1,"","any"],[14,3,1,"","clone"],[14,3,1,"","get_role"],[14,3,1,"","max"],[14,4,1,"","members_entity_id"],[14,4,1,"","members_position"],[14,4,1,"","members_role"],[14,3,1,"","min"],[14,3,1,"","nb_persons"],[14,4,1,"","ordered_members_map"],[14,3,1,"","project"],[14,3,1,"","reduce"],[14,3,1,"","sum"],[14,3,1,"","value_from_first_person"],[14,3,1,"","value_from_person"],[14,3,1,"","value_nth_person"]],"policyengine_core.populations.population":[[14,1,1,"","Population"]],"policyengine_core.populations.population.Population":[[14,3,1,"","check_array_compatible_with_entity"],[14,3,1,"","check_period_validity"],[14,3,1,"","clone"],[14,3,1,"","empty_array"],[14,3,1,"","filled_array"],[14,3,1,"","get_holder"],[14,3,1,"","get_index"],[14,3,1,"","get_memory_usage"],[14,3,1,"","get_rank"],[14,3,1,"","has_role"],[14,3,1,"","value_from_partner"]],"policyengine_core.projectors":[[15,1,1,"","EntityToPersonProjector"],[15,1,1,"","FirstPersonToEntityProjector"],[15,1,1,"","Projector"],[15,1,1,"","UniqueRoleToEntityProjector"]],"policyengine_core.reforms":[[16,1,1,"","Reform"]],"policyengine_core.reforms.Reform":[[16,2,1,"","country_id"],[16,3,1,"","from_dict"],[16,3,1,"","modify_parameters"],[16,2,1,"","name"],[16,2,1,"","parameter_values"]],"policyengine_core.simulations.microsimulation":[[18,1,1,"","Microsimulation"]],"policyengine_core.simulations.microsimulation.Microsimulation":[[18,3,1,"","apply_reform"],[18,2,1,"","baseline"],[18,2,1,"","branches"],[18,3,1,"","build_from_dataset"],[18,3,1,"","build_from_populations"],[18,3,1,"","calculate"],[18,3,1,"","calculate_add"],[18,3,1,"","calculate_dataframe"],[18,3,1,"","calculate_divide"],[18,3,1,"","calculate_output"],[18,3,1,"","clone"],[18,3,1,"","create_shortcuts"],[18,4,1,"","data_storage_dir"],[18,2,1,"","dataset"],[18,2,1,"","datasets"],[18,2,1,"","debug"],[18,2,1,"","default_calculation_period"],[18,2,1,"","default_dataset"],[18,2,1,"","default_input_period"],[18,2,1,"","default_role"],[18,2,1,"","default_tax_benefit_system"],[18,2,1,"","default_tax_benefit_system_instance"],[18,3,1,"","delete_arrays"],[18,3,1,"","derivative"],[18,3,1,"","describe_entities"],[18,3,1,"","get_array"],[18,3,1,"","get_branch"],[18,3,1,"","get_entity"],[18,3,1,"","get_holder"],[18,3,1,"","get_known_periods"],[18,3,1,"","get_memory_usage"],[18,3,1,"","get_population"],[18,3,1,"","get_variable_population"],[18,3,1,"","get_weights"],[18,3,1,"","invalidate_cache_entry"],[18,3,1,"","invalidate_spiral_variables"],[18,2,1,"","is_over_dataset"],[18,3,1,"","link_to_entities_instances"],[18,3,1,"","map_result"],[18,2,1,"","max_spiral_loops"],[18,2,1,"","memory_config"],[18,2,1,"","opt_out_cache"],[18,3,1,"","purge_cache_of_invalid_values"],[18,3,1,"","set_input"],[18,4,1,"","trace"],[18,2,1,"","tracer"]],"policyengine_core.simulations.simulation":[[18,1,1,"","Simulation"]],"policyengine_core.simulations.simulation.Simulation":[[18,3,1,"","apply_reform"],[18,2,1,"","baseline"],[18,3,1,"","build_from_dataset"],[18,3,1,"","build_from_populations"],[18,3,1,"","calculate"],[18,3,1,"","calculate_add"],[18,3,1,"","calculate_dataframe"],[18,3,1,"","calculate_divide"],[18,3,1,"","calculate_output"],[18,3,1,"","clone"],[18,3,1,"","create_shortcuts"],[18,4,1,"","data_storage_dir"],[18,2,1,"","datasets"],[18,2,1,"","default_calculation_period"],[18,2,1,"","default_dataset"],[18,2,1,"","default_input_period"],[18,2,1,"","default_role"],[18,2,1,"","default_tax_benefit_system"],[18,2,1,"","default_tax_benefit_system_instance"],[18,3,1,"","delete_arrays"],[18,3,1,"","derivative"],[18,3,1,"","describe_entities"],[18,3,1,"","get_array"],[18,3,1,"","get_branch"],[18,3,1,"","get_entity"],[18,3,1,"","get_holder"],[18,3,1,"","get_known_periods"],[18,3,1,"","get_memory_usage"],[18,3,1,"","get_population"],[18,3,1,"","get_variable_population"],[18,3,1,"","invalidate_cache_entry"],[18,3,1,"","invalidate_spiral_variables"],[18,2,1,"","is_over_dataset"],[18,3,1,"","link_to_entities_instances"],[18,3,1,"","map_result"],[18,3,1,"","purge_cache_of_invalid_values"],[18,3,1,"","set_input"],[18,4,1,"","trace"]],"policyengine_core.simulations.simulation_builder":[[18,1,1,"","SimulationBuilder"]],"policyengine_core.simulations.simulation_builder.SimulationBuilder":[[18,3,1,"","add_default_group_entity"],[18,3,1,"","add_group_entity"],[18,3,1,"","add_parallel_axis"],[18,3,1,"","add_perpendicular_axis"],[18,3,1,"","add_person_entity"],[18,3,1,"","add_variable_value"],[18,3,1,"","build"],[18,3,1,"","build_default_simulation"],[18,3,1,"","build_from_dict"],[18,3,1,"","build_from_entities"],[18,3,1,"","build_from_variables"],[18,3,1,"","check_persons_to_allocate"],[18,3,1,"","create_entities"],[18,3,1,"","declare_entity"],[18,3,1,"","declare_person_entity"],[18,3,1,"","expand_axes"],[18,3,1,"","explicit_singular_entities"],[18,3,1,"","finalize_variables_init"],[18,3,1,"","get_count"],[18,3,1,"","get_ids"],[18,3,1,"","get_input"],[18,3,1,"","get_memberships"],[18,3,1,"","get_roles"],[18,3,1,"","get_variable_entity"],[18,3,1,"","init_variable_values"],[18,3,1,"","join_with_persons"],[18,3,1,"","nb_persons"],[18,3,1,"","raise_period_mismatch"],[18,3,1,"","register_variable"],[18,3,1,"","set_default_period"]],"policyengine_core.taxbenefitsystems.tax_benefit_system":[[19,1,1,"","TaxBenefitSystem"]],"policyengine_core.taxbenefitsystems.tax_benefit_system.TaxBenefitSystem":[[19,3,1,"","add_modelled_policy_metadata"],[19,3,1,"","add_variable"],[19,3,1,"","add_variable_metadata_from_folder"],[19,3,1,"","add_variables"],[19,3,1,"","add_variables_from_directory"],[19,3,1,"","add_variables_from_file"],[19,3,1,"","apply_reform"],[19,2,1,"","auto_carry_over_input_variables"],[19,2,1,"","basic_inputs"],[19,2,1,"","entities"],[19,3,1,"","get_package_metadata"],[19,3,1,"","get_parameters_at_instant"],[19,3,1,"","get_variable"],[19,3,1,"","get_variables"],[19,3,1,"","load_extension"],[19,3,1,"","load_parameters"],[19,2,1,"","modelled_policies"],[19,3,1,"","modify_parameters"],[19,3,1,"","neutralize_variable"],[19,2,1,"","parameters"],[19,2,1,"","parameters_dir"],[19,3,1,"","replace_variable"],[19,3,1,"","update_variable"],[19,2,1,"","variables_dir"]],"policyengine_core.taxscales.abstract_rate_tax_scale":[[20,1,1,"","AbstractRateTaxScale"]],"policyengine_core.taxscales.abstract_rate_tax_scale.AbstractRateTaxScale":[[20,3,1,"","bracket_indices"],[20,3,1,"","threshold_from_tax_base"]],"policyengine_core.taxscales.abstract_tax_scale":[[20,1,1,"","AbstractTaxScale"]],"policyengine_core.taxscales.amount_tax_scale_like":[[20,1,1,"","AmountTaxScaleLike"]],"policyengine_core.taxscales.linear_average_rate_tax_scale":[[20,1,1,"","LinearAverageRateTaxScale"]],"policyengine_core.taxscales.linear_average_rate_tax_scale.LinearAverageRateTaxScale":[[20,3,1,"","bracket_indices"],[20,3,1,"","threshold_from_tax_base"]],"policyengine_core.taxscales.marginal_amount_tax_scale":[[20,1,1,"","MarginalAmountTaxScale"]],"policyengine_core.taxscales.marginal_amount_tax_scale.MarginalAmountTaxScale":[[20,3,1,"","calc"]],"policyengine_core.taxscales.marginal_rate_tax_scale":[[20,1,1,"","MarginalRateTaxScale"]],"policyengine_core.taxscales.marginal_rate_tax_scale.MarginalRateTaxScale":[[20,3,1,"","bracket_indices"],[20,3,1,"","calc"],[20,3,1,"","inverse"],[20,3,1,"","marginal_rates"],[20,3,1,"","rate_from_bracket_indice"],[20,3,1,"","rate_from_tax_base"],[20,3,1,"","scale_tax_scales"],[20,3,1,"","threshold_from_tax_base"]],"policyengine_core.taxscales.rate_tax_scale_like":[[20,1,1,"","RateTaxScaleLike"]],"policyengine_core.taxscales.rate_tax_scale_like.RateTaxScaleLike":[[20,3,1,"","bracket_indices"],[20,3,1,"","threshold_from_tax_base"]],"policyengine_core.taxscales.single_amount_tax_scale":[[20,1,1,"","SingleAmountTaxScale"]],"policyengine_core.taxscales.single_amount_tax_scale.SingleAmountTaxScale":[[20,3,1,"","calc"]],"policyengine_core.taxscales.tax_scale_like":[[20,1,1,"","TaxScaleLike"]],"policyengine_core.tools.simulation_dumper":[[21,0,1,"","dump_simulation"],[21,0,1,"","restore_simulation"]],"policyengine_core.tools.test_runner":[[21,0,1,"","run_tests"]],"policyengine_core.tracers.computation_log":[[22,1,1,"","ComputationLog"]],"policyengine_core.tracers.computation_log.ComputationLog":[[22,3,1,"","print_log"]],"policyengine_core.tracers.flat_trace":[[22,1,1,"","FlatTrace"]],"policyengine_core.tracers.full_tracer":[[22,1,1,"","FullTracer"]],"policyengine_core.tracers.performance_log":[[22,1,1,"","PerformanceLog"]],"policyengine_core.tracers.simple_tracer":[[22,1,1,"","SimpleTracer"]],"policyengine_core.tracers.trace_node":[[22,1,1,"","TraceNode"]],"policyengine_core.tracers.tracing_parameter_node_at_instant":[[22,1,1,"","TracingParameterNodeAtInstant"]],"policyengine_core.variables.variable":[[24,1,1,"","Variable"]],"policyengine_core.variables.variable.Variable":[[24,2,1,"","adds"],[24,2,1,"","baseline_variable"],[24,2,1,"","default_value"],[24,2,1,"","defined_for"],[24,2,1,"","definition_period"],[24,2,1,"","documentation"],[24,2,1,"","dtype"],[24,2,1,"","end"],[24,2,1,"","entity"],[24,2,1,"","formulas"],[24,3,1,"","get_formula"],[24,3,1,"","get_introspection_data"],[24,2,1,"","hidden_input"],[24,2,1,"","index_in_module"],[24,3,1,"","is_input_variable"],[24,2,1,"","is_neutralized"],[24,2,1,"","json_type"],[24,2,1,"","label"],[24,2,1,"","max_length"],[24,2,1,"","metadata"],[24,2,1,"","module_name"],[24,2,1,"","name"],[24,3,1,"","parse_formula_name"],[24,2,1,"","possible_values"],[24,2,1,"","quantity_type"],[24,2,1,"","reference"],[24,2,1,"","requires_computation_after"],[24,2,1,"","set_input"],[24,2,1,"","subtracts"],[24,2,1,"","unit"],[24,2,1,"","uprating"],[24,2,1,"","value_type"]],"policyengine_core.warnings":[[25,1,1,"","LibYAMLWarning"],[25,1,1,"","MemoryConfigWarning"],[25,1,1,"","TempfileWarning"]],"policyengine_core.warnings.LibYAMLWarning":[[25,3,1,"","with_traceback"]],"policyengine_core.warnings.MemoryConfigWarning":[[25,3,1,"","with_traceback"]],"policyengine_core.warnings.TempfileWarning":[[25,3,1,"","with_traceback"]]},objnames:{"0":["py","function","Python function"],"1":["py","class","Python class"],"2":["py","attribute","Python attribute"],"3":["py","method","Python method"],"4":["py","property","Python property"],"5":["py","module","Python module"]},objtypes:{"0":"py:function","1":"py:class","2":"py:attribute","3":"py:method","4":"py:property","5":"py:module"},terms:{"0":[2,6,7,14,16,19,20,22,24,26,29,32],"00":30,"000003242492674":32,"0001":24,"001":32,"01":[11,12,13,14,24,26,29,30,31,32],"02":[13,30],"03":30,"04":[11,18,30],"05":[18,30],"07":11,"0f":[26,32],"1":[2,13,14,18,20,24,26,29,30,32],"10":[2,11,13,18,20,26,32],"100":[11,20,22,29,31],"1000":16,"10000":32,"100_000":32,"10400":11,"11":[18,26],"11666":32,"12":[11,13,18,26],"12000":18,"13":[18,24],"13333":32,"14":[11,18],"15":[2,32],"150":20,"1500":14,"15000":32,"16":32,"1666":32,"17":[19,32],"18":32,"1800":14,"19":[26,32],"1_000":20,"1_150":20,"1e6":[29,32],"1st":14,"2":[2,7,11,13,14,19,26,29,30,32],"20":[2,26,30],"200":[20,29],"2000":[14,18],"2010":13,"2011":13,"2012":13,"2013":13,"2014":13,"2015":[12,13],"2016":[12,18],"2017":[11,13],"2018":[11,14,18],"2019":[30,31,32],"2022":[4,29,32],"2023":26,"2028":26,"21":30,"22":30,"23":30,"24":[11,30],"25":[20,26],"250":20,"25000":4,"28":13,"29":[13,26],"2e6":29,"3":[13,14,22,30,32],"30":[13,26,32],"30000":4,"30_000":32,"31":[13,26],"32":14,"3333":32,"3335":32,"334":32,"34":14,"35":6,"3500":14,"35_period":24,"365":13,"366":13,"39":26,"3d":32,"4":[2,13,14,18,30,32],"40":26,"40_legislation_evolut":24,"450":20,"4500":32,"49":26,"4kb":11,"5":[2,18,20,30,32],"50":[20,26],"500":[20,32],"5000":32,"51":32,"550":12,"59":26,"6":[2,30,32],"60":26,"600":12,"64":11,"6666":32,"6667":32,"667":32,"668":32,"69":26,"7":[2,6,30],"70":26,"79":26,"8":[2,11,14,26],"80":2,"8333":32,"8b":11,"90":2,"byte":[5,11,12,14,18],"case":[11,12,18,28,29,30,31,32],"class":[2,3,4,5,6,7,8,9,11,12,13,14,15,16,18,19,20,22,23,24,25,26,28,29,30,31,32],"default":[4,5,11,14,18,19,22,24,26,27,28,29,31,32],"do":[0,27,29,31,32],"enum":[24,30],"export":26,"float":[2,5,9,11,12,14,18,20,22,24,30,31],"function":[1,2,4,6,11,12,14,16,17,18,19,20,21,24,26,29,30,31],"import":[16,18,20,26,28,29,31,32],"int":[5,7,11,12,13,14,18,20,24,29,30],"new":[3,4,9,10,11,12,13,16,19,20,28,31],"public":30,"return":[2,4,7,11,12,13,14,16,18,19,20,21,24,25,26,31,32],"short":[19,30],"static":[12,16],"throw":31,"true":[13,14,18,19,22,24,30],"try":19,"while":30,A:[1,2,3,4,6,11,12,13,16,18,19,21,24,29,30],As:32,By:24,For:[0,7,13,15,20,24,30,31,32],If:[0,4,11,12,14,18,19,20,21,22,24,27,30,31,32],In:[11,12,16,31],It:[1,3,4,19,31],That:0,The:[1,2,3,4,5,6,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32],Then:[20,32],There:[11,18],These:26,To:[3,10,11,18,27,28,29,30,31,32],_:24,__init__:[28,32],__traceback__:25,_array_lik:[5,11,12,14,18],_entiti:24,_hl:4,_ndarrai:[2,18],_nested_sequ:[5,11,12,14,18],_nestedsequ:[5,11,12,14,18],_number:2,_object:[2,18],_role:24,_supportsarrai:[5,11,12,14,18],_type:[5,11,12,14,18],_unicod:2,abc:[12,20],abl:[11,12,18,29,31],about:[0,11,15,18,24,30],abov:[28,30],absolut:19,abstract_rate_tax_scal:20,abstract_tax_scal:20,accept:[11,18],access:[4,12],accord:14,account:14,accuraci:19,achiev:30,action:[0,27],actual:32,ad:[0,6,8,19,24,28,30],add:[0,12,16,18,19,24,29,30,31],add_bracket:20,add_child:[12,16],add_default_group_ent:18,add_group_ent:18,add_modelled_policy_metadata:19,add_parallel_axi:18,add_perpendicular_axi:18,add_person_ent:18,add_vari:[16,19,31],add_variable_metadata_from_fold:19,add_variable_valu:18,add_variables_from_directori:19,add_variables_from_fil:19,addit:27,address:0,after:[11,30],ag:[14,18,26,32],aggreg:[18,22,27],aka:13,all:[0,4,11,12,13,14,16,18,19,20,21,27,28,30,31],allow:[6,12,15,24],along:26,alreadi:31,alreai:18,also:[0,1,19,28,29,30,31,32],altern:24,alwai:19,amount:[20,30,31],amount_tax_scale_lik:20,an:[0,2,4,6,7,8,10,11,12,13,14,16,18,19,24,27,28,30,31,32],analys:26,ani:[0,1,2,5,6,10,11,12,14,16,18,20,24,27,30,32],anoth:[2,12,18,20,24,32],anyth:12,api:[16,28],appli:[11,12,16,19,20,26,27,28,30,31],apply_reform:[18,19],appropri:11,ar:[0,1,2,5,6,7,8,11,12,14,18,19,20,22,24,28,30,31],arbitrari:14,arbitrarili:28,aren:9,argument:31,around:12,arr:18,arrai:[2,4,7,11,14,18,20,22,32],arraylik:18,asarrai:7,ask:[0,15,16,19,32],assertionerror:[2,21],assign:18,associ:18,assum:[14,20],at_instant_lik:12,attach_to_par:12,attempt:27,attribut:[11,18,19,24],attribute_nam:24,attributeerror:8,auto_carry_over_input_vari:[3,19,28],automat:[0,3,4,19,24,27],avail:[18,27,28,29],averag:[11,20,22],avg:27,axi:18,b:32,back:0,bar_chart:26,base:[2,3,4,5,6,7,8,9,11,12,13,14,18,19,20,22,24,25,30],baselin:[16,18,26],baseline_incom:26,baseline_vari:24,basic:[19,30],basic_input:19,been:[4,8,11,12,18,19,24],befor:[0,24,30],below:[21,26],benefit:[1,3,8,15,18,21,30,31],better:30,between:[6,11,26,30],block:28,blue:[26,32],bool:[3,4,5,6,11,12,13,14,18,19,20,24,30],br:32,bracket:[12,20],bracket_indic:20,branch:18,branch_nam:[5,11,22],breakdown:[26,30],british:30,bucket:29,bug:0,build:[0,1,18],build_default_simul:18,build_from_dataset:18,build_from_dict:18,build_from_ent:18,build_from_nod:12,build_from_popul:18,build_from_vari:18,built:[18,19],bump:0,c:[2,27],cach:[14,18],calc:20,calcul:[1,3,5,6,11,18,19,22,24,26,27,28,32],calculate_add:18,calculate_datafram:18,calculate_divid:18,calculate_output:18,call:[16,19,32],callabl:[14,16,19,24],can:[0,1,4,6,7,11,12,13,16,18,19,21,24,28,29,30,31,32],cannot:[8,32],cardin:26,carri:[3,19],cast:12,categor:[7,24],category_nam:26,caus:0,cell:[20,32],cell_siz:11,chang:[0,6,12,18,26,30,31,32],changelog_entri:0,chart:32,check:[4,11,12,14,18,28,32],check_array_compatible_with_ent:14,check_exist:[6,19],check_node_vectoris:12,check_period_valid:14,check_persons_to_alloc:18,check_role_valid:6,check_variable_defined_for_ent:6,child:[12,14,15,29,30],child_at_inst:12,child_benefit:[30,31],child_nam:12,children:[22,30],choic:[2,27],choos:2,chosen:2,chronolog:12,classmethod:[7,24],clear_parent_cach:12,clone:[5,11,12,14,18],clone_system:18,clone_tax_benefit_system:18,close:0,cloud:29,code:[3,8,10,24,26,27,28,30,32],collect:[4,30],color_discrete_map:26,color_discrete_sequ:32,com:19,combin:18,command:17,comment:24,common:[4,29,32],compar:29,complet:[0,4],complex:[5,11,12,14,18],compos:20,comput:[1,11,18,19,20,22,24,32],computation_log:22,concaten:2,concept:24,condit:[2,14],configur:30,conflict:12,consist:30,constant:[28,29],contain:[2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,30],containing_ent:6,content:[3,10],context:24,convent:24,convert:13,copi:[3,10,11,18,28],core:[1,3,4,18,26,27,28,29,32],coremicrosimul:28,coresimul:28,correct:4,correspond:[7,24],could:[12,32],count:[13,18,32],countri:[1,10,16,18,19,27,29,30,31,32],country_dir:[28,29],country_id:16,country_packag:27,country_templ:[3,18,28,29,32],country_template_dataset:[28,29],countrytaxbenefitsystem:[10,18,28],countrytemplatedataset:[28,29],coupl:28,cover:0,creat:[3,4,10,13,16,18,26],create_disk_storag:11,create_ent:18,create_shortcut:18,criteria:14,cross_section_bar_chart:26,csv:27,currenc:30,current:[1,12,19],custom:[1,25],d:[0,27],dai:[13,24],dark_grai:26,data:[1,7,11,12,18,19,21,24,26,28,29,30,32],data_format:[4,29],data_storag:[5,11],data_storage_dir:18,data_structur:30,data_typ:18,datafram:[4,18,26],dataset:[18,27,28,32],date:[0,13,24,30],datetim:[13,24],dd:[19,24],debug:18,debugg:27,decil:26,decile_impact:26,decim:20,declar:[11,32],declarant_princip:15,declare_ent:18,declare_person_ent:18,decod:[7,18],decode_enum:18,decode_to_str:7,decrement:13,def:[16,26,29,31],default_arrai:11,default_calculation_period:18,default_dataset:[18,28],default_input_period:18,default_rol:18,default_tax_benefit_system:[18,28],default_tax_benefit_system_inst:18,default_valu:24,defin:[1,3,4,6,8,10,12,13,14,18,19,24,28,29,30,31,32],defined_for:24,definit:[4,7,8,11,16,18,19,24,25,28,32],definition_period:[8,11,18,24,31],delet:[5,18],delete_arrai:[11,18],delta:18,demonstr:28,depend:[1,2,24],depth:[22,27],deriv:18,descend:30,describ:[0,3,18,19,24,29,30],describe_ent:18,descript:[0,6,12,18,24,30,32],design:1,detail:21,detect:27,develop:1,di:18,dict:[2,4,5,11,12,16,18,19,21,24,28,30,32],dictionari:[4,13,16,18,19,24,32],differ:[1,3,6,10,11,19,26,29,30],differenti:18,dimens:14,dir:19,directli:[4,28],directori:[3,11,12,19,21,27,28],directory_path:12,disappear:24,disk:[4,5,25],displai:30,display_fig:[26,32],distribut:26,divid:11,doc:[6,24,32],document:[0,1,11,18,24,30],doe:[1,4,14,18,19,21,28,31],doesn:8,dollar:30,don:[0,10,14,32],dot:12,doubt:0,down:18,download:[4,27,29],downward:30,drop:27,dtype:[5,11,12,14,18,24,32],dynam:29,dynamicbreakdown:30,e:[1,4,6,11,12,14,18,19,27,30,32],each:[0,1,2,11,18,22,24,28,30,32],earn:15,edit:16,effect:[19,27],either:[2,4,13,30],eldest:14,els:0,employe:30,employment_incom:4,empti:2,empty_arrai:14,enabl:[1,28],encod:7,encoded_arrai:7,end:[22,24],england:30,enough:[11,18],ensur:[30,31],enter:4,entir:[6,22,24,27,30],entiti:[1,3,11,14,15,18,19,24,28,30,31,32],entity_id:18,entity_nam:18,entity_plur:18,entity_singular:18,enum34:7,enum_arrai:[7,24],enum_item_arrai:7,enumarrai:24,enumer:7,environ:27,err:0,error:[19,27,31],essenti:31,etc:[6,11],etern:[24,29],eur:30,euro:30,eval:30,evalu:[12,30],everi:18,everyon:[19,32],everyth:[31,32],exampl:[0,2,11,13,14,15,16,18,19,22,26,28,30,31,32],example_data:4,excecut:21,except:[8,19,25],exclud:30,execut:27,exist:[4,10,14,18,19,31,32],expand_ax:18,experi:26,explicit:[18,19],explicit_singular_ent:18,explor:[19,21],express:[20,30,32],extens:[19,27],extension_templ:10,extra:32,extract:13,f:26,factor:20,factori:22,fail:0,failur:27,fals:[3,4,5,6,11,14,18,19,20,22,24,27,28,30],famil:15,famili:[15,30],fanci:12,featur:[0,4],feel:0,few:[29,32],field:[0,24,30],fig:32,file:[0,3,4,8,12,19,21,24,27,28,30],file_path:[4,12,16,19],filenam:4,filepath:[3,19],fill:11,filled_arrai:14,finalize_variables_init:18,find:[0,32],first:[13,18],first_dai:13,first_month:13,first_person:15,fit:20,fix:[0,30],flag:27,flat_tax:1,flat_trac:22,float32:32,float64:[7,11,20],float_:20,flow:24,focu:27,folder:[3,10,18,28,30],folder_path:29,follow:[28,30,32],fork:[1,4],form:[29,30],format:[4,13,19,24,29,32],format_fig:32,former:32,formula:[15,18,24,31],formula_yyyi:24,formula_yyyy_mm:24,formula_yyyy_mm_dd:24,forward:30,found:[0,8,19],frame:[4,18],framework:1,franc:19,free:[0,7,24],free_lodg:7,freeform:30,from:[2,3,4,7,10,12,13,16,18,19,20,21,24,26,28,29,31,32],from_dict:16,full:[6,30,32],full_trac:22,fulli:[9,18],further:30,futur:9,g:[1,4,6,11,12,14,19,32],gain:26,gbp:30,gener:[1,4,12,18,19,24,26,27,28,29,30,31,32],get:[5,11,14,18,19,24],get_arrai:[11,18],get_at_inst:12,get_branch:18,get_count:18,get_descend:12,get_ent:18,get_formula:24,get_hold:[14,18],get_id:18,get_index:14,get_input:18,get_introspection_data:24,get_known_branch_period:[5,11],get_known_period:[5,11,18],get_membership:18,get_memory_usag:[5,11,14,18],get_package_metadata:19,get_parameters_at_inst:19,get_popul:18,get_rank:14,get_rol:[14,18],get_subperiod:13,get_vari:[6,19],get_variable_ent:18,get_variable_popul:18,get_weight:18,github:[0,19],given:[2,4,11,12,13,14,18,19,20,24,27,29,30,32],global:1,googl:29,gov:[12,26,30],govern:30,grai:26,grandchildren:30,graph:27,great:30,gross:20,gross_revenu:20,group:[6,14,18,32],group_ent:[3,6],group_popul:[14,18],groupbi:26,groupent:[3,14],grouppopul:[15,18],guarante:6,h5:4,h5py:4,h:[26,27],ha:[0,4,8,11,12,14,18,19,24,27,28],handl:[5,13,18,32],has_rol:14,have:[0,1,7,10,11,14,19,24,30,32],hdfstore:4,hear:0,help:0,helper:[1,6,11,12,13],here:[28,29,30,31,32],hidden:24,hidden_input:24,histori:30,hmrc:26,hold:[28,30],holder:[14,18],home:3,hood:24,hous:9,household:[6,7,14,18,24,29],household_id:29,household_income_decil:26,household_net_incom:26,household_weight:29,housing_benefit:12,housing_occupancy_statu:7,housingoccupancystatu:7,hover_text_funct:26,hovertempl:32,how:[6,12,18,28,29,31,32],href:[30,32],html:[24,27],http:[12,19,24,30],i:[18,27,30],id:[14,16,32],identifi:[6,7,16,30],ignor:27,ignore_vari:27,impact:29,implement:[4,12,16,28,30],importerror:32,improv:7,in_memory_storag:5,includ:[0,1,11,17,21,29,31,32],incom:[12,26,32],income_tax:[1,12,26,30,32],increas:[27,30],increment:13,index:[7,12,18,19,24,26,30],index_in_modul:24,indexed_enum:7,indic:[20,30],indirectli:4,individu:[18,25],infer:18,infinitesim:18,inform:[16,30],inherit:[28,31,32],init_variable_valu:18,initi:18,initialis:[10,18],input:[2,3,7,8,11,18,19,20,24,32],input_arrai:7,input_dict:18,inspect:32,instal:[19,25,27],installed_packag:19,instanc:[6,7,11,12,13,15,16,18,19,20,24],instance_id:18,instance_index:18,instance_object:18,instances_json:18,instant:[12,18,19,26,30,31],instant_:[12,13,19],instant_str:[8,12],instanti:[4,12,28,29],instead:[1,14,28,31],instrospect:24,int32:18,int64:[7,20],int_:[7,20],integ:[13,18,20],intend:[3,10],interact:28,interfac:[17,32],interfer:12,intermedi:18,intersect:13,interv:[13,30],introduc:24,intuit:32,invalid:18,invalidate_cache_entri:18,invalidate_spiral_vari:18,invers:20,inversion_revenu:19,invert:20,involv:22,io:4,ipynb:32,is_child:14,is_etern:5,is_input_vari:24,is_neutr:24,is_over_dataset:18,is_person:6,isn:0,issu:0,item:[2,7],iter:[12,13,18],its:[8,11,14,19,24,30,31],javier:18,join_with_person:18,json:[18,24,28],json_typ:24,just:[11,18,29,32],keep:[11,20],kei:[4,6,13,18,24,32],keyword:27,known:[11,18],kwarg:21,label:[4,6,24,29,30,31],lambda:26,larg:[22,28],larger:[11,18],last:[13,30,32],last_3_month:13,last_month:13,last_year:13,later:21,latter:32,law:32,layperson:0,least:0,legend_i:26,legend_orient:26,legisl:[12,16,19,24,30],length:[11,24],less:[26,30],level:5,librari:2,libyaml:25,light_grai:26,like:[0,4],limit:24,line:[17,24,32],linear:20,linear_average_rate_tax_scal:20,link:30,link_to_entities_inst:18,list:[2,3,4,5,6,9,11,12,13,14,18,19,21,22,24,26,27,28,30,32],ll:[28,31,32],load:[4,12,19,27,29,32],load_dataset:4,load_extens:19,load_paramet:19,load_parameter_fil:16,locat:19,lodger:7,log:[4,22,28],logic:[1,18,19,28,29],longer:30,look:30,lose:26,low:5,lower:[4,26],lower_age_group:26,lowest:20,mai:[9,11,18],main:28,mainli:12,maintain:[0,1,30],make:[0,2,16,19],manag:27,mani:1,map:[14,18],map_result:18,map_to:[18,26],margin:[12,20],marginal_amount_tax_scal:20,marginal_r:20,marginal_rate_tax_scal:20,mask:14,match:[2,8,11,18,20,24],max:[14,24,27,32],max_depth:[22,27],max_length:24,max_memory_occup:9,max_spiral_loop:18,maxim:27,maximum:[14,22],md:19,mean:30,medium:19,medium_dark_grai:26,meet:32,member:[6,14,32],members_entity_id:14,members_posit:14,members_rol:14,memori:[5,11,18],memory_config:[9,18],memoryconfig:[18,25],merg:12,messag:8,metadata:[3,4,12,19,24,28,29],metatada:19,method:[4,11,14,16,18,29,30,31,32],microdatafram:18,microdf:[18,32],microseri:[18,32],microsimul:[1,4,26,28,29,32],might:[15,30,32],mimick:2,min:[14,27,32],minim:24,minimum:[14,22],miscellan:21,mm:[19,24],mode:[4,22],model:[1,3,4,10,18,19,26,29,32],modelled_polici:[3,19],modif:[16,19],modifi:[11,12,16,18],modifier_funct:[16,19],modify_my_paramet:16,modify_paramet:[16,19,26,31],modul:[2,3,4,5,6,10,12,13,15,16,17,18,19,20,21,22,23,24,25,28],module_nam:24,month:[13,18,24,29],more:[0,11,18,21,22,24,26],most:[18,28,29,31,32],move:[4,30],multilin:24,must:[10,12,14,16,19,24,28,29,30,31],mutat:19,myreform:16,n:[14,27],n_2:13,name:[3,4,8,10,12,16,18,19,20,22,24,29,30,31,32],name_filt:27,nan_creation_error:8,nation:4,national_insur:30,nb_arrai:11,nb_cells_by_arrai:11,nb_person:[14,18],nb_request:11,nb_requests_by_arrai:11,ndarrai:[2,7,14,18,20],nearest:30,necessari:0,need:[0,4,27,28,29,31,32],net:[20,26],neutral:[19,24,31],neutral_el:14,neutralize_vari:[19,31],never:24,new_paramet:16,new_vari:31,new_variable_class:31,nikhil:32,nikhilwoodruff:0,node:[12,20],none:[2,3,4,5,6,7,8,9,11,12,13,14,15,16,18,19,20,21,22,24,29],nonzero:24,note:[0,14],notebook:32,noth:24,notimplementederror:4,np:[4,18],nptype:[2,18],nth:14,number:[2,13,14,21,24],numer:20,numericalarrai:20,numpi:[2,4,5,7,11,12,14,18,20,24],o:27,object:[2,3,4,5,6,9,11,12,14,16,18,19,22,24,30,31],object_:7,offset:13,often:32,old:26,oldest:24,on_disk_storag:[5,11],ondiskstorag:11,one:[0,2,4,8,18,19,20,32],onli:[11,14,19,22,24,27,32],only_vari:27,open:[1,4],openfisca:[1,4,19,24,27],openfisca_fr:19,oper:12,opt_out_cach:18,option:[3,4,5,6,7,9,11,12,13,14,16,18,19,20,21,22,27,31,32],order:[12,14],ordered_members_map:14,org:24,organis:28,origin:[4,11,18],os:28,other:[1,4,6,12,13,24,25,28,32],our:[0,11,32],out:0,outcom:26,output:27,over:[3,12,18,19,30,31],overrid:31,overridden:[19,30],overriden:4,overriding_variable_class:31,overwrit:[4,18],owner:7,p:27,packag:[1,10,18,19,27,30,31,32],page:32,paid:30,pair:16,panda:[4,18,32],parallel:32,param:20,paramet:[1,2,3,4,6,7,8,11,16,18,19,20,21,22,24,26,28],parameter_at_inst:12,parameter_metadata:30,parameter_nod:[12,16,19],parameter_node_at_inst:[12,19,22],parameter_node_metadata:30,parameter_not_found_error:8,parameter_parsing_error:8,parameter_scal:12,parameter_scale_bracket:12,parameter_valu:16,parametermetadata:30,parameternod:[16,19,22,31],parameternodeatinst:19,parameternodemetadata:30,parameters_dir:[3,19,28],parent:[12,14,15,18,22,29],pars:8,parse_formula_nam:24,part:[0,29],partial:27,particular:[15,30,32],pass:[0,18,21,27,32],patch:0,path:[4,8,19,21,24,27,28],path_to_yaml_dir:19,path_to_yaml_fil:16,pathlib:[4,28],pattern:12,pd:[4,18],pdb:27,peopl:[14,18,32],per:[4,30],percent:[26,30],percentag:30,perform:[7,27],performance_graph:27,performance_log:22,period:[1,3,4,5,7,8,11,12,14,16,18,19,22,24,26,29,31,32],period_:[5,11,13,14,18],period_mismatch_error:8,period_str:18,perpendicular:32,person:[1,6,11,14,15,18,19,24,26,30,31,32],person_household_id:29,person_household_rol:29,person_id:[18,29],person_singular:18,personal_gain:26,persons_group_assign:18,persons_id:18,persons_plur:18,persons_to_alloc:18,piec:30,ping:0,pip:19,pleas:0,plotli:32,plugin:10,plural:[6,18,32],pluralis:6,point:[1,3,13,19,30],polici:[1,3,18,19,28,29],policyengin:[1,3,16,19,24,26,27,29,31,32],policyengine_cor:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32],policyengine_uk:26,popul:[0,11,15,18,22,28,29],posit:[14,18],posixpath:3,possibl:[2,24,27,30],possible_valu:[7,24],pound:30,power:[1,17,26],pre:18,preprocess:18,preserv:11,preserve_storage_dir:5,previous:[18,19],primarili:0,print:22,print_log:22,priority_vari:9,privat:29,privatedataset:29,process:[0,1,24,30],produc:30,project:[0,14],propag:30,propagate_metadata_to_children:30,properti:[1,4,11,13,14,18],protocol:12,provid:[1,4,8,14,18,26,27,32],publicdataset:29,publicli:29,purge_cache_of_invalid_valu:18,purpos:[28,32],put:5,put_in_cach:11,px:32,py:[28,32],pytabl:4,python:[1,3,17,18,19,24,27,28,30,31,32],quantity_typ:24,queri:8,question:15,quickli:28,r:[4,18,27],rais:[2,4,8,18,19,21,25],raise_period_mismatch:18,rang:[26,30],rank:14,rate:[1,12,20,26,30],rate_from_bracket_indic:20,rate_from_tax_bas:20,rate_tax_scale_lik:20,rather:10,raw:29,re:[0,18,32],read:[11,18],reader:4,readm:19,real:30,recent:32,recurs:[12,19,21],reduc:14,refer:[12,24,29],reform:[3,18,19,24,26,27,28],reform_nam:16,reform_path:19,reformed_incom:26,regener:4,region:30,register_vari:18,rel:19,relat:[6,15,28,30],relev:[20,30],remov:[3,4,9,10,11,12,27,31],renam:[3,7,10],replac:[2,12,16,19,24,28],replace_vari:19,repo:[3,10,18,30],repositori:32,repository_url:19,repres:[4,6,7,11,18,19,20,22,23,30,32],request:[11,12,19],requir:[1,15,18],requires_computation_aft:24,respect:[1,14,18,19],respond:0,respons:[5,28,32],rest:2,restor:[5,21],result:[14,18,32],retriev:5,revenu:20,revers:[12,14],revolv:12,right:20,role:[14,15,18,32],role_id:18,role_nam:14,root:12,round:[20,30],round_base_decim:20,round_decim:20,run:[0,6,11,18,21,27],runner:[3,17],s:[1,4,6,11,15,18,19,28,29,30,31,32],safe:30,said:15,salari:[12,14,18,29,32],salary_time_period:29,same:[2,8,16,19,28,29,30,31,32],satur:18,save:4,save_dataset:4,save_variable_valu:29,scale:12,scale_tax_scal:20,scan:27,schema:30,scipi:24,screen:24,see:[0,7,14,19,21,24,26,29,32],select:2,self:[7,13,16,19,25,26,29,30,31],selfupr:30,send:0,sens:0,sentenc:30,sequenc:[2,3,4,18,19],seri:32,set:[1,8,11,12,14,18,19,20,22,24,25,26,27,28,30],set_default_period:18,set_input:[11,18,24],set_input_dispatch_by_period:24,set_input_divide_by_period:24,set_tax_benefit_system:6,sever:[6,24],shortcut:18,should:[0,4,12,16,18,19,28,30,31,32],show:[26,32],side:0,sim:32,simpl:32,simple_trac:22,simpletrac:18,simpli:[3,10,19],simplifi:1,simul:[1,4,5,8,11,14,21,22,24,28,29],simulation_build:18,simulation_dump:21,sinc:13,singl:[18,20,30,32],single_amount_tax_scal:20,singular:18,situat:[8,18,28,32],situation_exampl:28,situation_parsing_error:8,size:[2,13],size_in_dai:13,size_in_month:13,slice:26,slow:18,snake:30,so:[14,21,32],some:19,some_other_vari:16,some_param:[12,16],some_period:16,some_tax:[12,16],some_vari:16,someon:0,sometim:0,sort:14,sourc:[1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,18,19,20,21,22,24,25,30],source_ent:18,special:30,specif:[1,8,10,11,25,28,29],specifi:[7,14,18,27,29,31,32],speed:[18,26],spiral_error:8,stabl:9,stai:19,standalon:10,standardis:[4,29],start:[3,12,13,22,24,26,31],start_inst:[13,30],starter:[3,10],state:30,statement:2,sterl:30,stock:24,stop:[12,13,26,31],storag:[4,29],storage_dir:5,store:[4,5,11,18,19,24,29,30],store_fil:4,str:[2,3,4,5,6,9,11,12,13,14,16,18,19,20,21,22,24,30],str_:7,string:[7,18,24],string_identifier_arrai:7,structur:[18,28,30,32],style:26,sub_modul:19,subclass:[7,16,19,29],subdirectori:21,subnod:30,subperiod:11,subtract:24,sucess:21,suit:22,sum:[14,20,26,32],summari:6,superset:6,sure:[0,32],survei:[29,32],system:[1,3,8,18,21,31],t:[0,2,8,9,10,14,18,28,30,32],tabl:[4,27],take:[11,16,19,24,31],taken:14,target:18,target_ent:18,tax:[1,3,8,12,16,18,21,31,32],tax_bas:20,tax_benefit_system:[3,6,8,16,18,19,21,24],tax_scal:20,tax_scale_lik:20,taxbenefitsystem:[3,8,16,18,21,28],taxscal:20,tb:25,techniqu:29,tell:0,tempfil:25,templat:29,temporari:18,term:20,test:[0,17,21,28,29],test_runn:21,text:[24,30],text_format:26,than:[10,19,26,30],that2:2,thei:[11,30],thi:[0,1,2,4,6,11,12,14,16,18,19,22,24,27,28,29,30,31,32],this1:2,this_year:13,those:28,thousand:29,three:32,threshold:[2,20,30],threshold_from_tax_bas:20,throughout:2,time:[1,4,11,12,13,30,32],time_period:[4,32],time_period_arrai:[4,29],titl:[26,32],tool:27,toolbox:13,total_nb_byt:11,toward:[19,21],trace:[1,18,27],trace_nod:22,traceback:[8,32],tracer:18,tracing_parameter_node_at_inst:22,track:[11,22],treat:32,tree:[1,3,12,19,28,30,31],tri:8,trigger:18,tripl:13,tupl:[11,13,18,24],twice:11,two:[2,5,8,14,29,30],type:[1,2,4,6,7,11,12,16,18,19,20,22,24,28,30],u:18,uat:30,ui:16,uk:[1,26,30],unchang:19,under:[24,26,32],unicod:2,union:[2,4,5,7,11,12,14,18,30],uniqu:14,unit:[13,20,24],universal_credit:30,unknown:[18,32],unless:30,unlik:[10,18],up:[18,22,26,27],updat:[12,16,19,26,31],update_layout:32,update_trac:32,update_vari:[16,19,31],upload:[27,29],uprat:[24,30],upratingindex:30,upratingroundingconfig:30,upratingschema:30,upward:30,url:[4,29,30],us:[0,1,2,3,4,5,7,10,11,12,13,14,16,18,19,20,21,22,23,24,25,26,28,29,30,31,32],usabl:28,usag:[11,18,24,27,32],usd:30,use_weight:18,user:[1,28,32],userwarn:25,util:[21,26],v:27,valid:[12,24,29],valu:[1,2,4,5,7,8,11,12,13,14,16,18,19,20,22,24,26,27,28,31,32],value_by_condit:2,value_from_first_person:14,value_from_partn:14,value_from_person:14,value_nth_person:14,value_typ:[24,31],valueerror:[8,18],values_list:12,vari:32,variabl:[1,3,4,8,11,14,16,18,19,20,22,23,27,28,30,32],variable_nam:[6,8,14,18,19,31,32],variable_name_conflict_error:8,variable_not_found_error:8,variablebreakdown:30,variablenameconflicterror:19,variables_dir:[3,19,28],variables_to_drop:9,varieti:18,variou:[12,20],ve:0,vector:[5,12,14,22],vectori:12,vectorial_parameter_node_at_inst:12,verbos:27,version:[6,9,19],virtual:[11,18],visualis:26,vscode:32,w:18,wa:12,wai:31,wale:30,want:[28,31,32],warn:19,we:[29,32],week:0,weight:[18,29,32],weight_time_period:29,weightedsimul:32,welcom:0,well:[24,32],were:32,what:[0,14,32],when:[2,3,8,18,19,20,24,25,30],where:[12,13,18,24,30],whether:[3,4,18,19,24,30],which:[1,4,6,7,10,11,12,14,16,18,22,24,27,28,30,31,32],who:[14,32],whose:[6,7,11,14,18,20,30],why:0,window:0,with_traceback:25,within:[0,2,14,20],without:[0,11,12,18,27],won:28,word:27,work:[3,32],workflow:0,world:30,would:[11,32],write:[0,4,21,27],wrt:18,www:30,x11szmlszq:32,x:[26,30,32],xaxis_tickformat:[26,32],xaxis_tickprefix:32,xaxis_tickv:26,xaxis_titl:[26,32],y:[26,30,32],yaml:[0,3,12,16,19,21,27,30],yaxis_tickformat:[26,32],yaxis_tickprefix:32,yaxis_ticktext:26,yaxis_titl:[26,32],year:[4,13,24,26,29,31],yet:9,you:[0,4,18,28,31,32],your:[0,3,10,27],yourself:0,yyyi:[19,24],z:30,zero:31,zipcod:12},titles:["How to contribute","Introduction","Commons","Country template","Data","Data storage","Entities","Enums","Errors","Experimental features","Extension template","Holders","Parameters","Periods","Populations","Projectors","Reforms","Scripts","Simulations","Tax-benefit systems","Tax scales","Tools","Tracers","Types","Variables","Warnings","Charts","Using the command-line interface","Creating a country package","Writing datasets","Writing parameters","Writing reforms","Simulating policy"],titleterms:{"enum":7,"switch":2,abstractratetaxscal:20,abstracttaxscal:20,amounttaxscalelik:20,api:29,apply_threshold:2,argument:27,atinstantlik:12,ax:32,bar:26,benefit:19,build:28,build_ent:6,changelog:0,chart:26,command:27,common:2,computationlog:22,concat:2,contains_nan:12,contribut:0,countri:[3,28],countrytaxbenefitsystem:3,creat:28,cross:26,data:[4,5,27],dataset:[4,29],dump_simul:21,entiti:6,entitytopersonprojector:15,entri:0,enumarrai:7,error:8,exampl:29,experiment:9,extens:10,featur:9,firstpersontoentityprojector:15,flattrac:22,formula:2,fulltrac:22,groupent:6,grouppopul:14,holder:11,household:32,how:0,individu:32,inmemorystorag:5,instant:13,interfac:[27,28],introduct:1,libyamlwarn:25,line:27,linearaverageratetaxscal:20,load_parameter_fil:12,marginalamounttaxscal:20,marginalratetaxscal:20,memoryconfig:9,memoryconfigwarn:25,metadata:30,microsimul:18,modifi:31,name:27,nancreationerror:8,node:30,ondiskstorag:5,other:30,over:32,packag:28,paramet:[12,30,31],parameteratinst:12,parameternod:12,parameternodeatinst:12,parameternotfounderror:8,parameterparsingerror:8,parameterscal:12,parameterscalebracket:12,performancelog:22,period:13,periodmismatcherror:8,polici:32,popul:[14,32],posit:27,privatedataset:4,projector:15,publicdataset:4,pull:0,ratetaxscalelik:20,refer:30,reform:[16,31],repo:28,request:0,restore_simul:21,role:6,run_test:21,scale:20,script:17,section:26,set_input_dispatch_by_period:11,set_input_divide_by_period:11,simpletrac:22,simul:[18,32],simulationbuild:18,singleamounttaxscal:20,situationparsingerror:8,specif:30,specifi:30,spiralerror:8,storag:5,sub:27,system:19,tax:[19,20],taxbenefitsystem:19,taxscalelik:20,tempfilewarn:25,templat:[3,10],test:27,tool:21,tracenod:22,tracer:22,tracingparameternodeatinst:22,type:23,uniqueroletoentityprojector:15,unit:30,us:27,valu:30,variabl:[24,31],variablenameconflicterror:8,variablenotfounderror:8,vectorialparameternodeatinst:12,warn:25,write:[29,30,31]}}) \ No newline at end of file