Skip to main content

Query language for the accidental programmer

Project description

HTSQL (“Hyper Text Structured Query Language”) is a high-level query language for relational databases. The target audience for HTSQL is the accidental programmer – one who is not a SQL expert, yet needs a usable, comprehensive query tool for data access and reporting.

HTSQL is also a web service which takes a request via HTTP, translates it into a SQL query, executes the query against a relational database, and returns the results in a format requested by the user agent (JSON, CSV, HTML, etc.).

Use of HTSQL with open source databases (PostgreSQL, MySQL, SQLite) is royalty free under BSD-style conditions. Use of HTSQL with proprietary database systems (Oracle, Microsoft SQL) requires a commercial license. See LICENSE for details.

For installation instructions, see INSTALL. For list of new features in this release, see NEWS. HTSQL documentation is in the doc directory.

http://htsql.org/

The HTSQL homepage

http://htsql.org/doc/showcase.html

Get taste of HTSQL

http://htsql.org/doc/tutorial.html

The HTSQL tutorial

http://bitbucket.org/prometheus/htsql

HTSQL source code

irc://irc.freenode.net#htsql

IRC chat in #htsql on freenode

http://lists.htsql.org/mailman/listinfo/htsql-users

The mailing list for users of HTSQL

HTSQL is copyright by Prometheus Research, LLC. HTSQL is written by Clark C. Evans <cce@clarkevans.com> and Kirill Simonov <xi@resolvent.net>.

Generous support for HTSQL was provided by the Simons Foundation. This material is also based upon work supported by the National Science Foundation under Grant #0944460.

Installation Instructions

Download HTSQL source code:

$ hg clone http://bitbucket.org/prometheus/htsql

Build and install HTSQL:

$ cd htsql
$ make build
# make install

Installing HTSQL creates a htsql-ctl script. For general help and a list of commands, run:

$ htsql-ctl help

To start a command-line HTSQL shell, run:

$ htsql-ctl shell DBURI

To start an HTTP server running HTSQL, run:

$ htsql-ctl server DBURI [HOST [PORT]]

Here, DBURI specifies how to connect to the database and must have the form:

ENGINE://USER:PASS@HOST:PORT/DATABASE

See also:

http://htsql.org/doc/install.html

Installation and Administration Guide

List of Changes

2.0.0 final (2011-02-01)

  • Merged /:json and /:jsonex formatters; use /:jsonex layout to avoid CSRF issues.

  • Documentation updates.

2.0.0 rc 1 (2011-01-21)

2.0.0 beta 5 (2010-12-14)

  • Completed the SQLite backend.

  • Completed the standard library.

2.0.0 beta 4 (2010-12-05)

  • Refactored peep-hole optimization of the frame tree and SQL serialization; refined the generated SQL.

  • Refactored the internal API for adding functions.

  • Added new (experimental) syntax for infix function call.

  • Added an “Examples” section to the documentation.

  • Fixed compatibility with Python 2.5.

  • Many minor bugfixes, documentation updates, etc.

2.0.0 beta 3 (2010-11-09)

  • Refactored the translator from the term tree to the frame tree; added a new translation step to collapse nested frames and reduce SQL expressions.

  • Added the HTRAF demo: use HTSQL with client-side javascript to define complex dashboards.

  • Added the SSI demo: using HTSQL for web without giving direct access to the database.

  • Updated the tutorial, minor bugfixes, regression test updates, etc.

2.0.0 beta 2 (2010-10-01)

  • Refactored the translator from the expression graph to the term tree.

  • Added Content-Disposition header to :json and :csv renderers.

  • Merged the tutorial to the repository.

2.0.0 beta 1 (2010-09-21)

  • Initial beta release.

  • PostgreSQL and SQLite backends are (mostly) supported, the former more than the latter.

  • The SQL translator needs more work, in particular, the term tree, the frame structure and the serializer.

  • Lots of functions are either not implemented or missing a proper serializer, especially in the SQLite backend.

  • Other areas which need more work before the final release: rendering, introspection, regression tests and documentation.

Project details


Download files

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

Source Distributions

HTSQL-2.0.0.zip (604.2 kB view details)

Uploaded Source

HTSQL-2.0.0.tar.gz (539.2 kB view details)

Uploaded Source

Built Distribution

HTSQL-2.0.0-py2.6.egg (525.9 kB view details)

Uploaded Egg

File details

Details for the file HTSQL-2.0.0.zip.

File metadata

  • Download URL: HTSQL-2.0.0.zip
  • Upload date:
  • Size: 604.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for HTSQL-2.0.0.zip
Algorithm Hash digest
SHA256 4dcf79de9baec0d94cec60c5c425ec356b0bc6f637f645d7195cdd84e1797be6
MD5 8d10b3a2c7a353427e8ffb3b66df3f75
BLAKE2b-256 f75af2a4713e8649aaf7c759bfd58a2dadc9e0669a39a6dc0936f4c6a8864e8d

See more details on using hashes here.

File details

Details for the file HTSQL-2.0.0.tar.gz.

File metadata

  • Download URL: HTSQL-2.0.0.tar.gz
  • Upload date:
  • Size: 539.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for HTSQL-2.0.0.tar.gz
Algorithm Hash digest
SHA256 e2c4425fa7a6747743b107723cd99ce9bb1be2799da7b472be9e936a4f4c0150
MD5 2bad9100f08905e3cdb70a7b9df2faa4
BLAKE2b-256 fff0b1dc9b09d573ffd0cdb038ec0d5213b0b86e0570c17dd230a740fa5ae292

See more details on using hashes here.

File details

Details for the file HTSQL-2.0.0-py2.6.egg.

File metadata

  • Download URL: HTSQL-2.0.0-py2.6.egg
  • Upload date:
  • Size: 525.9 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for HTSQL-2.0.0-py2.6.egg
Algorithm Hash digest
SHA256 78dfba3d0ba498d80b68e89d0265aa1c1c8433da3a53ccf991309693f2c907a1
MD5 fd1a1c6ca667387f2819265ff0a0a162
BLAKE2b-256 962c20ee88c5dd9af1109d7d438087d621a7626b2c85d17ccbf1398efee116ba

See more details on using hashes here.

Supported by

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