boto3 | pydantic | |
---|---|---|
36 | 167 | |
8,703 | 18,733 | |
0.6% | 2.7% | |
9.7 | 9.8 | |
4 days ago | 4 days ago | |
Python | Python | |
Apache License 2.0 | 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.
boto3
-
Bug in std:shared_mutex on Windows
Former AWS here.
My literal job for the last part of my time at AWS was "help triage bugs in the AWS SDK." This is by far the best repro I've ever seen for such an in-depth event.
Most of the tickets you get in open ticket trackers are incomplete [ https://github.com/boto/boto3/issues/4011 ] nonsensical [ https://github.com/boto/boto3/issues/4018 ] or weird [ https://github.com/boto/boto3/issues/358 ].
-
AWS Boto3: Clients vs Resources - DynamoDB
Recently, my colleague brought up the difficulty of using the AWS SDK for Python (Boto3) while working with DynamoDB, especially the cumbersome mapping of AttributeValue objects on the Table operations. One of the easiest ways to get around this difficulty is to switch from the clients interface to the resources interface.
- Asynchronous Python lib to work with Amazon SQS
-
Beginning Python: Project Management With PDM
A majority of software in the modern world is built upon various third party packages. These packages help offload work that would otherwise be rather tedious. This includes interacting with cloud APIs, developing scientific applications, or even creating web applications. As you gain experience in python you'll be using more and more of these packages developed by others to power your own code. In this example I've decided to expand our math functionality with NumPy. pdm add is what's used to add dependencies like this to our project:
-
Creating RSS feeds for language/module specific AWS SDK updates
The updates could be parsed from the github repo's CHANGELOG files (ex: javascript, java, python). I'm picturing an RSS feed generated for a specific language and module (ex: python s3, javascript s3, java sqs)
-
Teaching boto3 to store floats and datetime objects in DynamoDB
This can be quite annoying because it makes you wonder why the high-level API isn't able to deal with these common data types. Part of the reason for this is most likely that floats in Python can be counter-intuitive, so Decimal is a better data type if you want numbers to behave as non-computer-scientists expect it. To learn more about these complexities, check out this discussion on GitHub about implementing float support in boto3 and the Python documentation on the subject. Additionally, DynamoDB has no native DateTime data type, so there is no straightforward mapping.
-
Interacting with Amazon S3 using AWS Data Wrangler (awswrangler) SDK for Pandas: A Comprehensive Guide
AWS Data Wrangler is a Python library that simplifies the process of interacting with various AWS services, built on top of some useful data tools and open-source projects such as Pandas, Apache Arrow and Boto3. It offers streamlined functions to connect to, retrieve, transform, and load data from AWS services, with a strong focus on Amazon S3.
-
Migrate 5 TB S3 bucket from one AWS account to another
Alternatively, you could create a Python script using either Boto3 or her asynchronous sister, aioBoto3 that will spin through the contents of the origin bucket and move it over to the destination.
-
Growing Outside of Work: My Journey with the Cloud Resume Challenge
Once my site was stood up, I needed to build out the user count API. Through the console, I set up a DynamoDB table and created a user count item. Getting my lambda to interface with AWS resources was a breeze with the Boto3 SDK. You can see my Python code that increments the user count whenever someone visits the site here. The key is the usage of the update_item method that comes from Boto3.
-
Logging code mess
If you want to get a feel for what kind of logging and how much logging is done in projects, boto3 is a very widely used SDK created by Amazon: https://github.com/boto/boto3
pydantic
-
Advanced RAG with guided generation
First, note the method prefix_allowed_tokens_fn. This method applies a Pydantic model to constrain/guide how the LLM generates tokens. Next, see how that constrain can be applied to txtai's LLM pipeline.
-
utype VS pydantic - a user suggested alternative
2 projects | 15 Feb 2024
utype is a concise alternative of pydantic with simplified parameters and usages, supporting both sync/async functions and generators parsing, and capable of using native logic operators to define logical types like AND/OR/NOT, also provides custom type parsing by register mechanism that supports libraries like pydantic, attrs and dataclasses
- Pydantic v2 ruined the elegance of Pydantic v1
-
Ask HN: Pydantic has too much deprecation. Why is it popular?
I like some of the changes from v1 to v2. But then you have something like this [0] removed from the library without proper documentation or replacement, resulting in ugly workarounds in the link that wont' work properly.
[0]: https://github.com/pydantic/pydantic/discussions/6337
- OpenAI uses Pydantic for their ChatCompletions API
-
🍹GinAI - Cocktails mixed with generative AI
The easiest implementation I found was to use a PyDantic class for my target schema — and use that as a parameter for the method call to “ChatCompletion.create()”. Here’s a fragment of the GinAI Python classes used.
-
FastStream: Python's framework for Efficient Message Queue Handling
Also, FastStream uses Pydantic to parse input JSON-encoded data into Python objects, making it easy to work with structured data in your applications, so you can serialize your input messages just using type annotations.
-
Introducing FastStream: the easiest way to write microservices for Apache Kafka and RabbitMQ in Python
Pydantic Validation: Leverage Pydantic's validation capabilities to serialize and validate incoming messages
-
Cannot get Langchain to work
Not sure if it is exactly related, but there is an open issue on Github for that exact message.
-
FastAPI 0.100.0:Release Notes
Well the performance increase is so huge because pydantic1 is really really slow. And for using rust, I'd have expected more tbh…
I've been benchmarking pydantic v2 against typedload (which I write) and despite the rust, it still manages to be slower than pure python in some benchmarks.
The ones on the website are still about comparing to v1 because v2 was not out yet at the time of the last release.
pydantic's author will refuse to benchmark any library that is faster (https://github.com/pydantic/pydantic/pull/3264 https://github.com/pydantic/pydantic/pull/1525 https://github.com/pydantic/pydantic/pull/1810) and keep boasting about amazing performances.
On pypy, v2 beta was really really really slow.
What are some alternatives?
terraform - Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
Cerberus - Lightweight, extensible data validation library for Python
aws-cli - Universal Command Line Interface for Amazon Web Services
nexe - 🎉 create a single executable out of your node.js apps
apache-libcloud - Apache Libcloud is a Python library which hides differences between different cloud provider APIs and allows you to manage different cloud resources through a unified and easy to use API.
msgspec - A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML
boto - For the latest version of boto, see https://github.com/boto/boto3 -- Python interface to Amazon Web Services
SQLAlchemy - The Database Toolkit for Python
Telethon - Pure Python 3 MTProto API Telegram client library, for bots too!
sqlmodel - SQL databases in Python, designed for simplicity, compatibility, and robustness.
google-api-python-client - 🐍 The official Python client library for Google's discovery based APIs.
mypy - Optional static typing for Python