Skip to main content

Tk_Builder

The goal encouraging this project was to introduce the capability for fast and simple prototyping to enable research. The decision was made to use tkinter for this capability. The particulars of this choice are entirely pragmatic. Most importantly, tkinter is well supported for essentially every architecture that Python is supported, and there are no complicating factors in licensing, configuration, or installation.

For better or for worse, tkinter will work on essentially any government system with a viable Python environment right out of the box. The same cannot generally be said for the other popular GUI frameworks like QT, WX, or GTK. This provides a set tools for simple creation of graphical user interfaces for Python based on the tkinter library. The main focus for the GUIs is assumed to be on overhead imaging applications.

The ImagePanel and ImageCanvas classes contain functionality to save figures to numpy arrays and to disk. For many user facing applications this would be accomplished by using the save canvas button provided in an ImagePanel. This features saved all image and vector data displayed within an image panel. If a user wishes to save figures this way then ghostscript must be installed on their system. This can be accomplished using Anaconda or other installation method listed below in the Dependencies section.

Origins

This was developed to enable simple prototyping of graphical user interfaces useful in conjunction with SarPy project, and was developed at the National Geospatial-Intelligence Agency (NGA). The software use, modification, and distribution rights are stipulated within the MIT license.

Dependencies

The core library functionality depends only on tkinter, numpy, pillow, matplotlib, scipy, ghostscript, and minor dependence on sarpy, all of which can be installed using conda or pip. Note that tkinter is part of the standard distribution on some platforms, and has to be installed separately on others.

Python 2.7

The development here has been geared towards Python 3.6 and above, but efforts have been made towards remaining compatible with Python 2.7. If you are using the library from Python 2.7, there is an additional dependencies for the typing and future (not to be confused with the more widely known futures) packages, easily installed using conda or pip.

Installation

From PyPI, install using pip (may require escalated privileges e.g. sudo):

pip install tk_builder

Note that here pip represents the pip utility for the desired Python environment.

From the top level of a cloned version of this repository, install for all users of your environment (may require escalated privileges, e.g. sudo):

python setup.py install

Again, python here represents the executible associated with the desired Python environment.

For more verbose instructions for installing from source, such as how to perform an install applicable for your user only and requiring no escalated privileges, see here.

Metadata

Release files for tk-builder 1.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for tk-builder 1.1.6
File Interpreter ABI Platform
tk_builder-1.1.6-py2.py3-none-any.whl Python 3, Python 2 none any Details

Release files / tk_builder-1.1.6-py2.py3-none-any.whl

Download URL tk_builder-1.1.6-py2.py3-none-any.whl
Size 55.0 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
5ae3a5927a3e3c9e5f89d7bdc5bca83fc90f94de8b66805ba2577503277f16d3
BLAKE2b-256 checksum
How to use checksums
8ce609d5e1d27fbbf577ae22d0cdd65828030e2890e42615bd49aa223ea30769
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.7.1 requests/2.26.0 setuptools/58.2.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

Release history Release notifications | RSS feed

1.1.12

1 release file

1.1.11

1 release file

1.1.10

1 release file

1.1.9

1 release file

1.1.8

1 release file

1.1.7

1 release file

This release

1.1.6 This release

1 release file

1.1.5

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.10

1 release file

1.0.9

1 release file

1.0.8

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page