Metadata-Version: 2.2
Name: HackDB
Version: 0.0.2
Summary: A Python client for interacting with HackDB.
Home-page: https://github.com/meepstertron/HackDB
Author: Jan Koch
Author-email: meepstertron@gmail.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.25.1
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

![](https://hackatime-badge.hackclub.com/U087PR1B2HX/HackDB) ![Python](https://img.shields.io/badge/Built%20with-python-3670A0?logo=python&logoColor=ffdd54) [![Hexagonical](https://img.shields.io/badge/Suite-0e9467?label=Hexagonical&labelColor=111111&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMTkuNzQ1ODc4bW0iCiAgIGhlaWdodD0iMTguMTY0MTEybW0iCiAgIHZpZXdCb3g9IjAgMCAxOS43NDU4NzkgMTguMTY0MTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxIgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzCiAgICAgaWQ9ImRlZnMxIiAvPjxnCiAgICAgaWQ9ImxheWVyMSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2NS40MTg0MSwtMjQ5LjEwODE4KSI+PGcKICAgICAgIGlkPSJnMTYiPjxwYXRoCiAgICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwZTk0Njc7c3Ryb2tlLXdpZHRoOjAuOTUyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjYuNjE4NDI3LC0wLjMxMzU5MDU1KSIKICAgICAgICAgZD0ibSAtODIuNDcyNjU2LDI1My4wNzAzMSBjIDEuOTUzNzc2LDAuNDAxMDQgMy45MDc1NTIsMC44MDIwOSA1Ljg2MTMyOCwxLjIwMzEzIGwgMC42MzA4NTksLTMuMDY2NDEgYyAtMS40OTA4ODUsLTAuMTQ1ODMgLTIuOTgxNzcxLC0wLjI5MTY3IC00LjQ3MjY1NiwtMC40Mzc1IC0wLjY3MzE3NywwLjc2NjkzIC0xLjM0NjM1NCwxLjUzMzg2IC0yLjAxOTUzMSwyLjMwMDc4IHoiCiAgICAgICAgIGlkPSJwYXRoMTQiIC8+PHBhdGgKICAgICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzBlOTQ2NztzdHJva2Utd2lkdGg6MC45NTI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNy4zMTg1NDcsLTEuMTc0MDQ5KSIKICAgICAgICAgZD0ibSAtODguNzMyNDIyLDI1NC4zMDI3MyAwLjkyOTY4OCwyLjkwNjI1IGMgMS4zNTU0NjgsLTEuNDk5MzQgMi43MTA5MzcsLTIuOTk4NjkgNC4wNjY0MDYsLTQuNDk4MDQgLTAuNzkxMDE2LC0wLjY5NzI3IC0xLjYwMTg5NywtMS4yNTU0NyAtMi4zOTI5MTMsLTEuOTUyNzQgLTAuODc0MzQ5LDEuMjI3ODcgLTEuNzI4ODMyLDIuMzE2NjcgLTIuNjAzMTgxLDMuNTQ0NTMgeiIKICAgICAgICAgaWQ9InBhdGgxMiIgLz48cGF0aAogICAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMGU5NDY3O3N0cm9rZS13aWR0aDowLjk1MjtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICAgIHRyYW5zZm9ybT0icm90YXRlKC0wLjIwNTYxODEzLC04NzUuNzc2MzIsLTcyMDUuNjk2MSkiCiAgICAgICAgIGQ9Im0gLTkxLjcyNjU2MiwyNTkuMTYyMTEgYyAwLjY0MDYyNSwxLjM2MzkzIDEuMjgxMjQ5LDIuNzI3ODYgMS45MjE4NzQsNC4wOTE4IDAuOTk3Mzk2LDAuMjA1NzMgMS45OTQ3OTIsMC40MTE0NSAyLjk5MjE4OCwwLjYxNzE4IC0wLjY0MTkyNywtMS45MTc5NiAtMS4yODM4NTQsLTMuODM1OTMgLTEuOTI1NzgxLC01Ljc1MzkgLTAuOTk2MDk0LDAuMzQ4MyAtMS45OTIxODgsMC42OTY2MSAtMi45ODgyODEsMS4wNDQ5MiB6IgogICAgICAgICBpZD0icGF0aDEwIiAvPjxwYXRoCiAgICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiMwZTk0Njc7c3Ryb2tlLXdpZHRoOjAuOTUyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUuNzY0MiwtMy4wNzQ5MjcyKSIKICAgICAgICAgZD0ibSAtODcuMTY0MDYyLDI2OC4yMDMxMiA0LjUsMC40MjU3OSBjIDAuNjgzNTkzLC0wLjc1MzkxIDEuMzY3MTg3LC0xLjUwNzgyIDIuMDUwNzgxLC0yLjI2MTcyIC0xLjk3NzIxNCwtMC40MjI1MyAtMy45NTQ0MjcsLTAuODQ1MDUgLTUuOTMxNjQxLC0xLjI2NzU4IHoiCiAgICAgICAgIGlkPSJwYXRoOCIgLz48cGF0aAogICAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTojMGU5NDY3O3N0cm9rZS13aWR0aDowLjk1MjtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0LjcxMTMxNiwtMi4wMjIwNDM0KSIKICAgICAgICAgZD0ibSAtNzkuMzA0Njg4LDI2Ni43MjQ2MSBjIDAuNzkxMDE2LDAuNjk3OTIgMS41ODIwMzIsMS4zOTU4MyAyLjM3MzA0NywyLjA5Mzc1IDAuODc1NjUxLC0xLjIyNzIxIDEuNzUxMzAyLC0yLjQ1NDQzIDIuNjI2OTUzLC0zLjY4MTY0IGwgLTAuOTI3NzM0LC0yLjkwODIgYyAtMS4zNTc0MjIsMS40OTg2OSAtMi43MTQ4NDQsMi45OTczOSAtNC4wNzIyNjYsNC40OTYwOSB6IgogICAgICAgICBpZD0icGF0aDYiIC8+PHBhdGgKICAgICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6IzBlOTQ2NztzdHJva2Utd2lkdGg6MC45NTI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNS4xNDgzNjIsLTAuNjMxNDQyMjUpIgogICAgICAgICBkPSJtIC03NC4yOTEwMTYsMjYxLjMyMDMxIGMgMC45OTgwNDcsLTAuMzQ1NyAxLjk5NjA5NCwtMC42OTE0IDIuOTk0MTQxLC0xLjAzNzExIC0wLjYzODAyMSwtMS4zNjU4OCAtMS4yNzYwNDIsLTIuNzMxNzcgLTEuOTE0MDYzLC00LjA5NzY1IC0wLjk5Njc0NCwtMC4yMDcwMyAtMS45OTM0ODksLTAuNDE0MDcgLTIuOTkwMjM0LC0wLjYyMTEgeiIKICAgICAgICAgaWQ9InBhdGgyLTUtOC03LTMtNDEtOCIgLz48L2c+PC9nPjwvc3ZnPgo=)](https://hexagonical.ch)[](https://img.shields.io/badge/Hack-Club-ec3750?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iNDAyIiBoZWlnaHQ9IjY3NCIgdmlld0JveD0iMCAwIDQwMiA2NzQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI%2BCjxwYXRoIGQ9Ik0xNDYuOTk0IDguMzg5MjJDMTQ2Ljk5NCAzLjE5NjE2IDE0Mi4zMjkgLTAuNzQ4ODUgMTM3LjIyIDAuMTIwNTA0TDYuOTczMDIgMjIuMjY4M0MyLjk0NjMyIDIyLjk1MjcgMCAyNi40NDY5IDAgMzAuNTM3VjY2NS42MTNDMCA2NzAuMjQyIDMuNzQ5NDkgNjc0IDguMzc1IDY3NEgxMzguNjE5QzE0My4yNDYgNjc0IDE0Ni45OTQgNjcwLjI0MiAxNDYuOTk0IDY2NS42MTNWNDI3Ljg4QzE0Ni45OTQgMzU1LjQ1NSAxODUuMzQzIDMxMC41OTEgMjE3LjI5OCAzMTAuNTkxQzI0Ni4wNTcgMzEwLjU5MSAyNTQuMzY2IDMzOS40MzUgMjU0LjM2NiAzODMuMDE2VjY2NS42MTNDMjU0LjM2NiA2NzAuMjQyIDI1OC4xMTMgNjc0IDI2Mi43NDEgNjc0SDM5My42MjVDMzk4LjI1MiA2NzQgNDAyIDY3MC4yNDIgNDAyIDY2NS42MTNWMzYxLjg2N0M0MDIgMjYzLjE2NCAzNjQuOTMyIDE5OS43MSAyNjguNDI3IDE5OS43MUMyMjkuNjkzIDE5OS43MSAxOTEuODkyIDIwOS4wNSAxNjEuNzc2IDIyOS43MjRDMTU1Ljc5NiAyMzMuODI5IDE0Ni45OTQgMjI5Ljc4NiAxNDYuOTk0IDIyMi41MlY4LjM4OTIyWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc%2BCg%3D%3D&link=https%3A%2F%2Fhackclub.com)

# HackDB
HackDB is a simple to use and easy database tool for hackclubbers and more. it bases on postgres and opens it through a webui and sdks plus a cli app

## ! Disclaimer !
AI (Artificial inteligence) has been used in this repo and its code (copilot, gemma3.1). I try to minimze its use and reduce internet slop, for more questions please reach out to me over the contact data provided in the footer :)

## How to get started
> Currently the project is only open to hackclub members </3 but that might change in the future

### WebApp
1. Head to https://hackdb.hexagonical.ch and log in using slack. 
2. Click on the database tab>new and give it a name
3. then you will be taken to a db overview page click on open in editor
4. there will be a simple table already provided for you feel free to delete it or train to get a hang of the ui

### SDKs

---
**Python**
1. Go to your dash and navigate to the tokens page
2. click on new token
3. copy it
4. install the package (if on PiPy yet?) `pip install hackdb`
5. create a simple file like so:
```python
    from python.hackdb import HackDB

    hackdb = HackDB(token="hkdb_tkn_0dff8dfe-****-****-****-3d122da57226")


    print(hackdb)
    print(hackdb.get_tables())
```
6. replace with your token
> Warning: tokens are per database so this will list all tables in that database. global tokens comming in the future <3

### CLI

1. Install using pip: `pip install hackdb-cli`
2. Login `hackdb login`
3. select login method (i recomend slack)
4. `hackdb status` get status of instance and verify if working

Availible commands:
- `hackdb status` - gets the status of the instance
- `hackdb databases` - returns a list of your databases and their ids
- `hackdb drop <database id>` - irreversibely drops a database
- `hackdb table list -d <database name>`
- `hackdb table ` 



# Contact

[jan.koch@hexagonical.ch]() - for legal/personal matters

or

[support@hexagonical.ch]() - General Support

MIT Licence - https://hexagonical.ch
