如何定义递归 Pydantic 模型?
这是我的意思的一个例子:
from typing import List
from pydantic import BaseModel
class Task(BaseModel):
name: str
subtasks: List[Task] = []
Run Code Online (Sandbox Code Playgroud)
但是当我运行时出现以下错误:
NameError Traceback (most recent call last)
<ipython-input-1-c6dca1d390fe> in <module>
2 from pydantic import BaseModel
3
----> 4 class Task(BaseModel):
5 name: str
6 subtasks: List[Task] = []
<ipython-input-1-c6dca1d390fe> in Task()
4 class Task(BaseModel):
5 name: str
----> 6 subtasks: List[Task] = []
7
NameError: name 'Task' is not defined
Run Code Online (Sandbox Code Playgroud)
我查看了文档但找不到任何内容。例如,在“递归模型”页面上,但它似乎是关于嵌套子类型而BaseModel不是关于递归类型定义。
感谢您的帮助!
我正在尝试在 P5js 中编写一个小图形可视化工具,但我找不到可遵循的简单(-ish)算法。
我已经找到了使用 D3 来实现这一点的方法,并且找到了一些密集的教科书片段(像这样),但我正在寻找介于两者之间的东西。
有人可以解释绘制图形的最简单算法(力导向或其他)或为我指出一个好的资源吗?
感谢您的帮助!
有没有办法在 Julia 中为可变结构添加默认参数?
我正在尝试编写如下内容:
mutable struct Scale
# Set default values that will be changed by fit!()
domain_min::Float64 = 0.0
domain_max::Float64 = 1.0
range_min::Float64 = 0.0
range_max::Float64 = 1.0
end
function fit!(data::Array)
# Set struct params here using `data`
end
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,或者我应该尝试不同的方法?
我正在尝试开发我的第一个 Julia 包FeatureEng.jl,但我在更新注册表上的包时遇到了问题。
我已经设置了 GitHub 操作 TagBot 和 Register 并尝试通过 Project.toml 文件和 git 标签更新包版本,但我在 GitHub 上仍然只有一个版本(“v1.0.1”),我得到以下输出来自 TagBot:
Tag v1.0.1 already exists
Run Code Online (Sandbox Code Playgroud)
当我在自己的环境中运行我的包并检查我得到的版本时......
julia> using Pkg
julia> Pkg.activate(".")
Activating environment at `~/Desktop/code/julia/FeatureEng/Project.toml`
julia> using FeatureEng, PkgVersion
julia> PkgVersion.Version(FeatureEng)
v"1.2.7"
Run Code Online (Sandbox Code Playgroud)
但是当我在一个单独的环境中安装我的包时,从通用注册表,并运行相同的检查,我得到...
julia> PkgVersion.Version(FeatureEng)
v"1.0.1"
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?发布新的 Julia 包版本的正确方法是什么?
提前致谢!
我正在使用 Node.js Lambda 函数创建 AWS SAM 应用程序。默认模板有一个异步处理函数:
exports.lambdaHandler = async (event, context) => {
// ...
return {
statusCode: 200,
body: JSON.stringify({ hello: "world" })
};
};
Run Code Online (Sandbox Code Playgroud)
将此处理程序函数设置为asyncvs是否有任何好处sync,因为我的理解是每次调用 Lambda 函数时它都会与其他实例分开运行?
javascript asynchronous amazon-web-services node.js aws-lambda
我有一个函数参数字典,我想传递给一个函数。例如:
function test_function(foo::Int, bar::String)
#...
end
params = Dict(
"foo" => 1,
"bar" => "baz"
)
Run Code Online (Sandbox Code Playgroud)
在 Python 中,我可以像这样将所有参数作为 kwargs 传递:
function test_function(foo::Int, bar::String)
#...
end
params = Dict(
"foo" => 1,
"bar" => "baz"
)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试时params...,我收到以下错误:
julia> test_function(params...)
ERROR: MethodError: no method matching test_function(::Pair{String,Any}, ::Pair{String,Any})
Run Code Online (Sandbox Code Playgroud)
有没有办法在 Julia 中做类似的事情?
我正在尝试使用该kinesis_firehose_delivery_stream资源创建一个具有Direct PUT源、无数据转换和extended_s3目标的 Kinesis Firehose。
我修改了此示例中的代码(以删除 lambda 函数),所以现在它看起来像这样:
\nterraform {\n required_providers {\n aws = {\n source = "hashicorp/aws"\n version = "~> 3.0"\n }\n }\n}\n\nprovider "aws" {\n region = "us-east-1"\n}\n\nresource "aws_s3_bucket" "bucket" {\n bucket = "test-kinesis-destination-bucket"\n acl = "private"\n}\n\nresource "aws_kinesis_firehose_delivery_stream" "kinesis_event_stream" {\n name = "kinesis-test-stream"\n destination = "extended_s3"\n\n extended_s3_configuration {\n role_arn = aws_iam_role.firehose_role.arn\n bucket_arn = aws_s3_bucket.bucket.arn\n buffer_size = 1\n buffer_interval = 60\n }\n}\n\nresource "aws_iam_role" "firehose_role" {\n name = "firehose_test_role"\n\n assume_role_policy = <<EOF\n{\n …Run Code Online (Sandbox Code Playgroud) amazon-s3 amazon-web-services amazon-iam amazon-kinesis terraform
我读到,在 Go 中,函数可以实现接口(就像在这个例子或这个例子中)。
但是让一个函数实现一个接口有什么价值呢?
例如,为什么要花时间定义一个接口、一个新的函数类型和一个方法,像这样:
type Handler interface {
ServeHTTP(*Conn, *Request)
}
type HandlerFunc func(*Conn, *Request)
func (f HandlerFunc) ServeHTTP(c *Conn, req *Request) {
f(c, req)
}
Run Code Online (Sandbox Code Playgroud)
相反,您可以只创建一个像这样的函数:
func ServeHTTP(f func(*Conn, *Request), c *Conn, req *Request) {
f(c, req)
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
julia ×3
types ×3
algorithm ×1
amazon-iam ×1
amazon-s3 ×1
arguments ×1
asynchronous ×1
aws-lambda ×1
constructor ×1
default ×1
force-layout ×1
function ×1
go ×1
graph ×1
interface ×1
javascript ×1
jsonschema ×1
julia-pkg ×1
node.js ×1
oop ×1
p5.js ×1
package ×1
pydantic ×1
python ×1
struct ×1
terraform ×1