pub fn list_updated_fields(&self, _py: Python<'_>) -> PyResult<Py<PyAny>> {
        let settings = ParserInputs {
            real_name_to_og_name: AHashMap::default(),
            wanted_players: vec![],
            wanted_player_props: vec![],
            wanted_other_props: vec![],
            wanted_prop_states: AHashMap::default(),
            wanted_events: vec!["none".to_string()],
            parse_ents: true,
            wanted_ticks: vec![],
            parse_projectiles: false,
            parse_grenades: false,
            only_header: false,
            list_props: true,
            only_convars: false,
            huffman_lookup_table: &self.huf,
            order_by_steamid: false,
            fallback_bytes: None,
        };
        let mut parser = Parser::new(settings, parser::parse_demo::ParsingMode::Normal);
        let output = match parser.parse_demo(&self.mmap) {
            Ok(output) => output,
            Err(e) => return Err(Exception::new_err(format!("{e}"))),
        };
        let as_vec = output.uniq_prop_names.iter().collect_vec();
        let ge = pyo3::Python::with_gil(|py| as_vec.to_object(py));
        Ok(ge)
    }
Returns the names of game events present in the demo
src/python/src/lib.rs