sqlmodel
datamodel-code-generator
Our great sponsors
sqlmodel | datamodel-code-generator | |
---|---|---|
23 | 9 | |
12,894 | 2,273 | |
- | - | |
8.6 | 9.4 | |
4 days ago | 7 days ago | |
Python | Python | |
MIT License | MIT License |
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.
sqlmodel
-
SQLModel with the same relationship column twice
Seems like this is a known bug in SQLModel: https://github.com/tiangolo/sqlmodel/issues/10
-
Best ORM to use with FastAPI?
I have not used it myself but the creator of fastapi has made https://github.com/tiangolo/sqlmodel
-
SQLAlchemy: Parent instance is not bound to a Session; lazy load operation of attribute cannot proceed
I have already posted this question in Stack Overflow and GitHub and have been ignored in both 😢. You guys are my last hope.
-
I wrote okjson - A fast, simple, and pythonic JSON Schema Validator
I had a requirement to process and validate large payloads of JSON concurrently for a web service, initially I implemented it using jsonschema and fastjsonschema but I found the whole JSON Schema Specification to be confusing at times and on top of that wanted better performance. Albeit there are ways to compile/cache the schema, I wanted to move away from the schema specification so I wrote a validation library inspired by the design of tiangolo/sqlmodel (type hints) to solve this problem easier.
- Django Ninja – Fast Django REST Framework for Building APIs
-
Trending Python Projects of the Week
Github Repository
-
Tuesday Daily Thread: Advanced questions
I would say as long as your current solution works and is easy to maintain keep it. If you want to switch I would recommend FastAPI, it is new(ish), but definitely old enough to have been tested and used in a large variety of production usecases. In your case it might be interesting to have a look at SQLModel (works with FastAPI, same author), especially if the API endpoints match closely to the database objects. https://github.com/tiangolo/sqlmodel
-
The hand-picked selection of the best Python libraries released in 2021
SQLModel.
-
Pydbantic - A single model ( DB & Pydantic) with automatic migrations
Sounds similar to https://github.com/tiangolo/sqlmodel
-
tiangolo/SQLModel DoA?
There was a lot of hype and excitement around the release of SQLModel, a Pydantic + SQLAlchemy hybrid Model library with native integration for FastAPI. I pulled it out just now and there hasn't been any update beyond the initial anouncment on August 25th.
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
-
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.
[1] https://koxudaxi.github.io/datamodel-code-generator/
-
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
-
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/
What are some alternatives?
pydantic-sqlalchemy - Tools to convert SQLAlchemy models to Pydantic models
pydantic - Data validation using Python type hints
pydantic-factories - Simple and powerful mock data generation using pydantic or dataclasses
SQLAlchemy - The Database Toolkit for Python
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
ormar - python async orm with fastapi in mind and pydantic validation
odmantic - Sync and Async ODM (Object Document Mapper) for MongoDB based on python type hints
geojson-pydantic - Pydantic data models for the GeoJSON spec
cattrs - Composable custom class converters for attrs.
sqlalchemy-hana - SQLAlchemy Dialect for SAP HANA
django-ninja - 💨 Fast, Async-ready, Openapi, type hints based framework for building APIs