{"id":15574585,"url":"https://github.com/runfalk/lessql","last_synced_at":"2025-07-11T00:04:09.058Z","repository":{"id":68823726,"uuid":"64084092","full_name":"runfalk/lessql","owner":"runfalk","description":"Write less SQL. The alternative to SQLAlchemy you didn't know you wanted.","archived":false,"fork":false,"pushed_at":"2016-10-12T13:41:48.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-12T13:41:26.318Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/runfalk.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-24T20:22:57.000Z","updated_at":"2016-07-26T16:11:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"88ea0cdc-2ecd-4b34-ac90-8092f0a7fd4a","html_url":"https://github.com/runfalk/lessql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/runfalk/lessql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runfalk%2Flessql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runfalk%2Flessql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runfalk%2Flessql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runfalk%2Flessql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/runfalk","download_url":"https://codeload.github.com/runfalk/lessql/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runfalk%2Flessql/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264696000,"owners_count":23650930,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-02T18:19:37.476Z","updated_at":"2025-07-11T00:04:09.006Z","avatar_url":"https://github.com/runfalk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"LesSQL\n======\nLesSQL, pronounced *Less sequel*, allows you to be more productive by writing complex and boilerplate SQL for you. It is inspired by Canonical's excellent `Storm ORM \u003chttps://storm.canonical.com/\u003e`_. Sadly its development has slowed down a lot in recent years, and there hasn't been a release since 2013. LesSQL aims to be a spiritual successor of Storm, though not necessarily a 1:1 feature parity.\n\n\nProblems with Storm\n-------------------\nNo python 3 support\n  Python 3 support `is not in development \u003chttps://bugs.launchpad.net/storm/+bug/1530734\u003e`_. Since Python 2's end of life is closing in (2020), and lots of libraries support Python 3 now, it's holding back Python 3 adoption (for me).\nNo support for Psycopg2 2.5 and later (released 13 Apr 2013)\n  No `support for Psycopg2 \u003chttps://bugs.launchpad.net/storm/+bug/1170063\u003e`_ 2.5 and later. Though fixes are in trunk they are still unreleased. This means hacks are required to get JSON and JSONB types working.\nNo common table expression support\n  No support for common table expressions, though there has been `a proposed solution \u003chttps://code.launchpad.net/~lifeless/storm/with/+merge/52630\u003e`_ since 2011.\nNo easy custom type support\n  PostgreSQL has excellent support for compound data types. In many applications ``timestamprange`` or ``daterange`` are much better than working with ``date_start`` and ``date_end`` columns. Implementing these require `quite a bit of effort \u003chttps://github.com/runfalk/stormspans\u003e`_.\nSparse documentation\n  Storm's documentation is unfinished and doesn't describe many core features. Its API documentation is also very incomplete making it difficult to extend functionality.\nGlobal debuging hooks\n  Debugging hooks are global across all threads always, which may or may not cause issues. Web applications often run many concurrent threads, and adding a debugger globally which may only be needed for a particular request or connection adds unnecessary complexity and degrades performance.\nNo unit testing support\n  Storm has no built-in facilities to simplify testing, such as providing fake data, eliminating the need for a real database in many tests. A problem with running tests against a live database is that it is very time consuming to rebuild fixtures for\n\n\nWhy not contribute to Storm?\n----------------------------\nIts development is restricted by the requirements of Launchpad and has stagnated. Despite some bugs being fixed in trunk for years there hasn't been a new release. It seems other projects have moved away from Storm in favor of `SQLAlchemy \u003chttp://www.sqlalchemy.org/\u003e`_.\n\n\nWhy not fork Storm?\n-------------------\nStorm carries a lot of legacy and cleaning up its codebase would take considerable effort. It would probably take as long as rewriting the core functionality from scratch. It is also a learning experience to design this from the ground up.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunfalk%2Flessql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frunfalk%2Flessql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunfalk%2Flessql/lists"}