Python API Reference¶
Preql¶
-
class
preql.Preql(db_uri: str = 'sqlite://:memory:', print_sql: bool = False, auto_create: bool = False, autocommit: bool = False)¶ Provides an API to run Preql code from Python
Example
>>> import preql >>> p = preql.Preql() >>> p('[1, 2]{item+1}') [2, 3]
-
__init__(db_uri: str = 'sqlite://:memory:', print_sql: bool = False, auto_create: bool = False, autocommit: bool = False)¶ Initialize a new Preql instance
Parameters: - db_uri (str, optional) – URI of database. Defaults to using a non-persistent memory database.
- print_sql (bool, optional) – Whether or not to print every SQL query that is executed (default defined in settings)
-
load(filename, rel_to=None)¶ Load a Preql script
Parameters: - filename (str) – Name of script to run
- rel_to (Optional[str]) – Path to which
filenameis relative.
-
start_repl(*args)¶ Run the interactive prompt
-
import_pandas(**dfs)¶ Import pandas.DataFrame instances into SQL tables
Example
>>> pql.import_pandas(a=df_a, b=df_b)
-
-
class
preql.api.TablePromise(interp, inst)¶ Returned by Preql whenever the result is a table
Fetching values creates queries to database engine
-
to_json()¶ Returns table as a list of rows, i.e.
[{col1: value, col2: value, ...}, ...]
-
to_pandas()¶ Returns table as a Pandas dataframe (requires pandas installed)
-
__eq__(other)¶ Compare the table to a JSON representation of it as list of objects
Essentially:
return self.to_json() == other
-
__len__()¶ Run a count query on table
-
__getitem__(index)¶ Run a slice query on table
-