Briefer
Extracto
The file tree is where you can manage your notebooks and navigate through them.
Contenido
The file tree
The file tree is where you can manage your notebooks and navigate through them.
Like in Notion, you can choose icons for each notebook, reorder them, or put one inside another. That way, you can organize your notebooks in a way that makes sense to you and your team.
Additionally, whenever you delete a notebook, we keep a copy in the trash so you can restore it if needed.
Blocks and tabs
Briefer notebooks are made of blocks of different types.
Each block has a specific purpose and performs different tasks.
- Text blocks are for you to add context to your notebook.
- Query blocks are for you to gather data from files or connected data sources, like Postgres, BigQuery, Redshift, Athena, and others.
- File upload blocks are for you to add CSV, XLS, or other files to your notebook in case your data is not in a connected data source.
- Python blocks are for you to write Python code to manipulate data, create visualizations, or do whatever else you want.
- Input blocks are for you to add interactive elements to your notebook, like text inputs or dropdowns.
- Visualization blocks are for you to create visualizations without writing any code.
After adding blocks to your notebook, you can group them into tabs to organize your notebook and make it easier to navigate through.
Files and databases
You can use query blocks to query data from files and databases without having to write wrappers or connectors.
If your data is in a database, you can use query blocks to write SQL queries and get the data you need.
In case your data is in a file (CSV, XLSX, Parquet, or others), you can upload that file and query it using regular SQL.
Briefer's query blocks also allow you to query dataframes using regular SQL.
Automatic dataframes
Every query block automatically creates a Pandas dataframe containing the query's result.
This way, you can use this data in further Python blocks.
Let's say you want to plot your app's signups per month.
To do that, you can start by using a query block to fetch the signups from your database. This query block will automatically create a dataframe containing the query's results.
Then, you can use this dataframe in Python blocks to aggregate the data by month and create a plot using matplotlib or seaborn, for example.
By default, dataframes have names like query_1, but you can rename them to something more meaningful.
AI Assistant
SQL and Python blocks include an AI assistant.
Whenever you want the AI assistant's help, you can click "edit with AI" and tell it what you want to do.
Then, the AI assistant will come up with a suggestion and show you a diff that you can try, accept, or reject.
In the Python block, the AI assistant is aware of the existing dataframes and its columns.
In the SQL block, the AI assistant already knows the tables and columns in your database, so it can give better suggestions and help you get complex queries right.
Whenever an error comes up, you can click "Fix with AI" to get the AI assistant to try to fix it for you.
Schedules
You can schedule your notebooks to run at a specific interval, like every hour, every day, every week, or every month.
Let's say you're working on a notebook that fetches live data from a database and creates a detailed report with leads generated by your marketing campaigns.
In that case, you can schedule this notebook to run every day at 8:00 AM, so you have the report ready for your sales team when they start their day.
When creating schedules, you can also set up notifications to receive an email or Slack message when the schedule runs successfully or fails. In the case of successful runs you will also receive a PDF file with the notebook's outputs.
Snapshots and versioning
Whenever you publish a notebook, we automatically save the notebook's state so you can see the changes over time and roll back to previous versions if needed.
This way, you can keep track of the changes you make to your notebooks and revert to a previous version if something goes wrong.
Additionally, every successful scheduled run creates a snapshot of the notebook's state at that time.
Snapshots are useful when you want to see how results changed over time or compare the outputs of different runs.
snapshots_and_versioning.mp4
Notebooks to dashboards
You can use your notebook's outputs to create dashboards.
This way, you can share results with others without including unnecessary code or explanations, like when you have to do a lot of data wrangling before plotting a chart.
Dashboard views are also useful for building data apps, where you want to allow users to interact with inputs and dropdowns but don't want them to see the code behind the scenes.
notebooks_to_dashboards.mp4