小编A P*_*oor的帖子

在 Pydantic 中定义递归模型?

如何定义递归 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不是关于递归类型定义。

感谢您的帮助!

python oop types jsonschema pydantic

18
推荐指数
2
解决办法
1万
查看次数

是否有一个简单的算法来绘制力导向图?

在此输入图像描述

我正在尝试在 P5js 中编写一个小图形可视化工具,但我找不到可遵循的简单(-ish)算法。

我已经找到了使用 D3 来实现这一点的方法,并且找到了一些密集的教科书片段(像这样),但我正在寻找介于两者之间的东西。

有人可以解释绘制图形的最简单算法(力导向或其他)或为我指出一个好的资源吗?

感谢您的帮助!

algorithm graph force-layout p5.js

5
推荐指数
1
解决办法
3335
查看次数

如何在 Julia 中为可变结构设置默认参数?

有没有办法在 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)

有没有办法做到这一点,或者我应该尝试不同的方法?

constructor struct default julia

5
推荐指数
3
解决办法
196
查看次数

Julia:如何更新我发布的 julia 包?

我正在尝试开发我的第一个 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 包版本的正确方法是什么?

提前致谢!

package julia github-actions julia-pkg

5
推荐指数
1
解决办法
68
查看次数

AWS Lambda:为 Node 运行时使用异步处理程序函数有好处吗?

我正在使用 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

5
推荐指数
1
解决办法
6190
查看次数

Julia:是否可以将参数字典传递给函数?

我有一个函数参数字典,我想传递给一个函数。例如:

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 中做类似的事情?

types arguments metaprogramming keyword-argument julia

4
推荐指数
1
解决办法
154
查看次数

如何使用 Terraform 创建连接到 S3 的 AWS Kinesis Firehose?

我正在尝试使用该kinesis_firehose_delivery_stream资源创建一个具有Direct PUT源、无数据转换和extended_s3目标的 Kinesis Firehose。

\n

我修改了此示例中的代码(以删除 lambda 函数),所以现在它看起来像这样:

\n
terraform {\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

3
推荐指数
1
解决办法
5828
查看次数

为什么要在 Go 中的函数上实现接口?

我读到,在 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)

提前致谢!

types functional-programming interface function go

0
推荐指数
1
解决办法
109
查看次数