i2


Namei2 JSON
Version 0.1.17 PyPI version JSON
download
home_pagehttps://github.com/i2mint/i2
SummaryCreating
upload_time2024-04-08 08:22:58
maintainerNone
docs_urlNone
authorOtosense
requires_pythonNone
licenseApache Software License
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # i2

Core tools for minting code.

[Documentation here.](https://i2mint.github.io/i2/)

## What's mint?

Mint stands for "Meta-INTerface".

Minting is core technique of i2i: It can be seen as the encapsulation of a construct’s interface into a (data) 
structure that contains everything one needs to know about the construct to perform a specific action 
with or on the construct.

A little note on the use of “encapsulation”. The term is widely used in computer science, 
and is typically tied to object oriented programming. Wikipedia provides two definitions:
* A language mechanism for restricting direct access to some of the object's components.
* A language construct that facilitates the bundling of data with the methods (or other functions) 
operating on that data.

Though both these definitions apply to minting, 
the original sense of the word “encapsulate” is even more relevant (from google definitions): 
* express the essential features of (something) succinctly
* enclose (something) in or as if in a capsule

Indeed, minting is the process of enclosing a construct into a “mint” (for “Meta INTerface”) 
that will express the features of the construct that are essential to the task at hand. 
The mint provides a declarative layer of the construct that allows one to write code that operates with this layer, 
which is designed to be (as) consistent (as possible) from one system/language to another.

For example, whether a (non-anonymous) function was written in C, Python, or JavaScript, 
it will at least have a name, and it’s arguments will (most often) have names, and may have types. 
Similarly with “data objects”: The data of both JavaScript and Python objects can be represented by a tree whose 
leaves are base types, which can in turn be represented by a C struct. 


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/i2mint/i2",
    "name": "i2",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Otosense",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/be/14/78823f30911055b1abeaabe37a4f0861f8754d0232da2d485db38eecc3ff/i2-0.1.17.tar.gz",
    "platform": "any",
    "description": "# i2\n\nCore tools for minting code.\n\n[Documentation here.](https://i2mint.github.io/i2/)\n\n## What's mint?\n\nMint stands for \"Meta-INTerface\".\n\nMinting is core technique of i2i: It can be seen as the encapsulation of a construct\u2019s interface into a (data) \nstructure that contains everything one needs to know about the construct to perform a specific action \nwith or on the construct.\n\nA little note on the use of \u201cencapsulation\u201d. The term is widely used in computer science, \nand is typically tied to object oriented programming. Wikipedia provides two definitions:\n* A language mechanism for restricting direct access to some of the object's components.\n* A language construct that facilitates the bundling of data with the methods (or other functions) \noperating on that data.\n\nThough both these definitions apply to minting, \nthe original sense of the word \u201cencapsulate\u201d is even more relevant (from google definitions): \n* express the essential features of (something) succinctly\n* enclose (something) in or as if in a capsule\n\nIndeed, minting is the process of enclosing a construct into a \u201cmint\u201d (for \u201cMeta INTerface\u201d) \nthat will express the features of the construct that are essential to the task at hand. \nThe mint provides a declarative layer of the construct that allows one to write code that operates with this layer, \nwhich is designed to be (as) consistent (as possible) from one system/language to another.\n\nFor example, whether a (non-anonymous) function was written in C, Python, or JavaScript, \nit will at least have a name, and it\u2019s arguments will (most often) have names, and may have types. \nSimilarly with \u201cdata objects\u201d: The data of both JavaScript and Python objects can be represented by a tree whose \nleaves are base types, which can in turn be represented by a C struct. \n\n",
    "bugtrack_url": null,
    "license": "Apache Software License",
    "summary": "Creating",
    "version": "0.1.17",
    "project_urls": {
        "Homepage": "https://github.com/i2mint/i2"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5762f155d6ef0c7236b62c4ec8e579db0e8e3853929d56c06b8a1a30fa116882",
                "md5": "8a6965f0bcfc2005588ef8f8353552a4",
                "sha256": "70d359d1d4da8918f012c3daa1ed7f6b10590584aebc4bb4920a43d104fef066"
            },
            "downloads": -1,
            "filename": "i2-0.1.17-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8a6965f0bcfc2005588ef8f8353552a4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 190013,
            "upload_time": "2024-04-08T08:22:55",
            "upload_time_iso_8601": "2024-04-08T08:22:55.756022Z",
            "url": "https://files.pythonhosted.org/packages/57/62/f155d6ef0c7236b62c4ec8e579db0e8e3853929d56c06b8a1a30fa116882/i2-0.1.17-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "be1478823f30911055b1abeaabe37a4f0861f8754d0232da2d485db38eecc3ff",
                "md5": "e5f7a3e5693f03cfad7febdcc7438a93",
                "sha256": "6c544f947d61146e2a1253afabe8d13611e6c381a82bf7269015446ce25dbda8"
            },
            "downloads": -1,
            "filename": "i2-0.1.17.tar.gz",
            "has_sig": false,
            "md5_digest": "e5f7a3e5693f03cfad7febdcc7438a93",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 178598,
            "upload_time": "2024-04-08T08:22:58",
            "upload_time_iso_8601": "2024-04-08T08:22:58.029838Z",
            "url": "https://files.pythonhosted.org/packages/be/14/78823f30911055b1abeaabe37a4f0861f8754d0232da2d485db38eecc3ff/i2-0.1.17.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-08 08:22:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "i2mint",
    "github_project": "i2",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "i2"
}
        
Elapsed time: 0.23173s