datamodel-code-generator
spec
datamodel-code-generator | spec | |
---|---|---|
9 | 42 | |
2,315 | 3,868 | |
- | 1.7% | |
9.4 | 7.9 | |
4 days ago | 8 days ago | |
Python | JavaScript | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
datamodel-code-generator
- Datamodel-code-generator: Pydantic model/dataclass from OpenAPI, JSON, YAML
-
tRPC – Move Fast and Break Nothing. End-to-end typesafe APIs made easy
Like generating pydantic models or dataclasses for an OpenAPI schema? I haven't needed to go in that direction myself, but this[0] looks promising!
Apologies if I've misunderstood your comment
https://koxudaxi.github.io/datamodel-code-generator/
-
OpenAPI v4 Proposal
I'm sorry, but you have completely misunderstood the purpose of Open API.
It is not a specification to define your business logic classes and objects -- either client or server side. Its goal is to define the interface of an API, and to provide a single source of truth that requests and responses can be validated against. It contains everything you need to know to make requests to an API; code generation is nice to have (and I use it myself, but mainly on the server side, for routing and validation), but not something required or expected from OpenAPI
For what it's worth, my personal preferred workflow to build an API is as follows:
1. Build the OpenAPI spec first. A smaller spec could easily be done by hand, but I prefer using a design tool like Stoplight [0]; it has the best Web-based OpenAPI (and JSON Schema) editor I have encountered, and integrates with git nearly flawlessly.
2. Use an automated tool to generate the API code implementation. Again, a static generation tool such as datamodel-code-generator [1] (which generates Pydantic models) would suffice, but for Python I prefer the dynamic request routing and validation provided by pyapi-server [2].
3. Finally, I use automated testing tools such as schemathesis [3] to test the implementation against the specification.
[0] https://stoplight.io/
[1] https://koxudaxi.github.io/datamodel-code-generator/
[2] https://pyapi-server.readthedocs.io
[3] https://schemathesis.readthedocs.io
-
Create Pydantic datamodel from huge JSON file with local datamodel-code-generator
The site also provide a link to the github repo of the underlying program.
-
PSA: I think this JSON to Pydantic converter is extremely useful for boilerplate model creation
Not sure who owns/hosts the site, but its based on this github repo.
-
My top python library
That's what datamodel-code-generator propose.
-
I use attrs instead of pydantic
had generally good experience creating typed wrappers for api's with json-schema-to-pydantic[0] converter
[0] https://github.com/koxudaxi/datamodel-code-generator
-
What's the best libraries to build a REST API with Openapi compatibility
To save you some work, if you have already an OpenAPI specification at hand, you can use datamodel-code-generator to generate your Pydantic models from the spec.
-
This is what I pushed today, I don't know why but I was very positive about the code until someone reviewed it and pointed out the obvious. Also 'internal_data' field is very essential for other parts of the code. It is so embarrassing I want to disappear from the face of the earth.
And there are code generators for it! https://github.com/koxudaxi/datamodel-code-generator/
spec
-
10 realtime data sources you won't believe are free!
AsyncAPI: Interested in how to define your WebSocket APIs? One of the most advanced realtime specifications is the AsyncAPI specification, which comes with various generators for code and documentation, as well as renderers for the specifications.
- Comunicar microservicios con: ¿Kafka, RabbitMQ u otro? ¿Por qué?
-
FastStream: Python's framework for Efficient Message Queue Handling
Our journey with FastStream started when we needed to integrate our machine learning models into a customer's Apache Kafka environment. To streamline this process, we created FastKafka using AIOKafka, AsyncAPI, and asyncio. It was our first step in making message queue management easier.
-
Introducing FastStream: the easiest way to write microservices for Apache Kafka and RabbitMQ in Python
Automatic Docs: Stay ahead with automatic AsyncAPI documentation
-
FastStream: the easiest way to add Kafka and RabbitMQ support to FastAPI services
FastStream supports in-memory testing, AsyncAPI schema generation and more... If you are interested, please support our project by giving a GH start and joining our discord server.
-
An AsyncAPI Example: Building Your First Event-driven API
However, in order for the system to work effectively, there must be a common understanding between the components regarding events and their data structures. This is where AsyncAPI comes in; it helps define a contract that describes how the components communicate and behave effectively.
-
Is this a viable approach to a chat microservice?
You can also take a look at https://www.asyncapi.com/ (a spec for asynchronous APIs). It's useful for this use case, that is, building a well structured websocket interface with pub/sub.
- OpenAPI v4 Proposal
-
Propan 0.1.2 - new way to interact Kafka from Python
Sure! Next step I am working on AsyncAPI scheme generation by your application code. It's also includes a project generation from scheme, scheme web view (lika the Swagger for OpanAPI), etc. It will a much difficult than just another broker implementation...
-
Make API product lifecycle management easy
Onboarding - Enable developers to quickly learn how to consume the exposed APIs. For example, offer OpenAPI or AsyncAPI documentation and provide a portal and sandbox.
What are some alternatives?
sqlmodel - SQL databases in Python, designed for simplicity, compatibility, and robustness.
springdoc-openapi - Library for OpenAPI 3 with spring-boot
pydantic - Data validation using Python type hints
WatermelonDB - 🍉 Reactive & asynchronous database for powerful React and React Native apps ⚡️
pydantic-factories - Simple and powerful mock data generation using pydantic or dataclasses
asyncapi-react - React component for rendering documentation from your specification in real-time in the browser. It also provides a WebComponent and bundle for Angular and Vue
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
mqtt-venstar-bridge - Simple MQTT bridge to the venstar HTTP API
odmantic - Sync and Async ODM (Object Document Mapper) for MongoDB based on python type hints
eventbridge-atlas - Open-source tool to document, discover, and share your Amazon EventBridge schemas.
cattrs - Composable custom class converters for attrs.
Flask-SocketIO - Socket.IO integration for Flask applications.