public static void Main()
Runtime.PythonDLL = "/usr/lib/x86_64-linux-gnu/libpython3.11.so";
PythonEngine.Initialize();
PrettyTable prettyTable = new PrettyTable(new[] { "Name", "Age", "City" });
prettyTable.add_row(new[] { "Test", "30", "New York" });
Console.WriteLine( prettyTable.get_string() );
private dynamic pyInstance;
public PrettyTable(dynamic field_names)
dynamic pyModule = Py.Import("prettytable");
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(field_names)};
pyInstance = pyModule.PrettyTable.Invoke(new PyTuple(pyArgs));
public dynamic add_autoindex(string fieldname)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(fieldname)};
return pyInstance.add_autoindex.Invoke(new PyTuple(pyArgs));
public dynamic add_column(dynamic fieldname, dynamic column, string align, string valign)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(fieldname), ConverterExtension.ToPython(column), ConverterExtension.ToPython(align), ConverterExtension.ToPython(valign)};
return pyInstance.add_column.Invoke(new PyTuple(pyArgs));
public dynamic add_row(dynamic row)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(row)};
return pyInstance.add_row.Invoke(new PyTuple(pyArgs));
public dynamic add_rows(dynamic rows)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(rows)};
return pyInstance.add_rows.Invoke(new PyTuple(pyArgs));
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.clear.Invoke(new PyTuple(pyArgs));
public dynamic clear_rows()
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.clear_rows.Invoke(new PyTuple(pyArgs));
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.copy.Invoke(new PyTuple(pyArgs));
public dynamic del_column(dynamic fieldname)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(fieldname)};
return pyInstance.del_column.Invoke(new PyTuple(pyArgs));
public dynamic del_row(dynamic row_index)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(row_index)};
return pyInstance.del_row.Invoke(new PyTuple(pyArgs));
public dynamic get_csv_string()
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.get_csv_string.Invoke(new PyTuple(pyArgs));
public dynamic get_html_string()
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.get_html_string.Invoke(new PyTuple(pyArgs));
public dynamic get_json_string()
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.get_json_string.Invoke(new PyTuple(pyArgs));
public dynamic get_latex_string()
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.get_latex_string.Invoke(new PyTuple(pyArgs));
public dynamic get_string()
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.get_string.Invoke(new PyTuple(pyArgs));
public dynamic paginate(int page_length, string line_break)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(page_length), ConverterExtension.ToPython(line_break)};
return pyInstance.paginate.Invoke(new PyTuple(pyArgs));
public dynamic set_style(dynamic style)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(style)};
return pyInstance.set_style.Invoke(new PyTuple(pyArgs));
public class TableHandler
private dynamic pyInstance;
dynamic pyModule = Py.Import("tablehandler");
PyObject[] pyArgs = new PyObject[] {};
pyInstance = pyModule.TableHandler.Invoke(new PyTuple(pyArgs));
public dynamic check_for_whole_start_tag(dynamic i)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i)};
return pyInstance.check_for_whole_start_tag.Invoke(new PyTuple(pyArgs));
public dynamic clear_cdata_mode()
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.clear_cdata_mode.Invoke(new PyTuple(pyArgs));
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.close.Invoke(new PyTuple(pyArgs));
public dynamic feed(dynamic data)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(data)};
return pyInstance.feed.Invoke(new PyTuple(pyArgs));
public dynamic generate_table(dynamic rows)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(rows)};
return pyInstance.generate_table.Invoke(new PyTuple(pyArgs));
public dynamic get_starttag_text()
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.get_starttag_text.Invoke(new PyTuple(pyArgs));
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.getpos.Invoke(new PyTuple(pyArgs));
public dynamic goahead(dynamic end)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(end)};
return pyInstance.goahead.Invoke(new PyTuple(pyArgs));
public dynamic handle_charref(dynamic name)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(name)};
return pyInstance.handle_charref.Invoke(new PyTuple(pyArgs));
public dynamic handle_comment(dynamic data)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(data)};
return pyInstance.handle_comment.Invoke(new PyTuple(pyArgs));
public dynamic handle_data(dynamic data)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(data)};
return pyInstance.handle_data.Invoke(new PyTuple(pyArgs));
public dynamic handle_decl(dynamic decl)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(decl)};
return pyInstance.handle_decl.Invoke(new PyTuple(pyArgs));
public dynamic handle_endtag(dynamic tag)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(tag)};
return pyInstance.handle_endtag.Invoke(new PyTuple(pyArgs));
public dynamic handle_entityref(dynamic name)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(name)};
return pyInstance.handle_entityref.Invoke(new PyTuple(pyArgs));
public dynamic handle_pi(dynamic data)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(data)};
return pyInstance.handle_pi.Invoke(new PyTuple(pyArgs));
public dynamic handle_startendtag(dynamic tag, dynamic attrs)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(tag), ConverterExtension.ToPython(attrs)};
return pyInstance.handle_startendtag.Invoke(new PyTuple(pyArgs));
public dynamic handle_starttag(dynamic tag, dynamic attrs)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(tag), ConverterExtension.ToPython(attrs)};
return pyInstance.handle_starttag.Invoke(new PyTuple(pyArgs));
public dynamic make_fields_unique(dynamic fields)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(fields)};
return pyInstance.make_fields_unique.Invoke(new PyTuple(pyArgs));
public dynamic parse_bogus_comment(dynamic i, dynamic report)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i), ConverterExtension.ToPython(report)};
return pyInstance.parse_bogus_comment.Invoke(new PyTuple(pyArgs));
public dynamic parse_comment(dynamic i, dynamic report)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i), ConverterExtension.ToPython(report)};
return pyInstance.parse_comment.Invoke(new PyTuple(pyArgs));
public dynamic parse_declaration(dynamic i)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i)};
return pyInstance.parse_declaration.Invoke(new PyTuple(pyArgs));
public dynamic parse_endtag(dynamic i)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i)};
return pyInstance.parse_endtag.Invoke(new PyTuple(pyArgs));
public dynamic parse_html_declaration(dynamic i)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i)};
return pyInstance.parse_html_declaration.Invoke(new PyTuple(pyArgs));
public dynamic parse_marked_section(dynamic i, dynamic report)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i), ConverterExtension.ToPython(report)};
return pyInstance.parse_marked_section.Invoke(new PyTuple(pyArgs));
public dynamic parse_pi(dynamic i)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i)};
return pyInstance.parse_pi.Invoke(new PyTuple(pyArgs));
public dynamic parse_starttag(dynamic i)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i)};
return pyInstance.parse_starttag.Invoke(new PyTuple(pyArgs));
PyObject[] pyArgs = new PyObject[] {};
return pyInstance.reset.Invoke(new PyTuple(pyArgs));
public dynamic set_cdata_mode(dynamic elem)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(elem)};
return pyInstance.set_cdata_mode.Invoke(new PyTuple(pyArgs));
public dynamic unknown_decl(dynamic data)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(data)};
return pyInstance.unknown_decl.Invoke(new PyTuple(pyArgs));
public dynamic updatepos(dynamic i, dynamic j)
PyObject[] pyArgs = new PyObject[] {ConverterExtension.ToPython(i), ConverterExtension.ToPython(j)};
return pyInstance.updatepos.Invoke(new PyTuple(pyArgs));