Skip to content

jwills/harlequin

 
 

Repository files navigation

Harlequin

PyPI Test

PyPI - Python Version Runs on Linux | MacOS | Windows

The DuckDB IDE for Your Terminal.

Harlequin Demo Video

Installing Harlequin

After installing Python 3.8 or above, install Harlequin using pip or pipx with:

pipx install harlequin

Using Harlequin

From any shell, to open one or more DuckDB database files:

harlequin "path/to/duck.db" "another_duck.db"

To open an in-memory DuckDB session, run Harlequin with no arguments:

harlequin

More info at harlequin.sh

Visit harlequin.sh for an overview of features and full documentation.

Contributing

Thanks for your interest in Harlequin! Harlequin is primarily maintained by Ted Conbeer, but he welcomes all contributions and is looking for additional maintainers!

Providing Feedback

We'd love to hear from you! Open an Issue to request new features, report bugs, or say hello.

Setting up Your Dev Environment and Running Tests

  1. Install Poetry v1.2 or higher if you don't have it already. You may also need or want pyenv, make, and gcc.
  2. Fork this repo, and then clone the fork into a directory (let's call it harlequin), then cd harlequin.
  3. Use poetry install --sync to install the project (editable) and its dependencies (including all test and dev dependencies) into a new virtual env.
  4. Use poetry shell to spawn a subshell.
  5. Type make to run all tests and linters, or run pytest, black ., ruff . --fix, and mypy individually.

Opening PRs

  1. PRs should be motivated by an open issue. If there isn't already an issue describing the feature or bug, open one. Do this before you write code, so you don't waste time on something that won't get merged.
  2. Ideally new features and bug fixes would be tested, to prevent future regressions. Textual provides a test harness that we use to test features of Harlequin. You can find some examples in the tests directory of this project. Please include a test in your PR, but if you can't figure it out, open a PR to ask for help.
  3. Open a PR from your fork to the main branch of tconbeer/harlequin. In the PR description, link to the open issue, and then write a few sentences about why you wrote the code you did: explain your design, etc.
  4. Ted may ask you to make changes, or he may make them for you. Don't take this the wrong way -- he values your contributions, but he knows this isn't your job, either, so if it's faster for him, he may push a commit to your branch or create a new branch from your commits.

About

The DuckDB IDE for Your Terminal.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.5%
  • Makefile 0.5%