datamodel-code-generator
httpx
Our great sponsors
datamodel-code-generator | httpx | |
---|---|---|
9 | 53 | |
2,281 | 12,234 | |
- | 2.5% | |
9.4 | 9.0 | |
7 days ago | 6 days ago | |
Python | Python | |
MIT License | BSD 3-clause "New" or "Revised" 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.
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/
httpx
-
A Retrospective on Requests
For reference, it's a butterfly, not a moth.
Source: https://github.com/encode/httpx/issues/834
-
Show HN: Twitter API Wrapper for Python – No API Keys Needed
Very cool, first I'm hearing of httpx https://www.python-httpx.org/
I think most people would start with trying out requests or something for this kind of work, I'm guessing that didn't work out? You've got a star from me.
-
Harlequin: SQL IDE for Your Terminal
To access 10 different commands at the same time, that is tricky but definitely doable.
First thing that comes to mind, you can use aliases.
To keep it simple, lets use 3 examples instead of 10: harlequin (this project), pgcli (https://www.pgcli.com/) and httpx (https://www.python-httpx.org/)
Setup a main home for all your venvs:
cd ~
-
HTTP Rate Limit
There are already some implementations for Python HTTP clients. One of them is aiometer. But it's not suitable for my use case. Since httpx already has the internal pool, it would be better to reuse the design.
-
Introducing Flama for Robust Machine Learning APIs
Besides, flama also provides support for SQL databases via SQLAlchemy, an SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL. Finally, flama also provides support for HTTP clients to perform requests via httpx, a next generation HTTP client for Python.
-
Embracing Modern Python for Web Development
We can use the async HTTP client provided by httpx, a fully featured HTTP client for Python with an API broadly compatible with requests, so it can be used in pretty much the same way in most cases.
-
Didn't want to click on refresh to see updates, this is what I did!
httpx in place of requests library
-
Python Requests 3
The main value of Requests is that it provided an abstract interface on top of HTTP, which was designed well-enough to become a standard. But today it has fallen way behind in its field, and there are much better alternatives such as HTTPX [0].
[0] https://www.python-httpx.org/
-
Unlocking Performance: A Guide to Async Support in Django
HTTPX is a popular Python library that provides an asynchronous HTTP client, and it can be beneficial for enabling async support in Django. While Django itself does not require HTTPX for async support, using HTTPX in combination with Django's async views can bring several advantages:
-
Show HN: Python package for interfacing with ChatGPT with minimized complexity
The underlying library for both sync and async is httpx (https://www.python-httpx.org/) which may be limited from the HTTP Client perspective but it may be possible to add rate limiting at a Session level.
What are some alternatives?
sqlmodel - SQL databases in Python, designed for simplicity, compatibility, and robustness.
AIOHTTP - Asynchronous HTTP client/server framework for asyncio and Python
pydantic - Data validation using Python type hints
Niquests - Requests but with HTTP/3, HTTP/2, Multiplexed Connections, System CAs, Certificate Revocation, DNS over HTTPS / TLS / QUIC or UDP, Async, DNSSEC, and (much) pain removed!
pydantic-factories - Simple and powerful mock data generation using pydantic or dataclasses
requests-html - Pythonic HTML Parsing for Humansâ„¢
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
requests - A simple, yet elegant, HTTP library.
odmantic - Sync and Async ODM (Object Document Mapper) for MongoDB based on python type hints
Flask - The Python micro framework for building web applications.
cattrs - Composable custom class converters for attrs.
starlette - The little ASGI framework that shines. 🌟