protokeep
所属分类:人工智能/神经网络/深度学习
开发工具:F#
文件大小:0KB
下载次数:0
上传日期:2023-11-03 14:55:52
上 传 者:
sh-1993
说明: 专门构建的开源库,用于简化以数据为中心的体系结构中的开发。
(Open-source library purpose-built to streamline the development in data- centric architectures.)
文件列表:
.config/ (0, 2023-11-20)
.config/dotnet-tools.json (346, 2023-11-20)
.vscode/ (0, 2023-11-20)
.vscode/settings.json (337, 2023-11-20)
LICENSE (11357, 2023-11-20)
RELEASE_NOTES.md (1217, 2023-11-20)
examples/ (0, 2023-11-20)
examples/fsharp-backend/ (0, 2023-11-20)
examples/fsharp-backend/backend/ (0, 2023-11-20)
examples/fsharp-backend/backend/BettingFootballJsonConverters.g.fs (7798, 2023-11-20)
examples/fsharp-backend/backend/BettingFootballMongoConverters.g.fs (7475, 2023-11-20)
examples/fsharp-backend/backend/BettingFootballProtoConverters.g.fs (3812, 2023-11-20)
examples/fsharp-backend/backend/BettingJsonConverters.g.fs (14034, 2023-11-20)
examples/fsharp-backend/backend/BettingMongoConverters.g.fs (15592, 2023-11-20)
examples/fsharp-backend/backend/BettingProtoConverters.g.fs (5706, 2023-11-20)
examples/fsharp-backend/backend/GameJsonConverters.g.fs (25355, 2023-11-20)
examples/fsharp-backend/backend/GameMongoConverters.g.fs (25239, 2023-11-20)
examples/fsharp-backend/backend/GameProtoConverters.g.fs (11458, 2023-11-20)
examples/fsharp-backend/backend/Program.fs (6649, 2023-11-20)
examples/fsharp-backend/backend/Protokeep.g.fs (13099, 2023-11-20)
examples/fsharp-backend/backend/backend.fsproj (1098, 2023-11-20)
examples/fsharp-backend/domain/ (0, 2023-11-20)
examples/fsharp-backend/domain/Betting.g.fs (5112, 2023-11-20)
examples/fsharp-backend/domain/BettingFootball.g.fs (3407, 2023-11-20)
examples/fsharp-backend/domain/Game.g.fs (4795, 2023-11-20)
examples/fsharp-backend/domain/GameLogic.fs (66, 2023-11-20)
examples/fsharp-backend/domain/Protokeep.g.fs (11232, 2023-11-20)
examples/fsharp-backend/domain/domain.fsproj (546, 2023-11-20)
examples/fsharp-backend/fsharp-example.sln (2270, 2023-11-20)
examples/fsharp-backend/make.fsx (1879, 2023-11-20)
examples/fsharp-backend/proto/ (0, 2023-11-20)
examples/fsharp-backend/proto/Example.Betting.proto (1173, 2023-11-20)
examples/fsharp-backend/proto/Example.BettingFootball.proto (949, 2023-11-20)
examples/fsharp-backend/proto/Example.Game.proto (2095, 2023-11-20)
examples/fsharp-backend/proto/proto.csproj (797, 2023-11-20)
... ...
# Protokeep
![Build status](https://github.com/usix79/protokeep/workflows/build/badge.svg)
Open-source library purpose-built to streamline the development in data-centric architectures.
Problems addressed:
- **Schema Compatibility**: Seamless evolution of data schemas without breaking changes.
- **Boilerplate Reduction**: Minimizes redundant code for serialization and deserialization.
- **Composite Key Handling**: Efficiently creates keys for composite data types.
Current scope:
- **Languages and Tools**: Fsharp, Protobuf, Json, MongoDb, Fable
## Key Features
### 1. Domain Type Descriptions
- **Simple Types**: Basic data types like `int`, `string`, `bool`, etc. for common use cases.
- **Generic Types**: Types like `optional`, `array`, `list`, `set` and `map` which can hold other types.
- **Enums**: A set of named values.
- **Algebraic Types**:
- `record`: product type for bundling values.
- `union`: add type with the unique case's identifiers
- **Modifiers**:
- `struct`: Ensures the type is referenced by value.
- `key`: Denotes a field as part of the main identifier for a record.
- `idx`: Specifies fields that can be accessed using an indexer.
- `Version`: For managing transaction logic in the storage layers.
### 2. Schema Evolution Checking
Ensures your data model adapts while preserving backward and forward compatibility.
### 3. Domain Type Generation
Currently, Protokeep supports type generation for **FSharp**.
### 4. Data Schema Generation
Presently, the only supported data schema format is **Protobuf**.
### 5. Converters
Automatically produce converters for popular serialization libraries:
- `Google.Protobuf`
- `System.Text.Json`
- `MongoDb.Bson`
- `Fable.SimpleJson`
## Getting Started
TODO
近期下载者:
相关文件:
收藏者: