Metadata-Version: 1.1
Name: intermake
Version: 1.0.0.78
Summary: Automated run-time generation of user interfaces from Python functions - command-line-args, CLI, python-interactive, python-scripted, graphical (Qt GUI)
Home-page: https://bitbucket.org/mjr129/intermake
Author: Martin Rusilowicz
Author-email: UNKNOWN
License: https://www.gnu.org/licenses/agpl-3.0.html
Description: ====================================================================================================
                                                     Intermake                                              
        ====================================================================================================
        
        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?                                         
        ----------------------------------------------------------------------------------------------------
        
        `Intermake`:t: is a library that automatically provides multiple front-ends a `Python`:t: application.
        Once an application is registered with `Intermake`:t:, 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`:t: is licensed under the [GNU AGPLv3](https://www.gnu.org/licenses/agpl-3.0.html).
        
        
        .. **** REFERENCES ****
        
        .. _click: https://palletsprojects.com/p/click
        .. _PEP484: https://www.python.org/dev/peps/pep-0484
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Environment :: Win32 (MS Windows)
Classifier: Environment :: X11 Applications :: Qt
Classifier: Environment :: MacOS X
Classifier: Operating System :: OS Independent
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Intended Audience :: Developers
Classifier: Topic :: Utilities
Classifier: Topic :: Terminals
Classifier: Topic :: Multimedia :: Graphics :: Presentation
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Other Scripting Engines
