Name | homecloud JSON |
Version |
0.3.4
JSON |
| download |
home_page | |
Summary | A command line tool for generating the template files needed to integrate fastapi, uvicorn, and a requests based client into a Python project. |
upload_time | 2023-12-25 16:57:04 |
maintainer | |
docs_url | None |
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"
}