未提供项目描述
项目描述
斯密思
斯密思是一个多功能的工具,旨在增强您的AWS Lambda开发体验。它是一个纯Python工具,允许轻松自定义和状态持久化,使您的Lambda开发更加高效和开发者友好。
特性
- 纯Python:完全用Python编写,允许根据特定需求进行灵活定制。
- 可定制性:根据需要修改事件和上下文数据结构。
- 状态持久化:模拟冷启动和热启动,在调用之间保留状态,模拟实际的AWS Lambda行为。
- 效率:优化且高效,仅依靠Python进行代码执行。
- 受Serverless框架启发:结合Serverless框架的见解设计,有效地管理无服务器应用程序。
- 开发者友好:与常见的开发工具和实践无缝集成,例如 PDB、iPDB、VSCode 调试和 .env 文件支持。
安装
使用 Poetry 或 pip 将 Smyth 安装为开发依赖项
Poetry
poetry add --group dev smyth
pip
pip install smyth
在您的 Lambda 项目的 pyproject.toml
文件中定义以下设置
[tool.smyth]
host = "0.0.0.0"
port = 8080
[tool.smyth.handlers.saleor_handler]
handler_path = "my_project.handlers.saleor.handler.saleor_http_handler"
url_path = "/saleor/{path:path}"
使用以下命令运行 Smyth
python -m smyth
使用 Docker 一起工作
假设您已经使用 Poetry 安装了它,您可以从此存储库中使用 Dockerfile.example
和 docker-compose.example.yml
文件开始。
使用 VS Code 一起工作
要使用 Smyth 工具利用 VS Code 调试器,您可以按如下方式设置您的 launch.json
配置文件。此设置将使您能够直接在 VS Code 中调试 Lambda 函数,提供无缝的开发体验。
{
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Module",
"type": "debugpy",
"request": "launch",
"module": "smyth",
"args": ["run"],
}
]
}
注意事项
Uvicorn 重载进程和 HTTP 服务器进程的组合与 Lambda 进程中进行的操作很复杂。如果 Lambda 进程正在执行某些操作,而 HTTP 服务器在不适当的时刻被终止,则很可能破坏您的终端。此问题尚未解决。最好在 Docker 容器中使用或在手边有 kill -9 {Uvicorn 重载进程的 PID}
的能力。
待办事项
- 编写测试
- 正确处理 Uvicorn 退出,优雅地终止 Lambda 进程
- 在 PyPi 上发布
名称
这个名字将 "Smith"(如铁匠,在锻造厂工作的人)与 "Py"(代表 Python)结合起来,拼写改为 "Smyth"。铁匠是工匠,他们在锻造厂用金属工作,将其塑造成所需的形状。"Smyth" 暗示一个工具,可以帮助开发者在 Python 编程领域用铁匠的精确和技能来构建和塑造他们的无服务器项目。这个名字保留了锻造厂中固有的工艺和转变的本质,同时与 Python 相关。
由 Mirumee Software 用 ❤️ 制作 hello@mirumee.com
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建分布
smyth-0.5.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0d334b104e131ebdff34081a9b29c8496d6de9a762890e39d08f57fe7f1c854d |
|
MD5 | 498845ae336e588a9f13bee9e347f73d |
|
BLAKE2b-256 | b49994252a3e3f3cccf7fbdfb3adf678e0cb096880562d60a6dd2c73e85c8a13 |
smyth-0.5.0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6fa2e36c4d80ee482d6d463862580202948184e8b89f01b65ed2a80bd35c4571 |
|
MD5 | 5251b4eccca2a7e0a4ec14243108dfe9 |
|
BLAKE2b-256 | 2e35ed5c83e06f87efb8bd06eea7ffb25fc131cfbcc0dc27fac0f60a55557b0d |