Skip to main content

The DuckDB IDE for Your Terminal.

Project description

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.

Project details


Release history Release notifications | RSS feed

This version

1.3.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

harlequin-1.3.0.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

harlequin-1.3.0-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file harlequin-1.3.0.tar.gz.

File metadata

  • Download URL: harlequin-1.3.0.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.13 Linux/6.2.0-1015-azure

File hashes

Hashes for harlequin-1.3.0.tar.gz
Algorithm Hash digest
SHA256 da830c1944d9dca7ac1f31b9dab8fa7d6a3acef11376103193908516053bb381
MD5 26ace2f30d576d369fa35a6241831a8e
BLAKE2b-256 1dcabbd1bc0dd94c7f3ed6861074b6f1da42bc40a46580ab7b13eb8c2ddec995

See more details on using hashes here.

File details

Details for the file harlequin-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: harlequin-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.13 Linux/6.2.0-1015-azure

File hashes

Hashes for harlequin-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 616ba3edcd9da63de1fc99607cd15b9a8991c273c5841d206acc48c8910b83ff
MD5 999e6e3eab27006a1ce0657e199a8ea2
BLAKE2b-256 d3029bfce70edcb251c1473c3110986e4fdd04edbc829e80c1a1a089bb6bec7a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page