AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证IOStreams is a streaming library for Ruby that makes compression, encryption, file format, and storage location transparent to your code. Read and write files of any size, one block at a time, whether they are gzip, zip, or PGP encrypted, and whether they live on local disk, AWS S3, SFTP, or are fetched over HTTP.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
IOStreams is a streaming library for Ruby that makes compression, encryption, file format, and storage
location transparent to your code. Read and write files of any size, one block at a time, whether they
are gzip, zip, or PGP encrypted, and whether they live on local disk, AWS S3, SFTP, or are fetched over HTTP.
Production Ready, heavily used in production environments, many as part of Rocket Job.
Start with the IOStreams tutorial to get a great introduction to IOStreams.
See the CHANGELOG for the release history and notable changes.查看完整 README ↗IOStreams reads and writes files of any size in Ruby, a block at a time, and makes their format, compression, encryption and storage location transparent to your code: CSV, JSON, Excel or Parquet files, compressed with gzip, zip, bzip2 or Zstandard, encrypted with PGP, on local disk, AWS S3, Google Cloud Storage (experimental), an SFTP server or a web server.
require "iostreams"
# Write a CSV file compressed with gzip, a record at a time.
IOStreams.path("people.csv.gz").writer(:hash) do |io|
io << {"name" => "Jack", "city" => "Oslo"}
io << {"name" => "Jill", "city" => "Lima"}
end
# Read it back a record at a time, as it is decompressed.
IOStreams.path("people.csv.gz").each(:hash) do |person|
p person
end
# {"name" => "Jack", "city" => "Oslo"}
# {"name" => "Jill", "city" => "Lima"}
The file name says how each file is stored, so the same code reads a plain CSV file, a spreadsheet, a file encrypted with PGP, or a file on S3 or SFTP. Copy it to S3 as JSON, encrypted with PGP for a partner, by naming the target so:
IOStreams.path("s3://my-bucket/people.json.gz.pgp").
option(:pgp, recipient: "[email protected]").
copy_from("people.csv.gz", mode: :hash)
.csv.pgp instead of .xlsx.ArgumentError when it is set, wherever the code runs.For Ruby 3.3 or later, add the gem to your Gemfile:
bundle add iostreams
IOStreams loads the gems of the features that need one, such as aws-sdk-s3 for S3, when they are first used. See
Installation for the list.
Start with the IOStreams tutorial, or the common tasks, each a line of code, then read the rest of the IOStreams documentation.
See the CHANGELOG for the release history and notable changes.
v3.0 is a major release: text is read as UTF-8, a schema describes the columns of tabular files, and many options are now checked strictly. See Upgrading IOStreams for the changes that may need updates to your application, and the security settings to review.
Production Ready, heavily used in production environments, many as part of Rocket Job.
This project adheres to Semantic Versioning.
Contributions are welcome. See CONTRIBUTING.md for how to set up the project, run its tests, its architecture, and the code of conduct.
Copyright 2020 Reid Morrison
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.