cantera._types.*

# Exclude ArgumentParser, Path, and various types
# TODO: Remove after dropping support for mypy 1.19 and older.
((_|\w)+\.)+_?(ArgumentParser|Path|Any|Iterable|Sequence|TypedDict|TypeVar).*

# Exclude all dunder methods
# cantera\.((_|\w)+\.)+__[a-zA-Z0-9_]*__

# Exclude all dunder methods except for __init__
# cantera\.((_|\w)+\.)+__(?!init__$)[a-zA-Z0-9_]*__

# Exclude specific dunder methods. ``__cinit__`` is a Cython constructor that is folded
# into the runtime type's initializer and so is never present as a separate method.
cantera\.((_|\w)+\.)+__(.*cython|cinit|test|pyx_capi|mutable_keys|readonly_keys|conditional_annotations)__

# Cython pure-Python-syntax modules (see ``pure_py_modules`` in SConscript) ship their
# annotated .py source as the type stub. That source contains names that mypy sees but
# that are compiled away and so are absent from the runtime extension: the ``import
# cython`` shim, ``cdef`` helpers cimported from other modules, and ``@cython.cfunc``
# methods (C-level only). These are expected stub-vs-runtime differences.
cantera\.(\w+\.)?(cython|cnp|move|make_shared|static_pointer_cast)
cantera\.(\w+\.)?(stringify|pystr|get_from_sparse|anymap_to_py|py_to_anymap|python_to_anyvalue)
cantera\.(\w+\.)?(anyvalue_to_python|comp_map|comp_map_to_dict|get_types)
cantera\.(\w+\.)?_?Cxx.*
cantera\.(\w+\.)?\w+\._[a-zA-Z].*  # ignore all private methods
cantera\.(\w+\.)?\w+\.(set_cxx_object|cxx_object|wrap)
cantera\.(_utils\.)?list2?_(bool|double|int|string)_to_anyvalue
cantera\.(_utils\.)?list_(dict_to|to)_anyvalue
cantera\.(func1\.)?func_callback
cantera\.(speciesthermo\.)?SPECIES_THERMO_\w+
cantera\.speciesthermo\.wrapSpeciesThermo
cantera\.units\.Units\.copy
cantera\.units\.UnitStack\.copy
cantera\.(transport\.)?get_(transport_1d|transport_2d|transport_polynomial|binary_transport_polynomial)
# Compile-time-only cimports (no runtime attribute) and a Literal type alias that
# stubtest misreports as "not a Union" -- all expected stub-vs-runtime differences.
cantera\.transport\.(ThermoPhase|_GeometryOptions)
# kinetics: compile-time-only cimports + module-level @cython.cfunc helpers.
cantera\.kinetics\.(Reaction|CustomRate|ExtensibleRate)
cantera\.(kinetics\.)?(get_species_array|get_reaction_array|get_dense|get_sparse)
# solutionbase: compile-time-only cimports (no runtime attribute), a module-level
# C typedef, and the module-level @cython.cfunc free functions.
cantera\.solutionbase\.(ThermoPhase|InterfacePhase|Species|Kinetics|Transport)
cantera\.(solutionbase\.)?(Reaction|CustomRate|ExtensibleRate|pyOverride)
cantera\.solutionbase\.(callback_v|YamlWriter|anyvalue_to_python|AnyMapFromYamlString)
# reaction: compile-time-only cimports and @cython.cfunc helpers.
cantera\.reaction\.(Kinetics|Units|UnitStack|assign_delegates)
# thermo: compile-time-only cimports (no runtime attribute), a module-level C typedef,
# a Literal type alias that stubtest misreports as "not a Union", and module-level
# @cython.cfunc free functions / cdef-class helper methods.
cantera\.thermo\.(GasTransportData|SpeciesThermo|Units)
cantera\.(thermo\.)?(mass_basis|molar_basis|parseCompString|wrapSpeciesThermo)
# _onedim: compile-time-only cimports (no runtime attribute).
cantera\.(_onedim\.)?view
# reactor: compile-time-only cimports (no runtime attribute).
cantera\.reactor\.(assign_delegates|view)
# delegator: compile-time-only cimports (the ``ExtensibleRate``/``ExtensibleRateData``
# types used for ``issubclass`` and the native-Cython ``callback_*`` wrappers from
# ``_delegate_callbacks``) plus the ``@cython.cfunc`` ``assign_delegates`` helper; all
# are compiled away and absent from the runtime extension.
cantera\.(delegator\.)?(ExtensibleRate|ExtensibleRateData|assign_delegates|callback_\w+)
# composite: SolutionArray's single-property state/output accessors are read-only
# `property` objects installed at runtime by the `_make_functions()`/`setattr`
# loops (which overwrite the class body unconditionally). The merged `.py` declares
# them as bare class-level annotations: this publishes the correct *type* but cannot
# express read-only-ness, because mypy strict rejects every compact read-only
# spelling here (`Final[...]` requires an initializer; an empty-body `@property` trips
# `[empty-body]`), and a real `@property` stub would need a ~3-line body x116. The
# read-write/read-only mismatch is therefore allowlisted (the multi-letter combined
# state props like TP/TPX are genuinely read-write and are NOT listed).
cantera\.(\w+\.)?SolutionArray\.(P|P_sat|Q|T|T_sat|Te|X|Y|activities|activity_coefficients|binary_diff_coeffs|chemical_potentials|concentrations|coverages|cp|cp_mass|cp_mole|creation_rates|creation_rates_ddC|creation_rates_ddCi|creation_rates_ddP|creation_rates_ddT|creation_rates_ddX|critical_density)
cantera\.(\w+\.)?SolutionArray\.(critical_pressure|critical_temperature|cv|cv_mass|cv_mole|delta_enthalpy|delta_entropy|delta_gibbs|delta_standard_enthalpy|delta_standard_entropy|delta_standard_gibbs|density|density_mass|density_mole|destruction_rates|destruction_rates_ddC|destruction_rates_ddCi|destruction_rates_ddP|destruction_rates_ddT|destruction_rates_ddX|electric_potential|electrical_conductivity|electrochemical_potentials|enthalpy_mass)
cantera\.(\w+\.)?SolutionArray\.(enthalpy_mole|entropy_mass|entropy_mole|equilibrium_constants|forward_rate_constants|forward_rate_constants_ddC|forward_rate_constants_ddP|forward_rate_constants_ddT|forward_rates_of_progress|forward_rates_of_progress_ddC|forward_rates_of_progress_ddP|forward_rates_of_progress_ddT|g|gibbs_mass|gibbs_mole|h|heat_production_rates|heat_release_rate|int_energy_mass|int_energy_mole|internal_pressure|isothermal_compressibility|mean_molecular_weight|mix_diff_coeffs)
cantera\.(\w+\.)?SolutionArray\.(mix_diff_coeffs_mass|mix_diff_coeffs_mole|mobilities|multi_diff_coeffs|net_production_rates|net_production_rates_ddC|net_production_rates_ddCi|net_production_rates_ddP|net_production_rates_ddT|net_production_rates_ddX|net_rates_of_progress|net_rates_of_progress_ddC|net_rates_of_progress_ddP|net_rates_of_progress_ddT|partial_molar_cp|partial_molar_cv_TV|partial_molar_enthalpies|partial_molar_entropies|partial_molar_int_energies|partial_molar_int_energies_TV|partial_molar_volumes|phase_of_matter|reverse_rate_constants|reverse_rates_of_progress)
cantera\.(\w+\.)?SolutionArray\.(reverse_rates_of_progress_ddC|reverse_rates_of_progress_ddP|reverse_rates_of_progress_ddT|s|sound_speed|species_viscosities|standard_cp_R|standard_enthalpies_RT|standard_entropies_R|standard_gibbs_RT|standard_int_energies_RT|thermal_conductivity|thermal_diff_coeffs|thermal_expansion_coeff|third_body_concentrations|u|v|viscosity|volume_mass|volume_mole)
# onedim: FlameBase's gas-property pass-throughs are read-only `property` objects
# installed at runtime by the `_array_property()`/`setattr` loops following the
# class body (which overwrite the class body unconditionally). The merged `.py`
# declares them as bare class-level annotations: this publishes the correct
# *type* but cannot express read-only-ness (same constraint as
# `composite.SolutionArray` above), so the read-write/read-only mismatch is
# allowlisted here too.
cantera\.(onedim\.)?FlameBase\.(X|Y|activities|activity_coefficients|chemical_potentials|concentrations|cp|cp_mass|cp_mole|creation_rates|creation_rates_ddC|creation_rates_ddP|creation_rates_ddT|cv|cv_mass|cv_mole|delta_enthalpy|delta_entropy|delta_gibbs|delta_standard_enthalpy|delta_standard_entropy|delta_standard_gibbs|density|density_mass|density_mole|destruction_rates|destruction_rates_ddC|destruction_rates_ddP|destruction_rates_ddT|electrochemical_potentials|enthalpy_mass|enthalpy_mole|entropy_mass|entropy_mole|equilibrium_constants)
cantera\.(onedim\.)?FlameBase\.(forward_rate_constants|forward_rate_constants_ddC|forward_rate_constants_ddP|forward_rate_constants_ddT|forward_rates_of_progress|forward_rates_of_progress_ddC|forward_rates_of_progress_ddP|forward_rates_of_progress_ddT|g|gibbs_mass|gibbs_mole|h|heat_production_rates|heat_release_rate|int_energy|int_energy_mass|int_energy_mole|internal_pressure|isothermal_compressibility|mean_molecular_weight|mix_diff_coeffs|mix_diff_coeffs_mass|mix_diff_coeffs_mole|mobilities)
cantera\.(onedim\.)?FlameBase\.(net_production_rates|net_production_rates_ddC|net_production_rates_ddP|net_production_rates_ddT|net_rates_of_progress|net_rates_of_progress_ddC|net_rates_of_progress_ddP|net_rates_of_progress_ddT|partial_molar_cp|partial_molar_cv_TV|partial_molar_enthalpies|partial_molar_entropies|partial_molar_int_energies|partial_molar_int_energies_TV|partial_molar_volumes|reverse_rate_constants|reverse_rates_of_progress|reverse_rates_of_progress_ddC|reverse_rates_of_progress_ddP|reverse_rates_of_progress_ddT)
cantera\.(onedim\.)?FlameBase\.(s|sound_speed|species_viscosities|standard_cp_R|standard_enthalpies_RT|standard_entropies_R|standard_gibbs_RT|standard_int_energies_RT|thermal_conductivity|thermal_diff_coeffs|thermal_expansion_coeff|third_body_concentrations|viscosity|volume|volume_mass|volume_mole)
# onedim: `DomainTooNarrow`/`FlameBlowoff` are exception classes defined inside
# `FreeFlame.solve`/`BurnerFlame.solve` (used only to break out of the steady
# callback). stubtest's static analysis of the merged `.py` (which doubles as
# its own stub) sees these as class definitions and expects them at module
# scope, but they are function-local and never bound to `cantera.onedim`.
cantera\.onedim\.(DomainTooNarrow|FlameBlowoff)(@\d+)?

# Current output of stubtest --generate-allowlist
# TODO: Remove many of these after dropping support for mypy 1.19 and older.
cantera.ConnectorNode.__init__
cantera.GasTransportData.__init__
cantera.Mixture.__call__
cantera.Mixture.__init__
cantera.Quantity.clear_user_data
cantera.Quantity.clear_user_header
cantera.Quantity.reactions
cantera.Quantity.update_electron_energy_distribution
cantera.Reaction.__init__
cantera.ReactionPathDiagram.__init__
cantera.SolutionArray.__init__
cantera.SolutionArray.reactions
cantera.SolutionArrayBase.__init__
cantera.SpeciesThermo.__init__
cantera.SystemJacobian.__init__
cantera.ThirdBody.__init__
cantera.UnitSystem.__init__
cantera.Units.__init__
cantera.ck2yaml.ChemicallyActivated.__init__
cantera.ck2yaml.Falloff.__init__
cantera.composite.Quantity.clear_user_data
cantera.composite.Quantity.clear_user_header
cantera.composite.Quantity.reactions
cantera.composite.Quantity.update_electron_energy_distribution
cantera.composite.SolutionArray.__init__
cantera.composite.SolutionArray.reactions
cantera.jacobians.SystemJacobian.__init__
cantera.mixture.Mixture.__call__
cantera.mixture.Mixture.__init__
cantera.reaction.Reaction.__init__
cantera.reaction.ThirdBody.__init__
cantera.reactionpath.ReactionPathDiagram.__init__
cantera.reactor.ConnectorNode.__init__
cantera.solutionbase.SolutionArrayBase.__init__
cantera.speciesthermo.SpeciesThermo.__init__
cantera.transport.GasTransportData.__init__
cantera.units.UnitSystem.__init__
cantera.units.Units.__init__
