class_docstr: Manages the privacy budget.
class_docstr_tok: ["Manages","the","privacy","budget","."]
docstr: Constructs a NaiveBudgetAccountant.
  
  Args:
      total_epsilon: epsilon for the entire pipeline.
      total_delta: delta for the entire pipeline.
      num_aggregations: number of DP aggregations in the pipeline for
       which  'self' manages the budget. All aggregations should have
       'budget_weight' = 1. When specified, all aggregations will have
       equal budget. It is useful to ensure that the pipeline has fixed
       number of DP aggregations.
      aggregation_weights: 'budget_weight' of aggregations for which
       'self' manages the budget. It is useful to ensure that the pipeline
        has a fixed number of DP aggregations with fixed weights.
  
  If num_aggregations and aggregation_weights are not set, there are no
  restrictions on the number of aggregations nor their budget weights.
  
  Raises:
      A ValueError if either argument is out of range.
      A ValueError if num_aggregations and aggregation_weights are both set.
docstr_tok: ["Constructs","a","NaiveBudgetAccountant",".","Args",":","total_epsilon",":","epsilon","for","the","entire","pipeline",".","total_delta",":","delta","for","the","entire","pipeline",".","num_aggregations",":","number","of","DP","aggregations","in","the","pipeline","for","which","'self","'","manages","the","budget",".","All","aggregations","should","have","'budget_weight","'","=","1",".","When","specified",",","all","aggregations","will","have","equal","budget",".","It","is","useful","to","ensure","that","the","pipeline","has","fixed","number","of","DP","aggregations",".","aggregation_weights",":","'budget_weight","'","of","aggregations","for","which","'self","'","manages","the","budget",".","It","is","useful","to","ensure","that","the","pipeline","has","a","fixed","number","of","DP","aggregations","with","fixed","weights",".","If","num_aggregations","and","aggregation_weights","are","not","set",",","there","are","no","restrictions","on","the","number","of","aggregations","nor","their","budget","weights",".","Raises",":","A","ValueError","if","either","argument","is","out","of","range",".","A","ValueError","if","num_aggregations","and","aggregation_weights","are","both","set","."]
code: def __init__(
      self,
      total_epsilon: float,
      total_delta: float,
      num_aggregations: Optional[int] = None,
      aggregation_weights: Optional[list] = None,
  ):
      """Constructs a NaiveBudgetAccountant.
  
      Args:
          total_epsilon: epsilon for the entire pipeline.
          total_delta: delta for the entire pipeline.
          num_aggregations: number of DP aggregations in the pipeline for
           which  'self' manages the budget. All aggregations should have
           'budget_weight' = 1. When specified, all aggregations will have
           equal budget. It is useful to ensure that the pipeline has fixed
           number of DP aggregations.
          aggregation_weights: 'budget_weight' of aggregations for which
           'self' manages the budget. It is useful to ensure that the pipeline
            has a fixed number of DP aggregations with fixed weights.
  
      If num_aggregations and aggregation_weights are not set, there are no
      restrictions on the number of aggregations nor their budget weights.
  
      Raises:
          A ValueError if either argument is out of range.
          A ValueError if num_aggregations and aggregation_weights are both set.
      """
      super().__init__(
          total_epsilon,
          total_delta,
          num_aggregations,
          aggregation_weights,
      )
  
imports: import abc
  import collections
  import logging
  import math
  from typing import Optional
  from dataclasses import dataclass
  import pipeline_dp.aggregate_params
  from pipeline_dp import input_validators
label_desc: Use image node_id 1 to create a new NaiveBudgetAccountant object from inherited base classes: BudgetAccountant with example: obj = NaiveBudgetAccountant(total_epsilon, total_delta, num_aggregations, aggregation_weights)