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
[Bio42](https://bitbucket.org/mjr129/bio42)
[Neocommand](https://bitbucket.org/mjr129/neocommand)
[Groot](https://bitbucket.org/mjr129/groot)
[Faketree](https://bitbucket.org/mjr129/faketree)
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)
| 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
|