intermake 1.0.0.78
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()
Attention!
Full documentation can be found `here<http://software.rusilowicz.com/intermake>`_.
Contents
What is Intermake?
Rationale
Example usage
License
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).
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.