{"id":26895863,"url":"https://github.com/mittelmark/dbpp","last_synced_at":"2025-05-12T20:17:28.973Z","repository":{"id":65431956,"uuid":"588500610","full_name":"mittelmark/dbpp","owner":"mittelmark","description":"Repository for the course Databases and Practical Programming at the University of Potsdam","archived":false,"fork":false,"pushed_at":"2025-03-14T09:02:22.000Z","size":509,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T02:58:50.633Z","etag":null,"topics":["database","python","python3","tcl","tcltk","tk-gui-toolkit","tkinter"],"latest_commit_sha":null,"homepage":"","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/mittelmark.png","metadata":{"files":{"readme":"README.md","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":"2023-01-13T09:17:03.000Z","updated_at":"2025-03-14T09:02:25.000Z","dependencies_parsed_at":"2024-12-18T04:24:22.878Z","dependency_job_id":"a0707c0c-0656-4b98-ba06-eaee58d139b4","html_url":"https://github.com/mittelmark/dbpp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittelmark%2Fdbpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittelmark%2Fdbpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittelmark%2Fdbpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mittelmark%2Fdbpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mittelmark","download_url":"https://codeload.github.com/mittelmark/dbpp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253815025,"owners_count":21968563,"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":["database","python","python3","tcl","tcltk","tk-gui-toolkit","tkinter"],"created_at":"2025-04-01T02:58:54.313Z","updated_at":"2025-05-12T20:17:28.933Z","avatar_url":"https://github.com/mittelmark.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\n\nRepository for the course Databases and Practical Programming at the University of Potsdam\n\nThe following applications will be added:\n\n* [mkdoc](dbpp/mkdoc/mkdoc.md) - create API documentation from Markdown\n* [krokiencoder](dbpp/kroki/krokiencoder.md) - encode diagram code as kroki URL's\n* [pydoc2md](dbpp/pydoc2md/pydoc2md.md)   -  extract   and  convert   Google\n  docstrings to Markdown and HTML\n* [sfa](dbpp/sfa/__main__.py)   - create single file applications from a few Python source code files\n* SQLViewer - an SQLViewer application forSQLite databases\n* [PumlEditor](docs/dbpp.peditor.PumlEditor.md) - an Diagram Editor with preview functionality started with `python -m dbpp.peditor (diagramfile)` (done)\n\n![PumlEditor](docs/peditor.png)\n\nThe following libaries will be as well added:\n\n* [dbpp.widgets](docs/dbpp.widgets.md) - collection of Tkinter-widgets to build applications (done)\n* [dbpp.kroki.Encoder](dbpp.kroki.KrokiEncoder) - class [KrokiEncoder](https://github.com/mittelmark/dbpp/blob/main/dbpp/kroki/KrokiEncoder.py)\n- [dbpp.utils.SqlUtils](docs/dbpp.utils.SqlUtils.md) - class with utility functions for Python databases.\n\n## Installation\n\nYou can install this package using the following command:\n\n```\n$ pip3 install git+https://github.com/mittelmark/dbpp.git --user\n$ # after successfull install try this\n$ python3 -m dbpp.kroki\n$ # which should give yo a message like \n$ I am kroki __main__.py\n$ python3 -m dbpp.peditor   # should start the PumlEditor\n$ python3 -m dbpp.sfa  -h   # should display help for the single file application packer\n```\n\n## dbpp.widgets\n\nA Python package with the following Tkinter widgets \n([HTML documentation](http://htmlpreview.github.io/?https://github.com/mittelmark/dbpp/blob/master/docs/dbpp.widgets.html)):\n\n- [GuiBaseClass](docs/dbpp.widgets.guibaseclass.md) - base class to build your own Tkinter applications\n- [AutoScrollbar](docs/dbpp.widgets.autoscrollbar.md) - a scrollbar which autohides if not required, easier to use is the [Scrolled](dbpp.widgets.scrolled.md) method\n- [Balloon](docs/dbpp.widgets.balloon.md) - a tooltip widgets which can use balloon popups or existing label widgets\n- [Ctext](docs/dbpp.widgets.ctext.md) - a syntax highlighting widget based on Tcl tklib ctext widget\n- [LabEntry](docs/dbpp.widgets.labentry.md) - a composite widget out of ttk.Label and ttk.Entry \n- [RoText](docs/dbpp.widgets.rotext.md) - read only tk.Text widget based on a Tcl widget created with Tcl's snit library\n- [Scrolled](docs/dbpp.widgets.scrolled.md) - a helper functions to attach scrollbars to widgets\n- [SqlText](docs/dbpp.widgets.sqltext.md) - a Text widget with support for SQL highlighting based on Ctext\n- [StatusBar](docs/dbpp.widgets.statusbar.md) - a statusbar having a label for messages and a progressbar\n- [TableView](docs/dbpp.widgets.tableview.md) - a ttk.Treeview widget optimized for tabular output\n- [TextMixins](docs/dbpp.widgets.textmixins.md) - small addons for the tk.Text widget such as font increasing shortcuts, right click popups and others\n- [XTableView](docs/dbpp.widgets.xtableview.md) - an extended version of TableView which allows easily to read in list data\n- [XTreeView](docs/dbpp.widgets.xtreeview.md) - a ttk.Treeview widget which provides icon facilities\n\n## Other packages\n \n\n- [dbpp.kroki.KrokiEncoder](docs/dbpp.kroki.krokiencoder.md) - class with functions to encode and decode diagrams as Kroki URL's\n- [dbpp.utils.SqlUtils](docs/dbpp.utils.sqlutils.md) - class with utility functions for Python databases.\n\n## Applications\n\n### sfa - Single File Application Packer\n\nCommand  line tool to combine a few Python files into a single  Python file if\nthese files follow the application  layout used in the course  \"Introduction to\nDatabases and Practical Programming\" at the University of Potsdam, Germany.\n\nHere an example to combine  file1.py and file2.py into an  application  app.py\nand then install this as an application into the users bin folder:\n\n```bash\npython3 -m dbpp.sfa file1.py file2.py -o app.py\nchmod 755 app.py\nmv app.py ~/bin\napp.py -h\n``` \n\n### kroki - Kroki Diagram Encoder\n\nThis a command line tool to encode diagram code such as [GraphViz](https://www.graphviz.org) (.dot), [PlantUML](https://www.plantuml.com) (.pml) or [Ditaa](https://github.com/stathissideris/ditaa) (.dit) files as image url's using the [kroki](https://kroki.io) webservice or backtranslates image url's into diagram code.\n\nHere an example for a backtranslation of an url into diagram code:\n\n```\n$ python3 -m dbpp.kroki https://kroki.io/plantuml/svg/eNpLzkksLlZwVKhWqAUAF10DsA==\nclass A { }\n```\n\n### peditor - the PumlEditor\n\nThis a graphical application to editdiagram code such as [GraphViz](https://www.graphviz.org) (.dot), [PlantUML](https://www.plantuml.com) (.pml) or [Ditaa](https://github.com/stathissideris/ditaa) (.dit) files\nand preview the image right of the editor window. This tool is as well using the [kroki](https://kroki.io) webservice to translate the diagram code\ninto an image which is downloaded in parallel to the diagram file.\n\nHere is shown how you can execute the program if the package is installed.\n\n```\n$ python3 -m dbpp.peditor ?diagramfile? \u0026\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmittelmark%2Fdbpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmittelmark%2Fdbpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmittelmark%2Fdbpp/lists"}