{"id":18597322,"url":"https://github.com/wiremoons/adbt","last_synced_at":"2026-03-19T05:16:33.552Z","repository":{"id":83457130,"uuid":"314993856","full_name":"wiremoons/AdbT","owner":"wiremoons","description":"CLI tool to manage an SQLite database of acronyms. ","archived":false,"fork":false,"pushed_at":"2023-10-13T14:10:31.000Z","size":138,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-08T03:43:53.414Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ada","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/wiremoons.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2020-11-22T08:40:44.000Z","updated_at":"2023-09-22T16:47:57.000Z","dependencies_parsed_at":"2023-04-17T06:16:56.110Z","dependency_job_id":"b4393588-0c13-4f62-9255-f3accdd317b4","html_url":"https://github.com/wiremoons/AdbT","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/wiremoons/AdbT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wiremoons%2FAdbT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wiremoons%2FAdbT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wiremoons%2FAdbT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wiremoons%2FAdbT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wiremoons","download_url":"https://codeload.github.com/wiremoons/AdbT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wiremoons%2FAdbT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29204958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T17:44:10.191Z","status":"ssl_error","status_checked_at":"2026-02-07T17:44:07.936Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-11-07T01:27:41.105Z","updated_at":"2026-02-07T19:02:46.059Z","avatar_url":"https://github.com/wiremoons.png","language":"Ada","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/hyperium/hyper/master/LICENSE) \n![adbt](https://github.com/wiremoons/adbt/workflows/adbt/badge.svg?branch=main) [![Alire](https://img.shields.io/endpoint?url=https://alire.ada.dev/badges/alire-badge.json)](https://alire.ada.dev/)\n\u003ca href=\"https://project-types.github.io/#toy\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/project%20type-toy-blue\" alt=\"Toy Badge\"/\u003e\n\u003c/a\u003e\n\n# What is 'adbt'?\n\nDescription : CLI tool to manage an SQlite database of acronyms.   \n\nA small command line application called '`adbt`' (which is an acronym for\n'*Acronym DataBase Tool*') which can be used to store, look up, change, or\ndelete acronyms that are kept in a SQLite database.\n\nThe program is small, fast, and is free software. It is used on a daily basis by\nthe author, running it on both Linux and Windows operating systems. It should\nalso compile and run on BSD Unix too, and Mac OS X as well, although this has\nnot been tested.\n\n\n## Status\n\n**INCOMPLETE** : STILL BEING PORTED FROM C LANGUAGE VERSION\n\nA future version of '`adbt`' will be functionally feature complete, based on its\nability to provide **CRUD**. This is a set of basic features which includes:\n\n - *CREATE* : new records can be added (ie created) in the database;\n - *READ* : existing records can be searched for (ie read) from the database;\n - *UPDATE*: existing records held in the database can be altered (ie changed);\n - *DELETE*: existing records held in the database can be removed (ie deleted).\n\nThis does not mean the program is fully completed (or bug free) - but that it\nprovides a basic set of functionality. The program is used on a daily basis by\nthe author, and will continue to be improved as is felt to be necessary.\n\n\n## Usage Examples\n\nRunning `adbt` without any parameters, but with a database available will\noutput the following information:\n\n```\ncoming soon...\n```\n\nRunning `adbt -h` displays the help screen which will output the following\ninformation:\n\n```\ncoming soon...\n```\n\n## Building the Application\n\nAn Ada language compiler will be needed to build the application. There are also a\nfew dependencies that will need to be met for a successful build of `adbt`.\nThese steps are explained below.\n\n### Dependencies\n\nAs `adbt` uses an [SQLite database](https://sqlite.org/index.html) the following \npackages are used to provide the support required:\n\n- [GNAT Collection - Core (GNATColl-Core)](https://github.com/AdaCore/gnatcoll-core)\n- [GNAT Collection - Database (GNATColl-DB)](https://github.com/AdaCore/gnatcoll-db)\n\nThere are two approaches to ensuring these are available when building `adbt`:\n\n1. **Use Alire** : Clone this GitHub repo, and then easily add the required packages by running the \ncommand: `alr with gnatcoll_sqlite` (except the defaults) and then `alr build`.\n2. **Use AdaCore GNAT Programing Studio (GPS) 2020** : will require both the above packages \n('*GNATColl-Core*' and '*GNATColl-DB*') are built from source and added to the *AdaCore GPS 2020* \ninstall. While '*GNATColl-Core*' is included with an installation of '*AdaCore GNAT Programing Studio (GPS) 2020 Community Edition*' \nit is not current version wise to allow the addition and build of '*GNATColl-DB*' - so both need to be \nbuilt and installed. '*AdaCore GNAT Programing Studio (GPS) 2020 Community Edition*' does not include \n'*GNATColl-DB*' by default - just '*GNATColl-Core*'.\n\n### Install an Ada Compiler and Supporting Libraries\n\nInstall an Ada compiler and supporting libraries. More information on installing \nAda can be found here: [Get Ada](http://www.getadanow.com/).\n\n### Building 'adbt'\n\nTo build `adbt` from source, the following steps can be used:\n\n1. Once Ada is installed on your system, you can clone this GitHub repo with \nthe `git` command: `git clone https://github.com/wiremoons/adbt.git`\n2. Then in the cloned code directory for `adbt` use `gprbuild` to build a \nrelease version of `adbt` with the command: `gprbuild -XBUILD=release`. \nOther `gprbuild` build commands include a debug build: `gprbuild -XBUILD=debug`. \nAlternatively, the new (in beta) [Alire](https://alire.ada.dev/) package manager \nshould also support the install and build as well.\n3. The compiled binary of `adbt` can now be found in the `./bin` sub \ndirectory. Just copy it somewhere in your path, and it should work when run.\n\n**NOTE:** The build is statically compiled - so the program should run when moved \nto a similar CPU based Linux system, without the Ada standard libraries being \ninstalled as additional dependencies.\n\n## Database Location\n\nThe SQLite database used to store the acronyms can be located in the same\ndirectory as the programs executable. The default filename that is looked for\nby the program is: '***acronyms.db***'\n\nHowever this can be overridden, by giving a preferred location, which can be\nspecified by an environment variable called ***ACRODB***. You should set this\nto the path and preferred database file name of your SQLite acronyms database.\nExamples of how to set this for different operating systems are shown below.\n\nOn Linux and similar operating systems when using bash shell, add this line to\nyour `.bashrc` configuration file, located in your home directory (ie\n*~/.bashrc*), just amend the path and database file name to suit your own needs:\n\n```\nexport ACRODB=$HOME/work/my-own.db\n```\n\non Windows or Linux when using Microsoft Powershell:\n\n```\n$env:ACRODB += \"c:\\users\\simon\\work\\my-own.db\"\n```\n\non Windows when using a cmd.exe console:\n\n```\nset ACRODB=c:\\users\\simon\\work\\my-own.db\n```\n\nor Windows to add persistently to your environment run the following in a\ncmd.exe console:\n\n```\nsetx ACRODB=c:\\users\\simon\\work\\my-own.db\n```\n\n## Database and Acronyms Table Setup\n\n**NOTE:** More detailed information is to be added here - plus see point 1 in\ntodo list below.\n\nSQLite Table used by the program is created with:\n\n```\nCREATE TABLE Acronyms (\"Acronym\",\"Definition\",\"Description\",\"Source\");\n```\nAs long as the same table name and column names are used, the program should\nfunction with an empty database.\n\nWith the SQLite command line application `sqlite3` (or `sqlite3.exe` on\nWindows) you can create a new database and add a new record using a terminal\nwindow and running the following commands:\n\n```\nsqlite3 acronyms.db\n\nCREATE TABLE Acronyms (\"Acronym\", \"Definition\", \"Description\", \"Source\");\n\nINSERT INTO ACRONYMS(Acronym,Definition,Description,Source) values \n(\"adbt\",\"Acronym DataBase Tool\",\n\"Command line application to manage a database of acronyms.\",\"Misc\");\n\n.quit\n```\n\n\n## Todo ideas and Future Development Plans\n\nBelow are some ideas that I am considering adding to the program, in no\nparticular priority order.\n\n1. Offer to create a new default database if one is not found on start up\n2. Ability to populate the database from a remote source\n3. Ability to update and/or check for a new version of the program\n4. Output of records in different fomats (json, csv, etc)\n5. Ability to backup database\n6. Ability to backup table within database and keep older versions\n7. Tune and add an index to the database\n8. Merge contents of different databases that have been updated on separate computer to keep in sync\n\n\n## Known Issues\n\nBelow are issues known to affect `adbt` currently:\n\n- none captured yet - in development.\n\n\n## Licenses\n\nThe following licenses apply to the `adbt` source code, and resulting built\napplication, as described below.\n\n#### License for 'adbt'\n\nThis program `adbt` is licensed under the **MIT License** see\nhttp://opensource.org/licenses/mit for more details.\n\n#### License for 'SQLite'\n\nThe SQLite database code used in this application is licensed as **Public\nDomain**, see http://www.sqlite.org/copyright.html for more details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwiremoons%2Fadbt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwiremoons%2Fadbt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwiremoons%2Fadbt/lists"}