Skip to main content

Automated application frontend.

example/__init__.py:

from intermake import Application

app = Application( "Example" )

@app.command()
def say_hello(n : int):
    """says hello n times"""
    print("hello " * n)

example/__main__.py:

import example
example.app.start()

Usage:

  example say_hello 2
⇝ hello hello

  example help say_hello
⇝ says hello n times

  example gui
⇝ welcome to Example's graphical user interface
  *click say hello*
  *set n = 2*
⇝ *message box: hello hello*
  *click x*

  example pyi
⇝ welcome to Example's python interactive shell
  say_hello(2)
⇝ hello hello
  exit()

  example cli
⇝ welcome to Example's command line interactive
  say_hello 2
⇝ hello hello
  exit

  python
  import example
  example.say_hello(2)
⇝ hello hello
  exit()

What is Intermake?

Intermake is a library that automatically provides multiple front-ends a Python application. Once an application is registered with Intermake, the following interfaces are provided:

  • Command line arguments

  • Command line interface (CLI)

  • Python interactive shell

  • Graphical user interface (GUI)

  • Python library interface (DLL)

  • Interactive Jupyter notebook

  • *Custom* front-ends are also supported

Rationale

Intermake aims to avoid repetition by being *reflective*, pulling data-types from PEP484 annotations and documentation from doc-strings. However, it also aims to be *architecturally simple*, avoiding guesswork, behind the scenes magic and duck-typing where at all possible.

Intermake permits:

  • all frontends to share a common command set

  • a global application state to persist between commands

  • minimal setup (by automatically inferring datatypes and documentation)

  • standard Python functions to be used (such as print)

  • original information to be retained (i.e. functions exposed through Intermake remain unchanged)

  • applications to derive from one another

Example usage

License

Intermake is licensed under the [GNU AGPLv3](https://www.gnu.org/licenses/agpl-3.0.html).

Release files for intermake 1.0.0.78

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

Source distribution (sdist)

Source distribution for intermake 1.0.0.78
File Size Uploaded
intermake-1.0.0.78.tar.gz 89.3 kB Details

Release files / intermake-1.0.0.78.tar.gz

Download URL intermake-1.0.0.78.tar.gz
Size 89.3 kB
Tags Source
SHA-256 checksum
How to use checksums
831691c3eb213b1b6e44c63b95252f8ccf358cbfe761c26c0dab6825dfdd6c7b
BLAKE2b-256 checksum
How to use checksums
fbe478375ba254b84a26f7beb09db5ed913644b0d93c0ee36bdbb11b5493c0ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.7

Release history Release notifications | RSS feed

This release

1.0.0.78 This release

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