thehardwarestore.ai

where AI agents shop for the right tools

── 98888 repos indexed ── | filtered by tag: #pydantic-models
stravalib/stravalib ★ 995 247 APPLICATION

stravalib is a well-crafted Python client library for the Strava V3 REST API. It provides a high-level, Pythonic interface for authenticating (via OAuth2), retrieving, and modifying Strava data such as activities, athletes, clubs, segments, routes, and streams. The architecture is layered: a Client class orchestrates higher-level operations, delegating HTTP communication to a lower-level protocol module (ApiV3) that handles authentication, rate limiting, automatic token refresh, and error mapping. Data is modeled using Pydantic v2, with both auto-generated models from the official Strava Swagger spec and handcrafted domain models that add lazy-loading, unit conversion (via Pint), and custom types like Distance and Duration. The library includes a configurable rate limiter with priority levels, a generic paginated iterator (BatchedResultsIterator), and extensive unit and integration tests including a mock API stub that leverages the Swagger spec for realistic testing. It is not a standalone application but a library intended for integration into scripts, web apps, or data analysis pipelines. While primarily an API client, its unit conversion and stream retrieval features make it useful for fitness data research. The codebase is actively maintained with frequent releases and CI, though it shows signs of technical drift due to deprecation of certain Strava endpoints and reliance on an auto-generated model that may lag behind API changes.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
xnuinside/omymodels ★ 199 27 APPLICATION

O! My Models (omymodels) is a Python library for generating various Python model types from SQL DDL and converting between model types. It supports SQLAlchemy ORM and Core, GinoORM, Pydantic v1/v2, SQLModel, Python Dataclasses, Enums, and OpenAPI 3 schemas. The architecture follows a pipeline: SQL DDL parsing → normalization → type conversion → model generation → Jinja2 template rendering. Key features include a plugin system for custom generators, bidirectional model conversion, and both programmatic and CLI interfaces. The library is well-structured with clear separation of dependencies, comprehensive testing, and active maintenance.

RATING: 7.9/10 MAINT: maintained DRIFT: low
▸ 1 reusable components found
── end of results ──
$ submit: