Package: interphase
Interphase - Bridging Backend and Frontend Development with Git SubmoduleIntroductionInterphaseis a powerfultool+git structuredesigned to streamline the collaboration between backend and frontend developers by facilitating the sharing of critical information, including types, example data, API URLs, and documentation. The core concept is to provide an interconnected platform that enables seamless communication between these two development environments, thereby reducing friction and enhancing productivity, thus bridging the gap between the two development repository.Currently Available Support PackagesInterphase- Python → TypescriptComming Soon- Go → TypescriptRequirementsPython >= 3.71. Installation$pipinstallInterphase2. Quick Start📁  Simple folder structure📁  your_project
|
├──📁 types (requied)
|   |
│   └──📄api.d.ts (optional)
|
└──📄main.py📄main.pyfromInterphaseimportInterphasets=Interphase("./types")userData={"name":"John Doe","age":30,"email":"example@demo.com","skills":["Python","TypeScript","JavaScript"]}ts.write('api','UserData',userData)📄 api.d.tsexporttypeUserData={name:string;age:number;email:string;skills:string[];}3. Real Life Developer Usage.gitmodules[submodule "api"]path=apiurl=https://github.com/username/api.gitFrontend📁 FrontEnd-repo
│
├──📁 api (git submodule)
│   │
│   ├──📄__init__.py
│   ├──📄setup.py
│   │
│   └──📁 types
│       │
│       └──📄 api.d.ts
│
├──📁 src
│   │
│   └──📄 (other frontend files, where /api/types are imported and used)
│   
├──📄 package.json
├──📄 .gitmodules (important)
└──📄 .gitignoreBackend📁 Backend-repo
│
├──📁 api (git submodule)
│   │
│   ├──📄__init__.py
│   ├──📄setup.py
│   │
│   └──📁 types
│       │
│       └──📄 api.d.ts
│
├──📁 src
│   │
│   └──📄 (other backend files, where helps to create types for /api)
│   
├──📄 requirements.txt
├──📄 .gitmodules (important)
└──📄 .gitignore4. Configuration📄 /api/setup.pyconfig=Interphase("./types",d_ts=True)# base setup📄 /api/__init__.pyfrom.setupimportconfigasts5. API Referenceexport types | interfacets=Interphase("./types")# default is export enabledts.write('api','UserData',userData)ts.write('api','UserData2',userData,export=False)# default is type and interface can be enabledts.write('api','UserData3',userData,interface=True)ts.write('api','UserData3',userData,export=False,interface=True)exporttypeUserData={...}typeUserData2={...}exportinterfaceUserData3{...}interfaceUserData3{...}base folder# base directory can't be empty stringts=Interphase("types")ts=Interphase("./types")# d.ts is defualt# .ts can be enabledts=Interphase("./types",d_ts=False)ts.write('api','UserData',userData)exporttypeUserData={...}// api.tsfile name# type name and file name can't be empty stringts.write('api.ts','UserData',userData)ts.write('api.d.ts','UserData',userData)# d.ts is defualtts.write('api','UserData',userData)7. FAQsList and answer frequently asked questions users might have about your package.8. TroubleshootingProvide solutions to common issues users might encounter and how to resolve them.9. ContributingEncourage others to contribute to your project. Include guidelines for submitting bug reports, feature requests, and pull requests.10. LicenseSpecify the license under which your package is released.Remember that your documentation should be clear, concise, and easy to follow. Use a consistent tone and style throughout, and consider using code snippets, diagrams, and examples to enhance understanding. Regularly update the documentation as your package evolves to ensure it remains accurate and helpful to your users.Interphaseinterface is not supported yetdefualt is export On
default is type =
need file name
need type name
need any database directory can be empty string
d.ts is supported & it is defualtdevpipinstall--upgradesetuptools
pipinstall--upgradebuild#python -m build$pipinstall-qbuild
$python-mbuildpyproject.tomlhttps://setuptools.pypa.io/en/latest/userguide/pyproject_config.htmldist/
    meowpkg-0.0.1.whl
    meowpkg-0.0.1.tar.gz$pipinstalldist/meowpkg-0.0.1.whl
$pipinstalldist/meowpkg-0.0.1.tar.gzupload to pypi$python-mtwineupload--repositorypypidist/*.tree-mddir2file21.extfile22.extfile23.extdir1file11.extfile12.extfile_in_root.extREADME.mddir3