homecloud


Namehomecloud JSON
Version 0.3.4 PyPI version JSON
download
home_page
SummaryA command line tool for generating the template files needed to integrate fastapi, uvicorn, and a requests based client into a Python project.
upload_time2023-12-25 16:57:04
maintainer
docs_urlNone
author
requires_python>=3.10
license
keywords api client fastapi network server
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # homecloud
W.I.P/ more detailed readme to come<br>
A command line tool for generating the template files needed to integrate fastapi, uvicorn, and a requests based client into a Python project
over a local network. <br>
Devices on the local network running a client can automatically find the server for their app name at startup.<br>

## Installation

Install with
<pre>
pip install homecloud
</pre>

## Usage

Navigate to your project directory in the terminal
and run 
<pre>
>homecloud
</pre>

Several files should have been generated.
Assuming the project directory is called myapp,
you should see the following files:
<pre>
homecloud_config.toml
myapp_client.py
myapp_get_routes.py
myapp_post_routes.py
myapp_request_models.py
myapp_server.py
</pre>

The server for myapp can be started by running the `myapp_server.py` script.<br>
Any device on the local network that runs code that creates a `myapp.MyappClient` object 
should be able to automatically find the ip address and port of the myapp server.<br>
<br>
Other `myapp_*_routes.py` files can be generated by passing their names with the `-r/--routes` 
switch to the `homecloud` tool.<br>
If, earlier, we ran
<pre>
>homecloud -r trace put
</pre>
then we would have generated the previous files as well as
<pre>
myapp_trace_routes.py
myapp_put_routes.py
</pre>

The help display for `homecloud`:
<pre>
>homecloud -h
usage: homecloud [-h] [-r [ROUTES ...]] [-d DESTINATION] [app_name]

positional arguments:
  app_name              The name of the app to generate files for. If a value isn't provided, the folder name of the current working directory will be used.

options:
  -h, --help            show this help message and exit
  -r [ROUTES ...], --routes [ROUTES ...]
                        The routes to generate files for in addition to 'get' and 'post' routes.
  -d DESTINATION, --destination DESTINATION
                        The directory to save the generated files to. By default, uses the current working directory.
</pre>

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "homecloud",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "api,client,fastapi,network,server",
    "author": "",
    "author_email": "Matt Manes <mattmanes@pm.me>",
    "download_url": "https://files.pythonhosted.org/packages/c6/12/20498eaf0ef58ddf1ce930a10809f24af2b7755366ccdebd19a769fc0799/homecloud-0.3.4.tar.gz",
    "platform": null,
    "description": "# homecloud\nW.I.P/ more detailed readme to come<br>\nA command line tool for generating the template files needed to integrate fastapi, uvicorn, and a requests based client into a Python project\nover a local network. <br>\nDevices on the local network running a client can automatically find the server for their app name at startup.<br>\n\n## Installation\n\nInstall with\n<pre>\npip install homecloud\n</pre>\n\n## Usage\n\nNavigate to your project directory in the terminal\nand run \n<pre>\n>homecloud\n</pre>\n\nSeveral files should have been generated.\nAssuming the project directory is called myapp,\nyou should see the following files:\n<pre>\nhomecloud_config.toml\nmyapp_client.py\nmyapp_get_routes.py\nmyapp_post_routes.py\nmyapp_request_models.py\nmyapp_server.py\n</pre>\n\nThe server for myapp can be started by running the `myapp_server.py` script.<br>\nAny device on the local network that runs code that creates a `myapp.MyappClient` object \nshould be able to automatically find the ip address and port of the myapp server.<br>\n<br>\nOther `myapp_*_routes.py` files can be generated by passing their names with the `-r/--routes` \nswitch to the `homecloud` tool.<br>\nIf, earlier, we ran\n<pre>\n>homecloud -r trace put\n</pre>\nthen we would have generated the previous files as well as\n<pre>\nmyapp_trace_routes.py\nmyapp_put_routes.py\n</pre>\n\nThe help display for `homecloud`:\n<pre>\n>homecloud -h\nusage: homecloud [-h] [-r [ROUTES ...]] [-d DESTINATION] [app_name]\n\npositional arguments:\n  app_name              The name of the app to generate files for. If a value isn't provided, the folder name of the current working directory will be used.\n\noptions:\n  -h, --help            show this help message and exit\n  -r [ROUTES ...], --routes [ROUTES ...]\n                        The routes to generate files for in addition to 'get' and 'post' routes.\n  -d DESTINATION, --destination DESTINATION\n                        The directory to save the generated files to. By default, uses the current working directory.\n</pre>\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A command line tool for generating the template files needed to integrate fastapi, uvicorn, and a requests based client into a Python project.",
    "version": "0.3.4",
    "project_urls": {
        "Documentation": "https://github.com/matt-manes/homecloud/tree/main/docs",
        "Homepage": "https://github.com/matt-manes/homecloud",
        "Source code": "https://github.com/matt-manes/homecloud/tree/main/src/homecloud"
    },
    "split_keywords": [
        "api",
        "client",
        "fastapi",
        "network",
        "server"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5e5d5c53223c7337bcb7910ed9a62ccce2edc9d68fca522e1bc925e201f88d11",
                "md5": "3503ec2aa9eb872ba4e3c52eeb6ea2a9",
                "sha256": "2fb14a69d6e31075852d809d4356cb9d78d3d47725eb108a7d155f1bdba77447"
            },
            "downloads": -1,
            "filename": "homecloud-0.3.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3503ec2aa9eb872ba4e3c52eeb6ea2a9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 15687,
            "upload_time": "2023-12-25T16:57:01",
            "upload_time_iso_8601": "2023-12-25T16:57:01.967692Z",
            "url": "https://files.pythonhosted.org/packages/5e/5d/5c53223c7337bcb7910ed9a62ccce2edc9d68fca522e1bc925e201f88d11/homecloud-0.3.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c61220498eaf0ef58ddf1ce930a10809f24af2b7755366ccdebd19a769fc0799",
                "md5": "4a5ac4903e181d129b9f0b133abdcd9f",
                "sha256": "e9553fc430236947d57173b137abfbb92b880b474ce74a105918b4fbf8571aa7"
            },
            "downloads": -1,
            "filename": "homecloud-0.3.4.tar.gz",
            "has_sig": false,
            "md5_digest": "4a5ac4903e181d129b9f0b133abdcd9f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 11772,
            "upload_time": "2023-12-25T16:57:04",
            "upload_time_iso_8601": "2023-12-25T16:57:04.117984Z",
            "url": "https://files.pythonhosted.org/packages/c6/12/20498eaf0ef58ddf1ce930a10809f24af2b7755366ccdebd19a769fc0799/homecloud-0.3.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-25 16:57:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "matt-manes",
    "github_project": "homecloud",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "homecloud"
}
        
Elapsed time: 0.15104s