Welcome to the future of database querying! Preql is an innovative relational programming language designed specifically for data engineers, analysts, and data scientists. If you’ve ever wished for a high-level alternative to SQL that comes with the power of Python integration, your wish is granted. In this guide, we will walk you through the essential steps to get started with Preql, along with troubleshooting tips to ensure a smooth experience.
How Preql Works
Think of Preql as a translator that takes your everyday conversations in a high-level language and translates them into SQL—the language of databases. Just like a skilled translator can eloquently convert your words into another language while maintaining the meaning, Preql compiles your code into SQL at runtime. This dual capability gives you the flexibility of a scriptwriter and the power of a SQL master. So, whether you’re handling complex data analysis or running simple queries, Preql acts as your trusted intermediary.
Features of Preql
- Modern Syntax and Semantics: Everything is treated as an object.
- Strong Typing: Preql supports gradual type validation and duck-typing.
- Python and Pandas Integration: Seamlessly combine your favorite libraries with database queries.
- Interactive Shell (REPL): Experience auto-completion that guides you through your queries.
- Jupyter Notebook Support: Perfect for interactive data analysis.
Note: Preql is still a work in progress, so we advise against using it in production just yet.
Getting Started
Installation
To begin your data journey with Preql, you first need to install it. This can be easily accomplished via pip. Open your command line and run:
pip install -U preql
Once installed, you can simply run the Preql interpreter by executing:
preql
You will need Python 3.6 or higher for compatibility.
Example Code Walkthrough
Let’s break down a brief example to see Preql in action. In the example below, we will declare a table called Continent to store each continent’s name, area, and population:
table Continent
name: string
area: int km²
population: int
new Continent(Africa, 30370000, 1287920000)
new Continent(Antarctica, 14000000, 4490)
new Continent(Asia, 44579000, 4545133000)
new Continent(Europe, 10180000, 742648000)
new Continent(North America, 24709000, 587615000)
new Continent(South America, 17840000, 428240000)
new Continent(Australia, 8600000, 41261000)
print Continent
density: population / area
print Total land area:, sum(Continent.area), km²
In this example, you’re essentially creating a recipe for a dish called Continent. Each continent serves as an ingredient, and the data (name, area, population) are the measurements that make up the recipe. Finally, by using the print command, you reveal the sumptuous details of each continent, sorted by their density, just like revealing a beautifully arranged plate at a gourmet restaurant.
Troubleshooting Tips
If you encounter any issues while using Preql, here are some troubleshooting ideas to consider:
- Ensure that you are using Python 3.6 or higher.
- Check if your pip version is up to date and try re-installing Preql.
- If you are facing issues with commands not executing, ensure you’re using correct syntax as outlined in the documentation.
- For any dialect-specific functions that aren’t working, remember that you can always escape to raw SQL using the
SQL()function.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Additional Resources
Final Thoughts
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

