DEV Community


How to be Pythonic? Design a Query Language in Python - Cheuk Ho (EuroPython 2020)

whykay profile image whykay πŸ‘©πŸ»β€πŸ’»πŸˆπŸ³οΈβ€πŸŒˆ (she/her) ・2 min read

🎞 We just uploaded another 30 EuroPython 2020 videos and in total we have 120 videos online!

πŸ‘‰ See our playlist on youtube

We want to highlight talks in this EuroPython 2020 Video series, especially those who are part of DEV community.

First up is Cheuk Ho talking about "How to be Pythonic? Design a Query Language in Python".

Talk Description

Query language is an important part of a database system, it is how people manage their data and how they can make the data useful to them. Starting from the 70s, the world is full of relational databases and SQL was the way to make queries. However, SQL is valuable to an injection attack. Lots of efforts are being used to stop those attacks and it made workflow become less efficient.

We don’t want to make the same mistake. That’s why using a Python query language is good. Having the Python community in our mind, we created WOQLpy, an open-source query language that lets users build queries in Python, instead of JSON-LD which is the native query language for our TerminusDB database. Now users can store data with a knowledge graph and make graph data visualization with Python.

In the first part of the talk, we will talk about what challenges we have when creating a query language in Python, the method we use, the idea and theory behind, and how WOQLpy work. This part will include a quick live demo of using WOQLpy so audiences can have an impression on how to make a query and get the task done, that is, getting a meaningful graph visualization form the source CSVs. The process of how to create a database and schema, loading the data form many CSVs, making a query and visualization, will be demonstrated using just one python script.

In the second part of the talk, we want to stimulate a discussion of what is a good design in Python and what is not. This part will be more interactive with the audiences, as we want to hear from you all, what would be the best for Pythonistas. By first suggesting some possible design, we will use a live voting system to gather opinions. This part of the talk will extend to the Q & A sessions to allow further discussions.

This talk is for Pythonista at all levels who are interested in starting to design a package in Python, no matter if the audience has published a python library or not. By attending this talk, audiences will learn about how to design a Python package that will be useful to Pythonistas and hopefully encourage more people to publish open-source packages online.


License: This video is licensed under the CC BY-NC-SA 3.0 license:

Discussion (2)

whykay profile image
cheukting_ho profile image
Forem Open with the Forem app