sqlitely


Namesqlitely JSON
Version 2.3 PyPI version JSON
download
home_pagehttps://github.com/suurjaak/SQLitely
SummarySQLite database tool
upload_time2024-07-10 18:52:43
maintainerNone
docs_urlNone
authorErki Suurjaak
requires_pythonNone
licenseMIT
keywords sqlite database
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            SQLitely
========

SQLitely is an SQLite database tool, written in Python.

It can:

- detect and manage SQLite databases in bulk
- create new or temporary databases
- create and alter tables, indexes, triggers and views
- modify table data
- free-form search over all database data and metadata
- export data and metadata in various formats (text, HTML, spreadsheet, JSON, YAML, SQL)
- import data to tables from spreadsheet or JSON/YAML
- view database table and index size statistics
- copy tables from one database to another
- execute direct SQL queries
- manage database PRAGMA directives
- fix database corruption

Also, a [command line interface](https://suurjaak.github.io/SQLitely/help.html#commandline)
is available, offering functions like exporting, importing, querying, searching, and statistics.
The graphical version includes a Python console window.

Downloads, help texts, and more screenshots at
http://suurjaak.github.io/SQLitely.

[![Screenshots](https://raw.github.com/suurjaak/SQLitely/gh-pages/img/th_collage.png)](https://raw.github.com/suurjaak/SQLitely/gh-pages/img/collage.png)


Using The Program
-----------------

SQLitely can search over all columns of all tables with a simple
[query syntax](http://suurjaak.github.io/SQLitely/help.html).
Keywords can search from specific tables and columns only
(`table:foo`, `column:bar`), or from certain dates only 
(`date:2012`, `date:2010..2013-06`). Search supports 
wildcards, exact phrases, grouping, excluding, and either-or queries.

SQLitely can show disk space usage for each table and index,
in bytes and overall percentage. (Depending on the size of the database,
this analysis can take a while.)

SQLitely offers a convenient way for complex ALTER TABLE operations.
Columns and constraints can be changed, reordered, added, dropped;
the program automatically performs the multiple steps required for SQLite table
modifications while retaining existing data (creating a temporary table,
copying data, dropping old table, and renaming temporary table as old).
Additionally, when renaming tables or columns, all related tables, indexes,
triggers and views are altered automatically.

SQLitely can check database integrity for corruption, and copy as much data
as possible over into a new database.

SQLitely offers a number of options from the
[command line](https://suurjaak.github.io/SQLitely/help.html#commandline):
```
  gui                 launch SQLitely graphical program (default option)
  execute             run SQL statements in SQLite database
  export              export SQLite database in various output formats
  import              import data from file to database
  parse               search in SQLite database schema
  pragma              output SQLite database PRAGMAs
  search              search in SQLite database data
  stats               print or save database statistics
  -h [option]         show command line help, for option if specified
```

SQLitely has been tested under Windows 10, Windows 7 and Ubuntu Linux.
In source code form, it should run wherever Python and the required 
Python packages are installed.

If running from pip installation, run `sqlitely` from the command-line. 
If running straight from source code, launch `sqlitely.sh` where shell 
scripts are supported, or `sqlitely.bat` under Windows, or open 
a terminal and run `python -m sqlitely` in SQLitely/src directory.


Installation
------------

Windows: download and launch the latest setup from
https://suurjaak.github.io/SQLitely/downloads.html.

Linux Snap Store: install SQLitely, or run
`snap install sqlitely`.

Mac/Linux/other: install Python and pip, run `pip install sqlitely`.

The pip installation will add the `sqlitely` command to path.

Installing the required wxPython on Linux can be faster via one of their
prepared Python wheels. Example for Ubuntu 20:

* run `sudo apt-get install libgtk-3-0 libsdl2-2.0 libwebkit2gtk-4.0`
* run `pip install wxPython --find-links \` 
      `https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04`

SQLitely has a [Dockerfile](https://github.com/suurjaak/SQLitely/blob/master/Dockerfile), see
[build/README for Docker.md](https://github.com/suurjaak/SQLitely/blob/master/build/README%20for%20Docker.md).

Windows installers have been provided for convenience. The program itself 
is stand-alone, can work from any directory, and does not need additional
installation. The installed program can be copied to a USB stick and used
elsewhere, same goes for the source code.


Source Dependencies
-------------------

If running from source code, SQLitely needs Python 3.5+ or Python 2.7,
and the following 3rd-party Python packages:

- ANTLR Python runtime (https://antlr.org)
- appdirs (https://pypi.org/project/appdirs)
- chardet (https://pypi.org/project/chardet)
- openpyxl (https://pypi.org/project/openpyxl)
- Pillow (https://pypi.org/project/Pillow)
- pyparsing (https://pypi.org/project/pyparsing)
- pytz (https://pythonhosted.org/pytz/)
- PyYAML (https://pypi.org/project/PyYAML/)
- six (https://pypi.org/project/six/)
- step (https://pypi.org/project/step-template/)
- wxPython 4.0+ (https://wxpython.org)
- xlrd (https://pypi.org/project/xlrd)
- XlsxWriter (https://pypi.org/project/XlsxWriter)

All dependencies can be installed by running `pip install -r requirements.txt`
in SQLitely source distribution folder.

If chardet or openpyxl or pyparsing or PyYAML or xlrd or XlsxWriter are not available,
the program will function regardless, only with lesser service - 
like lacking Excel import-export or full search syntax.


Attribution
-----------

Includes sqlite_analyzer, a command-line utility for table space analysis,
(c) 2000, D. Richard Hipp, https://www.sqlite.org.

Includes a modified version of SQLite.g4 from sqlite-parser,
(c) 2013, Bart Kiers, https://github.com/bkiers/sqlite-parser.

SQL lexer and parser generated with ANTLR,
(c) 2012 The ANTLR Project, https://github.com/antlr/antlr4.

Includes several icons from Fugue Icons,
(c) 2010 Yusuke Kamiyamane, https://p.yusukekamiyamane.com.

Includes fonts Carlito Regular and Carlito Bold,
https://fedoraproject.org/wiki/Google_Crosextra_Carlito_fonts.

Includes fonts Open Sans Regular and Open Sans Bold,
https://fonts.google.com/specimen/Open+Sans.

Binaries compiled with PyInstaller, https://www.pyinstaller.org.

Installers created with Nullsoft Scriptable Install System,
https://nsis.sourceforge.io.


License
-------

Copyright (c) 2019 by Erki Suurjaak.
Released as free open source software under the MIT License,
see [LICENSE.md](https://github.com/suurjaak/SQLitely/blob/master/LICENSE.md) for full license text.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/suurjaak/SQLitely",
    "name": "sqlitely",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "sqlite database",
    "author": "Erki Suurjaak",
    "author_email": "erki@lap.ee",
    "download_url": null,
    "platform": "any",
    "description": "SQLitely\r\n========\r\n\r\nSQLitely is an SQLite database tool, written in Python.\r\n\r\nIt can:\r\n\r\n- detect and manage SQLite databases in bulk\r\n- create new or temporary databases\r\n- create and alter tables, indexes, triggers and views\r\n- modify table data\r\n- free-form search over all database data and metadata\r\n- export data and metadata in various formats (text, HTML, spreadsheet, JSON, YAML, SQL)\r\n- import data to tables from spreadsheet or JSON/YAML\r\n- view database table and index size statistics\r\n- copy tables from one database to another\r\n- execute direct SQL queries\r\n- manage database PRAGMA directives\r\n- fix database corruption\r\n\r\nAlso, a [command line interface](https://suurjaak.github.io/SQLitely/help.html#commandline)\r\nis available, offering functions like exporting, importing, querying, searching, and statistics.\r\nThe graphical version includes a Python console window.\r\n\r\nDownloads, help texts, and more screenshots at\r\nhttp://suurjaak.github.io/SQLitely.\r\n\r\n[![Screenshots](https://raw.github.com/suurjaak/SQLitely/gh-pages/img/th_collage.png)](https://raw.github.com/suurjaak/SQLitely/gh-pages/img/collage.png)\r\n\r\n\r\nUsing The Program\r\n-----------------\r\n\r\nSQLitely can search over all columns of all tables with a simple\r\n[query syntax](http://suurjaak.github.io/SQLitely/help.html).\r\nKeywords can search from specific tables and columns only\r\n(`table:foo`, `column:bar`), or from certain dates only \r\n(`date:2012`, `date:2010..2013-06`). Search supports \r\nwildcards, exact phrases, grouping, excluding, and either-or queries.\r\n\r\nSQLitely can show disk space usage for each table and index,\r\nin bytes and overall percentage. (Depending on the size of the database,\r\nthis analysis can take a while.)\r\n\r\nSQLitely offers a convenient way for complex ALTER TABLE operations.\r\nColumns and constraints can be changed, reordered, added, dropped;\r\nthe program automatically performs the multiple steps required for SQLite table\r\nmodifications while retaining existing data (creating a temporary table,\r\ncopying data, dropping old table, and renaming temporary table as old).\r\nAdditionally, when renaming tables or columns, all related tables, indexes,\r\ntriggers and views are altered automatically.\r\n\r\nSQLitely can check database integrity for corruption, and copy as much data\r\nas possible over into a new database.\r\n\r\nSQLitely offers a number of options from the\r\n[command line](https://suurjaak.github.io/SQLitely/help.html#commandline):\r\n```\r\n  gui                 launch SQLitely graphical program (default option)\r\n  execute             run SQL statements in SQLite database\r\n  export              export SQLite database in various output formats\r\n  import              import data from file to database\r\n  parse               search in SQLite database schema\r\n  pragma              output SQLite database PRAGMAs\r\n  search              search in SQLite database data\r\n  stats               print or save database statistics\r\n  -h [option]         show command line help, for option if specified\r\n```\r\n\r\nSQLitely has been tested under Windows 10, Windows 7 and Ubuntu Linux.\r\nIn source code form, it should run wherever Python and the required \r\nPython packages are installed.\r\n\r\nIf running from pip installation, run `sqlitely` from the command-line. \r\nIf running straight from source code, launch `sqlitely.sh` where shell \r\nscripts are supported, or `sqlitely.bat` under Windows, or open \r\na terminal and run `python -m sqlitely` in SQLitely/src directory.\r\n\r\n\r\nInstallation\r\n------------\r\n\r\nWindows: download and launch the latest setup from\r\nhttps://suurjaak.github.io/SQLitely/downloads.html.\r\n\r\nLinux Snap Store: install SQLitely, or run\r\n`snap install sqlitely`.\r\n\r\nMac/Linux/other: install Python and pip, run `pip install sqlitely`.\r\n\r\nThe pip installation will add the `sqlitely` command to path.\r\n\r\nInstalling the required wxPython on Linux can be faster via one of their\r\nprepared Python wheels. Example for Ubuntu 20:\r\n\r\n* run `sudo apt-get install libgtk-3-0 libsdl2-2.0 libwebkit2gtk-4.0`\r\n* run `pip install wxPython --find-links \\` \r\n      `https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04`\r\n\r\nSQLitely has a [Dockerfile](https://github.com/suurjaak/SQLitely/blob/master/Dockerfile), see\r\n[build/README for Docker.md](https://github.com/suurjaak/SQLitely/blob/master/build/README%20for%20Docker.md).\r\n\r\nWindows installers have been provided for convenience. The program itself \r\nis stand-alone, can work from any directory, and does not need additional\r\ninstallation. The installed program can be copied to a USB stick and used\r\nelsewhere, same goes for the source code.\r\n\r\n\r\nSource Dependencies\r\n-------------------\r\n\r\nIf running from source code, SQLitely needs Python 3.5+ or Python 2.7,\r\nand the following 3rd-party Python packages:\r\n\r\n- ANTLR Python runtime (https://antlr.org)\r\n- appdirs (https://pypi.org/project/appdirs)\r\n- chardet (https://pypi.org/project/chardet)\r\n- openpyxl (https://pypi.org/project/openpyxl)\r\n- Pillow (https://pypi.org/project/Pillow)\r\n- pyparsing (https://pypi.org/project/pyparsing)\r\n- pytz (https://pythonhosted.org/pytz/)\r\n- PyYAML (https://pypi.org/project/PyYAML/)\r\n- six (https://pypi.org/project/six/)\r\n- step (https://pypi.org/project/step-template/)\r\n- wxPython 4.0+ (https://wxpython.org)\r\n- xlrd (https://pypi.org/project/xlrd)\r\n- XlsxWriter (https://pypi.org/project/XlsxWriter)\r\n\r\nAll dependencies can be installed by running `pip install -r requirements.txt`\r\nin SQLitely source distribution folder.\r\n\r\nIf chardet or openpyxl or pyparsing or PyYAML or xlrd or XlsxWriter are not available,\r\nthe program will function regardless, only with lesser service - \r\nlike lacking Excel import-export or full search syntax.\r\n\r\n\r\nAttribution\r\n-----------\r\n\r\nIncludes sqlite_analyzer, a command-line utility for table space analysis,\r\n(c) 2000, D. Richard Hipp, https://www.sqlite.org.\r\n\r\nIncludes a modified version of SQLite.g4 from sqlite-parser,\r\n(c) 2013, Bart Kiers, https://github.com/bkiers/sqlite-parser.\r\n\r\nSQL lexer and parser generated with ANTLR,\r\n(c) 2012 The ANTLR Project, https://github.com/antlr/antlr4.\r\n\r\nIncludes several icons from Fugue Icons,\r\n(c) 2010 Yusuke Kamiyamane, https://p.yusukekamiyamane.com.\r\n\r\nIncludes fonts Carlito Regular and Carlito Bold,\r\nhttps://fedoraproject.org/wiki/Google_Crosextra_Carlito_fonts.\r\n\r\nIncludes fonts Open Sans Regular and Open Sans Bold,\r\nhttps://fonts.google.com/specimen/Open+Sans.\r\n\r\nBinaries compiled with PyInstaller, https://www.pyinstaller.org.\r\n\r\nInstallers created with Nullsoft Scriptable Install System,\r\nhttps://nsis.sourceforge.io.\r\n\r\n\r\nLicense\r\n-------\r\n\r\nCopyright (c) 2019 by Erki Suurjaak.\r\nReleased as free open source software under the MIT License,\r\nsee [LICENSE.md](https://github.com/suurjaak/SQLitely/blob/master/LICENSE.md) for full license text.\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "SQLite database tool",
    "version": "2.3",
    "project_urls": {
        "Homepage": "https://github.com/suurjaak/SQLitely"
    },
    "split_keywords": [
        "sqlite",
        "database"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "48f44826439824361f169cbbdc6616164fc2408f6282e502b29c17514d0ca903",
                "md5": "067a4a2c8e89ad16047eb111820cd67a",
                "sha256": "da14c3f22225c7722d420f12efcf7241d840acca7716d9a5c592ae78fb0cbb4e"
            },
            "downloads": -1,
            "filename": "sqlitely-2.3-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "067a4a2c8e89ad16047eb111820cd67a",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 6189498,
            "upload_time": "2024-07-10T18:52:43",
            "upload_time_iso_8601": "2024-07-10T18:52:43.639592Z",
            "url": "https://files.pythonhosted.org/packages/48/f4/4826439824361f169cbbdc6616164fc2408f6282e502b29c17514d0ca903/sqlitely-2.3-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-10 18:52:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "suurjaak",
    "github_project": "SQLitely",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "sqlitely"
}
        
Elapsed time: 1.73426s